/* ============================================================
   NEO CLINIC · site institucional
   Cores e fonte do manual da marca: azul petróleo #375C75,
   areia #B5AC9C, off-white. Soleil → Outfit na web.
   ============================================================ */

:root{
  --azul:#375C75;
  --azul-700:#2C4B60;
  --azul-900:#172A37;
  --noite:#1B3040;
  --areia:#B5AC9C;
  --areia-txt:#6F6656;      /* areia legível sobre claro (5.3:1) */
  --areia-100:#ECE8E1;
  --areia-50:#F6F4F0;
  --branco:#FFFFFF;
  --tinta:#13212B;
  --tinta-2:#3C4851;
  --linha:#DCD7CE;
  --linha-esc:rgba(255,255,255,.14);

  --f-titulo:"Outfit",system-ui,sans-serif;
  --f-texto:"Inter",system-ui,sans-serif;

  --wrap:1240px;
  --gutter:clamp(20px,4vw,48px);
  --sec:clamp(72px,9vw,128px);
  --raio:6px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--areia-50);color:var(--tinta);font:400 17px/1.65 var(--f-texto);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video,iframe{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
:focus-visible{outline:2px solid var(--azul);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:absolute;left:12px;top:-60px;z-index:200;background:var(--azul);color:#fff;padding:10px 16px;border-radius:var(--raio)}
.pular:focus{top:12px}

.wrap{width:100%;max-width:calc(var(--wrap) + var(--gutter)*2);margin:0 auto;padding:0 var(--gutter)}

/* ---------- Tipografia ---------- */
.t-display{font:300 clamp(42px,4.6vw,68px)/1.04 var(--f-titulo);letter-spacing:-.03em}
.t-h1{font:300 clamp(40px,5vw,68px)/1.05 var(--f-titulo);letter-spacing:-.028em}
.t-h2{font:300 clamp(32px,3.7vw,52px)/1.08 var(--f-titulo);letter-spacing:-.024em}
.t-h3{font:400 clamp(22px,2vw,28px)/1.2 var(--f-titulo);letter-spacing:-.012em}
.t-h4{font:500 19px/1.3 var(--f-titulo);letter-spacing:-.005em}
.t-lead{font-size:clamp(18px,1.5vw,21px);line-height:1.6;color:var(--tinta-2)}
.t-small{font-size:15px;line-height:1.6}
.t-label{font:500 13px/1.3 var(--f-texto);letter-spacing:.08em;text-transform:uppercase;color:var(--areia-txt)}
.tom-escuro .t-label{color:var(--areia)}
.tom-escuro .t-lead{color:#C6D0D7}
.prosa p+p{margin-top:1.1em}
.prosa p{color:var(--tinta-2);max-width:62ch}
.tom-escuro .prosa p{color:#C6D0D7}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:var(--raio);font:500 16px/1 var(--f-texto);letter-spacing:.005em;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease);white-space:nowrap}
.btn svg{flex:none}
.btn--azul{background:var(--azul);color:#fff}
.btn--azul:hover{background:var(--azul-700)}
.btn--claro{background:#fff;color:var(--azul-900)}
.btn--claro:hover{background:var(--areia-100)}
.btn--linha{border:1px solid currentColor;color:var(--azul)}
.btn--linha:hover{background:var(--azul);border-color:var(--azul);color:#fff}
.tom-escuro .btn--linha{color:#fff;border-color:rgba(255,255,255,.45)}
.tom-escuro .btn--linha:hover{background:#fff;color:var(--azul-900);border-color:#fff}
.btn--sm{min-height:44px;padding:0 18px;font-size:15px}
.link-seta{display:inline-flex;align-items:center;gap:10px;font:500 16px/1.3 var(--f-texto);color:var(--azul);border-bottom:1px solid currentColor;padding-bottom:4px}
.link-seta svg{transition:transform .3s var(--ease)}
.link-seta:hover svg{transform:translateX(4px)}
.tom-escuro .link-seta{color:#fff}

/* ---------- Cabeçalho ---------- */
.cab{position:sticky;top:0;z-index:100;background:rgba(246,244,240,.94);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s}
.cab.rolou{border-bottom-color:var(--linha)}
.cab__in{display:flex;align-items:center;gap:28px;height:84px}
.cab__logo img{height:46px;width:auto}
.menu{display:flex;align-items:center;gap:4px;margin-left:auto}
.menu a{position:relative;padding:10px 14px;font:450 16px/1 var(--f-texto);color:var(--tinta);border-radius:var(--raio);transition:color .2s}
.menu a::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:1px;background:var(--azul);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.menu a:hover{color:var(--azul)}
.menu a:hover::after,.menu a[aria-current="page"]::after{transform:scaleX(1)}
.menu a[aria-current="page"]{color:var(--azul)}
.menu__flix{display:inline-flex!important;align-items:center;gap:8px}
.menu__flix i{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--azul);color:#fff}
.cab__cta{margin-left:10px}
.cab__burger{display:none;margin-left:auto;width:46px;height:46px;place-items:center;border-radius:var(--raio)}
.cab__burger span{display:block;width:22px;height:1.5px;background:var(--tinta);position:relative;transition:background .2s}
.cab__burger span::before,.cab__burger span::after{content:"";position:absolute;left:0;width:22px;height:1.5px;background:var(--tinta);transition:transform .3s var(--ease)}
.cab__burger span::before{top:-7px}.cab__burger span::after{top:7px}
.menu-aberto .cab__burger span{background:transparent}
.menu-aberto .cab__burger span::before{transform:translateY(7px) rotate(45deg)}
.menu-aberto .cab__burger span::after{transform:translateY(-7px) rotate(-45deg)}

@media (max-width:1080px){
  .cab__in{height:72px}
  .cab__logo img{height:40px}
  .cab__burger{display:grid}
  .cab__cta{display:none}
  .menu{position:fixed;inset:72px 0 0 0;background:var(--areia-50);flex-direction:column;align-items:stretch;gap:0;padding:12px var(--gutter) 32px;margin:0;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s,transform .3s var(--ease),visibility 0s .3s;overflow-y:auto}
  .menu-aberto .menu{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .3s var(--ease)}
  .menu a{padding:20px 0;font:300 28px/1.1 var(--f-titulo);border-bottom:1px solid var(--linha);border-radius:0}
  .menu a::after{display:none}
  .menu .btn{margin-top:28px;font:500 17px/1 var(--f-texto);border:0;padding:0 26px;color:#fff}
  .menu-aberto{overflow:hidden}
  /* o desfoque do cabeçalho prendia o menu (position:fixed) dentro da faixa de 72px; no celular o fundo fica sólido */
  .cab{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--areia-50)}
  .menu{top:72px;bottom:auto;height:calc(100vh - 72px);height:calc(100dvh - 72px);overscroll-behavior:contain;z-index:99}
}
@media (min-width:1081px){.menu .btn{display:none}}

/* ---------- Seções ---------- */
.sec{padding:var(--sec) 0}
.sec--branco{background:#fff}
.sec--areia{background:var(--areia-100)}
.sec--azul{background:var(--azul);color:#fff}
.sec--escuro{background:var(--azul-900);color:#fff}
.sec--noite{background:var(--noite);color:#fff}
.sec__topo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 64px;align-items:end;margin-bottom:clamp(40px,5vw,72px)}
.sec__topo .t-label{grid-column:1/-1;margin-bottom:-12px}
.sec__topo--uma{grid-template-columns:minmax(0,760px)}
@media (max-width:860px){.sec__topo{grid-template-columns:1fr}}

/* ---------- Hero (home) ---------- */
.hero{position:relative;min-height:min(calc(100svh - 84px),860px);display:grid;color:#fff;overflow:hidden;background:var(--azul-900)}
.hero__midia{position:absolute;inset:0}
.hero__midia img,.hero__midia video{width:100%;height:100%;object-fit:cover}
.hero__midia::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,26,35,.82) 0%,rgba(14,26,35,.55) 45%,rgba(14,26,35,.08) 75%)}
.hero__in{position:relative;align-self:end;padding-top:120px;padding-bottom:clamp(48px,7vw,96px)}
.hero h1{max-width:13ch}
.hero__sub{margin-top:24px;max-width:46ch;font-size:clamp(18px,1.45vw,20px);color:#E2E7EB}
.hero__acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
@media (max-width:760px){
  .hero{min-height:calc(100svh - 72px)}
  .hero__midia::after{background:linear-gradient(0deg,rgba(14,26,35,.9) 0%,rgba(14,26,35,.6) 50%,rgba(14,26,35,.15) 100%)}
  .hero__acoes .btn{flex:1 1 100%}
}

/* ---------- Abertura (home, texto + foto dos médicos) ---------- */
.abertura{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);min-height:min(calc(100svh - 84px),900px)}
.abertura__texto{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(48px,6vw,88px) clamp(32px,5vw,80px) 0 max(var(--gutter),calc((100vw - var(--wrap))/2))}
.abertura__in{margin:auto 0}
.abertura .t-label{display:block;margin-bottom:26px}
.abertura h1{color:var(--azul-900);max-width:17ch}
.abertura__sub{margin-top:28px;max-width:44ch}
.abertura__acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}
.abertura__drs{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:56px;padding:22px 0 30px;border-top:1px solid var(--linha)}
.abertura__drs b{display:block;font:500 16px/1.3 var(--f-titulo)}
.abertura__drs span{display:block;margin-top:4px;font-size:13px;line-height:1.45;color:var(--tinta-2)}
.abertura__foto{position:relative;overflow:hidden;background:var(--areia-100)}
.abertura__foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
@media (prefers-reduced-motion:no-preference){.abertura__foto img{animation:respira 14s var(--ease) both}}
@media (max-width:960px){
  .abertura{grid-template-columns:1fr;min-height:0}
  .abertura__foto{order:-1;aspect-ratio:4/4.2;max-height:68svh}
  .abertura__texto{padding:40px var(--gutter) 0}
  .abertura__acoes .btn{flex:1 1 auto}
}
@media (max-width:560px){.abertura__drs{grid-template-columns:1fr;gap:14px}.abertura__acoes .btn{flex:1 1 100%}}

/* procedimentos na home: lista + vídeo */
.trata{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(40px,6vw,96px);align-items:start}
.trata__topo{margin-bottom:40px}
.trata__topo .t-lead{margin-top:18px;max-width:52ch}
.trata .proc{grid-template-columns:minmax(0,5fr) minmax(0,5fr) 48px}
.trata__video{position:sticky;top:112px;margin-top:8px}
.trata__video video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:var(--raio);background:var(--areia-100)}
.trata__video figcaption{margin-top:12px;font-size:14px;color:var(--tinta-2)}
@media (max-width:960px){.trata{grid-template-columns:1fr}.trata__video{position:relative;top:0;max-width:360px}.trata .proc{grid-template-columns:1fr 44px}}

/* localização na home: vídeo do drone + cartão */
.onde{position:relative;min-height:680px;display:flex;align-items:center;overflow:hidden;background:var(--azul-900)}
.onde__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.onde__in{position:relative;padding-top:80px;padding-bottom:80px}
.onde__card{max-width:500px;background:var(--areia-50);border-radius:var(--raio);padding:clamp(28px,4vw,48px)}
.onde__card .t-label{display:block;margin-bottom:16px}
.onde__end{margin-top:20px;font-size:17px;color:var(--tinta-2)}
@media (max-width:700px){.onde{min-height:0;display:block}.onde__video{position:relative;height:300px}.onde__in{padding:0}.onde__card{border-radius:0;max-width:none;padding:36px var(--gutter)}.onde__card .btn{flex:1 1 100%}}

/* FAQ da home */
.duvidas{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
@media (max-width:860px){.duvidas{grid-template-columns:1fr}}

/* faixa de informações sob o hero */
.faixa{background:#fff;border-bottom:1px solid var(--linha)}
.faixa__in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.faixa__item{display:flex;gap:14px;align-items:flex-start;padding:26px 24px;border-left:1px solid var(--linha)}
.faixa__item:first-child{border-left:0;padding-left:0}
.faixa__item svg{flex:none;color:var(--azul);margin-top:3px}
.faixa__item b{display:block;font:500 15px/1.3 var(--f-texto)}
.faixa__item span{display:block;font-size:16px;color:var(--tinta-2);line-height:1.45;margin-top:3px}
.faixa__item a:hover b{color:var(--azul)}
@media (max-width:980px){.faixa__in{grid-template-columns:1fr 1fr}.faixa__item:nth-child(3){border-left:0;padding-left:0}.faixa__item:nth-child(n+3){border-top:1px solid var(--linha)}}
@media (max-width:560px){.faixa__in{grid-template-columns:1fr}.faixa__item{border-left:0!important;padding:18px 0!important}.faixa__item+.faixa__item{border-top:1px solid var(--linha)}}

/* ---------- Caminhos (como podemos ajudar) ---------- */
.caminhos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.caminho{display:flex;flex-direction:column;color:var(--tinta)}
.caminho__foto{aspect-ratio:4/3;overflow:hidden;border-radius:var(--raio);background:var(--areia-100)}
.caminho__foto img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.caminho:hover .caminho__foto img{transform:scale(1.04)}
.caminho__corpo{padding:24px 0 0}
.caminho__quando{font:500 15px/1.3 var(--f-texto);color:var(--areia-txt)}
.caminho h3{margin-top:10px}
.caminho:hover h3{color:var(--azul)}
.caminho p{margin-top:10px;font-size:16.5px;color:var(--tinta-2);max-width:36ch}
.caminho .link-seta{margin-top:20px;font-size:16px}
@media (max-width:980px){.caminhos{grid-template-columns:1fr;gap:48px}}

/* ---------- Split (texto + imagem) ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center}
.split--inv .split__midia{order:-1}
.split__midia{position:relative;border-radius:var(--raio);overflow:hidden;aspect-ratio:4/5;background:var(--areia-100)}
.split__midia img{width:100%;height:100%;object-fit:cover}
.split__midia--larga{aspect-ratio:5/4}
.split__texto .t-label{margin-bottom:18px;display:block}
.split__texto .t-h2{margin-bottom:24px}
.split__texto .prosa{margin-bottom:32px}
@media (max-width:860px){.split{grid-template-columns:1fr}.split--inv .split__midia{order:0}.split__midia{aspect-ratio:4/3}}

/* números/fatos */
.fatos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--linha);margin-top:40px}
.fatos div{padding:22px 20px 0 0}
.fatos b{display:block;font:300 34px/1 var(--f-titulo);color:var(--azul);letter-spacing:-.02em}
.fatos span{display:block;margin-top:8px;font-size:16px;color:var(--tinta-2);line-height:1.45}

/* ---------- Equipe ---------- */
.medicos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.medico{display:flex;flex-direction:column}
.medico__foto{position:relative;aspect-ratio:4/5;border-radius:var(--raio);overflow:hidden;background:var(--areia-100)}
.medico__foto img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform 1.1s var(--ease)}
.medico:hover .medico__foto img{transform:scale(1.03)}
.medico__info{padding-top:24px;display:grid;grid-template-columns:1fr auto;gap:6px 24px;align-items:baseline}
.medico__nome{font:400 clamp(24px,2.2vw,30px)/1.15 var(--f-titulo);letter-spacing:-.015em}
.medico__esp{grid-column:1;color:var(--tinta-2);font-size:16px}
.medico__reg{grid-column:2;grid-row:1/3;align-self:start;font-size:13px;color:var(--areia-txt);text-align:right;line-height:1.5;padding-top:6px}
@media (max-width:760px){.medicos{grid-template-columns:1fr}.medico__info{grid-template-columns:1fr}.medico__reg{grid-column:1;grid-row:auto;text-align:left;padding:4px 0 0}}

/* página de equipe: perfil completo */
.perfil{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:start}
.perfil+.perfil{margin-top:clamp(80px,10vw,140px);padding-top:clamp(80px,10vw,140px);border-top:1px solid var(--linha)}
.perfil__foto{position:sticky;top:112px;aspect-ratio:4/5;border-radius:var(--raio);overflow:hidden}
.perfil__foto img{width:100%;height:100%;object-fit:cover}
.perfil__reg{margin-top:14px;font-size:14px;color:var(--areia-txt)}
.perfil h2{margin:12px 0 28px}
.titulos{margin-top:36px;border-top:1px solid var(--linha)}
.titulos li{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--linha);font-size:16px}
.titulos li svg{flex:none;color:var(--azul);margin-top:5px}
.focos{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.focos span{padding:8px 14px;border:1px solid var(--linha);border-radius:var(--raio);font-size:14px;color:var(--tinta-2);background:#fff}
@media (max-width:860px){.perfil{grid-template-columns:1fr}.perfil__foto{position:relative;top:0;max-width:520px}}

/* ---------- Procedimentos ---------- */
.procs{border-top:1px solid var(--linha)}
.proc{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr) 48px;gap:24px 48px;align-items:center;padding:30px 0;border-bottom:1px solid var(--linha);transition:padding .4s var(--ease)}
.proc h3{transition:color .25s}
.proc p{color:var(--tinta-2);font-size:16px}
.proc__seta{display:grid;place-items:center end;color:var(--azul);transition:transform .3s var(--ease)}
.proc:hover h3{color:var(--azul)}
.proc:hover .proc__seta{transform:translateX(6px)}
@media (min-width:861px){.proc:hover{padding-left:12px}}
@media (max-width:860px){.proc{grid-template-columns:1fr 44px;gap:10px 16px}.proc p{grid-column:1}.proc__seta{grid-column:2;grid-row:1/3;width:44px;height:44px}}

/* página de procedimentos: índice lateral + blocos */
.proc-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:start}
.indice{position:sticky;top:112px}
.indice p{margin-bottom:14px}
.indice a{display:block;padding:10px 0 10px 16px;border-left:1px solid var(--linha);font-size:15px;color:var(--tinta-2);transition:color .2s,border-color .2s}
.indice a:hover,.indice a.ativo{color:var(--azul);border-left-color:var(--azul)}
.indice a.ativo{font-weight:500}
.bloco{scroll-margin-top:110px;padding-bottom:clamp(64px,8vw,104px)}
.bloco+.bloco{padding-top:clamp(64px,8vw,104px);border-top:1px solid var(--linha)}
.bloco__img{aspect-ratio:16/9;border-radius:var(--raio);overflow:hidden;margin-bottom:40px;background:var(--areia-100)}
.bloco__img img{width:100%;height:100%;object-fit:cover}
.bloco h2{margin:10px 0 22px}
.bloco__grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 48px;margin-top:40px}
.bloco__caixa{border-top:1px solid var(--linha);padding:22px 0 0}
.bloco__caixa h3{font:500 17px/1.3 var(--f-titulo);margin-bottom:12px;color:var(--azul)}
.bloco__caixa p,.bloco__caixa li{font-size:16.5px;color:var(--tinta-2);line-height:1.6}
.bloco__caixa ul li{position:relative;padding-left:18px}
.bloco__caixa ul li+li{margin-top:6px}
.bloco__caixa ul li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:1px;background:var(--azul)}
.bloco__flix{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;padding:22px 26px;border-radius:var(--raio);background:var(--noite);color:#fff}
.bloco__flix p{font-size:15.5px;color:#C6D0D7}
.bloco__flix b{display:block;color:#fff;font:500 16px/1.3 var(--f-titulo);margin-bottom:2px}
@media (max-width:960px){.proc-layout{grid-template-columns:1fr}.indice{position:relative;top:0;display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin:0 calc(var(--gutter)*-1);padding-left:var(--gutter);padding-right:var(--gutter);scrollbar-width:none}.indice p{display:none}.indice a{flex:none;border:1px solid var(--linha);border-radius:var(--raio);padding:9px 14px;background:#fff}.indice a.ativo{background:var(--azul);color:#fff;border-color:var(--azul)}}
@media (max-width:700px){.bloco__grade{grid-template-columns:1fr}.bloco__flix{flex-direction:column;align-items:flex-start}}

/* ---------- Jornada (sobre) ---------- */
.jornada{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--linha-esc)}
.etapa{padding:32px 28px 8px 0}
.etapa+.etapa{padding-left:28px;border-left:1px solid var(--linha-esc)}
.etapa__fase{font:500 13px/1.3 var(--f-texto);letter-spacing:.08em;text-transform:uppercase;color:var(--areia)}
.etapa h3{margin:14px 0 12px}
.etapa p{font-size:16.5px;color:#C6D0D7}
@media (max-width:980px){.jornada{grid-template-columns:1fr 1fr}.etapa:nth-child(3){border-left:0;padding-left:0}.etapa:nth-child(n+3){border-top:1px solid var(--linha-esc)}}
@media (max-width:600px){.jornada{grid-template-columns:1fr}.etapa{border-left:0!important;padding:28px 0 8px!important}.etapa+.etapa{border-top:1px solid var(--linha-esc)}}

/* galeria do espaço */
.galeria{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.galeria figure{border-radius:var(--raio);overflow:hidden;background:var(--areia-100)}
.galeria img{width:100%;height:100%;object-fit:cover}
.galeria figcaption{font-size:14px;color:var(--tinta-2);padding-top:10px}
.galeria .g1{grid-column:span 7;aspect-ratio:4/3}
.galeria .g2{grid-column:span 5;aspect-ratio:auto}
.galeria figure{height:100%}

/* ---------- NEO FLIX ---------- */
.flix{position:relative;overflow:hidden}
.flix__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:center}
.flix__marca{display:flex;align-items:center;gap:18px;margin-bottom:32px}
.flix__marca img{height:42px;width:auto}
.flix__marca i{width:1px;height:32px;background:var(--areia)}
.flix__marca span{font:200 18px/1 var(--f-titulo);letter-spacing:.3em;text-transform:uppercase;color:var(--areia)}
.flix__lista{margin:32px 0 36px;border-top:1px solid var(--linha-esc)}
.flix__lista li{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid var(--linha-esc);font-size:16px;color:#D5DCE1}
.flix__lista svg{flex:none;color:var(--areia);margin-top:4px}
.flix__palco{position:relative}
.flix__capas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.capa{position:relative;aspect-ratio:9/16;border-radius:var(--raio);overflow:hidden;background:#16232E}
.capa img{width:100%;height:100%;object-fit:cover}
.capa::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,18,25,0) 50%,rgba(11,18,25,.92) 100%)}
.capa__txt{position:absolute;left:14px;right:14px;bottom:14px;z-index:1}
.capa__txt small{display:block;font-size:12px;color:var(--areia);letter-spacing:.04em}
.capa__txt b{display:block;margin-top:4px;font:400 16px/1.25 var(--f-titulo)}
.capa__play{position:absolute;top:14px;right:14px;z-index:1;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);display:grid;place-items:center}
.capa:nth-child(2){transform:translateY(-36px)}
.flix__trilhas{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.flix__trilhas a{padding:9px 14px;border:1px solid var(--linha-esc);border-radius:var(--raio);font-size:14px;color:#D5DCE1;transition:border-color .2s,color .2s}
.flix__trilhas a:hover{border-color:var(--areia);color:#fff}
@media (max-width:900px){.flix__grid{grid-template-columns:1fr}.capa:nth-child(2){transform:none}}
@media (max-width:520px){.flix__capas{grid-template-columns:repeat(3,62%);overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--gutter)*-1);padding:0 var(--gutter);scrollbar-width:none}.capa{scroll-snap-align:start}}

/* passos do neo flix (landing) */
.passos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.passo{border-top:1px solid var(--azul);padding:24px 0 0}
.passo svg{color:var(--azul)}
.passo h3{margin:0 0 12px}
.passo p{font-size:16.5px;color:var(--tinta-2)}
@media (max-width:860px){.passos{grid-template-columns:1fr}}

/* ---------- Localização ---------- */
.local{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,72px);align-items:stretch}
.local__mapa{min-height:460px;border-radius:var(--raio);overflow:hidden;background:var(--areia-100);border:1px solid var(--linha)}
.local__mapa iframe{width:100%;height:100%;min-height:460px;border:0;filter:grayscale(.35) contrast(1.02)}
.dados{border-top:1px solid var(--linha)}
.dados>div{display:grid;grid-template-columns:28px 1fr;gap:14px;padding:22px 0;border-bottom:1px solid var(--linha)}
.dados svg{color:var(--azul);margin-top:3px}
.dados b{display:block;font:500 15px/1.3 var(--f-texto);margin-bottom:4px}
.dados span,.dados p{font-size:16px;color:var(--tinta-2);line-height:1.55}
.dados a{color:var(--azul);border-bottom:1px solid rgba(55,92,117,.35)}
.local__acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
@media (max-width:900px){.local{grid-template-columns:1fr}.local__mapa,.local__mapa iframe{min-height:340px}}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--linha)}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;cursor:pointer;list-style:none;font:400 clamp(18px,1.6vw,21px)/1.35 var(--f-titulo)}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;position:relative;width:16px;height:16px}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:0;top:7.5px;width:16px;height:1px;background:var(--azul);transition:transform .3s var(--ease)}
.faq summary i::after{transform:rotate(90deg)}
.faq details[open] summary i::after{transform:rotate(0)}
.faq details>div{padding:0 48px 26px 0;color:var(--tinta-2);max-width:72ch}
.faq details>div p+p{margin-top:.8em}

/* ---------- Topo de páginas internas ---------- */
.topo-pg{padding:clamp(56px,7vw,96px) 0 clamp(48px,6vw,80px)}
.topo-pg__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px 64px;align-items:end}
.migalha{display:flex;gap:10px;font-size:14px;color:var(--tinta-2);margin-bottom:28px}
.migalha a:hover{color:var(--azul)}
.topo-pg .t-lead{max-width:48ch}
.topo-pg__img{margin-top:clamp(48px,6vw,80px);aspect-ratio:21/9;border-radius:var(--raio);overflow:hidden;background:var(--areia-100)}
.topo-pg__img img{width:100%;height:100%;object-fit:cover}
@media (max-width:860px){.topo-pg__grid{grid-template-columns:1fr}.topo-pg__img{aspect-ratio:4/3}}

/* ---------- Chamada final ---------- */
.chamada{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px 64px;align-items:end}
.chamada .t-h2{max-width:18ch}
.chamada__acoes{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:860px){.chamada{grid-template-columns:1fr}}

/* ---------- Rodapé ---------- */
.rod{background:var(--azul-900);color:#C6D0D7;padding:clamp(64px,8vw,96px) 0 32px;font-size:15px}
.rod__grid{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2fr));gap:40px}
.rod__logo img{height:52px;width:auto}
.rod__tag{margin-top:20px;max-width:30ch;line-height:1.55}
.rod h4{font:500 13px/1.3 var(--f-texto);letter-spacing:.08em;text-transform:uppercase;color:var(--areia);margin-bottom:18px}
.rod li+li{margin-top:10px}
.rod a:hover{color:#fff}
.rod__fim{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:64px;padding-top:28px;border-top:1px solid var(--linha-esc);font-size:14px;color:#93A1AB}
.rod__rt{max-width:70ch}
@media (max-width:900px){.rod__grid{grid-template-columns:1fr 1fr}.rod__grid>div:first-child{grid-column:1/-1}}
@media (max-width:520px){.rod__grid{grid-template-columns:1fr}}

/* WhatsApp flutuante */
.zap{position:fixed;right:20px;bottom:20px;z-index:90;display:flex;align-items:center;gap:10px;height:56px;padding:0 20px 0 16px;border-radius:var(--raio);background:#1F7A4D;color:#fff;font:500 15px/1 var(--f-texto);transform:translateY(120px);transition:transform .45s var(--ease)}
.zap.on{transform:none}
@media (max-width:600px){.zap span{display:none}.zap{width:56px;padding:0;justify-content:center}}

/* ---------- Animação de entrada ---------- */
@media (prefers-reduced-motion:no-preference){
  .js [data-rev]{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0ms)}
  .js [data-rev].vis{opacity:1;transform:none}
  .hero__midia img,.hero__midia video{animation:respira 18s var(--ease) both}
  @keyframes respira{from{transform:scale(1.07)}to{transform:scale(1)}}
}

.bloco__flix .link-seta{color:#fff;flex:none}
.bloco__flix:hover b{color:var(--areia)}

/* revisão de direção de arte */
.bloco__img--retrato{aspect-ratio:4/5;max-width:520px}
.titulo-grande{font:300 clamp(44px,6vw,96px)/1 var(--f-titulo);letter-spacing:-.035em;margin-bottom:clamp(40px,5vw,72px)}
.atua{margin-top:28px;font-size:16.5px;color:var(--tinta-2)}
.atua b{color:var(--tinta);font-weight:500}
@media (min-width:861px){.perfil--inv>div:first-child{order:2}}
.indice-sel{display:none}
@media (max-width:960px){.indice{display:none}.indice-sel{display:block;position:sticky;top:72px;z-index:5;background:#fff;padding:12px 0;margin-bottom:24px}
.indice-sel select{width:100%;height:52px;padding:0 16px;border:1px solid var(--linha);border-radius:var(--raio);background:#fff;font:400 16px var(--f-texto);color:var(--tinta)}}
.trata__foto{position:sticky;top:112px;aspect-ratio:4/5;border-radius:var(--raio);overflow:hidden}
.trata__foto img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
@media (max-width:960px){.trata__foto{display:none}}

/* carrossel de fotos do espaço (home): moldura + setas discretas sobre a foto */
.carrossel{position:relative;padding:12px;background:#fff;border:1px solid var(--linha);border-radius:var(--raio);box-shadow:0 1px 0 rgba(19,33,43,.04)}
.carrossel__trilho{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;border-radius:3px;aspect-ratio:4/5;background:var(--areia-100);scrollbar-width:none}
.carrossel__trilho::-webkit-scrollbar{display:none}
.carrossel__trilho img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start}
.carrossel__ctrl{position:absolute;inset:12px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;pointer-events:none}
.carrossel__btn{pointer-events:auto;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--azul-900);opacity:.85;transition:opacity .25s,background .25s}
.carrossel__btn svg{width:15px;height:12px}
.carrossel:hover .carrossel__btn:not(:disabled),.carrossel__btn:focus-visible{opacity:1;background:rgba(255,255,255,.92)}
.carrossel__btn:disabled{opacity:0;pointer-events:none}
.carrossel__cont{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);padding:4px 10px;border-radius:var(--raio);background:rgba(19,33,43,.45);color:#fff;font-size:13px;letter-spacing:.04em}
.carrossel__cont b{color:#fff;font-weight:500}

/* tratamentos sem cortes: equipamentos */
.equip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(48px,6vw,80px) clamp(32px,4vw,64px)}
.equip__foto{aspect-ratio:4/3;border-radius:var(--raio);overflow:hidden;background:#fff;margin-bottom:24px}
.equip__foto img{width:100%;height:100%;object-fit:cover}
.equip__marca{font:500 13px/1.3 var(--f-texto);letter-spacing:.08em;text-transform:uppercase;color:var(--areia)}
.equip__item h3{margin:10px 0 14px;font-size:clamp(24px,2.2vw,30px)}
.equip__texto p{font-size:16.5px;color:#C6D0D7;line-height:1.65}
.equip__texto p+p{margin-top:.8em}
.equip__para{margin-top:18px;padding-top:16px;border-top:1px solid var(--linha-esc);font-size:15.5px;color:#C6D0D7}
.equip__para b{color:#fff;font-weight:500}
.equip__fim{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;margin-top:clamp(56px,6vw,88px);padding-top:32px;border-top:1px solid var(--linha-esc)}
.equip__fim p{max-width:60ch;color:#C6D0D7;font-size:16px}
@media (max-width:860px){.equip{grid-template-columns:1fr}}

.aviso-prazos{font-size:15px;color:var(--tinta-2);padding:0 0 28px;margin-bottom:clamp(40px,5vw,64px);border-bottom:1px solid var(--linha);max-width:70ch}

/* vídeo de apresentação dos médicos (página Equipe) */
.perfil>div:first-child{position:sticky;top:112px}
.perfil__video{position:relative;height:min(calc(100vh - 170px),780px);aspect-ratio:9/16;max-width:100%;border-radius:var(--raio);overflow:hidden;background:var(--azul-900)}
.perfil__video video{width:100%;height:100%;object-fit:cover;display:block}
.vplay{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-start;gap:14px;padding:22px;color:#fff;text-align:left;background:linear-gradient(180deg,rgba(14,26,35,0) 55%,rgba(14,26,35,.75) 100%);transition:background .3s}
.vplay__ic{flex:none;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--azul);padding-left:3px;transition:transform .3s var(--ease)}
.vplay:hover .vplay__ic{transform:scale(1.07)}
.vplay__txt{font:500 16px/1.3 var(--f-titulo)}
.vplay__txt small{display:block;font:400 13px/1.3 var(--f-texto);color:#D5DCE1;margin-top:2px}
.perfil__video.tocando .vplay{display:none}
@media (max-width:860px){.perfil>div:first-child{position:relative;top:0}.perfil__video{height:auto;width:100%;max-width:420px}}
.perfil__capa{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.perfil__video.tocando .perfil__capa{display:none}
@media (min-width:861px){.perfil--inv{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}

/* página inicial: topo no azul da clínica */
.cab__logo-br{display:none}
.pg-azul .abertura{background:var(--azul);color:#fff}
.pg-azul .abertura .t-label{color:#D9D2C4}
.pg-azul .abertura h1{color:#fff}
.pg-azul .abertura__sub{color:#DCE4EA}
.pg-azul .abertura .btn--linha{color:#fff;border-color:rgba(255,255,255,.55)}
.pg-azul .abertura .btn--linha:hover{background:#fff;color:var(--azul);border-color:#fff}
.pg-azul .abertura__drs{border-top-color:rgba(255,255,255,.22)}
.pg-azul .abertura__drs span{color:#C9D5DD}
.pg-azul .abertura__foto{background:var(--azul-700)}
.pg-azul .cab{background:var(--azul);border-bottom-color:transparent}
.pg-azul .cab.rolou{border-bottom-color:rgba(255,255,255,.14)}
.pg-azul .cab__logo img{display:none}
.pg-azul .cab__logo .cab__logo-br{display:block}
.pg-azul .cab__burger span,.pg-azul .cab__burger span::before,.pg-azul .cab__burger span::after{background:#fff}
.menu-aberto .pg-azul .cab__burger span{background:transparent}
.pg-azul .cab__cta{background:#fff;color:var(--azul-900)}
.pg-azul .cab__cta:hover{background:var(--areia-100)}
@media (min-width:1081px){
  .pg-azul .menu a{color:#fff}
  .pg-azul .menu a::after{background:#fff}
  .pg-azul .menu a:hover{color:#fff;opacity:.85}
  .pg-azul .menu__flix i{background:#fff;color:var(--azul)}
}

/* abertura sem foto: só texto sobre o azul */
.pg-azul .abertura{grid-template-columns:1fr;min-height:min(calc(100svh - 84px),780px)}
.pg-azul .abertura__texto{padding-right:max(var(--gutter),calc((100vw - var(--wrap))/2))}
.pg-azul .abertura h1{font-size:clamp(46px,6.4vw,96px);max-width:16ch}
.pg-azul .abertura__sub{max-width:52ch}
.pg-azul .abertura__drs{max-width:820px}
@media (max-width:960px){.pg-azul .abertura{min-height:calc(100svh - 72px)}.pg-azul .abertura__texto{padding:56px var(--gutter) 0}}
.pg-azul .abertura{min-height:0}
.pg-azul .abertura__texto{padding-top:clamp(64px,8vw,120px)}
.pg-azul .abertura__in{margin:0}
.pg-azul .abertura__drs{margin-top:clamp(48px,6vw,80px)}
@media (max-width:960px){.pg-azul .abertura{min-height:0}}

/* sobre: vídeo da história da clínica */
.historia{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(40px,6vw,96px);align-items:center}
.historia__texto{max-width:560px}
@media (max-width:860px){.historia{grid-template-columns:1fr}.historia .perfil__video{height:auto;width:100%;max-width:420px}}

/* alternância de cores: seções no azul da clínica */
.topo-pg--azul{background:var(--azul);color:#fff;padding-bottom:clamp(56px,7vw,96px)}
.topo-pg--azul .migalha{color:#C9D5DD}
.topo-pg--azul .migalha a:hover{color:#fff}
.topo-pg--azul .t-lead{color:#DCE4EA}
.sec--azul .t-label,.topo-pg--azul .t-label,.sec--azul .equip__marca{color:#D9D2C4}
.sec--azul .t-lead,.sec--azul .prosa p,.sec--azul .equip__texto p,.sec--azul .equip__para,.sec--azul .equip__fim p{color:#DCE4EA}
.sec--azul{--linha-esc:rgba(255,255,255,.2)}
.tom-escuro .fatos{border-top-color:rgba(255,255,255,.22)}
.tom-escuro .fatos b{color:#fff}
.tom-escuro .fatos span{color:#C9D5DD}
.sec--azul .carrossel{border-color:transparent}
.sec--azul .perfil__video{background:var(--azul-700)}

/* sobre: moldura do vídeo da história (passe-partout branco + filete areia) */
.historia .perfil__video{padding:12px;background:#fff;border-radius:10px;overflow:visible;margin:14px}
.historia .perfil__video::before{content:"";position:absolute;inset:-14px;border:1px solid rgba(217,210,196,.6);border-radius:16px;pointer-events:none}
.historia .perfil__video video{border-radius:4px}
.historia .perfil__capa{inset:12px;width:calc(100% - 24px);height:calc(100% - 24px);border-radius:4px}
.historia .vplay{inset:12px;border-radius:4px}
@media (max-width:860px){.historia .perfil__video{margin:14px auto 14px 14px}}
.pg-azul .abertura h1{max-width:none}
@media (min-width:961px){.pg-azul .abertura h1{font-size:clamp(46px,5.4vw,84px)}}
@media (max-width:700px){.br-desk{display:none}}

/* abertura: contorno do "N" do logo como textura de fundo */
.pg-azul .abertura{position:relative;overflow:hidden;isolation:isolate}
.pg-azul .abertura::before{content:"";position:absolute;z-index:-1;pointer-events:none;
  top:50%;right:-4%;height:118%;aspect-ratio:1801/1334;transform:translateY(-50%);
  background:url(../assets/n-contorno.png) center/contain no-repeat;opacity:.16}
@media (max-width:960px){.pg-azul .abertura::before{height:70%;right:-30%;top:auto;bottom:-6%;transform:none;opacity:.12}}
@media (min-width:961px){.pg-azul .abertura::before{right:-14%;height:124%;opacity:.14}}

/* ===================== ANIMAÇÕES (finalização) ===================== */
.cab__in{transition:height .35s var(--ease)}
.cab__logo img{transition:height .35s var(--ease)}
.progresso{position:absolute;left:0;bottom:-1px;height:2px;width:100%;transform-origin:left;transform:scaleX(0);background:var(--azul);pointer-events:none}
.pg-azul .progresso{background:#D9D2C4}
@media (min-width:1081px){
  .cab.rolou .cab__in{height:68px}
  .cab.rolou .cab__logo img{height:38px}
}
@media (prefers-reduced-motion:no-preference){
  .js body{animation:pgEntra .6s var(--ease) both}
  @keyframes pgEntra{from{opacity:0}to{opacity:1}}

  .pg-azul .abertura::before{animation:nEntra 1.8s var(--ease) .2s both;translate:0 var(--py,0px)}
  @keyframes nEntra{from{opacity:0;scale:1.06}to{opacity:var(--n-op,.14);scale:1}}

  .btn{transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
  .btn:hover{transform:translateY(-2px)}
  .btn:active{transform:translateY(0)}

  .caminho__foto,.equip__foto{transition:transform .5s var(--ease)}
  .caminho:hover .caminho__foto{transform:translateY(-4px)}

  .menu-aberto .menu a{animation:menuIn .45s var(--ease) both}
  .menu-aberto .menu a:nth-child(2){animation-delay:.05s}
  .menu-aberto .menu a:nth-child(3){animation-delay:.1s}
  .menu-aberto .menu a:nth-child(4){animation-delay:.15s}
  .menu-aberto .menu a:nth-child(5){animation-delay:.2s}
  .menu-aberto .menu a:nth-child(6){animation-delay:.25s}
  @keyframes menuIn{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}

  .faq details>div{overflow:hidden}
}
@media (min-width:961px){.pg-azul .abertura{--n-op:.14}}
@media (max-width:960px){.pg-azul .abertura{--n-op:.12}}

/* abertura: foto dos médicos ocupando a metade direita (do menu ao fim do bloco azul) */
.abertura__grade{display:grid;grid-template-columns:1fr;gap:40px}
.abertura__retrato{margin:0 calc(-1 * var(--gutter))}
.abertura__retrato img{display:block;width:100%;height:auto;aspect-ratio:4/4.4;object-fit:cover;object-position:50% 18%}
@media (min-width:961px){
  .pg-azul .abertura{position:relative;min-height:calc(100svh - 84px)}
  .pg-azul .abertura__texto{padding-right:calc(50vw + 72px);justify-content:center}
  .abertura__retrato{position:absolute;top:0;right:0;bottom:0;width:50vw;margin:0}
  .abertura__retrato img{height:100%;aspect-ratio:auto}
  .pg-azul .abertura__drs{grid-template-columns:1fr;gap:16px}
  .pg-azul .abertura h1{font-size:clamp(36px,3.3vw,56px)}
}
