/* =======================================================
   TOKENS + RESET + BASE
   ======================================================= */
:root{
  --bg:#070707; --bg-2:#0c0c0c; --surface:#101010; --surface-2:#141414;
  --text:#f3f3f3; --muted:#bfb9a8;
  --gold-1:#b6892e; --gold-2:#e8c767; --gold-3:#ffe29a; --gold:#e8c767;
  --gold-grad:linear-gradient(90deg,var(--gold-1),var(--gold-2) 45%,var(--gold-3) 60%,var(--gold-1));
  --bg-grad:radial-gradient(900px 500px at 50% -10%,rgba(227,193,90,.12),transparent 70%),linear-gradient(#0b0b0b,#070707);
  --ring-soft:0 0 0 1px rgba(255,223,138,.18),0 10px 30px rgba(227,193,90,.15);
  --shadow-soft:0 10px 30px rgba(0,0,0,.45);
  --ease-smooth:cubic-bezier(.22,.61,.36,1)
}

/* A11y: reduz movimento */
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}

/* Reset mínimo */
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:"Plus Jakarta Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text); background:#0a0a0a; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; line-height:1.7;
}

/* BG glow */
body::before{
  content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(1200px 700px at 50% -10%,rgba(232,199,103,.1),transparent 60%),
    radial-gradient(900px 520px at 10% 0,rgba(232,199,103,.05),transparent 70%),
    radial-gradient(900px 520px at 90% 0,rgba(232,199,103,.05),transparent 70%),
    linear-gradient(#0b0b0b,#070707);
}
body::after{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.08;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/><feComponentTransfer><feFuncA type='table' tableValues='0 0 .5 0'/></feComponentTransfer></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  background-size:180px 180px; mix-blend-mode:soft-light;
}

.container{max-width:1200px;margin:auto;padding-inline:24px}
p{color:#ede8d2}

/* Títulos globais */
h1,h2,h3{
  font-family:"Fraunces",Georgia,serif; font-weight:600; line-height:1.18; color:var(--text);
}
h1{
  font-size:clamp(2.2rem,4.5vw,3.2rem); letter-spacing:.03em;
  background:var(--gold-grad); -webkit-background-clip:text; color:transparent;
  text-shadow:0 2px 24px rgba(227,193,90,.1);
}
h2{
  font-size:clamp(1.8rem,3.6vw,2.4rem); display:inline-block; margin:0 auto 26px; text-align:center;
  background:var(--gold-grad); -webkit-background-clip:text; color:transparent; position:relative;
}
h2::after{
  content:""; position:absolute; left:0; bottom:-8px; width:100%; height:2px; border-radius:2px;
  background:var(--gold-grad); box-shadow:0 6px 18px rgba(227,193,90,.25);
}

.subtitle{font-size:clamp(1rem,1.7vw,1.15rem); color:var(--muted); max-width:720px; margin:20px auto 1.4rem}

/* Seções base */
.section{padding:80px 0; position:relative}
.section-contrast{background:linear-gradient(180deg,var(--bg-2),#0a0a0a)}
.section,.section-contrast,.hero,.site-footer{background:transparent!important}
.section + .section::before{
  content:""; position:absolute; left:0; right:0; top:0; height:120px; pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,0))
}

/* Utilidades globais */
body.is-scrolling .reveal.reveal-in{filter:none; box-shadow:none}
section[id]{scroll-margin-top:72px}
