/* Hallmark · macrostructure: Ledger (section-by-section redesign) · genre: editorial
 * tone: luxury · anchor hue: 50 (warm espresso → terracotta)
 * type: Playfair Display (display) + Jost (body) — 2 families, carried from the hero
 *
 * 2026-09-22 · redesign: .tour-banner · .enquiry · footer
 *   tour-banner — H2 Split Diptych (ratio=7/5, right=proof column, divider=vertical hairline)
 *                 + F3 Tabular spec sheet (cols=figure/name/note, rules=every row, nums=tabular)
 *   enquiry     — F3 Tabular spec sheet (cols=2 key/value, rules=every row, nums=tabular)
 *   footer      — Ft1 Mast-headed (wordmark size=xl, tagline=display statement, links=index column)
 *                 on --color-deep; was a 3-col sand band
 *   eyebrows dropped (gate 54 / anti-patterns § Eyebrow on every section)
 *   contrast: pass (40–41) · honest: pass (46) · tokens: pass (48) · chrome: n/a (47)
 *   nav: unchanged · footer: Ft1 · slop: pass (42–45)
 *   responsive: pass (49) · mobile: pass (34, 50, 52–56) @ 320/375/414/768/1920
 * pre-emit critique: P5 H5 E5 S5 R4 V4
 */
:root{
--font-display:"Playfair Display",Georgia,serif;
--font-body:"Jost",ui-sans-serif,system-ui,sans-serif;
--color-paper:oklch(97% .010 78);--color-paper-2:oklch(94.5% .014 74);--color-paper-3:oklch(91% .020 72);
--color-rule:oklch(85% .020 68);--color-rule-soft:oklch(89.5% .016 70);
--color-ink:oklch(30% .048 48);--color-ink-2:oklch(47% .036 50);--color-muted:oklch(52.5% .032 52);
--color-accent:oklch(54.5% .128 44);--color-accent-deep:oklch(46% .126 42);--color-accent-2:oklch(68% .100 55);
--color-deep:oklch(26% .028 58);--color-deep-2:oklch(22% .026 56);--color-deep-rust:oklch(30% .045 40);
--color-on-deep:oklch(95.5% .012 80);--color-on-deep-2:oklch(80% .020 72);--color-on-deep-3:oklch(66% .022 70);
--color-focus:oklch(58% .160 45);
--color-accent-on-deep:oklch(79% .098 62);
--color-rule-on-deep:oklch(95.5% .012 80/.22);--color-rule-on-deep-2:oklch(95.5% .012 80/.13);
--color-green:oklch(33% .050 148);--color-green-2:oklch(27.5% .044 150);
--color-on-green:oklch(96% .014 112);--color-on-green-2:oklch(87% .026 138);--color-on-green-3:oklch(78% .028 135);
--color-rule-on-green:oklch(96% .014 112/.26);--color-rule-on-green-2:oklch(96% .014 112/.15);
--shadow-deep:0 26px 62px oklch(18% .030 150/.42);
--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:9rem;
--ease-out:cubic-bezier(.22,1,.36,1);--ease-in:cubic-bezier(.55,0,1,.45);--ease-in-out:cubic-bezier(.65,0,.35,1);
--dur-fast:160ms;--dur-mid:320ms;--dur-slow:620ms;
--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-modal:400;--z-toast:500;--z-tooltip:600;
--rule-hair:1px solid var(--color-rule);--rule-hair-soft:1px solid var(--color-rule-soft);
--radius-sm:2px;--radius-md:3px;
--ink:var(--color-ink);--charcoal:var(--color-deep);--brick:var(--color-accent);--brick-deep:var(--color-deep-rust);--clay:var(--color-accent-2);--sand:var(--color-paper-3);--cream:var(--color-paper-2);--paper:var(--color-paper);--line:var(--color-rule);--white:var(--color-on-deep);--green:var(--color-green);--sage:oklch(58% .035 140);
--shadow:0 22px 60px oklch(30% .048 48/.13)
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px;overflow-x:clip}body{margin:0;background:var(--color-paper);color:var(--color-ink-2);font-family:var(--font-body);font-weight:400;font-size:16.5px;line-height:1.72;letter-spacing:.004em;overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.menu-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.skip{position:fixed;top:-100px;left:10px;z-index:99;background:var(--color-on-deep);padding:12px 18px}.skip:focus{top:10px}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;transition:none}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:15px;line-height:1.25;letter-spacing:.02em}.brand small{font-family:var(--font-body);display:block;font-size:10px;text-transform:uppercase;letter-spacing:.2em;margin-top:5px;color:var(--color-ink-2)}.brand-mark{width:38px;height:38px;border:1px solid var(--brick);border-radius:50%;display:grid;place-items:center;color:var(--brick);font-size:20px}
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:50px;padding:13px 22px;border:1px solid transparent;border-radius:1px;font-weight:600;font-size:13px;letter-spacing:.02em;cursor:pointer;transition:transform .22s,box-shadow .22s,color .22s}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.btn-dark{background:var(--charcoal);color:var(--color-on-deep)}.btn-dark:hover{background:var(--color-deep-2)}.btn-brick,.btn-gradient{background:linear-gradient(115deg,oklch(34% .034 52) 0%,oklch(46% .078 46) 58%,oklch(57% .075 52) 100%);color:var(--color-on-deep);border-color:oklch(63% .060 52);box-shadow:0 10px 26px rgba(55,49,45,.17)}.btn-brick:before,.btn-gradient:before{content:"";position:absolute;top:-100%;bottom:-100%;left:-50%;width:32%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent);transform:skewX(-18deg);transition:left .55s}.btn-brick:hover:before,.btn-gradient:hover:before{left:118%}.btn-brick:hover,.btn-gradient:hover{box-shadow:0 14px 32px rgba(55,49,45,.23)}.btn span{position:relative}.text-link{display:inline-flex;gap:25px;align-items:center;border-bottom:1px solid currentColor;padding:10px 0;font-size:14px}.light{color:var(--color-on-deep)}
.kicker{font-family:var(--font-body);font-size:11.5px;line-height:1.4;font-weight:500;letter-spacing:.24em;text-transform:uppercase;margin:0 0 22px;color:var(--color-accent-deep)}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.06;margin:0;color:var(--heading,var(--color-ink));overflow-wrap:break-word;min-width:0}.hero,.amenities,.sustainability,.config-card,.tour-banner,.decision-strip,.nav-links{--heading:var(--color-on-deep)}h1{font-size:clamp(52px,6.6vw,100px);letter-spacing:-.028em}h2{font-size:clamp(40px,4.8vw,68px);letter-spacing:-.022em}h2 em,h1 em,h3 em{font-style:normal;font-weight:500;color:var(--color-accent)}h3{font-size:30px;letter-spacing:-.015em}.section{padding:105px 7%}
.proof-bar{display:grid;grid-template-columns:1.38fr 1fr 1fr 1.12fr;gap:0 clamp(24px,3.4vw,56px);padding:clamp(36px,4.4vw,54px) 7% clamp(40px,5vw,58px);background:var(--color-deep);color:var(--color-on-deep)}.proof-bar>div{padding-top:20px;border-top:1px solid oklch(95.5% .012 80/.2)}.proof-bar>div:first-child{padding-top:19px;border-top:2px solid var(--color-accent-2)}.proof-bar strong{display:block;font-family:var(--font-display);font-weight:400;font-size:clamp(30px,3.1vw,44px);line-height:1.06;letter-spacing:-.02em;color:var(--color-on-deep)}.proof-bar>div:first-child strong{font-size:clamp(38px,4.3vw,62px);color:var(--color-accent-2)}.proof-bar span{display:block;margin-top:11px;max-width:22ch;font-size:11.5px;line-height:1.5;letter-spacing:.17em;text-transform:uppercase;color:var(--color-on-deep-2)}
.rarity-section{background:var(--color-paper-2)}.rarity-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:0 clamp(40px,5.5vw,96px);align-items:start;margin-bottom:clamp(42px,4.6vw,62px)}.rarity-head .kicker{grid-column:1/-1;margin-bottom:24px}.rarity-head h2{max-width:15ch}.rarity-head>p:last-child{max-width:42ch;margin:6px 0 0;padding-top:18px;border-top:2px solid var(--color-accent);font-size:16px;line-height:1.7;color:var(--color-ink-2)}.rarity-grid{display:grid;grid-template-columns:1fr;border-bottom:1px solid var(--color-rule)}.rarity-card{display:grid;grid-template-columns:auto minmax(0,.82fr) minmax(0,1.5fr);gap:clamp(18px,2.6vw,44px);align-items:baseline;min-height:0;padding:clamp(24px,2.5vw,32px) 0;border:0;border-top:1px solid var(--color-rule);background:none}.rarity-card:first-child{border-top:2px solid var(--color-accent)}.rarity-card>span{min-width:3.4ch;font-size:11.5px;font-weight:500;letter-spacing:.2em;color:var(--color-accent)}.rarity-card strong{display:block;margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(23px,2.05vw,30px);line-height:1.16;letter-spacing:-.016em;color:var(--color-ink)}.rarity-card p{margin:0;max-width:54ch;font-size:15.5px;line-height:1.72;color:var(--color-ink-2)}.rarity-action{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:clamp(22px,3.4vw,56px);padding-top:clamp(34px,3.6vw,46px)}.rarity-action>span{max-width:42ch;font-size:13px;line-height:1.6;color:var(--color-muted)}
.intro{position:relative;display:grid;grid-template-columns:.9fr 1.05fr;gap:100px;align-items:center;overflow:hidden}.intro-copy>p:not(.kicker){max-width:510px;color:var(--color-ink-2);font-size:17px}.mini-features{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}.mini-features span{border:1px solid var(--line);padding:8px 11px;font-size:12px}.arch-frame{margin:0}.arch-frame img{width:100%;height:620px;object-fit:cover;border-radius:50% 50% 2px 2px}.arch-frame figcaption,.nature-photo figcaption,.residence-visual figcaption{position:static;padding:11px 3px 0;color:var(--color-ink-2);font-size:12px;text-align:left}.kingfisher-cutout{position:absolute;z-index:2;width:120px;right:2.5%;bottom:77px;filter:drop-shadow(0 11px 12px rgba(39,33,29,.18));transform:rotate(2deg)}.butterfly-cutout{position:absolute;z-index:2;width:72px;right:44%;top:14%;filter:drop-shadow(0 8px 8px rgba(39,33,29,.18));animation:float 4.5s ease-in-out infinite}@keyframes float{50%{transform:translate(8px,-9px) rotate(5deg)}}
.residences{background:var(--cream)}.section-title{display:grid;grid-template-columns:1.25fr .7fr;gap:80px;align-items:end;margin-bottom:50px}.section-title .kicker{grid-column:1/-1;margin-bottom:-45px}.section-title>p:last-child{color:var(--color-ink-2);margin:0}.residence-visual{margin:0}.residence-visual img{width:100%;height:580px;object-fit:cover;box-shadow:var(--shadow)}.configuration-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:35px}.config-card{padding:38px;background:var(--charcoal);color:var(--color-on-deep)}.config-card.warm{background:var(--brick-deep)}.config-card .kicker{color:var(--color-accent-2)}.config-card h3{font-size:38px;margin-bottom:22px}.config-card dl{margin:0}.config-card dl>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.18)}.config-card dt{color:var(--color-on-deep-2)}.config-card dd{margin:0;font-weight:600;text-align:right}.config-card a{display:inline-flex;gap:25px;margin-top:28px;border-bottom:1px solid oklch(95.5% .012 80/.63);padding-bottom:7px;font-size:14px}.spec-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.spec-strip span{border:1px solid var(--line);background:var(--color-on-deep);padding:10px 14px;font-size:13px}
.nature-section{display:grid;grid-template-columns:1.08fr .92fr;gap:90px;align-items:center;background:var(--color-paper-2)}.nature-photo{margin:0}.nature-photo img{width:100%;height:620px;object-fit:cover;border-radius:2px 48% 2px 2px}.nature-list{margin-top:38px}.nature-list>div{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--line)}.nature-list b{font-family:var(--font-display);color:var(--brick);font-size:20px}.nature-list span{color:var(--color-ink-2)}.nature-list strong{display:block;color:var(--ink);font-family:var(--font-display);font-size:23px;font-weight:400;margin-bottom:4px}
.amenities{background:var(--charcoal);color:var(--color-on-deep)}.light-title{display:block}.light-title .kicker{margin-bottom:22px;color:var(--color-on-deep-2)}.light-title h2 em{color:var(--color-on-deep-2)}.amenity-collage{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:1fr 1fr;gap:18px;height:680px;margin-top:50px}.amenity-collage figure{margin:0;overflow:hidden;display:grid;grid-template-rows:1fr auto}.amenity-collage img{width:100%;height:100%;min-height:0;object-fit:cover;transition:transform .7s}.amenity-collage figure:hover img{transform:scale(1.025)}.amenity-main{grid-row:1/3}.amenity-collage figcaption{padding:10px 2px 0;font-size:13px;color:var(--color-on-deep-2)}.amenity-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.amenity-list span{border:1px solid oklch(95.5% .012 80/.22);padding:9px 13px;font-size:13px;color:var(--color-on-deep-2)}
.gallery{position:relative;background:linear-gradient(180deg,var(--paper) 0%,var(--color-paper-2) 100%)}.gallery-head{display:grid;grid-template-columns:1.12fr .88fr;gap:34px 90px;align-items:end;margin-bottom:40px;padding-bottom:30px;border-bottom:1px solid var(--line)}.gallery-head h2{font-size:clamp(40px,4.5vw,66px);line-height:1.04;letter-spacing:-.032em}.gallery-head h2 em{font-style:normal;font-weight:500;color:var(--color-accent)}.gallery-head-aside{max-width:400px;justify-self:end}.gallery-head-aside p{margin:0 0 20px;color:var(--color-ink-2);font-size:15px;line-height:1.7}.gallery-hint{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:11.5px;font-weight:400;letter-spacing:.19em;text-transform:uppercase;color:var(--brick)}.gallery-hint svg{flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:clamp(300px,29vw,410px) clamp(230px,22vw,310px);gap:14px}.gallery-item{position:relative;border:0;padding:0;margin:0;background:var(--color-paper-3);overflow:hidden;cursor:pointer;text-align:left}.gallery-item.g1{grid-column:1/8;grid-row:1}.gallery-item.g2{grid-column:8/13;grid-row:1}.gallery-item.g3{grid-column:1/5;grid-row:2}.gallery-item.g4{grid-column:5/9;grid-row:2}.gallery-item.g5{grid-column:9/13;grid-row:2}.gallery-item.g3 img{object-position:24% center}.gallery-item.g4 img{object-position:64% center}.gallery-item.g5 img{object-position:58% center}.gallery-item img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .85s cubic-bezier(.2,.7,.25,1),filter .5s}.gallery-label{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:baseline;gap:12px;padding:52px 20px 17px;background:linear-gradient(to top,rgba(29,25,22,.82) 0%,rgba(29,25,22,.34) 48%,transparent 100%);color:var(--color-on-deep);font-family:var(--font-body);font-size:12.5px;font-weight:400;letter-spacing:.17em;text-transform:uppercase;transition:transform .5s cubic-bezier(.2,.7,.25,1)}.gallery-label em{font-family:var(--font-display);font-style:normal;font-size:11.5px;letter-spacing:.12em;color:var(--color-accent-2)}.gallery-item::after{content:"+";position:absolute;top:16px;right:16px;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.6);border-radius:50%;background:rgba(32,27,24,.34);color:var(--color-on-deep);font-size:23px;font-weight:300;line-height:1;opacity:0;transform:scale(.82);transition:opacity .4s,transform .4s cubic-bezier(.2,.7,.25,1)}.gallery-item:focus-visible::after{opacity:1;transform:none}.gallery-grid .reveal:nth-child(2){transition-delay:.08s}.gallery-grid .reveal:nth-child(3){transition-delay:.16s}.gallery-grid .reveal:nth-child(4){transition-delay:.24s}.gallery-grid .reveal:nth-child(5){transition-delay:.32s}
@media(hover:hover){.gallery-item:hover img{transform:scale(1.055);filter:brightness(.86)}.gallery-item:hover .gallery-label{transform:translateY(-4px)}.gallery-item:hover::after{opacity:1;transform:none}}
.caption{max-width:760px;margin:34px 0 0;padding-top:20px;border-top:1px solid var(--line);font-family:var(--font-body);font-size:12px;font-weight:300;line-height:1.7;letter-spacing:.02em;color:var(--color-muted)}
@media(max-width:1080px){.gallery-head{gap:28px 50px;margin-bottom:34px}.gallery-head-aside{max-width:340px}.gallery-head-aside p{font-size:14px}}
@media(max-width:860px){.gallery-head{grid-template-columns:1fr;align-items:start}.gallery-head-aside{justify-self:start;max-width:560px}.gallery-grid{grid-template-rows:clamp(260px,38vw,340px) clamp(200px,28vw,250px) clamp(200px,28vw,250px);gap:12px}.gallery-item.g1{grid-column:1/13;grid-row:1}.gallery-item.g2{grid-column:1/7;grid-row:2}.gallery-item.g3{grid-column:7/13;grid-row:2}.gallery-item.g4{grid-column:1/7;grid-row:3}.gallery-item.g5{grid-column:7/13;grid-row:3}}
.sustainability{background:var(--brick-deep);color:var(--color-on-deep)}.sustain-copy{max-width:870px}.sustain-copy .kicker{color:var(--color-on-deep-2)}.sustain-copy h2 em{color:var(--color-on-deep-2)}.sustain-copy>p:not(.kicker){color:var(--color-on-deep-2)}.sustain-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px;border-top:1px solid oklch(95.5% .012 80/.24)}.sustain-grid article{padding:30px 28px 0;border-left:1px solid oklch(95.5% .012 80/.24)}.sustain-grid article:first-child{border-left:0;padding-left:0}.sustain-grid span{font-size:12px;color:var(--color-on-deep-2)}.sustain-grid h3{font-size:24px;margin:15px 0}.sustain-grid p{font-size:14px;color:var(--color-on-deep-2)}
.connectivity{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.connect-copy>p:not(.kicker){max-width:480px;color:var(--color-ink-2);margin:26px 0 30px}.distance-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.distance-list>div{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:125px}.distance-list strong{display:block;font-family:var(--font-display);font-size:28px;color:var(--brick)}.distance-list span{display:block;font-size:13px;color:var(--color-ink-2)}
.tour-banner{position:relative;overflow:hidden;background:var(--charcoal);color:var(--color-on-deep-2);padding:clamp(64px,6.2vw,92px) 7% clamp(48px,4.4vw,72px)}.tour-status{display:flex;align-items:center;gap:12px;width:min(1240px,100%);margin:0 auto clamp(32px,3.2vw,44px);font-size:11.5px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--color-on-deep-2)}.tour-status::after{content:"";flex:1;height:1px;background:var(--color-rule-on-deep)}.tour-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--color-accent-on-deep)}.tour-inner{width:min(1240px,100%);margin:0 auto clamp(48px,4.8vw,64px);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5.4fr);gap:clamp(32px,4.4vw,72px);align-items:stretch}.tour-copy{display:flex;flex-direction:column}.tour-copy h2{font-size:clamp(42px,4.9vw,69px)}.tour-lede{max-width:46ch;margin:clamp(24px,2.2vw,32px) 0 clamp(32px,3vw,40px);font-size:16.5px;line-height:1.7;color:var(--color-on-deep-2)}.tour-act{margin-top:auto;padding-top:clamp(4px,1vw,12px)}.tour-act .btn{width:max-content}.tour-act p{max-width:46ch;margin:clamp(16px,1.7vw,24px) 0 0;padding-top:clamp(16px,1.6vw,20px);border-top:1px solid var(--color-rule-on-deep-2);font-size:13.5px;line-height:1.6;color:var(--color-on-deep-3)}.tour-ledger{padding-top:clamp(8px,1vw,12px)}.tour-ledger-head{margin:0 0 clamp(12px,1.3vw,16px);padding-bottom:clamp(12px,1.2vw,16px);border-bottom:1px solid var(--color-rule-on-deep);font-family:var(--font-display);font-size:18px;line-height:1.2;letter-spacing:-.01em;color:var(--color-on-deep)}.tour-ledger ul{margin:0;padding:0;list-style:none}.tour-ledger li{display:grid;grid-template-columns:minmax(0,8.6rem) minmax(0,1fr);gap:clamp(12px,1.7vw,24px);padding:clamp(16px,1.5vw,20px) 0;border-bottom:1px solid var(--color-rule-on-deep-2)}.tour-ledger li:last-child{border-bottom:0;padding-bottom:0}.tour-ledger b{font-family:var(--font-display);font-weight:400;font-size:clamp(20px,1.6vw,25px);line-height:1.08;letter-spacing:-.018em;color:var(--color-accent-on-deep);font-variant-numeric:tabular-nums}.tour-ledger b em{display:block;margin-top:8px;font-family:var(--font-body);font-style:normal;font-size:10.5px;font-weight:500;letter-spacing:.19em;text-transform:uppercase;color:var(--color-on-deep-3)}.tour-ledger strong{display:block;font-weight:500;font-size:15.5px;line-height:1.3;color:var(--color-on-deep)}.tour-ledger p{margin:8px 0 0;max-width:46ch;font-size:14px;line-height:1.62;color:var(--color-on-deep-2)}.tour-figure{width:min(1460px,100%);margin:0 auto}.tour-caption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px clamp(20px,3vw,40px);margin:0 0 clamp(16px,1.7vw,24px);padding-top:clamp(16px,1.6vw,20px);border-top:1px solid var(--color-rule-on-deep);font-size:13.5px;line-height:1.5;color:var(--color-on-deep-3)}.tour-caption em{font-style:italic}.tour-caption span{flex:none;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent-on-deep)}.tour-media{position:relative;margin:0}.tour-media>img:first-child{width:100%;height:min(46vw,560px);min-height:400px;object-fit:cover;object-position:40% center}
.enquiry{background:var(--color-green);color:var(--color-on-green-2);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(48px,6.2vw,96px);align-items:center}.enquiry-copy{--heading:var(--color-on-green)}.enquiry-copy h2{font-size:clamp(42px,4.6vw,66px)}.enquiry-copy h2 em{color:var(--color-accent-on-deep)}.enquiry-lede{max-width:46ch;margin:clamp(24px,2.2vw,32px) 0 0;font-size:16.5px;line-height:1.72;color:var(--color-on-green-2)}.enquiry-ledger{margin:clamp(32px,3.2vw,44px) 0 0;border-top:1px solid var(--color-rule-on-green)}.enquiry-ledger>div{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px clamp(20px,2.6vw,40px);padding:clamp(12px,1.3vw,16px) 0;border-bottom:1px solid var(--color-rule-on-green-2)}.enquiry-ledger dt{font-size:11.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--color-on-green-3)}.enquiry-ledger dd{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(20px,1.62vw,25px);line-height:1.12;letter-spacing:-.014em;color:var(--color-on-green);font-variant-numeric:tabular-nums;text-align:right}.enquiry-note{margin:clamp(16px,1.6vw,20px) 0 0;font-size:11.5px;line-height:1.55;letter-spacing:.02em;color:var(--color-on-green-3)}.enquiry-card{background:var(--paper);color:var(--ink);padding:clamp(32px,3.2vw,48px);border-top:4px solid var(--color-accent);box-shadow:var(--shadow-deep)}.form-head span{font-size:11px;letter-spacing:.18em;color:var(--brick)}.form-head h3{font-size:38px;margin:7px 0}.form-head p{margin:0 0 24px;color:var(--color-ink-2);font-size:14px}
.faq{display:grid;grid-template-columns:.65fr 1.35fr;gap:90px}.faq-list details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:22px 0;display:flex;justify-content:space-between;gap:25px;font-weight:600}summary::-webkit-details-marker{display:none}summary span{font-size:24px;font-weight:400;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details p{margin:0 0 22px;color:var(--color-ink-2);max-width:690px}
footer{--heading:var(--color-on-deep);display:block;background:var(--color-deep);color:var(--color-on-deep-2);border-top:0;padding:clamp(76px,7vw,116px) 7% clamp(48px,4.4vw,68px)}.foot-top{width:min(1240px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,.68fr);gap:clamp(40px,5vw,88px);align-items:start}.foot-statement{margin:0;max-width:17ch;font-family:var(--font-display);font-weight:400;font-size:clamp(32px,3.5vw,52px);line-height:1.1;letter-spacing:-.02em;color:var(--color-on-deep)}.foot-cta{margin-top:clamp(28px,3vw,40px);width:max-content}.foot-lead>p:last-child{margin:clamp(20px,2vw,28px) 0 0;max-width:46ch;font-size:14.5px;line-height:1.65;color:var(--color-on-deep-3)}.foot-nav p{margin:0 0 clamp(12px,1.2vw,16px);font-size:11.5px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--color-on-deep-3)}.foot-nav ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--color-rule-on-deep)}.foot-nav li{border-bottom:1px solid var(--color-rule-on-deep-2)}.foot-nav a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;font-size:16px;line-height:1.4;white-space:nowrap;color:var(--color-on-deep-2);transition:color var(--dur-fast) var(--ease-out)}.foot-nav a span{font-size:13px;color:var(--color-on-deep-3);transition:color var(--dur-fast) var(--ease-out)}.foot-nav a:hover,.foot-nav a:focus-visible{color:var(--color-accent-on-deep)}.foot-nav a:hover span,.foot-nav a:focus-visible span{color:var(--color-accent-on-deep)}.foot-mast{width:min(1240px,100%);margin:clamp(52px,5vw,76px) auto 0;padding-top:clamp(24px,2.4vw,32px);border-top:1px solid var(--color-rule-on-deep);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px}footer .brand{min-height:44px;font-size:17px;color:var(--color-on-deep)}footer .brand small{color:var(--color-on-deep-3)}footer .brand-mark{width:44px;height:44px;font-size:22px;border-color:var(--color-accent-on-deep);color:var(--color-accent-on-deep)}.foot-nav .foot-contact-head{margin-top:clamp(28px,3vw,40px)}.foot-contact a span{min-width:0;white-space:normal;font-size:14px;letter-spacing:.01em;color:var(--color-on-deep-3);overflow-wrap:anywhere;text-align:right}.foot-up{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;min-height:44px;padding:8px 0;border-bottom:1px solid var(--color-rule-on-deep);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-on-deep-2);transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.foot-up:hover,.foot-up:focus-visible{color:var(--color-accent-on-deep);border-color:var(--color-accent-on-deep)}.foot-colophon{width:min(1240px,100%);margin:clamp(24px,2.4vw,32px) auto 0;padding-top:clamp(20px,2vw,28px);border-top:1px solid var(--color-rule-on-deep-2)}.foot-colophon small{display:block;max-width:72ch;font-size:11.5px;line-height:1.65;letter-spacing:.015em;color:var(--color-on-deep-3)}.mobile-cta{display:none}
dialog{border:0;padding:22px;background:var(--color-deep-2);color:var(--color-on-deep);width:min(1100px,94vw);max-height:92svh}dialog::backdrop{background:rgba(18,13,11,.9);backdrop-filter:blur(8px)}#lightbox-image{width:100%;max-height:75svh;object-fit:contain}.lightbox-close{position:absolute;right:12px;top:12px;width:42px;height:42px;border-radius:50%;border:1px solid oklch(95.5% .012 80/.49);background:oklch(22% .026 56/.85);color:var(--color-on-deep);font-size:27px;cursor:pointer}.lightbox-nav{display:flex;align-items:center;justify-content:center;gap:24px;padding-top:14px}.lightbox-nav button{width:44px;height:38px;border:1px solid oklch(95.5% .012 80/.39);background:transparent;color:var(--color-on-deep);font-size:21px;cursor:pointer}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.reveal.in{opacity:1;transform:none}
@media(min-width:1600px){.section,.proof-bar,footer{padding-left:max(7%,calc((100% - 1460px)/2));padding-right:max(7%,calc((100% - 1460px)/2))}}
@media(max-width:1080px){.section{padding:85px 5%}.proof-bar{padding:32px 5%}.intro,.nature-section,.connectivity,.enquiry{gap:50px}.arch-frame img,.nature-photo img{height:500px}.residence-visual img{height:500px}.amenity-collage{height:590px}.sustain-grid{grid-template-columns:1fr 1fr}.sustain-grid article:nth-child(3){border-left:0}.section-title{gap:45px}footer{padding-left:5%;padding-right:5%}.decision-strip{grid-template-columns:1fr auto}.decision-facts{grid-column:1/-1;grid-row:2;justify-content:flex-start}.tour-banner{padding-left:5%;padding-right:5%}.tour-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,4vw,48px)}.tour-ledger li{grid-template-columns:minmax(0,7.2rem) minmax(0,1fr)}}
@media(max-width:900px){.tour-inner{grid-template-columns:1fr;gap:clamp(30px,4.6vw,44px)}.tour-act{margin-top:0}.tour-ledger li{grid-template-columns:minmax(0,8.6rem) minmax(0,1fr)}.enquiry{grid-template-columns:1fr;gap:clamp(36px,5vw,54px)}.enquiry form{max-width:560px}.foot-top{grid-template-columns:1fr;gap:clamp(36px,4.6vw,52px)}.foot-statement{max-width:20ch}.foot-nav{max-width:560px}}
@media(max-width:720px){body{font-size:16px}.brand{font-size:11px}.brand-mark{width:32px;height:32px}.brand small{font-size:9px}.section{padding:68px 6%}h1{font-size:55px}h2{font-size:45px}.proof-bar{grid-template-columns:1fr 1fr;padding:30px 6% 36px;gap:24px clamp(16px,4.5vw,28px)}.proof-bar>div{padding-top:14px}.proof-bar>div:first-child{padding-top:13px}.proof-bar strong{font-size:26px}.proof-bar>div:first-child strong{font-size:33px}.proof-bar span{margin-top:8px;font-size:10px;line-height:1.5;letter-spacing:.14em}.intro,.nature-section,.connectivity,.enquiry,.faq{grid-template-columns:1fr;gap:34px}.intro-copy>p:not(.kicker){font-size:16px}.arch-frame img{height:440px}.section-title{display:block;margin-bottom:30px}.section-title .kicker{margin-bottom:22px}.section-title>p:last-child{margin-top:24px}.residence-visual img{height:400px}.configuration-grid{grid-template-columns:1fr}.config-card{padding:28px 24px}.config-card h3{font-size:33px}.nature-photo img{height:420px}.nature-section{padding-top:55px}.amenity-collage{grid-template-columns:1fr 1fr;grid-template-rows:360px 230px;height:auto}.amenity-main{grid-column:1/3;grid-row:auto}.amenity-small{grid-row:auto}.amenity-list{gap:7px}.amenity-list span{font-size:11px}.gallery-head{grid-template-columns:1fr;gap:24px;margin-bottom:28px;padding-bottom:24px}.gallery-head h2{font-size:42px}.gallery-head-aside p{margin-bottom:16px;font-size:15px}.gallery-hint{font-size:10.5px;letter-spacing:.16em}.gallery-grid{grid-template-rows:66vw 46vw 46vw;gap:10px}.gallery-label{padding:38px 12px 12px;font-size:10px;letter-spacing:.11em;gap:8px}.gallery-label em{font-size:9.5px}.gallery-item::after{width:34px;height:34px;top:11px;right:11px;font-size:19px}.sustain-grid{grid-template-columns:1fr}.sustain-grid article,.sustain-grid article:nth-child(3){border-left:0;border-top:1px solid oklch(95.5% .012 80/.24);padding:23px 0}.distance-list>div{padding:19px 15px;min-height:112px}.distance-list strong{font-size:23px}.tour-banner{padding:56px 0 40px}.tour-status{width:auto;margin:0 6% clamp(24px,6vw,32px);gap:11px;font-size:10.5px;letter-spacing:.2em}.tour-inner{grid-template-columns:1fr;gap:32px;width:auto;margin:0 6% 32px}.tour-copy h2{font-size:43px}.tour-lede{max-width:none;margin:20px 0 24px}.tour-act{margin-top:0;padding-top:0}.tour-act .btn{width:100%}.tour-act p{max-width:none;margin-top:16px;padding-top:16px;font-size:13px}.tour-ledger{padding-top:0}.tour-ledger-head{font-size:17px}.tour-ledger li{grid-template-columns:1fr;gap:8px;padding:16px 0}.tour-ledger b{font-size:24px}.tour-ledger b em{display:inline;margin:0 0 0 8px;font-size:10px}.tour-ledger p{max-width:none;font-size:14.5px}.tour-caption{margin:0 6% 20px;padding-top:16px;font-size:13px}.tour-caption span{font-size:10px}.tour-media>img:first-child{height:65vw;min-height:300px;object-position:50% center}.enquiry-card{padding:28px 24px}.enquiry-copy h2{font-size:46px}.enquiry-lede{max-width:none;margin-top:20px;font-size:16px}.enquiry-ledger{margin-top:28px}.enquiry-ledger>div{padding:12px 0;gap:4px 20px}.enquiry-ledger dt{font-size:10.5px;letter-spacing:.17em}.enquiry-ledger dd{font-size:21px}.faq{gap:10px}footer{padding:52px 6% 120px}.foot-statement{font-size:clamp(30px,8vw,38px);max-width:none}.foot-cta{width:100%}.foot-lead>p:last-child{max-width:none;font-size:14px}.foot-nav{max-width:none}.foot-nav a{font-size:15.5px;padding:12px 0}.foot-mast{margin-top:40px;gap:20px}footer .brand{font-size:15px}footer .brand-mark{width:38px;height:38px;font-size:19px}.foot-up{font-size:12px}.foot-colophon small{font-size:11px}.caption{font-size:11px}dialog{padding:14px}.decision-strip{grid-template-columns:1fr;padding:22px 6%;gap:19px}.decision-facts{grid-column:auto;grid-row:auto;display:grid;grid-template-columns:1fr 1fr;gap:14px}.decision-strip .btn{width:100%}.kingfisher-cutout{width:82px;right:-7px;bottom:73px}.butterfly-cutout{width:54px;right:4%;top:8%}}
@media(max-width:1180px){.rarity-card{grid-template-columns:auto minmax(0,1fr);gap:10px clamp(18px,2.6vw,30px)}.rarity-card p{grid-column:2;max-width:60ch}}
@media(max-width:720px){.rarity-head{grid-template-columns:1fr;margin-bottom:34px}.rarity-head h2{max-width:none}.rarity-head>p:last-child{margin-top:26px;max-width:none;padding-top:17px}.rarity-card{grid-template-columns:auto minmax(0,1fr);gap:9px 15px;padding:22px 0}.rarity-card>span{padding-top:5px;font-size:10.5px;letter-spacing:.16em}.rarity-card strong{font-size:22px}.rarity-card p{grid-column:2;font-size:15px}.rarity-action{align-items:flex-start;flex-direction:column}.rarity-action .btn{width:100%}.tour-media>img:first-child{height:64vw;min-height:300px;object-position:38% center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.butterfly-cutout{animation:none}*{transition:none!important}}

/* ==========================================================================
   NAVIGATION — transparent over the hero, white once the page is scrolled
   ========================================================================== */
.site-header{position:fixed;inset:0 0 auto 0;z-index:40;color:var(--color-on-deep);background:transparent;border-bottom:1px solid rgba(255,255,255,.26);transition:background-color .45s ease,color .45s ease,border-color .45s ease,box-shadow .45s ease}
/* The bar carries its own gradient so the photograph is not darkened across
   its full width just to seat the links. It fades out with the white bar. */
.nav-scrim{position:absolute;inset:0 0 auto 0;height:190px;pointer-events:none;background:linear-gradient(to bottom,rgba(26,21,17,.52),transparent);transition:opacity .45s ease}
.nav-inner{position:relative;z-index:2;height:82px;padding:0 clamp(20px,5.5%,92px);display:flex;align-items:center;gap:clamp(22px,4.4vw,72px)}
.nav-brand{margin-right:auto;display:flex;align-items:center}
.nav-links{display:flex;align-items:center;gap:clamp(16px,2.3vw,36px)}
.nav-links a{position:relative;padding:6px 0;font-family:var(--font-body);font-size:12px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.nav-links a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .42s cubic-bezier(.22,1,.36,1)}
/* Hover is for pointers: on a touch screen :hover sticks after a tap and the
   underline would stay open on whichever link was touched last. */
@media(hover:hover) and (pointer:fine){.nav-links a:hover:after{transform:scaleX(1)}}
.nav-links a:focus-visible:after,.nav-links a[aria-current=true]:after{transform:scaleX(1)}

/* Enquire button — bordered, fills from the bottom on hover. The fill is
   stated per bar state, because white-on-photograph and ink-on-white are
   opposite problems and one treatment cannot serve both. */
.nav-cta{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px clamp(16px,1.7vw,26px);border:1px solid rgba(255,255,255,.55);font-family:var(--font-body);font-size:12px;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;transition:color .4s ease,border-color .4s ease}
.nav-cta span{position:relative;z-index:1}
.nav-cta:before{content:"";position:absolute;inset:0;background:var(--color-on-deep);transform:scaleY(0);transform-origin:bottom;transition:transform .42s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){.nav-cta:hover{color:var(--ink);border-color:var(--color-on-deep)}.nav-cta:hover:before{transform:scaleY(1)}}
.nav-cta:focus-visible{color:var(--ink);border-color:var(--color-on-deep)}
.nav-cta:focus-visible:before{transform:scaleY(1)}

/* Scrolled state */
.site-header[data-scrolled]{background:var(--color-on-deep);color:var(--ink);border-bottom-color:rgba(41,42,39,.11);box-shadow:0 1px 26px rgba(41,42,39,.07)}
.site-header[data-scrolled] .nav-scrim{opacity:0}
.site-header[data-scrolled] .nav-links a[aria-current=true]{color:var(--brick)}
.site-header[data-scrolled] .nav-cta{border-color:rgba(41,42,39,.32)}
.site-header[data-scrolled] .nav-cta:before{background:var(--charcoal)}
@media(hover:hover) and (pointer:fine){.site-header[data-scrolled] .nav-cta:hover{color:var(--color-on-deep);border-color:var(--charcoal)}}
.site-header[data-scrolled] .nav-cta:focus-visible{color:var(--color-on-deep);border-color:var(--charcoal)}

.menu-toggle{display:none;width:44px;height:44px;margin-right:-10px;padding:0;background:none;border:0;color:inherit;cursor:pointer;align-items:center;justify-content:center}
.menu-bar{transform-origin:center;transition:transform .32s cubic-bezier(.22,1,.36,1)}
/* The sheet is dark, so the bar stays white-on-transparent above it even once
   the page has scrolled and it would otherwise have turned white. */
.site-header[data-menu-open]{background:transparent;color:var(--color-on-deep);border-bottom-color:rgba(255,255,255,.2);box-shadow:none}
.site-header[data-menu-open] .nav-scrim{opacity:0}
.site-header[data-menu-open] .nav-cta{border-color:rgba(255,255,255,.55)}
.site-header[data-menu-open] .nav-cta:before{background:var(--color-on-deep)}
@media(hover:hover) and (pointer:fine){.site-header[data-menu-open] .nav-cta:hover{color:var(--ink);border-color:var(--color-on-deep)}}
.site-header[data-menu-open] .menu-bar--top{transform:translateY(6.5px) rotate(45deg)}
.site-header[data-menu-open] .menu-bar--bottom{transform:translateY(-6.5px) rotate(-45deg)}

/* ==========================================================================
   HERO — full-bleed image, display type stepped across three lines
   ========================================================================== */
.hero{position:relative;display:flex;align-items:flex-end;min-height:100vh;min-height:100svh;overflow:hidden;background:var(--color-deep-2);color:var(--color-on-deep)}
.hero-bg{position:absolute;inset:0;margin:0}
.hero-bg picture{display:block;width:100%;height:100%}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.84) saturate(1.04)}
.hero-veil{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(28,22,17,.5) 0%,rgba(28,22,17,.12) 26%,rgba(28,22,17,.3) 62%,rgba(28,22,17,.66) 100%),linear-gradient(100deg,rgba(30,24,19,.46) 0%,rgba(30,24,19,.1) 58%,rgba(30,24,19,.3) 100%)}
.hero-inner{position:relative;width:100%;padding:0 clamp(20px,5.5%,92px) clamp(46px,9vh,100px)}

.hero-title{display:flex;flex-direction:column;margin:0 0 clamp(28px,5.5vh,58px);font-family:var(--font-display);font-weight:400;font-size:clamp(54px,8.6vw,148px);line-height:.94;letter-spacing:-.005em;text-transform:uppercase;text-shadow:0 2px 40px rgba(26,20,15,.3)}
.hero-title .l2{align-self:flex-end}
.hero-title .l3{align-self:flex-end;margin-right:clamp(0px,10vw,152px)}
.hero-title em{font-style:italic;color:inherit;font-feature-settings:"swsh" 1,"salt" 1;letter-spacing:0}

.hero-base{display:flex;align-items:flex-end;gap:clamp(24px,5vw,64px)}
.hero-foot{margin-left:46%;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(20px,3.4vh,36px)}
.hero-lead{max-width:32ch;margin:0;font-family:var(--font-body);font-weight:300;font-size:clamp(13.5px,1.05vw,15.5px);line-height:1.66;color:rgba(255,255,255,.88)}
.hero-link{position:relative;display:flex;align-items:center;justify-content:space-between;gap:40px;min-width:min(285px,100%);padding-bottom:13px;font-family:var(--font-body);font-size:12.5px;letter-spacing:.17em;text-transform:uppercase}
.hero-link:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:rgba(255,255,255,.55)}
.hero-link:before{content:"";position:absolute;z-index:1;left:0;bottom:0;width:100%;height:1px;background:var(--color-on-deep);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.hero-arrow{flex:none;transition:transform .4s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){.hero-link:hover:before{transform:scaleX(1)}.hero-link:hover .hero-arrow{transform:translateX(7px)}}
.hero-link:focus-visible:before{transform:scaleX(1)}
.hero-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;margin:0 0 4px auto;font-family:var(--font-body);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;text-align:right;color:rgba(255,255,255,.72);white-space:nowrap}

@media(max-width:1200px){.hero-foot{margin-left:0}}
@media(max-width:1080px){
  .menu-toggle{display:flex}
  /* The sheet is a child of .nav-inner, whose z-index makes a stacking
     context, so it would paint over the bar's own brand, button and toggle.
     Lifting those above it keeps the bar readable on top of the sheet. */
  .nav-brand,.nav-cta,.menu-toggle{position:relative;z-index:1}
  .nav-links{position:fixed;z-index:0;inset:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:0 8%;color:var(--color-on-deep);background:var(--color-deep-2);transform:translateY(-100%);visibility:hidden;transition:transform .55s cubic-bezier(.22,1,.36,1),visibility .55s}
  .nav-links.open{transform:none;visibility:visible}
  .nav-links a{padding:10px 0;font-family:var(--font-display);font-size:clamp(30px,7vw,46px);letter-spacing:0;text-transform:none}
  .nav-links a:after{display:none}
}
@media(max-width:820px){
  .nav-inner{height:66px;gap:16px}
  .nav-cta{min-height:38px;padding:9px 15px;font-size:11px;letter-spacing:.13em}
  .hero-base{flex-direction:column;align-items:flex-start;gap:26px}
  .hero-meta{flex-direction:row;align-items:center;gap:18px;margin:0;text-align:left}
  .hero-meta span+span{padding-left:18px;border-left:1px solid rgba(255,255,255,.28)}
}
/* Below 720px the fixed .mobile-cta already carries price and inventory,
   so the hero does not repeat them. */
@media(max-width:720px){.hero-meta{display:none}}
@media(max-width:560px){
  .nav-cta{padding:9px 12px;font-size:10px}
  .hero-title .l3{margin-right:0}
  .hero-link{min-width:100%;gap:20px}
}
@media(prefers-reduced-motion:reduce){.nav-links{transition:none}}

/* ==========================================================================
   BRAND LOGO — white over the hero photograph and the dark footer, full
   colour once the bar turns white. The mark itself is dark ink + orange.
   ========================================================================== */
.brand-logo{display:block;width:auto;height:40px;object-fit:contain}
.nav-brand .brand-logo{height:clamp(40px,3.6vw,52px);filter:brightness(0) invert(1);transition:filter .45s ease}
.site-header[data-scrolled]:not([data-menu-open]) .nav-brand .brand-logo{filter:none}
footer .brand{flex-direction:column;align-items:flex-start;gap:10px}
footer .brand .brand-logo{height:46px;filter:brightness(0) invert(1);opacity:.94}
@media(max-width:820px){.nav-brand .brand-logo{height:38px}}
@media(max-width:720px){footer .brand .brand-logo{height:38px}}

/* ==========================================================================
   ENQUIRY FORM — shared by the Enquire section and the popup
   ========================================================================== */
.enq-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
.enq-wide{grid-column:1/-1}
.enq-field{min-width:0}
.enq-field label{display:block;margin-bottom:7px;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-2)}
.enq-opt{margin-left:.4em;font-weight:400;letter-spacing:.06em;text-transform:none;color:var(--color-muted)}
.enq-field input,.enq-select select,.enq-phone{width:100%;height:52px;padding:0 15px;border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-on-deep);color:var(--ink);font:inherit;font-size:15.5px;transition:border-color var(--dur-fast) var(--ease-out)}
.enq-field input::placeholder{color:var(--color-muted);opacity:.75}
@media(hover:hover) and (pointer:fine){.enq-field input:hover,.enq-select select:hover,.enq-phone:hover{border-color:var(--color-accent-2)}}
.enq-field input:focus-visible,.enq-select select:focus-visible,.enq-phone:focus-within{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}
.enq-field input[aria-invalid=true],.enq-phone:has([aria-invalid=true]){border-color:oklch(52% .16 28)}
.enq-phone{display:flex;align-items:center;gap:10px}
.enq-phone span{padding-right:10px;border-right:1px solid var(--color-rule);color:var(--color-ink-2);font-size:14.5px}
.enq-phone input{flex:1;min-width:0;height:50px;padding:0;border:0;background:transparent}
.enq-phone input:focus-visible{outline:none}
.enq-select{position:relative}
.enq-select select{appearance:none;padding-right:38px;cursor:pointer}
.enq-select svg{position:absolute;right:15px;top:19px;color:var(--color-ink-2);pointer-events:none}
.enq-date{position:relative}
.enq-date svg{position:absolute;left:15px;top:18px;color:var(--color-ink-2);pointer-events:none}
.enq-date input{display:block;padding-left:44px;-webkit-appearance:none;appearance:none;color:var(--color-ink);cursor:pointer}
.enq-date input[data-empty]{color:var(--color-muted)}
/* The whole field opens the picker, not just the small native icon; the icon on the left replaces it. */
.enq-date input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;margin:0;padding:0;opacity:0;cursor:pointer}
.enq-date input::-webkit-date-and-time-value{text-align:left}
.enq-date input[aria-invalid=true]{border-color:oklch(52% .16 28)}
.enq-msg{margin:6px 0 0;font-size:12.5px;line-height:1.45;color:oklch(48% .15 28)}
.enq-msg:empty{display:none}
.enq-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.enq-submit{width:100%;min-height:54px;margin-top:4px;border-radius:var(--radius-md);letter-spacing:.12em;text-transform:uppercase;font-size:12.5px}
.enq-submit:disabled{cursor:progress;opacity:.7}
.enquiry-card .enq-form{margin-top:8px}
@media(max-width:519px){.enq-form{grid-template-columns:1fr;gap:16px}}

/* ==========================================================================
   ENQUIRY POPUP — invitation on garden green, form on paper
   ========================================================================== */
dialog.enq-dialog{position:fixed;inset:0;margin:auto;width:100%;max-width:min(960px,calc(100vw - 48px));height:fit-content;max-height:calc(100dvh - 48px);padding:0;border:0;background:transparent;color:var(--ink);overflow:visible}
dialog.enq-dialog::backdrop{background:oklch(22% .026 56/.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .38s var(--ease-out)}
dialog.enq-dialog[data-open]::backdrop{opacity:1}
.enq-panel{position:relative;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1fr);max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;background:var(--paper);border-top:4px solid var(--color-accent);box-shadow:var(--shadow-deep);opacity:0;transform:translateY(24px) scale(.985);transition:opacity .38s var(--ease-out),transform .42s var(--ease-out)}
dialog.enq-dialog[data-open] .enq-panel{opacity:1;transform:none}
.enq-invite{position:relative;display:flex;flex-direction:column;justify-content:center;padding:48px 42px;background:var(--color-green);color:var(--color-on-green)}
.enq-invite:after{content:"";position:absolute;inset:12px;border:1px solid var(--color-rule-on-green);pointer-events:none}
.enq-eyebrow{margin:0;font-size:11.5px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--color-accent-on-deep)}
.enq-title{margin:14px 0 0;font-family:var(--font-display);font-weight:400;font-size:clamp(30px,2.6vw,40px);line-height:1.08;letter-spacing:-.015em;color:var(--color-on-green)}
.enq-title em{color:var(--color-accent-on-deep)}
.enq-note{max-width:34ch;margin:16px 0 0;font-size:15px;line-height:1.65;color:var(--color-on-green-2)}
.enq-ornament{display:flex;align-items:center;gap:10px;width:128px;margin:26px 0;color:var(--color-accent-on-deep)}
.enq-ornament:before,.enq-ornament:after{content:"";flex:1;height:1px;background:currentColor;opacity:.6}
.enq-ornament i{width:7px;height:7px;transform:rotate(45deg);border:1px solid currentColor}
.enq-points{display:grid;gap:11px;margin:0;padding:0;list-style:none}
.enq-points li{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--color-on-green)}
.enq-points li:before{content:"";flex:none;width:6px;height:6px;transform:rotate(45deg);background:var(--color-accent-on-deep)}
.enq-direct{position:relative;z-index:1;display:inline-flex;align-items:center;gap:14px;width:fit-content;margin-top:30px;padding:7px 22px 7px 7px;border:1px solid var(--color-rule-on-green);border-radius:999px;transition:border-color var(--dur-fast) var(--ease-out)}
@media(hover:hover) and (pointer:fine){.enq-direct:hover{border-color:var(--color-accent-on-deep)}}
.enq-well{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--color-accent-on-deep);color:var(--color-green-2)}
.enq-direct-label{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-on-green-3)}
.enq-direct-value{display:block;font-family:var(--font-display);font-size:20px;line-height:1.3;color:var(--color-accent-on-deep);white-space:nowrap}
.enq-formpane{padding:40px 38px 34px}
.enq-formtitle{margin:0 0 22px;padding:0 52px 14px 0;border-bottom:1px solid var(--color-rule);font-family:var(--font-display);font-size:26px;line-height:1.2;color:var(--ink)}
.enq-close{position:absolute;top:16px;right:16px;z-index:2;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--color-rule);border-radius:50%;background:var(--color-paper-2);color:var(--ink);cursor:pointer;transition:background-color var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}
@media(hover:hover) and (pointer:fine){.enq-close:hover{background:var(--color-green);border-color:var(--color-green);color:var(--color-on-green)}}
.enq-close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
@media(max-width:767px){
  dialog.enq-dialog{max-width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}
  .enq-panel{grid-template-columns:1fr;max-height:calc(100dvh - 24px);transform:translateY(16px)}
  .enq-invite{padding:30px 26px 26px}
  .enq-invite:after{inset:8px}
  .enq-eyebrow{padding-right:44px}
  .enq-title{font-size:28px}
  .enq-title br{display:none}
  .enq-note{max-width:none;margin-top:10px;font-size:14.5px}
  .enq-ornament,.enq-points,.enq-direct{display:none}
  .enq-formpane{padding:24px 20px calc(24px + env(safe-area-inset-bottom))}
  .enq-formtitle{display:none}
  .enq-close{top:14px;right:14px;border-color:var(--color-rule-on-green);background:var(--color-green-2);color:var(--color-on-green)}
}
@media(prefers-reduced-motion:reduce){.enq-panel,dialog.enq-dialog::backdrop{transition:none}}

/* ==========================================================================
   MOBILE BAR — call + WhatsApp, fixed to the foot of the screen
   ========================================================================== */
@media(max-width:720px){
  .mobile-cta{position:fixed;z-index:25;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;padding-bottom:env(safe-area-inset-bottom);background:var(--color-on-deep);box-shadow:0 -8px 22px rgba(47,41,38,.14)}
  .mobile-cta a{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:56px;padding:0 8px;font-size:13px;font-weight:600;letter-spacing:.04em}
  .mcta-call{background:var(--color-on-deep);color:var(--color-accent-deep)}
  .mcta-wa{background:#25D366;color:#fff}
  .mcta-wa:active{background:#20bd5a}
}

/* WhatsApp nudge: a small card that pops up mid-screen at set points of scroll. */
.wa-nudge{position:fixed;z-index:60;top:50%;left:50%;display:flex;align-items:center;width:min(340px,calc(100vw - 32px));background:var(--color-paper);color:var(--color-ink);border-top:3px solid #25D366;border-radius:var(--radius-md);box-shadow:0 18px 50px oklch(30% .048 48/.28);opacity:0;transform:translate(-50%,-46%) scale(.96);transition:opacity .3s var(--ease-out),transform .3s var(--ease-out)}
.wa-nudge.is-open{opacity:1;transform:translate(-50%,-50%) scale(1)}
.wa-nudge[hidden]{display:none}
.wa-nudge-link{flex:1;display:flex;align-items:center;gap:14px;padding:18px 6px 18px 18px}
.wa-nudge-icon{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#25D366;color:#fff}
.wa-nudge-text{font-size:14.5px;line-height:1.4;color:var(--color-ink-2)}
.wa-nudge-text strong{display:block;margin-top:2px;font-family:var(--font-display);font-size:19px;font-weight:500;color:#128C3E}
.wa-nudge-close{align-self:flex-start;display:grid;place-items:center;flex:none;width:40px;height:40px;margin:6px 6px 0 0;border:0;border-radius:50%;background:none;color:var(--color-ink-2);cursor:pointer}
.wa-nudge-close:hover{background:oklch(30% .048 48/.07)}
.wa-nudge-close:focus-visible,.wa-nudge-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.wa-nudge,.wa-nudge.is-open{transition:none;transform:translate(-50%,-50%)}}
