/* ==========================================================================
   Dr. Alfredo Lara · folha de estilo do site
   v1.0 · 30/07/2026 · Shantal Marketing

   Tokens e comportamento vindos do Manual de Identidade Visual v2.7.1:
   base branca, preto na estrutura, marinho #202136 como único acento,
   Inter em pesos 300, 400 e 500, geometria reta, filete de 1px, sem
   gradiente, sem sombra, sem canto arredondado.

   Ordem do arquivo:
   1. Tokens e reset
   2. Tipografia e utilitários
   3. Cabeçalho, navegação e menu compacto
   4. Componentes da home (hero, hospitais, sinais, banda, cirurgias,
      consulta, sobre, atendimento, dúvidas, consultório, fecho)
   5. Rodapé
   6. Diretório de blog
   7. Página de artigo (single-post)

   A fonte Inter é carregada no HTML via Google Fonts. Para tirar a
   dependência externa, hospedar os arquivos woff2 em assets/fonts/ e
   declarar @font-face aqui.
   ========================================================================== */

:root{
  --paper:#FFFFFF; --paper-alt:#F6F6F5; --ink:#111114; --ink-soft:rgba(17,17,20,.72);
  --ink-mute:rgba(17,17,20,.5); --gray:#B0B0AF; --line:#E3E3E1; --navy:#202136;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,sans-serif; --max:1280px;
  --el:url('../img/elemento-cranio.png');
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{font-family:var(--sans);font-weight:400;color:var(--ink);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
a:focus-visible,summary:focus-visible,button:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 6%}
@media(min-width:1100px){.wrap{padding:0 4.5%}}

h1,h2{font-weight:300;line-height:1.1;letter-spacing:-.015em;color:var(--navy)}
h1{font-size:clamp(1.8rem,3.3vw,2.85rem)}
h2{font-size:clamp(1.6rem,2.7vw,2.35rem)}
h3{font-size:1.04rem;font-weight:500;letter-spacing:-.005em;line-height:1.35}
p{max-width:none}
.eyebrow{display:block;font-size:.7rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--navy)}
.lead{font-size:clamp(1.02rem,1.4vw,1.16rem);color:var(--ink-soft)}
.legal{font-size:.72rem;font-weight:500;letter-spacing:.03em;color:var(--ink-mute);line-height:1.6;max-width:none}

.btn{display:inline-flex;align-items:center;gap:.6rem;background:var(--navy);color:#fff;padding:.85rem 1.5rem;font-size:.88rem;font-weight:500;border:1px solid var(--navy);transition:background .18s,color .18s}
.btn:hover{background:#2c2d47}
.btn svg{width:16px;height:16px;fill:currentColor;flex:0 0 auto}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff}
.btn.light{background:#fff;color:var(--navy);border-color:#fff}
.btn.light:hover{background:rgba(255,255,255,.86)}

/* header */
header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;height:78px}
.nav .brand{flex:0 0 auto}
.nav .brand img{height:18px;width:auto}
@media(max-width:520px){.nav .brand img{height:14px}}
.nav ul{display:none;list-style:none;gap:.95rem}
.nav ul a{font-size:.78rem;color:var(--ink-soft);padding-bottom:2px;border-bottom:1px solid transparent;white-space:nowrap}
.nav ul a:hover{color:var(--ink);border-bottom-color:var(--navy)}
@media(min-width:1240px){.nav ul{display:flex}}
.nav .btn{padding:.7rem 1.15rem;font-size:.82rem}
header .wrap{max-width:1400px;padding:0 4%}
.m-menu{position:relative;flex:0 0 auto}
.m-menu>summary{list-style:none;cursor:pointer;font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border:1px solid var(--line);padding:.62rem .85rem;display:flex;align-items:center;gap:.5rem}
.m-menu>summary::-webkit-details-marker{display:none}
.m-menu>summary::after{content:"";width:9px;height:9px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:rotate(45deg) translateY(-2px)}
.m-menu[open]>summary::after{transform:rotate(225deg) translateY(-2px)}
.m-panel{position:absolute;right:0;top:calc(100% + 12px);width:min(78vw,290px);background:#fff;border:1px solid var(--line);z-index:70}
.m-panel ul{list-style:none}
.m-panel li+li{border-top:1px solid var(--line)}
.m-panel a{display:block;padding:.9rem 1.1rem;font-size:.9rem;color:var(--ink-soft)}
.m-panel a:hover{background:var(--paper-alt);color:var(--ink)}
@media(min-width:1240px){.m-menu{display:none}}
@media(max-width:520px){header .btn .lbl{display:none}header .btn{padding:.62rem .8rem}}
@media(max-width:400px){
  .nav{gap:.6rem}
  .nav .brand img{height:12px}
  .m-menu>summary{font-size:0;gap:0;padding:.62rem .72rem}
  .m-menu>summary::after{width:10px;height:10px}
}


/* hero */
.hero{padding:clamp(1.3rem,2.2vw,1.9rem) 0 0}
.hero-grid{display:grid;gap:clamp(2rem,4vw,3.6rem);align-items:end}
@media(min-width:960px){.hero-grid{grid-template-columns:1.25fr .75fr}}
.hero h1{margin:1rem 0 1.1rem;max-width:38ch}
.hero .lead{max-width:none}
.claims{display:grid;gap:0;margin-top:1.5rem;border-top:1px solid var(--line)}
@media(min-width:760px){.claims{grid-template-columns:repeat(3,1fr)}}
.claim{padding:.8rem 1.6rem .8rem 0;font-size:.86rem;color:var(--ink-soft);border-bottom:1px solid var(--line)}
@media(min-width:760px){.claim{border-bottom:none;border-left:1px solid var(--line);padding-left:1.4rem}.claim:first-child{border-left:none;padding-left:0}}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.4rem}
.hero-legal{margin-top:1.5rem;padding-top:.9rem;border-top:1px solid var(--line)}
.hero-photo{position:relative;align-self:end}
.hero-photo img{width:100%;max-width:330px;margin:0 0 0 auto}
.hero-photo::before{content:"";position:absolute;left:8%;right:14%;top:14%;bottom:0;border:1px solid var(--line);border-bottom:none;z-index:-1}
@media(max-width:899px){
  .hero-photo img{max-width:none;width:auto;height:300px;margin:0 auto}
  .hero-photo::before{display:none}
}

/* faixa de hospitais */
.hosp{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:clamp(1.3rem,2.4vw,1.9rem);padding:1.1rem 0}
.hosp .wrap{display:grid;gap:1rem;align-items:center}
@media(min-width:900px){.hosp .wrap{grid-template-columns:.34fr 1fr}}
.hosp-list{display:flex;flex-wrap:wrap;gap:.5rem 2.4rem;font-size:.9rem;font-weight:500;color:var(--navy)}

/* seções */
section.pad{padding:clamp(2.3rem,4vw,3.6rem) 0}
main section{scroll-margin-top:96px}
.split{display:block}
.split h2{margin:.9rem 0 1.3rem}
.split .body p{color:var(--ink-soft);max-width:none}
.split .body p+p{margin-top:1rem}

/* sinais */
.signs{display:grid;gap:0;margin-top:2.6rem;border-top:1px solid var(--line)}
@media(min-width:640px){.signs{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.signs{grid-template-columns:repeat(3,1fr)}}
.sign{padding:1.4rem 1.5rem 1.5rem 0;border-bottom:1px solid var(--line);display:flex;gap:1rem}
.sign .num{font-size:.72rem;font-weight:500;letter-spacing:.08em;color:var(--navy);padding-top:.3rem}
.sign p{font-size:.97rem;color:var(--ink-soft);max-width:none}
.note{margin-top:1.8rem;font-size:.92rem;color:var(--ink-mute);max-width:none}

/* banda escura */
.band{background:var(--ink);color:#fff;position:relative;overflow:hidden;padding:clamp(2.1rem,3.6vw,3.2rem) 0}
.band h2{color:#fff;margin-top:.9rem}
.band p{color:rgba(255,255,255,.78);margin-top:1.1rem;font-size:1.02rem;max-width:none}
.mark-el{background:var(--el) no-repeat center/contain;aspect-ratio:520/856;pointer-events:none}
.band .mark-el{position:absolute;right:-1%;top:50%;transform:translateY(-50%);width:min(280px,30vw);opacity:.15}
.band .wrap{position:relative;z-index:2}
.band .btn{margin-top:1.5rem}
.band .split h2{margin-top:.9rem}

/* cirurgias */
.area-lead{border-top:2px solid var(--navy);border-bottom:1px solid var(--line);padding:1.8rem 0 2rem;margin-bottom:2.8rem}
.area-lead h3{font-size:1.35rem;font-weight:300;letter-spacing:-.01em;margin-bottom:.7rem;color:var(--navy)}
.area-lead p{color:var(--ink-soft);font-size:.98rem}
.group+.group{margin-top:3rem}
.group-title{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.74rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);padding-bottom:.8rem;border-bottom:1px solid var(--navy)}
.group-title em{font-style:normal;font-size:.68rem;letter-spacing:.1em;color:var(--ink-mute);text-transform:none}
.cards{display:grid;gap:0}
@media(min-width:680px){.cards{grid-template-columns:1fr 1fr}}
@media(min-width:1060px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{padding:1.6rem 1.8rem 1.8rem 0;border-bottom:1px solid var(--line)}
.card h3{margin-bottom:.55rem}
.card p{font-size:.93rem;color:var(--ink-soft);max-width:none}
.card .who{display:block;margin-top:.7rem;font-size:.86rem;color:var(--ink-mute)}
.card .rule{width:22px;height:1px;background:var(--navy);margin-bottom:1.1rem}

/* consulta */
.steps{display:grid;gap:0;margin-top:2.6rem;border-top:1px solid var(--navy)}
@media(min-width:820px){.steps{grid-template-columns:repeat(3,1fr)}}
.step{padding:1.7rem 2rem 1.9rem 0;border-bottom:1px solid var(--line)}
@media(min-width:820px){.step{border-left:1px solid var(--line);padding-left:2rem}.step:first-child{border-left:none;padding-left:0}}
.step .num{display:block;font-size:.72rem;font-weight:500;letter-spacing:.14em;color:var(--navy);margin-bottom:.9rem}
.step h3{margin-bottom:.5rem}
.step p{font-size:.94rem;color:var(--ink-soft);max-width:none}

/* sobre */
.about{background:var(--paper-alt)}
.about-cols{display:grid;gap:clamp(2rem,3.5vw,3.4rem)}
@media(min-width:960px){.about-cols{grid-template-columns:1.05fr .95fr}}
.about-text p+p{margin-top:1rem}
.sobre-foto{margin-top:1.8rem}
.sobre-foto img{width:100%;border:1px solid var(--line)}
.cred dl{border-top:2px solid var(--navy)}
.cred .row{display:block;padding:1rem 0;border-bottom:1px solid var(--line)}
.cred dt{font-size:.72rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--navy);margin-bottom:.35rem}
.cred dd{font-size:.94rem;color:var(--ink-soft)}

/* atendimento e encaminhamento */
.two{display:grid;gap:0;border-top:1px solid var(--navy);margin-top:2.4rem}
@media(min-width:860px){.two{grid-template-columns:1fr 1fr}}
.two>div{padding:1.8rem 2.4rem 2rem 0;border-bottom:1px solid var(--line)}
@media(min-width:860px){.two>div+div{border-left:1px solid var(--line);padding-left:2.4rem}}
.two h3{margin-bottom:.7rem}
.two p{font-size:.95rem;color:var(--ink-soft);max-width:none}
.two p+p{margin-top:.8rem}
.two .btn{margin-top:1.4rem}

/* dúvidas */
.faq-list{display:grid;gap:0 clamp(2rem,4vw,4rem);margin-top:2.4rem}
@media(min-width:900px){.faq-list{grid-template-columns:1fr 1fr}}
.faq-col{align-self:start}
details{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;padding:1.15rem 0;font-size:1rem;font-weight:500;display:flex;justify-content:space-between;align-items:center;gap:1.2rem}
summary::-webkit-details-marker{display:none}
summary::after{content:"";width:11px;height:11px;flex:0 0 auto;border-right:1px solid var(--navy);border-bottom:1px solid var(--navy);transform:rotate(45deg) translateY(-2px);transition:transform .2s}
details[open] summary::after{transform:rotate(225deg) translateY(-2px)}
details p{padding:0 0 1.4rem;color:var(--ink-soft);font-size:.95rem;max-width:none}

/* consultório */
.office-grid{display:grid;gap:2.4rem;align-items:stretch;margin-top:2.4rem}
@media(min-width:900px){.office-grid{grid-template-columns:.8fr 1.2fr}}
.office-info{display:flex;flex-direction:column}
.office-info .block{padding:1.1rem 0;border-bottom:1px solid var(--line)}
.office-info .block:first-of-type{border-top:1px solid var(--line)}
.office-info .eyebrow{margin-bottom:.45rem}
.office-info p{font-size:.95rem;color:var(--ink-soft);max-width:none}
.office-info strong{color:var(--ink);font-weight:500}
.office-info .rota{margin-top:.7rem;font-size:.88rem}
.office-info .rota a{border-bottom:1px solid var(--line)}
.office-info .btn{margin-top:1.6rem;align-self:flex-start}
.office-map iframe{width:100%;height:100%;min-height:400px;border:1px solid var(--line);display:block}

/* banner de fecho */
.final{background:var(--navy);color:#fff;position:relative;overflow:hidden;padding:clamp(2.1rem,3.6vw,3.2rem) 0 clamp(1.6rem,2.6vw,2.2rem)}
.final .wrap{position:relative;z-index:2}
.final .mark-el{position:absolute;right:-2%;top:-8%;width:min(340px,36vw);opacity:.18}
.final h2{color:#fff;max-width:34ch;margin:1rem 0 1.2rem}
.final p{color:rgba(255,255,255,.78);max-width:none;font-size:1.02rem}
.final .btn{margin-top:1.6rem}
.final-facts{display:grid;gap:0;margin-top:clamp(1.6rem,2.6vw,2.2rem);border-top:1px solid rgba(255,255,255,.22)}
@media(min-width:760px){.final-facts{grid-template-columns:repeat(3,1fr)}}
.final-facts div{padding:1.1rem 1.6rem 1.1rem 0;font-size:.88rem;color:rgba(255,255,255,.76)}
@media(min-width:760px){.final-facts div{border-left:1px solid rgba(255,255,255,.22);padding-left:1.6rem}.final-facts div:first-child{border-left:none;padding-left:0}}
@media(max-width:759px){.final-facts div+div{border-top:1px solid rgba(255,255,255,.22)}}

/* footer */
footer{background:var(--ink);color:rgba(255,255,255,.68);padding:clamp(3rem,5vw,4.2rem) 0 2rem;font-size:.88rem}
.foot-top{display:grid;gap:2.4rem}
@media(min-width:900px){.foot-top{grid-template-columns:1.5fr .8fr .9fr 1fr}}
.foot-brand img{height:17px;width:auto;margin-bottom:1.3rem}
.foot-brand p{max-width:36ch;color:rgba(255,255,255,.6)}
.foot-social{display:flex;gap:.6rem;margin-top:1.5rem}
.foot-social a{width:36px;height:36px;border:1px solid rgba(255,255,255,.24);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.75)}
.foot-social a:hover{background:rgba(255,255,255,.1);color:#fff}
.foot-social svg{width:16px;height:16px}
.foot-col h4{font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.42);margin-bottom:1rem}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.foot-col a{color:rgba(255,255,255,.78)}
.foot-col a:hover{color:#fff}
.foot-rt{margin-top:2.4rem;padding:1.1rem 1.3rem;border:1px solid rgba(255,255,255,.2);font-size:.78rem;color:rgba(255,255,255,.7);line-height:1.7}
.foot-rt .rt-label{display:block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:.4rem}
.foot-disc{margin-top:1.3rem;font-size:.78rem;color:rgba(255,255,255,.45);max-width:none}
.foot-bottom{margin-top:1.4rem;padding-top:1.3rem;border-top:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8rem;font-size:.75rem;color:rgba(255,255,255,.42)}
.foot-bottom a{color:rgba(255,255,255,.6)}

/* ==========================================================================
   6. DIRETÓRIO DE BLOG
   ========================================================================== */
.nav ul a.is-active{color:var(--ink);border-bottom-color:var(--navy)}
.breadcrumb{padding:1.5rem 0 0;font-size:.78rem;color:var(--ink-mute)}
.breadcrumb a{color:var(--ink-soft);border-bottom:1px solid var(--line)}
.breadcrumb span{margin:0 .5rem;color:var(--gray)}
.blog-hero{padding:clamp(1.8rem,4vw,3rem) 0 clamp(1.6rem,3vw,2.4rem)}
.blog-hero h1{font-size:clamp(1.9rem,3.5vw,3rem);margin:1.1rem 0 1.3rem;max-width:40ch}
.blog-hero .lead{max-width:none}
.byline{display:flex;align-items:center;gap:1rem;margin-top:2.2rem;padding-top:1.3rem;border-top:1px solid var(--line)}
.byline img{width:52px;height:52px;object-fit:cover;flex:0 0 auto;border:1px solid var(--line)}
.byline p{font-size:.8rem;color:var(--ink-mute);line-height:1.6}
.byline strong{color:var(--ink);font-weight:500}
.temas{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.4rem 0}
.temas .label{font-size:.7rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:.9rem;display:block}
.tags{display:flex;flex-wrap:wrap;gap:.5rem}
.tag{padding:.45rem .9rem;border:1px solid var(--line);font-size:.82rem;color:var(--ink-soft);background:#fff}
.tag.is-active{background:var(--navy);border-color:var(--navy);color:#fff}
.sec-head{max-width:none}
.sec-head p{max-width:none}
.sec-head h2{margin:1rem 0 1.1rem}
.sec-head p{color:var(--ink-soft)}
.posts{display:grid;gap:0;border-top:1px solid var(--navy)}
@media(min-width:720px){.posts{grid-template-columns:1fr 1fr}}
@media(min-width:1060px){.posts{grid-template-columns:repeat(3,1fr)}}
.post{padding:1.8rem 2rem 2rem 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:.7rem}
.post .meta{font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute)}
.post h3{max-width:26ch}
.post h3 a{border-bottom:1px solid transparent}
.post h3 a:hover{border-bottom-color:var(--navy)}
.post p{font-size:.92rem;color:var(--ink-soft)}
.post .more{margin-top:auto;padding-top:.6rem;font-size:.8rem;font-weight:500;color:var(--navy)}
.state{border:1px solid var(--line);border-top:2px solid var(--navy);padding:clamp(1.8rem,4vw,2.8rem);background:var(--paper-alt)}
.state h3{font-size:1.15rem;font-weight:500;margin-bottom:.8rem}
.state p{font-size:.95rem;color:var(--ink-soft);margin-bottom:1.6rem}
.state .actions{display:flex;flex-wrap:wrap;gap:.8rem}
.clusters{display:grid;gap:0;border-top:1px solid var(--navy);margin-top:2.6rem}
@media(min-width:760px){.clusters{grid-template-columns:1fr 1fr}}
.cluster{padding:1.6rem 2.2rem 1.8rem 0;border-bottom:1px solid var(--line)}
.cluster h3{margin-bottom:.5rem}
.cluster p{font-size:.93rem;color:var(--ink-soft)}
.cta-band{background:var(--navy);color:#fff;padding:clamp(2.1rem,3.6vw,3.2rem) 0;position:relative;overflow:hidden}
.cta-band h2{color:#fff;max-width:36ch}
.cta-band p{color:rgba(255,255,255,.72);margin-top:1.2rem;max-width:none}
.cta-band .btn{margin-top:2rem;background:#fff;color:var(--navy);border-color:#fff}
.cta-band .btn:hover{background:rgba(255,255,255,.86)}
.cta-band .mark-el{position:absolute;right:-2%;top:50%;transform:translateY(-50%);width:min(280px,32vw);opacity:.14}
.cta-band .wrap{position:relative;z-index:2}

/* ==========================================================================
   7. PÁGINA DE ARTIGO (single-post)
   ========================================================================== */
.artigo-hero{padding:clamp(1.4rem,2.4vw,2rem) 0 clamp(1.4rem,2.4vw,2rem);border-bottom:1px solid var(--line)}
.artigo-hero h1{font-size:clamp(1.75rem,3.1vw,2.6rem);margin:.9rem 0 1.1rem;max-width:40ch}
.artigo-hero .resumo{font-size:clamp(1rem,1.3vw,1.12rem);color:var(--ink-soft)}
.artigo-meta{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:1.4rem;font-size:.8rem;color:var(--ink-mute)}
.artigo-meta strong{color:var(--ink);font-weight:500}

.artigo-capa{margin:clamp(1.6rem,3vw,2.4rem) 0 0}
.artigo-capa img{width:100%;border:1px solid var(--line)}
.artigo-capa figcaption{margin-top:.6rem;font-size:.8rem;color:var(--ink-mute)}

.artigo-corpo{padding:clamp(1.8rem,3.4vw,2.8rem) 0 clamp(2.3rem,4vw,3.6rem)}
.artigo-grid{display:grid;gap:clamp(2rem,4vw,3.4rem)}
@media(min-width:1000px){.artigo-grid{grid-template-columns:1fr 300px}}
.prosa h2{font-size:clamp(1.35rem,2.1vw,1.8rem);margin:2.2rem 0 .9rem}
.prosa h3{font-size:1.06rem;margin:1.8rem 0 .6rem;color:var(--navy)}
.prosa p{margin-bottom:1.1rem;color:var(--ink-soft)}
.prosa ul,.prosa ol{margin:0 0 1.2rem 1.2rem}
.prosa li{margin-bottom:.5rem;color:var(--ink-soft)}
.prosa a{color:var(--navy);border-bottom:1px solid var(--navy)}
.prosa strong{color:var(--ink);font-weight:500}
.prosa blockquote{margin:1.6rem 0;padding:1.1rem 0 1.1rem 1.4rem;border-left:2px solid var(--navy);font-size:1.06rem;color:var(--ink)}
.prosa img{margin:1.6rem 0;border:1px solid var(--line)}
.prosa figcaption{margin-top:.5rem;font-size:.8rem;color:var(--ink-mute)}
.prosa table{width:100%;border-collapse:collapse;margin:1.6rem 0;font-size:.94rem}
.prosa th,.prosa td{text-align:left;padding:.7rem 1rem .7rem 0;border-bottom:1px solid var(--line)}
.prosa th{font-weight:500;color:var(--navy);border-bottom-color:var(--navy)}

.sumario{border-top:2px solid var(--navy);padding-top:1.1rem;align-self:start}
@media(min-width:1000px){.sumario{position:sticky;top:100px}}
.sumario .label{display:block;font-size:.7rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);margin-bottom:.9rem}
.sumario ol{list-style:none;counter-reset:s}
.sumario li{counter-increment:s;border-bottom:1px solid var(--line)}
.sumario a{display:block;padding:.65rem 0;font-size:.88rem;color:var(--ink-soft)}
.sumario a::before{content:counter(s,decimal-leading-zero) " ";color:var(--navy);font-weight:500;font-size:.76rem}
.sumario a:hover{color:var(--ink)}

.revisao{margin-top:clamp(2rem,3.4vw,2.8rem);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.6rem 0;display:grid;gap:1.2rem}
@media(min-width:700px){.revisao{grid-template-columns:76px 1fr;gap:1.6rem}}
.revisao img{width:76px;height:76px;object-fit:cover;border:1px solid var(--line)}
.revisao h3{margin-bottom:.4rem;color:var(--navy)}
.revisao p{font-size:.92rem;color:var(--ink-soft)}
.revisao .legal{margin-top:.7rem}

.relacionados{padding:clamp(2.3rem,4vw,3.6rem) 0;background:var(--paper-alt)}
.relacionados .grade{display:grid;gap:0;border-top:1px solid var(--navy);margin-top:2rem}
@media(min-width:760px){.relacionados .grade{grid-template-columns:repeat(3,1fr)}}
.relacionados article{padding:1.6rem 2rem 1.8rem 0;border-bottom:1px solid var(--line)}
.relacionados .meta{font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute)}
.relacionados h3{margin:.6rem 0 .5rem}
.relacionados h3 a{border-bottom:1px solid transparent}
.relacionados h3 a:hover{border-bottom-color:var(--navy)}
.relacionados p{font-size:.92rem;color:var(--ink-soft)}

