*{margin:0;padding:0;box-sizing:border-box}
:root{
  --terra:#A55745;--terra-dark:#8a4537;--limen:#C4B6A6;--cream:#F8F5F2;--noir:#2E2E2E;--sand:#D5BFA3;--sage:#7B7565;
  --font-serif:'Cormorant Garamond',serif;--font-sans:'Montserrat',sans-serif;
}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--noir);font-family:var(--font-sans);overflow-x:hidden}
.page-wrap{margin:0 auto;overflow:hidden}

/* HERO VIDEO */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}

/* STICKY CTA BAR */
.sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--noir);display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 24px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 24px rgba(0,0,0,.18);transform:translateY(100%);transition:transform .4s cubic-bezier(.4,0,.2,1)}
.sticky-cta.visible{transform:translateY(0)}
.sticky-cta-text{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:400;margin-right:8px}
.sticky-cta a.sca-primary{background:var(--terra);color:#fff;padding:11px 28px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;font-weight:600;transition:background .25s;white-space:nowrap}
.sticky-cta a.sca-primary:hover{background:var(--terra-dark)}
.sticky-cta a.sca-outline{border:1px solid rgba(255,255,255,.3);color:rgba(255,255,255,.85);padding:10px 24px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;font-weight:500;transition:all .25s;white-space:nowrap}
.sticky-cta a.sca-outline:hover{border-color:#fff;color:#fff}
.sticky-cta-dismiss{background:none;border:none;color:rgba(255,255,255,.3);font-size:18px;cursor:pointer;padding:4px 8px;margin-left:8px;line-height:1;transition:color .2s}
.sticky-cta-dismiss:hover{color:rgba(255,255,255,.7)}

/* MOBILE BOTTOM ACTION BAR */
.mobile-action-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--noir);border-top:1px solid rgba(255,255,255,.08);padding-bottom:env(safe-area-inset-bottom,0px)}
.mobile-action-bar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 8px;text-decoration:none;color:rgba(255,255,255,.7);font-size:9px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;gap:5px;transition:color .2s;border-right:1px solid rgba(255,255,255,.08)}
.mobile-action-bar a:last-child{border-right:none;background:var(--terra);color:#fff}
.mobile-action-bar a:hover{color:#fff}
.mobile-action-bar svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:768px){.patry-chat-launcher{bottom:calc(72px + env(safe-area-inset-bottom,0px))!important}.patry-chat-greeting{bottom:calc(140px + env(safe-area-inset-bottom,0px))!important}.patry-chat-iframe{bottom:calc(72px + env(safe-area-inset-bottom,0px))!important}}
nav{position:fixed;top:44px;left:0;right:0;z-index:100;padding:20px 60px;display:flex;align-items:center;justify-content:space-between;transition:all .4s}
body.banner-dismissed nav{top:0!important}
nav.scrolled,body.subpage nav{background:rgba(248,245,242,.97);backdrop-filter:blur(10px);padding:14px 60px;box-shadow:0 1px 20px rgba(0,0,0,.07)}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.nav-logo-text{display:flex;flex-direction:column;line-height:1.15;transition:color .4s}
.nav-logo-name{font-family:var(--font-serif);font-size:20px;letter-spacing:.28em;color:#fff;font-weight:500;transition:color .4s}
.nav-logo-sub{font-family:var(--font-sans);font-size:7.5px;letter-spacing:.32em;text-transform:uppercase;color:rgba(255,255,255,.7);font-weight:400;transition:color .4s}
nav.scrolled .nav-logo-name,body.subpage .nav-logo-name{color:var(--noir)}
nav.scrolled .nav-logo-sub,body.subpage .nav-logo-sub{color:var(--sage)}
.nav-links{display:flex;gap:36px;list-style:none;align-items:center}
.nav-links a{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.85);text-decoration:none;font-weight:500;transition:color .3s}
nav.scrolled .nav-links a,body.subpage .nav-links a{color:var(--noir)}
.nav-links a:hover{color:var(--terra)!important}
.nav-cta{background:var(--terra);color:#fff!important;padding:10px 24px;letter-spacing:.15em!important}
.nav-cta:hover{background:var(--terra-dark)!important}
nav.scrolled .nav-cta,body.subpage .nav-cta{color:#fff!important}
.nav-links a.nav-outline{background:transparent;border:1px solid var(--terra);color:#fff;padding:9px 23px;letter-spacing:.15em!important;transition:background .3s,color .3s,border-color .3s}
nav.scrolled .nav-links a.nav-outline,body.subpage .nav-links a.nav-outline{color:var(--terra)}
.nav-links a.nav-outline:hover{background:var(--terra)!important;border-color:var(--terra)!important;color:#fff!important}
@media(min-width:769px){.nav-links li:last-child{margin-left:-24px}}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
.hamburger span{display:block;width:24px;height:1px;background:#fff;transition:all .3s}
nav.scrolled .hamburger span,body.subpage .hamburger span{background:var(--noir)}

.hero-wordmark{margin-bottom:16px}
.hero-brand-name{font-family:var(--font-serif);font-size:clamp(38px,5.5vw,64px);color:#fff;letter-spacing:.3em;font-weight:300;line-height:1}
.hero-brand-apt{font-family:var(--font-sans);font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:300;margin-top:8px}

/* HERO */
.hero{height:100vh;padding-top:88px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:url('assets/Section 1 - hero.png') center/cover no-repeat;z-index:0}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.1) 0%,rgba(0,0,0,.45) 100%);z-index:2}
.hero-content{position:relative;z-index:3;text-align:center;padding:0 20px;max-width:900px}
.hero-eyebrow{font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:var(--sand);margin-bottom:28px;font-weight:400}
.hero-logo-mark{margin:0 auto 20px;width:90px}
h1{font-family:var(--font-serif);font-size:clamp(56px,9vw,110px);color:#fff;font-weight:300;letter-spacing:.08em;line-height:.95;margin-bottom:16px}
.hero-sub{font-family:var(--font-serif);font-size:clamp(16px,2vw,22px);color:var(--sand);font-style:italic;font-weight:300;letter-spacing:.05em;margin-bottom:16px}
.hero-address{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:48px}
.hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.btn-primary{background:var(--terra);color:#fff;padding:16px 40px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;font-weight:600;transition:all .3s;border:none;cursor:pointer;font-family:var(--font-sans);display:inline-block}
.btn-primary:hover{background:var(--terra-dark);transform:translateY(-2px)}
.btn-outline{background:transparent;color:#fff;padding:16px 40px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;font-weight:500;border:1px solid rgba(255,255,255,.4);transition:all .3s;display:inline-block}
.btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.hero-scroll{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.4);font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,rgba(255,255,255,.4),transparent);animation:scrollPulse 2s infinite}
@keyframes scrollPulse{0%,100%{opacity:.4}50%{opacity:1}}

/* INTRO STRIP */
.intro-strip{background:var(--terra);padding:18px 60px;display:flex;justify-content:center;gap:60px;flex-wrap:wrap}
.strip-item{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.85);font-weight:500}
.strip-dot{color:rgba(255,255,255,.35)}

/* WELCOME */
.welcome{max-width:1300px;margin:0 auto;padding:100px 60px;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.welcome-visual{position:relative}
.welcome-img{width:100%;aspect-ratio:4/5;overflow:hidden;position:relative}
.welcome-img img{width:100%;height:100%;object-fit:cover;display:block}
.welcome-badge{position:absolute;bottom:-20px;right:-20px;background:var(--terra);color:#fff;padding:28px 32px;text-align:center}
.welcome-badge .num{font-family:var(--font-serif);font-size:44px;font-weight:300;line-height:1;display:block}
.welcome-badge .lbl{font-size:9px;letter-spacing:.22em;text-transform:uppercase;display:block;margin-top:4px;opacity:.85}
.welcome-text{padding-left:10px}
.section-label{font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:var(--terra);margin-bottom:18px;display:block}
.section-title{font-family:var(--font-serif);font-size:clamp(36px,4.5vw,60px);font-weight:300;line-height:1.1;color:var(--noir)}
.section-title em{font-style:italic;color:var(--terra)}
.welcome-text p{font-size:15px;line-height:1.9;color:#5a5550;margin-top:24px;font-weight:300}
.stat-row{display:flex;gap:40px;margin-top:44px;padding-top:40px;border-top:1px solid var(--sand)}
.stat .num{font-family:var(--font-serif);font-size:40px;font-weight:300;color:var(--terra);line-height:1}
.stat .lbl{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);margin-top:4px}

/* AMENITIES */
.amenities-section{background:#fff;padding:80px 60px 90px}
.amenities-header{text-align:center;margin:0 auto 44px;padding:0 0;max-width:780px}
.amenities-header .section-label{color:var(--terra)!important}
.amenities-header .section-title{color:var(--noir)}
.amenities-header p{font-size:15px;color:#5a5550;margin-top:18px;font-weight:300;letter-spacing:.02em;line-height:1.75}
.amenities-header p em{font-style:italic;color:var(--terra);font-weight:400}
.amenities-header-cta{margin-top:30px;display:inline-block}
/* CAROUSEL */
.carousel-wrap{position:relative;max-width:1200px;margin:0 auto;overflow:hidden;user-select:none}
.carousel-track{display:flex;transition:transform .55s cubic-bezier(.4,0,.2,1);will-change:transform}
.carousel-slide{min-width:100%;position:relative;height:min(60vh,560px);background:var(--noir);overflow:hidden}
.carousel-slide img{width:100%;height:100%;object-fit:cover;display:block;background:transparent}
.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(46,46,46,.55);color:#fff;border:none;width:36px;height:36px;font-size:16px;cursor:pointer;z-index:10;backdrop-filter:blur(4px);transition:background .25s;display:flex;align-items:center;justify-content:center}
.carousel-btn:hover{background:var(--terra)}
.carousel-prev{left:20px}
.carousel-next{right:20px}
/* Pill-style dots — bottom-right */
.carousel-dots{position:absolute;bottom:20px;right:20px;display:flex;gap:7px;align-items:center;background:rgba(46,46,46,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:9px 13px;border-radius:30px;margin-top:0;visibility:visible;z-index:5}
.carousel-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.4);border:none;cursor:pointer;padding:0;transition:all .3s}
.carousel-dot:hover{background:rgba(255,255,255,.7)}
.carousel-dot.active{background:#fff;transform:scale(1.35)}
/* Pill-style caption — bottom-left */
.carousel-caption{position:absolute;left:20px;bottom:20px;z-index:5;background:rgba(46,46,46,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;padding:9px 16px;border-radius:30px;pointer-events:none;max-width:calc(100% - 100px)}
.carousel-caption .cap-label{display:inline;font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.65);font-weight:500;margin:0 8px 0 0}
.carousel-caption .cap-label::after{content:'·';margin-left:8px;color:rgba(255,255,255,.4)}
.carousel-caption .cap-title{display:inline;font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#fff;line-height:1}

/* SUB-PAGE BANNER (compact header banner on subpages e.g. amenities.html) */
.page-banner{position:relative;min-height:340px;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;background-repeat:no-repeat;padding:270px 60px 80px;text-align:center;overflow:hidden}
.page-banner-overlay{position:absolute;inset:0;background:linear-gradient(rgba(20,20,20,.55),rgba(20,20,20,.75));z-index:1}
.page-banner-inner{position:relative;z-index:2;max-width:920px;color:#fff;padding:0 20px}
.page-banner .section-label{color:var(--sand)!important;text-align:center;margin-bottom:18px;text-shadow:0 2px 12px rgba(0,0,0,.55)}
.page-banner-title{font-family:var(--font-serif);font-weight:300;font-size:clamp(34px,4.4vw,54px);line-height:1.15;letter-spacing:.01em;color:#fff;margin:0;text-shadow:0 2px 18px rgba(0,0,0,.6)}
.page-banner-title em{font-style:italic;color:#c4b6a6!important;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.page-banner-title strong{font-weight:600}
.page-banner-sub{font-size:clamp(16px,1.5vw,19px);color:rgba(255,255,255,.92);margin:36px auto 0;font-weight:300;line-height:1.65;letter-spacing:.02em;max-width:680px;text-shadow:0 2px 12px rgba(0,0,0,.55)}
.faq-page-bg{background:#f0ece7;padding:clamp(150px,14vw,200px) 0 clamp(40px,6vw,80px);position:relative;overflow:hidden;isolation:isolate}
.faq-section{position:relative;overflow:hidden;isolation:isolate}
.faq-section::before{content:'';position:absolute;top:50%;left:82%;transform:translate(-50%,-50%);width:min(120%,1400px);height:min(120%,1400px);background:url('assets/Logo%202A%20Icon.png') center/contain no-repeat;pointer-events:none;z-index:0;filter:brightness(0) invert(1);opacity:.06}
.faq-section > *{position:relative;z-index:1}
.home-cream-wrap{background:#f0ece7;padding-bottom:clamp(40px,6vw,80px)}
.nav-active{color:var(--terra)!important}

/* AMENITY GROUP BLOCKS */
.amenity-indoor-block{background:var(--noir);padding:72px 60px}
.amenity-outdoor-block{background:#f0ece7;padding:72px 60px}
.amenity-group-header{max-width:1300px;margin:0 auto 20px;display:flex;align-items:center;gap:20px}
.amenity-group-label-outdoor{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--terra);font-weight:600;font-family:var(--font-sans);white-space:nowrap}
.amenity-group-rule-outdoor{flex:1;height:1px;background:var(--sand)}
.amenity-group-title-outdoor{font-family:var(--font-serif);font-size:clamp(26px,3vw,38px);color:var(--noir);font-weight:300;max-width:1300px;margin:0 auto 48px}

.amenities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;max-width:1300px;margin:0 auto}

/* INDOOR CARDS — dark */
.a-card{padding:40px 32px;background:#252520;position:relative;overflow:hidden;transition:all .4s}
.a-card:hover{background:#1e1e1a;transform:translateY(-4px)}
.a-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--terra);transform:scaleX(0);transition:transform .4s;transform-origin:left}
.a-card:hover::before{transform:scaleX(1)}
.a-title{font-family:var(--font-serif);font-size:21px;color:#fff;font-weight:300;margin-bottom:10px}
.a-desc{font-size:12px;color:rgba(255,255,255,.45);line-height:1.75;font-weight:300}

/* OUTDOOR CARDS — warm light */
.a-card-outdoor{padding:40px 32px;background:#fff;position:relative;overflow:hidden;transition:all .4s;border-bottom:2px solid transparent}
.a-card-outdoor:hover{background:var(--cream);transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.07);border-bottom-color:var(--terra)}
.a-title-outdoor{font-family:var(--font-serif);font-size:21px;color:var(--noir);font-weight:300;margin-bottom:10px}
.a-desc-outdoor{font-size:12px;color:var(--sage);line-height:1.75;font-weight:300}

.amenities-cta{text-align:center;padding:72px 60px;background:var(--cream)}

/* AMENITY HOVER OVERVIEW (compact, collapsible) */
.amenity-overview{background:#fff;padding:80px 60px 64px}
.amenity-overview-head{max-width:1100px;margin:0 auto 40px;text-align:center}
.amenity-overview-title{font-family:var(--font-serif);font-size:clamp(28px,3.2vw,42px);color:var(--noir);font-weight:300;line-height:1.15}
.amenity-overview-title em{font-style:italic;color:var(--terra)}
.amenity-overview-sub{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--sage);font-weight:500;margin-top:14px}

.aol-group{max-width:1200px;margin:0 auto 18px;border-top:1px solid rgba(46,46,46,.12)}
.aol-group:last-of-type{border-bottom:1px solid rgba(46,46,46,.12)}
.aol-summary{list-style:none;cursor:pointer;padding:22px 8px;display:flex;align-items:center;justify-content:center;gap:14px;position:relative;user-select:none}
.aol-summary::-webkit-details-marker{display:none}
.aol-summary-label{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--noir);font-weight:600;font-family:var(--font-sans)}
.aol-summary-count{font-size:10px;letter-spacing:.18em;color:var(--terra);font-weight:600;font-family:var(--font-sans);padding:3px 9px;border:1px solid var(--terra);border-radius:999px}
.aol-summary-icon{position:absolute;right:8px;top:50%;width:14px;height:14px;transform:translateY(-50%);transition:transform .3s}
.aol-summary-icon::before,.aol-summary-icon::after{content:'';position:absolute;top:50%;left:0;width:100%;height:1px;background:var(--terra);transition:transform .3s}
.aol-summary-icon::after{transform:rotate(90deg)}
.aol-group[open] .aol-summary-icon::after{transform:rotate(0deg)}
.aol-summary:hover .aol-summary-label{color:var(--terra)}

.aol-content{position:relative;padding:8px 0 12px;overflow:visible}
.aol-inline-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 0}
.aol-item{position:relative;font-family:var(--font-serif);font-size:clamp(15px,1.25vw,19px);color:var(--noir);font-weight:300;padding:6px 22px;display:inline-flex;align-items:center;gap:18px;cursor:default;transition:color .25s}
.aol-item::before{content:'•';color:var(--terra);opacity:.55;font-size:14px;transition:opacity .25s,transform .25s}
.aol-name{display:inline-block}
.aol-item:hover{color:var(--terra);z-index:30}
.aol-item:hover::before{opacity:1;transform:scale(1.4)}

/* Per-item floating popup — image + description side-by-side, anchored above the item */
.aol-pop{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%) scale(.96);width:380px;max-width:calc(100vw - 32px);background:#fff;box-shadow:0 30px 70px rgba(0,0,0,.2);opacity:0;visibility:hidden;pointer-events:none;z-index:40;transition:opacity .28s ease,transform .28s ease,visibility .28s}
.aol-item:hover .aol-pop{opacity:1;visibility:visible;transform:translateX(-50%) scale(1)}
.aol-item.aol-flip-below .aol-pop{bottom:auto;top:calc(100% + 12px)}
.aol-item.aol-shift-left .aol-pop{left:auto;right:0;transform:translateX(0) scale(.96)}
.aol-item.aol-shift-left:hover .aol-pop{transform:translateX(0) scale(1)}
.aol-item.aol-shift-right .aol-pop{left:0;transform:translateX(0) scale(.96)}
.aol-item.aol-shift-right:hover .aol-pop{transform:translateX(0) scale(1)}
.aol-pop-img{width:100%;aspect-ratio:4/3;background:#eee;overflow:hidden}
.aol-pop-img img{width:100%;height:100%;object-fit:cover;display:block}
.aol-pop-text{padding:18px 22px 20px;font-size:12.5px;line-height:1.65;color:var(--sage);font-weight:300;font-family:var(--font-sans)}

/* LOOKBOOK MOSAIC GALLERY — offset, masonry-style */
.lookbook-gallery{background:var(--cream);padding:88px 20px 96px}
.lookbook-head{max-width:1200px;margin:0 auto 44px;text-align:center}
.lookbook-title{font-family:var(--font-serif);font-size:clamp(28px,3.2vw,42px);color:var(--noir);font-weight:300;line-height:1.15}
.lookbook-title em{font-style:italic;color:var(--terra)}
.lookbook-sub{font-size:13px;line-height:1.7;color:var(--sage);font-weight:300;margin-top:14px;max-width:560px;margin-left:auto;margin-right:auto}
.lookbook-grid{max-width:none;margin:0 auto;column-count:4;column-gap:10px}
.lb-tile{break-inside:avoid;margin:0 0 10px;overflow:hidden;background:#e8e2d8;position:relative;cursor:pointer;opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}
.lb-tile.visible{opacity:1;transform:translateY(0)}
.lb-tile:nth-child(4n+2){transition-delay:.08s}
.lb-tile:nth-child(4n+3){transition-delay:.16s}
.lb-tile:nth-child(4n+4){transition-delay:.24s}
.lb-tile img{display:block;width:100%;height:auto;transition:transform .6s ease,filter .4s ease;filter:saturate(.95)}
.lb-tile::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.18) 100%);opacity:0;transition:opacity .4s}
.lb-tile:hover img{transform:scale(1.04);filter:saturate(1.05)}
.lb-tile:hover::after{opacity:1}
.desktop-only{display:block}

/* HOMEOWNERSHIP PATHWAY — COMPACT STRIP */
.homeownership-section{background:var(--noir);padding:72px 60px}
.homeownership-inner{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr;gap:72px;align-items:stretch}
.homeownership-section .section-label{color:var(--limen)}
.homeownership-section .section-title{color:#fff;font-size:clamp(28px,3.2vw,44px)}
.homeownership-section .section-title em{color:var(--terra)}
.homeownership-intro{font-size:14px;line-height:1.85;color:rgba(255,255,255,.85);margin-top:20px;font-weight:300}
.homeownership-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.homeownership-ctas a.kh-primary{background:var(--terra);color:#fff;padding:12px 28px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;font-weight:600;transition:background .25s;white-space:nowrap}
.homeownership-ctas a.kh-primary:hover{background:var(--terra-dark)}
.homeownership-ctas a.kh-ghost{border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.7);padding:11px 24px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;font-weight:500;transition:all .25s;white-space:nowrap}
.homeownership-ctas a.kh-ghost:hover{border-color:rgba(255,255,255,.6);color:#fff}
.kh-canada-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(196,182,166,.12);border:1px solid rgba(196,182,166,.45);color:var(--limen);font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;padding:6px 14px;margin-bottom:18px}
.kh-canada-badge::before{content:'★';font-size:9px}
.homeownership-transfer{margin-top:20px;padding:18px 22px;background:rgba(196,182,166,.14);border-left:2px solid var(--limen)}
.homeownership-transfer p{font-size:13px;color:rgba(255,255,255,.88);line-height:1.75;font-weight:300;font-style:italic}
.homeownership-transfer strong{color:#fff;font-style:normal;font-weight:500}
.homeownership-rows{display:flex;flex-direction:column;gap:2px;height:100%}
.homeownership-row{display:flex;align-items:center;gap:22px;padding:30px 30px;background:rgba(20,20,18,.78);border:1px solid rgba(196,182,166,.12);transition:background .3s,border-color .3s;flex:1}
.homeownership-row:hover{background:rgba(14,14,12,.88);border-color:rgba(196,182,166,.28)}
.homeownership-row-num{font-family:var(--font-serif);font-size:32px;font-weight:300;color:var(--terra);line-height:1;flex-shrink:0;width:32px}
.homeownership-row-body{display:flex;flex-direction:column;justify-content:center;flex:1}
.homeownership-row-title{font-family:var(--font-serif);font-size:20px;color:#fff;font-weight:300;margin-bottom:8px;line-height:1.25}
.homeownership-row-desc{font-size:13px;color:rgba(255,255,255,.78);line-height:1.7;font-weight:300}

/* NEIGHBOURHOOD */
.neighbourhood{background:#fff;padding:100px 60px}
.neighbourhood-inner{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.neigh-map{background:#ece7e0;aspect-ratio:1;position:relative;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.12)}
.neigh-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;filter:sepia(.2) saturate(1.7) hue-rotate(-30deg)}
.neigh-text p{font-size:15px;line-height:1.9;color:#5a5550;margin-top:24px;font-weight:300}
.loc-list{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.loc-item{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #e8e3dd}
.loc-dot{width:5px;height:5px;background:var(--terra);flex-shrink:0;border-radius:50%}
.loc-name{font-size:15px;color:var(--noir);letter-spacing:.03em;font-weight:400;flex:1}
.loc-dist{font-size:14px;color:var(--terra);margin-left:10px;font-family:var(--font-serif);font-style:italic}

/* SUITES */
.suites{background:#f0ece7;padding:100px 60px 75px}
.suites-inner{max-width:1300px;margin:0 auto}
.suites-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:60px}
.suites-intro p{font-size:15px;line-height:1.9;color:#5a5550;font-weight:300;margin-top:20px}
.floor-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.plan-card{background:#fff;padding:40px 32px;position:relative;transition:all .3s;border-bottom:3px solid transparent;display:flex;flex-direction:column}
.plan-card>img{aspect-ratio:4/3;object-fit:contain;background:#fff;width:100%;height:auto}
.plan-card:hover{border-bottom-color:var(--terra);transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.08)}
.plan-badge{display:inline-block;align-self:flex-start;background:var(--terra);color:#fff;font-size:9px;letter-spacing:.2em;text-transform:uppercase;padding:5px 12px;margin-bottom:20px}
.plan-type{font-family:var(--font-serif);font-size:32px;font-weight:300;color:var(--noir);margin-bottom:4px}
.plan-sub{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);margin-bottom:28px}
.plan-details{border-top:1px solid #ebe7e2;padding-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:auto}
.plan-detail .val{font-family:var(--font-serif);font-size:20px;font-weight:300;color:var(--noir)}
.plan-detail .key{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--sage)}
.plan-cta{display:block;margin-top:28px;text-align:center;background:var(--noir);color:#fff;padding:13px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:background .3s}
.plan-cta:hover{background:var(--terra)}
.plan-cta-row{display:flex;gap:2px;margin-top:28px}
.plan-cta-row .plan-cta{margin-top:0;flex:1;min-width:0;padding-left:8px;padding-right:8px;white-space:nowrap}
.plan-cta.plan-cta-tour{background:var(--terra)}
.plan-cta.plan-cta-tour:hover{background:#8a4537}
@media(max-width:900px){.plan-cta-row{flex-direction:column}}
@media(min-width:1025px) and (max-width:1100px){.plan-cta-row{flex-direction:column}}

/* FLOOR PLAN ZOOM AFFORDANCE */
.plan-img-wrap{position:relative;margin:16px 0 20px;border:1px solid #f0ece7;background:#fff;cursor:zoom-in;overflow:hidden;aspect-ratio:4/3;width:100%}
.plan-img-wrap>img{width:100%;height:100%;object-fit:contain;display:block;transition:opacity .3s,transform .4s}
.plan-img-wrap:hover>img{opacity:.85;transform:scale(1.02)}
.plan-zoom-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.94);border:1px solid rgba(0,0,0,.06);color:var(--noir);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.18);transition:transform .25s ease,background .25s ease,color .25s ease;padding:0;opacity:.92}
.plan-zoom-btn svg{width:22px;height:22px;display:block}
.plan-img-wrap:hover .plan-zoom-btn{transform:translate(-50%,-50%) scale(1.1);background:var(--terra);color:#fff;opacity:1}
.plan-zoom-btn:focus-visible{outline:2px solid var(--terra);outline-offset:3px}

/* FLOOR PLAN ZOOM MODAL */
.fp-zoom-overlay{position:fixed;inset:0;background:rgba(15,15,15,.86);z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fpFade .25s ease}
@keyframes fpFade{from{opacity:0}to{opacity:1}}
.fp-zoom-inner{background:#fff;max-width:1100px;width:100%;max-height:92vh;display:flex;flex-direction:column;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.fp-zoom-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 28px;border-bottom:1px solid #ebe7e2;flex-shrink:0}
.fp-zoom-eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--terra);font-weight:600;display:block;margin-bottom:6px}
.fp-zoom-title{font-family:var(--font-serif);font-size:24px;font-weight:300;color:var(--noir);margin:0;line-height:1.2}
.fp-zoom-close{background:none;border:0;font-size:34px;line-height:1;color:var(--noir);cursor:pointer;padding:0 6px;font-weight:300;transition:color .2s}
.fp-zoom-close:hover{color:var(--terra)}
.fp-zoom-stage{padding:20px 28px 26px;display:flex;flex-direction:column;gap:12px;overflow:hidden;min-height:0}
.fp-zoom-img-wrap{position:relative;width:100%;background:#fafafa;border:1px solid #f0ece7;overflow:hidden;cursor:zoom-in;display:flex;align-items:center;justify-content:center;height:min(72vh,720px);touch-action:none}
.fp-zoom-img-wrap.is-zoomed{cursor:zoom-out}
.fp-zoom-img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;transition:transform .25s ease-out;transform-origin:center center;user-select:none;-webkit-user-drag:none;pointer-events:none}
.fp-zoom-img-wrap.is-zoomed .fp-zoom-img{transition:transform .05s linear}
.fp-zoom-hint{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);text-align:center;margin:0;font-weight:500}

@media(max-width:768px){
  .fp-zoom-overlay{padding:12px}
  .fp-zoom-header{padding:16px 18px}
  .fp-zoom-title{font-size:19px}
  .fp-zoom-stage{padding:14px 18px 20px}
  .fp-zoom-img-wrap{height:min(64vh,540px)}
  .plan-zoom-btn{width:48px;height:48px}
  .plan-zoom-btn svg{width:18px;height:18px}
}

/* SUITE GALLERY CAROUSEL (under floor plans, above Request a Floor Plan button) */
.suite-carousel{position:relative;margin-top:60px}
.suite-car-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 24px)/3);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;padding:2px}
.suite-car-track::-webkit-scrollbar{display:none}
.suite-car-track:focus-visible{outline:2px solid var(--terra);outline-offset:3px}
.suite-car-slide{scroll-snap-align:start;aspect-ratio:4/3;background:#fff;overflow:hidden}
.suite-car-slide img{width:100%;height:100%;object-fit:cover;display:block}
.suite-car-btn{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:2px;background:rgba(20,20,20,.78);border:0;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;padding:0;transition:background .2s}
.suite-car-btn svg{width:16px;height:16px;display:block;stroke-width:1.75}
.suite-car-btn:hover{background:var(--terra)}
.suite-car-btn:focus-visible{outline:2px solid var(--terra);outline-offset:2px}
.suite-car-prev{left:10px}
.suite-car-next{right:10px}

/* 3D VIRTUAL TOUR (under floor plans) */
.suite-tour{margin-top:90px;background:var(--noir);padding:72px 24px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw;max-width:100vw}
.suite-tour-header{text-align:center;max-width:720px;margin:0 auto 36px}
.suite-tour-header .section-label{color:rgba(255,255,255,.55)}
.suite-tour-title{font-family:var(--font-serif);font-size:clamp(28px,3.2vw,44px);font-weight:300;line-height:1.15;color:#fff;margin-top:14px}
.suite-tour-title em{font-style:italic;color:var(--terra)}
.suite-tour-sub{margin-top:16px;color:rgba(255,255,255,.7);font-size:15px;line-height:1.6}
.suite-tour-frame{position:relative;width:100%;max-width:1200px;margin:0 auto;height:min(60vh,560px);background:var(--noir);overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 60px rgba(0,0,0,.35)}
.suite-tour-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}

/* AMENITY COLLAGE (under floor plans) */
.amenity-collage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start;margin-top:90px}
.ac-tile{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--noir);margin:0;cursor:pointer}
.ac-tile.fade-in{opacity:0;transform:translateY(140px);transition:opacity 1.1s ease,transform 1.3s cubic-bezier(.16,.84,.3,1)}
.ac-tile.fade-in.visible{opacity:1;transform:translateY(0)}
.ac-tile.fade-in:nth-child(3n+2){transition-delay:.12s}
.ac-tile.fade-in:nth-child(3n){transition-delay:.24s}
.ac-tile:nth-child(3n+2){margin-top:60px}
.ac-tile:nth-child(3n){margin-top:24px}
.ac-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:filter .55s ease,transform 1.1s cubic-bezier(.2,.65,.25,1);will-change:filter,transform}
.ac-tile figcaption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:34px 30px;color:#fff;background:linear-gradient(to top,rgba(20,20,20,.82) 0%,rgba(20,20,20,.55) 45%,rgba(20,20,20,0) 82%);opacity:0;transition:opacity .45s ease;pointer-events:none}
.ac-tile:hover img{filter:blur(6px) brightness(.62);transform:scale(1.06)}
.ac-tile:hover figcaption{opacity:1}
.ac-label{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--limen);font-weight:600;margin-bottom:10px;display:block}
.ac-title{font-family:var(--font-serif);font-size:26px;font-weight:300;line-height:1.15;margin-bottom:14px;display:block;color:#fff}
.ac-desc{font-size:13px;line-height:1.65;color:rgba(255,255,255,.88);font-weight:300;display:block;max-width:90%}

/* CONTACT */
.contact{background:#fff;padding:100px 60px;margin:0 60px}
.contact-inner{max-width:860px;margin:0 auto;text-align:center}
.contact-inner > p{font-size:15px;line-height:1.9;color:#5a5550;margin:24px 0 48px;font-weight:300}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left}
.form-full{grid-column:span 2}
.form-group{display:flex;flex-direction:column;gap:8px}
.form-group label{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--sage)}
.form-group input,.form-group select,.form-group textarea{background:transparent;border:none;border-bottom:1px solid var(--limen);padding:12px 0;font-size:14px;color:var(--noir);font-family:var(--font-sans);outline:none;transition:border-color .3s;font-weight:300}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-bottom-color:var(--terra)}
.form-group textarea{resize:none;height:80px}
.form-submit{grid-column:span 2;margin-top:16px}
.form-submit button{width:100%;padding:18px;background:var(--terra);color:#fff;border:none;font-size:11px;letter-spacing:.25em;text-transform:uppercase;cursor:pointer;font-family:var(--font-sans);font-weight:600;transition:all .3s}
.form-submit button:hover{background:var(--terra-dark)}
.form-status-msg{margin-top:14px;font-size:13px;font-weight:400;line-height:1.5;font-family:var(--font-sans);letter-spacing:.02em}
.contact-tagline{grid-column:span 2;text-align:center;margin:28px 0 0;font-family:var(--font-serif);font-weight:300;font-size:clamp(20px,2.4vw,28px);color:var(--noir);line-height:1.3;letter-spacing:.01em}
.contact-tagline strong{font-weight:500}
.contact-tagline em{font-style:italic;color:var(--terra)}
.form-status-success{color:var(--sage)}
.form-status-error{color:var(--terra)}
.form-status-error a{color:var(--terra);text-decoration:underline}
.flatpickr-calendar{font-family:var(--font-sans);background:var(--cream);border:1px solid var(--sand);border-radius:0;box-shadow:0 8px 32px rgba(46,46,46,.12);width:364px;padding:0 18px 18px;box-sizing:border-box}
.flatpickr-months{background:var(--cream);padding:4px 0}
.flatpickr-month{background:var(--cream);color:var(--noir);fill:var(--noir)}
.flatpickr-current-month{font-family:var(--font-sans);font-size:13px;font-weight:300;letter-spacing:.04em;color:var(--noir);padding-top:7px}
.flatpickr-current-month .flatpickr-monthDropdown-months{font-family:var(--font-sans);font-size:13px;font-weight:300;color:var(--noir);background:var(--cream);appearance:none;border:none;outline:none}
.flatpickr-current-month .numInputWrapper input{font-family:var(--font-sans);font-size:13px;font-weight:300;color:var(--noir)}
.flatpickr-prev-month,.flatpickr-next-month{fill:var(--sage)}
.flatpickr-prev-month:hover svg,.flatpickr-next-month:hover svg{fill:var(--terra)}
.flatpickr-weekdays{background:var(--cream)}
span.flatpickr-weekday{font-family:var(--font-sans);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--sage);font-weight:500;background:var(--cream)}
.flatpickr-days{width:328px}
.dayContainer{width:328px;min-width:328px;max-width:328px;background:var(--cream)}
.flatpickr-day{font-family:var(--font-sans);font-size:13px;font-weight:300;color:var(--noir);border-radius:0;border:none;max-width:unset}
.flatpickr-day:hover{background:rgba(165,87,69,.1);border-color:transparent;color:var(--noir)}
.flatpickr-day.selected,.flatpickr-day.selected:hover,.flatpickr-day.selected.today{background:var(--terra);border-color:var(--terra);color:#fff}
.flatpickr-day.today{border-color:var(--terra);color:var(--terra);font-weight:600}
.flatpickr-day.today:hover{background:var(--terra);color:#fff}
.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{color:var(--noir);opacity:.3;cursor:default;background:transparent}
.flatpickr-innerContainer{background:var(--cream)}
.flatpickr-rContainer{background:var(--cream)}
#f-movein{cursor:pointer}
.contact-info{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:70px;padding-top:60px;border-top:1px solid var(--sand);text-align:center}
.ci-label{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--terra);margin-bottom:12px}
.ci-val{font-family:var(--font-serif);font-size:18px;color:var(--noir);font-weight:300;line-height:1.5}
.ci-val a{color:var(--noir);text-decoration:none}
.ci-val a:hover{color:var(--terra)}

/* FOOTER */
footer{background:var(--noir);padding:60px 80px 40px}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-top>*{min-width:0}
.footer-brand .logo{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.footer-brand .logo span{font-family:var(--font-serif);font-size:20px;letter-spacing:.25em;color:#fff}
.footer-brand p{font-size:12px;line-height:1.8;color:rgba(255,255,255,.4);font-weight:300;max-width:240px}
.footer-col h4{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:#fff;margin-bottom:22px}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:11px;font-size:12px;color:rgba(255,255,255,.4);font-weight:300}
.footer-col a{font-size:12px;color:rgba(255,255,255,.4);text-decoration:none;transition:color .3s;font-weight:300}
.footer-col a:hover{color:var(--terra)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px;flex-wrap:wrap;gap:16px}
.footer-bottom p{font-size:11px;color:rgba(255,255,255,.2)}
.social-links{display:flex;gap:20px}
.social-links a{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.3);text-decoration:none;transition:color .3s}
.social-links a:hover{color:var(--terra)}
.fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}
.nav-logo-dark{display:block}
.nav-logo-light{display:none}
nav.scrolled .nav-logo-dark{display:none}
nav.scrolled .nav-logo-light{display:block}

/* PROMO BANNER BAR — declared before media queries so responsive overrides win the cascade */
.promo-banner-bar{background:var(--terra);padding:11px 48px;text-align:center;position:fixed;top:0;left:0;right:0;z-index:101;width:100%;box-sizing:border-box}
.promo-banner-text{font-family:var(--font-sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#fff;font-weight:500;line-height:1.6;margin:0}
.promo-banner-text a{color:#fff;text-decoration:underline;text-underline-offset:3px;letter-spacing:.12em}
.promo-banner-close{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,.7);font-size:18px;cursor:pointer;line-height:1;padding:4px 8px;font-family:var(--font-sans);transition:color .2s}
.promo-banner-close:hover{color:#fff}

/* PROMO MODAL — declared before media queries so responsive overrides win the cascade */
.promo-overlay{position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.promo-modal{background:#fff;max-width:860px;width:100%;display:flex;position:relative;max-height:90vh;overflow:hidden;border-radius:2px;margin:auto}
.promo-img-panel{flex:1;min-width:0;background:var(--limen);display:flex;align-items:stretch}
.promo-img-panel img{width:100%;height:100%;object-fit:cover;display:block}
.promo-content-panel{flex:1;padding:52px 44px;overflow-y:auto;min-width:300px}
.promo-close{position:absolute;top:12px;right:12px;background:var(--noir);border:none;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:17px;cursor:pointer;color:#fff;line-height:1;padding:0;transition:background .2s;z-index:10}
.promo-close:hover{background:var(--terra)}

@media(max-width:1024px){
  .welcome,.neighbourhood-inner{grid-template-columns:1fr;gap:50px}
  .welcome-badge{right:0}
}
@media(max-width:768px){
  .neigh-text .btn-primary{display:block;width:fit-content;margin-left:auto;margin-right:auto}
  nav,nav.scrolled{padding:16px 24px}
  .nav-links{display:none}
  .hamburger{display:flex}
  .intro-strip,.amenities-section,.contact,.neighbourhood{padding:70px 24px}
  .contact,.social-follow{margin:0!important}
  .suites{padding:70px 20px}
  .welcome{padding:70px 24px}
  .amenities-grid{grid-template-columns:1fr}
  .floor-plans{grid-template-columns:1fr}
  .suites-intro{grid-template-columns:1fr;gap:28px}
  .suite-tour{margin-top:60px;padding:56px 20px}
  .suite-tour-frame{height:min(48vh,360px)}
  /* Suite carousel — 1 image per view on mobile */
  .suite-carousel{margin-top:40px}
  .suite-car-track{grid-auto-columns:100%;gap:8px}
  .suite-car-btn{width:32px;height:32px}
  .suite-car-btn svg{width:14px;height:14px}
  .suite-car-prev{left:8px}
  .suite-car-next{right:8px}
  /* Amenity collage — show only 3 tiles, smaller, always-on caption */
  .amenity-collage-grid{grid-template-columns:1fr;gap:12px;margin-top:50px;max-width:420px;margin-left:auto;margin-right:auto}
  .ac-tile,
  .ac-tile:nth-child(1),.ac-tile:nth-child(2),.ac-tile:nth-child(3){margin-top:0;aspect-ratio:5/4}
  .ac-tile:nth-child(n+4){display:none}
  .ac-tile img{filter:brightness(.78)}
  .ac-tile figcaption{opacity:1;padding:24px 22px;background:linear-gradient(to top,rgba(20,20,20,.85) 0%,rgba(20,20,20,.35) 65%,rgba(20,20,20,0) 100%)}
  .ac-title{font-size:22px;margin-bottom:8px}
  .ac-desc{font-size:12px;line-height:1.6;max-width:100%}
  .contact-form{grid-template-columns:1fr}
  .form-full,.form-submit,.contact-tagline{grid-column:span 1}
  .contact-info{grid-template-columns:1fr;gap:28px}
  .footer-top{grid-template-columns:1fr;gap:32px}
  .footer-bottom{flex-direction:column;align-items:center;gap:12px}
  footer{padding:50px 20px 80px}
  .intro-strip{gap:20px;padding:18px 24px}
  /* Banner — reduce side padding to eliminate right-side whitespace */
  .promo-banner-bar{padding:10px 48px 10px 16px}
  .promo-banner-text{font-size:10px;letter-spacing:.08em;line-height:1.5}
  /* Promo popup — single column, no image */
  .promo-overlay{padding:12px;align-items:flex-start;padding-top:16px}
  .promo-modal{flex-direction:column;max-height:92vh;overflow-y:auto;overflow-x:hidden}
  .promo-img-panel{display:none}
  .promo-content-panel{min-width:0;width:100%;padding:36px 24px 28px;flex:none;overflow-y:visible;max-height:none}
  /* Homeownership — stack to single column */
  .homeownership-section{padding:60px 20px}
  .homeownership-inner{grid-template-columns:1fr!important;gap:36px!important}
  /* Amenity blocks */
  .amenity-indoor-block,.amenity-outdoor-block{padding:60px 20px}
  .amenities-cta{padding:60px 20px}
  /* Amenity overview — compact list, no popups on mobile */
  .amenity-overview{padding:56px 20px 44px}
  .aol-summary{padding:18px 8px;gap:10px}
  .aol-summary-label{font-size:10px;letter-spacing:.26em}
  .aol-content{padding:4px 0 24px}
  .aol-inline-list{gap:6px 0}
  .aol-item{font-size:14px;padding:5px 14px;gap:12px}
  .desktop-only{display:none}
  .aol-pop{display:none!important}
  .aol-item:hover{color:var(--noir)}
  .aol-item:hover::before{opacity:.55;transform:none}
  /* Lookbook gallery — 2 cols on mobile */
  .lookbook-gallery{padding:56px 16px 64px}
  .lookbook-head{margin-bottom:28px}
  .lookbook-grid{column-count:2;column-gap:6px}
  .lb-tile{margin-bottom:6px}
  /* FAQ section (inline style override) */
  .faq-section{padding:70px 20px!important;margin:0!important}
  /* FAQ page wrapper — preserve cream gap below fixed nav on mobile */
  .faq-page-bg{padding:130px 0 0!important}
  /* Home cream wrap — collapse bottom gap on mobile so social section meets footer flush */
  .home-cream-wrap{padding-bottom:0!important}
  /* Social follow */
  .social-follow{padding:70px 20px}
  /* Neighbourhood map */
  .neigh-map{aspect-ratio:4/3;min-height:0}
  /* Amenities — compact on mobile */
  .amenities-section{padding:60px 20px 70px}
  .amenities-header{padding:0;margin-bottom:32px;max-width:none}
  .amenities-header p{font-size:14px;line-height:1.7}
  .amenities-header-cta{margin-top:24px;padding:14px 30px;font-size:10px}
  /* Carousel — fit entire image within phone screen */
  .carousel-slide{height:min(48vh,360px)}
  .carousel-btn{width:32px;height:32px;font-size:14px}
  .carousel-prev{left:10px}
  .carousel-next{right:10px}
  /* Caption pill — tighter, hide "Indoor/Outdoor" label on mobile to save space */
  .carousel-caption{left:12px;bottom:12px;padding:7px 12px;max-width:calc(100% - 70px)}
  .carousel-caption .cap-label,.carousel-caption .cap-label::after{display:none}
  .carousel-caption .cap-title{font-size:10px;letter-spacing:.14em}
  /* Dots pill — tighter */
  .carousel-dots{bottom:12px;right:12px;padding:7px 10px;gap:6px}
  .carousel-dot{width:5px;height:5px}
  /* Sub-page banner — tighter padding on mobile */
  .page-banner{padding:200px 20px 56px;min-height:260px}
  .page-banner-title{font-size:clamp(26px,7vw,36px)}
  .page-banner-sub{font-size:15px;line-height:1.6;margin-top:26px}
  /* Location list — single column on small screens */
  .loc-list{grid-template-columns:1fr}
  /* Stat row — wrap on mobile */
  .stat-row{gap:24px;flex-wrap:wrap}
  /* Flatpickr — fit calendar to viewport on small screens */
  .flatpickr-calendar{width:calc(100vw - 48px)!important;padding:0 12px 14px}
  .flatpickr-days{width:calc(100vw - 72px)!important}
  .dayContainer{width:calc(100vw - 72px)!important;min-width:0!important;max-width:none!important}
}
@media(min-width:769px) and (max-width:1024px){
  .homeownership-inner{grid-template-columns:1fr!important;gap:48px!important}
  .homeownership-section{padding:80px 40px}
  .amenity-indoor-block,.amenity-outdoor-block{padding:72px 40px}
  .floor-plans{grid-template-columns:1fr 1fr}
  .suites-intro{grid-template-columns:1fr}
  /* Suite carousel — 2 images per view on tablet */
  .suite-car-track{grid-auto-columns:calc((100% - 12px)/2);gap:12px}
  /* Amenity collage — 2 columns on tablet, lighter stagger */
  .amenity-collage-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:60px}
  .ac-tile,.ac-tile:nth-child(3n+2),.ac-tile:nth-child(3n){margin-top:0;aspect-ratio:3/4}
  .ac-tile:nth-child(2n){margin-top:40px}
  /* Promo popup — hide image panel on tablets, give content full width */
  .promo-img-panel{display:none}
  .promo-modal{flex-direction:column;max-height:92vh;overflow-y:auto;overflow-x:hidden}
  .promo-content-panel{padding:44px 36px;min-width:0;width:100%;flex:none;overflow-y:visible;max-height:none}
  footer{padding:60px 40px 40px}
  .footer-top{gap:40px}
  /* Amenities — tablet sizing */
  .amenities-section{padding:80px 40px}
  .carousel-wrap{max-width:100%}
  .carousel-slide{height:min(54vh,460px)}
  .carousel-caption{left:18px;bottom:18px}
  .carousel-dots{bottom:18px;right:18px}
  .suite-tour-frame{height:min(54vh,460px)}
  /* Sub-page banner — tablet */
  .page-banner{padding:235px 40px 64px;min-height:320px}
  .page-banner-title{font-size:clamp(30px,5vw,44px)}
  /* Amenity overview — tablet sizing, no popups */
  .amenity-overview{padding:72px 40px}
  .aol-item{font-size:16px;padding:6px 18px}
  .desktop-only{display:none}
  .aol-pop{display:none!important}
  /* Lookbook gallery — 3 cols on tablet */
  .lookbook-gallery{padding:72px 16px 80px}
  .lookbook-grid{column-count:3;column-gap:8px}
  .lb-tile{margin-bottom:8px}
}
/* Touch / no-hover devices — disable popups regardless of screen width */
@media(hover:none),(pointer:coarse){
  .aol-pop{display:none!important}
  .aol-item:hover{color:var(--noir)}
  .aol-item:hover::before{opacity:.55;transform:none}
  .desktop-only{display:none}
}
/* ULTRA-WIDE — keep nav/footer content from drifting to extreme edges on >1920px screens */
@media(min-width:1921px){
  nav,nav.scrolled{padding-left:calc((100vw - 1800px) / 2);padding-right:calc((100vw - 1800px) / 2)}
  footer{padding-left:calc((100vw - 1760px) / 2);padding-right:calc((100vw - 1760px) / 2)}
}
/* SOCIAL FOLLOW SECTION */
.social-follow{background:#fff;padding:100px 60px;margin:0 60px}
.social-follow-inner{max-width:1300px;margin:0 auto}
.social-follow-header{text-align:center;margin-bottom:56px}
.social-follow-header p{font-size:14px;color:var(--sage);margin-top:14px;font-weight:300}
.insta-handles{display:flex;justify-content:center;gap:28px;margin-bottom:48px;flex-wrap:wrap}
.insta-handle-link{display:flex;align-items:center;gap:9px;text-decoration:none;padding:10px 22px;border:1px solid var(--sand);color:var(--noir);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;transition:all .3s}
.insta-handle-link:hover{background:var(--terra);color:#fff;border-color:var(--terra)}
.insta-handle-link svg{width:15px;height:15px;flex-shrink:0}
.btn-lookbook:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(46,46,46,.12);color:var(--noir)!important;border-color:var(--noir)!important}

/* NARROW-PHONE OVERFLOW SAFETY NET — keep Flatpickr calendar inside viewport on <=375px screens */
@media(max-width:480px){
  .flatpickr-calendar{width:calc(100vw - 24px)!important;max-width:340px}
  .dayContainer{width:100%!important;min-width:0!important;max-width:100%!important}
}

/* ACCESSIBILITY — respect OS-level reduced-motion preference */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* PROMO BANNER BAR */
.promo-banner-bar{background:var(--terra);padding:11px 48px;text-align:center;position:fixed;top:0;left:0;right:0;z-index:101;width:100%;box-sizing:border-box}
.promo-banner-text{font-family:var(--font-sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#fff;font-weight:500;line-height:1.6;margin:0}
.promo-banner-text a{color:#fff;text-decoration:underline;text-underline-offset:3px;letter-spacing:.12em}
.promo-banner-close{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,.7);font-size:18px;cursor:pointer;line-height:1;padding:4px 8px;font-family:var(--font-sans);transition:color .2s}
.promo-banner-close:hover{color:#fff}

/* PROMO MODAL */
.promo-overlay{position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.promo-modal{background:#fff;max-width:860px;width:100%;display:flex;position:relative;max-height:90vh;overflow:hidden;border-radius:2px;margin:auto}
.promo-img-panel{flex:1;min-width:0;background:var(--limen);display:flex;align-items:stretch}
.promo-img-panel img{width:100%;height:100%;object-fit:cover;display:block}
.promo-content-panel{flex:1;padding:52px 44px;overflow-y:auto;min-width:300px}
.promo-close{position:absolute;top:12px;right:12px;background:var(--noir);border:none;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:17px;cursor:pointer;color:#fff;line-height:1;padding:0;transition:background .2s;z-index:10}
.promo-close:hover{background:var(--terra)}

.btn-lookbook:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(46,46,46,.12);color:var(--noir)!important;border-color:var(--noir)!important}
