/* Dr. Victor Cunha · Pequenas cirurgias
   Mundo da filmagem: sala de procedimento em azul-marinho, luz fria do foco, campo cirúrgico azul. */

: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-hover:#FFFFFF;
  --accent-muted:rgba(110,144,191,.18);
  --accent-ink:#1F4C93;
  --accent-ink-hover:#173E7B;
  --beam:#6E90BF;
  --drape:#27579E;
  --coral:#C9735F;
  --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);
  --obj-pos:60% 35%;
  --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{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")}
.amb-dust i{position:absolute;bottom:-12px;width:2px;height:2px;border-radius:50%;background:rgba(220,232,248,.55);box-shadow:0 0 6px rgba(220,232,248,.35);animation:poeira 26s linear infinite;opacity:0}
.amb-dust i:nth-child(1){left:6%;animation-duration:31s;animation-delay:-4s}
.amb-dust i:nth-child(2){left:13%;animation-duration:24s;animation-delay:-17s}
.amb-dust i:nth-child(3){left:19%;animation-duration:37s;animation-delay:-9s;transform:scale(1.4)}
.amb-dust i:nth-child(4){left:26%;animation-duration:28s;animation-delay:-22s}
.amb-dust i:nth-child(5){left:33%;animation-duration:34s;animation-delay:-2s}
.amb-dust i:nth-child(6){left:39%;animation-duration:26s;animation-delay:-13s}
.amb-dust i:nth-child(7){left:45%;animation-duration:40s;animation-delay:-28s}
.amb-dust i:nth-child(8){left:52%;animation-duration:29s;animation-delay:-6s}
.amb-dust i:nth-child(9){left:58%;animation-duration:35s;animation-delay:-19s}
.amb-dust i:nth-child(10){left:64%;animation-duration:27s;animation-delay:-11s}
.amb-dust i:nth-child(11){left:70%;animation-duration:38s;animation-delay:-31s}
.amb-dust i:nth-child(12){left:76%;animation-duration:25s;animation-delay:-3s}
.amb-dust i:nth-child(13){left:81%;animation-duration:33s;animation-delay:-24s}
.amb-dust i:nth-child(14){left:86%;animation-duration:30s;animation-delay:-15s}
.amb-dust i:nth-child(15){left:91%;animation-duration:36s;animation-delay:-8s}
.amb-dust i:nth-child(16){left:95%;animation-duration:27s;animation-delay:-20s}
.amb-dust i:nth-child(17){left:3%;animation-duration:39s;animation-delay:-33s}
.amb-dust i:nth-child(18){left:48%;animation-duration:32s;animation-delay:-26s}
@keyframes poeira{0%{transform:translate3d(0,0,0);opacity:0}12%{opacity:.8}88%{opacity:.55}100%{transform:translate3d(24px,-108vh,0);opacity:0}}

/* ---------- 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 .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)}
.menu-movel.aberto{opacity:1}
.menu-movel nav{display:flex;flex-direction:column}
.menu-movel nav a{font:400 2rem/1.25 var(--f-display);text-decoration:none;padding:10px 0;border-bottom:1px solid var(--line-dark)}
@media (max-width:1100px){
  .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 ---------- */
.hero{position:relative;z-index:1}
.stage{position:relative;overflow:hidden;background:var(--canvas-deep)}
.stage-media{position:absolute;inset:0}
.stage-media>*{position:absolute;inset:0;width:100%;height:100%}
.still{background-size:cover;background-position:var(--obj-pos);background-repeat:no-repeat}
/* a luz desce do foco: a imagem acesa aparece por uma máscara redonda que nasce na lâmpada */
.still-fim{-webkit-mask-image:radial-gradient(circle at var(--lx,68.5%) var(--ly,2%),#000 calc(var(--r,300vmax) - var(--suave,22vh)),transparent var(--r,300vmax));mask-image:radial-gradient(circle at var(--lx,68.5%) var(--ly,2%),#000 calc(var(--r,300vmax) - var(--suave,22vh)),transparent var(--r,300vmax))}
.modo-scrub .still-fim,.modo-estatico .still-fim{--r:0px}
.scrim{background:radial-gradient(ellipse 120% 92% at 62% 42%,rgba(3,9,26,0) 38%,rgba(3,9,26,.6) 100%)}
.scrim-lado{background:linear-gradient(90deg,rgba(3,9,26,.84) 0%,rgba(3,9,26,.6) 28%,rgba(3,9,26,.16) 52%,rgba(3,9,26,0) 64%)}

/* modo scrub (desktop) */
.modo-scrub .hero{height:640vh}
.modo-scrub .stage{position:sticky;top:0;height:100vh}
.modo-scrub .hero-static{display:none}

.bands{position:absolute;inset:0;pointer-events:none;display:none}
.modo-scrub .bands{display:block}
.band{position:absolute;left:var(--hero-x);top:50%;width:min(46vw,680px);transform:translateY(-50%);opacity:0;isolation:isolate;color:var(--text-primary);text-shadow:var(--tshadow);--k:0}
.band::before{content:"";position:absolute;inset:-22% -16% -22% -24%;z-index:-1;pointer-events:none;opacity:calc(.25 + .75*var(--k,1));background:radial-gradient(ellipse 72% 64% at 42% 50%,rgba(3,8,22,.66) 0%,rgba(3,8,22,.42) 46%,rgba(3,8,22,0) 76%)}
.band.vivo{pointer-events:auto}
.band .btn{text-shadow:none}
.band-kicker{font:500 .74rem/1.4 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:1.1rem}
.band-title{font:400 clamp(2.9rem,5.7vw,6.1rem)/1.02 var(--f-display);letter-spacing:-.005em;margin:0}
.b2 .band-title,.b3 .band-title{font-size:clamp(2.1rem,3.7vw,3.9rem);line-height:1.12}
.band-lines>span{display:block}
.b2 .band-lines>span:nth-child(2){padding-left:1.15em}
.b2 .band-lines>span:nth-child(3){padding-left:2.3em}
.band-name{font:400 clamp(3.4rem,6.8vw,7.4rem)/.98 var(--f-display);letter-spacing:-.01em;margin:0 0 .7rem}
.band-sub{font-size:clamp(1.02rem,1.25vw,1.2rem);line-height:1.55;color:#D6E0EE;max-width:44ch;margin-bottom:1.8rem}
.band-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.band-tagline{font:400 clamp(1.7rem,2.7vw,2.8rem)/1.15 var(--f-display);color:#E6EDF7;margin:0 0 .9rem}
.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(1)}
.b4 .destaque::after{transform:scaleX(clamp(0,calc((var(--k,0) - .62)*3.2),1))}
.hero-static .destaque::after{animation:sublinha 1.2s var(--ease-out) .9s both}
@keyframes sublinha{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* divisão de texto */
.split .w{display:inline-block;white-space:nowrap}
.split .c{display:inline-block}
.band-lines .w{display:inline-block;white-space:nowrap}
.b3 .c{display:inline-block}
/* faixa 1: deriva para baixo, como a luz que cai */
.b1 .band-kicker{opacity:clamp(0,calc(var(--k,0)*2.2),1)}
.b1 .w{--kc:clamp(0,calc((var(--k,0) - var(--th,0))*2.4),1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*-.42em))}
/* faixa 2: aproximação com foco, cada linha mais funda */
.ln{display:grid}
.ln>span{grid-area:1/1}
.b2 .ln{--kc:clamp(0,calc((var(--k,0) - var(--th,0))*2.3),1);transform:scale(calc(.9 + .1*var(--kc)));transform-origin:0 60%}
.b2 .ln-nitido{opacity:var(--kc)}
.b2 .ln-suave{opacity:calc(min(1,var(--kc)*3)*(1 - var(--kc)));filter:blur(9px)}
/* faixa 3: alinhamento, como o instrumental no campo */
.b3 .c{--kc:clamp(0,calc((var(--k,0) - var(--th,0))*3),1);opacity:var(--kc);transform:translateX(calc((1 - var(--kc))*var(--jx,0px)))}
/* faixa 4: assentamento em três chegadas */
.b4 .settle-a{opacity:clamp(0,calc(var(--k,0)*3),1)}
.b4 .band-name .w{--kc:clamp(0,calc((var(--k,0) - var(--th,0))*2.6),1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*.5em))}
.b4 .settle-b{--ks:clamp(0,calc((var(--k,0) - .55)*4),1);opacity:var(--ks);transform:translateY(calc((1 - var(--ks))*14px))}
.b4 .settle-c{--kb:clamp(0,calc((var(--k,0) - .74)*5),1);opacity:var(--kb);transform:translateY(calc((1 - var(--kb))*14px))}

/* anel de carregamento e seta */
.hero-cue{position:absolute;left:var(--hero-x);bottom:clamp(20px,4vh,40px);display:none;align-items:center;gap:12px;color:var(--text-secondary);font:500 .72rem/1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;transition:opacity .6s var(--ease-out)}
.modo-scrub .hero-cue{display:flex}
/* aviso de rolar enquanto a luz espera o primeiro gesto (computador e paisagem) */
.modo-estatico .stage.aguardando .hero-cue{display:flex;z-index:3}
.modo-estatico .stage .hero-cue .ring{display:none}
.modo-estatico .stage .hero-cue .chev{display:block;animation:chev-vai 2.6s var(--ease-inout) -1s infinite}
@media (orientation:portrait){.modo-estatico .stage.aguardando .hero-cue{display:none}}
.hero-cue .ring{width:30px;height:30px;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:3}
.ring-bg{stroke:rgba(169,185,208,.18)}
.ring-fg{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .2s linear}
.hero-cue .chev{width:22px;height:22px;display:none}
.chev path{fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hero-cue.pronto .ring{display:none}
.hero-cue.pronto .chev{display:block;animation:chev-vai 2.6s var(--ease-inout) -1s infinite}
.hero-cue.longe{opacity:0}
@keyframes chev-vai{0%,100%{transform:translateY(-3px);opacity:.55}50%{transform:translateY(4px);opacity:1}}

/* modo estático (celular, tablet em pé, movimento reduzido) */
.hero-static{position:relative;z-index:2;padding:calc(var(--nav-h) + 24px) var(--hero-x) clamp(48px,8vh,88px);max-width:760px;text-shadow:var(--tshadow)}
.hero-static .btn{text-shadow:none}
.static-title{font:400 clamp(2.8rem,6vw,5.6rem)/1.02 var(--f-display);margin:0 0 1.2rem;animation:entra-titulo 1.4s var(--ease-out) both .15s}
.hero-static .band-kicker{animation:entra-titulo 1.2s var(--ease-out) both}
.hero-static .band-tagline{animation:entra-titulo 1.3s var(--ease-out) both .3s}
.hero-static .band-sub{animation:entra-titulo 1.3s var(--ease-out) both .42s}
.hero-static .band-ctas{animation:entra-titulo 1.3s var(--ease-out) both .5s}
@keyframes entra-titulo{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.modo-estatico .stage{min-height:100vh;min-height:100svh;display:flex;align-items:center}
.modo-estatico .still{animation:respiro-luz 16s var(--ease-inout) -4s infinite alternate}
@keyframes respiro-luz{to{transform:scale(1.05)}}

@media (orientation:portrait){
  .modo-estatico .stage{display:block;min-height:0;padding-top:0}
  .modo-estatico .stage-media{position:relative;inset:auto;width:100%;aspect-ratio:4/5;max-height:72svh}
  .modo-estatico .still{background-position:50% 50%}
  .modo-estatico .scrim{background:linear-gradient(180deg,rgba(3,9,26,.5) 0%,rgba(3,9,26,0) 24%,rgba(3,9,26,0) 58%,var(--canvas) 100%)}
  .modo-estatico .scrim-lado{display:none}
  .modo-estatico .hero-static{margin-top:-7svh;padding:0 var(--gutter) 56px;max-width:none}
  .modo-estatico .hero-static .band-kicker{font-size:.66rem;letter-spacing:.12em;margin-bottom:.8rem}
  .modo-estatico .static-title{font-size:clamp(2.6rem,11vw,4rem)}
}

/* ---------- 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){.modo-scrub .sutura,.modo-estatico .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)}
.sec-head.centro{text-align:center;display:flex;flex-direction:column;align-items:center}
.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}

/* ---------- atlas ---------- */
.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,1.12fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.atlas-fig{position:relative;margin:0}
.atlas-janela{position:relative;aspect-ratio:2400/1792;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{display:block;width:100%;height:100%}
.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}
.marca.on .anel{stroke-dashoffset:0}
.marca .corte{fill:none;stroke:#FFFFFF;stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-dasharray:9 8}
.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,.38) calc(var(--rv) + 110px),rgba(6,21,50,.55) calc(var(--rv) + 420px));transition:opacity .45s var(--ease-out)}
.atlas-vinheta.troca{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{opacity:0}
.camada-tag{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font:500 .7rem/1 var(--f-mono);letter-spacing:.16em;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{width:7px;height:7px;border-radius:50%;background:var(--accent-ink);animation:respira 4.4s ease-in-out -1s infinite}
.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-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);font-style:normal;color:var(--ink);max-width:60ch}
.mini-galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.mini-vazia{grid-column:1/-1;font-size:.98rem;color:var(--ink-secondary);padding:18px;border:1px dashed var(--paper-line);border-radius:14px}
@keyframes respira{0%,100%{opacity:1}50%{opacity:.5}}

/* ---------- por que cirurgião ---------- */
.esp-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:center;margin-top:clamp(64px,8vw,112px)}
.esp-texto{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(26px,3vw,40px)}
.esp-texto .lede{color:#D6E0EE;font-size:clamp(1.15rem,1.5vw,1.35rem);max-width:46ch}
.esp-foto{position:relative;justify-self:end;width:100%;max-width:440px;border-radius:26px;overflow:hidden;border:1px solid var(--line-dark);box-shadow:0 30px 70px rgba(2,8,24,.45)}
.esp-foto img{display:block;width:100%;height:auto}
.esp-foto figcaption{position:absolute;left:0;right:0;bottom:0;padding:48px 18px 16px;background:linear-gradient(180deg,rgba(4,13,36,0),rgba(4,13,36,.86));font:500 .7rem/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:#D6E0EE}
.principios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,5vw,80px)}
.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}
.staccato{position:relative;font:400 clamp(1.9rem,3.3vw,3.2rem)/1.12 var(--f-display);font-style:italic;letter-spacing:-.005em;max-width:24ch;overflow:hidden;padding:.05em .1em .14em 0}
.staccato span{display:block;text-wrap:balance}
.staccato-b{color:var(--beam);margin-top:.18em}
.staccato::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(255,255,255,0) 35%,rgba(227,236,249,.35) 50%,rgba(255,255,255,0) 65%);transform:translateX(-120%);mix-blend-mode:soft-light;pointer-events:none}
.visivel .staccato::after{animation:brilho-varre 9s var(--ease-inout) -3s infinite}
@keyframes brilho-varre{0%,55%{transform:translateX(-120%)}100%{transform:translateX(120%)}}

/* ---------- como funciona ---------- */
.como .wrap{position:relative}
.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}

/* ---------- fotos das lesões ---------- */
.foto-item{position:relative;border-radius:20px;overflow:hidden;background:var(--panel);aspect-ratio:4/5;border:1px solid var(--line-dark)}
.foto-item img{width:100%;height:100%;object-fit:cover;transition:opacity .5s var(--ease-out)}
.foto-item .veu{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;text-align:center;background:rgba(6,21,50,.55);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border:0;color:var(--text-primary);font-size:.92rem;cursor:pointer;transition:opacity .5s var(--ease-out)}
.foto-item .veu svg{width:26px;height:26px}
.foto-item .veu svg *{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.foto-item.revelada .veu{opacity:0;pointer-events:none}
.foto-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 10px;background:linear-gradient(180deg,rgba(4,13,36,0),rgba(4,13,36,.78));color:#EEF3FA;font:500 .66rem/1.3 var(--f-mono);letter-spacing:.12em;text-transform:uppercase}
.foto-ampliar{position:absolute;inset:0;border:0;background:transparent;cursor:zoom-in}
.foto-ia{position:absolute;left:8px;top:8px;padding:5px 8px;border-radius:999px;background:rgba(4,13,36,.72);color:#E3ECF9;font:500 .56rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;pointer-events:none}
.foto-dialogo{max-width:min(92vw,980px);width:100%;padding:0;border:0;border-radius:24px;background:var(--canvas-deep);color:var(--text-primary);box-shadow:0 40px 120px rgba(0,0,0,.6)}
.foto-dialogo::backdrop{background:rgba(2,6,18,.82)}
.foto-dialogo img{width:100%;max-height:78vh;object-fit:contain;background:#000}
.foto-dialogo p{padding:16px 22px 20px;color:var(--text-secondary)}
.dlg-fechar{position:absolute;right:12px;top:12px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(6,21,50,.7);cursor:pointer;display:grid;place-items:center}
.dlg-fechar svg{width:20px;height:20px}
.dlg-fechar path{stroke:#fff;stroke-width:2;stroke-linecap:round}

/* ---------- avaliações ---------- */
/* bloco escuro com a foto da consulta: o rosto à esquerda, o texto à direita, sobre o cabelo escuro */
.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-cabeca .av-nota{align-items:flex-start}
.especialista .sec-title{max-width:22ch}
.av-nota{display:flex;flex-direction:column;align-items:center;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)}
.avaliacoes.assentado .av-card{transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out)}
.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-avatar img{width:100%;height:100%;object-fit:cover}
.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}

/* ---------- 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,.retrato-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.retrato-video{background:#000;z-index:1}
.video-play{position:absolute;left:50%;bottom:28px;z-index:2;transform:translateX(-50%);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: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)}}
.retrato-moldura.tocando::after,.retrato-moldura.tocando .video-play{display:none}
.retrato-moldura.com-video{aspect-ratio:9/16;width:min(100%,calc((100vh - var(--nav-h) - 64px) * 9 / 16));margin-inline:auto}
.retrato-moldura.com-video .retrato-video{object-fit:contain}
.retrato-moldura.com-video .retrato-video{cursor:pointer}
.retrato-moldura.tocando::after{display:none}
.retrato-moldura.com-video.tocando .video-play:not([hidden]){display:inline-flex}
/* botão de som, discreto no canto */
.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-som:not(.ligado){animation:som-chama 2.4s ease-in-out .8s infinite}
@keyframes som-chama{0%,100%{box-shadow:0 0 0 1px rgba(227,236,249,.22) inset}50%{box-shadow:0 0 0 1px rgba(227,236,249,.22) inset,0 0 0 6px rgba(227,236,249,.18)}}
/* a incisão: uma linha fina que cresce com um bisturi na ponta */
.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))}
.retrato-moldura::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0) 40%,rgba(227,236,249,.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%)}}
.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.9rem,2.7vw,2.5rem)/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}

/* ---------- locais ---------- */
.locais-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,22px)}
.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:.5}
.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}

/* ---------- 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}}

/* ---------- 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,.9) 0%,rgba(3,9,26,.72) 36%,rgba(3,9,26,.25) 70%,rgba(3,9,26,.35) 100%),url("hero-fim.jpg") var(--obj-pos)/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-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){
  .atlas-corpo{grid-template-columns:1fr}
  .retrato{position:static}
  .esp-grid,.sobre-grid{grid-template-columns:1fr}
  .esp-foto{justify-self:start;max-width:520px}
  .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}
  .locais-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .retrato{max-width:460px}
}
@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,.9) 60%),url("hero-fim-retrato.jpg") 50% 0/cover no-repeat}
  .locais-grid{grid-template-columns:1fr}
  .local-foto{aspect-ratio:16/10}
  /* 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)}
  /* no celular, a foto fica no alto e o texto começa onde ela já escureceu */
  .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}
  .video-play{bottom:18px;font-size:.95rem}
}
@media (max-height:560px){.hero-cue{display:none !important}}
@media (max-width:720px){
  .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}
  .band-tagline{font-size:clamp(1.5rem,6.4vw,2rem)}
}

/* ---------- 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}
  .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}
}
