
:root{
  --ivory:#FAF6F2;--cream:#F3EAE3;--sand:#ECE1D5;--ink:#211914;--head:#1A130E;
  --body:#5C5249;--soft:#6E6256;--copper:#B68E6B;--copper-d:#744D2A;--copper-acc:#7E5530;--gold:#A8813A;
  --line:#E6DBCD;--line-d:#D8C9B8;--marsala:#6E1C20;
  --serif:'Fraunces',Georgia,serif;--sans:'Inter',-apple-system,system-ui,sans-serif;
  --maxw:clamp(1300px,460px + 58.3333vw,1440px);--ease:cubic-bezier(.22,1,.36,1);
  --shadow:0 40px 90px -50px rgba(40,24,14,.55);--shadow-sm:0 24px 50px -34px rgba(40,24,14,.4);
  --copper-rgb:176,124,86;--gold-rgb:201,162,39;--live:#46C088;--live-ink:#136B41;--live-rgb:70,192,136;--paper:#fff;--copper-lt:#DCB995;--error:#b4452f;
  --shadow-1:0 14px 40px -28px rgba(58,38,24,.45);--shadow-2:0 16px 46px -30px rgba(58,38,24,.45);--shadow-3:0 30px 60px -28px rgba(20,18,29,.55);
  --r-sm:9px;--r-md:14px;--r-lg:18px;--r-pill:999px;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;
}
/* 0705a — SISTEMA DE MOVIMENTO "Luz que circula" (aditivo; --ease preservado, vira alias de --ease-out).
   Grade rígida de 120ms + um relógio-mestre (--pulse=2,4s = o pulso do syncdot/livepill). Curvas assintóticas, zero overshoot.
   REGRA canônica: todo movimento novo usa estes tokens ou não entra. */
:root{--ease-out:var(--ease);--ease-emph:cubic-bezier(.19,1,.22,1);--ease-io:cubic-bezier(.65,0,.35,1);--ease-exit:cubic-bezier(.4,0,1,1);--dur-1:120ms;--dur-2:240ms;--dur-3:480ms;--dur-4:720ms;--dur-5:1200ms;--stagger:70ms;--pulse:2400ms}
@media(prefers-reduced-motion:reduce){:root{--dur-1:0ms;--dur-2:0ms;--dur-3:0ms;--dur-4:0ms;--dur-5:0ms;--pulse:0.001ms}}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:84px;color-scheme:light;font-synthesis-weight:none;overflow-x:clip}
/* W1.1 — tipografia-raiz FLUIDA: 17px até 1440, cresce contínuo até 18px em 1680 (byte-idêntico nas larguras homologadas; substitui o degrau @1680) */
body{font-family:var(--sans);color:var(--body);background:var(--ivory);font-size:clamp(17px,11px + .41667vw,18px);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;letter-spacing:-.005em}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--copper-acc);outline-offset:3px;border-radius:4px}
.btn-fill:focus-visible,.wfab:focus-visible{outline-color:var(--ivory);outline-offset:2px}
.skip{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--ink);color:var(--ivory);padding:12px 22px;border-radius:0 0 10px 0;font-size:.8125rem;letter-spacing:.06em}
.skip:focus{left:0}
h1,h2{font-family:var(--serif);font-weight:300;line-height:1.04;letter-spacing:-.022em;color:var(--head)}
h3,h4{font-family:var(--serif);font-weight:400;line-height:1.22;letter-spacing:-.012em;color:var(--head)}
h1 em,h2 em,h3 em,.it{font-style:italic;color:var(--copper-d);font-weight:300}
.it-dk{color:var(--copper-lt)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(18px,8vw,30px)}
.serif{font-family:var(--serif)}
.eyebrow{display:inline-block;font-size:.6875rem;letter-spacing:.28em;text-transform:uppercase;color:var(--copper-acc);font-weight:600}
.eyebrow.muted{color:var(--soft)}
.lead{font-family:var(--serif);font-weight:300;font-size:clamp(1.2rem,1.7vw,1.45rem);line-height:1.5;color:var(--ink)}
.muted{color:var(--body)}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;padding:16px 30px;border-radius:40px;cursor:pointer;transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease),transform .25s var(--ease);border:1px solid transparent}
.btn-fill{background:var(--ink);color:var(--ivory)}.btn-fill:hover{background:var(--copper-d)}
.btn-line{border-color:var(--line-d);color:var(--ink)}.btn-line:hover{border-color:var(--ink)}
.alink{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);font-weight:500;border-bottom:1px solid var(--copper);padding-bottom:5px;transition:.3s}
.alink:hover{color:var(--copper-d);gap:13px}
/* header */
header{position:fixed;top:0;left:0;right:0;z-index:60;transition:.5s var(--ease)}
.scrolled header{background:rgba(250,246,242,.86);backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid var(--line)}
/* over-dark: home tem hero escuro -> marca/nav claros e legiveis no topo; ao rolar volta ao glass claro c/ texto escuro */
html:has(.heroX) header .brand{color:#F7F0E8;text-shadow:0 1px 14px rgba(0,0,0,.34)}
html:has(.heroX) header .brand span{color:var(--copper-lt)}
html:has(.heroX) header .nav-links{color:#F2E9DD}
html:has(.heroX) header .nav-links a{text-shadow:0 1px 12px rgba(0,0,0,.32)}
html:has(.heroX) header .nav-links a:hover,html:has(.heroX) header .nav-links a.on{color:#fff}
html:has(.heroX) header .burger{border-color:rgba(247,240,232,.55)}
html:has(.heroX) header .burger span{background:#F7F0E8}
html:has(.heroX) header .nav-cta.btn-fill{background:var(--ivory);color:var(--ink)}
html:has(.heroX) header .nav-cta.btn-fill:hover{background:var(--copper-d);color:#fff}
html:has(.heroX) header .langsw{color:#F2E9DD}
html.scrolled:has(.heroX) header .brand{color:var(--head);text-shadow:none}
html.scrolled:has(.heroX) header .brand span{color:var(--copper-d)}
html.scrolled:has(.heroX) header .nav-links{color:var(--ink)}
html.scrolled:has(.heroX) header .nav-links a{text-shadow:none}
html.scrolled:has(.heroX) header .burger{border-color:var(--line-d)}
html.scrolled:has(.heroX) header .burger span{background:var(--ink)}
html.scrolled:has(.heroX) header .nav-cta.btn-fill{background:var(--ink);color:var(--ivory)}
html.scrolled:has(.heroX) header .langsw{color:var(--ink)}
.nav{display:flex;align-items:center;justify-content:space-between;height:84px;position:relative;z-index:56}
.brand{font-family:var(--serif);font-weight:400;font-size:clamp(1.15rem,6.4vw,1.5rem);color:var(--head);letter-spacing:-.02em}
.brand span{color:var(--copper-d)}
.nav-links{display:flex;gap:30px;font-size:.8125rem;color:var(--ink)}
.nav-links a{position:relative;opacity:.82;transition:.25s;padding:4px 0}
.nav-links a:after{content:"";position:absolute;left:0;bottom:-2px;height:1px;width:0;background:var(--copper);transition:.35s var(--ease)}
.nav-links a:hover,.nav-links a.on{opacity:1;color:var(--copper-d)}.nav-links a:hover:after,.nav-links a.on:after{width:100%}
.navgrp{position:relative;display:inline-flex;align-items:center}
.navgrp-t{font-family:inherit;font-size:.8125rem;color:inherit;background:none;border:0;padding:4px 0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;opacity:.82;transition:.25s}
.navgrp-t .caret{width:6px;height:6px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(45deg);margin-top:-3px;transition:.3s var(--ease)}
.navgrp:hover .navgrp-t,.navgrp:focus-within .navgrp-t,.navgrp-t.on{opacity:1;color:var(--copper-d)}
.navgrp:hover .navgrp-t .caret,.navgrp:focus-within .navgrp-t .caret{transform:rotate(225deg);margin-top:2px}
.navgrp-d{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(6px);min-width:min(236px,100vw - 36px);background:var(--ivory);border:1px solid var(--line-d);border-radius:12px;box-shadow:var(--shadow);padding:8px;display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transition:.28s var(--ease);z-index:60}
.navgrp-d:before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.navgrp:hover .navgrp-d,.navgrp:focus-within .navgrp-d{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.navgrp-d a{font-size:.84375rem;color:var(--ink);opacity:.9;padding:10px 12px;border-radius:8px;white-space:nowrap;transition:.2s}
.navgrp-d a:after{display:none}
.navgrp-d a:hover,.navgrp-d a.on{background:var(--sand);color:var(--copper-d);opacity:1}
.mm-grp{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--copper-d);margin:18px 0 4px}
.nav-right{display:flex;align-items:center;gap:14px}
.nav-cta{padding:12px 24px}
.burger{display:none;width:46px;height:46px;border:1px solid var(--line-d);border-radius:50%;background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger span{display:block;width:17px;height:1.5px;background:var(--ink);transition:.3s}
.burger.x span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.burger.x span:nth-child(2){opacity:0}.burger.x span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mobile-menu{display:none;position:fixed;inset:0;z-index:55;background:var(--ivory);padding:92px 28px max(56px,env(safe-area-inset-bottom));flex-direction:column;gap:2px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
html header .burger.x span{background:var(--ink)!important}html header .burger.x{border-color:var(--line-d)!important;background:var(--ivory)}
html header:has(.burger.x) .brand{color:var(--head)!important;text-shadow:none!important}html header:has(.burger.x) .brand span{color:var(--copper-d)!important}html header:has(.burger.x) .langsw{color:var(--ink)!important;border-color:var(--line-d)!important}
.mobile-menu.open{display:flex}
.mobile-menu a{font-family:var(--serif);font-size:1.9rem;font-weight:300;color:var(--head);padding:11px 0;border-bottom:1px solid var(--line)}
.mobile-menu .btn{margin-top:24px;justify-content:center}
@media(max-width:980px){.nav-links,.nav-cta{display:none}.burger{display:flex}}
/* hero */
.hero{padding:140px 0 60px}
.hero-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:56px;align-items:center}
.hero-copy h1{font-size:clamp(2.1rem,5.4vw,5rem);color:var(--head);margin:24px 0 26px;max-width:13ch;overflow-wrap:break-word}
.hero-copy .lead{max-width:42ch;color:var(--ink)}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.vframe{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:5/4;box-shadow:var(--shadow);cursor:pointer;background:var(--ink)}
.vframe .vbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 22%}
.vframe:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(33,25,20,.04) 40%,rgba(33,25,20,.42))}
.vframe .vplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:rgba(250,246,242,.18);backdrop-filter:blur(6px);color:#fff;display:grid;place-items:center;font-size:18px;padding-left:4px;transition:.4s var(--ease);z-index:2}
.vframe:hover .vplay{background:var(--copper);border-color:var(--copper);transform:translate(-50%,-50%) scale(1.08)}
.vframe .vlabel{position:absolute;left:22px;bottom:20px;z-index:2;color:#fff}
.vframe .vlabel b{font-family:var(--serif);font-weight:400;font-size:1.05rem;display:block;letter-spacing:-.01em}
.vframe .vlabel span{font-size:12.5px;color:rgba(255,255,255,.82)}
/* official self-hosted video (TEThA page) */
.vofficial{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:16/9;box-shadow:var(--shadow);cursor:pointer;background:#0c1418}
.vofficial video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vofficial:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,28,33,.04),rgba(18,28,33,.30));transition:.5s;pointer-events:none}
.vofficial .vplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.16);backdrop-filter:blur(6px);color:#fff;display:grid;place-items:center;font-size:22px;padding-left:5px;transition:.4s var(--ease);z-index:2}
.vofficial:hover .vplay{background:var(--copper);border-color:var(--copper);transform:translate(-50%,-50%) scale(1.08)}
.vofficial .vlabel{position:absolute;left:24px;bottom:22px;z-index:2;color:#fff}
.vofficial .vlabel b{font-family:var(--serif);font-weight:400;font-size:1.1rem;display:block;letter-spacing:-.01em}
.vofficial .vlabel span{font-size:12.5px;color:rgba(255,255,255,.85)}
.vofficial.playing:after,.vofficial.playing .vplay,.vofficial.playing .vlabel{opacity:0;pointer-events:none}
/* moldura cerimonial do vídeo oficial (tetha PT+EN) */
.blk--media{padding:26px 0 4px}
.vofficial{outline:1px solid rgba(var(--copper-rgb),.35);outline-offset:12px}
@media(max-width:680px){.vofficial{outline:none}}
@media(max-width:880px){.hero{padding:116px 0 40px}.hero-grid{grid-template-columns:1fr;gap:34px}.hero-copy h1{margin:18px 0 20px}.vframe{aspect-ratio:4/3}}
/* sections */
section.blk{padding:var(--section-y) 0}
.blk--tight{padding-top:var(--section-y-tight)}
/* ritmo unico (P0#3): secoes .blk adjacentes de MESMO fundo colapsam o topo — evita o 'degrau duplo' de espaco vazio; a TROCA de cor mantem o respiro pleno (respiro editorial na quebra de superficie) */
section.blk.bg-cream + section.blk.bg-cream,section.blk.bg-sand + section.blk.bg-sand,section.blk.bg-ink + section.blk.bg-ink{padding-top:0}
.bg-cream{background:var(--cream)}
.bg-sand{background:var(--sand)}
.bg-ink{background:var(--ink);color:#E9DED2}
.sec-head{max-width:60ch;margin-bottom:54px}
.sec-head.ctr{margin-left:auto;margin-right:auto;text-align:center}
.sec-head h2{font-size:clamp(2rem,4.2vw,3.4rem);margin:16px 0 0}
.sec-head p{margin-top:18px;font-size:1.1rem;color:var(--body);max-width:54ch}
.sec-head.ctr p{margin-left:auto;margin-right:auto}
.sec-foot{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap}
/* editorial numbered list */
.elist{border-top:1px solid var(--line-d)}
.elist a{display:flex;align-items:center;gap:clamp(14px,3vw,26px);padding:30px 6px;border-bottom:1px solid var(--line-d);transition:padding .5s var(--ease),background .5s var(--ease)}
.elist a:hover{padding-left:18px;background:linear-gradient(90deg,rgba(182,142,107,.08),transparent 70%)}
.elist .ix{font-family:var(--serif);font-size:.95rem;color:var(--copper-d);width:34px;flex:none}
.elist .et{flex:1;min-width:0}
.elist .et h3{font-size:clamp(1.6rem,3vw,2.5rem);color:var(--head);transition:.4s;overflow-wrap:anywhere}
.elist a:hover .et h3{color:var(--copper-d)}
.elist .et p{font-size:.95rem;color:var(--soft);margin-top:4px;max-width:52ch}
.elist .ar{font-size:1.5rem;color:var(--soft);transition:.4s var(--ease)}
.elist a:hover .ar{color:var(--copper-d);transform:translateX(8px)}
@media(max-width:680px){.elist .et p{display:none}}
/* full-bleed image band */
.bleed{position:relative;width:100vw;margin-left:calc(50% - 50vw);height:clamp(380px,56vh,600px);overflow:hidden}
.bleed img{position:absolute;left:0;top:-9%;width:100%;height:118%;object-fit:cover;will-change:transform}
.bleed .cap{position:absolute;left:0;right:0;bottom:0;padding:40px 30px;background:linear-gradient(to top,rgba(26,15,8,.62),transparent);color:#fff}
.bleed .cap .in{max-width:var(--maxw);margin:0 auto}
.bleed .cap b{font-family:var(--serif);font-weight:400;font-size:1.5rem;display:block;letter-spacing:-.01em}
.bleed .cap span{font-size:.9rem;color:rgba(255,255,255,.85);letter-spacing:.02em}
/* split feature */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,76px);align-items:center}
.split.rev .media{order:2}
.split .media{border-radius:8px;overflow:hidden;aspect-ratio:5/4;box-shadow:var(--shadow-sm)}
.split .media img{width:100%;height:100%;object-fit:cover}
.instructors{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:clamp(24px,4vw,48px)}
.instr{margin:0}
.instr .ph{aspect-ratio:4/5;border-radius:var(--r-md);overflow:hidden;background:var(--cream);box-shadow:var(--shadow-sm)}
.instr .ph img{width:100%;height:100%;object-fit:cover}
.instr figcaption{padding-top:18px}
.instr b{font-family:var(--serif);font-weight:400;font-size:1.35rem;color:var(--head);display:block;letter-spacing:-.01em}
.instr .role{display:block;color:var(--copper-d);font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;margin:6px 0 12px}
.instr p{color:var(--body);font-size:.98rem;line-height:1.6;max-width:42ch}
.split h2{font-size:clamp(1.9rem,3.6vw,3rem);margin:14px 0 20px}
@media(max-width:880px){.split{grid-template-columns:1fr;gap:30px}.split.rev .media{order:0}}
/* highlights */
.high{display:flex;flex-direction:column;gap:20px;margin-top:28px}
.high--cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:22px 48px;margin-top:28px}
.high .h{display:flex;gap:16px;align-items:flex-start}
.high .dot{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--copper);color:var(--copper-d);display:grid;place-items:center;font-size:12px;font-family:var(--serif)}
.high b{font-weight:500;color:var(--head);font-size:1rem;display:block;font-family:var(--sans)}
.high span{font-size:.95rem;color:var(--body)}
/* cards grid */
/* W1.3 — hairline grids FLUIDOS: auto-fit com TETO de colunas via max((100% - gaps)/N) — contagem idêntica nas larguras homologadas (2/3/4 col), colapso contínuo entre elas; gap 1px + fundo line-d mantém o hairline limpo em qualquer contagem */
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(250px,(100% - 1px)/2)),1fr));gap:1px;background:var(--line-d);border:1px solid var(--line-d)}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(230px,(100% - 2px)/3)),1fr));gap:1px;background:var(--line-d);border:1px solid var(--line-d)}
.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(280px,(100% - 3px)/4)),1fr));gap:1px;background:var(--line-d);border:1px solid var(--line-d)}
.cell{background:var(--ivory);padding:38px 32px;display:flex;flex-direction:column;transition:.45s var(--ease)}
a.cell:hover{background:var(--cream)}
.cell .ix{font-family:var(--serif);font-size:.95rem;color:var(--copper-d);margin-bottom:18px}
.cell h3{font-size:1.35rem;color:var(--head);margin-bottom:10px}
.cell p{font-size:.95rem;color:var(--body);flex:1;line-height:1.6}
.cell .more{margin-top:22px;font-size:.71875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--copper-d);font-weight:500;display:inline-flex;gap:8px;transition:.3s}
a.cell:hover .more{gap:13px}
.cell .cellpr{font-family:var(--serif);font-size:1.3rem;color:var(--head);margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.bg-cream .cell,.bg-sand .cell{background:transparent}
.bg-cream .grid2,.bg-cream .grid3,.bg-cream .grid4{background:var(--line-d)}
.bg-cream .suprow .s{background:transparent}
/* exams list */
.exrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(300px,(100% - 48px)/2)),1fr));gap:0 48px}
.exrow .ex{padding:24px 0;border-bottom:1px solid var(--line)}
.exrow .ex h4{font-family:var(--sans);font-size:1.02rem;font-weight:500;color:var(--head);margin-bottom:5px;display:flex;align-items:baseline;gap:11px}
.exrow .ex h4 i{font-family:var(--serif);font-style:normal;color:var(--copper-d);font-size:.85rem}
.exrow .ex p{font-size:.92rem;color:var(--body)}
/* stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(200px,(100% - 48px)/3)),1fr));gap:24px;text-align:center}
.stats .n{font-family:var(--serif);font-weight:300;font-size:clamp(2.6rem,5vw,3.8rem);color:var(--head);line-height:1}
.stats .l{font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);margin-top:12px}
/* equipment device */
.dev{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,72px);align-items:center;margin-bottom:clamp(48px,6vw,90px)}
.dev.rev .frame{order:2}
.dev .frame{background:var(--cream);border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;padding:44px;aspect-ratio:4/3}
.dev .frame img{max-height:100%;width:auto;object-fit:contain;mix-blend-mode:multiply}
.dev h3{font-size:clamp(1.8rem,3.2vw,2.6rem);margin:10px 0 14px}
.dev .specs{display:flex;gap:30px;flex-wrap:wrap;margin-top:22px;border-top:1px solid var(--line);padding-top:20px}
.dev .specs b{font-family:var(--serif);font-weight:400;font-size:1rem;color:var(--head);display:block}
.dev .specs span{font-size:.85rem;color:var(--soft)}
@media(max-width:880px){.dev{grid-template-columns:1fr;gap:26px}.dev.rev .frame{order:0}}
/* supplier mini */
.suprow{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(250px,(100% - 1px)/2)),1fr));gap:1px;background:var(--line-d);border:1px solid var(--line-d);margin-top:28px}
.suprow .s{background:var(--ivory);padding:30px 30px}
.suprow .s h4{font-family:var(--sans);font-size:1.05rem;font-weight:500;color:var(--head);margin-bottom:8px}
.suprow .s p{font-size:.92rem;color:var(--body)}
/* publications */
.pubs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(360px,(100% - 28px)/2)),1fr));gap:28px}
.pub{border:1px solid var(--line-d);border-radius:8px;padding:36px 34px;display:flex;flex-direction:column;transition:.4s var(--ease);background:var(--ivory)}
.pub:hover{box-shadow:var(--shadow-sm);transform:translateY(-4px)}
.pub .j{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--copper-d);font-weight:600;margin-bottom:16px}
.pub h3{font-size:1.3rem;color:var(--head);margin-bottom:12px}
.pub .au{font-size:.92rem;color:var(--head);font-weight:500;margin-bottom:8px}
.pub .ab{font-size:.95rem;color:var(--body);flex:1;margin-bottom:24px}
.pub .lk2{display:flex;gap:22px;flex-wrap:wrap}
.pub .lk2 a{font-size:.71875rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);font-weight:500;display:inline-flex;gap:7px;border-bottom:1px solid var(--copper);padding-bottom:4px;transition:.3s}
.pub .lk2 a:hover{color:var(--copper-d);gap:11px}
.pubintro{max-width:64ch;margin:0 0 42px;text-align:left;color:var(--body);font-size:1.02rem;line-height:1.7}
.pubs .pub{border-left:none;border-top:2px solid var(--copper)}
.pub .ev{display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);border:1px solid var(--line-d);border-radius:var(--r-pill);padding:5px 11px;margin-bottom:16px;align-self:flex-start}
.pub .ev b{color:var(--copper-d);font-weight:600}
.progs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(360px,(100% - 60px)/3)),1fr));gap:clamp(20px,2.4vw,30px)}
.pcard{display:flex;flex-direction:column;background:var(--ivory);border:1px solid var(--line-d);border-radius:var(--r-md);overflow:hidden;text-decoration:none;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.pcard:hover{box-shadow:var(--shadow);transform:translateY(-6px)}
.pcard .pim{aspect-ratio:16/10;overflow:hidden;background:var(--cream)}
.pcard .pim img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.pcard:hover .pim img{transform:scale(1.06)}
.pcard .pbd{padding:26px 26px 30px;display:flex;flex-direction:column;flex:1}
.pcard .ploc{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--copper-d);font-weight:600;margin-bottom:11px}
.pcard h3{font-size:1.28rem;color:var(--head);margin-bottom:10px}
.pcard p{font-size:.94rem;color:var(--body);line-height:1.6;flex:1}
.pcard .ppr{font-family:var(--serif);color:var(--head);font-size:1.3rem;font-weight:500;margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.pcard .ppr small{font-family:var(--sans);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.pcard .more{margin-top:14px;font-size:.71875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--copper-d);font-weight:500;display:inline-flex;gap:8px;transition:.3s}
.pcard:hover .more{gap:13px}
/* testimonial */
.quote-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));gap:clamp(40px,30.86px + 1.1905vw,48px)}
.qt blockquote{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(1.2rem,12.8px + .8333vw,1.55rem);line-height:1.45;color:#F3E8DC}
.qt figcaption{margin-top:22px;display:flex;align-items:center;gap:12px;font-size:.9rem;color:#C7B3A2}
.qt .fl{font-family:var(--serif);font-size:.7rem;letter-spacing:.14em;font-style:normal;color:#C7B3A2;border:1px solid rgba(243,232,220,.28);border-radius:50%;width:34px;height:34px;display:grid;place-items:center;flex:none}
.qt .who b{color:#F3E8DC;font-weight:500;font-family:var(--sans);display:block;font-size:.95rem}
.quote-grid--solo{grid-template-columns:1fr;max-width:820px;margin:0 auto;gap:56px}
.quote-grid--solo .qt blockquote{font-size:clamp(1.45rem,2.6vw,2.05rem);line-height:1.4}
/* connect / social */
.connect{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:16px}
.cc{border:1px solid var(--line-d);border-radius:8px;padding:26px 26px;transition:.4s var(--ease);background:var(--ivory)}
.cc:hover{border-color:var(--copper);transform:translateY(-3px)}
.cc .k{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--copper-d);font-weight:600}
.cc b{font-family:var(--serif);font-weight:400;font-size:1.25rem;color:var(--head);display:block;margin-top:8px;letter-spacing:-.01em}
.cc span{font-size:.9rem;color:var(--body)}
.cc.primary{background:var(--ink);border-color:var(--ink)}.cc.primary .k{color:var(--copper)}.cc.primary b{color:#fff}.cc.primary span{color:#C7B3A2}
/* dual paths — fale conosco */
.paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(338px,(100% - 24px)/2)),1fr));gap:24px;margin-bottom:40px}
.path{position:relative;border:1px solid var(--line-d);border-radius:12px;padding:clamp(34px,4vw,52px);display:flex;flex-direction:column;overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.path:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.path .k{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--copper-d)}
.path h3{font-size:clamp(1.7rem,2.8vw,2.4rem);margin:14px 0 12px;color:var(--head)}
.path p{color:var(--body);font-size:1.02rem;line-height:1.6;flex:1;margin-bottom:28px;max-width:34ch}
.path.pac{background:var(--ink)}
.path.pac .k{color:var(--copper)}.path.pac h3{color:#F6ECE2}.path.pac p{color:#C9BBAE}
.redes-head{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--soft);font-weight:600;text-align:center;margin-bottom:18px}
/* partners */
.partners{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.partners a{border:1px solid var(--line-d);border-radius:40px;padding:13px 28px;font-size:.92rem;font-weight:500;color:var(--ink);transition:.3s}
.partners a:hover{border-color:var(--copper);color:var(--copper-d)}
/* brand band (TEThA) */
.brandband{position:relative;width:100vw;margin-left:calc(50% - 50vw);background:radial-gradient(130% 150% at 50% -20%,#14110D,#070605);padding:clamp(70px,10vw,120px) 24px;text-align:center}
.brandband img{width:min(400px,82%);height:auto;aspect-ratio:386/144;object-fit:contain;background:#F8F8F6;padding:26px 40px;border-radius:14px;box-shadow:0 26px 70px -22px rgba(0,0,0,.55);margin:0 auto}
.brandband p{color:#C7B3A2;max-width:50ch;margin:26px auto 0;font-size:1.02rem;line-height:1.6}
/* tags */
.tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.tags span{font-size:.82rem;border:1px solid var(--line-d);border-radius:40px;padding:8px 18px;color:var(--body)}
/* page hero */
.phero{position:relative;padding:160px 0 30px;overflow:hidden;isolation:isolate}
/* 0706 — AURORA viva atrás do herói interno: luz quente que flui com profundidade + parallax de mouse. Canvas WebGL auto-contido (JS a injeta); z sob o conteúdo; fade-in suave. Sem WebGL → o canvas fica invisível e o creme permanece. */
.phero>.wrap{position:relative;z-index:1}
.phero-aura{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:0;transition:opacity 1.4s ease}
.phero-aura.on{opacity:1}
.phero h1{font-size:clamp(2.7rem,5.4vw,4.6rem);max-width:16ch;margin-top:22px;overflow-wrap:break-word}
.phero p{margin-top:24px;font-size:1.15rem;color:var(--body);max-width:60ch}
.phero-logo{height:clamp(40px,5vw,56px);width:auto;display:block;margin-bottom:18px;opacity:.92}
.phero+section.blk{padding-top:var(--section-y-tight)}
/* prose */
.prose{max-width:720px}
.prose p{margin-bottom:18px;color:var(--body);font-size:1.05rem;overflow-wrap:break-word}
.prose strong{font-weight:500;color:var(--ink)}
.prose h3{font-family:var(--serif);font-weight:500;color:var(--ink);font-size:1.3rem;margin:40px 0 12px;padding-top:28px;border-top:1px solid var(--line)}
.prose ul{margin:0 0 18px;padding-left:22px}
.prose li{margin-bottom:9px;color:var(--body);font-size:1.05rem;overflow-wrap:break-word}
.prose li::marker{color:var(--copper-d)}
/* nota de honestidade (manifesto "Em ativação") — CRM e Cartografia */
.honest-note{border-left:2px solid var(--copper);padding:4px 0 4px 20px;font-size:.86rem;color:var(--body);max-width:760px;line-height:1.6;margin-top:26px}
/* cta */
.cta{text-align:center;padding:var(--section-y) 0}
.cta h2{font-size:clamp(2.1rem,4.4vw,3.6rem);max-width:18ch;margin:14px auto 0}
.cta p{margin:20px auto 0;font-size:1.12rem;color:var(--body);max-width:46ch}
.cta .btn{margin-top:34px}
/* contact stack */
.stack{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.lk{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px clamp(14px,4vw,26px);border:1px solid var(--line-d);border-radius:8px;font-size:1.02rem;color:var(--ink);transition:.4s var(--ease)}
.lk:hover{border-color:var(--copper);background:var(--cream)}
.lk .ar{color:var(--soft);flex:none}.lk>span:not(.ar){min-width:0;overflow-wrap:anywhere}.lk:hover .ar{color:var(--copper-d)}
.lk.primary{background:var(--ink);border-color:var(--ink);color:#fff}.lk.primary .ar{color:var(--copper)}
/* footer */
footer{background:var(--ink);color:#C7B3A2;padding:clamp(64px,8vw,96px) 0 40px}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:48px}
footer .flogo img{height:54px;width:auto;margin-bottom:22px}
footer p{font-size:.95rem;line-height:1.6;color:#A8978A;margin-bottom:14px}
footer h4{font-family:var(--sans);font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--copper);font-weight:600;margin-bottom:18px}
footer .col a{display:block;font-size:.95rem;color:#C7B3A2;margin-bottom:11px;transition:.25s}
footer .col a:hover{color:#fff}
.fcopy{border-top:1px solid rgba(255,255,255,.1);margin-top:54px;padding-top:24px;font-size:.8rem;color:#A8978A;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.fcopy a{color:#A8978A}.fcopy a:hover{color:var(--copper)}
@media(max-width:780px){.fgrid{grid-template-columns:1fr;gap:34px}}
/* whatsapp float */
.wfab{position:fixed;right:22px;bottom:22px;z-index:50;width:58px;height:58px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 14px 30px -10px rgba(0,0,0,.4);transition:.3s}
.wfab:hover{transform:scale(1.08)}
.wfab svg{width:30px;height:30px;fill:#fff}
/* lightbox */
.lb{position:fixed;inset:0;z-index:90;background:rgba(20,12,8,.92);display:none;align-items:center;justify-content:center;padding:24px}
.lb.open{display:flex}
.lb .box{width:min(1000px,100%);aspect-ratio:16/9;position:relative}
.lb iframe{width:100%;height:100%;border:0;border-radius:8px}
.lb .lbx{position:absolute;top:-46px;right:0;color:#fff;font-size:14px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:none;border:0;display:flex;align-items:center;gap:8px}
/* reveal */
/* reveal por SCROLL: só transform (sem opacity) -> elemento sempre opaco, nunca estrangula o LCP
   de conteúdo acima da dobra; abaixo da dobra desliza ao entrar na viewport. */
.reveal{transform:translateY(26px)}
.reveal.in{transform:none;transition:transform .9s var(--ease)}
@media(prefers-reduced-motion:reduce){.reveal{transform:none}.reveal.in{transition:none}}
/* entrada do hero acima da dobra: anima por CSS no load (NAO depende de JS) -> nao estrangula o LCP.
   SO transform (sem opacity) -> o texto LCP fica visivel desde o 1o frame (LCP=FCP). */
.hero-in{animation:heroRise .8s .04s var(--ease) both}
@keyframes heroRise{from{transform:translateY(18px)}to{transform:none}}
@media(prefers-reduced-motion:reduce){.hero-in{animation:none}}
/* 0705a — TRANSIÇÕES DE PÁGINA cross-document (enhancement puro; Firefox = navegação instantânea de hoje; corte seco sob reduced-motion) */
@view-transition{navigation:auto}
::view-transition-group(root){animation-duration:.36s;animation-timing-function:var(--ease-out)}
@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
/* 0705a — ONDA B: sparkline ORNAMENTAL + endpoint "ao vivo" nos cartões do Dashboard (série decorativa, sem eixo/dado; a verdade é o número). Desenha ao revelar; endpoint pulsa no relógio-mestre. */
.dspark{position:relative;height:clamp(32px,4vw,44px);margin-top:14px;pointer-events:none}
.dspark svg{display:block;width:100%;height:100%;overflow:visible}
.dspark .dsline{fill:none;stroke:var(--copper);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.dspark .dend{position:absolute;right:1px;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 50% 40%,var(--gold),var(--copper));opacity:0}
.dcard--apur .dspark{opacity:.42}
.reveal.in .dspark .dsline{animation:dsDraw 1.3s .25s var(--ease-emph) forwards}
.reveal.in .dspark .dend{opacity:1;animation:dsEnd var(--pulse) 1.5s var(--ease-out) infinite}
@keyframes dsDraw{to{stroke-dashoffset:0}}
@keyframes dsEnd{0%{box-shadow:0 0 0 0 rgba(var(--gold-rgb),.5)}70%{box-shadow:0 0 0 7px rgba(var(--gold-rgb),0)}100%{box-shadow:0 0 0 0 rgba(var(--gold-rgb),0)}}
@media(prefers-reduced-motion:reduce){.dspark .dsline{animation:none;stroke-dashoffset:0}.dspark .dend{animation:none;opacity:1}}
/* 0705a — ONDA D (CSS-only, sem canvas): atmosfera "luz que circula" que RESPIRA na faixa do Dashboard. z-index sob o conteúdo. Pausa sob reduced-motion. */
.statsband{position:relative}
.statsband::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(58% 66% at 84% -4%,rgba(var(--copper-rgb),.08),transparent 66%),radial-gradient(42% 50% at 8% 108%,rgba(var(--gold-rgb),.05),transparent 70%);animation:lqcBreath 9s var(--ease-out) infinite}
.statsband>.wrap{position:relative;z-index:1}
@keyframes lqcBreath{0%,100%{opacity:.5}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.statsband::after{animation:none;opacity:.7}}
/* 0705b — ONDA C: "Linha de Luz" — a luz se DESENHA conforme o scroll atravessa a seção (scroll-storytelling do DNA), com um brilho âmbar que viaja no meio do trecho. Só com movimento; fallback = linha desenhada estática. z sob o conteúdo. */
.luxsec{position:relative;--lux:1}
.luxsec>.wrap{position:relative;z-index:1}
.luxline{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.luxline svg{position:absolute;left:0;top:50%;transform:translateY(-50%);width:100%;height:clamp(120px,26vh,240px);overflow:visible}
.luxline .lxpath{fill:none;stroke:url(#lxgrad);stroke-width:2.2;stroke-linecap:round;opacity:.6;filter:drop-shadow(0 0 6px rgba(var(--gold-rgb),.30))}
/* 0706 — PULSO VIVO: uma luz curta e quente viaja pela veia continuamente (CSS puro, independente de scroll; NÃO some no reduced-motion, só desacelera). É "a linha que se move". */
.luxline .lxpulse{fill:none;stroke:#FBE9CF;stroke-width:3;stroke-linecap:round;stroke-dasharray:.13 .87;stroke-dashoffset:1;opacity:.95;filter:drop-shadow(0 0 9px rgba(var(--gold-rgb),.85)) drop-shadow(0 0 22px rgba(var(--copper-rgb),.55));animation:lxTravel 4.2s linear infinite;will-change:stroke-dashoffset}
@keyframes lxTravel{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.luxsec.lux-off .lxpulse{animation-play-state:paused}/* 0707 perf: IO pausa o pulso (e o repaint filtrado) fora da viewport — espelha o padrão do .cock-map */
.luxline .lxglow{position:absolute;top:50%;left:calc(var(--lux) * 100%);width:clamp(88px,12vw,150px);height:clamp(88px,12vw,150px);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(var(--gold-rgb),.16),rgba(var(--copper-rgb),.07) 42%,transparent 70%);opacity:calc(var(--lux) * (1 - var(--lux)) * 4)}
@media(prefers-reduced-motion:reduce){.luxline .lxpulse{animation-duration:9s}.luxline .lxglow{display:none}}
.sp{height:1px}
/* ── DNA motion: hover lento, parallax, estados de vídeo ── */
.vframe.playing:after,.vframe.playing .vplay,.vframe.playing .vlabel{opacity:0;pointer-events:none;transition:opacity .5s}
.split .media,.dev .frame{overflow:hidden}
.split .media img{transition:transform 1.1s var(--ease)}
.split:hover .media img{transform:scale(1.045)}
.dev .frame img{transition:transform 1s var(--ease)}
.dev:hover .frame img{transform:scale(1.015)}
a.cell{transition:background .5s var(--ease),transform .5s var(--ease)}
a.cell:hover{transform:translateY(-4px)}
.elist a .et h3{transition:color .4s var(--ease),transform .5s var(--ease)}
.elist a:hover .et h3{transform:translateX(2px)}
.cc{transition:border-color .4s var(--ease),transform .5s var(--ease),background .4s var(--ease)}
/* Lenis smooth-scroll */
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}
/* ── HOME v3 (DNA Camenisch): hero full-bleed, intro entremeada, credenciais, galeria, localização, selos, consent ── */
.heroX{position:relative;min-height:92vh;min-height:92svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink)}
.heroX video,.heroX img.vbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%}
.heroX .scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(18,13,9,.55),rgba(18,13,9,.38) 30%,rgba(18,13,9,.60) 66%,rgba(18,13,9,.90));transition:opacity .6s var(--ease)}
.heroX .hero-copy .eyebrow,.heroX .hero-copy h1,.heroX .hero-copy .lead{text-shadow:0 2px 30px rgba(8,5,2,.55)}
@media(max-width:880px){.heroX .scrim{background:linear-gradient(180deg,rgba(18,13,9,.40),rgba(18,13,9,.30) 30%,rgba(18,13,9,.62) 70%,rgba(18,13,9,.92))}.heroX video,.heroX img.vbg{object-position:center 15%}.heroX .hero-copy h1{font-size:clamp(2rem,7.2vw,3.2rem);max-width:18ch}.heroX .wrap{padding-top:118px}}
.heroX .wrap{position:relative;z-index:2;width:100%;padding-top:150px;padding-bottom:clamp(44px,7vh,76px)}
.heroX .eyebrow{color:var(--copper-lt)}
.heroX h1{color:#F7F0E8;font-size:clamp(2.9rem,6vw,5.4rem);max-width:14ch;margin:22px 0 clamp(20px,2.6vw,30px)}
.heroX h1 em{color:var(--copper-lt)}
.heroX .lead{color:#EDE2D5;max-width:46ch}
/* 0708 — CÂMARA DE LUZ (/tetha): herói vivo reusando .heroX. Fundo = base quente-escura + campo de luz WebGL (canvas.phero-aura) glow por screen-blend; veia com pulso; profundidade 3D no cursor via JS. Sem WebGL: fica a base radial quente (fallback). Header/scrim/mobile herdados de .heroX. */
.heroX--lumen{background:radial-gradient(125% 95% at 50% 34%,#2b1d14 0%,#191009 58%,#120b07 100%)}
.heroX--lumen .phero-aura{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:1;pointer-events:none;mix-blend-mode:screen}
.heroX--lumen .scrim{background:linear-gradient(180deg,rgba(18,11,7,.30),rgba(18,11,7,.08) 34%,rgba(18,11,7,.40) 70%,rgba(18,11,7,.86))}
.heroX--lumen .lxveia{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible;opacity:.92;transition:transform .5s var(--ease-out);will-change:transform}
.heroX--lumen .lxveia .lxpath{fill:none;stroke:rgba(232,196,104,.24);stroke-width:1.6;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(232,196,104,.22))}
.heroX--lumen .lxveia .lxpulse{fill:none;stroke:#FBE9CF;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:.12 .88;stroke-dashoffset:1;filter:drop-shadow(0 0 8px rgba(232,196,104,.9)) drop-shadow(0 0 22px rgba(182,142,107,.55));animation:lxTravel 5s linear infinite}
.heroX--lumen .hero-copy{position:relative;z-index:2;transition:transform .5s var(--ease-out);will-change:transform}
@media(prefers-reduced-motion:reduce){.heroX--lumen .lxveia .lxpulse{animation-duration:11s}.heroX--lumen .lxveia,.heroX--lumen .hero-copy{transition:none}}
.btn-ivory{background:var(--ivory);color:var(--ink)}.btn-ivory:hover{background:var(--copper-d);color:#fff}
.btn-ghost{border-color:rgba(247,240,232,.55);color:#F7F0E8}.btn-ghost:hover{border-color:#F7F0E8}
.heroX.playing video{object-fit:contain;background:#000}
.heroX.playing .hero-copy{opacity:0;pointer-events:none;transition:opacity .5s}
.heroX.playing .wrap{pointer-events:none}
.heroX.playing .scrim{opacity:0}
.heroX .hero-play{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);z-index:3;display:none;align-items:center;gap:15px;padding:10px 26px 10px 10px;border-radius:var(--r-pill);border:1px solid rgba(247,240,232,.45);background:rgba(26,19,14,.32);backdrop-filter:blur(8px);color:#F7F0E8;font-family:var(--serif);font-size:1.08rem;letter-spacing:-.01em;cursor:pointer;transition:.45s var(--ease)}
.heroX .hero-play .hp-ic{width:52px;height:52px;border-radius:50%;background:rgba(247,240,232,.16);border:1px solid rgba(247,240,232,.65);display:grid;place-items:center;font-size:15px;padding-left:3px;flex:none}
.heroX .hero-play .hp-tx i{font-style:normal;display:block;font-family:var(--sans);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(247,240,232,.72);margin-top:3px}
.heroX .hero-play:hover{background:var(--copper);border-color:var(--copper);transform:translate(-50%,-50%) scale(1.04)}
.heroX .hero-play:hover .hp-ic{background:rgba(255,255,255,.22);border-color:#fff}
.heroX.playing .hero-play{opacity:0;pointer-events:none;transition:opacity .4s}
.hero-play-m{display:inline-flex;align-items:center;background:rgba(20,14,9,.5);backdrop-filter:blur(7px);border-color:rgba(247,240,232,.65)!important;color:#F7F0E8!important}
.hero-play-m:hover{background:var(--copper);border-color:var(--copper)!important}
.heroX.playing .hero-play-m{opacity:0;pointer-events:none;transition:opacity .4s}
@media(max-width:880px){.heroX{min-height:84vh;min-height:84svh}.heroX .wrap{padding-top:120px}.heroX .hero-play{display:none}.hero-play-m{display:inline-flex!important;align-items:center}.heroX .hero-cta .btn-ghost:not(.hero-play-m){display:none}}
/* hero em telas muito estreitas: encurta o bloco de texto p/ assentar ABAIXO do rosto (imagem landscape preenche a altura, sem folga vertical) + scrim inferior mais forte */
@media(max-width:400px){.heroX .hero-copy h1{font-size:clamp(1.45rem,6vw,1.9rem);line-height:1.12;max-width:26ch;margin:10px 0 12px}.heroX .hero-copy .lead{font-size:.9rem;line-height:1.45;max-width:36ch}.heroX .hero-copy .eyebrow{margin-bottom:2px}.heroX .scrim{background:linear-gradient(180deg,rgba(18,13,9,.26),rgba(18,13,9,.30) 22%,rgba(18,13,9,.72) 54%,rgba(18,13,9,.97))}}
/* intro entremeada (weave) */
.weave{max-width:1020px;margin:0 auto;text-align:center}
.weave p{font-family:var(--serif);font-weight:300;font-size:clamp(1.55rem,3.3vw,2.6rem);line-height:1.42;color:var(--head);letter-spacing:-.02em;margin-top:26px}
.weave img{display:inline-block;height:clamp(50px,6vw,80px);width:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px;vertical-align:-24%;margin:4px 10px;box-shadow:var(--shadow-sm)}
/* W-INTRO-TRIO (0708b) — fotos da intro FORA do texto corrido: tríptico (retrato-âncora + 2 contexto).
   REGRA BLOQUEANTE cabeça-nunca-cortada, garantida por GEOMETRIA: a célula-âncora é sempre mais alta que a
   proporção 3:2 das fotos (span de 2 linhas do grid) ⇒ object-fit:cover corta só as LATERAIS, nunca o topo;
   as células de contexto usam aspect-ratio:3/2 IDÊNTICO ao arquivo ⇒ zero crop.
   Sem SVG decorativo (veto do Chefe). Profundidade = sombra + micro-scale no hover (mesma mecânica da .gal). */
.introtrio{display:grid;grid-template-columns:1.08fr 1fr;gap:clamp(14px,2.2vw,22px);margin-top:clamp(34px,5vw,54px);text-align:left}
.introtrio figure{margin:0;display:flex;flex-direction:column}
.introtrio .ph{border-radius:12px;overflow:hidden;background:var(--cream);box-shadow:var(--shadow-sm)}
.introtrio .ph img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 18%;transition:transform 1.1s var(--ease)}
.introtrio figure:hover .ph img{transform:scale(1.04)}
@media(prefers-reduced-motion:reduce){.introtrio .ph img{transition:none}.introtrio figure:hover .ph img{transform:none}}
.introtrio .anchor-ph{grid-row:1/3}
.introtrio .anchor-ph .ph{flex:1;min-height:0}
.introtrio figure:not(.anchor-ph) .ph{aspect-ratio:3/2}
.introtrio figcaption{margin-top:12px;display:flex;flex-direction:column;gap:3px}
.introtrio figcaption b{font-family:var(--serif);font-weight:400;font-size:1.02rem;color:var(--head);letter-spacing:-.01em}
.introtrio figcaption span{font-size:.78rem;letter-spacing:var(--track-quiet,.05em);color:var(--soft);line-height:1.5}
@media(max-width:760px){.introtrio{grid-template-columns:1fr}.introtrio .anchor-ph{grid-row:auto}.introtrio .anchor-ph .ph{flex:none;aspect-ratio:3/2}}
/* credenciais */
.credlist{display:flex;flex-direction:column;margin-top:26px;border-top:1px solid var(--line-d)}
.credlist p{padding:15px 2px;border-bottom:1px solid var(--line-d);font-size:1rem;color:var(--ink);font-weight:500}
.credlist p span{color:var(--soft);font-weight:400}
/* galeria */
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(145px,(100% - 42px)/4)),1fr));gap:14px}
.gal .g{border-radius:8px;overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow-sm)}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.gal .g:hover img{transform:scale(1.05)}
@media(max-width:680px){.gal{gap:10px}}
/* localização */
.locard{background:var(--cream);border:1px solid var(--line);border-radius:12px;aspect-ratio:5/4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:42px}
.locard svg{width:56px;height:56px;color:var(--copper-d)}
.locard b{font-family:var(--serif);font-weight:400;font-size:1.45rem;color:var(--head);letter-spacing:-.01em}
.locard span{font-size:.95rem;color:var(--body);line-height:1.6}
.locard--photo{padding:0;overflow:hidden;display:block;position:relative;aspect-ratio:4/5;background:var(--ink);box-shadow:var(--shadow)}
.locard--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 32%}
.locard--photo figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:54px 26px 22px;background:linear-gradient(180deg,transparent,rgba(18,12,8,.86));text-align:left;display:flex;flex-direction:column;gap:5px}
.locard--photo figcaption svg{width:30px;height:30px;color:#E7B98F}
.locard--photo figcaption b{color:#fff;font-family:var(--serif);font-weight:400;font-size:1.4rem;letter-spacing:-.01em}
.locard--photo figcaption span{color:rgba(255,255,255,.86);font-size:.9rem;line-height:1.5}
@media(max-width:760px){.locard--photo{aspect-ratio:3/4;max-height:62vh}}
.addr{font-size:1.06rem;line-height:1.85;color:var(--body);margin-top:18px}
.addr strong{color:var(--ink);font-weight:600}
/* selos (footer) */
.selos{display:flex;gap:12px;flex-wrap:wrap;margin-top:48px}
.selos span{border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:11px 18px;font-size:.78rem;letter-spacing:.05em;color:#C7B3A2}
.selos span b{color:#E9DED2;font-weight:500}
/* consentimento LGPD */
.consent{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:85;width:min(430px,100vw - 36px);background:var(--ivory);border:1px solid var(--line-d);border-radius:var(--r-md);padding:22px 24px;box-shadow:var(--shadow);display:none}
.consent.show{display:block}
.consent p{font-size:.88rem;color:var(--body);line-height:1.55;margin-bottom:16px}
.consent .row{display:flex;gap:10px;flex-wrap:wrap}
.consent .btn{padding:12px 22px}
.consent .plink{display:inline-block;margin-top:12px;font-size:.8rem;color:var(--soft);text-decoration:underline}
/* seletor de idioma */
.langsw{font-size:.71875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--body);border:1px solid var(--line-d);border-radius:40px;padding:9px 16px;transition:.3s;font-weight:500}
.langsw:hover{color:var(--copper-d);border-color:var(--copper)}
.heroX~* .langsw,.scrolled .langsw{}
/* mídia / conteúdo — vídeos self-host, play inline (sem YouTube) */
.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(280px,(100% - 54px)/4)),1fr));gap:18px}
.vmedia{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:16/9;cursor:pointer;background:#0c1418;box-shadow:var(--shadow-sm);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.vmedia:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.vmedia video,.vmedia img.vthumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vmedia:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,28,33,.06),rgba(18,28,33,.62));transition:.4s;pointer-events:none}
.vmedia .vplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.16);backdrop-filter:blur(6px);color:#fff;display:grid;place-items:center;font-size:15px;padding-left:3px;transition:.4s var(--ease);z-index:2}
.vmedia:hover .vplay{background:var(--copper);border-color:var(--copper);transform:translate(-50%,-50%) scale(1.1)}
.vmedia .vlabel{position:absolute;left:16px;right:16px;bottom:14px;z-index:2;color:#fff}
.vmedia .vlabel b{font-family:var(--serif);font-weight:400;font-size:1rem;line-height:1.2;display:block;letter-spacing:-.01em}
.vmedia.playing:after,.vmedia.playing .vplay,.vmedia.playing .vlabel{opacity:0;pointer-events:none}
/* W1.6 — container queries ADITIVAS: .cqw marca o wrapper como contêiner; as regras espelham as @media (que PERMANECEM como fallback). Em wrappers .cqw o layout interno passa a responder à largura do CONTÊINER, não do viewport. */
.cqw{container-type:inline-size}
@container (max-width:880px){.split{grid-template-columns:1fr;gap:30px}.split.rev .media{order:0}.hero-grid{grid-template-columns:1fr;gap:34px}.dev{grid-template-columns:1fr;gap:26px}.dev.rev .frame{order:0}}
@container (max-width:960px){.cock-stage{grid-template-columns:1fr;gap:30px}.cock-map{order:-1}}
/* 0708b — RÉGUA DO CHEFE: nenhuma linha SVG decorativa fina animada SOBRE conteúdo.
   (doptrace já removido fisicamente em 0708b; aqui caem os demais ornamentos-linha.
   Aurora WebGL, atmosfera .statsband::after e conectores ESTRUTURAIS do cockpit FICAM.)
   Reversível: apagar esta linha restaura tudo — markup e JS permanecem no fonte, inertes. */
.luxline,.dspark,.heroX--lumen .lxveia{display:none!important}
/* ══ LENTE-6 (0708b) — TOKENS transversais: escala, ritmo, elevação, superfície.
   Aditivo no FIM do CSS base (cascata vence sem editar regra existente; os stylesheets concatenados
   depois — NAV2/STATS/COCKPIT — só CONSOMEM as vars). Reverter = apagar o bloco LENTE-6 inteiro. */
:root{
  --fs-display:clamp(2.9rem,6.25vw,5.6rem);
  --fs-h2:clamp(2.3rem,1.4rem + 3.6vw,4.1rem);
  --fs-h2s:clamp(1.9rem,1.3rem + 2.6vw,3.1rem);
  --fs-lead:clamp(1.25rem,1.05rem + .8vw,1.55rem);
  --fs-micro:.75rem;
  --track-micro:.14em;--track-wide:.22em;--track-quiet:.05em;
  --sp-1:8px;--sp-2:16px;--sp-3:24px;--sp-4:32px;--sp-5:48px;--sp-6:64px;--sp-7:96px;
  --section-y:clamp(84px,10vw,140px);--section-y-tight:clamp(48px,6vw,84px);--section-y-hero:clamp(120px,13vw,180px);
  --elev-1:0 1px 2px rgba(26,19,14,.05),0 2px 6px rgba(26,19,14,.04);
  --elev-2:0 1px 2px rgba(26,19,14,.06),0 6px 18px -6px rgba(26,19,14,.12);
  --elev-3:0 2px 4px rgba(26,19,14,.08),0 14px 32px -14px rgba(26,19,14,.20);
  --elev-media:0 2px 6px rgba(26,19,14,.10),0 26px 48px -28px rgba(40,24,14,.38);
  --surface-1:#FDFAF6;--surface-2:#FFFEFC;
  --shadow:var(--elev-media);--shadow-sm:var(--elev-3);
  --shadow-1:var(--elev-2);--shadow-2:var(--elev-2);
}
/* LENTE-6/B — hierarquia por SALTO de escala: display fala mais alto, o corpo fica quieto */
.hero-copy h1{font-size:var(--fs-display)}
.sec-head h2{font-size:var(--fs-h2)}
.split h2,.dev h3,.path h3{font-size:var(--fs-h2s)}
.lead{font-size:var(--fs-lead)}
/* LENTE-6/C — UMA voz micro-tipográfica: 2 trackings no site INTEIRO (wide = só eyebrow; micro = resto) */
.eyebrow{font-size:var(--fs-micro);letter-spacing:var(--track-wide)}
.btn,.alink,.langsw,.cell .more,.pcard .more,.pub .lk2 a{letter-spacing:var(--track-micro)}
.stats .l,.mm-grp,.pub .j,.cc .k,.path .k,.redes-head,.instr .role,.pcard .ploc{letter-spacing:var(--track-micro)}
/* LENTE-6/D — fim do círculo oco: numerais/iniciais em CHIP tonal preenchido (contido, com peso) */
.high .dot{border:0;background:rgba(var(--copper-rgb),.14);color:var(--copper-d);border-radius:10px;font-weight:600}
.qt .fl{border:0;background:rgba(243,232,220,.14);border-radius:10px}
/* LENTE-6/E — superfície com PROFUNDIDADE + ritmo de respiro decidido (grade 8px) */
.cell{background:var(--surface-1);padding:var(--sp-5) var(--sp-4) var(--sp-4)}
a.cell{transition:background var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out)}
a.cell:hover{background:var(--surface-2);box-shadow:var(--elev-2);transform:translateY(-2px);position:relative;z-index:1}
.sec-head{margin-bottom:var(--sp-6)}
.navgrp-d{box-shadow:var(--elev-3)}
/* ══ 0708c — SISTEMA IMERSIVO SITE-WIDE (consolida 3 lentes Fable). Aditivo no FIM do CSS base — a cascata
   vence sem editar regra existente (mecânica LENTE-6). Reverter = apagar o bloco 0708c inteiro (kwarg quiet,
   markup .scue/.brand-sub/.navgrp-k e JS 0708c ficam inertes sem ele).
   Contrato: texto do phero segue ESCURO sobre claro (véus quentes alpha ≤.13 sobre ivory → ink ~13:1 AAA,
   body ~6:1 AA; véu BRANCO sobe do rodapé onde a copy assenta) · ZERO WebGL novo (aurora 0706 reusada; tier
   quiet REMOVE o canvas) · zero linha SVG decorativa (luxline/dspark/lxveia seguem mortos) · reduced-motion=estático. */
/* 0708c/A — herói interno IMERSIVO (.phero): 4 planos — base cream→ivory (estática) · campo de luz ::before que
   RESPIRA em opacity e segue o cursor via --phx/--phy (compositor-only) · aurora WebGL existente no meio
   (IO-pausada, DPR≤1.5) · grão ::after ESTÁTICO (SVG inline multiply, SOB o conteúdo: .phero>.wrap é z-index:1). */
.phero{display:flex;align-items:flex-end;min-height:min(58vh,600px);min-height:min(58svh,600px);padding:170px 0 26px;background:linear-gradient(180deg,var(--cream),var(--ivory) 78%)}
.phero>.wrap{width:100%}
.phero::before{content:"";position:absolute;inset:-8%;z-index:0;pointer-events:none;background:radial-gradient(52% 64% at 78% 6%,rgba(var(--copper-rgb),.13),transparent 68%),radial-gradient(38% 52% at 12% -8%,rgba(var(--gold-rgb),.10),transparent 70%),radial-gradient(64% 54% at 50% 108%,rgba(255,255,255,.55),transparent 72%),conic-gradient(from 218deg at 74% -6%,transparent 8%,rgba(var(--gold-rgb),.07) 16%,transparent 27%);transform:translate3d(calc(var(--phx,0)*16px),calc(var(--phy,0)*11px),0);transition:transform .7s var(--ease-out);animation:pheroBreath 11s var(--ease-io) infinite;will-change:transform,opacity}
.phero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
@keyframes pheroBreath{0%,100%{opacity:.72}50%{opacity:1}}
.phero h1{font-size:var(--fs-display);text-wrap:balance}
.phero p{font-family:var(--serif);font-weight:300;font-size:var(--fs-lead);line-height:1.5;color:var(--ink);max-width:52ch}
@media(prefers-reduced-motion:reduce){.phero::before{animation:none;opacity:.85;transition:none}}
/* 0708c/B — tier QUIET (utilitárias: contato/LGPD/blog/checkout/hub/404): SEM WebGL (canvas não emitido);
   layout compacto de HOJE (160/30); atmosfera = véu quente que respira em opacity (reusa lqcBreath, custo ~0). */
.phero--quiet{display:block;min-height:0;padding:160px 0 30px}
.phero--quiet::before{inset:0;transform:none;background:radial-gradient(72% 84% at 82% -10%,rgba(var(--copper-rgb),.10),transparent 62%),radial-gradient(46% 60% at 6% 112%,rgba(var(--gold-rgb),.06),transparent 70%);animation:lqcBreath 9s var(--ease-out) infinite;will-change:auto}
.phero--quiet::after{display:none}
@media(prefers-reduced-motion:reduce){.phero--quiet::before{animation:none;opacity:.75}}
/* 0708c/C — cue "Role para descobrir": SÓ nos 3 heróis full-bleed escuros. CENTRADO (não colide com .wfab fixed
   à direita), pointer-events:none (preserva click-to-play data-yt), some ao rolar reusando html.scrolled (zero JS
   novo) e no estado .playing; oculto ≤880px. Glifo = caractere ↓ — nenhuma linha SVG. */
.heroX .scue{position:absolute;left:50%;transform:translateX(-50%);bottom:16px;z-index:3;display:inline-flex;align-items:center;gap:9px;pointer-events:none;color:#EDE2D5;font-size:.625rem;font-weight:500;letter-spacing:var(--track-wide);text-transform:uppercase;text-shadow:0 1px 12px rgba(8,5,2,.5);opacity:.8;transition:opacity var(--dur-3) var(--ease-out),visibility var(--dur-3)}
.heroX .scue i{font-style:normal;display:inline-block;animation:scueDip calc(var(--pulse)*1.25) var(--ease-io) infinite}
@keyframes scueDip{0%,100%{transform:translateY(-2px);opacity:.5}50%{transform:translateY(4px);opacity:1}}
html.scrolled .scue,.heroX.playing .scue{opacity:0;visibility:hidden}
@media(prefers-reduced-motion:reduce){.heroX .scue i{animation:none}}
@media(max-width:880px){.heroX .scue{display:none}}
/* 0708c/D — reveal ELEVADO: settle assintótico e viagem um passo maior; sob reduce valem as regras base
   (transform:none / transition:none). Continua transform-only — nunca opacity (filosofia LCP). */
@media(prefers-reduced-motion:no-preference){
.reveal{transform:translateY(clamp(24px,4vh,36px))}
.reveal.in{transition:transform var(--dur-4) var(--ease-emph)}
}
/* 0708c/E — micro-lift premium (voz de elevação LENTE-6), só com movimento e ponteiro fino.
   .lk (transition:.4s) e .partners a (transition:.3s) já transicionam all no base — lift entra suave sem regra extra. */
@media(prefers-reduced-motion:no-preference) and (pointer:fine){
.btn{transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease),transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn-fill:hover{box-shadow:var(--elev-2)}
.lk:hover{transform:translateY(-2px);box-shadow:var(--elev-1)}
.partners a:hover{transform:translateY(-2px)}
}
/* 0708c/F — marca em 2 andares (.brand-sub) + estados over-dark/rolado/menu-aberto (regras IRMÃS do gate
   167-185 e do override 212 — o gate NÃO é tocado). Some ≤680px p/ não apertar o nav mobile. */
.brand{display:inline-block;line-height:1.05}
.brand .brand-sub{display:block;font-family:var(--sans);font-size:.5625rem;font-weight:600;letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--copper-d);opacity:.9;margin-top:2px;line-height:1}
html:has(.heroX) header .brand-sub{color:var(--copper-lt);text-shadow:0 1px 12px rgba(0,0,0,.32)}
html.scrolled:has(.heroX) header .brand-sub{color:var(--copper-d);text-shadow:none}
html header:has(.burger.x) .brand-sub{color:var(--copper-d)!important;text-shadow:none!important}
@media(max-width:680px){.brand .brand-sub{display:none}}
/* 0708c/G — nav multi-vertical: dropdown Tecnologia vira painel com eyebrow de vertical + descrição honesta
   (copy 100% REUSADA de títulos/h1 já publicados — nada inventado, CFM-safe). */
.navgrp-d{min-width:min(304px,100vw - 36px)}
.navgrp-k{display:block;font-size:.5625rem;font-weight:600;letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--soft);padding:8px 12px 7px;border-bottom:1px solid var(--line);margin-bottom:4px}
.navgrp-d a{display:flex;flex-direction:column;gap:2px;white-space:normal}
.navgrp-d a b{font-weight:500;font-size:.84375rem;letter-spacing:-.005em}
.navgrp-d a span{font-size:.71875rem;color:var(--soft);line-height:1.45}
.navgrp-d a:hover span,.navgrp-d a.on span{color:var(--copper-d)}

/* ═══════════ HIPERMODERNO · CAMADA GLOBAL (0708e) — profundidade 3D / parallax / kinetic / spotlight / magnetic. ADITIVO+REVERSÍVEL. Base estática legível; realce só com suporte de scroll-timeline + movimento + ponteiro fino. ZERO hairline (luxline/dspark/lxveia seguem display:none). ═══════════ */
:root{
  --persp:1100px;--tilt-max:5deg;--lift-z:34px;
  --par-bg:-40px;--par-mid:22px;--par-fg:60px;
  --reveal-rise:clamp(20px,3.4vh,34px);--kin-stagger:60ms;
  --elev-4:0 4px 10px rgba(26,19,14,.10),0 30px 60px -22px rgba(58,34,18,.34);
  --elev-glass:0 1px 0 rgba(255,255,255,.5) inset,0 18px 46px -24px rgba(40,24,14,.40);
  --spot:rgba(182,124,86,.16);
}
@media(prefers-reduced-motion:reduce){:root{--par-bg:0px;--par-mid:0px;--par-fg:0px;--tilt-max:0deg;--lift-z:0px;--reveal-rise:0px;--kin-stagger:0ms}}
/* 1 — REVEAL scroll-driven nativo (upgrade do .reveal-IO; compositor, off-thread; transform-only preserva LCP). Fallback = IntersectionObserver .reveal.in já existente. */
@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){
  .reveal{transform:none;animation:sdRise linear both;animation-timeline:view();animation-range:entry 4% cover 26%}
  .reveal.in{transition:none}
}}
@keyframes sdRise{from{transform:translateY(var(--reveal-rise))}to{transform:none}}
/* 2 — KINETIC TYPE — manchete palavra-a-palavra. CLIP-FREE (SEM overflow → acentos PT á/é/ê/õ/ã/ç e descendentes g/p/q/j NUNCA cortam, resolve a QA adiada) + base VISÍVEL (nunca some se o JS falhar → sem blank, sem flash de LCP). A entrada (rise+fade escalonado) roda quando o IO adiciona .kin.in: no LOAD p/ heróis acima da dobra, no SCROLL p/ seções. reduced-motion = estático imediato. Spans pré-split no build (kin()) => SEO/CLS ok. */
.kin{display:inline}
.kin .kw{display:inline-block;vertical-align:top}
.kin .kw i{display:inline-block;font-style:inherit}
@media(prefers-reduced-motion:no-preference){
  .kin.in .kw i{animation:kinIn var(--dur-4) var(--ease-emph) both;animation-delay:calc(var(--k,0)*var(--kin-stagger));will-change:transform}
}
@keyframes kinIn{from{opacity:0;transform:translateY(.6em)}to{opacity:1;transform:none}}
/* 3 — PARALLAX por camada (compositor; SÓ atmosfera/moldura, NUNCA <img> de rosto). */
@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){
  .plx{animation:plxMove linear both;animation-timeline:view();animation-range:cover 0% cover 100%;will-change:transform}
  .plx--bg{--pd:var(--par-bg)}.plx--mid{--pd:var(--par-mid)}.plx--fg{--pd:var(--par-fg)}
}}
@keyframes plxMove{from{transform:translateY(calc(var(--pd,0px)*-1))}to{transform:translateY(var(--pd,0px))}}
/* 4 — TILT 3D de cartão (JS escreve --rx/--ry; filhos .tz flutuam em Z). Só ponteiro fino. */
.tilt{perspective:var(--persp)}
.tilt .tin{transform-style:preserve-3d;transition:transform var(--dur-2) var(--ease-out);backface-visibility:hidden}
@media(prefers-reduced-motion:no-preference) and (pointer:fine){
  .tilt.tilting .tin{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
  .tilt .tz{transform:translateZ(var(--lift-z))}
}
/* passthrough de flex p/ tilt em cartão flex-column (.pcard): o .tin assume a coluna → altura igual (pbd flex:1) preservada */
.pcard.tilt .tin{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}
/* 5 — SPOTLIGHT quente em superfície ESCURA (JS escreve --mx/--my). Substitui a tentação de linha por LUZ de superfície. */
.spot{position:relative;isolation:isolate}
.spot::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity var(--dur-3) var(--ease-out);background:radial-gradient(38% 46% at var(--mx,50%) var(--my,40%),var(--spot),transparent 70%)}
@media(prefers-reduced-motion:no-preference) and (pointer:fine){.spot:hover::before{opacity:1}}
.spot>*{position:relative;z-index:1}
/* 6 — BOTÃO MAGNÉTICO (JS translate; alvo de clique/foco NÃO dependem do deslocamento). */
.mag{will-change:transform}
/* 7 — STICKY SCROLLYTELLING (pino; base sem suporte/reduced-motion = cenas empilhadas legíveis). */
.stage{position:relative}
.stage__pin{position:sticky;top:0;min-height:100vh;min-height:100svh;display:grid;align-items:center;overflow:hidden}
@media(prefers-reduced-motion:reduce){.stage{height:auto!important}.stage__pin{position:static;min-height:0}}

/* focal-points (content/focal-points.json) — anti cabeça-cortada §15 */
img[src*="anjos-centro-cirurgico.jpg"]{object-position:33% 45%}
img[src*="clinica-atendimento.jpg"]{object-position:55% 21%}
img[src*="dr-gilson-studio.jpg"]{object-position:33% 27%}
img[src*="dr-gilson.jpg"]{object-position:46% 17%}
img[src*="dr-grill.jpg"]{object-position:50% 21%}
img[src*="dra-nara-studio.jpg"]{object-position:52% 22%}
img[src*="duo-nara-gilson.jpg"]{object-position:43% 32%}
img[src*="equip-xlase-uso.jpg"]{object-position:52% 18%}
img[src*="imersao-grupo.jpg"]{object-position:52% 17%}
img[src*="midia-NYiJxvxt36U.jpg"]{object-position:42% 55%}
img[src*="nara-atende.jpg"]{object-position:37% 42%}
img[src*="nara-aula.jpg"]{object-position:16% 16%}
img[src*="nara-autoridade.jpg"]{object-position:23% 23%}
img[src*="nara-bio.jpg"]{object-position:46% 24%}
img[src*="nara-cirurgia.jpg"]{object-position:40% 30%}
img[src*="nara-clinic-hall.jpg"]{object-position:47% 30%}
img[src*="nara-consulta.jpg"]{object-position:47% 36%}
img[src*="nara-endolaser.jpg"]{object-position:74% 27%}
img[src*="nara-exame.jpg"]{object-position:72% 27%}
img[src*="nara-gilson-hd.jpg"]{object-position:26% 27%}
img[src*="nara-hero.jpg"]{object-position:47% 27%}
img[src*="nara-portrait.jpg"]{object-position:50% 20%}
img[src*="nara-portrait2.jpg"]{object-position:49% 38%}
img[src*="nara-procedimento.jpg"]{object-position:83% 27%}
img[src*="nara-square.jpg"]{object-position:26% 30%}
img[src*="nara-thoughtful.jpg"]{object-position:48% 25%}
img[src*="nara-wide.jpg"]{object-position:51% 27%}
img[src*="procedimento.jpg"]{object-position:62% 16%}

/* formulários de lead (.cartoform) — global, compartilhado por cartografia e contato */
.cartoform{max-width:560px;margin:0 auto;background:var(--ivory);border:1px solid var(--line-d);border-radius:var(--r-md);padding:clamp(22px,3vw,34px);position:relative}
.cartoform .ff{margin-bottom:16px}
.cartoform label{display:block;font-size:.78rem;letter-spacing:.04em;color:var(--head);margin-bottom:6px;font-weight:500}
.cartoform input[type=text],.cartoform input[type=tel],.cartoform input[type=email],.cartoform textarea{width:100%;box-sizing:border-box;font:inherit;font-size:.95rem;color:var(--head);background:var(--cream);border:1px solid var(--line-d);border-radius:var(--r-sm);padding:12px 14px}
.cartoform textarea{resize:vertical;min-height:88px;line-height:1.5}
.cartoform input:focus,.cartoform textarea:focus{outline:2px solid var(--copper-acc);outline-offset:2px;border-color:var(--copper-d)}
.cartoform .cfconsent{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:var(--body);line-height:1.5;margin:6px 0 18px;font-weight:400;letter-spacing:0;text-transform:none}
.cartoform .cfconsent input{margin-top:3px;flex:none}
.cartoform .cfconsent a{color:var(--copper-d);text-decoration:underline}
.cartoform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cartoform button{width:100%;cursor:pointer}
.cartoform button[type=submit]{width:100%;justify-content:center}
.cartoform .formerr{color:var(--error);font-size:.84rem;margin-top:12px;min-height:1px}
.cartoform .formnote{font-size:.78rem;color:var(--soft);text-align:center;margin-top:14px;line-height:1.5}
.cartoform.done .ff,.cartoform.done .cfconsent,.cartoform.done button,.cartoform.done .formerr,.cartoform.done .formnote{display:none}
.formok{display:none;text-align:center;padding:8px 0}
.cartoform.done .formok{display:block}
.formok .ic{width:54px;height:54px;border-radius:50%;background:rgba(180,120,60,.12);color:var(--copper-d);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:1.5rem}
.formok h3{font-family:var(--serif);font-weight:300;font-size:1.5rem;color:var(--head);margin-bottom:8px}
.formok p{color:var(--body);font-size:.92rem;line-height:1.6;max-width:380px;margin:0 auto}

/* CTA secundário 'Área do assinante' no header (CMD §8) + página do hub */
.nav-cta2{margin-right:10px}
@media(max-width:1040px){.nav-cta2{display:none}}
.mobile-menu .mm-assinante{font-weight:600;color:var(--copper-d)}
.access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(341px,(100% - 18px)/2)),1fr));gap:18px;margin-top:8px}
.access-card{background:var(--ivory);border:1px solid var(--line-d);border-radius:var(--r-md);padding:clamp(22px,3vw,30px);display:flex;flex-direction:column}
.access-card .st{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin-bottom:12px}
.access-card h3{font-family:var(--serif);font-weight:400;font-size:1.3rem;color:var(--head);margin-bottom:6px}
.access-card p{color:var(--body);font-size:.92rem;line-height:1.6;flex:1}
.access-card .btn{margin-top:18px;align-self:stretch;justify-content:center;text-align:center;white-space:nowrap}
.access-card .acmore{margin-top:14px;align-self:center;display:inline-flex;align-items:center;gap:6px;font-size:.78rem;letter-spacing:var(--track-quiet,.05em);color:var(--soft);text-decoration:none;transition:color .25s var(--ease)}
.access-card .acmore .ar{transition:transform .25s var(--ease)}
.access-card .acmore:hover{color:var(--copper-d)}
.access-card .acmore:hover .ar{transform:translateX(3px)}
@media(prefers-reduced-motion:reduce){.access-card .acmore .ar{transition:none}}
.access-card:has(.stbadge.dev){border-style:dashed;background:transparent}
/* Badge de status honesto dos sistemas (ATIVO / EM DESENVOLVIMENTO) */
.stbadge{display:inline-block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;padding:3px 9px;border-radius:var(--r-pill);vertical-align:middle;margin-left:8px;line-height:1.5}
.stbadge.ok{background:#E6F4EC;color:#1F7A4D}
.stbadge.dev{background:#FBECD9;color:#8A5A1A}

/* DASHBOARD VIVO "Experiência clínica em números" — estilo CRM analítico (dado real zero-PII + apuração viva) */
.statsband{background:linear-gradient(180deg,#FBF8F4 0%,#F2EBE3 100%)}
.eyebrow.muted{color:var(--soft)}
.statsband .sec-head p{max-width:660px;margin-left:auto;margin-right:auto}
/* FAIXA VIVA horizontal (relógio + sincronismo) — maior e mais visível */
.syncband{display:flex;flex-wrap:wrap;align-items:center;gap:13px 20px;max-width:1080px;margin:38px auto 0;padding:18px 30px;background:linear-gradient(180deg,#FFFDFB,#F6EEE5);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-2);font-size:.86rem;color:var(--body)}
.syncband .syncdot{width:11px;height:11px;border-radius:50%;background:var(--live);box-shadow:0 0 0 0 rgba(var(--live-rgb),.6);animation:syncpulse 2.4s infinite;flex:none}
.sb-status{display:inline-flex;align-items:center;gap:10px}
.sb-status .syncband-h{font-family:var(--sans);color:var(--head);font-weight:600;letter-spacing:.01em;font-size:.96rem}
.sb-sep{width:1px;height:18px;background:var(--line-d);flex:none}
.sb-src b,.sb-when b{color:var(--copper-d);font-weight:600}
.sb-clock span[data-clock]{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:1.22rem;letter-spacing:.04em;color:var(--copper-d);font-weight:500}
.sb-clock i{font-style:normal;font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;color:var(--soft);margin-left:6px}
.sb-priv{margin-left:auto;font-size:.72rem;letter-spacing:.02em}
.syncband.stale .syncdot{background:#C9A227;animation:none;box-shadow:none}
/* GRADE KPI — cartão uniforme (ícone topo · número · rótulo), padrão aprovado */
.dash{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:760px;margin:22px auto 0}
.dash--trio{grid-template-columns:repeat(auto-fit,minmax(min(100%,max(300px,(100% - 36px)/3)),1fr));max-width:1040px}
.dash--quad{grid-template-columns:repeat(auto-fit,minmax(min(100%,max(280px,(100% - 54px)/4)),1fr));max-width:1200px}
.dash-fn{max-width:1200px;margin:14px auto 0;text-align:center;font-size:.72rem;line-height:1.55;color:var(--soft)}
.dsub{margin:11px auto 0;padding-top:10px;border-top:1px solid rgba(var(--copper-rgb),.22);max-width:82%;font-size:.82rem;line-height:1.4;color:var(--soft);letter-spacing:.01em}
.dsub .pcup{font-family:var(--serif);font-variant-numeric:tabular-nums;color:var(--copper-d);font-weight:500;letter-spacing:.02em}
@media(max-width:920px){.dash--trio{max-width:420px}}
.dcard{position:relative;overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 26px;text-align:left;box-shadow:var(--shadow-1);display:flex;flex-direction:column;min-height:196px}
.dcard::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--copper),var(--gold))}
.dcard--apur::before{opacity:.45}
.dico{color:var(--copper);margin:0 0 auto;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(var(--copper-rgb),.09);border:1px solid rgba(var(--copper-rgb),.18)}
.dnum{font-family:var(--serif);font-weight:500;line-height:1;color:var(--copper-d);font-size:clamp(2.3rem,4.6vw,3.2rem);font-variant-numeric:tabular-nums;margin-top:20px;min-height:1em}
.dcard--apur .dnum{font-size:1rem;margin-top:24px}
.dnum .cup[data-pending]{color:var(--line-d)}
.dlbl{margin-top:12px;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--body);font-weight:600;display:flex;flex-direction:column;gap:3px}
.dlbl em{font-style:normal;font-size:.66rem;letter-spacing:.04em;color:var(--soft);font-weight:500;text-transform:none}
/* cartão-estrela (laser/TEThA) — mesmo formato, realce sutil */
.dcard--star{border-color:var(--copper);box-shadow:0 20px 48px -26px rgba(var(--copper-rgb),.6);background:linear-gradient(180deg,var(--paper),rgba(var(--copper-rgb),.05))}
.dcard--star::before{height:4px;background:linear-gradient(90deg,var(--gold),var(--copper),var(--gold));opacity:1}
.dcard--star .dico{color:var(--copper-d);background:rgba(var(--gold-rgb),.13);border-color:rgba(var(--gold-rgb),.32)}
.dcard--star .apur-dots i{background:var(--gold)}
/* estado "em apuração" — vivo, SEM número fabricado */
.apur{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-weight:600;font-size:.96rem;letter-spacing:.02em;color:var(--copper-d)}
.apur b{font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}
.apur-dots{display:inline-flex;gap:5px;flex:none}
.apur-dots i{width:8px;height:8px;border-radius:50%;background:var(--copper);animation:apurpulse 1.3s ease-in-out infinite}
.apur-dots i:nth-child(2){animation-delay:.18s}
.apur-dots i:nth-child(3){animation-delay:.36s}
.livepill{display:inline-flex;align-items:center;gap:6px;vertical-align:middle;margin-left:10px;padding:4px 12px 4px 10px;border-radius:var(--r-pill);background:rgba(var(--live-rgb),.12);border:1px solid rgba(var(--live-rgb),.32);color:var(--live-ink);font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.livepill i{width:7px;height:7px;border-radius:50%;background:var(--live);box-shadow:0 0 0 0 rgba(var(--live-rgb),.6);animation:syncpulse 2.4s infinite}
/* CAPACIDADES CLÍNICAS — chips maiores, legíveis, com ponto pulsante */
.caprow{max-width:1080px;margin:20px auto 0;padding:26px 30px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 14px 40px -30px rgba(58,38,24,.4)}
.cap-h{display:flex;align-items:baseline;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.cap-note{font-size:.78rem;color:var(--soft);font-style:italic}
.cap-chips{display:flex;flex-wrap:wrap;gap:12px;list-style:none;margin:0;padding:0}
.chip{display:inline-flex;align-items:center;gap:10px;padding:12px 19px;border:1px solid var(--line-d);border-radius:var(--r-pill);background:var(--ivory);font-size:.98rem;color:var(--head);font-weight:600}
.chip-dot{width:10px;height:10px;border-radius:50%;background:var(--copper);flex:none;box-shadow:0 0 0 3px rgba(var(--copper-rgb),.14);animation:none}
.chip:nth-child(2) .chip-dot{animation-delay:.3s}
.chip:nth-child(3) .chip-dot{animation-delay:.6s}
.chip:nth-child(4) .chip-dot{animation-delay:.9s}
.chip:nth-child(5) .chip-dot{animation-delay:1.2s}
.chip i{font-style:normal;font-size:.72rem;letter-spacing:.03em;color:var(--soft);margin-left:1px;font-weight:500}
.chip--star{border-color:var(--copper);background:linear-gradient(180deg,var(--paper),rgba(var(--copper-rgb),.08));box-shadow:0 8px 22px -12px rgba(var(--copper-rgb),.6)}
.chip--star .chip-dot{background:var(--gold);box-shadow:0 0 0 3px rgba(var(--gold-rgb),.14);animation:none}
.chip--star i{color:var(--copper-d);font-weight:600}
/* pulso ÚNICO no refresh dos chips (disparado pelo JS quando o /stats responde) */
.chip .chip-dot.pulse{animation:chippulse 2s ease-in-out 1}
/* SELO Business & Gravata — lockup de assinatura: medalhão contido + hierarquia em 3 degraus (família cromática do .authband) */
.bg-seal{max-width:1080px;margin:34px auto 0;padding:clamp(28px,4vw,40px) clamp(24px,4.5vw,48px);background:linear-gradient(150deg,#241A12,#2C2015 55%,#241A12);border:1px solid rgba(var(--gold-rgb),.28);border-radius:var(--r-lg);box-shadow:var(--shadow-2);display:flex;align-items:center;justify-content:center;gap:clamp(24px,4vw,44px);text-align:left;position:relative;isolation:isolate;overflow:hidden}
.bg-seal::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(420px 240px at 26% 50%,rgba(var(--copper-rgb),.16),transparent 70%);z-index:-1;pointer-events:none}
.bg-plate{flex:none;width:clamp(132px,15vw,168px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 50% 38%,#FFFDF8,#F1E3D0 78%);border:1px solid rgba(var(--gold-rgb),.32);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 22px 44px -26px rgba(0,0,0,.65)}
.bg-logo{height:clamp(96px,11vw,126px);width:auto;filter:drop-shadow(0 14px 28px rgba(0,0,0,.45))}
.bg-id{display:flex;flex-direction:column;gap:8px;max-width:52ch}
.bg-seal .eyebrow{color:var(--copper-lt)}
.bg-name{font-family:var(--serif);font-weight:500;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.15;letter-spacing:.01em;color:#F2E9DE;margin:0}
.bg-attr{font-size:.9rem;color:#C9B8A6;letter-spacing:.02em;margin:0;line-height:1.5}
.bg-attr strong{color:var(--copper-lt);font-weight:600}
@media(max-width:640px){.bg-seal{flex-direction:column;text-align:center;gap:18px}.bg-id{align-items:center}}
@keyframes syncpulse{0%{box-shadow:0 0 0 0 rgba(var(--live-rgb),.55)}70%{box-shadow:0 0 0 9px rgba(var(--live-rgb),0)}100%{box-shadow:0 0 0 0 rgba(var(--live-rgb),0)}}
@keyframes chippulse{0%{box-shadow:0 0 0 0 rgba(var(--copper-rgb),.5)}70%{box-shadow:0 0 0 8px rgba(var(--copper-rgb),0)}100%{box-shadow:0 0 0 0 rgba(var(--copper-rgb),0)}}
@keyframes starpulse{0%{box-shadow:0 0 0 0 rgba(var(--gold-rgb),.6)}70%{box-shadow:0 0 0 9px rgba(var(--gold-rgb),0)}100%{box-shadow:0 0 0 0 rgba(var(--gold-rgb),0)}}
@keyframes apurpulse{0%,100%{opacity:.3;transform:scale(.78)}50%{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.chip-dot,.chip .chip-dot.pulse,.chip--star .chip-dot,.apur-dots i{animation:none}}
/* faixa de autoridade científica (peer-review + ensaio registrado) */
.authband{background:var(--ink);color:#EFE6DC;padding:34px 0}
.authband .ab-row{display:flex;gap:40px;align-items:center;flex-wrap:wrap}
.authband .ab-lead{flex:1 1 min(270px,100%);max-width:360px}
.authband .ab-lead .eyebrow{color:var(--copper-lt)}
.authband .ab-lead p{font-size:.9rem;color:#C9B8A6;margin-top:8px;line-height:1.5}
.authband .ab-items{flex:2 1 min(460px,100%);display:flex;gap:14px;flex-wrap:wrap}
.authband .ab-item{flex:1 1 min(150px,100%);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:15px 17px;text-decoration:none;color:inherit;transition:.25s}
.authband a.ab-item:hover{background:rgba(255,255,255,.09);border-color:var(--copper-acc)}
.authband .ab-item b{display:block;font-family:var(--serif);font-weight:500;font-size:1.02rem;color:#fff}
.authband .ab-item span{display:block;font-size:.7rem;letter-spacing:.04em;color:#A89886;margin-top:5px}
@media(max-width:680px){.authband .ab-items{flex-direction:column}}
/* pilar tecnologia na home */
.techgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(360px,(100% - 40px)/3)),1fr));gap:20px;margin-top:8px}
.techcard{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:26px;text-decoration:none;color:inherit;transition:.25s}
.techcard:hover{border-color:var(--copper);transform:translateY(-3px);box-shadow:var(--shadow-sm)}
.techcard .tc-k{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--copper-d)}
.techcard b{font-family:var(--serif);font-size:1.5rem;font-weight:400;color:var(--ink);margin:8px 0 10px;line-height:1.1}
.techcard p{font-size:.9rem;color:var(--body);line-height:1.5;flex:1}
.techcard .tc-go{margin-top:16px;font-size:.82rem;color:var(--copper-d);font-weight:600}
.dskel{display:flex;flex-direction:column;align-items:center;gap:12px;padding:30px}
.dskel span{display:block;height:14px;width:min(70%,420px);border-radius:7px;background:linear-gradient(90deg,#EDE4DA 25%,#F6F0E9 37%,#EDE4DA 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}
.dskel span:nth-child(2){width:min(50%,300px)}.dskel span:nth-child(3){width:min(38%,220px)}
.dskel i{font-style:normal;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
@keyframes shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
.dunavail{grid-column:1/-1;text-align:center;color:var(--soft);padding:24px;font-size:.92rem}
@media(max-width:880px){.dash{grid-template-columns:1fr}}
@media(max-width:780px){.syncband{justify-content:center;text-align:center}.sb-sep{display:none}.sb-priv{margin-left:0;flex-basis:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){.syncband .syncdot{animation:none}.livepill i{animation:none}.dskel span{animation:none}}

/* Ciência/Especialidade/Tecnologia — 3 trilhos (tipografia, sem logo raspada) */
.trilhos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:20px;max-width:1000px;margin:38px auto 0}
.trilho{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:30px 28px;display:flex;flex-direction:column}
.tr-h{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--copper-d);margin-bottom:16px}
.tr-list{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:11px}
.tr-list li{position:relative;padding-left:18px;font-size:.96rem;color:var(--ink);line-height:1.4}
.tr-list li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border-radius:50%;background:var(--copper)}
.tr-link{margin-top:auto;font-size:.86rem;font-weight:600;color:var(--copper-d);border-bottom:1px solid transparent;align-self:flex-start;transition:.25s}
.tr-link:hover{border-bottom-color:var(--copper)}
@media(max-width:780px){.trilhos{grid-template-columns:1fr}}

/* ── Academy bloco-mãe (30/06): hub intro, faixa cirúrgica, price-box 12x, falar-com-equipe, formulários, selo Master VIP ── */
.ac-intro-w{max-width:880px;margin:0 auto;text-align:center}
.ac-intro-h{font-family:var(--serif);font-weight:300;font-size:clamp(1.8rem,4vw,2.8rem);color:var(--head);margin:10px 0 16px}
.ac-intro-p{color:var(--body);font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.7;max-width:64ch;margin:0 auto}
.ac-eco{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:26px}
.ac-eco span{font-family:var(--serif);font-style:italic;font-size:clamp(.92rem,1.8vw,1.12rem);color:var(--copper-d);border:1px solid var(--line-d);border-radius:var(--r-pill);padding:8px 18px;background:var(--ivory)}
.ac-eco i{color:var(--copper);font-style:normal;font-weight:600}

.ac-cine{position:relative;width:100%;height:clamp(260px,40vh,440px);overflow:hidden;background:var(--ink)}
.ac-cine picture{position:absolute;inset:0}
.ac-cine-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06);will-change:transform}
.ac-cine-grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,19,14,.12) 0%,rgba(26,19,14,.10) 42%,rgba(26,19,14,.74) 100%)}
.ac-cine-cap{position:absolute;left:0;bottom:0;width:100%;box-sizing:border-box;padding:clamp(20px,4vw,40px) clamp(20px,5vw,64px);color:#fff}
.ac-cine-cap b{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(1.3rem,3vw,2.1rem);line-height:1.1}
.ac-cine-cap span{display:block;margin-top:8px;font-size:clamp(.85rem,1.6vw,1rem);color:rgba(255,255,255,.84);max-width:52ch}
@media(prefers-reduced-motion:no-preference){.ac-cine-img{animation:acKenBurns 26s ease-in-out infinite alternate}}
@keyframes acKenBurns{from{transform:scale(1.06)}to{transform:scale(1.16) translate(-2%,-2%)}}

.acad-pricebox,.vipseal{display:flex;justify-content:space-between;align-items:center;gap:clamp(20px,4vw,40px);flex-wrap:wrap;border:1px solid var(--line-d);border-radius:var(--r-md);padding:clamp(26px,4vw,42px);background:var(--ivory);box-shadow:var(--shadow-sm)}
.acad-pricebox>div:first-child,.vipseal__txt{flex:1 1 min(300px,100%)}
.acad-pricebox{position:relative;overflow:hidden}
.pb-ribbon{position:absolute;top:0;right:0;background:var(--marsala);color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.07em;padding:7px 15px;border-bottom-left-radius:12px;box-shadow:var(--shadow-sm)}
.pay-opts{flex-basis:100%;width:100%;border-top:1px solid var(--line-d);margin-top:6px;padding-top:18px}
.pay-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.pay-seal{font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--copper-d);background:rgba(126,85,48,.08);border:1px solid var(--line-d);border-radius:var(--r-pill);padding:5px 12px}
.pay-sku{font-family:var(--serif);font-size:1.06rem;color:var(--head);margin:22px 0 6px;padding-top:16px;border-top:1px solid var(--line-d)}
.pay-sku:first-of-type{margin-top:6px;padding-top:0;border-top:0}
.pay-note{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--soft);white-space:nowrap}
.pay-row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line)}
.pay-row:last-child{border-bottom:0}
.pay-info b{display:block;font-family:var(--sans);font-size:.95rem;color:var(--head);font-weight:600}
.pay-info span{font-size:.82rem;color:var(--body)}
.pay-go{flex:0 0 auto;padding:11px 22px;font-size:11px}
@media(max-width:560px){.pay-row{flex-direction:column;align-items:stretch}.pay-go{width:100%;text-align:center}}
.pcard .pim{position:relative}
.pcard-tag{position:absolute;top:10px;right:10px;background:rgba(26,19,14,.78);color:var(--gold);backdrop-filter:blur(4px);font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:5px 11px;border-radius:var(--r-pill);box-shadow:var(--shadow-sm)}
.pb-val{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,4vw,3rem);color:var(--head);line-height:1.05;margin:10px 0 6px}
.pb-val small{font-family:var(--sans);font-size:.4em;color:var(--soft);letter-spacing:.02em}
.pb-12x{display:inline-block;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--copper-d);background:rgba(126,85,48,.08);border:1px solid var(--line-d);border-radius:var(--r-pill);padding:5px 12px;margin-bottom:8px}
.pb-cta{display:flex;flex-direction:column;gap:12px;flex:0 0 auto;min-width:min(220px,100%)}
.pb-cta .btn{width:100%;text-align:center}
.blk .btn-ghost{background:transparent;border:1px solid var(--line-d);color:var(--copper-d)}
.blk .btn-ghost:hover{border-color:var(--copper-d);background:rgba(126,85,48,.05)}
.vipseal__mark{font-family:var(--serif);font-weight:300;font-size:clamp(1.5rem,3vw,2.1rem);color:var(--head);line-height:1.1;margin:10px 0 10px}
.vipseal__mark em{color:var(--copper-d);font-style:italic}
.vipseal__facts{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.vipseal__facts li{display:flex;gap:10px;align-items:baseline;font-size:.9rem;color:var(--body)}
.vipseal__facts b{flex:0 0 84px;color:var(--head);font-weight:600;font-size:.74rem;letter-spacing:.03em;text-transform:uppercase}
.vipseal__cta{flex:0 0 auto;white-space:nowrap}

.ac-talk-w{display:flex;justify-content:space-between;align-items:center;gap:clamp(20px,4vw,48px);flex-wrap:wrap}
.ac-talk-w>div:first-child{flex:1 1 min(340px,100%)}
.ac-talk-h{font-family:var(--serif);font-weight:300;font-size:clamp(1.6rem,3.4vw,2.4rem);color:var(--head);margin:6px 0 10px}
.ac-talk-cta{flex:0 0 auto}
.ac-talk-cta .btn{white-space:nowrap}

.qualform{max-width:760px}
.qfs{border:1px solid var(--line-d);border-radius:12px;padding:clamp(16px,2.4vw,24px);margin:0 0 18px;background:rgba(243,234,227,.4)}
.qfs legend{font-family:var(--serif);font-weight:400;font-size:1.04rem;color:var(--head);padding:0 8px}
.qgrid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:0 18px}
.cartoform select,.cartoform input[type=number],.cartoform input[type=date]{width:100%;box-sizing:border-box;font:inherit;font-size:.95rem;color:var(--head);background:var(--cream);border:1px solid var(--line-d);border-radius:var(--r-sm);padding:12px 14px}
.cartoform select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23744D2A' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.qlbl{display:block;font-size:.78rem;letter-spacing:.04em;color:var(--head);margin-bottom:8px;font-weight:500}
.qradio{display:flex;flex-wrap:wrap;gap:10px 18px}
.qradio label{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:var(--body);font-weight:400;letter-spacing:0;text-transform:none;margin:0;cursor:pointer}
.qradio input{flex:none;margin:0}
.qhint{display:block;font-size:.76rem;color:var(--soft);margin-top:6px;line-height:1.45}
.qopt{font-weight:400;color:var(--soft);text-transform:none;letter-spacing:0}
.qaudio{position:relative}
.micbtn{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:.8rem;color:var(--copper-d);background:rgba(126,85,48,.06);border:1px solid var(--line-d);border-radius:var(--r-pill);padding:7px 14px;cursor:pointer;width:auto!important;transition:border-color .2s var(--ease),background .2s var(--ease)}
.micbtn:hover{border-color:var(--copper-d)}
.micbtn.rec{color:#fff;background:var(--marsala);border-color:var(--marsala);animation:micPulse 1.3s ease-in-out infinite}
@keyframes micPulse{0%,100%{box-shadow:0 0 0 0 rgba(110,28,32,.4)}50%{box-shadow:0 0 0 7px rgba(110,28,32,0)}}

.acad-pay-placeholder{border:1px solid var(--line-d);border-left:3px solid var(--copper-d);border-radius:12px;padding:clamp(16px,2.4vw,22px);margin:4px 0 18px;background:rgba(126,85,48,.05)}
.pp-tag{display:inline-block;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--copper-d);background:rgba(126,85,48,.08);border:1px solid var(--line-d);border-radius:var(--r-pill);padding:4px 11px;margin-bottom:10px}
.acad-pay-placeholder h4{font-family:var(--serif);font-weight:400;font-size:1.05rem;color:var(--head);margin:0 0 6px}
.acad-pay-placeholder p{font-size:.86rem;color:var(--body);line-height:1.55;margin:0 0 12px}
.pp-disabled{display:inline-block;font-size:.84rem;color:var(--soft);background:var(--cream);border:1px solid var(--line-d);border-radius:var(--r-sm);padding:11px 18px;cursor:not-allowed;opacity:.72}

.ac-video{max-width:620px;margin:0 auto;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow);background:var(--ink);aspect-ratio:1/1}
.ac-video-el{display:block;width:100%;height:100%;object-fit:cover;background:var(--ink)}
.cartoform.done .qfs,.cartoform.done .acad-pay-placeholder{display:none}
@media(max-width:620px){.acad-pricebox>div:first-child,.vipseal__txt,.pb-cta{min-width:100%;flex-basis:100%}.ac-talk-cta,.ac-talk-cta .btn,.vipseal__cta{width:100%;text-align:center}}

/* eduv — cards de vídeo vertical (9:16) auto-hospedados */
.eduvg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(200px,(100% - 54px)/4)),1fr));gap:18px;margin-top:6px}
.eduv{margin:0;border-radius:var(--r-md);overflow:hidden;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.eduv .eduv-el{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:var(--ink)}
.eduv figcaption{padding:13px 15px 15px}
.eduv figcaption strong{display:block;font-size:.97rem;color:var(--head);font-weight:600;letter-spacing:-.01em}
.eduv figcaption span{display:block;font-size:.82rem;color:var(--soft);margin-top:3px}
.eduv--solo{max-width:340px;margin-inline:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--ink);box-shadow:var(--shadow)}
.eduv--solo .eduv-el{border-radius:var(--r-lg)}
@media(max-width:430px){.eduvg{gap:11px}.eduv figcaption{padding:10px 11px 12px}.eduv figcaption strong{font-size:.86rem}.eduv figcaption span{font-size:.76rem}}

/* COCKPIT DO ECOSSISTEMA — constelação viva dos 3 pilares (aditivo · gated ANJOS_COCKPIT) */
.cockpit{background:linear-gradient(180deg,#F2EBE3 0%,var(--cream) 100%)}
.cock-stage{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center;max-width:1040px;margin:44px auto 0}
.cock-map{position:relative;display:grid;place-items:center;min-height:330px}
.cock-map::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 47%,rgba(176,142,107,.17),transparent 64%);pointer-events:none}
.cmap{width:min(100%,440px);height:auto;overflow:visible}
.c-ring{stroke:var(--line-d);stroke-width:1;stroke-dasharray:2 9;opacity:.75;transform-box:fill-box;transform-origin:center;animation:cockOrbit 110s linear infinite}
/* 0708b — CONSTELAÇÃO ACESA: mesma gramática do lxpulse aprovado (0706a). Hub = FONTE de luz: pulsos quentes
   saem dele, percorrem cada conector e ACENDEM o nó na chegada (halo bloom sincronizado ao pouso).
   Cometa discreto circula o anel. Nós: fill dimensional + glifo monoline ESTÁTICO. 1 pulso em trânsito por vez (7.2s).
   Pausa off-screen via .cock-paused (IO existente, linha ~687). Reduced-motion = fallback ESTÁTICO ACESO. */
.c-comet{stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-dasharray:.03 .97;stroke-dashoffset:1;opacity:.5;filter:drop-shadow(0 0 6px rgba(var(--gold-rgb),.55));animation:lxTravel 21s linear infinite;will-change:stroke-dashoffset}
.c-hub{transform-box:fill-box;transform-origin:center;animation:cockBreathe 6s ease-in-out infinite}
.c-hub circle:first-of-type{stroke-width:1.5;filter:drop-shadow(0 10px 22px rgba(116,77,42,.22))}
.c-hub-core{pointer-events:none;transform-box:fill-box;transform-origin:center;animation:cockCore 6s ease-in-out infinite}
.c-hub-label{font-family:var(--serif);fill:var(--head);letter-spacing:.06em;font-size:19px;font-weight:500}
.c-link{stroke:var(--copper);stroke-width:1.2;fill:none;opacity:.26}
.c-pulse{fill:none;stroke:#FBE9CF;stroke-width:3;stroke-linecap:round;stroke-dasharray:.18 .82;stroke-dashoffset:1;opacity:0;filter:drop-shadow(0 0 7px rgba(var(--gold-rgb),.85)) drop-shadow(0 0 18px rgba(var(--copper-rgb),.5));animation:cockPulse 7.2s linear var(--cd,0s) infinite;will-change:stroke-dashoffset}
.c-node{cursor:pointer;transition:transform .28s var(--ease)}
.c-node:hover{transform:translateY(-3px)}
.c-node .c-core{stroke:var(--copper);stroke-width:1.5;transition:.28s var(--ease)}
.c-node:hover .c-core{stroke:var(--copper-d);filter:drop-shadow(0 12px 24px rgba(116,77,42,.28))}
.c-node:focus-visible{outline:none;transform:translateY(-3px)}
.c-node:focus-visible .c-core{stroke:var(--ink);stroke-width:2.6;filter:drop-shadow(0 0 0 3.5px rgba(116,77,42,.45))}
.c-halo{pointer-events:none;transform-box:fill-box;transform-origin:center;opacity:.14;animation:cockLand 7.2s var(--ease) var(--cd,0s) infinite}
.c-glyph{fill:none;stroke:var(--copper-d);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.8;pointer-events:none;transition:opacity .28s var(--ease)}
.c-glyph-dot{fill:var(--copper-d);opacity:.8;pointer-events:none}
.c-node:hover .c-glyph,.c-node:hover .c-glyph-dot{opacity:1}
.c-node-t{font-family:var(--sans);font-size:12px;font-weight:600;fill:var(--ink);letter-spacing:.05em}
.c-wip .c-core{stroke:var(--gold);stroke-dasharray:3 4}
.c-dot{fill:var(--line-d);transition:fill .4s}
.c-dot.is-live{fill:var(--live);animation:syncpulse 2.4s infinite}
.cock-read{display:flex;flex-direction:column;gap:22px}
.cock-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.cock-legend li{display:flex;align-items:center;gap:12px;font-size:.96rem;color:var(--ink);padding:13px 0;border-bottom:1px solid var(--line)}
.cock-legend li:first-child{padding-top:0}.cock-legend li:last-child{border-bottom:0}
.cock-legend .lg-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.cock-legend .lg-dot.op{background:var(--live);box-shadow:0 0 0 3px rgba(var(--live-rgb),.16)}
.cock-legend .lg-dot.wip{background:var(--gold);box-shadow:0 0 0 3px rgba(168,129,58,.16)}
.cock-legend .lg-nm{font-weight:500}
.cock-legend .lg-st{margin-left:auto;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
.cock-proto-lead{font-size:.84rem;color:var(--body);margin:0 0 13px;line-height:1.55}
.cock-chips{display:flex;flex-wrap:wrap;gap:9px}
.pchip{font-size:.72rem;letter-spacing:.03em;font-weight:600;color:var(--copper-d);background:rgba(255,255,255,.65);border:1px solid var(--line);border-radius:var(--r-pill);padding:7px 14px;box-shadow:var(--shadow-sm);transition:.25s var(--ease)}
.pchip:hover{border-color:var(--copper);transform:translateY(-2px)}
.cock-note{font-size:.7rem;color:var(--soft);letter-spacing:.02em;margin:2px 0 0}
@media(max-width:960px){.cock-stage{grid-template-columns:1fr;gap:30px}.cock-map{order:-1}}
@keyframes cockBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes cockOrbit{to{transform:rotate(360deg)}}
@keyframes cockPulse{0%{stroke-dashoffset:1;opacity:0}3%{opacity:1}24%{stroke-dashoffset:0;opacity:1}30%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:0;opacity:0}}
@keyframes cockLand{0%,15%{opacity:.14;transform:scale(1)}21%{opacity:.8;transform:scale(1.14)}42%,100%{opacity:.14;transform:scale(1)}}
@keyframes cockCore{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:.95;transform:scale(1.08)}}
.cock-paused .c-hub,.cock-paused .c-ring,.cock-paused .c-comet,.cock-paused .c-pulse,.cock-paused .c-halo,.cock-paused .c-hub-core{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.c-hub,.c-ring,.c-hub-core,.c-halo,.c-dot.is-live{animation:none}.c-pulse,.c-comet{animation:none;opacity:0}.c-halo{opacity:.2}.c-hub-core{opacity:.7}}
