
/* KHAVE website v2 — aligned to the Vision & Partnership v2 deck. */

@font-face {font-family:"EB Garamond";src:url("font-0.woff") format("woff");font-weight:400 500;font-style:normal;font-display:swap;}
@font-face {font-family:"EB Garamond";src:url("font-1.woff") format("woff");font-weight:400;font-style:italic;font-display:swap;}
@font-face {font-family:"Noto Sans";src:url("font-2.woff") format("woff");font-weight:400 600;font-style:normal;font-display:swap;}

:root {
  --ivory: #f3efe7;
  --ivory-2: #ebe5d9;
  --sand: #e4dccd;
  --ink: #1b1a17;
  --ink-2: #3a3833;
  --muted: #6b675e;
  --line: #d3cbbb;
  --dark: #141412;
  --dark-2: #1e1d1a;
  --on-dark: #f1ece2;
  --on-dark-muted: #b7b1a5;
  --line-dark: rgba(241,236,226,.16);
  --gold: #b8976a;
  --gold-text: #8a6d43;   /* gold for small text on ivory (AA contrast) */
  --gold-light: #d2b88f;
  --serif: "EB Garamond", "Iowan Old Style", Garamond, Georgia, serif;
  --sans: "Noto Sans", "Helvetica Neue", Arial, sans-serif;
  --gutter: clamp(20px, 5vw, 72px);
  --max: 1320px;
  --header-h: 112px;
  --header-h-solid: 76px;
  --section: clamp(80px, 10vw, 140px);
}

*,*::before,*::after {box-sizing:border-box;}
html {scroll-padding-top:var(--header-h-solid);-webkit-text-size-adjust:100%;}
@media (prefers-reduced-motion:no-preference) {html {scroll-behavior:smooth;}}
body {margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body.nav-open {overflow:hidden;}
img {max-width:100%;height:auto;display:block;}
a {color:inherit;}
h1,h2,h3,p,dl,dd,ol,ul,figure {margin:0;}
ol,ul {padding:0;list-style:none;}
::selection {background:var(--gold-light);color:var(--ink);}
:focus-visible {outline:2px solid var(--gold);outline-offset:4px;}

.container {width:100%;max-width:calc(var(--max) + 2 * var(--gutter));margin:0 auto;padding-inline:var(--gutter);}
.section {padding-block:var(--section);}
.skip-link {position:fixed;z-index:1000;top:-100px;left:16px;padding:12px 18px;background:var(--ink);color:#fff;}
.skip-link:focus {top:16px;}

/* Type */
.label {font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-text);margin-bottom:22px;}
.label-light, .dark .label {color:var(--gold-light);}
h1,.h2,h3 {font-family:var(--serif);font-weight:400;color:inherit;}
.h2 {font-size:clamp(38px,4.6vw,64px);line-height:1.06;letter-spacing:-.012em;text-wrap:balance;}
.h2-xl {font-size:clamp(52px,8vw,112px);line-height:1;}
.lead {font-family:var(--serif);font-size:clamp(23px,2.1vw,29px);line-height:1.35;color:var(--ink);}
.section-intro {font-size:17px;color:var(--muted);max-width:440px;}
.dark .section-intro {color:var(--on-dark-muted);}
.fine-print {font-size:12.5px;color:var(--muted);margin-top:28px;}
.rule {display:block;width:64px;height:2px;background:var(--gold);margin:32px 0;}
.num {font-family:var(--sans);font-size:13px;font-weight:600;color:var(--gold-text);letter-spacing:.04em;}
.dark .num {color:var(--gold);}

/* Buttons & links */
.btn {display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.06em;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;}
.btn-dark {background:var(--ink);color:var(--ivory);}
.btn-dark:hover {background:#3a3731;}
.btn-gold {background:var(--gold);color:#16150f;}
.btn-gold:hover {background:var(--gold-light);}
.link-light,.link-dark {font-size:14px;font-weight:600;letter-spacing:.04em;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;display:inline-flex;gap:8px;}
.link-light {color:var(--on-dark);}
.link-light:hover {color:var(--gold-light);}
.link-dark {color:var(--ink);}
.link-dark:hover {color:var(--gold-text);}

/* Header */
.site-header {position:fixed;top:0;left:0;right:0;z-index:100;color:var(--on-dark);background:transparent;border-bottom:1px solid transparent;transition:background-color .35s,border-color .35s;}
.site-header::before {content:"";position:absolute;inset:0 0 -50px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(14,14,12,.6),rgba(14,14,12,0));transition:opacity .35s;}
.site-header.is-scrolled {background:rgba(20,20,18,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:rgba(184,151,106,.28);}
.site-header.is-scrolled::before {opacity:0;}
.header-inner {display:flex;align-items:center;gap:40px;height:var(--header-h);max-width:calc(var(--max) + 2 * var(--gutter));margin:0 auto;padding-inline:var(--gutter);transition:height .35s ease;}
.site-header.is-scrolled .header-inner {height:var(--header-h-solid);}
.brand {width:clamp(160px,14vw,210px);flex:none;transition:width .35s ease;}
.site-header.is-scrolled .brand {width:136px;}
.desktop-nav {display:flex;gap:clamp(20px,2.6vw,40px);margin-left:auto;}
.desktop-nav a {font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--on-dark);padding:8px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s;}
.desktop-nav a:hover {color:var(--gold-light);}
.desktop-nav a.is-active {border-bottom-color:var(--gold);}
.header-cta {min-height:46px;padding:0 22px;font-size:12px;background:transparent;color:var(--on-dark);border:1px solid rgba(241,236,226,.55);}
.header-cta:hover {background:var(--gold);border-color:var(--gold);color:#16150f;}
.menu-toggle {display:none;}
.mobile-nav[hidden] {display:none;}

/* Hero */
.hero .rule {margin:36px 0 26px;}
.hero-lede {font-size:clamp(17px,1.5vw,20px);line-height:1.55;max-width:400px;color:#e4ded2;}
.hero-actions {display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px;margin-top:40px;}
.hero-facts {border-top:1px solid var(--line-dark);background:rgba(14,14,12,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.hero-facts ul {display:grid;grid-template-columns:repeat(4,1fr);}
.hero-facts li {padding:22px 0;font-size:13px;color:var(--on-dark-muted);letter-spacing:.02em;}
.hero-facts li + li {padding-left:24px;border-left:1px solid var(--line-dark);}
.hero-facts strong {display:block;font-family:var(--serif);font-weight:400;font-size:24px;color:var(--on-dark);letter-spacing:0;line-height:1.2;}

/* Vision */
.vision-grid {display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,7vw,120px);align-items:start;}
.vision .h2 {max-width:16ch;}
.vision-body {padding-top:44px;}
.vision-body p + p {margin-top:20px;}
.vision-body p:not(.lead) {color:var(--muted);font-size:17px;}
.name-note {margin-top:36px!important;padding-top:24px;border-top:1px solid var(--line);}
.name-note .label {display:block;margin-bottom:8px;}
.name-note em {font-family:var(--serif);font-size:1.15em;color:var(--ink);}

/* Split sections */
.split {display:grid;grid-template-columns:1.08fr 1fr;min-height:640px;}
.split-sand {background:var(--sand);}
.split-ivory {background:var(--ivory-2);}
.split-media {position:relative;overflow:hidden;min-height:420px;}
.split-media img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
#format .split-media img {object-position:40% 60%;}
.menu .split-media img {object-position:42% 30%;}
.split-copy {padding:clamp(56px,7vw,110px) clamp(28px,6vw,96px);display:flex;flex-direction:column;justify-content:center;max-width:680px;}
.menu {grid-template-columns:1fr 1.08fr;}
.menu .split-media {order:2;}
.spec-list > div {padding:18px 0;border-top:1px solid rgba(27,26,23,.14);}
.spec-list > div:last-child {border-bottom:1px solid rgba(27,26,23,.14);}
.spec-list dt {font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin-bottom:6px;}
.spec-list dd {color:var(--ink-2);font-size:16px;}

/* Section head */
.section-head {display:flex;justify-content:space-between;align-items:flex-end;gap:40px 80px;margin-bottom:clamp(44px,5vw,72px);}

/* Finishes */
.finish-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,24px);}
.finish-img {aspect-ratio:4/3.4;overflow:hidden;background:var(--sand);}
.finish-img img {width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1);}
.finish-card:hover .finish-img img {transform:scale(1.04);}
.finish-card figcaption {display:flex;gap:14px;align-items:flex-start;padding-top:20px;font-size:15px;color:var(--muted);}
.finish-card strong {display:block;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);margin-bottom:2px;}
.swatch {flex:none;width:18px;height:18px;border-radius:50%;background:var(--sw);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);margin-top:2px;}

/* Dark sections */
.dark {background:var(--dark);color:var(--on-dark);}
.experience {background:var(--dark-2);}
.experience .h2 {margin-bottom:clamp(48px,6vw,88px);}
.steps-3 {display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line-dark);}
.steps-3 li {padding:32px 40px 8px 0;}
.steps-3 li + li {padding-left:40px;border-left:1px solid var(--line-dark);}
.steps-3 h3 {font-size:clamp(30px,3vw,40px);text-transform:uppercase;letter-spacing:.02em;margin:14px 0 18px;}
.steps-3 h3::after {content:"";display:block;width:44px;height:2px;background:var(--gold);margin-top:18px;}
.steps-3 p {color:var(--on-dark-muted);max-width:300px;}

/* Buildings */
.buildings-grid {display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:center;}
.buildings .h2 {margin-bottom:24px;}
.benefits {margin-top:44px;border-top:1px solid var(--line-dark);}
.benefits li {display:grid;grid-template-columns:56px 1fr;padding:20px 0;border-bottom:1px solid var(--line-dark);}
.benefits .num {padding-top:4px;}
.benefits h3 {font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-bottom:4px;}
.benefits p {color:var(--on-dark-muted);font-size:15px;}
.buildings-media {aspect-ratio:4/4.4;overflow:hidden;}
.buildings-media img {width:100%;height:100%;object-fit:cover;object-position:46% 50%;}

/* Operations */
.ops-grid {display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);}
.col-title {font-family:var(--serif);font-size:28px;margin-bottom:18px;}
.ops-table > div {display:grid;grid-template-columns:150px 1fr;gap:20px;padding:18px 0;border-top:1px solid var(--line);}
.ops-table > div:last-child {border-bottom:1px solid var(--line);}
.ops-table dt {font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding-top:3px;}
.ops-table dd {color:var(--ink-2);}
.eco-band {margin-top:clamp(56px,7vw,96px);padding:clamp(28px,4vw,48px);background:var(--ivory-2);border-left:3px solid var(--gold);}
.eco-band ul {display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.eco-band strong {display:block;font-family:var(--serif);font-weight:400;font-size:22px;margin-bottom:6px;}
.eco-band span {font-size:14.5px;color:var(--muted);}

/* Pilot timeline */
.pilot {background:var(--dark);}
.timeline {display:grid;grid-template-columns:repeat(5,1fr);gap:24px;counter-reset:step;}
.timeline li {position:relative;padding-top:30px;}
.timeline li::before {content:"";position:absolute;top:0;left:0;right:-24px;height:2px;background:var(--gold);opacity:.55;}
.timeline li:last-child::before {right:0;}
.timeline li::after {content:"";position:absolute;top:-5px;left:0;width:12px;height:12px;border-radius:50%;background:var(--gold);}
.timeline h3 {font-size:clamp(24px,2.2vw,30px);text-transform:uppercase;letter-spacing:.02em;margin:12px 0 12px;}
.timeline p {color:var(--on-dark-muted);font-size:15px;}

/* Partnership options */
.option-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,24px);}
.option-card {display:flex;flex-direction:column;padding:clamp(28px,3vw,40px);background:var(--ivory-2);border:1px solid var(--line);min-height:260px;}
.option-card h3 {font-size:clamp(26px,2.4vw,32px);margin:28px 0 10px;}
.option-card p {color:var(--muted);}
.option-card .link-dark {margin-top:auto;padding-top:28px;align-self:flex-start;border:0;text-decoration:underline;text-underline-offset:6px;}
.option-feature {background:var(--ink);color:var(--on-dark);border-color:var(--ink);}
.option-feature .num {color:var(--gold-light);}
.option-feature p {color:var(--on-dark-muted);}
.option-feature .link-dark {color:var(--gold-light);}
.option-feature .link-dark:hover {color:var(--on-dark);}

/* Growth principle */
.principle {position:relative;isolation:isolate;color:var(--on-dark);padding-block:clamp(100px,13vw,180px);overflow:hidden;}
.principle img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%;z-index:-2;}
.principle-shade {position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,19,17,.9) 0%,rgba(20,19,17,.78) 45%,rgba(20,19,17,.25) 80%);}
.principle .h2 {font-size:clamp(40px,5vw,72px);}
.principle p:last-child {max-width:430px;font-size:18px;color:#e2dccf;}

/* Contact */
.contact {background:var(--ivory);}
.contact-grid {display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,110px);align-items:start;}
.contact-intro .h2 {margin-bottom:24px;}
.contact-intro > p:not(.label) {color:var(--muted);font-size:17px;max-width:440px;}
.contact-points {margin:30px 0;}
.contact-points li {position:relative;padding:12px 0 12px 28px;border-top:1px solid var(--line);font-size:15px;}
.contact-points li:last-child {border-bottom:1px solid var(--line);}
.contact-points li::before {content:"";position:absolute;left:2px;top:22px;width:12px;height:2px;background:var(--gold);}
.contact-direct {font-size:15px;}
.contact-direct a {font-weight:600;text-underline-offset:4px;}
.enquiry {background:#fbf9f5;border:1px solid var(--line);padding:clamp(24px,4vw,48px);}
.field-row {display:grid;grid-template-columns:1fr 1fr;gap:0 20px;}
.field {margin-bottom:20px;display:flex;flex-direction:column;}
.field label {font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px;}
.field label span {color:var(--gold-text);}
.field input,.field select,.field textarea {font:inherit;font-size:16px;color:var(--ink);background:var(--ivory);border:1px solid var(--line);border-radius:0;padding:12px 14px;min-height:48px;width:100%;transition:border-color .2s,background-color .2s;-webkit-appearance:none;appearance:none;}
.field select {background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px;}
.field textarea {resize:vertical;min-height:110px;}
.field input:focus,.field select:focus,.field textarea:focus {outline:none;border-color:var(--ink);background:#fff;}
.field input::placeholder,.field textarea::placeholder {color:#9a958a;}
.field.has-error input {border-color:#a3402c;}
.field-error {font-size:13px;color:#a3402c;margin-top:6px;}
.form-foot {display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:8px;}
.form-note {font-size:13px;color:var(--muted);flex:1;min-width:220px;}
.form-status {margin-top:18px;font-size:15px;}
.form-status:empty {display:none;}
.form-status.is-ok {padding:14px 16px;background:var(--ivory-2);border-left:3px solid var(--gold);}

/* Footer */
.site-footer {background:var(--dark);color:var(--on-dark);padding:64px 0 28px;}
.footer-top {display:flex;justify-content:space-between;align-items:center;gap:32px 56px;flex-wrap:wrap;padding-bottom:40px;border-bottom:1px solid var(--line-dark);}
.footer-brand {display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
.footer-logo {width:150px;display:block;flex:none;}
.footer-tag {color:var(--on-dark-muted);font-family:var(--serif);font-size:20px;line-height:1.3;white-space:nowrap;padding-left:28px;border-left:1px solid var(--line-dark);}
.footer-nav {display:flex;flex-wrap:wrap;gap:12px 32px;}
.footer-nav a {font-size:14px;text-decoration:none;color:var(--on-dark-muted);white-space:nowrap;}
.footer-nav a:hover {color:var(--on-dark);}
.footer-bottom {display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding-top:22px;font-size:13px;color:var(--on-dark-muted);}
.footer-bottom > * {white-space:nowrap;}
.footer-bottom a {color:var(--gold-light);text-decoration:none;}

/* ---------- Hero: finish showcase ---------- */
.hero {--tint:184,151,106;--panel:20,20,18;position:relative;display:grid;grid-template-rows:1fr auto;min-height:max(720px,100svh);color:var(--on-dark);background:#0e0e0c;overflow:hidden;isolation:isolate;}
.hero[data-finish="ivory"] {--tint:236,224,203;--panel:27,25,22;}
.hero[data-finish="sage"] {--tint:141,152,131;--panel:19,23,18;}

.hero-stage {position:absolute;inset:0;z-index:0;overflow:hidden;}
.stage-slide {position:absolute;inset:0;margin:0;opacity:0;transform:translate3d(var(--px,0px),var(--py,0px),0) scale(1.03);transition:opacity 1.4s ease,transform .8s cubic-bezier(.2,.7,.2,1);}
.stage-slide.is-active {opacity:1;}
.stage-slide img {width:100%;height:100%;object-fit:cover;transform:scale(1.07);transition:transform 9s cubic-bezier(.2,.6,.2,1);will-change:transform;}
.stage-slide.is-active img {transform:scale(1);}
.stage-slide[data-finish="black"] img {object-position:72% 50%;}
.stage-slide[data-finish="ivory"] img {object-position:0% 40%;}
.stage-slide[data-finish="sage"] img {object-position:0% 45%;}
/* Light: the deck's cover treatment (dark panel from the left), header legibility, finish-tinted glow */
.stage-light {position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(90deg,rgba(var(--panel),.92) 0%,rgba(var(--panel),.8) 30%,rgba(var(--panel),.3) 45%,rgba(var(--panel),0) 56%),
  linear-gradient(180deg,rgba(14,14,12,.6) 0%,rgba(14,14,12,0) 20%),
  linear-gradient(0deg,rgba(14,14,12,.6) 0%,rgba(14,14,12,0) 26%),
  radial-gradient(45% 55% at 72% 42%,rgba(var(--tint),.13),rgba(var(--tint),0) 70%);}
.hero-glow {position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(40% 60% at 18% 55%,rgba(var(--tint),.14),rgba(var(--tint),0) 70%);transition:opacity 1.4s ease;}

.hero-panel {grid-row:1;position:relative;z-index:2;display:flex;align-items:center;}
.hero-content {width:100%;max-width:calc(var(--max) + 2 * var(--gutter));margin:0 auto;padding:calc(var(--header-h) + 36px) var(--gutter) 56px;}
.hero-content > * {max-width:520px;}
.hero h1 {font-size:clamp(64px,7.6vw,128px);line-height:.98;letter-spacing:-.015em;max-width:none;}
.hero-lede {max-width:400px;}

.stage-caption {position:absolute;z-index:2;right:var(--gutter);bottom:calc(var(--facts-h,88px) + 30px);display:grid;justify-items:end;text-align:right;gap:2px;color:var(--on-dark);text-shadow:0 2px 24px rgba(0,0,0,.45);transition:opacity .45s ease,transform .45s ease;}
.stage-count {font-size:11px;font-weight:600;letter-spacing:.24em;color:var(--gold-light);margin-bottom:6px;}
.stage-name {font-family:var(--serif);font-size:clamp(44px,4.6vw,76px);line-height:1;letter-spacing:-.01em;}
.stage-desc {font-size:13px;letter-spacing:.06em;color:#e6e0d4;}
.stage-caption.is-swapping {opacity:0;transform:translateY(8px);}

.hero .hero-actions {margin-top:30px;}
.hero-facts {grid-row:2;position:relative;z-index:3;}

@media (max-width:900px) {
  .hero {display:flex;flex-direction:column;min-height:0;background:rgb(var(--panel));transition:background-color 1.2s ease;}
  .hero-stage {position:relative;inset:auto;aspect-ratio:10/8.4;width:100%;}
  .stage-slide[data-finish="black"] img {object-position:62% 60%;}
  .stage-slide[data-finish="ivory"] img {object-position:46% 62%;}
  .stage-slide[data-finish="sage"] img {object-position:58% 55%;}
  .stage-light {background:
    linear-gradient(180deg,rgba(14,14,12,.62) 0%,rgba(14,14,12,0) 26%),
    linear-gradient(0deg,rgb(var(--panel)) 0%,rgba(var(--panel),0) 32%),
    radial-gradient(70% 60% at 60% 35%,rgba(var(--tint),.12),rgba(var(--tint),0) 70%);}
  .hero-glow {display:none;}
  .stage-caption {bottom:22px;}
  .hero-content {padding:4px var(--gutter) 48px;}
  .hero-content > * {max-width:none;}
  .hero h1 {font-size:clamp(54px,12vw,84px);}
}
@media (max-width:640px) {
  .stage-name {font-size:38px;}
  .stage-desc {font-size:12px;}
  .stage-count {margin-bottom:2px;}
  .hero .hero-actions {flex-direction:column;align-items:stretch;}
  .hero .hero-actions .link-light {align-self:flex-start;}
}
@media (prefers-reduced-motion:reduce) {
  .stage-slide,.stage-slide img,.stage-slide.is-active img {transform:none!important;}
}

/* Reveal — content is visible unless JS confirms it can animate it in. */
.can-animate .reveal {opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease;}
.can-animate .reveal.is-visible {opacity:1;transform:none;}

/* ---------- Responsive ---------- */
@media (max-width:1080px) {
  .desktop-nav {gap:18px;}
  .desktop-nav a {font-size:12px;}
  .eco-band ul {grid-template-columns:repeat(2,1fr);}
  .timeline {grid-template-columns:repeat(3,1fr);row-gap:44px;}
  .timeline li:nth-child(3)::before {right:0;}
}

@media (max-width:900px) {
  :root {--header-h:84px;--header-h-solid:66px;}
  .brand {width:150px;}
  .site-header.is-scrolled .brand {width:120px;}
  .desktop-nav,.header-cta {display:none;}
  .menu-toggle {display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;margin-left:auto;margin-right:-10px;background:none;border:0;cursor:pointer;}
  .menu-toggle span {width:22px;height:1.5px;background:var(--on-dark);transition:transform .25s;}
  .menu-toggle[aria-expanded="true"] span:first-child {transform:translateY(3.75px) rotate(45deg);}
  .menu-toggle[aria-expanded="true"] span:last-child {transform:translateY(-3.75px) rotate(-45deg);}
  .mobile-nav {position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;z-index:-1;overflow-y:auto;background:var(--dark);padding:calc(var(--header-h-solid) + 24px) var(--gutter) 40px;display:flex;flex-direction:column;}
  .mobile-nav a:not(.btn) {font-family:var(--serif);font-size:34px;color:var(--on-dark);text-decoration:none;padding:14px 0;border-bottom:1px solid var(--line-dark);}
  .mobile-nav .btn {margin-top:auto;min-height:54px;background:var(--gold);color:#16150f;}

  .hero-facts ul {grid-template-columns:repeat(2,1fr);}
  .hero-facts li:nth-child(3) {padding-left:0;border-left:0;}
  .hero-facts li:nth-child(n+3) {border-top:1px solid var(--line-dark);}

  .vision-grid,.buildings-grid,.ops-grid,.contact-grid {grid-template-columns:1fr;}
  .vision-body {padding-top:0;}
  .split,.menu {grid-template-columns:1fr;min-height:0;}
  .split-media {aspect-ratio:16/11;min-height:0;}
  .menu .split-media {order:0;}
  .split-copy {max-width:none;}
  .section-head {flex-direction:column;align-items:flex-start;}
  .buildings-media {aspect-ratio:4/3;}
  .option-grid {grid-template-columns:1fr;}
  .option-card {min-height:0;}
  .footer-top {flex-direction:column;align-items:flex-start;}
}

@media (max-width:640px) {
  :root {--section:76px;}
  body {font-size:15.5px;}
  .principle-shade {background:rgba(20,19,17,.82);}
  .vision .h2 {max-width:none;}
  .hero-facts li {padding:16px 0;font-size:12px;}
  .hero-facts li + li {padding-left:16px;}
  .hero-facts strong {font-size:20px;}
  .finish-grid {display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);gap:14px;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);scrollbar-width:none;}
  .finish-grid::-webkit-scrollbar {display:none;}
  .finish-card {flex:0 0 82%;scroll-snap-align:start;}
  .steps-3 {grid-template-columns:1fr;}
  .steps-3 li,.steps-3 li + li {padding:26px 0;border-left:0;}
  .steps-3 li + li {border-top:1px solid var(--line-dark);}
  .ops-table > div {grid-template-columns:1fr;gap:4px;}
  .eco-band ul {grid-template-columns:1fr;gap:20px;}
  .timeline {grid-template-columns:1fr;gap:0;}
  .timeline li {padding:0 0 32px 32px;}
  .timeline li::before,.timeline li:nth-child(3)::before {top:6px;bottom:0;left:5px;right:auto;width:2px;height:auto;}
  .timeline li:last-child::before {display:none;}
  .timeline li::after {top:0;}
  .timeline h3 {margin-top:4px;}
  .field-row {grid-template-columns:1fr;}
  .form-foot .btn {width:100%;}
  .footer-nav {display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:14px 32px;}
  .footer-tag {padding-left:0;border-left:0;font-size:18px;}
  .footer-brand {flex-direction:column;align-items:flex-start;gap:14px;}
  .footer-bottom {flex-direction:column;}
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {transition-duration:.01ms!important;animation-duration:.01ms!important;}
}

@media print {
  .site-header,.hero-actions,.enquiry,.mobile-nav {display:none!important;}
  .dark,.hero,.principle,.site-footer {background:#fff!important;color:#000!important;}
}



/* KHAVE V4: Natural-led refresh; original section structure retained. */
:root {--ivory:#f7f3eb;--ivory-2:#eee8dc;--sand:#e7dfd0;--ink:#292b23;--ink-2:#474a40;--muted:#66695e;--line:#d8d4c7;--dark:#22251f;--dark-2:#292d25;--on-dark:#f6f1e7;--on-dark-muted:#cccbbd;--gold:#a28c64;--gold-text:#746444;--gold-light:#d5c39f;--header-h:96px;--header-h-solid:76px;--section:clamp(76px,8vw,124px);}
.h2 {letter-spacing:-.025em;}
.vision {background:var(--ivory);}
.split-media img {object-position:center!important;}
.finish-img {aspect-ratio:4/3;}
.finish-img img {object-position:center;}
.finish-card figcaption {padding-top:18px;}
.finish-card strong {letter-spacing:.17em;}
.experience {background:var(--dark-2);}
.experience .h2-xl {font-size:clamp(52px,7vw,100px);}
.steps-3 h3 {text-transform:none;}
.buildings {background:#e8ebdf;}
.buildings .section-intro,.benefits p {color:var(--ink-2);}
.benefits,.benefits li {border-color:#c9d0bf;}
.benefits h3 {letter-spacing:.12em;}
.buildings-media {order:-1;aspect-ratio:4/4.3;}
.buildings-media img {object-position:50% 50%;}
.pilot {background:#e8ebdf;color:var(--ink);}
.pilot .section-intro,.timeline p {color:var(--ink-2);}
.timeline h3 {text-transform:none;}
.timeline li::before,.timeline li::after {background:#7c886d;}
.eco-band {background:#e8ebdf;border-left-color:#89947b;}
.option-feature {background:#3c4736;border-color:#3c4736;}
.enquiry {background:#fcfaf6;}
.field input,.field select,.field textarea {background:#f7f5ef;border-color:#d0d2c5;}
.principle-shade {background:linear-gradient(90deg,rgba(25,28,22,.95) 0%,rgba(25,28,22,.85) 35%,rgba(25,28,22,.3) 75%);}
.principle {padding-block:clamp(100px,11vw,165px);}
.site-footer {background:#22251f;}

/* Restore V3's full-bleed hero, overlaid copy and finish showcase. */
.hero {min-height:max(760px,100svh);background:#33392d;color:var(--on-dark);}
.hero-stage {inset:0;}
.hero-panel {width:100%;}
.hero-content {padding:calc(var(--header-h) + 40px) var(--gutter) 56px;}
.hero-content > * {max-width:480px;}
.hero h1 {font-size:clamp(64px,7.6vw,128px);max-width:none;line-height:.98;letter-spacing:-.02em;}
.hero-lede {max-width:340px;font-size:clamp(17px,1.4vw,20px);color:#f2eee4;}
.hero .label-light {color:#e7dac1;}
.hero .rule {margin:30px 0 24px;}
.stage-slide,.stage-slide.is-active {transform:none;transition:opacity .7s ease;}
.stage-slide img,.stage-slide.is-active img {transform:none;object-position:50% 50%!important;will-change:auto;}
.stage-light {background:linear-gradient(90deg,rgba(25,31,23,.88) 0%,rgba(25,31,23,.68) 28%,rgba(25,31,23,.22) 46%,transparent 63%),linear-gradient(180deg,rgba(20,25,18,.38),transparent 23%),linear-gradient(0deg,rgba(20,25,18,.35),transparent 28%);}
.hero-glow {display:none;}
.hero .hero-actions {margin-top:28px;}
.hero .btn-gold {background:#e9dfca;color:#292b23;letter-spacing:.03em;}
.hero .btn-gold:hover {background:#f7f1e5;}
.hero-facts {background:rgba(28,35,25,.58);}
.hero-facts li {color:#d3d7c9;}
.hero-facts strong {color:#f8f5ec;}
.stage-name {font-size:clamp(42px,4vw,68px);}
.stage-desc {color:#f7f1e4;}
@media(min-width:901px) and (max-width:1150px) {
.header-inner {gap:24px;}.desktop-nav {gap:15px;}.brand {width:145px;}.header-cta {padding-inline:16px;}
.hero h1 {font-size:82px;}.hero-content>* {max-width:360px;}.hero-lede {max-width:310px;}
}
@media(max-width:900px) {
:root {--header-h:84px;--header-h-solid:66px;}
.hero {display:flex;flex-direction:column;min-height:0;background:var(--dark);}
.hero-stage {position:relative;inset:auto;aspect-ratio:4/3;}
.stage-slide img {object-position:100% 50%!important;}
.stage-light {background:linear-gradient(180deg,rgba(20,25,18,.50),transparent 25%),linear-gradient(0deg,var(--dark),transparent 25%);}
.hero-panel {width:100%;}
.hero-content {padding:4px var(--gutter) 44px;}
.hero-content>* {max-width:none;}.hero h1 {font-size:clamp(54px,12vw,84px);}
.stage-caption {bottom:22px;}
.hero-facts {background:#30372a;}
.buildings-media {order:0;aspect-ratio:4/3;}
}
@media(max-width:640px) {
.hero h1 {font-size:clamp(58px,13vw,80px);}
.stage-name {font-size:38px;}.stage-desc {font-size:12px;}
.hero-facts li:nth-child(3) {padding-left:0;border-left:0;}
.finish-card {flex-basis:87%;}
.principle-shade {background:rgba(25,28,22,.83);}
}


/* Two equal rows, mirrored around one shared centre line. */
@media (min-width:901px) {
  .mirrored-pair {display:grid;grid-auto-rows:1fr;}
  .mirrored-pair > section {margin:0;min-width:0;}
  .mirrored-pair #menu {grid-template-columns:repeat(2,minmax(0,1fr));min-height:640px;}
  .mirrored-pair #buildings {padding:0;min-height:640px;}
  .mirrored-pair .buildings-grid {max-width:none;width:100%;height:100%;margin:0;padding:0;gap:0;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;}
  .mirrored-pair .split-copy,.mirrored-pair .buildings-grid > div:first-child {max-width:none;min-width:0;padding:clamp(56px,7vw,110px) clamp(28px,6vw,96px);display:flex;flex-direction:column;justify-content:center;}
  .mirrored-pair .buildings-media {order:-1;aspect-ratio:auto;height:100%;min-height:0;position:relative;overflow:hidden;}
  .mirrored-pair .buildings-media img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
}


.stage-slide picture {display:block;width:100%;height:100%;}
/* Keep the photograph, shade and content in explicit stacking layers. */
.hero-stage .stage-slide {z-index:0;}
.hero-stage .stage-light {z-index:1;}
.hero-stage .stage-caption {z-index:2;}
@media(max-width:900px) {
 .hero {position:relative;display:flex;flex-direction:column;min-height:100svh;}
 .hero-stage {position:absolute;inset:0 0 var(--facts-h,140px);width:100%;aspect-ratio:auto;}
 .stage-slide {background:none;}
 .stage-slide img {object-fit:cover;object-position:50% 50%!important;mask-image:none;}
 .stage-light {background:linear-gradient(180deg,rgba(17,24,16,.85) 0%,rgba(17,24,16,.78) 28%,rgba(17,24,16,.26) 44%,rgba(17,24,16,.04) 60%,rgba(17,24,16,.26) 76%,rgba(17,24,16,.80) 100%);}
 .stage-caption {display:none;}
 .hero-panel {min-height:100svh;}
 .hero-content {height:100svh;min-height:680px;max-width:none;padding:calc(var(--header-h) + 14px) var(--gutter) 22px;display:flex;flex-direction:column;justify-content:space-between;gap:160px;}
 .hero-intro {width:100%;max-width:360px;}
 .hero-intro .label {font-size:10px;letter-spacing:.21em;margin-bottom:12px;color:#e8ddc7;}
 .hero h1 {font-size:clamp(44px,12vw,64px);line-height:.96;letter-spacing:-.025em;color:#fffaf0;text-shadow:0 2px 18px rgba(0,0,0,.16);}
 .hero-intro .rule {display:none;}
 .hero-lede {font-size:15px;line-height:1.45;max-width:300px;margin-top:16px;color:#faf5e9;}
 .hero-cta-area {width:100%;max-width:420px;}
 .hero .hero-actions {margin-top:0;display:flex;flex-direction:column;align-items:stretch;gap:0;}
 .hero-actions .btn {min-height:48px;font-size:12px;padding-inline:12px;}
 .hero-actions .link-light {display:none;}
 .hero-facts {background:#30372a;}
}
@media(min-width:641px) and (max-width:900px) {
 .hero-content {padding-top:calc(var(--header-h) + 24px);padding-bottom:30px;}
 .hero-intro {max-width:420px;}
 .hero h1 {font-size:64px;}
 .hero-lede {max-width:340px;font-size:17px;}
}
@media(max-width:900px) and (max-height:740px) {
 .hero-content {min-height:620px;padding-top:calc(var(--header-h) + 6px);padding-bottom:18px;gap:130px;}
 .hero h1 {font-size:44px;}
 .hero-lede {font-size:14px;margin-top:12px;max-width:290px;}
}


.beans {background:#e8ebdf;}
.beans-grid {display:grid;grid-template-columns:1fr 1.08fr;align-items:center;gap:clamp(40px,7vw,100px);}
.beans-copy .lead {margin-bottom:18px;}
.beans-copy > p:last-child {max-width:410px;font-size:17px;color:var(--muted);}
.beans-media {aspect-ratio:4/3;overflow:hidden;}
.beans-media img {width:100%;height:100%;object-fit:cover;}
#coffee .finish-img img {object-position:center;}
.principle {color:var(--ink);background:var(--ivory);}
.principle .label-light {color:var(--gold-text);}
.principle-shade {background:linear-gradient(90deg,rgba(247,243,235,.96) 0%,rgba(247,243,235,.90) 33%,rgba(247,243,235,.55) 51%,rgba(247,243,235,0) 72%);}
.principle p:last-child {color:var(--ink-2);}
@media(max-width:900px) {
 .beans-grid {grid-template-columns:1fr;gap:36px;}
 .beans-media {aspect-ratio:4/3;}
 .principle img {object-position:65% center;}
 .principle-shade {background:linear-gradient(90deg,rgba(247,243,235,.96),rgba(247,243,235,.85) 48%,rgba(247,243,235,.38));}
}


.bean-closing {background:var(--ivory);}
.bean-closing-grid {display:grid;grid-template-columns:1fr 1.08fr;align-items:center;gap:clamp(40px,7vw,100px);}
.bean-closing-copy .lead {margin-bottom:18px;}
.bean-closing-copy > p:last-child {max-width:410px;font-size:17px;color:var(--muted);}
.bean-closing-media {aspect-ratio:4/3;overflow:hidden;}
.bean-closing-media img {width:100%;height:100%;object-fit:cover;}
@media(max-width:900px) {.bean-closing-grid {grid-template-columns:1fr;gap:36px;}}


.khave-unit .beans-media {background:transparent;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.khave-unit .beans-media img {object-fit:contain;width:100%;height:100%;transform:scale(1.08);opacity:1;}
@media(max-width:900px) {.khave-unit .beans-media {max-width:560px;width:100%;margin-inline:auto;}}

#bean-story {background:#ffffff;}

@media(min-width:901px) {
 .hero .hero-intro {max-width:600px;}
 .hero h1 {font-size:clamp(60px,6vw,104px);}
}


/* Blend: Light body, Moody header, black accents and bespoke photography. */
.site-header {background:rgba(10,10,9,.85);color:#eee7da;border-bottom:1px solid rgba(238,231,218,.12);}
.site-header.is-scrolled {background:rgba(10,10,9,.96);border-bottom-color:rgba(238,231,218,.14);}
.site-header::before {display:none;}
.brand img {filter:none;opacity:1;}
.desktop-nav a {color:#eee7da;}.desktop-nav a:hover {color:#c9b69b;}
.header-cta {background:transparent;color:#eee7da;border-color:#706253;}
.header-cta:hover {background:#241c17;color:#eee7da;border-color:#a38c70;}
#about,.site-footer,.option-feature {background:#0b0b0a;}
.option-feature {border-color:#0b0b0a;}
.enquiry .btn-dark {background:#0b0b0a;color:#f1ece2;}
.enquiry .btn-dark:hover {background:#24211c;}
.khave-unit .beans-media img {transform:scale(1.08);}
.bespoke {position:relative;isolation:isolate;overflow:hidden;background:#0b0b0a;color:#f1ece2;min-height:600px;display:flex;align-items:center;padding-block:clamp(76px,8vw,120px);}
.bespoke-image,.bespoke-overlay {position:absolute;inset:0;pointer-events:none;}
.bespoke-image {z-index:-2;background:url("bespoke-experience.webp") center center / cover no-repeat;}
/* Explicit opacity overlay, with a little extra protection behind the copy. */
.bespoke-overlay {z-index:-1;background:rgba(0,0,0,.30);}
.bespoke-overlay::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.22) 38%,transparent 66%);}
.bespoke-content {width:100%;}
.bespoke-copy {max-width:460px;}
.bespoke .h2 {font-size:clamp(52px,5.5vw,84px);line-height:1.02;}
.bespoke .label {color:#d7c6a7;}
.bespoke .rule {background:#b8976a;}
.bespoke-lede {max-width:410px;font-size:clamp(17px,1.4vw,20px);line-height:1.65;color:#eee6d9;margin-bottom:28px;}
.bespoke .link-light {color:#f1ece2;}
@media(max-width:900px) {
 .mobile-nav {background:#0b0b0a;}.mobile-nav a:not(.btn) {color:#eee7da;}
 .menu-toggle span {background:#eee7da;}
 .bespoke {min-height:720px;align-items:flex-start;padding-block:64px 300px;}
 .bespoke-image {background-position:65% center;}
 .bespoke-overlay {background:rgba(0,0,0,.40);}
 .bespoke-overlay::after {background:linear-gradient(180deg,rgba(0,0,0,.76),rgba(0,0,0,.48) 46%,rgba(0,0,0,.10) 78%);}
 .bespoke-copy {max-width:460px;}
}
@media(max-width:480px) {
 .bespoke {min-height:760px;}
 .bespoke-image {background-position:67% center;}
 .bespoke .h2 {font-size:54px;}
}
@media print {.bespoke-image,.bespoke-overlay {display:none;}.bespoke {min-height:0;padding-block:40px;background:white;color:black;}.bespoke-lede,.bespoke .label,.bespoke .link-light {color:black;}}


/* Blend refinement: sage introduction and full Moody hero treatment. */
#about {background:#dce2d2;color:#292b23;}
#about .label {color:#5d654e;}
#about .steps-3 {border-color:#b4bfaa;}
#about .steps-3 li+li {border-color:#b4bfaa;}
#about .steps-3 p {color:#474e40;}
#about .steps-3 .num,#about .steps-3 h3 {color:#292b23;}
#about .rule,#about .steps-3 h3::after {background:#7c886d;}
.hero {background:#0b0b0a;color:#eee7da;}
.hero h1 {color:#f3ecdf;text-shadow:none;}
.hero .label-light,.hero .hero-intro .label {color:#d6c29f;}
.hero .hero-lede {color:#ded6c8;}
.hero .rule {background:#a38c70;}
.hero .btn-gold {background:#b9a58b;color:#211c14;}
.hero .btn-gold:hover {background:#ccb99e;color:#211c14;}
.hero .link-light {color:#eee7da;}
.hero .link-light:hover {color:#c9b69b;}
.hero-stage .stage-light {background:linear-gradient(90deg,rgba(9,9,8,.58) 0%,rgba(9,9,8,.40) 27%,rgba(9,9,8,.12) 43%,rgba(9,9,8,0) 59%);}
.stage-slide img {filter:none;}
.stage-caption {color:#eee7da;text-shadow:none;}
.stage-name {color:#eee7da;}.stage-count {color:#c9b69b;}.stage-desc {color:#c5bbaa;}
.hero-facts {background:#121110;border-top-color:#332b25;backdrop-filter:none;}
.hero-facts li {color:#b5ad9f;}.hero-facts strong {color:#eee7da;}
.hero-facts li+li {border-left-color:#332b25;}
@media(max-width:900px) {
 .hero-stage .stage-light {background:linear-gradient(180deg,rgba(9,9,8,.66) 0%,rgba(9,9,8,.60) 26%,rgba(9,9,8,.28) 38%,rgba(9,9,8,0) 50%);}
 .hero-facts {background:#121110;}.hero-facts li:nth-child(n+3) {border-top-color:#332b25;}
}


/* A short lateral glide and dissolve; the resting crop is unchanged. */
.hero-stage .stage-slide {opacity:0;transform:translate3d(calc(var(--slide-direction,1) * 3%),0,0);transition:transform 950ms cubic-bezier(.22,1,.36,1),opacity 800ms ease;will-change:transform,opacity;}
.hero-stage .stage-slide.is-active {opacity:1;transform:translate3d(0,0,0);z-index:1;}
.hero-stage .stage-slide.is-leaving {opacity:0;transform:translate3d(calc(var(--slide-direction,1) * -3%),0,0);}
.hero-stage .stage-light {z-index:2;}
.hero-stage .stage-caption {z-index:3;}
@media(prefers-reduced-motion:reduce) {.hero-stage .stage-slide,.stage-caption {transform:none!important;transition:none!important;}}


.enquiry-honeypot {display:none!important;}
.enquiry [type="submit"]:disabled {opacity:.65;cursor:wait;}
.form-status.is-error {padding:14px 16px;border-left:3px solid #b7694f;}


/* Approved mobile layout: grouped copy/button, centred unit and mirrored imagery. */
@media(max-width:900px) and (orientation:portrait) {
 .hero-panel {min-height:max(740px,100svh);}
 .hero-content {height:100svh;min-height:740px;padding:calc(var(--header-h) + 52px) var(--gutter) 0;justify-content:flex-start;gap:22px;}
 .hero-intro {max-width:360px;}
 .hero-intro .label {margin-bottom:16px;}
 .hero h1 {font-size:clamp(38px,11.8vw,46px);line-height:.98;}
 .hero .hero-lede {font-size:14px;line-height:1.5;max-width:310px;margin-top:18px;}
 .hero-cta-area {max-width:360px;}
 .hero-stage .stage-slide img {position:absolute;top:var(--portrait-offset,145px);left:0;width:100%;height:var(--portrait-height,760px);object-position:center!important;mask-image:linear-gradient(to bottom,transparent,#000 70px);}
 .hero-stage .stage-light {background:linear-gradient(180deg,rgba(9,9,8,.65),rgba(9,9,8,.51) 29%,transparent 51%,rgba(9,9,8,.15));}
}
@media(max-width:900px) {
 .mirrored-pair #buildings {padding:0;}
 .mirrored-pair .buildings-grid {width:100%;max-width:none;margin:0;padding:0;gap:0;}
 .mirrored-pair .buildings-grid > div:first-child {padding:clamp(56px,7vw,110px) clamp(28px,6vw,96px);}
 .mirrored-pair .buildings-media {order:0;aspect-ratio:16/11;min-height:0;margin:0;}
 .mirrored-pair .buildings-media img {display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
}
