.crm-strip{margin:28px 0 36px;padding:28px 0}.build-timeline{padding:64px 6%}.build-timeline .light-heading{display:block;max-width:960px;margin:0 auto 30px;text-align:center}.project-category .build-timeline .light-heading h2{width:100%;max-width:none;margin:0 0 18px;line-height:1.12;text-align:center;font-size:clamp(32px,4.2vw,64px)}.build-timeline .light-heading>p{max-width:600px;margin:0 auto;line-height:1.7}.build-timeline .light-heading .eyebrow{margin-bottom:20px}.build-time-control{max-width:700px;margin:0 auto 28px}.build-readout{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}.build-readout>span{font-size:9px;letter-spacing:.13em;color:#ba9ecd}.build-readout output{font:500 25px 'DM Sans';font-variant-numeric:tabular-nums;color:#f5e8fc}.build-readout small{font-size:12px;color:#cbb1dc}.build-time-control label{font-size:11px;color:#ccb8d7}.build-stops{display:flex;justify-content:space-between}.build-stops button{padding:9px 0;background:none;border:0;color:#b9a1c9;font:12px 'DM Sans';cursor:pointer}.build-stops button[aria-pressed=true]{color:white}.build-stops button:focus-visible{outline:2px solid #e6c4f9;outline-offset:5px}.build-comparison .build-middle{z-index:1;opacity:var(--building,0)}.build-comparison .light-reveal{z-index:2;opacity:var(--finished,0)}.build-timeline .light-footer{line-height:1.7;align-items:start}.build-timeline .light-footer span:last-child{text-align:right;max-width:380px}
.immersive-journey{height:380svh;position:relative;background:#0b0811;color:#faf5ff;overflow:clip}.immersive-pin{position:sticky;top:0;height:100svh;min-height:650px;overflow:hidden;isolation:isolate}.portal-stage{position:absolute;inset:0;perspective:1200px;overflow:hidden}.portal-subject{position:absolute;inset:0;transform-origin:var(--portal-origin,50% 28%);transform:scale(var(--portal-scale,1)) translate3d(calc(var(--mouse-x,0)*-9px),calc(var(--mouse-y,0)*-5px),0);opacity:var(--subject-opacity,1);will-change:transform,opacity}.portal-subject img{width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block}.portal-window{position:absolute;inset:0;clip-path:inset(var(--portal-top,20%) var(--portal-side,38%) var(--portal-bottom,62%) var(--portal-side,38%) round var(--portal-round,30px));opacity:var(--world-opacity,0);will-change:clip-path,opacity;background:#17101e}.portal-window video{width:100%;height:100%;object-fit:cover;transform:scale(var(--world-scale,1.12)) translate3d(calc(var(--mouse-x,0)*-8px),calc(var(--mouse-y,0)*-5px),0)}.portal-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen}.portal-flare{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 35%,#f4e4ffb0,transparent 55%);mix-blend-mode:screen;opacity:var(--portal-flash,0);pointer-events:none}.portal-vignette{position:absolute;inset:0;background:linear-gradient(0deg,#0c0815ed,transparent 40%,#0c081533),linear-gradient(90deg,#0c081550,transparent 60%);pointer-events:none}.portal-topline{position:absolute;top:30px;left:5%;right:5%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.14em;z-index:5}.portal-motion{background:#160e2580;border:1px solid #ffffff30;color:#ead9f4;border-radius:24px;padding:9px 15px;font:10px 'DM Sans';cursor:pointer;backdrop-filter:blur(10px)}.portal-intro{position:absolute;left:6%;bottom:175px;opacity:var(--intro-opacity,1);transform:translateY(var(--intro-y,0px));pointer-events:none;max-width:700px}.portal-intro .eyebrow{font-size:9px;letter-spacing:.18em;color:#d9b9ed;margin-bottom:20px}.portal-intro h2{font:500 clamp(52px,6.7vw,104px)/.98 Syne;letter-spacing:-.06em;margin:0 0 24px}.portal-intro em,.portal-destination em{color:#c9a3e2;font-style:normal}.portal-intro>p:last-child{font-size:15px;color:#e0d0e9}.portal-destination{position:absolute;left:6%;bottom:170px;max-width:550px;opacity:var(--destination-opacity,0);transform:translateY(calc((1 - var(--destination-opacity,0))*25px));pointer-events:none}.portal-destination .eyebrow{font-size:9px;margin-bottom:18px}.portal-destination h3{font:500 clamp(38px,4.7vw,70px)/1.05 Syne;letter-spacing:-.045em;margin:0 0 20px}.portal-destination>p:not(.eyebrow){max-width:400px;font-size:14px;line-height:1.65}.portal-destination small{display:block;margin-top:15px;font-size:9px;color:#d9c6e6}.portal-bottom{position:absolute;bottom:28px;left:6%;right:6%;padding-top:20px;border-top:1px solid #ffffff28;display:flex;justify-content:space-between;align-items:center;gap:30px}.portal-bottom:before{content:'';position:absolute;top:-1px;left:0;width:var(--portal-progress,0%);height:2px;background:#dcbbf4;box-shadow:0 0 12px #bd75f1}.portal-steps{display:flex;gap:32px}.portal-steps button{background:none;border:0;color:#ac9bb7;padding:8px 0;font:12px 'DM Sans';cursor:pointer;text-align:left}.portal-steps small{display:block;font-size:9px;margin-bottom:7px}.portal-steps button[aria-pressed=true]{color:#fff}.portal-scroll{font-size:9px;letter-spacing:.1em;color:#d4bddf}.portal-steps button:focus-visible,.portal-motion:focus-visible{outline:2px solid #dbc1ed;outline-offset:5px}body:has(.immersive-journey.in-view) .whatsapp-dock{visibility:hidden!important}.film-duo{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:22px}.film-duo figure{margin:0;min-width:0}.film-duo video{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px;background:#100b18}.film-duo figcaption{padding:16px 0;text-align:left}.film-duo figcaption span{display:block;font-size:9px;letter-spacing:.12em;color:#b99dca;margin-bottom:9px}.film-duo figcaption b{font:500 22px Syne}.film-integrated:has(.film-duo){height:auto!important;padding:40px 0}.film-integrated:has(.film-duo) .film-pin{position:relative;height:auto;min-height:0;padding-block:30px}.film-duo+.visual-note{font-size:10px}
@media(max-width:760px){.build-timeline{padding:42px 6%}.build-readout{align-items:start;gap:10px}.build-readout>span{font-size:8px;max-width:100px;line-height:1.5}.build-readout output{font-size:23px;text-align:right}.build-readout small{display:block;font-size:10px;margin-top:5px}.build-timeline .light-footer span:last-child{text-align:left}.build-comparison{aspect-ratio:16/9}.build-comparison>img{object-fit:cover}.immersive-journey{height:320svh}.immersive-pin{min-height:600px}.portal-topline{top:22px;font-size:7px;gap:12px}.portal-topline>span{max-width:130px;line-height:1.7}.portal-motion{font-size:9px;padding:8px 10px}.portal-intro{bottom:165px;right:6%}.portal-intro h2{font-size:clamp(45px,12vw,64px)}.portal-intro>p:last-child{font-size:13px;max-width:260px;line-height:1.5}.portal-intro .eyebrow{font-size:8px;max-width:240px;line-height:1.6}.portal-destination{bottom:155px;right:6%}.portal-destination h3{font-size:40px}.portal-destination>p:not(.eyebrow){font-size:12px;max-width:290px}.portal-bottom{bottom:22px;display:block}.portal-steps{justify-content:space-between;gap:14px}.portal-steps button{font-size:11px}.portal-scroll{display:block;font-size:8px;margin-top:14px}.film-duo{grid-template-columns:1fr;gap:20px}.film-duo figcaption b{font-size:21px}.portal-window video{object-position:65% center}}
@media(prefers-reduced-motion:reduce){.immersive-journey{height:auto}.immersive-pin{position:relative;height:850px}.portal-particles,.portal-flare{display:none}.portal-subject,.portal-window video{transform:none}.portal-intro,.portal-destination{transition:none}}
@media(max-width:760px){.portal-window video{object-position:88% center}}
.build-timeline .build-comparison,.build-timeline .light-footer{max-width:1120px}
.portal-destination .portal-real-link{display:inline-block;margin-top:16px;color:#efdbff;border-bottom:1px solid #d5ade7;padding-bottom:5px;font:12px 'DM Sans';pointer-events:auto}
@media(max-width:760px){.portal-destination .portal-real-link{font-size:11px;margin-top:12px}.portal-destination{bottom:150px}.portal-destination h3{font-size:36px}}
.film-integrated:has(.film-duo) .film-heading{opacity:1;transform:none;display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:12px 6%;margin-bottom:32px}.film-integrated:has(.film-duo) .film-heading .eyebrow{grid-column:1/-1;margin:0 0 10px}.film-integrated:has(.film-duo) .film-heading h2{font-size:clamp(32px,4vw,58px);max-width:700px}.film-integrated:has(.film-duo) .film-heading>p:last-child{margin:0;font-size:15px;max-width:360px;line-height:1.7}.film-integrated:has(.film-duo) .film-orbit{display:none}
@media(max-width:760px){.film-integrated:has(.film-duo) .film-heading{display:block}.film-integrated:has(.film-duo) .film-heading h2{font-size:34px;margin:16px 0}.film-integrated:has(.film-duo) .film-heading>p:last-child{font-size:14px}}
.crm-strip{grid-template-columns:1fr 1.25fr;gap:40px;padding:32px 0}.crm-intro>p:not(.eyebrow){max-width:400px}.crm-logo-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:center;padding:12px 0 24px;border-bottom:1px solid #d7c8df;margin-bottom:20px}.crm-logo-row>div{min-width:0;display:flex;align-items:center;justify-content:center;height:65px}.crm-logo-row img{display:block;width:100%;max-width:180px;height:50px;object-fit:contain}.crm-connections .crm-choice{font-size:13px;line-height:1.7;margin:0 0 18px}.crm-choice strong{display:inline-block;font-weight:500;color:#743a9c;margin-top:4px;font-size:16px}@media(max-width:760px){.crm-strip{grid-template-columns:1fr;gap:20px}.crm-logo-row{gap:16px}.crm-logo-row img{height:40px}.crm-choice strong{font-size:15px}}
.crm-logo-row{background:#21182b;border:1px solid #3c2b49;border-radius:12px;padding:18px 22px;margin-bottom:20px;gap:26px}.crm-logo-row>div:last-child{background:#faf8fc;border-radius:8px;padding:10px}.crm-logo-row img{height:44px}@media(max-width:760px){.crm-logo-row{padding:14px 12px;gap:12px}.crm-logo-row>div{height:48px}.crm-logo-row>div:last-child{padding:6px}.crm-logo-row img{height:36px}}
/* Supplied film includes the visor transition and the complete walkthrough. */
.supplied-vr .portal-subject,.supplied-vr .portal-flare{display:none}
.supplied-vr .portal-window{clip-path:none;opacity:1;background:#0b0811}
.supplied-vr .portal-window video{transform:none;object-position:center}
.supplied-vr .portal-destination{bottom:125px;max-width:340px}
.supplied-vr .portal-destination h3{font-size:clamp(28px,3vw,44px)}
.supplied-vr .portal-destination>p,.supplied-vr .portal-destination>small{display:none}
@media(max-width:760px){.supplied-vr .portal-window video{object-fit:contain}.supplied-vr .portal-intro{bottom:150px}.supplied-vr .portal-intro h2{font-size:38px}.supplied-vr .portal-destination{bottom:145px}.supplied-vr .portal-topline{top:100px}}
.projects .project img[src*="-16x9"],.case img[src*="-16x9"]{object-fit:cover}
.case:has(img[src*="-16x9"])>a{aspect-ratio:16/9}
.portal-middle{position:absolute;left:6%;bottom:155px;max-width:480px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s,visibility .3s;text-shadow:0 2px 18px #0009}
.immersive-journey[data-chapter="1"] .portal-middle{opacity:1;visibility:visible}
.portal-middle .eyebrow{font-size:10px;letter-spacing:.14em;color:#e1c8f2}
.portal-middle h3{font:500 clamp(30px,3.7vw,54px)/1.08 Syne;margin:14px 0;letter-spacing:-.04em}
.portal-middle em{color:#d6b4ed;font-style:normal}
.portal-middle>p:last-child{font-size:14px;line-height:1.65;max-width:350px}
@media(max-width:760px){.portal-middle{right:6%;bottom:150px}.portal-middle h3{font-size:30px}.portal-middle>p:last-child{font-size:12px;max-width:280px}}
@media(prefers-reduced-motion:reduce){.portal-middle{transition:none}}

/* Four registered supplied views: terrain, streets, construction, completion. */
.build-comparison[data-build-stages] .build-stage{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;clip-path:none;opacity:0}.build-comparison[data-build-stages] .build-stage:first-child{opacity:1}
/* Continuous framing and a single scroll timeline for the supplied VR film. */
.supplied-vr .immersive-pin{top:var(--immersive-header,80px);height:calc(100svh - var(--immersive-header,80px));min-height:0}
.supplied-vr .portal-window video{object-fit:contain;object-position:center;transform:none}
.supplied-vr .portal-vignette{background:linear-gradient(90deg,#0b0811e8 0%,#0b081199 23%,transparent 58%),linear-gradient(0deg,#0b0811e8,transparent 30%)}
.supplied-vr .portal-intro,.supplied-vr .portal-middle,.supplied-vr .portal-destination{left:6%;bottom:140px;width:34%;max-width:470px;text-shadow:0 2px 24px #0009}
.supplied-vr .portal-intro h2{font-size:clamp(36px,4.3vw,72px);line-height:1.05}
.supplied-vr .portal-middle{opacity:var(--middle-opacity,0);visibility:visible;transition:none}
.supplied-vr .portal-middle h3{font-size:clamp(30px,3.6vw,54px)}
.supplied-vr .portal-particles{opacity:.35}
@media(max-width:760px){
 .supplied-vr .portal-topline{top:20px}
 .supplied-vr .portal-window{bottom:200px;top:40px}
 .supplied-vr .portal-intro,.supplied-vr .portal-middle,.supplied-vr .portal-destination{width:auto;right:6%;bottom:125px;max-width:90%}
 .supplied-vr .portal-intro h2,.supplied-vr .portal-middle h3,.supplied-vr .portal-destination h3{font-size:clamp(27px,7vw,36px);margin:8px 0}
 .supplied-vr .portal-intro .eyebrow,.supplied-vr .portal-middle .eyebrow{margin-bottom:8px}
 .supplied-vr .portal-intro>p:last-child,.supplied-vr .portal-middle>p:last-child{font-size:12px;max-width:32ch}
 .supplied-vr .portal-vignette{background:linear-gradient(0deg,#0b0811 18%,transparent 62%)}
}
@media(prefers-reduced-motion:reduce){.supplied-vr .immersive-pin{top:0;height:800px}}
