/* Tokens, reset e tipografia. Carregado em todas as páginas. */
:root{
  --stone-900:#120E1C; --stone-850:#171123; --stone-800:#1D1630; --stone-700:#261D3D;
  --edge:#3B2E58; --edge-soft:#2B2142;
  --parchment:#E9DFC8; --muted:#9E90B8;
  --gold:#D4A63C; --gold-deep:#8A6A1E;
  --bless:#4E86E8; --life:#3FB27A; --soul:#D33C4E;
  --c:var(--bless);
  --display:'Cinzel','Times New Roman',serif;
  --body:'Barlow',system-ui,-apple-system,sans-serif;
  --shell:1200px;
  --ease:cubic-bezier(.2,.7,.3,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{
  background:var(--stone-900);color:var(--parchment);
  font-family:var(--body);font-size:17px;line-height:1.65;font-weight:300;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.45;
  background:radial-gradient(900px 600px at 12% -5%,rgba(78,134,232,.10),transparent 60%),
             radial-gradient(800px 700px at 92% 8%,rgba(211,60,78,.09),transparent 62%),
             radial-gradient(700px 500px at 50% 105%,rgba(212,166,60,.07),transparent 60%)}
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.24;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.14;letter-spacing:.01em}

.shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:26px;position:relative;z-index:2}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 26px;
  border:1px solid var(--gold-deep);background:linear-gradient(175deg,rgba(212,166,60,.20),rgba(212,166,60,.05));
  color:var(--gold);font-family:var(--display);font-weight:600;font-size:.82rem;letter-spacing:.14em;cursor:pointer;
  transition:.26s var(--ease);clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px)}
.btn:hover{background:var(--gold);color:var(--stone-900);border-color:var(--gold);box-shadow:0 0 30px rgba(212,166,60,.3)}

.rise{opacity:0;transform:translateY(22px)}
.rise.in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}
.swap{animation:swap .45s var(--ease)}
@keyframes swap{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes beat{0%,100%{opacity:1}50%{opacity:.25}}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .rise{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
