/* Shared visible-height coordinate system; Safari chrome must not clip scene content. */
.rs-action-icon{display:inline-block;width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
@media(max-width:900px){
 html:has(body.mobile-free-scroll),body.mobile-free-scroll{background:#171a17!important;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body.mobile-free-scroll #viewport{height:var(--v2-visible-viewport-height,100svh)!important;container-type:size}
 body.mobile-free-scroll :is(#checkpoint-card,.cp-panel,.cp-body,.cp-entrance .cp-split){height:100%!important;min-height:0!important;max-height:none!important;box-sizing:border-box}
 body.mobile-free-scroll .cp-entrance .cp-split{inset:0!important}
 body.mobile-free-scroll .cp-benefits-section{min-height:0;box-sizing:border-box;inset:88px 20px 20px!important;gap:16px!important}
 body.mobile-free-scroll .cp-benefits-section .ht-benefits{min-height:0;flex:1 1 0;grid-template-rows:repeat(6,minmax(0,1fr));gap:8px!important}
 body.mobile-free-scroll .cp-benefits-section .ht-benefit{min-height:0!important;padding:8px 12px!important;box-sizing:border-box}
 body.mobile-free-scroll .cp-benefits-section .ht-benefit :is(h3,p){min-width:0}
 body.mobile-free-scroll .cp-entrance .cp-split>.cp-broker{bottom:max(20px,env(safe-area-inset-bottom))!important}
 body.mobile-free-scroll #viewport .threshold-film :is(video,img){height:78%!important}
 body.mobile-free-scroll #viewport[data-free-phase=choice] .threshold-film :is(video,img){height:100%!important}
 body.mobile-free-scroll #viewport[data-travel-copy=true] .threshold-film :is(video,img){height:100%!important;mask-image:none!important;-webkit-mask-image:none!important}
 body.mobile-free-scroll #viewport[data-travel-copy=true] .threshold-film::after{content:'';position:absolute;inset:0;z-index:3;background:linear-gradient(0deg,#171a17 0%,#171a17 22%,#171a17b3 34%,transparent 57%);pointer-events:none}
 body.mobile-free-scroll .rs-travel-copy{min-height:28%;padding:20px 22px;background:transparent!important;z-index:5}
 body.mobile-free-scroll #viewport .cp-choice-copy{top:22%!important}
 body.mobile-free-scroll #viewport .cp-choices>img{height:46cqh;max-height:420px}
 .checkpoint-page #viewport:not([data-choice-image-ready=true]) .cp-choice-copy .cp-choices{visibility:hidden!important;pointer-events:none!important}
}
@container(max-height:740px){
 body.mobile-free-scroll .cp-benefits-section{inset:76px 16px 16px!important;gap:10px!important}
 body.mobile-free-scroll .cp-benefits-section h2{font-size:28px!important}
 body.mobile-free-scroll .cp-benefits-section .ht-benefit{padding:5px 10px!important}
 body.mobile-free-scroll .cp-benefits-section .ht-benefit h3{font-size:14px!important;line-height:1.2!important}
 body.mobile-free-scroll .cp-benefits-section .ht-benefit p{font-size:10px!important;line-height:1.25!important}
 body.mobile-free-scroll #viewport .cp-choices>img{height:36cqh}
 body.mobile-free-scroll .cp-entrance .cp-split>.cp-broker{padding:12px!important;gap:4px 12px!important}
}
@media(max-width:900px){
 body .v2c-floor-stack{width:100%;max-width:none;margin-inline:0}
 body .v2c-floor-section{width:100%;grid-template-columns:minmax(0,1fr)}
 body .v2c-floor-plan{width:100%;max-width:none;min-width:0;min-height:0;height:auto;aspect-ratio:1160/819;padding:0;box-sizing:border-box;display:block;align-self:stretch;justify-self:stretch;background:#fff}
 body .v2c-floor-plan__object{display:block;width:100%;max-width:none;height:100%;max-height:none;aspect-ratio:1160/819;object-fit:contain}
 body .v2c-floor-plan__compass{right:12px;bottom:12px}
}

/* Offer remains legible when it is the current route, including iOS text fill. */
body .rs-island .v2-shell-nav .rs-nav-offer,body .rs-island .v2-shell-nav .rs-nav-offer[aria-current=page]{color:#171a17!important;-webkit-text-fill-color:currentColor}
@media(max-width:900px){
 body:not(.v2-shell-menu-open) .v2-shell-header.rs-island.is-shell-hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(-100px)!important}
 body .v2-shell-header.rs-island{transition:transform .25s ease,opacity .2s ease,visibility .2s}
 body.v2-shell-menu-open .v2-shell-header.rs-island{opacity:1!important;visibility:visible!important;transform:none!important}
}
.rs-action-icon{max-width:none;min-width:20px;overflow:visible}
@media(prefers-reduced-motion:reduce){body .v2-shell-header.rs-island{transition:none}}

/* Vector replacements retain the established icon wrappers and grid placement. */
i[class*="ion-ios-"]::before{content:none!important}
i[class*="ion-ios-"]>svg{display:block;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cp-choices>button>.rs-action-icon:last-child{margin-left:auto}

/* The simple entry uses the same immersive media scale and readable fade. */
body .rs-simple-hero{height:auto;min-height:var(--v2-visible-viewport-height,100svh);box-sizing:border-box;background:#171a17;padding-bottom:64px}
body .rs-simple-hero>video{inset:0;width:100%;height:100%;object-fit:cover!important;object-position:center!important}
body .rs-simple-hero::after{background:linear-gradient(0deg,#171a17 0%,#171a17cc 18%,#171a1766 43%,transparent 75%)}
body .rs-simple-hero .ht-eyebrow{color:#fff!important}
@media(max-width:900px){
 body .rs-simple-hero{padding:160px 20px max(110px,calc(96px + env(safe-area-inset-bottom)));align-items:flex-end}
 body .rs-simple-hero h1{font-size:clamp(36px,10.3vw,60px);line-height:1.03;text-wrap:balance;margin:16px 0 20px}
 body .rs-simple-hero__copy>p{font-size:16px;line-height:1.5}
 body .rs-simple-hero::after{background:linear-gradient(0deg,#171a17 0%,#171a17e6 20%,#171a1773 43%,transparent 74%)}
 body .rs-simple-hero .rs-video-toggle{bottom:auto!important;top:16px!important;right:16px!important}
}

@container (min-height:601px) and (max-height:740px){
 body.mobile-free-scroll .cp-benefits-section .ht-benefit h3{font-size:16px!important}
 body.mobile-free-scroll .cp-benefits-section .ht-benefit p{font-size:12px!important;line-height:1.3!important}
}
