/* Allure — site institucional. Base: landing aprovada em 28/10/2026 (testes-skills-design/runs/landing-01).
   Sem estilos embutidos no HTML: tudo aqui, para permitir CSP rígida (style-src 'self'). */

/* ------------------------------------------------------------------ fontes e tokens */
@font-face{font-family:"Hubot Sans";src:url("../fonts/HubotSans-latin.woff2") format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:"Hubot Sans";src:url("../fonts/HubotSans-Italic-latin.woff2") format("woff2");font-weight:200 900;font-style:italic;font-display:swap}
:root{
  --brand-900:#37178e;--brand-600:#4b20b6;--brand-400:#7c75af;--brand-200:#ddd4f1;--brand-100:#ece7f8;--brand-50:#f5f2fc;
  --surface:#ffffff;--ink:#1b1233;--ink-muted:#5b5675;--on-brand:#ffffff;
  --line:rgba(55,23,142,.12);
  --glass-fill:rgba(255,255,255,.62);--glass-fill-strong:rgba(255,255,255,.8);--glass-edge:rgba(255,255,255,.75);
  --focus-ring:var(--brand-600);
  --radius-sm:12px;--radius-md:20px;--radius-lg:28px;--radius-pill:999px;
  --shadow-glass:0 8px 32px rgba(55,23,142,.1);--shadow-cta:0 6px 20px rgba(75,32,182,.3);
  --glass-blur:18px;
  --ease:cubic-bezier(.2,.8,.2,1);
  --font-sans:"Hubot Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}

/* ------------------------------------------------------------------ base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{overflow-x:clip}
body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.18em}
h1,h2,h3,p,ol,ul,dl,dd{margin:0}
ol,ul{padding:0;list-style:none}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
::selection{background:var(--brand-200);color:var(--brand-900)}
.is-dark ::selection{background:var(--on-brand);color:var(--brand-900)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.wrap{width:min(1240px,calc(100% - 32px));margin-inline:auto}
@media (min-width:768px){.wrap{width:min(1240px,calc(100% - 96px))}}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}

/* Lenis (CSS oficial do pacote) */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}

/* foco visível com anel duplo: funciona em fundo claro e escuro */
:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px;border-radius:10px}
.is-dark :focus-visible{outline-color:var(--on-brand)}
.skip{position:fixed;left:16px;top:-80px;z-index:200;background:var(--brand-900);color:var(--on-brand);padding:12px 18px;border-radius:var(--radius-sm);font-weight:700;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.skip:focus{top:16px}

.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;line-height:1.2;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-600)}
.eyebrow::before{content:"";width:28px;height:2px;border-radius:2px;background:currentColor}
.is-dark .eyebrow{color:var(--brand-200)}

/* palavra dividida (JS) */
.wm{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .06em .12em 0;margin:0 -.02em -.12em 0}
.w{display:inline-block;will-change:transform}
.grad{background:linear-gradient(100deg,var(--brand-600) 0%,var(--brand-900) 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
.grad.is-split{background:none;color:inherit}
.grad.is-split .w{background:linear-gradient(100deg,var(--brand-600) 0%,var(--brand-900) 90%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ------------------------------------------------------------------ botões */
.btn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 26px;border-radius:var(--radius-pill);font:700 16px/1 var(--font-sans);text-decoration:none;white-space:nowrap;transition:box-shadow .45s var(--ease)}
.btn--primary{color:var(--on-brand);background:linear-gradient(135deg,var(--brand-600),var(--brand-900));box-shadow:var(--shadow-cta)}
.btn--primary::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--brand-900);transform:translateY(101%);transition:transform .55s var(--ease)}
.btn--primary:hover::before,.btn--primary:focus-visible::before{transform:translateY(0)}
.btn--primary:hover{box-shadow:0 10px 30px rgba(75,32,182,.38)}
.btn--primary:active{transform:translateY(1px)}
.btn--ghost{color:var(--brand-900);background:var(--glass-fill);border:1px solid var(--line);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}
.btn--ghost:hover{border-color:rgba(75,32,182,.35)}
.btn__arrow{position:relative;width:18px;height:18px;overflow:hidden;flex:none}
.btn__arrow svg{position:absolute;inset:0;width:18px;height:18px;transition:transform .45s var(--ease)}
.btn__arrow svg+svg{transform:translateX(-140%)}
.btn:hover .btn__arrow svg:first-child,.btn:focus-visible .btn__arrow svg:first-child{transform:translateX(140%)}
.btn:hover .btn__arrow svg+svg,.btn:focus-visible .btn__arrow svg+svg{transform:translateX(0)}
.btn--sm{min-height:44px;padding:0 18px;font-size:15px}
.btn__wa{width:18px;height:18px;flex:none}

/* ------------------------------------------------------------------ progresso + nav */
.progress{position:fixed;left:0;top:0;z-index:120;height:3px;width:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--brand-400),var(--brand-600),var(--brand-900))}
html:not(.has-motion) .progress{display:none}
.nav{position:fixed;top:14px;left:0;right:0;margin-inline:auto;z-index:100;width:min(1240px,calc(100% - 24px));display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 6px 6px 18px;border-radius:var(--radius-pill);background:rgba(255,255,255,.9);border:1px solid var(--glass-edge);box-shadow:var(--shadow-glass);backdrop-filter:blur(var(--glass-blur)) saturate(1.4);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.4);transition:transform .6s var(--ease)}
.nav.is-hidden{transform:translateY(-150%)}
.nav__logo{display:inline-flex;align-items:center;min-height:44px;border-radius:12px}
.nav__logo img{height:34px;width:auto}
.nav__links{display:none;gap:4px}
.nav__links a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:var(--radius-pill);font-size:15px;font-weight:600;color:var(--ink-muted);text-decoration:none;transition:color .35s,background-color .35s}
.nav__links a:hover{color:var(--brand-900);background:var(--brand-50)}
@media (min-width:980px){.nav__links{display:flex}}
@media (max-width:380px){.nav .btn--sm{padding:0 14px;font-size:14px}}

/* ------------------------------------------------------------------ cursor */
.cursor{position:fixed;left:0;top:0;z-index:150;pointer-events:none;width:0;height:0;display:none}
.has-cursor .cursor{display:block}
.cursor__ring{position:absolute;left:-18px;top:-18px;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--brand-600);transition:border-color .35s}
.cursor__label{position:absolute;left:0;top:0;transform:translate(-50%,-50%) scale(.6);opacity:0;padding:7px 12px;border-radius:var(--radius-pill);background:var(--brand-600);color:var(--on-brand);font-size:12px;font-weight:700;letter-spacing:.06em;white-space:nowrap;transition:opacity .35s,transform .45s var(--ease)}
.cursor.has-label .cursor__label{opacity:1;transform:translate(-50%,-50%) scale(1)}
.cursor-on-dark .cursor__ring{border-color:var(--on-brand)}

/* ------------------------------------------------------------------ HERO */
.hero{position:relative;min-height:100svh;padding-top:116px;display:flex;flex-direction:column;overflow:clip;isolation:isolate}
.hero__bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hero__grid{position:absolute;inset:-6%;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(ellipse 70% 62% at 68% 44%,#000 18%,transparent 74%);mask-image:radial-gradient(ellipse 70% 62% at 68% 44%,#000 18%,transparent 74%)}
.hero__glow{position:absolute;width:980px;height:980px;right:-260px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(124,117,175,.30) 0%,rgba(221,212,241,.22) 38%,transparent 66%)}
.hero__spot{position:absolute;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;background:radial-gradient(circle,rgba(75,32,182,.10),transparent 62%);opacity:0;transition:opacity .6s}
.hero:hover .hero__spot{opacity:1}
.hero__inner{flex:1;display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:center;padding-bottom:24px}
.hero__copy{position:relative;z-index:2;max-width:820px}
.hero__title{font-size:clamp(34px,4.7vw,74px);line-height:1.03;font-weight:800;letter-spacing:-.035em;color:var(--ink)}
.hero__title em{font-style:italic}
.hero__lead{margin-top:24px;max-width:56ch;font-size:clamp(17px,1.35vw,20px);line-height:1.6;color:var(--ink-muted)}
.hero__actions{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px}
.hero__note{margin-top:16px;font-size:14px;color:var(--ink-muted)}
@media (min-width:1024px){.hero__inner{grid-template-columns:minmax(0,1.38fr) minmax(0,1fr);gap:24px}}

/* prisma: marca triangular, placas de vidro e chips orbitando */
.prism-wrap{position:relative;z-index:1;width:min(88vw,520px);margin-inline:auto}
.prism{position:relative;aspect-ratio:1/1;width:100%}
.prism__layer{position:absolute;inset:0}
.prism__core{position:absolute;left:24%;top:22%;width:52%;height:52%;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--brand-400),var(--brand-600) 55%,var(--brand-900));box-shadow:0 40px 90px rgba(55,23,142,.35)}
.plate{position:absolute}
.plate__in{width:100%;height:100%;border-radius:var(--radius-lg);background:linear-gradient(140deg,rgba(255,255,255,.78),rgba(245,242,252,.42));border:1px solid var(--glass-edge);box-shadow:var(--shadow-glass),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(12px) saturate(1.3);-webkit-backdrop-filter:blur(12px) saturate(1.3);transform:rotate(var(--r))}
.plate--a{left:10%;top:16%;width:62%;height:60%;--r:-14deg}
.plate--b{left:30%;top:26%;width:58%;height:56%;--r:9deg}
.plate--c{left:6%;top:58%;width:36%;height:30%;--r:20deg}
.prism__mark{position:absolute;left:22%;top:21%;width:56%}
.prism__mark img{width:100%;height:auto;filter:drop-shadow(0 26px 40px rgba(55,23,142,.28))}
.chip{position:absolute;left:var(--x);top:var(--y);z-index:3}
.chip--1{--x:2%;--y:12%}.chip--2{--x:62%;--y:4%}.chip--3{--x:76%;--y:36%}.chip--4{--x:68%;--y:74%}.chip--5{--x:36%;--y:88%}.chip--6{--x:0%;--y:70%}.chip--7{--x:-4%;--y:40%}
.chip__in{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:var(--radius-pill);background:var(--glass-fill-strong);border:1px solid var(--glass-edge);box-shadow:0 6px 18px rgba(55,23,142,.12);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:13px;font-weight:700;color:var(--brand-900);white-space:nowrap}
.chip__in::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand-600);box-shadow:0 0 0 4px rgba(75,32,182,.14)}
.chip__mouse,.chip__float{display:block}
@media (max-width:767px){.chip__in{font-size:12px;padding:7px 11px}}

/* faixa cinética */
.marquee{position:relative;padding:18px 0 28px;overflow:hidden;white-space:nowrap;pointer-events:none}
.marquee__track{display:inline-flex;will-change:transform}
.marquee__group{display:inline-flex;align-items:center;gap:.5em;padding-right:.5em;font-size:clamp(40px,7vw,108px);font-weight:800;letter-spacing:-.03em;line-height:1}
.marquee__group span{color:transparent;-webkit-text-stroke:1.5px var(--brand-400)}
.marquee__group span:nth-child(4n+1){color:var(--brand-100);-webkit-text-stroke:0}
.marquee__group b{display:inline-block;width:.36em;height:.36em;margin:0 .1em;border-radius:50%;background:var(--brand-600);opacity:.85}

/* ------------------------------------------------------------------ PROBLEMA (escuro) */
.problem{position:relative;color:var(--on-brand)}
.problem__stage{position:relative;overflow:clip;isolation:isolate}
.problem__bg{position:absolute;inset:0;z-index:-1;background:radial-gradient(110% 70% at 88% -6%,rgba(75,32,182,.62),transparent 62%),radial-gradient(70% 50% at 0% 110%,rgba(55,23,142,.7),transparent 70%),var(--ink)}
.problem__content{padding:120px 0}
.problem__title{margin-top:20px;max-width:20ch;font-size:clamp(30px,4.3vw,64px);line-height:1.05;font-weight:800;letter-spacing:-.03em}
.problem__title em{font-style:italic;color:var(--brand-200)}
.pipe{position:relative;margin-top:clamp(36px,6vh,64px);height:104px}
.pipe__end{position:absolute;top:0;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-200)}
.pipe__end--a{left:0}
.pipe__end--b{right:0;text-align:right}
.pipe__line{position:absolute;left:0;right:0;top:48px;height:2px;border-radius:2px;background:rgba(221,212,241,.25)}
.pipe__fill{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,var(--brand-200),var(--on-brand));transform-origin:0 50%}
.pipe__node{position:absolute;top:41px;width:16px;height:16px;border-radius:50%;background:var(--on-brand);box-shadow:0 0 0 6px rgba(221,212,241,.18)}
.pipe__node--a{left:-2px}
.pipe__node--b{right:-2px}
.pipe__gap{position:absolute;left:var(--x);top:34px;width:44px;height:64px;margin-left:-22px}
.pipe__gap--1{--x:16.666%}.pipe__gap--2{--x:50%}.pipe__gap--3{--x:83.333%}
.pipe__cut{position:absolute;left:4px;right:4px;top:10px;height:10px;background:var(--ink);transform-origin:50% 50%}
.pipe__spark{position:absolute;left:50%;top:0;width:2px;height:30px;margin-left:-1px;border-radius:2px;background:linear-gradient(var(--on-brand),rgba(221,212,241,0));transform-origin:50% 0}
.pipe__num{position:absolute;left:0;right:0;top:38px;text-align:center;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--brand-200)}
.pipe__dots{position:absolute;left:0;right:0;top:44px;height:10px}
.dot{position:absolute;left:0;top:0;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--on-brand);box-shadow:0 0 12px rgba(221,212,241,.8);will-change:transform,opacity}
.leaks{margin-top:clamp(20px,4vh,40px);display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.leaks li{display:flex;gap:14px;align-items:baseline}
.leaks__n{flex:none;font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--brand-200)}
.leaks p{font-size:clamp(17px,1.6vw,23px);line-height:1.35;font-weight:600}
.problem__close{margin-top:clamp(20px,4vh,40px);max-width:52ch;color:var(--brand-200);font-size:clamp(15px,1.15vw,18px)}
@media (min-width:768px){
  .leaks{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
  .leaks li{flex-direction:column;align-items:center;text-align:center;gap:8px}
  .leaks p{max-width:18ch}
}
.has-motion .problem__stage{height:100svh;display:flex;align-items:center}
.has-motion .problem__content{padding:72px 0 24px}

/* ------------------------------------------------------------------ CAMINHO DO PACIENTE */
.journey{position:relative;background:var(--surface)}
.journey__intro{padding:clamp(110px,16vh,180px) 0 clamp(48px,8vh,96px)}
.journey__intro h2{margin-top:20px;max-width:18ch;font-size:clamp(32px,4.6vw,68px);line-height:1.04;font-weight:800;letter-spacing:-.035em}
.journey__intro h2 em{font-style:italic}
.journey__intro p{margin-top:22px;max-width:54ch;font-size:clamp(17px,1.35vw,20px);color:var(--ink-muted)}
.journey__stage{position:relative}
.journey__ghost,.journey__route,.journey__patient,.journey__rail,.journey__lenses{display:none}

/* estado estático (sem JS ou movimento reduzido): lista vertical */
.stages{width:min(1240px,calc(100% - 32px));margin:0 auto;padding:0 0 120px 26px;border-left:2px solid var(--brand-200);display:grid;gap:56px}
.stage{position:relative}
.stage__idx{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-600)}
.stage__word{position:relative;margin-top:6px;font-size:clamp(44px,7vw,110px);line-height:1;font-weight:800;letter-spacing:-.04em;color:var(--brand-900)}
.stage__node{position:absolute;left:-36px;top:6px;width:18px;height:18px;border-radius:50%;background:var(--surface);border:2px solid var(--brand-600)}
.stage__body{margin-top:16px;max-width:40ch;font-size:clamp(16px,1.2vw,18px);color:var(--ink-muted)}
.kpi{margin-top:18px;display:inline-flex;align-items:center;gap:10px;padding:9px 14px 9px 10px;border-radius:var(--radius-pill);background:var(--glass-fill-strong);border:1px solid var(--line);box-shadow:var(--shadow-glass);font-size:13px;font-weight:600;color:var(--ink)}
.kpi__icon{display:inline-flex;align-items:flex-end;gap:2px;width:22px;height:22px;padding:4px;border-radius:50%;background:var(--brand-100)}
.kpi__icon i{flex:1;border-radius:1px;background:var(--brand-600)}
.kpi__icon i:nth-child(1){height:40%}.kpi__icon i:nth-child(2){height:70%}.kpi__icon i:nth-child(3){height:100%}
.kpi b{font-weight:700;color:var(--brand-600);letter-spacing:.06em;text-transform:uppercase;font-size:11px}
.sw-ghost,.sw-fill{display:none}

/* modo animado: palco fixado + trilho horizontal */
.has-motion .journey__stage{height:100svh;overflow:hidden;background:linear-gradient(180deg,var(--surface),var(--brand-50))}
.has-motion .journey__stage::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;opacity:.55;-webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent)}
.has-motion .journey__ghost{display:block;position:absolute;left:0;top:50%;margin-top:-.62em;white-space:nowrap;font-size:clamp(150px,30vh,320px);line-height:1.2;font-weight:800;letter-spacing:-.05em;color:var(--brand-100);pointer-events:none;will-change:transform}
.has-motion .journey__track{position:absolute;left:0;top:0;height:100%;z-index:2;will-change:transform}
.has-motion .journey__route{display:block;position:absolute;left:0;top:0;overflow:visible}
.route-base{fill:none;stroke:var(--brand-200);stroke-width:2;stroke-dasharray:2 10;stroke-linecap:round}
.route-live{fill:none;stroke:url(#routeGrad);stroke-width:4;stroke-linecap:round}
.has-motion .stages{position:relative;width:auto;margin:0;padding:0;border:0;display:flex;height:100%;gap:0}
.has-motion .stage{flex:0 0 var(--pw,60vw);height:100%;display:grid;grid-template-rows:1.12fr auto 1fr;justify-items:center;text-align:center;padding:0 24px}
.has-motion .stage__head{align-self:end;padding-bottom:clamp(20px,4vh,44px);display:flex;flex-direction:column;align-items:center}
.has-motion .stage__word{display:inline-block;margin-top:10px;font-size:clamp(46px,min(7.6vw,13vh),128px)}
.has-motion .stage__word[data-split-done]{color:transparent}
.has-motion .stage__word .sw-ghost{display:block;color:transparent;-webkit-text-stroke:1.5px var(--brand-200)}
.has-motion .stage__word .sw-fill{display:block;position:absolute;inset:0;overflow:hidden;padding-bottom:.08em;color:var(--brand-900)}
.sw-fill .l{display:inline-block;transform:translateY(108%);transition:transform .8s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i) * 32ms)}
.stage.is-active .sw-fill .l{transform:none}
.has-motion .stage__node{position:relative;left:auto;top:auto;width:26px;height:26px;border:0;background:var(--glass-fill-strong);box-shadow:0 0 0 1px rgba(75,32,182,.25),0 8px 20px rgba(55,23,142,.18);transition:transform .6s cubic-bezier(.16,1,.3,1),background-color .4s}
.has-motion .stage__node::after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--brand-400);transition:background-color .4s}
.has-motion .stage.is-active .stage__node{transform:scale(1.25)}
.has-motion .stage.is-active .stage__node::after{background:var(--brand-600)}
.has-motion .stage__foot{align-self:start;padding-top:clamp(20px,4vh,40px);display:flex;flex-direction:column;align-items:center}
.has-motion .stage__body{margin-top:0;opacity:0;transform:translateY(18px);transition:opacity .6s,transform .8s cubic-bezier(.16,1,.3,1)}
.has-motion .stage .kpi{opacity:0;transform:translateY(14px) scale(.96);transition:opacity .6s .08s,transform .8s .08s cubic-bezier(.16,1,.3,1)}
.has-motion .stage.is-active .stage__body,.has-motion .stage.is-active .kpi{opacity:1;transform:none}
.has-motion .stage .stage__idx{opacity:.5;transition:opacity .5s}
.has-motion .stage.is-active .stage__idx{opacity:1}
.has-motion .journey__patient{display:block;position:absolute;left:50%;top:0;z-index:4;width:0;height:0;pointer-events:none}
.journey__patient i{position:absolute;left:-11px;top:-11px;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--brand-600),var(--brand-900));box-shadow:0 0 0 5px rgba(255,255,255,.9),0 8px 24px rgba(75,32,182,.5)}
.journey__patient i::after{content:"";position:absolute;inset:-12px;border-radius:50%;border:1.5px solid var(--brand-600);opacity:0;animation:ping 2s var(--ease) infinite;animation-play-state:paused}
.journey__stage.is-live .journey__patient i::after{animation-play-state:running}
@keyframes ping{0%{transform:scale(.6);opacity:.8}100%{transform:scale(1.8);opacity:0}}
.has-motion .journey__lenses{display:block;position:absolute;left:0;top:0;width:100%;height:100%;z-index:3;pointer-events:none}
.lens{position:absolute;border-radius:50%;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.95),rgba(236,231,248,.5) 60%,rgba(221,212,241,.35));border:1px solid var(--glass-edge);box-shadow:0 14px 36px rgba(55,23,142,.12)}
.has-motion .journey__rail{display:block;position:absolute;left:0;right:0;bottom:clamp(16px,3.5vh,32px);z-index:5;width:min(920px,calc(100% - 32px));margin-inline:auto}
.rail__labels{display:flex;justify-content:space-between;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}
.rail__labels span{transition:color .4s}
.rail__labels span.is-on{color:var(--brand-600)}
.rail__bar{position:relative;margin-top:10px;height:3px;border-radius:3px;background:var(--brand-100);overflow:hidden}
.rail__fill{position:absolute;inset:0;background:linear-gradient(90deg,var(--brand-400),var(--brand-600));transform:scaleX(0);transform-origin:0 50%}
.rail__now{display:none;text-align:center;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-600)}
@media (max-width:767px){
  .rail__labels{display:none}
  .rail__now{display:block}
  .has-motion .stage{padding:0 12px;grid-template-rows:1fr auto 1.15fr}
  .has-motion .stage__word{font-size:clamp(38px,12.4vw,64px)}
  .has-motion .stage__body{font-size:15.5px}
}

/* ------------------------------------------------------------------ MÉTODO (cartões empilhados) */
.method{position:relative;padding:clamp(110px,16vh,180px) 0 clamp(80px,12vh,140px);background:linear-gradient(180deg,var(--brand-50),var(--surface) 30%,var(--brand-50));overflow:clip}
.method__art{position:absolute;right:-6vw;top:0;bottom:0;width:min(62vw,760px);pointer-events:none}
.method__art-in{position:sticky;top:12vh}
.method__mark{width:100%;opacity:.95}
.method__mark img{width:100%;height:auto}
.method__grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:48px}
.method__head h2{margin-top:20px;font-size:clamp(32px,4vw,58px);line-height:1.05;font-weight:800;letter-spacing:-.035em;max-width:16ch}
.method__head p{margin-top:20px;max-width:42ch;color:var(--ink-muted);font-size:clamp(16px,1.25vw,19px)}
.mcards{display:grid;gap:0}
.mcard{--i:0;position:sticky;top:calc(88px + var(--i) * 12px);margin-bottom:8vh}
.mcard:nth-child(2){--i:1}.mcard:nth-child(3){--i:2}.mcard:nth-child(4){--i:3}.mcard:nth-child(5){--i:4}
.mcard:last-child{margin-bottom:0}
.mcard__inner{position:relative;overflow:hidden;border-radius:var(--radius-lg);padding:clamp(24px,3vw,44px);background:linear-gradient(150deg,rgba(255,255,255,.86),rgba(245,242,252,.66));border:1px solid var(--glass-edge);box-shadow:var(--shadow-glass),inset 0 1px 0 rgba(255,255,255,.95);backdrop-filter:blur(var(--glass-blur)) saturate(1.35);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.35);transform-origin:50% 0;will-change:transform}
.mcard__glare{position:absolute;left:0;top:0;width:420px;height:420px;margin:-210px 0 0 -210px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.9),transparent 60%);opacity:0;transition:opacity .5s;pointer-events:none}
.mcard__inner:hover .mcard__glare{opacity:.8}
.mcard__content{position:relative;display:grid;gap:22px}
.mcard__top{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.mcard__n{font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--brand-600)}
.mcard__tag{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}
.mcard h3{font-size:clamp(26px,2.6vw,38px);line-height:1.1;font-weight:800;letter-spacing:-.025em;color:var(--brand-900)}
.mcard p{max-width:46ch;color:var(--ink-muted);font-size:clamp(16px,1.15vw,18px)}
.glyph{padding-top:22px;border-top:1px solid var(--line);min-height:120px;align-content:flex-start;align-items:center}
@media (min-width:1024px){
  .method__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px;align-items:start}
  .method__head{position:sticky;top:22vh}
  .mcard{top:calc(18vh + var(--i) * 18px);margin-bottom:14vh}
  .mcard__inner{min-height:min(440px,58vh)}
}
/* glifos (gráficos de interface, sem valores) */
.ledger{display:grid;gap:12px}
.ledger__row{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:16px;font-size:13px;font-weight:600;color:var(--ink)}
.ledger__rule{height:8px;border-radius:8px;background:linear-gradient(90deg,var(--brand-200),var(--brand-600));transform-origin:0 50%}
.ledger__row:nth-child(2) .ledger__rule{width:86%}.ledger__row:nth-child(3) .ledger__rule{width:72%}.ledger__row:nth-child(4) .ledger__rule{width:94%}
.rings{position:relative;height:150px;display:grid;place-items:center;align-content:center;overflow:hidden}
.rings i{position:absolute;border-radius:50%;border:1.5px solid var(--brand-200)}
.rings i:nth-child(1){width:250px;height:250px;border-style:dashed}.rings i:nth-child(2){width:180px;height:180px}.rings i:nth-child(3){width:112px;height:112px;border-color:var(--brand-400)}
.rings span{position:relative;padding:9px 16px;border-radius:var(--radius-pill);background:linear-gradient(135deg,var(--brand-600),var(--brand-900));color:var(--on-brand);font-size:13px;font-weight:700}
.steps{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.steps__item{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);font-weight:700;font-size:15px;color:var(--brand-900)}
.steps__item small{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--brand-100);color:var(--brand-600);font-size:12px}
.steps__arrow{flex:1;min-width:40px;height:2px;background:var(--brand-400);transform-origin:0 50%;position:relative}
.steps__arrow::after{content:"";position:absolute;right:-1px;top:-4px;border-left:8px solid var(--brand-400);border-top:5px solid transparent;border-bottom:5px solid transparent}
.scope{display:flex;flex-wrap:wrap;gap:10px}
.scope span{position:relative;display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border-radius:var(--radius-pill);font-size:14px;font-weight:700}
.scope .in{background:linear-gradient(135deg,var(--brand-600),var(--brand-900));color:var(--on-brand)}
.scope .out{border:1px dashed var(--brand-400);color:var(--ink-muted)}
.scope .out i{position:absolute;left:12px;right:12px;top:50%;height:1.5px;background:var(--ink-muted);transform-origin:0 50%}
.kpis{position:relative;display:flex;flex-wrap:wrap;gap:8px}
.kpis span{display:inline-flex;align-items:center;min-height:36px;padding:0 13px;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--line);font-size:13px;font-weight:700;color:var(--brand-900)}
.kpis__line{position:relative;flex-basis:100%;height:3px;margin-top:10px;border-radius:3px;background:var(--brand-100);overflow:hidden}
.kpis__line i{position:absolute;left:0;top:0;width:24%;height:100%;border-radius:3px;background:linear-gradient(90deg,transparent,var(--brand-600),transparent)}

/* ------------------------------------------------------------------ QUEM CONDUZ (vidro com refração) */
.founder{position:relative;padding:clamp(110px,16vh,170px) 0 clamp(90px,13vh,150px);overflow:clip;isolation:isolate;background:radial-gradient(70% 60% at 90% 55%,var(--brand-100),transparent 70%),linear-gradient(180deg,var(--brand-50),var(--surface) 55%)}
.founder__head{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.founder__head h2{font-size:clamp(32px,4vw,58px);line-height:1.05;font-weight:800;letter-spacing:-.035em;max-width:15ch}
.founder__head h2 em{font-style:italic}
.founder__bio{max-width:52ch;font-size:clamp(16px,1.25vw,19px);color:var(--ink-muted)}
.founder__bio strong{color:var(--ink);font-weight:700}
.facts{margin-top:28px;display:grid;gap:0;border-top:1px solid var(--line)}
.facts div{display:grid;grid-template-columns:minmax(0,9ch) minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.facts dt{font-size:14px;font-weight:700;color:var(--brand-600)}
.facts dd{font-size:15px;font-weight:600;color:var(--ink)}
@media (min-width:1024px){.founder__head{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:72px;align-items:end}}
.founder__art{position:relative;margin-top:clamp(48px,8vh,96px);height:clamp(380px,46vw,500px)}
.founder__word{position:absolute;left:0;top:50%;margin-top:-.56em;white-space:nowrap;font-size:clamp(150px,27vw,400px);line-height:1.1;font-weight:800;font-style:italic;letter-spacing:-.05em;padding-right:.1em;background:linear-gradient(100deg,var(--brand-400) 0%,var(--brand-600) 35%,var(--brand-900) 80%);-webkit-background-clip:text;background-clip:text;color:transparent;pointer-events:none;will-change:transform;user-select:none}
.founder__lens-row{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end}
.lente{position:relative;margin:0;width:min(100%,600px);min-height:360px;padding:40px 44px;border-radius:var(--radius-lg);display:flex;flex-direction:column;justify-content:center;gap:22px;color:var(--ink);background:linear-gradient(180deg,rgba(255,255,255,.66),rgba(255,255,255,.46));-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);box-shadow:0 60px 100px -50px rgba(55,23,142,.5),0 22px 40px -22px rgba(55,23,142,.38),inset 0 1.5px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(255,255,255,.55)}
.lente::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.6px;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.12) 28%,rgba(255,255,255,0) 50%,rgba(255,255,255,.12) 72%,rgba(255,255,255,.6) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.lente::after{content:"";position:absolute;inset:8px;border-radius:calc(var(--radius-lg) - 8px);pointer-events:none;border:1px solid rgba(255,255,255,.55);background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,0) 20%),radial-gradient(55% 28% at 22% 0%,rgba(255,255,255,.36),rgba(255,255,255,0) 70%)}
.lente>*{position:relative;z-index:1}
.lente blockquote{margin:0}
.lente blockquote p{font-size:clamp(21px,2vw,27px);line-height:1.3;font-weight:700;letter-spacing:-.015em;color:var(--ink)}
.lente figcaption{font-size:15px;color:var(--ink)}
.lente figcaption strong{font-weight:700;color:var(--brand-900)}
/* refração real: só Chromium (detecção no boot.js); a medida do vidro precisa bater com o mapa 600x360 */
@media (min-width:1024px){
  .has-refraction .lente{width:600px;height:360px;min-height:0;backdrop-filter:url(#f-lente)}
}
@media (max-width:767px){
  .founder__art{height:auto;padding-top:clamp(70px,24vw,120px)}
  .founder__word{top:0;margin-top:0;font-size:31vw}
  .founder__lens-row{position:relative}
  .lente{min-height:0;padding:28px 24px}
}

/* ------------------------------------------------------------------ PARA QUEM FAZ SENTIDO */
.fit{position:relative;padding:clamp(100px,14vh,160px) 0;background:var(--surface);overflow:clip}
.fit__head h2{font-size:clamp(32px,4vw,58px);line-height:1.05;font-weight:800;letter-spacing:-.035em;max-width:16ch}
.fit__head p{margin-top:20px;max-width:52ch;color:var(--ink-muted);font-size:clamp(16px,1.25vw,19px)}
.fit__panel{position:relative;margin-top:clamp(40px,6vh,64px);display:grid;grid-template-columns:minmax(0,1fr);border-radius:var(--radius-lg);background:linear-gradient(150deg,rgba(255,255,255,.9),rgba(245,242,252,.7));border:1px solid var(--line);box-shadow:var(--shadow-glass),inset 0 1px 0 rgba(255,255,255,.95)}
.fit__col{padding:clamp(28px,3.4vw,48px)}
.fit__col+.fit__col{border-top:1px solid var(--line)}
.fit__col h3{font-size:clamp(20px,1.7vw,24px);line-height:1.2;font-weight:800;letter-spacing:-.015em;color:var(--brand-900)}
.fit__col--nao h3{color:var(--ink)}
.fit__col ul{margin-top:22px;display:grid;gap:16px}
.fit__col li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:14px;align-items:start;font-size:clamp(16px,1.15vw,18px);line-height:1.5;color:var(--ink)}
.fit__col--nao li{color:var(--ink-muted)}
.fit__col li svg{width:24px;height:24px;margin-top:1px}
.fit__col--sim li svg{color:var(--brand-600)}
.fit__col--nao li svg{color:var(--ink-muted)}
@media (min-width:900px){
  .fit__panel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fit__col+.fit__col{border-top:0;border-left:1px solid var(--line)}
}

/* ------------------------------------------------------------------ VIRADA (escuro) */
.turn{position:relative;color:var(--on-brand)}
.turn__stage{position:relative;min-height:100svh;display:grid;place-items:center;overflow:clip;isolation:isolate;background:radial-gradient(90% 60% at 12% 100%,rgba(75,32,182,.6),transparent 62%),radial-gradient(60% 50% at 100% 0%,rgba(55,23,142,.8),transparent 70%),var(--ink);padding:110px 0}
.has-motion .turn__stage{height:100svh;min-height:0;padding:0}
.turn__grid{position:absolute;inset:12% 5% 10%;z-index:-1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:auto repeat(5,minmax(0,1fr));gap:clamp(5px,.8vw,12px);opacity:.2}
.turn__day{text-align:center;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-200);padding-bottom:6px}
.turn__cell{position:relative;overflow:hidden;border-radius:clamp(6px,.9vw,14px);border:1px solid rgba(221,212,241,.2)}
.turn__cell i{position:absolute;inset:0;background:linear-gradient(140deg,var(--brand-600),var(--brand-900));transform-origin:50% 100%}
.turn__cell i::after{content:"";position:absolute;left:14%;right:30%;top:22%;height:3px;border-radius:3px;background:rgba(255,255,255,.55)}
.turn__copy{position:relative;text-align:center;padding:0 16px}
.turn__title{font-size:clamp(42px,8.4vw,140px);line-height:.98;font-weight:800;letter-spacing:-.045em}
.turn__title .tl-m{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.turn__title .tl{display:block}
.turn__title em{font-style:italic;color:var(--brand-200)}
.turn__sub{margin:clamp(22px,4vh,40px) auto 0;max-width:48ch;font-size:clamp(16px,1.3vw,20px);color:var(--brand-200)}

/* ------------------------------------------------------------------ CONTATO */
.contact{position:relative;padding:clamp(120px,18vh,200px) 0;overflow:clip;isolation:isolate;background:linear-gradient(180deg,var(--surface),var(--brand-50))}
.contact__art{position:absolute;inset:0;z-index:-1;pointer-events:none}
.contact__mark{position:absolute;left:50%;top:50%;width:min(70vw,560px);margin-left:max(-35vw,-280px);margin-top:-240px}
.contact__mark img{width:100%;height:auto}
.contact__plate{position:absolute;border-radius:var(--radius-lg);background:linear-gradient(140deg,rgba(255,255,255,.7),rgba(236,231,248,.4));border:1px solid var(--glass-edge);box-shadow:var(--shadow-glass)}
.contact__plate--a{left:6%;top:14%;width:220px;height:160px;transform:rotate(-12deg)}
.contact__plate--b{right:7%;bottom:12%;width:260px;height:190px;transform:rotate(10deg)}
.contact__card{position:relative;max-width:900px;margin-inline:auto;padding:clamp(32px,5vw,64px);border-radius:var(--radius-lg);text-align:center;background:rgba(255,255,255,.8);border:1px solid var(--glass-edge);box-shadow:0 30px 80px rgba(55,23,142,.16),inset 0 1px 0 rgba(255,255,255,.95);backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4)}
.contact__card .eyebrow{justify-content:center}
.contact__card h2{margin-top:20px;font-size:clamp(30px,3.8vw,54px);line-height:1.06;font-weight:800;letter-spacing:-.035em;color:var(--ink)}
.contact__card h2 em{font-style:italic}
.contact__lead{margin:20px auto 0;max-width:50ch;color:var(--ink-muted);font-size:clamp(16px,1.25vw,19px)}
.next{position:relative;margin:clamp(28px,4vh,40px) auto 0;display:grid;grid-template-columns:minmax(0,1fr);gap:18px;text-align:left;max-width:760px}
.next li{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);gap:4px 14px;align-items:baseline}
.next__n{grid-row:span 2;display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--surface);border:1px solid rgba(75,32,182,.25);font-size:14px;font-weight:800;color:var(--brand-600);box-shadow:0 6px 16px rgba(55,23,142,.1)}
.next h3{font-size:17px;line-height:1.3;font-weight:800;color:var(--brand-900)}
.next p{font-size:15px;line-height:1.5;color:var(--ink-muted)}
@media (min-width:768px){
  .next{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;text-align:center}
  .next::before{content:"";position:absolute;left:16.66%;right:16.66%;top:18px;height:2px;background:linear-gradient(90deg,var(--brand-200),var(--brand-400),var(--brand-200))}
  .next li{grid-template-columns:minmax(0,1fr);justify-items:center;gap:10px}
  .next__n{grid-row:auto}
}
.contact__cta{margin-top:34px;display:flex;justify-content:center}
.contact__note{margin-top:18px;font-size:14px;color:var(--ink-muted)}

/* ------------------------------------------------------------------ PERGUNTAS FREQUENTES */
.faq{position:relative;padding:clamp(100px,14vh,160px) 0;background:var(--brand-50)}
.faq__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px}
.faq__head h2{font-size:clamp(32px,4vw,58px);line-height:1.05;font-weight:800;letter-spacing:-.035em;max-width:14ch}
.faq__head p{margin-top:20px;max-width:40ch;color:var(--ink-muted);font-size:clamp(16px,1.25vw,19px)}
.faq__head .btn{margin-top:28px}
@media (min-width:1024px){
  .faq__grid{grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:72px;align-items:start}
  .faq__head{position:sticky;top:22vh}
}
.faq__list{display:grid;gap:12px}
.faq__item{border-radius:var(--radius-md);background:var(--glass-fill-strong);border:1px solid var(--line);box-shadow:0 2px 10px rgba(55,23,142,.05);transition:box-shadow .35s var(--ease),border-color .35s}
.faq__item[open]{background:var(--surface);border-color:rgba(75,32,182,.22);box-shadow:var(--shadow-glass)}
.faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding:18px 22px 18px 26px;cursor:pointer;list-style:none;border-radius:inherit;font-size:clamp(16px,1.3vw,19px);line-height:1.35;font-weight:700;color:var(--ink)}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary:hover{color:var(--brand-900)}
.faq__icon{position:relative;flex:none;width:32px;height:32px;border-radius:50%;background:var(--brand-100);transition:background-color .35s,transform .45s var(--ease)}
.faq__icon::before,.faq__icon::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;border-radius:2px;background:var(--brand-600);transition:transform .45s var(--ease)}
.faq__icon::after{transform:rotate(90deg)}
.faq__item[open] .faq__icon{background:var(--brand-600);transform:rotate(180deg)}
.faq__item[open] .faq__icon::before,.faq__item[open] .faq__icon::after{background:var(--on-brand)}
.faq__item[open] .faq__icon::after{transform:rotate(0deg)}
.faq__a{padding:0 26px 24px;max-width:68ch;color:var(--ink-muted);font-size:16px;line-height:1.65}
.faq__a p+p{margin-top:12px}
.faq__a a{color:var(--brand-600);font-weight:600}
@supports (interpolate-size:allow-keywords){
  .faq__list{interpolate-size:allow-keywords}
  .faq__item::details-content{block-size:0;overflow:clip;transition:block-size .45s var(--ease),content-visibility .45s allow-discrete}
  .faq__item[open]::details-content{block-size:auto}
}

/* ------------------------------------------------------------------ RODAPÉ */
.footer{background:var(--surface);border-top:1px solid var(--line);padding:48px 0 40px}
.footer__in{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.footer__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px}
.footer__logo{display:inline-flex;border-radius:12px}
.footer__logo img{height:52px;width:auto}
.footer__links{display:flex;gap:4px;flex-wrap:wrap}
.footer__links a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:var(--radius-pill);font-size:14px;font-weight:600;color:var(--ink-muted);text-decoration:none}
.footer__links a:hover{color:var(--brand-900);background:var(--brand-50)}
.footer__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-top:20px;border-top:1px solid var(--line);font-size:14px;color:var(--ink-muted)}
.footer__base p{display:flex;align-items:center;min-height:44px}
.footer__base a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink-muted)}
.footer__base a:hover{color:var(--brand-900)}

/* ------------------------------------------------------------------ páginas de leitura (política, 404) */
.page{padding:128px 0 96px;background:linear-gradient(180deg,var(--brand-50),var(--surface) 360px)}
.legal{width:min(760px,calc(100% - 32px));margin-inline:auto}
.legal h1{font-size:clamp(34px,4.4vw,56px);line-height:1.06;font-weight:800;letter-spacing:-.035em}
.legal .meta{margin-top:16px;font-size:14px;color:var(--ink-muted)}
.legal .intro{margin-top:28px;font-size:clamp(17px,1.35vw,20px);color:var(--ink-muted)}
.legal h2{margin-top:48px;font-size:clamp(22px,2vw,28px);line-height:1.2;font-weight:800;letter-spacing:-.02em;color:var(--brand-900)}
.legal p,.legal li{font-size:17px;line-height:1.7;color:var(--ink)}
.legal p{margin-top:14px}
.legal ul{margin-top:14px;display:grid;gap:8px;padding-left:22px;list-style:disc}
.legal li::marker{color:var(--brand-600)}
.legal a{color:var(--brand-600);font-weight:600}
.legal .box{margin-top:20px;padding:22px 24px;border-radius:var(--radius-md);background:var(--glass-fill-strong);border:1px solid var(--line)}
.legal .box p:first-child{margin-top:0}
.notfound{min-height:100svh;display:grid;place-items:center;padding:120px 16px 64px;text-align:center;background:radial-gradient(60% 50% at 50% 40%,var(--brand-100),transparent 70%),var(--surface)}
.notfound .notfound__code{margin:0;max-width:none;font-size:clamp(120px,26vw,300px);line-height:1;font-weight:800;font-style:italic;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:2px var(--brand-400)}
.notfound h1{margin-top:8px;font-size:clamp(28px,3.6vw,44px);line-height:1.1;font-weight:800;letter-spacing:-.03em}
.notfound p{margin:16px auto 0;max-width:44ch;color:var(--ink-muted);font-size:18px}
.notfound .hero__actions{justify-content:center}

/* ------------------------------------------------------------------ boot: esconde só o que a abertura do hero revela */
.motion-boot .hero__title,.motion-boot .hero__lead,.motion-boot .hero__actions,.motion-boot .hero__note,.motion-boot .prism,.motion-boot .marquee{visibility:hidden}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media (prefers-reduced-transparency:reduce){
  .nav,.mcard__inner,.contact__card,.lente,.fit__panel,.faq__item,.btn--ghost,.chip__in,.plate__in{background:var(--surface)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .nav,.mcard__inner,.contact__card,.lente,.btn--ghost,.chip__in{background:rgba(255,255,255,.94)}
}
@media print{
  .nav,.cursor,.progress,.prism-wrap,.marquee,.contact__art,.founder__art,.skip{display:none!important}
  body{color:#000}
}
