/* JR — João Rodrigues Consultoria Tributária e Empresarial */
:root{
  --papel:#F5F1EB; --papel-2:#EDE7DE; --branco:#FFFFFF;
  --marinho:#002042; --marinho-2:#0B3563; --bordo:#870000;
  --rose:#D9A9A2; --rose-claro:#EAD3CC; --vermelho:#D61400;
  --tinta:#1C2B3A; --cinza:#5F6B76; --linha:#DDD3C8;
  --f-titulo:'Montserrat',system-ui,sans-serif;
  --f-texto:'Alegreya Sans',Georgia,serif;
  --curva:88px; --larg:1120px;
}
@font-face{font-family:'Montserrat';src:url(/assets/fontes/montserrat-600.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Montserrat';src:url(/assets/fontes/montserrat-700.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Montserrat';src:url(/assets/fontes/montserrat-800.woff2) format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:'Alegreya Sans';src:url(/assets/fontes/alegreyasans-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Alegreya Sans';src:url(/assets/fontes/alegreyasans-500.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Alegreya Sans';src:url(/assets/fontes/alegreyasans-700.woff2) format('woff2');font-weight:700;font-display:swap}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--papel);color:var(--tinta);font-family:var(--f-texto);font-size:1.1rem;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--bordo)}
a:focus-visible,button:focus-visible{outline:3px solid var(--marinho);outline-offset:3px;border-radius:2px}
.pular{position:absolute;left:-999px;top:8px;background:var(--marinho);color:#fff;padding:.6rem 1rem;z-index:99;border-radius:4px}
.pular:focus{left:8px}
.faixa{max-width:var(--larg);margin:0 auto;padding:0 1.35rem}

/* tipografia */
h1,h2,h3{font-family:var(--f-titulo);color:var(--marinho);line-height:1.16;text-wrap:balance}
h1{font-size:clamp(2rem,4.6vw,3.35rem);font-weight:800;letter-spacing:-.015em}
h2{font-size:clamp(1.55rem,3vw,2.2rem);font-weight:800;letter-spacing:-.01em}
h3{font-size:1.16rem;font-weight:700}
p{max-width:68ch}
.kicker{display:flex;align-items:center;gap:.65rem;font-family:var(--f-titulo);font-weight:700;font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--bordo)}
.kicker::before{content:"";width:5px;height:1.15em;background:var(--vermelho);flex:none}
.tarja{background:var(--marinho);color:#fff;padding:.06em .28em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.sub{color:var(--cinza);font-size:1.16rem;max-width:62ch}

/* botões */
.bt{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--f-titulo);font-weight:700;font-size:.98rem;text-decoration:none;padding:1rem 1.7rem;border-radius:3px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.bt svg{flex:none}
.bt-cheio{background:var(--marinho);color:#fff;box-shadow:0 10px 26px -14px rgba(0,32,66,.55)}
.bt-cheio:hover{background:var(--marinho-2);transform:translateY(-2px)}
.bt-zap{background:#14804A;color:#fff;box-shadow:0 10px 26px -14px rgba(15,107,59,.6)}
.bt-zap:hover{background:#0F6B3B;transform:translateY(-2px)}
.bt-borda{border:2px solid var(--marinho);color:var(--marinho)}
.bt-borda:hover{background:var(--marinho);color:#fff}
@media(prefers-reduced-motion:reduce){.bt{transition:none}.bt:hover{transform:none}}

/* header */
/* o desfoque fica num pseudo-elemento: filtro no PRÓPRIO header criaria containing block
   e prenderia o menu position:fixed dentro da barra (menu "abre" invisível) */
header.topo{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--linha);transition:box-shadow .25s ease}
header.topo::after{content:"";position:absolute;inset:0;z-index:-1;background:#FCFAF6}
@supports(backdrop-filter:blur(1px)){header.topo::after{background:rgba(252,250,246,.88);backdrop-filter:blur(14px) saturate(1.15)}}
header.topo::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:var(--vermelho);z-index:1}
header.topo.rolou{box-shadow:0 10px 30px -18px rgba(0,32,66,.25)}
.topo-linha{display:flex;align-items:center;justify-content:space-between;gap:1.6rem;padding:.9rem 1.35rem;max-width:var(--larg);margin:0 auto}
.logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;min-width:0}
.logo-simbolo{width:38px;height:auto;flex:none}
.logo-marca{height:38px;width:auto;flex:none}
nav.principal ul{display:flex;gap:1.9rem;list-style:none;align-items:center}
nav.principal a{font-family:var(--f-titulo);font-weight:600;font-size:.88rem;color:var(--marinho);text-decoration:none;padding:.4rem 0;position:relative;white-space:nowrap}
nav.principal a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--vermelho);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
nav.principal a:hover::after,nav.principal a[aria-current]::after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){nav.principal a::after{transition:none}}
.so-zap{display:inline-flex}
.topo .bt{padding:.78rem 1.25rem;font-size:.92rem}
.abre-menu{display:none;background:none;border:0;cursor:pointer;padding:.55rem;border-radius:8px}
.abre-menu svg{display:block}
.abre-menu .ic-x{display:none}
.abre-menu.ativo .ic-burger{display:none}
.abre-menu.ativo .ic-x{display:block}
@media(max-width:1080px){
  nav.principal{position:fixed;inset:0;background:var(--papel);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .25s ease,transform .25s ease,visibility .25s;padding:6.2rem 2.1rem 2rem;z-index:55;overflow:auto}
  nav.principal.aberto{opacity:1;visibility:visible;transform:none}
  nav.principal ul{flex-direction:column;align-items:stretch;gap:0}
  nav.principal li{border-bottom:1px solid var(--linha)}
  nav.principal a{display:block;font-size:1.3rem;padding:1.05rem .2rem;font-weight:700}
  nav.principal a::after{content:none}
  nav.principal a[aria-current]{color:var(--bordo)}
  .abre-menu{display:block;position:relative;z-index:60}
  .topo .bt{padding:.66rem .8rem;border-radius:8px;margin-left:auto}
  .topo .bt .bt-rotulo{display:none}
  @media(prefers-reduced-motion:reduce){nav.principal{transition:none}}
}
@media(max-width:640px){.logo-marca{height:30px}}
@media(max-width:430px){.logo-marca{display:none}.logo-simbolo{width:42px}}

/* hero */
.hero{position:relative;overflow:hidden}
.hero .faixa{display:grid;grid-template-columns:1.1fr .9fr;gap:3.5rem;align-items:center;padding-top:4.5rem;padding-bottom:4.5rem}
.hero-txt h1{margin:1.1rem 0 1.2rem}
.hero-txt .sub{margin-bottom:2rem}
.hero-acoes{display:flex;gap:.9rem;flex-wrap:wrap}
.hero-foto{position:relative}
.hero-foto img{border-radius:var(--curva) 4px var(--curva) 4px;box-shadow:0 30px 60px -30px rgba(0,32,66,.45);aspect-ratio:4/5;object-fit:cover;width:100%}
.hero-foto::before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:2px solid var(--rose);border-radius:var(--curva) 4px var(--curva) 4px;pointer-events:none}
.orn{position:absolute;pointer-events:none;user-select:none;z-index:0}
.orn img{width:100%;height:auto}
.hero .faixa,.pg-hero .faixa{position:relative;z-index:1}
.orn-frag{width:clamp(100px,13vw,190px);left:0;top:-2.4rem;transform:translateX(-44%)}
.orn-hero{width:min(42vw,600px);right:-10vw;top:4%;opacity:.85}
@media(max-width:920px){
  .hero .faixa{grid-template-columns:1fr;gap:2.4rem;padding-top:2.8rem;padding-bottom:3rem}
  .hero-foto{max-width:400px;margin-inline:auto;width:100%}
  .orn-hero{width:70vw;right:-30vw;top:auto;bottom:-8%;opacity:.6}
}
section[id],[id$="especialidades"]{scroll-margin-top:5.2rem}

/* números */
.numeros{border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);background:var(--papel-2)}
.numeros .faixa{display:flex;gap:2rem;justify-content:space-between;padding-top:1.6rem;padding-bottom:1.6rem;flex-wrap:wrap}
.num{display:flex;align-items:baseline;gap:.6rem}
.num b{font-family:var(--f-titulo);font-weight:800;font-size:2rem;color:var(--bordo)}
.num span{font-family:var(--f-titulo);font-weight:600;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cinza)}

/* seções */
section{position:relative}
.sec{padding:4.6rem 0}
.sec-cab{margin-bottom:2.6rem;max-width:720px}
.sec-cab h2{margin:.9rem 0 .8rem}
.grade-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.grade-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
@media(max-width:920px){.grade-3,.grade-2{grid-template-columns:1fr}}
.cartao{background:var(--branco);border:1px solid var(--linha);border-radius:4px var(--curva) 4px 4px;padding:1.9rem;position:relative}
.cartao h3{margin-bottom:.6rem}
.cartao p{color:var(--cinza);font-size:1.02rem}

/* especialidades */
.esp{background:var(--branco);border:1px solid var(--linha);border-radius:4px;padding:1.9rem;text-decoration:none;display:flex;flex-direction:column;gap:.7rem;transition:border-color .18s,transform .18s,box-shadow .18s}
.esp:hover{border-color:var(--rose);transform:translateY(-4px);box-shadow:0 22px 44px -28px rgba(0,32,66,.35)}
.esp:hover .esp-seta{color:var(--vermelho);transform:translateX(4px)}
.esp-num{font-family:var(--f-titulo);font-weight:800;font-size:.85rem;color:var(--rose);letter-spacing:.1em}
.esp h3{font-size:1.12rem}
.esp p{color:var(--cinza);font-size:1rem;flex:1}
.esp-seta{font-family:var(--f-titulo);font-weight:700;font-size:.9rem;color:var(--bordo);transition:transform .18s;align-self:flex-start}
@media(prefers-reduced-motion:reduce){.esp,.esp-seta{transition:none}.esp:hover{transform:none}}

/* painel marinho (isenção/CTA) */
.painel{background:var(--marinho);color:#EAF0F7;border-radius:4px var(--curva) 4px var(--curva);overflow:hidden;position:relative}
.painel h2,.painel h3{color:#fff}
/* em fundo marinho a tarja é invisível — mas o fundo dela pintava por cima da linha
   de cima e "engolia" descendentes (g, p). Neutraliza dentro de painéis. */
.painel .tarja{background:none;padding:0}
.painel .kicker{color:var(--rose)}
.painel .kicker::before{background:var(--vermelho)}
.painel-grade{display:grid;grid-template-columns:1.15fr .85fr;gap:2.5rem;align-items:stretch;position:relative;z-index:1}
.painel-txt{padding:3.2rem;display:flex;flex-direction:column;gap:1.1rem;align-items:flex-start;position:relative;z-index:1}
.painel-txt p{color:#C9D4E2}
.painel-foto{min-height:320px}
.painel-foto img{width:100%;height:100%;object-fit:cover;object-position:top}
.painel .orn-painel{width:300px;left:-90px;bottom:-110px;opacity:.14}
.painel .orn-painel-b{width:min(46%,430px);right:-8%;top:-22%;opacity:.08}
@media(max-width:920px){.painel-grade{grid-template-columns:1fr}.painel-txt{padding:2.2rem}.painel-foto{order:-1;max-height:340px}}

/* caso real */
.caso{background:var(--papel-2);border-left:5px solid var(--bordo);border-radius:4px;padding:2.4rem;max-width:860px}
.caso h3{font-size:1.3rem;margin-bottom:1rem}
.caso p{font-size:1.08rem}
.caso .aviso{font-size:.9rem;color:var(--cinza);margin-top:1.1rem;font-style:italic}

/* processo */
.passos{counter-reset:p;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
@media(max-width:920px){.passos{grid-template-columns:1fr}}
.passo{counter-increment:p;background:var(--branco);border:1px solid var(--linha);border-radius:4px;padding:1.9rem;position:relative}
.passo::before{content:counter(p,decimal-leading-zero);font-family:var(--f-titulo);font-weight:800;color:var(--rose);font-size:.9rem;letter-spacing:.1em}
.passo h3{margin:.5rem 0 .5rem}
.passo p{color:var(--cinza);font-size:1rem}
.passo::after{content:"";position:absolute;left:1.9rem;bottom:0;width:56px;height:4px;background:var(--vermelho)}

/* listas com barra */
.lista-barra{list-style:none;display:grid;gap:.85rem}
.lista-barra li{padding-left:1.15rem;position:relative;color:var(--tinta)}
.lista-barra li::before{content:"";position:absolute;left:0;top:.42em;width:5px;height:.95em;background:var(--vermelho)}

/* FAQ */
.faq details{background:var(--branco);border:1px solid var(--linha);border-radius:4px;margin-bottom:.8rem}
.faq summary{cursor:pointer;font-family:var(--f-titulo);font-weight:700;color:var(--marinho);padding:1.15rem 1.3rem;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:600;color:var(--bordo);font-size:1.3rem;line-height:1;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 1.3rem 1.25rem;color:var(--cinza)}
@media(prefers-reduced-motion:reduce){.faq summary::after{transition:none}}

/* citação/manifesto */
.cita{border-left:5px solid var(--vermelho);padding-left:1.6rem;font-size:1.35rem;line-height:1.5;color:var(--marinho);max-width:30ch;font-weight:500}

/* stats do caso real */
.caso-stats{display:flex;gap:1rem;flex-wrap:wrap;margin:1.6rem 0 .4rem}
.cstat{background:var(--branco);border:1px solid var(--rose-claro);border-radius:4px 26px 4px 4px;padding:.9rem 1.2rem;min-width:150px}
.cstat b{display:block;font-family:var(--f-titulo);font-weight:800;font-size:1.35rem;color:var(--bordo);white-space:nowrap}
.cstat span{font-family:var(--f-titulo);font-weight:600;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cinza)}

/* segmentos empresa × você */
.segs{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
@media(max-width:920px){.segs{grid-template-columns:1fr}}
.seg{border-radius:4px var(--curva) 4px 4px;padding:2.3rem;display:flex;flex-direction:column;gap:1.1rem;align-items:flex-start}
.seg h3{font-size:1.35rem}
.seg .lista-barra{flex:1}
.seg-emp{background:var(--marinho)}
.seg-emp h3{color:#fff}
.seg-emp .lista-barra li{color:#C9D4E2}
.seg-voce{background:var(--branco);border:1px solid var(--linha)}

/* faixa-manifesto (post 6/6 do IG dele) */
.faixa-manifesto{background:var(--papel-2);border-block:1px solid var(--linha);overflow:hidden}
.faixa-manifesto .faixa{position:relative;z-index:1;padding-top:4.2rem;padding-bottom:4.2rem}
.fm-txt{font-family:var(--f-titulo);font-weight:800;font-size:clamp(1.5rem,3.4vw,2.5rem);line-height:1.35;color:var(--marinho);letter-spacing:-.01em;max-width:22ch;text-wrap:balance}
.fm-txt .sub-rose{border-bottom:4px solid var(--rose);padding-bottom:.04em}
.fm-acoes{margin-top:1.8rem;display:flex;gap:.9rem;flex-wrap:wrap}
.fm-orn{width:min(30vw,360px);right:-8vw;bottom:-30%;opacity:.6}

/* No Instagram */
.ig-grade{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
@media(max-width:920px){.ig-grade{grid-template-columns:1fr;max-width:420px}}
.ig-card{position:relative;display:block;border-radius:4px 36px 4px 4px;overflow:hidden;text-decoration:none;box-shadow:0 18px 40px -26px rgba(0,32,66,.4)}
.ig-card img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .35s ease}
.ig-card:hover img{transform:scale(1.045)}
.ig-card figcaption{position:absolute;inset:auto 0 0 0;background:linear-gradient(transparent,rgba(0,20,40,.86));color:#fff;font-family:var(--f-titulo);font-weight:600;font-size:.88rem;padding:2.2rem 1.1rem .95rem;line-height:1.35}
@media(prefers-reduced-motion:reduce){.ig-card img{transition:none}.ig-card:hover img{transform:none}}

/* página interna */
.pg-hero{padding:3.6rem 0 3rem;position:relative;overflow:hidden}
.pg-hero h1{margin:1rem 0 1.1rem;max-width:20ch}
.pg-hero .sub{font-size:1.18rem}
.orn-pg{width:min(32vw,400px);right:-7vw;top:-3rem;opacity:.8}
.migalha{font-family:var(--f-titulo);font-size:.78rem;font-weight:600;letter-spacing:.06em;color:var(--cinza);display:flex;gap:.5rem;flex-wrap:wrap}
.migalha a{color:var(--cinza);text-decoration:none}
.migalha a:hover{color:var(--bordo)}
.migalha li{list-style:none}
.migalha li+li::before{content:"›";margin-right:.5rem;color:var(--rose)}

/* split foto+texto */
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem;align-items:center}
.split img{border-radius:4px var(--curva) 4px var(--curva);aspect-ratio:4/5;object-fit:cover;width:100%}
@media(max-width:920px){.split{grid-template-columns:1fr}.split img{max-width:380px;margin-inline:auto}}

/* CTA final */
.cta-fim .painel-txt{padding:3.4rem;align-items:flex-start;gap:1.2rem}
.cta-fim p{max-width:52ch}

/* rodapé */
footer{background:var(--marinho);color:#B9C6D6;margin-top:4.5rem;position:relative;overflow:hidden}
footer .faixa{position:relative;z-index:1}
footer .orn-pe{width:min(38vw,480px);right:-9vw;top:-18%;opacity:.06}
.pe-grade{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2.2rem;padding:3.4rem 0 2.4rem}
@media(max-width:920px){.pe-grade{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.pe-grade{grid-template-columns:1fr}}
.pe-titulo{font-family:var(--f-titulo);font-weight:700;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;margin-bottom:1rem}
.h3{font-size:1.16rem;font-weight:700}
footer ul{list-style:none;display:grid;gap:.55rem}
footer a{color:#B9C6D6;text-decoration:none;font-size:.98rem}
footer a:hover{color:#fff}
.pe-marca img{margin-bottom:1rem}
.pe-marca p{font-size:.95rem;max-width:34ch}
.pe-fim{border-top:1px solid rgba(255,255,255,.14);padding:1.3rem 0;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem}
.pe-fim a{text-decoration:underline}

/* LP isenção */
.lp header.topo .logo-desc{display:block}
.lp-hero{padding:3.8rem 0 3.4rem}
.chips{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.4rem 0 0}
.chip{background:var(--branco);border:1px solid var(--rose);color:var(--marinho);font-family:var(--f-titulo);font-weight:600;font-size:.82rem;padding:.42rem .8rem;border-radius:100px}
.zap-fixo{position:fixed;right:1.1rem;bottom:1.1rem;z-index:70;box-shadow:0 14px 30px -12px rgba(0,0,0,.4);border-radius:100px;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .3s ease,transform .3s ease,visibility .3s}
.zap-fixo.mostra{opacity:1;visibility:visible;transform:none}
.zap-fixo .bt{border-radius:100px;padding:.95rem 1.5rem}
@media(prefers-reduced-motion:reduce){.zap-fixo{transition:none}}

/* ───────── refinamento de celular (≤640px) ───────── */
@media(max-width:640px){
  .sec{padding:3.2rem 0}
  .sec-cab{margin-bottom:1.9rem}
  .hero .faixa{padding-top:2.2rem;padding-bottom:2.6rem;gap:2.1rem}
  .hero-txt h1{font-size:2.14rem;line-height:1.12;margin:.95rem 0 1rem}
  .hero-txt .sub{font-size:1.06rem;margin-bottom:1.5rem}
  main .bt{width:100%;justify-content:center}
  .hero-acoes{gap:.7rem}
  .hero-foto{max-width:340px}
  .numeros .faixa{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;padding-top:1.25rem;padding-bottom:1.25rem}
  .num{flex-direction:column;gap:.1rem;align-items:flex-start}
  .num b{font-size:1.5rem}
  .num span{font-size:.6rem;letter-spacing:.09em;line-height:1.4}
  .passo,.cartao,.esp{padding:1.6rem 1.4rem}
  .caso{padding:1.7rem 1.3rem}
  .cstat{flex:1;min-width:130px;padding:.8rem 1rem}
  .cstat b{font-size:1.15rem}
  .painel-txt,.cta-fim .painel-txt{padding:2.1rem 1.5rem}
  .seg{padding:1.9rem 1.5rem}
  .faixa-manifesto .faixa{padding-top:3.1rem;padding-bottom:3.1rem}
  .fm-orn{width:56vw;right:-20vw;bottom:-10%}
  .ig-grade{margin-inline:auto}
  .faq summary{padding:1rem 1.05rem;font-size:.98rem}
  .faq details p{padding:0 1.05rem 1.1rem}
  .pg-hero{padding:2.6rem 0 2.2rem}
  .pe-grade{padding-top:2.6rem;gap:1.8rem}
}

/* guias */
.guia-corpo{max-width:760px}
.guia-corpo h2{margin:2.6rem 0 1rem;padding-top:1.4rem;border-top:1px solid var(--linha);font-size:1.6rem}
.guia-corpo p{margin-bottom:1.05rem}
.guia-corpo .lista-barra{margin:0 0 1.1rem}
.guia-destaque{background:var(--papel-2);border-left:5px solid var(--bordo);border-radius:4px;padding:1.3rem 1.5rem;margin:1.3rem 0;font-size:1.05rem}
.guia-meta{font-family:var(--f-titulo);font-weight:600;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cinza);display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.1rem}
.autor{display:flex;gap:1.1rem;align-items:center;background:var(--branco);border:1px solid var(--linha);border-radius:4px var(--curva) 4px 4px;padding:1.3rem 1.5rem;margin-top:2.6rem;max-width:560px}
.autor img{width:72px;height:72px;object-fit:cover;border-radius:50%;flex:none}
.autor b{font-family:var(--f-titulo);color:var(--marinho)}
.autor p{font-size:.95rem;color:var(--cinza);margin:0}
.guia-card{background:var(--branco);border:1px solid var(--linha);border-radius:4px var(--curva) 4px 4px;padding:1.9rem;text-decoration:none;display:flex;flex-direction:column;gap:.7rem;transition:border-color .18s,transform .18s,box-shadow .18s}
.guia-card:hover{border-color:var(--rose);transform:translateY(-4px);box-shadow:0 22px 44px -28px rgba(0,32,66,.35)}
.guia-card h3{font-size:1.15rem}
.guia-card p{color:var(--cinza);font-size:1rem;flex:1}
@media(prefers-reduced-motion:reduce){.guia-card{transition:none}.guia-card:hover{transform:none}}

/* reveal + microinterações — só escondem quando o JS confirma que vai animar (.anima no <html>) */
.reveal{transition:opacity .65s cubic-bezier(.2,.7,.3,1),transform .65s cubic-bezier(.2,.7,.3,1)}
.anima .reveal{opacity:0;transform:translateY(22px)}
.anima .reveal.viu{opacity:1;transform:none}
.anima .grade-3 .reveal:nth-child(2),.anima .passos .reveal:nth-child(2){transition-delay:.1s}
.anima .grade-3 .reveal:nth-child(3),.anima .passos .reveal:nth-child(3){transition-delay:.2s}
.anima .grade-3 .reveal:nth-child(4){transition-delay:.05s}
.anima .grade-3 .reveal:nth-child(5){transition-delay:.15s}
.anima .grade-3 .reveal:nth-child(6){transition-delay:.25s}
@media(prefers-reduced-motion:reduce){.anima .reveal{opacity:1;transform:none;transition:none}}

/* entrada do hero */
@keyframes surge{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes varre{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero-txt>*{animation:surge .7s cubic-bezier(.2,.7,.3,1) backwards}
.hero-txt>h1{animation-delay:.08s}
.hero-txt>.sub{animation-delay:.18s}
.hero-txt>.hero-acoes{animation-delay:.28s}
.hero-txt>p:last-child{animation-delay:.34s}
@keyframes recorta{from{clip-path:inset(-2% 100% -2% 0)}to{clip-path:inset(-2% -2% -2% 0)}}
.hero .tarja{animation:recorta .7s cubic-bezier(.6,0,.2,1) .5s backwards}
.hero-foto{animation:surge .8s cubic-bezier(.2,.7,.3,1) .15s backwards}
@media(prefers-reduced-motion:reduce){.hero-txt>*,.hero-foto,.hero .tarja{animation:none}}

/* botões: seta que desliza */
.bt .seta{transition:transform .2s ease}
.bt:hover .seta{transform:translateX(4px)}
.cartao{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.cartao:hover{transform:translateY(-3px);border-color:var(--rose);box-shadow:0 18px 40px -26px rgba(0,32,66,.3)}
::selection{background:var(--marinho);color:#fff}
@media(prefers-reduced-motion:reduce){.bt .seta,.cartao{transition:none}.cartao:hover{transform:none}}