@font-face{font-family:Salon;src:url(assets/display.woff2) format("woff2");font-display:swap}@font-face{font-family:Pen;src:url(assets/script.woff2) format("woff2");font-display:swap}
:root{--ivory:#f3f3ec;--ink:#17233b;--sky:#b5cedb;--rose:#f8bbcb;--plum:#340c24;--line:#17233b31;--serif:Salon,"Times New Roman","Noto Sans Devanagari",serif;--sans:Jost,"Noto Sans Devanagari",Arial,sans-serif;--edge:clamp(20px,4vw,78px)}*{box-sizing:border-box}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.5 var(--sans)}body:has(dialog[open]){overflow:hidden}a,button,select,input,textarea{color:inherit;font:inherit}button{border:0;background:none;cursor:pointer}a{text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:.18em}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #be3c79;outline-offset:3px}button,a,select{touch-action:manipulation}h1,h2,h3,p,figure{margin:0}h1,h2,h3,.selectlink,.listheading b,.unitcard b,.planrow strong{font-family:var(--serif);font-weight:500;text-transform:uppercase;letter-spacing:-.065em;line-height:.89}h2{font-size:clamp(52px,8vw,150px)}h3{font-size:clamp(32px,4vw,70px)}em{font:normal clamp(50px,6vw,110px)/.85 Pen,"Noto Sans Devanagari",cursive;display:block;transform:rotate(-11deg)}img{display:block;max-width:100%}small,.kicker,.toplinks button,.toplinks>a:not(.selectlink),.tagrow button,.scrollcue,.unitcard>span,.filters label,figcaption{font:500 12px/1.45 var(--sans);letter-spacing:.14em;text-transform:uppercase}.mast{position:absolute;inset:0 0 auto;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;padding:clamp(16px,3vw,60px) var(--edge);pointer-events:none}.mast>*{pointer-events:auto}.seal{width:clamp(60px,7.5vw,125px);height:auto;padding:0}.seal svg{width:100%;fill:currentColor}.seal text{font:7px var(--sans);letter-spacing:2px}.toplinks{display:grid;text-align:right;justify-items:end}.selectlink{font-size:clamp(19px,1.8vw,34px);line-height:.95;text-decoration:underline;text-underline-offset:3px;margin-bottom:5px}.toplinks button,.toplinks>a:not(.selectlink){padding:4px 0;min-height:28px;font-size:11px;font-weight:600}.toplinks button:hover{text-decoration:underline}body[data-page=home] .mast{color:white;text-shadow:0 1px 5px #17233b}.hero{position:relative;isolation:isolate;min-height:max(100svh,78vw);color:white;text-align:center;background:#3668a4;overflow:hidden}.scene{position:absolute;inset:0;z-index:-1}.scene img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center top}.scene:after{content:"";position:absolute;inset:0;background:linear-gradient(#0e213d50,transparent 58%)}.scene .night{opacity:0;transition:opacity .85s ease-in-out}.afterdark .night{opacity:1}.brandstack{position:relative;width:70%;margin:auto;padding-top:3vw}.brandstack h1{font-size:clamp(92px,12vw,220px);transform:scaleX(.61);line-height:.86}.brandstack em{margin-top:-.03em;font-size:clamp(65px,7.7vw,155px)}.tagrow{width:57%;margin:3.4vw auto 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.tagrow>span{font:500 clamp(17px,2.2vw,40px)/1 var(--serif);letter-spacing:-.06em;text-transform:uppercase}.tagrow button{color:white;font-size:11px;min-height:44px;text-shadow:0 1px 4px #17233b}.tagrow button[aria-pressed=true]{text-decoration:underline;text-underline-offset:4px}.scrollcue{position:absolute;left:6.5vw;top:68vh;writing-mode:vertical-rl}.pins button{position:absolute;border:1px solid white;color:white;background:#17233b38;border-radius:100%;width:44px;height:44px;display:grid;place-content:center}.pins button:nth-child(1){top:64%;left:57%}.pins button:nth-child(2){top:60%;left:27%}.pins button:nth-child(3){top:73%;left:77%}.pintext{position:absolute;top:68%;left:35%;background:var(--ivory);color:var(--ink);padding:14px 24px;max-width:55%}.concept,.location,.collection,.arch,.soon,.catalogue{position:relative;overflow:hidden}.concept{text-align:center;padding:10vw 0 0;background:var(--sky);isolation:isolate}.concept h2,.location h2,.collection h2,.arch h2{text-align:center;margin:18px 0;position:relative;z-index:1}.concept p{position:relative;z-index:1;max-width:500px;margin:auto;padding:0 22px}.wide{width:100%;max-height:75vh;object-fit:cover}.location{text-align:center;padding:8vw var(--edge);background:var(--rose);color:var(--plum)}.location em{margin:-12px 0 34px}.locbody,.amenities,.archcopy,.estimate{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.locbody{text-align:left;max-width:1200px;margin:5vw auto}.locbody img{width:100%;aspect-ratio:4/3;object-fit:cover}.locbody p,.archcopy p{margin-top:20px;max-width:48ch}.location figure img{width:100%;max-height:74vh;object-fit:cover}.location figcaption{text-align:left;margin-top:8px}.collection,.arch,.related,.amenities,.estimate{padding:8vw var(--edge)}.collection,.arch{text-align:center}.typologies,.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.typologies{margin-top:4vw}.typologies a{position:relative;display:grid;gap:8px;text-align:left}.typologies img{width:100%;aspect-ratio:4/5;object-fit:cover}.typologies strong{font:clamp(21px,2.2vw,36px)/1.1 var(--serif)}.amenities{background:var(--sky)}.amenities h2{margin:22px 0}.amenav{display:flex;flex-wrap:wrap;gap:5px 18px;margin-bottom:12px}.amenav button{min-height:44px;padding:0}.amenav button[aria-pressed=true]{border-bottom:1px solid}.amenities img{width:100%;aspect-ratio:4/3;object-fit:cover}.arch{background:var(--ivory)}.arch .framed>img:not(.bloom){width:100%;max-height:80vh;object-fit:cover;margin:4vw 0}.archcopy{text-align:left}.endplate{position:relative;color:white;text-align:center;background:var(--plum)}.endplate>img{width:100%;height:72vh;object-fit:cover;opacity:.67}.endplate>div{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:22px}.pill{display:inline-flex;border:1px solid;border-radius:40px;min-height:44px;align-items:center;padding:8px 22px;text-transform:uppercase;font-size:12px;font-weight:500}.pill:hover{background:var(--ink);color:var(--ivory)}footer{padding:32px var(--edge);background:var(--plum);color:var(--ivory);display:flex;flex-wrap:wrap;align-items:center;gap:10px 25px}footer small{margin-left:auto;font-size:12px;letter-spacing:.03em}.catalogue{padding:clamp(190px,20vw,390px) 4vw 8vw 12.5vw}.listheading{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:baseline}.listheading h1,.listheading b,.contact h1,.soon h1{font-size:clamp(58px,10.8vw,200px);transform:scaleX(.7);transform-origin:left}.listheading b{transform-origin:right}.filters{margin:22px 0;display:flex;flex-wrap:wrap;align-items:center;gap:12px;border:1px solid var(--line);padding:12px 18px}.filters label{display:flex;align-items:center;gap:4px;font-size:11px;letter-spacing:.07em}.filters select,.estimate select{border:0;background:transparent;font:inherit;min-height:44px}.filters button{margin-left:auto;text-decoration:underline;min-height:44px}.unitcard{border:1px solid var(--line);padding:24px 15px 15px;display:flex;flex-direction:column;align-items:center;gap:6px;transition:background .25s}.unitcard:hover{background:#fff8;text-decoration:none}.unitcard img{width:100%;height:clamp(155px,15vw,300px);object-fit:contain;mix-blend-mode:multiply;margin:20px 0}.unitcard>span{font-size:11px}.unitcard>div{width:100%;display:flex;align-items:end;justify-content:space-between;gap:10px}.unitcard b{font-size:32px}.drawing{padding:3vw 10vw 6vw 19vw}.drawing h1{font-size:clamp(62px,7vw,120px);transform:scaleX(.72);transform-origin:left;margin-bottom:15px}.planrow{margin-top:5vw;display:grid;grid-template-columns:minmax(0,2fr) minmax(170px,1fr);gap:3vw}.plan{align-self:center}.plan img{width:100%;max-height:70vh;object-fit:contain;mix-blend-mode:multiply}.planrow aside{border-left:1px solid var(--line);padding-left:20px}.planrow aside>div{margin-bottom:18px}.planrow strong{display:block;font-size:clamp(25px,2.5vw,45px)}hr{border:0;border-top:1px solid var(--line)}.planrow .pill{margin-top:12px}.estimate{background:#e6e6de}.estimate h2{font-size:clamp(38px,5vw,88px);margin:12px 0}.estimate label{display:inline-grid;margin:12px 18px 12px 0}.estimate select{border-bottom:1px solid}.estimate output{display:block;font:32px var(--serif)}.related h2{margin-bottom:25px}.related .pill{margin-top:20px}.contact,.soon{text-align:center;padding:4vw var(--edge) 8vw;background:var(--sky);min-height:100svh}.contact h1,.soon h1{transform-origin:center}.contacts{display:grid;grid-template-columns:1fr 1.4fr 1fr;align-items:center;gap:30px;margin:8vw auto;max-width:1280px}.contacts small{display:block;margin-bottom:20px}.contacts img{width:100%;aspect-ratio:1.4;object-fit:cover}.soon{display:grid;place-content:center;background:var(--rose)}.soon h1{margin:18px 0 30px}.soon>div:last-child{z-index:1}dialog{border:1px solid var(--line);background:var(--ivory);color:var(--ink);padding:clamp(24px,4vw,65px);max-width:min(540px,92vw);max-height:88svh}dialog::backdrop{background:#340c2499}dialog .close{position:absolute;top:5px;right:5px;font-size:26px;width:44px;height:44px}#menu[open]{display:grid;gap:10px;width:450px}#menu em{margin:20px 0}#menu>a,#menu>button[data-book]{font:26px var(--serif);min-height:44px;text-align:left}#booking h2{font-size:48px;margin-bottom:14px}#booking form{margin-top:14px}#booking label{display:grid;margin:6px 0}#booking input,#booking textarea{border:0;border-bottom:1px solid var(--line);background:transparent;min-height:44px;width:100%}#booking .pill{margin-top:14px}
:lang(hi) :is(h1,h2,h3,.selectlink,.tagrow>span){line-height:1.18;letter-spacing:0}:lang(hi) .brandstack h1{transform:none;font-size:clamp(70px,9vw,145px)}:lang(hi) em{line-height:1.2;transform:rotate(-5deg)}
@media(max-width:760px){.mast{padding:15px 18px}.toplinks{background:#f3f3ecdf;color:var(--ink);padding:4px 8px;text-shadow:none}.toplinks button,.toplinks>a:not(.selectlink){min-height:44px;display:flex;align-items:center;font-size:10px}.toplinks .selectlink{min-height:44px}.hero{min-height:100svh}.scene img{object-position:50% top}.brandstack{padding-top:max(210px,25svh);width:100%}.brandstack h1{font-size:clamp(78px,21vw,155px)}.brandstack em{font-size:64px}.tagrow{width:92%;margin-top:25px;gap:4px}.tagrow>span{font-size:19px}.tagrow button{font-size:10px}.scrollcue{left:4%;top:80%}.concept,.location,.collection,.arch,.amenities,.related,.estimate{padding-top:60px;padding-bottom:60px}.concept{padding-bottom:0}.locbody,.amenities,.archcopy,.estimate,.contacts{grid-template-columns:1fr}.typologies{grid-template-columns:1fr}.typologies img{aspect-ratio:16/10}.catalogue{padding:245px 18px 50px}.listheading h1,.listheading b{font-size:clamp(54px,13vw,90px)}.filters{gap:4px 12px;padding:8px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.unitcard{padding:15px 8px}.unitcard img{height:130px}.unitcard>div{display:grid}.drawing{padding:235px 20px 44px}.planrow{grid-template-columns:1fr}.planrow aside{border-left:0;border-top:1px solid var(--line);padding:15px 0;display:flex;align-items:center;flex-wrap:wrap;gap:15px}.planrow aside>div{min-width:80px}.contact{padding-top:225px}.contact em{margin-top:18px}.soon{padding-top:180px}.contacts img{max-width:600px;margin:auto}.pintext{left:10%;max-width:80%}footer small{margin:0;width:100%}.selectlink{font-size:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.contacts{align-items:start;margin:5vw auto 3vw}.contacts small{margin:0 0 8px}.contacts p+small{margin-top:18px}.contacts p,.contacts button{font:500 13px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase}.contacts button{min-height:44px;text-decoration:underline}.contactmap{max-width:700px;margin:30px auto}.contactmap svg{display:block;width:100%}.contactmap figcaption{margin-top:12px}body{background:var(--ivory)}@media(min-width:761px){body[data-page=apartments] .toplinks{color:var(--ivory);text-shadow:0 1px 3px var(--ink),0 0 5px var(--ink)}}@media(max-width:760px){.contacts{gap:20px}.contactmap{margin-top:30px}}
@media(min-width:761px){}
@media(max-width:760px){.toplinks{background:transparent;color:inherit;padding:0}.toplinks [data-book],.toplinks>a:not(.selectlink){display:none}.toplinks [data-lang]{padding:0;min-height:44px}.brandstack{padding-top:clamp(132px,18svh,190px)}.tagrow{width:94%;display:grid;grid-template-columns:1fr auto 1fr;gap:7px;margin-top:18px}.tagrow>div{display:flex;align-items:center;gap:3px}.tagrow>span{font-size:16px}.tagrow button{white-space:nowrap}.mast .selectlink{font-size:18px}}
.arrival {
  position: fixed; inset: 0; z-index: 10; display: grid; place-items: center;
  background: var(--plum); color: var(--ivory); text-align: center;
  transition: opacity .45s ease-in-out;
}
.arrival::before { content: ""; position: absolute; inset: clamp(12px, 1.5vw, 28px); border: 1px solid #f3f3ec26; border-radius: 12px; }
.arrival-title { font: 500 clamp(64px, 8vw, 120px)/.82 var(--serif); text-transform: uppercase; letter-spacing: -.065em; transform: scaleX(.7); }
.arrival-title i { display: block; font: normal .65em/.85 Pen, cursive; text-transform: none; letter-spacing: 0; transform: rotate(-11deg); }
.arrival-rule { position: absolute; bottom: 9vh; width: 1px; height: 7vh; background: currentColor; transform-origin: top; animation: arrival-line 1.1s ease-in-out both; }
@keyframes arrival-line { from { transform: scaleY(0); } to { transform: scaleY(1); } }
.arrival.leaving { opacity: 0; }
@media(prefers-reduced-motion:reduce) { .arrival { transition: none; } .arrival-rule { animation: none; } }
/* The first painted frame is the entrance. The page underneath is already laid out. */
html:has(.arrival){overflow:hidden}
.arrival{isolation:isolate;background:radial-gradient(ellipse at 35% 82%,#42142e,var(--plum) 72%)}
.arrival-title{font-size:clamp(45px,5.6vw,100px);width:100%;text-align:center}
.arrival-seal{position:absolute;top:5%;font:40px/1 var(--serif)}
.arrival-small{position:absolute;top:49%;font:500 clamp(9px,1vw,16px)/1 var(--sans);letter-spacing:.55em}
.arrival-small.left{left:15%}.arrival-small.right{right:15%}
.arrival-rule{animation-duration:4s}
.arrival-skip{position:absolute;bottom:3%;right:4%;min-height:44px;font-size:12px}
.arrival svg{position:absolute;width:0;height:0}
.hero-art,.hero-entry{position:absolute;inset:0}
.hero-art{z-index:0}.hero-entry{transform-origin:center top}
.hero-copy,.hero .scrollcue,.hero-action{position:relative;z-index:1}
.hero .scrollcue{position:absolute;pointer-events:none}
.hero-copy{pointer-events:none}.hero-copy button{pointer-events:auto}
.hero .scene{z-index:0}.hero .pins,.hero .pintext{z-index:1}
.hero .brandstack h1{font-size:clamp(64px,9.8vw,180px);transform:scaleX(.62)}
.hero-action{position:absolute;bottom:7%;left:50%;transform:translateX(-50%);color:var(--ink);background:var(--ivory)}
.hero-action:focus-visible{opacity:1!important}
.location-track{position:relative}.location-window{overflow:hidden}.location-slides{display:flex}
.location-panel{flex:0 0 100%;min-width:0;margin:0;display:grid;place-content:center;justify-items:center;gap:20px;padding:4vw var(--edge)}
.location-panel img{width:min(76vw,1000px);height:60svh;object-fit:cover}
@media(prefers-reduced-motion:no-preference){
.hero-track{height:240svh}.hero-track .hero{position:sticky;top:0;min-height:0;height:100svh}
.hero-art{height:max(100svh,90vw)}.hero-action{opacity:0;translate:0 12px}
}
@media(min-width:761px) and (prefers-reduced-motion:no-preference){
.location-track{height:200svh}.location-window{position:sticky;top:0;height:100svh}.location-slides,.location-panel{height:100%}
}
@media(max-width:760px),(prefers-reduced-motion:reduce){.location-slides{display:grid}.location-panel img{width:100%;height:auto}}
@media(max-width:760px){.arrival-small{top:65%}.hero .brandstack h1{font-size:clamp(49px,13.6vw,94px)}.hero-art{height:110svh}.hero .brandstack{width:100%}}
html:lang(hi) .hero .brandstack h1{font-size:clamp(45px,8vw,110px);transform:none}


/* Bougainvillea hangs over the top corners of images and the type above them. */
.courtyard-loop{position:relative;margin-top:50px;overflow:hidden}.courtyard-loop video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.loop-toggle{position:absolute;bottom:18px;right:18px;min-height:44px;padding:12px 20px;border:1px solid #fff8;background:#340c24;color:#fff;border-radius:30px;font:inherit;font-size:14px;cursor:pointer}.loop-toggle[hidden]{display:none}@media(prefers-reduced-motion:reduce){.bloom{animation:none!important}}
.framed{position:relative;display:block}
.bloom{position:absolute;z-index:2;pointer-events:none;top:clamp(-260px,-14vw,-90px);width:clamp(220px,30vw,560px);height:auto;max-width:none;transform-origin:50% 0;animation:bloom-sway 9s ease-in-out infinite alternate}
.bloom.left{left:-3vw}.bloom.right{right:-3vw;scale:-1 1}
.endplate>.bloom,.catalogue>.bloom{top:0}.soon>.bloom{top:0}
.endplate{overflow:hidden}
@keyframes bloom-sway{from{rotate:-1.2deg}to{rotate:1.2deg}}
@media(max-width:760px){.bloom{width:46vw;top:-70px}.endplate>.bloom,.catalogue>.bloom,.soon>.bloom{top:0}}
.location figure img.bloom,.endplate>img.bloom,.arch .framed>img.bloom{width:clamp(220px,30vw,560px);height:auto;max-height:none;opacity:1;margin:0;object-fit:fill}@media(max-width:760px){.location figure img.bloom,.endplate>img.bloom,.arch .framed>img.bloom{width:46vw}}
.bloom{-webkit-mask-image:linear-gradient(transparent,#000 14%);mask-image:linear-gradient(transparent,#000 14%)}@media(max-width:760px){.concept p{margin-bottom:44px}.framed>.bloom{top:-30px;width:38vw}}

/* Editorial sequence: original media, spatial transitions and alpha flower overlays. */
:root{--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}
html{scrollbar-gutter:stable}body{overflow-x:clip}button,a{ -webkit-tap-highlight-color:transparent }
.mast{position:fixed;z-index:8}.toplinks button,.toplinks>a:not(.selectlink){min-height:44px;font-size:12px;padding:8px 0}.toplinks{gap:0}.seal{min-width:60px;min-height:60px}
body[data-page=home] .mast{color:var(--ivory);mix-blend-mode:difference;text-shadow:none}body[data-page=apartments] .toplinks{color:var(--ink);text-shadow:none}
.editorial-home{overflow:clip}.editorial-home h2,.editorial-home h3{letter-spacing:-.065em}.editorial-home p{max-width:44ch}
.hero-track{height:340svh}.hero-track .hero{height:100svh;position:sticky;top:0}.hero-art{height:112svh}.hero .scene img{object-position:center}.hero .scene:after{background:linear-gradient(#17233b55,transparent 75%)}
.hero-copy{padding-top:2vh}.hero .brandstack h1{font-size:clamp(64px,10vw,180px);transform:scaleX(.67);line-height:.88}.hero .brandstack em{font-size:clamp(60px,8vw,130px)}.hero-action{bottom:10%;left:auto;right:8%;transform:none;color:var(--ivory);background:transparent!important}
.circle-link{display:flex;flex-direction:column;align-items:center;justify-content:center;width:clamp(120px,13vw,190px);height:clamp(120px,13vw,190px);border:1px solid currentColor;border-radius:50%;padding:25px;gap:12px;text-align:center;font:500 12px/1.4 var(--sans);text-transform:uppercase;transition:background .25s,color .25s}.circle-link:hover{text-decoration:none;background:var(--ink);color:var(--ivory)}
.arch-transition{position:relative;height:180svh;margin-top:-90svh;z-index:2;pointer-events:none}.transition-screen{height:100svh;position:sticky;top:0;display:grid;place-items:center;overflow:hidden}.arch-wipe{position:absolute;bottom:-20svh;width:100vw;height:140svh;border-radius:50% 50% 0 0;background:var(--ivory);transform-origin:50% 100%}.transition-copy{position:relative;text-align:center;padding:80px var(--edge);width:100%}.transition-copy h2{font-size:clamp(52px,8vw,140px);line-height:.87;margin:25px 0}.transition-copy em{font-size:clamp(60px,9vw,150px);margin-top:-8px}.transition-copy p{margin:35px auto 0;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.benefit-slider{position:relative;min-height:85svh;display:grid;grid-template-columns:70px 1fr 1.1fr;gap:5vw;align-items:center;padding:9vw 10vw;background:var(--ivory);z-index:2}.number-nav{display:flex;gap:12px;align-items:center}.number-nav button{min-width:44px;min-height:44px;border:1px solid transparent;border-radius:50%;font-size:13px}.number-nav button[aria-pressed=true]{border-color:currentColor}.benefit-slider>.number-nav{flex-direction:column}.benefit-copy h3{font-size:clamp(32px,4.5vw,72px);margin-bottom:25px}.benefit-copy p{font-size:16px}.benefit-image{overflow:hidden}.benefit-image img{width:100%;height:60svh;object-fit:cover}
.statement{position:relative;background:var(--ivory);padding:15vw 16vw;text-align:center;overflow:hidden}.statement h3{font-size:clamp(30px,3.8vw,65px);line-height:1.08}.statement small{display:block;margin-top:40px}.statement>small:first-child{margin:0 0 45px}.floret{display:block;font-size:50px;margin:40px auto 0}
.story-track{height:400svh;position:relative;background:var(--ivory)}.story-window{position:sticky;top:0;height:100svh;overflow:hidden}.story-slides{display:flex;width:max-content;height:100%}.story-panel{width:100vw;flex:0 0 100vw;height:100svh;position:relative;padding:8vh 8vw;overflow:hidden}.story-concept{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:40px}.story-concept h3{font-size:clamp(30px,3.8vw,66px);line-height:1.02;max-width:1000px;position:relative;z-index:2}.story-concept p{max-width:34ch;font-size:14px;position:relative;z-index:2}.story-concept .floret{margin:0}.story-location{display:grid;grid-template-columns:.8fr 1.2fr .95fr;gap:25px;align-items:center;padding:6vh 6vw}.story-title{z-index:3;position:relative}.story-title h2{font-size:clamp(55px,8.2vw,140px);width:140%;line-height:.88;margin-top:40px}.story-location figure{height:88svh}.story-location figure img{height:100%;width:100%;object-fit:cover}.story-description{display:flex;height:100%;flex-direction:column;justify-content:flex-end;gap:24px;padding-bottom:2vh}.story-description .circle-link{margin:auto 0 auto auto}.story-description h3{font-size:clamp(25px,2.8vw,48px)}.story-description p{font-size:14px}.story-route{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.story-route h2{font-size:clamp(45px,5.8vw,98px);max-width:72vw}.story-route em{margin:0 0 10px;font-size:clamp(65px,9vw,150px);position:relative;z-index:2}.story-route h3{font-size:clamp(40px,5vw,80px)}.route-drawing{width:88%;position:relative;margin:7vh auto 2vh}.route-drawing svg{width:100%;height:auto}.route-drawing>div{position:absolute;top:0;left:0;width:100%;display:flex;justify-content:space-between;gap:12px;font-size:12px;text-transform:uppercase}.story-controls{position:absolute;bottom:20px;right:25px;display:flex;align-items:center;gap:15px;font-size:12px}.story-controls button{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:50%}
.location-cover{height:115svh;position:relative;color:var(--ivory);overflow:hidden}.location-cover>img{width:100%;height:100%;object-fit:cover}.location-cover:after,.closing-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(#17233b20,#17233b70);pointer-events:none}.location-cover>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:30px;z-index:1}.location-cover h2{font-size:clamp(65px,11vw,190px)}.location-cover em{font-size:clamp(60px,7vw,120px)}
.residence-slider{min-height:100svh;padding:8vw 10vw;display:grid;grid-template-columns:1.15fr 1fr;gap:8vw;align-items:center}.residence-visual{overflow:hidden}.residence-visual img{height:70svh;width:100%;object-fit:cover}.residence-info h2{font-size:clamp(44px,5.5vw,90px);margin:30px 0}.residence-stats{display:flex;gap:35px;margin:30px 0}.residence-stats strong{font:clamp(22px,2.6vw,40px)/1.1 var(--serif);display:block;margin-top:12px}.residence-info p{margin-bottom:30px}.residence-info .number-nav{margin-top:35px}.residence-statement{padding-top:10vw;padding-bottom:10vw}
.immersive-amenities{height:125svh;min-height:720px;position:relative;padding:10vh 10vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:35px;background:var(--ink);color:var(--ivory);isolation:isolate;overflow:hidden}.amenity-images{position:absolute;inset:0;z-index:-2}.immersive-amenities .amenity-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s var(--ease-out)}.immersive-amenities .amenity-image.active{opacity:1}.immersive-amenities:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#17233bc9,#17233b18);z-index:-1}.amenity-content{max-width:530px}.amenity-content h2{font-size:clamp(48px,6vw,100px);margin:25px 0}.amenity-content p{margin-bottom:25px}.immersive-amenities .amenav{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin:0}.amenav button{display:flex;gap:20px;align-items:center;min-height:44px;font-size:15px;opacity:.72}.amenav button[aria-pressed=true]{opacity:1}.amenav button span{font-size:11px}.interior-intro{margin-top:-70svh;height:160svh}.interior-intro h2{font-size:clamp(70px,10vw,170px);line-height:.78}.interior-intro em{font-size:clamp(85px,12vw,190px)}
.interior-editorial{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:12vw;padding:7vw 10vw 12vw;background:var(--ivory);z-index:2}.interior-left,.interior-right{position:relative;min-width:0}.interior-left figure img{width:100%;height:80svh;object-fit:cover}.interior-left small{display:block;margin:25px 0}.interior-left h3{font-size:clamp(34px,4vw,70px)}.interior-right{padding-top:13vh}.interior-right p{margin-bottom:35px}.interior-right .circle-link{margin:0 0 60px auto}.interior-right figure img{height:65svh;width:100%;object-fit:cover}.interior-right small{display:block;margin-top:22px}
.architecture-track{height:300svh;background:var(--ivory)}.architecture-screen{position:sticky;top:0;height:100svh;overflow:hidden}.architecture-full,.architecture-gate{position:absolute;inset:0}.architecture-full>img{width:100%;height:100%;object-fit:cover}.architecture-full:after{content:'';position:absolute;inset:0;background:#17233b45}.architecture-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:35px;text-align:center;padding:8vw;color:var(--ivory);z-index:1}.architecture-copy h2{font-size:clamp(52px,8vw,140px)}.architecture-copy h3{font-size:clamp(25px,3vw,50px);line-height:1.1}.architecture-gate{background:var(--ivory)}.gate-panel{position:absolute;width:28vw;height:64svh;top:15svh;overflow:hidden}.gate-panel img{width:100%;height:100%;object-fit:cover}.gate-left{left:21vw;transform:translateY(6vh)}.gate-right{right:21vw;transform:translateY(-6vh)}
.project-notes{padding:9vw 16vw;position:relative;z-index:2;background:var(--ivory)}.project-notes>small{display:block;text-align:center;margin-bottom:65px}.project-notes details{border-top:1px solid var(--line)}.project-notes details:last-child{border-bottom:1px solid var(--line)}.project-notes summary{list-style:none;display:flex;align-items:center;gap:30px;cursor:pointer;padding:28px 0;min-height:80px}.project-notes summary::-webkit-details-marker{display:none}.project-notes summary>span{font-size:12px}.project-notes h3{font-size:clamp(28px,3.3vw,56px)}.project-notes .plus{margin-left:auto;font-size:28px;transition:transform .25s var(--ease-out)}.project-notes details[open] .plus{transform:rotate(45deg)}.project-notes details p{margin:0 0 30px 50px;font-size:16px}
.closing-scene{height:120svh;position:relative;overflow:hidden;color:var(--ivory)}.closing-scene>img{height:100%;width:100%;object-fit:cover}.closing-scene>div{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;text-align:center;padding:5vw}.closing-scene h2{font-size:clamp(65px,9vw,160px)}.closing-scene p{font-size:14px}.closing-scene em{font-size:clamp(48px,7vw,110px)}footer{position:relative;min-height:40svh;background:var(--ink);padding:8vh 8vw;z-index:2}footer button,footer a{min-height:44px;display:flex;align-items:center}
.bloom{width:min(43vw,700px);height:auto;aspect-ratio:1;top:-8vw;animation:none;mask-image:none;-webkit-mask-image:none;display:block;overflow:visible}.bloom img,.bloom video{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;margin:0!important}.bloom video{opacity:0;transition:opacity .18s linear}.bloom video.ready{opacity:1}.bloom.left{left:-4vw;scale:1}.bloom.right{right:-4vw;scale:1}.story-concept>.bloom{top:-5vw}.story-location>.bloom{top:auto;bottom:-15vw;right:-4vw;rotate:12deg}.story-route>.bloom{top:-9vw;right:-9vw}.residence-statement>.bloom{top:-15vw;left:-9vw}.interior-left>.bloom{top:-12vw;left:-13vw;width:40vw}.architecture-gate>.bloom.left{top:auto;bottom:-8vw;left:-10vw;rotate:-20deg}.architecture-gate>.bloom.right{top:0;right:-12vw;rotate:20deg}.catalogue>.bloom{top:-3vw;right:-4vw;width:36vw}.motion-toggle{position:fixed;z-index:9;left:20px;bottom:20px;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:30px;background:var(--ivory);color:var(--ink);font-size:12px}.motion-toggle[hidden]{display:none}
dialog{border:0;box-shadow:0 15px 70px #17233b33}dialog[open]{animation:dialog-in .25s var(--ease-out)}@keyframes dialog-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}#booking{width:min(600px,94vw);padding:55px}#booking h2{font-size:72px}#plan-viewer{width:94vw;max-width:1300px;height:90svh;padding:50px 25px}#plan-viewer img{width:100%;height:100%;object-fit:contain}.plan{cursor:zoom-in}.drawing{padding-top:55px;min-height:100svh}.drawing h1{font-size:90px}.planrow{margin-top:50px}.cards{gap:0}.unitcard{padding:35px 22px}.unitcard img{height:250px}.unitcard>small{font-size:12px}.unitcard>span,.filters label{font-size:12px}
@media(hover:hover) and (pointer:fine){.unitcard img{transition:transform .28s var(--ease-out)}.unitcard:hover img{transform:scale(1.035)}}
@media(max-width:760px),(hover:none){
 .hero-track{height:220svh}.hero .brandstack h1{font-size:clamp(58px,14vw,100px);transform:scaleX(.8)}.hero .brandstack{padding-top:21svh}.hero .brandstack em{font-size:70px}.hero .tagrow{margin-top:28px}.hero .hero-action{right:8%;bottom:10%;width:130px;height:130px}.hero-art{height:108svh}
 .arch-transition{height:140svh;margin-top:-50svh}.arch-wipe{width:140vw;height:130svh}.transition-copy h2{font-size:clamp(44px,11vw,76px)}.transition-copy em{font-size:70px}.transition-copy{padding:120px 22px 70px}.benefit-slider{grid-template-columns:1fr;gap:30px;padding:60px 24px}.benefit-slider>.number-nav{flex-direction:row}.benefit-image img{height:50svh}.statement{padding:100px 24px}.statement h3{font-size:29px;line-height:1.15}
 .story-track{height:auto}.story-window{height:auto;position:relative;overflow:hidden}.story-slides{display:block;width:100%;height:auto;transform:none!important}.story-panel{width:100%;height:auto;min-height:90svh;padding:100px 24px}.story-concept{gap:30px}.story-concept h3{font-size:30px;line-height:1.12}.story-location{display:grid;grid-template-columns:1fr;gap:35px}.story-title h2{width:100%;font-size:65px;line-height:.9;margin-top:20px}.story-location figure{height:65svh}.story-description{gap:25px;padding:0}.story-description .circle-link{margin:0 0 10px auto}.story-route h2{font-size:42px;max-width:100%}.story-route em{font-size:85px}.route-drawing{width:100%;margin-top:70px}.route-drawing>div{font-size:10px;gap:5px}.story-controls{display:none}
 .location-cover{height:85svh}.location-cover h2{font-size:60px}.location-cover>div{padding:24px}.location-cover em{font-size:58px}.residence-slider{grid-template-columns:1fr;padding:70px 24px;gap:40px}.residence-visual img{height:55svh}.residence-info h2{font-size:50px}.residence-stats strong{font-size:24px}.residence-statement{padding:100px 24px}.immersive-amenities{height:120svh;min-height:800px;padding:120px 24px 80px;gap:30px}.amenity-content h2{font-size:52px}.amenity-content p{max-width:35ch}.amenity-content{max-width:100%}.interior-intro{height:130svh;margin-top:-50svh}.interior-intro h2{font-size:90px}.interior-intro em{font-size:90px}.interior-editorial{grid-template-columns:1fr;gap:55px;padding:50px 24px 80px}.interior-left figure img{height:60svh}.interior-left h3{font-size:40px}.interior-right{padding:0}.interior-right figure img{height:50svh}.architecture-track{height:100svh}.architecture-gate{display:none}.architecture-copy{padding:100px 24px;gap:30px}.architecture-copy h2{font-size:clamp(36px,10vw,66px)}.architecture-copy h3{font-size:28px}.project-notes{padding:75px 24px}.project-notes summary{gap:16px}.project-notes h3{font-size:30px}.project-notes details p{margin-left:0}.closing-scene{height:100svh}.closing-scene h2{font-size:60px}.closing-scene em{font-size:50px}.closing-scene>div{padding:100px 24px 60px}.bloom{width:65vw;top:-12vw}.story-concept>.bloom{top:-15vw;left:-15vw}.story-location>.bloom{bottom:25%;right:-27vw;width:75vw}.story-route>.bloom{top:-12vw;right:-30vw}.residence-statement>.bloom{left:-25vw;top:-25vw}.interior-left>.bloom{width:65vw;top:-25vw;left:-20vw}.catalogue>.bloom{width:70vw;right:-22vw;top:-4vw}.motion-toggle{left:10px;bottom:10px;font-size:12px;padding:8px 12px}.drawing{padding:200px 24px 55px}.drawing h1{font-size:70px}.unitcard{padding:24px 12px}.unitcard img{height:170px}.catalogue{padding-top:215px}#booking{padding:50px 24px}#booking h2{font-size:54px}
}
@media(prefers-reduced-motion:reduce){
 .hero-track{height:100svh}.hero-action{opacity:1!important}.arch-transition{height:auto;margin:0;background:var(--ivory)}.transition-screen{height:auto;min-height:80svh;position:relative}.arch-wipe{display:none}.story-track{height:auto}.story-window{position:relative;height:auto}.story-slides{display:block;width:100%;transform:none!important}.story-panel{height:auto;min-height:100svh;width:100%}.story-controls{display:none}.architecture-track{height:100svh}.architecture-gate{display:none}.bloom video{display:none}.interior-right{transform:none!important}.motion-toggle{display:none}
}
.bloom:has(video.ready)>img{opacity:0}.story-location>.bloom{right:auto;left:-15vw;bottom:-22vw;width:43vw;rotate:0}.story-title h2{width:180%;transform:scaleX(.72);transform-origin:left}.mast{transition:color .25s linear}body[data-page=home] .mast{mix-blend-mode:normal;color:var(--ink)}body[data-page=home] .mast.on-photo{color:var(--ivory);text-shadow:0 1px 6px #17233b80}.page-curtain{position:fixed;inset:0;background:var(--ink);z-index:30;transform:translateY(100%);pointer-events:none}
@media(max-width:760px),(hover:none){.story-title h2{width:135%;font-size:65px;transform:scaleX(.74)}.story-location>.bloom{left:auto;right:-28vw;bottom:39%;width:70vw}.story-description{position:relative;z-index:3}.bloom:has(video.ready)>img{opacity:0}}
@media(prefers-reduced-motion:reduce){.bloom:has(video.ready)>img{opacity:1}}
.architecture-gate>.bloom.left{rotate:180deg;left:-12vw;bottom:-15vw;top:auto;width:48vw}.architecture-gate>.bloom.right{rotate:0deg;scale:-1 1;right:-8vw;top:-8vw;width:46vw}
footer{display:block;padding:65px 8vw 35px}.footer-inner{display:grid;grid-template-columns:.6fr 1.4fr 1fr;gap:5vw;align-items:start}.footer-inner small{display:block;margin:0 0 18px}.footer-call{font:clamp(32px,5vw,75px)/1 var(--serif);text-transform:uppercase;text-align:left}.footer-inner p{font-size:16px}.footer-word{font:clamp(60px,10.5vw,180px)/.9 var(--serif);text-transform:uppercase;letter-spacing:-.065em;text-align:center;margin:90px -4vw 45px}.footer-note{display:block!important;font-size:12px!important;text-align:center;margin:0!important}.page-progress{position:fixed;left:6.4vw;top:32vh;z-index:7;display:flex;flex-direction:column;align-items:center;gap:20px;color:var(--ink);font-size:12px;pointer-events:none}.page-progress>span{width:1px;height:9vh;background:currentColor;opacity:.2}.page-progress>small{writing-mode:vertical-rl;font-size:10px}.page-progress.on-photo{color:var(--ivory)}
@media(max-width:760px),(hover:none){.page-progress{display:none}.footer-inner{grid-template-columns:1fr 1fr;gap:30px}.footer-inner>button{grid-column:1/-1}.footer-call{font-size:32px}.footer-word{font-size:60px;margin:60px 0 35px}.footer-inner small{font-size:12px}.footer-inner p{font-size:14px}}
@media(max-width:760px),(hover:none){.footer-word{font-size:clamp(30px,10vw,60px)}}
/* Only the circular lettering rotates; the central mark remains fixed. */
@media (prefers-reduced-motion:no-preference){
 .seal svg>text{transform-box:view-box;transform-origin:50% 50%;animation:seal-lettering-turn 24s linear infinite}
}
@keyframes seal-lettering-turn{to{transform:rotate(360deg)}}
