/* A pinned architectural film, scrubbed by ordinary page scrolling. */
html:has(.cinematic-home),body.cinematic-home{overflow-x:clip;overflow-y:visible}
.cinematic-home{background:#091b17}
.cinematic-home .site-header{z-index:15;background:linear-gradient(#081a16b3,transparent);border-bottom:1px solid #ffffff18}
.cinematic-home .architecture-journey{height:640svh;perspective:none;padding:0;background:#091b17}
.journey-sticky{height:100svh;min-height:580px;position:sticky;top:0;overflow:hidden;background:#091b17;color:#fff;isolation:isolate}
.journey-visual,.journey-vignette{position:absolute;inset:0}
.journey-visual canvas{width:100%;height:100%;display:block;opacity:0;transition:opacity .7s}
.journey-visual.is-ready canvas{opacity:1}
.journey-poster{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:75% center;filter:brightness(.6);transition:opacity .7s}
.journey-visual.is-ready .journey-poster{opacity:0;pointer-events:none}
.journey-vignette{pointer-events:none;z-index:1;background:linear-gradient(90deg,#071a16eb 0%,#071a16a6 23%,#071a161a 48%,transparent 70%),linear-gradient(0deg,#061611e6,transparent 20%,transparent 85%,#06161145)}
.journey-copy{position:absolute;z-index:2;left:6vw;top:50%;width:min(530px,42vw);transform:translateY(-45%);pointer-events:none}
.journey-chapter{pointer-events:auto;animation:chapter-appear .65s both}.journey-chapter[hidden]{display:none}
.journey-kicker{font-size:12px!important;text-transform:uppercase;letter-spacing:.17em;color:#e5ad7c!important;margin:0 0 25px!important}
.journey-chapter h1,.journey-chapter h2{font:500 clamp(52px,5.8vw,90px)/1.02 Manrope,sans-serif;letter-spacing:-.065em;color:#f5f5ec;margin:0 0 27px;text-shadow:none}
.journey-chapter em{font:400 1.04em/1 Georgia,serif;color:#eebd93;letter-spacing:-.05em}
.journey-chapter>p{color:#c5d1c7;font-size:17px;line-height:1.8;margin:0 0 32px}
.journey-chapter .text-link{color:#f1dfc8;font-size:14px}.cinematic-home .journey-chapter .button{min-width:210px;background:#edb082;box-shadow:none;font-size:14px}
.journey-bottom{position:absolute;z-index:3;bottom:36px;left:6vw;right:5vw;display:flex;align-items:center;gap:40px;font-size:12px;color:#c5d0c6}
.journey-scroll{display:flex;align-items:center;gap:14px}.scroll-stroke{display:block;width:1px;height:35px;background:linear-gradient(transparent,#edb082)}
.journey-position{display:flex;align-items:center;gap:12px;font-variant-numeric:tabular-nums}.journey-track{width:120px;height:2px;background:#ffffff30}.journey-track i{display:block;width:100%;height:100%;background:#eeb58b;transform:scaleX(0);transform-origin:left}
.journey-disclosure{margin-left:auto;opacity:.85}
.journey-options{position:absolute;z-index:4;right:5vw;top:128px;display:flex;align-items:center;gap:18px;font-size:12px;color:#e1e8df}.journey-options button{font:inherit;border:1px solid #a9bfaa66;border-radius:30px;padding:10px 15px;background:#123326bb;backdrop-filter:blur(8px);color:inherit;cursor:pointer;min-height:40px}.journey-options a{padding:10px 0;border-bottom:1px solid #a9bfaa66}.journey-status{position:absolute;bottom:85px;right:5vw;z-index:3;color:#e8d5be;font-size:12px;max-width:260px}
@keyframes chapter-appear{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
/* Quiet supporting sections allow the cinematic models to remain the focus. */
.cinematic-home main>section:not(.architecture-journey){perspective:none}
.cinematic-home .intro-grid,.cinematic-home .service,.cinematic-home .service:nth-child(even),.cinematic-home .featured-project-card,.cinematic-home .project-image,.cinematic-home .project-card,.cinematic-home .steps li,.cinematic-home .value-grid p,.cinematic-home .value-grid p+p,.cinematic-home .why-summary-grid article,.cinematic-home .why-summary-grid article+article,.cinematic-home .buyer-question-list details,.cinematic-home .contact-panel{transform:none;box-shadow:none}
.cinematic-home .service:hover,.cinematic-home .service:nth-child(even):hover,.cinematic-home .featured-project-card:hover{transform:none!important;box-shadow:none!important}
.cinematic-home .service-photo,.cinematic-home .service>div:last-child,.cinematic-home .service-number,.cinematic-home .featured-project-image,.cinematic-home .featured-project-copy,.cinematic-home .intro-grid h2,.cinematic-home .intro-grid>div,.cinematic-home .project-card>*,.cinematic-home .steps li>*,.cinematic-home .value-grid p>*,.cinematic-home .why-summary-grid article>*,.cinematic-home .buyer-question-list summary,.cinematic-home .contact-panel>a{transform:none}
.cinematic-home .intro-grid{border:0;padding:0;background:transparent}.cinematic-home .intro-grid h2,.cinematic-home .process-title h2,.cinematic-home .contact-title h2,.cinematic-home .footer-brand .brand-word{text-shadow:none}.cinematic-home .project-card{margin-left:0;background:transparent;border:0}.cinematic-home .featured-project-image{margin:0;border:0}.cinematic-home .service-photo{margin-top:0;border:0;box-shadow:none}.cinematic-home .service{overflow:hidden}.cinematic-home .service-photo img{transform:none!important}.cinematic-home .steps li:nth-child(even){margin-left:0}
.cinematic-home.journey-static .architecture-journey{height:100svh;min-height:680px}.cinematic-home.journey-static .journey-sticky{position:relative;min-height:680px}.cinematic-home.journey-static .journey-position{display:none}
@media(max-width:1000px){.journey-copy{width:46vw;left:5vw}.journey-chapter h1,.journey-chapter h2{font-size:60px}.journey-chapter>p{font-size:16px}.journey-disclosure{max-width:155px;line-height:1.6}.journey-bottom{gap:25px}}
@media(max-width:700px){.cinematic-home .architecture-journey{height:560svh}.journey-sticky{min-height:580px}.journey-copy{top:auto;bottom:145px;left:25px;right:25px;width:auto;transform:none}.journey-chapter h1,.journey-chapter h2{font-size:clamp(43px,10vw,59px);margin-bottom:16px;line-height:1.03}.journey-chapter h2 br:nth-child(2){display:none}.journey-chapter>p{font-size:14px;line-height:1.65;margin-bottom:18px;max-width:300px}.journey-kicker{font-size:12px!important;margin-bottom:15px!important}.journey-vignette{background:linear-gradient(0deg,#061711 0%,#061711dc 18%,#06171138 52%,transparent 70%,#06171155)}.journey-options{top:96px;right:22px;left:22px;justify-content:space-between;font-size:12px}.journey-options button{padding:8px 12px}.journey-bottom{left:25px;right:25px;bottom:25px;gap:15px;flex-wrap:wrap;font-size:12px}.journey-position{margin-left:auto}.journey-track{width:65px}.journey-disclosure{max-width:none;margin-left:0;flex-basis:100%;font-size:12px}.journey-scroll{gap:10px}.scroll-stroke{height:22px}.cinematic-home .journey-chapter .button{padding:13px 17px;min-height:45px;min-width:0;width:auto}.journey-status{bottom:108px;left:25px;right:25px;max-width:none;font-size:12px}.journey-chapter .text-link{font-size:14px}.journey-poster{object-position:60% center}}
@media(prefers-reduced-motion:reduce){.journey-chapter{animation:none}.journey-visual canvas,.journey-poster{transition:none}}
@media(max-height:600px) and (min-width:701px){.journey-copy{top:45%}.journey-chapter h1,.journey-chapter h2{font-size:46px}.journey-chapter>p{margin-bottom:15px;font-size:14px}.journey-kicker{margin-bottom:12px!important}.journey-options{top:105px}}
/* One full-viewport scene remains behind every chapter of the homepage. */
.cinematic-home>.journey-visual{position:fixed;inset:0;z-index:0;pointer-events:none;height:100svh}
.cinematic-home>.journey-vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#061811df 0%,#06181186 28%,transparent 65%),linear-gradient(0deg,#06181166,transparent 30%)}
.cinematic-home main{position:relative;z-index:2;pointer-events:none}
.cinematic-home main a,.cinematic-home main button,.cinematic-home main details{pointer-events:auto}
.cinematic-home .architecture-journey,.cinematic-home .journey-sticky{background:transparent}
.cinematic-home .journey-copy,.cinematic-home .story-panel{pointer-events:auto}
.cinematic-home .journey-sticky{isolation:auto}
.cinematic-home main>section:not(.architecture-journey){display:flex;align-items:center;min-height:115svh;padding:16svh 5vw;background:transparent;gap:0;border:0}
.cinematic-home .story-panel{width:min(560px,46vw);padding:38px;background:#f5f7efed;backdrop-filter:blur(18px);border:1px solid #ffffff66;border-radius:5px;box-shadow:0 28px 80px #0002;color:#173d37}
.cinematic-home .story-panel .eyebrow{margin-bottom:28px;color:#476150;font-size:12px}
.cinematic-home .story-panel .section-head{display:block;border:0}.cinematic-home .story-panel .section-note{display:none}
.cinematic-home .story-panel h2{font-size:clamp(35px,3.9vw,55px);line-height:1.06;font-weight:500;letter-spacing:-.05em}
.cinematic-home .intro-grid,.cinematic-home .why-summary-head,.cinematic-home .buyer-questions-head{display:block}
.cinematic-home .intro-grid h2{margin-bottom:28px}.cinematic-home .large-copy{font-size:18px}.cinematic-home .story-panel .intro-grid>div{margin-top:25px}
.cinematic-home .services>.story-panel,.cinematic-home .why-summary>.story-panel,.cinematic-home .values>.story-panel{background:transparent;color:#f4f6ed;border:0}
.cinematic-home .services .story-panel .eyebrow,.cinematic-home .why-summary .story-panel .eyebrow,.cinematic-home .values .story-panel .eyebrow{color:#e2b68f}
.cinematic-home .service-list{display:block;perspective:none}
.cinematic-home .service,.cinematic-home .service:nth-child(even){display:block;border:0;border-top:1px solid #b2c4b640;padding:35px 0;margin:0;background:transparent;border-radius:0;min-height:70svh;transform:none}
.cinematic-home .service:last-child{padding-bottom:0;min-height:55svh}.cinematic-home .service-photo{height:210px;margin:0 0 25px;opacity:.95;border-radius:3px}.cinematic-home .service-number{display:block;margin-bottom:15px;color:#e9b48b}.cinematic-home .service h3{font-size:27px}.cinematic-home .service p{font-size:16px}.cinematic-home .service:hover,.cinematic-home .service:nth-child(even):hover{background:transparent}
.cinematic-home .featured-project-card{display:block;margin-top:0}.cinematic-home .featured-project-image{height:320px}.cinematic-home .featured-project-copy{padding:30px}.cinematic-home .featured-project-copy h2{font-size:44px}.cinematic-home .featured-project-copy dl{margin-bottom:25px}
.cinematic-home .project .story-panel{background:transparent;color:#fff;border:0}.cinematic-home .project-image{height:250px;margin:0 0 30px;border:0;border-radius:3px}.cinematic-home .project-card{margin:0;padding:0;background:none}.cinematic-home .project-card h2{font-size:52px}.cinematic-home .project .story-panel .eyebrow{color:#d9bd9e}.cinematic-home .project-card>p:not(.eyebrow):not(.project-count){font-size:16px}
.cinematic-home .process-title{padding:0}.cinematic-home .process-title>p:last-child{font-size:16px}.cinematic-home .steps{padding:0;gap:0;display:block}.cinematic-home .steps li{background:transparent;border:0;border-top:1px solid #b8c9bc;padding:32px 0;min-height:42svh;align-content:center;border-radius:0}.cinematic-home .steps li:last-child{min-height:30svh;padding-bottom:0}.cinematic-home .steps h3{font-size:23px}
.cinematic-home .value-grid{display:block}.cinematic-home .value-grid p,.cinematic-home .value-grid p+p{background:none;border:0;border-top:1px solid #8fac9755;padding:30px 0;min-height:180px;font-size:38px;transform:none;color:#eef3e8}.cinematic-home .value-grid p:last-child{padding-bottom:0}.cinematic-home .value-grid p>span{color:#e3b08b;margin-bottom:24px}
.cinematic-home .why-summary-head{margin-bottom:25px}.cinematic-home .why-summary-head>div:last-child{margin-top:24px}.cinematic-home .why-summary-grid{display:block;margin:0}.cinematic-home .why-summary-grid article,.cinematic-home .why-summary-grid article+article{border:0;border-top:1px solid #abc1ad44;background:transparent;min-height:0;padding:28px 0;border-radius:0;transform:none}.cinematic-home .why-summary-grid h3{margin-top:22px}.cinematic-home .why-summary-grid article:last-child{padding-bottom:0}
.cinematic-home .buyer-questions-head>p{margin-top:24px;font-size:16px}.cinematic-home .buyer-question-list details{background:#ffffff8c;box-shadow:none;margin-right:0}.cinematic-home .buyer-question-list summary{grid-template-columns:24px 1fr 30px;gap:10px;padding:22px 14px;min-height:88px}.cinematic-home .buyer-question-list summary strong{font-size:16px}.cinematic-home .buyer-question-list summary i{width:28px;height:28px;font-size:20px}.cinematic-home .buyer-question-list details>div{padding:0 20px 25px}.cinematic-home .buyer-question-list details p{font-size:16px}.cinematic-home .buyer-question-actions{gap:20px}
.cinematic-home .contact .story-panel{background:transparent;color:#173d37}.cinematic-home .contact-title h2{font-size:clamp(42px,4.4vw,62px)}.cinematic-home .contact-panel{margin:28px 0 0;padding:0;border:0;background:transparent}.cinematic-home .contact-panel>p{font-size:17px}.cinematic-home .contact-panel .button{width:100%}
.cinematic-home footer{position:relative;z-index:2;background:#081f19d9;backdrop-filter:blur(15px);min-height:40svh}
.cinematic-home>.journey-options{position:fixed;z-index:20;top:auto;bottom:22px;right:25px;left:auto;background:#09271be8;padding:5px 12px;border:1px solid #688c7055;border-radius:30px;backdrop-filter:blur(12px)}
.cinematic-home>.journey-options a{display:none}.cinematic-home>.journey-options button{background:none;border:0}
.cinematic-home>.scene-caption{position:fixed;bottom:30px;left:5vw;z-index:3;pointer-events:none;margin:0;font-size:12px;color:#d6dfd1;text-shadow:0 2px 8px #000}
.cinematic-home.journey-static main>section:not(.architecture-journey){min-height:0;padding-top:60px;padding-bottom:60px}.cinematic-home.journey-static .service,.cinematic-home.journey-static .steps li{min-height:0}.cinematic-home.journey-static .service{padding-bottom:35px}
@media(min-width:1500px){.cinematic-home .story-panel{width:570px;padding:44px}.cinematic-home main>section:not(.architecture-journey){padding-left:7vw}}
@media(max-width:1000px){.cinematic-home .story-panel{width:51vw;padding:28px}.cinematic-home .service-photo{height:180px}.cinematic-home .featured-project-copy{padding:24px}.cinematic-home .story-panel h2{font-size:40px}}
@media(max-width:700px){.cinematic-home main>section:not(.architecture-journey){padding:48svh 20px 12svh;min-height:130svh}.cinematic-home .story-panel{width:100%;padding:26px;background:#f5f7eff2;backdrop-filter:blur(12px)}.cinematic-home .service{min-height:70svh}.cinematic-home .service:last-child{min-height:0}.cinematic-home .steps li{min-height:36svh}.cinematic-home .story-panel h2{font-size:38px}.cinematic-home .project-image{height:230px}.cinematic-home .featured-project-copy h2{font-size:38px}.cinematic-home .featured-project-image{height:300px}.cinematic-home .contact-title h2{font-size:46px}.cinematic-home>.journey-vignette{background:linear-gradient(0deg,#06181177,transparent 65%)}.cinematic-home>.scene-caption{bottom:20px;left:20px;font-size:12px;max-width:165px;line-height:1.4}.cinematic-home>.journey-options{right:12px;bottom:12px;padding:3px 7px}.cinematic-home>.journey-options button{font-size:12px;padding:8px 10px}.cinematic-home footer{padding-bottom:100px}.cinematic-home .buyer-question-list summary{padding-left:10px;padding-right:10px;grid-template-columns:20px 1fr 26px;gap:7px}}
@media(prefers-reduced-motion:reduce){.cinematic-home main>section:not(.architecture-journey){min-height:0;padding-top:60px;padding-bottom:60px}.cinematic-home .service,.cinematic-home .steps li{min-height:0}}
.app-screen-controls{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 20px}.app-screen-controls button{font:500 14px/1.4 'DM Sans',sans-serif;padding:13px 16px;border:1px solid #89a99370;background:#153e2d;color:#e7eddf;border-radius:24px;cursor:pointer;min-height:44px}.app-screen-controls button[aria-pressed=true]{background:#efbc91;border-color:#efbc91;color:#153524}.cinematic-home .project-card .app-description{min-height:78px;font-size:17px!important;color:#d3e1ce!important}.cinematic-home .project-card .app-demo-note{font-size:12px!important;line-height:1.6;color:#b4c9b5!important;margin-bottom:30px}
.cinematic-home .values .value-grid p,.cinematic-home .values .value-grid p+p{min-height:60svh;display:flex;flex-direction:column;justify-content:center;padding:40px 0}.cinematic-home .values .value-grid p:last-child{min-height:48svh}.cinematic-home .values .value-grid p>span{flex:none}.cinematic-home.journey-static .values .value-grid p{min-height:180px}
@media(prefers-reduced-motion:reduce){.cinematic-home .values .value-grid p{min-height:180px}}
.cinematic-home .why-summary-grid article,.cinematic-home .why-summary-grid article+article{min-height:55svh;display:flex;flex-direction:column;justify-content:center;padding:40px 0}.cinematic-home .why-summary-grid article:last-child{min-height:48svh}.cinematic-home.journey-static .why-summary-grid article{min-height:0}
@media(prefers-reduced-motion:reduce){.cinematic-home .why-summary-grid article{min-height:0}}
