@font-face{font-family:Montserrat;src:url('../assets/fonts/montserrat-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--navy:#0b0f1a;--blue:#2563ff;--white:#f8fafc;--graphite:#374151;--gray:#585d6a;--line:rgba(229,231,235,.14);--muted:#b1b7c5;--gutter:7vw;--header:88px;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--navy);color:var(--white);font-family:Montserrat,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2{font-weight:600;letter-spacing:-.065em;line-height:1.06}h2{font-size:clamp(36px,4.4vw,72px)}h2 span{color:var(--muted)}p{line-height:1.7}::selection{background:var(--blue);color:white}:focus-visible{outline:2px solid var(--white);outline-offset:6px}.light-section :focus-visible{outline-color:var(--blue)}.wrap{width:calc(100% - var(--gutter)*2);max-width:1600px;margin-inline:auto}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:600;line-height:1.5}.secondary{color:var(--muted)}.small-note{font-size:11px;color:var(--muted)}.status-dot{display:inline-block;width:6px;height:6px;background:var(--blue);border-radius:50%;margin-right:8px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;background:var(--blue);color:var(--white);border:1px solid var(--blue);padding:20px 25px;font-size:13px;font-weight:600;border-radius:4px;transition:transform .2s,box-shadow .2s}.button span{font-size:22px;line-height:1}.button:hover{transform:translateY(-2px);box-shadow:0 5px 28px #2563ff35}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-100px;z-index:999;background:var(--white);color:var(--navy);padding:16px}.skip-link:focus{top:15px}.header{height:var(--header);padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:28px;position:absolute;top:0;left:0;width:100%;z-index:10;border-bottom:1px solid var(--line);background:#0b0f1ad9}.brand{display:block;width:192px;flex-shrink:0}.header nav{display:flex;gap:32px;margin-left:auto;margin-right:48px}.header nav a{font-size:11px;color:var(--muted);transition:color .2s}.header nav a:hover{color:white}.header-cta{font-size:11px;font-weight:600;white-space:nowrap;display:flex;gap:20px;align-items:center}.header-cta span{font-size:20px;color:var(--blue)}
.hero{height:100svh;min-height:720px}.hero-sticky{position:sticky;top:0;height:100svh;min-height:650px;overflow:hidden}.hero-poster,.hero-poster img,#hero-canvas,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-poster img{object-fit:cover}.hero-shade{background:linear-gradient(180deg,#0b0f1ad9 0%,#0b0f1a80 32%,transparent 65%,#0b0f1a 100%);pointer-events:none}.hero-content{position:relative;z-index:2;display:grid;grid-template-columns:1.3fr 1fr;gap:8%;padding-top:calc(var(--header) + 9vh)}.hero-content .eyebrow{margin-bottom:28px}h1{font-size:clamp(66px,7.2vw,116px);line-height:.98}h1 em{font-style:normal;color:var(--white)}.hero-copy{padding-top:42px;max-width:440px;font-size:14px}.hero-copy .secondary{font-size:12px;margin-top:15px}.hero-copy .button{margin-top:26px}.hero-bottom{position:absolute;bottom:35px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.12em;z-index:2}.scroll-note{display:flex;gap:18px;align-items:center;color:var(--muted);letter-spacing:.03em}.scroll-note>span{font-size:22px;color:white}.hero-counter{display:flex;align-items:center;gap:13px}.hero-counter i{display:block;width:80px;height:1px;background:var(--line)}.motion-ready .hero{height:260svh}.scroll-scene{position:relative}.scene-sticky{position:relative;min-height:100svh;padding-block:75px;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.motion-ready .scroll-scene>.scene-sticky{position:sticky;top:0;height:100svh;min-height:650px}.section-top{display:flex;justify-content:space-between;position:absolute;top:62px;left:0;right:0}.section-heading .eyebrow{margin-bottom:24px}.section-heading>p:last-child:not(.eyebrow){color:var(--muted);margin-top:24px;font-size:16px}.section-space{padding-block:140px}.fragmentation{background:radial-gradient(ellipse at 50% 65%,#2563ff0b,transparent 65%);border-top:1px solid var(--line)}.motion-ready .fragmentation{height:210svh}.fragment-stage{position:relative;padding-top:50px}.fragment-word,.organized-word{white-space:nowrap;font-weight:600;font-size:10vw;letter-spacing:-.07em;text-align:center;line-height:1.2}.fragment-word span{display:inline-block}.organized-word{display:none;color:var(--white)}.motion-ready .organized-word{display:block;position:absolute;left:0;right:0;top:50px;opacity:0}.fragment-network{display:flex;justify-content:space-between;position:relative;margin:75px auto 55px;width:80%;max-width:1050px;gap:15px}.fragment-network>span{position:relative;z-index:1;background:var(--navy);border:1px solid var(--line);padding:17px 25px;font-size:12px;border-radius:4px}.fragment-network b{color:var(--blue);margin-left:15px}.connection-line{position:absolute;top:50%;left:0;right:0;height:1px;background:var(--blue);transform-origin:left center}.fragment-copy{text-align:center;position:relative;height:85px;font-size:20px;color:var(--muted)}.fragment-copy strong{color:white;font-weight:500}.fragment-after{margin-top:20px}.motion-ready .fragment-after{position:absolute;inset:0;opacity:0;margin:0}.scene-footer{position:absolute;bottom:45px;left:0;right:0;display:flex;gap:24px;font-size:9px;letter-spacing:.12em;color:var(--muted)}.progress-track{flex:1;height:1px;background:var(--line);margin-top:5px}.progress-track i{display:block;width:100%;height:100%;background:var(--blue);transform:scaleX(0);transform-origin:left}
.ecosystem{border-top:1px solid var(--line)}.motion-ready .ecosystem{height:300svh}.system-layout{display:grid;grid-template-columns:1fr 2fr;gap:4%;align-items:center;margin-top:45px}.system-description{max-width:275px}.system-index{font-size:12px;color:var(--muted);display:block;margin-bottom:32px}.system-description>p{font-size:19px;line-height:1.55}.system-description .secondary{font-size:12px;margin-top:18px}.system-caption{font-size:9px;letter-spacing:.13em;display:flex;justify-content:space-between;margin-top:32px;border-top:1px solid var(--line);padding-top:20px}.system-caption>span{font-size:18px;color:var(--blue)}.system-stage{height:390px;position:relative;perspective:1000px}.system-connectors{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.system-connectors path{fill:none;stroke:var(--blue);stroke-width:1.5;stroke-dasharray:1200;stroke-dashoffset:0}.system-plane{position:absolute;width:46%;padding:21px;background:linear-gradient(120deg,#172136,#0b0f1a);border:1px solid #374151;border-radius:5px;box-shadow:0 16px 30px #0003}.plane-top{display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:.08em;color:var(--muted);margin-bottom:16px}.plane-top b{color:var(--blue);font-size:16px}.system-plane h3{font-size:15px;letter-spacing:-.035em;font-weight:500}.system-plane p{font-size:10px;color:var(--muted);margin-top:15px;line-height:1.5}.acquisition{top:0;left:0;transform:rotateY(8deg)}.service{top:32px;right:0;transform:rotateY(-7deg)}.crm{bottom:0;left:3%;transform:rotateY(8deg)}.sales{bottom:-18px;right:-2%;transform:rotateY(-7deg)}.mini-acquisition{display:flex;align-items:center;gap:7px;height:40px;margin-top:12px}.mini-acquisition i{width:14px;height:14px;border:1px solid var(--blue)}.mini-acquisition i:nth-child(2){opacity:.6}.mini-acquisition i:nth-child(3){opacity:.3}.mini-acquisition span{font-size:8px;color:var(--muted);margin-left:10px}.mini-chat{display:flex;flex-direction:column;gap:6px;margin-top:12px}.mini-chat span{font-size:8px;padding:7px;background:#f8fafc09;max-width:88%;border-radius:3px}.mini-chat span:last-child{align-self:flex-end;border-left:2px solid var(--blue)}.mini-pipeline{display:flex;gap:9px;margin-top:17px;height:30px}.mini-pipeline i{width:20%;background:#2563ff26;border-top:2px solid var(--blue)}.mini-pipeline i:nth-child(2){height:70%}.mini-pipeline i:nth-child(3){height:90%}.mini-pipeline i:nth-child(4){height:50%}.mini-sale{display:flex;align-items:center;gap:10px;font-size:9px;margin-top:24px;margin-bottom:8px}.mini-sale i{flex:1;height:1px;background:var(--blue)}
.operation{border-top:1px solid var(--line);background:linear-gradient(140deg,#0b0f1a 50%,#101b30)}.motion-ready .operation{height:340svh}.operation .section-heading h2{font-size:clamp(34px,3.8vw,62px)}.operation-layout{display:grid;grid-template-columns:1fr 1.65fr;gap:10%;margin-top:45px;align-items:center}.flow-steps{padding:0;list-style:none;counter-reset:steps}.flow-steps li{counter-increment:steps;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);transition:color .25s}.flow-steps li:before{content:'0' counter(steps);font-size:9px;margin-right:25px;color:var(--muted)}.flow-steps li.active{color:var(--white)}.flow-steps li.active:before{color:var(--blue)}.op-console{border:1px solid #374151;background:#0b0f1abf;box-shadow:0 25px 70px #0002;border-radius:5px}.console-top,.console-bottom{display:flex;justify-content:space-between;gap:15px;padding:19px 24px;font-size:8px;letter-spacing:.06em;color:var(--muted)}.console-top .status-dot{width:5px;height:5px}.signal-track{height:1px;background:var(--line);position:relative}.signal-track i{display:block;height:1px;width:100%;background:var(--blue);transform:scaleX(0);transform-origin:left}.signal-track b{position:absolute;width:7px;height:7px;top:-3px;left:0;background:var(--white);border-radius:50%;box-shadow:0 0 12px #2563ff}.op-content{padding:38px 35px;min-height:265px}.op-label{font-size:9px;letter-spacing:.15em;color:var(--muted)}.op-title{font-size:clamp(24px,2.4vw,38px);letter-spacing:-.05em;margin-top:15px;font-weight:500}.op-description{font-size:12px;color:var(--muted);margin-top:15px;max-width:470px;min-height:45px}.op-record{margin-top:25px;display:flex;gap:20px;justify-content:space-between;align-items:center;padding-top:18px;border-top:1px solid var(--line);font-size:10px}.op-record>span{color:var(--muted)}.op-record strong{font-weight:500}.console-bottom{border-top:1px solid var(--line);font-size:7px}
.light-section{background:var(--white);color:var(--navy);color-scheme:light}.portfolio{padding-block:110px 80px}.portfolio-heading{position:relative;padding-bottom:90px}.portfolio-heading .eyebrow{color:var(--gray);margin-bottom:30px}.portfolio-heading h2{font-size:clamp(52px,7vw,110px)}.portfolio-heading h2 span{color:var(--blue)}.portfolio-heading>p:last-child{position:absolute;right:0;bottom:100px;max-width:360px;font-size:14px;color:var(--gray)}.case{margin-bottom:100px}.case-meta{display:grid;grid-template-columns:1fr 4fr auto;align-items:center;padding:22px 0;border-top:1px solid #d8dce2;gap:18px}.case-number{font-size:10px;color:var(--gray)}.case-meta h3{font-size:25px;font-weight:500;letter-spacing:-.04em}.case-meta>span:last-child{font-size:8px;letter-spacing:.12em;color:var(--gray)}.case-window{height:clamp(340px,62vw,650px);overflow:hidden;background:#e5e7eb;position:relative;border:1px solid #d8dce2;border-radius:5px}.browser-bar{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;background:#e5e7eb;height:34px;padding:0 15px;font-size:8px;letter-spacing:.1em;color:#585d6a}.browser-bar>span:first-child{letter-spacing:3px;font-size:7px}.case-window img{width:100%;max-width:none}.case-caption{display:flex;justify-content:space-between;gap:40px;padding-top:25px}.case-caption p{font-size:22px;letter-spacing:-.035em;line-height:1.4}.case-caption>span{max-width:370px;font-size:12px;color:var(--gray);line-height:1.7}.case:last-child{margin-bottom:0}.visibility .section-heading h2{max-width:1000px}.visibility .section-heading h2 span{color:var(--white)}.indicators{display:grid;grid-template-columns:repeat(3,1fr);margin-top:65px}.indicators article{padding:30px 30px 35px 0;border-top:1px solid var(--line);margin-right:35px}.indicators article>span{font-size:8px;letter-spacing:.12em;color:var(--muted)}.indicators h3{font-size:19px;letter-spacing:-.03em;font-weight:500;margin-top:18px}.indicators p{font-size:11px;color:var(--muted);max-width:235px}.indicators article>div{height:70px;margin-block:25px;color:var(--blue)}.source-bars{display:flex;flex-direction:column;gap:9px;justify-content:center}.source-bars i{height:5px;background:var(--blue);width:70%;transform-origin:left}.source-bars i:nth-child(2){width:48%;opacity:.6}.source-bars i:nth-child(3){width:30%;opacity:.3}.response-line{display:flex;align-items:center;gap:8px}.response-line i{height:1px;width:18%;background:var(--blue)}.response-line i:nth-child(2){transform:rotate(-35deg)}.response-line i:nth-child(3){transform:rotate(35deg)}.task-lines{line-height:23px;font-size:13px}.task-lines i{display:inline-block;width:60%;height:1px;background:#374151;vertical-align:middle;margin-left:12px}.advance,.pipeline-bars{display:flex;align-items:flex-end;gap:14px}.advance i,.pipeline-bars i{width:16%;background:#2563ff26;border-top:2px solid var(--blue);height:25%}.advance i:nth-child(2),.pipeline-bars i:nth-child(2){height:45%}.advance i:nth-child(3),.pipeline-bars i:nth-child(3){height:65%}.advance i:nth-child(4),.pipeline-bars i:nth-child(4){height:90%}.pipeline-bars i:nth-child(5){height:60%}.conversion-line{display:flex;align-items:center;gap:10px}.conversion-line i{width:23%;height:1px;background:var(--blue)}.conversion-line b{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--blue);border-radius:50%;font-size:12px}.illustration-note{font-size:9px;color:var(--muted);padding-top:18px;border-top:1px solid var(--line)}
.testimonials{border-top:1px solid var(--line);background:linear-gradient(180deg,#0b0f1a,#101624)}.proof-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:28px}.proof-heading .eyebrow{grid-column:1/-1}.proof-heading>p:last-child{font-size:13px;max-width:400px;color:var(--muted);align-self:end;margin-bottom:6px}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:75px;align-items:start}.proof:nth-child(2){margin-top:65px}.proof:nth-child(3){margin-top:25px}.proof:nth-child(4){margin-top:100px}.proof-image{border:0;padding:0;display:block;width:100%;background:#f8fafc;position:relative;border-radius:5px;overflow:hidden}.proof-image img{width:100%;height:auto;transition:opacity .2s}.proof-image>span{position:absolute;bottom:0;left:0;right:0;padding:13px;background:var(--navy);color:var(--white);font-size:9px;text-align:left;border:1px solid var(--line)}.proof-image:hover img{opacity:.87}.proof figcaption{margin-top:22px}.proof figcaption>span{font-size:8px;letter-spacing:.14em;color:var(--muted)}.proof figcaption p{font-size:12px;margin-top:9px;line-height:1.6}.principles{background:var(--navy)}.motion-ready .principles{height:250svh}.principles .scene-sticky{align-items:center;text-align:center}.principles .eyebrow{margin-bottom:70px;color:var(--muted)}.principle-stack{position:relative;width:100%;text-align:center}.principle-stack p{font-size:clamp(35px,5vw,78px);letter-spacing:-.06em;line-height:1.15;font-weight:500;margin-block:30px}.principle-stack span{color:var(--muted)}.motion-ready .principle-stack{height:200px}.motion-ready .principle-stack p{position:absolute;inset:0;margin:0}.motion-ready .principle-stack p:not(:first-child){opacity:0}.principle-line{width:200px;height:1px;background:var(--line);margin-block:35px}.principle-line i{display:block;height:1px;width:100%;background:var(--blue);transform-origin:left}.principles .small-note{font-size:10px}.final-cta{min-height:900px;position:relative;overflow:hidden;display:grid;place-items:center;text-align:center;border-top:1px solid var(--line)}.direction-word{position:absolute;top:32px;font-size:24vw;font-weight:600;letter-spacing:-.07em;line-height:1;color:#f8fafc05;white-space:nowrap;left:50%;transform:translateX(-50%)}.final-art{position:absolute;inset:0;background:linear-gradient(#0b0f1a8c,#0b0f1ae8),url('../_Antigravity_assets/02 Hero/Hero desktop/frame_096.webp') center/cover;opacity:.5}.final-content{position:relative;padding-block:130px}.final-content .eyebrow{margin-bottom:40px}.final-content h2{font-size:clamp(36px,4.5vw,70px)}.final-content>p:not(.eyebrow){margin-top:28px;color:var(--muted);font-size:14px}.final-content .button{margin-top:35px}.contact-note{display:block;margin-top:18px;font-size:9px;color:var(--muted)}.footer{padding-block:35px;display:flex;justify-content:space-between;align-items:center;gap:35px;border-top:1px solid var(--line)}.footer img{width:170px}.footer p{font-size:10px;color:var(--muted)}.footer>span,.footer>a{font-size:9px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:8px;background:var(--navy);color:var(--white);padding:50px 30px 30px;max-height:90svh;max-width:calc(100vw - 32px);overflow-y:auto;-webkit-overflow-scrolling:touch}dialog::backdrop{background:#03060de6}.dialog-close{display:block;margin:0 0 20px auto;background:transparent;color:var(--white);border:1px solid var(--line);padding:10px 14px;font-size:12px}.dialog-close:hover{border-color:var(--blue)}#print-dialog{padding:15px;width:min(600px,95vw)}#print-dialog img{width:100%;height:auto}#contact-dialog{width:540px}#contact-dialog h2{font-size:32px;margin-block:20px}#contact-dialog>p:not(.eyebrow){font-size:13px;color:var(--muted)}#contact-dialog .button{margin-top:25px}#copy-status{margin-top:16px}.noscript-note{padding:20px;font-size:12px;text-align:center;background:#172136}
@media(min-width:1700px){.hero-content{padding-top:calc(var(--header) + 12vh)}.system-stage{height:470px}.system-plane{padding:28px}.system-plane p{font-size:12px}.system-plane h3{font-size:20px}}
@media(max-width:1100px){:root{--gutter:5vw;--header:80px}.header nav{gap:20px;margin-right:15px}.hero-content{gap:5%;grid-template-columns:1.15fr 1fr}.hero-copy{font-size:12px}.hero-copy .secondary{font-size:11px}.hero h1{font-size:8vw}.system-description>p{font-size:16px}.system-layout{grid-template-columns:1fr 2.5fr}.system-plane{padding:16px}.system-plane h3{font-size:13px}.system-plane p{font-size:9px}.fragment-network>span{padding:15px;font-size:10px}.operation-layout{gap:6%}.proof-grid{gap:15px}.case-meta h3{font-size:22px}}
@media(max-width:767px){:root{--gutter:6vw;--header:72px}html{scroll-padding-top:25px}.header{gap:10px}.brand{width:clamp(126px,38vw,143px)}.header nav{display:none}.header-cta{font-size:11px;gap:9px;min-height:44px;display:inline-flex;align-items:center;padding:8px 0}.header-cta span{font-size:17px}.hero,.hero-sticky{min-height:750px}.hero-sticky{height:100svh}.motion-ready .hero{height:205svh;min-height:1200px}.hero-content{display:block;padding-top:115px}.hero-content .eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:24px}.hero h1{font-size:clamp(46px,13vw,90px)}.hero-copy{padding-top:24px;max-width:95%;font-size:13.5px}.hero-copy .secondary{font-size:12px;line-height:1.7;margin-top:12px;max-width:390px}.hero-copy .button{margin-top:23px}.button{padding:17px 20px;font-size:12px;gap:30px}.hero-shade{background:linear-gradient(#0b0f1a9e 0%,#0b0f1a80 50%,#0b0f1a08 80%,#0b0f1a 100%)}.hero-bottom{bottom:26px;font-size:9.5px;letter-spacing:.03em}.hero-bottom>span:first-child{max-width:100px;line-height:1.7}.hero-counter{display:none}.scroll-note{font-size:9.5px}.scene-sticky{padding-block:55px}.motion-ready .scroll-scene>.scene-sticky{min-height:650px}.section-top{top:35px}.section-top .small-note{display:none}.eyebrow{font-size:10px;letter-spacing:.14em}.fragment-word,.organized-word{font-size:10.4vw;letter-spacing:-.075em}.fragment-stage{padding-top:15px}.motion-ready .organized-word{top:15px}.fragment-network{width:85%;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:50px auto 35px}.fragment-network>span{font-size:11px;padding:15px;text-align:center}.fragment-network>span:last-child{grid-column:1/-1;width:55%;justify-self:center}.connection-line{left:50%;top:15%;height:80%;width:1px}.fragment-copy{font-size:15px;height:80px}.scene-footer{bottom:30px;font-size:9.5px;gap:15px}.motion-ready .fragmentation{height:190svh}.section-heading h2{font-size:36px;line-height:1.1}.section-heading .eyebrow{margin-bottom:19px}.system-layout{display:block;margin-top:25px}.system-description{max-width:none}.system-index,.system-description .secondary,.system-caption{display:none}.system-description>p{font-size:13px;max-width:290px}.system-stage{height:350px;margin-top:30px}.system-plane{padding:13px;width:48%}.system-plane h3{font-size:13px;line-height:1.4}.system-plane p{font-size:10px}.plane-top{font-size:9.5px;margin-bottom:10px;letter-spacing:0}.plane-top b{font-size:12px}.mini-acquisition span{display:none}.mini-acquisition{height:26px;margin-top:10px}.mini-chat span{font-size:9px}.mini-sale{font-size:9.5px;gap:4px}.service{top:30px}.crm{left:0;bottom:5px}.sales{right:0;bottom:-10px}.motion-ready .ecosystem{height:250svh}.operation .section-heading h2{font-size:31px}.operation-layout{display:flex;flex-direction:column-reverse;gap:20px;margin-top:30px}.op-console{width:100%}.console-top{padding:15px 16px;font-size:9.5px}.op-content{padding:25px 20px;min-height:235px}.op-title{font-size:25px}.op-description{font-size:11.5px}.op-record{font-size:11px;gap:10px}.console-bottom{font-size:9px;padding:14px}.flow-steps{display:flex;flex-wrap:wrap;gap:6px 15px;margin:0;width:100%}.flow-steps li{border:0;font-size:11px;padding:4px 0}.flow-steps li:before{font-size:10px;margin-right:6px}.motion-ready .operation{height:290svh}.portfolio{padding-block:75px}.portfolio-heading{padding-bottom:55px}.portfolio-heading h2{font-size:55px}.portfolio-heading>p:last-child{position:static;margin-top:25px;font-size:12px}.case{margin-bottom:65px}.case-meta{grid-template-columns:45px 1fr;gap:10px;padding-block:18px}.case-meta h3{font-size:20px}.case-meta>span:last-child{grid-column:2;font-size:9.5px}.case-number{font-size:10px}.case-window{height:390px}.browser-bar{font-size:9px;height:28px;padding-inline:10px}.case-caption{display:block;padding-top:22px}.case-caption p{font-size:20px}.case-caption>span{display:block;margin-top:13px;font-size:12px}.section-space{padding-block:80px}.visibility .section-heading h2{font-size:35px}.section-heading>p:last-child:not(.eyebrow){font-size:13px}.indicators{grid-template-columns:1fr 1fr;margin-top:40px;gap:20px}.indicators article{padding:23px 0;margin:0}.indicators article>span{font-size:9.5px;letter-spacing:.05em}.indicators h3{font-size:15px;line-height:1.4}.indicators p{font-size:11px}.indicators article>div{height:50px;margin-block:20px}.illustration-note{font-size:10px}.proof-heading{display:block}.proof-heading .eyebrow{margin-bottom:20px}.proof-heading h2{font-size:40px}.proof-heading>p:last-child{margin-top:25px;font-size:12px}.proof-grid{grid-template-columns:1fr 1fr;gap:28px 15px;margin-top:40px}.proof:nth-child(n){margin-top:0}.proof:nth-child(even){margin-top:35px}.proof figcaption p{font-size:12px}.proof-image>span{font-size:10px;padding:10px}.proof figcaption>span{font-size:9.5px}.proof figcaption{margin-top:15px}.motion-ready .principles{height:210svh}.principles .eyebrow{margin-bottom:45px}.principle-stack p{font-size:clamp(28px,8.5vw,36px)}.motion-ready .principle-stack{height:150px}.final-cta{min-height:750px}.direction-word{top:75px;font-size:25vw}.final-content{padding-block:100px}.final-content h2{font-size:35px}.final-content>p:not(.eyebrow){font-size:13px}.final-content .eyebrow{margin-bottom:30px}.final-art{background-image:linear-gradient(#0b0f1aab,#0b0f1ae8),url('../_Antigravity_assets/02 Hero/Hero mobile/frame_096.webp')}.contact-note{font-size:11px}.footer{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding-block:30px}.footer img{width:140px}.footer p{font-size:10px}.footer>span,.footer>a{font-size:10px}.footer>a{text-align:right}.footer>a,.footer span a{min-height:40px;display:inline-flex;align-items:center}dialog{padding:30px 18px 24px}.dialog-close{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;position:sticky;top:0;z-index:10}#contact-dialog h2{font-size:22px;margin-block:14px}}
@media(max-width:360px){:root{--gutter:16px}.header{gap:8px}.header-cta{font-size:10.5px;gap:7px}.header-cta span{font-size:15px}}
@media(max-height:520px) and (orientation:landscape){:root{--header:56px}.header{height:56px}.hero-content{padding-top:68px}.scene-sticky{min-height:480px;padding-block:28px}}
@media(max-height:720px) and (min-width:768px){.hero-content{padding-top:130px}.hero-content .eyebrow{margin-bottom:20px}.hero h1{font-size:76px}.hero-copy{padding-top:20px}.scene-sticky{padding-block:40px}.section-heading h2{font-size:42px}.system-layout{margin-top:25px}.system-stage{height:330px}.system-plane{padding:14px}.system-plane p{margin-top:10px}.operation-layout{margin-top:25px}.op-content{padding-block:25px;min-height:230px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero{height:auto!important}.hero-sticky{position:relative}.scroll-scene{height:auto!important}.scroll-scene>.scene-sticky{position:relative!important;height:auto!important;min-height:0!important;padding-block:80px}.fragment-word{font-size:8vw}.organized-word{display:block!important;position:static!important;opacity:1!important;font-size:8vw;color:var(--blue);margin-top:20px}.fragment-after{position:static!important;opacity:1!important;margin-top:20px}.fragment-copy{height:auto}.section-top{position:static;margin-bottom:30px}.scene-footer{display:none}.principle-stack{height:auto!important}.principle-stack p{position:static!important;opacity:1!important;margin-block:40px}.hero-poster{opacity:1}.proof:nth-child(n){transform:none!important}.flow-steps li{color:var(--white)}.eco-cta-mobile,.flow-cta-mobile{opacity:1!important;transform:none!important;pointer-events:auto!important}.fragment-network>span{opacity:1!important;transform:none!important;filter:none!important}}

/* Keep perspective and reveal movement within their own composition. */
.system-layout>*{min-width:0}.system-stage{margin-right:18px;margin-left:8px}.system-plane{width:44%}.sales{right:0}.portfolio{overflow:clip}
@media(max-width:767px){.system-stage{margin-inline:0}.system-plane{width:47%}}

/* Persistent menu with a translucent, softly blurred background. */
.header {
  position: fixed;
  z-index: 100;
  background: rgba(11, 15, 26, .82);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

@media (prefers-reduced-motion: no-preference) {
  .scroll-note > span {
    display: inline-block;
    animation: scroll-arrow-float 2s ease-in-out infinite;
  }
}
@keyframes scroll-arrow-float {
  0%, 100% { transform: translateY(-3px); }
  50% { transform: translateY(3px); }
}

/* Incoming second-section panel covers only the departing hero. */
.motion-ready .fragmentation {
  z-index: 3;
  background-color: var(--navy);
  border-top-color: transparent;
}

/* Four independently drawn links; box positions and typography stay intact. */
.fragment-network .flow-connections {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.fragment-network .flow-connections path {
  fill: none;
  stroke: var(--blue);
  stroke-width: 1.5px;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}
@media (prefers-reduced-motion: reduce) {
  .fragment-network .flow-connections path { stroke-dashoffset: 0 !important; }
}

@media (max-width: 767px) {
  .fragmentation .fragment-network {
    grid-template-columns: 1fr;
    width: min(70%, 280px);
    gap: 14px;
    margin-block: 30px;
  }
  .fragmentation .fragment-network > span {
    padding-block: 12px;
  }
  .fragmentation .fragment-network > span:last-child {
    grid-column: auto;
    width: 100%;
    justify-self: stretch;
  }
}

/* Ambient Halos — Iluminação volumétrica sutil em azul Fluxalvo (#2563FF) */
.ecosystem .scene-sticky::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 72% 58% at 68% 50%, rgba(37, 99, 255, 0.075) 0%, rgba(37, 99, 255, 0.02) 42%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}
.ecosystem .eco-columns {
  position: relative;
  z-index: 1;
}

.operation .scene-sticky::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle 480px at 72% 56%, rgba(37, 99, 255, 0.08) 0%, rgba(37, 99, 255, 0.02) 48%, transparent 75%);
  pointer-events: none;
  z-index: 0;
}
.operation .section-heading,
.operation .operation-layout {
  position: relative;
  z-index: 1;
}

.portfolio {
  position: relative;
}
.portfolio::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 75% 360px at 50% 160px, rgba(37, 99, 255, 0.032) 0%, rgba(37, 99, 255, 0.008) 45%, transparent 72%);
  pointer-events: none;
  z-index: 0;
}
.portfolio-heading,
.portfolio .case {
  position: relative;
  z-index: 1;
}

@media (max-width: 767px) {
  .ecosystem .scene-sticky::before {
    background: radial-gradient(ellipse 85% 50% at 50% 68%, rgba(37, 99, 255, 0.065) 0%, rgba(37, 99, 255, 0.015) 45%, transparent 72%);
  }
  .operation .scene-sticky::before {
    background: radial-gradient(circle 320px at 50% 52%, rgba(37, 99, 255, 0.065) 0%, rgba(37, 99, 255, 0.015) 45%, transparent 72%);
  }
  .portfolio::before {
    background: radial-gradient(ellipse 90% 280px at 50% 110px, rgba(37, 99, 255, 0.025) 0%, transparent 68%);
  }
}

/* ==========================================================================
   NÍVEL 1.2 — GLOW NAS BORDAS + GLASSMORPHISM CONTIDO
   Interface corporativa premium + acabamento tecnológico contemporâneo
   ========================================================================== */

/* 1. SEÇÃO PORTFÓLIO: Molduras digitais com barra translúcida e elevação natural */
.case-window {
  border: 1px solid rgba(203, 213, 225, 0.85);
  border-radius: 8px;
  box-shadow:
    0 16px 40px -8px rgba(15, 23, 42, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.75);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.case:hover .case-window {
  border-color: rgba(37, 99, 255, 0.32);
  box-shadow:
    0 22px 50px -10px rgba(15, 23, 42, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}
.browser-bar {
  background: rgba(241, 245, 249, 0.88);
  backdrop-filter: blur(8px) saturate(110%);
  -webkit-backdrop-filter: blur(8px) saturate(110%);
  border-bottom: 1px solid rgba(203, 213, 225, 0.8);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

/* 2. SEÇÃO DEPOIMENTOS: Molduras com elevação precisa e barra de vidro contida */
.proof-image {
  border: 1px solid rgba(148, 163, 184, 0.12);
  border-radius: 8px;
  box-shadow:
    0 18px 38px -6px rgba(0, 0, 0, 0.55),
    0 0 18px rgba(37, 99, 255, 0.035),
    inset 0 1px 0 rgba(255, 255, 255, 0.10);
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.proof-image:hover {
  border-color: rgba(37, 99, 255, 0.36);
  box-shadow:
    0 22px 46px -6px rgba(0, 0, 0, 0.65),
    0 0 22px rgba(37, 99, 255, 0.08),
    inset 0 1px 0 rgba(147, 197, 253, 0.25);
  transform: translateY(-2px);
}
.proof-image > span {
  background: rgba(11, 15, 26, 0.72);
  backdrop-filter: blur(8px) saturate(110%);
  -webkit-backdrop-filter: blur(8px) saturate(110%);
  border: 0;
  border-top: 1px solid rgba(148, 163, 184, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

/* 3. DIÁLOGOS: Vidro escuro corporativo com rim glow sutil */
dialog {
  background: rgba(11, 15, 26, 0.90);
  backdrop-filter: blur(12px) saturate(110%);
  -webkit-backdrop-filter: blur(12px) saturate(110%);
  border: 1px solid rgba(148, 163, 184, 0.14);
  box-shadow:
    0 30px 80px rgba(0, 0, 0, 0.75),
    0 0 28px rgba(37, 99, 255, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.10);
}
dialog::backdrop {
  background: rgba(3, 6, 13, 0.88);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.dialog-close {
  cursor: pointer;
  touch-action: manipulation;
  background: rgba(17, 24, 39, 0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(148, 163, 184, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease, background-color 0.2s ease;
}
.dialog-close:hover {
  border-color: rgba(37, 99, 255, 0.45);
  background: rgba(23, 33, 54, 0.75);
  box-shadow: inset 0 1px 0 rgba(37, 99, 255, 0.30), 0 0 12px rgba(37, 99, 255, 0.15);
}
.dialog-close:active {
  transform: scale(0.96);
}
.dialog-close:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
}

/* 4. ADAPTAÇÕES MOBILE (desempenho e leveza visual) */
@media (max-width: 767px) {
  .case-window {
    border-radius: 6px;
    box-shadow:
      0 10px 24px -4px rgba(15, 23, 42, 0.08);
  }
  .browser-bar {
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
  }
  .proof-image {
    border-radius: 6px;
    box-shadow:
      0 12px 26px -4px rgba(0, 0, 0, 0.45),
      inset 0 1px 0 rgba(255, 255, 255, 0.08);
  }
  .proof-image > span {
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
  }
}

/* CTA button below proof prints */
.proof-cta {
  display: flex;
  justify-content: center;
  margin-top: 54px;
  position: relative;
  z-index: 2;
}

@media (max-width: 767px) {
  .proof-cta {
    margin-top: 36px;
  }
}

/* 5. SEÇÃO 08: DIREÇÃO COMO BACKGROUND WATERMARK */
.final-cta {
  position: relative;
  overflow: hidden;
}

.direction-word {
  position: absolute;
  left: 50%;
  top: 38% !important;
  transform: translate(-50%, -50%);
  width: 100vw;
  max-width: 100%;
  text-align: center;
  font-size: clamp(75px, 20vw, 320px) !important;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 0.9;
  color: rgba(248, 250, 252, 0.08) !important;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  z-index: 1;
}

.final-art {
  display: none !important;
}

.final-content {
  position: relative;
  z-index: 2;
}

@media (max-width: 767px) {
  .direction-word {
    top: 36% !important;
    font-size: clamp(55px, 21.5vw, 130px) !important;
  }
}

/* 6. ESTILOS DE ANIMAÇÃO DE TEXTO HERO */
.hero-text-anim {
  will-change: transform, opacity, filter;
}

.hero-keyword-glow {
  display: inline-block;
  transition: text-shadow 0.6s ease;
}

/* ==========================================================================
   NÍVEL 2.1 — TICKER / FAIXA DE MOVIMENTO CONTÍNUO
   Ritmo institucional contemporâneo, loop infinito linear e fades laterais
   ========================================================================== */
.ticker {
  position: relative;
  width: 100%;
  max-width: 100vw;
  height: 58px;
  overflow: hidden;
  background: #0b0f1a;
  background-image: radial-gradient(ellipse 65% 100% at 50% 50%, rgba(37, 99, 255, 0.045) 0%, transparent 75%);
  border-top: 1px solid rgba(37, 99, 255, 0.12);
  border-bottom: 1px solid rgba(148, 163, 184, 0.08);
  display: flex;
  align-items: center;
  user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
  z-index: 2;
  mask-image: linear-gradient(90deg, 
    transparent 0%, 
    rgba(0, 0, 0, 0.3) 2%, 
    black 8%, 
    black 92%, 
    rgba(0, 0, 0, 0.3) 98%, 
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(90deg, 
    transparent 0%, 
    rgba(0, 0, 0, 0.3) 2%, 
    black 8%, 
    black 92%, 
    rgba(0, 0, 0, 0.3) 98%, 
    transparent 100%
  );
}

.ticker-track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: ticker-slide 38s linear infinite;
}

.ticker-group {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 28px;
  padding-right: 28px;
}

.ticker-group span {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(248, 250, 252, 0.52);
  white-space: nowrap;
}

.ticker-sep {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 8.5px !important;
  color: rgba(37, 99, 255, 0.50) !important;
  text-shadow: 0 0 10px rgba(37, 99, 255, 0.35);
  line-height: 1;
}

@keyframes ticker-slide {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}

@media (max-width: 767px) {
  .ticker {
    height: 46px;
    border-top-color: rgba(37, 99, 255, 0.10);
    border-bottom-color: rgba(148, 163, 184, 0.06);
    mask-image: linear-gradient(90deg, 
      transparent 0%, 
      black 6%, 
      black 94%, 
      transparent 100%
    );
    -webkit-mask-image: linear-gradient(90deg, 
      transparent 0%, 
      black 6%, 
      black 94%, 
      transparent 100%
    );
  }

  .ticker-track {
    animation-duration: 28s;
  }

  .ticker-group {
    gap: 20px;
    padding-right: 20px;
  }

  .ticker-group span {
    font-size: 9.5px;
    letter-spacing: 0.14em;
    color: rgba(248, 250, 252, 0.50);
  }

  .ticker-sep {
    font-size: 7px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ticker-track {
    animation: none !important;
    transform: none !important;
  }
}

/* ==========================================================================
   NÍVEL 2.2 — MICRO 3D / TILT SUTIL NOS CARDS
   ========================================================================== */
@media (hover: hover) and (pointer: fine) {
  .case-window,
  .proof-image {
    transform-style: preserve-3d;
    will-change: transform;
    transform-origin: center center;
  }

  .case-window .browser-bar {
    transform: translateZ(5px);
    transform-style: preserve-3d;
    backface-visibility: hidden;
  }

  .proof-image {
    /* Remove CSS transform transition on proof-image so it doesn't fight RAF lerp */
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
  }

  .proof-image:hover {
    /* JS lerp controls the smooth 3D tilt + micro lift */
    transform: none;
  }

  .proof-image > span {
    transform: translateZ(7px);
    backface-visibility: hidden;
  }
}

@media (prefers-reduced-motion: reduce) {
  .case-window,
  .proof-image {
    transform: none !important;
    will-change: auto !important;
  }
}

/* ==========================================================================
   NÍVEL 2.3 — SPOTLIGHT SUTIL RESPONSIVO AO CURSOR
   ========================================================================== */
@media (hover: hover) and (pointer: fine) {
  /* 1. SEÇÃO PORTFÓLIO: Reflexo sutil sobre a moldura do projeto */
  .case-window {
    position: relative;
  }

  .case-window .browser-bar {
    position: relative;
    z-index: 3;
  }

  .case-window::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 2;
    opacity: var(--spot-opacity, 0);
    background: radial-gradient(
      circle 320px at var(--spot-x, 50%) var(--spot-y, 50%),
      rgba(255, 255, 255, 0.08) 0%,
      rgba(147, 197, 253, 0.045) 25%,
      rgba(37, 99, 255, 0.018) 55%,
      transparent 75%
    );
    transition: opacity 0.3s ease;
  }

  /* 2. SEÇÃO DEPOIMENTOS: Iluminação responsiva sobre o mockup escuro */
  .proof-image {
    position: relative;
  }

  .proof-image > span {
    position: relative;
    z-index: 2;
  }

  .proof-image::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 1;
    opacity: var(--spot-opacity, 0);
    background: radial-gradient(
      circle 240px at var(--spot-x, 50%) var(--spot-y, 50%),
      rgba(147, 197, 253, 0.09) 0%,
      rgba(37, 99, 255, 0.065) 26%,
      rgba(37, 99, 255, 0.015) 54%,
      transparent 75%
    );
    transition: opacity 0.28s ease;
  }

  /* 3. SEÇÃO VISIBILIDADE: Glow sutil de superfície tecnológica */
  .vis-card::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 0;
    opacity: var(--spot-opacity, 0);
    background: radial-gradient(
      circle 200px at var(--spot-x, 50%) var(--spot-y, 50%),
      rgba(147, 197, 253, 0.08) 0%,
      rgba(37, 99, 255, 0.05) 28%,
      rgba(37, 99, 255, 0.012) 56%,
      transparent 78%
    );
    transition: opacity 0.28s ease;
  }
}

@media (prefers-reduced-motion: reduce) {
  .case-window::before,
  .proof-image::before,
  .vis-card::after {
    display: none !important;
    opacity: 0 !important;
  }
}

/* ==========================================================================
   NÍVEL 3.1 — MORPH TRANSITIONS ENTRE SEÇÕES
   Transições orgânicas de atmosfera, gradientes contínuos e halos entre blocos
   ========================================================================== */

/* 1. Transição Hero → Ponto de Partida / Fragmentação (.fragmentation) */
.fragmentation {
  position: relative;
}

.fragmentation::before {
  content: "";
  position: absolute;
  top: -80px;
  left: 0;
  right: 0;
  height: 80px;
  pointer-events: none;
  z-index: 10;
  background:
    linear-gradient(to top, #0b0f1a 15%, rgba(11, 15, 26, 0.82) 42%, rgba(11, 15, 26, 0.25) 75%, transparent 100%),
    radial-gradient(ellipse 65% 70px at 50% 100%, rgba(37, 99, 255, 0.10) 0%, transparent 70%);
  transform: translateY(var(--morph-y, 0px));
  opacity: var(--morph-opacity, 1);
  will-change: transform, opacity;
}

/* 2. Transição Operação → Portfólio (Escuro para Claro) */
.operation {
  position: relative;
}

.operation::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 140px;
  pointer-events: none;
  z-index: 2;
  background:
    linear-gradient(to bottom, transparent 0%, rgba(16, 27, 48, 0.35) 35%, rgba(26, 42, 70, 0.65) 70%, rgba(220, 226, 236, 0.22) 100%),
    radial-gradient(ellipse 70% 85px at 50% 100%, rgba(37, 99, 255, 0.10) 0%, transparent 68%);
  transform: translateY(var(--morph-y, 0px));
  opacity: var(--morph-opacity, 1);
  will-change: transform, opacity;
}

.portfolio::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 85px;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(to bottom, rgba(226, 232, 240, 0.55) 0%, rgba(241, 245, 249, 0.25) 50%, transparent 100%);
}

/* 3. Transição Portfólio → Visibilidade (Claro para Escuro) */
.visibility {
  position: relative;
}

.visibility .section-heading {
  position: relative;
  z-index: 2;
}

.visibility::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 125px;
  pointer-events: none;
  z-index: 1;
  background:
    linear-gradient(to bottom, rgba(226, 232, 240, 0.40) 0%, rgba(15, 23, 42, 0.55) 45%, #0b0f1a 100%),
    radial-gradient(ellipse 70% 90px at 50% 0%, rgba(37, 99, 255, 0.09) 0%, transparent 70%);
  transform: translateY(var(--morph-y, 0px));
  opacity: var(--morph-opacity, 1);
  will-change: transform, opacity;
}

/* 4. Transição Visibilidade → Confiança (Continuidade de Horizonte) */
.testimonials {
  position: relative;
}

.testimonials .wrap {
  position: relative;
  z-index: 2;
}

.testimonials::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 85px;
  pointer-events: none;
  z-index: 1;
  background: radial-gradient(ellipse 65% 70px at 50% 0%, rgba(37, 99, 255, 0.08) 0%, rgba(37, 99, 255, 0.018) 48%, transparent 75%);
  transform: translateY(var(--morph-y, 0px));
  opacity: var(--morph-opacity, 1);
  will-change: transform, opacity;
}

/* Adaptações Mobile (leves, estáticas, mantendo contraste) */
@media (max-width: 767px) {
  .fragmentation::before {
    height: 60px;
    top: -60px;
    transform: none !important;
  }

  .operation::after {
    height: 100px;
    transform: none !important;
  }

  .portfolio::after {
    height: 60px;
  }

  .visibility::before {
    height: 90px;
    transform: none !important;
  }

  .testimonials::before {
    height: 60px;
    transform: none !important;
  }
}

/* Acessibilidade: prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .fragmentation::before,
  .operation::after,
  .portfolio::after,
  .visibility::before,
  .testimonials::before {
    transform: none !important;
    opacity: 1 !important;
    will-change: auto !important;
  }
}

/* ==========================================================================
   NÍVEL 3.2 — LENIS SMOOTH SCROLLING
   ========================================================================== */
html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

/* ==========================================================================
   NÍVEL 3.3 — WEBGL AMBIENTAL (SEÇÃO 07 / PRINCÍPIOS)
   Camada gráfica ambiental em WebGL puro de baixa densidade
   ========================================================================== */
.principles {
  position: relative;
}

.principles-webgl {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  transition: opacity 1.2s ease;
}

.principles-webgl.is-ready {
  opacity: 1;
}

.principles .scene-sticky {
  position: relative;
  z-index: 1;
}

/* Fallback visual estático */
.principles::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(ellipse 65% 55% at 50% 50%, rgba(37, 99, 255, 0.05) 0%, transparent 70%);
}

@media (max-width: 767px) {
  .principles-webgl {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .principles-webgl {
    display: none !important;
  }
}

/* ==========================================================================
   NÍVEL 4.0 — POLISH / MICRO-CRAFT & INTERACTIVE FEEDBACK
   Refinamento tátil dos botões de conversão, CTA header, estados de foco e links
   ========================================================================== */

/* 1. Botões de Ação Primária (.button) */
.button {
  touch-action: manipulation;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.button span {
  display: inline-block;
  transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

.button:hover span {
  transform: translate(3px, -3px);
}

.button:active {
  transform: translateY(0);
  box-shadow: 0 2px 14px rgba(37, 99, 255, 0.28);
}

.button:active span {
  transform: translate(0, 0);
}

.button:focus-visible {
  outline: 2px solid var(--white);
  outline-offset: 3px;
  box-shadow: 0 0 0 4px rgba(37, 99, 255, 0.35);
}

/* 2. Header CTA & Navigation */
.header-cta {
  touch-action: manipulation;
  transition: color 0.2s ease, opacity 0.2s ease;
}

.header-cta span {
  display: inline-block;
  transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

.header-cta:hover {
  color: #ffffff;
}

.header-cta:hover span {
  transform: translate(2px, -2px);
}

.header-cta:active {
  opacity: 0.82;
}

.header-cta:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 4px;
  border-radius: 2px;
}

.header nav a:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 4px;
  border-radius: 2px;
}

/* 3. Rodapé (Footer links) */
.footer a {
  transition: color 0.2s ease;
}

.footer a:hover {
  color: var(--white);
}

.footer a:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 3px;
  border-radius: 2px;
}

/* 4. Acessibilidade de foco no Skip Link */
.skip-link:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
}







