/* Ver3: a full-screen journey, using the V2 identity and real page sections. */
.checkpoint-page{--cp-white:#fff;--cp-ink:#132329;--cp-lime:#87d719}
.checkpoint-page .journey{height:100dvh;min-height:500px}
.checkpoint-page .viewport{height:100dvh;min-height:500px;position:relative;background:#132329}
.checkpoint-page .viewport:is([data-stage=settling],[data-stage=tour]){position:relative;inset:auto;z-index:10;width:100%}
.checkpoint-page .threshold-film{position:absolute;inset:0;opacity:1;z-index:1;pointer-events:none;transform:none;will-change:auto}
.checkpoint-page .threshold-film :is(video,img){position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.checkpoint-page .threshold-film [hidden]{display:none!important}
.checkpoint-page #checkpoint-image{z-index:3}
.checkpoint-page #hero-video{z-index:4}
.viewport:not([data-stage=tour]) .panorama{visibility:hidden}
.checkpoint-page[data-journey-active=true] .v2-shell-header{transform:translateY(-110%)!important;opacity:0;visibility:hidden;pointer-events:none}
.checkpoint-page .v2-shell-header{transition:transform .25s ease,opacity .25s ease,visibility .25s}
.checkpoint-page[data-journey-active=true] [data-v2-shell-mobile-cta]{display:none!important}
.checkpoint-page .checkpoint-overlay{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:1;transition:opacity .22s ease;color:#fff}
.checkpoint-page .cp-panel{position:absolute;inset:0;isolation:isolate}
.checkpoint-page .cp-panel[hidden]{display:none}
.checkpoint-page .cp-panel::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none}
.checkpoint-page .cp-body{height:100%;pointer-events:none}
.checkpoint-page .cp-body :is(a,button,details){pointer-events:auto}
.checkpoint-page .cp-body :is(h1,h2,h3,p){margin:0;color:inherit}
.checkpoint-page .cp-body :is(h1,h2){font-family:Manrope,Arial,sans-serif;font-weight:500;letter-spacing:-.055em;line-height:1.08}
.checkpoint-page .cp-body p{font:400 15px/1.7 Manrope,Arial,sans-serif;max-width:400px}
.checkpoint-page .cp-eyebrow{font-size:10px!important;letter-spacing:.16em;text-transform:uppercase;font-weight:600!important;margin-bottom:16px!important}
.checkpoint-page .cp-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;color:#fff;text-decoration:none;border-bottom:1px solid #ffffff65;padding:12px 0;font:500 13px/1.5 Manrope,Arial,sans-serif;transition:border-color .2s}
.checkpoint-page .cp-link:hover{border-color:var(--cp-lime)}
.checkpoint-page .cp-link span{font-size:20px;color:var(--cp-lime)}
.checkpoint-page .cp-hero::before{background:linear-gradient(0deg,#07171dec 0%,#07171d80 22%,transparent 51%)}
.checkpoint-page .cp-hero-copy{position:absolute;left:4.5vw;right:4.5vw;bottom:115px}
.checkpoint-page .cp-hero-copy h1{font-size:clamp(34px,4.1vw,76px);max-width:none;white-space:nowrap}
.checkpoint-page .cp-hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:20px;gap:25px}
.checkpoint-page .cp-hero-bottom p{font-size:13px;max-width:500px}
.checkpoint-page .cp-location::before{background:linear-gradient(180deg,#07171dcc 0%,#07171d63 26%,transparent 55%)}
.checkpoint-page .cp-top-copy{position:absolute;top:8vh;left:5vw;right:5vw;display:grid;grid-template-columns:1.4fr 1fr;column-gap:7vw;align-items:start}
.checkpoint-page .cp-top-copy .cp-eyebrow{grid-column:1/-1}
.checkpoint-page .cp-top-copy h2{font-size:clamp(36px,4.2vw,70px);grid-row:2/4}
.checkpoint-page .cp-top-copy p{font-size:14px}.checkpoint-page .cp-top-copy .cp-link{justify-self:start}
.checkpoint-page :is(.cp-entrance,.cp-apartment)::before{background:linear-gradient(90deg,#07171ddc 0%,#07171d78 25%,transparent 42%,transparent 65%,#07171d8c 85%,#07171ddc 100%)}
.checkpoint-page .cp-split{height:100%;padding:12vh 4.5vw 135px;display:grid;grid-template-columns:28% 1fr 25%;align-items:center;gap:4%}
.checkpoint-page .cp-copy h2{font-size:clamp(28px,3.1vw,53px);margin-bottom:22px}
.checkpoint-page .cp-copy p{font-size:13px;max-width:280px}.checkpoint-page .cp-copy .cp-link{margin-top:12px}
.checkpoint-page .cp-right{grid-column:3;align-self:end}
.checkpoint-page .cp-broker-safe{position:absolute;right:2.8vw;bottom:135px;width:12.5vw;max-width:220px;padding:0}.checkpoint-page .cp-broker-safe h2{font-size:clamp(22px,2vw,34px)}.checkpoint-page .cp-broker-safe p{font-size:11px}
.checkpoint-page .cp-benefits::before{background:#06151db5}
.checkpoint-page .cp-benefits-section{position:absolute;inset:8vh 6vw 115px;display:grid;grid-template-columns:1.3fr 1fr;gap:30px 7vw;background:none;padding:0;margin:0;max-width:none}
.checkpoint-page .cp-benefits-section h2{font-size:clamp(34px,3.8vw,64px)}
.checkpoint-page .cp-benefits-section .ht-intro__copy{padding-top:30px;align-self:center}.checkpoint-page .cp-benefits-section .ht-intro__copy h3{font-size:18px;line-height:1.45;margin-bottom:12px}.checkpoint-page .cp-benefits-section .ht-intro__copy p{font-size:13px}
.checkpoint-page .cp-benefits-section .ht-eyebrow{color:#fff;font:600 10px/1.6 Manrope,Arial,sans-serif;letter-spacing:.16em;margin-bottom:18px}
.checkpoint-page .cp-benefits-section .ht-benefits{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:24px 50px;margin:0;padding:0;background:transparent;box-shadow:none}
.checkpoint-page .cp-benefits-section .ht-benefit{background:none;border:0;border-top:1px solid #ffffff60;padding:20px 0 0;display:block;min-height:0}
.checkpoint-page .cp-benefits-section .ht-benefit i{font-size:20px;color:var(--cp-lime);display:block;margin-bottom:10px}.checkpoint-page .cp-benefits-section .ht-benefit h3{font-size:17px;font-weight:500;line-height:1.4;margin-bottom:8px}.checkpoint-page .cp-benefits-section .ht-benefit p{font-size:12px;max-width:310px;color:#ffffffce}
.checkpoint-page .cp-floor::before{background:linear-gradient(90deg,transparent 15%,#07171d20 35%,#07171dcc 68%,#07171de6 100%)}
.checkpoint-page .cp-floor-copy{position:absolute;left:61%;right:5vw;top:29%;bottom:110px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.checkpoint-page .cp-floor-copy h2{font-size:clamp(33px,3.8vw,65px);margin-bottom:24px}.checkpoint-page .cp-floor-copy p{font-size:13px;max-width:350px}.checkpoint-page .cp-floor-copy .cp-link{margin-top:22px}
.checkpoint-page .cp-location-label{position:absolute;z-index:5;bottom:42px;left:50%;transform:translateX(-50%);display:flex;gap:13px;align-items:center;color:#fff;font:400 10px/1.4 Manrope,Arial,sans-serif;letter-spacing:.02em;pointer-events:none}
.checkpoint-page .cp-location-label #cp-count{color:#c8d4d6;font-size:9px;white-space:nowrap}.checkpoint-page .cp-location-label #cp-name{white-space:nowrap}
.checkpoint-page #cp-info-toggle{position:absolute;right:4.5vw;bottom:30px;z-index:6;color:#fff;background:#13232960;border:1px solid #ffffff50;padding:12px 16px;font:500 10px/1.5 Manrope,Arial,sans-serif;min-height:44px}
.checkpoint-page .controls{position:absolute;left:4.5vw;bottom:30px;z-index:6;gap:8px}
.checkpoint-page .controls button{background:#fff;color:#132329;border:1px solid #fff;font:500 11px/1.4 Manrope,Arial,sans-serif;padding:14px 18px;min-height:44px;box-shadow:none}.checkpoint-page .controls #cp-back{background:transparent;color:#fff;border-color:#ffffff50;padding-inline:17px}.checkpoint-page .controls button:hover{background:var(--cp-lime);border-color:var(--cp-lime);color:#132329}
.checkpoint-page .progress{display:none}
.checkpoint-page .loading{position:absolute;top:auto;right:auto;display:block;left:4.5vw;bottom:92px;z-index:8;background:#132329e8;color:#fff;padding:13px 18px;font:400 12px/1.5 Manrope,Arial,sans-serif;margin:0}
.checkpoint-page .cp-buffer{position:absolute;inset:auto 0 0;height:2px;z-index:8;background:#ffffff20;pointer-events:none}.checkpoint-page .cp-buffer span{display:block;height:100%;width:100%;background:#87d719a0;transform:scaleX(0);transform-origin:left}
.checkpoint-page .viewport:not([data-stage=checkpoint]):not([data-stage=buffering]):not([data-stage=error]) :is(.checkpoint-overlay,.cp-location-label,#cp-info-toggle){opacity:0;pointer-events:none;visibility:hidden;transition:opacity .22s,visibility .22s}
.checkpoint-page .viewport[data-stage=departing] .checkpoint-overlay{visibility:visible}
.checkpoint-page .viewport[data-info-hidden=true] .checkpoint-overlay{opacity:0;pointer-events:none;visibility:hidden}
.checkpoint-page .viewport[data-stage=tour] :is(.cp-buffer,#cp-info-toggle,.cp-location-label){display:none}
.checkpoint-page .viewport[data-stage=below] .controls{display:none}
.checkpoint-page #after-tour{position:relative;background:var(--paper);z-index:12;outline:0}
.checkpoint-page .cp-revisit{text-align:center;padding:40px 20px}.checkpoint-page .cp-revisit button{padding:16px 25px;background:#132329;color:#fff;border:0;font:500 13px Manrope,Arial,sans-serif}
.checkpoint-page .cp-revisit button span{margin-left:30px}
@media(min-width:1700px){.checkpoint-page .cp-hero-copy{bottom:125px}.checkpoint-page .cp-copy p,.checkpoint-page .cp-floor-copy p{font-size:15px}}
@media(max-width:1000px){.checkpoint-page .cp-hero-copy h1{white-space:normal;max-width:85%}.checkpoint-page .cp-benefits-section{gap:25px 35px;inset:7vh 5vw 105px}.checkpoint-page .cp-benefits-section .ht-benefits{gap:20px 25px}.checkpoint-page .cp-location-label{display:none}.checkpoint-page .cp-floor-copy{left:56%}.checkpoint-page .cp-split{grid-template-columns:30% 1fr 27%}}
@media(max-width:650px){
 .checkpoint-page .journey,.checkpoint-page .viewport{min-height:520px}
 .checkpoint-page .cp-hero-copy{left:22px;right:22px;bottom:105px}.checkpoint-page .cp-hero-copy h1{font-size:35px;max-width:100%;line-height:1.13}.checkpoint-page .cp-hero-bottom{display:block;margin-top:15px}.checkpoint-page .cp-hero-bottom p{font-size:11px;max-width:270px}.checkpoint-page .cp-hero-bottom .cp-link{font-size:11px;margin-top:8px}
 .checkpoint-page .cp-hero::before{background:linear-gradient(0deg,#07171df5 0%,#07171dd0 30%,transparent 65%)}
 .checkpoint-page .cp-top-copy{top:35px;left:22px;right:22px;display:block}.checkpoint-page .cp-top-copy h2{font-size:38px;margin-bottom:18px}.checkpoint-page .cp-top-copy p{font-size:12px}.checkpoint-page .cp-top-copy br{display:none}.checkpoint-page .cp-top-copy h2 br{display:block}.checkpoint-page .cp-location::before{background:linear-gradient(180deg,#07171de6 0%,#07171d80 30%,transparent 65%)}
 .checkpoint-page .cp-split{padding:35px 22px 110px;display:flex;flex-direction:column;justify-content:space-between;gap:25px;align-items:flex-start}.checkpoint-page .cp-copy h2{font-size:31px;margin-bottom:12px}.checkpoint-page .cp-copy p{font-size:11px;max-width:245px}.checkpoint-page .cp-right{align-self:flex-end;max-width:66%}.checkpoint-page .cp-broker-safe{padding:0;align-self:flex-start;max-width:58%}.checkpoint-page .cp-copy .cp-link{font-size:11px;margin-top:5px}
 .checkpoint-page :is(.cp-entrance,.cp-apartment)::before{background:linear-gradient(180deg,#07171de0,transparent 43%,#07171dd0 76%,#07171de0)}
 .checkpoint-page .cp-benefits-section{position:relative;inset:auto;padding:30px 22px 25px;display:block;overflow-y:auto;max-height:calc(100dvh - 105px);pointer-events:auto;overscroll-behavior:contain}.checkpoint-page .cp-benefits-section h2{font-size:34px}.checkpoint-page .cp-benefits-section .ht-intro__copy{padding:18px 0}.checkpoint-page .cp-benefits-section .ht-intro__copy h3{font-size:15px}.checkpoint-page .cp-benefits-section .ht-intro__copy p{font-size:11px}.checkpoint-page .cp-benefits-section .ht-benefits{grid-template-columns:1fr 1fr;gap:18px;margin-top:10px}.checkpoint-page .cp-benefits-section .ht-benefit{padding-top:14px}.checkpoint-page .cp-benefits-section .ht-benefit h3{font-size:14px}.checkpoint-page .cp-benefits-section .ht-benefit p{font-size:10px}.checkpoint-page .cp-benefits-section .ht-benefit i{font-size:17px;margin-bottom:7px}
 .checkpoint-page .cp-floor-copy{left:22px;right:22px;top:auto;bottom:115px;max-width:320px}.checkpoint-page .cp-floor-copy h2{font-size:36px;margin-bottom:16px}.checkpoint-page .cp-floor-copy p{font-size:12px}.checkpoint-page .cp-floor-copy .cp-link{margin-top:12px;font-size:11px}.checkpoint-page .cp-floor::before{background:linear-gradient(0deg,#07171df5 0%,#07171de0 40%,transparent 76%)}
 .checkpoint-page .controls{left:22px;right:auto;bottom:25px}.checkpoint-page .controls button{font-size:10px;padding:12px 15px}.checkpoint-page #cp-info-toggle{right:22px;bottom:25px;font-size:9px;padding:10px}.checkpoint-page .loading{left:22px;bottom:81px;max-width:calc(100% - 44px);font-size:11px}.checkpoint-page .cp-eyebrow{font-size:8px!important;margin-bottom:12px!important}
}
@media(max-height:540px) and (min-width:651px){.checkpoint-page .journey,.checkpoint-page .viewport{min-height:350px}.checkpoint-page .cp-hero-copy{bottom:90px}.checkpoint-page .cp-hero-copy h1{font-size:34px}.checkpoint-page .cp-hero-bottom{margin-top:12px}.checkpoint-page .cp-split{padding-top:30px;padding-bottom:95px}.checkpoint-page .cp-copy h2{font-size:27px;margin-bottom:12px}.checkpoint-page .cp-copy p{font-size:11px}.checkpoint-page .cp-top-copy{top:25px}.checkpoint-page .cp-top-copy h2{font-size:35px}.checkpoint-page .cp-floor-copy{top:20px;bottom:95px}.checkpoint-page .cp-floor-copy h2{font-size:31px;margin-bottom:12px}.checkpoint-page .cp-benefits-section{display:block;overflow:auto;pointer-events:auto;inset:25px 30px 95px}.checkpoint-page .cp-benefits-section .ht-benefits{margin-top:20px}.checkpoint-page .cp-location-label{display:none}}
@media(prefers-reduced-motion:reduce){.checkpoint-page *{transition:none!important}}

@media(max-width:650px) and (min-height:541px){
 .checkpoint-page .threshold-film :is(video,img){height:62dvh;object-fit:contain;object-position:center;background:#132329}
 .checkpoint-page .cp-hero-copy{bottom:100px}.checkpoint-page .cp-hero-copy h1{font-size:32px}
 .checkpoint-page .cp-hero::before{background:linear-gradient(0deg,#07171df8 0%,#07171de8 31%,transparent 57%)}
 .checkpoint-page .cp-top-copy{top:auto;bottom:110px}.checkpoint-page .cp-top-copy h2{font-size:34px}.checkpoint-page .cp-location::before{background:linear-gradient(0deg,#07171df5 0%,#07171da0 32%,transparent 58%)}
 .checkpoint-page .cp-split{padding:0 22px;position:absolute;inset:auto 0 110px;display:grid;grid-template-columns:1.12fr 1fr;gap:20px;align-items:start}
 .checkpoint-page .cp-split .cp-copy{position:static;width:auto;max-width:none;padding:0;align-self:start;grid-column:auto}
 .checkpoint-page .cp-copy h2{font-size:24px}.checkpoint-page .cp-copy p{font-size:10px;line-height:1.6}.checkpoint-page .cp-copy .cp-link{font-size:10px;gap:8px}
 .checkpoint-page :is(.cp-entrance,.cp-apartment)::before{background:linear-gradient(0deg,#07171df5 0%,#07171de0 35%,transparent 62%)}
 .checkpoint-page .cp-floor-copy{bottom:110px}.checkpoint-page .cp-floor-copy h2{font-size:32px;margin-bottom:12px}.checkpoint-page .cp-floor-copy p{font-size:11px}.checkpoint-page .cp-floor-copy .cp-link{margin-top:7px}
 .checkpoint-page .cp-floor::before{background:linear-gradient(0deg,#07171df5 0%,#07171de8 32%,transparent 62%)}
}

/* Lock the whole viewport, including focus-induced and programmatic scrolling. */
html.tour-held:has(body.checkpoint-page){height:100%;overflow:hidden}
html.tour-held body.checkpoint-page{position:fixed;inset:0;width:100%;height:100%;overflow:hidden}
html.tour-held .checkpoint-page [data-v2-shell-mobile-cta]{display:none!important}
@media(max-width:650px) and (min-height:541px){.checkpoint-page .cp-split{height:auto}}

html.tour-held .checkpoint-page #after-tour,html.tour-held .checkpoint-page [data-v2-shell-footer]{display:none}

/* v18: explicit apartment-tour entry until the second film is ready. */
.checkpoint-page .cp-end::before{background:linear-gradient(0deg,#07171de6,transparent 75%)}
.checkpoint-page .cp-end h2{font-size:clamp(32px,4vw,64px);margin-bottom:18px}
.checkpoint-page .viewport[data-stage=film-end] .checkpoint-overlay{opacity:1}
