:root{--green:#c46f2a;--deep:#3b342d;--forest:#4a4239;--sage:#a99d8d;--cream:#f1ece4;--paper:#fbf9f6;--plan:#ffffff;--gold:#e0873a;--gold-l:#f4b97c;--ink:#25211c;--muted:#6a6258;--line:#e5ddd1;--wa:#25d366;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Jost',system-ui,sans-serif;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:var(--sans);font-size:16.5px;line-height:1.7;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}a{color:inherit}
.wrap{width:min(1200px,calc(100% - 48px));margin:auto}
.eyebrow{display:inline-block;font-size:12px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08}
h2{font-size:clamp(38px,4.8vw,62px);margin:14px 0 18px}h3{font-size:28px}
.lead{font-size:18px;color:var(--muted);max-width:640px}
section{padding:clamp(80px,11vw,140px) 0}
.cap{font-size:12px;color:var(--muted);margin-top:10px}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 30px;font:500 14px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .3s,color .3s,transform .3s,box-shadow .3s;position:relative;overflow:hidden}
.btn svg{width:18px;height:18px}
.btn:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s var(--ease)}
.btn:hover:after{transform:translateX(120%)}.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover{background:#b3632a;box-shadow:0 12px 28px -12px rgba(190,110,45,.7)}
.btn-dark{background:var(--deep);color:#fff}.btn-dark:hover{background:var(--green)}
.btn-ghost{border-color:rgba(255,255,255,.7);color:#fff}.btn-ghost:hover{background:#fff;color:var(--deep)}
.btn-line{border-color:currentColor;color:#fff}.btn-line.dark{color:var(--deep)}.btn-line.dark:hover{background:var(--deep);color:#fff}
.btn-wa{background:var(--wa);color:#fff}
.cta{display:flex;gap:14px;flex-wrap:wrap}
/* header */
.hdr{position:fixed;top:0;left:0;right:0;z-index:80;transition:background .4s,box-shadow .4s,transform .4s}
.hdr .nav{display:flex;align-items:center;justify-content:space-between;height:84px;transition:height .4s}
.hdr.solid,.hdr.scrolled{background:rgba(251,250,246,.96);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.hdr.scrolled .nav{height:70px}
.logo{display:block;line-height:1;text-align:center}.logo b{display:block;font-family:var(--serif);font-size:30px;font-weight:500;letter-spacing:.32em;margin-right:-.32em}
.logo small{display:block;font-size:9px;letter-spacing:.46em;margin-top:4px;margin-right:-.46em}
.brand{text-decoration:none;color:#fff;transition:color .4s}.hdr.solid .brand,.hdr.scrolled .brand{color:var(--green)}
.links{display:flex;align-items:center;gap:30px;font-size:14px;letter-spacing:.08em}
.links a{text-decoration:none;color:#fff;position:relative;transition:color .3s}
.links a:not(.btn):after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.links a:not(.btn):hover:after{transform:scaleX(1)}
.hdr.solid .links a:not(.btn),.hdr.scrolled .links a:not(.btn){color:#3f3831}
.links .btn{padding:12px 22px;font-size:12.5px;color:#fff}
.burger{display:none;width:44px;height:44px;background:none;border:0;cursor:pointer;position:relative}
.burger span{position:absolute;left:10px;right:10px;height:1.5px;background:#fff;transition:.3s}.burger span:first-child{top:17px}.burger span:last-child{top:26px}
.hdr.solid .burger span,.hdr.scrolled .burger span,.menu-open .burger span{background:var(--deep)}
.menu-open .burger span:first-child{top:21px;transform:rotate(45deg)}.menu-open .burger span:last-child{top:21px;transform:rotate(-45deg)}
/* hero */
.hero{position:relative;height:100svh;min-height:640px;color:#fff;padding:0;display:flex;flex-direction:column;justify-content:center;overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-2}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:62% 60%;animation:kb 22s ease-out both}
@keyframes kb{from{transform:scale(1.14)}to{transform:scale(1)}}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(40,34,28,.82) 0%,rgba(40,34,28,.5) 45%,rgba(40,34,28,.08) 78%),linear-gradient(0deg,rgba(40,34,28,.75),transparent 40%),linear-gradient(180deg,rgba(40,34,28,.5),transparent 22%)}
.hero-in{padding-top:40px}
.hero .eyebrow{color:var(--gold-l)}
.hero h1{font-size:clamp(52px,7.6vw,110px);margin:16px 0 4px;letter-spacing:.005em}
.tagline{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.4vw,32px);color:#f6e2cc}
.hero .sub{font-size:18px;max-width:540px;margin:16px 0 32px;color:#efe9e0}
.h-a{opacity:0;transform:translateY(28px);animation:up 1.1s var(--ease) forwards;animation-delay:calc(var(--d,0ms) + 250ms)}
@keyframes up{to{opacity:1;transform:none}}
.hstats{position:absolute;left:0;right:0;bottom:56px;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.25);padding-top:22px}
.hstats li{padding-right:20px}.hstats b{display:block;font-family:var(--serif);font-size:38px;font-weight:500;line-height:1}.hstats span{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-l)}
.scroll{position:absolute;right:28px;bottom:150px;writing-mode:vertical-rl;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#fff;text-decoration:none;display:flex;align-items:center;gap:12px}
.scroll span{width:1px;height:56px;background:rgba(255,255,255,.35);position:relative;overflow:hidden}
.scroll span:after{content:"";position:absolute;left:0;top:-30%;width:1px;height:30%;background:#fff;animation:drip 2s ease-in-out infinite}
@keyframes drip{to{top:110%}}
.hero .ai{position:absolute;right:16px;bottom:10px;font-size:11px;color:#ffffffa0}
/* reveal */
.rv{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0ms)}
.rv.in{opacity:1;transform:none}
.img-reveal{overflow:hidden;transform:translateY(40px)}
.img-reveal img{transform:scale(1.15);transition:transform 1.8s var(--ease)}
.img-reveal.in img{transform:scale(1)}
/* intro */
.intro{text-align:center}.intro h2{max-width:820px;margin-left:auto;margin-right:auto}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:56px;text-align:left}
.trio>div{border-top:1px solid var(--line);padding-top:26px;position:relative}
.trio>div:before{content:"";position:absolute;top:-1px;left:0;height:1px;width:0;background:var(--gold);transition:width 1.2s var(--ease) .3s}.trio>div.in:before{width:100%}
.num{font-family:var(--serif);font-size:15px;color:var(--gold);letter-spacing:.2em}.trio h3{font-size:34px;margin:6px 0 10px}.trio p{color:var(--muted)}
/* split */
.split-sec{background:var(--cream)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,96px);align-items:center}
.split figure img{width:100%}
.ticks{list-style:none;margin-top:28px;display:grid;gap:14px}.ticks li{padding-left:34px;position:relative}.ticks li:before{content:"";position:absolute;left:0;top:13px;width:20px;height:1px;background:var(--gold)}
/* pillars */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:48px}
.zoomwrap{overflow:hidden}.zoomwrap img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1.2s var(--ease)}
.pgrid figure:hover img{transform:scale(1.08)}
.pgrid h3{font-size:19px;letter-spacing:.2em;text-transform:uppercase;margin:20px 0 6px}.pgrid p{font-size:15px;color:var(--muted)}
/* band */
.band{position:relative;color:#fff;padding:0;min-height:620px;display:flex;align-items:center;overflow:hidden;isolation:isolate}
.band-bg{position:absolute;inset:-12% 0;z-index:-2;will-change:transform}.band-bg img{width:100%;height:100%;object-fit:cover}
.band:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(40,34,28,0) 20%,rgba(40,34,28,.9) 60%)}
.band .wrap{display:flex;justify-content:flex-end}.band-box{max-width:470px;padding:70px 0}.band .eyebrow{color:var(--gold-l)}.band p{color:#efe9e0}
/* residences */
.res-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}
.arrows{display:flex;gap:10px}.arrows button{width:56px;height:56px;border:1px solid var(--line);background:#fff;border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:.3s}
.arrows button:hover{background:var(--deep);color:#fff;border-color:var(--deep)}.arrows svg{width:22px;height:22px}
.track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;margin-top:44px;padding-bottom:18px;scrollbar-width:thin;scroll-behavior:smooth}
.slide{scroll-snap-align:start;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s}
.slide:hover{transform:translateY(-6px);box-shadow:0 24px 40px -24px rgba(55,47,38,.35)}
.slide button{all:unset;cursor:zoom-in;display:block;aspect-ratio:1/1;background:var(--plan);overflow:hidden}
.slide button img{width:100%;height:100%;object-fit:contain;transition:transform .7s var(--ease)}.slide button:hover img{transform:scale(1.04)}
.slide figcaption{padding:22px 24px 26px}.slide h3{font-size:34px;margin:4px 0 6px}.slide .sz{font-weight:500}.slide .sz span{color:var(--muted);font-weight:400}.slide figcaption p:last-child{font-size:14.5px;color:var(--muted)}
.slide.park{background:var(--green);color:#fff;justify-content:center;padding:40px 30px}.slide.park h3{font-size:48px}.slide.park p{color:#ece5da}.slide.park .btn{margin-top:26px}.slide.park .eyebrow{color:var(--gold-l)}
.living{margin-top:clamp(56px,8vw,110px)}
/* facilities */
.fac{background:var(--cream)}
.gal{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(150px,17vw,250px);gap:14px;margin-top:48px}
.gal figure{position:relative;overflow:hidden;margin:0;background:#ddd}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}.gal figure:hover img{transform:scale(1.07)}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 14px;color:#fff;font-family:var(--serif);font-size:22px;background:linear-gradient(transparent,rgba(40,34,28,.72));transform:translateY(6px);transition:transform .5s var(--ease)}
.gal figure:hover figcaption{transform:none}
.g1{grid-column:span 4;grid-row:span 2}.g2{grid-column:span 2;grid-row:span 2}.g3{grid-column:span 2}
.fac-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,70px);margin-top:clamp(56px,8vw,96px);align-items:start}
.zoom{all:unset;cursor:zoom-in;display:block;background:var(--plan);border:1px solid var(--line);transition:box-shadow .4s}.zoom:hover{box-shadow:0 20px 40px -24px rgba(55,47,38,.35)}
.levels div{padding:18px 0;border-bottom:1px solid var(--line)}.levels div:first-child{border-top:1px solid var(--line)}
.levels b{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:500}.levels p{font-size:15.5px;color:#4b443b;margin-top:4px}
.legend{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px}
.lg b{display:block;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.lg ol{list-style:none;display:grid;gap:5px}.lg li{display:flex;gap:10px;font-size:14.5px;color:#4b443b;line-height:1.45}
.lg li span{flex:none;width:22px;height:22px;border-radius:50%;background:#e0873a;color:#fff;font-size:11px;display:grid;place-items:center;margin-top:-1px}
.fac-wrap .zoom img{width:100%}
/* location */
.loc .map{max-width:1000px;margin:48px auto 0;display:block;border:0;box-shadow:0 0 0 1px var(--line)}.loc .map img{width:100%}
.conn{display:grid;grid-template-columns:repeat(4,1fr);margin-top:44px;border-top:1px solid var(--line)}
.conn div{padding:24px 20px 24px 0}.conn b{font-family:var(--serif);font-size:25px;font-weight:500;display:block}.conn p{font-size:14.5px;color:var(--muted)}
.kstats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:56px;text-align:center;background:var(--cream);padding:40px 20px}
.kstats b{font-family:var(--serif);font-size:52px;font-weight:500;color:var(--green);display:block;line-height:1}.kstats span{font-size:13px;color:var(--muted);letter-spacing:.06em}
.kstats b span{font:inherit;color:inherit;letter-spacing:0;display:inline}
/* pricing */
.pricing{background:var(--deep);color:#fff;position:relative;overflow:hidden}.pricing .eyebrow{color:var(--gold-l)}
.pricing:before{content:"";position:absolute;right:-180px;top:-180px;width:520px;height:520px;border:1px solid rgba(216,200,151,.18);border-radius:50%}
.ptable{margin-top:36px;border-top:1px solid #ffffff26}
.prow{display:grid;grid-template-columns:1.1fr 1.2fr 1.4fr;gap:20px;padding:24px 4px;border-bottom:1px solid #ffffff26;align-items:baseline;transition:background .3s,padding .3s}
.prow:hover{background:rgba(255,255,255,.04);padding-left:14px}
.prow span:nth-child(2){color:#c9bcab;font-size:15px}.prow b{font-family:var(--serif);font-size:28px;font-weight:500;text-align:right}
.pnote{font-size:13px;color:#c0b19d;margin:18px 0 30px}.pnote a{color:#fff}
/* gallery */
.gallery-sec address{font-style:normal;font-size:18px;line-height:1.75;margin:18px 0 28px}.gallery-sec address b{font-weight:500}
.pextra{display:grid;grid-template-columns:auto auto 1fr;gap:36px;margin-top:28px;padding:24px 0;border-bottom:1px solid #ffffff26;align-items:start}
.pextra b{display:block;font-family:var(--serif);font-size:34px;font-weight:500;line-height:1}.pextra span{font-size:12.5px;color:#c9bcab;letter-spacing:.04em}
.pextra .banks span{display:block;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-l);margin-bottom:6px}.pextra .banks p{font-size:15px;color:#ece5da}
.film{padding-bottom:0}.vid{margin-top:36px}
.vid button{all:unset;cursor:pointer;display:block;position:relative;aspect-ratio:16/9;width:100%;background:#000;overflow:hidden}
.vid img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),opacity .4s}.vid button:hover img{transform:scale(1.03);opacity:.9}
.vid iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
.pbtn{position:absolute;left:50%;top:50%;width:88px;height:88px;margin:-44px 0 0 -44px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--deep);display:grid;place-items:center;transition:transform .4s var(--ease)}
.pbtn svg{width:34px;height:34px;margin-left:4px}.vid button:hover .pbtn{transform:scale(1.08)}
.vid button:after{content:"";position:absolute;left:50%;top:50%;width:88px;height:88px;margin:-44px 0 0 -44px;border-radius:50%;border:1px solid rgba(255,255,255,.7);animation:ring 2.4s ease-out infinite}
@keyframes ring{to{transform:scale(1.7);opacity:0}}
/* faq */
.faq{background:var(--cream)}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,6vw,90px);align-items:start}
.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:24px 50px 24px 0;font-size:18px;font-weight:500;position:relative;transition:color .3s}
.faq summary:hover{color:var(--green)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:before,.faq summary:after{content:"";position:absolute;right:10px;top:50%;width:16px;height:1.5px;background:var(--gold);transition:transform .4s var(--ease)}
.faq summary:after{transform:rotate(90deg)}.faq details[open] summary:after{transform:rotate(0)}
.faq details p{padding:0 0 24px;color:var(--muted);animation:fade .5s var(--ease)}
@keyframes fade{from{opacity:0;transform:translateY(-6px)}}
/* register */
.reg{position:relative;color:#fff;overflow:hidden;isolation:isolate}
.reg-bg{position:absolute;inset:0;z-index:-2}.reg-bg img{width:100%;height:100%;object-fit:cover}
.reg:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(40,34,28,.92),rgba(40,34,28,.78))}
.reg-in{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,6vw,90px);align-items:center}
.reg .eyebrow{color:var(--gold-l)}.reg-copy p{color:#e9e1d6;font-size:18px}
.lead-form{background:var(--paper);color:var(--ink);padding:clamp(28px,4vw,48px);display:grid;gap:18px;box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.lead-form label{display:grid;gap:7px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500}
.lead-form input,.lead-form select{font:400 16px var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);padding:14px 2px;border:0;border-bottom:1px solid #d0c4b3;background:transparent;border-radius:0;outline:0;transition:border-color .3s;width:100%}
.lead-form input:focus,.lead-form select:focus{border-color:var(--gold)}
.lead-form .chk{display:flex;gap:12px;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:13.5px;font-weight:400}.lead-form .chk input{width:18px;height:18px;margin-top:3px;flex:none;accent-color:var(--green)}
.lead-form .btn{width:100%;padding:18px}
.ferr{color:#b3412e;font-size:14px;min-height:0}.ferr:empty{display:none}
.fdone{text-align:center;padding:10px 0}.fdone h3{font-size:34px;margin-bottom:8px}.fdone p{color:var(--muted);margin-bottom:22px}
.lead-form.done>*:not(.fdone){display:none}.lead-form.done .fdone{display:block!important}
/* footer */
footer{background:#2c2722;color:#b3a594;font-size:14px;padding:72px 0 40px}
.fcols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
footer .brand{color:#fff}.ftag{font-family:var(--serif);font-style:italic;font-size:19px;margin-top:20px;color:#e3d9cb}
footer h4{color:#fff;font-weight:500;font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:16px}
.flinks a{display:block;margin-bottom:8px;text-decoration:none;color:#ddd2c4;transition:color .3s}.flinks a:hover{color:var(--gold-l)}
.legal{border-top:1px solid #ffffff1a;margin-top:48px;padding-top:26px;font-size:12px;line-height:1.7}.legal p{margin-bottom:10px}
/* floating */
.wa-float{position:fixed;right:24px;bottom:24px;z-index:70;display:flex;align-items:center;gap:9px;height:52px;padding:0 22px 0 16px;border-radius:999px;background:var(--wa);color:#fff;text-decoration:none;font-size:15px;font-weight:500;letter-spacing:.02em;box-shadow:0 10px 24px -8px rgba(0,0,0,.35);transition:transform .3s,box-shadow .3s}
.wa-float:hover{transform:translateY(-2px);box-shadow:0 14px 28px -8px rgba(0,0,0,.4)}.wa-float svg{width:26px;height:26px}

@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(31,170,89,.5)}70%{box-shadow:0 0 0 18px rgba(31,170,89,0)}100%{box-shadow:0 0 0 0 rgba(31,170,89,0)}}
.mbar{display:none}
/* popup */
dialog{margin:auto}
dialog.pop{border:0;padding:0;width:min(880px,94vw);background:var(--paper);overflow:hidden;display:none;grid-template-columns:1fr 1fr;max-height:92vh}
dialog.pop[open]{display:grid;animation:popin .7s var(--ease)}
@keyframes popin{from{opacity:0;transform:translateY(30px) scale(.97)}}
dialog.pop::backdrop{background:rgba(28,24,20,.7);backdrop-filter:blur(3px)}
.pop-img img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.pop-in{padding:48px 40px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--ink)}
.pop-in .logo{color:var(--green);margin-bottom:10px}.pop-in h2{font-size:36px;margin:0}
.tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:6px 0 10px}.tags span{border:1px solid var(--line);padding:6px 12px;font-size:12.5px;letter-spacing:.06em}
.later{background:none;border:0;color:var(--muted);font:inherit;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
dialog .x{position:absolute;top:10px;right:14px;width:40px;height:40px;border:0;background:rgba(255,255,255,.9);border-radius:50%;font-size:24px;cursor:pointer;z-index:2}
dialog.lb{border:0;padding:0;max-width:min(96vw,1300px);background:transparent}dialog.lb::backdrop{background:rgba(20,17,14,.9)}
dialog.lb img{max-height:86vh;width:auto;margin:auto;background:#fff}dialog.lb p{color:#fff;text-align:center;margin-top:10px;font-size:14px}
dialog.lb button{position:fixed;top:14px;right:18px;background:#fff;border:0;border-radius:50%;width:42px;height:42px;font-size:24px;cursor:pointer}
/* sub pages */
.page{padding:150px 0 90px}.narrow{max-width:860px}.page h1{font-size:clamp(42px,5vw,60px);margin:12px 0 24px}.page h2{font-size:30px;margin:36px 0 10px}
.page p,.page li{color:#4b443b;margin-bottom:12px}.page ul{padding-left:20px}.upd{font-size:13px;color:var(--muted);margin-top:36px}
.dtable{width:100%;border-collapse:collapse;margin:20px 0;font-size:15px}.dtable th,.dtable td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top}.dtable th{font-weight:500;color:var(--muted);width:34%}
.dtable thead th{font-size:12px;letter-spacing:.14em;text-transform:uppercase;width:auto}
/* responsive */
@media(max-width:1020px){
 .links{position:fixed;inset:0 0 auto 0;top:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);padding:90px 28px 30px;transform:translateY(-105%);transition:transform .5s var(--ease);box-shadow:0 20px 40px -20px rgba(0,0,0,.3)}
 .links a:not(.btn){color:var(--ink)!important;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px}.links .btn{margin-top:20px}
 .menu-open .links{transform:none}.burger{display:block;z-index:2}.menu-open .brand{color:var(--green)}
 .pgrid{grid-template-columns:repeat(2,1fr)}.track{grid-auto-columns:calc((100% - 24px)/2)}.conn{grid-template-columns:repeat(2,1fr)}
 .fcols{grid-template-columns:1fr 1fr}.reg-in,.faq-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
 body{font-size:16px}.wrap{width:calc(100% - 40px)}
 .hdr .nav{height:68px}.logo b{font-size:24px}
 .hero{height:auto;min-height:100svh;justify-content:flex-end;padding:120px 0 0}
 .hero-bg img{object-position:70% 50%}
 .hero:after{background:linear-gradient(0deg,rgba(40,34,28,.94) 0%,rgba(40,34,28,.7) 55%,rgba(40,34,28,.25) 100%)}
 .hero .sub{font-size:16.5px}.cta .btn{flex:1 1 100%}
 .hstats{position:static;grid-template-columns:repeat(2,1fr);gap:18px 0;margin:36px auto 0;padding:22px 0 30px}.hstats b{font-size:30px}
 .scroll{display:none}
 .trio{grid-template-columns:1fr;gap:28px}.split,.fac-wrap{grid-template-columns:1fr}
 .pgrid{gap:18px}.pgrid h3{font-size:15px;letter-spacing:.14em}.pgrid p{font-size:14px}
 .band{min-height:auto;display:block;color:var(--ink);padding:0 0 70px}.band-bg{position:relative;inset:auto;height:300px}.band:after{display:none}
 .band .wrap{display:block}.band-box{padding:36px 0 0}.band p{color:var(--muted)}.band .eyebrow{color:var(--gold)}
 .res-head{display:block}.arrows{margin-top:20px}.track{grid-auto-columns:86%;gap:16px}
 .gal{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.g1{grid-column:span 2;grid-row:span 2}.g2{grid-column:span 1;grid-row:span 2}.g3{grid-column:span 1}.g3:last-child{grid-column:span 2}
 .conn{grid-template-columns:1fr}.conn div{padding:18px 0;border-bottom:1px solid var(--line)}
 .kstats{padding:28px 10px}.kstats b{font-size:32px}.kstats span{font-size:11.5px}
 .prow{grid-template-columns:1fr;gap:4px}.prow b{text-align:left;font-size:24px}
 .f2{grid-template-columns:1fr}.legend{grid-template-columns:1fr}.pextra{grid-template-columns:1fr 1fr;gap:20px}.pextra .banks{grid-column:1/-1}.pbtn,.vid button:after{width:64px;height:64px;margin:-32px 0 0 -32px}
 .fcols{grid-template-columns:1fr}footer{padding-bottom:110px}
 .wa-float{display:none}
 .mbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:70;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(0,0,0,.08);padding-bottom:env(safe-area-inset-bottom);transform:translateY(110%);transition:transform .5s var(--ease)}
 .mbar.show{transform:none}
 .mbar a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px 9px;font-size:12px;font-weight:500;text-decoration:none;color:var(--deep)}
 .mbar svg{width:22px;height:22px}.mbar a.w{background:var(--wa);color:#fff}
 dialog.pop{grid-template-columns:1fr}.pop-img{height:170px}.pop-in{padding:30px 24px 32px}.pop-in h2{font-size:30px}
 .page{padding:110px 0 60px}.dtable th{width:40%}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.rv,.h-a{opacity:1;transform:none}.img-reveal{clip-path:none}}
/* ---- Lunar additions ---- */
body{font-size:16.5px}
h1,h2,h3{font-weight:500;letter-spacing:.01em}
h2{font-size:clamp(34px,4.2vw,56px);line-height:1.15}
.logo b{font-family:var(--serif);font-size:30px;letter-spacing:.3em;margin-right:-.3em;font-weight:400}
.logo small{letter-spacing:.62em;margin-right:-.62em}
.hdr.solid .brand,.hdr.scrolled .brand,.pop-in .logo,.menu-open .brand{color:var(--deep)}
.hero-bg picture,.hero-bg picture img{width:100%;height:100%}
.hero-bg img{object-position:50% 62%}
.hero:after{background:linear-gradient(90deg,rgba(40,34,28,.84) 0%,rgba(40,34,28,.48) 48%,rgba(40,34,28,.1) 80%),linear-gradient(0deg,rgba(40,34,28,.8),transparent 42%),linear-gradient(180deg,rgba(40,34,28,.55),transparent 24%)}
.authorised{display:inline-flex;align-items:center;gap:10px;margin-top:26px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#e3d9cb}
.authorised:before{content:"";width:34px;height:1px;background:var(--gold-l)}
/* intro ornaments */
.intro{position:relative;overflow:hidden}
.intro:before{content:"";position:absolute;left:50%;top:-260px;width:520px;height:520px;margin-left:-260px;border-radius:50%;border:1px solid var(--line);opacity:.8}
.intro .wrap{position:relative}
/* principles */
.princ-sec{background:var(--deep);color:#fff;position:relative;overflow:hidden}
.princ-sec .eyebrow{color:var(--gold-l)}.princ-sec .lead{color:#c9bcab}
.princ-sec:before{content:"";position:absolute;right:-220px;bottom:-220px;width:620px;height:620px;border-radius:50%;border:1px solid rgba(226,207,159,.16)}
.princ{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:52px}
.princ figure{background:var(--forest);display:flex;flex-direction:column;transition:transform .6s var(--ease)}
.princ figure:hover{transform:translateY(-8px)}
.princ .zoomwrap img{aspect-ratio:4/3.2}
.princ figcaption{padding:26px 24px 30px;text-align:center}
.kanji{display:block;font-family:var(--serif);font-size:44px;line-height:1.1;color:var(--gold-l);letter-spacing:.1em}
.kana{display:block;font-size:12px;letter-spacing:.3em;color:#ad9e89;margin:4px 0 12px}
.princ h3{font-size:22px;letter-spacing:.06em;margin-bottom:8px}.princ p{font-size:14.5px;color:#cdbfae;line-height:1.65}
/* design concept chips */
.concept{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px}
.concept div{border-top:1px solid var(--line);padding-top:20px}
.concept b{display:block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:6px}
.concept p{font-size:15px;color:var(--muted)}
/* residences */
.track{grid-auto-columns:calc((100% - 24px)/2)}
.slide button{aspect-ratio:1600/922;background:var(--plan)}
.slide figcaption{display:grid;grid-template-columns:1fr auto;gap:4px 20px;align-items:end}
.slide figcaption .tl{grid-column:1/-1;font-family:var(--serif);font-style:italic;color:var(--gold);font-size:17px;margin-top:2px}
.slide .meta{text-align:right;font-size:14px;color:var(--muted);line-height:1.5}
.slide .meta b{display:block;font-weight:500;color:var(--ink);font-size:15px}
.furnish{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 28px;list-style:none;margin-top:26px}
.furnish li{padding-left:28px;position:relative;font-size:15.5px}
.furnish li:before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:inset -3px -1px 0 var(--paper)}
/* facility gallery */
.gal{grid-auto-flow:dense}
.g4{grid-column:span 3}
/* level tabs */
.levels-ui{margin-top:clamp(56px,8vw,96px)}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 28px}
.tabs button{font:500 13px var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:12px 20px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:.3s}
.tabs button:hover{border-color:var(--gold)}
.tabs button[aria-selected=true]{background:var(--deep);border-color:var(--deep);color:#fff}
.tabs small{display:block;font-size:10.5px;letter-spacing:.1em;text-transform:none;opacity:.7;font-weight:400;margin-top:2px}
.panel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,4vw,60px);align-items:start;animation:fade .6s var(--ease)}
.panel[hidden]{display:none}
.panel .zoom img{width:100%}
.panel h3{font-size:30px;margin-bottom:6px}.panel .lead{font-size:16px;margin-bottom:18px}
.panel .lg ol{grid-template-columns:1fr 1fr;column-gap:20px}
/* location */
.pano{margin-top:44px;position:relative}
.pano .zoom{border:0;background:#000}.pano img{width:100%}
.locgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,70px);margin-top:clamp(50px,7vw,90px);align-items:start}
.locgrid .zoom{background:#f6f1e6}
.radius{display:grid;grid-template-columns:1fr 1fr;gap:26px 30px;margin-top:26px}
.radius div{border-top:1px solid var(--line);padding-top:16px}
.radius b{display:block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:6px}
.radius p{font-size:14.5px;color:#4b443b;line-height:1.6}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:clamp(50px,7vw,90px)}
.duo figure{position:relative;overflow:hidden;background:var(--deep);color:#fff}
.duo img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform 1.4s var(--ease);opacity:.92}
.duo figure:hover img{transform:scale(1.05)}
.duo figcaption{padding:26px 28px 30px}.duo h3{font-size:26px;margin-bottom:8px}.duo p{font-size:15px;color:#cdbfae}
.duo .eyebrow{color:var(--gold-l)}
/* pricing */
.utable{width:100%;border-collapse:collapse;margin-top:34px;font-size:15px}
.utable th,.utable td{padding:16px 10px;border-bottom:1px solid #ffffff22;text-align:left}
.utable thead th{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-l);font-weight:500}
.utable td:first-child{font-family:var(--serif);font-size:22px}
.utable tbody tr{transition:background .3s}.utable tbody tr:hover{background:rgba(255,255,255,.04)}
.utable td{color:#dfe2ec}
.prange{display:flex;flex-wrap:wrap;gap:16px 40px;align-items:baseline;margin-top:34px;padding:26px 0;border-top:1px solid #ffffff26;border-bottom:1px solid #ffffff26}
.prange b{font-family:var(--serif);font-size:clamp(30px,3.6vw,46px);font-weight:500;line-height:1}
.prange span{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-l)}
.pextra{grid-template-columns:repeat(3,auto) 1fr}
/* developer */
.dev{background:var(--cream)}
.devgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}
.team{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:30px}
.team div{border-top:1px solid #d8ccba;padding-top:16px}
.team b{display:block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:500}
.team h3{font-size:22px;margin:6px 0 6px}.team p{font-size:14.5px;color:var(--muted)}
.dstats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:30px;text-align:center}
.dstats div{background:var(--paper);padding:24px 10px}
.dstats b{display:block;font-family:var(--serif);font-size:38px;font-weight:500;color:var(--deep);line-height:1}
.dstats span{font-size:12px;color:var(--muted);letter-spacing:.06em}
.kstats b{color:var(--deep)}
.table-scroll{overflow-x:auto}
@media(max-width:1020px){
 .princ{grid-template-columns:repeat(2,1fr)}.track{grid-auto-columns:88%}
 .panel,.locgrid,.devgrid{grid-template-columns:1fr}
}
@media(max-width:760px){
 .hero:after{background:linear-gradient(0deg,rgba(40,34,28,.95) 0%,rgba(40,34,28,.7) 55%,rgba(40,34,28,.2) 100%)}
 .hero-bg img{object-position:50% 40%}
 .princ{grid-template-columns:1fr;gap:18px}.princ .zoomwrap img{aspect-ratio:16/9}
 .concept,.radius,.team,.duo{grid-template-columns:1fr}
 .track{grid-auto-columns:92%}
 .slide figcaption{grid-template-columns:1fr}.slide .meta{text-align:left}
 .furnish{grid-template-columns:1fr}
 .g4{grid-column:span 1}
 .tabs{flex-wrap:nowrap;overflow-x:auto;margin-left:-20px;margin-right:-20px;padding:0 20px 6px}
 .tabs button{flex:none;padding:10px 14px}
 .panel .lg ol{grid-template-columns:1fr}
 .utable{font-size:13.5px}.utable th,.utable td{padding:12px 6px}.utable td:first-child{font-size:18px}
 .pextra{grid-template-columns:1fr 1fr}
 .dstats b{font-size:28px}
}
.hstats b span,.dstats b span{font:inherit;color:inherit;letter-spacing:0;display:inline}
.utable th,.utable td{white-space:nowrap}
@media(max-width:760px){
 .gal figcaption{font-size:16px;padding:30px 12px 10px}
 .g4:last-child{grid-column:span 2}
 .panel .lg ol{grid-template-columns:1fr 1fr;column-gap:12px}.panel .lg li{font-size:13px}
}
/* hero: keep stats in flow so they never overlap the copy */
.hero{justify-content:flex-end;padding:150px 0 46px;min-height:100svh;height:auto}
.hstats{position:static;margin-top:clamp(40px,7vh,72px)}
.scroll{bottom:auto;top:45%}
footer .brand{display:inline-block}
.pextra{grid-template-columns:repeat(2,auto) 1fr}
@media(max-width:760px){.hero{padding:120px 0 0}.pextra{grid-template-columns:1fr 1fr}}

/* ARAS specifics */
h1,h2,h3{font-weight:400}
.hero-bg img{object-position:50% 55%}
.princ figcaption{text-align:left}
.princ .num{display:block;margin-bottom:8px;color:var(--gold-l)}
.panel{grid-template-columns:1fr}
.panel .lg ol{grid-template-columns:repeat(4,1fr);column-gap:20px}
.panel .lg.two ol{grid-template-columns:repeat(4,1fr)}
.lg li span.l{background:#fff;color:var(--deep);border:1px solid var(--deep)}
.smart{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 28px;list-style:none;margin-top:26px}
.smart li{padding-left:28px;position:relative;font-size:15.5px}
.smart li:before{content:"";position:absolute;left:2px;top:7px;width:10px;height:10px;border:1.5px solid var(--gold);transform:rotate(45deg)}
.dist{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 30px;margin-top:30px}
.dist div{border-top:1px solid var(--line);padding-top:16px}
.dist b{display:block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:8px}
.dist ul{list-style:none;display:grid;gap:4px}.dist li{display:flex;gap:12px;font-size:14.5px;color:#4b443b}.dist li i{font-style:normal;flex:none;width:52px;color:var(--ink);font-weight:500}
.transit{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:30px}
.transit div{background:var(--cream);padding:24px 26px}
.transit b{font-family:var(--serif);font-size:22px;font-weight:400;display:block;margin-bottom:8px}
.transit p{font-size:14.5px;color:var(--muted)}
.slide.comp button{background:#ffffff}
@media(max-width:1020px){.panel .lg ol,.panel .lg.two ol{grid-template-columns:repeat(2,1fr)}.dist{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.smart,.transit,.dist{grid-template-columns:1fr}.panel .lg ol,.panel .lg.two ol{grid-template-columns:1fr 1fr}
 .hero-bg img{object-position:50% 50%}}
.logo{text-align:left}
@media(max-width:760px){.g4,.g4:last-child{grid-column:span 2}
 #p-level-9 .zoom{overflow-x:auto;-webkit-overflow-scrolling:touch}#p-level-9 .zoom img{width:820px;max-width:none}}

/* The ERA */
picture{display:contents}
h1,h2,h3{font-weight:500}
.logo b{font-size:28px;letter-spacing:.36em;margin-right:-.36em;font-weight:500}
.logo b i{font-style:normal;color:var(--gold)}
.hero h1{letter-spacing:0}
.track{grid-auto-columns:calc((100% - 48px)/3)}
.slide button{aspect-ratio:3/4;background:#fff}
.slide button img{object-fit:contain;padding:8px}
.panel.list{display:block}.panel.list[hidden]{display:none}
.mapwrap .zoom{background:#5a5248}
.duo3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.duo3 figure{background:#fff;overflow:hidden}
.duo3 img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform 1.2s var(--ease)}
.duo3 figure:hover img{transform:scale(1.05)}
.duo3 figcaption{padding:18px 20px 22px}.duo3 h3{font-size:22px;margin-bottom:4px}.duo3 p{font-size:14.5px;color:var(--muted)}
.timeline{margin-top:40px;overflow-x:auto;padding-bottom:6px}
.timeline ol{list-style:none;display:grid;grid-template-columns:repeat(10,minmax(96px,1fr));border-top:1px solid var(--line);min-width:960px}
.timeline li{position:relative;padding:22px 10px 0 0}
.timeline li:before{content:"";position:absolute;left:0;top:-5px;width:9px;height:9px;border-radius:50%;background:var(--gold)}
.timeline b{display:block;font-family:var(--serif);font-size:26px;font-weight:500;color:var(--ink);line-height:1}
.timeline span{display:block;font-size:13px;color:var(--muted);margin-top:6px;line-height:1.4}
@media(max-width:1020px){.track{grid-auto-columns:calc((100% - 24px)/2)}.duo3{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.track{grid-auto-columns:78%}.duo3{grid-template-columns:1fr}}
@media(max-width:760px){
 .gal .m-wide{grid-column:span 2!important;grid-row:span 1!important}
 .timeline{overflow:visible}
 .timeline ol{grid-template-columns:1fr 1fr;min-width:0;border-top:0;gap:0 18px}
 .timeline li{border-top:1px solid var(--line);padding:16px 0 14px 18px}
 .timeline li:before{top:22px;left:0;width:7px;height:7px}
 .timeline b{font-size:22px}
}
.slide button{aspect-ratio:2/3}.slide button img{padding:0}
.logo b,.links .btn{white-space:nowrap}
@media(min-width:1021px) and (max-width:1200px){.links{gap:20px}.links a{font-size:13px}.links .btn{padding:12px 16px;font-size:11px;letter-spacing:.12em}}
