/* Global Business Square — site styles. MOBILE FIRST: base rules are for phones,
   min-width queries add layout for larger screens (600 / 900 / 1200). Tokens: tokens.css */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:72px}
body{background:var(--bg);color:var(--text);font:var(--fw-light) var(--fs-body)/var(--lh-body) var(--font-body);-webkit-font-smoothing:antialiased;padding-bottom:76px;overflow-x:hidden}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
button{font:inherit;color:inherit}
em{font-style:italic;color:var(--accent-text)}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--accent);color:var(--on-accent);padding:12px 16px}
.skip:focus{left:8px}
.wrap{width:100%;max-width:var(--content-max);margin:0 auto;padding:0 var(--page-x)}
.icon{width:20px;height:20px;flex:0 0 auto}
.muted{color:var(--text-muted)}
.fine{font-size:var(--fs-caption);color:var(--text-muted);line-height:1.6}

/* type */
.eyebrow{font:var(--fw-medium) var(--fs-eyebrow)/1.4 var(--font-body);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--accent)}
.eyebrow b{color:var(--text);font-weight:var(--fw-medium);margin-right:.6em}
.display{font:var(--fw-light) var(--fs-display)/var(--lh-tight) var(--font-display);letter-spacing:var(--tracking-display)}
.h1{font:var(--fw-light) var(--fs-h1)/var(--lh-heading) var(--font-display);letter-spacing:var(--tracking-display)}
.h2{font:var(--fw-light) var(--fs-h2)/var(--lh-heading) var(--font-display);letter-spacing:-.01em}
.h3{font:var(--fw-regular) var(--fs-h3)/1.1 var(--font-display)}
.lead{font-size:var(--fs-lead);line-height:1.6;color:var(--text-soft);max-width:var(--measure)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:var(--space-3);min-height:var(--tap-min);padding:var(--space-2) var(--space-5);font:var(--fw-medium) .75rem/1.35 var(--font-body);letter-spacing:var(--tracking-button);text-transform:uppercase;text-decoration:none;border:1px solid var(--accent);color:var(--accent-text);background:transparent;cursor:pointer;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}
.btn:hover{background:var(--accent);color:var(--on-accent)}
.btn--primary{background:var(--accent);color:var(--on-accent)}
.btn--primary:hover{background:var(--gold-300)}
[data-theme="paper"] .btn--primary:hover{background:var(--terracotta-600)}
.btn--block{width:100%}
.btn--small{min-height:40px;padding:0 var(--space-4)}
.btn--text{border-color:transparent;padding:0;min-height:44px;color:var(--text)}
.btn--text:hover{background:none;color:var(--accent-text)}
.btn--text .arr{width:16px;height:16px;transition:transform var(--dur-base) var(--ease-out)}
.btn--text:hover .arr{transform:translateX(4px)}
.btn[disabled]{opacity:.5;pointer-events:none}
.badge{display:inline-flex;align-items:center;font:var(--fw-medium) .6875rem/1 var(--font-body);letter-spacing:.18em;text-transform:uppercase;padding:10px 12px;border:1px solid var(--border)}
.badge--offer{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin-top:var(--space-3)}
.chip{font-size:.6875rem;letter-spacing:.06em;border:1px solid var(--border);padding:6px 10px;color:var(--accent-text)}

/* header + menu */
.site-header{position:sticky;top:0;z-index:var(--z-nav);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--page-x);background:var(--surface-glass);backdrop-filter:blur(var(--blur-glass));-webkit-backdrop-filter:blur(var(--blur-glass));border-bottom:1px solid var(--border)}
.is-home .site-header{position:fixed;left:0;right:0;background:linear-gradient(rgba(8,9,13,.7),transparent);border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background var(--dur-base)}
.is-home .site-header.solid{background:var(--surface-glass);backdrop-filter:blur(var(--blur-glass));-webkit-backdrop-filter:blur(var(--blur-glass));border-color:var(--border)}
[data-theme="paper"] .site-header{background:rgba(8,9,13,.92)}
.brand img{height:30px;width:auto}
.nav,.nav-cta{display:none}
.burger{margin-left:auto;width:var(--tap-min);height:var(--tap-min);display:grid;place-items:center;background:none;border:1px solid var(--border);color:var(--paper-100);cursor:pointer}
.menu{position:fixed;inset:55px 0 0;z-index:var(--z-overlay);background:var(--ink-950);color:var(--paper-100);padding:var(--space-6) var(--page-x) calc(var(--space-6) + 76px);display:flex;flex-direction:column;overflow:auto}
.menu ul{list-style:none}
.menu li a{display:block;font:var(--fw-light) 2rem/1.25 var(--font-display);text-decoration:none;padding:var(--space-2) 0;border-bottom:1px solid rgba(243,239,231,.1)}
.menu-foot{margin-top:auto;padding-top:var(--space-6);display:grid;gap:var(--space-4)}
.menu-foot p{font-size:var(--fs-caption);color:var(--ink-300)}
body.menu-open{overflow:hidden}

/* action bar (phones) */
.actionbar{position:fixed;left:var(--space-3);right:var(--space-3);bottom:var(--space-3);z-index:var(--z-actionbar);display:grid;grid-template-columns:1fr 1fr 1.3fr;background:rgba(10,13,20,.86);backdrop-filter:blur(var(--blur-glass));-webkit-backdrop-filter:blur(var(--blur-glass));border:1px solid rgba(201,169,110,.24);color:var(--paper-100)}
.actionbar a{min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font:var(--fw-medium) .625rem/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;text-decoration:none}
.actionbar a+a{border-left:1px solid rgba(243,239,231,.1)}
.actionbar a.primary{background:var(--gold-500);color:var(--ink-950)}
.actionbar .icon{width:18px;height:18px}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink-950);color:var(--paper-100)}
.hero-media{position:absolute;inset:0}
.hero-img{width:100%;height:110%;object-fit:cover;object-position:52% 50%;will-change:transform}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,9,13,.6) 0%,transparent 30%,rgba(8,9,13,.45) 55%,var(--ink-950) 100%)}
.hero-content{position:relative;z-index:1;padding-top:120px;padding-bottom:var(--space-7)}
.hero .display{margin:var(--space-3) 0 var(--space-4)}
.hero .ln{display:block;overflow:hidden}
.hero .ln>span{display:inline-block;animation:lineUp var(--dur-cinematic) var(--ease-out) both}
.hero .ln+.ln>span{animation-delay:.12s}
@keyframes lineUp{from{transform:translateY(105%)}to{transform:none}}
.hero-ctas{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-5)}
.hero-meta{margin-top:var(--space-5);font-size:var(--fs-caption);letter-spacing:.08em;color:var(--ink-300)}
.hero-meta b{color:var(--gold-300);font-weight:var(--fw-medium)}

/* marquee */
.marquee{border-block:1px solid var(--border);padding:var(--space-4) 0;overflow:hidden;white-space:nowrap}
.marquee .track{display:inline-flex;gap:var(--space-8);animation:marquee 40s linear infinite;font:italic var(--fw-light) 1.5rem/1.2 var(--font-display);color:var(--text-soft)}
.marquee span::after{content:"✦";font-style:normal;font-size:.625rem;color:var(--accent);margin-left:var(--space-8);vertical-align:middle}
@keyframes marquee{to{transform:translateX(-50%)}}

/* sections */
section{position:relative}
.sec-head{margin-bottom:var(--space-6)}
.sec-head .h2{margin:var(--space-3) 0 var(--space-4)}
.stack,.location,.updates,.specs-teaser,.enquire{padding:var(--section-y) 0}
.reveal{opacity:0;transform:translateY(24px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}
.reveal.in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}

/* stack / 3D */
.stack-grid{display:grid;gap:var(--space-5)}
.stack-text{display:contents}
.stack-text .sec-head{order:0;margin-bottom:0}
.stack-text .levels{order:2}
.levels{list-style:none;border-top:1px solid var(--border-subtle)}
.levels li{display:grid;grid-template-columns:36px 1fr auto;align-items:baseline;gap:var(--space-2);min-height:var(--tap-min);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;transition:color var(--dur-base),padding var(--dur-base)}
.levels li .n{font:var(--fw-regular) 1.125rem/1 var(--font-display)}
.levels li .t{font-size:var(--fs-small)}
.levels li .lv{font-size:.625rem;letter-spacing:.14em;text-transform:uppercase}
.levels li[aria-selected="true"]{color:var(--text)}
.levels li[aria-selected="true"] .n{color:var(--accent)}
.stack-stage{position:relative;height:72svh;min-height:420px;max-height:640px;margin:0 calc(var(--page-x) * -1);background:radial-gradient(80% 70% at 50% 60%,#0f1420,var(--ink-950));order:1}
.stack-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y}
.modes{position:absolute;left:var(--space-3);top:var(--space-3);z-index:2;display:flex;border:1px solid var(--border);background:var(--surface-glass)}
.modes button{border:0;background:none;color:var(--text-muted);font:var(--fw-medium) .625rem/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;padding:0 12px;min-height:40px;cursor:pointer}
.modes button.on{background:var(--accent);color:var(--on-accent)}
.callout{position:absolute;left:var(--space-3);right:var(--space-3);bottom:var(--space-3);z-index:2;background:var(--surface-glass);backdrop-filter:blur(var(--blur-glass));-webkit-backdrop-filter:blur(var(--blur-glass));border:1px solid var(--accent);padding:var(--space-4)}
.callout .k{font-size:.625rem;letter-spacing:.3em;text-transform:uppercase;color:var(--accent)}
.callout h3{font:var(--fw-regular) 1.5rem/1.1 var(--font-display);margin:var(--space-2) 0}
.callout p:not(.k){font-size:var(--fs-small);color:var(--text-soft);line-height:1.55}
.stage-hint{display:none;position:absolute;right:var(--space-3);top:var(--space-4);font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);z-index:1}
.stage-fallback{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;opacity:.6}

/* day arch */
.day{padding-top:var(--section-y);overflow:hidden}
.day-head{text-align:center;margin-bottom:var(--space-6)}
.day-head .h2{margin-top:var(--space-3)}
.arch{position:relative;margin:0 auto;width:100%;overflow:hidden;clip-path:inset(0 6% 0 6% round 50vw 50vw 0 0);transition:clip-path 1.2s var(--ease-out)}
.arch.open{clip-path:inset(0 0 0 0 round 0 0 0 0)}
.arch img{width:100%;aspect-ratio:4/5;object-fit:cover;transform:scale(1.12);transition:transform 1.6s var(--ease-out)}
.arch.open img{transform:scale(1)}
.arch figcaption{position:absolute;left:var(--page-x);bottom:var(--space-4);font-size:.625rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-300);text-shadow:0 1px 10px rgba(0,0,0,.6)}

/* location */
.location-grid{display:grid;gap:var(--space-7)}
.stats{display:grid;grid-template-columns:1fr 1fr;margin-bottom:var(--space-5)}
.stat{padding:var(--space-4) var(--space-3) var(--space-4) 0;border-top:1px solid var(--border)}
.stat .n{font:var(--fw-light) 2.75rem/1 var(--font-display)}
.stat .n sup{font-size:.4em;color:var(--accent);margin-left:2px;vertical-align:top;position:relative;top:.5em}
.stat p{font-size:var(--fs-caption);color:var(--text-muted);margin-top:var(--space-2);line-height:1.5}
.map{position:relative;aspect-ratio:1;background:radial-gradient(90% 70% at 55% 55%,#111725,var(--ink-950));border:1px solid var(--border)}
.map svg{width:100%;height:100%}
.map figcaption{position:absolute;right:var(--space-3);bottom:var(--space-2);font-size:.625rem;color:var(--text-muted)}
.map .road{fill:none;stroke:var(--gold-500);stroke-width:1.5;stroke-linecap:round}
.map .road.casing{stroke:#1a2030}
.map .metro{fill:none;stroke:var(--gold-300);stroke-width:2.5;stroke-dasharray:2 8;stroke-linecap:round;opacity:.8}
.map text{font:500 13px var(--font-body);fill:#bdb9b0;letter-spacing:.14em}
.map .lbl{font:italic 26px var(--font-display);fill:var(--paper-100);letter-spacing:0}
.map .site{fill:var(--gold-500)}
.map .node{fill:var(--ink-950);stroke:var(--gold-300);stroke-width:2}
.map .bldg{fill:none;stroke:var(--ink-400)}
.map .pulse{fill:none;stroke:var(--gold-500);transform-origin:346px 400px;animation:pulse 2.4s ease-out infinite}
@keyframes pulse{from{transform:scale(.6);opacity:.9}to{transform:scale(2.6);opacity:0}}

/* construction rail (native swipe) */
.updates-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-3)}
.rail{display:flex;gap:var(--space-4);overflow-x:auto;scroll-snap-type:x mandatory;padding:var(--space-2) var(--page-x) var(--space-4);scroll-padding-inline:var(--page-x);scrollbar-width:thin;scrollbar-color:var(--border) transparent}
.update-card{flex:0 0 80%;scroll-snap-align:start}
.update-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.update-card .date{margin-top:var(--space-3);font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.update-card h3{font:var(--fw-regular) 1.5rem/1.15 var(--font-display);margin:var(--space-1) 0}
.update-card p:last-child{font-size:var(--fs-small);color:var(--text-muted)}
.update-grid{display:grid;gap:var(--space-7);padding-bottom:var(--section-y)}
.update-grid .update-card{flex:none}

/* specs */
.specs-teaser{background:var(--bg);color:var(--text)}
.specs-grid{display:grid;gap:var(--space-6)}
.spec-list{border-top:1px solid var(--text)}
.spec-list div{padding:var(--space-4) 0;border-bottom:1px solid var(--border)}
.spec-list dt{font:var(--fw-semibold) .6875rem/1.4 var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--accent-text)}
.spec-list dd{margin-top:var(--space-1);color:var(--text-soft)}

/* enquire + forms */
.enquire{border-top:1px solid var(--border)}
.enquire-grid{display:grid;gap:var(--space-7)}
.enquire .h2{margin:var(--space-3) 0 var(--space-4)}
.enquire-links{display:grid;gap:var(--space-2);margin-top:var(--space-5)}
.enquire-links a{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap-min);text-decoration:none;color:var(--text-soft)}
.form-card{background:var(--bg-elevated);border:1px solid var(--border);padding:var(--space-6) var(--space-5)}
.form-card .h3{margin-bottom:var(--space-5)}
.lead-form{display:grid;gap:var(--space-5)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.field{display:grid;gap:var(--space-2)}
.field label{font:var(--fw-medium) .6875rem/1.4 var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted)}
.field .opt{letter-spacing:.06em;text-transform:none}
.field input,.field select{width:100%;min-height:var(--tap-min);background:transparent;border:0;border-bottom:1px solid rgba(243,239,231,.25);border-radius:var(--radius-1);padding:var(--space-2) 0;color:var(--text);font:var(--fw-light) 1.0625rem/1.4 var(--font-body);outline:none;transition:border-color var(--dur-base);-webkit-appearance:none;appearance:none}
[data-theme="paper"] .field input,[data-theme="paper"] .field select{border-bottom-color:rgba(25,25,25,.25)}
.field select{background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.field input:focus,.field select:focus{border-color:var(--accent)}
.field select option{background:var(--ink-800);color:var(--paper-100)}
.field .hint{font-size:var(--fs-caption);color:var(--text-muted)}
.field [data-error]{display:none}
.field.is-error input{border-color:var(--danger-500)}
.field.is-error [data-error],.field.is-error .hint{display:block;color:var(--danger-500)}
.tel{display:flex;gap:var(--space-3);align-items:flex-end}
.tel span{min-height:var(--tap-min);display:flex;align-items:center;border-bottom:1px solid rgba(243,239,231,.25);color:var(--text-muted);padding-right:var(--space-2)}
.consent{display:flex;gap:var(--space-3);align-items:flex-start;font-size:var(--fs-caption);color:var(--text-muted);line-height:1.5;cursor:pointer}
.consent input{width:20px;height:20px;accent-color:var(--gold-500);flex:0 0 auto;margin-top:1px}
.consent.is-error{color:var(--danger-500)}
.form-status{font-size:var(--fs-small);min-height:1em}
.form-status.err{color:var(--danger-500)}
.form-success{text-align:center;padding:var(--space-5) 0}
.form-success .tick{width:56px;height:56px;border:1px solid var(--accent);border-radius:var(--radius-round);display:grid;place-items:center;margin:0 auto var(--space-4);color:var(--accent);font-size:1.25rem}
.form-success h3{font:var(--fw-regular) var(--fs-h3)/1.1 var(--font-display)}
.form-success p{color:var(--text-soft);margin:var(--space-3) auto var(--space-5);max-width:28rem;font-size:var(--fs-small)}

/* bottom sheet dialog (phones) → centred dialog (desktop) */
.sheet{position:fixed;inset:auto 0 0 0;margin:0;width:100%;max-width:none;max-height:92svh;border:0;border-top:1px solid var(--gold-500);padding:0;background:var(--ink-900);color:var(--paper-100);overflow:auto}
.sheet::backdrop{background:rgba(8,9,13,.7)}
.sheet[open]{animation:sheetUp var(--dur-slow) var(--ease-out)}
@keyframes sheetUp{from{transform:translateY(100%)}to{transform:none}}
.sheet-inner{padding:var(--space-5) var(--page-x) var(--space-7);position:relative}
.sheet .grab{width:40px;height:4px;background:var(--ink-600);margin:0 auto var(--space-5);border-radius:2px}
.sheet .h3{margin:var(--space-2) 0 var(--space-5)}
.sheet-close{position:absolute;right:var(--space-3);top:var(--space-3);width:var(--tap-min);height:var(--tap-min);display:grid;place-items:center;background:none;border:1px solid rgba(201,169,110,.24);color:var(--paper-100);cursor:pointer}
body.sheet-open{overflow:hidden}

/* page hero + inner layouts */
.page-hero{padding:calc(var(--space-9) + 20px) 0 var(--space-7)}
.is-inner .page-hero{padding-top:var(--space-8)}
.page-hero .h1{margin:var(--space-3) 0 var(--space-4)}
.feature-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.caption{font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-top:var(--space-3)}
.prose-grid,.two-col,.contact-grid,.plan-wrap{display:grid;gap:var(--space-7);padding-top:var(--space-7);padding-bottom:var(--section-y)}
.prose{max-width:40rem}
.prose p,.prose ul{margin-bottom:var(--space-4);color:var(--text-soft);font-size:var(--fs-lead);line-height:1.7}
.prose ul{padding-left:1.2em}
.prose h2{margin:var(--space-6) 0 var(--space-3)}
.is-inner .prose:only-child,.wrap.prose{padding-bottom:var(--section-y)}
.tick-list,.legend,.adv{list-style:none;margin-top:var(--space-4);display:grid;gap:var(--space-1)}
.tick-list li{padding:var(--space-2) 0 var(--space-2) 28px;position:relative;border-bottom:1px solid var(--border-subtle)}
.tick-list li::before{content:"";position:absolute;left:2px;top:1.05em;width:12px;height:6px;border-left:1.5px solid var(--accent);border-bottom:1.5px solid var(--accent);transform:rotate(-45deg)}
.legend,.adv{counter-reset:l}
.legend li,.adv li{counter-increment:l;display:grid;grid-template-columns:36px 1fr;padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--fs-small)}
.legend li::before,.adv li::before{content:counter(l,decimal-leading-zero);font:var(--fw-regular) 1rem/1.4 var(--font-display);color:var(--accent)}
.levels-static{padding-bottom:var(--section-y)}
.levels-static .h2{margin:var(--space-3) 0 var(--space-6)}
.level-cards{display:grid;gap:var(--space-4)}
.level-card{border:1px solid var(--border);padding:var(--space-5)}
.level-card .k{font-size:.625rem;letter-spacing:.3em;text-transform:uppercase;color:var(--accent)}
.level-card h3{font:var(--fw-regular) 1.625rem/1.1 var(--font-display);margin:var(--space-2) 0}
.level-card p{font-size:var(--fs-small);color:var(--text-soft)}
.plan-fig img{width:100%;border:1px solid var(--border)}
.plan-fig figcaption{font-size:var(--fs-caption);color:var(--text-muted);margin-top:var(--space-2)}
.floorplans{padding-bottom:var(--section-y)}
.floorplans .lead{margin:var(--space-3) 0 var(--space-5)}
.map-embed iframe{width:100%;aspect-ratio:4/3;border:1px solid var(--border);filter:grayscale(.4) invert(.9) hue-rotate(180deg);margin-bottom:var(--space-3)}
.map-embed.wide{padding-bottom:var(--section-y)}
.contact-cards{display:grid;gap:var(--space-3)}
.contact-card{display:flex;gap:var(--space-4);align-items:flex-start;padding:var(--space-4);border:1px solid var(--border-subtle);text-decoration:none;font-size:var(--fs-small);color:var(--text-soft)}
.contact-card .icon{color:var(--accent);margin-top:2px}
.contact-card b{display:block;color:var(--text);font-weight:var(--fw-semibold);margin-bottom:2px}
a.contact-card:hover{border-color:var(--accent)}
.gallery-grid{display:grid;gap:var(--space-5);padding-bottom:var(--section-y)}
.g-item img{width:100%;aspect-ratio:4/3;object-fit:cover}
.g-item figcaption{display:flex;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-2);font-size:var(--fs-small)}
.g-item .kind{font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.lightbox{margin:auto;max-width:96vw;max-height:92svh;border:1px solid var(--border);background:var(--ink-950);color:var(--paper-100);padding:var(--space-3)}
.lightbox::backdrop{background:rgba(8,9,13,.92)}
.lightbox img{max-height:78svh;width:auto;margin:0 auto}
.lightbox p{text-align:center;font-size:var(--fs-small);margin-top:var(--space-2)}

/* footer */
.site-footer{border-top:1px solid var(--border);padding:var(--space-8) 0 var(--space-6);background:var(--ink-950);color:var(--paper-100)}
.footer-grid{display:grid;gap:var(--space-5);font-size:var(--fs-small)}
.footer-grid img{height:32px;width:auto;margin-bottom:var(--space-3)}
.footer-grid .muted{color:var(--ink-300)}
.site-footer .rera{border:1px solid rgba(201,169,110,.24);padding:var(--space-4);color:var(--ink-200)}
.site-footer .rera b{display:block;color:var(--gold-300);letter-spacing:.14em;font-weight:var(--fw-semibold);margin-bottom:4px}
.footer-contact{display:grid;gap:var(--space-2)}
.footer-contact a{display:flex;align-items:center;gap:var(--space-3);min-height:40px;text-decoration:none;color:var(--ink-200)}
.footer-contact .icon{color:var(--gold-500)}
.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5)}
.footer-links a{color:var(--ink-200);min-height:40px;display:inline-flex;align-items:center}
.site-footer .fine{color:var(--ink-300)}

/* ================== ≥600px ================== */
@media (min-width:600px){
  .hero-ctas{flex-direction:row;flex-wrap:wrap}
  .stats{grid-template-columns:repeat(4,1fr)}
  .update-card{flex-basis:46%}
  .update-grid,.gallery-grid{grid-template-columns:1fr 1fr}
  .level-cards{grid-template-columns:1fr 1fr}
  .contact-cards{grid-template-columns:1fr 1fr}
  .arch img{aspect-ratio:16/10}
  .sheet{inset:0;margin:auto;width:min(520px,92vw);max-height:90svh;border:1px solid var(--gold-500)}
  .sheet .grab{display:none}
  .sheet[open]{animation:fadeIn var(--dur-base) var(--ease-out)}
  @keyframes fadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
}

/* ================== ≥900px: desktop layout ================== */
@media (min-width:900px){
  body{padding-bottom:0}
  .brand img{height:38px}
  .nav{display:block;margin-left:auto}
  .nav ul{display:flex;gap:var(--space-5);list-style:none}
  .nav a{font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--paper-100);opacity:.78;padding:var(--space-2) 0;border-bottom:1px solid transparent}
  .nav a:hover,.nav a[aria-current="page"]{opacity:1;color:var(--gold-300);border-color:var(--gold-500)}
  .nav-cta{display:inline-flex;border-color:var(--gold-500);color:var(--gold-300)}
  .nav-cta:hover{background:var(--gold-500);color:var(--ink-950)}
  .burger,.menu{display:none!important}
  .actionbar{left:auto;right:var(--space-5);bottom:var(--space-5);grid-template-columns:1fr;width:auto}
  .actionbar a:not([href*="wa.me"]){display:none}
  .actionbar a{width:64px;min-height:64px;border:0!important}
  .hero-content{padding-bottom:var(--space-9)}
  .hero .lead{font-size:1.125rem}
  .stack-grid{grid-template-columns:minmax(300px,380px) 1fr;align-items:center;gap:var(--space-8)}
  .stack-text{display:block}
  .stack-text .sec-head{margin-bottom:var(--space-6)}
  .stage-hint{display:block}
  .stack-stage{order:0;margin:0;height:min(78vh,720px);max-height:none;border:1px solid var(--border-subtle)}
  .callout{left:auto;right:var(--space-5);bottom:var(--space-5);width:320px;padding:var(--space-5)}
  .location-grid{grid-template-columns:1fr 1.1fr;align-items:center}
  .arch{width:92%;clip-path:inset(0 30% 0 30% round 40vw 40vw 0 0)}
  .arch img{aspect-ratio:16/8}
  .update-card{flex-basis:30%}
  .rail{padding-left:max(var(--page-x),calc((100vw - var(--content-max)) / 2 + var(--page-x)));scroll-padding-left:max(var(--page-x),calc((100vw - var(--content-max)) / 2 + var(--page-x)))}
  .specs-grid{grid-template-columns:1fr 1.4fr;align-items:start}
  .enquire-grid{grid-template-columns:1.1fr 1fr;align-items:center}
  .form-card{padding:var(--space-7)}
  .prose-grid{grid-template-columns:1.4fr 1fr}
  .two-col,.contact-grid{grid-template-columns:1fr 1fr;align-items:start}
  .plan-wrap{grid-template-columns:1.5fr 1fr;align-items:start}
  .update-grid,.gallery-grid{grid-template-columns:repeat(3,1fr)}
  .level-cards{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1.2fr 1fr 1fr;align-items:start}
  .footer-links,.site-footer .fine{grid-column:1/-1}
  .page-hero,.is-inner .page-hero{padding:var(--space-9) 0 var(--space-7)}
  .feature-img img{aspect-ratio:21/9}
}
@media (min-width:1200px){
  .contact-cards{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){
  .marquee .track,.map .pulse{animation:none}
  .hero .ln>span{animation:none}
  .reveal{opacity:1;transform:none}
  .arch,.arch img{transition:none}
}

.form-success:focus{outline:none}
[data-theme="paper"] .eyebrow{color:var(--accent-text)} /* terracotta 500 is 4.3:1 at 11px; 600 passes AA */
