@font-face{font-family:Display;src:url('/fonts/barlow-condensed-700.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Manrope;src:url('/fonts/manrope-400.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('/fonts/manrope-600.woff2') format('woff2');font-weight:600;font-display:swap}
:root{--purple:#6638ed;--navy:#101b36;--cyan:#28d8f6;--white:#fff;--ink:#131d37;--muted:#677086;--border:#17244224;--max:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Manrope,Arial,sans-serif;background:white;color:var(--ink);font-size:17px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2{font-family:Display,'Arial Narrow',Impact,sans-serif;font-weight:700;text-transform:uppercase;line-height:.9;letter-spacing:-.015em}h2{font-size:clamp(70px,8vw,118px)}h3{font-size:25px;font-weight:600;line-height:1.2;letter-spacing:-.035em}p{line-height:1.65}img{max-width:100%;height:auto;display:block}button:disabled{cursor:default}.skip{position:fixed;left:15px;top:-100px;z-index:200;background:white;color:var(--navy);padding:12px}.skip:focus{top:15px}.pill{display:inline-flex;min-height:50px;padding:13px 25px;align-items:center;justify-content:center;border-radius:100px;background:white;color:var(--navy);font-size:14px;line-height:1.3;font-weight:600;border:1px solid transparent;transition:transform .2s,background .2s,color .2s;text-align:center}.pill:hover{transform:translateY(-3px);background:var(--navy);color:white}.nav-cta{font-size:13px;min-height:44px;padding:12px 21px}.section-label{display:flex;justify-content:space-between;gap:30px;font-size:11px;font-weight:600;letter-spacing:.1em;line-height:1.6}.eyebrow{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;margin-bottom:24px}.hero{background:var(--purple);color:white;overflow:hidden;min-height:min(920px,100svh);display:flex;flex-direction:column}.hero-inner{width:min(var(--max),88%);margin:auto;padding:142px 0 76px;flex:1}.hero .section-label{margin-bottom:36px;opacity:.78}.hero h1{font-size:clamp(100px,13.8vw,202px);line-height:.83;letter-spacing:-.028em}.hero h1>span{display:block;white-space:nowrap}.hero .line-one{transform-origin:left center}.hero .line-two{text-align:right;margin-top:25px;color:var(--navy)}.hero em{font-style:normal;color:white}.hero-bottom{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;margin-top:65px;align-items:end}.hero-offer{display:flex;gap:22px;align-items:center}.offer-price{font-family:Display,Impact,sans-serif;font-size:65px;line-height:1;color:var(--cyan)}.hero-offer>span:last-child{font-size:13px;line-height:1.7}.hero-description>p{font-size:21px;letter-spacing:-.03em;line-height:1.45}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:23px}.underlink{font-size:14px;text-decoration:underline;text-underline-offset:5px}.hero-foot{width:88%;max-width:var(--max);margin:0 auto;padding:20px 0 25px;border-top:1px solid #ffffff44;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.08em}.hero-foot>a{text-decoration:underline;text-underline-offset:4px}.intro{background:var(--cyan);padding:80px max(6%,calc((100vw - var(--max))/2)) 95px;overflow:hidden}.intro-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:center;margin-top:62px}.intro h2{font-size:clamp(65px,7.7vw,111px)}.intro h2>span{color:white}.intro-right .editorial{font-size:25px;font-weight:600;line-height:1.3;letter-spacing:-.04em;margin-bottom:25px}.intro-right>p:not(.editorial){font-size:17px;max-width:460px}.pill.dark{background:var(--navy);color:white;margin-top:27px}.pill.dark:hover{background:white;color:var(--navy)}.intro-preview{max-width:900px;margin:65px auto 0;transform:rotate(-1.2deg);box-shadow:0 30px 60px #11314725;border-radius:16px}.comparison{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden}.compare-tools{display:flex;align-items:center;justify-content:space-between;padding:15px 21px;gap:16px}.compare-tools>span{font-size:11px;font-weight:600;letter-spacing:.04em}.switch{display:flex;padding:3px;border-radius:100px;background:#eeedf6;flex-shrink:0}.switch button{border:0;background:transparent;color:#5d657a;font-size:13px;border-radius:100px;line-height:1.3;padding:8px 18px}.switch button[aria-pressed=true]{background:var(--purple);color:white}.enlarge{display:block;width:100%;padding:0;border:0;background:white;cursor:zoom-in}.enlarge img{width:100%;aspect-ratio:16/9;object-fit:contain}.compare-caption{font-size:10px;color:#7c8293;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--border);padding:10px 21px}.work{max-width:1480px;margin:auto;padding:110px 6% 95px}.work-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:48px}.work-heading h2 span{color:var(--purple)}.work-heading p{max-width:450px;font-size:19px;letter-spacing:-.02em}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.work-card{min-width:0;position:relative;overflow:hidden;border-radius:25px;aspect-ratio:1.05;display:flex;align-items:center;justify-content:center;background:var(--navy);color:white;isolation:isolate}.work-card:after{content:'';position:absolute;inset:35% 0 0;z-index:1;background:linear-gradient(transparent,#080f2488 58%,#080f24d9);pointer-events:none}.work-card.workshop{background:#bad0bf}.work-card.roadmap{background:#847bea}.work-card.proposal{background:#b6d0ff;grid-column:1/-1;aspect-ratio:2.04}.card-top{position:absolute;top:25px;left:26px;right:26px;display:flex;justify-content:space-between;font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--navy);z-index:2}.work-card>img{width:87%;border-radius:5px;box-shadow:0 20px 45px #09163255;transform:rotate(-5deg) translateY(-13%);transition:transform .6s cubic-bezier(.2,.8,.2,1);will-change:transform}.work-card.roadmap>img{transform:rotate(5deg) translateY(-13%)}.work-card.proposal>img{width:62%;transform:rotate(-4deg) translate(16%,-3%)}.work-card:hover>img,.work-card:focus-visible>img{transform:rotate(0deg) translateY(-15%) scale(1.04)}.work-card.proposal:hover>img{transform:rotate(0deg) translate(16%,-6%) scale(1.04)}.card-caption{position:absolute;left:28px;right:28px;bottom:26px;z-index:3}.card-caption>span:first-child{font-size:12px;letter-spacing:.02em}.card-caption h3{font-family:Display,Impact,sans-serif;font-size:clamp(37px,4.5vw,64px);line-height:1;text-transform:uppercase;letter-spacing:-.015em;margin-top:8px}.card-action{font-size:12px;display:inline-block;margin-top:13px;border-bottom:1px solid #ffffff80}.work-foot{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:28px}.work-foot p{font-size:12px;max-width:610px;color:var(--muted)}.pill.outline{border:1px solid var(--navy);background:transparent;flex-shrink:0}.pill.outline:hover{background:var(--navy)}.marquee-section{background:white;overflow:hidden;position:relative;padding:25px 0 56px;border-top:1px solid var(--border)}.marquee-track{display:flex;width:max-content;font-family:Display,Impact,sans-serif;font-size:clamp(100px,12vw,175px);line-height:1;animation:marquee 26s linear infinite}.marquee-track>span{white-space:nowrap;padding-right:30px}.marquee-track em{font-style:normal;color:var(--purple)}.marquee-section:hover .marquee-track,.marquee-section:focus-within .marquee-track,.marquee-section.paused .marquee-track{animation-play-state:paused}.motion-toggle{position:absolute;right:6%;bottom:18px;font-size:11px;color:var(--muted);background:transparent;border:0;text-decoration:underline;text-underline-offset:3px}@keyframes marquee{to{transform:translateX(-50%)}}.package{background:var(--navy);color:white;padding:78px max(6%,calc((100vw - var(--max))/2)) 82px}.package>.section-label{color:#b9c0d1}.package-layout{display:grid;grid-template-columns:1fr 1fr;gap:11%;margin-top:65px}.package h2{font-size:clamp(65px,7.3vw,108px)}.package h2 span{color:var(--cyan)}.package-intro{font-size:20px;color:#bcc5db;margin-top:27px;max-width:420px;letter-spacing:-.02em}.package-price{margin:34px 0 28px}.package-price>span{font-family:Display,Impact,sans-serif;font-size:100px;line-height:1;letter-spacing:-.025em}.package-price p{color:#bdc4d7;font-size:16px;margin-top:8px}.pill.cyan{background:var(--cyan);color:var(--navy)}.pill.cyan:hover{background:white}.package-details{padding-top:4px}.deliverable{display:flex;gap:24px;border-top:1px solid #ffffff3b;padding:26px 0}.deliverable>span{font-size:12px;color:var(--cyan);padding-top:4px}.deliverable h3{font-size:24px}.deliverable p{font-size:16px;color:#b9c2d8;margin-top:12px}.package-note{border-top:1px solid #ffffff3b;padding-top:24px;color:#aeb8cf}.package-note p{font-size:13px;line-height:1.7;margin-bottom:12px}.package-numbers{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff3b;padding-top:35px;margin-top:70px}.package-numbers>div{display:flex;flex-direction:column;align-items:center}.package-numbers>div+div{border-left:1px solid #ffffff3b}.package-numbers strong{font-family:Display,Impact,sans-serif;font-size:110px;line-height:1;color:var(--cyan)}.package-numbers span{font-size:10px;letter-spacing:.08em;margin-top:10px;color:#b8c1d7}.process{max-width:1480px;margin:auto;padding:95px 6% 105px}.process h2{font-size:clamp(66px,7.6vw,108px);margin-top:50px}.process h2 span{color:var(--purple)}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:55px}.process-grid article{border-top:1px solid var(--border);padding-top:24px}.step{font-family:Display,Impact,sans-serif;font-size:64px;line-height:1;color:var(--purple)}.process h3{font-size:25px;max-width:270px;margin-top:25px}.process p{font-size:16px;color:var(--muted);margin-top:16px}.faq{padding:85px max(6%,calc((100vw - var(--max))/2)) 100px;display:grid;grid-template-columns:1fr 1.1fr;gap:10%;background:#f3f1fa}.faq h2{font-size:clamp(70px,7.5vw,105px)}.faq h2 span{color:var(--purple)}.faq details{padding:22px 0;border-bottom:1px solid var(--border)}.faq details:first-child{padding-top:0}.faq summary{cursor:pointer;list-style:none;font-size:17px;font-weight:600;position:relative;padding-right:30px;line-height:1.5}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:0;top:-3px;font-size:23px;color:var(--purple)}.faq details[open] summary:after{content:'−'}.faq details p{font-size:16px;color:var(--muted);margin-top:15px}.contact{background:var(--purple);color:white;padding:75px max(6%,calc((100vw - var(--max))/2)) 80px}.contact h2{font-size:clamp(95px,14vw,200px);line-height:.82;letter-spacing:-.025em;margin-top:65px}.contact h2 span{color:var(--navy)}.contact-bottom{display:grid;grid-template-columns:1fr 1fr;gap:15%;margin-top:65px;align-items:start}.contact-bottom p{font-size:20px;max-width:480px;letter-spacing:-.02em}.small-note{font-size:12px!important;opacity:.75;line-height:1.65;letter-spacing:0!important;display:block;margin-top:16px}.contact-actions{display:flex;flex-direction:column;align-items:start}.pill.large{font-size:16px;padding:20px 36px;min-height:64px}.contact-email{font-size:20px;margin-top:22px;letter-spacing:-.025em}.contact-email:hover{text-decoration:underline;text-underline-offset:5px}.site-footer{background:var(--navy);color:white;padding:35px 6% 25px}.footer-top{display:flex;justify-content:space-between;gap:25px;font-size:16px;align-items:center;padding-bottom:26px}.footer-top>a:first-child{font-weight:600}.footer-top>span{font-size:12px;color:#aeb9d0}.footer-bottom{border-top:1px solid #ffffff26;padding-top:20px;display:flex;flex-wrap:wrap;gap:18px 30px;font-size:11px;color:#aeb9d0}.footer-bottom>span:last-child{margin-left:auto}.site-footer a:hover{color:var(--cyan)}dialog{padding:0;border:0;background:white;color:var(--navy)}dialog::backdrop{background:#10172acc;backdrop-filter:blur(8px)}.viewer-close{border:1px solid var(--border);background:#f5f4fa;border-radius:100px;font-size:13px;padding:10px 18px}.slide-dialog{width:min(1440px,96vw);max-width:96vw;max-height:94svh;border-radius:14px;box-shadow:0 20px 100px #0004}.viewer-top{display:flex;justify-content:space-between;align-items:center;padding:13px 20px;gap:20px}.viewer-top p{font-size:13px}.viewer-note{font-size:11px;text-align:center;padding:10px;color:var(--muted)}#viewer-image{width:100%;max-height:calc(94svh - 100px);object-fit:contain}body.dialog-open{overflow:hidden}.gallery-hero{background:var(--purple);color:white;padding:145px max(6%,calc((100vw - var(--max))/2)) 70px}.gallery-hero h1{font-size:clamp(85px,12vw,170px);line-height:.83;margin-top:38px;letter-spacing:-.025em}.gallery-hero h1 span{color:var(--navy)}.gallery-intro{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-top:45px}.gallery-intro>p{max-width:640px;font-size:21px;line-height:1.4;letter-spacing:-.03em}.gallery-intro nav{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}.gallery-intro nav a{font-size:12px;border:1px solid #ffffff66;padding:9px 17px;border-radius:100px}.gallery-intro nav a:hover{background:white;color:var(--navy)}.disclosure{font-size:11px;opacity:.7;margin-top:25px}.gallery-project{max-width:1480px;padding:75px 6% 85px;margin:auto}.project-heading{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:end;margin-bottom:35px}.project-heading h2{font-size:clamp(55px,6vw,85px)}.project-heading h3{font-size:23px}.project-heading p{font-size:16px;color:var(--muted);margin-top:12px}.gallery-project:nth-of-type(odd){background:#f4f2fa}.gallery-project .comparison{border-radius:20px;box-shadow:0 20px 60px #111b360a}.gallery-end{background:var(--purple);color:white;padding:90px 6%;text-align:center}.gallery-end h2{font-size:clamp(65px,10vw,140px)}.gallery-end h2 span{color:var(--navy)}.gallery-end p{font-size:18px;margin:30px 0}.gallery-end .underlink{display:block;margin-top:20px}
@media(max-width:1100px){.hero-inner{width:88%;padding-top:135px}.hero h1{font-size:13.7vw}.hero-bottom{gap:6%;margin-top:50px}.hero-offer{gap:15px}.offer-price{font-size:55px}.hero-description>p{font-size:18px}.hero-offer>span:last-child{font-size:12px}.intro-right .editorial{font-size:22px}.intro-layout{gap:6%}.intro h2{font-size:8vw}.work-heading p{font-size:17px;max-width:360px}.package-layout{gap:7%}.package h2{font-size:7.4vw}.deliverable h3{font-size:22px}.faq{gap:7%}.faq h2{font-size:7.5vw}.contact-bottom{gap:8%}.contact h2{font-size:14vw}.gallery-intro{display:block}.gallery-intro nav{margin-top:25px}.project-heading{gap:6%}}
@media(max-width:760px){html{scroll-padding-top:82px}.nav-cta{display:none}.hero{min-height:0}.hero-inner{width:auto;margin:0;padding:117px 23px 40px}.section-label{font-size:9px;gap:25px;letter-spacing:.07em}.hero .section-label{margin-bottom:33px}.hero h1{font-size:17vw;line-height:.89;letter-spacing:-.025em}.hero .line-two{margin-top:17px}.hero-bottom{grid-template-columns:1fr;gap:26px;margin-top:42px}.hero-offer{gap:19px}.offer-price{font-size:60px}.hero-offer>span:last-child{font-size:13px}.hero-description>p{font-size:19px}.hero-actions{gap:26px;margin-top:24px}.pill{font-size:13px;min-height:48px;padding:13px 23px}.underlink{font-size:13px}.hero-foot{width:calc(100% - 46px);font-size:8px;gap:20px;padding:16px 0 20px;letter-spacing:.025em}.hero-foot>span{max-width:190px}.intro{padding:50px 23px 55px}.intro-layout{grid-template-columns:1fr;gap:30px;margin-top:36px}.intro h2{font-size:clamp(58px,14vw,100px)}.intro-right .editorial{font-size:22px;max-width:570px}.intro-right>p:not(.editorial){font-size:16px;max-width:570px}.intro-preview{margin-top:38px;transform:none}.compare-tools{padding:11px 12px;gap:10px}.compare-tools>span{font-size:9px;max-width:155px}.switch button{font-size:11px;padding:7px 12px}.compare-caption{font-size:9px;padding:10px 12px;gap:12px}.work{padding:60px 20px 55px}.work-heading{display:block;margin-bottom:30px}.work-heading h2{font-size:76px}.eyebrow{font-size:10px;margin-bottom:20px}.work-heading p{font-size:17px;margin-top:23px;max-width:100%}.work-grid{gap:15px;grid-template-columns:1fr}.work-card{border-radius:19px;aspect-ratio:1.05}.work-card.proposal{grid-column:auto;aspect-ratio:1.05}.work-card.proposal>img{width:87%;transform:rotate(-4deg) translateY(-13%)}.work-card.proposal:hover>img{transform:rotate(0deg) translateY(-15%) scale(1.04)}.card-top{top:20px;left:22px;right:22px;font-size:9px}.card-caption{left:22px;right:22px;bottom:23px}.card-caption h3{font-size:48px}.card-caption>span:first-child{font-size:12px}.card-action{font-size:11px}.work-foot{display:block;margin-top:24px}.work-foot p{font-size:12px}.work-foot .pill{margin-top:22px}.marquee-section{padding:25px 0 47px}.marquee-track{font-size:90px}.motion-toggle{font-size:10px;bottom:15px}.package{padding:50px 23px 52px}.package-layout{grid-template-columns:1fr;gap:45px;margin-top:40px}.package h2{font-size:clamp(64px,15vw,105px)}.package-intro{font-size:18px;max-width:530px}.package-price{margin:26px 0}.package-price>span{font-size:93px}.package-price p{font-size:16px}.deliverable h3{font-size:23px}.deliverable p{font-size:16px}.deliverable{gap:21px;padding:22px 0}.package-note p{font-size:13px}.package-numbers{margin-top:35px;padding-top:27px;gap:5px}.package-numbers strong{font-size:78px}.package-numbers span{font-size:8px;text-align:center;letter-spacing:.03em;max-width:90px;line-height:1.6}.process{padding:58px 23px 62px}.process h2{font-size:clamp(49px,12vw,90px);margin-top:37px;line-height:.95}.process-grid{grid-template-columns:1fr;gap:28px;margin-top:38px}.process-grid article{position:relative;padding-left:66px;padding-top:23px}.step{position:absolute;left:0;top:21px;font-size:48px}.process h3{font-size:24px;margin-top:0;max-width:350px}.process p{font-size:16px;margin-top:14px}.faq{padding:58px 23px 64px;grid-template-columns:1fr;gap:37px}.faq h2{font-size:78px}.faq summary{font-size:16px}.faq details p{font-size:15px}.contact{padding:50px 23px 56px}.contact h2{font-size:clamp(75px,19vw,140px);margin-top:43px;line-height:.86}.contact-bottom{grid-template-columns:1fr;gap:30px;margin-top:40px}.contact-bottom p{font-size:18px}.contact-actions{align-items:stretch}.pill.large{min-height:58px;padding:17px 26px;font-size:16px}.contact-email{font-size:21px;text-align:center}.contact-actions .small-note{text-align:center;font-size:11px!important}.small-note{font-size:12px!important}.site-footer{padding:29px 23px}.footer-top{flex-wrap:wrap;gap:12px;font-size:15px}.footer-top>span{margin-left:auto}.footer-top>a:last-child{width:100%;font-size:14px}.footer-bottom{gap:12px 20px;font-size:10px}.footer-bottom>span:last-child{margin-left:0;width:100%}.viewer-top{padding:11px 13px}.viewer-top p{font-size:11px}.viewer-close{padding:7px 12px;font-size:12px}.viewer-note{font-size:9px}.gallery-hero{padding:116px 23px 47px}.gallery-hero h1{font-size:clamp(59px,14.5vw,100px);margin-top:35px;line-height:.91}.gallery-intro{margin-top:30px}.gallery-intro>p{font-size:18px;line-height:1.5}.gallery-intro nav{margin-top:24px;gap:8px}.gallery-intro nav a{font-size:12px;padding:8px 16px}.disclosure{font-size:11px;margin-top:25px}.gallery-project{padding:47px 20px 53px}.project-heading{grid-template-columns:1fr;gap:23px;margin-bottom:25px}.project-heading h2{font-size:60px}.project-heading h3{font-size:23px}.project-heading p{font-size:16px;margin-top:13px}.gallery-project .comparison{border-radius:12px}.gallery-end{padding:60px 23px}.gallery-end h2{font-size:clamp(53px,13vw,95px)}.gallery-end p{font-size:16px}.intro-preview .comparison{border-radius:10px}}
@media(max-width:370px){.hero h1{font-size:16.5vw}.hero-offer>span:last-child{font-size:12px}.hero .section-label{font-size:8px}.hero-actions{gap:20px}.pill{padding-inline:19px}.card-caption h3{font-size:43px}.compare-tools>span{font-size:8px;max-width:120px}.switch button{font-size:10px;padding:7px 10px}.compare-caption{font-size:8px}.process-grid article{padding-left:58px}.contact h2{font-size:20vw}.gallery-hero h1{font-size:15vw}.project-heading h2{font-size:55px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.marquee-track{transform:none!important}.motion-toggle{display:none}.hero h1>span{transform:none!important}}
/* Keep labels usable and large display text inside narrow screens. */
.intro h2>span{color:#34266f}
.card-action{font-size:14px}
@media(max-width:760px){.hero h1{font-size:16vw}.pill,.underlink{font-size:14px}.switch button{font-size:14px;padding:7px 11px}.gallery-intro nav a{font-size:14px}.viewer-close{font-size:14px}}
@media(max-width:370px){.hero h1{font-size:16vw}.switch button{font-size:13px;padding:7px 10px}}
/* Responsive 3D stage layers. Content is usable before or without WebGL. */
#fold-field{position:fixed;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;opacity:0;transition:opacity .45s}
#fold-field[data-scene-ready="true"]{opacity:1}
main>section{position:relative}main>section>*{position:relative;z-index:3}
.scene-bridge{height:145svh;min-height:800px;background:#fff;text-align:center}
.bridge-sticky{position:sticky;top:0;height:100svh;min-height:570px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 24px 75px}
.bridge-sticky h2{font-size:clamp(85px,11vw,155px);line-height:.82}.bridge-sticky h2 span{color:var(--purple)}.bridge-sticky p{max-width:380px;font-size:17px;margin-top:28px}
.curved-entry{border-radius:50% 50% 0 0 / 100px 100px 0 0;margin-top:-85px;padding-top:155px}
.media-world{height:195svh;min-height:1100px;background:#080d21;color:white;isolation:isolate}
.world-sticky{height:100svh;min-height:560px;position:sticky;top:0;overflow:hidden}
#media-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.world-copy{position:absolute;z-index:3;left:6%;top:15%;max-width:620px;pointer-events:none}
.world-copy h2{font-size:clamp(80px,11vw,160px);line-height:.85;text-shadow:0 3px 30px #0006}.world-copy h2 span{color:var(--cyan)}.world-copy p{font-size:16px;margin-top:25px;max-width:290px;color:#cbd6ea}.world-copy .eyebrow{color:#b5c9df;font-size:11px}
.world-link{position:absolute;bottom:8%;left:6%;z-index:4}.world-hint{position:absolute;bottom:10%;right:6%;z-index:4;font-size:10px;letter-spacing:.13em;color:#9caecc}
.world-fallback{position:absolute;inset:0;perspective:900px;z-index:0;transition:opacity .4s}.world-fallback img{position:absolute;width:35%;top:24%;right:5%;border-radius:10px;box-shadow:0 12px 50px #0008;transform:rotateY(-20deg) rotateZ(8deg)}.world-fallback img:nth-child(2){top:52%;right:22%;width:29%;transform:rotateY(25deg) rotateZ(-8deg)}.world-fallback img:nth-child(3){top:7%;right:30%;width:23%;transform:rotateY(-10deg) rotateZ(-5deg)}
#media-canvas[data-scene-ready="true"]+.world-fallback{opacity:0}
.feature-world{height:160svh;min-height:950px;background:linear-gradient(165deg,#141c40,#241256 65%,#432299);color:white;isolation:isolate}
.feature-sticky{position:sticky;top:0;height:100svh;min-height:580px;overflow:hidden}
.feature-copy{position:absolute;left:6%;right:6%;top:15%;z-index:1;text-align:center;pointer-events:none}.feature-copy h2{font-size:clamp(88px,12vw,165px);line-height:.84}.feature-copy h2 span{color:var(--purple)}.feature-copy .eyebrow{color:#b5abdb}
#feature-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.feature-caption{position:absolute;bottom:8%;left:6%;right:6%;text-align:center;font-size:14px;color:#c9c2e2;z-index:3}
.feature-fallback{position:absolute;left:10%;right:10%;top:42%;display:flex;gap:25px;justify-content:center;z-index:2;perspective:900px;transition:opacity .4s}.feature-fallback>div{width:210px;min-height:260px;border:1px solid #9f79ff;background:linear-gradient(140deg,#8352ff,#352064);border-radius:20px;box-shadow:10px 20px 45px #0004;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotateY(-14deg) rotateZ(-5deg)}.feature-fallback>div:nth-child(2){transform:translateY(-20px) rotateY(5deg)}.feature-fallback>div:nth-child(3){transform:rotateY(14deg) rotateZ(5deg)}.feature-fallback strong{font-family:Display,Impact,sans-serif;font-size:90px;line-height:1;color:var(--cyan)}.feature-fallback span{font-size:11px;margin-top:20px}.feature-fallback:has(~*){opacity:1}#feature-canvas[data-scene-ready="true"]+.feature-fallback{opacity:0}
@media(max-width:760px){.scene-bridge{height:125svh;min-height:650px}.bridge-sticky{min-height:530px;padding:105px 22px 75px}.bridge-sticky h2{font-size:clamp(80px,21vw,130px)}.bridge-sticky p{font-size:16px;max-width:280px}.bridge-sticky .eyebrow{font-size:9px}.curved-entry{border-radius:50% 50% 0 0 / 44px 44px 0 0;margin-top:-40px;padding-top:85px}.media-world{height:170svh;min-height:1000px}.world-sticky{min-height:580px}.world-copy{top:15%;left:23px;right:23px}.world-copy h2{font-size:clamp(65px,18vw,105px)}.world-copy p{font-size:14px;max-width:240px;margin-top:20px}.world-copy .eyebrow{font-size:9px}.world-link{left:23px;bottom:8%}.world-hint{right:23px;font-size:8px;bottom:10%}.world-fallback img{width:64%;right:-12%;top:48%}.world-fallback img:nth-child(2){width:57%;right:30%;top:65%}.world-fallback img:nth-child(3){width:46%;right:3%;top:33%}.feature-world{height:145svh;min-height:880px}.feature-sticky{min-height:590px}.feature-copy{top:16%;left:23px;right:23px}.feature-copy h2{font-size:clamp(66px,17vw,110px)}.feature-copy .eyebrow{font-size:9px}.feature-caption{font-size:12px;bottom:10%;left:25px;right:25px}.feature-fallback{left:5%;right:5%;gap:10px;top:44%}.feature-fallback>div{width:30%;min-height:175px;border-radius:12px}.feature-fallback strong{font-size:65px}.feature-fallback span{font-size:8px;text-align:center;margin-top:14px}}
@media(prefers-reduced-motion:reduce){.scene-bridge,.media-world,.feature-world{height:auto;min-height:0}.bridge-sticky,.world-sticky,.feature-sticky{position:relative;height:85svh;min-height:590px}.curved-entry{margin-top:0}.world-hint{display:none}}
.media-world{height:230svh}
@media(max-width:760px){.media-world{height:180svh}}
@media(prefers-reduced-motion:reduce){.media-world{height:auto}}
.lite-scenes .scene-bridge,.lite-scenes .media-world,.lite-scenes .feature-world,.media-world[data-scene-fallback],.feature-world[data-scene-fallback]{height:auto;min-height:0}
.lite-scenes .bridge-sticky,.lite-scenes .world-sticky,.lite-scenes .feature-sticky,[data-scene-fallback]>.world-sticky,[data-scene-fallback]>.feature-sticky{position:relative;height:90svh;min-height:580px}
.lite-scenes .world-hint,[data-scene-fallback] .world-hint{display:none}
canvas[data-scene-failed="true"]{opacity:0!important;visibility:hidden!important}
@media(max-width:760px){.feature-fallback{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(70%,330px);left:50%;right:auto;transform:translateX(-50%);top:34%;gap:12px}.feature-fallback>div{width:100%;min-height:145px;transform:rotateY(-10deg) rotateZ(-3deg)}.feature-fallback>div:nth-child(2){transform:rotateY(10deg) rotateZ(3deg)}.feature-fallback>div:nth-child(3){grid-column:1/-1;justify-self:center;width:calc(50% - 6px);min-height:145px;transform:none}.feature-fallback strong{font-size:56px}.feature-fallback span{font-size:8px;margin-top:10px}}
.user-reduced-motion{scroll-behavior:auto}.user-reduced-motion *,.user-reduced-motion *:before,.user-reduced-motion *:after{animation:none!important;transition:none!important}.user-reduced-motion .hero h1>span{transform:none!important}.user-reduced-motion .motion-toggle{display:none}.user-reduced-motion .scene-bridge,.user-reduced-motion .media-world,.user-reduced-motion .feature-world{height:auto;min-height:0}.user-reduced-motion .bridge-sticky,.user-reduced-motion .world-sticky,.user-reduced-motion .feature-sticky{position:relative;height:85svh;min-height:590px}.user-reduced-motion .curved-entry{margin-top:0}.user-reduced-motion .world-hint{display:none}

/* Give the heading, animated cards and caption separate layout rows. */
.feature-sticky{display:grid;grid-template-rows:auto minmax(340px,1fr) auto;gap:28px;padding:95px 6% 45px;min-height:850px}
.feature-copy{position:relative;inset:auto;grid-row:1;z-index:3}
.feature-copy h2{font-size:clamp(72px,9vw,130px)}
#feature-canvas{position:relative;inset:auto;grid-row:2;grid-column:1;align-self:stretch;min-height:0;width:100%;height:100%;overflow:hidden}
.feature-fallback{position:relative;inset:auto;grid-row:2;grid-column:1;align-self:center;justify-self:center;width:100%;transform:none}
.feature-caption{position:relative;inset:auto;grid-row:3;grid-column:1;align-self:end;margin:0}
@media(max-width:760px){.feature-sticky{padding:90px 23px 38px;min-height:940px;grid-template-rows:auto minmax(490px,1fr) auto;gap:24px}.feature-copy{inset:auto}.feature-copy h2{font-size:clamp(62px,16vw,95px)}.feature-fallback{inset:auto;transform:none;width:min(88%,330px)}.feature-caption{inset:auto}}
.work-card:focus-visible{outline:3px solid var(--purple);outline-offset:6px}
@media(hover:hover) and (pointer:fine){
.work-card{transition:box-shadow .6s cubic-bezier(.22,1,.36,1)}
.work-card:hover{box-shadow:0 20px 55px #101b3628}
}
.work-card{--hover-x:0px;--hover-y:0px;--hover-amount:0;--card-rotation:-5deg}
.work-card.roadmap{--card-rotation:5deg}.work-card.proposal{--card-rotation:-4deg}
.work-card>img.card-back{position:absolute;inset:-8%;width:116%;height:116%;max-width:none;object-fit:cover;filter:blur(5rem);opacity:0;box-shadow:none;pointer-events:none;transition:none;transform:translate(calc(var(--hover-x)*-2),calc(var(--hover-y)*-2)) scale(calc(1 + var(--hover-amount)));z-index:-1}
.work-card>img.card-front{transition:none;transform:translate(var(--hover-x),calc(-13% + var(--hover-y))) rotate(calc(var(--card-rotation)*(1 - var(--hover-amount)*3.3333))) scale(calc(1 - var(--hover-amount)));will-change:transform}
.work-card.proposal>img.card-front{transform:translate(calc(16% + var(--hover-x)),calc(-3% + var(--hover-y))) rotate(calc(var(--card-rotation)*(1 - var(--hover-amount)*3.3333))) scale(calc(1 - var(--hover-amount)))}
@media(hover:hover) and (pointer:fine){.work-card>img.card-back{opacity:calc(var(--hover-amount)*3.3333)}}
.roll-word{display:inline-block;vertical-align:bottom;overflow:hidden;height:1.15em;line-height:1.15}
.roll-stack{display:flex;flex-direction:column;transition:transform 2.5s cubic-bezier(.16,1,.3,1);transition-delay:var(--word-delay)}
.roll-stack>span{display:block;height:1.15em}
.title-rolling .roll-stack{transform:translateY(-50%)}.title-reset .roll-stack{transition:none}
@media(max-width:760px){.work-card.proposal>img.card-front{transform:translate(var(--hover-x),calc(-13% + var(--hover-y))) rotate(calc(var(--card-rotation)*(1 - var(--hover-amount)*3.3333))) scale(calc(1 - var(--hover-amount)))}}
@media(prefers-reduced-motion:reduce){.roll-stack{transition:none!important}}
