:root{
      --foto-clinica:url("../images/fachada.jpg");
      --blue:#1A2E4A;
      --blue-2:#081B2F;
      --gold:#C9A84C;
      --gold-2:#E4D29A;
      --paper:#F5F3EE;
      --soft:#EDE8DF;
      --ink:#2B2B2B;
      --muted:#7A7060;
      --line:rgba(201,168,76,.34);
      --glass:rgba(245,243,238,.11);
      --shadow:0 30px 90px rgba(8,27,47,.23);
      --radius:30px;
      --heading:'Cormorant Garamond', Georgia, serif;
      --body:'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
      --ease:cubic-bezier(.22,.8,.26,.99);
      --dur-1:.3s;
      --dur-2:.7s;
      --dur-3:5s;
    }
    *{box-sizing:border-box}
    .sr-only{
      position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
      clip:rect(0,0,0,0); white-space:nowrap; border:0;
    }
    html{scroll-behavior:smooth; overflow-x:clip}
    body{
      margin:0;
      font-family:var(--body);
      background:var(--paper);
      color:var(--ink);
      overflow-x:clip;
    }
    ::selection{background:rgba(201,168,76,.32)}
    .grain{
      pointer-events:none; position:fixed; inset:0; z-index:10000; opacity:.08; mix-blend-mode:multiply;
      background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 250 250' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='.55'/%3E%3C/svg%3E");
    }
    #neuroCanvas{
      position:fixed; inset:0; z-index:-2; background:radial-gradient(circle at 20% 10%, rgba(201,168,76,.15), transparent 30%), linear-gradient(135deg, #081B2F 0%, #1A2E4A 50%, #071828 100%);
    }
    .section{position:relative; padding:140px 6vw}
    .wrap{width:min(1180px, 100%); margin:0 auto}
    .eyebrow{
      color:var(--gold); font-weight:700; letter-spacing:.28em; text-transform:uppercase; font-size:.72rem;
      display:flex; align-items:center; gap:16px; margin-bottom:18px;
    }
    .eyebrow:before{content:""; width:38px; height:1px; background:var(--gold)}
    h1,h2,h3{font-family:var(--heading); color:var(--blue); margin:0; line-height:.95}
    h1{font-size:clamp(4rem, 11vw, 9rem); font-weight:300; letter-spacing:-.055em}
    h2{font-size:clamp(3rem, 7vw, 6rem); font-weight:300; letter-spacing:-.045em}
    h3{font-size:clamp(2rem, 4vw, 3.5rem); font-weight:400; letter-spacing:-.03em}
    p{font-size:clamp(1rem, 1.3vw, 1.18rem); line-height:1.75}
    .gold{color:var(--gold)}
    .btn{
      display:inline-flex; align-items:center; gap:10px; border-radius:999px; padding:15px 24px;
      text-decoration:none; font-weight:700; font-size:.95rem; letter-spacing:.02em; transition:.35s ease;
      border:1px solid var(--gold); cursor:pointer; user-select:none; position:relative; overflow:hidden;
    }
    .btn:before{
      content:""; position:absolute; inset:0; transform:translateX(-120%) skewX(-20deg);
      background:linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent); transition:.55s ease;
    }
    .btn:hover:before{transform:translateX(120%) skewX(-20deg)}
    .btn-primary{background:var(--gold); color:var(--blue); box-shadow:0 16px 40px rgba(201,168,76,.22)}
    .btn-outline{color:white; background:rgba(255,255,255,.04)}
    .btn-dark{background:var(--blue); color:white; border-color:rgba(201,168,76,.6)}
    .topbar{
      position:fixed; top:22px; left:50%; transform:translateX(-50%) translateY(-120px);
      z-index:4000; width:min(1050px, calc(100% - 28px)); padding:12px 14px 12px 18px;
      display:flex; justify-content:space-between; align-items:center; border-radius:999px;
      border:1px solid rgba(201,168,76,.44); background:rgba(245,243,238,.88);
      -webkit-backdrop-filter:blur(22px) saturate(145%); backdrop-filter:blur(22px) saturate(145%);
      box-shadow:0 18px 70px rgba(8,27,47,.18), inset 0 1px 0 rgba(255,255,255,.78);
      transition:transform .65s cubic-bezier(.2,.8,.2,1), background .4s ease;
    }
    .topbar.visible{transform:translateX(-50%) translateY(0)}
    .brand-mini{display:flex; align-items:center; gap:10px; color:var(--blue); text-decoration:none; font-weight:800}
    .brand-mark{width:40px; height:40px; border-radius:50%; display:grid; place-items:center; color:var(--gold); border:1px solid var(--gold); font-family:var(--heading); font-size:1.7rem; overflow:hidden}
    .brand-mark img{width:100%; height:100%; object-fit:cover; display:block}
    .navlinks{display:flex; align-items:center; gap:4px}
    .navlinks a{color:var(--blue); text-decoration:none; padding:11px 15px; border-radius:999px; font-size:.88rem; font-weight:600; transition:.25s ease}
    .navlinks a:hover{background:rgba(201,168,76,.18); color:var(--blue-2)}
    .menuBtn{display:none}
    .preloader{
      position:fixed; inset:0; z-index:9500; display:grid; place-items:center; gap:22px;
      background:var(--blue-2); color:white; transition:opacity .6s ease, visibility .6s ease;
    }
    .preloader.done{opacity:0; visibility:hidden; pointer-events:none}
    .preloader-logo{
      width:96px; height:96px; padding:16px; border-radius:50%;
      background:var(--paper); border:1px solid var(--gold);
      display:grid; place-items:center; animation:preloaderPulse 1.8s ease-in-out infinite;
    }
    .preloader-logo img{width:100%; height:100%; object-fit:contain; display:block}
    @keyframes preloaderPulse{0%,100%{transform:scale(1)} 50%{transform:scale(1.06)}}
    .preloader-bar{width:min(220px, 60vw); height:2px; background:rgba(255,255,255,.14); border-radius:999px; overflow:hidden}
    .preloader-fill{width:0%; height:100%; background:linear-gradient(90deg, var(--gold), var(--gold-2)); transition:width .2s linear}
    .preloader-pct{
      font-family:var(--body); font-variant-numeric:tabular-nums;
      font-size:.78rem; letter-spacing:.18em; color:rgba(255,255,255,.7);
    }
    .splash{
      position:fixed; inset:0; z-index:8000; display:grid; place-items:center;
      background:rgba(8,27,47,.80); color:white; padding:90px 6vw 120px; will-change:transform;
    }
    .splash:after{
      content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
      background:linear-gradient(90deg, transparent, var(--gold), transparent);
    }
    .splash.done{opacity:0; visibility:hidden; transition:opacity .8s ease, visibility .8s ease}
    .splash-inner{text-align:center; width:min(950px, 100%)}
    .splash .hint{
      margin-top:42px; color:rgba(255,255,255,.62); letter-spacing:.22em; text-transform:uppercase;
      font-size:.72rem; animation:hintPulse 2.4s ease-in-out infinite;
    }
    @keyframes hintPulse{50%{opacity:.45; transform:translateY(4px)}}
    .splash .phrase{
      font-family:var(--heading); font-size:clamp(2.4rem, 7vw, 6rem); line-height:1; font-weight:300;
      letter-spacing:-.04em; opacity:0; transform:translateY(20px);
      animation:splashIn 1.2s .2s forwards ease, breathe var(--dur-3) 1.8s ease-in-out infinite;
    }
    .splash .phrase .under{border-bottom:2px solid var(--gold); color:var(--gold-2)}
    .splash-logo{
      margin:40px auto 0; width:128px; height:128px; padding:22px;
      border-radius:50%; background:var(--paper); border:1px solid var(--gold);
      display:grid; place-items:center;
      animation:logoPulse var(--dur-3) 1.8s ease-in-out infinite;
    }
    .splash-logo img{width:100%; height:100%; object-fit:contain; display:block}
    @keyframes splashIn{to{opacity:1; transform:translateY(0)}}
    @keyframes breathe{
      0%,100%{opacity:1; transform:scale(1); text-shadow:0 0 0 rgba(201,168,76,0)}
      50%{opacity:.9; transform:scale(1.018); text-shadow:0 0 70px rgba(201,168,76,.35)}
    }
    @keyframes logoPulse{
      0%,100%{transform:scale(1); box-shadow:0 14px 40px rgba(0,0,0,.32), 0 0 0 rgba(201,168,76,0)}
      50%{transform:scale(1.05); box-shadow:0 14px 40px rgba(0,0,0,.32), 0 0 38px rgba(201,168,76,.42); border-color:var(--gold-2)}
    }
    .hero{
      position:relative; height:94svh; display:grid; place-items:center; overflow:hidden;
      color:white; padding:clamp(26px,5vh,60px) 6vw;
      background:radial-gradient(130% 100% at 50% 12%, #27456f 0%, #1A2E4A 56%, #101f36 100%);
    }
    .hero-neuro{
      position:absolute; inset:0; width:100%; height:100%; z-index:0; display:block; pointer-events:none;
    }
    .hero.hero-fallback .hero-neuro{
      opacity:.94;
      background:
        linear-gradient(120deg, transparent 0 28%, rgba(201,168,76,.08) 48%, transparent 68%),
        repeating-linear-gradient(118deg, transparent 0 42px, rgba(228,210,154,.035) 43px 44px);
    }
    .hero:before{
      content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
      background:radial-gradient(72% 54% at 50% 46%, rgba(10,22,40,.5), transparent 72%);
    }
    .hero:after{
      content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
      background:linear-gradient(180deg, transparent 62%, rgba(8,16,30,.45) 100%);
    }
    .hero-content{
      position:relative; z-index:2; text-align:center; width:min(960px,100%); margin:0 auto;
      display:grid; justify-items:center;
      /* minmax(0,1fr): trava a coluna na largura do bloco para o texto QUEBRAR
         em vez de esticar e empurrar tudo para o lado (mantém centralizado) */
      grid-template-columns:minmax(0,1fr);
      /* desloca levemente para cima: encurta o vão do topo e afasta o "role" do texto */
      transform:translateY(clamp(-46px, -5vh, -22px));
    }
    .hero-logo-shell{
      width:clamp(112px, min(21vw,21vh), 250px); aspect-ratio:1; display:grid; place-items:center;
      padding:clamp(18px, 2.8vh, 36px); border-radius:50%;
      background:rgba(245,243,238,.88); border:1px solid rgba(228,210,154,.82);
      box-shadow:0 28px 90px rgba(8,27,47,.28), inset 0 0 0 1px rgba(255,255,255,.36);
      backdrop-filter:blur(12px) saturate(128%);
    }
    .hero-logo{width:100%; height:100%; object-fit:contain; display:block}
    .hero-tagline{
      color:white; font-family:var(--heading); font-size:clamp(2.5rem, min(9.5vh, 12vw), 6.4rem);
      line-height:1; font-weight:300; letter-spacing:0; max-width:100%;
      margin:clamp(18px,3.4vh,38px) auto 0; text-shadow:0 24px 78px rgba(5,18,33,.46);
    }
    .hero-place{
      color:rgba(255,255,255,.9); font-size:clamp(.66rem,1.5vh,.9rem); letter-spacing:.15em; text-transform:uppercase;
      margin:clamp(10px,2.2vh,20px) auto 0; padding:clamp(7px,1.15vh,10px) 18px; border-radius:999px;
      background:rgba(255,255,255,.09); border:1px solid rgba(228,210,154,.4);
      backdrop-filter:blur(8px); text-shadow:0 10px 34px rgba(5,18,33,.5);
    }
    .hero-place b{color:var(--gold); font-weight:600}
    .hero-story{
      color:rgba(255,255,255,.88); font-size:clamp(1rem,2.4vh,1.35rem); line-height:1.6;
      max-width:640px; margin:clamp(14px,2.8vh,26px) auto 0; text-shadow:0 12px 46px rgba(5,18,33,.55);
    }
    .hero-ctas{display:flex; justify-content:flex-start; gap:14px; flex-wrap:wrap}
    .scroll-indicator{
      position:absolute; bottom:clamp(8px,3vh,26px); left:50%; z-index:3; transform:translateX(-50%); color:white; display:flex; flex-direction:column; align-items:center; gap:8px;
      font-size:.68rem; letter-spacing:.28em; text-transform:uppercase; opacity:.8
    }
    .scroll-indicator i{width:1px; height:clamp(24px,5vh,50px); background:linear-gradient(var(--gold), transparent)}
    .story{
      background:var(--soft); overflow:hidden; border-radius:40px 40px 0 0;
      margin-top:-40px; position:relative; z-index:2; padding-top:110px; padding-bottom:110px;
    }
    .story-head{max-width:780px}
    .story-head h2{font-size:clamp(2.2rem, 5vw, 4rem)}
    .chapters{margin-top:30px}
    .chapter{position:relative; padding:74px 0; border-bottom:1px solid var(--line); overflow:hidden}
    .chapter:last-child{border-bottom:0}
    .ch-no{
      position:absolute; right:-2vw; top:50%; transform:translateY(-50%); z-index:0;
      font-family:var(--heading); font-size:clamp(8rem, 20vw, 17rem); line-height:1;
      color:rgba(201,168,76,.13); user-select:none; pointer-events:none; will-change:transform;
    }
    .chapter:nth-of-type(even) .ch-no{right:auto; left:-2vw}
    .ch-tag{
      color:var(--gold); font-weight:700; letter-spacing:.28em; text-transform:uppercase; font-size:.7rem;
      display:block; margin-bottom:14px;
    }
    .chapter h3{position:relative; z-index:1; font-size:clamp(2rem, 4.6vw, 3.4rem)}
    .chapter p{position:relative; z-index:1; max-width:560px; margin:16px 0 0; color:var(--muted)}
    @media(min-width:920px){
      .chapter{padding:96px 0}
      .chapter:nth-of-type(even) h3,.chapter:nth-of-type(even) p{margin-left:auto; text-align:right}
      .chapter:nth-of-type(even) p{margin-top:16px}
    }
    .zenith{
      min-height:40vh; display:grid; place-items:center; background:linear-gradient(135deg, var(--soft), var(--paper));
      overflow:hidden; position:relative; padding:90px clamp(22px, 6vw, 82px);
    }
    .zenith:before,.zenith:after{
      content:""; position:absolute; width:70vw; height:70vw; border:1px solid rgba(201,168,76,.12); border-radius:45% 55% 70% 30%;
    }
    .zenith:before{left:-30vw; top:-20vw; animation:morph 14s ease-in-out infinite}
    .zenith:after{right:-35vw; bottom:-30vw; animation:morph 18s ease-in-out infinite reverse}
    @keyframes morph{50%{border-radius:64% 36% 35% 65%; transform:rotate(20deg) scale(1.1)}}
    .zenith h2{
      position:relative; z-index:2; text-align:center; width:min(100%, 1000px); color:var(--blue);
      font-style:italic; font-size:clamp(2rem, 4.5vw, 3.6rem); line-height:1.08;
      letter-spacing:0; overflow-wrap:normal; word-break:normal; text-wrap:balance;
    }
    .direction-note{
      margin-top:56px; padding-top:28px; border-top:1px solid var(--line);
      display:flex; align-items:center; justify-content:space-between; gap:28px;
    }
    .direction-note p{margin:0; max-width:680px; color:var(--blue); font-size:1.04rem; line-height:1.65}
    .direction-note .btn{flex:0 0 auto}
    /* ===== Atendimento online (efeito notebook abrindo) ===== */
    .online{
      background:var(--blue); color:#fff; position:relative; z-index:2; overflow:hidden;
      border-radius:40px 40px 0 0; margin-top:-40px; padding:74px 0 78px;
    }
    .online-head{max-width:880px; margin:0 auto; padding:0 6vw; text-align:center}
    .online-head h2{color:#fff}
    .online-head p{max-width:760px; color:rgba(255,255,255,.76); margin:10px auto 0}
    .online-stage{
      display:grid; place-items:center; position:relative;
      gap:16px; padding:22px 0 4px;
    }
    /* Notebook recortado (fechado -> aberto). Proporção = a dos webp (1336x974) */
    .laptop{
      position:relative; width:min(720px, 90vw); aspect-ratio:1336/974;
      margin:0 auto;
    }
    .laptop img{
      position:absolute; inset:0; width:100%; height:100%;
      object-fit:contain; object-position:bottom center;
      filter:drop-shadow(0 26px 34px rgba(0,0,0,.35));
    }
    .lap-open{opacity:0; will-change:opacity}
    /* Sombra de contato sob a base, para "assentar" o notebook no azul */
    .laptop::after{
      content:""; position:absolute; left:50%; bottom:2%; transform:translateX(-50%);
      width:70%; height:4%; border-radius:50%; z-index:-1; pointer-events:none;
      background:radial-gradient(ellipse at center, rgba(0,0,0,.55), rgba(0,0,0,0) 72%);
      filter:blur(7px);
    }
    .laptop-glow{
      position:absolute; inset:-12% -8% 0; z-index:-1; pointer-events:none;
      background:radial-gradient(ellipse at 50% 78%, rgba(201,168,76,.18), transparent 60%); filter:blur(26px);
    }
    .online-cta{display:block; width:max-content; margin:24px auto 0; z-index:3}
    /* Continuação visual da bio da Denise: mesmo fundo marfim da seção da CEO,
       sem raio próprio, e com a margem negativa "comendo" o respiro entre as duas */
    .metrics{
      background:var(--paper);
      position:relative; z-index:3;
      padding-top:0; margin-top:-108px;
    }
    .metrics-note{display:flex; align-items:flex-start; gap:12px; margin:30px 0 0; color:var(--muted); font-size:1.02rem; font-weight:500; max-width:780px; line-height:1.7}
    .metrics-note svg{color:var(--gold); flex:0 0 auto; margin-top:4px}
    .metrics-note b{color:var(--blue)}
    .metric-grid{display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-top:28px}
    .metric{padding:38px 24px; border-right:1px solid var(--line)}
    .metric:last-child{border-right:0}
    .metric .num{font-family:var(--heading); color:var(--gold); font-size:clamp(3.5rem,7vw,6rem); line-height:1}
    .metric p{margin:6px 0 0; color:var(--muted)}
    /* ===== Equipe ===== */
    .team-block{margin-top:96px; padding-top:64px; border-top:1px solid var(--line)}
    .team-head{max-width:760px}
    .team-lead{color:var(--muted); font-size:1.05rem; line-height:1.7; margin:14px 0 0}
    .team-grid{
      display:grid; grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
      gap:22px; margin-top:44px;
    }
    /* Equipe agrupada por especialidade */
    .team-groups{display:flex; flex-direction:column; gap:44px; margin-top:44px}
    .team-group-title{
      display:flex; align-items:center; gap:16px; margin:0 0 20px;
      font-family:var(--body); font-size:.72rem; font-weight:700;
      letter-spacing:.28em; text-transform:uppercase; color:var(--gold);
    }
    /* linha que preenche o resto da largura */
    .team-group-title:after{
      content:""; flex:1 1 auto; height:1px;
      background:linear-gradient(90deg, rgba(201,168,76,.45), transparent);
    }
    /* auto-fill mantém a mesma largura de card em todos os grupos,
       inclusive no que tem um profissional só */
    .team-group-grid{
      display:grid; grid-template-columns:repeat(auto-fill, minmax(190px, 1fr));
      gap:22px;
    }
    .team-card{
      position:relative; display:block; text-align:left; cursor:pointer;
      aspect-ratio:3/4; padding:0; border-radius:26px; overflow:hidden; font:inherit;
      border:1px solid rgba(201,168,76,.4);
      /* Sem foto: superfície clara em marfim/champanhe (o azul chapado pesava demais) */
      background:
        radial-gradient(120% 85% at 50% -8%, rgba(201,168,76,.22), transparent 62%),
        linear-gradient(158deg, #FCFAF6 0%, #EFEADF 52%, #E2DACA 100%);
      box-shadow:0 16px 44px rgba(8,27,47,.14);
      transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .45s var(--ease);
    }
    .team-card:hover{
      transform:translateY(-8px); border-color:var(--gold);
      box-shadow:0 32px 74px rgba(8,27,47,.26), 0 0 0 1px rgba(201,168,76,.35);
    }
    .team-card:focus-visible{outline:2px solid var(--gold); outline-offset:3px}
    /* Com foto: fundo escuro por trás (sem flash claro no carregamento) e véu para o texto */
    .team-card.has-photo{background:linear-gradient(150deg, rgba(26,46,74,.96), rgba(8,27,47,.99))}
    .team-card:before{
      content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
      background:linear-gradient(180deg, transparent 42%, rgba(6,16,30,.9) 100%);
    }
    /* Sem foto: véu claro e tipografia escura */
    .team-card:not(.has-photo):before{
      background:linear-gradient(180deg, transparent 44%, rgba(252,250,246,.94) 100%);
    }
    .team-card:not(.has-photo) .team-name{color:var(--blue); text-shadow:none}
    .team-card:not(.has-photo) .team-role{color:var(--muted)}
    .team-card:not(.has-photo) .team-cue{
      background:rgba(26,46,74,.05); border-color:rgba(26,46,74,.16); color:var(--blue);
      -webkit-backdrop-filter:none; backdrop-filter:none;
    }
    .team-card:not(.has-photo):hover .team-cue{background:var(--gold); color:var(--blue); border-color:var(--gold)}
    .team-card:not(.has-photo):after{
      background:linear-gradient(105deg, transparent 38%, rgba(255,255,255,.72) 50%, transparent 62%);
    }
    /* Varredura de luz ao passar o mouse (leitura "tecnológica") */
    .team-card:after{
      content:""; position:absolute; inset:0; z-index:3; pointer-events:none;
      background:linear-gradient(105deg, transparent 38%, rgba(228,210,154,.22) 50%, transparent 62%);
      transform:translateX(-120%); transition:transform .85s var(--ease);
    }
    .team-card:hover:after,.team-card:focus-visible:after{transform:translateX(120%)}
    .team-photo{position:absolute; inset:0; width:100%; height:100%}
    /* Sem foto: malha de pontos + halo dourado e a inicial em destaque */
    .team-card:not(.has-photo) .team-photo{
      background-image:
        radial-gradient(circle at 50% 38%, rgba(201,168,76,.20), transparent 64%),
        radial-gradient(rgba(26,46,74,.13) 1px, transparent 1px);
      background-size:auto, 15px 15px;
      background-position:center, center;
    }
    .team-photo:before{
      content:attr(data-initial); position:absolute; inset:0; display:grid; place-items:center;
      padding-bottom:14%;
      font-family:var(--heading); font-size:3.9rem; color:var(--gold-2);
      text-shadow:0 0 34px rgba(201,168,76,.5);
    }
    /* na superfície clara a inicial precisa de mais peso */
    .team-card:not(.has-photo) .team-photo:before{
      color:var(--gold); text-shadow:0 2px 18px rgba(201,168,76,.35);
    }
    /* Cantos em "colchete", estilo HUD */
    .team-photo:after{
      content:""; position:absolute; inset:14px; z-index:2; pointer-events:none; border-radius:14px;
      background:
        linear-gradient(var(--gold),var(--gold)) left top/14px 1px no-repeat,
        linear-gradient(var(--gold),var(--gold)) left top/1px 14px no-repeat,
        linear-gradient(var(--gold),var(--gold)) right bottom/14px 1px no-repeat,
        linear-gradient(var(--gold),var(--gold)) right bottom/1px 14px no-repeat;
      opacity:.5; transition:opacity .4s var(--ease), inset .4s var(--ease);
    }
    .team-card:hover .team-photo:after{opacity:1; inset:10px}
    .team-photo img{
      position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
      transition:transform .6s var(--ease);
    }
    .team-card:hover .team-photo img{transform:scale(1.08)}
    .team-info{
      position:absolute; left:0; right:0; bottom:0; z-index:2;
      padding:16px 16px 15px; display:flex; flex-direction:column; gap:3px;
    }
    .team-name{color:white; font-family:var(--heading); font-weight:500; font-size:1.16rem; line-height:1.18; text-shadow:0 8px 24px rgba(0,0,0,.35)}
    .team-role{color:rgba(255,255,255,.84); font-size:.74rem; line-height:1.4}
    .team-cue{
      position:absolute; top:14px; right:14px; z-index:2; width:32px; height:32px; border-radius:50%;
      background:rgba(255,255,255,.14); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
      border:1px solid rgba(255,255,255,.28);
      color:white; font-size:.95rem; display:grid; place-items:center;
      transition:transform .4s var(--ease), background .4s var(--ease), color .4s var(--ease);
    }
    .team-card:hover .team-cue{transform:translate(2px,-2px); background:var(--gold); color:var(--blue); border-color:var(--gold)}
    .team-note{margin:30px 0 0; color:var(--muted); font-size:.88rem; line-height:1.6; max-width:640px}
    /* Entrada com leve "pop" (escala + subida), mais viva que o fade padrão do .reveal */
    .team-card.reveal{transform:translateY(26px) scale(.94)}
    .team-card.reveal.in{transform:none}

    .team-modal-head{display:flex; align-items:center; gap:18px; margin-bottom:20px}
    .team-modal-photo{
      flex:0 0 auto; width:88px; height:88px; border-radius:50%; overflow:hidden; position:relative;
      display:grid; place-items:center; border:1px solid rgba(201,168,76,.6);
      background:linear-gradient(150deg, rgba(201,168,76,.26), rgba(8,27,47,.12));
    }
    .team-modal-photo:before{content:attr(data-initial); font-family:var(--heading); font-size:2rem; color:var(--blue); opacity:.55}
    .team-modal-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
    .team-council{
      margin:8px 0 0; display:inline-flex; padding:5px 12px; border-radius:999px;
      background:var(--blue); color:white; font-size:.76rem; letter-spacing:.04em;
    }
    .team-serves{margin:20px 0 0; color:var(--muted); font-size:.92rem; line-height:1.6}
    .team-modal .team-modal-head h3{margin:6px 0 0}

    /* ===== Convite para a área do paciente ===== */
    .patient-invite{
      position:relative; z-index:2; overflow:hidden; color:white; padding:88px 6vw;
      background:radial-gradient(130% 100% at 50% 20%, #27456f 0%, #1A2E4A 56%, #101f36 100%);
    }
    .patient-invite:before{
      content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
      background:radial-gradient(72% 100% at 50% 50%, rgba(10,22,40,.42), transparent 72%);
    }
    .patient-neuro{position:absolute; inset:0; width:100%; height:100%; z-index:0; display:block; pointer-events:none}
    .patient-invite.hero-fallback .patient-neuro{
      opacity:.94;
      background:
        linear-gradient(120deg, transparent 0 28%, rgba(201,168,76,.08) 48%, transparent 68%),
        repeating-linear-gradient(118deg, transparent 0 42px, rgba(228,210,154,.035) 43px 44px);
    }
    .patient-invite-grid{position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap}
    .patient-invite h2{color:white; margin:10px 0 0; font-size:clamp(1.9rem, 4vw, 3rem)}
    .patient-invite p{color:rgba(255,255,255,.82); margin:14px 0 0; max-width:600px; line-height:1.7}
    .patient-invite .eyebrow{color:var(--gold)}

    .nav-area{border:1px solid rgba(201,168,76,.55)}

    .founder{
      background:linear-gradient(180deg, var(--soft), var(--paper) 180px);
      border-radius:40px 40px 0 0; margin-top:-40px; position:relative; z-index:3;
      --founder-collapsed-height:136px;
      --founder-fade-start:102px;
    }
    .founder-grid{display:grid; grid-template-columns:.82fr 1.18fr; gap:70px; align-items:start}
    .founder-photo{position:sticky; top:110px}
    .photo-frame{
      border:1px solid var(--gold); padding:13px; border-radius:32px; background:rgba(255,255,255,.5);
      box-shadow:var(--shadow)
    }
    .photo-frame img{width:100%; display:block; border-radius:24px; aspect-ratio:4/5; object-fit:cover}
    .badge{background:var(--blue); color:white; display:inline-flex; padding:11px 16px; border-radius:999px; margin-top:-24px; margin-left:22px; position:relative; border:1px solid var(--gold)}
    .timeline{
      --timeline-progress:1;
      --timeline-inset:10%;
      margin-top:52px; position:relative; display:grid;
      grid-template-columns:repeat(5, minmax(0, 1fr)); gap:22px;
      padding:48px 0 4px;
    }
    .timeline:before,
    .timeline:after{
      content:""; position:absolute; top:16px; left:var(--timeline-inset); right:var(--timeline-inset);
      height:2px; border-radius:999px; pointer-events:none;
    }
    .timeline:before{background:rgba(201,168,76,.28)}
    .timeline:after{
      background:linear-gradient(90deg, var(--gold), var(--blue));
      transform:scaleX(var(--timeline-progress)); transform-origin:left center;
      box-shadow:0 0 22px rgba(201,168,76,.22);
    }
    .milestone{
      --dot-active:1;
      margin:0; position:relative; min-width:0; text-align:center;
    }
    .milestone:before,
    .milestone:after{
      content:""; position:absolute; left:50%; top:-39px; width:14px; height:14px;
      border-radius:50%; transform:translateX(-50%);
    }
    .milestone:before{
      background:var(--paper); border:2px solid rgba(201,168,76,.45);
      box-shadow:0 0 0 8px rgba(201,168,76,.10);
    }
    .milestone:after{
      background:var(--gold); border:2px solid var(--gold);
      opacity:var(--dot-active); box-shadow:0 0 0 8px rgba(201,168,76,.16);
      transform:translateX(-50%) scale(var(--dot-pop, 1));
    }
    .milestone b{display:block; color:var(--gold); font-family:var(--heading); font-size:1.7rem; line-height:1}
    .milestone p{margin:8px 0 0; font-size:.95rem; line-height:1.55; color:var(--muted)}
    .founder-subtitle{font-style:italic; margin:14px 0 28px; font-size:clamp(2rem,3.55vw,3.2rem); line-height:1.05}
    .founder-intro{max-width:760px; margin-bottom:0}
    /* Bloco "ler mais" da fundadora - começa aberto (HTML), JS recolhe */
    .founder-readmore{
      position:relative; margin-top:24px; padding-bottom:44px; overflow:hidden;
    }
    .founder-more{
      overflow:hidden; max-height:2400px; position:relative; z-index:1;
      transition:max-height .7s var(--ease), opacity .45s var(--ease);
      -webkit-mask-image:none; mask-image:none;
    }
    .founder-more > p:first-child{margin-top:0}
    .founder-more > p{max-width:740px}
    .founder.collapsed .founder-more{
      max-height:var(--founder-collapsed-height); opacity:1;
      -webkit-mask-image:linear-gradient(180deg, #000 0, #000 var(--founder-fade-start), rgba(0,0,0,.54) calc(var(--founder-fade-start) + 18px), transparent 100%);
      mask-image:linear-gradient(180deg, #000 0, #000 var(--founder-fade-start), rgba(0,0,0,.54) calc(var(--founder-fade-start) + 18px), transparent 100%);
    }
    .founder.no-anim .founder-more{transition:none}
    .founder-toggle{
      position:absolute; left:2px; bottom:0; z-index:3;
      display:inline-flex; align-items:center; gap:10px; cursor:pointer;
      background:none; border:0; padding:6px 2px; margin:0;
      color:var(--blue); font-family:var(--body); font-weight:700; font-size:.94rem; letter-spacing:.01em;
      transition:gap var(--dur-1) var(--ease), color var(--dur-1) var(--ease);
    }
    .founder-toggle .lbl{
      white-space:nowrap; position:relative;
    }
    .founder-toggle .lbl:after{
      content:""; position:absolute; left:0; right:0; bottom:-3px; height:1px;
      background:currentColor; opacity:.32; transition:opacity var(--dur-1) var(--ease);
    }
    .founder-toggle:hover,.founder-toggle:focus-visible{
      color:var(--gold-2); gap:14px; outline:none;
    }
    .founder-toggle:hover .lbl:after,.founder-toggle:focus-visible .lbl:after{opacity:.7}
    .founder-toggle .ico{
      width:24px; height:24px; border-radius:50%; display:grid; place-items:center; flex:0 0 auto;
      background:rgba(201,168,76,.16); color:var(--gold-2); font-size:.82rem;
      transition:transform var(--dur-1) var(--ease), background var(--dur-1) var(--ease);
    }
    .founder-toggle:hover .ico,.founder-toggle:focus-visible .ico{background:rgba(201,168,76,.3)}
    .founder:not(.collapsed) .founder-toggle .ico{transform:rotate(180deg)}
    .clinic-showcase{
      background:var(--blue); color:white; padding:110px 6vw; overflow:hidden;
      border-radius:40px 40px 0 0; margin-top:-40px; position:relative; z-index:2;
    }
    .clinic-grid{display:grid; grid-template-columns:1fr; gap:46px; align-items:center; width:min(1180px,100%); margin:0 auto}
    .clinic-photo{
      border:1px solid var(--gold); padding:12px; border-radius:28px;
      background:rgba(255,255,255,.06); box-shadow:var(--shadow);
    }
    .clinic-photo .ph{aspect-ratio:885/683; border-radius:20px; overflow:hidden; position:relative}
    .clinic-photo .ph-img{
      position:absolute; inset:-6%;
      background:var(--foto-clinica) center/cover no-repeat;
      transform:scale(1.12); will-change:transform;
    }
    .clinic-panel{display:flex; flex-direction:column; justify-content:center}
    .clinic-panel h2{color:white; font-size:clamp(2rem, 4.2vw, 3.4rem)}
    .services{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:28px}
    .service-pill{
      display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%;
      border:1px solid rgba(201,168,76,.32); border-radius:18px; padding:14px 14px 14px 16px;
      color:rgba(255,255,255,.86); background:rgba(255,255,255,.04); font-family:var(--body);
      font-size:.92rem; text-align:left; cursor:pointer; transition:.3s var(--ease); position:relative;
      min-height:76px;
    }
    .pill-copy{display:grid; gap:5px; min-width:0}
    .service-name{
      color:white; font-weight:800; letter-spacing:.01em; line-height:1.16;
    }
    .service-context{
      color:rgba(255,255,255,.62); font-size:.82rem; line-height:1.28;
    }
    .service-pill .pill-cue{
      width:32px; height:32px; border-radius:50%; display:grid; place-items:center; flex:0 0 auto;
      color:var(--gold-2); background:rgba(201,168,76,.10); opacity:.62;
      transform:translateX(-2px) scale(.96); transition:.3s var(--ease);
    }
    .service-pill .pill-cue svg{
      width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7;
      stroke-linecap:round; stroke-linejoin:round;
    }
    .service-pill:hover,.service-pill:focus-visible{
      border-color:var(--gold); background:rgba(201,168,76,.12); color:white; outline:none; transform:translateY(-2px);
    }
    .service-pill:hover .pill-cue,.service-pill:focus-visible .pill-cue{
      opacity:1; background:rgba(201,168,76,.18); transform:translateX(0) scale(1.04);
    }
    .services-hint{margin-top:14px; font-size:.86rem; color:rgba(255,255,255,.6); font-style:italic}

    /* ===== Modal de casos ===== */
    .spec-modal{position:fixed; inset:0; z-index:11000; display:none; align-items:center; justify-content:center; padding:5vh 20px}
    .spec-modal.open{display:flex}
    .spec-backdrop{position:absolute; inset:0; background:rgba(6,18,31,.66); backdrop-filter:blur(6px); animation:specFade .3s var(--ease)}
    .spec-dialog{
      position:relative; width:min(680px,100%); max-height:90vh; overflow-y:auto;
      background:linear-gradient(165deg, var(--blue) 0%, var(--blue-2) 100%);
      border:1px solid var(--gold); border-radius:28px; padding:40px 36px 34px;
      box-shadow:var(--shadow); color:rgba(255,255,255,.9); animation:specRise .42s var(--ease);
      overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:rgba(201,168,76,.72) transparent;
    }
    .spec-dialog::-webkit-scrollbar{width:9px}
    .spec-dialog::-webkit-scrollbar-track{background:transparent}
    .spec-dialog::-webkit-scrollbar-thumb{background:rgba(201,168,76,.72); border:2px solid var(--blue); border-radius:999px}
    .spec-close{
      position:absolute; top:16px; right:18px; width:38px; height:38px; border-radius:50%;
      border:1px solid rgba(201,168,76,.4); background:rgba(255,255,255,.05); color:white;
      font-size:1.4rem; line-height:1; cursor:pointer; transition:.3s var(--ease);
    }
    .spec-close:hover{background:var(--gold); color:var(--blue); border-color:var(--gold)}
    .spec-eyebrow{font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); font-weight:700}
    .spec-title{font-family:var(--heading); color:white; font-size:clamp(1.7rem,4vw,2.3rem); line-height:1.1; margin:.4rem 0 0}
    .spec-quote{
      margin:18px 0 0; padding:14px 18px; border-left:3px solid var(--gold);
      background:rgba(201,168,76,.08); border-radius:0 14px 14px 0; font-style:italic;
      color:rgba(255,255,255,.92); font-size:1.02rem; line-height:1.5;
    }
    .spec-overview{margin-top:22px}
    .spec-overview h4,.spec-when h4{margin:0 0 10px; font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-2)}
    .spec-desc{margin:0; color:rgba(255,255,255,.82); line-height:1.65; font-size:.98rem}
    .spec-when{margin-top:24px}
    .spec-when h4{margin-bottom:12px}
    .spec-when ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px}
    .spec-when li{position:relative; padding-left:26px; line-height:1.5; color:rgba(255,255,255,.85); font-size:.95rem}
    .spec-when li:before{content:"✦"; position:absolute; left:0; top:0; color:var(--gold); font-size:.85rem}
    .spec-when ul.professional-list{gap:12px}
    .spec-when .professional-item{
      padding:14px 16px 14px 46px; border:1px solid rgba(201,168,76,.22); border-radius:16px;
      background:rgba(255,255,255,.045);
    }
    .spec-when .professional-item:before{left:17px; top:15px}
    .professional-item strong{display:block; color:white; font-size:.96rem; margin-bottom:4px}
    .professional-item span{display:block; color:rgba(255,255,255,.72); font-size:.9rem; line-height:1.52}
    .spec-note{margin:20px 0 0; color:rgba(255,255,255,.56); font-size:.78rem; line-height:1.5}
    .spec-cta{margin-top:28px; width:100%; justify-content:center}
    @keyframes specFade{from{opacity:0}to{opacity:1}}
    @keyframes specRise{from{opacity:0; transform:translateY(24px) scale(.98)}to{opacity:1; transform:none}}
    @media(min-width:920px){
      .clinic-grid{grid-template-columns:1.1fr .9fr; gap:64px}
    }
    /* ===== Situações e sintomas ===== */
    .conditions{
      background:var(--paper);
      border-radius:40px 40px 0 0; margin-top:-40px; position:relative; z-index:3;
    }
    .conditions-head{max-width:860px}
    .conditions-head h2{font-size:clamp(2.2rem, 5vw, 4.2rem)}
    .conditions-lead{max-width:680px; margin:22px 0 0; color:var(--muted)}
    .conditions-grid{
      display:grid; grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:30px 38px; margin-top:52px;
    }
    .condition{
      appearance:none; width:100%; min-width:0; border:0; border-top:1px solid var(--line);
      padding:18px 14px 16px 0; background:transparent; color:inherit; font:inherit; text-align:left;
      cursor:pointer; border-radius:0 0 18px 18px; transition:background var(--dur-1) var(--ease), transform var(--dur-1) var(--ease), padding var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease);
    }
    .condition-title{
      display:block; font-family:var(--heading); color:var(--blue); font-weight:400;
      letter-spacing:-.03em; font-size:clamp(1.45rem, 2.3vw, 1.95rem); line-height:1.1;
    }
    .condition-specs{
      display:block; margin:9px 0 0; color:var(--muted); font-size:.9rem; line-height:1.55;
      letter-spacing:.01em;
    }
    .condition-action{
      display:inline-flex; align-items:center; gap:8px; margin-top:14px; color:var(--blue);
      font-size:.77rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
    }
    .condition-action span{color:var(--gold); font-size:1rem; transition:transform var(--dur-1) var(--ease)}
    .condition:hover,.condition:focus-visible{
      background:rgba(201,168,76,.09); border-top-color:var(--gold); padding-left:14px; transform:translateY(-2px);
    }
    .condition:focus-visible{outline:2px solid var(--gold); outline-offset:3px}
    .condition:hover .condition-action span,.condition:focus-visible .condition-action span{transform:translate(3px,-3px)}
    .conditions-note{margin:48px 0 0; color:var(--muted); max-width:720px}
    .conditions-note a{color:var(--blue); font-weight:700; text-decoration-color:var(--gold)}
    .conditions-note a:hover{color:var(--gold)}
    /* ===== Jogos cognitivos ===== */
    .games{
      background:var(--blue); color:#fff; overflow:hidden;
      border-radius:40px 40px 0 0; margin-top:-40px; position:relative; z-index:3;
      padding:120px 6vw;
    }
    .games:before{
      content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
      background:radial-gradient(60% 60% at 82% 18%, rgba(201,168,76,.16), transparent 60%);
    }
    .games-grid{
      display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:center;
      width:min(1180px,100%); margin:0 auto; position:relative; z-index:1;
    }
    .games-copy h2{color:#fff; font-size:clamp(2.2rem, 5vw, 4rem)}
    .games-copy p{color:rgba(255,255,255,.8); max-width:560px; margin:22px 0 0}
    .games-chips{display:flex; flex-wrap:wrap; gap:10px; margin:26px 0 6px}
    .games-chips span{
      font-size:.82rem; font-weight:600; letter-spacing:.01em; color:var(--gold-2);
      border:1px solid rgba(201,168,76,.4); background:rgba(201,168,76,.08);
      padding:7px 14px; border-radius:999px;
    }
    .games-cta{margin-top:26px}
    .games-note{margin:20px 0 0; color:rgba(255,255,255,.5); font-size:.8rem; line-height:1.5; max-width:520px}
    /* Mockup de cartas dos jogos */
    .games-visual{position:relative; min-height:340px}
    .game-card{
      position:absolute; border:1px solid rgba(201,168,76,.34); border-radius:22px;
      background:linear-gradient(160deg, rgba(255,255,255,.09), rgba(255,255,255,.02));
      box-shadow:0 30px 70px rgba(6,18,31,.4); backdrop-filter:blur(6px);
      padding:20px; width:250px; transition:transform var(--dur-2) var(--ease);
    }
    .game-card .gc-tag{
      display:block; color:var(--gold-2); font-size:.72rem; letter-spacing:.16em;
      text-transform:uppercase; font-weight:700; margin-bottom:16px;
    }
    .gc-1{top:8px; left:0; transform:rotate(-6deg)}
    .gc-2{top:118px; right:6px; transform:rotate(4deg)}
    .gc-3{bottom:0; left:52px; transform:rotate(-2deg)}
    .games-visual.in .gc-1{animation:gcFloat 6s var(--ease) infinite}
    .games-visual.in .gc-2{animation:gcFloat 6s var(--ease) .8s infinite}
    .games-visual.in .gc-3{animation:gcFloat 6s var(--ease) 1.6s infinite}
    @keyframes gcFloat{50%{transform:translateY(-10px) rotate(var(--r,0))}}
    .gc-1{--r:-6deg}.gc-2{--r:4deg}.gc-3{--r:-2deg}
    .gc-dots{display:grid; grid-template-columns:repeat(3,1fr); gap:12px}
    .gc-dots i{aspect-ratio:1; border-radius:9px; background:rgba(201,168,76,.22); border:1px solid rgba(201,168,76,.4)}
    .gc-dots i:nth-child(1),.gc-dots i:nth-child(4),.gc-dots i:nth-child(6){background:rgba(201,168,76,.6)}
    .gc-nums{display:flex; gap:12px; align-items:center}
    .gc-nums b{
      font-family:var(--heading); font-size:1.9rem; color:#fff; width:46px; height:46px;
      display:grid; place-items:center; border-radius:12px; background:rgba(255,255,255,.06);
      border:1px solid rgba(201,168,76,.3);
    }
    .gc-nums b:last-child{color:var(--gold-2); border-color:var(--gold)}
    .gc-focus{height:70px; display:grid; place-items:center}
    .gc-focus i{
      width:44px; height:44px; border-radius:50%; border:2px solid var(--gold);
      box-shadow:0 0 0 8px rgba(201,168,76,.14), 0 0 30px rgba(201,168,76,.4);
    }
    @media(max-width:920px){
      .games{padding:90px 6vw}
      .games-grid{grid-template-columns:1fr; gap:48px}
      .games-visual{min-height:300px; width:min(340px,100%); margin:0 auto}
    }
    .faq{
      background:linear-gradient(180deg, var(--soft), var(--paper) 220px);
      border-radius:40px 40px 0 0; margin-top:-40px; position:relative; z-index:3;
    }
    .faq-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:72px; align-items:start}
    .faq-intro{position:sticky; top:120px}
    .faq-intro h2{font-size:clamp(2.2rem, 4.8vw, 4.4rem)}
    .faq-intro p{color:var(--muted); max-width:520px; margin:22px 0 30px}
    .faq-list{border-top:1px solid var(--line)}
    .faq-item{border-bottom:1px solid var(--line); padding:0}
    .faq-item summary{
      list-style:none; cursor:pointer; color:var(--blue); padding:28px 58px 28px 0;
      font-family:var(--heading); font-size:clamp(1.45rem, 3vw, 2.35rem); line-height:1.08;
      position:relative;
    }
    .faq-item summary::-webkit-details-marker{display:none}
    .faq-item summary:after{
      content:"+"; position:absolute; right:0; top:50%; transform:translateY(-50%);
      width:42px; height:42px; border-radius:50%; display:grid; place-items:center;
      border:1px solid var(--line); color:var(--gold); font-family:var(--body); font-weight:700;
      transition:transform var(--dur-1) var(--ease), background var(--dur-1) var(--ease), color var(--dur-1) var(--ease);
    }
    .faq-item[open] summary:after{transform:translateY(-50%) rotate(45deg); background:var(--blue); color:var(--gold-2)}
    .faq-item p{
      margin:0 0 28px; max-width:720px; color:var(--muted);
      border-left:3px solid var(--gold); padding:0 0 0 20px;
    }
    .cta{
      min-height:90svh; display:grid; place-items:center; text-align:center; color:white; overflow:hidden;
      background:
        linear-gradient(180deg, var(--blue) 0%, rgba(8,27,47,.74) 22%, rgba(8,27,47,.80) 78%, #071828 100%),
        var(--foto-clinica) center/cover no-repeat;
    }
    .cta h2{color:white; max-width:980px; margin:auto}
    .cta p{max-width:700px; margin:28px auto 34px; color:rgba(255,255,255,.78)}
    .cta .hero-ctas{justify-content:center}
    footer{
      position:relative; z-index:2; isolation:isolate; overflow:hidden;
      background:
        radial-gradient(circle at 20% 10%, rgba(201,168,76,.15), transparent 30%),
        linear-gradient(135deg, #081B2F 0%, #1A2E4A 50%, #071828 100%);
      color:white; padding:104px 6vw 30px;
    }
    footer:before{
      content:""; position:absolute; left:0; right:0; top:0; height:1px; z-index:3; pointer-events:none;
      background:linear-gradient(90deg, transparent 0%, rgba(201,168,76,.28) 18%, var(--gold-2) 50%, rgba(201,168,76,.28) 82%, transparent 100%);
      box-shadow:0 0 22px rgba(201,168,76,.38), 0 1px 0 rgba(255,255,255,.08);
    }
    footer:after{
      content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
      background:radial-gradient(circle at 70% 30%, rgba(201,168,76,.10), transparent 45%);
    }
    .footer-neuro-canvas{
      position:absolute; inset:0; z-index:0;
      width:100%; height:100%; pointer-events:none; opacity:.92;
    }
    .no-webgl .footer-neuro-canvas,
    .no-three .footer-neuro-canvas,
    footer.footer-fallback .footer-neuro-canvas{
      opacity:.38;
      background:
        linear-gradient(128deg, transparent 0 30%, rgba(201,168,76,.08) 52%, transparent 74%),
        repeating-linear-gradient(112deg, transparent 0 46px, rgba(228,210,154,.035) 47px 48px);
    }
    .footer-mouse-glow{
      position:absolute; left:var(--fx,50%); top:var(--fy,42%); z-index:1;
      width:360px; height:360px; border-radius:50%; pointer-events:none;
      background:radial-gradient(circle, rgba(201,168,76,.16), transparent 62%);
      transform:translate(-50%,-50%); mix-blend-mode:screen; opacity:.2;
      transition:opacity .35s var(--ease);
    }
    footer.fx-active .footer-mouse-glow{opacity:.48}
    .footer-grid,.bottom{position:relative; z-index:2}
    .footer-grid{display:grid; grid-template-columns:1fr 1fr 1fr; gap:46px}
    footer h3{color:white; font-size:2.4rem; text-shadow:0 18px 48px rgba(0,0,0,.28)}
    footer p{color:rgba(255,255,255,.76)}
    footer a{color:var(--gold-2); text-decoration:none}
    footer a:hover{color:white}
    .map{height:220px; border-radius:22px; border:1px solid rgba(201,168,76,.35); overflow:hidden; background:linear-gradient(135deg, rgba(201,168,76,.2), rgba(255,255,255,.05)); display:grid; place-items:center; color:rgba(255,255,255,.7); text-align:center; padding:20px}
    .bottom{border-top:1px solid rgba(201,168,76,.25); margin-top:60px; padding-top:26px; display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; color:rgba(255,255,255,.62); font-size:.9rem}
    /* ===== Páginas internas (área do paciente etc.) ===== */
    .inner-hero{
      position:relative; padding:170px 6vw 90px; color:white;
      overflow:hidden; isolation:isolate;
      background:
        radial-gradient(circle at 18% 12%, rgba(201,168,76,.18), transparent 38%),
        linear-gradient(135deg, #081B2F 0%, #1A2E4A 55%, #071828 100%);
    }
    main > [id]{scroll-margin-top:120px}
    /* Campo neural dourado, igual ao do rodapé */
    .inner-hero-neuro{
      position:absolute; inset:0; z-index:0;
      width:100%; height:100%; pointer-events:none; opacity:.92;
    }
    .inner-hero-glow{
      position:absolute; left:var(--fx,50%); top:var(--fy,42%); z-index:1;
      width:360px; height:360px; border-radius:50%; pointer-events:none;
      background:radial-gradient(circle, rgba(201,168,76,.16), transparent 62%);
      transform:translate(-50%,-50%); mix-blend-mode:screen; opacity:.2;
      transition:opacity .35s var(--ease);
    }
    .inner-hero.fx-active .inner-hero-glow{opacity:.48}
    .inner-hero > .wrap{position:relative; z-index:2}
    .inner-hero h1{
      font-family:var(--heading); font-weight:300; color:white;
      font-size:clamp(2.2rem, 5vw, 4rem); line-height:1.06; margin:0; max-width:900px;
    }
    .inner-lead{color:rgba(255,255,255,.82); font-size:1.1rem; line-height:1.7; max-width:660px; margin:24px 0 0}
    .back-home{
      display:inline-flex; align-items:center; gap:8px; margin-bottom:34px;
      color:rgba(255,255,255,.74); text-decoration:none; font-size:.86rem; font-weight:600;
      padding:8px 15px 8px 12px; border-radius:999px; border:1px solid rgba(201,168,76,.4);
      transition:.25s var(--ease);
    }
    .back-home:hover{color:white; border-color:var(--gold); background:rgba(201,168,76,.14)}
    .inner-jump{display:flex; flex-wrap:wrap; gap:10px; margin-top:38px}
    .inner-jump a{
      color:rgba(255,255,255,.86); text-decoration:none; font-size:.84rem; font-weight:600;
      padding:9px 16px; border-radius:999px; background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.16); transition:.25s var(--ease);
    }
    .inner-jump a:hover{background:rgba(201,168,76,.22); border-color:var(--gold); color:white}

    .tips{background:var(--paper)}
    .tips-head{max-width:760px}
    .tips-lead{color:var(--muted); font-size:1.05rem; line-height:1.7; margin:14px 0 0}
    .tips-note{margin:34px 0 0; color:var(--muted); font-size:.88rem; line-height:1.6; max-width:680px}
    /* ===== Dicas em sanfona (visual próprio, diferente da lista do FAQ) =====
       Sem JS os painéis ficam abertos; o page.js recolhe e liga o toggle. */
    .tips-accordion{display:flex; flex-direction:column; gap:14px; margin-top:44px}
    .tip-item{
      position:relative; border-radius:20px; overflow:hidden;
      background:var(--soft); border:1px solid var(--line);
      transition:border-color .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease);
    }
    /* Barra dourada lateral que cresce ao abrir */
    .tip-item:before{
      content:""; position:absolute; left:0; top:0; bottom:0; width:3px; z-index:2;
      background:linear-gradient(180deg, var(--gold), var(--gold-2));
      transform:scaleY(0); transform-origin:top center;
      transition:transform .45s var(--ease);
    }
    .tip-item.open{
      background:#fff; border-color:rgba(201,168,76,.55);
      box-shadow:0 18px 46px rgba(8,27,47,.09);
    }
    .tip-item.open:before{transform:scaleY(1)}
    .tip-head{
      width:100%; display:flex; align-items:center; gap:18px; cursor:pointer;
      padding:22px 22px 22px 26px; margin:0; border:0; background:none; font:inherit; text-align:left;
      transition:background .3s var(--ease);
    }
    .tip-head:hover{background:rgba(201,168,76,.07)}
    .tip-head:focus-visible{outline:2px solid var(--gold); outline-offset:-3px}
    .tip-index{
      flex:0 0 auto; font-family:var(--heading); font-size:1.6rem; line-height:1;
      color:var(--gold); opacity:.55; transition:opacity .35s var(--ease);
    }
    .tip-item.open .tip-index{opacity:1}
    .tip-heading{display:flex; flex-direction:column; gap:7px; min-width:0; flex:1 1 auto}
    .tip-tag{
      display:inline-flex; align-self:flex-start; color:var(--gold);
      font-weight:700; letter-spacing:.18em; text-transform:uppercase; font-size:.62rem;
      background:rgba(201,168,76,.12); border:1px solid rgba(201,168,76,.3);
      padding:4px 10px; border-radius:999px;
    }
    /* Sem serifa, ao contrário do FAQ */
    .tip-title{
      font-family:var(--body); font-weight:700; font-size:1.06rem; line-height:1.3; color:var(--blue);
    }
    /* Chevron em quadrado arredondado (o FAQ usa "+" em círculo) */
    .tip-chevron{
      flex:0 0 auto; width:36px; height:36px; border-radius:11px; display:grid; place-items:center;
      color:var(--blue); background:rgba(255,255,255,.7); border:1px solid var(--line);
      transition:transform .4s var(--ease), background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
    }
    .tip-chevron svg{width:17px; height:17px; display:block}
    .tip-item.open .tip-chevron{
      transform:rotate(180deg); background:var(--blue); color:var(--gold-2); border-color:var(--blue);
    }
    /* Animação de altura sem medir em JS */
    .tip-panel{
      display:grid; grid-template-rows:1fr;
      transition:grid-template-rows .45s var(--ease);
    }
    .tips-accordion.js .tip-item:not(.open) .tip-panel{grid-template-rows:0fr}
    .tips-accordion.no-anim .tip-panel{transition:none}
    /* sem min-height:0 aqui: ele zeraria o mínimo automático da linha e o 1fr não abriria */
    .tip-panel-inner{overflow:hidden}
    .tip-panel p{
      margin:0; padding:0 26px 24px 66px; color:var(--muted); line-height:1.7; font-size:.98rem;
    }
    @media(max-width:600px){
      .tip-head{gap:14px; padding:18px 16px 18px 20px}
      .tip-index{font-size:1.3rem}
      .tip-panel p{padding:0 18px 20px 20px}
    }
    .materials{background:var(--soft)}
    .materials-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)); gap:20px; margin-top:44px}
    .material-card{
      position:relative; display:flex; flex-direction:column; gap:14px; padding:26px 24px 24px;
      border-radius:24px; overflow:hidden;
      text-decoration:none; color:var(--blue); background:rgba(255,255,255,.72);
      border:1px solid rgba(201,168,76,.34);
      -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
      transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
    }
    .material-card:hover{transform:translateY(-7px); border-color:var(--gold); box-shadow:0 28px 64px rgba(8,27,47,.16)}
    .material-card:after{
      content:""; position:absolute; top:-40%; right:-30%; width:60%; aspect-ratio:1; z-index:0; pointer-events:none;
      background:radial-gradient(circle, rgba(201,168,76,.16), transparent 68%);
      opacity:0; transition:opacity .5s var(--ease);
    }
    .material-card:hover:after{opacity:1}
    .material-top{position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:12px}
    /* Selo de PDF: ícone colorido, então o container fica neutro para não competir */
    .material-icon{
      flex:0 0 auto; width:48px; height:48px; border-radius:14px; display:grid; place-items:center;
      background:rgba(255,255,255,.9); border:1px solid rgba(8,27,47,.10);
      box-shadow:0 6px 16px rgba(8,27,47,.10);
      transition:transform .4s var(--ease), box-shadow .4s var(--ease);
    }
    .material-card:hover .material-icon{transform:rotate(-6deg) scale(1.07); box-shadow:0 10px 24px rgba(8,27,47,.18)}
    .material-icon svg{width:28px; height:28px; display:block}
    .material-tag{
      font-size:.62rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase;
      color:var(--gold); background:rgba(201,168,76,.12); border:1px solid rgba(201,168,76,.32);
      padding:5px 11px; border-radius:999px; white-space:nowrap;
    }
    .material-body{position:relative; z-index:1; display:flex; flex-direction:column; gap:8px; flex:1}
    .material-body b{font-family:var(--heading); font-weight:500; font-size:1.22rem; line-height:1.26; color:var(--blue)}
    .material-body span{color:var(--muted); font-size:.9rem; line-height:1.62}
    .material-cta{
      position:relative; z-index:1; display:inline-flex; align-items:center; gap:7px; margin-top:2px;
      color:var(--gold); font-weight:700; font-size:.82rem; letter-spacing:.03em; white-space:nowrap;
    }
    .material-cta svg{width:14px; height:14px; transition:transform .35s var(--ease)}
    .material-card:hover .material-cta svg{transform:translate(3px,-3px)}
    /* Card sem o PDF publicado ainda: não clicável, para não gerar link quebrado */
    .material-card.soon{pointer-events:none; opacity:.66}
    .material-card.soon .material-cta{color:var(--muted); font-weight:600}
    .material-card.reveal{transform:translateY(22px) scale(.96)}
    .material-card.reveal.in{transform:none}

    .reveal{
      opacity:0; transform:translateY(24px);
      transition:opacity var(--dur-2) var(--ease), transform var(--dur-2) var(--ease);
      transition-delay:calc(var(--d, 0)*.12s);
    }
    .reveal.in{opacity:1; transform:translateY(0)}
    .splitText .split-word{display:inline-block; white-space:nowrap}
    .splitText .split-char{display:inline-block; opacity:0; transform:translateY(16px); filter:blur(4px); transition:.6s var(--ease)}
    .splitText.in .split-char{opacity:1; transform:translateY(0); filter:blur(0)}
    .navlinks a.active{background:rgba(201,168,76,.2); color:var(--blue-2)}
    .cursorGlow{
      position:fixed; left:0; top:0; width:360px; height:360px; border-radius:50%; pointer-events:none; z-index:3;
      background:radial-gradient(circle, rgba(201,168,76,.16), transparent 62%);
      transform:translate(-50%,-50%); mix-blend-mode:screen; opacity:.45;
    }
    @media(hover:none){
      .cursorGlow{display:none}
    }

    /* ===== Menu mobile: painel lateral aberto pelo toque na logo ===== */
    .mobile-nav-backdrop{
      position:fixed; inset:0; z-index:4998; background:rgba(8,16,30,.55);
      -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
      opacity:0; pointer-events:none; transition:opacity .35s var(--ease);
    }
    .mobile-nav-backdrop.open{opacity:1; pointer-events:auto}
    .mobile-nav-panel{
      position:fixed; top:0; right:0; z-index:4999; height:100dvh; width:min(310px,84vw);
      background:rgba(250,248,243,.98);
      -webkit-backdrop-filter:blur(22px) saturate(140%); backdrop-filter:blur(22px) saturate(140%);
      border-left:1px solid rgba(201,168,76,.4); box-shadow:-30px 0 80px rgba(8,27,47,.3);
      display:flex; flex-direction:column; padding:18px 20px 26px;
      transform:translateX(100%); transition:transform .5s cubic-bezier(.2,.8,.2,1);
    }
    .mobile-nav-panel.open{transform:translateX(0)}
    .mobile-nav-head{display:flex; align-items:center; justify-content:space-between; padding-bottom:16px; border-bottom:1px solid var(--line)}
    .mobile-nav-close{
      width:36px; height:36px; border-radius:50%; border:1px solid var(--line); background:transparent;
      color:var(--blue); font-size:1.25rem; line-height:1; cursor:pointer; display:grid; place-items:center;
      transition:.25s ease; flex:0 0 auto;
    }
    .mobile-nav-close:hover{background:rgba(201,168,76,.14); border-color:var(--gold)}
    .mobile-nav-links{display:flex; flex-direction:column; gap:3px; margin-top:12px; flex:1; overflow-y:auto}
    .mobile-nav-links a{
      color:var(--blue); text-decoration:none; font-weight:600; font-size:1.02rem;
      padding:14px 12px; border-radius:14px; transition:background .25s ease;
    }
    .mobile-nav-links a:hover, .mobile-nav-links a:active{background:rgba(201,168,76,.14)}
    .mobile-nav-links a.nav-area{background:rgba(201,168,76,.12); margin-top:8px; border:1px solid rgba(201,168,76,.4)}
    .mobile-nav-cta{margin-top:14px; justify-content:center}
    @media(min-width:921px){
      .mobile-nav-backdrop,.mobile-nav-panel{display:none}
    }

    @media(max-width:920px){
      .navlinks{display:none}
      .menuBtn{display:inline-flex}
      .founder-grid,.footer-grid{grid-template-columns:1fr}
      .faq-grid{grid-template-columns:1fr; gap:36px}
      .faq-intro{position:relative; top:auto}
      .founder-photo{position:relative; top:auto}
      .direction-note{align-items:flex-start; flex-direction:column}
      .metric-grid{grid-template-columns:1fr}
      .metric{border-right:0; border-bottom:1px solid var(--line)}
      .metric:last-child{border-bottom:0}
      .conditions-grid{grid-template-columns:1fr 1fr; gap:26px 30px}
      .section{padding:100px 6vw}
      .topbar{border-radius:28px}
      .hero-tagline{max-width:680px}
      .hero-story{max-width:540px}
      .timeline{gap:14px}
      .milestone p{font-size:.86rem}
    }
    /* Timeline vertical: telas estreitas trocam o layout horizontal (5 colunas)
       por uma linha do tempo vertical, com o traço acendendo item a item no scroll */
    @media(max-width:680px){
      .timeline{
        grid-template-columns:1fr; gap:0;
        padding:6px 0 6px 34px;
      }
      .timeline:before,.timeline:after{content:none}
      .milestone{
        text-align:left; padding:0 0 32px 0;
      }
      .milestone:last-child{padding-bottom:0}
      .milestone:before{
        content:""; position:absolute; left:-24px; top:16px; bottom:0; width:2px; height:auto;
        border-radius:999px; transform:none; border:0;
        background:rgba(201,168,76, calc(.16 + var(--dot-active) * .6));
        box-shadow:0 0 calc(var(--dot-active) * 10px) rgba(201,168,76,.35);
        transition:background .3s var(--ease);
      }
      .milestone:last-child:before{content:none}
      .milestone:after{
        left:-30px; top:2px; width:14px; height:14px;
        transform:scale(var(--dot-pop, 1));
        background:var(--gold); border:2px solid var(--gold);
        opacity:calc(.4 + var(--dot-active) * .6);
        box-shadow:0 0 0 calc(var(--dot-active) * 8px) rgba(201,168,76,.16);
        transition:opacity .3s var(--ease), box-shadow .3s var(--ease);
      }
      .milestone b{font-size:1.35rem}
      .milestone p{font-size:.9rem; line-height:1.55; max-width:420px}
    }
    @media(max-width:600px){
      .hero-ctas{flex-direction:column; align-items:stretch}
      .hero{height:92svh}
      .btn{justify-content:center}
      .metric-grid,.services,.conditions-grid{grid-template-columns:1fr}
      .team-grid{grid-template-columns:repeat(2,1fr); gap:14px}
      .team-block{margin-top:64px; padding-top:44px}
      .team-modal-head{flex-direction:column; align-items:flex-start; gap:14px}
      .patient-invite{padding:64px 6vw}
      .materials-grid{grid-template-columns:1fr}
      .inner-hero{padding:130px 6vw 70px}
      .story,.clinic-showcase,.faq,.conditions,.founder,.games{border-radius:26px 26px 0 0; margin-top:-26px}
      .metrics{margin-top:-72px}
      .founder{
        --founder-collapsed-height:208px;
        --founder-fade-start:176px;
      }
      .founder-readmore{padding-bottom:40px}
      .faq-item summary{padding-right:50px}
      .brand-mini span:last-child{display:none}
      .topbar{padding:10px 12px}
      .spec-modal{padding:18px 12px}
      .spec-dialog{padding:34px 22px 28px; border-radius:24px; max-height:94vh}
      .zenith{min-height:auto; padding:72px 22px}
      .zenith h2{font-size:clamp(2rem, 10vw, 2.8rem); line-height:1.12}
    }
    /* Mobile: notebook um pouco menor e seção mais justa */
    @media (max-width:760px){
      .online{padding-top:52px}
      .online-stage{padding:16px 0 2px; gap:12px}
      .laptop{width:94vw}
      .online-cta{margin:22px auto 0}
    }
    /* ===== Mapa do rodapé ===== */
    .map{
      height:200px; border-radius:22px; overflow:hidden; position:relative;
      border:1px solid rgba(201,168,76,.35); box-shadow:0 18px 40px rgba(0,0,0,.28);
    }
    .map iframe{width:100%; height:100%; border:0; display:block; filter:grayscale(.25) contrast(1.05)}
    .map-link{
      display:inline-flex; align-items:center; gap:8px; margin-top:14px;
      font-size:.9rem; font-weight:600; color:var(--gold-2)!important;
      text-decoration:none; transition:gap .25s var(--ease), opacity .25s var(--ease);
    }
    .map-link svg{transition:transform .25s var(--ease)}
    .map-link:hover{opacity:.85}
    .map-link:hover svg{transform:translateX(4px)}

    /* ===== Botão flutuante de WhatsApp ===== */
    .wa-float{
      position:fixed; right:24px; bottom:24px; z-index:9000;
      display:flex; align-items:center; gap:12px; text-decoration:none;
      opacity:0; transform:translateY(18px) scale(.85); pointer-events:none;
      transition:opacity .55s var(--ease), transform .55s var(--ease);
    }
    body.wa-ready.wa-visible .wa-float{opacity:1; transform:none; pointer-events:auto}
    .wa-btn{
      width:62px; height:62px; flex:0 0 auto; border-radius:50%;
      background:#25D366; color:#fff; display:grid; place-items:center;
      box-shadow:0 10px 28px rgba(37,211,102,.45), 0 4px 10px rgba(0,0,0,.25);
      animation:waPulse 2.6s var(--ease) infinite;
      transition:transform .25s var(--ease), box-shadow .25s var(--ease);
    }
    .wa-float:hover .wa-btn{transform:scale(1.07); box-shadow:0 14px 34px rgba(37,211,102,.55)}
    @keyframes waPulse{
      0%{box-shadow:0 10px 28px rgba(37,211,102,.45), 0 0 0 0 rgba(37,211,102,.5)}
      70%{box-shadow:0 10px 28px rgba(37,211,102,.45), 0 0 0 16px rgba(37,211,102,0)}
      100%{box-shadow:0 10px 28px rgba(37,211,102,.45), 0 0 0 0 rgba(37,211,102,0)}
    }
    .wa-bubble{
      position:relative; max-width:230px; padding:13px 34px 13px 16px;
      background:#fff; color:var(--ink); border-radius:16px 16px 4px 16px;
      font-size:.92rem; line-height:1.35; font-weight:500;
      box-shadow:0 14px 34px rgba(8,27,47,.28);
      opacity:0; transform:translateY(14px) scale(.9); transform-origin:bottom right;
      pointer-events:none; transition:opacity .4s var(--ease), transform .55s var(--ease);
    }
    .wa-bubble:after{
      content:""; position:absolute; right:-7px; bottom:10px;
      border:7px solid transparent; border-left-color:#fff; border-right:0;
    }
    .wa-bubble.show{opacity:1; transform:translateY(0) scale(1); pointer-events:auto}
    .wa-bubble-close{
      position:absolute; top:6px; right:8px; width:20px; height:20px; padding:0;
      border:0; border-radius:50%; background:rgba(8,27,47,.07); color:var(--muted);
      font-size:15px; line-height:1; cursor:pointer; display:grid; place-items:center;
    }
    .wa-bubble-close:hover{background:rgba(8,27,47,.14)}
    @media(max-width:600px){
      .wa-float{right:16px; bottom:16px}
      .wa-btn{width:56px; height:56px}
      .wa-bubble{max-width:190px; font-size:.86rem}
    }

    /* ===== Alinhamento justificado do conteúdo textual ===== */
    p,
    li,
    blockquote,
    .service-context,
    .condition-specs,
    .spec-quote,
    .spec-desc,
    .spec-note,
    .team-council,
    .team-serves,
    .wa-bubble{
      text-align:justify !important;
      text-justify:inter-word;
      hyphens:auto;
    }

    /* Textos curtos que funcionam como assinatura visual permanecem centralizados. */
    .hero-tagline,
    .hero-story,
    .hero-place,
    .metric p,
    .milestone p{
      text-align:center !important;
      text-align-last:center;
    }

    /* Título do hero é curto e grande demais pra hifenizar bonito — deixa quebrar
       só entre palavras inteiras (evita "li-/mites" em telas estreitas). */
    .hero-tagline{
      -webkit-hyphens:none; hyphens:none;
    }
