@media (max-width:1024px){
  :root{--header:76px}.container{width:min(calc(100% - 40px),var(--container))}.header-inner{width:calc(100% - 32px)}.js .site-nav > a:not(.nav-cta), .js .site-nav .nav-cta{display:none}.js .menu-toggle{display:block}html:not(.js) .site-nav{display:flex;flex-wrap:wrap}html:not(.js) .menu-toggle{display:none}.mobile-menu{position:fixed;z-index:60;inset:0;background:var(--ink-dark);padding:90px 30px;opacity:0;visibility:hidden;transition:.25s}.mobile-menu.is-open{display:block;opacity:1;visibility:visible}.menu-open .site-header{z-index:70}.mobile-menu-inner{display:grid;gap:18px;color:#fff;font-family:var(--serif);font-size:34px}.page-hero-content{padding-bottom:42px}.hero-side-copy{display:none}
  .page-home .page-hero,.page-architecture .page-hero,.page-services .page-hero,.page-apartments .page-hero,.page-location .page-hero,.page-news .page-hero{height:72svh;min-height:520px}
  .home-reasons,.construction-band,.home-location,.home-architecture,.home-services,.home-apartment,
  .architecture-intro,.architect-band,.architecture-outdoor,.architecture-privacy,.architecture-regeneration,
  .services-intro,.services-app,.services-carousel,.services-kids,
  .apartments-intro,.apartments-gallery,.apartments-types,.partner-row,.apartments-materials,.apartments-bathrooms,.apartments-technology,
  .location-intro,.location-park,.location-gallery,.location-city,.location-culture,.location-quote,.location-sport,
  .news-intro,.news-feature,.news-quote,.news-storyline,.news-row,.page-news .news-row.last,
  .contact-section,.map-strip,.site-footer,.page-architecture .contact-section,.page-architecture .map-strip,.page-architecture .site-footer,.page-services .contact-section,.page-services .map-strip,.page-services .site-footer,.page-apartments .contact-section,.page-apartments .map-strip,.page-apartments .site-footer,.page-location .contact-section,.page-location .map-strip,.page-location .site-footer,.page-news .contact-section,.page-news .map-strip,.page-news .site-footer{height:auto;min-height:0}
  .home-reasons,.architecture-outdoor,.architecture-regeneration,.services-intro,.services-app,.services-carousel,.apartments-gallery,.apartments-materials,.location-intro,.location-city,.news-feature{padding:72px 0}.home-reasons-head,.architecture-intro .container,.home-architecture .container,.home-apartment .container,.architecture-privacy .container,.services-app-grid,.apartments-intro .container,.apartments-types .container,.materials-grid,.apartments-bathrooms .container,.apartments-technology .container,.location-park .container,.location-culture .container,.location-sport .container,.news-feature .container,.news-row .container,.contact-grid{grid-template-columns:1fr;gap:36px}.reasons-stage{grid-template-columns:1fr;height:430px}.reason-peek{display:none}.construction-band,.home-services,.architect-band,.location-quote,.news-quote{min-height:430px}.home-location-media,.architecture-outdoor-hero,.services-intro-media,.services-kids-media,.location-intro-media,.location-city-media{height:58vw;min-height:300px}.home-architecture,.home-apartment,.architecture-intro,.architecture-privacy,.apartments-intro,.apartments-types,.apartments-bathrooms,.apartments-technology,.location-park,.location-culture,.location-sport,.news-row{padding:70px 0}.home-architecture-media,.home-apartment-media,.architecture-intro-media,.architecture-privacy-media,.apartments-intro-media,.apartments-types-media,.location-park-media,.news-row-media{height:65vw;min-height:340px}.architecture-triptych,.regeneration-grid,.apartment-mosaic,.materials-mosaic,.bath-mosaic,.tech-mosaic,.location-gallery-grid,.location-culture-media,.location-sport-media{height:auto;min-height:520px}.services-app-grid{display:grid;grid-template-columns:1fr 1fr}.service-strip{grid-template-columns:repeat(2,1fr)}.services-kids{padding:64px 0}.apartments-gallery-slider{height:65vw;min-height:340px}.apartment-mosaic{grid-template-columns:1fr 1fr}.partner-row{padding:60px 25px}.location-gallery{padding:64px 0}.location-gallery-grid{grid-template-columns:1fr 1fr}.location-gallery-grid img:last-child{grid-column:1/-1}.news-storyline{padding:45px 0}.news-row.reverse .news-row-media{order:initial}.contact-section{padding:70px 0}.map-strip{height:300px!important}.site-footer{padding:0}.site-footer>.footer-shell{width:calc(100% - 40px);padding:42px 0 28px}.footer-grid{grid-template-columns:1fr;gap:34px}.footer-partners{grid-template-columns:repeat(2,1fr);gap:28px 40px}.footer-bottom{grid-template-columns:1fr;gap:14px}.footer-centerline{text-align:left}.footer-disclaimer{text-align:left;justify-self:start}.footer-brand{width:128px}.footer-brand .brand-logo{width:44px}.contact-form{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .container{width:calc(100% - 28px)}h1{font-size:44px}h2{font-size:34px}.page-hero-content h1{max-width:90%}.site-header{height:72px}.brand{width:106px}.brand-logo{width:42px}.brand-name{font-size:8px}.home-reasons-head{grid-template-columns:1fr;gap:18px;margin-bottom:34px}.reasons-stage{height:330px}.reason-main-copy h3{font-size:34px}.progress-track{width:min(320px,90%)}.home-location-foot{flex-direction:column}.services-app-grid{grid-template-columns:1fr}.service-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.mini-service{min-width:75%;scroll-snap-align:start}.app-card{height:230px}.architecture-triptych{display:grid;grid-template-columns:1fr 1fr}.architecture-triptych img:first-child{grid-column:1/-1}.regeneration-grid{grid-template-columns:1fr}.regen-card{min-height:360px}.apartment-mosaic,.materials-mosaic,.bath-mosaic,.tech-mosaic,.location-culture-media,.location-sport-media{grid-template-columns:1fr}.apartments-gallery{padding-bottom:60px}.partner-row{gap:25px;font-size:10px}.location-gallery-grid{grid-template-columns:1fr}.location-gallery-grid img:last-child{grid-column:auto}.contact-form{grid-template-columns:1fr}.form-field.full,.form-consent,.form-actions{grid-column:auto}.map-strip{height:240px!important}.footer-partners{grid-template-columns:1fr 1fr;gap:26px 20px}.footer-partner-label{white-space:normal}.footer-partner-mark{font-size:13px}.footer-partner-mark--serif{font-size:20px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

@media (max-width:1024px){
  .apartment-chapter,.apartments-types.apartment-chapter{padding:72px 0}
  .chapter-full{height:58vw;min-height:320px;margin-bottom:44px}
  .chapter-split{grid-template-columns:1fr;gap:32px;margin-bottom:44px}
  .chapter-split-media{height:65vw;min-height:340px}
  .chapter-collage{grid-template-columns:1fr 1fr;min-height:0}
  .chapter-collage figure,.chapter-collage .portrait-frame{min-height:420px}
  .chapter-collage figure:nth-child(3){min-height:460px}
}
@media (max-width:640px){
  .chapter-head h2{font-size:34px}
  .chapter-full{width:calc(100% - 28px);height:62vw;min-height:280px}
  .chapter-collage{width:calc(100% - 28px);grid-template-columns:1fr}
  .chapter-collage figure,.chapter-collage .portrait-frame,.chapter-collage figure:nth-child(3){grid-column:auto;min-height:0;height:auto}
  .chapter-collage img{height:100%;object-fit:cover}
  .chapter-collage .portrait-frame{height:min(118vw,720px)!important}.chapter-collage .portrait-frame img{height:100%;max-height:none;object-fit:cover;object-position:center}
}

@media (max-width: 900px){
  .services-carousel{padding:64px 0}.service-carousel-shell{width:calc(100% - 40px)}.mini-service{flex-basis:42%}
}
@media (max-width: 640px){
  .mini-service{min-width:0;flex-basis:78%}.service-carousel-controls{justify-content:flex-start}.services-carousel-note{text-align:left;margin-inline:20px}.legal-main{padding:120px 0 80px}.legal-main h1{font-size:44px}
}


/* v6 */
@media (max-width: 900px){
  body .site-footer{height:58px!important;min-height:58px!important}
}


/* v7 */
@media (max-width:1024px){
  .site-nav{margin-right:0}
}
@media (max-width:640px){
  .map-open-link{right:14px;bottom:14px;min-height:36px;padding:0 14px;font-size:9px}
}

/* v8 keep apartment images inside frames on small screens */
@media (max-width:640px){.page-apartments .chapter-collage figure:not(.portrait-frame){height:min(74vw,480px)!important;overflow:hidden}.page-apartments .chapter-collage img{width:100%;height:100%;object-fit:cover}}

@media(max-width:760px){.location-credits{padding:28px 22px}.location-credits ul{display:block}.location-credits li{margin:0 0 8px}}


/* v12 */
@media(max-width:1024px){
  .home-reasons{padding:72px 0 78px}
  .home-reasons-head{width:min(calc(100% - 40px),780px);grid-template-columns:1fr 1fr;gap:56px;margin-bottom:54px}
  .home-reasons-head h2{font-size:40px}
  .reasons-stage{width:min(calc(100% - 40px),880px);height:430px;grid-template-columns:1fr;gap:0;margin-inline:auto}
  .reason-peek{display:none}
  .reason-main{height:100%}
  .reason-nav-mobile{display:grid;top:auto;bottom:18px;transform:none}
  .reason-nav-mobile.prev{left:18px}.reason-nav-mobile.next{right:18px}
}
@media(max-width:640px){
  .home-reasons{padding:58px 0 62px}
  .home-reasons-head{width:calc(100% - 28px);grid-template-columns:1fr;gap:22px;margin-bottom:36px}
  .home-reasons-head h2{font-size:38px}
  .home-reasons-head>p{font-size:12px;line-height:1.58;padding-top:0}
  .reasons-stage{width:calc(100% - 28px);height:min(118vw,430px)}
  .reason-main-copy{padding:36px 30px 74px}
  .reason-label{font-size:10px;margin-bottom:10px}
  .reason-number{width:42px;height:42px;margin-bottom:16px}
  .reason-main-copy h3{font-size:34px;margin-bottom:16px}
  .reason-main-copy p{font-size:12px}
  .reason-nav{width:42px;height:42px}
  .location-credits{padding:14px 18px 16px}
  .location-credit-line{font-size:7.5px;line-height:1.45}
}

/* v15 — a single credit line cannot remain legible and fully centered on narrow screens;
   keep it horizontally scrollable there instead of overflowing the page. */
@media(max-width:760px){
  .location-credits .container{justify-content:flex-start}
}

/* v19 — apartment typology carousel responsive */
@media(max-width:1024px){
  .page-apartments .apartments-intro{padding:78px 0 64px}
  .page-apartments .apartments-intro .container{max-width:720px}
  .page-apartments .apartments-gallery{padding:58px 0 76px}
  .apartment-type-track{gap:16px;padding-inline:20px}
  .apartment-type-track figure{flex-basis:min(78vw,700px);height:min(66vw,560px)}
}
@media(max-width:640px){
  .page-apartments .apartments-intro{padding:64px 0 48px}
  .page-apartments .apartments-gallery{padding:48px 0 64px}
  .page-apartments .apartments-gallery-head{width:calc(100% - 28px);margin:0 auto 28px}
  .apartment-type-track{gap:12px;padding-inline:14px;scroll-padding-inline:14px}
  .apartment-type-track figure{flex:0 0 84vw;height:108vw;max-height:560px;scroll-snap-align:start}
  .apartment-type-track figcaption{left:20px;bottom:18px;font-size:30px}
  .apartment-type-controls{margin-top:20px}
}

/* v21: hero CTA */
@media (max-width: 700px){.hero-primary-cta{margin-top:18px;min-height:40px;padding-inline:18px}}
