/* Marlown Eduardo · Advocacia Criminal
   Tokens vindos de identidade-visual/tokens.json (manual de marca v1.0).
   Conceito: página de livro jurídico. Serifa grande, muito ar, o fio vertical
   do monograma M│E como elemento de ritmo e o "§" como marcador de seção. */

@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/source-sans-3-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/source-sans-3-latin-600-normal.woff2) format("woff2")}

:root{
  --noturno:#0C2340; --guanabara:#1F4F8A; --celeste:#8FB3DC; --bruma:#D6E1EE;
  --papel:#F4F7FA; --tinta:#17202C; --areia:#C2A06A; --branco:#FFFFFF;
  --tinta-2:#4A5668; --linha:#C9D3DF; --linha-escura:rgba(143,179,220,.22);
  --noturno-2:#102B4D; --wa:#25D366;
  --f-display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --f-texto:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --max:1200px; --gutter:clamp(16px,4vw,40px); --header:72px;
  --raio:2px;
  color-scheme:light;
}

/* base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header) + 16px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--f-texto);font-size:1.0625rem;line-height:1.65;font-feature-settings:"kern","liga";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
@media (min-width:768px){body{font-size:1.125rem}}
img,svg,picture{display:block;max-width:100%;height:auto}
a{color:var(--guanabara);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--guanabara);outline-offset:3px}
.escuro :focus-visible,.site-header :focus-visible,.site-footer :focus-visible{outline-color:var(--celeste)}
h1,h2,h3,h4{margin:0;color:var(--noturno);text-wrap:balance}
p{margin:0 0 1em}
ul,ol{padding-left:1.25em}
::selection{background:var(--bruma);color:var(--noturno)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.pular{position:absolute;left:12px;top:-60px;z-index:100;background:var(--branco);color:var(--noturno);padding:10px 16px;font-weight:600;border-radius:var(--raio)}
.pular:focus{top:12px}
.wrap{width:100%;max-width:calc(var(--max) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
/* grids de uma coluna no celular não podem crescer além da tela */
.hero .wrap,.urgencia .wrap,.sobre-home .wrap,.contato .wrap,.corpo,.perfil,.cab-secao{grid-template-columns:minmax(0,1fr)}


/* placeholder sinalizado: dado que o cliente ainda precisa preencher */
.ph{background:repeating-linear-gradient(-45deg,rgba(194,160,106,.18) 0 6px,rgba(194,160,106,.08) 6px 12px);outline:1px dashed var(--areia);outline-offset:1px;padding:0 .2em;border-radius:2px}

/* tipografia de marca */
.display{font-family:var(--f-display);font-weight:600;letter-spacing:-.005em;line-height:1.05}
.eyebrow{display:flex;align-items:center;gap:.65em;margin:0 0 18px;font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--guanabara)}
.eyebrow .par{font-family:var(--f-display);font-size:1.5rem;font-weight:500;letter-spacing:0;line-height:1;text-transform:none;color:inherit;transform:translateY(-1px)}
.eyebrow::before{content:"";width:1px;height:1.6em;background:currentColor;opacity:.55}
.escuro .eyebrow{color:var(--celeste)}
h1.eyebrow{font-family:var(--f-texto);line-height:1.4}
.escuro h1.eyebrow{color:var(--celeste)}
h2.titulo{font-family:var(--f-display);font-weight:600;font-size:clamp(2rem,1.3rem + 2.6vw,3.1rem);line-height:1.06;letter-spacing:-.01em;margin-bottom:.45em}
.lead{font-size:clamp(1.125rem,1rem + .4vw,1.3rem);line-height:1.55;color:var(--tinta-2);max-width:60ch}
.escuro .lead{color:var(--bruma)}

/* botões */
.btn{--bg:var(--guanabara);--fg:var(--branco);display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:52px;padding:0 1.5em;border:0;border-radius:var(--raio);background:var(--bg);color:var(--fg);font:600 1rem/1.1 var(--f-texto);letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background-color .2s,box-shadow .2s,transform .2s}
.btn:hover{--bg:var(--noturno);text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn-claro{--bg:var(--branco);--fg:var(--noturno)}
.btn-claro:hover{--bg:var(--bruma)}
.btn-linha{--bg:transparent;--fg:var(--guanabara);box-shadow:inset 0 0 0 1.5px currentColor}
.btn-linha:hover{--bg:var(--guanabara);--fg:var(--branco);box-shadow:none}
.escuro .btn-linha{--fg:var(--branco);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
.escuro .btn-linha:hover{--bg:var(--branco);--fg:var(--noturno)}
.btn svg{width:22px;height:22px;flex:none}
.btn .wa-ico{width:24px;height:24px}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.seta{display:inline-flex;align-items:center;gap:.5em;font-weight:600;text-decoration:none}
.seta::after{content:"→";transition:transform .2s}
.seta:hover::after{transform:translateX(4px)}

/* cabeçalho */
.site-header{position:sticky;top:0;z-index:50;background:var(--noturno);border-bottom:1px solid var(--linha-escura)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--header)}
.marca{display:block;flex:none;color:var(--branco)}
.marca img{width:auto;height:40px}
@media (min-width:1100px){.marca img{height:50px}:root{--header:84px}}
.nav{display:flex;align-items:center;gap:clamp(16px,2vw,30px)}
.nav ul{display:flex;gap:clamp(14px,1.8vw,28px);list-style:none;margin:0;padding:0}
.nav a{color:var(--bruma);text-decoration:none;font-size:.97rem;padding:6px 0;position:relative}
.nav a:hover,.nav a[aria-current="page"]{color:var(--branco)}
.nav ul a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--areia);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav ul a:hover::after,.nav ul a[aria-current="page"]::after{transform:scaleX(1)}
.nav .btn{min-height:42px;padding:0 1.1em;font-size:.95rem;color:var(--fg)}
.nav .btn::after{display:none}
.menu-btn{display:none;align-items:center;gap:10px;background:none;border:1px solid var(--linha-escura);color:var(--branco);font:600 .95rem var(--f-texto);height:42px;padding:0 14px;border-radius:var(--raio);cursor:pointer}
.menu-btn span{display:block;width:18px;height:1.5px;background:currentColor;position:relative}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0;width:18px;height:1.5px;background:currentColor;transition:transform .2s}
.menu-btn span::before{top:-6px}.menu-btn span::after{top:6px}
.menu-btn[aria-expanded="true"] span{background:transparent}
.menu-btn[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:1023px){
  .menu-btn{display:inline-flex}
  .nav{position:fixed;inset:var(--header) 0 0 0;background:var(--noturno);flex-direction:column;align-items:stretch;gap:0;padding:12px var(--gutter) 32px;overflow-y:auto;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility 0s .2s}
  .nav.aberto{visibility:visible;opacity:1;transform:none;transition:opacity .2s,transform .2s}
  .nav ul{flex-direction:column;gap:0}
  .nav ul a{display:block;padding:16px 0;font-family:var(--f-display);font-size:1.6rem;font-weight:500;color:var(--branco);border-bottom:1px solid var(--linha-escura)}
  .nav ul a::after{display:none}
  .nav .btn{margin-top:24px;min-height:54px}
  .js-nav-aberto{overflow:hidden}
}

/* seções */
.secao{padding-block:clamp(64px,5vw + 40px,128px)}
.secao-sm{padding-block:clamp(48px,4vw + 24px,88px)}
.escuro{background:var(--noturno);color:var(--bruma)}
.escuro h1,.escuro h2,.escuro h3{color:var(--branco)}
.escuro a:not(.btn){color:var(--branco)}
.bruma{background:var(--bruma)}
.branco{background:var(--branco)}
.cab-secao{display:grid;gap:12px 64px;margin-bottom:clamp(36px,4vw,64px)}
@media (min-width:900px){.cab-secao.duplo{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}.cab-secao.duplo .lead{margin-bottom:.55em}}
.cab-secao h2{margin-bottom:0}

/* hero da home */
.hero{position:relative;overflow:hidden;background:var(--noturno);color:var(--bruma);isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(70% 90% at 85% 10%,rgba(31,79,138,.55),transparent 60%),radial-gradient(50% 60% at 0% 100%,rgba(16,43,77,.9),transparent 70%)}
.hero .marca-dagua{position:absolute;z-index:-1;left:-6%;bottom:-18%;width:min(62vw,720px);opacity:.045;pointer-events:none}
.hero .wrap{display:grid;gap:48px;padding-block:clamp(48px,6vw,96px) clamp(56px,6vw,104px)}
@media (min-width:960px){.hero .wrap{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);align-items:center;gap:clamp(48px,6vw,96px)}}
.hero .hero-titulo{margin-top:0;font-family:var(--f-display);font-weight:600;color:var(--branco);font-size:clamp(2.6rem,1.4rem + 5vw,5.1rem);line-height:.98;letter-spacing:-.015em;margin-bottom:28px}
.hero .hero-titulo em{display:block;font-style:italic;font-weight:500;color:var(--celeste)}
.hero .lead{margin-bottom:36px;max-width:52ch}
.hero .btns{margin-bottom:44px}
.credenciais{display:flex;flex-wrap:wrap;gap:14px 0;margin:0;padding:22px 0 0;list-style:none;border-top:1px solid var(--linha-escura);font-size:.95rem;color:var(--celeste)}
.credenciais li{display:flex;align-items:center;padding-right:20px;margin-right:20px;border-right:1px solid var(--linha-escura);line-height:1.35}
.credenciais li:last-child{border-right:0;margin-right:0;padding-right:0}
.credenciais b{color:var(--branco);font-weight:600;margin-right:.35em}
.retrato{position:relative;margin:0;max-width:440px;justify-self:center;width:100%}
.retrato .moldura{position:relative}
.retrato .moldura::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid rgba(143,179,220,.45);z-index:0}
.retrato picture,.retrato img{position:relative;z-index:1;width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--noturno-2)}
.retrato .fio{position:absolute;z-index:2;left:-22px;top:-40px;bottom:12%;width:1px;background:linear-gradient(var(--areia) 70%,transparent)}
.retrato figcaption{position:relative;z-index:2;margin-top:34px;display:flex;justify-content:space-between;gap:12px;font-size:.875rem;color:var(--celeste);letter-spacing:.02em}
.retrato figcaption b{color:var(--branco);font-weight:600}
.retrato-pb{max-width:420px}
.retrato-pb figcaption{justify-content:flex-start}
@media (max-width:959px){.retrato{max-width:360px}.hero .wrap{gap:56px}}
@media (max-width:540px){
  .hero .wrap{padding-top:36px}
  .hero .btns .btn{width:100%}
  .credenciais{display:grid;gap:10px;padding-top:18px}
  .credenciais li{border-right:0;margin-right:0;padding-right:0}
  .indice a{grid-template-columns:34px minmax(0,1fr) 24px;gap:6px 12px;padding:24px 4px}
  .urgencia .btns .btn{width:100%}
}
@media (max-width:540px){.retrato{max-width:300px}.retrato .fio{left:-14px}.retrato .moldura::before{inset:12px -12px -12px 12px}}
@media (prefers-reduced-motion:no-preference){
  .hero-anim{animation:subir .8s cubic-bezier(.2,.7,.2,1) both}
  .hero-anim.d2{animation-delay:.08s}.hero-anim.d3{animation-delay:.16s}.hero-anim.d4{animation-delay:.24s}
  @keyframes subir{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
}

/* faixa de urgência */
.urgencia .wrap{display:grid;gap:32px 64px}
@media (min-width:960px){.urgencia .wrap{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);align-items:start}}
.urgencia h2{font-family:var(--f-display);font-weight:600;font-size:clamp(2rem,1.4rem + 2vw,2.8rem);line-height:1.05;margin-bottom:14px}
.urgencia p{color:var(--tinta-2)}
.passos-urg{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:0;counter-reset:u}
.passos-urg li{counter-increment:u;display:grid;grid-template-columns:52px minmax(0,1fr);gap:16px;padding:18px 0;border-top:1px solid rgba(12,35,64,.16)}
.passos-urg li:last-child{border-bottom:1px solid rgba(12,35,64,.16)}
.passos-urg li::before{content:counter(u);font-family:var(--f-display);font-style:italic;font-weight:500;font-size:2.2rem;line-height:1;color:var(--guanabara)}
.passos-urg b{display:block;color:var(--noturno);font-size:1.06rem;margin-bottom:2px}
.passos-urg span{color:var(--tinta-2);font-size:1rem;line-height:1.55}
.passos-urg small{display:block;margin-top:4px;font-size:.85rem;color:var(--tinta-2);opacity:.9}

/* áreas: índice editorial */
.indice{list-style:none;margin:0;padding:0;border-top:1px solid var(--linha)}
.indice li{border-bottom:1px solid var(--linha)}
.indice a{display:grid;grid-template-columns:56px minmax(0,1fr) 28px;gap:8px 20px;align-items:baseline;padding:28px 12px;color:inherit;text-decoration:none;transition:background-color .25s}
.indice .num{font-family:var(--f-display);font-size:1.4rem;color:var(--guanabara);line-height:1}
.indice h3{font-family:var(--f-display);font-weight:600;font-size:clamp(1.6rem,1.2rem + 1.3vw,2.2rem);line-height:1.08;transition:color .2s}
.indice p{grid-column:2;margin:0;color:var(--tinta-2);max-width:62ch}
.indice .ir{grid-row:1;grid-column:3;font-size:1.4rem;color:var(--guanabara);transition:transform .25s}
.indice a:hover{background:var(--branco)}
.indice a:hover h3{color:var(--guanabara)}
.indice a:hover .ir{transform:translateX(6px)}
@media (min-width:900px){
  .indice a{grid-template-columns:72px minmax(0,1fr) minmax(0,1.25fr) 40px;padding:34px 16px}
  .indice p{grid-column:3;grid-row:1}
  .indice .ir{grid-column:4}
}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.tags span{font-size:.8rem;padding:3px 10px;border:1px solid var(--linha);border-radius:99px;color:var(--tinta-2);background:var(--papel)}

/* como funciona */
.etapas{list-style:none;margin:0;padding:0;display:grid;gap:40px 32px;counter-reset:e}
@media (min-width:700px){.etapas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1080px){.etapas{grid-template-columns:repeat(4,minmax(0,1fr))}}
.etapas li{counter-increment:e;position:relative;padding-top:28px;border-top:1px solid var(--noturno)}
.etapas li::before{content:counter(e,upper-roman);position:absolute;top:-1px;left:0;transform:translateY(-55%);background:var(--branco);padding-right:14px;font-family:var(--f-display);font-style:italic;font-size:1.6rem;color:var(--guanabara);line-height:1}
.etapas h3{font-size:1.15rem;font-weight:600;margin-bottom:8px}
.etapas p{color:var(--tinta-2);font-size:1rem;margin:0}

/* sobre (home) */
.sobre-home .wrap{display:grid;gap:48px}
@media (min-width:960px){.sobre-home .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:80px}}
.foto-larga{position:relative;margin:0}
.foto-larga img{width:100%;aspect-ratio:3/2;object-fit:cover}
.foto-larga::after{content:"";position:absolute;top:-20px;bottom:-20px;right:28px;width:1px;background:var(--areia)}
.foto-larga figcaption{margin-top:12px;font-size:.85rem;color:var(--celeste)}
.dados{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:32px 0;border-top:1px solid var(--linha-escura)}
.dados div{padding:18px 18px 18px 0;border-bottom:1px solid var(--linha-escura)}
.dados div:nth-child(odd){border-right:1px solid var(--linha-escura)}
.dados div:nth-child(even){padding-left:18px}
.dados dt{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--celeste);margin-bottom:4px}
.dados dd{margin:0;color:var(--branco);font-family:var(--f-display);font-size:1.45rem;font-weight:500;line-height:1.15}
.areia{color:var(--areia)}

/* conteúdos */
.cards{display:grid;gap:20px}
@media (min-width:760px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
.card{display:flex;flex-direction:column;background:var(--branco);border:1px solid var(--linha);padding:28px 26px 26px;color:inherit;text-decoration:none;transition:border-color .2s,transform .25s,box-shadow .25s;min-height:100%}
.card:hover{border-color:var(--guanabara);transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(12,35,64,.35)}
.card .cat{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--guanabara);margin-bottom:14px}
.card h3{font-family:var(--f-display);font-weight:600;font-size:1.65rem;line-height:1.1;margin-bottom:12px}
.card p{color:var(--tinta-2);font-size:1rem;margin-bottom:22px}
.card .seta{margin-top:auto;color:var(--guanabara)}

/* perguntas */
.faq{max-width:860px}
.faq details{border-top:1px solid var(--linha)}
.faq details:last-child{border-bottom:1px solid var(--linha)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:16px;align-items:center;padding:24px 0;font-family:var(--f-display);font-weight:600;font-size:clamp(1.35rem,1.1rem + .7vw,1.65rem);line-height:1.2;color:var(--noturno)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:14px;height:14px;justify-self:end;border-right:1.5px solid var(--guanabara);border-bottom:1.5px solid var(--guanabara);transform:rotate(45deg) translateY(-4px);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.faq summary:hover{color:var(--guanabara)}
.faq .resp{padding:0 44px 26px 0;color:var(--tinta-2);max-width:68ch}
.faq .resp p:last-child{margin:0}

/* contato */
.contato .wrap{display:grid;gap:48px}
@media (min-width:960px){.contato .wrap{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:80px;align-items:start}}
.nap{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:0}
.nap li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;padding:18px 0;border-top:1px solid rgba(12,35,64,.16)}
.nap li:last-child{border-bottom:1px solid rgba(12,35,64,.16)}
.nap svg{width:22px;height:22px;color:var(--guanabara);margin-top:3px}
.nap b{display:block;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-2);font-weight:600}
.nap a{color:var(--noturno);font-weight:600;text-decoration:none}
.nap a:hover{text-decoration:underline}
.form-card{background:var(--branco);padding:clamp(24px,3vw,44px);border-top:3px solid var(--noturno);box-shadow:0 30px 60px -40px rgba(12,35,64,.45)}
.form-card h3{font-family:var(--f-display);font-weight:600;font-size:1.9rem;line-height:1.1;margin-bottom:8px}
.form-card .aviso{font-size:.92rem;color:var(--tinta-2)}
.campo{display:grid;gap:6px;margin-bottom:18px}
.campo label{font-weight:600;font-size:.95rem;color:var(--noturno)}
.campo .opc{font-weight:400;color:var(--tinta-2)}
.campo input,.campo select,.campo textarea{width:100%;font:inherit;font-size:1rem;color:var(--tinta);background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio);padding:13px 14px;min-height:50px;transition:border-color .2s,background-color .2s}
.campo textarea{min-height:110px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:2px solid var(--guanabara);outline-offset:0;border-color:var(--guanabara);background:var(--branco)}
.campo .dica{font-size:.85rem;color:var(--tinta-2)}
.grid-2{display:grid;gap:0 16px}
@media (min-width:560px){.grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.form-card .btn{width:100%;margin-top:6px}
.form-card .legal{font-size:.82rem;color:var(--tinta-2);margin:14px 0 0}

/* mapa sob demanda (não carrega Google Maps sem clique: desempenho e LGPD) */
.mapa{position:relative;margin-top:28px;aspect-ratio:16/10;background:var(--noturno);display:grid;place-items:center;text-align:center;padding:24px;overflow:hidden}
.mapa::before{content:"";position:absolute;inset:0;opacity:.35;background-image:linear-gradient(var(--linha-escura) 1px,transparent 1px),linear-gradient(90deg,var(--linha-escura) 1px,transparent 1px);background-size:38px 38px}
.mapa>*{position:relative}
.mapa p{color:var(--bruma);font-size:.92rem;margin:12px 0 0}
.mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* rodapé */
.site-footer{background:var(--noturno);color:var(--celeste);font-size:.95rem;padding-top:clamp(56px,6vw,88px)}
.site-footer a{color:var(--bruma);text-decoration:none}
.site-footer a:hover{color:var(--branco);text-decoration:underline}
.rodape-grid{display:grid;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--linha-escura)}
@media (min-width:760px){.rodape-grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr}}
.rodape-grid h2{font-family:var(--f-texto);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--celeste);font-weight:600;margin-bottom:16px}
.rodape-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rodape-grid .marca img{height:40px;margin-bottom:20px}
.rodape-grid address{font-style:normal;line-height:1.7}
.rodape-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;padding-block:24px 32px;font-size:.85rem}
.rodape-base p{margin:0;max-width:72ch}
@media (max-width:767px){.site-footer{padding-bottom:76px}}

/* barra fixa de contato no celular */
.barra-contato{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:1fr 1.6fr;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(12,35,64,.97);border-top:1px solid var(--linha-escura);backdrop-filter:blur(8px)}
.barra-contato .btn{min-height:48px;padding:0 12px;font-size:.98rem}
@media (min-width:768px){.barra-contato{display:none}}

/* páginas internas */
.page-hero{position:relative;overflow:hidden;background:var(--noturno);color:var(--bruma);isolation:isolate}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 120% at 100% 0%,rgba(31,79,138,.5),transparent 60%)}
.page-hero .marca-dagua{position:absolute;z-index:-1;right:-4%;top:-30%;width:min(48vw,520px);opacity:.05}
.page-hero .wrap{padding-block:clamp(36px,4vw,56px) clamp(48px,5vw,80px)}
.page-hero h1{font-family:var(--f-display);font-weight:600;color:var(--branco);font-size:clamp(2.4rem,1.5rem + 3.6vw,4.2rem);line-height:1.02;letter-spacing:-.012em;max-width:20ch;margin:10px 0 22px}
.page-hero .lead{max-width:62ch;margin-bottom:0}
.migalhas{font-size:.88rem;color:var(--celeste)}
.migalhas ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.migalhas li+li::before{content:"/";margin-right:6px;opacity:.6}
.migalhas a{color:var(--celeste)!important;text-decoration:none}
.migalhas a:hover{color:var(--branco)!important;text-decoration:underline}
.meta-art{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:28px;font-size:.92rem;color:var(--celeste)}
.meta-art .autor{display:flex;align-items:center;gap:12px;color:var(--branco)}
.meta-art .autor img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.meta-art .autor span{display:block;font-size:.85rem;color:var(--celeste)}

.corpo{display:grid;gap:56px;padding-block:clamp(48px,5vw,88px)}
@media (min-width:1024px){.corpo{grid-template-columns:minmax(0,1fr) 320px;gap:72px;align-items:start}}
.lateral{display:grid;gap:20px}
@media (min-width:1024px){.lateral{position:sticky;top:calc(var(--header) + 24px)}}
.cta-card{background:var(--noturno);color:var(--bruma);padding:28px 26px;position:relative}
.cta-card::before{content:"";position:absolute;left:0;top:28px;bottom:28px;width:2px;background:var(--areia)}
.cta-card h2{font-family:var(--f-display);font-weight:600;font-size:1.65rem;line-height:1.1;color:var(--branco);margin-bottom:10px}
.cta-card p{font-size:.98rem}
.cta-card .btn{width:100%}
.cta-card small{display:block;margin-top:14px;font-size:.82rem;color:var(--celeste)}
.toc{border-left:1px solid var(--linha);padding:4px 0 4px 20px;font-size:.95rem}
.toc h2{font-family:var(--f-texto);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-2);margin-bottom:10px}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.toc a{color:var(--tinta-2);text-decoration:none}
.toc a:hover{color:var(--guanabara);text-decoration:underline}
@media (max-width:1023px){.toc{display:none}}

/* texto longo */
.prosa{max-width:70ch}
.prosa>*:first-child{margin-top:0}
.prosa h2{font-family:var(--f-display);font-weight:600;font-size:clamp(1.8rem,1.4rem + 1.3vw,2.4rem);line-height:1.1;margin:2em 0 .55em}
.prosa h3{font-size:1.2rem;font-weight:600;margin:1.8em 0 .5em}
.prosa p,.prosa li{color:var(--tinta)}
.prosa li{margin-bottom:.45em}
.prosa li::marker{color:var(--guanabara)}
.prosa strong{color:var(--noturno)}
.prosa .abre{font-size:1.2rem;line-height:1.6;color:var(--tinta-2)}
.prosa .abre::first-letter{float:left;font-family:var(--f-display);font-weight:600;font-size:4.2em;line-height:.82;padding:.06em .1em 0 0;color:var(--noturno)}
.lei{margin:1.6em 0;padding:18px 22px;background:var(--branco);border-left:2px solid var(--guanabara);font-family:var(--f-display);font-size:1.3rem;line-height:1.45;color:var(--noturno)}
.lei cite{display:block;margin-top:8px;font-family:var(--f-texto);font-style:normal;font-size:.85rem;color:var(--tinta-2)}
.nota{margin:1.8em 0;padding:20px 22px;background:var(--bruma);font-size:1rem}
.nota p:last-child{margin:0}
.nota b:first-child{display:block;color:var(--noturno);margin-bottom:4px}
.tabela{overflow-x:auto;margin:1.6em 0;border:1px solid var(--linha);background:var(--branco)}
.tabela table{border-collapse:collapse;width:100%;font-size:.98rem}
.tabela table:has(th:nth-child(3)){min-width:560px}
.tabela th,.tabela td{text-align:left;vertical-align:top;padding:12px 16px;border-bottom:1px solid var(--linha)}
.tabela th{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-2);background:var(--papel);font-weight:600}
.tabela tr:last-child td{border-bottom:0}
.tabela td.n{font-family:var(--f-display);font-weight:600;font-size:1.3rem;color:var(--guanabara);white-space:nowrap}
.base-legal{margin-top:3em;padding-top:24px;border-top:1px solid var(--linha);font-size:.95rem}
.base-legal h2{font-family:var(--f-texto)!important;font-size:.8rem!important;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-2)!important;margin:0 0 12px!important}
.base-legal ul{padding-left:1.1em;color:var(--tinta-2)}
.aviso-info{margin-top:2em;font-size:.9rem;color:var(--tinta-2);font-style:italic}
.autor-box{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;align-items:start;margin-top:3em;padding:24px;background:var(--branco);border:1px solid var(--linha)}
.autor-box img{width:72px;height:72px;border-radius:50%;object-fit:cover}
.autor-box b{font-family:var(--f-display);font-size:1.35rem;color:var(--noturno);display:block;line-height:1.2}
.autor-box p{margin:6px 0 0;font-size:.95rem;color:var(--tinta-2)}

.relacionados{border-top:1px solid var(--linha)}
.lista-art{list-style:none;margin:0;padding:0;border-top:1px solid var(--linha)}
.lista-art li{border-bottom:1px solid var(--linha)}
.lista-art a{display:grid;gap:6px 32px;padding:30px 8px;color:inherit;text-decoration:none}
@media (min-width:860px){.lista-art a{grid-template-columns:200px minmax(0,1fr)}}
.lista-art .cat{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--guanabara);padding-top:8px}
.lista-art h2{font-family:var(--f-display);font-weight:600;font-size:clamp(1.6rem,1.2rem + 1.2vw,2.1rem);line-height:1.1;margin-bottom:6px}
.lista-art p{margin:0;color:var(--tinta-2)}
.lista-art a:hover h2{color:var(--guanabara)}

/* sobre */
.perfil{display:grid;gap:48px;padding-block:clamp(48px,5vw,88px)}
@media (min-width:960px){.perfil{grid-template-columns:400px minmax(0,1fr);gap:80px;align-items:start}}
.perfil .retrato{max-width:400px;justify-self:start}
.perfil .retrato figcaption{color:var(--tinta-2)}
.perfil .retrato figcaption b{color:var(--noturno)}
.perfil .retrato .moldura::before{border-color:var(--linha)}
.perfil .retrato .fio{background:linear-gradient(var(--guanabara) 70%,transparent)}
.linha-tempo{list-style:none;margin:1.2em 0;padding:0;border-left:1px solid var(--linha)}
.linha-tempo li{position:relative;padding:0 0 18px 24px;margin:0}
.linha-tempo li::before{content:"";position:absolute;left:-4px;top:.6em;width:7px;height:7px;background:var(--guanabara);border-radius:50%}
.linha-tempo b{color:var(--noturno)}

.pagina-404{min-height:60vh;display:grid;place-items:center;text-align:center}
.pagina-404 .num{font-family:var(--f-display);font-size:clamp(5rem,12vw,9rem);line-height:1;color:var(--branco)}

@media print{
  .site-header,.barra-contato,.lateral,.mapa,.form-card{display:none!important}
  body{background:#fff;font-size:11pt}
  .page-hero,.hero{background:#fff!important;color:#000}
  .page-hero h1{color:#000}
}
.cta-card a:not(.btn){color:var(--branco)}
.mapa a{color:var(--branco)}
@media (max-width:959px){.perfil .retrato{max-width:320px;margin-left:16px}}
