
/* =========================================================
   V5 CSS STABILITY LAYER
   Loaded after style.css. Intentionally centralizes layout,
   mobile breakpoints and first-paint fallbacks.
   ========================================================= */
html{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{width:100%;max-width:100%;margin:0;overflow-x:hidden}
body>.container-fluid.bg-white.p-0{width:100%;max-width:100%;overflow-x:clip}
img,svg,video{max-width:100%}
section,.container,.container-fluid,.row,[class*="col-"]{min-width:0}
.owl-carousel{width:100%;max-width:100%}

/* Never let uninitialized carousels explode the first paint */
.header-carousel:not(.owl-loaded)>.owl-carousel-item{display:none}
.header-carousel:not(.owl-loaded)>.owl-carousel-item:first-child{display:block}
.living-carousel:not(.owl-loaded),.testimonial-carousel:not(.owl-loaded){display:flex;gap:18px;overflow:hidden}
.living-carousel:not(.owl-loaded)>.item{flex:0 0 calc(25% - 14px)}
.testimonial-carousel:not(.owl-loaded)>.item{flex:0 0 calc(33.333% - 12px)}

/* Stable header, no off-canvas top offset before JS runs */
.navbar.sticky-top{top:0!important}
.navbar{width:100%;max-width:100%}
.navbar-brand{display:flex;align-items:center;min-width:0}
.navbar-brand img{display:block}

/* Hero first-paint safety */
.hero-wrap,.header-carousel,.header-carousel .owl-carousel-item{width:100%;max-width:100%}
.header-carousel .slide-content>.container{position:relative;z-index:2}
.hero-title,.hero-copy{overflow-wrap:anywhere}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px}
.hero-actions .btn{margin:0!important}

/* Main page sections */
.about-img,.kitchen-visual,.residence-photo-stack,.about-editorial{max-width:100%}
.room-card-v4,.facility-card,.living-card,.testimonial-card,.facility-candy{max-width:100%}
.facilities-grid{align-items:stretch}
.facilities-grid .facility-card{display:flex;flex-direction:column;justify-content:center}
.promo-card,.cta-modern,.facility-highlight,.residence-bottom-promo{max-width:100%;overflow:hidden}

/* Mobile drawer is isolated from desktop nav */
.mobile-drawer,.mobile-drawer-backdrop{will-change:transform,opacity}
.mobile-drawer-body{-webkit-overflow-scrolling:touch}

/* Phone/tablet: one coherent breakpoint strategy */
@media (max-width:991.98px){
  body{padding-bottom:76px}
  .topbar{display:none!important}
  .navbar{min-height:72px!important;padding:8px 14px!important;position:sticky!important;top:0!important}
  .navbar-brand img{height:46px!important;max-width:190px!important}
  .mobile-menu-toggle{display:inline-flex!important;flex:0 0 46px}
  .navbar>.navbar-collapse{display:none!important}

  .container{width:100%;max-width:100%;padding-left:18px;padding-right:18px}
  .container-fluid{padding-left:0;padding-right:0}
  section.py-5,.container.py-5,.container-fluid.py-5{padding-top:3.2rem!important;padding-bottom:3.2rem!important}

  .header-carousel .owl-carousel-item{height:610px!important;min-height:610px}
  .header-carousel .owl-carousel-item>img{height:100%;object-fit:cover}
  .header-carousel .slide-content{padding:42px 0 76px;align-items:flex-end}
  .header-carousel .slide-content .col-lg-9{width:100%}
  .hero-title{font-size:clamp(2.55rem,8vw,4.4rem)!important;line-height:1.00!important;max-width:760px}
  .hero-copy{font-size:1rem!important;line-height:1.65!important;max-width:620px}
  .hero-eyebrow{font-size:.72rem}
  .float-chip,.hero-deco,.hero-orb{display:none!important}
  .header-carousel .owl-nav{display:none!important}
  .header-carousel .owl-dots{bottom:26px!important}

  .home-choice-wrap{margin-top:-42px!important;margin-bottom:12px!important}
  .home-choice-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .home-choice-card{height:190px!important;border-width:3px!important;border-radius:22px!important}
  .home-choice-copy{padding:15px!important}
  .home-choice-copy h3{font-size:17px!important}
  .home-choice-copy p{font-size:10px!important;line-height:1.4!important}

  .about-img{min-height:430px!important;margin-bottom:24px}
  .about-img .circle-main{width:72%!important;right:5%!important}
  .about-img .circle-small.one{width:40%!important}
  .about-img .circle-small.two{width:34%!important}
  .about-img .experience{width:112px!important;left:31%!important}

  .section-title,.v6-title{font-size:clamp(2rem,7vw,3rem)!important;line-height:1.08!important}
  .section-copy,.v6-copy{font-size:.98rem!important;line-height:1.72!important}
  .check-grid{grid-template-columns:1fr 1fr!important}

  .room-card-v4{height:100%}
  .room-media{height:250px!important}
  .room-card-content{padding:20px!important}
  .room-card-head{gap:10px}
  .room-card-head h3{font-size:1.25rem}
  .room-details{padding:14px!important}

  .facilities-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
  .facility-card{padding:18px 10px!important;border-radius:18px!important}
  .facility-icon{width:50px!important;height:50px!important}
  .facility-card h6{font-size:.82rem!important}

  .living-head{display:block!important}
  .living-head>p{margin-top:15px!important}
  .living-carousel:not(.owl-loaded)>.item{flex:0 0 calc(33.333% - 12px)}
  .living-card{height:360px!important}

  .kitchen-visual{min-height:430px!important;margin-bottom:30px}
  .kitchen-love h2{font-size:clamp(2.3rem,7vw,3.7rem)!important}
  .kitchen-pills{grid-template-columns:1fr 1fr!important}

  .stats-band .stat-box{padding:22px 10px!important}
  .promo-img{min-height:360px!important;height:100%!important;object-fit:cover}
  .promo-content{padding:34px!important}

  .about-editorial{min-height:440px!important;margin-bottom:24px}
  .value-grid-v6{grid-template-columns:1fr 1fr!important}

  .residence-room-grid{grid-template-columns:1fr 1fr!important}
  .residence-photo-stack{min-height:410px!important;margin-bottom:25px}
  .residence-story-card{padding:30px!important}
  .residence-bottom-promo img{min-height:330px!important}
  .residence-bottom-promo .copy{padding:34px!important}

  .room-cinema-main{height:460px!important}
  .room-cinema-rail{overflow-x:auto!important;scroll-snap-type:x proximity}
  .room-gallery-thumb{flex:0 0 116px!important}

  .footer{margin-top:2rem!important}
  .quick-bottom-bar{left:8px!important;right:8px!important;bottom:8px!important;transform:none!important}
}

@media (max-width:767.98px){
  .container{padding-left:14px;padding-right:14px}
  section.py-5,.container.py-5,.container-fluid.py-5{padding-top:2.5rem!important;padding-bottom:2.5rem!important}

  .header-carousel .owl-carousel-item{height:570px!important;min-height:570px}
  .header-carousel .slide-content{padding:34px 0 70px!important}
  .hero-title{font-size:clamp(2.25rem,10.2vw,3.5rem)!important}
  .hero-copy{font-size:.94rem!important}
  .hero-actions .btn{padding:12px 17px!important;font-size:.82rem}
  .hero-note{font-size:.78rem!important}

  .home-choice-wrap{margin-top:-34px!important}
  .home-choice-card{height:174px!important}
  .home-choice-copy p{display:none!important}
  .home-choice-copy h3{font-size:15px!important;line-height:1.15}
  .home-choice-icon{width:35px!important;height:35px!important}
  .home-choice-arrow{width:32px!important;height:32px!important}

  .about-img{min-height:345px!important}
  .about-img .experience{width:90px!important}
  .check-grid{grid-template-columns:1fr!important}

  .rooms-section .row.g-4>[class*="col-"]{width:100%}
  .room-media{height:240px!important}
  .room-card-content{padding:18px!important}

  .facilities-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .facility-card{min-height:126px!important}
  .facility-icon{margin-bottom:10px!important}

  .living-carousel:not(.owl-loaded)>.item{flex:0 0 calc(50% - 8px)}
  .living-card{height:310px!important}
  .living-info{padding:15px!important}

  .kitchen-visual{min-height:350px!important}
  .kitchen-visual .main{right:35px!important;width:calc(100% - 35px)!important}
  .kitchen-visual .mini{width:135px!important;height:135px!important}
  .kitchen-badge{left:5px!important;bottom:30px!important}
  .kitchen-pills{grid-template-columns:1fr!important}
  .kitchen-love .lead-copy{font-size:.95rem!important}

  .stats-band .stat-number{font-size:2rem!important}
  .stats-band .stat-label{font-size:.78rem!important}
  .stats-band .stat-mini{font-size:.66rem!important}

  .promo-img{min-height:260px!important}
  .promo-content{padding:25px 20px!important}
  .mini-feature{align-items:flex-start}

  .testimonial-carousel:not(.owl-loaded)>.item{flex:0 0 88%}

  .about-editorial{min-height:350px!important}
  .editorial-main{width:86%!important}
  .editorial-float{width:42%!important}
  .editorial-badge{transform:scale(.86);transform-origin:left bottom}
  .value-grid-v6{grid-template-columns:1fr!important}

  .residence-room-grid{grid-template-columns:1fr!important}
  .residence-room-card .visual{height:245px!important}
  .residence-photo-stack{min-height:340px!important}
  .residence-story-card{padding:24px 20px!important}
  .residence-mini-points{grid-template-columns:1fr!important}
  .residence-accordion-shell{padding:7px!important;border-radius:20px!important}
  .sweet-accordion .accordion-button{padding:14px 48px 14px 10px!important;font-size:13.5px!important}
  .sweet-accordion .accordion-button i{width:36px!important;height:36px!important;flex-basis:36px!important}
  .sweet-accordion .accordion-body{padding:0 14px 18px 58px!important;font-size:13px!important}
  .residence-bottom-promo img{min-height:250px!important}
  .residence-bottom-promo .copy{padding:24px 19px!important}

  .inner-hero-v6{padding:62px 0!important}
  .inner-hero-v6 h1{font-size:clamp(2.4rem,10vw,3.5rem)!important}
  .inner-hero-v6 p{font-size:.95rem!important}

  .facility-candy-grid{grid-template-columns:1fr!important}
  .facility-highlight{padding:26px 20px!important}

  .room-detail-hero{padding:54px 0!important}
  .room-detail-hero h1{font-size:clamp(2.5rem,10vw,4rem)!important}
  .room-cinema-main{height:330px!important;border-radius:22px!important}
  .room-cinema-main img{border-radius:22px!important}
  .room-spec-grid{grid-template-columns:1fr!important}

  .cta-modern{padding:28px 20px!important;border-radius:24px!important}
  .cta-modern .btn{width:auto;margin-top:6px}

  .footer .row>[class*="col-"]{margin-bottom:12px}
}

@media (max-width:480px){
  .navbar-brand img{max-width:165px!important;height:42px!important}
  .header-carousel .owl-carousel-item{height:540px!important;min-height:540px}
  .hero-eyebrow{max-width:100%;white-space:normal}
  .hero-title{font-size:2.35rem!important}
  .home-choice-grid{gap:6px!important}
  .home-choice-card{height:162px!important;border-radius:18px!important}
  .home-choice-copy{padding:11px!important}
  .home-choice-copy h3{font-size:13px!important}
  .home-choice-copy small{font-size:7px!important}
  .facilities-grid{gap:7px!important}
  .facility-card{padding:14px 7px!important;min-height:118px!important}
  .facility-card h6{font-size:.76rem!important}
  .living-card{height:285px!important}
  .quick-bottom-inner a{font-size:8px!important}
}

/* Reduced motion / slow-device safety */
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* V7 final stability overrides */
@media (max-width:991.98px){body{padding-bottom:0!important}.topbar{display:block!important}.quick-bottom-bar{display:none!important}}
