/* Scroll spectacle at the opening; a calmer reading rhythm through the rest. */
:root{--ink:#16213b;--blue:#3155e9;--muted:#526078;--paper:#fdfdfb}
body{background:var(--paper);font-size:16px;line-height:1.95}
h2{font-weight:800;letter-spacing:-.045em;font-size:clamp(34px,3.35vw,54px);line-height:1.5}
.body-copy{font-size:16px;line-height:2;color:var(--muted)}
.eyebrow{font-size:11px;letter-spacing:.13em;color:#66758e}
.small-number{font-size:11px;color:#687998}.fine-print{font-size:12px;color:#647086}
.button{box-shadow:none}.desktop-nav{font-size:14px;font-weight:600}.site-header.scrolled{background:#fdfdfbf2}
/* The sticky scene uses native page scrolling, without capturing wheel or touch. */
.hero{height:100svh;min-height:720px;max-height:none;overflow:visible;background:#fdfdfb}
.js-motion .hero{height:195svh;min-height:1400px}
.hero-pin{position:sticky;top:0;height:100svh;min-height:720px;isolation:isolate;overflow:clip;background:#fdfdfb}
.hero-camera{inset:8% 0 8% 42%;width:58%;transform-origin:center;contain:layout style}
.hero-stage{inset:10% auto auto -12%;width:124%;height:80%;object-fit:contain;max-width:none;opacity:.7;transform-origin:50% 50%;will-change:transform}
.hero-hub{position:absolute;left:31%;top:32%;width:38%;height:auto;max-width:none;z-index:1;will-change:transform}
.hero-jewel{width:18%;filter:drop-shadow(0 14px 15px #496ba80b);z-index:2}
.jewel-time{left:14%;top:13%;width:19%}.jewel-shift{left:63%;top:12%;width:18%}.jewel-sales{left:79%;top:39%;width:19%}.jewel-customer{left:5%;top:58%;width:20%}.jewel-project{left:34%;top:75%;width:20%}.jewel-stock{left:73%;top:69%;width:18%}
.hero-copy{left:5.2%;top:27%;width:48%;max-width:780px;pointer-events:auto}
.hero h1{font-size:clamp(44px,5.05vw,82px);line-height:1.34;letter-spacing:-.06em;font-weight:900}
.hero-kicker{font-size:clamp(16px,1.45vw,23px);font-weight:650;margin-top:25px}
.hero-description{font-size:15px;color:#5a667c;line-height:2;margin-top:15px}
.hero-actions{margin-top:32px;gap:30px}.hero-actions .button{min-width:220px;min-height:58px}.hero-actions .text-link{font-size:13px}
.hero-bottom{left:5.2%;bottom:35px;width:89.6%;font-size:11px;color:#637087}.hero-bottom>p{margin-left:125px}
.scroll-cue{font-size:10px;letter-spacing:.1em}.hero-chapters{position:absolute;left:51%;bottom:18%;display:flex;gap:24px;font-size:11px;color:#8992a5;z-index:3}
.hero-chapters span{transition:color .2s}.hero-chapters .active{color:var(--blue);font-weight:700}
/* Space reserved for language: the illustration becomes a supporting layer. */
.about-section{height:auto;min-height:0;max-height:none;padding:115px 5.2% 105px;background:#f6f8fb}
.about-section>.scene-art{opacity:.09;object-fit:cover;filter:saturate(.6)}
.about-heading{position:relative;left:auto;top:auto;width:auto;max-width:970px}
.about-heading h2{font-size:clamp(34px,3.35vw,54px);white-space:normal}.about-heading .body-copy{font-size:16px;margin-top:25px}
.benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px;margin-top:65px}
.benefit{position:relative;top:auto;left:auto;width:auto;padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none}
.benefit h3{font-size:28px;line-height:1.5;margin:15px 0}.benefit h3 br{display:none}.benefit p{font-size:15px;color:#536078;line-height:2}
.builder-section{background:#fffefa}.builder-copy h2{font-size:clamp(34px,3.35vw,54px)}.builder-copy .body-copy{font-size:21px;font-weight:500}
.builder-scene>.scene-art{opacity:.72}.builder-floater{opacity:.35;width:11%}.builder-floater-two{width:10%}.builder-hint{font-size:12px;color:#596983}
.builder-picker{padding-bottom:95px}.picker-heading h3{font-size:21px}.picker-heading>span{font-size:14px;color:#5c6c84}.picker-chip{font-size:14px;padding:12px 18px;background:#fff}.preset{font-size:14px}.preset>span{font-size:10px}.os-tile>span:last-child{font-size:13px}
.apps-section{padding-top:110px;padding-bottom:100px;background:#fff}
.apps-heading h2{font-size:clamp(34px,3.35vw,54px)}.apps-heading .body-copy{font-size:15px;max-width:390px;line-height:2}
.apps-art{top:230px;height:690px;opacity:.28}.app-filters{margin-top:35px;gap:9px}.filter{font-size:13px;color:#56627a;padding:10px 16px}.filter>span{font-size:11px}
.app-orbit{height:490px;margin-top:42px}.orbit-cards{--card-step:30vw}.orbit-card{left:50%;height:455px;width:min(27vw,400px)}
.orbit-card-inner{height:330px;padding:155px 28px 26px;background:#fffffff5;border:1px solid #e9edf3;backdrop-filter:none;border-radius:34px;box-shadow:0 12px 30px #22376b08}
.orbit-visual{height:295px;width:90%;top:-12px}.orbit-visual .jewel-image{transform:scale(1)}.orbit-card h3{font-size:27px}.orbit-card p{font-size:14px;line-height:1.9;color:#536078;min-height:54px}.orbit-card .button{font-size:12px;min-height:44px;margin-top:18px;padding:11px 18px}
.carousel-instruction{font-size:12px;color:#627087}.carousel-controls{margin-top:0}.app-directory{margin-top:40px}.app-directory>details>summary{font-size:15px;padding:22px 0}.app-card strong{font-size:14px}.app-card small{font-size:11px}.app-bottom-note{font-size:14px;color:#5a687d}
.usecases-section{height:auto;min-height:0;max-height:none;padding:110px 5.2% 100px;background:#f7f9fb}
.usecases-heading{position:relative;top:auto;left:auto;width:auto;max-width:800px}.usecases-heading h2{font-size:clamp(34px,3.35vw,54px)}.usecases-heading .body-copy{font-size:16px}
.industry-ribbon{opacity:.14;inset:25% 0 auto 0;height:75%;width:100%;object-fit:contain;filter:saturate(.65)}
.industry-portals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-top:65px}
.industry-portal,.industry-portal.reveal.is-visible{position:relative;left:auto;top:auto;width:100%;transform:none;--portal-turn:0deg}
.portal-photo{aspect-ratio:1.35;border:3px solid #fff;box-shadow:none}.portal-caption{font-size:15px;margin-top:18px;background:none;padding:0;gap:14px}.portal-photo img{filter:saturate(.85)}
.section-caption{position:relative;right:auto;bottom:auto;max-width:none;text-align:left;font-size:12px;color:#627087;margin-top:45px}
.custom-section{background:#fff}.growth-heading h2{font-size:clamp(34px,3.35vw,54px)}.growth-heading .body-copy{font-size:16px;max-width:560px}.growth-ribbon{opacity:.34;filter:saturate(.7)}
.growth-label h3{font-size:20px}.growth-label p{font-size:14px;color:#596981}.growth-label .small-number{font-size:10px}.growth-first .growth-label{left:-7%;width:140%}.growth-second .growth-label{left:-5%;width:130%}
.custom-links{gap:80px;padding:65px 0 110px}.custom-links h3{font-size:30px;font-weight:750}.custom-links p:not(.eyebrow){font-size:16px;line-height:2;color:#536078}.custom-links .text-link{font-size:14px}
/* Process and FAQ use a consistent, unobstructed reading column. */
.flow-section{height:auto;min-height:0;max-height:none;padding:110px 5.2%;display:grid;grid-template-columns:1fr 1fr;gap:85px;background:#f6f8fb}
.flow-section>.scene-art{left:40%;width:60%;opacity:.08;object-fit:cover;filter:saturate(.5)}
.flow-heading{position:relative;top:auto;left:auto;width:auto}.flow-heading h2{font-size:clamp(31px,3.1vw,50px)}.flow-heading .body-copy{font-size:16px}.flow-heading .button{font-size:14px;margin-top:30px}
.flow-steps{display:grid;gap:30px;align-content:start;padding-top:5px}
.flow-step{position:relative;left:auto!important;top:auto!important;width:auto!important;display:flex;align-items:flex-start!important;gap:25px!important;padding:0 0 28px;border:0;border-bottom:1px solid #dfe5ee;border-radius:0;background:none;backdrop-filter:none}
.flow-number,.step-one .flow-number,.step-two .flow-number,.step-three .flow-number,.step-four .flow-number{font-size:32px;line-height:1.35;font-weight:500;color:#6d83bb}
.flow-step>div,.step-one>div,.step-two>div{transform:none;max-width:none}.flow-step h3{font-size:21px;margin:0 0 8px}.flow-step p{font-size:15px;color:#526078;line-height:1.9}
.faq-section{height:auto;min-height:0;max-height:none;padding:115px 5.2%;display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;background:#fffefa}
.faq-art{width:45%;height:100%;opacity:.055;object-fit:cover;object-position:left;filter:saturate(.55)}
.faq-heading{position:relative;left:auto;top:auto;width:auto}.faq-heading h2{font-size:clamp(32px,3.3vw,52px)}.faq-heading .body-copy{font-size:16px;line-height:2}
.faq-list{position:relative;left:auto;top:auto;width:auto}.faq-list details{padding:22px 0;border-color:#e0e4eb}.faq-list summary{font-size:17px;gap:20px;min-height:44px;font-weight:700}.question-number{font-size:26px;color:#7c8eaf}.faq-toggle{width:32px;height:32px;background:#e9eefb}.faq-toggle .ui-icon{width:18px;height:18px;filter:none}.faq-answer{font-size:15px;line-height:2;padding:15px 35px 5px 51px;color:#536078}
.contact-section{height:790px;min-height:0;max-height:none;background:#fff9f2}.contact-section>.scene-art{opacity:.3;filter:saturate(.7)}
.contact-copy{top:18%;width:50%}.contact-lead{font-size:30px;font-weight:700;margin-bottom:18px}.contact-display{font-size:clamp(64px,7vw,110px);line-height:1.2;letter-spacing:-.055em}.contact-copy .body-copy{font-size:16px;line-height:2;max-width:580px}
.contact-cta{left:68%;top:21%;width:220px;max-width:25%;font-size:18px;border:1px solid #e4dfd7;background:#fffefa;box-shadow:0 12px 35px #28334f08}.contact-cta>[data-icon] .ui-icon{width:56px;height:56px;margin-bottom:18px}.contact-cta small{font-size:9px}.contact-detail{left:62%;top:65%;width:34%}.contact-label{font-size:11px}.contact-phone{font-size:clamp(28px,2.7vw,44px)}.contact-detail>p,.contact-note{font-size:13px;color:#536078}
.site-footer{height:650px;min-height:0;max-height:none;padding-top:90px;background:#fdfdfb}.footer-message{font-size:26px}.footer-top nav{font-size:14px;gap:32px;margin-top:28px}.footer-art{top:13%;height:85%;left:5%;width:90%;opacity:.75}.footer-bottom{font-size:12px}.footer-bottom a{font-size:12px}
.js-motion .reveal{transform:translateY(18px);transition-duration:.6s,.7s}.js-motion .reveal.is-visible{transform:none}
.reduced-motion .hero{height:100svh;min-height:720px}.reduced-motion .hero-pin{position:relative}.motion-toggle{box-shadow:none}.motion-label{font-size:9px}
@media(min-width:761px) and (max-width:1100px){
.hero-copy{top:30%}.hero h1{font-size:4.9vw}.hero-description{font-size:13px}.hero-actions{gap:16px}.hero-actions .button{min-width:170px;padding:16px 20px;font-size:12px}.hero-chapters{gap:16px;font-size:10px;left:49%}
.benefits{gap:30px}.benefit h3{font-size:24px}.benefit p{font-size:14px}.industry-portals{gap:18px}.portal-caption{font-size:13px}.growth-label h3{font-size:16px}.growth-label p{font-size:12px}.flow-section,.faq-section{gap:45px}.faq-list summary{font-size:15px;gap:12px}.contact-copy .body-copy{font-size:14px}.contact-phone{font-size:27px}.contact-detail{left:60%;width:38%}
}
@media(max-width:760px){
body{font-size:15px}.body-copy{font-size:14px}.eyebrow{font-size:10px}.fine-print{font-size:11px;line-height:1.9}
.hero{height:100svh;min-height:740px}.js-motion .hero{height:180svh;min-height:1330px}.hero-pin{height:100svh;min-height:740px}.hero-camera{inset:400px auto 110px 0;width:100%;transform-origin:center}.hero-stage{top:0;left:-15%;width:130%;height:100%;opacity:.65}.hero-hub{left:31%;top:31%;width:38%}
.hero-copy{left:22px;top:123px;width:calc(100% - 44px);max-width:none}.hero h1{font-size:clamp(31px,8.8vw,60px);line-height:1.4;letter-spacing:-.055em}.hero-kicker{font-size:14px;margin-top:15px}.hero-description{font-size:12px;line-height:1.9;margin-top:9px}.hero-actions{margin-top:20px;gap:20px}.hero-actions .button{min-width:0;min-height:49px;font-size:11px;padding:14px 20px;gap:15px}.hero-actions .text-link{font-size:11px}
.hero-jewel{filter:none}.jewel-time{left:12%;top:5%;width:20%}.jewel-shift{left:64%;top:5%;width:20%}.jewel-sales{left:82%;top:36%;width:19%}.jewel-customer{left:0%;top:55%;width:23%}.jewel-project{left:35%;top:77%;width:22%}.jewel-stock{left:77%;top:70%;width:20%}
.hero-chapters{left:0;bottom:58px;width:100%;justify-content:center;gap:24px;font-size:9px}.hero-bottom{left:22px;bottom:20px;width:calc(100% - 44px)}.hero-bottom>p{display:none}.scroll-cue{font-size:8px}.reduced-motion .hero{height:100svh;min-height:740px}
.about-section,.usecases-section{padding:75px 22px}.about-section>.scene-art{width:100%;left:0;opacity:.06;object-position:center}.about-heading h2{font-size:30px;line-height:1.6}.about-heading .body-copy{font-size:14px;margin-top:20px}.about-heading .body-copy br{display:none}
.benefits{grid-template-columns:1fr;gap:32px;margin-top:40px}.benefit{width:auto;padding:0;background:none;border:0;box-shadow:none;left:auto;top:auto}.benefit h3{font-size:24px;margin:10px 0}.benefit p{font-size:14px;line-height:1.9}.benefit p br{display:none}.small-number{font-size:10px}
.builder-copy h2{font-size:34px}.builder-copy .body-copy{font-size:15px}.builder-presets{width:46%;top:197px}.preset{font-size:10px;padding:10px 9px}.preset>span{font-size:8px}.builder-floater{width:18%;opacity:.25}.builder-floater-two{width:17%}.builder-hint{font-size:10px}.builder-picker{padding-bottom:75px}.picker-heading{align-items:flex-start;flex-direction:column;gap:12px}.picker-heading h3{font-size:18px}.picker-heading>span{font-size:12px}.picker-chip{font-size:12px;gap:7px;padding:10px 13px}.os-tile>span:last-child{font-size:8px}
.apps-section{padding:75px 0}.apps-heading h2{font-size:32px}.apps-heading .body-copy{font-size:14px;line-height:2;max-width:none;margin-top:22px}.apps-heading .body-copy br{display:none}.app-filters{margin-top:25px;gap:6px}.filter{font-size:11px;padding:9px 11px}.filter>span{font-size:10px}.apps-art{left:0;width:100%;height:500px;top:340px;opacity:.18}
.app-orbit{height:420px;margin-top:30px}.orbit-cards{--card-step:65vw}.orbit-card{width:70vw;max-width:370px;height:400px;left:50%}.orbit-card-inner{height:285px;padding:130px 23px 22px;border-radius:29px}.orbit-visual{height:245px;top:0;width:90%}.orbit-visual .jewel-image{transform:scale(1)}.orbit-card h3{font-size:23px}.orbit-card p{font-size:12px;line-height:1.85;min-height:44px}.orbit-card .button{font-size:11px;padding:10px 15px;min-height:42px;margin-top:14px}.carousel-instruction{font-size:10px}.app-directory>details>summary{font-size:13px}.app-card strong{font-size:12px}.app-card small{font-size:10px}.app-bottom-note{font-size:12px;line-height:1.9;gap:8px}
.usecases-heading h2{font-size:32px}.usecases-heading .body-copy{font-size:14px}.usecases-heading .body-copy br{display:none}.industry-ribbon{top:35%;width:100%;left:0;height:60%;opacity:.12;object-fit:contain}.industry-portals{grid-template-columns:1fr 1fr;gap:30px 18px;margin-top:40px}.portal-caption{font-size:11px;gap:5px;margin-top:12px;line-height:1.8}.portal-caption .ui-icon{width:13px;height:13px}.portal-photo{aspect-ratio:1.1;border-width:2px}.section-caption{font-size:11px;max-width:none;line-height:1.9;margin-top:30px}
.growth-heading h2{font-size:32px}.growth-heading .body-copy{font-size:14px;line-height:2}.growth-heading .body-copy br{display:none}.growth-ribbon{opacity:.23}.growth-label h3{font-size:17px}.growth-label p{font-size:12px}.growth-label .small-number{font-size:9px}.growth-first .growth-label{left:15%;width:175%}.growth-second .growth-label{left:-35%;width:175%}.growth-third .growth-label{width:155%}.custom-links{grid-template-columns:1fr;gap:35px;padding:55px 0 75px}.custom-links h3{font-size:28px}.custom-links p:not(.eyebrow){font-size:14px}.custom-links p:not(.eyebrow) br{display:none}.custom-links .text-link{font-size:13px}.custom-links article+article{padding:30px 0 0}
.flow-section,.faq-section{display:block;height:auto;min-height:0;padding:75px 22px}.flow-section>.scene-art{left:30%;width:70%;top:0;height:100%;opacity:.045}.flow-heading h2{font-size:30px}.flow-heading .body-copy{font-size:14px}.flow-heading .body-copy br{display:none}.flow-heading .button{font-size:13px;min-height:48px;margin-top:25px}.flow-steps{margin-top:45px;gap:25px}.flow-step{gap:20px!important;padding-bottom:25px}.flow-number,.step-one .flow-number,.step-two .flow-number,.step-three .flow-number,.step-four .flow-number{font-size:29px}.flow-step h3{font-size:19px;margin-bottom:8px}.flow-step p{font-size:14px}.flow-step p br{display:none}
.faq-art{left:0;width:100%;height:100%;opacity:.035}.faq-heading h2{font-size:30px}.faq-heading .body-copy{font-size:14px}.faq-heading .body-copy br{display:none}.faq-list{margin-top:35px}.faq-list details{padding:20px 0}.faq-list summary{font-size:13px;gap:12px;line-height:1.8}.question-number{font-size:24px}.faq-toggle{width:28px;height:28px}.faq-toggle .ui-icon{width:17px;height:17px}.faq-answer{font-size:13px;line-height:2;padding:15px 0 3px 37px}
.contact-section{height:900px;min-height:0}.contact-section>.scene-art{left:-30%;width:150%;top:280px;height:620px;opacity:.22}.contact-copy{top:75px;left:22px;width:calc(100% - 44px)}.contact-lead{font-size:25px;margin-bottom:13px}.contact-display{font-size:68px;line-height:1.15}.contact-display br{display:initial}.contact-copy .body-copy{font-size:14px;line-height:2;margin-top:25px;max-width:none}.contact-cta{left:calc(50% - 78px);top:470px;width:156px;max-width:none;border-width:1px;font-size:14px}.contact-cta>[data-icon] .ui-icon{width:42px;height:42px;margin-bottom:11px}.contact-cta small{font-size:7px}.contact-detail{left:22px;top:700px;width:calc(100% - 44px);padding:0;background:none;border:0;backdrop-filter:none;border-radius:0}.contact-phone{font-size:32px}.contact-label{font-size:10px}.contact-detail>p,.contact-note{font-size:12px}.contact-note{margin-top:12px}
.site-footer{height:500px;padding-top:70px;min-height:0}.footer-message{font-size:23px}.footer-top nav{font-size:11px;gap:15px 20px}.footer-art{position:absolute;left:-5%;top:28%;width:110%;height:65%;margin:0;object-fit:contain;opacity:.75}.footer-bottom{position:absolute;bottom:0;left:22px;font-size:10px;padding-bottom:25px}.footer-bottom a{font-size:10px}.motion-label{font-size:8px}
}
@media(max-width:360px){
.hero-copy{top:115px}.hero h1{font-size:8.6vw}.hero-description{font-size:11px}.hero-kicker{font-size:12px}.hero-actions{gap:14px}.hero-actions .button{padding:13px 15px;font-size:10px}.hero-actions .text-link{font-size:10px}.hero-camera{top:365px;bottom:110px}.hero-chapters{font-size:8px;gap:18px}.builder-copy h2{font-size:30px}.builder-presets{top:192px}.preset{font-size:9px}.preset>span{font-size:7px}.filter{font-size:10px;padding:9px 10px}.app-card{padding:11px 8px}.app-card strong{font-size:10px}.app-card small{font-size:9px}.faq-list summary{font-size:12px;gap:10px}.faq-toggle{width:25px;height:25px}.contact-display{font-size:62px}.contact-phone{font-size:28px}.portal-caption{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.hero,.js-motion .hero{height:100svh;min-height:740px}.hero-pin{position:relative}.hero-hub{transform:none!important}.hero-stage{transform:none!important}}
/* Keep the story captions clear of the moving app artwork. */
@media(min-width:761px){.hero-chapters{bottom:80px}}
.about-section>.scene-art{opacity:.14}.industry-ribbon{opacity:.22}.growth-ribbon{opacity:.42}.contact-section>.scene-art{opacity:.36}
@media(max-width:760px){.about-section>.scene-art{opacity:.08}.industry-ribbon{opacity:.16}.growth-ribbon{opacity:.27}.contact-section>.scene-art{opacity:.25}}
/* Large moving imagery stays in its own visual area at every scroll position. */
@media(min-width:761px){.hero-camera{clip-path:inset(-12% -12% -1% -1%)}.hero-chapters{left:5.2%;bottom:18%;gap:26px}}
@media(max-width:760px){.hero-camera{clip-path:inset(0 -10% 0 -10%)}}
/* The phone artwork follows the actual copy height, including wide phones. */
@media(max-width:760px){
.hero-pin{display:grid;grid-template-columns:100%;grid-template-rows:auto minmax(240px,1fr) 110px;padding-top:123px;min-height:780px}
.hero-copy{position:relative;grid-row:1;grid-column:1;left:auto;top:auto;margin:0 22px;width:calc(100% - 44px);padding-bottom:20px}
.hero-camera{position:relative;grid-row:2;grid-column:1;inset:auto;width:100%;height:100%;min-height:0}
.hero,.reduced-motion .hero{min-height:780px}.js-motion .hero{min-height:1400px}
}
@media(max-width:360px){.hero-pin{padding-top:115px}}
@media(prefers-reduced-motion:reduce) and (max-width:760px){.hero,.js-motion .hero{min-height:780px}}
