
:root{--green:#33493F;--green-d:#2A3D34;--brass:#B88955;--brass-l:#C79A63;--cream:#F7F3EA;--cream-d:#EFE8DC;--ink:#2E302B;--mut:#6B6A62;--hair:rgba(46,48,43,.14);--hair-l:rgba(247,243,234,.16);
--ease:cubic-bezier(.16,1,.3,1)}
*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;background:var(--cream);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;animation:pageFade .7s ease-out}
@keyframes pageFade{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){body{animation:none}}
.wrap{max-width:1280px;margin:0 auto;padding:0 40px}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',serif;font-weight:500;font-variant-numeric:oldstyle-nums}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
::selection{background:var(--brass);color:#fff}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.kicker{font-size:11px;letter-spacing:.44em;text-transform:uppercase;color:var(--brass)}
/* underline reveal */
.lnk{position:relative;padding-bottom:3px}
.lnk::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.lnk:hover::after{transform:scaleX(1);transform-origin:left}
/* reveal motion */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity 1.15s var(--ease),transform 1.15s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}
/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(247,243,234,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--hair)}
.nav-in{display:flex;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:18px}
.logo{display:flex;align-items:center;gap:12px;color:var(--green)}
.logo-mark{width:44px;height:44px}
.logo-word{display:flex;flex-direction:column;line-height:1.05}
.logo-word em{font-style:normal;font-size:11px;letter-spacing:.4em}
.logo-word strong{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:700;letter-spacing:.06em}
.logo-word small{font-size:10px;letter-spacing:.46em;color:var(--brass)}
.nav-links{display:flex;align-items:center;gap:34px;font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.btn{position:relative;display:inline-block;padding:15px 36px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease)}
.btn-gold{background:linear-gradient(180deg,var(--brass-l),var(--brass));color:#fff;box-shadow:0 10px 26px rgba(184,137,85,.28)}
.btn-gold:hover{background:var(--green);box-shadow:0 10px 26px rgba(42,61,52,.3)}
.btn-line{border:1px solid var(--brass-l);color:var(--cream)}
.btn-line:hover{background:var(--brass);border-color:var(--brass);color:#fff}
/* ---------- hero — cinematic (approved concept 1, 3 Aug 2026) ---------- */
.hero{position:relative;height:100svh;min-height:620px;display:flex;flex-direction:column;color:#fff;isolation:isolate;overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;animation:kenburns 30s var(--ease) infinite alternate;animation-delay:-11s;will-change:transform}
@keyframes kenburns{0%{transform:scale(1.04) translate(0,0)}100%{transform:scale(1.16) translate(-1.5%,1.1%)}}
@keyframes heroIn{from{transform:scale(1.12);opacity:.3}to{transform:scale(1.05);opacity:1}}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(130% 110% at 15% 74%,rgba(20,25,22,.55) 0%,rgba(20,25,22,0) 63%),linear-gradient(180deg,rgba(26,32,28,.42) 0%,rgba(26,32,28,.1) 36%,rgba(26,32,28,.5) 66%,rgba(20,25,22,.94) 100%)}
/* transparent nav over the hero image */
.hero .nav{position:relative;z-index:5;background:none;backdrop-filter:none;border-bottom:none}
.hero .nav-in{padding-top:30px;padding-bottom:0}
.hero .logo{color:var(--cream)}
.hero .logo-word small{color:var(--brass-l)}
.hero .nav-links{gap:52px;font-size:11.5px;letter-spacing:.3em;color:rgba(247,243,234,.92)}
.hero .nav-links .lnk::after{background:var(--brass-l)}
/* headline block — lower left, oversized */
.hero-in{width:100%;margin-top:auto;padding-bottom:96px}
.locality{font-size:11px;letter-spacing:.5em;text-transform:uppercase;color:#DEC49E;margin-bottom:34px;text-shadow:0 1px 2px rgba(15,20,17,.9),0 0 12px rgba(15,20,17,.8),0 2px 34px rgba(15,20,17,.75)}
.hero h1{font-size:clamp(64px,9.6vw,138px);line-height:.98;font-weight:500;letter-spacing:-.015em;max-width:9.5em;text-wrap:balance;color:var(--cream)}
.hero h1 em{font-style:italic;color:var(--brass-l)}
.hero-rule{width:76px;height:1px;background:var(--brass-l);margin:44px 0 0}
.hero-foot{margin-top:30px;display:flex;flex-wrap:wrap;align-items:baseline;gap:14px 36px;font-size:11.5px;letter-spacing:.32em;text-transform:uppercase;color:rgba(247,243,234,.78);text-shadow:0 1px 4px rgba(15,20,17,.5),0 2px 18px rgba(15,20,17,.45)}
.hero-foot .tag{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;letter-spacing:.04em;text-transform:none;color:var(--brass-l)}
.hero-cue{position:absolute;left:50%;transform:translateX(-50%);bottom:26px;z-index:6;display:flex;flex-direction:column;align-items:center;gap:12px;font-size:10.5px;letter-spacing:.38em;text-transform:uppercase;color:rgba(247,243,234,.85);text-shadow:0 1px 4px rgba(15,20,17,.5);animation:riseIn 1.3s var(--ease) .7s both;white-space:nowrap}
.hero-cue i{display:block;width:1px;height:34px;background:linear-gradient(180deg,rgba(247,243,234,0),var(--brass-l));animation:cueDrop 2.2s ease-in-out infinite}
.hero-cue:hover{color:var(--cream)}
@keyframes cueDrop{0%,100%{transform:scaleY(.55);transform-origin:top;opacity:.5}50%{transform:scaleY(1);opacity:1}}
.hero-in>*{animation:riseIn 1.3s var(--ease) both}
.hero-in>*:nth-child(2){animation-delay:.15s}.hero-in>*:nth-child(3){animation-delay:.3s}.hero-in>*:nth-child(4){animation-delay:.45s}
@keyframes riseIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.hero>img{animation:none;transform:scale(1.05)}.hero-in>*{animation:none}.hero-cue{animation:none}.hero-cue i{animation:none}}
/* ---------- opening statement ---------- */
.statement{padding:150px 0 120px}
.statement .kicker{margin-bottom:34px}
.statement h2{font-size:clamp(34px,4.2vw,60px);line-height:1.16;max-width:17.5em;font-weight:500}
.statement h2 em{font-style:italic;color:var(--brass)}
.statement .side{max-width:26em;margin-top:38px;color:var(--mut);font-weight:300;font-size:16.5px}
/* numbers rule-row */
.numrow{margin-top:90px;border-top:1px solid var(--hair);display:grid;grid-template-columns:repeat(4,1fr)}
.numrow .num{padding:36px 16px 6px;border-right:1px solid var(--hair);text-align:center}
.numrow .num:last-child{border-right:none}
.numrow b{display:block;font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(44px,4.6vw,64px);line-height:1;font-variant-numeric:oldstyle-nums}
.numrow b i{font-style:italic;font-size:.55em;color:var(--brass)}
.numrow span{display:block;margin-top:10px;font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--mut)}
/* ---------- full-bleed interlude ---------- */
.bleed{position:relative;height:74vh;min-height:440px;overflow:hidden;isolation:isolate;display:flex;align-items:flex-end}
.bleed>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.bleed::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,61,52,0) 30%,rgba(42,61,52,.72));z-index:-1}
.bleed .wrap{padding-bottom:56px;color:var(--cream)}
.bleed .q{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(24px,2.6vw,36px);max-width:22em;line-height:1.3}
.bleed .qs{margin-top:14px;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--brass-l)}
/* ---------- offices editorial ---------- */
.section{padding:130px 0}
.section.tint{background:var(--cream-d)}
.section.green{background:var(--green);color:var(--cream)}
.sec-head{max-width:720px;margin-bottom:20px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head h2{font-size:clamp(40px,5vw,68px);line-height:1.06;margin-top:18px;letter-spacing:-.01em}
.sec-head p{margin-top:20px;color:var(--mut);font-size:16.5px;font-weight:300;max-width:34em}
.green .sec-head p{color:rgba(247,243,234,.72)}
.sec-head.center p{margin-left:auto;margin-right:auto}
.oed{display:grid;grid-template-columns:repeat(12,1fr);gap:0 28px;align-items:center;margin-top:110px;position:relative}
.oed .ph{grid-column:1/8;grid-row:1;overflow:hidden;position:relative}
.oed .ph img{width:100%;aspect-ratio:15/11;object-fit:cover;transition:transform 1.4s var(--ease)}
.oed.hov .ph img{transform:scale(1.035)}
.oed .ghost{position:absolute;top:-84px;right:2%;font-family:'Cormorant Garamond',serif;font-size:clamp(120px,14vw,210px);line-height:1;color:rgba(166,118,66,.85);font-weight:700;z-index:0;pointer-events:none;font-variant-numeric:oldstyle-nums}
.oed.flip .ghost{right:auto;left:2%}
.oed .txt{grid-column:8/13;grid-row:1;position:relative;z-index:1;background:var(--cream);padding:48px 44px 48px 52px;margin-left:-90px;border:1px solid rgba(184,137,85,.5)}
.oed .txt::after{content:"";position:absolute;inset:6px;border:1px solid rgba(184,137,85,.22);pointer-events:none}
.oed.flip .ph{grid-column:6/13}
.oed.flip .txt{grid-column:1/6;padding:48px 52px 48px 44px;margin-left:0;margin-right:-90px}
.oed .txt h3{font-size:clamp(34px,3.4vw,48px);line-height:1.05}
.oed .meta{margin:16px 0 18px;display:flex;align-items:center;gap:22px;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--brass)}
/* status chips — one size everywhere; live-dot signals availability */
.stchip{display:inline-flex;align-items:center;gap:9px;padding:9px 16px 8px;border:1px solid;font-weight:600;letter-spacing:.26em;text-transform:uppercase;font-size:10px;line-height:1;white-space:nowrap}
.stchip::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}
.st-available{color:#9C6F3C;border-color:rgba(184,137,85,.7);background:linear-gradient(180deg,rgba(184,137,85,.14),rgba(184,137,85,.05))}
.st-available::before{background:var(--brass);animation:chipPulse 2.6s ease-out infinite}
@keyframes chipPulse{0%{box-shadow:0 0 0 0 rgba(184,137,85,.4)}70%{box-shadow:0 0 0 5px rgba(184,137,85,0)}100%{box-shadow:0 0 0 0 rgba(184,137,85,0)}}
.st-let,.st-occupied{color:var(--mut);border-color:rgba(46,48,43,.22);background:rgba(46,48,43,.045)}
.st-let::before,.st-occupied::before{background:rgba(46,48,43,.45)}
.st-under-offer{color:var(--green);border-color:rgba(51,73,63,.5);background:rgba(51,73,63,.06)}
@media(prefers-reduced-motion:reduce){.st-available::before{animation:none}}
.oed p{color:var(--mut);font-weight:300;font-size:16px;max-width:24em}
.m-only{display:none}
.oed .lnk{display:inline-block;margin-top:26px;font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--green);transition:color .35s}
.oed .lnk:hover{color:var(--brass)}
/* feature office — same row format as the others, elevated by detail */
.oed.feat .txt{border-top:3px solid var(--brass);background:var(--cream-d);padding-left:52px;padding-right:36px}
.oed.feat .txt::after{top:9px}
.oed.feat .kicker{color:var(--brass);margin-bottom:12px}
.oed.feat .fhl{margin:18px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:7px 24px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}
.oed.feat .fhl li::before{content:"·";color:var(--brass);margin-right:7px}
.oed.feat .lnk{padding:13px 26px;border:1px solid var(--brass);transition:background .3s,color .3s}
.oed.feat .lnk:hover{background:var(--brass);color:#fff}
/* ---------- floor plan ---------- */
.fp-wrap{position:relative;max-width:1080px;margin:70px auto 0}
.fp-wrap img{width:100%;height:auto}
.fp-hots{position:absolute;inset:0;width:100%;height:100%}
.fp-hots polygon{fill:rgba(184,137,85,0);stroke:rgba(184,137,85,0);stroke-width:5;transition:fill .4s,stroke .4s;cursor:pointer}
.fp-hots a:hover polygon,.fp-hots a:focus polygon{fill:rgba(184,137,85,.32);stroke:var(--brass)}
.fp-hots .private polygon{cursor:default;fill:rgba(46,48,43,.05)}
.fp-hots .hl polygon{fill:rgba(184,137,85,.42);stroke:var(--brass);stroke-width:7}
.chip rect{fill:rgba(247,243,234,.8);stroke:none;transition:fill .3s}
.chip-m{display:none;font-family:'Jost',sans-serif;font-size:170px;font-weight:500;text-anchor:middle;dominant-baseline:central;fill:var(--brass);paint-order:stroke;stroke:rgba(247,243,234,.94);stroke-width:30px;stroke-linejoin:round}
.chip text{text-anchor:middle;fill:var(--green)}
.chip-n{font-family:'Jost',sans-serif;font-size:34px;letter-spacing:6px;font-weight:500}
.chip-a{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:34px;fill:var(--brass)!important}
.fp-hots a:hover .chip rect,.fp-hots a:focus .chip rect{fill:rgba(247,243,234,.97)}
.private .chip rect{fill:rgba(239,232,220,.62)}
.private .chip text{fill:var(--mut)}
.private .chip-a{fill:var(--mut)!important}
.fp-hots .islet polygon{fill:rgba(46,48,43,.045)}
.islet .chip rect{fill:rgba(239,232,220,.68)}
.islet .chip text{fill:var(--mut)}
.islet .chip-a{fill:var(--brass)!important}
.fp-legend{display:flex;gap:34px;justify-content:center;margin-top:36px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mut);flex-wrap:wrap}
.fp-legend span{display:flex;align-items:center;gap:9px}
.dot{width:11px;height:11px;display:inline-block}
.dot.avail{background:rgba(184,137,85,.55);border:1px solid var(--brass)}
.dot.priv{background:rgba(46,48,43,.08);border:1px solid rgba(46,48,43,.35)}
.fp-index{display:flex;justify-content:center;gap:14px 30px;flex-wrap:wrap;margin-top:26px;font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.fp-index a{color:var(--green)}
.fp-index a:hover{color:var(--brass)}
.fp-note{text-align:center;margin-top:30px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;color:var(--mut)}
.green .fp-legend,.green .fp-note{color:rgba(247,243,234,.6)}
.green .fp-index a{color:rgba(247,243,234,.85)}
.green .fp-index a:hover{color:var(--brass-l)}
.green .dot.priv{background:rgba(247,243,234,.12);border:1px solid rgba(247,243,234,.4)}
.oed.clickable .ph,.oed.clickable .txt{cursor:pointer}
.oed.clickable .txt{transition:border-color .35s,box-shadow .35s,transform .35s}
.oed.clickable .txt h3 a{transition:color .35s}
.oed.clickable .lnk{transition:color .35s}
.oed.clickable.hov .txt{border-color:var(--brass);box-shadow:0 18px 44px rgba(42,61,52,.16);transform:translateY(-3px)}
.oed.clickable.hov .txt h3 a{color:var(--brass)}
.oed.clickable.hov .lnk{color:var(--brass)}
/* mini plan (office pages) */
.fp-wrap-mini{margin:0}
.fp-wrap-mini .fp-hots{inset:0;width:100%;height:100%}
.fp-hots-mini polygon{cursor:default}
.fp-hots-mini .chip{display:none}
.fp-hots-mini .hl .chip{display:block}
.fp-hots-mini .hl .chip rect{stroke:var(--brass)}
/* ---------- amenities index ---------- */
/* ---------- arrival (reception photography) ---------- */
.arr-grid{display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:auto auto;gap:14px;margin-top:60px}
.arr-grid .arr-a{grid-row:1/3}
.arr-grid div{overflow:hidden}
.arr-grid img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.arr-grid .arr-a img{aspect-ratio:4/3}
.arr-grid .arr-b img,.arr-grid .arr-c img{aspect-ratio:16/9.4}
.arr-grid div:hover img{transform:scale(1.03)}
@media(max-width:820px){.arr-grid{grid-template-columns:1fr}.arr-grid .arr-a{grid-row:auto}}

.amen-list{border-top:1px solid var(--hair);margin-top:70px}
.amen-row{display:grid;grid-template-columns:110px 1fr 1.4fr;gap:28px;align-items:baseline;padding:34px 0;border-bottom:1px solid var(--hair);transition:background .4s}
.amen-row .no{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;color:var(--brass);font-variant-numeric:oldstyle-nums}
.amen-row h3{font-size:clamp(24px,2.4vw,32px);font-weight:500;transition:color .4s}
.amen-row:hover h3{color:var(--brass)}
.amen-row p{color:var(--mut);font-weight:300;font-size:15.5px}
/* ---------- tour ---------- */
.tour-box{position:relative;aspect-ratio:16/8;background:var(--green-d);display:flex;align-items:center;justify-content:center;overflow:hidden}
.tour-box img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22;transition:transform 9s ease-out}
.tour-box:hover img{transform:scale(1.04)}
.tour-inner{position:relative;text-align:center;color:var(--cream);padding:24px}
.tour-inner .circ{width:88px;height:88px;border:1px solid var(--brass-l);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 26px;font-size:24px;color:var(--brass-l);transition:.5s var(--ease)}
.tour-box:hover .circ{background:var(--brass);border-color:var(--brass);color:#fff}
.tour-inner h3{font-size:clamp(28px,3vw,38px)}
.tour-inner p{color:rgba(247,243,234,.72);max-width:34em;margin:14px auto 0;font-size:15px;font-weight:300}
/* ---------- location ---------- */
.loc{display:grid;grid-template-columns:1.15fr .85fr;min-height:560px;box-shadow:0 30px 80px rgba(0,0,0,.18)}
.loc .ph{overflow:hidden}
.loc .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.loc .ph:hover img{transform:scale(1.03)}
.loc-pane{background:var(--green);color:var(--cream);padding:84px 72px;display:flex;flex-direction:column;justify-content:center;border-top:3px solid var(--brass-l)}
.loc-pane h2{font-size:clamp(34px,3.6vw,50px);margin:16px 0 18px;line-height:1.08}
.loc-pane>p{color:rgba(247,243,234,.75);font-size:15.5px;font-weight:300;max-width:26em}
.loc-list{list-style:none;margin-top:34px;display:grid;gap:16px}
.loc-list li{display:flex;gap:15px;align-items:baseline;font-size:15px;border-bottom:1px solid var(--hair-l);padding-bottom:15px}
.loc-list li::before{content:"·";color:var(--brass-l)}
.loc-addr{margin-top:30px;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--brass-l)}
.loc-addr a{color:var(--cream);border-bottom:1px solid var(--brass-l);padding-bottom:2px}
/* ---------- closing ---------- */
.close-cta{position:relative;isolation:isolate;overflow:hidden;color:var(--cream);text-align:center;padding:170px 0}
.close-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.close-cta::after{content:"";position:absolute;inset:0;background:rgba(42,61,52,.88);z-index:-1}
.close-cta .kicker{color:var(--brass-l)}
.close-cta h2{font-size:clamp(44px,6vw,84px);line-height:1.04;margin:24px auto 0;max-width:11em;letter-spacing:-.01em}
.close-cta h2 em{font-style:italic;color:var(--brass-l)}
.close-cta .btn{margin-top:46px}
.close-cta .alt{margin-top:26px;font-size:13px;color:rgba(247,243,234,.6)}
.close-cta .alt a{border-bottom:1px solid var(--brass);color:var(--cream)}
/* ---------- office pages ---------- */
.o-hero{position:relative;min-height:74vh;display:flex;align-items:flex-end;color:#fff;isolation:isolate;overflow:hidden}
.o-hero>img{position:absolute;inset:-4% 0 0;width:100%;height:106%;object-fit:cover;z-index:-2;animation:heroIn 2.6s var(--ease) both;will-change:transform}
.o-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,61,52,.16),rgba(42,61,52,.84));z-index:-1}
.o-hero-in{padding-bottom:64px;width:100%}
.o-hero-in>*{animation:riseIn 1.2s var(--ease) both}
.o-hero-in>*:nth-child(2){animation-delay:.15s}.o-hero-in>*:nth-child(3){animation-delay:.3s}
@media(prefers-reduced-motion:reduce){.o-hero>img,.o-hero-in>*{animation:none}}
.crumb{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--brass-l);margin-bottom:18px}
.o-hero h1{font-size:clamp(52px,7vw,96px);line-height:1;letter-spacing:-.01em}
.o-hero .o-sub{margin-top:16px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;color:rgba(247,243,234,.8)}
.specbar{background:var(--green);color:var(--cream)}
.specbar .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.spec{padding:38px 12px;text-align:center;border-left:1px solid var(--hair-l)}
.spec:first-child{border-left:none}
.spec b{display:block;font-family:'Cormorant Garamond',serif;font-size:clamp(26px,2.6vw,36px);font-weight:500;font-variant-numeric:oldstyle-nums}
.spec span{display:block;margin-top:6px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--brass-l)}
.o-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:72px;align-items:start}
.o-grid .lead{font-size:clamp(24px,2.4vw,32px);font-family:'Cormorant Garamond',serif;line-height:1.42}
.o-grid .body-copy{margin-top:24px;color:var(--mut);font-weight:300;max-width:32em}
.o-grid ul{list-style:none;margin-top:34px;display:grid;gap:0;border-top:1px solid var(--hair)}
.o-grid ul li{display:flex;gap:13px;font-size:14.5px;padding:13px 0;border-bottom:1px solid var(--hair)}
.o-grid ul li::before{content:"·";color:var(--brass)}
.o-plan{background:var(--green);padding:36px}
.o-plan h3{color:var(--cream);font-size:21px;margin-bottom:6px}
.o-plan .o-plan-sub{color:rgba(247,243,234,.6);font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px}
.gal-hero{overflow:hidden;margin-bottom:18px}
.gal-hero img{width:100%;aspect-ratio:16/7.5;object-fit:cover;transition:transform 1.2s var(--ease)}
.gal-hero:hover img{transform:scale(1.02)}
.gal2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.gal2 .gph{overflow:hidden}
.gal2 img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform 1.2s var(--ease)}
.gal2 .gph:hover img{transform:scale(1.03)}
.note-ph{margin-top:18px;font-size:11px;letter-spacing:.16em;color:var(--mut);text-transform:uppercase}
.cta-band{text-align:center;padding:150px 0 120px}
.cta-band h2{font-size:clamp(38px,4.6vw,64px);margin-bottom:14px;letter-spacing:-.01em}
.cta-band p{color:var(--mut);margin-bottom:36px;font-weight:300}
.onav{display:flex;justify-content:space-between;border-top:1px solid var(--hair);padding-top:34px;margin-top:90px;font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.onav a:hover{color:var(--brass)}
/* ---------- enquiry panel ---------- */
.veil{position:fixed;inset:0;background:rgba(42,61,52,.5);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .4s;z-index:80}
.veil.on{opacity:1;pointer-events:auto}
.epanel{position:fixed;top:0;right:0;bottom:0;width:min(460px,100%);background:var(--cream);z-index:90;transform:translateX(102%);transition:transform .6s var(--ease);overflow-y:auto;box-shadow:-24px 0 60px rgba(0,0,0,.25)}
.epanel.open{transform:none}
.ep-close{position:absolute;top:18px;right:22px;font-size:30px;color:var(--mut);transition:.3s}
.ep-close:hover{color:var(--green)}
.ep-in{padding:64px 44px 44px}
.ep-in h3{font-size:32px;margin-top:12px}
.ep-sub{color:var(--mut);font-size:14px;font-weight:300;margin-top:10px}
#ep-form{margin-top:30px;display:grid;gap:18px}
#ep-form label{display:grid;gap:7px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mut)}
#ep-form input,#ep-form select,#ep-form textarea{font-family:'Jost',sans-serif;font-size:15px;padding:13px 14px;border:1px solid rgba(46,48,43,.18);background:#fff;color:var(--ink);outline:none;transition:border-color .3s;border-radius:0;-webkit-appearance:none}
#ep-form input:focus,#ep-form select:focus,#ep-form textarea:focus{border-color:var(--brass)}
.ep-send{margin-top:6px;width:100%}
.ep-alt{text-align:center;font-size:13px;color:var(--mut);margin-top:4px}
.ep-alt a{color:var(--green);border-bottom:1px solid var(--brass)}
/* ---------- availability strip ---------- */
.avail-strip{background:var(--green);color:var(--cream)}
.as-in{display:flex;align-items:center;gap:14px;padding-top:12px;padding-bottom:12px;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase}
.as-dot{width:8px;height:8px;border-radius:50%;background:var(--brass-l);flex:none;animation:chipPulse 2.6s ease-out infinite}
.avail-strip b{font-weight:500;color:#fff;white-space:nowrap}
.as-sep{color:rgba(247,243,234,.45)}
.avail-strip .as-note{color:rgba(247,243,234,.72);white-space:nowrap}
.as-lnk{margin-left:auto;color:var(--brass-l);white-space:nowrap}
@media(max-width:860px){.as-in{gap:8px 10px;font-size:11px;letter-spacing:.12em;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.as-lnk{display:none}}
/* ---------- honeypot / form states ---------- */
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ep-err{font-size:13px;color:#8c3b2e;background:rgba(140,59,46,.07);border:1px solid rgba(140,59,46,.25);padding:11px 14px;line-height:1.5;letter-spacing:0;text-transform:none}
.ep-err a{color:#8c3b2e;text-decoration:underline}
.ep-done{margin-top:34px;text-align:center;padding:34px 10px;border:1px solid var(--hair)}
.ep-check{width:54px;height:54px;margin:0 auto 18px;border-radius:50%;border:1px solid var(--brass);color:var(--brass);font-size:24px;display:flex;align-items:center;justify-content:center}
.ep-done h4{font-size:26px;font-weight:500}
.ep-done p{margin-top:10px;color:var(--mut);font-size:14.5px;font-weight:300}
.ep-done a{color:var(--green);border-bottom:1px solid var(--brass)}
/* ---------- leasing kit modal ---------- */
.kveil{position:fixed;inset:0;background:rgba(42,61,52,.55);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .4s;z-index:94}
.kveil.on{opacity:1;pointer-events:auto}
.kmodal{position:fixed;top:50%;left:50%;transform:translate(-50%,-46%) scale(.97);width:min(440px,calc(100% - 32px));background:var(--cream);z-index:95;padding:48px 40px 40px;box-shadow:0 40px 110px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .45s var(--ease),transform .45s var(--ease)}
.kmodal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
@media(prefers-reduced-motion:reduce){.kmodal{transition:opacity .2s}.kveil{transition:opacity .2s}}
.kmodal h3{font-size:30px;margin-top:10px}
.km-sub{color:var(--mut);font-size:14px;font-weight:300;margin-top:10px}
.km-close{position:absolute;top:14px;right:18px;font-size:28px;color:var(--mut);transition:.3s}
.km-close:hover{color:var(--green)}
#km-form{margin-top:26px;display:grid;gap:16px}
#km-form label{display:grid;gap:7px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mut)}
#km-form input{font-family:'Jost',sans-serif;font-size:15px;padding:13px 14px;border:1px solid rgba(46,48,43,.18);background:#fff;color:var(--ink);outline:none;transition:border-color .3s;border-radius:0;-webkit-appearance:none}
#km-form input:focus{border-color:var(--brass)}
/* ---------- lightbox ---------- */
.lbox{position:fixed;inset:0;z-index:120;background:rgba(26,32,28,.94);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s}
.lbox.on{opacity:1;pointer-events:auto}
@media(prefers-reduced-motion:reduce){.lbox{transition:none}}
.lbox img{max-width:min(92vw,1400px);max-height:86vh;width:auto;height:auto;box-shadow:0 30px 90px rgba(0,0,0,.5)}
.lbox button{position:absolute;color:rgba(247,243,234,.85);font-size:34px;line-height:1;padding:18px;transition:color .3s;z-index:2}
.lbox button:hover{color:var(--brass-l)}
.lb-x{top:10px;right:14px;font-size:40px}
.lb-p{left:6px;top:50%;transform:translateY(-50%)}
.lb-n{right:6px;top:50%;transform:translateY(-50%)}
.lb-c{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:rgba(247,243,234,.6);font-size:11px;letter-spacing:.3em}
@media(max-width:860px){.lbox img{max-width:100vw;max-height:80vh}.lb-p,.lb-n{display:none}}
/* ---------- footer ---------- */
.footer{background:var(--green-d);color:var(--cream);padding:80px 0 0}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:44px;padding-bottom:52px}
.footer .logo{color:var(--cream)}
.footer .logo-word small{color:var(--brass-l)}
.foot-tag{margin-top:18px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;color:rgba(247,243,234,.72)}
.foot-col h4{font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--brass-l);margin-bottom:16px}
.foot-col p{font-size:14.5px;color:rgba(247,243,234,.8);font-weight:300}
.foot-base{display:flex;justify-content:space-between;border-top:1px solid var(--hair-l);padding-top:20px;padding-bottom:26px;font-size:12px;color:rgba(247,243,234,.45);letter-spacing:.06em}
.fp-swipe{display:none}
.mnav{display:none}
/* ---------- responsive ---------- */
@media(max-width:1020px){
 .oed .txt{padding:36px 30px 36px 36px;margin-left:-56px}
 .oed.flip .txt{padding:36px 36px 36px 30px;margin-right:-56px}
}
@media(max-width:860px){
 .wrap{padding:0 24px}
 .section{padding:70px 0}
 .oed .lnk{padding:13px 24px;border:1px solid var(--brass);margin-top:24px}
 .loc-addr a{display:inline-block;padding:10px 0}
 .onav{flex-wrap:wrap;gap:14px 20px;justify-content:center}
 .hero-cue{bottom:18px;font-size:9.5px;letter-spacing:.3em}
 .hero-cue i{height:26px}
 .statement{padding:110px 0 90px}
 .nav-links a{display:none}
 .logo{gap:9px}
 .logo-mark{width:34px;height:34px}
 .logo-word em{font-size:9px}
 .logo-word strong{font-size:21px}
 .logo-word small{font-size:8px;letter-spacing:.34em}
 .btn{padding:12px 22px;letter-spacing:.2em}
 .hero>img{animation:none;transform:scale(1.05)}
 .hero .nav-in{padding-top:20px}
 .hero-in{padding-bottom:128px}
 .hero h1{font-size:clamp(46px,13.5vw,64px)}
 .locality{font-size:10px;letter-spacing:.3em;line-height:2;margin-bottom:22px}
 .hero-rule{margin-top:30px}
 .hero-foot{margin-top:24px;gap:10px 24px}
 .numrow{grid-template-columns:repeat(2,1fr)}
 .numrow .num{border-right:none;border-bottom:1px solid var(--hair);padding:26px 0 18px}
 .oed,.oed.flip{display:block;margin-top:54px}
 .oed .ph img{aspect-ratio:16/10.5;height:auto}
 .oed .txt,.oed.flip .txt{margin:0;padding:24px 0 0;background:none;border:none}
 .oed .txt::after{display:none}
 .oed .txt h3{font-size:28px}
 .oed .meta{margin:12px 0 12px;gap:12px 18px;flex-wrap:wrap;font-size:10.5px}
 .oed p{font-size:14.5px}
 .oed .kicker.m-only{display:block;margin-bottom:8px}
 .oed .fhl{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}
 .oed .fhl.m-only{display:flex}
 .oed .fhl li::before{content:"\B7";color:var(--brass);margin-right:7px}
 .oed .lnk{margin-top:18px;padding:12px 22px;border:1px solid rgba(184,137,85,.6)}
 .oed .ph{border:1px solid rgba(184,137,85,.45);padding:6px;background:var(--cream-d)}
 .oed.feat .txt{background:none;border-top:none;padding:24px 0 0}
 .oed.feat .ph{border:1px solid var(--brass)}
 .oed.feat .kicker{margin-bottom:8px}
 .oed.feat .fhl{margin-top:14px;gap:6px 16px;font-size:10px}
 .oed.feat .lnk{padding:12px 22px;border-color:var(--brass)}
 .oed .ghost{display:none}
 /* status chips — pronounced on mobile (urgency: LET filled dark, AVAILABLE filled brass) */
 .stchip{font-size:9.5px;padding:10px 15px 9px;letter-spacing:.22em}
 .st-available{background:var(--brass);color:#fff;border-color:var(--brass)}
 .st-available::before{background:#fff;animation:chipPulse 2.6s ease-out infinite}
 .st-let,.st-occupied{background:var(--green-d);color:var(--cream);border-color:var(--green-d)}
 .st-let::before,.st-occupied::before{background:var(--brass-l)}
 .st-under-offer{background:var(--green);color:var(--cream);border-color:var(--green)}
 .st-under-offer::before{background:var(--brass-l)}
 .oed-flag .panel{position:static;max-width:none;padding:34px 28px}
 .amen-row{grid-template-columns:54px 1fr;gap:10px 18px}
 .amen-row p{grid-column:2}
 .loc{grid-template-columns:1fr}
 .loc .ph img{aspect-ratio:16/10;height:auto}
 .loc-pane{padding:54px 28px}
 .o-grid{grid-template-columns:1fr;gap:44px}
 .specbar .wrap{grid-template-columns:repeat(2,1fr);padding:0 24px}
 .spec{border-left:none;border-top:1px solid var(--hair-l);text-align:left;padding:22px 0}
 .spec:nth-child(-n+2){border-top:none}
 .gal2{grid-template-columns:1fr}
 .tour-box{aspect-ratio:auto;padding:70px 20px}
 .foot-grid{grid-template-columns:1fr}
 .fp-scroll{margin:44px 0 0;padding:0}
 .fp-scroll .fp-wrap{margin-top:0}
 .fp-swipe{display:block;text-align:center;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--mut);margin-top:16px}
 .fp-hots .chip rect,.fp-hots .chip-n,.fp-hots .chip-a{display:none}
 .fp-hots .chip-m{display:block}
 .fp-hots .private .chip-m,.fp-hots .islet .chip-m{fill:var(--mut)}
 .fp-hots-mini .chip-m{display:none}
 .fp-hots-mini .hl .chip-m{display:block}
 .fp-legend{gap:18px;margin-top:24px}
 .fp-index{gap:10px 20px;font-size:11px}
 .close-cta{padding:110px 0}
 /* slim anchor bar under the nav (page links hidden on phones) */
 .mnav{display:flex;position:sticky;top:0;z-index:40;background:var(--green);border-bottom:2px solid var(--brass);padding:0}
 .mnav a{flex:1;text-align:center;white-space:nowrap;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;
   color:var(--cream);text-decoration:none;padding:14px 1px;border-left:1px solid rgba(247,243,234,.18);min-width:0;overflow:hidden;text-overflow:clip}
 .mnav a:first-child{border-left:none}
 .mnav a:active{background:var(--brass);color:var(--green-d)}
}
