/* Viewport compositions. Content can grow for text zoom and small screens. */
.logo{width:152px}.logo svg>text:first-child{font-family:var(--serif);font-weight:500;letter-spacing:3px}.logo svg>text:last-child{letter-spacing:3px}.logo svg path{stroke-width:.5}
#header,#header.scrolled{padding:14px 5vw;background:var(--green);box-shadow:none}
.hero-film{min-height:100svh;height:auto;max-height:none;display:flex;align-items:center;padding:110px 0 85px;overflow:visible}
.hero-film .hero-content{width:43%;max-width:640px;padding:25px 3vw 25px 5vw}
.hero-film h1{font-size:clamp(48px,4.4vw,80px);line-height:1.03;letter-spacing:-.025em;text-wrap:balance}
.hero-film .hero-copy{font-size:16px;line-height:1.7;max-width:350px;margin:24px 0 30px;color:#c9d2ca}
.hero-film .hero-copy br{display:none}.hero-film .eyebrow{font-size:12px;letter-spacing:.15em;margin-bottom:24px}
.hero-film .hero-image{left:43%;right:3%;top:50%;bottom:auto;width:54%;height:auto;aspect-ratio:16/9;max-height:calc(100% - 180px);object-fit:contain;transform:translateY(-50%)}
.hero-film .hero-shade{display:none}.hero-film .hero-video-toggle{bottom:30px;right:3%;background:transparent;font-size:14px}
.hero-bottom{right:calc(3% + 150px);bottom:36px}.hero-bottom p{color:#aebeb2}
.catalog-pages{display:flex;gap:8px;justify-content:center;margin-top:14px}.catalog-pages button{width:44px;min-height:40px;border:1px solid var(--line);font-size:14px}.catalog-pages button[aria-current=page]{background:var(--green);color:white}
.card-top>span:last-child{font-size:12px;letter-spacing:0}.drawer{overflow:auto}
.final-screen{background:var(--green)}
/* Restrained architectural accents replace the removed numbering and notes. */
.section-heading>div:before,.section-top:before,.location-copy:before,.engineering-intro:before,.brokers .split>div:first-child:before,.contact>div:first-child:before{content:'';display:block;width:46px;height:1px;margin-bottom:16px;background:var(--brass)}
.section-top{position:relative}.section-top:before{position:absolute;left:0;top:-16px;margin:0}.mini-wordmark{padding:8px 13px;border:1px solid #c5a88055;letter-spacing:.08em}
.gallery-open:after,.interior-card:before,.location-photo:after,.infra-image:after{content:'';position:absolute;z-index:1;inset:14px;border:1px solid #fff5;pointer-events:none;transition:inset .45s,border-color .45s}
.gallery-open:hover:after,.interior-card:hover:before,.infra-image:hover:after{inset:20px;border-color:#fff8}
.materials>div{position:relative}.materials>div:after{content:'';position:absolute;left:0;right:0;top:-12px;height:1px;background:linear-gradient(90deg,var(--brass),transparent 75%);opacity:.55}
.dark .section-heading>div:before,.dark .section-top:before,.dark .engineering-intro:before,.dark .brokers .split>div:first-child:before{background:#d8bc92}
.gallery-stage{display:grid;grid-template-columns:22% 56% 22%;align-items:center;height:clamp(280px,36vw,620px);overflow:hidden;background:#e7e5de;perspective:1200px;touch-action:pan-y}
.gallery-stage button{position:relative;width:100%;padding:0;overflow:hidden}.gallery-stage img{display:block;width:100%;height:100%;object-fit:cover}
.gallery-current{z-index:2;height:100%;background:#e8e5de;box-shadow:0 18px 45px #172b221c;transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s cubic-bezier(.2,.8,.2,1)}.gallery-stage .gallery-current img{height:100%;object-fit:contain}
.gallery-peek{z-index:1;height:76%;opacity:.58;filter:brightness(.62) saturate(.72);transition:transform .5s cubic-bezier(.2,.8,.2,1),filter .5s,opacity .5s}.gallery-peek-prev{transform:translateX(10%) scale(.9);transform-origin:right center}.gallery-peek-next{transform:translateX(-10%) scale(.9);transform-origin:left center}
.gallery-stage.moving-next .gallery-current{animation:gallery-in-next .48s both}.gallery-stage.moving-prev .gallery-current{animation:gallery-in-prev .48s both}.gallery-stage.moving-next .gallery-peek-next,.gallery-stage.moving-prev .gallery-peek-prev{animation:gallery-peek-pulse .48s both}
@keyframes gallery-in-next{from{opacity:.65;transform:translateX(28px) scale(.975)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes gallery-in-prev{from{opacity:.65;transform:translateX(-28px) scale(.975)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes gallery-peek-pulse{50%{opacity:.8;filter:brightness(.78) saturate(.86)}}
@media(hover:hover){.gallery-current:hover{transform:translateY(-8px) rotateX(1deg) scale(1.006);box-shadow:0 28px 65px #172b2233}.gallery-peek:hover{opacity:.82;filter:brightness(.78) saturate(.88)}.gallery-peek-prev:hover{transform:translateX(6%) translateY(-4px) scale(.93)}.gallery-peek-next:hover{transform:translateX(-6%) translateY(-4px) scale(.93)}}
@media(min-width:1000px) and (min-height:640px){
 html{scroll-snap-type:y proximity;scroll-padding-top:0}
 main>section{scroll-snap-align:start;scroll-margin-top:0}
 .section,.selection.section{min-height:100svh;padding:100px 5vw 28px;display:flex;flex-direction:column;justify-content:center}
 h2,.contact h2,.brokers h2{font-size:clamp(38px,5.6svh,66px);line-height:1.04;text-wrap:balance}
 .section-heading{margin-bottom:22px;gap:40px}.section-heading .eyebrow{margin-bottom:10px}.section-heading>p{max-width:430px;font-size:16px;line-height:1.5}
 .section-top{margin-bottom:30px}.split{gap:6vw}.manifest-copy{padding:0;max-width:550px}.manifest-copy .lead{font-size:18px;margin-bottom:16px}.manifest-copy .text-link{margin-top:16px}.stats{margin-top:38px}.stats>div{padding-top:22px}.stats strong{font-size:60px}.stats span{margin-top:10px;font-size:14px}
 .architecture .gallery{margin-top:0}.gallery-stage{height:clamp(210px,calc(100svh - 405px),600px)}.gallery-open{display:block}.gallery-stage .gallery-open img{height:100%;object-fit:contain}.gallery-bar{padding:8px 0;font-size:14px}.gallery-bar button{font-size:14px}.materials{margin-top:18px;gap:30px}.materials>div{display:grid;grid-template-columns:24px 1fr;gap:3px 10px;align-items:baseline}.materials h3{font-size:25px;margin:0}.materials p{grid-column:2;font-size:14px}
 .interior-grid{height:clamp(260px,calc(100svh - 300px),680px);grid-template-columns:1.6fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:12px}.interior-card,.interior-featured{min-height:0}.interior-card img{position:absolute;inset:0}.interior-featured{grid-row:1/3}.interior-note{margin-top:12px;line-height:1.5;max-width:none}
 .section.location,.section.engineering,.section.contact{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:6vw}.location-photo{height:calc(100svh - 150px);max-height:740px}.location-copy .eyebrow{margin-bottom:12px}.location-copy>p:not(.eyebrow){margin-top:16px;font-size:16px;line-height:1.55}.places{margin:14px 0}.places a{padding:10px 0}.places small{font-size:12px}.image-caption{font-size:12px;padding:16px}
 .infra-grid{grid-template-columns:1fr 1fr;gap:30px}.infra-grid article:last-child{padding-top:0}.infra-image{height:clamp(220px,calc(100svh - 380px),560px)}.infra-grid h3{margin:16px 0 8px;font-size:29px}.infra-grid p{font-size:16px;line-height:1.55;max-width:600px}
 .engineering-intro .eyebrow{margin-bottom:16px}.engineering-intro>p:last-of-type{font-size:16px;margin-top:20px}.engine-brand{margin-top:26px}.accordions{padding:0}.accordions details{padding:14px 0}.accordions details p{font-size:16px;padding:12px 0 0 38px;line-height:1.55}.accordions h3{font-size:26px}
 .selection .section-heading{margin-bottom:16px}.selection .section-heading h2{font-size:40px}.selection .selector-shell{width:100%;max-width:1100px}.showing-facade .selector-shell{max-width:min(1100px,calc((100svh - 215px)*1.777))}.facade-stage{aspect-ratio:1672/941}.selector-toolbar{padding:8px 16px}.selector-footer{padding:9px 16px}.floor-nav{padding:12px 10px;gap:8px}.floor-nav button{height:32px;width:32px}.floor-nav>div{gap:3px}.floor-line{display:none}.plan-stage{padding:8px 16px}.selection .interactive-plan{height:calc(100svh - 370px);min-height:250px;margin:4px auto}.plan-disclaimer{margin-top:8px;max-width:none;font-size:12px}.level-empty{min-height:calc(100svh - 325px)}.unit-list{padding:12px 22px}.unit-row{padding:9px 12px;gap:15px}.unit-no{font-size:28px}.list-title{padding-bottom:10px}
 .catalog .section-heading{margin-bottom:16px}.catalog-blocks{margin-bottom:10px;padding-bottom:10px}.catalog-blocks button{padding:7px 24px}.filters{margin-bottom:14px;gap:8px}.filters button{padding:7px 18px}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.plan-card{padding:16px}.card-drawing{height:clamp(140px,calc(100svh - 435px),440px);margin:12px 0}.card-bottom{padding-top:10px;flex-wrap:nowrap;gap:10px}.card-bottom strong{font-size:14px}.card-bottom span>small{font-size:12px;margin-top:3px}.card-bottom b{font-size:28px}
 .contact .eyebrow{margin-bottom:14px}.contact>div>p:not(.eyebrow){font-size:16px;margin-top:20px}.contact-phone{margin-top:24px}.contact-email{font-size:17px}.contact form>label{margin-bottom:16px;font-size:14px}.contact fieldset{margin:16px 0}.contact legend{margin-bottom:10px;font-size:14px}.contact .consent{font-size:12px}.contact .btn{min-height:48px}.form-note{margin-top:10px;line-height:1.5}
 .brokers .eyebrow{margin-bottom:18px}.brokers .split{width:100%}.brokers p{font-size:16px}
 .final-screen{min-height:100svh;display:grid;grid-template-rows:minmax(0,1fr) auto;scroll-snap-align:start;scroll-margin-top:0}.final-screen .brokers{min-height:0;padding-top:90px;padding-bottom:35px}.final-screen footer{padding-top:28px;padding-bottom:24px}
}
@media(max-width:999px){
 html{scroll-padding-top:82px}.section,.selection.section{padding-top:50px;padding-bottom:50px;min-height:0}.section-heading{gap:25px}.section-heading h2{font-size:44px}.section-heading>p{font-size:16px}.interior-grid{min-height:0}.interior-featured{min-height:0}.interior-card{min-height:0}.hero-film .hero-content{width:100%;padding:30px 24px}.hero-film{display:block;padding:100px 0 80px;min-height:100svh}.hero-film h1{font-size:clamp(44px,7vw,64px);max-width:600px}.hero-film .hero-image{position:relative;inset:auto;width:calc(100% - 48px);height:auto;max-height:none;margin:0 24px;transform:none;aspect-ratio:16/9}.hero-film .hero-copy{max-width:560px;margin:18px 0 22px}.hero-film .hero-video-toggle{bottom:22px;right:24px}.hero-film .hero-bottom{display:none}.hero-film .eyebrow{margin-bottom:18px}.logo{width:138px}.drawer{overflow:auto}.drawer #unit-content{height:auto;min-height:100%}.catalog .cards{grid-template-columns:1fr}.card-drawing{height:340px}.gallery-stage{grid-template-columns:17% 66% 17%;height:clamp(230px,58vw,440px)}.gallery-peek{height:68%}.gallery-open:after,.interior-card:before,.location-photo:after,.infra-image:after{inset:9px}.gallery-open:hover:after,.interior-card:hover:before,.infra-image:hover:after{inset:9px}
}
@media(min-width:1000px) and (min-height:640px){
 .catalog.section{height:100svh;display:grid;grid-template-rows:auto auto auto minmax(160px,1fr) auto;align-content:stretch;justify-content:stretch;gap:0}
 .catalog .cards{min-height:0}.catalog .plan-card{min-height:0}.catalog .card-drawing{height:auto;min-height:40px;flex:1}.catalog .card-top,.catalog .card-bottom{flex-shrink:0}.catalog .card-top{min-height:21px}.catalog .card-bottom{margin-top:0}.catalog .card-bottom span>small{line-height:1.4}
 .catalog .section-heading h2 br{display:none}.catalog .section-heading h2{max-width:600px}.catalog .section-heading>p{max-width:350px;font-size:14px}
}
.section.location.location-map-section{display:block}
@media(prefers-reduced-motion:reduce){html{scroll-snap-type:none}.gallery-stage *{animation:none!important;transition:none!important}}

/* Full-bleed still-image hero */
.hero-film.hero-still{position:relative;display:block;height:100svh;min-height:760px;max-height:1100px;padding:0;overflow:hidden;background:#0d2b22}
.hero-still .hero-image{position:absolute;inset:0;width:100%;height:100%;max-height:none;margin:0;aspect-ratio:auto;object-fit:cover;object-position:center 48%;transform:none;animation:hero-still-in 1.2s ease-out both}
.hero-still .hero-shade{display:block;position:absolute;inset:0;background:linear-gradient(90deg,#071f18ed 0%,#071f18d5 22%,#071f1896 39%,#071f1824 66%,transparent 84%),linear-gradient(0deg,#061b15a8 0%,transparent 36%,#061b1530 100%)}
.hero-still .hero-content{position:relative;z-index:1;display:flex;min-height:100%;width:43%;max-width:680px;padding:160px 4vw 125px 5vw;flex-direction:column;align-items:flex-start;justify-content:center}
.hero-still .hero-content h1{max-width:650px;text-wrap:balance}.hero-still .hero-copy{max-width:410px;color:#e0e5e0}
.hero-still .btn{width:auto}.hero-still .hero-bottom{z-index:2;display:flex}
@keyframes hero-still-in{from{opacity:.82;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@media(max-width:1150px) and (min-width:761px){
 .hero-still .hero-content{width:48%;padding-left:4vw}.hero-still .hero-image{object-position:56% center}
}
@media(max-width:760px){
 .hero-film.hero-still{display:block;height:100svh;min-height:740px;padding:0}
 .hero-still .hero-image{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:cover;object-position:58% center;animation:none}
 .hero-still .hero-shade{display:block;background:linear-gradient(90deg,#071f18e8 0%,#071f18b8 58%,#071f1850 100%),linear-gradient(0deg,#061b15d6 0%,#061b1550 55%,#061b158c 100%)}
 .hero-still .hero-content{width:100%;max-width:none;min-height:100%;padding:145px 24px 115px;justify-content:flex-start}
 .hero-still .hero-content h1{max-width:480px}.hero-still .hero-copy{max-width:420px;color:#eef1ee}
 .hero-still .hero-bottom{display:none}
}
.manifest .section-top{margin-bottom:18px}
@media(max-width:760px){.manifest .section-top{margin-bottom:24px}}
