:root{
  --gold:#d4af37;--gold-bright:#f4d77a;--gold-deep:#9c7c1f;--sand:#e9d8b4;
  --lapis:#1b3a6b;--turquoise:#3fbfb0;--night:#0c0a07;--stone:#1f1a12;--ink:#f3ead3;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Cormorant Garamond',Georgia,serif;background:var(--night);color:var(--ink);
  line-height:1.65;overflow-x:hidden;font-size:18px}
h1,h2,h3,.cinzel{font-family:'Cinzel',serif;letter-spacing:.04em}
a{color:inherit;text-decoration:none}
.wrap{width:min(1180px,92%);margin-inline:auto}

.glyph-rule{display:flex;align-items:center;justify-content:center;gap:1rem;color:var(--gold);font-size:1.4rem;margin:0 auto;opacity:.85}
.glyph-rule::before,.glyph-rule::after{content:"";height:1px;width:min(180px,22vw);
  background:linear-gradient(90deg,transparent,var(--gold-deep),var(--gold))}
.glyph-rule::after{background:linear-gradient(90deg,var(--gold),var(--gold-deep),transparent)}

/* NAV */
header.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:.9rem clamp(1rem,4vw,3rem);background:linear-gradient(180deg,rgba(12,10,7,.92),rgba(12,10,7,.55));
  backdrop-filter:blur(8px);border-bottom:1px solid rgba(212,175,55,.25);transition:padding .3s,background .3s}
header.nav.shrink{padding:.5rem clamp(1rem,4vw,3rem);background:rgba(12,10,7,.97)}
.brand{display:flex;align-items:center;gap:.7rem;font-family:'Cinzel';font-weight:900;font-size:1.45rem;
  color:var(--gold-bright);text-shadow:0 0 18px rgba(212,175,55,.35)}
.brand .eye{font-size:1.8rem;line-height:1;filter:drop-shadow(0 0 8px rgba(212,175,55,.6))}
.brand small{display:block;font-family:'Marcellus';font-size:.6rem;letter-spacing:.45em;color:var(--sand);opacity:.7;margin-top:-4px}
nav.menu{display:flex;align-items:center;gap:2rem}
nav.menu a{font-family:'Marcellus';font-size:.95rem;letter-spacing:.08em;color:var(--sand);opacity:.85;transition:color .2s,opacity .2s;position:relative}
nav.menu a:hover{color:var(--gold-bright);opacity:1}
nav.menu a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--gold);transition:width .25s}
nav.menu a:not(.btn):hover::after{width:100%}
.btn{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;border:none;font-family:'Cinzel';font-weight:700;
  letter-spacing:.06em;font-size:.92rem;padding:.75rem 1.5rem;border-radius:4px;
  transition:transform .2s,box-shadow .2s,filter .2s;position:relative;text-transform:uppercase}
.btn-gold{color:#2a1d05;background:linear-gradient(135deg,var(--gold-bright),var(--gold) 45%,var(--gold-deep));
  box-shadow:0 6px 22px rgba(212,175,55,.35),inset 0 1px 0 rgba(255,255,255,.5)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(212,175,55,.55)}
.btn-outline{color:var(--gold-bright);background:transparent;border:1px solid var(--gold)}
.btn-outline:hover{transform:translateY(-2px);box-shadow:0 0 22px rgba(212,175,55,.3);background:rgba(212,175,55,.08)}
.nav-toggle{display:none;background:none;border:none;color:var(--gold);font-size:1.6rem;cursor:pointer}

/* HERO */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:7rem 0 4rem;overflow:hidden;
  background:radial-gradient(120% 80% at 50% -10%,rgba(212,175,55,.18),transparent 55%),
    radial-gradient(100% 70% at 50% 120%,rgba(27,58,107,.45),transparent 60%),
    linear-gradient(180deg,#1a130a 0%,#0c0a07 60%,#080604 100%)}
.hero.has-bg{background-size:cover;background-position:center}
.hero.has-bg::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(8,6,4,calc(var(--ov,.7) * .8)),rgba(8,6,4,var(--ov,.7)))}
.sun{position:absolute;top:14%;left:50%;transform:translateX(-50%);width:min(520px,80vw);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(244,215,122,.55),rgba(212,175,55,.18) 45%,transparent 70%);filter:blur(2px);animation:pulse 7s ease-in-out infinite;z-index:0}
@keyframes pulse{0%,100%{opacity:.7;transform:translateX(-50%) scale(1)}50%{opacity:1;transform:translateX(-50%) scale(1.06)}}
.dunes{position:absolute;bottom:0;left:0;right:0;height:38%;z-index:1;pointer-events:none}
.dunes svg{width:100%;height:100%;display:block}
.glyphs{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.glyphs span{position:absolute;color:rgba(212,175,55,.16);font-size:2rem;animation:rise linear infinite}
@keyframes rise{from{transform:translateY(20vh);opacity:0}10%{opacity:.5}90%{opacity:.5}to{transform:translateY(-110vh);opacity:0}}
.hero-inner{position:relative;z-index:3;text-align:center;width:min(900px,92%);margin-inline:auto}
.eyebrow{font-family:'Marcellus';letter-spacing:.55em;text-transform:uppercase;color:var(--gold);font-size:.8rem;margin-bottom:1.4rem;opacity:.9}
.hero h1{font-size:clamp(2.6rem,7vw,5.4rem);font-weight:900;line-height:1.02;color:var(--ink);text-shadow:0 4px 30px rgba(0,0,0,.7)}
.hero h1 .accent{background:linear-gradient(180deg,var(--gold-bright),var(--gold) 50%,var(--gold-deep));
  -webkit-background-clip:text;background-clip:text;color:transparent;display:block;text-shadow:none;filter:drop-shadow(0 2px 18px rgba(212,175,55,.4))}
.hero p.lead{font-size:clamp(1.1rem,2.4vw,1.5rem);color:var(--sand);opacity:.92;margin:1.6rem auto 2.4rem;max-width:640px}
.hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.hero-cta .btn{padding:1rem 2.1rem;font-size:1rem}
.scroll-hint{position:absolute;bottom:1.4rem;left:50%;transform:translateX(-50%);z-index:3;color:var(--gold);font-size:1.4rem;animation:bob 2s ease-in-out infinite;opacity:.7}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}
.status{display:inline-flex;align-items:center;gap:.6rem;margin-top:2rem;font-family:'Marcellus';font-size:.85rem;letter-spacing:.1em;
  color:var(--sand);border:1px solid rgba(212,175,55,.3);border-radius:30px;padding:.45rem 1.1rem;background:rgba(0,0,0,.3)}
.dot{width:9px;height:9px;border-radius:50%;background:var(--turquoise);box-shadow:0 0 0 0 rgba(63,191,176,.6);animation:beat 1.8s infinite}
@keyframes beat{0%{box-shadow:0 0 0 0 rgba(63,191,176,.6)}70%{box-shadow:0 0 0 10px rgba(63,191,176,0)}100%{box-shadow:0 0 0 0 rgba(63,191,176,0)}}

section.block{padding:clamp(4rem,9vw,7rem) 0;position:relative}
.section-head{text-align:center;margin-bottom:3.2rem}
.section-head .kicker{font-family:'Marcellus';letter-spacing:.4em;text-transform:uppercase;color:var(--gold);font-size:.78rem;display:block;margin-bottom:.8rem}
.section-head h2{font-size:clamp(1.9rem,4.5vw,3rem);color:var(--ink)}
.section-head p{color:var(--sand);opacity:.8;max-width:600px;margin:1rem auto 0}
.bg-stone{background:linear-gradient(180deg,#0c0a07,#13100a 50%,#0c0a07),
  repeating-linear-gradient(0deg,transparent,transparent 38px,rgba(212,175,55,.025) 39px,transparent 40px)}

.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.6rem}
.card{position:relative;padding:2.4rem 1.8rem;border-radius:8px;text-align:center;
  background:linear-gradient(160deg,rgba(31,26,18,.95),rgba(12,10,7,.95));border:1px solid rgba(212,175,55,.22);overflow:hidden;
  transition:transform .3s,border-color .3s,box-shadow .3s}
.card::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 60% at 50% 0%,rgba(212,175,55,.12),transparent 60%);opacity:0;transition:opacity .3s}
.card:hover{transform:translateY(-8px);border-color:var(--gold);box-shadow:0 18px 40px rgba(0,0,0,.5)}
.card:hover::before{opacity:1}
.card .ico{font-size:2.6rem;color:var(--gold-bright);display:block;margin-bottom:1rem;filter:drop-shadow(0 0 12px rgba(212,175,55,.4))}
.card h3{font-size:1.25rem;color:var(--gold-bright);margin-bottom:.6rem}
.card p{color:var(--sand);opacity:.82;font-size:1rem}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.5rem;text-align:center;border-block:1px solid rgba(212,175,55,.2);padding:3rem 0}
.stat .num{font-family:'Cinzel';font-weight:900;font-size:clamp(2rem,5vw,3.2rem);background:linear-gradient(180deg,var(--gold-bright),var(--gold-deep));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat .lbl{font-family:'Marcellus';letter-spacing:.18em;text-transform:uppercase;color:var(--sand);opacity:.75;font-size:.8rem;margin-top:.4rem}

/* NEWS */
.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.6rem}
.news-card{display:flex;flex-direction:column;background:linear-gradient(170deg,rgba(31,26,18,.95),rgba(12,10,7,.96));
  border:1px solid rgba(212,175,55,.22);border-radius:10px;overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}
.news-card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 18px 40px rgba(0,0,0,.5)}
.news-card .thumb{aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#1a130a,#0c0a07);position:relative}
.news-card .thumb img{width:100%;height:100%;object-fit:cover}
.news-card .thumb.placeholder::after{content:"𓂀";position:absolute;inset:0;display:grid;place-items:center;font-size:3rem;color:rgba(212,175,55,.25)}
.news-card .pin{position:absolute;top:.6rem;left:.6rem;background:linear-gradient(135deg,var(--gold-bright),var(--gold-deep));
  color:#2a1d05;font-family:'Marcellus';font-size:.7rem;letter-spacing:.1em;padding:.25rem .6rem;border-radius:4px;text-transform:uppercase}
.news-card .body{padding:1.4rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.news-card time{font-family:'Marcellus';font-size:.75rem;letter-spacing:.1em;color:var(--gold);text-transform:uppercase}
.news-card h3{font-size:1.3rem;color:var(--gold-bright)}
.news-card p{color:var(--sand);opacity:.85;font-size:1.02rem}
.news-empty{text-align:center;color:var(--sand);opacity:.7}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}
.step{position:relative;padding:2.4rem 1.6rem 2rem;text-align:center;background:linear-gradient(180deg,rgba(27,58,107,.18),rgba(12,10,7,.6));border:1px solid rgba(212,175,55,.2);border-radius:8px}
.step .ring{width:74px;height:74px;margin:0 auto 1.2rem;border-radius:50%;display:grid;place-items:center;font-family:'Cinzel';font-weight:900;font-size:1.7rem;color:#2a1d05;
  background:linear-gradient(135deg,var(--gold-bright),var(--gold-deep));box-shadow:0 0 0 6px rgba(212,175,55,.12),0 8px 20px rgba(0,0,0,.4)}
.step h3{color:var(--gold-bright);font-size:1.2rem;margin-bottom:.5rem}
.step p{color:var(--sand);opacity:.82;font-size:1rem}
.steps-cta{text-align:center;margin-top:3rem}

.cta-banner{position:relative;text-align:center;padding:clamp(4rem,9vw,6.5rem) 0;overflow:hidden;
  background:radial-gradient(80% 120% at 50% 0%,rgba(212,175,55,.2),transparent 60%),linear-gradient(180deg,#14100a,#0c0a07)}
.cta-banner.has-bg{background-size:cover;background-position:center}
.cta-banner.has-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,6,4,calc(var(--ov,.7) * .85)),rgba(8,6,4,var(--ov,.7)))}
.cta-banner .wrap{position:relative;z-index:2}
.cta-banner h2{font-size:clamp(2rem,5vw,3.4rem);color:var(--ink);margin-bottom:1rem}
.cta-banner .accent{background:linear-gradient(180deg,var(--gold-bright),var(--gold-deep));-webkit-background-clip:text;background-clip:text;color:transparent}
.cta-banner p{color:var(--sand);opacity:.85;max-width:560px;margin:0 auto 2.2rem}

footer{position:relative;background:linear-gradient(180deg,#0b0805,#060403);border-top:1px solid rgba(212,175,55,.22);padding:3.4rem 0 1.6rem}
footer::before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold-deep) 30%,var(--gold) 50%,var(--gold-deep) 70%,transparent)}
.foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:2.5rem;align-items:start;padding-bottom:2.2rem}
.foot-about{max-width:340px}
.foot-brand{font-family:'Cinzel';font-weight:900;color:var(--gold-bright);font-size:1.4rem;letter-spacing:.04em;display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}
.foot-brand small{font-family:'Marcellus';font-size:.6rem;letter-spacing:.4em;color:var(--sand);opacity:.6}
.foot-tag{color:var(--sand);opacity:.6;font-size:1rem;margin:.5rem 0 1.2rem}
.foot-nav{display:flex;flex-direction:column;gap:.65rem}
.foot-nav h4{font-family:'Marcellus';text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;color:var(--gold);
  margin-bottom:.5rem;padding-bottom:.6rem;border-bottom:1px solid rgba(212,175,55,.15)}
.foot-nav a{position:relative;color:var(--sand);opacity:.8;font-size:1.02rem;width:fit-content;padding-left:0;transition:padding .2s,color .2s,opacity .2s}
.foot-nav a::before{content:"\203A";position:absolute;left:-14px;color:var(--gold);opacity:0;transition:opacity .2s,left .2s}
.foot-nav a:hover{color:var(--gold-bright);opacity:1;padding-left:14px}
.foot-nav a:hover::before{opacity:1;left:0}
.socials{display:flex;gap:.7rem;flex-wrap:wrap}
.socials a{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;
  border:1px solid rgba(212,175,55,.25);color:var(--gold-bright);background:rgba(212,175,55,.04);transition:transform .22s,background .22s,box-shadow .22s,border-color .22s}
.socials a:hover{background:linear-gradient(135deg,var(--gold-bright),var(--gold-deep));color:#2a1d05;border-color:var(--gold);transform:translateY(-3px);box-shadow:0 8px 20px rgba(212,175,55,.3)}
.socials svg{width:21px;height:21px;fill:currentColor}
.foot-bottom{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:.4rem;
  padding-top:1.4rem;border-top:1px solid rgba(212,175,55,.12)}
.copyright{color:var(--sand);opacity:.5;font-family:'Marcellus';font-size:.8rem;letter-spacing:.08em}
.foot-credit{font-family:'Marcellus';font-size:.78rem;letter-spacing:.12em;color:var(--gold);opacity:.55}
@media(max-width:780px){
  .foot-top{grid-template-columns:1fr 1fr;gap:1.8rem}
  .foot-about{grid-column:1 / -1;max-width:none}
  .foot-bottom{justify-content:center;text-align:center}
}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

@media(max-width:820px){
  nav.menu{position:fixed;inset:64px 0 auto 0;flex-direction:column;gap:1.4rem;background:rgba(12,10,7,.98);
    padding:2rem;border-bottom:1px solid rgba(212,175,55,.25);transform:translateY(-130%);transition:transform .35s ease;align-items:center}
  nav.menu.open{transform:translateY(0)}
  nav.menu .btn{width:80%;justify-content:center}
  .nav-toggle{display:block}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto}}

/* =====================================================================
   SUBPÁGINAS (download / notícias / artigo) - usam o mesmo nav fixo
   ===================================================================== */
body.subpage{padding-top:0}
.read-more{font-family:'Marcellus';font-size:.85rem;letter-spacing:.05em;color:var(--gold-bright);margin-top:auto;align-self:flex-start}
.read-more:hover{text-decoration:underline}
.news-card h3 a{color:inherit}
.news-card .body{gap:.55rem}
.foot-links{display:flex;gap:1.4rem;flex-wrap:wrap}
.foot-links a{font-family:'Marcellus';font-size:.9rem;color:var(--sand);opacity:.8}
.foot-links a:hover{color:var(--gold-bright);opacity:1}

/* hero curto das subpáginas */
.page-hero{position:relative;padding:9rem 0 3.5rem;text-align:center;overflow:hidden;
  background:radial-gradient(120% 90% at 50% -20%,rgba(212,175,55,.16),transparent 55%),linear-gradient(180deg,#1a130a,#0c0a07 75%)}
.page-hero.has-bg{background-size:cover;background-position:center}
.page-hero.has-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,6,4,.6),rgba(8,6,4,.85))}
.page-hero-inner{position:relative;z-index:2;width:min(820px,92%)}
.page-hero .eyebrow{margin-bottom:1rem}
.page-hero h1{font-size:clamp(2.2rem,5.5vw,3.6rem);color:var(--ink);text-shadow:0 4px 24px rgba(0,0,0,.6)}
.page-hero .lead{color:var(--sand);opacity:.9;font-size:clamp(1.05rem,2.2vw,1.3rem);margin:1.1rem auto 0;max-width:640px}

/* =====================================================================
   DOWNLOADS
   ===================================================================== */
.dl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.6rem;margin-bottom:3rem}
.dl-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.7rem;
  padding:2.4rem 1.6rem;border-radius:12px;border:1px solid rgba(212,175,55,.22);
  background:linear-gradient(170deg,rgba(31,26,18,.95),rgba(12,10,7,.96));transition:transform .3s,border-color .3s,box-shadow .3s}
.dl-card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 18px 40px rgba(0,0,0,.5)}
.dl-card.featured{border-color:var(--gold);box-shadow:0 0 0 1px rgba(212,175,55,.4),0 18px 44px rgba(0,0,0,.5)}
.dl-flag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--gold-bright),var(--gold-deep));
  color:#2a1d05;font-family:'Marcellus';font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;padding:.3rem .9rem;border-radius:30px;white-space:nowrap}
.dl-ico{font-size:2.6rem;filter:drop-shadow(0 0 12px rgba(212,175,55,.4))}
.dl-card h3{font-size:1.4rem;color:var(--gold-bright)}
.dl-desc{color:var(--sand);opacity:.85;font-size:1rem}
.dl-size{font-family:'Marcellus';font-size:.78rem;letter-spacing:.08em;color:var(--gold);opacity:.85}
.dl-card .btn{margin-top:.6rem}
.dl-req{max-width:780px;margin:0 auto 2.5rem;padding:2rem;border-radius:12px;border:1px solid rgba(212,175,55,.2);
  background:linear-gradient(180deg,rgba(27,58,107,.16),rgba(12,10,7,.6))}
.dl-req h2{font-size:1.4rem;color:var(--gold-bright);margin-bottom:1rem}
.dl-req-body{color:var(--sand);opacity:.9;line-height:1.8}
.dl-help{text-align:center;color:var(--sand)}
.dl-help p{opacity:.85;margin-bottom:1rem}

/* =====================================================================
   ARTIGO (notícia completa)
   ===================================================================== */
.article-hero{position:relative;padding:9rem 0 3rem;background:linear-gradient(180deg,#1a130a,#0c0a07)}
.article-hero.has-bg{background-size:cover;background-position:center}
.article-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,6,4,.45),rgba(8,6,4,.9))}
.article-hero-inner{position:relative;z-index:2;width:min(820px,92%)}
.back-link{display:inline-block;font-family:'Marcellus';font-size:.85rem;letter-spacing:.08em;color:var(--gold-bright);margin-bottom:1.2rem}
.back-link:hover{text-decoration:underline}
.article-hero time{display:block;font-family:'Marcellus';font-size:.8rem;letter-spacing:.12em;color:var(--gold);text-transform:uppercase;margin-bottom:.5rem}
.article-hero .pin{display:inline-block;background:linear-gradient(135deg,var(--gold-bright),var(--gold-deep));color:#2a1d05;
  font-family:'Marcellus';font-size:.7rem;letter-spacing:.1em;padding:.25rem .7rem;border-radius:4px;text-transform:uppercase;margin-bottom:.8rem}
.article-hero h1{font-size:clamp(2rem,5vw,3.4rem);color:var(--ink);line-height:1.1;text-shadow:0 4px 24px rgba(0,0,0,.6)}
.article-narrow{width:min(760px,92%)}
.byline{display:flex;align-items:center;gap:.9rem;margin-top:2rem;padding:1rem 1.2rem;border:1px solid rgba(212,175,55,.2);border-radius:12px;background:linear-gradient(180deg,rgba(27,58,107,.12),rgba(12,10,7,.5))}
.by-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid rgba(212,175,55,.4);flex:none}
.by-avatar.ph{display:grid;place-items:center;font-family:'Cinzel',serif;font-weight:700;color:#2a1d05;background:linear-gradient(135deg,var(--gold-bright),var(--gold-deep))}
.by-info{display:flex;flex-direction:column;line-height:1.35}
.by-pub{font-family:'Marcellus';font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.by-info strong{font-size:1.15rem;color:var(--ink)}
.by-meta{font-size:.9rem;color:var(--sand);opacity:.8}
.by-info{flex:1}
.by-bio{font-size:.98rem;color:var(--sand);opacity:.78;margin-top:.35rem;font-style:italic}
.by-socials{display:flex;gap:.5rem;margin-left:auto;align-self:center;flex:none}
.by-socials a{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;border:1px solid rgba(212,175,55,.28);color:var(--gold-bright);transition:.2s}
.by-socials a:hover{background:var(--gold);color:#2a1d05;transform:translateY(-2px)}
.by-socials svg{width:16px;height:16px;fill:currentColor}

/* ---------- INFORMAÇÕES DO SERVIDOR ---------- */
.rate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.4rem}
.rate-card{position:relative;text-align:center;padding:2rem 1.2rem;border-radius:12px;border:1px solid rgba(212,175,55,.22);
  background:linear-gradient(180deg,rgba(31,26,18,.95),rgba(12,10,7,.96));transition:transform .3s,border-color .3s,box-shadow .3s}
.rate-card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 16px 40px rgba(0,0,0,.5)}
.rate-ico{font-size:2rem;display:block;margin-bottom:.4rem;filter:drop-shadow(0 0 12px rgba(212,175,55,.4))}
.rate-value{display:block;font-family:'Cinzel',serif;font-weight:900;font-size:2.4rem;line-height:1;
  background:linear-gradient(180deg,var(--gold-bright),var(--gold-deep));-webkit-background-clip:text;background-clip:text;color:transparent}
.rate-label{display:block;font-family:'Marcellus';letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-size:.92rem;margin-top:.5rem}
.rate-note{display:block;color:var(--sand);opacity:.6;font-size:.82rem;margin-top:.2rem}

.spec-list{max-width:760px;margin:0 auto;border:1px solid rgba(212,175,55,.2);border-radius:12px;overflow:hidden;
  background:linear-gradient(180deg,rgba(27,58,107,.12),rgba(12,10,7,.5))}
.spec-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.4rem;border-bottom:1px solid rgba(212,175,55,.12)}
.spec-row:last-child{border-bottom:none}
.spec-row:nth-child(even){background:rgba(255,255,255,.02)}
.spec-label{font-family:'Marcellus';letter-spacing:.06em;color:var(--sand);opacity:.85}
.spec-value{font-family:'Cinzel',serif;color:var(--gold-bright);font-size:1.1rem;text-align:right}

.class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.8rem}
.class-card{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;border:1px solid rgba(212,175,55,.22);
  background:linear-gradient(180deg,rgba(31,26,18,.95),rgba(12,10,7,.96));transition:transform .3s,border-color .3s,box-shadow .3s}
.class-card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 18px 44px rgba(0,0,0,.5)}
.cl-thumb{position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,#1a130a,#0c0a07)}
.cl-thumb img{width:100%;height:100%;object-fit:cover}
.cl-thumb.placeholder::after{content:"𓀀";position:absolute;inset:0;display:grid;place-items:center;font-size:3.4rem;color:rgba(212,175,55,.25)}
.cl-role{position:absolute;bottom:.7rem;left:.7rem;background:linear-gradient(135deg,var(--gold-bright),var(--gold-deep));color:#2a1d05;
  font-family:'Marcellus';font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .7rem;border-radius:30px}
.cl-body{padding:1.3rem 1.4rem;flex:1}
.cl-body h3{font-size:1.4rem;color:var(--gold-bright);margin-bottom:.4rem}
.cl-body p{color:var(--sand);opacity:.85;font-size:1.02rem}
/* carrossel de classes (Swiper) */
.class-swiper{position:relative;padding:.5rem 0 1rem;
  /* variáveis oficiais do Swiper - tematiza setas e dots no dourado */
  --swiper-theme-color:#d4af37;
  --swiper-navigation-color:#f4d77a;
  --swiper-pagination-color:#f4d77a;
  --swiper-navigation-size:20px;
  --swiper-pagination-bullet-inactive-color:#d4af37;
  --swiper-pagination-bullet-inactive-opacity:.35}
.class-swiper .swiper-slide{height:auto;display:flex}
.class-swiper .swiper-slide .class-card{width:100%}
.class-swiper.effect-coverflow{padding-inline:clamp(0px,4vw,3rem)}
.class-swiper .swiper-button-next,.class-swiper .swiper-button-prev{
  width:46px;height:46px;border-radius:50%;color:var(--gold-bright);
  background:rgba(12,10,7,.7);border:1px solid rgba(212,175,55,.4);backdrop-filter:blur(4px);transition:.2s}
.class-swiper .swiper-button-next:hover,.class-swiper .swiper-button-prev:hover{background:var(--gold);color:#2a1d05;transform:scale(1.06)}
.class-swiper .swiper-button-next::after,.class-swiper .swiper-button-prev::after{font-size:1.1rem;font-weight:700}
/* dots em fluxo normal, abaixo dos cards (sem sobreposição) — estilo do site (dourado) */
.class-dots{display:flex;justify-content:center;align-items:center;gap:.55rem;margin-top:2.2rem}
.class-dots .swiper-pagination-bullet{position:static;margin:0;background:var(--gold);opacity:.35;width:9px;height:9px;border-radius:50%;cursor:pointer;transition:.2s}
.class-dots .swiper-pagination-bullet-active{opacity:1;background:var(--gold-bright);width:24px;border-radius:6px}
@media(max-width:560px){
  .class-swiper .swiper-button-next,.class-swiper .swiper-button-prev{display:none}
}

/* listas de informações (conteúdo do servidor) — masonry */
.info-grid{column-width:310px;column-gap:1.6rem}
.info-card{break-inside:avoid;-webkit-column-break-inside:avoid;display:inline-block;width:100%;margin-bottom:1.6rem;
  padding:1.5rem 1.6rem;border-radius:12px;border:1px solid rgba(212,175,55,.22);
  background:linear-gradient(180deg,rgba(31,26,18,.95),rgba(12,10,7,.96));transition:border-color .3s,box-shadow .3s}
.info-card:hover{border-color:rgba(212,175,55,.5);box-shadow:0 14px 36px rgba(0,0,0,.45)}
.info-card h3{font-size:1.25rem;color:var(--gold-bright);margin-bottom:1rem;padding-bottom:.7rem;
  border-bottom:1px solid rgba(212,175,55,.18);display:flex;align-items:center;gap:.5rem}
.info-card h3::before{content:"𓂀";font-size:1rem;opacity:.7}
/* lista */
.info-list{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.info-list li{position:relative;padding-left:1.5rem;color:var(--sand);opacity:.9;line-height:1.5;font-size:1.02rem}
.info-list li::before{content:"✦";position:absolute;left:0;top:.05em;color:var(--gold);font-size:.85em}
/* removido */
.info-list.removed li{opacity:.6;text-decoration:line-through;text-decoration-color:rgba(224,89,79,.6)}
.info-list.removed li::before{content:"✕";color:#e0594f;text-decoration:none}
.info-card.style-removed{border-color:rgba(224,89,79,.3)}
.info-card.style-removed h3{color:#f0a59d}
.info-card.style-removed h3::before{content:"✕";color:#e0594f;opacity:1}
/* tags */
.info-tags{display:flex;flex-wrap:wrap;gap:.5rem}
.info-tag{font-family:'Marcellus';font-size:.85rem;letter-spacing:.03em;color:var(--gold-bright);
  border:1px solid rgba(212,175,55,.35);background:rgba(212,175,55,.06);border-radius:30px;padding:.35rem .85rem;transition:.2s}
.info-tag:hover{background:rgba(212,175,55,.16)}
/* destaque */
.info-highlights{display:flex;flex-wrap:wrap;gap:.6rem}
.info-hl{font-family:'Cinzel',serif;font-weight:700;font-size:1.15rem;color:#2a1d05;
  background:linear-gradient(135deg,var(--gold-bright),var(--gold-deep));border-radius:8px;padding:.5rem 1rem;box-shadow:0 6px 16px rgba(212,175,55,.25)}

/* ---------- EQUIPE ---------- */
/* flex centralizado: 1 membro fica no centro; vários fluem e quebram naturalmente */
.team-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.8rem}
.team-card{position:relative;flex:1 1 240px;max-width:320px;text-align:center;padding:2.2rem 1.6rem;border-radius:14px;border:1px solid rgba(212,175,55,.22);
  background:linear-gradient(180deg,rgba(31,26,18,.95),rgba(12,10,7,.96));transition:transform .3s,border-color .3s,box-shadow .3s}
.team-card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 18px 44px rgba(0,0,0,.5)}
/* membro em destaque */
.team-card.featured{border-color:var(--gold);background:linear-gradient(180deg,rgba(46,37,18,.96),rgba(16,12,7,.97));
  box-shadow:0 0 0 1px rgba(212,175,55,.4),0 22px 50px rgba(0,0,0,.55),0 0 36px rgba(212,175,55,.12)}
.team-card .tm-flag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);white-space:nowrap;
  display:inline-flex;align-items:center;gap:.3rem;font-family:'Marcellus';font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  color:#2a1d05;background:linear-gradient(135deg,var(--gold-bright),var(--gold-deep));padding:.3rem .85rem;border-radius:30px;box-shadow:0 6px 16px rgba(212,175,55,.4)}
.team-card.featured .tm-avatar{border-color:var(--gold);box-shadow:0 0 30px rgba(212,175,55,.35)}
.tm-avatar-wrap{display:flex;justify-content:center;margin-bottom:1.1rem}
.tm-avatar{width:110px;height:110px;border-radius:50%;object-fit:cover;border:3px solid rgba(212,175,55,.4);box-shadow:0 0 26px rgba(212,175,55,.18)}
.tm-avatar.ph{display:grid;place-items:center;font-family:'Cinzel',serif;font-weight:700;font-size:2.6rem;color:#2a1d05;background:linear-gradient(135deg,var(--gold-bright),var(--gold-deep))}
.team-card h3{font-size:1.35rem;color:var(--ink);margin-bottom:.25rem}
.tm-role{display:inline-block;font-family:'Marcellus';font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
  border:1px solid rgba(212,175,55,.3);border-radius:30px;padding:.25rem .8rem;margin-bottom:.9rem}
.tm-bio{color:var(--sand);opacity:.82;font-size:1rem;margin-bottom:1rem}
.tm-socials{display:flex;justify-content:center;gap:.6rem}
.tm-socials a{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;border:1px solid rgba(212,175,55,.28);color:var(--gold-bright);background:rgba(212,175,55,.04);transition:.2s}
.tm-socials a:hover{background:linear-gradient(135deg,var(--gold-bright),var(--gold-deep));color:#2a1d05;transform:translateY(-3px)}
.tm-socials svg{width:18px;height:18px;fill:currentColor}
.article-body{padding:2.6rem 0 1rem;font-size:1.18rem;color:var(--ink);opacity:.95}
.article-body p{margin-bottom:1.3rem;line-height:1.85}
/* ---- conteúdo rico (editor) ---- */
.article-body h1,.article-body h2,.article-body h3,.article-body h4,.article-body h5,.article-body h6{
  font-family:'Cinzel',serif;color:var(--gold-bright);line-height:1.2;margin:1.6rem 0 .7rem}
.article-body h1{font-size:2.2rem}.article-body h2{font-size:1.8rem}.article-body h3{font-size:1.5rem}
.article-body h4{font-size:1.3rem}.article-body h5{font-size:1.15rem}.article-body h6{font-size:1rem;letter-spacing:.04em}
.article-body a{color:var(--gold-bright);text-decoration:underline;text-underline-offset:3px}
.article-body a:hover{color:var(--gold)}
.article-body strong{color:#fff}
.article-body ul,.article-body ol{margin:0 0 1.3rem 1.4rem}
.article-body li{margin-bottom:.5rem;line-height:1.7}
.article-body blockquote{border-left:3px solid var(--gold);margin:1.5rem 0;padding:.6rem 1.3rem;
  background:rgba(212,175,55,.06);border-radius:0 8px 8px 0;color:var(--sand);font-style:italic}
.article-body hr{border:none;border-top:1px solid rgba(212,175,55,.35);margin:2rem 0}
.article-body img{max-width:100%;height:auto;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.article-body figure{margin:1.5rem 0;text-align:center}
.article-body figure img{display:inline-block}
.article-body figcaption{margin-top:.5rem;font-size:.92rem;color:var(--sand);opacity:.7;font-style:italic}
.article-body pre{background:#080604;border:1px solid rgba(212,175,55,.2);border-radius:8px;padding:1rem 1.2rem;overflow-x:auto;
  font-family:ui-monospace,monospace;font-size:.95rem;margin:1.3rem 0}
/* tabelas */
.article-body table{border-collapse:collapse;width:100%;margin:1.5rem 0;font-size:1.02rem}
.article-body th,.article-body td{border:1px solid rgba(212,175,55,.28);padding:.6rem .85rem;text-align:left}
.article-body th{background:rgba(212,175,55,.12);color:var(--gold-bright);font-family:'Marcellus'}
.article-body tr:nth-child(even) td{background:rgba(255,255,255,.02)}
/* vídeo responsivo */
.article-body iframe{width:100%;aspect-ratio:16/9;height:auto;border:none;border-radius:12px;margin:1.5rem 0;box-shadow:0 12px 34px rgba(0,0,0,.5)}
/* checklist */
.article-body .checklist{list-style:none;margin-left:0;padding-left:0}
.article-body .checklist li{position:relative;padding-left:2rem}
.article-body .checklist li::before{content:"\2611";position:absolute;left:0;top:0;color:var(--gold);font-size:1.2em}
/* blocos especiais (aviso/info/sucesso/erro) */
.article-body .note{border:1px solid;border-radius:12px;padding:1rem 1.3rem;margin:1.5rem 0;font-size:1.05rem;line-height:1.7}
.article-body .note strong{color:inherit}
.article-body .note-warn{border-color:#e0b53c;background:rgba(224,181,60,.1);color:#f3dd9a}
.article-body .note-info{border-color:#3fa7d4;background:rgba(63,167,212,.1);color:#a9ddf3}
.article-body .note-success{border-color:#34b27b;background:rgba(52,178,123,.1);color:#9fe6c4}
.article-body .note-error{border-color:#e0594f;background:rgba(224,89,79,.1);color:#f3aaa3}
.article-cta{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;padding:1.5rem 0 1rem;border-top:1px solid rgba(212,175,55,.18);margin-top:1.5rem}

@media(max-width:560px){
  .byline{flex-wrap:wrap}
  .by-socials{margin-left:0;flex-basis:100%;padding-left:64px}  /* alinha sob o texto, abaixo da bio */
}
@media(max-width:820px){
  .article-body{font-size:1.08rem}
}
