/* Dr. Victor Cunha · Cirurgião Geral · site principal
   Mundo: a sala de videocirurgia em azul-marinho, o monitor da videolaparoscopia como fonte de luz. */

:root{
  --canvas:#061532;
  --canvas-deep:#040D24;
  --panel:#0C2147;
  --panel-2:#0F2A57;
  --paper:#EEF2F7;
  --paper-panel:#F7F9FC;
  --paper-line:#D3DCE8;
  --ink:#0A1A36;
  --ink-secondary:#45566F;
  --accent:#E3ECF9;
  --accent-ink:#1F4C93;
  --accent-ink-hover:#173E7B;
  --beam:#6E90BF;
  --text-primary:#EEF3FA;
  --text-secondary:#A9B9D0;
  --line-dark:rgba(169,185,208,.16);
  --line-paper:rgba(10,26,54,.12);

  --f-display:"Instrument Serif","Iowan Old Style","Times New Roman",serif;
  --f-text:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;

  --ease-out:cubic-bezier(.22,.8,.24,1);
  --ease-inout:cubic-bezier(.65,0,.35,1);
  --tshadow:0 1px 2px rgba(3,8,22,.95),0 3px 12px rgba(3,8,22,.78),0 10px 44px rgba(3,8,22,.8);

  --gutter:clamp(16px,4vw,48px);
  --maxw:1240px;
  --nav-h:72px;
  --hero-x:clamp(24px,6.5vw,112px);
  --ic-agenda:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='3'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4M9 15.2l2 2 4-4'/%3E%3C/svg%3E");
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
html{overflow-x:hidden;overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--canvas)}
body{margin:0;overflow-x:hidden;overflow-x:clip;background:var(--canvas);color:var(--text-primary);font:400 1.0625rem/1.62 var(--f-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video,iframe{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
p,h1,h2,h3,figure{margin:0}
ol,ul{margin:0;padding:0;list-style:none}
em{font-style:italic}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:-80px;z-index:100;background:var(--accent);color:var(--canvas);padding:12px 18px;border-radius:12px;font-weight:600;text-decoration:none;transition:top .3s var(--ease-out)}
.skip:focus{top:16px}
:focus-visible{outline:2px solid var(--beam);outline-offset:3px;border-radius:8px}
.sheet :focus-visible{outline-color:var(--accent-ink)}
main:focus{outline:none}
.wrap{width:min(100% - 2*var(--gutter),var(--maxw));margin-inline:auto;position:relative}
.wrap.estreito{max-width:880px}

/* ---------- ambiente fixo ---------- */
.ambient{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse 80% 60% at 70% 0%,rgba(39,87,158,.20),rgba(39,87,158,0) 70%),var(--canvas)}
.amb-blob{position:absolute;width:80vmax;height:80vmax;border-radius:50%}
.amb-a{left:-30vmax;top:-20vmax;background:radial-gradient(circle,rgba(39,87,158,.30) 0%,rgba(39,87,158,0) 62%);animation:deriva-a 84s var(--ease-inout) -21s infinite alternate}
.amb-b{right:-34vmax;bottom:-36vmax;background:radial-gradient(circle,rgba(110,144,191,.20) 0%,rgba(110,144,191,0) 60%);animation:deriva-b 102s var(--ease-inout) -40s infinite alternate}
@keyframes deriva-a{to{transform:translate3d(18vmax,22vmax,0) scale(1.12)}}
@keyframes deriva-b{to{transform:translate3d(-20vmax,-16vmax,0) scale(.9)}}
.amb-grain{position:absolute;inset:-50%;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}

/* ---------- botões e links ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.62em;min-height:60px;padding:0 2em 0 1.7em;border:0;border-radius:999px;font:700 1.14rem/1.15 var(--f-text);letter-spacing:.012em;text-decoration:none;text-align:center;cursor:pointer;transition:background-color .35s var(--ease-out),box-shadow .35s var(--ease-out),color .35s var(--ease-out),transform .35s var(--ease-out);text-shadow:none}
.btn::before{content:"";flex:none;width:1.2em;height:1.2em;background:currentColor;-webkit-mask:var(--ic-agenda) center/contain no-repeat;mask:var(--ic-agenda) center/contain no-repeat}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn-light{background:linear-gradient(180deg,#FFFFFF 0%,#E3ECF9 100%);color:#04122E;box-shadow:0 0 0 1px rgba(255,255,255,.55) inset,0 0 0 1px rgba(227,236,249,.35),0 12px 36px rgba(110,144,191,.42),0 0 46px rgba(150,180,225,.22)}
.btn-light:hover{background:#FFFFFF;box-shadow:0 0 0 1px rgba(255,255,255,.7) inset,0 0 0 1px rgba(227,236,249,.55),0 18px 48px rgba(150,180,225,.55),0 0 60px rgba(170,198,240,.32)}
.btn-ink{background:linear-gradient(180deg,#2A5DAB 0%,var(--accent-ink) 100%);color:#FFFFFF;box-shadow:0 0 0 1px rgba(255,255,255,.14) inset,0 12px 30px rgba(31,76,147,.32)}
.btn-ink:hover{background:var(--accent-ink-hover);box-shadow:0 0 0 1px rgba(255,255,255,.18) inset,0 18px 40px rgba(31,76,147,.42)}
.btn-largo{width:100%}
/* brilho que respira em volta do botão quando ele está na tela */
.btn-light::after,.btn-ink::after{content:"";position:absolute;inset:-5px;border-radius:inherit;pointer-events:none;opacity:0;box-shadow:0 0 0 2px rgba(227,236,249,.5),0 0 32px rgba(150,180,225,.6)}
.btn-ink::after{box-shadow:0 0 0 2px rgba(31,76,147,.32),0 0 30px rgba(31,76,147,.36)}
.visivel .btn-light::after,.visivel .btn-ink::after,.stage.acesa .btn-light::after{animation:respira-cta 4.6s ease-in-out -1s infinite}
@keyframes respira-cta{0%,100%{opacity:0}50%{opacity:.85}}
.link-sub{color:var(--text-secondary);font-size:.95rem;text-decoration:underline;text-decoration-color:rgba(169,185,208,.45);text-underline-offset:.28em;transition:color .3s var(--ease-out),text-decoration-color .3s var(--ease-out)}
.link-sub:hover{color:var(--text-primary);text-decoration-color:currentColor}
.link-ink{color:var(--accent-ink);font-weight:600;text-decoration:underline;text-decoration-color:rgba(31,76,147,.35);text-underline-offset:.28em;transition:text-decoration-color .3s var(--ease-out)}
.link-ink:hover{text-decoration-color:currentColor}
.reveal.in .btn.r:hover{transform:translateY(-2px)}
.reveal.assentado .btn.r{transition:background-color .35s var(--ease-out),box-shadow .35s var(--ease-out),color .35s var(--ease-out),transform .35s var(--ease-out)}

/* ---------- navegação ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--nav-h);display:flex;align-items:center;gap:clamp(16px,2.4vw,36px);padding:0 var(--gutter);transition:transform .55s var(--ease-out),background-color .5s var(--ease-out),box-shadow .5s var(--ease-out);text-shadow:0 1px 10px rgba(3,8,22,.6)}
.nav.solido{background:rgba(6,21,50,.78);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 1px 0 rgba(169,185,208,.12);text-shadow:none}
.nav.oculto{transform:translateY(-104%)}
.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1;gap:5px;flex:none}
.brand-name{font:400 1.55rem/1 var(--f-display);letter-spacing:.005em}
.brand-role{font:500 .64rem/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary)}
.nav-links{display:flex;gap:clamp(14px,1.8vw,28px);margin-left:auto;padding:4px 20px;border-radius:999px;background:rgba(4,13,36,.5);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(169,185,208,.14);transition:background-color .5s var(--ease-out),border-color .5s var(--ease-out)}
.nav.solido .nav-links{background:transparent;border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.nav-links a{font-size:.9rem;text-decoration:none;color:var(--text-secondary);transition:color .3s var(--ease-out);padding:8px 0}
.nav-links a:hover{color:var(--text-primary)}
.nav-cta{min-height:46px;padding:0 1.35em 0 1.15em;font-size:.95rem}
.nav-cta::after{display:none}
.nav-menu{display:none;margin-left:auto;width:46px;height:46px;border-radius:50%;border:1px solid rgba(169,185,208,.3);background:rgba(6,21,50,.4);cursor:pointer;position:relative}
.nav-menu i{position:absolute;left:14px;right:14px;height:1.6px;background:var(--text-primary);border-radius:2px;transition:transform .4s var(--ease-out)}
.nav-menu i:first-of-type{top:18px}
.nav-menu i:last-of-type{top:26px}
.nav-menu[aria-expanded="true"] i:first-of-type{transform:translateY(4px) rotate(45deg)}
.nav-menu[aria-expanded="true"] i:last-of-type{transform:translateY(-4px) rotate(-45deg)}
.menu-movel{position:fixed;inset:0;z-index:45;background:rgba(4,13,36,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:calc(var(--nav-h) + 24px) var(--gutter) 40px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;opacity:0;transition:opacity .4s var(--ease-out);overflow-y:auto}
.menu-movel.aberto{opacity:1}
.menu-movel nav{display:flex;flex-direction:column}
.menu-movel nav a{font:400 1.9rem/1.25 var(--f-display);text-decoration:none;padding:9px 0;border-bottom:1px solid var(--line-dark)}
@media (max-width:1180px){
  .nav-links{display:none}
  .nav-cta{margin-left:auto}
}
@media (max-width:720px){
  .nav-cta{display:none}
  .nav-menu{display:block}
  :root{--nav-h:64px}
  .brand-name{font-size:1.35rem}
}

/* ---------- hero: a sala de videocirurgia ---------- */
.hero{position:relative;z-index:1}
.stage{position:relative;overflow:hidden;background:var(--canvas-deep);min-height:100vh;min-height:100svh;display:flex;align-items:center}
.stage-media{position:absolute;inset:0;overflow:hidden}
.stage-media>*{position:absolute;inset:0;width:100%;height:100%}
.cena>*{position:absolute}
.sala{inset:0;background-size:cover;background-repeat:no-repeat;background-position:var(--sala-pos,50% 50%)}
.cena-escura .sala{background-image:url("img/sala-escura.jpg")}
.cena-acesa .sala{background-image:url("img/sala-acesa.jpg")}
/* o cirurgião: a foto tratada com a luz da sala, recortada pela máscara */
.pessoa{left:var(--px,58%);top:var(--py,8%);height:var(--ph,92%);width:var(--pw,51.75vh);background:url("img/cirurgiao.jpg") 0 0/100% 100% no-repeat;-webkit-mask:url("img/cirurgiao-mascara.png") 0 0/100% 100% no-repeat;mask:url("img/cirurgiao-mascara.png") 0 0/100% 100% no-repeat}
.cena-escura .pessoa{filter:brightness(.2) saturate(.55)}
/* a luz do monitor: a cena acesa aparece por uma máscara redonda que nasce na tela */
.cena-acesa{--r:0px;opacity:var(--flick,1);-webkit-mask-image:radial-gradient(circle at var(--lx,56%) var(--ly,39%),#000 calc(var(--r) - var(--suave,22vh)),transparent var(--r));mask-image:radial-gradient(circle at var(--lx,56%) var(--ly,39%),#000 calc(var(--r) - var(--suave,22vh)),transparent var(--r))}
/* luz de espera do monitor, piscando no escuro */
.led{left:var(--ledx,63.8%) !important;top:var(--ledy,50.5%) !important;width:5px !important;height:5px !important;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:#FFB45C;box-shadow:0 0 5px 1px rgba(255,170,70,.75),0 0 14px 4px rgba(255,150,40,.25);animation:led-espera 2.8s ease-in-out infinite;transition:opacity .4s var(--ease-out)}
@keyframes led-espera{0%,100%{opacity:.35}50%{opacity:1}}
.stage.acesa .led,.stage.acendendo .led{opacity:0;animation:none}
/* o brilho da tela respira depois de acesa */
.brilho-tela{background:radial-gradient(circle at var(--lx,56%) var(--ly,39%),rgba(200,216,244,.16) 0,rgba(200,216,244,.06) var(--rb,26vh),rgba(200,216,244,0) calc(var(--rb,26vh)*2.2));mix-blend-mode:screen;opacity:0;transition:opacity 1.6s var(--ease-out)}
.stage.acesa .brilho-tela{opacity:1;animation:tela-respira 6.5s ease-in-out -2s infinite alternate}
@keyframes tela-respira{to{opacity:.55}}
.scrim{background:linear-gradient(180deg,rgba(3,9,26,.45) 0%,rgba(3,9,26,0) 18%,rgba(3,9,26,0) 74%,var(--canvas) 100%),radial-gradient(ellipse 120% 92% at 62% 42%,rgba(3,9,26,0) 40%,rgba(3,9,26,.55) 100%)}
.scrim-lado{background:linear-gradient(90deg,rgba(3,9,26,.88) 0%,rgba(3,9,26,.66) 26%,rgba(3,9,26,.18) 44%,rgba(3,9,26,0) 54%)}

.hero-texto{position:relative;z-index:2;padding:calc(var(--nav-h) + 24px) var(--hero-x) clamp(64px,10vh,110px);max-width:min(52vw,780px);text-shadow:var(--tshadow)}
.hero-texto .btn{text-shadow:none}
.hero-kicker{font:500 .74rem/1.4 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:1.1rem;animation:entra-titulo 1.2s var(--ease-out) both}
.hero-titulo{font:400 clamp(3.2rem,6.2vw,6.8rem)/.98 var(--f-display);letter-spacing:-.01em;margin:0 0 .9rem;animation:entra-titulo 1.4s var(--ease-out) both .15s}
.hero-tag{font:400 clamp(1.7rem,2.7vw,2.8rem)/1.15 var(--f-display);color:#E6EDF7;margin:0 0 .9rem;animation:entra-titulo 1.3s var(--ease-out) both .3s}
.hero-sub{font-size:clamp(1.02rem,1.25vw,1.2rem);line-height:1.55;color:#D6E0EE;max-width:42ch;margin-bottom:1rem;animation:entra-titulo 1.3s var(--ease-out) both .42s}
/* as cidades em destaque, na mesma letra do nome */
.hero-cidades{display:flex;align-items:center;flex-wrap:wrap;gap:.1em .45em;font:400 clamp(1.6rem,2.4vw,2.5rem)/1.15 var(--f-display);color:#FFFFFF;margin-bottom:1.9rem;animation:entra-titulo 1.3s var(--ease-out) both .48s}
.hero-cidades i{font-style:normal;color:var(--beam)}
.hero-cidades .pin{flex:none;width:.72em;height:.72em;margin-right:.08em;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat}
.hero-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;animation:entra-titulo 1.3s var(--ease-out) both .56s}
@keyframes entra-titulo{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.destaque{position:relative;font-style:italic;color:var(--accent);white-space:nowrap}
.destaque::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(227,236,249,0),rgba(227,236,249,.95) 30%,rgba(227,236,249,.95) 70%,rgba(227,236,249,0));transform-origin:0 50%;transform:scaleX(0);transition:transform 1.4s var(--ease-out) .5s}
.stage.acesa .destaque::after,.stage.acendendo .destaque::after{transform:scaleX(1)}
.link-play{display:inline-flex;align-items:center;gap:12px;color:var(--text-primary);font-weight:600;text-decoration:none}
.link-play-icone{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(227,236,249,.55);transition:background-color .35s var(--ease-out),border-color .35s var(--ease-out)}
.link-play-icone::before{content:"";margin-left:3px;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent #fff}
.link-play:hover .link-play-icone{background:rgba(227,236,249,.14);border-color:#fff}

/* aviso de rolar enquanto o monitor espera o primeiro gesto */
.hero-cue{position:absolute;left:var(--hero-x);bottom:clamp(20px,4vh,40px);z-index:3;display:none;align-items:center;gap:12px;color:var(--text-secondary);font:500 .72rem/1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase}
.stage.aguardando .hero-cue{display:flex}
.hero-cue .chev{width:22px;height:22px;animation:chev-vai 2.6s var(--ease-inout) -1s infinite}
.chev path{fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@keyframes chev-vai{0%,100%{transform:translateY(-3px);opacity:.55}50%{transform:translateY(4px);opacity:1}}
@media (max-height:560px){.hero-cue{display:none !important}}

/* em pé (celular e tablet): a sala em cima, o texto embaixo */
@media (orientation:portrait){
  .stage{display:block;min-height:0;background:var(--canvas)}
  .stage-media{position:relative;inset:auto;width:100%;aspect-ratio:4/5;max-height:74svh}
  .sala{--sala-pos:69% 50%}
  .scrim{background:linear-gradient(180deg,rgba(3,9,26,.55) 0%,rgba(3,9,26,0) 22%,rgba(3,9,26,0) 60%,var(--canvas) 100%)}
  .scrim-lado{display:none}
  .hero-texto{margin-top:-9svh;padding:0 var(--gutter) 56px;max-width:none}
  .hero-kicker{font-size:.66rem;letter-spacing:.12em;margin-bottom:.8rem}
  .hero-titulo{font-size:clamp(2.7rem,11.5vw,4.4rem)}
  .hero-tag{font-size:clamp(1.5rem,6.4vw,2.2rem)}
  .hero-cidades{font-size:clamp(1.45rem,6.2vw,2rem)}
  .hero-cue{display:none !important}
}

/* ---------- linha de sutura (assinatura) ---------- */
.sutura{position:absolute;left:0;top:0;width:100%;height:10px;pointer-events:none;z-index:4;overflow:visible;display:none}
.sutura-linha{fill:none;stroke:rgba(110,144,191,.6);stroke-width:1.4;stroke-linecap:round}
.sutura-pontos path{stroke:rgba(150,178,218,.85);stroke-width:1.6;stroke-linecap:round;opacity:0;transition:opacity .5s var(--ease-out)}
.sutura-pontos path.on{opacity:1}
@media (min-width:1000px){.sutura{display:block}}

/* ---------- seções ---------- */
.sec{position:relative;padding-block:clamp(88px,11vw,156px)}
.sheet{background:var(--paper);color:var(--ink);margin-inline:clamp(0px,1.1vw,16px);border-radius:clamp(26px,3vw,40px);z-index:2;box-shadow:0 40px 90px rgba(2,8,24,.42),0 1px 0 rgba(255,255,255,.7) inset}
.escuro{color:var(--text-primary);z-index:1}
.sec-head{margin-bottom:clamp(40px,5vw,72px)}
.kicker{font:500 .74rem/1.4 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:1.1rem}
.sheet .kicker{color:var(--accent-ink)}
.sec-title{font:400 clamp(2.4rem,4.6vw,4.4rem)/1.04 var(--f-display);letter-spacing:-.005em;max-width:18ch;margin-bottom:1.2rem}
.sec-title em{color:var(--text-secondary)}
.sheet .sec-title em{color:var(--accent-ink)}
.lede{font-size:clamp(1.05rem,1.3vw,1.2rem);line-height:1.6;max-width:52ch;color:var(--text-secondary)}
.sheet .lede{color:var(--ink-secondary)}
.centro-cta{display:flex;justify-content:center;margin-top:clamp(48px,6vw,80px)}

/* entradas coreografadas */
.reveal .r{opacity:0;transform:translateY(20px);transition:opacity 1s var(--ease-out),transform 1s var(--ease-out);transition-delay:calc(var(--i,0)*90ms)}
.reveal.in .r{opacity:1;transform:none}
.reveal.assentado .r{transition-delay:0s !important}

/* ---------- apresentação (vídeo) ---------- */
.apres-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:center}
.apres-texto{display:flex;flex-direction:column;align-items:flex-start}
.apres-texto .lede{margin-bottom:clamp(26px,3vw,38px)}

/* ---------- espaços de vídeo ---------- */
.video-slot{position:relative;width:100%;aspect-ratio:16/9;border-radius:28px;overflow:hidden;background:radial-gradient(ellipse 90% 80% at 50% 30%,#163565,#071433 75%);box-shadow:0 30px 70px rgba(10,26,54,.28),0 0 0 1px rgba(10,26,54,.08);isolation:isolate}
.video-slot.vertical{aspect-ratio:9/16;width:min(100%,calc((100vh - var(--nav-h) - 64px) * 9 / 16));margin-inline:auto}
.video-slot iframe,.video-slot video,.video-capa{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-capa{object-fit:cover}
.video-slot video{background:#000;object-fit:contain;cursor:pointer;z-index:1}
.video-capa-cena{position:absolute;inset:0;background:url("img/sala-acesa.jpg") 58% 40%/cover no-repeat}
.video-capa-cena::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,13,36,.15) 0%,rgba(4,13,36,.25) 45%,rgba(4,13,36,.88) 100%)}
.video-titulo{position:absolute;left:clamp(18px,3vw,32px);right:clamp(18px,3vw,32px);bottom:calc(clamp(18px,3vw,30px) + 70px);z-index:2;font:400 clamp(1.5rem,2.6vw,2.3rem)/1.12 var(--f-display);color:#fff;text-shadow:0 2px 16px rgba(3,8,22,.8);pointer-events:none}
.video-titulo small{display:block;margin-bottom:.6rem;font:500 .66rem/1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:#C9D8EE}
.video-play{position:absolute;left:clamp(18px,3vw,32px);bottom:clamp(18px,3vw,30px);z-index:3;display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:0 22px 0 8px;border:0;border-radius:999px;background:rgba(4,13,36,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#FFFFFF;font:600 1rem/1 var(--f-text);white-space:nowrap;cursor:pointer;box-shadow:0 0 0 1px rgba(227,236,249,.28) inset,0 16px 40px rgba(2,8,24,.45);transition:background-color .35s var(--ease-out),transform .35s var(--ease-out)}
.video-play:hover{background:rgba(6,21,50,.9);transform:translateY(-2px)}
.video-slot.vertical .video-play{left:50%;transform:translateX(-50%)}
.video-slot.vertical .video-play:hover{transform:translateX(-50%) translateY(-2px)}
.video-play-icone{position:relative;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#FFFFFF}
.video-play-icone::before{content:"";margin-left:4px;border-style:solid;border-width:8px 0 8px 13px;border-color:transparent transparent transparent #04122E}
.video-play-icone::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(255,255,255,.55);opacity:0}
.visivel .video-play-icone::after{animation:pulso-play 2.8s var(--ease-out) infinite}
@keyframes pulso-play{0%{opacity:.8;transform:scale(.85)}80%,100%{opacity:0;transform:scale(1.35)}}
.video-slot.tocando .video-titulo,.video-slot.tocando .video-capa-cena{display:none}
.video-vazio{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;color:#C9D8EE}
.video-vazio svg{width:54px;height:54px;opacity:.6}
.video-vazio svg *{fill:none;stroke:var(--beam);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.video-vazio b{font:400 1.5rem/1.2 var(--f-display);color:#fff;font-weight:400}
.video-vazio small{font:500 .66rem/1.4 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--beam)}
/* botão de som e a incisão do progresso, para os vídeos gravados (mp4) */
.video-som{position:absolute;top:14px;right:14px;z-index:3;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px 0 11px;border:0;border-radius:999px;background:rgba(4,13,36,.66);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font:600 .82rem/1 var(--f-text);cursor:pointer;box-shadow:0 0 0 1px rgba(227,236,249,.22) inset}
.video-som svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.video-som .alto{fill:#fff;stroke:none}
.video-som .ondas{display:none}
.video-som.ligado .ondas{display:inline}
.video-som.ligado .mudo{display:none}
.video-progresso{position:absolute;left:50px;right:18px;bottom:14px;height:12px;z-index:3;pointer-events:none;--p:0}
.video-progresso::before{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;margin-top:-.75px;border-radius:2px;background:rgba(4,13,36,.35);box-shadow:0 0 0 .5px rgba(255,255,255,.25)}
.vp-linha{position:absolute;left:0;top:50%;height:2px;margin-top:-1px;width:calc(var(--p) * 100%);border-radius:2px;background:linear-gradient(90deg,rgba(227,236,249,.6),#fff);box-shadow:0 1px 3px rgba(4,13,36,.6),0 0 6px rgba(255,255,255,.35)}
.vp-bisturi{position:absolute;top:50%;left:calc(var(--p) * 100%);width:54px;height:13.5px;transform:translate(-84%,-71%);overflow:visible;filter:drop-shadow(0 1px 2px rgba(4,13,36,.8)) drop-shadow(0 0 4px rgba(255,255,255,.35))}

/* ---------- sobre ---------- */
.sobre-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:start}
.retrato{position:sticky;top:calc(var(--nav-h) + 32px)}
.retrato-moldura{position:relative;aspect-ratio:4/5;border-radius:32px;overflow:hidden;background:var(--panel);border:1px solid var(--line-dark);box-shadow:0 40px 90px rgba(2,8,24,.5)}
.retrato-moldura img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.retrato-moldura::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0) 40%,rgba(255,236,214,.10) 50%,rgba(255,255,255,0) 60%);transform:translateY(-100%);pointer-events:none}
.visivel .retrato-moldura::after{animation:luz-desce 10s var(--ease-inout) -2s infinite}
@keyframes luz-desce{0%,40%{transform:translateY(-100%)}100%{transform:translateY(100%)}}
.retrato-legenda{margin-top:14px;font:500 .7rem/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}
.sobre .sec-title{max-width:16ch}
.formacao{display:flex;flex-direction:column;gap:12px;margin:30px 0 10px}
.formacao li{position:relative;padding-left:30px;color:#F7FAFE;font-weight:600;line-height:1.5;max-width:56ch}
.formacao li::before{content:"";position:absolute;left:2px;top:.72em;width:14px;height:1.6px;border-radius:2px;background:var(--beam);transform:rotate(-38deg)}
.marcos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:30px 0 28px}
.marco{display:flex;flex-direction:column;gap:8px;padding:22px 22px 20px;border-radius:22px;background:rgba(12,33,71,.6);border:1px solid var(--line-dark)}
.marco-grande{font:400 clamp(1.7rem,2.4vw,2.3rem)/1.04 var(--f-display);color:var(--accent)}
.marco-txt{color:var(--text-secondary);font-size:.98rem;line-height:1.45}
.credenciais{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px}
.credenciais li{font:500 .76rem/1 var(--f-mono);letter-spacing:.08em;padding:11px 14px;border-radius:999px;border:1px solid rgba(169,185,208,.26);color:#D6E0EE}

/* ---------- atlas do abdome ---------- */
.atlas-lista{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:clamp(24px,3vw,40px)}
.atlas-lista button{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"num nome" "num apelido";column-gap:14px;row-gap:3px;align-items:baseline;text-align:left;padding:16px 18px;border:1px solid var(--paper-line);border-radius:18px;background:rgba(255,255,255,.5);cursor:pointer;transition:background-color .35s var(--ease-out),border-color .35s var(--ease-out),box-shadow .35s var(--ease-out)}
.atlas-lista button:hover{background:rgba(255,255,255,.9)}
.atlas-lista button[aria-selected="true"]{background:var(--paper-panel);border-color:var(--accent-ink);box-shadow:0 12px 30px rgba(10,26,54,.10),inset 0 0 0 1px var(--accent-ink)}
.atlas-lista .num{grid-area:num;font:500 .74rem/1 var(--f-mono);letter-spacing:.1em;color:#8495AD}
.atlas-lista [aria-selected="true"] .num{color:var(--accent-ink)}
.atlas-lista .nome{grid-area:nome;font:400 1.5rem/1.15 var(--f-display);color:var(--ink)}
.atlas-lista .apelido{grid-area:apelido;font-size:.9rem;line-height:1.4;color:var(--ink-secondary)}
.atlas-corpo{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(24px,4vw,64px);align-items:start}
.atlas-fig{position:relative;margin:0;max-width:560px;width:100%;justify-self:center}
.atlas-janela{position:relative;aspect-ratio:1376/1720;border-radius:26px;overflow:hidden;background:#FDFDFB;border:1px solid var(--paper-line);box-shadow:0 20px 50px rgba(10,26,54,.12);isolation:isolate}
.atlas-zoom{position:absolute;inset:0;transform-origin:0 0;transition:transform 1.15s var(--ease-inout);will-change:transform}
.atlas-img{position:absolute;inset:0;display:block;width:100%;height:100%}
/* a parede do abdome "fecha" sobre os órgãos nas hérnias e na pele */
.atlas-parede{opacity:0;transition:opacity .9s var(--ease-inout)}
.atlas-parede.on{opacity:1}
.mini-rotulos{position:absolute;inset:0;pointer-events:none}
.mini-rotulos span{position:absolute;transform:translate(-50%,0) translateY(6px);padding:6px 10px;border-radius:999px;background:rgba(6,21,50,.86);color:#fff;font:500 .62rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;box-shadow:0 6px 16px rgba(6,21,50,.25);opacity:0;transition:opacity .5s var(--ease-out),transform .6s var(--ease-out)}
.mini-rotulos.on span{opacity:1;transform:translate(-50%,0)}
.mini-rotulos.on span:nth-child(1){transition-delay:.7s}
.mini-rotulos.on span:nth-child(2){transition-delay:.85s}
.mini-rotulos.on span:nth-child(3){transition-delay:1s}
.mini-rotulos.on span:nth-child(4){transition-delay:1.15s}
.atlas-marcas{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.marca{opacity:0;transition:opacity .5s var(--ease-out)}
.marca.on{opacity:1}
.marca .anel{fill:none;stroke:#FFFFFF;stroke-width:3;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s var(--ease-out) .6s;filter:drop-shadow(0 0 3px rgba(6,21,50,.55))}
.marca.on .anel{stroke-dashoffset:0}
.marca .anel-pele{stroke:var(--accent-ink);filter:none}
/* os cortes da videolaparoscopia, aparecendo um a um */
.portais path{fill:none;stroke:#FFFFFF;stroke-width:4;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .5s var(--ease-out);filter:drop-shadow(0 0 2px rgba(6,21,50,.9))}
.marca.on .portais path{opacity:1}
.marca.on .portais path:nth-child(1){transition-delay:1.1s}
.marca.on .portais path:nth-child(2){transition-delay:1.3s}
.marca.on .portais path:nth-child(3){transition-delay:1.5s}
.marca.on .portais path:nth-child(4){transition-delay:1.7s}
/* locais de hérnia na parede da barriga */
.pontos-hernia circle{fill:rgba(255,255,255,.3);stroke:#0E2A5C;stroke-width:3;stroke-dasharray:8 6;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px rgba(255,255,255,.8));transform-box:fill-box;transform-origin:center;transform:scale(.6);opacity:0;transition:transform .8s var(--ease-out),opacity .5s var(--ease-out)}
.marca.on .pontos-hernia circle{transform:none;opacity:1}
.marca.on .pontos-hernia circle:nth-child(2){transition-delay:.15s}
.marca.on .pontos-hernia circle:nth-child(3){transition-delay:.3s}
.marca.on .pontos-hernia circle:nth-child(4){transition-delay:.45s}
/* lesões de pele de exemplo */
.lesoes .lesao{fill:#EBD9B8;stroke:#C9AE85;stroke-width:1.5;vector-effect:non-scaling-stroke}
.lesoes .nevo{fill:#6B4A36}
.atlas-vinheta{position:absolute;left:-50%;top:-50%;width:200%;height:200%;pointer-events:none;--rv:150px;background:radial-gradient(circle at 50% 50%,rgba(6,21,50,0) 0,rgba(6,21,50,0) var(--rv),rgba(6,21,50,.34) calc(var(--rv) + 110px),rgba(6,21,50,.5) calc(var(--rv) + 420px));transition:opacity .45s var(--ease-out)}
.atlas-vinheta.troca,.atlas-vinheta.sem{opacity:0}
.atlas-rotulo{position:absolute;left:0;top:0;margin:0;padding:9px 14px;border-radius:999px;background:rgba(6,21,50,.86);color:#FFFFFF;font:500 .72rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;pointer-events:none;box-shadow:0 8px 22px rgba(6,21,50,.28);transition:opacity .45s var(--ease-out)}
.atlas-rotulo.troca,.atlas-rotulo.sem{opacity:0}
.camada-tag{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font:500 .7rem/1.3 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);background:rgba(255,255,255,.7);border:1px solid var(--paper-line);padding:9px 13px;border-radius:999px}
.camada-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--accent-ink);animation:respira 4.4s ease-in-out -1s infinite}
@keyframes respira{0%,100%{opacity:1}50%{opacity:.5}}
.atlas-texto{min-width:0}
.ficha-abas{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.ficha-abas button{flex:none;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--paper-line);background:transparent;color:var(--ink-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .3s var(--ease-out),color .3s var(--ease-out),border-color .3s var(--ease-out)}
.ficha-abas button:hover{color:var(--ink);border-color:#AEBDD1}
.ficha-abas button[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.ficha{animation:ficha-entra .6s var(--ease-out) both}
@keyframes ficha-entra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ficha-titulo{font:400 2rem/1.1 var(--f-display);margin-bottom:.6rem}
.ficha-painel p{font-size:1.06rem;line-height:1.68;color:#22324D;max-width:62ch}
.ficha-painel:not([hidden]){animation:ficha-entra .5s var(--ease-out) both}
.ficha-painel .video-slot{border-radius:20px;max-width:620px}
.ficha-painel .video-slot.vertical{max-width:340px;margin-inline:0}
.ficha-destaque{margin-top:22px;padding:16px 18px 16px 20px;border-left:3px solid var(--accent-ink);background:rgba(31,76,147,.07);border-radius:0 14px 14px 0;font:500 1.06rem/1.6 var(--f-text);color:var(--ink);max-width:60ch}
.ficha-link .link-ink{display:inline-block;margin-top:6px}

/* ---------- videolaparoscopia ---------- */
.videolap{overflow:hidden;isolation:isolate}
.videolap-fundo{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--canvas) 0%,rgba(6,21,50,.2) 18%,rgba(6,21,50,.5) 46%,rgba(6,21,50,.9) 62%,var(--canvas) 100%),linear-gradient(90deg,rgba(4,13,36,.94) 0%,rgba(4,13,36,.78) 40%,rgba(4,13,36,.2) 72%,rgba(4,13,36,.35) 100%),url("img/sala-video.jpg") 70% 40%/cover no-repeat}
.videolap-cabeca{max-width:640px;min-height:clamp(280px,36vh,420px)}
.videolap .lede{color:#D6E0EE}
.principios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,5vw,80px);max-width:1040px}
.principios li{position:relative;display:grid;grid-template-columns:72px 1fr;grid-template-rows:auto 1fr;column-gap:20px;padding:30px 0;border-top:1px solid var(--line-dark)}
.principios li:nth-last-child(-n+2){border-bottom:1px solid var(--line-dark)}
.p-num{grid-row:span 2;font:400 2.6rem/1 var(--f-display);color:var(--beam);font-style:italic}
.principios h3{font:400 1.75rem/1.15 var(--f-display);margin-bottom:.45rem}
.principios p{color:var(--text-secondary);max-width:46ch}

/* galeria de vídeos da videolaparoscopia */
.galeria-videos{margin-top:clamp(40px,5vw,64px)}
.galeria-abrir{display:inline-flex;align-items:center;gap:14px;min-height:60px;padding:0 22px 0 10px;border-radius:999px;border:1px solid rgba(169,185,208,.3);background:rgba(4,13,36,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-primary);font:400 1.6rem/1 var(--f-display);cursor:pointer;transition:background-color .35s var(--ease-out),border-color .35s var(--ease-out)}
.galeria-abrir:hover{background:rgba(12,33,71,.8);border-color:rgba(227,236,249,.5)}
.galeria-abrir .link-play-icone{width:42px;height:42px}
.galeria-seta{width:10px;height:10px;margin-left:4px;border-right:1.6px solid var(--accent);border-bottom:1.6px solid var(--accent);transform:translateY(-3px) rotate(45deg);transition:transform .4s var(--ease-out)}
.galeria-abrir[aria-expanded="true"] .galeria-seta{transform:translateY(2px) rotate(-135deg)}
.galeria-grade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,22px);margin-top:28px}
.galeria-item{margin:0;display:flex;flex-direction:column;gap:14px;animation:ficha-entra .6s var(--ease-out) both}
.galeria-item .video-slot{border-radius:22px;box-shadow:0 24px 60px rgba(2,8,24,.45),0 0 0 1px rgba(169,185,208,.14)}
.galeria-item figcaption{font:400 1.3rem/1.2 var(--f-display);color:var(--text-primary);padding:0 4px}
.galeria-item figcaption small{display:block;margin-bottom:6px;font:500 .66rem/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--beam)}
.galeria-item:nth-child(2){animation-delay:.08s}
.galeria-item:nth-child(3){animation-delay:.16s}
.galeria-item:nth-child(4){animation-delay:.24s}
.galeria-item:nth-child(5){animation-delay:.32s}
.galeria-item:nth-child(6){animation-delay:.4s}
.galeria-grade .video-play{left:16px;bottom:16px;min-height:50px;font-size:.92rem}
.galeria-grade .video-play-icone{width:36px;height:36px}
.video-capa-yt{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video-capa-yt+.video-sombra{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,13,36,0) 55%,rgba(4,13,36,.55) 100%)}
.video-slot.tocando .video-capa-yt,.video-slot.tocando .video-sombra{display:none}

/* ---------- avaliações ---------- */
.avaliacoes{background:var(--canvas-deep);color:var(--text-primary);margin-inline:clamp(0px,1.1vw,16px);border-radius:clamp(26px,3vw,40px);overflow:hidden;isolation:isolate;z-index:2;box-shadow:0 40px 90px rgba(2,8,24,.42)}
.av-fundo{position:absolute;left:0;right:0;top:0;height:clamp(560px,80vh,840px);z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(4,13,36,0) 40%,rgba(4,13,36,.76) 72%,var(--canvas-deep) 92%),linear-gradient(90deg,rgba(4,13,36,.1) 0%,rgba(4,13,36,.2) 34%,rgba(4,13,36,.74) 54%,rgba(4,13,36,.88) 70%,rgba(4,13,36,.92) 100%),url("img/avaliacoes-consulta.jpg") 30% 22%/cover no-repeat;background-repeat:no-repeat;-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent 99%);mask-image:linear-gradient(180deg,#000 82%,transparent 99%)}
.av-cabeca{width:min(560px,46%);margin-left:auto;min-height:clamp(380px,54vh,580px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left}
.avaliacoes .sec-title{max-width:none}
.avaliacoes .sec-title em{color:#C9D8EE}
.av-nota{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:.4rem}
.av-nota-estrelas{display:flex;gap:6px}
.av-nota-estrelas svg{width:30px;height:30px;fill:#E7A92F;filter:drop-shadow(0 2px 6px rgba(231,169,47,.35))}
.reveal .av-nota-estrelas svg{opacity:0;transform:scale(.4) rotate(-30deg);transition:opacity .5s var(--ease-out),transform .7s cubic-bezier(.34,1.56,.64,1)}
.reveal.in .av-nota-estrelas svg{opacity:1;transform:none}
.reveal.in .av-nota-estrelas svg:nth-child(2){transition-delay:.08s}
.reveal.in .av-nota-estrelas svg:nth-child(3){transition-delay:.16s}
.reveal.in .av-nota-estrelas svg:nth-child(4){transition-delay:.24s}
.reveal.in .av-nota-estrelas svg:nth-child(5){transition-delay:.32s}
.av-nota-txt{text-wrap:balance;font:500 .8rem/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary)}
.av-nota-txt b{font-weight:500;color:#FFFFFF}
.av-grade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,22px)}
.av-card{position:relative;margin:0;padding:26px 26px 22px;border-radius:24px;background:#FFFFFF;border:1px solid var(--paper-line);box-shadow:0 18px 44px rgba(10,26,54,.08);display:flex;flex-direction:column;gap:14px;transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out)}
.avaliacoes.in .av-card:hover{transform:translateY(-4px);box-shadow:0 26px 60px rgba(10,26,54,.14)}
.av-card::before{content:"\201C";position:absolute;right:22px;top:6px;font:400 5.6rem/1 var(--f-display);color:rgba(31,76,147,.10);pointer-events:none}
.av-topo{display:flex;align-items:center;gap:14px}
.av-avatar{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;overflow:hidden;background:linear-gradient(140deg,hsl(var(--h,214) 58% 44%),hsl(calc(var(--h,214) + 18) 64% 26%));color:#FFFFFF;font:400 1.6rem/1 var(--f-display);box-shadow:0 0 0 3px #FFFFFF,0 0 0 4px var(--paper-line)}
.av-quem{display:flex;flex-direction:column;gap:3px;font-size:.84rem;line-height:1.2;color:var(--ink-secondary)}
.av-quem b{font-size:1.04rem;font-weight:600;color:var(--ink)}
.av-estrelas{display:flex;gap:3px}
.av-estrelas svg{width:18px;height:18px;fill:#E7A92F}
.av-texto{margin:0;flex:1}
.av-texto p{font-size:1.05rem;line-height:1.62;color:#22324D}
.av-proc{align-self:flex-start;padding:7px 12px;border-radius:999px;background:rgba(31,76,147,.07);font:500 .68rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink)}
.av-dica{display:none}
.av-link{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 24px 0 18px;border-radius:999px;background:#FFFFFF;border:1px solid var(--paper-line);box-shadow:0 10px 26px rgba(10,26,54,.08);font-size:1.02rem;text-decoration:none;transition:box-shadow .35s var(--ease-out),border-color .35s var(--ease-out)}
.av-link:hover{border-color:#AEBDD1;box-shadow:0 14px 34px rgba(10,26,54,.14)}
.av-link::before{content:"";width:22px;height:22px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23E7A92F' d='M12 2.6l2.9 5.9 6.5.9-4.7 4.6 1.1 6.5L12 17.4l-5.8 3.1 1.1-6.5L2.6 9.4l6.5-.9z'/%3E%3C/svg%3E") center/contain no-repeat}

/* ---------- como funciona ---------- */
.passos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,40px);position:relative}
.passos::before{content:"";position:absolute;left:34px;right:34px;top:34px;height:1px;background:linear-gradient(90deg,rgba(110,144,191,.12),rgba(110,144,191,.5),rgba(110,144,191,.12));pointer-events:none}
.passos::after{content:"";position:absolute;left:34px;right:34px;top:32px;height:5px;background:radial-gradient(60px 2.5px at 60px 50%,rgba(227,236,249,.95),rgba(227,236,249,0));transform:translateX(-130px);opacity:0;pointer-events:none}
.visivel .passos::after{animation:trilho-corre 7.5s var(--ease-inout) -2s infinite}
@keyframes trilho-corre{0%{transform:translateX(-130px);opacity:0}10%{opacity:1}85%{opacity:1}100%{transform:translateX(100%);opacity:0}}
.passo{position:relative}
.passo-icone{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:var(--panel);border:1px solid rgba(169,185,208,.22);box-shadow:0 0 0 8px var(--canvas);margin-bottom:26px}
.passo-icone svg{width:30px;height:30px}
.passo-icone svg *{fill:none;stroke:var(--accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.passo-num{display:block;font:500 .72rem/1 var(--f-mono);letter-spacing:.16em;color:var(--beam);margin-bottom:10px}
.passo h3{font:400 1.7rem/1.15 var(--f-display);margin-bottom:.5rem}
.passo p{color:var(--text-secondary);font-size:1rem;max-width:30ch}

/* ---------- dúvidas ---------- */
.faq{display:flex;flex-direction:column;border-top:1px solid var(--line-paper)}
.faq details{border-bottom:1px solid var(--line-paper)}
.faq summary{list-style:none;display:grid;grid-template-columns:48px 1fr 28px;align-items:baseline;gap:12px;padding:24px 4px;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.q-num{font:500 .74rem/1 var(--f-mono);letter-spacing:.12em;color:var(--accent-ink)}
.faq summary:hover .q-txt{color:var(--accent-ink)}
.q-txt{font:400 clamp(1.45rem,2.2vw,1.9rem)/1.2 var(--f-display);color:var(--ink);transition:color .3s var(--ease-out)}
.q-mais{position:relative;width:18px;height:18px;align-self:center}
.q-mais::before,.q-mais::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.6px;margin-top:-.8px;background:var(--accent-ink);border-radius:2px;transition:transform .4s var(--ease-out)}
.q-mais::after{transform:rotate(90deg)}
.faq details[open] .q-mais::after{transform:rotate(0deg)}
.resposta{padding:0 4px 26px 64px}
.resposta p{color:#22324D;font-size:1.06rem;line-height:1.68;max-width:60ch}
.faq details[open] .resposta{animation:resposta-abre .5s var(--ease-out) both}
@keyframes resposta-abre{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ---------- locais ---------- */
.locais-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,22px)}
.locais-grid.quatro{grid-template-columns:repeat(4,minmax(0,1fr))}
.locais-grid.quatro .local-nome{font-size:1.5rem}
@media (max-width:1180px){.locais-grid.quatro{grid-template-columns:repeat(2,minmax(0,1fr))}}
.local{display:flex;flex-direction:column;border-radius:28px;overflow:hidden;background:rgba(12,33,71,.62);border:1px solid var(--line-dark);box-shadow:0 30px 70px rgba(2,8,24,.35);transition:transform .45s var(--ease-out),border-color .45s var(--ease-out)}
.locais.in .local:hover{transform:translateY(-4px);border-color:rgba(169,185,208,.3)}
.locais.assentado .local{transition:transform .45s var(--ease-out),border-color .45s var(--ease-out)}
.local-foto{position:relative;aspect-ratio:4/3;overflow:hidden;background:radial-gradient(ellipse 90% 80% at 50% 30%,#163565,#0B1F45 70%)}
.local-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.local:hover .local-foto img{transform:scale(1.04)}
.local-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,13,36,0) 55%,rgba(4,13,36,.55) 100%);pointer-events:none}
.local-foto-vazia{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.local-foto-vazia small{font:500 .66rem/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--beam)}
.local-foto-vazia svg{width:64px;height:64px;opacity:.6}
.local-foto-vazia svg *{fill:none;stroke:var(--beam);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.local-corpo{display:flex;flex-direction:column;gap:6px;flex:1;padding:24px 24px 26px}
.local-cidade{font:500 .72rem/1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--beam)}
.local-nome{font:400 1.7rem/1.12 var(--f-display);margin-top:8px}
.local-end{color:var(--text-secondary);margin-top:6px}
.local-acoes{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:auto;padding-top:22px}
.local-acoes .btn{width:100%;font-size:1.02rem;padding-inline:1.2em}
.link-claro{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-weight:600;text-decoration:underline;text-decoration-color:rgba(227,236,249,.35);text-underline-offset:.28em;transition:text-decoration-color .3s var(--ease-out)}
.link-claro::before{content:"";width:18px;height:18px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat}
.link-claro:hover{text-decoration-color:currentColor}

/* ---------- agendar ---------- */
.final{min-height:100vh;display:flex;align-items:center;overflow:hidden}
.final-fundo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,9,26,.92) 0%,rgba(3,9,26,.74) 38%,rgba(3,9,26,.25) 72%,rgba(3,9,26,.4) 100%),url("img/sala-acesa.jpg") 60% 50%/cover no-repeat}
.final-grid{position:relative;z-index:1}
.final-painel{width:min(100%,560px);padding:clamp(28px,4vw,48px);border-radius:32px;background:rgba(6,21,50,.66);-webkit-backdrop-filter:blur(18px) saturate(1.15);backdrop-filter:blur(18px) saturate(1.15);border:1px solid rgba(169,185,208,.18);box-shadow:0 40px 100px rgba(2,6,18,.5)}
.final-titulo{max-width:none;margin-bottom:2.1rem}
.form{display:flex;flex-direction:column;gap:18px;margin-top:28px}
.campo{display:flex;flex-direction:column;gap:8px;border:0;margin:0;padding:0}
.campo>span,.campo legend{font:500 .72rem/1.2 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);padding:0}
.campo small{text-transform:none;letter-spacing:0;font-family:var(--f-text)}
.campo input,.campo select,.campo textarea{width:100%;min-height:50px;padding:12px 16px;border-radius:14px;border:1px solid rgba(169,185,208,.3);background:rgba(4,13,36,.5);color:var(--text-primary);font-size:1rem;transition:border-color .3s var(--ease-out),background-color .3s var(--ease-out)}
.campo textarea{resize:vertical;min-height:96px;line-height:1.5}
.campo select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23A9B9D0' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:44px}
.campo select option{background:var(--canvas);color:var(--text-primary)}
.campo input::placeholder,.campo textarea::placeholder{color:#7F91AB}
.campo input:hover,.campo select:hover,.campo textarea:hover{border-color:rgba(169,185,208,.5)}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--accent);background:rgba(4,13,36,.7)}
.campo .invalido{border-color:#E39A87}
.cidades{flex-direction:row;flex-wrap:wrap;gap:8px}
.cidades legend{width:100%;margin-bottom:8px}
.cidades label{position:relative}
.cidades input{position:absolute;opacity:0;pointer-events:none}
.cidades span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(169,185,208,.3);cursor:pointer;font-size:.95rem;transition:background-color .3s var(--ease-out),color .3s var(--ease-out),border-color .3s var(--ease-out)}
.cidades input:checked+span{background:var(--accent);color:var(--canvas);border-color:var(--accent)}
.cidades input:focus-visible+span{outline:2px solid var(--beam);outline-offset:3px}
.form-micro{font-size:.86rem;color:var(--text-secondary)}
.form-erro{font-size:.92rem;color:#F0B4A4}
.form-ok{margin-top:28px;padding:24px;border-radius:20px;background:rgba(227,236,249,.08);border:1px solid rgba(169,185,208,.24)}
.form-ok:focus{outline:none}
.ok-titulo{font:400 1.7rem/1.2 var(--f-display);margin-bottom:8px}
.form-ok p{color:var(--text-secondary);margin-bottom:12px}

/* ---------- rodapé ---------- */
.rodape{position:relative;z-index:1;padding:56px 0 calc(56px + env(safe-area-inset-bottom));border-top:1px solid var(--line-dark);background:rgba(4,13,36,.6)}
.rodape-grid{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap}
.rodape-nome{font:400 1.7rem/1.1 var(--f-display);margin-bottom:8px}
.rodape-cred{font:500 .74rem/1.5 var(--f-mono);letter-spacing:.1em;color:var(--text-secondary)}
.rodape-cidades{color:var(--text-secondary);margin-top:6px;font-size:.95rem}
.rodape-dir{display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-align:right;max-width:420px}
.rodape-links{display:flex;gap:20px;flex-wrap:wrap}
.rodape-aviso,.rodape-copy{font-size:.86rem;color:#8EA0BA}

/* ---------- barra fixa no celular ---------- */
.cta-movel{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(4,13,36,0),rgba(4,13,36,.9) 40%);transform:translateY(120%);transition:transform .5s var(--ease-out);display:none}
.cta-movel.on{transform:none}
@media (max-width:720px){.cta-movel{display:block}}

/* ---------- responsivo ---------- */
@media (max-width:1100px){
  .galeria-grade{grid-template-columns:repeat(2,minmax(0,1fr))}
  .atlas-corpo{grid-template-columns:1fr}
  .atlas-fig{max-width:520px}
  .retrato{position:static;max-width:460px}
  .apres-grid,.sobre-grid{grid-template-columns:1fr}
  .av-grade{grid-template-columns:repeat(2,minmax(0,1fr))}
  .av-cabeca{width:min(520px,54%)}
  .passos{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:48px}
  .passos::before,.passos::after{display:none}
}
@media (max-width:720px){
  .sec{padding-block:80px}
  .sheet{border-radius:28px}
  .principios{grid-template-columns:1fr}
  .principios li{grid-template-columns:52px 1fr}
  .principios li:nth-last-child(2){border-bottom:0}
  .p-num{font-size:2.1rem}
  .passos{grid-template-columns:1fr}
  .resposta{padding-left:4px}
  .faq summary{grid-template-columns:36px 1fr 24px}
  .rodape-dir{align-items:flex-start;text-align:left}
  .final{min-height:auto}
  .final-fundo{background:linear-gradient(180deg,rgba(3,9,26,.55) 0%,rgba(3,9,26,.92) 60%),url("img/sala-acesa.jpg") 62% 0/cover no-repeat}
  .locais-grid,.locais-grid.quatro{grid-template-columns:1fr}
  .local-foto{aspect-ratio:16/10}
  .videolap-fundo{background:linear-gradient(180deg,var(--canvas) 0%,rgba(6,21,50,.3) 20%,rgba(4,13,36,.85) 52%,var(--canvas) 100%),url("img/sala-video.jpg") 68% 0/auto 62% no-repeat}
  .videolap-cabeca{min-height:0;padding-top:clamp(160px,34vh,260px)}
  /* avaliações: fila que desliza para o lado, para a página não ficar longa */
  .av-grade{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);margin-inline:calc(-1*var(--gutter));padding:6px var(--gutter) 22px;scrollbar-width:none}
  .av-grade::-webkit-scrollbar{display:none}
  .av-card{scroll-snap-align:start}
  .av-dica{display:block;text-align:center;font:500 .68rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}
  .av-fundo{height:clamp(300px,54vh,440px);background:linear-gradient(180deg,rgba(4,13,36,.05) 0%,rgba(4,13,36,.12) 42%,rgba(4,13,36,.86) 76%,var(--canvas-deep) 92%),url("img/avaliacoes-consulta-1100.jpg") 30% 20%/cover no-repeat;background-repeat:no-repeat}
  .av-cabeca{width:auto;margin-left:0;min-height:0;padding-top:clamp(200px,38vh,320px)}
  .avaliacoes .centro-cta{margin-top:28px}
  .av-link{gap:8px;padding:0 16px 0 13px;font-size:.93rem;white-space:nowrap}
  .av-link::before{width:18px;height:18px}
  .btn{min-height:56px;font-size:1.06rem;padding:0 1.5em 0 1.3em}
  .galeria-grade{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1*var(--gutter));padding:4px var(--gutter) 16px;scrollbar-width:none}
  .galeria-grade::-webkit-scrollbar{display:none}
  .galeria-item{scroll-snap-align:start}
  .galeria-abrir{font-size:1.35rem}
  .mini-rotulos span{font-size:.52rem;padding:5px 8px}
  .atlas-lista{gap:8px}
  .atlas-lista button{grid-template-columns:1fr;grid-template-areas:"num" "nome";row-gap:6px;padding:12px 10px;border-radius:14px}
  .atlas-lista .nome{font-size:1.08rem;line-height:1.2}
  .atlas-lista .apelido{display:none}
  .atlas-janela{border-radius:18px}
  .atlas-rotulo{font-size:.62rem;padding:7px 11px}
  .marcos{grid-template-columns:1fr}
  .video-slot{border-radius:20px}
  .video-titulo{bottom:calc(16px + 66px);font-size:1.35rem}
  .video-play{bottom:16px;left:16px;font-size:.95rem}
}

/* ---------- pausas ---------- */
body.pausado *,body.pausado *::before,body.pausado *::after{animation-play-state:paused !important}

/* ---------- movimento reduzido ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important;transition:none !important;transition-delay:0s !important}
  .reveal .r{opacity:1 !important;transform:none !important}
  .sutura-pontos path{opacity:1}
  .marca .anel{stroke-dashoffset:0}
  .portais path,.pontos-hernia circle{opacity:1;transform:none}
  .destaque::after{transform:none}
  .reveal .av-nota-estrelas svg{opacity:1;transform:none}
  .btn:hover,.reveal.in .btn.r:hover,.avaliacoes.in .av-card:hover,.locais.in .local:hover{transform:none}
}
