/* =========================================================================
   CLÍNICA OLHER — folha de estilo própria (v2, “entrar em foco”)
   Escrita do zero para a Olher (não usa o kit visual do protótipo do Paulo Magno).
   Conceito: tudo “entra em foco” — título em escala de Snellen, ilustração dentro de uma
   lente com a escala de eixo (0°–180°) da armação de prova, íris (o símbolo da marca)
   como forma recorrente: nós da jornada, retratos, órbita dos exames, hover em círculo.
   Paleta oficial (brandbook 09/2024): #DDE5ED · #A4C8E1 · #147BD1 · #003087 · #051C2C
   ========================================================================= */
:root{
  --primary:#003087;   /* Oceano azul — texto/links/botões no claro (11,9:1 com branco) */
  --action:#147BD1;    /* Azul água — ação, ícones, elementos grandes (4,39:1 com branco) */
  --fresh:#A4C8E1;     /* Azul fresco — destaque no escuro (9,9:1 sobre a noite) */
  --ice:#DDE5ED;       /* Branco gelado */
  --ink:#051C2C;       /* Noite azul */
  --ink-2:#1E3446; --muted:#4B616D; --line:#D9E3EC; --tint:#EEF3F7;
  --grad:
    radial-gradient(60% 80% at 100% 0%, rgba(20,123,209,.42) 0%, rgba(20,123,209,0) 62%),
    radial-gradient(60% 90% at 0% 100%, rgba(0,48,135,.85) 0%, rgba(0,48,135,0) 70%),
    linear-gradient(160deg, #051C2C 0%, #04233F 55%, #062a5c 100%);
  --lens: radial-gradient(circle at 32% 28%, #3b97e6 0%, #147BD1 46%, #0c5aa8 100%);
  --font: Inter, system-ui, sans-serif;
  --ease: cubic-bezier(.2,.7,.2,1);
}

/* ---------- base ---------- */
.site{container:site/inline-size;font-family:var(--font);color:var(--ink);background:#fff;font-size:17px;line-height:1.6;min-height:100%;position:relative;-webkit-font-smoothing:antialiased}
:where(.site) a{color:inherit;text-decoration:none}
:where(.site) img{display:block;max-width:100%}
:where(.site) :is(h1,h2,h3,h4,p){margin:0}
:where(.site) em{font-style:normal;color:var(--action)}
.site *{box-sizing:border-box}
.wrap{max-width:1304px;margin-inline:auto;padding-inline:32px}
.page{display:none}
.page.on{display:block}
.ltr{direction:ltr;unicode-bidi:isolate;display:inline-block}
.ico{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ico.fill{fill:currentColor;stroke:none}
.muted{color:var(--muted)}

/* ---------- tipografia ---------- */
.h1{font-size:58px;line-height:1.04;font-weight:600;letter-spacing:-.04em}
.h2{font-size:46px;line-height:1.06;font-weight:600;letter-spacing:-.035em;margin-top:16px}
.h3{font-size:26px;line-height:1.2;font-weight:600;letter-spacing:-.02em}
.lead{font-size:19px;line-height:1.6}
.sub{color:var(--muted);font-size:17.5px;margin-top:18px;max-width:560px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--primary)}
.eyebrow::before{content:"";width:9px;height:9px;border-radius:50%;border:2px solid currentColor;flex:none}
.lnk{font-weight:600;color:var(--primary);cursor:pointer;font-size:15px;display:inline-block;margin-top:18px}
.link-arrow{display:inline-flex;gap:8px;align-items:center;font-weight:600;font-size:14.5px;color:var(--primary)}
.link-arrow .ico{width:17px;height:17px;transition:transform .2s}
.bcard:hover .link-arrow .ico{transform:translateX(3px)}

/* ---------- botões ---------- */
.btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 26px;border-radius:999px;font-weight:600;font-size:15.5px;border:1.5px solid transparent;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .25s;white-space:nowrap;font-family:inherit}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--action)}
.btn-light,.btn-aqua{background:var(--fresh);color:var(--ink)}
.btn-light:hover,.btn-aqua:hover{background:#fff}
.btn-ghost,.btn-glass{background:transparent;border-color:rgba(255,255,255,.32);color:#fff}
.btn-ghost:hover,.btn-glass:hover{border-color:#fff}
.btn-line{background:transparent;border-color:var(--primary);color:var(--primary)}
.btn-line:hover{background:var(--primary);color:#fff}
.btn-sm{height:44px;padding:0 18px;font-size:14px}
.site a:focus-visible,.site button:focus-visible,.btn:focus-visible{outline:3px solid var(--action);outline-offset:3px}

/* =========================================================================
   CABEÇALHO
   ========================================================================= */
.hdrwrap{position:sticky;top:0;height:0;z-index:50}
.hdr{position:absolute;inset:0 0 auto 0;color:#fff;transition:background .35s,color .35s,box-shadow .35s}
.hdr-info{font-size:12.5px;border-bottom:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.72)}
.hdr-info .wrap{display:flex;justify-content:space-between;align-items:center;height:38px;gap:20px}
.hdr-info span,.hdr-info a{display:inline-flex;gap:7px;align-items:center;white-space:nowrap}
.hdr-info .r{gap:22px}
.hdr-info .ico{width:15px;height:15px;color:var(--fresh)}
.hdr-main{display:flex;align-items:center;gap:26px;height:78px}
.logo{flex:none;cursor:pointer}
.logo img{height:30px;width:auto}
.logo .lg-l{display:none}
.mnav{display:flex;align-items:center;gap:24px;margin-inline:auto}
.mnav > a,.has-sub > a{font-size:14.5px;font-weight:500;color:rgba(255,255,255,.86);padding:8px 0;position:relative;cursor:pointer;display:inline-flex;gap:4px;align-items:center;white-space:nowrap}
.mnav .ico{width:15px;height:15px}
.mnav a::after{content:"";position:absolute;left:50%;bottom:0;width:6px;height:6px;border-radius:50%;background:var(--fresh);transform:translate(-50%,6px) scale(0);transition:transform .3s var(--ease)}
.mnav a.on::after,.mnav > a:hover::after{transform:translate(-50%,6px) scale(1)}
.has-sub{position:relative}
.mega{position:absolute;top:calc(100% + 18px);left:-60px;width:660px;background:#fff;color:var(--ink);border-radius:26px;padding:12px;display:grid;grid-template-columns:230px 1fr;gap:10px;box-shadow:0 30px 80px rgba(1,12,26,.25);opacity:0;visibility:hidden;transform:translateY(6px);transition:.25s}
.mega::before{content:"";position:absolute;inset:-20px 0 auto 0;height:20px}
.has-sub:hover .mega,.has-sub:focus-within .mega,.mega.force{opacity:1;visibility:visible;transform:none}
.sub-feat{background:var(--grad);color:#fff;border-radius:18px;padding:20px;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;min-height:250px;position:relative;overflow:hidden;cursor:pointer}
.sub-feat .lensdot{position:absolute;top:18px;right:18px}
.sub-feat small{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fresh);font-weight:700}
.sub-feat b{font-size:19px;line-height:1.25}
.sub-feat span{font-size:13px;opacity:.72}
.sub-list{display:grid;grid-template-columns:1fr 1fr;gap:2px;align-content:start}
.sub-list a{display:flex;gap:10px;align-items:center;padding:13px 12px;border-radius:14px;font-size:14px;font-weight:500;cursor:pointer;color:var(--ink)}
.sub-list a:hover{background:var(--tint)}
.sub-list a .ico{width:18px;height:18px;color:var(--action)}
.sub-list .all{grid-column:span 2;color:var(--primary);font-weight:600;justify-content:space-between;background:var(--tint)}
.lensdot{width:62px;height:62px;border-radius:50%;background:var(--lens);box-shadow:0 0 0 6px rgba(164,200,225,.22);position:relative;flex:none}
.lensdot::after{content:"";position:absolute;inset:18%;border-radius:50%;border:1px dashed rgba(255,255,255,.5)}
.btn-cta{height:46px;padding:0 20px;font-size:14.5px;background:var(--fresh);color:var(--ink);flex:none}
.hb{display:none;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:transparent;color:inherit;place-items:center;cursor:pointer;flex:none}
.hb.wa{background:var(--fresh);color:var(--ink);border:0}
.msheet{display:none}
/* cabeçalho sólido (ao rolar) */
.hdr.solid{background:rgba(255,255,255,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink);box-shadow:0 1px 0 var(--line),0 10px 30px rgba(5,28,44,.06)}
.hdr.solid .hdr-info{display:none}
.hdr.solid .lg-d{display:none}
.hdr.solid .lg-l{display:block}
.hdr.solid .mnav > a,.hdr.solid .has-sub > a{color:var(--ink-2)}
.hdr.solid .mnav a::after{background:var(--action)}
.hdr.solid .btn-cta{background:var(--primary);color:#fff}
.hdr.solid .hb{border-color:var(--line)}
.hdr.solid .hb.wa{background:var(--primary);color:#fff}

/* =========================================================================
   HOME — topo “entrar em foco”
   ========================================================================= */
.fhero{background:var(--grad);color:#fff;padding-top:116px;position:relative;overflow:hidden}
.fh-in{display:grid;grid-template-columns:1.08fr .92fr;gap:40px;align-items:center;min-height:620px;padding-block:36px 56px}
.kick{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--fresh);font-weight:600;display:flex;gap:10px;align-items:center;margin-bottom:30px}
.kick i{width:10px;height:10px;border-radius:50%;border:2px solid var(--fresh);flex:none}
.snellen{margin:0;display:grid;gap:4px;font-weight:600;letter-spacing:-.05em;line-height:.98}
.snellen .ln{display:flex;align-items:center;gap:18px;white-space:nowrap}
.snellen .ln i{font-style:normal;font-size:10.5px;letter-spacing:.06em;color:rgba(164,200,225,.6);font-weight:600;width:46px;flex:none;text-align:right;border-right:1px solid rgba(164,200,225,.3);padding-right:12px;line-height:1.6}
.snellen .l1{font-size:116px}
.snellen .l2{font-size:72px;letter-spacing:-.045em}
.snellen .l3{font-size:58px;letter-spacing:-.04em}
.snellen em{color:var(--fresh)}
.fhero .lead{color:rgba(255,255,255,.78);max-width:520px;margin:30px 0 34px 64px}
.fhero .btns{margin-left:64px}
/* lente com a escala de eixo */
.lensbox{position:relative;aspect-ratio:1;width:100%;max-width:580px;justify-self:center}
.lensbox .dial{position:absolute;inset:0;width:100%;height:100%;color:rgba(164,200,225,.6);overflow:visible}
.lens{position:absolute;inset:12%;border-radius:50%;overflow:hidden;background:var(--lens);box-shadow:0 34px 90px rgba(0,0,0,.38),inset 0 0 0 10px rgba(255,255,255,.06)}
.lens::before{content:"";position:absolute;inset:7%;border-radius:50%;border:1px dashed rgba(255,255,255,.32);z-index:1;pointer-events:none}
.lens::after{content:"";position:absolute;width:48%;height:30%;left:10%;top:7%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.26),rgba(255,255,255,0));transform:rotate(-24deg);z-index:2;pointer-events:none}
.lens img{position:absolute;bottom:-1%;left:50%;transform:translateX(-50%);height:86%;width:auto;max-width:none;filter:drop-shadow(0 14px 18px rgba(1,12,26,.3))}
.lens-tag{display:none}
/* duas portas */
.doors2{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.14)}
.dr{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:32px 40px;cursor:pointer;color:#fff}
.dr:first-child{padding-inline-start:max(32px,calc((100cqw - 1240px)/2))}
.dr:last-child{padding-inline-end:max(32px,calc((100cqw - 1240px)/2));border-left:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03)}
.dr::before{content:"";position:absolute;right:calc(var(--pr,40px) + 26px);top:50%;width:52px;height:52px;margin-top:-26px;border-radius:50%;background:var(--action);transform:scale(0);transition:transform .8s var(--ease);z-index:-1}
.dr:last-child{--pr:max(32px,calc((100cqw - 1240px)/2))}
.dr:hover::before{transform:scale(22)}
.dr .n{width:46px;height:46px;border-radius:50%;border:1px solid rgba(164,200,225,.5);display:grid;place-items:center;font-size:13px;font-weight:600;color:var(--fresh);letter-spacing:.06em}
.dr .t b{display:block;font-size:23px;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.dr .t span{font-size:14.5px;color:rgba(255,255,255,.7)}
.dr .go{width:54px;height:54px;border-radius:50%;background:var(--fresh);color:var(--ink);display:grid;place-items:center;transition:transform .3s}
.dr:hover .go{transform:rotate(-45deg)}

/* fatos */
.facts-s{background:#fff;border-bottom:1px solid var(--line)}
.facts{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:0}
.facts li{padding:36px 28px;border-left:1px solid var(--line);display:flex;gap:14px;align-items:center}
.facts li:first-child{border-left:0;padding-left:0}
.facts b{font-size:46px;font-weight:600;letter-spacing:-.045em;color:var(--primary);line-height:1}
.facts span{font-size:14px;color:var(--muted);max-width:170px;line-height:1.35}
.facts .skel{font-size:15px}

/* ---------- seções ---------- */
.sec{padding:124px 0}
.sec.tint{background:var(--tint)}
.sec.navy{background:var(--grad);color:#fff}
.navy .eyebrow,.phead .eyebrow{color:var(--fresh)}
.navy .sub{color:rgba(255,255,255,.75)}
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:56px}
.shead p{color:var(--muted);max-width:580px;margin-top:16px;font-size:17px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}

/* tabela de sintomas (Snellen) */
.idg{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}
.tip{display:flex;gap:10px;align-items:center;margin-top:26px;font-weight:600;color:var(--primary);font-size:15px}
.tip .ico{color:var(--action)}
.chart{background:#fff;border:1px solid var(--line);border-radius:30px;padding:26px 30px;box-shadow:0 40px 80px rgba(5,28,44,.08);text-align:center;position:relative}
.chart::before{content:"";position:absolute;inset:10px;border-radius:22px;border:1px dashed var(--line);pointer-events:none}
.crow{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 26px;padding:15px 52px;border-bottom:1px dashed var(--line);position:relative}
.crow:last-child{border-bottom:0}
.crow i{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-style:normal;font-size:10px;color:var(--muted);letter-spacing:.06em;font-weight:600}
.crow a{font-weight:600;color:var(--ink);letter-spacing:-.025em;cursor:pointer;line-height:1.25;background:linear-gradient(var(--action),var(--action)) 0 100%/0 2px no-repeat;transition:background-size .35s var(--ease),color .2s}
.crow a:hover{color:var(--action);background-size:100% 2px}
.crow.r1 a{font-size:46px}
.crow.r2 a{font-size:33px}
.crow.r3 a{font-size:25px}
.crow.r4 a{font-size:19.5px}
.crow.r5 a{font-size:15.5px;letter-spacing:-.01em}

/* jornada (linha com íris) */
.jline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative}
.jline.five{grid-template-columns:repeat(5,1fr)}
.jline::before{content:"";position:absolute;left:36px;right:36px;top:36px;height:2px;background:linear-gradient(90deg,var(--action),var(--fresh))}
.jline li{position:relative;display:flex;flex-direction:column;gap:8px}
.jline .node{width:72px;height:72px;border-radius:50%;background:#fff;border:2px solid var(--action);display:grid;place-items:center;color:var(--primary);position:relative;z-index:1;font-weight:700;font-size:20px;box-shadow:0 0 0 10px var(--tint)}
.sec:not(.tint) .jline .node{box-shadow:0 0 0 10px #fff}
.jline .node::after{content:"";position:absolute;inset:7px;border-radius:50%;border:1px dashed rgba(20,123,209,.45)}
.jline .node .ico{width:24px;height:24px}
.jline b{font-size:20px;font-weight:600;margin-top:16px;letter-spacing:-.01em}
.jline p{color:var(--muted);font-size:15.5px;line-height:1.55}

/* especialidades em mosaico */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:226px;gap:16px}
.bento.mini{grid-auto-rows:210px}
.bt{position:relative;overflow:hidden;isolation:isolate;border-radius:26px;background:var(--tint);padding:26px;display:flex;flex-direction:column;justify-content:flex-end;cursor:pointer;color:var(--ink);transition:color .4s}
.tint .bt{background:#fff}
.bt::after{content:"";position:absolute;top:24px;right:24px;width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(5,28,44,.16);transition:border-color .4s}
.bt::before{content:"";position:absolute;top:24px;right:24px;width:46px;height:46px;border-radius:50%;background:var(--primary);transform:scale(0);transition:transform .8s var(--ease);z-index:-1}
.bt:hover{color:#fff}
.bt:hover::before{transform:scale(16)}
.bt:hover::after{border-color:rgba(255,255,255,.4)}
.bt-body{display:flex;flex-direction:column;gap:6px}
.bt .ic{position:absolute;top:24px;left:24px;width:50px;height:50px;border-radius:50%;background:#fff;color:var(--action);display:grid;place-items:center;transition:.4s}
.tint .bt .ic{background:var(--tint)}
.bt:hover .ic{background:rgba(255,255,255,.14);color:#fff}
.bt b{font-size:19.5px;font-weight:600;letter-spacing:-.015em;line-height:1.25}
.bt-body > span{font-size:14px;color:var(--muted);line-height:1.45;transition:color .4s}
.bt:hover .bt-body > span{color:rgba(255,255,255,.75)}
.new{font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:#FFF1B8;color:#6B5200;padding:2px 8px;border-radius:999px;vertical-align:3px;margin-left:6px}
.bt.big{grid-column:span 2;grid-row:span 2;background:var(--grad);color:#fff;padding:40px}
.bt.big::before,.bt.big::after{display:none}
.bt-ring{position:absolute;right:-16%;bottom:-34%;width:64%;aspect-ratio:1;border-radius:50%;background:var(--lens);z-index:-1;box-shadow:0 0 0 22px rgba(164,200,225,.07),0 0 0 44px rgba(164,200,225,.04)}
.bt.big .bt-ilu{position:absolute;right:4%;bottom:0;height:88%;width:auto;max-width:none;z-index:-1;filter:drop-shadow(0 20px 26px rgba(1,12,26,.35));transition:transform .6s var(--ease)}
.bt.big:hover .bt-ilu{transform:translateY(-6px)}
.bt.big .bt-body{max-width:48%}
.bt.big small{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--fresh);font-weight:600}
.bt.big b{font-size:36px;line-height:1.08;letter-spacing:-.03em}
.bt.big .bt-body > span{color:rgba(255,255,255,.76);font-size:15.5px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.tags span{font-size:12px;padding:5px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.25);color:#fff}
.more{display:inline-flex;gap:8px;align-items:center;font-weight:600;font-size:14.5px;margin-top:12px;color:var(--fresh)}
.more .ico{width:17px;height:17px}
.bt.tall{grid-row:span 2;background:var(--fresh)}
.bt.tall .bt-ilu{position:absolute;top:22px;left:50%;transform:translateX(-50%);height:56%;width:auto;max-width:none;z-index:-1;transition:transform .6s var(--ease)}
.bt.tall .ic{display:none}
.bt.tall .bt-body > span{color:var(--ink-2)}
.bt.tall .more{color:var(--primary)}
.bt.tall:hover .more{color:var(--fresh)}
.bt.tall::after{border-color:rgba(5,28,44,.25)}

/* exames em órbita */
.exg{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.exg .btns{margin-top:30px}
.orbit{position:relative;width:440px;height:440px;justify-self:center}
.orbit-ring{position:absolute;inset:0;width:100%;height:100%}
.orbit-ring circle{fill:none;stroke:rgba(164,200,225,.5);stroke-width:1.2;stroke-dasharray:2 7}
.orbit-ring .o2{stroke:rgba(164,200,225,.16);stroke-dasharray:none}
.core{position:absolute;inset:30%;border-radius:50%;background:var(--lens);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.35),0 0 0 12px rgba(164,200,225,.08)}
.core img{width:34px;margin-bottom:8px}
.core b{font-size:22px;font-weight:600;letter-spacing:-.02em}
.core span{font-size:13px;opacity:.82}
.o{position:absolute;left:50%;top:50%;width:124px;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;transform:translate(-50%,-23px) rotate(var(--a)) translate(165px) rotate(calc(-1 * var(--a)))}
.o i{font-style:normal;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--primary);display:grid;place-items:center;font-weight:700;font-size:14px;box-shadow:0 0 0 6px rgba(164,200,225,.25)}
.o span{font-size:14px;font-weight:600;line-height:1.3}
.exg.light .orbit-ring circle{stroke:rgba(20,123,209,.45)}
.exg.light .orbit-ring .o2{stroke:rgba(20,123,209,.14)}
.exg.light .o i{background:var(--primary);color:#fff;box-shadow:0 0 0 6px rgba(20,123,209,.12)}
.exg.light .o span{color:var(--ink)}

/* história */
.story2{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.st-vis{position:relative;aspect-ratio:1.12;width:100%;max-width:580px}
.big-yr{position:absolute;left:-6px;bottom:2%;font-size:200px;font-weight:700;letter-spacing:-.07em;color:transparent;-webkit-text-stroke:2px var(--fresh);line-height:.8;z-index:0}
.st-vis .lensbox{position:absolute;right:0;top:0;width:70%;z-index:1}
.story2 .btn-line{margin-top:30px}
.lensbox.sm{max-width:430px}
.sec .lensbox .dial,.facts-s .lensbox .dial{color:rgba(20,123,209,.5)}

/* corpo clínico — retratos circulares */
.arrows{display:flex;gap:10px;flex:none}
.arw{width:56px;height:56px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--ink);transition:.2s}
.arw:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.team{display:flex;gap:34px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px max(32px,calc((100cqw - 1240px)/2)) 10px;scroll-padding-inline:max(32px,calc((100cqw - 1240px)/2));scrollbar-width:none}
.team::-webkit-scrollbar{display:none}
.person{flex:0 0 196px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;scroll-snap-align:start;cursor:pointer}
.ring{width:180px;height:180px;border-radius:50%;padding:9px;border:1.5px dashed rgba(20,123,209,.45);margin-bottom:12px;transition:border-color .3s,padding .3s}
.person:hover .ring{border-color:var(--action);padding:5px}
.ph{width:100%;height:100%;border-radius:50%;background:var(--primary);position:relative;overflow:hidden;display:grid;place-items:center;color:#fff}
.ph img{position:absolute;width:170%;max-width:none;opacity:.14;left:-35%;top:-35%}
.ph span{position:relative;display:flex;gap:6px;align-items:center;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.ph span .ico{width:15px;height:15px}
.person:nth-child(3n+2) .ph{background:var(--action)}
.person:nth-child(3n) .ph{background:var(--ink)}
.person b{font-size:16.5px;font-weight:600;line-height:1.3}
.person .ar{font-size:13.5px;color:var(--primary);font-weight:600}
.person.nm .ar::after{content:" · não médica";color:var(--muted);font-weight:500}
.person p{font-size:13.5px;color:var(--muted);line-height:1.45}
.reg{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:4px}
.people{display:flex;flex-wrap:wrap;gap:34px}
.people.two{gap:24px}
.people.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px 28px}
.people.grid .person{flex:none}
.person.lg .ring{width:210px;height:210px}

/* convênios */
.marquee{overflow:hidden;border-block:1px solid var(--line);padding:22px 0;margin-bottom:56px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq{display:flex;gap:16px;width:max-content;animation:mq 34s linear infinite}
.mq span{height:58px;padding:0 36px;border-radius:999px;border:1.5px dashed #BFD0DE;display:grid;place-items:center;font-weight:600;color:var(--muted);font-size:14px;background:#fff}
@keyframes mq{to{transform:translateX(-50%)}}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tri{border-radius:26px;border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;gap:6px;transition:.25s;background:#fff;cursor:pointer}
.tri:hover{border-color:var(--action)}
.tri .ic{width:54px;height:54px;border-radius:50%;background:var(--tint);color:var(--primary);display:grid;place-items:center;margin-bottom:14px}
.tri .ic.wa{background:#E3F6EA;color:#128C4A}
.tri small{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
.tri b{font-size:20px;font-weight:600}
.tri > span{font-size:14.5px;color:var(--muted)}
.ins{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ins span{height:72px;border-radius:999px;border:1.5px dashed #BFD0DE;display:grid;place-items:center;font-size:13px;color:var(--muted);font-weight:600;background:#fff}

/* mapa — Google Maps incorporado (familiar ao paciente), em moldura ao lado do cartão */
.mapsec{background:var(--tint);padding:110px 0}
.maprow{display:grid;grid-template-columns:5fr 7fr;gap:24px;align-items:stretch}
.mapcard{background:#fff;border-radius:30px;padding:44px;display:flex;flex-direction:column;gap:14px;justify-content:center;border:1px solid var(--line)}
.mapcard .h2{margin-top:6px}
.mapcard p{color:var(--ink-2);font-size:17px}
.mapcard dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-size:14.5px;margin:6px 0 10px;padding-top:16px;border-top:1px solid var(--line)}
.mapcard dt{color:var(--muted)}
.mapcard dd{margin:0}
.mapcard .btns{margin-top:8px}
.gmap{position:relative;min-height:500px;border-radius:30px;overflow:hidden;background:#E5ECF2;box-shadow:0 30px 70px rgba(5,28,44,.12);isolation:isolate}
.gmap::after{content:"";position:absolute;inset:0;border-radius:30px;box-shadow:inset 0 0 0 1px rgba(5,28,44,.08);pointer-events:none}
.gmap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.92)}
.gopen{position:absolute;right:16px;bottom:16px;z-index:1;display:inline-flex;gap:8px;align-items:center;background:#fff;color:var(--primary);font-weight:600;font-size:13.5px;padding:10px 16px;border-radius:999px;box-shadow:0 8px 24px rgba(5,28,44,.18)}
.gopen .ico{width:16px;height:16px}

/* blog (cartões montados pelo motor) */
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.bgrid.two{grid-template-columns:1fr 1fr;margin-top:8px}
.bcard{display:flex;flex-direction:column;gap:14px;cursor:pointer}
.cover{aspect-ratio:16/11;border-radius:26px;position:relative;overflow:hidden;isolation:isolate;padding:18px 20px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .4s var(--ease)}
.bcard:hover .cover{transform:translateY(-4px)}
.cover::after{content:"";position:absolute;right:-16%;top:-24%;width:76%;aspect-ratio:1;border-radius:50%;border:1.5px solid rgba(255,255,255,.22);box-shadow:0 0 0 26px rgba(255,255,255,.04);z-index:-1}
.cover .chip{align-self:flex-start;font-size:11.5px;font-weight:600;padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--ink)}
.cover .big{font-size:24px;font-weight:600;letter-spacing:-.025em;line-height:1.08;max-width:68%;position:relative}
.cover img{position:absolute;z-index:-1;max-width:none}
.cover.c-grad{background:var(--grad);color:#fff}
.cover.c-grad .sym{width:30%;right:10%;top:20%;opacity:.95}
.cover.c-blue{background:var(--primary);color:#fff}
.cover.c-blue .pat{width:110%;opacity:.12;right:-42%;top:-14%}
.cover.c-aqua{background:var(--fresh);color:var(--ink)}
.cover.c-aqua::after{border-color:rgba(5,28,44,.14)}
.cover.c-aqua .pat{width:80%;right:-26%;top:-6%;opacity:.55}
.cover.c-light{background:#E2EBF3;color:var(--primary)}
.cover.c-light::after{border-color:rgba(0,48,135,.14)}
.cover.c-light .pat{width:110%;opacity:.14;right:-44%;top:-10%}
.cover.c-light .sym{width:22%;right:10%;bottom:14%}
.bmeta{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--muted)}
.bmeta i{width:4px;height:4px;border-radius:50%;background:#C3CAD5}
.bcard h3{font-size:19.5px;font-weight:600;line-height:1.3;letter-spacing:-.015em}
.bcard p{font-size:14.5px;color:var(--muted);line-height:1.55}
.bfeat{display:grid;grid-template-columns:7fr 5fr;gap:44px;align-items:center;margin-bottom:68px;cursor:pointer}
.bfeat .cover{aspect-ratio:16/10}
.bfeat .cover .big{font-size:42px}
.bfeat h3{font-size:32px;font-weight:600;letter-spacing:-.03em;line-height:1.15;margin:14px 0}
.bfeat p{color:var(--muted)}
.fbadge{display:inline-flex;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--primary);background:var(--tint);padding:5px 11px;border-radius:999px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.chipb{border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;border-radius:999px;padding:9px 16px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:.2s}
.chipb:hover{border-color:#fff}
.chipb.on{background:var(--fresh);color:var(--ink);border-color:var(--fresh)}
.chipb .c{opacity:.6;font-size:12px;margin-left:4px}

/* faixa final (montada pelo motor) */
.band{background:var(--primary);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.band .pat{position:absolute;width:620px;max-width:none;left:-160px;bottom:-280px;opacity:.06;z-index:-1}
.band .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center;padding-block:100px}
.band .h2{font-size:54px;color:#fff;margin:0}
.band em{color:var(--fresh)}
.band p{color:rgba(255,255,255,.8);font-size:18px;margin:18px 0 30px;max-width:540px}
.band p.bnote{font-size:13px;color:rgba(255,255,255,.6);display:flex;gap:8px;margin:24px 0 0}
.band .bnote .ico{width:16px;height:16px;flex:none;margin-top:2px}
.band .bsym{justify-self:end;width:320px;aspect-ratio:1;border-radius:50%;background:var(--lens);position:relative;overflow:hidden;box-shadow:0 0 0 18px rgba(164,200,225,.08),0 0 0 36px rgba(164,200,225,.04)}
.band .bsym > img:not(.bilu){display:none}
.band .bsym .bilu{position:absolute;bottom:-2%;left:50%;transform:translateX(-50%);height:88%;width:auto;max-width:none}

/* ---------- cabeçalho das páginas internas ---------- */
.phead{background:var(--grad);color:#fff;padding-top:116px;position:relative;overflow:hidden}
.ph-in{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;padding-block:48px 76px}
.phead.art .wrap{padding-block:48px 64px}
.phead.art .ph-copy{max-width:880px}
.crumb{display:flex;gap:8px;align-items:center;font-size:13px;color:rgba(255,255,255,.55);margin-bottom:24px;flex-wrap:wrap}
.crumb a{cursor:pointer}
.crumb a:hover{color:#fff}
.crumb b{color:#fff;font-weight:600}
.crumb .ico{width:14px;height:14px}
.phead .h1{margin-top:16px}
.phead .h1 em{color:var(--fresh)}
.phead .lead{color:rgba(255,255,255,.76);margin-top:20px;max-width:640px}
.phead .btns{margin-top:30px}
.byline{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;margin-top:30px;font-size:14px;color:rgba(255,255,255,.7)}
.byline .au{display:flex;gap:12px;align-items:center;color:#fff}
.byline .au img{width:44px;height:44px;border-radius:50%;padding:10px;background:rgba(255,255,255,.1)}
.byline .au b{display:block;font-size:14.5px}
.byline .au small{font-size:12.5px;opacity:.7}
.byline .m{display:flex;gap:8px;align-items:center}
.byline .m .ico{width:16px;height:16px}

/* ---------- páginas internas: componentes ---------- */
.tline{list-style:none;margin:0;padding:0;position:relative;display:grid;gap:6px}
.tline::before{content:"";position:absolute;left:43px;top:12px;bottom:12px;width:2px;background:var(--line)}
.tline li{display:grid;grid-template-columns:88px 1fr;column-gap:24px;padding:14px 0;position:relative}
.tline .yr{grid-row:span 2;font-weight:700;color:var(--primary);font-size:15px;background:#fff;border:2px solid var(--action);border-radius:999px;height:42px;display:grid;place-items:center;z-index:1;align-self:start}
.tline .yr .skel{font-size:11px;padding:0 6px}
.tline li b{font-size:18px;font-weight:600}
.tline li > span:not(.yr){color:var(--muted);font-size:15px}
.tline li.now .yr{background:var(--primary);color:#fff;border-color:var(--primary)}
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.slot{border-radius:26px;min-height:290px;background:var(--primary);position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:flex-end;padding:20px;color:#fff}
.slot img{position:absolute;width:180%;max-width:none;opacity:.12;left:-40%;top:-30%;z-index:-1}
.gal .slot:nth-child(2){background:var(--action)}
.gal .slot:nth-child(3){background:var(--ink)}
.slot .cam{position:absolute;top:16px;left:16px;display:flex;gap:6px;align-items:center;font-size:11.5px;font-weight:600;background:rgba(255,255,255,.14);padding:6px 10px;border-radius:999px}
.slot .cam .ico{width:14px;height:14px}
.slot b{font-size:16px;font-weight:600;line-height:1.35;max-width:260px}
.splist{display:grid;gap:12px}
.sprow{display:grid;grid-template-columns:64px 1.05fr 1.45fr 52px;gap:24px;align-items:center;padding:22px 26px;border-radius:26px;background:#fff;border:1px solid var(--line);cursor:pointer;position:relative;overflow:hidden;isolation:isolate;transition:border-color .3s}
.sprow::before{content:"";position:absolute;right:26px;top:50%;width:52px;height:52px;margin-top:-26px;border-radius:50%;background:var(--tint);transform:scale(1);transition:transform .8s var(--ease);z-index:-1}
.sprow:hover{border-color:var(--action)}
.sprow:hover::before{transform:scale(30)}
.sprow .ic{width:58px;height:58px;border-radius:50%;background:var(--tint);color:var(--primary);display:grid;place-items:center}
.sprow:hover .ic{background:#fff}
.sprow .ic .ico{width:26px;height:26px}
.sprow .nm b{display:block;font-size:19px;font-weight:600;line-height:1.25}
.sprow .nm small{font-size:13px;color:var(--muted)}
.sprow .idf{font-size:14.5px;color:var(--ink-2);line-height:1.5}
.sprow .idf i{display:block;font-style:normal;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--primary);margin-bottom:4px}
.sprow .go{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;background:#fff}
.sprow.star{background:var(--grad);color:#fff;border:0}
.sprow.star::before{background:rgba(20,123,209,.45)}
.sprow.star .ic{background:rgba(255,255,255,.1);color:#fff}
.sprow.star .nm small,.sprow.star .idf{color:rgba(255,255,255,.76)}
.sprow.star .idf i{color:var(--fresh)}
.sprow.star .go{background:var(--fresh);border:0;color:var(--ink)}
.callout{display:flex;gap:14px;align-items:flex-start;border-radius:22px;padding:20px 22px;background:var(--tint);margin-top:28px;font-size:15px;color:var(--ink-2);line-height:1.55}
.callout .ico{color:var(--primary);flex:none;margin-top:2px}
.callout b{color:var(--ink)}
.tint .callout{background:#fff}
.doc-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:72px;align-items:start}
.toc{position:sticky;top:110px;display:grid;gap:4px}
.toc small{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;display:block}
.toc > a:not(.btn){padding:9px 14px;font-size:14.5px;color:var(--ink-2);border-left:2px solid var(--line);cursor:pointer}
.toc > a.on{color:var(--primary);border-color:var(--action);font-weight:600}
.toc .btn{margin-top:22px}
.dsec{padding-bottom:56px;margin-bottom:56px;border-bottom:1px solid var(--line)}
.dsec:last-child{border:0;margin:0;padding:0}
.dsec > .h3{font-size:28px;margin-bottom:14px}
.dsec > p{color:var(--ink-2);font-size:17px;max-width:720px}
.qgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
.qcard{border-radius:24px;padding:24px;background:var(--tint);display:flex;flex-direction:column;gap:16px;min-height:180px}
.qm{width:42px;height:42px;border-radius:50%;border:2px solid var(--action);color:var(--primary);display:grid;place-items:center;font-weight:700}
.qcard p{font-size:16px;font-weight:500;color:var(--ink);line-height:1.45}
.apg{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px;align-items:stretch}
.apg p{color:var(--ink-2)}
.checks{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:13px}
.checks li{display:flex;gap:12px;align-items:flex-start;font-weight:500}
.checks .c{width:28px;height:28px;border-radius:50%;background:#E3EEF8;color:var(--primary);display:grid;place-items:center;flex:none}
.checks .c .ico{width:15px;height:15px;stroke-width:2.6}
.acc{border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 4px;cursor:pointer;font-size:18px;font-weight:600}
.acc summary::-webkit-details-marker{display:none}
.pm{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;flex:none;transition:.25s}
.pm .ico{width:16px;height:16px}
.acc details[open] .pm{transform:rotate(45deg);background:var(--primary);border-color:var(--primary);color:#fff}
.acc .ab{padding:0 4px 24px;color:var(--ink-2);max-width:700px}
.lock{display:inline-flex;gap:6px;align-items:center;font-size:12px;font-weight:600;color:#6B5200;background:#FFF1B8;border-radius:999px;padding:3px 10px;margin-left:auto}
.lock .ico{width:13px;height:13px}
.sk-lines{display:grid;gap:9px;margin-top:14px}
.sk-lines i{height:10px;border-radius:6px;background:#EEF1F5;display:block}
.sk-lines i:nth-child(2){width:92%}.sk-lines i:nth-child(3){width:76%}
.pend-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.02em;background:#FFF1B8;color:#6B5200;border-radius:999px;padding:2px 8px;vertical-align:2px}
.skel{display:inline-block;background:repeating-linear-gradient(90deg,#EEF1F5 0 8px,#F6F8FA 8px 16px);border-radius:6px;color:#7D8A99;font-size:12.5px;font-weight:600;padding:1px 8px;border:1px dashed #D3D9E2;line-height:1.5;letter-spacing:0;vertical-align:middle}
:is(.navy,.phead,.foot,.fhero,.sprow.star) .skel{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.25);color:rgba(255,255,255,.75)}
.kgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.kcard{border-radius:26px;padding:28px;background:var(--tint);display:flex;flex-direction:column;gap:10px}
.tint .kcard{background:#fff}
.kcard .n{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--action);display:grid;place-items:center;font-size:13px;font-weight:700;color:var(--primary);margin-bottom:8px}
.kcard h3{font-size:19.5px;font-weight:600;line-height:1.3;letter-spacing:-.01em}
.kcard p{font-size:15px;color:var(--ink-2);line-height:1.6}
.kcard .lnk{margin-top:6px;font-size:14px}
.vlist{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.vlist li{display:flex;gap:16px;align-items:center;padding:18px 20px;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);font-size:15.5px}
.vlist .node{width:46px;height:46px;border-radius:50%;background:var(--fresh);color:var(--ink);display:grid;place-items:center;flex:none}
.exgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.excard{border-radius:26px;padding:26px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.excard .top{display:flex;justify-content:space-between;align-items:center}
.excard .ic{width:50px;height:50px;border-radius:50%;background:var(--tint);color:var(--primary);display:grid;place-items:center}
.excard h3{font-size:18.5px;font-weight:600}
.excard p{font-size:14.5px;color:var(--muted)}
.excard dl{display:grid;gap:6px;margin:0;font-size:14px}
.excard dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}
.excard dd{margin:0 0 6px}
.ckbox{background:#fff;border-radius:28px;padding:12px;border:1px solid var(--line)}
.ck{display:flex;gap:16px;align-items:center;padding:16px 18px;border-radius:18px;cursor:pointer;user-select:none;transition:background .2s}
.ck:hover{background:var(--tint)}
.ck .bx{width:30px;height:30px;border-radius:50%;border:2px solid #BFD0DE;display:grid;place-items:center;flex:none;color:#fff;transition:.2s}
.ck .bx .ico{width:15px;height:15px;stroke-width:3;opacity:0}
.ck.on .bx{background:var(--action);border-color:var(--action)}
.ck.on .bx .ico{opacity:1}
.ck b{display:block;font-size:16px}
.ck span{font-size:14px;color:var(--muted)}
.ck.on b{text-decoration:line-through;text-decoration-color:var(--action);text-decoration-thickness:2px}
.ckprog{display:flex;align-items:center;gap:12px;padding:14px 18px 6px;font-size:13px;color:var(--muted)}
.ckprog .bar{flex:1;height:6px;border-radius:6px;background:var(--tint);overflow:hidden}
.ckprog .bar i{display:block;height:100%;width:0;background:var(--action);transition:.3s}
.ctg{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.cbox{border-radius:24px;border:1px solid var(--line);padding:22px;display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:.2s}
.cbox:hover{border-color:var(--action)}
.cbox .ic{width:48px;height:48px;border-radius:50%;background:var(--tint);color:var(--primary);display:grid;place-items:center;margin-bottom:12px}
.cbox.wa{background:var(--primary);border-color:var(--primary);color:#fff}
.cbox.wa .ic{background:rgba(255,255,255,.14);color:#fff}
.cbox.wa small{color:rgba(255,255,255,.72)}
.cbox small{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.cbox b{font-size:17px}
.cbox > span{font-size:13.5px;opacity:.75}
.infol{margin:24px 0 0;display:grid;gap:2px}
.infol dt{display:flex;gap:8px;align-items:center;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:14px}
.infol dt .ico{width:16px;height:16px;color:var(--primary)}
.infol dd{margin:0;font-size:15.5px}
.cform{display:grid;gap:14px;border-radius:28px;padding:30px;background:var(--tint)}
.cform label{display:grid;gap:6px;font-size:13.5px;font-weight:600;color:var(--primary)}
.cform input,.cform select,.cform textarea{font:inherit;font-size:15px;border:1.5px solid #C7D6E3;border-radius:14px;padding:12px 14px;background:#fff;color:var(--ink)}
.cform textarea{min-height:100px;resize:vertical}
.cform .hint-f{font-size:12.5px;color:var(--muted);display:flex;gap:8px;align-items:flex-start}
.cform .hint-f .ico{width:15px;height:15px;color:var(--action);margin-top:2px}
.cform .lgpd{display:flex;gap:10px;align-items:flex-start;font-size:13px;font-weight:500;color:var(--ink-2)}
.cform .lgpd input{margin-top:3px}
.cform .btn{justify-self:start}
.bigq{margin:0 auto;max-width:900px;text-align:center;font-size:42px;line-height:1.18;font-weight:500;letter-spacing:-.03em;display:grid;justify-items:center;gap:20px}
.bigq img{width:46px}
.bigq small{font-size:15.5px;color:var(--muted);letter-spacing:0;font-weight:400}

/* artigo */
.art-grid{display:grid;grid-template-columns:64px minmax(0,720px) 1fr;gap:56px;padding:56px 0 100px;justify-content:center}
.share{position:sticky;top:110px;align-self:start;display:grid;gap:10px}
.share small{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;text-align:center}
.share a{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;margin-inline:auto;cursor:pointer;color:var(--ink-2)}
.share a:hover{border-color:var(--action);color:var(--action)}
.share .ico{width:18px;height:18px}
.prose{font-size:18px;line-height:1.75;color:var(--ink-2)}
.prose h2{font-size:29px;line-height:1.25;letter-spacing:-.025em;color:var(--ink);margin:48px 0 14px;font-weight:600}
.prose h2:first-child{margin-top:0}
.prose p{margin:0 0 18px}
.prose ul{list-style:none;padding:0;display:grid;gap:12px;margin:0 0 22px}
.prose li{position:relative;padding-left:30px}
.prose li::before{content:"";position:absolute;left:3px;top:.55em;width:12px;height:12px;border-radius:50%;border:2px solid var(--action)}
.prose blockquote{margin:36px 0;padding:6px 0 6px 28px;border-left:4px solid var(--action);font-size:26px;line-height:1.35;color:var(--ink);font-weight:500;letter-spacing:-.02em}
.pbox{background:var(--tint);border-radius:24px;padding:24px 26px;margin:30px 0}
.pbox b{display:flex;gap:10px;align-items:center;font-size:17px;color:var(--ink);margin-bottom:10px}
.pbox b .ico{color:var(--action)}
.disc{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:20px;padding:18px 20px;font-size:14px;color:var(--muted);margin-top:36px;line-height:1.6}
.disc .ico{color:var(--primary);flex:none;margin-top:2px}
.author{display:flex;gap:20px;align-items:center;border-radius:26px;background:var(--tint);padding:26px;margin-top:28px}
.author b{font-size:16.5px;display:block}
.author p{font-size:14.5px;color:var(--muted);margin:4px 0 0}
.author .lnk{margin-top:8px}
.atoc{position:sticky;top:110px;align-self:start;display:grid;gap:4px;max-width:260px}
.atoc small{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.atoc > a{font-size:14px;color:var(--ink-2);padding:7px 12px;border-left:2px solid var(--line);cursor:pointer;line-height:1.4}
.atoc > a.on{color:var(--primary);border-color:var(--action);font-weight:600}
.atoc .mini{margin-top:26px;border-radius:22px;background:var(--tint);padding:20px;display:grid;gap:12px}
.atoc .mini b{font-size:15.5px;line-height:1.35}

/* rodapé */
.foot{background:var(--ink);color:rgba(255,255,255,.72);font-size:14.5px;position:relative;overflow:hidden}
.f-top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:90px 0 56px;border-bottom:1px solid rgba(255,255,255,.1)}
.f-say{font-size:68px;line-height:1;font-weight:600;letter-spacing:-.045em;color:#fff}
.f-say em{color:var(--fresh)}
.f-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding:56px 0 44px}
.foot .flogo{height:32px;width:auto;margin-bottom:18px}
.foot h4{color:#fff;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 18px;font-weight:600}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.foot a{cursor:pointer}
.foot a:hover{color:#fff}
.social{display:flex;gap:10px;margin-top:18px}
.social a{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;color:#fff}
.social .ico{width:18px;height:18px}
.cfm{border-top:1px solid rgba(255,255,255,.1);padding:22px 0;display:grid;gap:6px;font-size:13px;color:rgba(255,255,255,.6)}
.cfm b{color:#fff;font-weight:600}
.f-bot{border-top:1px solid rgba(255,255,255,.1);padding:22px 0;display:flex;justify-content:space-between;gap:30px;font-size:13px;color:rgba(255,255,255,.5)}
.f-bot p{max-width:640px}
.f-bot.last{border:0;padding-top:0;padding-bottom:32px}
.f-bot .lg{display:flex;gap:18px;white-space:nowrap}
.kriado{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.kriado .sep{opacity:.5}
.kriado .ig{display:inline-grid;place-items:center}
.kriado .ig .ico{width:16px;height:16px}
.kriado a{color:#fff;font-weight:600;letter-spacing:.02em}
.kriado a:hover{color:var(--fresh)}
.mcta{display:none}

/* ---------- animação “entrar em foco” (olher.js liga .anim; desligada no modo flat) ---------- */
.site.anim .fx{transition:filter 1.1s var(--ease),opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.site.anim .fx:not(.in){filter:blur(12px);opacity:.15;transform:translateY(10px)}
.site.anim .snellen .l2{transition-delay:.18s}
.site.anim .snellen .l3{transition-delay:.36s}
.site.anim .fhero .lead.fx{transition-delay:.5s}
.site.anim .fhero .btns.fx{transition-delay:.62s}
.site.anim .facts li:nth-child(2){transition-delay:.1s}
.site.anim .facts li:nth-child(3){transition-delay:.2s}
.site.anim .facts li:nth-child(4){transition-delay:.3s}
.site.anim .jline li:nth-child(2){transition-delay:.12s}
.site.anim .jline li:nth-child(3){transition-delay:.24s}
.site.anim .jline li:nth-child(4){transition-delay:.36s}
.site.anim .lensbox .dial{animation:axis 14s ease-in-out infinite}
@keyframes axis{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}

/* ---------- tablet ---------- */
@container site (max-width:1180px){
  .mnav{gap:16px}
  .mnav > a,.has-sub > a{font-size:13.5px}
  .snellen .l1{font-size:96px}.snellen .l2{font-size:60px}.snellen .l3{font-size:48px}
  .bento{grid-template-columns:repeat(2,1fr)}
  .bt.big{grid-column:span 2}
  .jline.five{grid-template-columns:repeat(3,1fr)}
  .jline.five::before{display:none}
  .people.grid{grid-template-columns:repeat(2,1fr)}
  .art-grid{grid-template-columns:minmax(0,720px)}
  .share,.atoc{display:none}
  .f-cols{grid-template-columns:1fr 1fr}
}
@container site (max-width:1100px){
  .mnav,.btn-cta,.hdr-info .r a:not(:first-child){display:none}
  .hb{display:grid}
  .logo{margin-right:auto}
  .msheet.open{display:flex;position:absolute;top:calc(100% + 6px);left:12px;right:12px;flex-direction:column;background:#fff;color:var(--ink);border-radius:26px;box-shadow:0 30px 60px rgba(1,12,26,.3);padding:14px;gap:2px;max-height:620px;overflow:auto}
  .msheet a{padding:13px 12px;border-radius:14px;font-size:16.5px;font-weight:600;cursor:pointer}
  .msheet a:hover{background:var(--tint)}
  .msheet .btn{margin-top:10px;width:100%;color:#fff}
}

/* ---------- celular ---------- */
@container site (max-width:760px){
  .wrap{padding-inline:20px}
  .h1{font-size:38px}
  .h2{font-size:32px}
  .h3{font-size:22px}
  .lead{font-size:17px}
  .sec{padding:72px 0}
  .shead{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:34px}
  .split,.idg,.exg,.story2{grid-template-columns:1fr;gap:34px}
  .btn{white-space:normal;text-align:center;height:auto;min-height:52px;padding-block:12px;line-height:1.25}
  .hdr-info{display:none}
  .hdr-main{height:68px;gap:10px}
  .logo img{height:25px}
  .fhero,.phead{padding-top:68px}
  .fh-in{grid-template-columns:1fr;min-height:0;padding-block:28px 34px;gap:26px}
  .kick{font-size:11px;margin-bottom:22px}
  .snellen .ln{gap:10px}
  .snellen .ln i{width:34px;font-size:8.5px;padding-right:8px}
  .snellen .l1{font-size:62px}.snellen .l2{font-size:39px}.snellen .l3{font-size:32px}
  .fhero .lead{margin:22px 0 24px}
  .fhero .lead,.fhero .btns{margin-left:0}
  .fhero .btns{flex-direction:column;align-items:stretch}
  .lensbox{max-width:330px}
  .doors2{grid-template-columns:1fr}
  .dr,.dr:first-child,.dr:last-child{padding:22px 20px;gap:14px}
  .dr:last-child{border-left:0;border-top:1px solid rgba(255,255,255,.14)}
  .dr .t b{font-size:18px}
  .dr .t span{font-size:13.5px}
  .dr .n{width:38px;height:38px;font-size:12px}
  .dr .go{width:46px;height:46px}
  .dr::before{right:40px}
  .facts{grid-template-columns:1fr 1fr}
  .facts li{padding:20px 14px;flex-direction:column;align-items:flex-start;gap:6px}
  .facts li:nth-child(odd){border-left:0;padding-left:0}
  .facts li:nth-child(n+3){border-top:1px solid var(--line)}
  .facts b{font-size:36px}
  .chart{padding:14px 10px;border-radius:24px}
  .crow{padding:11px 32px;gap:2px 14px}
  .crow i{left:8px;font-size:8.5px}
  .crow.r1 a{font-size:30px}.crow.r2 a{font-size:23px}.crow.r3 a{font-size:18px}.crow.r4 a{font-size:15.5px}.crow.r5 a{font-size:13.5px}
  .jline,.jline.five{grid-template-columns:1fr;gap:18px}
  .jline::before{display:block;left:35px;right:auto;top:24px;bottom:24px;width:2px;height:auto;background:linear-gradient(180deg,var(--action),var(--fresh))}
  .jline li{display:grid;grid-template-columns:72px 1fr;column-gap:18px}
  .jline .node{grid-row:span 2}
  .jline b{margin-top:10px}
  .bento,.bento.mini{grid-template-columns:1fr;grid-auto-rows:auto}
  .bt{min-height:176px}
  .bt.big{grid-column:auto;grid-row:auto;min-height:620px;padding:28px;justify-content:flex-end}
  .bt.big .bt-body{max-width:100%}
  .bt.big .bt-ilu{height:44%;right:6%;top:22px;bottom:auto}
  .bt-ring{width:96%;right:-30%;bottom:auto;top:-10%}
  .bt.big b{font-size:28px}
  .bt.tall{grid-row:auto;min-height:400px}
  .orbit{width:100%;height:auto;display:grid;gap:10px}
  .orbit-ring{display:none}
  .core{position:relative;inset:auto;width:190px;height:190px;margin:0 auto 14px}
  .o{position:static;transform:none;flex-direction:row;width:auto;text-align:left;gap:14px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.06)}
  .exg.light .o{background:var(--tint)}
  .st-vis{aspect-ratio:1.05}
  .big-yr{font-size:120px}
  .team{gap:18px;padding-inline:20px;scroll-padding-inline:20px}
  .person{flex-basis:160px}
  .ring{width:150px;height:150px}
  .people.grid{grid-template-columns:1fr 1fr;gap:36px 14px}
  .people.grid .ring,.person.lg .ring{width:140px;height:140px}
  .people.two{gap:14px;justify-content:center}
  .arrows{display:none}
  .marquee{margin-bottom:34px}
  .mq span{height:48px;padding:0 24px}
  .three,.kgrid,.exgrid,.qgrid,.apg,.ctg{grid-template-columns:1fr}
  .ins{grid-template-columns:1fr 1fr}
  .gal{grid-template-columns:1fr 1fr}
  .slot{min-height:200px}
  .mapsec{padding:64px 0}
  .maprow{grid-template-columns:1fr;gap:14px}
  .mapcard{padding:28px 24px;border-radius:24px}
  .gmap{min-height:360px;border-radius:24px}
  .gopen{display:none}
  .bgrid,.bgrid.two,.bfeat{grid-template-columns:1fr}
  .bfeat .cover .big{font-size:28px}
  .bfeat h3{font-size:25px}
  .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .ph-in{grid-template-columns:1fr;padding-block:26px 44px;gap:28px}
  .phead .lensbox.sm{max-width:250px}
  .doc-grid{grid-template-columns:1fr;gap:20px}
  .toc{position:static;display:flex;overflow-x:auto;gap:8px;scrollbar-width:none;margin:0 -20px;padding:0 20px 4px}
  .toc small,.toc .btn{display:none}
  .toc > a:not(.btn){border:1px solid var(--line);border-radius:999px;white-space:nowrap;padding:8px 14px;font-size:13.5px}
  .toc > a.on{background:var(--ink);color:#fff;border-color:var(--ink)}
  .dsec{padding-bottom:40px;margin-bottom:40px}
  .dsec > .h3{font-size:23px}
  .lock span{display:none}
  .sprow{grid-template-columns:52px 1fr;gap:14px;padding:20px}
  .sprow .ic{width:52px;height:52px}
  .sprow .go,.sprow::before{display:none}
  .sprow .idf{grid-column:1 / span 2}
  .tline::before{left:35px}
  .tline li{grid-template-columns:72px 1fr;column-gap:16px}
  .bigq{font-size:28px}
  .band .wrap{grid-template-columns:1fr;padding-block:64px}
  .band .h2{font-size:34px}
  .band .btns{flex-direction:column;align-items:stretch}
  .band .bsym{justify-self:center;width:230px}
  .f-top{flex-direction:column;align-items:flex-start;padding:60px 0 40px}
  .f-say{font-size:42px}
  .f-cols{grid-template-columns:1fr;gap:30px;padding:40px 0 30px}
  .f-bot{flex-direction:column;gap:12px}
  .prose{font-size:16.5px}
  .prose h2{font-size:23px;margin-top:36px}
  .prose blockquote{font-size:21px}
  .author{flex-direction:column;align-items:flex-start}
  .mcta{display:flex;position:sticky;bottom:0;z-index:45;padding:10px 12px 14px;background:linear-gradient(to top,#fff 70%,rgba(255,255,255,0));gap:8px}
  .mcta .btn{flex:1;height:52px;min-height:0}
  .mcta .call{flex:0 0 52px;padding:0}
}


/* ---------- dados da clínica (27/10/2026): CRM/RQE, exames, avaliações ---------- */
.reg .crm{font-size:11.5px;font-weight:600;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 9px;letter-spacing:.02em;background:#fff}
.people.grid{grid-template-columns:repeat(5,1fr);gap:56px 24px}
.people.grid .ring{width:168px;height:168px}
.excard.star{grid-column:span 2;background:var(--grad);color:#fff;border:0}
.excard.star p{color:rgba(255,255,255,.78)}
.excard.star .ic{background:rgba(255,255,255,.12);color:#fff}
.excard.star.full{grid-column:1/-1}
.excard.star.full dl{max-width:860px}
.excard.star dt{color:rgba(255,255,255,.7)}
.excard.star dl dd{color:#fff}
.excard .ktags{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.excard .ktags .pill-k{white-space:nowrap}
.excard .top .ic{flex-shrink:0}
.pill-k{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--fresh);color:var(--ink);padding:4px 10px;border-radius:999px}
.exgrid.two{grid-template-columns:repeat(2,1fr)}
.excard .top{gap:10px}
.dil{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:999px;line-height:1.3;text-align:right}
.dil .ico{width:14px;height:14px}
.dil.no{background:#EEF3F7;color:var(--muted)}
.dil.yes{background:var(--primary);color:#fff}
.dil.maybe{background:#FFF1B8;color:#6B5200}
.excard dl dd{font-size:14.5px;color:var(--ink-2);line-height:1.5}
.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rev{margin:0;border-radius:26px;background:var(--tint);padding:28px;display:flex;flex-direction:column;gap:16px}
.rev .stars{display:flex;gap:2px;color:#F5B400}
.rev .stars .ico{width:18px;height:18px}
.rev blockquote{margin:0;font-size:17px;line-height:1.55;color:var(--ink)}
.rev figcaption{display:flex;gap:12px;align-items:center;margin-top:auto}
.rev .av{width:40px;height:40px;border-radius:50%;background:#fff;color:var(--primary);font-weight:700;display:grid;place-items:center;border:1px solid var(--line)}
.rev figcaption b{display:block;font-size:15px}
.rev figcaption small{font-size:12.5px;color:var(--muted)}
.cbox b.sm{font-size:14.5px;word-break:break-all}
.infol dd.sub2{font-size:14px;color:var(--muted);margin-top:4px}
.mapcard dd small{color:var(--muted)}
@container site (max-width:1180px){.people.grid{grid-template-columns:repeat(3,1fr)}}
@container site (max-width:760px){
  .people.grid{grid-template-columns:1fr 1fr}
  .people.grid .ring{width:140px;height:140px}
  .excard.star{grid-column:auto}
  .exgrid.two,.revs{grid-template-columns:1fr}
}


/* convênios com logo: em cinza, coloridos no hover */
.mq span.cv{height:66px;padding:0 30px;border:1.5px solid var(--line);background:#fff;display:grid;place-items:center}
.ins span.cv{height:76px;border:1.5px solid var(--line);background:#fff;padding:0 18px}
.cv img{height:32px;width:auto;max-width:140px;object-fit:contain;filter:grayscale(1);opacity:.62;transition:filter .3s,opacity .3s}
.cv:hover img{filter:none;opacity:1}
span.cv.t{font-weight:600;color:var(--muted);font-size:14px;text-align:center;line-height:1.25}
/* selo com logo quadrada (Pam) e selo com dois nomes (Prever + Angelus) */
.cv img.sq{height:44px}
.mq span.cv.dup,.ins span.cv.dup{display:flex;align-items:center;justify-content:center;gap:12px}
.cv .cvn{font-weight:600;color:var(--muted);font-size:14px;line-height:1.1;padding-right:12px;border-right:1.5px solid var(--line);transition:color .3s}
.cv:hover .cvn{color:var(--ink)}
@container site (max-width:760px){.mq span.cv{height:54px;padding:0 20px}.cv img{height:26px;max-width:110px}.cv img.sq{height:36px}.ins .cv.dup{flex-direction:column;gap:3px}.ins .cv.dup .cvn{border:0;padding:0;font-size:12px}.ins .cv.dup img{height:24px}}

/* movimento reduzido (preferência do sistema): sem animação */
@media (prefers-reduced-motion: reduce){
  .site.anim .fx:not(.in){filter:none;opacity:1;transform:none}
  .site.anim .lensbox .dial,.mq{animation:none}
}

/* ===== produção (gerado por site-build/build.py) ===== */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{margin:0;background:#fff}
.dsec[id],[id^="sp-"],h2[id]{scroll-margin-top:110px}
.apg.solo{grid-template-columns:minmax(0,1fr)}
.person .ph .ini{position:relative;z-index:1;font-weight:600;font-size:clamp(22px,2.4vw,30px);letter-spacing:.04em;color:#fff}
a.bcard,a.bfeat{display:block;color:inherit;text-decoration:none}
a.bfeat{display:grid}
.legal-prose{max-width:760px}
.legal-prose h2{font-size:21px;margin:30px 0 8px}
.legal-prose a{color:var(--action);text-decoration:underline;text-underline-offset:3px}
.foot .cklink{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer}
.ckb{position:fixed;z-index:1000;left:16px;right:16px;bottom:16px;max-width:600px;margin-inline:auto;background:#051C2C;color:#E9EEF3;border-radius:20px;padding:18px 20px 16px;box-shadow:0 24px 60px rgba(5,28,44,.35);font:14.5px/1.55 Inter,system-ui,sans-serif}
.ckb[hidden]{display:none}
.ckb p{margin:0}
.ckb a{color:#A4C8E1;text-decoration:underline;text-underline-offset:3px}
.ckbtns{display:flex;gap:10px;margin-top:14px}
.ckbtns button{flex:1;height:46px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;font:600 15px Inter,system-ui,sans-serif;cursor:pointer}
.ckbtns button.yes{background:#fff;color:#051C2C;border-color:#fff}
@media (max-width:760px){.ckb{left:10px;right:10px;bottom:76px;padding:16px}}
.wa-float{position:fixed;right:24px;bottom:24px;z-index:900;width:60px;height:60px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 12px 30px rgba(5,28,44,.28);transition:transform .2s ease,box-shadow .2s ease}
.wa-float:hover{transform:scale(1.07);box-shadow:0 16px 36px rgba(5,28,44,.34)}
.wa-float .ico{width:30px;height:30px}
@media (max-width:760px){.wa-float{display:none}}
@media print{.wa-float,.mcta,.ckb{display:none}}
