/* Twin Mark · estilo */
:root{
  --canvas:#0A0F26;
  --canvas-2:#0D1330;
  --panel:#10163A;
  --panel-2:#19224D;
  --accent:#6E4BF2;
  --accent-hover:#7D5CF7;
  --accent-glow:#9C82FF;
  --accent-muted:rgba(140,112,255,.28);
  --metal:#B9B3E8;
  --metal-2:#9590C4;
  --text-primary:#ECE9FF;
  --text-secondary:#A9A4D6;
  --linha:rgba(185,179,232,.16);
  --linha-forte:rgba(185,179,232,.42);
  --vidro:rgba(22,29,74,.42);
  --vidro-borda:rgba(185,179,232,.2);
  --metal-grad:linear-gradient(180deg,#EEEAFF 0%,#BFB9EC 45%,#9D96D4 72%,#CDC8F4 100%);
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --tshadow:0 1px 2px rgba(5,6,20,.95),0 3px 12px rgba(5,6,20,.78),0 10px 44px rgba(5,6,20,.8);
  --f-display:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-ac:"Cormorant Garamond",Georgia,serif;
  --f-mono:"Geist Mono",ui-monospace,"SFMono-Regular",Consolas,monospace;
  --gutter:clamp(20px,5vw,72px);
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--canvas)}
body{margin:0;overflow-x:hidden;overflow-x:clip;background:var(--canvas);color:var(--text-primary);font:400 17px/1.65 var(--f-display);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
img,video{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3,p,ul,ol,figure,fieldset{margin:0}
h1,h2,h3,.titulo,.titulo-2,.final-t,.fund-linha,.proj h3{text-wrap:balance}
ul,ol{padding:0;list-style:none}
fieldset{border:0;padding:0;min-width:0}
:focus-visible{outline:2px solid var(--accent-glow);outline-offset:3px;border-radius:4px}
.pular{position:fixed;left:16px;top:-80px;z-index:200;background:var(--accent);color:#fff;padding:12px 18px;border-radius:999px;text-decoration:none;transition:top .3s var(--ease)}
.pular:focus{top:16px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.ac{font-family:var(--f-ac);font-style:italic;font-weight:400;letter-spacing:0;color:var(--metal)}

/* Ambiente: a névoa do vídeo continua atrás do site inteiro */
.ambiente{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse 90% 60% at 50% -10%,#151B47 0%,transparent 60%),var(--canvas)}
.am-luz{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;will-change:transform}
.am-luz-1{width:62vmax;height:62vmax;left:-18vmax;top:24vh;background:radial-gradient(circle,rgba(92,64,214,.55),rgba(92,64,214,0) 70%);animation:luz1 78s ease-in-out infinite alternate;animation-delay:-21s}
.am-luz-2{width:54vmax;height:54vmax;right:-16vmax;top:-10vh;background:radial-gradient(circle,rgba(60,74,190,.5),rgba(60,74,190,0) 70%);animation:luz2 96s ease-in-out infinite alternate;animation-delay:-40s}
@keyframes luz1{to{transform:translate3d(28vw,-18vh,0) scale(1.15)}}
@keyframes luz2{to{transform:translate3d(-24vw,46vh,0) scale(.9)}}
/* fios finos a 115 graus, o ângulo do símbolo, que somem nas pontas */
.am-fios{position:absolute;inset:-20%;background-image:repeating-linear-gradient(115deg,rgba(185,179,232,.05) 0 1px,transparent 1px 132px);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,#000 10%,transparent 75%);animation:fios 120s linear infinite;animation-delay:-30s}
@keyframes fios{to{transform:translate3d(-132px,0,0)}}
.am-graos i{position:absolute;width:2px;height:2px;border-radius:50%;background:#C9BEFF;box-shadow:0 0 6px rgba(156,130,255,.9);opacity:0;animation:grao 26s linear infinite}
.am-graos i:nth-child(1){left:8%;animation-delay:-3s;animation-duration:31s}
.am-graos i:nth-child(2){left:17%;animation-delay:-14s;animation-duration:24s}
.am-graos i:nth-child(3){left:26%;animation-delay:-7s;animation-duration:36s}
.am-graos i:nth-child(4){left:33%;animation-delay:-20s;animation-duration:28s}
.am-graos i:nth-child(5){left:41%;animation-delay:-2s;animation-duration:33s}
.am-graos i:nth-child(6){left:49%;animation-delay:-25s;animation-duration:27s}
.am-graos i:nth-child(7){left:56%;animation-delay:-11s;animation-duration:38s}
.am-graos i:nth-child(8){left:63%;animation-delay:-17s;animation-duration:25s}
.am-graos i:nth-child(9){left:70%;animation-delay:-5s;animation-duration:30s}
.am-graos i:nth-child(10){left:77%;animation-delay:-29s;animation-duration:34s}
.am-graos i:nth-child(11){left:84%;animation-delay:-9s;animation-duration:26s}
.am-graos i:nth-child(12){left:91%;animation-delay:-22s;animation-duration:32s}
.am-graos i:nth-child(13){left:12%;animation-delay:-33s;animation-duration:40s;width:3px;height:3px}
.am-graos i:nth-child(14){left:46%;animation-delay:-37s;animation-duration:42s;width:3px;height:3px}
.am-graos i:nth-child(15){left:68%;animation-delay:-12s;animation-duration:44s;width:3px;height:3px}
.am-graos i:nth-child(16){left:95%;animation-delay:-19s;animation-duration:39s}
@keyframes grao{0%{transform:translate3d(0,105vh,0);opacity:0}12%{opacity:.55}60%{opacity:.35}100%{transform:translate3d(-6vw,-8vh,0);opacity:0}}
.am-grao{position:absolute;inset:0;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* Navegação */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;gap:32px;padding:20px var(--gutter);transition:background-color .5s var(--ease),padding .5s var(--ease),box-shadow .5s var(--ease),opacity .6s var(--ease),transform .6s var(--ease)}
.nav.solida{background:rgba(10,15,38,.72);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);padding-block:12px;box-shadow:0 1px 0 var(--linha)}
.marca{display:flex;align-items:center;gap:14px;text-decoration:none;margin-right:auto}
.marca-s{width:34px;height:27px;fill:url(#g-metal)}
.marca-t{display:flex;flex-direction:column;font:400 13px/1 var(--f-display);letter-spacing:.42em;text-transform:uppercase;color:var(--text-primary)}
.marca-t span{margin-top:5px;font-size:9px;letter-spacing:.56em;color:var(--metal)}
.nav-links{display:flex;gap:30px}
.nav-links a{position:relative;text-decoration:none;font-size:14px;letter-spacing:.04em;color:var(--text-secondary);padding:8px 0;transition:color .35s var(--ease)}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--accent-glow);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav-links a:hover,.nav-links a.atual{color:var(--text-primary)}
.nav-links a:hover::after,.nav-links a.atual::after{transform:scaleX(1);transform-origin:left}
.nav .nav-cta{padding:11px 20px;font-size:14px}
.menu-btn{display:none;width:44px;height:44px;background:none;border:0;position:relative;margin-right:-10px}
.menu-btn span{position:absolute;left:11px;right:11px;height:1.5px;background:var(--text-primary);transition:transform .4s var(--ease)}
.menu-btn span:first-child{top:17px}.menu-btn span:last-child{top:26px}
.menu-btn[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.menu-cel{position:fixed;inset:0;z-index:45;background:rgba(10,15,38,.97);padding:104px var(--gutter) 40px;display:flex;flex-direction:column;gap:36px;opacity:0;transform:translateY(-12px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.menu-cel[hidden]{display:none}
.menu-cel.aberto{opacity:1;transform:none}
.menu-cel ul{display:grid}
.menu-cel a:not(.btn){display:flex;align-items:baseline;gap:14px;font:200 32px/1.3 var(--f-display);text-decoration:none;padding:12px 0;border-bottom:1px solid var(--linha)}
.menu-cel a span{font:400 12px/1 var(--f-mono);color:var(--metal);letter-spacing:.1em}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 28px;border-radius:999px;font:500 15px/1.2 var(--f-display);letter-spacing:.02em;text-decoration:none;border:1px solid transparent;position:relative;overflow:hidden;isolation:isolate;transition:background-color .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease),box-shadow .5s var(--ease),translate .5s var(--ease-out)}
.btn svg{width:18px;height:18px;flex:none}
.btn-acento{background:var(--accent);color:#fff;box-shadow:0 8px 30px rgba(110,75,242,.35),inset 0 1px 0 rgba(255,255,255,.18)}
.btn-acento::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.28) 48%,transparent 66%);transform:translateX(-110%);transition:transform .9s var(--ease-out)}
.btn-acento:hover{background:var(--accent-hover);box-shadow:0 10px 40px rgba(110,75,242,.55),inset 0 1px 0 rgba(255,255,255,.22)}
.btn-acento:hover::before{transform:translateX(110%)}
.btn-acento svg{fill:currentColor}
.btn-vidro{background:rgba(236,233,255,.06);color:var(--text-primary);border-color:rgba(185,179,232,.45);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.btn-vidro:hover{background:rgba(236,233,255,.13);border-color:var(--metal)}
.btn-linha{border-color:var(--linha-forte);color:var(--text-primary);padding:13px 22px}
.btn-linha svg{fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .45s var(--ease-out)}
.btn-linha:hover{border-color:var(--metal);background:rgba(185,179,232,.08)}
.btn-linha:hover svg{transform:translate(2px,-2px)}
.btn-grande{padding:19px 30px;font-size:16px;width:100%}
.fila-cta{display:flex;flex-wrap:wrap;gap:12px}
.fila-centro{justify-content:center}

/* ========== HERO ========== */
.hero{position:relative;height:700vh;background:var(--canvas)}
.saida-pista{position:absolute;left:0;right:0;bottom:0;height:60vh;visibility:hidden;pointer-events:none}
.hero+.sec{margin-top:-50vh}
.palco{position:sticky;top:0;height:100vh;height:100lvh;overflow:hidden;contain:paint}
.quadro{position:absolute;inset:0;transform:scale(calc(1 + var(--s,0)*.05));transform-origin:50% 45%}
.poster,.estatico{position:absolute;inset:0;background:var(--canvas) center/cover no-repeat}
.estatico{display:none}
#hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:translateZ(0);will-change:transform;transition:opacity .7s var(--ease)}
.palco.video-pronto #hero-video{opacity:1}
.palco.video-falhou #hero-video{display:none}
.assinatura{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.borda{display:none}

/* as letras do logo: a luz traça o contorno, depois o metal preenche, como o símbolo no vídeo */
.assinatura .letras{filter:drop-shadow(0 2px 2px rgba(4,5,18,.55)) drop-shadow(0 0 14px rgba(140,112,255,.18))}
.assinatura .lt path{
  --kd:clamp(0,var(--k4,0)*2.2 - var(--i)*.07,1);
  --kf:clamp(0,(var(--k4,0) - .42)*2.4 - var(--i)*.03,1);
  fill:url(#g-letra);fill-opacity:var(--kf);
  stroke:#E6E1FF;stroke-width:1.4;stroke-linejoin:round;stroke-dasharray:1 1;stroke-dashoffset:calc(1 - var(--kd));
  stroke-opacity:calc(var(--kd)*(1 - var(--kf)*.85))}
.assinatura .fio{stroke:#B3ADDF;stroke-width:2;transform-box:fill-box;transform:scaleX(clamp(0,(var(--k4,0) - .5)*3,1))}
.assinatura .fio-e{transform-origin:100% 50%}
.assinatura .fio-d{transform-origin:0 50%}
.assinatura .mk text{font-family:var(--f-display);font-weight:400;fill:#B9B3E8;--km:clamp(0,(var(--k4,0) - .55)*3.2 - var(--j)*.12,1);opacity:var(--km);transform:translateY(calc((1 - var(--km))*10px))}

.scrim{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 120% 90% at 50% 45%,rgba(8,10,28,0) 38%,rgba(8,10,28,.6) 100%)}

/* faixas de legenda */
.faixa{position:absolute;z-index:2;opacity:0;color:var(--text-primary);text-shadow:var(--tshadow);pointer-events:none}
.faixa.ativa{pointer-events:auto}
.faixa::before{content:"";position:absolute;inset:-28% -18%;z-index:-1;pointer-events:none;opacity:calc(.3 + .7*var(--k,1));background:radial-gradient(ellipse 60% 56% at 50% 50%,rgba(6,8,24,.7) 0%,rgba(6,8,24,.46) 46%,rgba(6,8,24,0) 76%)}
.faixa .btn{text-shadow:none}
.f1{left:var(--gutter);top:21%;max-width:min(680px,50vw)}
.f1::before{background:radial-gradient(ellipse 62% 58% at 46% 50%,rgba(6,8,24,.8) 0%,rgba(6,8,24,.54) 48%,rgba(6,8,24,0) 78%)}
.f2{left:var(--gutter);top:51%;max-width:min(600px,42vw)}
.f2::before{inset:-34% -26%;background:radial-gradient(ellipse 64% 60% at 44% 52%,rgba(6,8,24,.82) 0%,rgba(6,8,24,.6) 50%,rgba(6,8,24,0) 80%)}
.f3{right:var(--gutter);top:46%;max-width:min(640px,46vw);text-align:right}
.f4{left:var(--gutter);right:var(--gutter);top:calc(var(--y-marca,70vh) + 3.4vh);text-align:center;display:grid;justify-items:center}
.f4::before{inset:-30% 4%;background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(6,8,24,.62) 0%,rgba(6,8,24,.36) 50%,rgba(6,8,24,0) 78%)}
.kicker{display:flex;align-items:center;gap:14px;font:400 12px/1.4 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--metal);margin-bottom:22px}
.kk-s{width:30px;height:1px;background:linear-gradient(90deg,var(--metal),transparent)}
.titulo{font:200 clamp(42px,5.4vw,88px)/1.02 var(--f-display);letter-spacing:-.02em;max-width:15ch}
.titulo-2{font:200 clamp(36px,4vw,66px)/1.04 var(--f-display);letter-spacing:-.02em}
.titulo .ac,.titulo-2 .ac{font-size:1.12em;line-height:.9;letter-spacing:-.01em}
.eyebrow-f{display:inline-flex;align-items:center;gap:12px;font:400 11.5px/1 var(--f-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--metal);margin-bottom:18px}
.eyebrow-f span{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid var(--linha-forte);border-radius:50%;letter-spacing:0;font-size:11px}
.f3 .eyebrow-f{flex-direction:row-reverse}
.lede{margin-top:18px;font:400 clamp(16px,1.25vw,19px)/1.55 var(--f-display);color:#D6D2F4;max-width:34ch}
.f3 .lede{margin-left:auto}
.assenta-t{font:300 clamp(19px,1.75vw,28px)/1.3 var(--f-display);letter-spacing:.005em;max-width:36ch}
.assenta-sub{margin-top:10px;font-size:clamp(14px,1.05vw,16px);color:var(--text-secondary);max-width:52ch}
.f4 .fila-cta{margin-top:24px;justify-content:center}

/* divisão de texto */
.split .w{display:inline-block;white-space:nowrap}
.split .c{display:inline-block}
/* (a) dispersão: as letras se juntam como as partículas da névoa */
.fx-disp .c{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.6,1);opacity:var(--kc);transform:translate(calc((1 - var(--kc))*var(--jx,0px)),calc((1 - var(--kc))*var(--jy,0px))) rotate(calc((1 - var(--kc))*var(--jr,0deg)))}
.fx-disp .kicker{opacity:clamp(0,var(--k,0)*2.2,1);transform:translateY(calc((1 - clamp(0,var(--k,0)*2.2,1))*8px))}
/* (f) deriva para baixo: as palavras caem como os feixes */
.fx-cai .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.8,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*-28px))}
.fx-cai .eyebrow-f,.fx-foco .eyebrow-f{opacity:clamp(0,var(--k,0)*2,1)}
.fx-cai .lede,.fx-foco .lede{--kl:clamp(0,(var(--k,0) - .45)*2.4,1);opacity:var(--kl);transform:translateY(calc((1 - var(--kl))*12px))}
/* (c) desfoque para nítido: o metal esfriando e ganhando forma */
.fx-foco .titulo-2{position:relative}
.fx-foco .nitido{opacity:var(--k,0);transform:scale(calc(1.035 - .035*var(--k,0)));transform-origin:100% 50%}
.fx-foco .borrado{position:absolute;inset:0;filter:blur(12px);opacity:calc(1 - var(--k,0));color:#CBBEFF;pointer-events:none}
/* (e) subida em etapas: o título, depois o apoio, depois os botões */
.fx-assenta .w{--kc:clamp(0,(var(--k,0) - .38 - var(--th,0)*.5)*3.2,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*22px))}
.fx-assenta .assenta-sub{--ks:clamp(0,(var(--k,0) - .72)*4,1);opacity:var(--ks);transform:translateY(calc((1 - var(--ks))*12px))}
.fx-assenta .fila-cta{--kb:clamp(0,(var(--k,0) - .8)*5,1);opacity:var(--kb);transform:translateY(calc((1 - var(--kb))*14px))}

/* o trilho: dois fios que enchem com a rolagem, um pouco defasados, como gêmeos */
.trilho{position:absolute;right:calc(var(--gutter)*.55);top:50%;z-index:3;height:min(38vh,320px);transform:translateY(-50%);display:flex;gap:6px;opacity:.9;transition:opacity .6s var(--ease)}
.trilho i{position:relative;width:1px;height:100%;background:rgba(185,179,232,.18);overflow:hidden}
.trilho i::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--accent-glow),var(--metal));transform-origin:50% 0;transform:scaleY(var(--tp,0))}
.trilho .tr-b{margin-top:10px}
.trilho .tr-b::after{transform:scaleY(var(--tp2,0))}
.tr-n{position:absolute;left:50%;bottom:-30px;transform:translateX(-50%);font:400 11px/1 var(--f-mono);color:var(--metal);letter-spacing:.08em}
.anel{position:absolute;left:50%;bottom:34px;z-index:3;width:36px;height:36px;margin-left:-18px;color:var(--metal);transform:rotate(-90deg);transition:opacity .6s var(--ease)}
.anel-p{transition:stroke-dashoffset .2s linear}
.palco.video-pronto .anel,.palco.video-falhou .anel{opacity:0}
.seta{position:absolute;left:50%;bottom:30px;z-index:3;transform:translateX(-50%);display:grid;justify-items:center;gap:12px;font:400 11px/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--metal);opacity:0;transition:opacity .8s var(--ease)}
.palco.video-pronto .seta,.palco.video-falhou .seta{opacity:1}
.palco.longe .seta{opacity:0}
.seta i{position:relative;width:1px;height:42px;background:rgba(185,179,232,.22);overflow:hidden}
.seta i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--accent-glow);animation:desce 2.4s var(--ease) infinite}
@keyframes desce{to{transform:translateY(350%)}}
.saida{position:absolute;left:0;right:0;top:0;height:200%;z-index:4;pointer-events:none;background:linear-gradient(180deg,rgba(10,15,38,0) 0%,rgba(10,15,38,.55) 16%,rgba(10,15,38,.92) 28%,var(--canvas) 34%);transform:translate3d(0,calc(50% - var(--s,0)*84%),0);will-change:transform}

/* a abertura: o símbolo se traça em luz, ganha metal, e a cena aparece por trás */
.cortina{display:none}
html.abrindo .cortina{display:grid;place-items:center;align-content:center;gap:28px;position:absolute;inset:0;z-index:8;background:radial-gradient(ellipse 60% 50% at 50% 46%,#141A45 0%,var(--canvas) 70%);transition:opacity 1.1s var(--ease),visibility 0s 1.1s}
html.aberta .cortina{opacity:0;visibility:hidden}
html.entrou .cortina{display:none}
.ct-s{width:min(150px,30vw);height:auto;overflow:visible;transition:transform 1.4s var(--ease-out),opacity 1s var(--ease)}
.ct-s path{fill:url(#g-metal);fill-opacity:0;stroke:#E6E1FF;stroke-width:2.2;stroke-linejoin:round;stroke-dasharray:1 1;stroke-dashoffset:1;filter:drop-shadow(0 0 10px rgba(156,130,255,.6));animation:ctTraco 1.15s var(--ease-out) .15s forwards,ctMetal .8s var(--ease) 1.05s forwards}
.ct-s path+path{animation-delay:.38s,1.2s}
.ct-t{font:300 13px/1 var(--f-display);letter-spacing:.62em;text-transform:uppercase;margin-right:-.62em;color:var(--metal);opacity:0;animation:ctAparece .9s var(--ease) 1.25s forwards}
html.aberta .ct-s{transform:scale(1.5);opacity:0}
html.abre-curta .ct-s path{animation-duration:.5s,.4s;animation-delay:0s,.35s}
html.abre-curta .ct-t{animation-delay:.35s;animation-duration:.5s}
@keyframes ctTraco{to{stroke-dashoffset:0}}
@keyframes ctMetal{to{fill-opacity:1;stroke-opacity:.15}}
@keyframes ctAparece{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
html.abrindo .quadro{transform:scale(1.07)}
html.aberta .quadro{transform:scale(calc(1 + var(--s,0)*.05));transition:transform 2.4s var(--ease-out)}
html.entrou .quadro{transition:none}
html.abrindo .nav{opacity:0;transform:translateY(-10px);pointer-events:none}
html.aberta .nav{opacity:1;transform:none;pointer-events:auto;transition-delay:.5s}
html.entrou .nav{transition-delay:0s}

/* ===== o topo em pé: celular que aguenta o vídeo, ou foto parada na vertical ===== */
html.retrato .quadro{inset:auto 0 auto 0;top:50%;aspect-ratio:608/1080;height:auto;width:100%;transform:translateY(-50%) scale(calc(1 + var(--s,0)*.05))}
html.retrato.abrindo .quadro{transform:translateY(-50%) scale(1.07)}
html.retrato.aberta .quadro{transform:translateY(-50%) scale(calc(1 + var(--s,0)*.05))}
html.retrato .borda{display:block;position:absolute;left:0;right:0;height:16%;pointer-events:none}
html.retrato .borda-t{top:-1px;background:linear-gradient(180deg,var(--canvas),rgba(10,15,38,0))}
html.retrato .borda-b{bottom:-1px;background:linear-gradient(0deg,var(--canvas),rgba(10,15,38,0))}
html.retrato .trilho{display:none}

/* ===== a foto parada (celular sem fôlego, tela em pé, movimento reduzido) ===== */
html.hero-estatico .hero{height:100vh;height:100svh;min-height:600px}
html.hero-estatico .saida-pista,html.hero-estatico .saida,html.hero-estatico .trilho,html.hero-estatico .anel,html.hero-estatico .seta,html.hero-estatico .poster,html.hero-estatico #hero-video{display:none}
html.hero-estatico .hero+.sec{margin-top:0}
html.hero-estatico .palco{position:relative;height:100%}
html.hero-estatico .estatico{display:block;background-image:url('hero-final.jpg')}
html.hero-estatico.retrato .estatico{background-image:url('hero-final-cel.jpg')}
html.hero-estatico .f1,html.hero-estatico .f2,html.hero-estatico .f3{display:none}
html.hero-estatico .f4{opacity:1;--k:1;pointer-events:auto}
html.hero-estatico .quadro{--k4:1}
/* o vídeo não veio: a jornada segue em foto, e o símbolo aparece no lugar da queda */
.palco.video-falhou .estatico{display:block;background-image:url('hero-final.jpg');opacity:var(--pf,0)}
html.retrato .palco.video-falhou .estatico{background-image:url('hero-final-cel.jpg')}

/* ========== SEÇÕES ========== */
.sec{position:relative;z-index:2;padding:clamp(96px,12vw,176px) 0}
.envolve{width:min(1240px,100% - var(--gutter)*2);margin-inline:auto}
.env-estreito{width:min(880px,100% - var(--gutter)*2)}
.cab{display:grid;gap:22px;margin-bottom:clamp(44px,6vw,80px)}
.cab-centro{justify-items:center;text-align:center}
.rotulo{display:flex;align-items:center;gap:14px;font:400 12px/1 var(--f-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--metal)}
.rt-n{color:var(--accent-glow)}
.rt-s{position:relative;width:24px;height:14px}
.rt-s::before,.rt-s::after{content:"";position:absolute;top:0;width:1.5px;height:14px;background:var(--metal);transform:skewX(-28deg);transform-origin:0 100%}
.rt-s::before{left:6px}.rt-s::after{left:14px}
.h2{font:200 clamp(36px,4.4vw,66px)/1.08 var(--f-display);letter-spacing:-.018em;max-width:18ch}
.cab-centro .h2{max-width:20ch}
.h2 .ac{font-size:1.1em;line-height:.95}
.texto{font-size:clamp(16px,1.2vw,18.5px);line-height:1.7;color:var(--text-secondary);max-width:58ch}
.cab-centro .texto{margin-inline:auto}

/* revelações em sequência */
.revela{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1.2s var(--ease-out)}
.revela.in{opacity:1;transform:none}
.revela-filhos>*{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform 1.1s var(--ease-out),border-color .4s var(--ease),background-color .4s var(--ease)}
.revela-filhos.in>*{opacity:1;transform:none}
.revela-filhos.in>:nth-child(2){transition-delay:.09s}
.revela-filhos.in>:nth-child(3){transition-delay:.18s}
.revela-filhos.in>:nth-child(4){transition-delay:.27s}
.revela-filhos.in>:nth-child(5){transition-delay:.36s}
.revela-filhos.in>:nth-child(6){transition-delay:.45s}
.revela-filhos.in>:nth-child(7){transition-delay:.54s}
.revela-filhos.in>:nth-child(8){transition-delay:.63s}
/* entrada terminada: os atrasos se aposentam (mesma força das regras acima) */
.revela-filhos.feito.in>*,.revela-filhos.feito.in>:nth-child(n){transition-delay:0s}

/* vidro com luz que segue o mouse */
.vidro-luz{position:relative;isolation:isolate}
.vidro-luz::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(156,130,255,.16),transparent 60%);opacity:0;transition:opacity .5s var(--ease)}
.vidro-luz:hover::after{opacity:1}

/* 01 SOBRE */
.sobre-topo{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,96px);align-items:end;margin-bottom:clamp(64px,8vw,120px)}
.sobre-topo .cab{margin-bottom:0}
.fundadores{display:grid;gap:36px;margin-bottom:clamp(72px,9vw,128px)}
.fund-linha{font:200 clamp(24px,2.4vw,36px)/1.3 var(--f-display);max-width:28ch}
.fund-linha .ac{display:block}
.fund-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px)}
.fund{display:grid;gap:6px}
.fund-foto{position:relative;aspect-ratio:4/5;border-radius:22px;overflow:hidden;background:radial-gradient(ellipse 80% 60% at 30% 20%,#232C66 0%,var(--panel) 60%,#0B1030 100%);border:1px solid var(--vidro-borda);margin-bottom:14px;box-shadow:0 30px 60px rgba(3,5,18,.35)}
.fund-foto::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(185,179,232,.06) 0 1px,transparent 1px 22px)}
.fund-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fund-ini{position:absolute;left:10%;bottom:4%;font:400 clamp(110px,12vw,190px)/1 var(--f-ac);font-style:italic;background:var(--metal-grad);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.9}
.fund-s{position:absolute;right:9%;top:9%;width:24%;height:auto;fill:none;stroke:rgba(185,179,232,.45);stroke-width:3}
.fund-foto.tem-foto .fund-ini,.fund-foto.tem-foto .fund-s,.fund-foto.tem-foto::before{display:none}
.fund h3{font:300 24px/1.2 var(--f-display);letter-spacing:.01em}
.fund p{font:400 12px/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--metal)}
.difs{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--linha)}
.difs li{padding:30px 26px 6px 0;border-right:1px solid var(--linha);margin-right:26px}
.difs li:last-child{border-right:0;margin-right:0}
.difs .num{display:block;font:500 30px/1 var(--f-ac);font-style:italic;color:var(--accent-glow);margin-bottom:18px}
.difs h3{font:400 19px/1.3 var(--f-display);margin-bottom:10px}
.difs p{font-size:15.5px;color:var(--text-secondary);line-height:1.6}

/* 02 SERVIÇOS */
.troca{position:relative;display:flex;width:max-content;margin:0 auto clamp(40px,5vw,64px);padding:5px;border-radius:999px;background:var(--vidro);border:1px solid var(--vidro-borda);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.troca-b{position:relative;z-index:1;padding:12px 24px;border:0;background:none;border-radius:999px;font-size:14.5px;font-weight:500;color:var(--text-secondary);transition:color .4s var(--ease)}
.troca-b[aria-pressed="true"]{color:#fff}
.troca-luz{position:absolute;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);border-radius:999px;background:var(--accent);box-shadow:0 6px 24px rgba(110,75,242,.45);transition:transform .6s var(--ease-out)}
.troca.lado-b .troca-luz{transform:translateX(100%)}
.serv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.serv{position:relative;perspective:1400px;min-height:280px}
.serv-virar{position:absolute;inset:0;z-index:3;border:0;background:none;border-radius:22px}
.serv-in{position:relative;height:100%;min-height:280px;transform-style:preserve-3d;transition:transform 1s var(--ease-out)}
.serv.virado .serv-in{transform:rotateY(180deg)}
.serv-grid.trocando .serv-in{transition-delay:calc(var(--d,0)*70ms)}
.face{position:absolute;inset:0;display:flex;flex-direction:column;padding:28px 26px 24px;border-radius:22px;background:linear-gradient(160deg,rgba(28,36,88,.62),rgba(13,19,52,.56));border:1px solid var(--vidro-borda);-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:inset 0 1px 0 rgba(236,233,255,.06),0 24px 50px rgba(3,5,18,.28);overflow:hidden}
.face::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(320px circle at var(--mx,50%) var(--my,0%),rgba(156,130,255,.18),transparent 60%);opacity:0;transition:opacity .5s var(--ease)}
.serv:hover .face::before{opacity:1}
.face-b{transform:rotateY(180deg);background:linear-gradient(160deg,rgba(64,40,160,.5),rgba(18,20,62,.62));border-color:rgba(156,130,255,.38)}
.ico{flex:none;width:44px;height:44px;fill:none;stroke:var(--metal);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;margin-bottom:auto}
.face-b .ico{stroke:#C9BEFF}
.face h3{margin-top:36px;font:400 21px/1.25 var(--f-display)}
.face p{margin-top:10px;font-size:15px;line-height:1.55;color:var(--text-secondary)}
.face-b p{color:#D6D0F7}
.tag{margin-top:18px;align-self:flex-start;font:400 10.5px/1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--metal);padding:7px 10px;border:1px solid var(--linha);border-radius:999px}
.tag-b{color:#E0D8FF;border-color:rgba(156,130,255,.45);background:rgba(110,75,242,.18)}
.face-cta{align-items:flex-start;justify-content:flex-end;gap:18px;background:radial-gradient(ellipse 90% 80% at 80% 10%,rgba(110,75,242,.4),transparent 70%),linear-gradient(160deg,rgba(28,36,88,.62),rgba(13,19,52,.56))}
.face-cta h3{margin:auto 0 0;font-weight:300;font-size:24px}
.ico-s{flex:none;width:58px;height:46px;fill:url(#g-metal);margin-bottom:auto}

/* 03 PORTFÓLIO */
.vitrine{display:grid;grid-template-columns:1.3fr .9fr;gap:clamp(32px,5vw,80px)}
.vit-palco{position:sticky;top:calc(50vh - 36vh);height:72vh;display:grid;align-content:center;gap:18px}
.vit-cena{position:relative;width:100%;padding:0 8% 6% 0}
.note{display:block;text-decoration:none}
.note-tampa{display:block;position:relative;padding:1.6% 1.6% 2.2%;border-radius:18px 18px 6px 6px;background:linear-gradient(180deg,#2A3166,#151A40);border:1px solid rgba(185,179,232,.28);box-shadow:0 40px 90px rgba(3,4,16,.55),0 0 0 1px rgba(10,15,38,.6) inset,0 0 80px rgba(110,75,242,.14)}
.note-tela,.cel-tela{display:block;position:relative;overflow:hidden;background:#05070F}
.note-tela{aspect-ratio:16/10;border-radius:8px}
.note-tela img,.note-tela video,.cel-tela img,.cel-tela video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.note-tela video,.cel-tela video{opacity:0;transition:opacity .6s var(--ease)}
.note-tela video.tocando,.cel-tela video.tocando{opacity:1}
.note-base{display:block;width:112%;margin-left:-6%;height:14px;border-radius:0 0 18px 18px;background:linear-gradient(180deg,#3A4180,#1A1F4A);box-shadow:0 18px 40px rgba(3,4,16,.6)}
.note-base::before{content:"";display:block;width:16%;height:5px;margin:0 auto;border-radius:0 0 8px 8px;background:#11153A}
.vit-cena>.cel{position:absolute;right:0;bottom:0;width:24%}
.cel{display:block;padding:3.2%;border-radius:30px;background:linear-gradient(160deg,#2E3570,#141940);border:1px solid rgba(185,179,232,.3);box-shadow:0 30px 70px rgba(3,4,16,.6),0 0 60px rgba(110,75,242,.16)}
.cel-tela{aspect-ratio:390/844;border-radius:24px}
/* a troca de projeto: um risco de luz passa pela tela, na diagonal do símbolo */
.vt-risco{position:absolute;inset:-20%;pointer-events:none;background:linear-gradient(115deg,transparent 38%,rgba(156,130,255,.0) 42%,rgba(214,206,255,.55) 50%,rgba(156,130,255,0) 58%,transparent 62%);transform:translateX(-100%);opacity:0}
.trocou .vt-risco{animation:risco .9s var(--ease) forwards}
@keyframes risco{0%{transform:translateX(-80%);opacity:1}100%{transform:translateX(80%);opacity:0}}
.vit-aviso{font:400 11.5px/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--metal-2)}
.vit-aviso-cel{display:none}
.vit-lista{display:grid}
.proj{min-height:76vh;display:flex;align-items:center;opacity:.32;transition:opacity .6s var(--ease)}
.proj.ativo{opacity:1}
.proj:first-child{min-height:60vh;align-items:flex-start;padding-top:12vh}
.proj:last-child{min-height:64vh}
.proj-midia{display:none}
.proj-info{display:grid;gap:14px;max-width:440px}
.proj-n{display:flex;align-items:center;gap:12px;font:400 12px/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--metal)}
.proj-n span{color:var(--accent-glow)}
.proj h3{font:200 clamp(36px,3.6vw,54px)/1.05 var(--f-display);letter-spacing:-.015em}
.proj-d{color:var(--text-secondary);font-size:16.5px;line-height:1.65}
.chips-s{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 8px}
.chips-s li{font:400 12px/1 var(--f-mono);letter-spacing:.06em;padding:8px 12px;border-radius:999px;border:1px solid var(--linha);color:#D2CDF2;background:rgba(185,179,232,.05)}
.proj .btn{justify-self:start}

/* 04 PROCESSO */
.linha-tempo{position:relative;--lt:0;--lt2:0}
.lt-fios{position:absolute;left:0;right:0;top:27px;height:8px}
.lt-fio{position:absolute;left:0;right:0;height:1px;background:rgba(185,179,232,.16);overflow:hidden}
.lt-fio-b{top:7px}
.lt-fio::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--accent),var(--accent-glow),var(--metal));transform-origin:0 50%;transform:scaleX(var(--lt))}
.lt-fio-b::after{transform:scaleX(var(--lt2))}
.passos{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(16px,2vw,32px)}
.passos li{position:relative;padding-top:84px}
.ps-n{position:absolute;top:0;left:0;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--canvas);border:1px solid var(--linha-forte);font:500 22px/1 var(--f-ac);font-style:italic;color:var(--metal);transition:border-color .6s var(--ease),color .6s var(--ease),box-shadow .6s var(--ease),background-color .6s var(--ease)}
.passos li.aceso .ps-n{border-color:var(--accent-glow);color:#fff;background:#1A1550;box-shadow:0 0 0 6px rgba(110,75,242,.12),0 0 30px rgba(110,75,242,.45)}
.passos h3{font:400 20px/1.3 var(--f-display);margin-bottom:10px}
.passos p{font-size:15px;line-height:1.6;color:var(--text-secondary)}

/* 05 MONTE SEU PROJETO */
.orc-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(40px,6vw,104px);align-items:start}
.orc-lado{position:sticky;top:110px}
.orc-lado .cab{margin-bottom:36px}
.orc-simbolo{position:relative;width:min(380px,80%);margin-left:-2%}
.orc-simbolo svg{display:block;width:100%;height:auto;overflow:visible}
.os-contorno path{fill:none;stroke:var(--metal);stroke-width:1.6;stroke-linejoin:round;opacity:.65}
.os-enche{fill:url(#g-enche);transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(var(--f,0));transition:transform 1.1s var(--ease-out)}
.os-e{--f:var(--fe,0)}.os-d{--f:var(--fd,0)}
.os-brilho{fill:#9C82FF;filter:blur(18px);opacity:0;transition:opacity 1s var(--ease)}
.orc-simbolo.aceso .os-brilho{opacity:.75}
.orc-simbolo.aceso .os-contorno path{stroke:#ECE9FF;opacity:1}
.os-legenda{display:flex;justify-content:space-between;gap:16px;margin-top:20px;max-width:340px}
.os-l{display:grid;gap:6px;font:400 11px/1.2 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--metal)}
.os-l-d{text-align:right}
.os-l b{font:500 26px/1 var(--f-ac);font-style:italic;letter-spacing:0;color:var(--text-primary)}
.orc-form{display:grid;gap:30px;padding:clamp(26px,3vw,44px);border-radius:28px;background:linear-gradient(160deg,rgba(25,34,77,.62),rgba(12,17,48,.6));border:1px solid var(--vidro-borda);box-shadow:0 40px 90px rgba(3,4,16,.4),inset 0 1px 0 rgba(236,233,255,.06);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.campo{display:grid;gap:14px}
.campo legend,.campo label{display:flex;align-items:center;gap:12px;font:400 17px/1.3 var(--f-display);color:var(--text-primary);padding:0}
.campo legend{margin-bottom:14px}
.campo legend span,.campo label span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--linha-forte);font:400 11px/1 var(--f-mono);color:var(--metal);flex:none}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chips button{padding:11px 16px;border-radius:999px;border:1px solid var(--linha-forte);background:rgba(236,233,255,.03);font-size:14.5px;color:#D6D2F4;transition:background-color .35s var(--ease),border-color .35s var(--ease),color .35s var(--ease),box-shadow .35s var(--ease)}
.chips button:hover{border-color:var(--metal);color:var(--text-primary)}
.chips button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 22px rgba(110,75,242,.4)}
.campo input{width:100%;padding:16px 18px;border-radius:14px;border:1px solid var(--linha-forte);background:rgba(6,9,28,.5);color:var(--text-primary);font:400 16px/1.3 var(--f-display);transition:border-color .35s var(--ease),box-shadow .35s var(--ease)}
.campo input::placeholder{color:#7D78AE}
.campo input:focus{outline:none;border-color:var(--accent-glow);box-shadow:0 0 0 4px rgba(110,75,242,.22)}
.campo input[aria-invalid="true"]{border-color:#F08BA8}
.previa{padding:18px 20px;border-radius:18px 18px 18px 4px;background:rgba(110,75,242,.12);border:1px solid rgba(156,130,255,.3)}
.previa-r{font:400 10.5px/1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-glow);margin-bottom:10px}
.previa-t{font-size:15px;line-height:1.6;color:#DCD7F7;min-height:3.2em;white-space:pre-line}
.orc-enviar svg{width:20px;height:20px}
.orc-status{min-height:1.4em;font-size:14.5px;color:#C9BEFF;text-align:center}
.orc-status.erro{color:#F5A3BB}
.orc-nota{font:400 11.5px/1.5 var(--f-mono);letter-spacing:.06em;color:var(--metal-2);text-align:center;margin-top:-18px}

/* 06 PERGUNTAS */
.faq{display:grid;border-top:1px solid var(--linha)}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;cursor:pointer;list-style:none;font:300 clamp(18px,1.6vw,22px)/1.4 var(--f-display);transition:color .3s var(--ease)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:#fff}
.faq summary i{position:relative;flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--linha-forte);transition:transform .5s var(--ease-out),border-color .4s var(--ease),background-color .4s var(--ease)}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;margin:-.75px 0 0 -6px;background:var(--metal)}
.faq summary i::after{transform:rotate(90deg);transition:transform .5s var(--ease-out)}
.faq details[open] summary i{transform:rotate(180deg);border-color:var(--accent-glow);background:rgba(110,75,242,.18)}
.faq details[open] summary i::after{transform:rotate(0deg)}
.faq-r{padding:0 56px 28px 0}
.faq-r p{color:var(--text-secondary);font-size:16.5px;line-height:1.7;max-width:62ch}
.faq details[open] .faq-r p{animation:abreFaq .6s var(--ease-out)}
@keyframes abreFaq{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* 07 FINAL */
.final{overflow:hidden;padding-block:clamp(120px,16vw,220px);text-align:center}
.final-luz{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.final-luz::before{content:"";position:absolute;width:70vmin;height:70vmin;border-radius:50%;background:radial-gradient(circle,rgba(110,75,242,.28),rgba(110,75,242,0) 65%);animation:pulsa 7s ease-in-out infinite;animation-delay:-2s}
@keyframes pulsa{50%{transform:scale(1.12);opacity:.7}}
.final-s{position:relative;width:min(560px,80vw);height:auto;overflow:visible;opacity:.34}
.final-s path{fill:none;stroke:rgba(185,179,232,.5);stroke-width:1.2;stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset 2.6s var(--ease-out)}
.final-s path+path{transition-delay:.35s}
.final.in .final-s path{stroke-dashoffset:0}
.final-in{position:relative;display:grid;justify-items:center;gap:28px}
.rotulo-c{justify-content:center}
.final-t{font:200 clamp(36px,4.8vw,72px)/1.1 var(--f-display);letter-spacing:-.02em;max-width:20ch}
.final-t .ac{display:block;font-size:1.06em}

/* Rodapé */
.rodape{position:relative;z-index:2;border-top:1px solid var(--linha);padding:clamp(64px,8vw,96px) 0 28px;background:linear-gradient(180deg,rgba(10,15,38,0),rgba(7,10,28,.8))}
.rod-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;margin-bottom:56px}
.rod-s{width:56px;height:44px;fill:url(#g-metal);margin-bottom:18px}
.rod-nome{display:flex;flex-direction:column;font:300 16px/1 var(--f-display);letter-spacing:.5em;text-transform:uppercase}
.rod-nome span{margin-top:7px;font-size:11px;letter-spacing:.7em;color:var(--metal)}
.rod-slogan{margin-top:22px;font:400 20px/1.4 var(--f-ac);font-style:italic;color:var(--metal);max-width:26ch}
.rod-t{font:400 11.5px/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--metal);margin-bottom:18px}
.rod-col ul{display:grid;gap:10px}
.rod-col li,.rod-col a{font-size:15px;color:var(--text-secondary);text-decoration:none;transition:color .3s var(--ease)}
.rod-col a:hover{color:var(--text-primary)}
.rod-base{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:24px;border-top:1px solid var(--linha);font-size:13.5px;color:var(--metal-2)}
.rod-topo{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--text-secondary)}
.rod-topo svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}

/* Botão flutuante (celular) */
.fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:40;display:none;align-items:center;gap:10px;padding:13px 18px 13px 15px;border-radius:999px;background:var(--accent);color:#fff;text-decoration:none;font:500 14px/1 var(--f-display);box-shadow:0 12px 34px rgba(110,75,242,.5);opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .5s var(--ease),transform .5s var(--ease)}
.fab svg{width:22px;height:17px;fill:#fff}
.fab.on{opacity:1;transform:none;pointer-events:auto}
body.menu-aberto .fab,body.no-orcamento .fab{opacity:0;transform:translateY(16px);pointer-events:none}

/* Cursor gêmeo (computador): dois traços que seguem o mouse, um logo atrás do outro */
.cursor{display:none}
@media (hover:hover) and (pointer:fine){
  html.cursor-on .cursor{display:block;position:fixed;left:0;top:0;z-index:300;pointer-events:none}
  .cursor i{position:absolute;left:0;top:0;width:2px;height:16px;margin:-8px 0 0 -1px;border-radius:2px;background:var(--metal);box-shadow:0 0 10px rgba(156,130,255,.7);opacity:.85;transition:background-color .3s var(--ease),height .35s var(--ease),opacity .3s var(--ease)}
  .cursor .cs-b{background:var(--accent-glow)}
  html.cursor-on.cursor-sobre .cursor i{height:24px;margin-top:-12px;background:#fff}
  html.cursor-on.cursor-fora .cursor i{opacity:0}
}

/* ===== Telas ===== */
@media (max-width:1180px){
  .serv-grid{grid-template-columns:repeat(3,1fr)}
  .nav-links{gap:22px}
}
@media (max-width:1024px){
  .nav-links{display:none}
  .menu-btn{display:block}
  .nav .nav-cta{display:none}
  .difs{grid-template-columns:repeat(2,1fr);row-gap:8px}
  .difs li:nth-child(2){border-right:0;margin-right:0}
  .passos{grid-template-columns:1fr;gap:0}
  .lt-fios{left:30px;right:auto;top:0;bottom:0;width:8px;height:auto}
  .lt-fio{top:0;bottom:0;left:0;width:1px;height:auto;right:auto}
  .lt-fio-b{top:0;left:7px}
  .lt-fio::after{transform-origin:50% 0;transform:scaleY(var(--lt))}
  .lt-fio-b::after{transform:scaleY(var(--lt2))}
  .passos li{padding:0 0 44px 96px;min-height:96px}
  .ps-n{left:0}
  .orc-grid{grid-template-columns:1fr}
  .orc-lado{position:static}
  .orc-simbolo{width:min(300px,70%);margin-inline:auto}
  .os-legenda{margin-inline:auto}
  .rod-grid{grid-template-columns:1fr 1fr}
  .rod-marca{grid-column:1/-1}
}
@media (max-width:900px){
  .vitrine{grid-template-columns:1fr}
  .vit-palco{display:none}
  .vit-aviso-cel{display:block;text-align:center;margin-top:8px}
  .proj{min-height:0;opacity:1;display:grid;gap:28px;padding-bottom:72px}
  .proj:first-child{min-height:0;padding-top:0}
  .proj:last-child{min-height:0}
  .proj-midia{display:block}
  .proj-midia .cel{width:min(250px,62vw);margin-inline:auto}
  .proj-info{max-width:none}
  .sobre-topo{grid-template-columns:1fr;align-items:start}
  .serv-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
  body{font-size:16px}
  .nav{padding:14px var(--gutter)}
  .marca-s{width:30px;height:24px}
  .fund-grid{grid-template-columns:1fr;gap:28px}
  .fund{grid-template-columns:132px 1fr;align-items:center;column-gap:20px}
  .fund-foto{grid-row:span 2;margin:0;border-radius:18px}
  .fund-ini{font-size:96px}
  .fund h3{align-self:end}
  .fund p{align-self:start}
  .difs{grid-template-columns:1fr}
  .difs li{border-right:0;margin-right:0;border-bottom:1px solid var(--linha);padding:24px 0}
  .serv-grid{grid-template-columns:1fr}
  .serv,.serv-in{min-height:236px}
  .troca{width:100%}
  .troca-b{flex:1;padding:12px 10px;font-size:14px}
  .fab{display:inline-flex}
  .rod-grid{grid-template-columns:1fr}
  .rod-base{flex-direction:column-reverse;align-items:flex-start}
  .faq-r{padding-right:0}
  .orc-form{padding:22px 18px;border-radius:22px}
  .final-s{opacity:.2;width:92vw}
}

/* o topo em pé (celular, tablet em pé): legendas embaixo, a ação fica livre em cima */
html.retrato .faixa::before{inset:-50% -40% -60%;background:linear-gradient(0deg,rgba(6,8,24,.9) 0%,rgba(6,8,24,.84) 66%,rgba(6,8,24,0) 100%)}
html.retrato .f4::before{inset:-30% -20%;background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(6,8,24,.6) 0%,rgba(6,8,24,.3) 55%,rgba(6,8,24,0) 80%)}
html.retrato .f1,html.retrato .f2,html.retrato .f3{left:var(--gutter);right:var(--gutter);top:auto;bottom:calc(9vh + env(safe-area-inset-bottom));max-width:none}
html.retrato .f1{bottom:calc(12vh + env(safe-area-inset-bottom))}
html.retrato .titulo{font-size:clamp(34px,9.2vw,60px);max-width:none}
html.retrato .titulo-2{font-size:clamp(34px,9.6vw,58px)}
html.retrato .lede{font-size:16px}
html.retrato .kicker{font-size:11px;letter-spacing:.14em;margin-bottom:16px}
html.retrato .f4{top:calc(var(--y-marca,62vh) + 2.4vh)}
html.retrato .assenta-t{font-size:clamp(18px,5vw,24px);max-width:24ch}
html.retrato .f4 .fila-cta{margin-top:18px;flex-wrap:nowrap}
html.retrato .f4 .btn{padding:14px 20px;font-size:14.5px}
html.retrato .seta{bottom:calc(18px + env(safe-area-inset-bottom))}
html.retrato .seta span{display:none}
@media (max-height:760px){html.retrato .assenta-sub{display:none}}
@media (max-height:640px){html.retrato .f4 .fila-cta .btn-vidro{display:none}}

/* telas baixas de computador: sem os enfeites pequenos */
@media (max-height:600px) and (min-width:721px){.trilho,.seta span,.assenta-sub{display:none}.f1{top:16%}}

/* alvos de toque */
@media (pointer:coarse){
  .btn,.chips button,.troca-b,.menu-cel a:not(.btn){min-height:44px}
  .chips button{display:inline-flex;align-items:center;justify-content:center}
  .faq summary{min-height:56px}
}

/* aba escondida: tudo pausa */
body.pausado *,body.pausado *::before,body.pausado *::after{animation-play-state:paused!important}

/* menos movimento: tudo no estado final, sem viagem */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .revela,.revela-filhos>*{opacity:1!important;transform:none!important}
  .am-luz,.am-fios,.am-graos{animation:none!important}
  .am-graos{display:none}
  .final-s path{stroke-dashoffset:0}
  .serv-in{transition:none}
  .cursor{display:none!important}
  html.retrato .quadro{transform:translateY(-50%)!important}
}

/* Twin Mark · recursos extras: progresso, som, fundadores, comparador, QR, copiar, compartilhar, convite de saída */

/* barra de progresso da página, fina, no topo do menu */
.progresso{position:absolute;left:0;top:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(var(--pg,0));background:linear-gradient(90deg,var(--accent),var(--accent-glow),var(--metal));box-shadow:0 0 10px rgba(156,130,255,.6);pointer-events:none}

/* o botão de som: três barras que dançam quando o som está ligado */
.som-btn{display:inline-flex;align-items:center;gap:9px;height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--linha-forte);background:rgba(236,233,255,.04);font:400 11.5px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);transition:border-color .35s var(--ease),color .35s var(--ease),background-color .35s var(--ease)}
.som-btn:hover{border-color:var(--metal);color:var(--text-primary)}
.som-btn[aria-pressed="true"]{border-color:var(--accent-glow);color:var(--text-primary);background:rgba(110,75,242,.16)}
.som-barras{display:flex;align-items:flex-end;gap:2px;height:13px}
.som-barras i{width:2px;height:6px;border-radius:1px;background:currentColor;transition:height .3s var(--ease)}
.som-barras i:nth-child(2){height:11px}
.som-barras i:nth-child(3){height:8px}
.som-btn[aria-pressed="true"] .som-barras i{animation:somBarra 1.1s ease-in-out infinite}
.som-btn[aria-pressed="true"] .som-barras i:nth-child(2){animation-delay:-.35s}
.som-btn[aria-pressed="true"] .som-barras i:nth-child(3){animation-delay:-.7s}
@keyframes somBarra{0%,100%{height:4px}50%{height:13px}}
@media (max-width:1024px){.som-btn{width:44px;height:44px;padding:0;justify-content:center;margin-left:auto}.som-t{display:none}.marca{margin-right:0}}

/* fundadores com foto */
.fund-foto.tem-foto img{object-position:50% 22%}
.fund-foto.tem-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,15,38,0) 58%,rgba(10,15,38,.5) 100%);pointer-events:none}
@media (max-width:720px){
  .fund-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:74vw;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .fund-grid::-webkit-scrollbar{display:none}
  .fund{grid-template-columns:none;scroll-snap-align:center}
  .fund-foto{grid-row:auto;margin-bottom:12px;border-radius:20px}
}

/* template de prateleira x feito do zero */
.compara{margin:0 0 clamp(72px,9vw,128px)}
.cp-cab{display:flex;align-items:baseline;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin-bottom:22px}
.cp-t{font:200 clamp(24px,2.4vw,36px)/1.2 var(--f-display)}
.cp-d{font:400 11.5px/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--metal)}
.cp-area{position:relative;aspect-ratio:16/10;border-radius:22px;overflow:hidden;border:1px solid var(--vidro-borda);box-shadow:0 40px 90px rgba(3,4,16,.5);--x:50%;touch-action:pan-y;cursor:ew-resize;user-select:none;-webkit-user-select:none}
.cp-lado{position:absolute;inset:0}
.cp-twin{clip-path:inset(0 0 0 var(--x))}
.cp-twin picture,.cp-twin img{display:block;width:100%;height:100%;object-fit:cover}
.cp-rot{position:absolute;left:18px;bottom:16px;font:500 11px/1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;padding:9px 12px;border-radius:999px;background:rgba(20,22,30,.72);color:#E8E8EE}
.cp-rot-d{left:auto;right:18px;background:rgba(110,75,242,.88);color:#fff}
.cp-alca{position:absolute;top:0;bottom:0;left:var(--x);width:0;pointer-events:none}
.cp-alca::before{content:"";position:absolute;top:0;bottom:0;left:-1px;width:2px;background:linear-gradient(180deg,transparent,#fff 12%,#fff 88%,transparent);box-shadow:0 0 18px rgba(156,130,255,.8)}
.cp-alca::after{content:"";position:absolute;top:50%;left:-26px;width:52px;height:52px;margin-top:-26px;border-radius:50%;background:rgba(10,15,38,.75);border:1px solid rgba(236,233,255,.7);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.cp-alca i{position:absolute;top:50%;z-index:1;width:2px;height:18px;margin-top:-9px;background:#fff;transform:skewX(-28deg)}
.cp-alca i:first-child{left:-5px}
.cp-alca i:last-child{left:3px}
.cp-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;pointer-events:none}
.cp-area:focus-within{outline:2px solid var(--accent-glow);outline-offset:4px}
/* o lado template: um site genérico de prateleira, sem graça de propósito */
.cp-template{background:#F2F3F5;color:#5B6070;font-family:Arial,Helvetica,sans-serif;display:flex;flex-direction:column}
.tp-barra{display:flex;align-items:center;gap:6px;height:7%;padding:0 2.2%;background:#DDE0E6}
.tp-barra i{width:1.1%;aspect-ratio:1;border-radius:50%;background:#B9BEC9}
.tp-barra span{flex:1;height:44%;margin-left:2%;border-radius:4px;background:#EEF0F3}
.tp-topo{display:flex;align-items:center;gap:3%;height:10%;padding:0 5%;background:#fff;border-bottom:1px solid #E2E4E9}
.tp-logo{font-weight:700;font-size:clamp(9px,1.3vw,16px);letter-spacing:.1em;color:#9AA0AD;border:2px dashed #C8CCD4;padding:.4em .8em}
.tp-links{display:flex;gap:6%;flex:1;justify-content:flex-end}
.tp-links i{display:block;width:5vw;max-width:60px;height:7px;border-radius:3px;background:#D5D8DF}
.tp-btn{font-size:clamp(8px,1vw,13px);color:#fff;background:#3B82F6;padding:.6em 1.1em;border-radius:3px}
.tp-hero{display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:center;padding:5% 6%;flex:1}
.tp-txt{display:grid;gap:.9em;justify-items:start}
.tp-txt b{font-size:clamp(13px,2.4vw,34px);line-height:1.15;color:#3A3F4C}
.tp-txt span{font-size:clamp(9px,1.1vw,15px)}
.tp-txt em{font-style:normal;font-size:clamp(8px,1vw,13px);color:#fff;background:#3B82F6;padding:.7em 1.3em;border-radius:3px}
.tp-img{aspect-ratio:4/3;border-radius:4px;background-color:#DDE0E6;background-image:linear-gradient(to top right,transparent calc(50% - 1px),#C3C7D0 50%,transparent calc(50% + 1px)),linear-gradient(to top left,transparent calc(50% - 1px),#C3C7D0 50%,transparent calc(50% + 1px))}
.tp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:3%;padding:0 6% 5%}
.tp-cards span{padding:6% 8%;background:#fff;border:1px solid #E2E4E9;border-radius:4px;font-size:clamp(8px,1vw,13px)}
@media (max-width:720px){.cp-area{aspect-ratio:4/5}.cp-twin img{object-position:50% 88%}.tp-hero{grid-template-columns:1fr}.tp-img,.tp-links{display:none}.tp-cards{grid-template-columns:1fr}}

/* QR na vitrine: abrir o projeto no celular */
.vit-pe{display:flex;align-items:center;justify-content:space-between;gap:24px}
.vit-qr{display:flex;align-items:center;gap:14px;padding:10px 14px 10px 10px;border-radius:16px;background:var(--vidro);border:1px solid var(--vidro-borda)}
.vit-qr[hidden]{display:none}
.qr-img{display:block;width:76px;height:76px;padding:6px;border-radius:10px;background:#ECE9FF}
.qr-img svg{display:block;width:100%;height:100%}
.qr-img svg rect{fill:#ECE9FF}
.qr-img svg path{fill:#0A0F26}
.vit-qr p{display:grid;gap:4px;font-size:13px;line-height:1.35;color:var(--text-secondary);max-width:190px}
.vit-qr b{font-weight:500;color:var(--text-primary)}
@media (max-height:760px){.vit-qr{display:none}}

/* copiar mensagem e compartilhar */
.btn-copiar{justify-self:center;margin-top:-14px;padding:11px 18px;font-size:14px}
.btn-copiar svg{fill:none;stroke:currentColor;stroke-width:1.6}
.rod-share{padding:0;border:0;background:none;font-size:15px;color:var(--text-secondary);text-align:left;text-decoration:underline;text-decoration-color:var(--linha-forte);text-underline-offset:4px;transition:color .3s var(--ease)}
.rod-share:hover{color:var(--text-primary)}

/* o convite antes de sair (computador) */
.saida-aviso{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;opacity:0;transition:opacity .4s var(--ease)}
.saida-aviso[hidden]{display:none}
.saida-aviso.on{opacity:1}
.sa-fundo{position:absolute;inset:0;background:rgba(5,7,20,.66);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.sa-cartao{position:relative;display:grid;justify-items:center;gap:16px;width:min(520px,100%);padding:40px 36px 34px;text-align:center;border-radius:26px;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(110,75,242,.35),transparent 70%),linear-gradient(160deg,#161D4A,#0B1030);border:1px solid rgba(185,179,232,.3);box-shadow:0 40px 100px rgba(3,4,16,.65);transform:translateY(14px) scale(.98);transition:transform .5s var(--ease-out)}
.saida-aviso.on .sa-cartao{transform:none}
.sa-s{width:64px;height:50px;fill:url(#g-metal)}
.sa-cartao h2{font:200 clamp(26px,3vw,34px)/1.2 var(--f-display);max-width:16ch}
.sa-cartao p{color:var(--text-secondary);max-width:36ch}
.sa-cartao .fila-cta{justify-content:center;margin-top:6px}

@media (prefers-reduced-motion:reduce){.som-btn[aria-pressed="true"] .som-barras i{animation:none;height:9px}}


/* ================= TWIN MARK v2 · o site coreografado ================= */

/* ---------- a entrada: contador do carregamento e a tela que se abre em dois ---------- */
.entrada{display:none}
html.abrindo .entrada{display:block;position:fixed;inset:0;z-index:300;pointer-events:none;--pc:0}
html.entrou .entrada{display:none}
.en-meia{position:absolute;left:0;right:0;height:50.2%;background:radial-gradient(ellipse 70% 120% at 50% 100%,#141A45 0%,#090D22 70%);transition:transform 1.25s cubic-bezier(.76,0,.24,1)}
.en-cima{top:0}
.en-baixo{bottom:0;background:radial-gradient(ellipse 70% 120% at 50% 0%,#141A45 0%,#090D22 70%)}
html.aberta .en-cima{transform:translate3d(0,-101%,0)}
html.aberta .en-baixo{transform:translate3d(0,101%,0)}
.en-centro{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:16px;transition:opacity .45s var(--ease),transform 1s var(--ease-out)}
html.aberta .en-centro{opacity:0;transform:scale(1.18)}
.en-s{width:min(132px,28vw);height:auto;overflow:visible;margin-bottom:10px}
.en-s path{fill:url(#g-metal);fill-opacity:calc(clamp(0,(var(--pc) - .7)*3.3,1));stroke:#E6E1FF;stroke-width:2.2;stroke-linejoin:round;stroke-dasharray:1 1;stroke-dashoffset:calc(1 - clamp(0,var(--pc)*1.4,1));filter:drop-shadow(0 0 10px rgba(156,130,255,.7))}
.en-n{font:300 clamp(46px,7vw,84px)/1 var(--f-mono);letter-spacing:.04em;color:var(--text-primary);display:flex;align-items:flex-start;gap:4px}
.en-pc{font-size:.32em;margin-top:.3em;color:var(--metal)}
.en-t{font:400 11px/1 var(--f-mono);letter-spacing:.34em;text-transform:uppercase;color:var(--metal);margin-right:-.34em}
.en-barra{display:block;width:min(240px,50vw);height:1px;background:rgba(185,179,232,.16);overflow:hidden}
.en-barra i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-glow),#fff);transform-origin:0 50%;transform:scaleX(var(--pc))}
.en-feixe{position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:linear-gradient(90deg,transparent,#fff 30%,var(--accent-glow) 70%,transparent);box-shadow:0 0 24px 6px rgba(156,130,255,.55);transform:scaleX(0);opacity:0}
.en-feixe-2{height:1px;top:calc(50% + 6px);opacity:0}
html.aberta .en-feixe{animation:feixe 1.1s var(--ease-out) forwards}
html.aberta .en-feixe-2{animation-delay:.08s}
@keyframes feixe{0%{transform:scaleX(0);opacity:1}45%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
html.abrindo .nav{opacity:0;transform:translateY(-10px);pointer-events:none}
html.aberta .nav{opacity:1;transform:none;pointer-events:auto;transition-delay:.7s}
html.entrou .nav{transition-delay:0s}
/* a cortina da v1 não existe mais */
.cortina{display:none!important}
html.abrindo .quadro{transform:scale(1.1)}
html.aberta .quadro{transform:scale(calc(1 + var(--s,0)*.05));transition:transform 2.6s var(--ease-out)}
html.retrato.abrindo .quadro{transform:translateY(-50%) scale(1.1)}
html.retrato.aberta .quadro{transform:translateY(-50%) scale(calc(1 + var(--s,0)*.05));transition:transform 2.6s var(--ease-out)}

/* ---------- o filme ---------- */
.hero{height:1150vh}
.saida-pista{height:60vh}
.assinatura{opacity:var(--o3,0)}
.letras-luz{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen}
/* o clarão: a tela inteira acende no instante em que a luz bate na parede */
.clarao{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:var(--fl,0);background:radial-gradient(ellipse 60% 55% at 46% 38%,rgba(255,250,255,.95) 0%,rgba(190,170,255,.65) 30%,rgba(110,75,242,.25) 60%,rgba(10,15,38,0) 85%);mix-blend-mode:screen}
/* leituras de painel */
.hud{position:absolute;inset:0;z-index:3;pointer-events:none;font:400 10.5px/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:rgba(214,208,255,.78);opacity:0;transition:opacity 1s var(--ease)}
html.entrou .hud,html:not(.abrindo) .hud{opacity:1}
.hud-c{position:absolute;width:22px;height:22px;border:1px solid rgba(214,208,255,.55)}
.hud-c1{left:var(--gutter);top:92px;border-right:0;border-bottom:0}
.hud-c2{right:var(--gutter);top:92px;border-left:0;border-bottom:0}
.hud-c3{left:var(--gutter);bottom:26px;border-right:0;border-top:0}
.hud-c4{right:var(--gutter);bottom:26px;border-left:0;border-top:0}
.hud-cap{position:absolute;right:calc(var(--gutter) + 34px);top:96px;display:grid;justify-items:end;gap:7px;text-align:right}
.hud-cap-n{color:var(--accent-glow)}
.hud-cap-t{color:var(--text-primary);letter-spacing:.24em}
.hud-sinal{position:absolute;left:calc(var(--gutter) + 34px);top:96px}
.hud-sinal b,.hud-quadro b{font-weight:500;color:var(--text-primary);letter-spacing:.1em}
.hud-quadro{position:absolute;left:calc(var(--gutter) + 34px);bottom:30px}
.palco.longe .seta{opacity:0}

/* faixas: posições novas */
.f2{left:var(--gutter);top:50%;max-width:min(680px,46vw)}
.f3{inset:0;max-width:none;text-shadow:none}
.f3::before{display:none}
.f4{left:0;right:0;top:50%;transform:translateY(-50%);max-width:none;text-align:center;display:grid;justify-items:center}
.f4::before{inset:-40% 0;background:radial-gradient(ellipse 50% 46% at 50% 50%,rgba(6,8,24,.62) 0%,rgba(6,8,24,.34) 55%,rgba(6,8,24,0) 80%)}
.f5{inset:0;max-width:none;text-shadow:var(--tshadow)}
.f5::before{display:none}
.f6{left:var(--gutter);right:var(--gutter);top:auto;bottom:calc(8vh + 40px);text-align:center;display:grid;justify-items:center}
.f6::before{inset:-40% 6%;background:radial-gradient(ellipse 52% 54% at 50% 56%,rgba(6,8,24,.72) 0%,rgba(6,8,24,.42) 55%,rgba(6,8,24,0) 80%)}
.f6 .fila-cta{margin-top:24px;justify-content:center}
.eyebrow-c{justify-content:center}
.lede-c{margin-inline:auto;text-align:center}

/* (1) decodificação: as letras passam por símbolos de código até assentar */
.cifra .w{display:inline-block;white-space:nowrap}
.cifra .c{display:inline-block;min-width:.32em;text-align:center;transition:color .2s}
.cifra .c.cod{color:var(--accent-glow);text-shadow:0 0 18px rgba(156,130,255,.9),var(--tshadow);font-family:var(--f-mono);font-weight:400;transform:translateY(-.04em) scale(.86)}
.cifra .c.vazio{opacity:0}
.fx-cifra .titulo{position:relative}
.fx-cifra .titulo .c:not(.cod):not(.vazio){text-shadow:0 0 calc((1 - var(--k,0))*30px) rgba(156,130,255,.9),var(--tshadow)}

/* (2) soco: a frase entra grande demais, com separação de cor que se fecha */
.fx-soco .w{--kc:clamp(0,(var(--k,0) - var(--th,0)*.6)*3.2,1);--kz:clamp(0,(var(--k,0) - var(--th,0)*.6 - .18)*2.6,1);opacity:var(--kc);transform:scale(calc(1.9 - .9*var(--kc) + .07*var(--kc)*(1 - var(--kz))));text-shadow:calc((1 - var(--kz))*-10px) 0 0 rgba(255,70,170,.75),calc((1 - var(--kz))*10px) 0 0 rgba(70,210,255,.75),var(--tshadow)}
.fx-soco .titulo-2{font-size:clamp(44px,5.6vw,92px)}
.fx-soco .eyebrow-f{opacity:clamp(0,var(--k,0)*2,1)}
.fx-soco .lede{--kl:clamp(0,(var(--k,0) - .55)*2.6,1);opacity:var(--kl);transform:translateY(calc((1 - var(--kl))*14px))}

/* (4) da profundidade: letras gigantes em contorno vêm do fundo e passam pela câmera */
.gigante{font:200 clamp(54px,9.4vw,170px)/.98 var(--f-display);letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1.2px rgba(236,233,255,.92);text-shadow:none;transform:scale(calc((.42 + .58*var(--ke,0)) * (1 + 2.6*var(--ko,0))));filter:blur(calc((1 - var(--ke,0))*6px));transform-origin:50% 55%;will-change:transform}
.gigante .ac{-webkit-text-stroke:0;color:var(--text-primary);text-shadow:0 0 40px rgba(156,130,255,.65)}
.fx-fundo{--ke:clamp(0,var(--k,0),1)}
.fx-fundo .eyebrow-f,.fx-fundo .lede{opacity:calc(clamp(0,(var(--k,0) - .5)*2.4,1)*(1 - var(--ko,0)*3))}
.fx-fundo .lede{margin-top:22px}

/* (5) etiquetas de painel, chegando uma a uma ao lado dos painéis */
.etiquetas{position:absolute;inset:0}
.etiquetas li{--kc:clamp(0,(var(--k,0) - var(--n)*.11)*4,1);position:absolute;display:flex;align-items:center;gap:14px;font:200 clamp(26px,3.1vw,54px)/1 var(--f-display);letter-spacing:-.01em;color:var(--text-primary);opacity:var(--kc);transform:translateX(calc((1 - var(--kc))*var(--dx,-40px)));text-shadow:var(--tshadow)}
.etiquetas li span{font:400 11px/1 var(--f-mono);letter-spacing:.14em;color:var(--accent-glow);padding:6px 8px;border:1px solid rgba(156,130,255,.5);border-radius:6px;background:rgba(10,15,38,.55)}
.etiquetas li::after{content:"";position:absolute;top:50%;height:1px;width:min(9vw,140px);background:linear-gradient(90deg,rgba(156,130,255,.8),transparent);transform-origin:0 50%;transform:scaleX(var(--kc))}
.etiquetas li:nth-child(odd){left:calc(var(--gutter) + 2vw);--dx:-50px}
.etiquetas li:nth-child(odd)::after{left:100%;margin-left:16px}
.etiquetas li:nth-child(even){right:calc(var(--gutter) + 2vw);flex-direction:row-reverse;--dx:50px}
.etiquetas li:nth-child(even)::after{right:100%;margin-right:16px;background:linear-gradient(270deg,rgba(156,130,255,.8),transparent);transform-origin:100% 50%}
.etiquetas li:nth-child(1){top:20%}.etiquetas li:nth-child(2){top:28%}.etiquetas li:nth-child(3){top:38%}.etiquetas li:nth-child(4){top:48%}.etiquetas li:nth-child(5){top:58%}.etiquetas li:nth-child(6){top:67%}.etiquetas li:nth-child(7){top:76%}

/* (6) o assentamento: o feixe de luz varre o título */
.fx-assenta .assenta-t{position:relative;font-size:clamp(22px,2.3vw,38px);font-weight:200;max-width:30ch}
.fx-assenta .w{text-shadow:0 0 calc((1 - var(--kc,0))*36px + 8px) rgba(156,130,255,.55),var(--tshadow)}

/* trilho com as marcas dos capítulos */
.trilho{height:min(44vh,360px)}
.tr-marca{position:absolute;left:-4px;width:9px;height:1px;top:calc(var(--m)*100%);background:var(--metal)}

/* modo parado: o logo completo, com o título embaixo */
html.hero-estatico .f1,html.hero-estatico .f2,html.hero-estatico .f3,html.hero-estatico .f4,html.hero-estatico .f5{display:none}
html.hero-estatico .f6{opacity:1;--k:1;pointer-events:auto;top:calc(var(--y-marca,70vh) + 3vh);bottom:auto}
html.hero-estatico .f4{display:none!important}
html.hero-estatico .assinatura{opacity:1}
html.hero-estatico .hud,html.hero-estatico .clarao,html.hero-estatico .letras-luz{display:none}

/* ---------- celular em pé ---------- */
html.retrato .f2{left:var(--gutter);right:var(--gutter);top:auto;bottom:calc(9vh + env(safe-area-inset-bottom));max-width:none}
html.retrato .fx-soco .titulo-2{font-size:clamp(38px,10vw,60px)}
html.retrato .f4{top:auto;bottom:calc(12vh + env(safe-area-inset-bottom));transform:none}
html.retrato .gigante{font-size:clamp(46px,13vw,84px)}
html.retrato .f4::before,html.retrato .f6::before{inset:-50% -30% -40%;background:linear-gradient(0deg,rgba(6,8,24,.9) 0%,rgba(6,8,24,.8) 66%,rgba(6,8,24,0) 100%)}
html.retrato .etiquetas li{font-size:clamp(22px,6.4vw,34px);gap:10px}
html.retrato .etiquetas li::after{display:none}
html.retrato .etiquetas li:nth-child(odd),html.retrato .etiquetas li:nth-child(even){left:var(--gutter);right:auto;flex-direction:row}
html.retrato .etiquetas li:nth-child(1){top:auto;bottom:calc(58% - 0px)}
html.retrato .etiquetas{top:auto;bottom:calc(8vh + env(safe-area-inset-bottom));height:46vh}
html.retrato .etiquetas li{position:static;margin-top:10px}
html.retrato .f5::before{display:block;inset:auto 0 0 0;height:62vh;background:linear-gradient(0deg,rgba(6,8,24,.92) 0%,rgba(6,8,24,.78) 60%,rgba(6,8,24,0) 100%)}
html.retrato .etiquetas{position:absolute;left:0;right:0;display:flex;flex-direction:column;justify-content:flex-end}
html.retrato .f6{bottom:calc(7vh + env(safe-area-inset-bottom))}
html.retrato .hud-sinal,html.retrato .hud-quadro,html.retrato .hud-c{display:none}
html.retrato .hud-cap{top:76px;right:var(--gutter)}
@media (max-height:640px){html.retrato .assenta-sub{display:none}}

/* ---------- 01 VISTA e VENDA ---------- */
.sobre{overflow:hidden}
.duas-palavras{display:grid;gap:0;margin:0 0 clamp(64px,8vw,120px);padding-inline:var(--gutter);--f1:0;--f2:0}
.palavra{position:relative;font:200 clamp(88px,19vw,340px)/.86 var(--f-display);letter-spacing:-.045em;white-space:nowrap}
.pv-2{text-align:right}
.pv-contorno{color:transparent;-webkit-text-stroke:1px rgba(185,179,232,.32)}
.pv-luz{position:absolute;inset:0;color:transparent;background:linear-gradient(100deg,#fff 0%,#D9D2FF 30%,#9C82FF 62%,#6E4BF2 100%);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 0 28px rgba(156,130,255,.45))}
.pv-1 .pv-luz{clip-path:inset(0 calc(100% - var(--f1)*100%) 0 0)}
.pv-2 .pv-luz{clip-path:inset(0 0 0 calc(100% - var(--f2)*100%))}
/* o texto que acende palavra por palavra com a rolagem */
.texto-acende .pa{color:rgba(169,164,214,.32);transition:color .35s var(--ease)}
.texto-acende .pa.on{color:var(--text-primary)}
/* fundadores: cartões que inclinam e acendem */
.fund{perspective:900px}
.fund-foto{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--ease-out),box-shadow .5s var(--ease);transform-style:preserve-3d}
.fund-foto::before{content:"";position:absolute;inset:0;z-index:2;background:radial-gradient(260px circle at var(--mx,50%) var(--my,30%),rgba(214,206,255,.22),transparent 60%);opacity:0;transition:opacity .4s var(--ease);pointer-events:none;display:block}
.fund:hover .fund-foto{box-shadow:0 40px 80px rgba(3,5,18,.5),0 0 0 1px rgba(156,130,255,.5)}
.fund:hover .fund-foto::before{opacity:1}

/* ---------- serviços: inclinação e borda que acende ---------- */
.serv-in{transform:rotateY(calc(var(--vira,0)*180deg)) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.serv.virado .serv-in{--vira:1;transform:rotateY(calc(180deg)) rotateX(var(--rx,0deg)) rotateY(calc(var(--ry,0deg)*-1))}
.face::after{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from var(--ang,0deg),transparent 0deg,rgba(156,130,255,.9) 40deg,transparent 90deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s var(--ease);pointer-events:none}
.serv:hover .face::after{opacity:1;animation:giraBorda 3.2s linear infinite}
@property --ang{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes giraBorda{to{--ang:360deg}}

/* ---------- portfólio: notebook que inclina e o visualizador ---------- */
.vit-cena{perspective:1600px}
.note,.vit-cena>.cel{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .6s var(--ease-out)}
.vit-cena>.cel{transform:translateZ(40px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.proj-botoes{display:flex;flex-wrap:wrap;gap:10px}
.proj-botoes .btn{padding:13px 20px;font-size:14.5px}
.visor{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:clamp(10px,3vw,40px);opacity:0;transition:opacity .4s var(--ease)}
.visor[hidden]{display:none}
.visor.on{opacity:1}
.vs-fundo{position:absolute;inset:0;background:rgba(4,6,18,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.vs-caixa{position:relative;display:grid;grid-template-rows:auto 1fr;width:min(1400px,100%);height:min(900px,100%);border-radius:20px;overflow:hidden;background:#0B1030;border:1px solid rgba(185,179,232,.28);box-shadow:0 50px 120px rgba(0,0,0,.6);transform:translateY(18px) scale(.97);transition:transform .55s var(--ease-out)}
.visor.on .vs-caixa{transform:none}
.vs-barra{display:flex;align-items:center;gap:14px;padding:12px 14px 12px 20px;border-bottom:1px solid var(--linha);background:linear-gradient(180deg,#151C47,#0E1336)}
.vs-t{font:400 15px/1 var(--f-display);margin-right:auto}
.vs-modos{display:flex;padding:3px;border-radius:999px;border:1px solid var(--linha-forte)}
.vs-modo{padding:8px 14px;border:0;border-radius:999px;background:none;font-size:13px;color:var(--text-secondary)}
.vs-modo[aria-pressed="true"]{background:var(--accent);color:#fff}
.vs-abrir{font-size:13px;color:var(--text-secondary);text-decoration:none;padding:8px 10px}
.vs-abrir:hover{color:var(--text-primary)}
.vs-fechar{position:relative;width:40px;height:40px;border:1px solid var(--linha-forte);border-radius:50%;background:none}
.vs-fechar span{position:absolute;left:11px;right:11px;top:50%;height:1.5px;background:var(--text-primary);transform:rotate(45deg)}
.vs-fechar span+span{transform:rotate(-45deg)}
.vs-tela{display:grid;place-items:center;overflow:auto;background:radial-gradient(ellipse 60% 70% at 50% 40%,#151B47,#070A1C)}
.vs-moldura{width:100%;height:100%;transition:width .6s var(--ease-out),height .6s var(--ease-out),border-radius .6s var(--ease-out)}
.vs-frame{display:block;width:100%;height:100%;border:0;background:#05070F}
.visor.cel .vs-moldura{width:390px;height:min(844px,calc(100% - 40px));border-radius:34px;padding:10px;background:linear-gradient(160deg,#2E3570,#141940);box-shadow:0 30px 80px rgba(0,0,0,.6)}
.visor.cel .vs-frame{border-radius:26px}
@media (max-width:720px){.vs-modos,.vs-abrir{display:none}.vs-caixa{height:100%;border-radius:16px}}

/* ---------- 04 acenda a sua marca ---------- */
.ac-palco{position:relative;aspect-ratio:16/8;min-height:520px;border-radius:28px;overflow:hidden;border:1px solid var(--vidro-borda);background:radial-gradient(ellipse 70% 70% at 50% 45%,#161D4E 0%,#0A0F26 70%);box-shadow:0 50px 100px rgba(3,4,16,.5),inset 0 0 120px rgba(110,75,242,.12);--h:0}
.ac-canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;touch-action:pan-y}
.ac-hud{position:absolute;inset:0;pointer-events:none;font:400 10.5px/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:rgba(214,208,255,.7)}
.ac-hud .hud-c1{left:18px;top:18px}.ac-hud .hud-c2{right:18px;top:18px}.ac-hud .hud-c3{left:18px;bottom:18px}.ac-hud .hud-c4{right:18px;bottom:18px}
.ac-leitura{position:absolute;left:50px;top:24px}
.ac-leitura b{color:var(--text-primary);font-weight:500}
.ac-form{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);display:grid;justify-items:center;gap:14px;width:min(560px,calc(100% - 40px))}
.ac-input{width:100%;padding:16px 22px;border-radius:999px;border:1px solid var(--linha-forte);background:rgba(6,9,28,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-primary);font:300 18px/1.2 var(--f-display);letter-spacing:.04em;text-align:center}
.ac-input:focus{outline:none;border-color:var(--accent-glow);box-shadow:0 0 0 4px rgba(110,75,242,.25)}
.ac-input::placeholder{color:#8B86BD}
.ac-segure{position:relative;display:grid;place-items:center;width:132px;height:132px;border-radius:50%;border:0;background:radial-gradient(circle,rgba(110,75,242,calc(.3 + var(--h)*.6)) 0%,rgba(10,15,38,.6) 70%);box-shadow:0 0 calc(var(--h)*80px) rgba(156,130,255,calc(var(--h)*.9));color:#fff;transform:scale(calc(1 + var(--h)*.08));transition:box-shadow .2s;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;touch-action:none}
.ac-anel{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.ac-anel circle{fill:none;stroke:rgba(185,179,232,.3);stroke-width:2}
.ac-anel .ac-anel-p{stroke:#fff;stroke-width:3;stroke-dasharray:1 1;stroke-dashoffset:calc(1 - var(--h));filter:drop-shadow(0 0 6px rgba(156,130,255,.9))}
.ac-segure-t{position:relative;max-width:9ch;font:500 12.5px/1.25 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;text-align:center}
.ac-dica{font-size:12.5px;color:var(--metal-2);text-align:center}
.ac-palco.aceso .ac-form{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(20px);transition:opacity .5s var(--ease),transform .7s var(--ease-out)}
.ac-previa{position:absolute;inset:auto 0 26px 0;display:grid;justify-items:center;gap:14px;padding:0 20px;opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease) .5s,transform 1s var(--ease-out) .5s}
.ac-previa[hidden]{display:none}
.ac-palco.aceso .ac-previa{opacity:1;transform:none}
.pv-janela{width:min(420px,100%);border-radius:14px;overflow:hidden;border:1px solid rgba(185,179,232,.35);background:#0B1030;box-shadow:0 30px 60px rgba(0,0,0,.5)}
.pv-barra{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#141A45}
.pv-barra i{width:8px;height:8px;border-radius:50%;background:#3A4180}
.pv-url{margin-left:10px;font:400 11px/1 var(--f-mono);color:var(--text-secondary)}
.pv-url b{color:var(--text-primary);font-weight:500}
.pv-site{padding:14px 18px 20px;background:radial-gradient(ellipse 80% 90% at 70% 0%,rgba(110,75,242,.45),transparent 70%),#0A0F26}
.pv-topo{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.pv-logo{width:24px;height:18px;background:var(--metal);clip-path:polygon(0 0,52% 0,14% 100%,6% 100%,40% 8%,0 8%);opacity:.9}
.pv-links{display:flex;gap:6px;margin-left:auto}
.pv-links i{width:24px;height:3px;border-radius:2px;background:rgba(185,179,232,.4)}
.pv-btn{font:500 9px/1 var(--f-display);padding:6px 9px;border-radius:999px;background:var(--accent);color:#fff}
.pv-k{font:400 9px/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent-glow);margin-bottom:8px}
.pv-nome{font:200 clamp(26px,4vw,40px)/1.05 var(--f-display);letter-spacing:.02em;color:var(--text-primary);word-break:break-word}
.pv-sub{margin-top:6px;font:italic 400 15px/1.3 var(--f-ac);color:var(--metal)}
.ac-de-novo{border:0;background:none;color:var(--text-secondary);font-size:13.5px;text-decoration:underline;text-underline-offset:4px}
@media (max-width:720px){.ac-palco{aspect-ratio:auto;min-height:640px;border-radius:22px}.ac-segure{width:118px;height:118px}}

/* ---------- 05 processo: trilho horizontal ---------- */
.processo{padding:0}
.pr-pino{position:relative;height:340vh}
.pr-fixo{position:sticky;top:0;height:100vh;height:100svh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;align-content:center;overflow:hidden;padding-top:clamp(80px,10vh,120px)}
.pr-cab{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.pr-cab .cab{margin-bottom:clamp(28px,4vh,48px)}
.pr-contador{font:300 clamp(28px,3vw,44px)/1 var(--f-mono);color:var(--metal);margin-bottom:clamp(30px,4vh,52px)}
.pr-contador b{color:var(--text-primary);font-weight:400}
.pr-trilho{position:relative;align-self:center}
.pr-passos{display:flex;gap:clamp(24px,3vw,48px);padding-inline:var(--gutter) 30vw;transform:translate3d(calc(var(--px,0)*-1px),0,0);will-change:transform}
.pr-passos li{flex:none;width:min(420px,78vw);padding:34px 32px 30px;border-radius:24px;background:linear-gradient(160deg,rgba(28,36,88,.6),rgba(13,19,52,.5));border:1px solid var(--vidro-borda);opacity:calc(.35 + .65*var(--ac,0));transform:scale(calc(.94 + .06*var(--ac,0)));transition:opacity .3s,transform .3s}
.pr-passos .ps-n{position:static;display:block;width:auto;height:auto;border:0;background:none;font:200 clamp(70px,7vw,112px)/1 var(--f-display);color:transparent;-webkit-text-stroke:1px rgba(185,179,232,.6);margin-bottom:18px;box-shadow:none}
.pr-passos li.aceso .ps-n{color:transparent;-webkit-text-stroke:1px #fff;filter:drop-shadow(0 0 18px rgba(156,130,255,.8));background:none;box-shadow:none}
.pr-passos h3{font:300 26px/1.2 var(--f-display);margin-bottom:12px}
.pr-passos p{font-size:16px;line-height:1.6;color:var(--text-secondary)}
.pr-feixe{position:absolute;left:0;right:0;top:-34px;height:2px;background:rgba(185,179,232,.12)}
.pr-feixe i{position:absolute;inset:0;background:linear-gradient(90deg,var(--accent),var(--accent-glow),#fff);transform-origin:0 50%;transform:scaleX(var(--pp,0));box-shadow:0 0 18px rgba(156,130,255,.7)}
@media (max-width:900px){
  .pr-pino{height:auto}
  .pr-fixo{position:relative;height:auto;padding-block:clamp(96px,12vw,160px)}
  .pr-passos{flex-direction:column;padding-inline:var(--gutter);transform:none}
  .pr-passos li{width:auto;opacity:1;transform:none}
  .pr-feixe,.pr-contador{display:none}
}

/* ---------- 08 final: o símbolo em partículas ---------- */
.final{min-height:100vh;display:grid;align-items:center}
.final-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y}
.final-luz,.final-s{display:none}
.final-in{pointer-events:none}
.final-in a,.final-in .btn{pointer-events:auto}
.final-insta{display:inline-flex;align-items:center;gap:10px;margin-top:6px;font-size:15px;color:var(--text-secondary);text-decoration:none}
.final-insta svg{width:20px;height:20px}
.final-insta b{color:var(--text-primary);font-weight:500}
.final-insta:hover{color:var(--text-primary)}
.final-t{text-shadow:0 2px 30px rgba(6,8,24,.95),0 0 60px rgba(6,8,24,.9)}
.final-in::before{content:"";position:absolute;inset:-12% -6%;z-index:-1;background:radial-gradient(ellipse 60% 55% at 50% 50%,rgba(8,11,30,.82) 0%,rgba(8,11,30,.5) 55%,rgba(8,11,30,0) 80%);pointer-events:none}

/* ---------- menu: Instagram ---------- */
.nav-insta{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--linha-forte);color:var(--text-secondary);transition:color .3s,border-color .3s}
.nav-insta:hover{color:var(--text-primary);border-color:var(--metal)}
.nav-insta svg{width:18px;height:18px}
.menu-insta{display:inline-flex;align-items:center;gap:10px;color:var(--text-secondary);text-decoration:none;font-size:15px}
.menu-insta svg{width:20px;height:20px}
@media (max-width:1024px){.nav-insta{display:none}}

/* ---------- cursor com rótulo (computador) ---------- */
@media (hover:hover) and (pointer:fine){
  html.cursor-on .cursor{display:block;position:fixed;left:0;top:0;z-index:400;pointer-events:none}
  .cs-anel{position:absolute;left:0;top:0;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;border:1px solid rgba(214,208,255,.6);transition:width .35s var(--ease-out),height .35s var(--ease-out),margin .35s var(--ease-out),background-color .35s,border-color .35s}
  .cs-ponto{position:absolute;left:0;top:0;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:#fff;box-shadow:0 0 10px rgba(156,130,255,.9)}
  .cs-r{position:absolute;left:0;top:0;transform:translate(-50%,-50%);font:500 10.5px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:#fff;opacity:0;transition:opacity .25s}
  html.cursor-sobre .cs-anel{width:56px;height:56px;margin:-28px 0 0 -28px;border-color:rgba(156,130,255,.9);background:rgba(110,75,242,.12)}
  html.cursor-rotulo .cs-anel{width:84px;height:84px;margin:-42px 0 0 -42px;background:rgba(110,75,242,.85);border-color:transparent}
  html.cursor-rotulo .cs-r{opacity:1}
  html.cursor-rotulo .cs-ponto{opacity:0}
  html.cursor-fora .cursor{opacity:0}
  .cursor i{display:none}
}

@media (prefers-reduced-motion:reduce){
  .gigante{transform:none;filter:none}
  .pr-passos{transform:none}
  .fx-soco .w{transform:none;text-shadow:var(--tshadow)}
}

/* o cursor só aparece depois do primeiro movimento do mouse */
.cs-anel,.cs-ponto,.cs-r{transform:translate3d(-300px,-300px,0)}

html.retrato .etiquetas{padding-inline:var(--gutter)}

/* o botão da prévia do Acenda tem o tamanho do texto, não a largura toda */
.ac-cta{width:auto;min-width:min(320px,100%);padding-inline:44px}

/* no celular a chamada final reserva o alto para o símbolo de partículas, e o Instagram empilha */
@media (max-width:720px){
  .final{padding-top:300px}
  .final-insta{flex-direction:column;gap:6px;text-align:center}
}

/* ---------- linhas de luz entre as seções: o fio se desenha e um brilho corre por ele ---------- */
.sec:not(.sobre)::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(110,75,242,0) 0%,rgba(156,130,255,.5) 22%,rgba(236,233,255,.75) 50%,rgba(156,130,255,.5) 78%,rgba(110,75,242,0) 100%);transform:scaleX(0);transform-origin:0 50%;opacity:0;transition:transform 1.8s var(--ease-out),opacity .9s var(--ease)}
.sec:not(.sobre)::after{content:"";position:absolute;left:0;top:-3px;width:180px;height:7px;z-index:1;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,255,255,.95) 0%,rgba(185,168,255,.6) 35%,rgba(110,75,242,0) 70%);filter:blur(1px);opacity:0;transform:translateX(-200px)}
.sec.costura::before{transform:scaleX(1);opacity:.55}
.sec.costura::after{animation:costura 1.9s var(--ease-out) forwards}
@keyframes costura{0%{opacity:0;transform:translateX(-200px)}12%{opacity:1}80%{opacity:.9}100%{opacity:0;transform:translateX(calc(100vw + 20px))}}
@media (prefers-reduced-motion:reduce){
  .sec:not(.sobre)::before{transform:none;opacity:.4;transition:none}
  .sec.costura::after{animation:none}
}

/* em tela de toque não existe barra de espaço */
@media (hover:none) and (pointer:coarse){.ac-dica-tecla{display:none}}

/* ---------- v2 com o filme de 3 capítulos: o texto sai de cima do símbolo, do raio e do reflexo ---------- */
html:not(.retrato) .f4{top:63%}
html:not(.retrato) .f4::before{background:radial-gradient(ellipse 46% 50% at 50% 50%,rgba(6,8,24,.78) 0%,rgba(6,8,24,.46) 55%,rgba(6,8,24,0) 80%)}
html:not(.retrato) .f6{left:var(--gutter);right:auto;max-width:min(560px,40vw);bottom:calc(9vh + 30px);text-align:left;justify-items:start}
html:not(.retrato) .f6 .fila-cta{justify-content:flex-start}
html:not(.retrato) .f6::before{inset:-45% -40% -35% -30%;background:radial-gradient(ellipse 60% 60% at 40% 55%,rgba(6,8,24,.8) 0%,rgba(6,8,24,.46) 55%,rgba(6,8,24,0) 82%)}
/* as etiquetas viram etiquetas de painel de verdade: vidro escuro atrás de cada nome */
.etiquetas li{padding:10px 20px 12px;border-radius:16px;background:rgba(6,8,24,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(156,130,255,.22);font-weight:300}
/* abertura: o título e o selo terminam antes do caminho da faísca, que desce até onde o símbolo nasce */
html:not(.retrato) .f1 .titulo{max-width:8.2em}
html:not(.retrato) .f1 .kicker{max-width:440px}
/* "E a que faz vender.": as letras gigantes no centro, o selo e a frase menor à direita, longe do raio que desce pela esquerda */
html:not(.retrato) .f4 .eyebrow-f,html:not(.retrato) .f4 .lede{justify-self:end;margin-right:calc(var(--gutter) + 3vw);text-align:right}
html:not(.retrato) .f4 .eyebrow-c{justify-content:flex-end}
/* título final mais estreito: termina antes do reflexo dos pilares */
html:not(.retrato) .f6{max-width:min(470px,32vw)}
html:not(.retrato) .f1::before{background:radial-gradient(ellipse 64% 60% at 44% 52%,rgba(6,8,24,.86) 0%,rgba(6,8,24,.6) 50%,rgba(6,8,24,0) 80%)}
/* as letras gigantes chegam em contorno e enchem de luz conforme ficam nítidas */
.gigante{color:rgb(236 233 255 / calc(var(--ke,0) * .96))}
.etiquetas li{background:rgba(6,8,24,.8)}
/* "E a que faz vender." à direita: espelha "A que as pessoas veem." (à esquerda) e fica na parede escura, longe do raio */
html:not(.retrato) .f4{left:auto;right:var(--gutter);top:66%;width:min(720px,52vw);justify-items:end;text-align:right}
html:not(.retrato) .f4 .eyebrow-f,html:not(.retrato) .f4 .lede{margin-right:0}
html:not(.retrato) .f4::before{inset:-40% -30% -40% -40%;background:radial-gradient(ellipse 56% 52% at 62% 50%,rgba(6,8,24,.72) 0%,rgba(6,8,24,.42) 55%,rgba(6,8,24,0) 80%)}
html:not(.retrato) .gigante{font-size:clamp(54px,7.2vw,132px);transform-origin:100% 55%}
/* o véu do título final fica inteiro desde a primeira letra (a faixa já entra e sai pela própria opacidade) */
.fx-assenta::before{opacity:1}
html.retrato .f6::before{background:linear-gradient(0deg,rgba(6,8,24,.94) 0%,rgba(6,8,24,.87) 66%,rgba(6,8,24,0) 100%)}
/* no modo parado o título final volta para baixo do logo, centralizado (o fundo é o logo na parede, não o portal) */
html.hero-estatico:not(.retrato) .f6{left:var(--gutter);right:var(--gutter);max-width:none;top:calc(var(--y-marca,70vh) + 3vh);bottom:auto;text-align:center;justify-items:center}
html.hero-estatico:not(.retrato) .f6 .fila-cta{justify-content:center}
html.hero-estatico:not(.retrato) .f6::before{inset:-40% 6%;background:radial-gradient(ellipse 52% 54% at 50% 56%,rgba(6,8,24,.72) 0%,rgba(6,8,24,.42) 55%,rgba(6,8,24,0) 80%)}

/* ---------- fundadores sem foto: cartões de visita de metal escuro (escolha do usuário em 2026-10-14) ---------- */
.fund-foto.fund-cartao{aspect-ratio:1.586;margin-bottom:0;border-radius:20px;display:grid;grid-template-rows:auto 1fr auto;padding:clamp(20px,2.2vw,30px);
  background:radial-gradient(120% 90% at 0% 0%,rgba(110,75,242,.16) 0%,rgba(110,75,242,0) 55%),linear-gradient(155deg,#161C47 0%,#0E1334 50%,#0A0E28 100%);
  border:1px solid rgba(185,179,232,.18);box-shadow:0 30px 60px rgba(3,5,18,.4),inset 0 1px 0 rgba(236,233,255,.08)}
/* o reflexo de luz que atravessa o cartão quando o mouse passa */
.fund-cartao::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,rgba(236,233,255,0) 32%,rgba(236,233,255,.11) 47%,rgba(236,233,255,0) 62%);transform:translateX(-70%);transition:transform 1.2s var(--ease-out)}
.fund:hover .fund-cartao::after{transform:translateX(70%)}
.fc-n{position:relative;font:400 11px/1 var(--f-mono);letter-spacing:.24em;color:var(--metal-2)}
.fc-s{position:absolute;top:clamp(18px,2vw,28px);right:clamp(18px,2vw,28px);width:clamp(40px,4vw,58px);height:auto;fill:none;stroke:rgba(185,179,232,.6);stroke-width:5;transition:stroke .5s var(--ease)}
.fund:hover .fc-s{stroke:rgba(236,233,255,.95)}
.fc-ini{position:absolute;right:4%;bottom:-24%;font:italic 400 clamp(170px,17vw,260px)/1 var(--f-ac);background:var(--metal-grad);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.14;pointer-events:none;transition:opacity .6s var(--ease)}
.fund:hover .fc-ini{opacity:.22}
.fc-txt{position:relative;align-self:end;display:grid;gap:10px}
.fc-txt::before{content:"";width:38px;height:1px;margin-bottom:6px;background:linear-gradient(90deg,var(--accent-glow),rgba(156,130,255,0))}
.fund-cartao h3{font:300 clamp(26px,2.3vw,34px)/1.05 var(--f-display);letter-spacing:.01em;color:var(--text-primary)}
.fund-cartao .fc-cargo{font:400 11.5px/1 var(--f-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--accent-glow)}
.fc-ig{position:relative;justify-self:start;margin-top:16px;display:inline-flex;align-items:center;gap:8px;font:400 12.5px/1 var(--f-mono);letter-spacing:.06em;color:var(--metal);text-decoration:none;transition:color .3s var(--ease)}
.fc-ig svg{width:15px;height:15px}
.fc-ig:hover,.fc-ig:focus-visible{color:var(--text-primary)}
@media (max-width:900px){
  .fund-grid{grid-template-columns:1fr;grid-auto-flow:row;grid-auto-columns:auto;overflow:visible;margin-inline:0;padding-inline:0;gap:16px}
  .fund{grid-template-columns:none}
  .fund-foto.fund-cartao{grid-row:auto;margin:0;aspect-ratio:auto;min-height:200px}
}

/* serviços: com Apps são oito cartões e a chamada, em três colunas de três */
@media (min-width:1025px){.serv-grid{grid-template-columns:repeat(3,1fr)}}
/* oito etiquetas (com Apps): mesmo ritmo de chegada e posições alternadas que cabem no corredor */
.etiquetas li{--kc:clamp(0,(var(--k,0) - var(--n)*.093)*4,1)}
.etiquetas li:nth-child(1){top:15%}.etiquetas li:nth-child(2){top:24%}.etiquetas li:nth-child(3){top:33%}.etiquetas li:nth-child(4){top:42%}.etiquetas li:nth-child(5){top:51%}.etiquetas li:nth-child(6){top:60%}.etiquetas li:nth-child(7){top:69%}.etiquetas li:nth-child(8){top:78%}
html.retrato .etiquetas{height:56vh}
html.retrato .etiquetas li{font-size:clamp(19px,5.4vw,30px);padding:7px 14px 8px;margin-top:8px}

/* ---------- celular e telas de toque: nada de desfoque recalculado a cada quadro (é o que trava a placa de vídeo) ---------- */
@media (max-width:900px), (hover:none) and (pointer:coarse){
  *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .nav.solida{background:rgba(10,15,38,.95)}
  .etiquetas li{background:rgba(6,8,24,.88)}
  .ac-input{background:rgba(6,9,28,.9)}
  .sa-fundo{background:rgba(5,7,20,.9)}
  .vs-fundo{background:rgba(4,6,18,.95)}
  .gigante{filter:none!important;will-change:transform,opacity}
  :root{--tshadow:0 1px 2px rgba(5,6,20,.95),0 4px 18px rgba(5,6,20,.82)}
}
