/* Round 12: approved responsive fixes */
@media(min-width:783px){
 .kc-investment-story .story-intro{padding-top:77.6px!important}
}
/* Hero first-paint image: the browser loads it before the CMS request resolves. */
.hero>.kc-hero-first-paint{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--hero-x,50%) var(--hero-y,50%);z-index:0}
.hero>video{z-index:1;opacity:0!important;transition:opacity .22s ease!important}
.hero>video.kc-video-playing{opacity:1!important}
.hero:after{z-index:1}
.hero-content{z-index:2}
/* Never crop a detail modal's content into a blank bottom area. */
.property-detail-shell.open{overflow-y:auto!important;overscroll-behavior:contain!important}
.property-detail-modal{min-height:0!important}
@media(min-width:680px) and (max-width:1100px){
 .property-detail-shell.open{align-items:center!important;overflow-y:auto!important}
 .property-detail-modal{display:grid!important;grid-template-columns:minmax(0,48fr) minmax(0,52fr)!important;height:min(760px,calc(100dvh - 24px))!important;max-height:calc(100dvh - 24px)!important;overflow:hidden!important}
 .property-detail-gallery{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important}
 .property-detail-main{flex:1 1 auto!important;min-height:0!important;height:auto!important}
 .property-detail-content{height:100%!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important}
 .property-detail-keygrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(min-width:780px) and (max-width:1100px){
 .property-detail-keygrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:779px){
 .property-detail-shell.open{align-items:flex-start!important;overflow:hidden!important;padding:clamp(4px,1vw,12px)!important}
 .property-detail-modal{height:calc(100dvh - 12px)!important;max-height:calc(100dvh - 12px)!important;overflow-y:auto!important;overscroll-behavior:contain!important;scrollbar-width:thin}
}
@media(min-width:680px) and (max-width:779px){
 .property-detail-modal{display:grid!important;grid-template-columns:minmax(0,46fr) minmax(0,54fr)!important;align-content:start!important;height:auto!important;max-height:calc(100dvh - 12px)!important;min-height:0!important}
 .property-detail-gallery{height:auto!important;min-height:0!important;align-self:start!important}
 .property-detail-main{height:clamp(190px,32dvh,300px)!important;flex:0 0 auto!important}
 .property-detail-content{height:auto!important;max-height:none!important;overflow:visible!important;padding:clamp(10px,1.5vw,18px)!important}
 .property-detail-keygrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:679px){
 .property-detail-modal{display:block!important;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;overflow-y:auto!important;overscroll-behavior:contain!important}
 .property-detail-gallery{height:auto!important;min-height:0!important;display:block!important}
 .property-detail-main{height:clamp(215px,36dvh,330px)!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
 .property-detail-photo-wrap{position:relative!important;flex:1 1 auto!important;min-height:0!important;height:auto!important}
 .property-detail-preview-strip{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;flex:0 0 auto!important;min-height:47px!important;background:#f2f4f6!important;padding:5px 10px!important;gap:6px!important;overflow-x:auto!important}
 .property-detail-preview-thumb{flex:0 0 54px!important;height:37px!important}
 .property-detail-content{height:auto!important;max-height:none!important;overflow:visible!important;padding:clamp(12px,3vw,22px)!important}
 .property-detail-keygrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:1146px){
 .property-detail-gallery-prev,.property-detail-gallery-next,.property-gallery-nav{
  background:transparent!important;box-shadow:none!important;border:0!important;backdrop-filter:none!important;color:#fff!important;
  width:34px!important;height:42px!important;font-size:32px!important;text-shadow:0 1px 5px rgba(0,0,0,.8)!important;
 }
 .property-detail-gallery-prev{left:clamp(9px,2vw,20px)!important}
 .property-detail-gallery-next{right:clamp(9px,2vw,20px)!important}
 .property-gallery-nav.prev{left:clamp(12px,4vw,34px)!important}
 .property-gallery-nav.next{right:clamp(12px,4vw,34px)!important}
}
@media(max-width:715px){
 .property-gallery-nav.prev{left:clamp(8px,3vw,20px)!important}
 .property-gallery-nav.next{right:clamp(8px,3vw,20px)!important}
 .property-gallery-stage{max-width:calc(100% - 76px)!important;margin-inline:auto!important}
}
.property-carousel-side:focus:not(:focus-visible),.property-detail-gallery-prev:focus:not(:focus-visible),.property-detail-gallery-next:focus:not(:focus-visible),.property-gallery-nav:focus:not(:focus-visible){outline:0!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent!important}
.property-carousel-side:focus-visible,.property-gallery-nav:focus-visible{outline:2px solid #b8a894!important;outline-offset:3px!important}
/* Mobile carousel uses the same cloned transform-based continuous track as desktop. */
@media(max-width:680px){
 #properties .property-carousel-viewport{overflow:hidden!important;scroll-snap-type:none!important;touch-action:pan-y!important}
 #propertyCards{overflow:visible!important;scroll-snap-type:none!important;scroll-behavior:auto!important;display:flex!important;flex-wrap:nowrap!important;transition:transform .42s cubic-bezier(.2,.75,.2,1)}
 #propertyCards>.card{flex:0 0 88%!important;scroll-snap-align:none!important}
}

/* The translated track must never clip its own cards. The viewport alone clips
   the loop; legacy native scrolling otherwise hides every card at 681–980px. */
@media(max-width:980px){
 #properties #propertyCards{overflow:visible!important;overflow-x:visible!important;overflow-y:visible!important;transform:translateX(0);scroll-snap-type:none!important;scroll-behavior:auto!important;padding:3px 0 15px!important;touch-action:pan-y!important}
 #properties #propertyCards>.card{scroll-snap-align:none!important}
 #properties #propertyCards>.carousel-clone{display:flex!important}
 #properties .property-carousel-viewport{overflow:hidden!important;scroll-snap-type:none!important;touch-action:pan-y!important;mask-image:linear-gradient(to right,#000 0%,#000 84%,transparent 100%)!important}
 #properties .property-carousel-side:is(.prev,.next){display:none!important;visibility:hidden!important;pointer-events:none!important}
 #properties .property-carousel-side:disabled{pointer-events:none!important}
}
@media(min-width:681px) and (max-width:980px){
 #properties #propertyCards>.card{flex:0 0 calc((100% - 36px)*.425532)!important}
}

/* Round 13: only one How We Work detail renderer at any width. */
@media(min-width:1181px){
 #how .kc-native-detail-slider,#how .kc-process-next-arrow,#how .kc-process-prev-arrow{display:none!important}
 #how .process-detail>.detail-card{display:flex!important}
}
@media(max-width:1180px){
 #how .process-detail>.detail-card{display:none!important}
}
/* Keep the active property completely visible; peek only on the right. */
@media(max-width:680px){
 #properties .property-carousel-viewport{padding-left:0!important;padding-right:0!important;overflow:hidden!important}
 #properties #propertyCards{margin:0!important;padding:0!important;overflow:visible!important}
 #properties #propertyCards>.card{flex:0 0 min(88%,calc(100vw - 48px))!important;min-width:0!important}
 #properties .property-carousel-side{display:grid!important;width:34px!important;height:34px!important}
 #properties .property-carousel-side.prev{left:0!important}
 #properties .property-carousel-side.next{right:0!important}
}

/* Round 14: visibility must not depend on a stale scroll reveal observer. */
#properties .prop-head,#properties .property-carousel,
html.v275-motion #properties .prop-head,html.v275-motion #properties .property-carousel{
 opacity:1!important;visibility:visible!important;animation:none!important;
 transform:none!important;translate:none!important;
}
#properties .property-carousel-viewport,#properties #propertyCards{visibility:visible!important;opacity:1!important}
#properties .property-carousel{min-height:0!important}
#properties .property-carousel-viewport{min-height:0!important}

/* 360 tours will be released separately after the public site launch. */
#spring360Open,.spring360-open,[data-action="open-360-tour"]{display:none!important}
