/* Coluna única e clara. Faixas alternam branco e papel; o respiro vive no wrapper interno. */
:root{
  --teal:#18607C; --teal-fundo:#0E4256; --turq:#1AA4AB; --turq-cl:#E4F4F4; --turq-br:#B6E3E4;
  --ink:#10303C; --ink2:#4A6069; --ink3:#86989F;
  --paper:#F3F8F8; --card:#FFFFFF; --linha:#DCE9E9;
  --disp:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
  --corpo:"Figtree",ui-sans-serif,system-ui,-apple-system,sans-serif;
  --r:16px;
  color-scheme:light;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--corpo);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--disp);margin:0;text-wrap:balance;letter-spacing:-.025em;line-height:1.08}
p{margin:0}
a{color:inherit}

.wrap{max-width:1120px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.banda{padding-block:68px}
.banda.curta{padding-block:50px}
.branca{background:var(--card)}

.espectro{display:flex;height:4px;border-radius:99px;overflow:hidden;width:124px}
.espectro i{flex:1}
.espectro i:nth-child(1){background:#C74A3C}
.espectro i:nth-child(2){background:#D98A3A}
.espectro i:nth-child(3){background:#CDB544}
.espectro i:nth-child(4){background:#4E9E6A}
.espectro i:nth-child(5){background:#2C6FA8}
.espectro i:nth-child(6){background:#6A4E9E}

body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--card)}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--card);border-bottom:1px solid var(--linha)}
header .wrap{display:flex;align-items:center;gap:18px;padding-block:13px}
header img{height:34px;width:auto;flex:none}
.menu{display:none;gap:26px;margin-left:auto;font-size:15px;font-weight:600}
.menu a{text-decoration:none;color:var(--ink2);white-space:nowrap}
.menu a:hover{color:var(--teal)}
.zap{margin-left:auto;background:var(--turq);color:#06222A;text-decoration:none;font-weight:700;font-size:14.5px;padding:10px 18px;border-radius:99px;white-space:nowrap;flex:none}
.zap:hover{filter:brightness(1.07)}
.menu+.zap{margin-left:0}

/* herói claro: texto e foto lado a lado */
.heroi{background:var(--card);border-bottom:1px solid var(--linha)}
.heroi .wrap{padding-block:52px 56px;display:grid;gap:36px;align-items:center}
.texto{display:flex;flex-direction:column;gap:20px;align-items:flex-start;min-width:0}
.sobre{font-family:var(--disp);font-size:12.5px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--teal)}
.heroi h1{font-size:clamp(2.5rem,9vw,4rem);font-weight:800;color:var(--ink)}
.heroi h1 em{font-style:normal;display:block;color:var(--teal)}
.heroi p.lide{font-size:clamp(1.02rem,2.5vw,1.16rem);color:var(--ink2);max-width:32rem}
.moldura{border-radius:22px;overflow:hidden;aspect-ratio:4/3;max-width:100%;box-shadow:0 18px 44px -26px rgba(16,48,60,.45)}
.moldura img{width:100%;height:100%;object-fit:cover;object-position:55% 40%}

.botoes{display:flex;gap:12px;flex-wrap:wrap;padding-top:4px}
.bt{text-decoration:none;font-weight:700;font-size:15.5px;padding:15px 26px;border-radius:99px;white-space:nowrap;display:inline-block}
.bt.cheio{background:var(--turq);color:#06222A}
.bt.cheio:hover{filter:brightness(1.07)}
.bt.vazio{border:1.5px solid var(--turq-br);color:var(--teal)}
.bt.vazio:hover{background:var(--turq-cl)}

.selos{display:flex;gap:8px;flex-wrap:wrap;padding-top:6px}
.selo{font-size:13.5px;font-weight:600;color:var(--teal);background:var(--turq-cl);border-radius:99px;padding:7px 14px}

.titulo{display:flex;flex-direction:column;gap:15px;margin-bottom:36px;max-width:40rem}
.titulo h2{font-size:clamp(1.8rem,5.2vw,2.5rem);font-weight:700}
.titulo p{color:var(--ink2);font-size:17px}
.chapeu{font-family:var(--disp);font-size:12.5px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--teal)}

.motivos{display:grid;gap:1px;background:var(--linha);border:1px solid var(--linha);border-radius:var(--r);overflow:hidden}
.motivo{background:var(--card);padding:26px 24px;display:flex;flex-direction:column;gap:9px}
.motivo h3{font-size:1.07rem;font-weight:700;letter-spacing:-.015em;line-height:1.3}
.motivo p{font-size:15px;color:var(--ink2);line-height:1.55}
.motivo .num{font-family:var(--disp);font-size:12px;font-weight:700;color:var(--turq);letter-spacing:.1em}

.espec{display:grid;gap:16px}
.esp{background:var(--card);border:1px solid var(--linha);border-radius:var(--r);padding:30px 26px;display:flex;flex-direction:column;gap:13px;align-items:flex-start}
.esp h3{font-size:1.42rem;font-weight:700;color:var(--teal)}
.esp p{font-size:15.5px;color:var(--ink2);flex:1}
.esp a{color:var(--ink);font-weight:700;font-size:15px;text-decoration:none;border-bottom:2px solid var(--turq);padding-bottom:2px}
.esp a:hover{color:var(--teal)}

.equipe{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:20px}
.pessoa{display:flex;flex-direction:column;gap:10px;min-width:0}
.pessoa .ret{aspect-ratio:1;border-radius:var(--r);overflow:hidden;background:var(--turq-cl)}
.pessoa .ret img{width:100%;height:100%;object-fit:cover}
.pessoa b{font-family:var(--disp);font-size:16px;font-weight:700;letter-spacing:-.015em;line-height:1.2}
.pessoa span{font-size:13.5px;color:var(--ink2);margin-top:-5px}
.reg{font-size:11.5px;font-weight:600;letter-spacing:.04em;color:var(--ink3);border:1px dashed var(--linha);border-radius:99px;padding:3px 10px;align-self:flex-start;margin-top:1px}

.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(106px,1fr));gap:14px;align-items:center}
.logos div{background:var(--card);border:1px solid var(--linha);border-radius:12px;height:82px;display:flex;align-items:center;justify-content:center;padding:14px}
.logos img{max-height:100%;width:auto;object-fit:contain}

.posts{display:grid;gap:16px}
.post{background:var(--card);border:1px solid var(--linha);border-radius:var(--r);padding:26px 24px;display:flex;flex-direction:column;gap:12px;text-decoration:none}
.post:hover{border-color:var(--turq)}
.post h3{font-size:1.12rem;font-weight:700;line-height:1.3}
.post span{font-size:14px;color:var(--teal);font-weight:700}

.contato{background:var(--turq-cl);border-top:1px solid var(--turq-br)}
.contato .wrap{padding-block:64px}
.contato h2{font-size:clamp(1.85rem,5.2vw,2.6rem);font-weight:700;color:var(--ink);max-width:21rem}
.cgrade{display:grid;gap:30px;margin-top:32px}
.ditem{display:flex;flex-direction:column;gap:5px}
.ditem b{font-family:var(--disp);font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--teal)}
.ditem span,.ditem a{font-size:16.5px;color:var(--ink);text-decoration:none;line-height:1.5}
.ditem a{font-weight:700;color:var(--teal)}
.ditem a:hover{text-decoration:underline}
.ditem small{font-size:14px;color:var(--ink2)}

footer{background:var(--card);border-top:1px solid var(--linha);color:var(--ink3);font-size:13.5px}
footer .wrap{padding-block:26px 84px;display:flex;gap:14px;flex-wrap:wrap;justify-content:space-between}

.flutua{position:fixed;z-index:70;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:10px;background:#1FA855;color:#fff;text-decoration:none;font-weight:700;font-size:15px;padding:14px 20px 14px 16px;border-radius:99px;box-shadow:0 10px 28px -8px rgba(16,48,60,.5)}
.flutua:hover{background:#188D47}
.flutua svg{width:23px;height:23px;flex:none;fill:currentColor}
.flutua span{display:none}
@media (min-width:600px){.flutua span{display:inline}}

@media (min-width:600px){
  .motivos{grid-template-columns:1fr 1fr}
  .espec{grid-template-columns:1fr 1fr}
  .posts{grid-template-columns:repeat(3,1fr)}
  .cgrade{grid-template-columns:1fr 1fr}
}
@media (min-width:900px){
  .banda{padding-block:92px}
  .motivos{grid-template-columns:repeat(3,1fr)}
  .menu{display:flex}
  .heroi .wrap{padding-block:76px 84px;grid-template-columns:1.05fr .95fr;gap:56px}
  .cgrade{grid-template-columns:repeat(3,1fr);gap:28px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
:focus-visible{outline:3px solid var(--turq);outline-offset:3px;border-radius:4px}

/* páginas internas */
.heroi.interno .wrap{grid-template-columns:1fr;padding-block:48px 52px;max-width:780px;margin-inline:auto}
.heroi.interno .texto{max-width:46rem}
.migalha{font-size:14px;color:var(--ink2)}
.migalha a{color:var(--teal);text-decoration:none;font-weight:600}
.migalha a:hover{text-decoration:underline}
.prosa{max-width:42rem;display:flex;flex-direction:column;gap:20px}
.prosa p{color:var(--ink2);font-size:17px}
.prosa p strong{color:var(--ink)}
.cartoes{display:grid;gap:16px}
.cartao{background:var(--card);border:1px solid var(--linha);border-radius:var(--r);padding:28px 25px;display:flex;flex-direction:column;gap:10px}
.cartao h3{font-size:1.14rem;font-weight:700;line-height:1.3;color:var(--teal)}
.cartao p{font-size:15.5px;color:var(--ink2)}
.faq{display:grid;gap:12px;max-width:46rem}
.faq details{background:var(--card);border:1px solid var(--linha);border-radius:var(--r);overflow:hidden}
.faq summary{cursor:pointer;padding:20px 22px;font-family:var(--disp);font-weight:700;font-size:1.04rem;line-height:1.35;list-style:none;display:flex;gap:14px;align-items:flex-start}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";margin-left:auto;color:var(--turq);font-size:1.4rem;line-height:1;flex:none}
.faq details[open] summary::after{content:"\2212"}
.faq details[open] summary{padding-bottom:8px}
.faq .resp{padding:0 22px 22px;color:var(--ink2);font-size:15.5px}
.fecho{background:var(--turq-cl);border-block:1px solid var(--turq-br)}
.fecho .wrap{padding-block:56px;display:flex;flex-direction:column;gap:18px;align-items:flex-start;max-width:46rem}
.fecho h2{font-size:clamp(1.7rem,4.8vw,2.3rem);font-weight:700}
.fecho p{color:var(--ink2)}
.frase{font-family:var(--disp);font-size:clamp(1.3rem,3.6vw,1.7rem);font-weight:500;color:var(--teal);line-height:1.3;max-width:34rem;margin-top:6px}
@media (min-width:600px){.cartoes{grid-template-columns:1fr 1fr}}
@media (min-width:900px){.cartoes.tres{grid-template-columns:repeat(3,1fr)}}

.menu a.ativo{color:var(--teal)}
.equipe.larga{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:26px}
.pessoa .bio{font-size:13.5px;color:var(--ink2);line-height:1.5;margin-top:2px}
.ret.inicial{display:flex;align-items:center;justify-content:center;background:var(--turq-cl);border:1px solid var(--turq-br)}
.ret.inicial span{font-family:var(--disp);font-size:2.1rem;font-weight:700;color:var(--teal);letter-spacing:-.03em}

/* fotos nas páginas internas */
.comfoto .wrap{display:grid;gap:34px;align-items:center}
.comfoto .moldura{aspect-ratio:3/4;border-radius:20px;overflow:hidden;box-shadow:0 18px 44px -26px rgba(16,48,60,.45)}
.comfoto .moldura.larga{aspect-ratio:4/3}
.comfoto .moldura img{width:100%;height:100%;object-fit:cover}
.comfoto .titulo{margin-bottom:22px}
@media (min-width:860px){
  .comfoto .wrap{grid-template-columns:1fr 1fr;gap:52px}
  .comfoto.invertido .lado-foto{order:-1}
}
.faixa-foto{height:clamp(220px,34vw,380px);overflow:hidden;border-block:1px solid var(--linha)}
.faixa-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 42%}

/* cor por especialidade */
:root{--c-psi:#18607C; --c-med:#1F5FA8; --c-nut:#3F7D3A; --c-fono:#7A4B9C}
.esp{position:relative;overflow:hidden}
.esp::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--acento,var(--turq))}
.esp h3{color:var(--acento,var(--teal))}
.esp a{border-bottom-color:var(--acento,var(--turq))}
.esp.psi{--acento:var(--c-psi)} .esp.med{--acento:var(--c-med)}
.esp.nut{--acento:var(--c-nut)} .esp.fono{--acento:var(--c-fono)}

body[data-area]{--teal:var(--area)}
body[data-area="med"]{--area:var(--c-med)} body[data-area="nut"]{--area:var(--c-nut)}
body[data-area="fono"]{--area:var(--c-fono)} body[data-area="psi"]{--area:var(--c-psi)}

/* bloco de respiro com frase */
.respiro{background:var(--card);border-block:1px solid var(--linha)}
.respiro .wrap{padding-block:54px;display:grid;gap:28px;align-items:center}
.respiro .aspas{font-family:var(--disp);font-size:clamp(1.35rem,4vw,2rem);font-weight:500;line-height:1.28;color:var(--teal);letter-spacing:-.02em}
.respiro .marca{border-radius:18px;overflow:hidden;max-width:220px}
@media (min-width:760px){.respiro .wrap{grid-template-columns:220px 1fr;gap:40px}}

/* faixa de equipe na home */
.faixa-equipe{position:relative}
.faixa-equipe img{width:100%;display:block;border-radius:var(--r)}
.faixa-equipe figcaption{font-size:13.5px;color:var(--ink3);margin-top:10px}

@media (max-width:640px){
  header .wrap{gap:12px}
  header img{height:27px}
  .zap{font-size:13.5px;padding:9px 14px}
}
@media (max-width:380px){
  header img{height:24px}
  .zap{font-size:13px;padding:8px 12px}
}
