/* ============================================================
   Ei, Doc! — sistema visual único (todas as páginas)
   Direção: editorial-clínica. Papel quente, tinta, um verde.
   ============================================================ */
:root{
  /* cor */
  --papel:#FAF8F4;        /* fundo da página */
  --papel-2:#F2EEE6;      /* faixas e rodapé */
  --superficie:#FFFFFF;   /* cartões e campos */
  --tinta:#161616;        /* títulos, botões */
  --texto:#262626;        /* corpo */
  --suave:#57534B;        /* texto secundário (AA sobre papel e papel-2) */
  --linha:#E2DCD0;
  --linha-forte:#CBC3B3;
  --verde:#42941F;        /* marca: só fios e marcas, não texto */
  --verde-texto:#2D6A12;  /* links e etiquetas (≥ 6:1 sobre papel) */
  --verde-tinta:#EDF2E6;  /* fundo de destaque */
  /* tipo */
  --f-texto:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --f-titulo:"Bricolage Grotesque","Source Sans 3",sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --t-micro:12px;--t-sm:15px;--t-base:18px;--t-lg:20px;
  --t-h3:21px;--t-h2:clamp(25px,2.4vw,30px);--t-h1:clamp(34px,4.4vw,52px);
  /* espaço */
  --s1:8px;--s2:16px;--s3:24px;--s4:40px;--s5:64px;--s6:96px;
  --raio:6px;--max:1160px;--medida:70ch;--gutter:24px;
}
@media(max-width:620px){:root{--t-base:17px;--t-lg:18.5px;--gutter:20px;--s5:48px;--s6:64px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{margin:0;background:var(--papel);color:var(--texto);font-family:var(--f-texto);font-size:var(--t-base);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto}
body{min-height:100vh;display:flex;flex-direction:column}main{flex:1 0 auto}
h1,h2,h3,h4{font-family:var(--f-titulo);font-weight:700;color:var(--tinta);margin:0;letter-spacing:-.018em;text-wrap:balance}
h1{font-size:var(--t-h1);line-height:1.08;letter-spacing:-.028em}
h2{font-size:var(--t-h2);line-height:1.18}
h3{font-size:var(--t-h3);line-height:1.25}
p{margin:0 0 var(--s2)}
strong{font-weight:600;color:var(--tinta)}
a{color:var(--verde-texto);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(45,106,18,.4)}
a:hover{color:var(--tinta);text-decoration-color:currentColor}
:focus-visible{outline:2px solid var(--verde-texto);outline-offset:3px;border-radius:3px}
::selection{background:#D9E8CF}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.wrap-narrow{max-width:800px;margin:0 auto;padding:0 var(--gutter)}
.mono,.kicker{font-family:var(--f-mono);font-size:var(--t-micro);font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--suave);line-height:1.5;margin:0 0 var(--s2)}
.kicker{color:var(--verde-texto)}
.lede{font-size:var(--t-lg);line-height:1.55;color:var(--texto);max-width:62ch;margin:0}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:12px;top:12px;background:var(--tinta);color:#fff;padding:12px 18px;z-index:99;border-radius:var(--raio);text-decoration:none}

/* ---------- cabeçalho ---------- */
.top{background:rgba(250,248,244,.96);border-bottom:1px solid var(--linha);position:sticky;top:0;z-index:30}
@supports (backdrop-filter:blur(8px)){.top{background:rgba(250,248,244,.86);backdrop-filter:blur(10px)}}
.top-inner{display:flex;align-items:center;gap:28px;min-height:68px}
.brand{display:inline-flex;align-items:center;min-height:44px}
.brand img{height:28px;width:auto;display:block}
.topnav{display:flex;align-items:center;gap:4px;margin-left:auto}
.topnav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font-size:16px;color:var(--texto);text-decoration:none;border-radius:var(--raio)}
.topnav a:hover{color:var(--tinta);background:var(--papel-2)}
.topnav a[aria-current="page"]{color:var(--tinta);font-weight:600;box-shadow:inset 0 -2px 0 var(--verde)}
.top-cta{flex:none}
@media(max-width:760px){
  .top{position:static}
  .top-inner{flex-wrap:wrap;gap:0;min-height:0;padding-top:10px}
  .top-cta{margin-left:auto}
  .topnav{order:3;width:100%;margin:8px 0 0;border-top:1px solid var(--linha);justify-content:space-between;gap:0}
  .topnav a{flex:1;justify-content:center;font-size:15.5px;padding:0 6px}
  .topnav a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--verde)}
}

/* ---------- botões (só dois) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:var(--raio);font-family:var(--f-texto);font-weight:600;font-size:16.5px;line-height:1.2;text-decoration:none;border:1.5px solid var(--tinta);cursor:pointer;transition:background .15s ease,color .15s ease}
.btn-primary{background:var(--tinta);color:#fff}
.btn-primary:hover{background:#333;border-color:#333;color:#fff}
.btn-ghost{background:transparent;color:var(--tinta)}
.btn-ghost:hover{background:var(--tinta);color:#fff}
.btn-sm{min-height:44px;padding:0 16px;font-size:15px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--s4)}
.link-seta{font-weight:600;color:var(--tinta);text-decoration:none}
.link-seta:hover{color:var(--verde-texto)}

/* ---------- cabeça de página interna ---------- */
.crumbs{font-size:14.5px;color:var(--suave);margin-bottom:var(--s4)}
.crumbs a{color:var(--suave)}
.crumbs span{margin:0 8px;color:var(--linha-forte)}
.page-head{padding:var(--s3) 0 var(--s5);border-bottom:1px solid var(--linha)}
.page-head h1{max-width:22ch}
.page-head .lede{margin-top:var(--s3)}
.page-head .kicker{margin-bottom:14px}

/* ---------- documento: leitura + coluna lateral ---------- */
.doc{display:grid;grid-template-columns:minmax(0,1fr) 296px;column-gap:clamp(48px,6vw,80px);align-items:start;padding-top:var(--s5);padding-bottom:var(--s6)}
.doc-main{grid-column:1;grid-row:1;min-width:0;max-width:var(--medida)}
.doc-aside{grid-column:2;grid-row:1;position:sticky;top:96px;display:grid;gap:var(--s3)}
@media(max-width:900px){
  .doc{grid-template-columns:1fr;padding-top:var(--s3)}
  .doc-main,.doc-aside{grid-column:1;grid-row:auto}
  .doc-aside{position:static;margin-bottom:var(--s4)}
  .doc-aside .aside-author{display:none}
}

/* índice "Nesta página" */
.toc{border-top:2px solid var(--tinta);padding-top:14px}
.toc summary{list-style:none;cursor:default;font-family:var(--f-mono);font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--suave);padding:2px 0 10px}
.toc summary::-webkit-details-marker{display:none}
.toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.toc li{counter-increment:toc;border-top:1px solid var(--linha)}
.toc a{display:flex;gap:12px;padding:10px 0;font-size:15.5px;line-height:1.4;color:var(--texto);text-decoration:none}
.toc a::before{content:counter(toc,decimal-leading-zero);font-family:var(--f-mono);font-size:11.5px;color:var(--suave);padding-top:3px;min-width:18px}
.toc a:hover{color:var(--verde-texto)}
.toc a.ativo{color:var(--tinta);font-weight:600}
.toc a.ativo::before{color:var(--verde-texto)}
@media(max-width:900px){
  .toc{border:1px solid var(--linha);border-radius:var(--raio);background:var(--superficie);padding:0}
  .toc summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:52px;padding:0 16px;color:var(--tinta)}
  .toc summary::after{content:"+";font-size:18px;line-height:1}
  .toc[open] summary::after{content:"–"}
  .toc ol{padding:0 16px 6px}
}
.aside-author{border:1px solid var(--linha);border-radius:var(--raio);background:var(--superficie);padding:18px;font-size:15px;line-height:1.5}
.aside-author strong{display:block;font-size:15.5px}
.aside-author span{display:block;color:var(--suave);margin:2px 0 10px}

/* ---------- prosa ---------- */
.prose{max-width:var(--medida)}
.prose>:first-child{margin-top:0}
.prose p,.prose li{color:var(--texto)}
.prose h2{text-wrap:pretty;margin:52px 0 var(--s2);padding-top:var(--s3);border-top:1px solid var(--linha)}
.prose>h2:first-child{padding-top:0;border-top:0}
.prose h3{margin:var(--s4) 0 var(--s1)}
.prose ul,.prose ol{padding-left:22px;margin:0 0 var(--s2)}
.prose li{margin-bottom:10px;padding-left:4px}
.prose li::marker{color:var(--verde)}
.resposta{font-size:var(--t-lg);line-height:1.55;color:var(--tinta);border-left:3px solid var(--verde);padding:2px 0 2px 18px;margin:0 0 var(--s2)}
.nota{margin:var(--s4) 0 0;padding:22px 24px;border:1px solid var(--linha);border-left:3px solid var(--tinta);border-radius:var(--raio);background:var(--superficie)}
.nota h2{font-size:20px;margin:0 0 10px;padding:0;border:0}
.nota p:last-child{margin-bottom:0}

/* ---------- faixas ---------- */
.band{padding:var(--s5) 0;border-top:1px solid var(--linha)}
.band-alt{background:var(--papel-2)}
.band-head{max-width:var(--medida);margin-bottom:var(--s4)}
.band-head h2{margin-bottom:12px}
.band-head p:last-child{margin-bottom:0}

/* ---------- linhas (listas de links) ---------- */
.rows{border:1px solid var(--linha);border-radius:var(--raio);background:var(--superficie);overflow:hidden}
.row{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:56px;padding:14px 20px;border-bottom:1px solid var(--linha);text-decoration:none;color:var(--texto)}
.row:last-child{border-bottom:0}
a.row:hover{background:#F6F4EE;color:var(--texto)}
a.row:hover strong{color:var(--verde-texto)}
.row strong{display:block;font-family:var(--f-titulo);font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--tinta);line-height:1.3}
.row em{display:block;font-style:normal;font-size:15.5px;line-height:1.45;color:var(--suave);margin-top:3px}
.row .meta{font-family:var(--f-mono);font-size:12.5px;color:var(--suave);white-space:nowrap;text-align:right}
@media(max-width:620px){.row{padding:14px 16px;align-items:flex-start}.row .meta{display:none}}

/* ---------- fatos ---------- */
.fatos{list-style:none;padding:0;margin:0;border-top:2px solid var(--tinta)}
.fatos li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid var(--linha);font-size:15.5px}
.fatos li span:first-child{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--suave)}
.fatos li span:last-child{color:var(--tinta);font-weight:600;text-align:right}

/* ---------- captura (faixa escura) ---------- */
.captura{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,400px);gap:clamp(28px,5vw,64px);align-items:center;background:var(--tinta);color:#fff;border-radius:var(--raio);padding:clamp(28px,4.5vw,48px)}
.captura h2,.captura h3{color:#fff;margin-bottom:12px}
.captura p{color:#D9D6CF}
.captura .kicker{color:#A9D98F}
.captura-copy>:last-child{margin-bottom:0}
.form-nota{font-size:14px;color:var(--suave);margin:10px 0 0;line-height:1.5}
.form-nota a{color:inherit}
.captura .form-nota{color:#B9B5AC}
@media(max-width:820px){.captura{grid-template-columns:1fr}}

/* ---------- SendFox (o embed injeta estilos inline) ---------- */
.sendfox-embed{max-width:100%}
.sendfox-embed .sendfox-embed{margin:0}
.sendfox-embed .sendfox-embed-card{background:var(--superficie)!important;border:1px solid var(--linha)!important;border-radius:var(--raio)!important;box-shadow:none!important;padding:22px!important;font-family:var(--f-texto)!important;color:var(--texto)!important}
.sendfox-embed .sendfox-embed-card form{gap:14px!important}
.sendfox-embed .sendfox-embed-card label{font-family:var(--f-texto)!important;font-size:14.5px!important;font-weight:600!important;color:var(--tinta)!important;margin-bottom:6px!important}
.sendfox-embed .sendfox-embed-card input[type=text],.sendfox-embed .sendfox-embed-card input[type=email]{min-height:48px;font-family:var(--f-texto)!important;font-size:16.5px!important;border:1px solid var(--linha-forte)!important;border-radius:var(--raio)!important;padding:10px 14px!important;color:var(--tinta)!important;background:#fff!important}
.sendfox-embed .sendfox-embed-card input:focus{outline:2px solid var(--verde-texto)!important;outline-offset:1px!important;border-color:var(--verde-texto)!important}
.sendfox-embed .sendfox-embed-card button{min-height:48px;font-family:var(--f-texto)!important;font-size:16.5px!important;font-weight:600!important;background:var(--tinta)!important;color:#fff!important;border-radius:var(--raio)!important}
.sendfox-embed .sendfox-embed-card button:hover{background:#333!important}
.captura .sendfox-embed .sendfox-embed-card{border-color:#fff!important}

/* ---------- cartões ---------- */
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.card{display:flex;flex-direction:column;background:var(--superficie);border:1px solid var(--linha);border-radius:var(--raio);padding:26px 26px 22px;color:var(--texto);text-decoration:none;transition:border-color .15s ease}
a.card:hover{border-color:var(--tinta);color:var(--texto)}
.card .kicker{margin-bottom:12px}
.card h3{margin-bottom:10px}
.card p{font-size:16.5px;line-height:1.55;color:var(--suave);margin:0 0 20px}
.card .card-link{margin-top:auto;font-weight:600;color:var(--tinta);font-size:16px;display:inline-flex;align-items:center;min-height:28px}
a.card:hover .card-link{color:var(--verde-texto)}
@media(max-width:760px){.cards{grid-template-columns:1fr}.card{padding:22px 20px 20px}}

/* ---------- cartão de identidade (sobre) ---------- */
.credencial{border:1px solid var(--linha);border-top:3px solid var(--verde);border-radius:var(--raio);background:var(--superficie);padding:18px 20px}
.credencial .nome{font-family:var(--f-titulo);font-weight:700;font-size:18px;line-height:1.25;color:var(--tinta)}
.credencial .linhas{font-size:15px;color:var(--suave);margin-top:6px;line-height:1.5}
.credencial .crm{font-family:var(--f-mono);font-size:13px;color:var(--tinta);margin-top:12px;padding-top:10px;border-top:1px solid var(--linha);letter-spacing:.03em}

.about-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(40px,7vw,96px);align-items:start}
.about-hero h1{max-width:16ch}
.about-hero .lede{margin-top:var(--s3)}
.about-hero-copy p:last-child{margin:var(--s3) 0 0}
.about-identity{display:grid;gap:14px}
.about-photo-wrap{margin:0;aspect-ratio:1/1;border-radius:var(--raio);overflow:hidden;background:var(--papel-2);border:1px solid var(--linha)}
.about-photo{width:100%;height:100%;display:block;object-fit:cover}
.about-aside{display:grid;gap:var(--s4)}
.about-aside .rows{margin-top:0}
.about-aside .row{min-height:52px;padding:12px 16px}
.about-aside .row strong{font-size:16px}
@media(max-width:860px){
  .about-hero{grid-template-columns:1fr}
  .about-identity{grid-template-columns:132px minmax(0,1fr);align-items:center;max-width:520px}
}
@media(max-width:420px){.about-identity{grid-template-columns:112px minmax(0,1fr)}.credencial{padding:14px}}

/* ---------- ferramentas ---------- */
.tools{display:grid;grid-template-columns:240px minmax(0,1fr);column-gap:clamp(40px,6vw,80px);align-items:start;padding-top:var(--s4);padding-bottom:var(--s5)}
.tools-aside{position:sticky;top:96px}
.tools-main{min-width:0}
.busca{position:relative;margin-bottom:var(--s4)}
.busca label{display:block;font-weight:600;color:var(--tinta);font-size:16px;margin-bottom:8px}
.busca input{width:100%;min-height:54px;padding:12px 16px 12px 46px;font:inherit;font-size:18px;color:var(--tinta);background:var(--superficie) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%2357534B' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='8.5' cy='8.5' r='6'/%3E%3Cpath d='m13 13 5 5'/%3E%3C/svg%3E") no-repeat 16px 50%;border:1.5px solid var(--linha-forte);border-radius:var(--raio);-webkit-appearance:none;appearance:none}
.busca input:focus{outline:none;border-color:var(--tinta);box-shadow:0 0 0 3px rgba(45,106,18,.25)}
.busca-status{font-size:14.5px;color:var(--suave);margin:8px 0 0;min-height:1.5em}
.tool-group{scroll-margin-top:96px}
.tool-group+.tool-group{margin-top:var(--s4)}
.tool-group h2{display:flex;align-items:baseline;gap:12px;font-size:22px;margin-bottom:14px}
.tool-group h2 .n,.toc .n{font-family:var(--f-mono);font-size:12.5px;font-weight:400;color:var(--suave);letter-spacing:0}
.toc .n{margin-left:auto;padding-left:8px}
.sem-resultado{border:1px dashed var(--linha-forte);border-radius:var(--raio);padding:24px;color:var(--suave);text-align:center}
[hidden]{display:none!important}
@media(max-width:900px){
  .tools{grid-template-columns:1fr}
  .tools-aside{position:static;margin-bottom:var(--s3)}
}

/* ---------- confirmações e 404 ---------- */
.thank-you{padding:var(--s5) 0 var(--s6)}
.thank-you .wrap-narrow{max-width:var(--max)}
.thank-you .wrap-narrow>*{max-width:760px}
.thank-you h1{margin-top:4px}
.thank-you .lede{margin-top:var(--s3)}

/* ---------- rodapé (igual em todas) ---------- */
.site-foot{background:var(--papel-2);border-top:1px solid var(--linha);padding:var(--s5) 0 var(--s4);font-size:15.5px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:var(--s4);align-items:start;padding-bottom:var(--s4);border-bottom:1px solid var(--linha-forte)}
.foot-author{margin:14px 0 0;color:var(--suave);line-height:1.5}
.foot-brand{display:flex;flex-direction:column;align-items:flex-start;gap:18px;min-width:0}
.foot-author-signature{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:14px;width:min(100%,820px);max-width:820px;margin:24px auto 0;padding:18px 20px;border:1px solid var(--linha-forte);border-left:4px solid var(--verde);border-radius:10px;background:linear-gradient(125deg,var(--superficie),var(--papel));color:var(--tinta);text-decoration:none;box-shadow:0 8px 24px rgba(25,35,31,.07);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.foot-author-signature:hover{transform:translateY(-2px);border-color:var(--verde);box-shadow:0 14px 32px rgba(25,35,31,.11)}
.foot-author-signature img{width:64px;height:64px;flex:none;object-fit:cover;border-radius:50%;background:#f1ece2;border:2px solid var(--superficie);box-shadow:0 0 0 1px var(--linha-forte)}
.foot-signature-copy{display:grid;gap:4px;min-width:0;line-height:1.35}
.foot-signature-label{font-size:10px;font-weight:700;color:var(--verde-texto);letter-spacing:.09em;text-transform:uppercase}
.foot-signature-copy strong{font-family:var(--serif);font-size:17px;line-height:1.2}
.foot-signature-copy em{font-size:12px;font-style:normal;color:var(--suave)}
.foot-signature-note{margin-top:3px;font-size:11px;line-height:1.4;color:var(--suave)}
.foot-signature-cta{display:grid;gap:5px;align-content:center;padding-left:14px;border-left:1px solid var(--linha);white-space:nowrap}
.foot-signature-cta small{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--suave)}
.foot-signature-cta strong{font-size:12px;font-weight:700;color:var(--tinta)}
.foot-signature-cta i{font-style:normal;color:var(--verde-texto)}
.foot-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.foot-nav a{display:flex;align-items:center;min-height:44px;color:var(--texto);text-decoration:none;border-bottom:1px solid var(--linha)}
.foot-nav a:hover{color:var(--verde-texto)}
.legal{margin:var(--s3) 0 0;font-size:14px;color:var(--suave);line-height:1.6;max-width:84ch}
.legal a{color:inherit}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr}.foot-author-signature{max-width:560px}}
@media(max-width:520px){.foot-author-signature{grid-template-columns:54px minmax(0,1fr);gap:12px;padding:14px}.foot-author-signature img{width:54px;height:54px}.foot-signature-cta{grid-column:2;border-left:0;border-top:1px solid var(--linha);padding:10px 0 0;display:flex;justify-content:space-between;align-items:center}.foot-signature-copy strong{font-size:16px}}
@media(max-width:380px){.foot-nav{grid-template-columns:1fr}}

/* cabeça com formulário (newsletter) */
.head-split{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(40px,6vw,88px);align-items:end}
.head-form .form-nota{margin-top:10px}
@media(max-width:900px){.head-split{grid-template-columns:1fr;gap:var(--s4)}.head-form{max-width:480px}}
@media(max-width:900px){.doc .about-aside{order:2;margin:var(--s4) 0 0}}
.rows-404{margin-top:var(--s4)}

/* ---------- ajustes 2026-11-16: aproveitamento de largura ---------- */
/* documento: coluna de leitura um pouco mais larga e lateral mais larga, sem o vão morto entre as duas */
@media(min-width:901px){
  .doc{grid-template-columns:minmax(0,1fr) 320px}
  .doc-main,.doc .prose{max-width:76ch}
}
/* rodapé: assinatura alinhada à grade (antes ficava centralizada, solta do resto) */
.foot-author-signature{width:100%;max-width:none;margin-left:0;margin-right:0}
.mg-legal>.foot-author-signature{width:calc(100% - 2*var(--gutter));max-width:calc(var(--max) - 2*var(--gutter));margin-left:auto;margin-right:auto}
@media(max-width:760px){
  .site-foot{padding-top:var(--s4)}
  .foot-grid{gap:var(--s2);padding-bottom:var(--s3)}
  .foot-author-signature{max-width:none}
}
