/* ===== Identidade compartilhada — Jornada dos Orixas =====
   Reaproveita as fontes do mapa (/mapa/assets/fontes) e a paleta do oraculo. */

@font-face{font-family:'Fraunces';src:url('/mapa/assets/fontes/fraunces-latin.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Fraunces';src:url('/mapa/assets/fontes/fraunces-italic-latin.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Spectral';src:url('/mapa/assets/fontes/spectral-400-latin.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Spectral';src:url('/mapa/assets/fontes/spectral-400-italic-latin.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Spectral';src:url('/mapa/assets/fontes/spectral-600-latin.woff2') format('woff2');font-weight:600;font-display:swap}

:root{
  --bg:#05070c;--panel:rgba(14,19,30,.76);
  --gold:#cf9f42;--gold2:#f5d68d;--gold3:#8f6424;
  --text:#f7f0e3;--muted:#bcb09f;--line:rgba(218,174,83,.28);
  --radius:26px;--shadow:0 35px 110px rgba(0,0,0,.58);
  --serif:'Fraunces','Georgia',serif;
  --body:'Spectral',ui-serif,Georgia,serif;
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth;overflow-x:clip}
body{margin:0;min-height:100vh;color:var(--text);font-family:var(--body);line-height:1.7;
  background:
    radial-gradient(circle at 50% -10%,rgba(30,66,102,.22),transparent 45%),
    radial-gradient(circle at 50% 120%,rgba(182,117,26,.16),transparent 45%),
    var(--bg);
  overflow-x:hidden}
a{color:inherit}
img{max-width:100%;display:block}

/* estrelas sutis */
body:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.35;
  background-image:radial-gradient(circle,rgba(245,214,141,.85) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(255,255,255,.4) 0 1px,transparent 1.4px);
  background-size:120px 120px,170px 170px;background-position:20px 30px,80px 90px;
  mask-image:linear-gradient(to bottom,black,transparent 92%)}

/* Topbar */
.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:13px clamp(14px,4vw,40px);
  background:linear-gradient(to bottom,rgba(3,6,11,.95),rgba(3,6,11,.55));backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(209,166,80,.15)}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--serif);color:var(--gold2);
  text-transform:uppercase;letter-spacing:.14em;font-size:.86rem;text-decoration:none;white-space:nowrap}
@media(max-width:860px){.brand{font-size:.72rem;letter-spacing:.1em;gap:8px}.brand img{width:28px;height:28px}}
.brand img{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(245,214,141,.25));animation:spinSlow 22s linear infinite}
@keyframes spinSlow{to{transform:rotate(360deg)}}
.nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.nav a{text-decoration:none;color:var(--muted);padding:8px 14px;border-radius:999px;font-size:.92rem;
  border:1px solid transparent;transition:.2s}
.nav a:hover{color:var(--gold2);border-color:var(--line)}
.nav a.cta{color:#1a1206;background:linear-gradient(180deg,#f6dc9d,#bd812a);font-weight:600;border-color:var(--gold2);white-space:nowrap}
.nav a.cta:hover{color:#1a1206;transform:translateY(-1px)}

/* Botoes */
.btn{display:inline-flex;align-items:center;gap:9px;appearance:none;border:0;border-radius:15px;
  padding:15px 26px;cursor:pointer;font-family:var(--body);font-weight:600;font-size:1.02rem;
  text-decoration:none;transition:.24s;position:relative;overflow:hidden}
.btn-primary{color:#1a1206;background:linear-gradient(180deg,#f6dc9d,#bd812a);
  box-shadow:0 15px 38px rgba(209,166,80,.26),inset 0 1px rgba(255,255,255,.5)}
.btn-primary:hover{transform:translateY(-3px) scale(1.015);box-shadow:0 22px 50px rgba(209,166,80,.36)}
.btn-primary:after{content:"";position:absolute;inset:-40% auto -40% -30%;width:26%;transform:rotate(20deg);
  background:rgba(255,255,255,.32);filter:blur(7px);transition:.55s}
.btn-primary:hover:after{left:120%}
.btn-ghost{color:var(--text);border:1px solid var(--line);background:rgba(255,255,255,.03)}
.btn-ghost:hover{border-color:var(--gold);background:rgba(209,166,80,.07)}
.btn-block{width:100%;justify-content:center}

/* Tipografia */
.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font-weight:600;font-size:.76rem;margin:0 0 14px}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05;margin:0}
.h-hero{font-size:clamp(2.8rem,7vw,5.6rem);text-wrap:balance;text-shadow:0 8px 36px rgba(0,0,0,.55)}
.h-sec{font-size:clamp(2rem,4.5vw,3.4rem);text-wrap:balance}
.lead{color:var(--muted);font-size:clamp(1.05rem,2vw,1.22rem);max-width:60ch}
.center{text-align:center}.center .lead{margin-inline:auto}

.wrap{width:min(1140px,calc(100% - 36px));margin-inline:auto}
section.block{padding:clamp(56px,9vw,120px) 0}

/* Cards / vidro */
.glass{position:relative;border:1px solid var(--line);border-radius:var(--radius);
  background:linear-gradient(180deg,rgba(16,22,33,.80),rgba(4,7,13,.92));
  box-shadow:var(--shadow);backdrop-filter:blur(14px);overflow:hidden}
.glass:before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(135deg,rgba(245,214,141,.07),transparent 34%),radial-gradient(circle at 50% 0%,rgba(209,166,80,.10),transparent 45%)}

/* Grid utilitario */
.grid{display:grid;gap:18px}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:820px){.g-3,.g-2{grid-template-columns:1fr}.nav a:not(.cta){display:none}}

footer.site{border-top:1px solid rgba(209,166,80,.14);padding:40px 0;color:var(--muted);font-size:.9rem}
footer.site .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
