:root{color-scheme:dark;--bg:#080c0b;--bg2:#0d1411;--panel:#101914;--line:rgba(199,232,205,.16);--text:#eff5ed;--muted:#a5b5a8;--lime:#a9f26c;--lime-soft:#83c978;--mono:"DM Mono",monospace;--sans:Manrope,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);overflow-x:hidden}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}::selection{background:var(--lime);color:#071008}.page-gutter{padding-left:clamp(24px,6vw,108px);padding-right:clamp(24px,6vw,108px)}.section-pad{padding-top:clamp(96px,11vw,190px);padding-bottom:clamp(96px,11vw,190px)}.skip-link{position:fixed;z-index:100;left:12px;top:-60px;padding:12px 18px;background:var(--lime);color:var(--bg)}.skip-link:focus{top:12px}.site-header{position:absolute;z-index:30;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;min-height:94px;padding:0 clamp(24px,6vw,108px);border-bottom:1px solid rgba(255,255,255,.1)}.brand{display:inline-flex;align-items:center;gap:14px;font-size:15px;font-weight:800;letter-spacing:-.045em;white-space:nowrap}.brand-separator{color:var(--lime);margin:0 2px;font-weight:400}.brand-mark{width:29px;height:27px;display:flex;align-items:flex-end;gap:4px;transform:skew(-12deg)}.brand-mark i{display:block;width:6px;background:var(--lime);border-radius:2px 2px 0 0}.brand-mark i:nth-child(1){height:12px}.brand-mark i:nth-child(2){height:24px}.brand-mark i:nth-child(3){height:17px}.desktop-nav{display:flex;align-items:center;gap:clamp(18px,2.2vw,40px);margin-left:auto;margin-right:clamp(25px,4vw,72px)}.desktop-nav a{font-size:12px;font-weight:600;color:#cbd7ce;transition:color .25s}.desktop-nav a:hover,.desktop-nav a:focus-visible{color:var(--lime)}.header-actions{display:flex;align-items:center}.header-cta{display:inline-flex;align-items:center;gap:28px;padding:13px 17px;border:1px solid var(--lime);font-size:11px;font-weight:800;color:var(--lime);white-space:nowrap;transition:background .25s,color .25s}.menu-toggle,.mobile-nav{display:none}.hero{min-height:800px;height:100svh;max-height:1200px;position:relative;overflow:hidden;background:#070b0a}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(to right,rgba(176,230,162,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(176,230,162,.04) 1px,transparent 1px);background-size:11.11% 100%,100% 25%;mask-image:linear-gradient(to right,transparent 12%,#000 60%);pointer-events:none}.terrain{position:absolute;inset:0;width:100%;height:100%;opacity:.98}.hero-vignette{position:absolute;inset:0;background:linear-gradient(90deg,#070b0a 0%,rgba(7,11,10,.96) 26%,rgba(7,11,10,.45) 50%,transparent 80%),linear-gradient(0deg,#070b0a 0%,transparent 23%,transparent 80%,rgba(7,11,10,.25));pointer-events:none}.hero-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;height:100%;padding-top:65px;padding-bottom:100px;pointer-events:none}.hero-content a,.hero-content button{pointer-events:auto}.eyebrow,.section-label,.hero-bottom,.card-top,.capabilities-progress,.preview-top,.preview-title small,.preview-badge,.preview-chart-top,.preview-side>span,.feedback-note,.final-cta small,.footer-top>span,.footer-bottom,.preview-caption{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.12em}.hero-eyebrow{display:flex;align-items:center;gap:12px;color:var(--lime);margin-bottom:30px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 18px var(--lime)}.eyebrow-index{margin-left:26px;color:#6c8770}.hero h1{font-size:clamp(62px,6.7vw,116px);line-height:.99;letter-spacing:-.055em;word-spacing:.07em;font-weight:300;max-width:1140px;margin:0}.headline-light{font-weight:300;color:#e9eee8}.hero h1 strong{display:block;font-weight:800;color:var(--text)}.hero-copy{max-width:485px;margin:34px 0 0;color:#b9c8bc;font-size:clamp(15px,1.25vw,18px);line-height:1.7;font-weight:400}.hero-buttons{display:flex;align-items:center;gap:28px;margin-top:39px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:54px;padding:0 21px;font-size:12px;font-weight:800;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--lime);color:#071008}.button-primary:hover{background:#c4ff9b}.button-text{padding-left:2px;padding-right:2px;border-bottom:1px solid rgba(233,245,235,.45);min-height:45px}.button-text span{color:var(--lime)}.hero-bottom{position:absolute;z-index:3;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding-bottom:30px;color:#78917e}.hero-bottom a{color:#bbd0be}.hero-bottom a span{color:var(--lime);margin-left:15px}.section-label{display:flex;align-items:center;gap:24px;color:var(--lime);white-space:nowrap}.section-label .line{height:1px;background:var(--line);flex:1}.section-label span:last-child{color:#78917e}.intro{background:#e9eee6;color:#101812}.intro .section-label{color:#315c35}.intro .section-label .line{background:rgba(20,57,30,.18)}.intro .section-label span:last-child{color:#67796a}.intro-layout{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,2.4fr);gap:48px;margin-top:83px;align-items:start}.intro-kicker{font-family:var(--mono);font-size:11px;color:#59735e;text-transform:uppercase;letter-spacing:.12em;margin:11px 0}.intro h2{font-size:clamp(46px,6vw,99px);line-height:1.05;letter-spacing:-.07em;font-weight:700;max-width:1100px;margin:0}.intro h2 em,.journey h2 em,.product h2 em,.final-cta h2 em{font-style:normal;font-weight:300}.intro-copy{grid-column:2;max-width:610px;margin:28px 0 0;color:#4c6252;font-size:17px;line-height:1.8}.capabilities{background:#090e0b;padding-bottom:80px;overflow:clip}.capabilities-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin:72px 0 66px}.capabilities h2,.journey h2,.product h2,.feedback h2,.final-cta h2{font-size:clamp(52px,6.1vw,100px);line-height:1.04;letter-spacing:-.075em;margin:0}.capabilities h2 span{font-weight:300}.capabilities h2 strong{font-weight:800}.capabilities-heading p,.journey-head p,.product-head p{max-width:370px;color:var(--muted);line-height:1.75;font-size:15px;margin:0 0 8px}.horizontal-stage{height:275vh;position:relative}.horizontal-sticky{height:100vh;position:sticky;top:0;display:flex;align-items:center;overflow:hidden}.cards-track{display:flex;gap:22px;padding-left:clamp(24px,6vw,108px);padding-right:clamp(24px,6vw,108px);will-change:transform}.cap-card{flex:0 0 min(70vw,640px);height:min(67vh,560px);min-height:460px;border:1px solid #2b3c2f;background:linear-gradient(145deg,#101913,#0b110d 80%);display:flex;flex-direction:column;position:relative;overflow:hidden}.card-top{display:flex;justify-content:space-between;margin:31px 35px 0;color:var(--lime)}.card-top span:last-child{font-family:var(--sans);font-size:18px;line-height:10px}.card-art{position:relative;margin:45px 35px 25px;flex:1;overflow:hidden;border-bottom:1px solid var(--line)}.card-bottom{margin:0 35px 37px}.card-bottom h3{font-size:clamp(30px,3vw,48px);letter-spacing:-.06em;margin:0 0 10px}.card-bottom p{max-width:430px;line-height:1.6;color:#9daf9e;font-size:14px;margin:0}.art-screen{display:flex;gap:35px;align-items:center}.screen-rows{width:45%;display:grid;gap:13px}.screen-rows i{height:9px;background:linear-gradient(90deg,rgba(169,242,108,.45),rgba(169,242,108,.07));border-radius:8px}.screen-rows i:nth-child(2){width:70%}.screen-rows i:nth-child(3){width:90%}.screen-rows i:nth-child(4){width:57%}.screen-rows i:nth-child(5){width:76%}.screen-bars{display:flex;align-items:end;gap:7px;height:70%;width:45%;border-bottom:1px solid #6ca865}.screen-bars i{flex:1;background:linear-gradient(0deg,#447b43,#b5f578);height:30%;opacity:.85}.screen-bars i:nth-child(2){height:61%}.screen-bars i:nth-child(3){height:45%}.screen-bars i:nth-child(4){height:82%}.screen-bars i:nth-child(5){height:55%}.screen-bars i:nth-child(6){height:95%}.screen-bars i:nth-child(7){height:73%}.art-chart svg{width:100%;height:100%}.grid-line{fill:none;stroke:rgba(177,222,171,.13);stroke-width:1}.chart-line{fill:none;stroke:var(--lime);stroke-width:3;filter:drop-shadow(0 0 9px #82e464)}.chart-cross{position:absolute;left:57%;top:32%;width:1px;height:65%;background:rgba(255,255,255,.2)}.art-report{display:flex;align-items:center;justify-content:center;gap:45px}.report-circle{width:min(45%,210px);aspect-ratio:1;border:1px solid #7abf67;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 30px rgba(110,174,91,.05),0 0 0 65px rgba(110,174,91,.03)}.report-circle span{font:500 10px var(--mono);letter-spacing:.2em;color:var(--lime)}.report-lines{display:grid;gap:18px;width:35%}.report-lines i{height:2px;background:#729873}.report-lines i:nth-child(2){width:70%}.report-lines i:nth-child(3){width:95%}.report-lines i:nth-child(4){width:48%}.art-ai{display:grid;place-items:center}.ai-orbit{position:absolute;border:1px solid rgba(169,242,108,.3);border-radius:50%;width:210px;height:210px}.orbit-two{width:320px;height:320px;opacity:.55}.ai-core{font-size:98px;font-weight:300;color:var(--lime);line-height:1}.ai-node{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 20px var(--lime)}.n1{transform:translate(-97px,-84px)}.n2{transform:translate(149px,67px)}.n3{transform:translate(-125px,96px)}.art-portfolio{display:grid;place-items:center}.portfolio-ring{width:210px;height:210px;border-radius:50%;background:conic-gradient(#b7f779 0 37%,#5e9c61 37% 66%,#284a37 66% 86%,#142b20 86% 100%);mask:radial-gradient(circle at center,transparent 0 60%,black 61%)}.portfolio-legend{position:absolute;bottom:14%;right:14%;display:grid;gap:10px}.portfolio-legend i{width:70px;height:5px;background:#b7f779}.portfolio-legend i:nth-child(2){width:54px;background:#5e9c61}.portfolio-legend i:nth-child(3){width:38px;background:#284a37}.capabilities-progress{display:flex;align-items:center;gap:25px;color:#738c76}.progress-rail{flex:1;height:1px;background:#324437}.progress-rail i{display:block;width:20%;height:2px;background:var(--lime);transition:width .1s linear}.journey{background:#0d1510}.journey-head,.product-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin:72px 0 66px}.journey-head h2,.product-head h2{max-width:900px}.journey-body{display:grid;grid-template-columns:1.15fr 1fr;gap:10%;align-items:center}.journey-visual{aspect-ratio:1.1;position:relative;border:1px solid var(--line);background:radial-gradient(circle at center,#173321 0,#0c1710 30%,#0a110d 67%);overflow:hidden;display:grid;place-items:center}.journey-visual:before,.journey-visual:after{content:"";position:absolute;width:70%;height:70%;border:1px solid rgba(164,240,136,.13);border-radius:50%}.journey-visual:after{width:42%;height:42%}.journey-field{position:absolute;inset:0}.journey-field i{position:absolute;width:3px;height:3px;border-radius:50%;background:#a9f26c;opacity:var(--o,.5);left:var(--x);top:var(--y);box-shadow:0 0 8px #a9f26c;animation:drift var(--d,5s) ease-in-out infinite alternate}.journey-center{position:relative;z-index:1;font-size:82px;font-weight:300;color:var(--lime);text-shadow:0 0 50px #68c151}.journey-steps{margin:0;padding:0;list-style:none}.journey-steps li{display:grid;grid-template-columns:68px 1fr;gap:28px;padding:28px 0;border-top:1px solid var(--line)}.journey-steps li:last-child{border-bottom:1px solid var(--line)}.journey-steps li>span{font:500 11px var(--mono);color:var(--lime);padding-top:9px}.journey-steps h3{margin:0 0 11px;font-size:25px;letter-spacing:-.04em}.journey-steps p{margin:0;color:#9daf9e;line-height:1.7;font-size:14px;max-width:430px}.product{background:#e9eee6;color:#111b13}.product .section-label{color:#315c35}.product .section-label .line{background:rgba(20,57,30,.18)}.product .section-label span:last-child{color:#67796a}.product-head p{color:#516555}.product-preview{display:flex;min-height:490px;border:1px solid #354d39;background:#0b120e;box-shadow:0 36px 70px rgba(24,48,28,.15);color:#edf4ed;overflow:hidden}.preview-sidebar{width:67px;flex-shrink:0;border-right:1px solid #26392a;display:flex;flex-direction:column;align-items:center;gap:31px;padding-top:24px}.mini-brand{font-size:28px;color:var(--lime);line-height:1}.preview-sidebar i{height:13px;width:13px;border:1px solid #517358;transform:rotate(45deg)}.preview-sidebar i:nth-child(2){background:#83cf65;border-color:#83cf65}.preview-main{flex:1;min-width:0}.preview-top{display:flex;justify-content:space-between;padding:25px 30px;border-bottom:1px solid #26392a;color:#7a9680}.preview-top b{color:var(--lime)}.preview-title{display:flex;justify-content:space-between;align-items:center;padding:35px 35px 30px}.preview-title small{display:block;color:#87aa85;margin-bottom:11px}.preview-title strong{font-size:clamp(26px,3vw,46px);font-weight:500;letter-spacing:-.06em}.preview-badge{color:var(--lime);border:1px solid #4d7750;padding:10px 13px}.preview-content{display:grid;grid-template-columns:1.65fr 1fr;gap:18px;margin:0 35px 35px}.preview-chart,.preview-side{border:1px solid #26392a;background:#111c14;min-height:290px}.preview-chart{padding:24px}.preview-chart-top{display:flex;justify-content:space-between;color:#86a288}.preview-chart svg{width:100%;height:220px;margin-top:14px}.preview-line{fill:none;stroke:#a9f26c;stroke-width:3;filter:drop-shadow(0 0 7px #80c469)}.preview-side{padding:26px;display:flex;flex-direction:column}.preview-side>span{color:var(--lime)}.preview-side strong{font-size:25px;letter-spacing:-.05em;line-height:1.25;margin-top:35px}.preview-side p{font-size:13px;color:#9cb09f;line-height:1.6}.preview-note{display:grid;gap:8px;margin-top:auto}.preview-note i{height:3px;background:#54785a}.preview-note i:nth-child(2){width:70%}.preview-note i:nth-child(3){width:85%}.preview-caption{color:#6c816f;margin-top:20px;letter-spacing:.06em}.feedback{background:#101912}.feedback-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:12%;align-items:end;margin-top:85px}.feedback h2{font-size:clamp(48px,5.5vw,88px)}.feedback p{color:#b0c1b2;font-size:17px;line-height:1.7;margin:0 0 37px}.feedback-note{display:block;border-top:1px solid var(--line);padding-top:18px;color:var(--lime)}.final-cta{background:#16271a;position:relative;overflow:hidden}.final-cta:after{content:"";position:absolute;right:-15%;top:0;width:65%;height:100%;border-radius:50%;background:radial-gradient(circle,rgba(148,241,103,.11),transparent 65%);pointer-events:none}.final-cta h2{margin-top:70px;position:relative;z-index:1}.final-cta>p{max-width:570px;color:#b9cbbb;line-height:1.7;font-size:16px;margin:30px 0}.final-cta>.button{position:relative;z-index:1}.final-cta small{display:block;color:#78947c;margin-top:16px;letter-spacing:0}.site-footer{background:#070b09;padding-top:55px;padding-bottom:26px}.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-top>span{color:#75917a}.footer-links{display:flex;gap:35px;margin:100px 0 60px;color:#b9c9bc;font-size:13px}.footer-links a:hover,.footer-bottom a:hover{color:var(--lime)}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:#77907b}
@keyframes drift{to{transform:translate(5px,-8px);opacity:.9}}
@media(max-width:1050px){.desktop-nav{gap:15px;margin-right:25px}.desktop-nav a{font-size:11px}.header-cta{gap:10px}.hero h1{font-size:clamp(58px,8vw,90px)}.capabilities h2,.journey h2,.product h2{font-size:clamp(48px,7vw,76px)}}
@media(max-width:760px){.site-header{min-height:74px}.brand{font-size:13px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex;flex-direction:column;gap:6px;border:0;background:none;padding:10px}.menu-toggle span{display:block;width:23px;height:1px;background:var(--text)}.mobile-nav{position:absolute;top:74px;left:0;right:0;background:#0b110e;border-bottom:1px solid var(--line);padding:20px 24px 30px;flex-direction:column;gap:0}.mobile-nav:not([hidden]){display:flex}.mobile-nav a{padding:13px 0;border-bottom:1px solid var(--line)}.hero{height:auto;min-height:760px;max-height:none}.terrain{opacity:.75}.hero-vignette{background:linear-gradient(90deg,rgba(7,11,10,.88),rgba(7,11,10,.34)),linear-gradient(0deg,#070b0a 0%,transparent 25%)}.hero-content{min-height:760px;justify-content:flex-start;padding-top:205px;padding-bottom:90px}.hero h1{font-size:clamp(50px,11vw,78px);letter-spacing:-.045em;word-spacing:.07em}.desktop-break{display:none}.hero h1 strong{display:inline}.hero-copy{max-width:440px;font-size:15px}.hero-bottom{font-size:8px}.hero-bottom>span{display:none}.hero-bottom a{margin-left:auto}.section-label{gap:12px;font-size:9px}.section-label span:last-child{display:none}.intro-layout,.journey-body,.feedback-layout{grid-template-columns:1fr;gap:25px}.intro-layout{margin-top:55px}.intro-kicker{margin:0}.intro-copy{grid-column:1;margin-top:0}.capabilities-heading,.journey-head,.product-head{display:block;margin-top:55px}.capabilities-heading p,.journey-head p,.product-head p{margin-top:25px}.horizontal-stage{height:auto}.horizontal-sticky{height:auto;display:block;overflow:visible}.cards-track{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:20px;scrollbar-width:thin;scrollbar-color:var(--lime) transparent}.cap-card{flex-basis:min(83vw,480px);height:460px;min-height:0;scroll-snap-align:center}.card-top{margin:26px 26px 0}.card-art{margin:35px 26px 20px}.card-bottom{margin:0 26px 27px}.card-bottom h3{font-size:34px}.capabilities-progress{margin-top:20px}.journey-visual{max-width:580px;margin:0 auto 20px}.product-preview{min-height:0}.preview-sidebar{width:42px}.preview-content{grid-template-columns:1fr}.preview-side{display:none}.preview-title{padding:25px}.preview-top{padding:20px}.preview-chart{min-height:250px}.feedback-layout{margin-top:55px}.footer-links{flex-wrap:wrap;gap:16px 28px;margin:70px 0 50px}}
@media(max-width:480px){.hero-content{padding-top:180px}.hero h1{font-size:clamp(46px,12vw,62px)}.hero-eyebrow{font-size:8px}.eyebrow-index{display:none}.hero-buttons{align-items:flex-start;flex-direction:column;gap:10px}.hero-copy{margin-top:27px}.section-pad{padding-top:85px;padding-bottom:85px}.intro h2,.capabilities h2,.journey h2,.product h2,.feedback h2,.final-cta h2{font-size:clamp(43px,11vw,60px)}.cap-card{flex-basis:86vw;height:425px}.art-ai .orbit-two{width:260px;height:260px}.art-ai .orbit-one{width:180px;height:180px}.preview-title strong{font-size:26px}.preview-badge{display:none}.preview-content{margin:0 15px 15px}.preview-chart{padding:14px}.footer-top>span{display:none}.footer-links{font-size:12px}.footer-bottom{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.button-pending,.button-pending:hover{cursor:default;opacity:.78;transform:none}.inner-header{position:relative;background:#0b100d}.inner-home{font-size:12px;color:var(--lime);font-weight:700}.inner-main{min-height:calc(100svh - 180px);position:relative;overflow:hidden;padding-top:clamp(105px,14vw,220px);padding-bottom:100px}.inner-orbit{position:absolute;right:-15%;top:0;width:70vw;height:70vw;max-width:950px;max-height:950px;border:1px solid rgba(145,227,112,.12);border-radius:50%;box-shadow:0 0 0 70px rgba(121,216,96,.015),0 0 0 150px rgba(121,216,96,.015);pointer-events:none}.inner-main .eyebrow{display:flex;align-items:center;gap:12px;color:var(--lime);position:relative}.inner-main h1{position:relative;font-size:clamp(72px,12vw,190px);letter-spacing:-.09em;line-height:1;margin:34px 0 20px}.inner-main h1 span{color:var(--lime)}.inner-line{position:relative;font-size:clamp(22px,2.8vw,38px);font-weight:300;letter-spacing:-.04em;margin:0}.inner-bottom{position:relative;display:flex;justify-content:space-between;gap:40px;border-top:1px solid var(--line);max-width:870px;margin:75px 0 45px;padding-top:25px}.inner-bottom p{max-width:540px;color:var(--muted);line-height:1.7;margin:0}.inner-bottom span{font:500 10px var(--mono);letter-spacing:.1em;color:var(--lime);white-space:nowrap}.inner-main>.button{position:relative}@media(max-width:760px){.inner-header .desktop-nav{display:none}.inner-main h1{font-size:clamp(65px,14vw,110px)}.inner-bottom{display:block}.inner-bottom span{display:block;margin-top:24px}}

/* Minimal first screen */
.brand-icon{display:block;width:49px;height:34px;object-fit:contain}
.button-arrow{display:block;width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:square;stroke-linejoin:miter}
.header-cta .button-arrow{width:14px;height:14px}
.hero-vignette{background:linear-gradient(90deg,#070b0a 0%,rgba(7,11,10,.94) 19%,rgba(7,11,10,.77) 39%,rgba(7,11,10,.23) 68%,transparent 100%),linear-gradient(0deg,#070b0a 0%,transparent 18%,transparent 84%,rgba(7,11,10,.2))}
.hero-cta{position:relative;isolation:isolate;overflow:hidden;min-width:224px}
.hero-cta::before{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left center;transition:transform .5s cubic-bezier(.22,1,.36,1);z-index:0}
.hero-cta .button-label,.hero-cta .button-arrow{position:relative;z-index:1}
.hero-cta:hover,.hero-cta:focus-visible{background:var(--lime);color:#071008}
.hero-cta:hover::before,.hero-cta:focus-visible::before{transform:scaleX(1)}
@media(max-width:760px){.hero-vignette{background:linear-gradient(90deg,rgba(7,11,10,.82),rgba(7,11,10,.31)),linear-gradient(0deg,#070b0a 0%,transparent 23%)}.hero-content{padding-top:175px}.brand-icon{width:45px;height:32px}}

/* Legible display type and centered calls to action */
.hero h1{line-height:1.11;letter-spacing:-.018em;word-spacing:.035em}
.hero h1 strong{letter-spacing:-.018em}
.hero-cta{min-width:286px;justify-content:center;padding:0 42px}
.hero-cta .button-label{display:block;width:auto;text-align:center;text-transform:uppercase;letter-spacing:.09em;font-size:10px;white-space:nowrap}
.hero-cta .button-arrow{position:relative;right:auto;top:auto;transform:none}
.header-cta{position:relative;isolation:isolate;overflow:hidden;justify-content:center;gap:14px;min-width:184px;padding:13px 20px;text-transform:uppercase;letter-spacing:.08em;background:transparent;transition:color .3s}
.header-cta span{position:relative;z-index:1;display:block;width:auto;text-align:center}
.header-cta .button-arrow{position:relative;z-index:1;right:auto;top:auto;transform:none}
.header-cta::before{content:"";position:absolute;inset:0;z-index:0;background:var(--lime);transform:scaleX(0);transform-origin:left center;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.header-cta:hover,.header-cta:focus-visible{color:#000;background:transparent}
.header-cta:hover::before,.header-cta:focus-visible::before{transform:scaleX(1)}
@media(max-width:760px){.hero h1{line-height:1.1;letter-spacing:-.018em}.hero h1 strong{font-size:.9em}}
@media(max-width:480px){.hero-cta{min-width:270px}}
.hero-vignette{background:linear-gradient(90deg,#070b0a 0%,rgba(7,11,10,.94) 19%,rgba(7,11,10,.77) 39%,rgba(7,11,10,.23) 68%,transparent 100%),linear-gradient(0deg,rgba(7,11,10,.22) 0%,transparent 22%,transparent 84%,rgba(7,11,10,.2))}
@media(max-width:760px){.hero-vignette{background:linear-gradient(90deg,rgba(7,11,10,.82),rgba(7,11,10,.31)),linear-gradient(0deg,rgba(7,11,10,.25) 0%,transparent 23%)}}
.site-header nav a,.hero h1,.hero-copy{text-transform:uppercase}
.hero h1{font-size:clamp(58px,6.2vw,108px);line-height:1.08;letter-spacing:-.015em}
.hero h1 strong{letter-spacing:-.012em}
.hero h1 .headline-light{font-weight:200}
.hero-copy{max-width:575px;font-size:clamp(14px,1.08vw,16px);letter-spacing:.02em;line-height:1.8}
.hero-cta{width:244px;min-width:244px;padding:0 35px 0 15px}
.hero-cta .button-label{font-size:9px;letter-spacing:.075em}
@media(max-width:760px){.hero h1{font-size:clamp(43px,9vw,65px);line-height:1.1}.hero h1 strong{font-size:.9em}.hero-copy{font-size:13px;max-width:420px}}
@media(max-width:480px){.hero h1{font-size:clamp(40px,10vw,52px)}.hero-cta{width:244px;min-width:244px}}

/* Reference terrain and final hero typography */
.hero h1 .headline-light{font-family:Inter,Manrope,Arial,sans-serif;font-weight:100}
.hero-cta{width:270px;min-width:270px;padding:0 24px;gap:16px}
.hero-cta .button-label{width:auto;font-size:clamp(14px,1.08vw,16px);font-weight:600;letter-spacing:0;text-align:center}
.hero-cta .button-arrow{right:auto}
@media(max-width:760px){.hero-cta{width:250px;min-width:250px}.hero-cta .button-label{font-size:13px}}

@media(min-width:761px){.hero h1{max-width:1600px}.hero h1 .headline-light{display:block;white-space:nowrap}}
.hero-cta .button-label{font-size:12px;letter-spacing:.025em}
@media(max-width:760px){.hero-cta .button-label{font-size:11px}}
@media(min-width:761px){.hero-vignette{background:linear-gradient(90deg,#070b0a 0%,rgba(7,11,10,.92) 18%,rgba(7,11,10,.48) 39%,rgba(7,11,10,.08) 68%,transparent 100%),linear-gradient(0deg,rgba(7,11,10,.18),transparent 22%,transparent 84%,rgba(7,11,10,.2))}}

/* Perspective particles remain visible across the foreground. */
.hero-vignette{background:linear-gradient(90deg,rgba(7,11,10,.68),rgba(7,11,10,.22) 34%,transparent 62%)}
@media(max-width:760px){.hero-vignette{background:linear-gradient(0deg,transparent 40%,rgba(7,11,10,.12) 60%,rgba(7,11,10,.62) 87%)}}

/* One pinned canvas carries the hero into the research manifesto. */
.opening-scene{position:relative;background:#070b0a}
.opening-sticky{position:relative;isolation:isolate}
.opening-visual{position:absolute;inset:0 0 auto;height:100svh;pointer-events:none}
.opening-visual .hero-vignette{opacity:var(--terrain-shade,1)}
.opening-scene .hero{background:transparent}
.opening-scene .intro{display:flex;align-items:center;min-height:90svh;background:#070b0a;color:var(--text);padding-top:110px;padding-bottom:110px}
.opening-scene .intro h2{font-family:Inter,Manrope,Arial,sans-serif;font-size:clamp(32px,4.1vw,78px);font-weight:100;line-height:1.18;letter-spacing:-.025em;text-transform:uppercase;width:100%;max-width:1680px;margin:0 auto}
.intro-statement strong{font-family:Manrope,Arial,sans-serif;font-weight:750;letter-spacing:-.035em}
.intro-word{position:relative;display:inline-block;color:rgba(211,231,213,.18)}
.intro-word-fill{position:absolute;inset:0;color:#eff5ed;clip-path:inset(0 calc((1 - var(--word-fill,1))*100%) 0 0);pointer-events:none}
.opening-motion .opening-scene{height:420svh}
.opening-motion .opening-sticky{position:sticky;top:0;height:100svh;overflow:hidden}
.opening-motion .opening-visual{height:100%}
.opening-motion .opening-scene .hero{position:absolute;inset:0;height:100%;min-height:0;max-height:none}
.opening-motion .hero-content{opacity:var(--hero-opacity,1);transform:translate3d(0,var(--hero-offset,0px),0);will-change:opacity,transform}
.opening-motion .opening-scene .intro{position:absolute;inset:0;min-height:0;background:transparent;opacity:var(--intro-opacity,0);transform:translate3d(0,var(--intro-offset,42px),0);visibility:hidden;pointer-events:none;will-change:opacity,transform}
@media(max-width:760px){
  .opening-motion .hero-content{height:100%;min-height:0;justify-content:center;padding-top:115px;padding-bottom:80px}
  .opening-scene .intro{padding-top:90px;padding-bottom:60px}
  .opening-scene .intro h2{font-size:clamp(27px,5.7vw,42px);line-height:1.23;letter-spacing:-.02em}
  .opening-motion .opening-scene{height:440svh}
}
@media(max-width:480px){.opening-scene .intro h2{font-size:clamp(28px,7.4vw,35px)}}
html.lenis,html.lenis body{scroll-behavior:auto!important}

/* The navigation expands from a centred opening layout into a fixed dark bar. */
.site-header{position:fixed;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;min-height:94px;padding:0;border-bottom-color:transparent;isolation:isolate;transition:min-height .55s cubic-bezier(.22,1,.36,1),border-color .4s}
.site-header::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(7,11,10,.97);opacity:0;transition:opacity .4s}
.header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:28px;width:calc(100% - 2 * clamp(24px,6vw,108px));max-width:1180px;transition:width .65s cubic-bezier(.22,1,.36,1),max-width .65s cubic-bezier(.22,1,.36,1)}
.header-inner .brand{justify-self:start}
.header-inner .desktop-nav{margin:0;justify-self:center}
.header-inner .header-actions{justify-self:end}
.site-header.is-scrolled{min-height:76px;border-bottom-color:rgba(255,255,255,.1)}
.site-header.is-scrolled::before{opacity:1}
.site-header.is-scrolled .header-inner{width:calc(100% - 48px);max-width:calc(100% - 48px)}
.hero-cta{width:240px;min-width:240px}
@media(max-width:1050px){.header-inner{grid-template-columns:auto 1fr auto;gap:20px}}
@media(max-width:760px){
  .site-header,.site-header.is-scrolled{min-height:74px}
  .header-inner{grid-template-columns:1fr auto;gap:16px;width:calc(100% - 48px)}
  .site-header.is-scrolled .header-inner{width:calc(100% - 32px);max-width:calc(100% - 32px)}
  .mobile-nav{top:100%}
}
@media(prefers-reduced-motion:reduce){.site-header,.site-header::before,.header-inner{transition:none}}

/* Carry the same particle field behind the arriving workspace card. */
.opening-motion .opening-visual{position:fixed;inset:0;height:100svh;z-index:0}
.opening-motion .opening-sticky{z-index:1}
.opening-motion .capabilities{position:relative;z-index:1;background:transparent}
.opening-motion .cap-card{background:#0b120e}

/* A centred title enters only after the right-hand pinch has begun. */
.opening-scene .intro h2{font-weight:200}
.capabilities{padding-top:0}
.capabilities-top{height:100svh;display:flex;align-items:center;justify-content:center}
.capabilities-heading{display:block;width:100%;margin:0;text-align:center}
.capabilities-heading h2{margin:0 auto;max-width:100%;font-size:clamp(48px,6vw,104px);line-height:1.1}
.opening-motion .capabilities-heading{opacity:var(--workspace-opacity,0);transform:translate3d(0,var(--workspace-offset,42px),0);will-change:opacity,transform}
@media(max-width:760px){.capabilities-heading{margin:0}.capabilities-heading h2{font-size:clamp(38px,8.7vw,65px)}}

/* Quiet outlined capability cards, revealed with the horizontal sequence. */
.horizontal-sticky{flex-direction:column;justify-content:center;align-items:stretch;gap:30px}
.cards-track{width:max-content;flex-shrink:0;gap:clamp(24px,3vw,58px)}
.cap-card,.opening-motion .cap-card{flex-basis:min(70vw,860px);height:clamp(380px,55vh,500px);min-height:0;background:#080b0a;border-color:rgba(255,255,255,.14);padding:38px 40px;display:flex;flex-direction:column}
.cap-card .card-top{margin:0;display:flex;justify-content:space-between;gap:24px;color:#838b86;font-size:9px;line-height:1.5}
.cap-card .card-top span:last-child{text-align:right;font-size:inherit}
.cap-card .card-bottom{margin:auto 0;position:relative;z-index:1}
.cap-card .card-bottom h3{position:relative;display:inline-block;margin:0 0 16px;font-size:clamp(32px,3.1vw,56px);line-height:1.15;font-weight:400;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(235,243,237,.30)}
.card-title-fill{position:absolute;inset:0;color:#eff5ed;-webkit-text-stroke:0;clip-path:inset(0 calc((1 - var(--card-reveal,0)) * 100%) 0 0)}
.cap-card .card-bottom p{max-width:390px;color:#aeb5b0;font-size:15px;line-height:1.65}
.card-index{position:absolute;bottom:20px;right:36px;font-family:Inter,Manrope,sans-serif;font-size:clamp(100px,9vw,160px);font-weight:100;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(235,243,237,.15);pointer-events:none}
.card-explore{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;font:500 9px var(--mono);letter-spacing:.17em;color:#aeb5b0;position:relative;z-index:1}
.card-explore .button-arrow{width:12px;height:12px}
.card-explore:hover,.card-explore:focus-visible{color:#fff}
.capabilities-progress{display:block;flex:none;margin:0 clamp(24px,6vw,108px);color:#838b86}
.progress-rail{height:1px;background:rgba(255,255,255,.14)}
.progress-rail i{height:1px;width:0;background:#eff5ed;transition:none}
.capability-labels{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:0;margin:16px 0 0;font:500 9px var(--mono);letter-spacing:.12em;text-transform:uppercase}
.capability-labels li{color:#737c76;transition:color .2s}
.capability-labels li.is-active{color:#eff5ed}
.capability-labels li:last-child{text-align:right}
.capability-labels span{margin-right:6px}
@media(max-width:760px){
  .horizontal-sticky{display:flex;gap:22px;height:auto;overflow:visible}
  .cards-track{width:100%;padding-bottom:10px;scrollbar-width:none}
  .cards-track::-webkit-scrollbar{display:none}
  .cap-card,.opening-motion .cap-card{flex-basis:86vw;height:390px;padding:28px 26px}
  .cap-card .card-top{font-size:8px;gap:16px}
  .cap-card .card-bottom h3{font-size:32px}
  .cap-card .card-bottom p{font-size:13px;max-width:260px}
  .card-index{font-size:100px;right:22px;bottom:20px}
  .capability-labels{font-size:7px;letter-spacing:.04em;gap:7px;line-height:1.6}
  .capability-labels span{display:block;margin:0}
  .capability-labels li:last-child{text-align:left}
}
@media(prefers-reduced-motion:reduce){.card-title-fill{clip-path:none}}

/* Feather the reveal edge; the rail uses the same per-card fill values. */
.card-title-fill{clip-path:none;-webkit-mask-image:linear-gradient(to right,#000 calc(var(--card-reveal,0) * 120% - 20%),transparent calc(var(--card-reveal,0) * 120%));mask-image:linear-gradient(to right,#000 calc(var(--card-reveal,0) * 120% - 20%),transparent calc(var(--card-reveal,0) * 120%))}
.capability-labels{gap:0}
.capability-labels li{padding-right:14px}
.capability-labels li:last-child{text-align:left;padding-right:0}
@media(max-width:760px){.capability-labels{gap:0}.capability-labels li{padding-right:6px}}
@media(prefers-reduced-motion:reduce){.card-title-fill{-webkit-mask-image:none;mask-image:none}}

/* Keep the section title above a lower, bottom-aligned card rail. */
.horizontal-sticky{justify-content:flex-end;padding-top:108px;padding-bottom:28px;box-sizing:border-box}
.capabilities .tools-heading{flex:none;margin:0 clamp(24px,6vw,108px) auto;font-size:clamp(32px,3.35vw,62px);font-weight:200;line-height:1.1;letter-spacing:-.035em}
.tools-heading strong{font-weight:750}
@media(max-width:760px){
  .horizontal-sticky{padding-top:30px;padding-bottom:0}
  .capabilities .tools-heading{font-size:clamp(28px,6.6vw,40px);margin-bottom:12px}
  .cap-card,.opening-motion .cap-card{height:420px}
}
@media(min-width:761px) and (max-height:680px){
  .horizontal-sticky{padding-top:90px;padding-bottom:18px;gap:20px}
  .capabilities .tools-heading{font-size:28px}
  .cap-card,.opening-motion .cap-card{height:52vh;min-height:290px;padding-top:26px;padding-bottom:26px}
}

/* Balance the heading between the fixed navigation and the card tops. */
@media(min-width:761px){
  .horizontal-sticky{padding-top:76px;gap:0}
  .capabilities .tools-heading{margin-top:auto;margin-bottom:auto}
  .horizontal-sticky .capabilities-progress{margin-top:30px}
}
.header-cta{border-color:#fff;color:#fff}
.header-cta::before{background:#fff}

/* The whole page changes tone before the workflow enters: no white section edge. */
body{--page-surface:color-mix(in srgb,#070b0a,color-mix(in srgb,#fff,#c3c3c3 var(--showcase-shade,0%)) var(--journey-theme,0%));--page-ink:color-mix(in srgb,#eff5ed,#17201b var(--journey-ink,0%));--page-muted:color-mix(in srgb,#aeb5b0,#606d64 var(--journey-theme,0%));--page-border:color-mix(in srgb,#28312b,color-mix(in srgb,#dbe1dc,#9e9e9e var(--showcase-shade,0%)) var(--journey-theme,0%));background:var(--page-surface);color:var(--page-ink)}
.site-header::before{background:var(--page-surface)}
.site-header.is-scrolled{border-bottom-color:var(--page-border)}
.brand-icon{filter:invert(var(--journey-tone,0))}
.desktop-nav a,.header-cta{color:var(--page-ink)}
.header-cta{border-color:var(--page-ink)}
.header-cta::before{background:var(--page-ink)}
.header-cta:hover,.header-cta:focus-visible{color:var(--page-surface)}
.menu-toggle span{background:var(--page-ink)}
.mobile-nav{background:var(--page-surface);border-color:var(--page-border)}
.mobile-nav a{border-color:var(--page-border)}
.cap-card,.opening-motion .cap-card{background:var(--page-surface);border-color:var(--page-border)}
.cap-card .card-bottom p,.cap-card .card-top,.card-explore{color:var(--page-muted)}
.card-title-fill{color:var(--page-ink)}
.cap-card .card-bottom h3,.card-index{-webkit-text-stroke-color:var(--page-border)}
.progress-rail{background:var(--page-border)}
.progress-rail i{background:var(--page-ink)}
.capability-labels li.is-active{color:var(--page-ink)}

/* Intent branches into an approachable start and a deeper research path. */
.journey{height:300svh;position:relative;background:transparent;color:var(--page-ink)}
.journey-sticky{position:sticky;top:0;height:100svh;padding-top:105px;padding-bottom:38px;display:flex;flex-direction:column;gap:28px}
.pipeline-heading{flex:none}
.pipeline-eyebrow{margin:0 0 12px;font:500 9px var(--mono);letter-spacing:.18em;color:var(--page-muted)}
.journey .pipeline-heading h2{margin:0;font-size:clamp(36px,3.7vw,68px);font-weight:200;line-height:1.1;letter-spacing:-.035em}
.pipeline-heading strong{font-weight:700}
.pipeline-mobile-break{display:none}
.pipeline-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:36px;flex:1;min-height:0}
.pipeline-steps{align-self:center;display:flex;flex-direction:column;gap:6px}
.pipeline-step{display:flex;gap:12px;align-items:center;text-align:left;border:0;border-left:1px solid var(--page-border);background:none;color:var(--page-muted);padding:11px 0 11px 15px;font:500 13px var(--sans);cursor:pointer}
.pipeline-step>span{font:500 9px var(--mono);letter-spacing:.08em}
.pipeline-step.is-active{color:var(--page-ink);border-left-color:#77a94a}
.pipeline-step:focus-visible{outline:2px solid #77a94a;outline-offset:3px}
.pipeline-step-detail{font-size:12px;line-height:1.7;color:var(--page-muted);margin:18px 0 0 16px;min-height:85px}
.pipeline-board{position:relative;border:1px solid var(--page-border);min-height:390px;background:color-mix(in srgb,var(--page-surface),#f3f6f3 28%)}
.pipeline-board-label,.pipeline-board-footer{position:absolute;left:24px;font:500 8px var(--mono);letter-spacing:.13em;color:var(--page-muted)}
.pipeline-board-label{top:22px}.pipeline-board-footer{bottom:19px}
.pipeline-connections{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke-width:1}
.flow-base{stroke:var(--page-border)}
.flow-live{fill:none;stroke:#75a74b;stroke-width:1.5;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--flow-progress,0))}
.flow-blue{stroke:#5b9ebc}.flow-return{stroke-dasharray:4 4}
.flow-live.flow-return{stroke-dasharray:1}
.pipeline-node{position:absolute;box-sizing:border-box;border:1px solid var(--page-border);background:var(--page-surface);padding:18px 16px;transform:translateY(-50%);transition:border-color .3s,background .3s,box-shadow .3s}
.pipeline-node.is-active{border-color:#8cae75;background:color-mix(in srgb,var(--page-surface),#d5ebc5 22%);box-shadow:0 4px 24px rgba(40,70,32,.04)}
.pipeline-idea{left:3%;width:20%;top:50%}
.pipeline-beginner{left:35%;width:30%;top:25%}
.pipeline-professional{left:35%;width:30%;top:75%}
.pipeline-professional.is-active{border-color:#89b4c9;background:color-mix(in srgb,var(--page-surface),#d8edf5 25%)}
.pipeline-result{left:77%;width:20%;top:50%}
.node-number{display:block;margin-bottom:12px;font:500 8px var(--mono);letter-spacing:.1em;color:var(--page-muted)}
.pipeline-node h3{margin:0 0 9px;font-size:clamp(13px,1.1vw,20px);font-weight:600;line-height:1.3;letter-spacing:-.025em}
.pipeline-node p,.pipeline-node li{font-size:clamp(11px,.82vw,14px);line-height:1.6;color:var(--page-muted);margin:0}
.pipeline-node ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.pipeline-node b{font-weight:600;color:var(--page-ink)}
.pipeline-icon{display:block;width:29px;height:29px;margin:0 0 15px;fill:none;stroke:var(--page-ink);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.node-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:13px}
.node-tags span{border:1px solid var(--page-border);padding:4px 5px;font:500 6px var(--mono);letter-spacing:.04em;color:var(--page-muted)}
.portfolio-follow{display:flex;align-items:center;gap:6px;margin-top:17px;padding-top:12px;border-top:1px solid var(--page-border);font-size:10px;line-height:1.5;color:var(--page-muted)}
.portfolio-follow.is-active{color:#527c32}
.follow-dot{width:4px;height:4px;flex:none;background:#75a74b;border-radius:50%}
@media(max-width:1150px) and (min-width:1000px){.pipeline-layout{grid-template-columns:155px minmax(0,1fr);gap:22px}.pipeline-step{font-size:11px}.pipeline-node{padding:13px 11px}}
@media(max-height:760px) and (min-width:1000px){.journey-sticky{padding-top:95px;padding-bottom:24px;gap:20px}.journey .pipeline-heading h2{font-size:38px}.pipeline-board{min-height:365px}.pipeline-node{padding:12px 11px}.pipeline-node .node-number{margin-bottom:8px}.pipeline-node p,.pipeline-node li{font-size:11.5px}.pipeline-icon{width:24px;height:24px;margin-bottom:10px}.node-tags{margin-top:8px}}
@media(max-width:999px){
  .journey{height:auto}
  .journey-sticky{height:auto;position:relative;padding-top:95px;padding-bottom:80px;gap:30px}
  .journey .pipeline-heading h2{font-size:clamp(32px,5.3vw,50px)}
  .pipeline-mobile-break{display:block}
  .pipeline-layout{display:flex;flex-direction:column;gap:24px}
  .pipeline-steps{align-self:stretch;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .pipeline-step{font-size:11px;padding:10px;border:1px solid var(--page-border);gap:8px}
  .pipeline-step.is-active{border-color:#8cae75}
  .pipeline-step-detail{grid-column:1/-1;min-height:0;margin:10px 0 0;font-size:13px}
  .pipeline-board{display:flex;flex-direction:column;gap:24px;padding:62px 20px 55px;min-height:0}
  .pipeline-board::before{content:"";position:absolute;left:50%;top:60px;bottom:55px;width:1px;background:var(--page-border)}
  .pipeline-connections{display:none}
  .pipeline-node{position:relative;left:auto;top:auto;width:100%;transform:none;padding:23px}
  .pipeline-node h3{font-size:20px}
  .pipeline-node p,.pipeline-node li{font-size:13px}
  .node-number{font-size:8px}
  .node-tags span{font-size:8px;padding:5px 6px}
  .portfolio-follow{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.pipeline-node{transition:none}}

.opening-visual .hero-vignette{opacity:calc(var(--terrain-shade,1) * var(--field-visible,1))}

@media(prefers-reduced-motion:reduce) and (min-width:1000px){.journey{height:auto}.journey-sticky{position:relative;height:auto}.pipeline-layout{flex:none;min-height:520px}}

/* Curved image planes travel around a two-turn helix, then resolve into a grid. */
.showcase{position:relative;z-index:1;background:transparent;padding:0;color:var(--page-ink);height:auto}
.showcase-sticky{position:relative;min-height:100svh;overflow:hidden}
.showcase-heading{position:absolute;inset:0;margin:0!important;pointer-events:none;font-weight:400!important}
.product .showcase-word{position:absolute;display:block;white-space:nowrap;text-transform:uppercase;font-family:Inter,Manrope,sans-serif;font-size:clamp(64px,8vw,155px);font-weight:200;line-height:.9;letter-spacing:-.065em}
.word-top{left:4vw;top:33%;transform:translateX(-130%)}
.word-bottom{right:4vw;top:53%;transform:translateX(130%)}
.showcase-center-copy{position:absolute;top:47%;left:50%;transform:translate(-50%,-50%);font-size:16px;line-height:1.5;text-align:center;margin:0;color:var(--page-ink);pointer-events:none}
.showcase-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;display:none}
.showcase-footer{position:absolute;bottom:32px;left:clamp(24px,4vw,80px);right:clamp(24px,4vw,80px);z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;pointer-events:none}
.showcase-footer p{margin:0;font-size:14px;line-height:1.6;color:#4d5550}
.showcase-footer>span{font:500 8px var(--mono);letter-spacing:.08em;color:#4d5550}
.showcase-static-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:160px 5vw 110px}
.showcase-static-grid img{display:block;width:100%;height:auto}
.showcase.is-webgl{height:750svh}
.showcase.is-webgl .showcase-sticky{position:sticky;top:0;height:100svh;min-height:0}
.showcase.is-webgl .showcase-canvas{display:block}
.showcase.is-webgl .showcase-static-grid{display:none}
.showcase:not(.is-webgl) .showcase-heading{display:none}
.showcase:not(.is-webgl) .showcase-center-copy{top:110px;opacity:1!important}
@media(max-width:760px){
  .showcase.is-webgl{height:550svh}
  .product .showcase-word{font-size:18vw}
  .showcase-center-copy{font-size:14px}
  .showcase-footer{bottom:23px;gap:12px}
  .showcase-footer p{font-size:12px}
  .showcase-footer>span{font-size:7px;max-width:100px;text-align:right;line-height:1.6}
  .showcase-static-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:150px 24px 100px}
}

.showcase-cta{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:14px;min-width:180px;padding:14px 20px;border:1px solid #000;background:transparent;color:#000;font-size:11px;font-weight:800;letter-spacing:.08em;white-space:nowrap;pointer-events:auto;transition:color .3s}
.showcase-cta::before{content:"";position:absolute;inset:0;z-index:0;background:#000;transform:scaleX(0);transform-origin:right center;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.showcase-cta span,.showcase-cta .button-arrow{position:relative;z-index:1}
.showcase-cta .button-arrow{width:14px;height:14px}
.showcase-cta:hover,.showcase-cta:focus-visible{color:#fff}
.showcase-cta:hover::before,.showcase-cta:focus-visible::before{transform:scaleX(1)}
.showcase-cta:focus-visible{outline:2px solid #000;outline-offset:4px}
@media(max-width:760px){.showcase-cta{min-width:145px;padding:12px 15px;font-size:10px;gap:12px}}
@media(prefers-reduced-motion:reduce){.showcase-cta,.showcase-cta::before{transition:none}}

/* Reviews pass in front of one pinned, softly dimmed title. */
.feedback{position:relative;isolation:isolate;padding:0;background:transparent;color:var(--page-ink)}
.feedback-title-stage{position:sticky;top:0;height:100svh;display:flex;align-items:center;justify-content:center;margin-bottom:-100svh;padding:76px 24px 0;z-index:0;pointer-events:none}
.feedback .feedback-title-stage h2{max-width:1100px;margin:0;text-align:center;font-size:clamp(42px,5.1vw,88px);line-height:1.12;letter-spacing:-.055em;font-weight:300;opacity:var(--feedback-title-opacity,1)}
.feedback-title-stage strong{font-weight:750}
.reviews-field{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(24px,3.2vw,64px);padding-top:105svh;padding-bottom:65svh}
.review-column{display:flex;flex-direction:column;gap:clamp(110px,18svh,210px)}
.review-column:nth-child(2){padding-top:43svh;gap:clamp(130px,22svh,250px)}
.review-column:nth-child(3){padding-top:17svh;gap:clamp(150px,26svh,290px)}
.review-slot{min-width:0;order:var(--review-order)}
.review-card{margin:0;padding:clamp(25px,2.3vw,42px);border:1px solid #2a322d;background:#0c100e;color:#eff5ed;box-shadow:0 20px 55px rgba(0,0,0,.12)}
.review-card figcaption{display:flex;flex-direction:column;gap:9px;margin-bottom:28px}
.review-name{font-size:20px;font-weight:650;letter-spacing:-.035em}
.review-context{font:400 8px var(--mono);letter-spacing:.14em;color:#87938b}
.review-card blockquote{margin:0}
.review-card blockquote p{margin:0;font-size:clamp(15px,1.05vw,18px);font-weight:400;line-height:1.75;letter-spacing:-.015em;color:#d2dbd4}
.review-features{display:flex;flex-wrap:wrap;gap:9px 14px;border-top:1px solid #29322c;margin-top:30px;padding-top:20px}
.review-features span{font:400 9px var(--mono);line-height:1.6;letter-spacing:.035em;text-transform:uppercase;color:#a9d982}
.feedback.has-review-motion .review-card{opacity:var(--review-entry,0);transform:translate3d(0,calc((1 - var(--review-entry,0)) * 38px),0)}
@media(max-width:1100px){
  .reviews-field{grid-template-columns:repeat(2,minmax(0,1fr));gap:110px 32px}
  .review-column,.review-column:nth-child(2),.review-column:nth-child(3){display:contents}
  .review-slot:nth-child(even){margin-top:16svh}
  .review-card blockquote p{font-size:16px}
}
@media(max-width:640px){
  .feedback-title-stage{padding-top:74px}
  .feedback .feedback-title-stage h2{font-size:clamp(32px,8vw,48px);letter-spacing:-.045em}
  .reviews-field{display:flex;flex-direction:column;gap:95px;padding-top:105svh;padding-bottom:45svh}
  .review-slot{width:92%}
  .review-slot:nth-child(even){margin-top:0;align-self:flex-end}
  .review-card{padding:26px 24px}
  .review-card blockquote p{font-size:15px;line-height:1.75}
  .review-name{font-size:19px}
  .review-features{gap:7px 12px;margin-top:25px;padding-top:17px}
}
@media(prefers-reduced-motion:reduce){
  .feedback-title-stage{position:relative;height:auto;margin-bottom:0;padding:110px 24px 55px}
  .feedback .feedback-title-stage h2{opacity:1}
  .reviews-field{padding-top:0;padding-bottom:100px;gap:24px}
  .review-column,.review-column:nth-child(2),.review-column:nth-child(3){display:contents}
  .review-slot,.review-slot:nth-child(even){margin:0;width:100%}
  .feedback.has-review-motion .review-card{opacity:1;transform:none}
}

/* The numbered capability-card treatment, within each review's original measured size. */
.review-card{position:relative}
.review-card-top{position:absolute;top:clamp(25px,2.3vw,42px);left:clamp(25px,2.3vw,42px);right:clamp(25px,2.3vw,42px);display:flex;justify-content:space-between;gap:20px;font:400 8px var(--mono);line-height:1.6;letter-spacing:.06em;text-transform:uppercase;color:#838b86;visibility:hidden}
.review-card-top>span:last-child{max-width:80%;text-align:right;font:500 8px var(--sans);letter-spacing:.015em}
.review-card-index{position:absolute;right:clamp(25px,2.3vw,42px);bottom:10px;font-family:Inter,Manrope,sans-serif;font-size:clamp(64px,6vw,100px);font-weight:100;line-height:1;color:transparent;-webkit-text-stroke:1px #29322c;pointer-events:none;visibility:hidden}
.has-review-design .review-card{height:var(--review-height);display:flex;flex-direction:column;padding-top:68px;padding-bottom:75px;border-color:#28312b;background:#070b0a;box-shadow:none}
.has-review-design .review-card-top,.has-review-design .review-card-index{visibility:visible}
.has-review-design .review-card figcaption{position:relative;z-index:1;display:block;flex:none;margin:auto 0 14px}
.has-review-design .review-name{font-size:clamp(28px,2vw,38px);font-weight:400;line-height:1.15;letter-spacing:-.04em}
.has-review-design .review-context{display:none}
.has-review-design .review-card blockquote{position:relative;z-index:1;flex:none;margin:0 0 auto}
.has-review-design .review-features{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0;margin:0;border:0}
.reviews-field{padding-bottom:72svh}
@media(max-width:640px){
  .has-review-design .review-card{padding-top:62px;padding-bottom:68px}
  .review-card-top{top:24px;left:24px;right:24px;font-size:7px;gap:12px}
  .review-card-top>span:last-child{font-size:7px}
  .review-card-index{right:24px;font-size:64px;bottom:8px}
  .has-review-design .review-name{font-size:28px}
  .reviews-field{padding-bottom:72svh}
}
@media(prefers-reduced-motion:reduce){.reviews-field{padding-bottom:100px}}

/* Keep the number in its own measured row below the full review text. */
.has-review-design .review-card{padding-top:var(--review-content-top,68px);padding-bottom:12px}
.has-review-design .review-card figcaption{margin:0 0 14px}
.has-review-design .review-card blockquote{margin:0}
.has-review-design .review-card-index{position:static;align-self:flex-end;flex:none;margin-top:auto;font-size:var(--review-number-size,64px)}

.feedback.is-title-released .feedback-title-stage{position:absolute;top:var(--feedback-release-top);left:0;right:0;margin-bottom:0}

/* One dark closing composition: generous call to action above a four-column footer. */
.closing-cta,.closing-footer{--closing-gutter:clamp(24px,6.8vw,128px);background:#070b0a;color:#f2f4f1}
.final-cta.closing-cta{padding:0;overflow:visible}
.final-cta.closing-cta::after{display:none}
.closing-layout{min-height:64svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);align-items:center;gap:clamp(40px,7vw,130px);padding:clamp(100px,10vw,190px) var(--closing-gutter)}
.final-cta.closing-cta h2{position:static;margin:0;max-width:1100px;font-size:clamp(48px,5.15vw,100px);line-height:1.09;letter-spacing:-.045em;font-weight:300}
.closing-cta h2>span{font-family:Inter,Manrope,sans-serif;font-weight:200}
.closing-cta h2 strong{font-weight:750;letter-spacing:-.05em}
.closing-action p{margin:0 0 28px;color:#b3b8b5;font-size:15px;line-height:1.75;letter-spacing:-.015em}
.closing-access{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:stretch;justify-content:space-between;width:100%;min-height:74px;padding:0;border:1px solid #545b57;background:transparent;color:#f2f4f1;text-align:left;transition:color .35s}
.closing-access::before{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:right center;transition:transform .55s cubic-bezier(.22,1,.36,1);z-index:-1}
.closing-button-label{display:flex;align-items:center;padding:22px 24px;font-size:13px;font-weight:750;letter-spacing:.025em}
.closing-button-icon{display:flex;align-items:center;justify-content:center;width:74px;flex:none;background:#fff;color:#070b0a}
.closing-button-icon .button-arrow{width:20px;height:20px;stroke-width:1.5}
.closing-access:hover,.closing-access:focus-visible{color:#070b0a}
.closing-access:hover::before,.closing-access:focus-visible::before{transform:scaleX(1)}
.closing-access:focus-visible{outline:2px solid #fff;outline-offset:5px}
.site-footer.closing-footer{padding:0;display:grid;grid-template-columns:22% 20% 27% 31%;border-top:1px solid #252b28;border-bottom:1px solid #252b28}
.closing-footer-cell{min-width:0;min-height:290px;padding:40px 32px;border-right:1px solid #252b28}
.closing-footer-cell:first-child{padding-left:var(--closing-gutter)}
.closing-footer-cell:last-child{padding-right:var(--closing-gutter);border-right:0}
.closing-footer-label{margin:0 0 28px;color:#858c87;font:500 9px var(--mono);line-height:1.6;letter-spacing:.15em}
.closing-footer-cell>a:not(.closing-brand){display:block;width:fit-content;max-width:100%;margin:0 0 21px;color:#a5ada7;font-size:11px;font-weight:650;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;transition:color .2s}
.closing-footer-cell>a:not(.closing-brand):last-child{margin-bottom:0}
.closing-footer-cell>a:hover,.closing-footer-cell>a:focus-visible{color:#fff}
.closing-footer-cell>a span[aria-hidden]{margin-left:6px;font-size:11px}
.closing-brand{display:inline-flex;align-items:center;gap:12px;margin:0 0 19px;color:#fff}
.closing-brand img{display:block;width:38px;height:30px;object-fit:contain}
.closing-brand>span{font-size:12px;font-weight:750;letter-spacing:.2em;line-height:1.3}
.closing-brand small{display:block;margin-top:3px;font-size:6px;font-weight:500;letter-spacing:.37em}
.closing-tagline{font-size:24px;line-height:1.3;letter-spacing:-.045em;font-weight:300;margin:0 0 21px;color:#c4c9c5}
.closing-tagline strong{font-weight:700}
.closing-description{max-width:370px;margin:0;color:#929b94;font-size:13px;line-height:1.65;letter-spacing:-.015em}
.closing-copyright{margin:0 0 17px;color:#858c87;font:500 9px var(--mono);line-height:1.8;letter-spacing:.12em}
.closing-footer-cell>a.closing-email{font:500 9px var(--mono);letter-spacing:.025em;text-transform:none;overflow-wrap:anywhere}
.closing-socials{display:flex;align-items:center;gap:16px;margin-top:25px}
.closing-socials a{display:inline-grid;place-items:center;width:30px;height:30px;transition:opacity .2s,transform .2s}
.closing-socials img{display:block;width:22px;height:22px}
.closing-socials a:hover{opacity:.7;transform:translateY(-2px)}
.closing-socials a:focus-visible{outline:1px solid #fff;outline-offset:4px}
.closing-documents .closing-document{display:block;margin:0 0 21px;color:#858c87;font-size:11px;font-weight:650;line-height:1.5;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:480px){.closing-documents .closing-document{font-size:10px;letter-spacing:.035em;line-height:1.6;margin-bottom:17px}}
@media(max-width:1200px) and (min-width:901px){
  .closing-footer-cell{padding-left:24px;padding-right:24px}
  .site-footer.closing-footer{grid-template-columns:24% 20% 30% 26%}
  .closing-footer-cell:last-child{padding-right:24px}
  .closing-footer-cell:first-child{padding-left:var(--closing-gutter)}
  .closing-tagline{font-size:21px}
}
@media(max-width:900px){
  .closing-layout{grid-template-columns:1fr;min-height:auto;gap:45px;padding-top:110px;padding-bottom:90px}
  .final-cta.closing-cta h2{font-size:clamp(45px,7.2vw,70px)}
  .closing-action{max-width:400px}
  .site-footer.closing-footer{grid-template-columns:repeat(2,minmax(0,1fr))}
  .closing-footer-cell{padding:34px var(--closing-gutter);min-height:0}
  .closing-footer-cell:nth-child(even){border-right:0}
  .closing-footer-cell:nth-child(-n+2){border-bottom:1px solid #252b28}
  .closing-footer-cell:nth-child(3){padding-right:28px}
  .closing-footer-cell:nth-child(4){padding-left:28px}
  .closing-tagline{font-size:22px}
}
@media(max-width:480px){
  .closing-layout{padding-top:95px;padding-bottom:75px;gap:35px}
  .final-cta.closing-cta h2{font-size:clamp(36px,9vw,44px);line-height:1.15;letter-spacing:-.045em}
  .closing-action p{font-size:14px;line-height:1.75}
  .closing-access{min-height:64px}
  .closing-button-label{font-size:12px;padding:18px 21px}
  .closing-button-icon{width:64px}
  .closing-footer-cell{padding:30px 24px}
  .closing-footer-label{font-size:8px;letter-spacing:.1em;margin-bottom:23px}
  .closing-footer-cell>a:not(.closing-brand){font-size:10px;letter-spacing:.035em;line-height:1.6;margin-bottom:17px}
  .closing-footer-cell:nth-child(3),.closing-footer-cell:nth-child(4){grid-column:1/-1;border-right:0;padding:30px 24px}
  .closing-footer-cell:nth-child(3){border-bottom:1px solid #252b28}
  .closing-description{max-width:330px}
  .closing-footer-cell>a.closing-email{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.closing-access,.closing-access::before{transition:none}}

/* Early-access dialog floats over a blurred page; form submission is wired at launch. */
body.access-open{overflow:hidden}
.hero-cta[data-free-access]{border:0}
.access-dialog{width:min(1180px,calc(100vw - 64px));max-width:none;max-height:calc(100svh - 64px);padding:54px;margin:auto;overflow:auto;overscroll-behavior:contain;border:1px solid #26302a;background:#050706;color:#f3f5f2;box-shadow:0 32px 100px rgba(0,0,0,.55);color-scheme:dark}
.access-dialog[open]{animation:access-enter .22s ease-out}
.access-dialog::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.access-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:58px;min-height:440px}
.access-intro{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.access-eyebrow{margin:0 0 18px;color:#b0f66b;font-size:11px;line-height:1.5;letter-spacing:.035em}
.access-intro h2{margin:0 0 23px;font-size:clamp(44px,4.8vw,70px);line-height:.97;letter-spacing:-.055em;font-weight:800}
.access-description{margin:0;max-width:450px;color:#b8c2bb;font-size:15px;line-height:1.75;letter-spacing:-.015em}
.access-beta-benefits {
  width: 100%;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid #26302a;
  color: #b8c2bb;
  font-size: 13px;
  line-height: 1.6;
}
.access-beta-benefits h3 { margin: 0 0 6px; color: #f3f5f2; font-size: 15px; }
.access-beta-benefits p { margin: 0; }
.access-beta-benefits ul { display: grid; gap: 4px; margin: 10px 0; padding: 0; list-style: none; }
.access-beta-benefits strong { color: #b0f66b; }
.access-beta-benefits a { color: #f3f5f2; text-decoration: underline; }
.access-beta-benefits a:focus-visible { outline: 2px solid #b0f66b; outline-offset: 3px; }
.access-contact{margin-top:auto;padding-top:45px}
.access-contact>span{display:block;margin:0 0 8px;color:#7d8880;font:400 10px var(--mono);letter-spacing:.07em}
.access-contact>a{display:inline-block;color:#f3f5f2;font-size:clamp(14px,1.4vw,20px);font-weight:600;letter-spacing:-.025em;overflow-wrap:anywhere}
.access-contact>a:hover{color:#b0f66b}
.access-close{position:absolute;right:16px;top:16px;width:30px;height:30px;display:grid;place-items:center;padding:6px;border:0;background:transparent;color:#99a59c;cursor:pointer}
.access-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}
.access-close:hover{color:#fff}
.access-form{position:relative;min-width:0;padding:30px;border:1px solid #1b231e;align-self:center}
.access-form::before,.access-form::after{content:"";position:absolute;width:11px;height:11px;border-color:#eff5ed;border-style:solid;pointer-events:none}
.access-form::before{top:-1px;right:-1px;border-width:1px 1px 0 0}
.access-form::after{bottom:-1px;left:-1px;border-width:0 0 1px 1px}
.access-field{margin:0 0 20px}
.access-field label{display:block;margin:0 0 10px;font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.025em;text-transform:uppercase}
.access-field input,.access-field select{display:block;width:100%;height:52px;padding:0 14px;border:1px solid #1b231e;border-radius:0;background:#0c100e;color:#f3f5f2;font-family:var(--sans);font-size:13px;line-height:1.5;outline:none;transition:border-color .2s}
.access-field input::placeholder{color:#77847b;opacity:1}
.access-field input:focus,.access-field select:focus{border-color:#b0f66b;outline:1px solid #b0f66b;outline-offset:0}
.access-select{position:relative}
.access-select select{appearance:none;padding-right:40px;cursor:pointer}
.access-select select:invalid{color:#77847b}
.access-select option{color:#f3f5f2;background:#0c100e}
.access-select>svg{position:absolute;right:14px;top:17px;width:18px;height:18px;fill:none;stroke:#8b988f;stroke-width:1.5;pointer-events:none}
.access-field-help{margin:8px 0 0;color:#7d8b81;font-size:10px;line-height:1.5}
.access-submit{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:14px;min-height:52px;width:100%;margin-top:27px;padding:16px 20px;border:1px solid #f3f5f2;border-radius:0;background:#f3f5f2;color:#070b0a;font-size:11px;font-weight:700;letter-spacing:.07em;transition:color .3s}
.access-submit:hover,.access-submit:focus-visible{background:transparent;color:#fff;border-color:#fff}
.access-submit .button-arrow{width:14px;height:14px;stroke-width:1.5}
.access-submit:focus-visible{outline:1px solid #fff;outline-offset:4px}
.access-close:focus-visible,.access-contact a:focus-visible{outline:2px solid #b0f66b;outline-offset:4px}
.access-status{margin:18px 0 0;font-size:12px;line-height:1.7;color:#b8c2bb}
.access-status[hidden]{display:none}
.access-status a{color:#b0f66b;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
@keyframes access-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){
  .access-dialog{padding:44px 30px;width:calc(100vw - 40px);max-height:calc(100svh - 40px)}
  .access-layout{gap:30px;min-height:420px}
  .access-intro h2{font-size:clamp(40px,5.5vw,56px)}
  .access-description{font-size:13px}
  .access-form{padding:24px}
  .access-contact>a{font-size:14px}
}
@media(max-width:640px){
  .access-dialog{width:calc(100vw - 32px);max-height:calc(100svh - 40px);padding:38px 24px 26px}
  .access-layout{display:flex;flex-direction:column;gap:27px;min-height:0}
  .access-eyebrow{font-size:10px;margin-bottom:13px}
  .access-intro h2{font-size:40px;margin-bottom:18px}
  .access-description{font-size:13px;line-height:1.7}
  .access-contact{padding-top:20px}
  .access-contact>span{font-size:8px;margin-bottom:5px}
  .access-contact>a{font-size:14px}
  .access-form{width:100%;padding:21px 18px}
  .access-field{margin-bottom:17px}
  .access-field input,.access-field select{font-size:16px;height:48px}
  .access-field label{font-size:10px}
  .access-submit{margin-top:22px;min-height:48px}
  .access-close{right:9px;top:9px}
}
@media(prefers-reduced-motion:reduce){.access-dialog[open]{animation:none}.access-submit::before,.access-field input,.access-field select{transition:none}}

.access-dialog:focus{outline:none}
.form-privacy-note{margin:15px 0;color:#95a399;font-size:11px;line-height:1.75}
.form-privacy-note a{color:#edf3eb;text-decoration:underline;text-underline-offset:3px}
.form-privacy-note a:hover{color:#b0f66b}
.form-consent{display:flex;align-items:center;gap:11px;margin:18px 0;color:#b8c2bb;font-size:12px;line-height:1.7;cursor:pointer}
.form-consent input{appearance:none;-webkit-appearance:none;flex:none;width:19px;height:19px;margin:0;padding:0;border:1px solid #fff;border-radius:0;background:transparent;display:grid;place-content:center;cursor:pointer;transition:background-color .18s ease}
.form-consent input::after{content:"";width:15px;height:15px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10l4 4 8-8' fill='none' stroke='%23080c0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;transform:scale(0);transition:transform .15s ease}
.form-consent input:checked{background:#fff;border-color:#fff}
.form-consent input:checked::after{transform:scale(1)}
.form-consent input:focus-visible{outline:2px solid #fff;outline-offset:4px}
.access-status>p{margin:0 0 9px}

/* Custom profile list is a top-layer popover so the modal cannot clip it. */
.access-field input[type="hidden"]{display:none}
.access-profile-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:13px 14px;border:1px solid #fff;background:#000;color:#77847b;text-align:left;font:400 13px/1.5 var(--sans);cursor:pointer}
.access-profile-trigger.has-value{color:#f3f5f2}
.access-profile-trigger>svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .2s}
.access-profile-trigger[aria-expanded="true"]>svg{transform:rotate(180deg)}
.access-profile-trigger:hover{border-color:#fff}
.access-profile-trigger:focus-visible,.access-profile-trigger[aria-expanded="true"]{border-color:#fff;outline:1px solid #fff;outline-offset:0}
.access-profile-trigger[aria-invalid="true"]{border-color:#fff}
.access-options{position:fixed;inset:auto;margin:0;padding:6px;overflow-y:auto;overscroll-behavior:contain;border:1px solid #fff;background:#000;color:#f3f5f2;box-shadow:0 16px 38px #0008;scrollbar-width:thin;scrollbar-color:#465348 #0c100e;font:400 13px/1.5 var(--sans)}
.access-option{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding:10px;cursor:pointer}
.access-option:hover,.access-option.is-active{background:transparent;color:#b0f66b}
.access-option[aria-selected="true"]{color:#b0f66b}
.access-option-check{visibility:hidden}
.access-option[aria-selected="true"] .access-option-check{visibility:visible}
@media(max-width:640px){.access-profile-trigger{font-size:16px;min-height:48px}.access-options{font-size:14px}}

/* ReactDrops Liquid Glass Logo preloader; metadata stays outside the artwork. */
.home-loader{font-family:var(--mono);isolation:isolate;background:#000;color:#fff;opacity:1;transition:opacity .3s ease;will-change:opacity;touch-action:none}
.loader-layout{width:min(720px,100vw);display:flex;flex-direction:column;align-items:center;padding-bottom:34px}
.loader-liquid-stage{position:relative;width:100%;height:min(480px,65svh);flex:none}
.loader-liquid-root{position:absolute;inset:0;width:100%;height:100%}
.loader-liquid-root .liquid-glass-logo{min-height:0}
.loader-image-fallback{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(184px,38vw);height:auto;max-height:42%;object-fit:contain;opacity:0}
.liquid-unavailable .loader-image-fallback{opacity:1}
.loader-meta{position:relative;margin-top:-46px;display:grid;justify-items:center;gap:15px;width:calc(100% - 48px);text-align:center}
.loader-caption{font-size:10px;line-height:1.7;font-weight:500;letter-spacing:.15em;text-wrap:balance;color:#fff}
.loader-percent{color:#b0f66b;font-size:18px;line-height:1.4;font-weight:500;letter-spacing:.06em;font-variant-numeric:tabular-nums}
html.home-loading .home-loader.is-leaving{opacity:0}
html.home-loading:not(.home-revealing) body>:not(.home-loader):not(script):not(style){visibility:hidden}
html.home-loading:not(.home-revealing) body{overflow:hidden}
html.home-loading.home-revealing{overflow:visible}
@media(max-height:540px){.loader-layout{padding-bottom:0}.loader-liquid-stage{height:65svh}.loader-meta{margin-top:-15px;gap:8px}}
@media(prefers-reduced-motion:reduce){.home-loader{transition:none}}

.site-header nav a[aria-current="page"]{color:var(--lime);text-decoration:underline;text-decoration-color:var(--lime);text-underline-offset:7px}

.publication-notice{margin:40px 0 28px;padding-top:22px;border-top:1px solid #2b382e;color:#a9b6ac;font-size:13px;line-height:1.8}.publication-notice p{font-size:inherit;line-height:inherit}.publication-notice a,.insight-editorial-note a{color:#b0f66b;text-decoration:underline;text-underline-offset:3px}

/* Desktop opening: fit the composition to width AND available window height.
   The particle canvas stays viewport-sized; geometry overscan happens in WebGL. */
@media(min-width:761px){
  .opening-scene .hero h1{font-size:clamp(44px,min(6.7vw,10.8svh),116px)}
  .opening-scene .intro h2{font-size:clamp(28px,min(4.1vw,8.2svh),78px)}
  .opening-scene .hero-content{padding-top:clamp(96px,12svh,130px);padding-bottom:clamp(40px,8svh,100px)}
  .opening-scene .intro{padding-top:clamp(94px,12svh,110px);padding-bottom:clamp(40px,8svh,110px)}
}
@media(min-width:761px) and (max-height:760px){
  .opening-scene .hero-copy{margin-top:24px;font-size:16px;line-height:1.6}
  .opening-scene .hero-buttons{margin-top:26px}
}

/* Compact navigation covers tablet portrait/landscape and large touch tablets. */
@media(max-width:1180px), (max-width:1366px) and (hover:none) and (pointer:coarse){
  html.compact-menu-open{overflow:hidden}
  .site-header,.site-header.is-scrolled{min-height:84px}
  .site-header .header-inner{grid-template-columns:1fr auto;width:calc(100% - 64px);max-width:none;gap:20px}
  .site-header.is-scrolled .header-inner{width:calc(100% - 48px);max-width:none}
  .site-header .desktop-nav,.site-header .header-actions>.header-cta{display:none}
  .site-header .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:52px;height:52px;padding:12px;border:1px solid currentColor;background:transparent;color:inherit}
  .site-header .menu-toggle span{display:block;flex:none;width:24px;height:1px;transition:transform .2s}
  .site-header .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
  .site-header .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .site-header.is-menu-open::before{opacity:1}
  .site-header .mobile-nav{position:absolute;top:100%;left:0;right:0;padding:24px clamp(24px,5vw,64px) 36px;max-height:calc(100svh - 84px);overflow:auto;overscroll-behavior:contain;border-bottom:1px solid var(--page-border);flex-direction:column;gap:0}
  .site-header .mobile-nav[hidden]{display:none!important}
  .site-header .mobile-nav:not([hidden]){display:flex}
  .site-header .mobile-nav>a{display:flex;align-items:center;min-height:64px;padding:14px 0;font-size:clamp(22px,3vw,32px);line-height:1.3;border-bottom:1px solid var(--page-border)}
  .site-header .nav-access{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:58px;margin-top:26px;padding:16px 22px;border:1px solid currentColor;background:transparent;color:inherit;font:700 13px var(--sans);text-align:left}
  .site-header .nav-access .button-arrow{position:static;width:20px;height:20px}
  .site-header .nav-access:hover,.site-header .nav-access:focus-visible{background:#eff5ed;color:#080c0b}
}
@media(max-width:640px){
  .site-header,.site-header.is-scrolled{min-height:74px}
  .site-header .header-inner,.site-header.is-scrolled .header-inner{width:calc(100% - 40px)}
  .site-header .menu-toggle{width:46px;height:46px}
  .site-header .mobile-nav{max-height:calc(100svh - 74px)}
}
/* Tablet composition: larger type, less dead space, and a readable card rail. */
@media(min-width:641px) and (max-width:1180px), (min-width:641px) and (max-width:1366px) and (hover:none) and (pointer:coarse){
  .opening-scene .hero-content{padding-top:110px;padding-bottom:64px;justify-content:center}
  .opening-scene .hero h1{font-size:clamp(60px,min(9.4vw,10svh),112px);line-height:1.04;max-width:100%;letter-spacing:-.05em}
  .opening-scene .hero h1 .headline-light{white-space:normal;display:block}
  .opening-scene .hero h1 strong{display:block}
  .opening-scene .hero-copy{max-width:580px;font-size:clamp(18px,2.1vw,23px);line-height:1.65;margin-top:30px}
  .opening-scene .hero-buttons{margin-top:32px}
  .opening-scene .hero-cta{min-height:60px;width:270px}
  .opening-scene .intro{padding-top:112px;padding-bottom:60px}
  .opening-scene .intro h2{font-size:clamp(36px,min(6.2vw,7svh),78px);line-height:1.19;letter-spacing:-.025em}
  .capabilities-heading h2{font-size:clamp(52px,min(7.6vw,9svh),94px)}
  .capabilities .horizontal-sticky{padding-top:110px;padding-bottom:32px;justify-content:center;gap:26px}
  .capabilities .tools-heading{margin:0 clamp(24px,6vw,108px);font-size:clamp(34px,min(4.8vw,5.4svh),60px);line-height:1.15}
  .cap-card,.opening-motion .cap-card{flex-basis:78vw;height:clamp(360px,52svh,620px);padding:34px}
  .cap-card .card-bottom h3{font-size:clamp(34px,4.5vw,52px)}
  .cap-card .card-bottom p{max-width:520px;font-size:clamp(16px,1.8vw,20px);line-height:1.7}
  .cap-card .card-top{font-size:10px}
  .card-explore{font-size:12px;min-height:44px}
  .cap-card .card-index{font-size:clamp(96px,12vw,144px);bottom:24px}
  .horizontal-sticky .capabilities-progress{margin-top:0}
  .capability-labels{font-size:10px;letter-spacing:.025em;gap:10px;line-height:1.5}
  .capability-labels span{display:block;margin:0 0 4px}
  .feedback .feedback-title-stage h2{font-size:clamp(44px,6.5vw,76px);max-width:90%}
  .reviews-field{grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 30px}
  .review-column,.review-column:nth-child(2),.review-column:nth-child(3){display:contents}
  .has-tablet-reviews .reviews-field{display:block;height:var(--tablet-reviews-height);padding:0;margin:0 clamp(24px,6vw,108px)}
  .has-tablet-reviews .review-slot{position:absolute;left:var(--tablet-review-left);top:var(--tablet-review-top);width:var(--tablet-review-width);margin:0}
  .review-card{padding:28px}
  .review-card-top{top:24px;left:28px;right:28px;gap:12px}
  .has-review-design .review-name{font-size:30px}
  .review-card blockquote p{font-size:clamp(16px,1.7vw,20px);line-height:1.7}
  .has-review-design .review-card{min-height:var(--review-height);height:auto}
  .has-review-design .review-card-index{margin-top:20px;font-size:64px}
  .closing-footer{overflow-wrap:anywhere}
}
@media(min-width:641px) and (max-width:760px){
  .capabilities .horizontal-sticky{height:auto;padding-top:100px}
  .cards-track{width:100%;overflow-x:auto;scroll-snap-type:x mandatory}
}
@media(prefers-reduced-motion:reduce){.site-header .menu-toggle span{transition:none}}

.hero h1 .hero-phrase{white-space:nowrap}

/* Keep the light opening phrase on one line at tablet widths. */
@media(min-width:641px) and (max-width:1180px), (min-width:641px) and (max-width:1366px) and (hover:none) and (pointer:coarse){
  .opening-scene .hero h1 .headline-light{white-space:nowrap;font-size:.82em;letter-spacing:-.055em;margin-bottom:.12em}
}

/* Three offset strokes, with a full-sized invisible touch target. */
@media(max-width:1180px), (max-width:1366px) and (hover:none) and (pointer:coarse){
  .site-header .menu-toggle{border:0;gap:5px;padding:10px;width:52px;height:52px}
  .site-header .menu-toggle span{height:3px;border-radius:999px;transform:none;width:30px}
  .site-header .menu-toggle span:first-child{width:15px;align-self:flex-start}
  .site-header .menu-toggle span:last-child{width:15px;align-self:flex-end}
  .site-header .menu-toggle[aria-expanded=true] span:first-child{width:30px;align-self:center;transform:translateY(8px) rotate(45deg)}
  .site-header .menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
  .site-header .menu-toggle[aria-expanded=true] span:last-child{width:30px;align-self:center;transform:translateY(-8px) rotate(-45deg)}
}
@media(min-width:641px) and (max-width:1180px), (min-width:641px) and (max-width:1366px) and (hover:none) and (pointer:coarse){
  .capabilities .tools-heading{margin-bottom:clamp(24px,3svh,42px);flex-shrink:0}
  .journey-sticky{gap:clamp(42px,4.5svh,64px)}
}

/* A visibly compact opening header expands toward the edges on scroll. */
@media(max-width:1180px), (max-width:1366px) and (hover:none) and (pointer:coarse){
  .site-header:not(.is-scrolled) .header-inner{width:78%;max-width:1000px}
  .site-header .menu-toggle{outline:none}
  .site-header .menu-toggle:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
}
/* Keep the explanation in view for the stacked workflow only. */
@media(max-width:999px){
  .journey .pipeline-layout{position:relative;overflow:visible}
  .journey .pipeline-steps{position:sticky;top:84px;z-index:5;background:var(--page-surface);padding:16px 0 18px;flex-shrink:0;border-bottom:1px solid var(--page-border)}
  .journey .pipeline-step{min-height:46px}
  .journey .pipeline-step-detail{min-height:3.4em;line-height:1.7;margin-top:8px}
}
@media(max-width:640px){.journey .pipeline-steps{top:74px}}

/* Phone: vertical page scrolling drives the pinned horizontal tool rail. */
@media(max-width:640px){
  .capabilities .horizontal-stage{height:var(--mobile-rail-height,460svh)}
  .capabilities .horizontal-sticky{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:94px 0 20px;gap:24px}
  .capabilities .tools-heading{margin:0 24px;font-size:clamp(24px,6.7vw,32px);line-height:1.12;flex:none}
  .capabilities .cards-track{width:max-content;overflow:visible;scroll-snap-type:none;padding:0 24px;gap:24px;flex:none;will-change:transform}
  .capabilities .cap-card{flex:0 0 calc(100vw - 48px);width:calc(100vw - 48px);height:clamp(240px,calc(100svh - 310px),460px);padding:24px}
  .capabilities .cap-card .card-top{font-size:8px;gap:12px}
  .capabilities .cap-card .card-bottom h3{font-size:clamp(26px,7.4vw,34px)}
  .capabilities .cap-card .card-bottom p{font-size:14px;line-height:1.6}
  .capabilities .card-index{font-size:80px;right:24px;bottom:18px}
  .capabilities .card-explore{min-height:36px;font-size:10px}
  .capabilities .capabilities-progress{margin:0 24px;flex:none}
  .capability-labels{font-size:7px;line-height:1.5;letter-spacing:0;gap:5px}
  .reviews-field{display:flex;flex-direction:column;gap:48px}
  .review-column,.review-column:nth-child(2),.review-column:nth-child(3){display:contents}
  .reviews-field .review-slot,.reviews-field .review-slot:nth-child(even){width:100%;align-self:stretch;margin:0}
}
@media(max-width:640px) and (max-height:640px){
  .capabilities .horizontal-sticky{padding-top:86px;padding-bottom:12px;gap:16px}
  .capabilities .tools-heading{font-size:22px}
  .capabilities .cap-card{height:calc(100svh - 270px);min-height:220px;padding:20px}
  .capabilities .cap-card .card-bottom h3{font-size:26px;margin-bottom:10px}
  .capabilities .cap-card .card-bottom p{font-size:13px;line-height:1.5}
  .capabilities .card-index{font-size:56px}
}
@media(prefers-reduced-motion:reduce){
  .capabilities .horizontal-stage{height:auto}
  .capabilities .horizontal-sticky{height:auto;position:relative;overflow:visible}
  .capabilities .cards-track{width:100%;overflow-x:auto;scroll-snap-type:x mandatory;transform:none}
  .capabilities .cap-card{scroll-snap-align:center}
}

/* Full-screen navigation, shared by phones and tablets. */
@media(max-width:1180px), (max-width:1366px) and (hover:none) and (pointer:coarse){
  .site-header.is-menu-open{color:#eff5ed;border-bottom-color:transparent}
  .site-header.is-menu-open .header-inner{position:relative;z-index:2}
  .site-header.is-menu-open .header-inner .brand-icon{filter:none}
  .site-header.is-menu-open .header-inner .menu-toggle span{background:#eff5ed}
  .site-header.is-menu-open nav.mobile-nav{position:fixed;inset:0;z-index:1;width:100%;height:100svh;height:100dvh;max-height:none;box-sizing:border-box;padding:calc(118px + env(safe-area-inset-top,0px)) clamp(28px,7vw,88px) calc(28px + env(safe-area-inset-bottom,0px));background:#080c0b;color:#eff5ed;border:0;overflow-y:auto;overscroll-behavior:contain;gap:48px}
  .nav-menu-links{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(8px,1.5svh,20px)}
  .site-header .mobile-nav .nav-menu-links>a{display:block;padding:4px 0;min-height:44px;border:0;font-size:clamp(30px,5vw,60px);font-weight:400;line-height:1.2;letter-spacing:-.045em;text-transform:none;color:#eff5ed}
  .site-header .mobile-nav .nav-menu-links>a[aria-current=page]{color:var(--lime)}
  .nav-menu-bottom{margin-top:auto;width:100%;max-width:640px}
  .site-header .nav-menu-bottom .nav-access{width:100%;max-width:340px;margin:0 0 32px;min-height:58px;color:#eff5ed;border-color:#eff5ed}
  .site-header .nav-menu-bottom .nav-access:hover,.site-header .nav-menu-bottom .nav-access:focus-visible{color:#080c0b}
  .nav-menu-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px 24px;padding-top:24px;border-top:1px solid #303833}
  .site-header .mobile-nav .nav-menu-meta>a{padding:0;border:0;font-size:13px;line-height:1.6;color:#aeb5b0;overflow-wrap:anywhere}
  .site-header .mobile-nav .nav-menu-meta>a:hover,.site-header .mobile-nav .nav-menu-meta>a:focus-visible{color:#eff5ed}
}
@media(max-width:640px){
  .site-header.is-menu-open nav.mobile-nav{padding-top:104px;gap:40px}
  .site-header .mobile-nav .nav-menu-links>a{font-size:clamp(29px,8vw,42px)}
  .nav-menu-meta{flex-direction:column;gap:12px}
}
@media(max-height:600px){
  .site-header.is-menu-open nav.mobile-nav{padding-top:94px;gap:24px}
  .site-header .mobile-nav .nav-menu-links{gap:0}
  .site-header .mobile-nav .nav-menu-links>a{font-size:28px;min-height:40px}
}

/* Centre the full-screen menu at both handheld sizes. */
@media(max-width:1180px), (max-width:1366px) and (hover:none) and (pointer:coarse){
  .site-header.is-menu-open nav.mobile-nav{align-items:center;gap:32px}
  .site-header .mobile-nav .nav-menu-links{width:100%;align-items:center;text-align:center;gap:clamp(10px,1.7svh,24px);margin:auto 0}
  .site-header .mobile-nav .nav-menu-links>a{font-size:clamp(42px,min(7.5vw,7.2svh),88px);line-height:1.12;min-height:48px;padding:4px 0}
  .site-header .nav-menu-bottom{max-width:640px;width:100%;margin:0 auto}
  .site-header .nav-menu-bottom .nav-access{max-width:420px;margin:0 auto 28px;min-height:64px;font-size:15px}
  .site-header .mobile-nav .nav-menu-meta{justify-content:center;align-items:center;text-align:center;gap:14px 32px}
  .site-header .mobile-nav .nav-menu-meta>a{font-size:clamp(13px,1.5vw,17px)}
}
@media(max-width:640px){
  .site-header .mobile-nav .nav-menu-links>a{font-size:clamp(38px,min(11vw,6.5svh),56px)}
  .site-header .nav-menu-bottom .nav-access{min-height:58px;font-size:13px}
}
@media(max-height:600px){
  .site-header.is-menu-open nav.mobile-nav{gap:20px}
  .site-header .mobile-nav .nav-menu-links{gap:4px}
  .site-header .mobile-nav .nav-menu-links>a{font-size:30px;min-height:38px}
}
/* Form spam trap stays out of the visual layout and keyboard navigation. */
.request-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.access-form .form-consent[hidden] { display: none; }
.access-submit:disabled { cursor: wait; opacity: .65; }
