/* ── lifestyle interior backdrop ── */
*,*::before,*::after{box-sizing:border-box;}
:root{
  --grain-photo:url("/textures/lifestyle-bg.jpg");
  --grain-url:url("textures/wood-grain.svg");
  --shell-bg:#f6f4f0;
  --wood-base:#e6e0d4;
  --wood-tint:#ebe6dc;
  --content-gutter:clamp(18px,4vw,32px);
  --glass-bg:rgba(255,255,255,.02);
  --glass-border:rgba(255,255,255,.2);
  --glass-blur:blur(26px) saturate(1.12);
  --bg-photo-filter:blur(calc(4px + var(--hero-bg-extra-blur, 0px))) saturate(1.06) brightness(1);
  --ease:cubic-bezier(.32,.08,.24,1);
  --ink:#2b2a23;
  --ink-2:#5b5648;
  --muted:#8d8676;
  --olive:#586932;
  --olive-d:#475528;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Manrope","Helvetica Neue",Helvetica,sans-serif;
  --site-foot-h:58px;
}

.site > *:not(.site-nav):not(.site-foot):not(.page-bg){position:relative;z-index:1;}
.site--home > .site-nav{z-index:100;}
.site--customise > .site-nav{z-index:100;}
.site--page > .site-nav{z-index:100;}
.site--home > .site-foot,
.site--customise > .site-foot,
.site--page > .site-foot{z-index:100;}

/* ── glassmorphism: transparent panel, background visible through blur ── */
.glass{
  background:var(--glass-bg);
  backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-border);
  border-radius:14px;
  box-shadow:none;
  position:relative;
}
.glass--dark{
  --glass-bg:transparent;
  --glass-border:rgba(255,255,255,.28);
  color:#f4efe6;
}
/* shimmer — bright glint on border ring only */
.glass--shimmer::before{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:3px;pointer-events:none;z-index:3;
  background:linear-gradient(125deg,
    rgba(255,255,255,.2) 0%,
    rgba(255,255,255,1) 14%,
    rgba(255,255,255,.35) 28%,
    rgba(255,255,255,.12) 48%,
    rgba(255,255,255,.95) 65%,
    rgba(255,255,255,.3) 82%,
    rgba(255,255,255,.2) 100%);
  background-size:260% 260%;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  animation:borderShimmer 3.2s ease-in-out infinite;
}
.glass--shimmer::after{display:none;}
.glass--shimmer{overflow:hidden;}

/* readable glass — warm frosted cream, dark type reads clearly */
.glass--readable{
  --glass-bg:rgba(252,249,243,.82);
  --glass-border:rgba(255,255,255,.58);
  backdrop-filter:blur(22px) saturate(1.14);
  -webkit-backdrop-filter:blur(22px) saturate(1.14);
  box-shadow:0 10px 36px rgba(40,34,18,.07),inset 0 1px 0 rgba(255,255,255,.72);
  color:var(--ink);
}
.glass--readable:not(.editorial-card)::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;
  background:linear-gradient(148deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,.08) 45%,rgba(255,255,255,.22) 100%);
}
.glass--readable > *,
.glass--readable .glass-panel__inner{position:relative;z-index:1;}
.glass--readable.glass--shimmer:not(.editorial-card)::after{display:block;}
.editorial-card.glass--readable{
  --glass-bg:rgba(252,249,243,.72);
  --glass-border:rgba(255,255,255,.58);
}
.glass--corner:not(.editorial-card){box-shadow:none;}
@keyframes borderShimmer{
  0%,100%{background-position:0% 50%;opacity:.88;}
  50%{background-position:100% 50%;opacity:1;}
}

/* scroll-reveal for glass content blocks */
.glass-reveal{
  opacity:0;transform:translateY(28px);
  transition:opacity .75s var(--ease),transform .75s var(--ease);
}
.glass-reveal.is-visible{opacity:1;transform:none;}
.glass-reveal:nth-child(2){transition-delay:.08s;}
.glass-reveal:nth-child(3){transition-delay:.16s;}
.glass-reveal:nth-child(4){transition-delay:.24s;}
.glass-reveal:nth-child(5){transition-delay:.32s;}

/* ── site shell — full-bleed chrome, padded content ── */
html,body{margin:0;overflow-x:hidden;max-width:100%;}
body{background:var(--shell-bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;}
.site{
  max-width:none;width:100%;margin:0;position:relative;
  --page-gutter:var(--content-gutter);
  --nav-inset:var(--content-gutter);
  --site-edge:0px;
  padding:0 0 calc(var(--site-foot-h) + 12px);
  box-sizing:border-box;
}
/* header + footer edge-to-edge */
.site > .site-nav{
  position:sticky;
  top:0;
  z-index:100;
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
  padding-left:var(--nav-inset);
  padding-right:var(--nav-inset);
  box-sizing:border-box;
}
.site > .site-foot{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding-left:var(--nav-inset);
  padding-right:var(--nav-inset);
  box-sizing:border-box;
}
.site > .site-foot{
  position:fixed;
  left:0;right:0;bottom:0;
  margin-left:0;margin-right:0;
  width:100vw;max-width:100vw;
}

/* ── header — dark green glass ── */
:root{
  --nav-green:rgba(42,48,26,.78);
  --nav-green-solid:rgba(38,44,22,.9);
}
.promo,.ribbon{padding:6px 16px;font-size:9px;letter-spacing:.24em;}
.hd{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  position:relative;padding:12px 0;
}
.brand{
  display:inline-flex;align-items:center;gap:10px;
  text-decoration:none;color:#f4efe6;white-space:nowrap;min-width:0;flex-shrink:0;
  position:relative;z-index:2;
}
.brand__logo{
  display:block;flex:none;
  background-color:#f4efe6;
  -webkit-mask:center/contain no-repeat;
  mask:center/contain no-repeat;
}
.brand__logo--full{
  --logo-h:38px;
  display:block;
  height:var(--logo-h);
  width:calc(var(--logo-h) * 1024 / 316);
  -webkit-mask-image:url(/brand/logo-horizontal.png);
  mask-image:url(/brand/logo-horizontal.png);
}
.brand__logo--icon{
  display:none;
  width:36px;height:36px;
  -webkit-mask-image:url(/brand/logo-icon.png);
  mask-image:url(/brand/logo-icon.png);
}
.brand__logo--foot{
  --logo-h:30px;
  height:var(--logo-h);
  width:calc(var(--logo-h) * 1024 / 316);
  -webkit-mask-image:url(/brand/logo-horizontal.png);
  mask-image:url(/brand/logo-horizontal.png);
}
.brand--text,
.brand--home .brand__label{
  font-family:var(--serif);
  font-size:clamp(15px,1.5vw,23px);
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#f4efe6;
}
/* Home hero: text-only at top, icon + text once scrolled */
.site--home .site-nav:not(.is-collapsed) .brand--home .brand__logo{display:none;}
.site--home .site-nav.is-collapsed .brand--home .brand__logo--icon{
  display:block;
  width:28px;
  height:28px;
}
.site--home .site-nav.is-collapsed .brand--home .brand__label{
  font-size:clamp(13px,1.35vw,18px);
  letter-spacing:.16em;
}
.site--home .site-nav .brand--home{
  transition:gap .3s var(--ease);
}
.site--home .site-nav.is-collapsed .brand--home{gap:8px;}
.brand__mark{
  display:none;width:28px;height:28px;align-items:center;justify-content:center;
  color:rgba(244,239,230,.9);flex:none;margin-left:1px;
}
.brand__text{
  font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;
}
.nav{
  display:flex;justify-content:center;align-items:center;gap:26px;
  min-width:0;flex-shrink:1;
  transition:opacity .35s var(--ease),gap .35s var(--ease);
}
.nav a{
  font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,239,230,.78);
  text-decoration:none;transition:color .2s,font-size .35s var(--ease);
}
.nav__short{display:none;}
.nav a:hover,.nav a.active{color:#fff;}
.nav__drop{position:relative;display:flex;align-items:center;}
.nav__drop-btn{
  appearance:none;border:none;background:transparent;cursor:pointer;padding:0;
  font:inherit;font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(244,239,230,.78);display:inline-flex;align-items:center;gap:5px;
  transition:color .2s,font-size .35s var(--ease);
}
.nav__drop-btn svg{opacity:.75;transition:transform .2s var(--ease);}
.nav__drop-btn:hover,.nav__drop-btn.active{color:#fff;}
.nav__drop.is-open .nav__drop-btn svg{transform:rotate(180deg);}
.nav__drop-panel{
  position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);
  min-width:210px;padding:8px;display:flex;flex-direction:column;gap:2px;
  background:rgba(38,44,22,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.14);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.22);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility .2s;z-index:120;
}
.nav__drop:hover .nav__drop-panel,.nav__drop.is-open .nav__drop-panel{opacity:1;visibility:visible;pointer-events:auto;}
.nav__drop-panel a{
  display:block;padding:10px 12px;border-radius:8px;font-size:10px;letter-spacing:.14em;
  color:rgba(244,239,230,.88);white-space:nowrap;
}
.nav__drop-panel a:hover,.nav__drop-panel a.active{background:rgba(255,255,255,.1);color:#fff;}
.tools{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:auto;margin-right:2px;position:relative;z-index:2;}
.iconbtn{
  position:relative;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.1);display:grid;place-items:center;color:#f4efe6;text-decoration:none;cursor:pointer;
  transition:background .2s,border-color .2s,color .2s,transform .35s var(--ease),width .35s var(--ease),height .35s var(--ease);
}
.iconbtn:hover{border-color:rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.16);}
.cartcount{
  position:absolute;top:-3px;right:-3px;min-width:17px;height:17px;padding:0 4px;border-radius:99px;
  background:var(--olive);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;
}
.cartcount[hidden]{display:none;}

/* ── sticky header — static (no scroll morph) ── */
.site-nav{
  position:sticky;top:0;z-index:100;
  padding-top:10px;padding-bottom:10px;
  background:transparent;
  border-bottom:none;
  box-shadow:none;
}
.site-nav::before{
  content:"";position:absolute;z-index:-1;
  top:0;bottom:0;left:50%;width:100vw;max-width:100vw;
  transform:translateX(-50%);
  background:var(--nav-green-solid);
  backdrop-filter:blur(22px) saturate(1.12);
  -webkit-backdrop-filter:blur(22px) saturate(1.12);
  border-bottom:1px solid rgba(255,255,255,.14);
  box-shadow:0 1px 0 rgba(255,255,255,.08);
  pointer-events:none;
}
.site-nav .brand__logo--full{--logo-h:38px;}
.site-nav.is-collapsed{
  position:sticky;
  margin:0;width:auto;max-width:none;
  padding-top:10px;padding-bottom:10px;
  background:transparent;
  box-shadow:none;
}
.site-nav.is-collapsed::before{
  background:var(--nav-green-solid);
  backdrop-filter:blur(22px) saturate(1.12);-webkit-backdrop-filter:blur(22px) saturate(1.12);
  box-shadow:0 1px 0 rgba(255,255,255,.08);
}
.site-nav.is-collapsed .brand__logo--full{--logo-h:38px;}
.site-nav.is-collapsed .nav{gap:26px;}
.site-nav.is-collapsed .nav a{font-size:10.5px;letter-spacing:.18em;}
.site-nav.is-collapsed .nav__drop-btn{font-size:10.5px;letter-spacing:.18em;}
.site-nav.is-collapsed .iconbtn,.site-nav.is-collapsed .cart{width:36px;height:36px;min-height:36px;padding:0;}

/* ── fixed footer bar — full bleed, matches header ── */
:root{--site-foot-h:58px;}
.site-foot{
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:100;
  display:flex;align-items:center;justify-content:flex-start;gap:clamp(14px,3vw,28px);
  flex-wrap:wrap;
  padding:10px var(--nav-inset,20px);
  box-sizing:border-box;
  min-height:var(--site-foot-h);
  background:var(--nav-green-solid);
  backdrop-filter:blur(22px) saturate(1.12);-webkit-backdrop-filter:blur(22px) saturate(1.12);
  border:none;
  border-top:1px solid rgba(255,255,255,.14);
  border-radius:0;
  box-shadow:none;
}
.site-foot .brand{
  display:inline-flex;align-items:center;text-decoration:none;
}
.site-foot .brand__logo--foot{--logo-h:30px;}
.site-foot .foot__c{
  font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,239,230,.72);
  text-align:left;
}
.site-foot .foot__year{
  font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,239,230,.72);
  text-align:right;white-space:nowrap;margin-left:auto;
}
.foot__inner{
  width:100%;
  display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;
}
.foot__left{
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;
}

/* ── 3D viewer glint ── */
.viewer.glass--shimmer,.desk-hit.glass--shimmer{overflow:visible;}
.viewer .scene,.hero__stage .scene{position:relative;}
.desk-glint{position:relative;filter:drop-shadow(0 22px 18px rgba(40,34,18,.2));}
.desk-glint .top__surface{box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -1px 0 rgba(0,0,0,.06);}
.desk-glint .top__edge{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 8px 18px -10px rgba(40,34,18,.25);}

/* ── full-page lifestyle photo backdrop ── */
.wood-bg{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background-color:var(--wood-base);
  background-image:var(--grain-photo);
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  filter:var(--bg-photo-filter);
  transform:scale(1.02);
  transform-origin:center center;
  opacity:1;
}
.wood-bg--wash::after{display:none;}

.site-body--wood{
  position:relative;z-index:4;
  background:transparent;
  --card-inset:14px;
  margin-top:-16vh;
  padding:0 var(--card-inset) 14px;
  min-height:40vh;
}
/* wood comes from .site--home::before — no duplicate layer */
.site-body--wood::before{display:none;}
/* wood texture starts flush — no extra beige feather */
.site-body--wood::after{display:none;}
.site-body--wood > *:not(.wood-bg){position:relative;z-index:1;background:transparent;}
.site-body--wood .wood-bg{display:none;}

/* ── editorial card — translucent oak shell ── */
.editorial-card{
  --glass-bg:rgba(230,208,168,.92);
  background:linear-gradient(165deg,rgba(242,230,208,.96) 0%,rgba(220,192,148,.9) 100%);
  backdrop-filter:blur(22px) saturate(1.1);
  -webkit-backdrop-filter:blur(22px) saturate(1.1);
  border:none;
  border-radius:20px;
  box-shadow:0 12px 40px rgba(40,34,18,.1),inset 0 1px 0 rgba(255,255,255,.6);
  position:relative;overflow:hidden;padding:0;
}
.editorial-card::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;
  background:linear-gradient(148deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,.04) 42%,rgba(255,255,255,.14) 100%);
}
.editorial-card > *{position:relative;z-index:1;}
.editorial-card.glass--shimmer::before{display:none;}

.band__tagline{
  margin:0;padding:16px 34px 0;
  font-size:9.5px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;
  color:var(--ink-2);text-align:center;
}
.editorial-copy{padding:30px 34px;}
.editorial-copy .eyebrow,
.eyebrow{font-size:10px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--olive);margin:0;}
.editorial-copy h2,
.band__copy h2{font-family:var(--serif);font-weight:400;font-size:44px;line-height:1.03;letter-spacing:.005em;margin:14px 0 0;color:var(--ink);}
.editorial-copy .lede,
.lede{font-size:14.5px;line-height:1.66;color:var(--ink-2);margin:18px 0 0;max-width:46ch;text-wrap:pretty;}
.editorial-copy h3:not(.roadmap__phase){font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.08;letter-spacing:.005em;margin:12px 0 0;color:var(--ink);}
.editorial-copy p{font-size:14px;line-height:1.62;color:var(--ink-2);margin:12px 0 0;}
.site--page .roadmap__phase,
.editorial-copy .roadmap__phase,
h3.roadmap__phase{
  margin:0 0 12px;font-family:var(--serif);font-size:clamp(30px,5.5vw,40px);font-weight:600;
  line-height:1.04;color:var(--ink);letter-spacing:.008em;
}
.closer{width:100%;text-align:left;}
.closer .editorial-copy h2{font-size:38px;margin:14px 0 0;}

.site--home .glass--readable{color:var(--ink);}
.site--home .glass-panel__copy,
.site--home .editorial-copy{text-shadow:none;}
.site--home .spec b{color:var(--ink);}
.site--home .spec span{color:var(--muted);font-weight:600;}
.site--home .price{color:var(--ink-2);}
.site--home .price b{color:var(--ink);}
.site--home .spec{border-bottom:none;padding:12px 0;}

/* customise + subpage banner typography */
.site--customise .crumbs,
.site--page .crumbs{
  font-size:10px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ink-2);margin:0 0 14px;text-shadow:0 1px 10px rgba(255,255,255,.88);
}
.site--customise .page-lead h1,
.site--page .page-lead h1{
  font-family:var(--serif);font-weight:400;font-size:40px;line-height:1.02;color:var(--ink);
  margin:0 0 10px;
  text-shadow:0 1px 12px rgba(255,255,255,.92),0 2px 24px rgba(246,244,240,.55);
}
.site--customise .page-lead p,
.site--page .page-lead p{
  color:var(--ink);font-size:15.5px;line-height:1.72;font-weight:500;
  max-width:none;letter-spacing:.01em;
  text-shadow:0 1px 10px rgba(255,255,255,.85),0 2px 18px rgba(246,244,240,.45);
}
.site--customise .crumbs span,
.site--page .crumbs span{color:var(--olive);}
.site--customise .section__title{font-family:var(--serif);font-weight:400;font-size:27px;color:var(--ink);}
.site--customise .section__note{color:var(--ink-2);}

/* customise + subpages — shell layout (edge-to-edge banner, padded content) */
.site.site--customise,
.site.site--page{
  padding-left:0;
  padding-right:0;
}
.site.site--customise > .site-nav,
.site.site--page > .site-nav{
  padding-top:10px;
  padding-bottom:10px;
}
.site.site--customise > .page-lead,
.site.site--customise > .wrap,
.site.site--page > .page-lead,
.site.site--page > .page-main{
  padding-left:var(--page-gutter);
  padding-right:var(--page-gutter);
  width:100%;
  box-sizing:border-box;
}
.site.site--customise > .page-lead,
.site.site--page > .page-lead{
  padding-top:0;
  padding-bottom:28px;
  margin-bottom:0;
  background:transparent;
  border-bottom:none;
  box-shadow:none;
  position:relative;
  z-index:2;
}
.site.site--customise .brand{margin-left:0;padding-left:0;}
.site.site--customise .page-lead > *,
.site.site--page .page-lead > *{margin-left:0;padding-left:0;}

/* home — full-bleed hero, padded content stack */
.site.site--home{
  padding-left:0;
  padding-right:0;
}
.site.site--home > .site-body--wood{
  padding-left:var(--page-gutter);
  padding-right:var(--page-gutter);
}

/* scroll: photo hero → glass content */
.hero-scroll-zone{
  height:min(175vh, 1400px);
  position:relative;
}
.hero--splash{
  --scroll-p:0;
  --scroll-wood:0;
  --photo-reveal:0;
  --content-in:0;
  --hero-intro-opacity:1;
  position:sticky;
  top:0;
  overflow:hidden;
  background:transparent;
}
.hero__green,
.hero__wood-reveal,
.hero__fade,
.hero__vignette{display:none;}
.hero__stage{
  position:relative;z-index:5;
  opacity:var(--hero-intro-opacity,1);
  will-change:opacity,transform;
}

.content-stack{background:transparent;}

/* ── homepage: hero (green) → wood scroll zone ── */

.content-stack{
  width:100%;max-width:none;margin:0;
  padding:20px 0 16px;
  display:flex;flex-direction:column;gap:24px;
  background:transparent;
}

.glass-panel:not(.panel){padding:0;background:transparent;}
.panel.glass-panel{padding:24px 26px 22px;}
.glass-panel__inner{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1.15fr .85fr;gap:0;
  background:transparent;
}
.glass-panel__inner--single{grid-template-columns:1fr;}
.glass-panel__copy{padding:32px 34px;}
.glass-panel__aside{
  padding:28px 34px;
  border-left:none;
  display:flex;flex-direction:column;justify-content:center;
}
.glass-panel__aside .specs-inner{display:flex;flex-direction:column;gap:0;}

.values--editorial{
  display:grid;grid-template-columns:1fr 1fr;gap:24px;
  padding:0;
}
.content-stack .closer{margin:0;}

/* content rises into frame as hero scroll completes */
.site-body--wood .content-stack > *{
  opacity:var(--block-in, 0);
  transform:translateY(calc((1 - var(--block-in, 0)) * 36px));
  will-change:opacity,transform;
}
.site-body--wood.is-entered .content-stack > *{
  opacity:1;
  transform:none;
}
.site-body--wood .glass-reveal.is-scroll-visible{
  opacity:var(--block-in, 1);
  transform:translateY(calc((1 - var(--block-in, 0)) * 36px));
}
.site-body--wood.is-entered .glass-reveal.is-scroll-visible{
  opacity:1;
  transform:none;
}
.hero__glass{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1);
  border:1px solid rgba(255,255,255,.65);
  border-radius:10px;
  box-shadow:0 6px 24px rgba(0,0,0,.14);
  color:var(--olive-d);
}

/* customise + subpages — shared full-bleed shell (matches customise banner) */
.site--customise,
.site--page{
  background:var(--shell-bg);
  position:relative;
  padding-left:0;
  padding-right:0;
  min-height:100vh;
}
.site--customise{
  --customise-bg:var(--shell-bg);
  --customise-surface:rgba(255,255,255,.82);
}
.site--customise::before,
.site--page::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-color:var(--shell-bg);
  background-image:var(--grain-photo);
  background-size:cover;
  background-position:center center;
  filter:blur(5px) saturate(.72) brightness(1.14);
  transform:scale(1.02);
  transform-origin:center center;
}
.site--customise::after,
.site--page::after{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.52) 0%,rgba(246,244,240,.38) 100%);
}
.site--customise .wood-bg,
.site--page .page-bg{display:none;}
.site--customise > *:not(.wood-bg):not(.site-nav):not(.site-foot),
.site--page > *:not(.page-bg):not(.site-nav):not(.site-foot){position:relative;z-index:1;}
.site--customise .editorial-card{
  background:linear-gradient(165deg,rgba(255,255,255,.94) 0%,rgba(247,245,241,.88) 100%);
  box-shadow:0 10px 36px rgba(40,34,18,.06),inset 0 1px 0 rgba(255,255,255,.88);
}
.site--customise .editorial-card::after{
  background:linear-gradient(148deg,rgba(255,255,255,.35) 0%,rgba(255,255,255,.06) 42%,rgba(255,255,255,.18) 100%);
}
.site--page .editorial-card{
  background:linear-gradient(165deg,rgba(246,244,240,.76) 0%,rgba(234,228,218,.66) 100%);
  backdrop-filter:blur(20px) saturate(1.04);
  -webkit-backdrop-filter:blur(20px) saturate(1.04);
  border:1px solid rgba(255,255,255,.38);
  box-shadow:0 8px 30px rgba(40,34,18,.09),inset 0 1px 0 rgba(255,255,255,.48);
}
.site--page .editorial-card::after{
  background:linear-gradient(148deg,rgba(255,255,255,.2) 0%,rgba(255,255,255,.03) 42%,rgba(255,255,255,.1) 100%);
}
.site--customise .glass--readable{
  --glass-bg:rgba(255,255,255,.76);
  --glass-border:rgba(255,255,255,.72);
  box-shadow:0 8px 28px rgba(40,34,18,.05),inset 0 1px 0 rgba(255,255,255,.82);
}
.site--page .glass--readable{
  --glass-bg:rgba(246,244,240,.58);
  --glass-border:rgba(255,255,255,.38);
  backdrop-filter:blur(22px) saturate(1.06);
  -webkit-backdrop-filter:blur(22px) saturate(1.06);
  box-shadow:0 8px 28px rgba(40,34,18,.08),inset 0 1px 0 rgba(255,255,255,.42);
}

/* React mounts inside #root — keep full-width shell + sticky nav like landing */
#root,#root > div{width:100%;min-height:0;}

/* ── subpages (corporate, faq, story, etc.) ── */
.site--page > .site-nav{padding-top:10px;padding-bottom:10px;}
.site--page > .page-main{
  padding-top:4px;
  padding-bottom:calc(var(--site-foot-h,52px) + 32px);
  display:flex;
  flex-direction:column;
  gap:24px;
  position:relative;
  z-index:1;
}
.crumbs a{color:inherit;text-decoration:none;transition:color .15s;}
.crumbs a:hover{color:var(--olive);}
.site--page .sub-hero{
  padding:36px 34px;border-radius:18px;text-align:center;
  background:linear-gradient(165deg,rgba(246,244,240,.76) 0%,rgba(234,228,218,.66) 100%);
  border:1px solid rgba(255,255,255,.38);
  box-shadow:0 8px 30px rgba(40,34,18,.09),inset 0 1px 0 rgba(255,255,255,.48);
}
.site--page .sub-stat,
.site--page .sub-card,
.site--page .help-item,
.site--page .roadmap__body,
.site--page .timeline__item,
.site--page .cert-card,
.site--page .faq__item{
  background:rgba(246,244,240,.7);
  backdrop-filter:blur(14px) saturate(1.04);
  -webkit-backdrop-filter:blur(14px) saturate(1.04);
  border:1px solid rgba(67,57,36,.1);
  box-shadow:0 4px 16px rgba(40,34,18,.06);
}
.site--page .roadmap__icon{
  background:rgba(246,244,240,.82);
}
.sub-hero{
  padding:36px 34px;border-radius:18px;text-align:center;
  background:linear-gradient(165deg,rgba(252,249,243,.9) 0%,rgba(242,230,208,.85) 100%);
  border:1px solid rgba(255,255,255,.55);box-shadow:0 10px 36px rgba(40,34,18,.08);
}
.sub-hero h2{font-family:var(--serif);font-weight:500;font-size:clamp(28px,4vw,38px);margin:0 0 8px;color:var(--ink);}
.sub-hero p{margin:0 auto;max-width:56ch;font-size:15px;line-height:1.65;color:var(--ink-2);}
.sub-hero .cta-row{justify-content:center;margin-top:22px;}
.sub-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.sub-stat{
  padding:18px 16px;border-radius:14px;text-align:center;
  background:rgba(252,249,243,.88);border:1px solid rgba(67,57,36,.1);
}
.sub-stat b{display:block;font-family:var(--serif);font-size:22px;font-weight:500;color:var(--ink);margin-bottom:4px;}
.sub-stat span{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);}
.sub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.sub-grid--3{grid-template-columns:repeat(3,1fr);}
.sub-card{padding:24px 22px;border-radius:16px;background:rgba(252,249,243,.88);border:1px solid rgba(67,57,36,.1);}
.sub-card h3{margin:0 0 8px;font-family:var(--serif);font-size:22px;font-weight:500;color:var(--ink);}
.sub-card p{margin:0;font-size:13.5px;line-height:1.65;color:var(--ink-2);}
.sub-section h2{font-family:var(--serif);font-weight:500;font-size:clamp(34px,5vw,42px);line-height:1.06;margin:0 0 18px;color:var(--ink);}
.site--page .sub-section > .editorial-copy{padding:32px 34px;}
.site--page .sub-section .sub-card{padding:24px 24px;}
.sub-section p.lede{margin:0 0 20px;font-size:14.5px;line-height:1.65;color:var(--ink-2);max-width:70ch;}
.sub-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;}
.sub-list li{padding-left:16px;position:relative;font-size:14px;line-height:1.6;color:var(--ink-2);}
.sub-list li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--olive);}
.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:6px;}
.help-item{
  display:flex;flex-direction:column;align-items:flex-start;gap:12px;
  padding:20px 18px;border-radius:14px;
  background:rgba(252,249,243,.88);border:1px solid rgba(67,57,36,.1);
  transition:box-shadow .18s var(--ease),transform .18s var(--ease);
}
.help-item:hover{box-shadow:0 8px 24px rgba(40,34,18,.08);transform:translateY(-2px);}
.help-item__icon{
  width:38px;height:38px;border-radius:11px;flex:none;
  display:grid;place-items:center;
  background:rgba(95,107,57,.11);color:var(--olive-d);
  border:1px solid rgba(95,107,57,.14);
}
.help-item__icon svg{display:block;}
.help-item p{margin:0;font-size:13.5px;line-height:1.58;color:var(--ink-2);font-weight:500;}
@media(max-width:720px){
  .help-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:480px){
  .help-grid{grid-template-columns:1fr;}
}
/* process roadmap / timeline */
.roadmap-block{
  display:grid;grid-template-columns:52px 1fr;column-gap:16px;align-items:start;
}
.roadmap-block > h2{
  grid-column:2;margin:0 0 18px;
  font-size:clamp(26px,4vw,32px);line-height:1.08;font-weight:500;
}
.roadmap-block > .roadmap{grid-column:1 / -1;margin:0;}
.roadmap{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;}
.roadmap__step{
  display:grid;grid-template-columns:52px 1fr;gap:16px;
  padding-bottom:24px;position:relative;align-items:start;
}
.roadmap__step:last-child{padding-bottom:0;}
.roadmap__step:not(:last-child)::after{
  content:"";position:absolute;left:25px;top:54px;bottom:0;width:2px;
  background:linear-gradient(180deg,rgba(95,107,57,.55) 0%,rgba(95,107,57,.12) 100%);
}
.roadmap__marker{
  display:flex;justify-content:center;align-items:flex-start;
  position:relative;z-index:1;
}
.roadmap__icon{
  width:48px;height:48px;border-radius:13px;flex:none;
  display:grid;place-items:center;
  background:rgba(252,249,243,.96);color:var(--olive-d);
  border:2px solid rgba(95,107,57,.22);
  box-shadow:0 2px 10px rgba(95,107,57,.12);
}
.roadmap__icon svg{display:block;}
.roadmap__body{
  padding:18px 20px;border-radius:14px;
  background:rgba(252,249,243,.9);border:1px solid rgba(67,57,36,.1);
}
.roadmap__phase{
  margin:0 0 12px;font-family:var(--serif);font-size:clamp(30px,5.5vw,40px);font-weight:600;
  line-height:1.04;color:var(--ink);letter-spacing:.008em;
}
.roadmap__text{margin:0;font-size:14px;line-height:1.62;color:var(--ink-2);}
@media(min-width:900px){
  .roadmap-block{display:block;}
  .roadmap-block > h2{text-align:center;margin:0 0 24px;font-size:clamp(28px,3.5vw,34px);}
  .roadmap{
    display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
    position:relative;padding-top:58px;
  }
  .roadmap::before{
    content:"";position:absolute;top:23px;left:8%;right:8%;height:2px;z-index:0;
    background:linear-gradient(90deg,rgba(95,107,57,.15),rgba(95,107,57,.55) 20%,rgba(95,107,57,.55) 80%,rgba(95,107,57,.15));
  }
  .roadmap__step{
    grid-template-columns:1fr;padding-bottom:0;padding-top:0;
    display:flex;flex-direction:column;align-items:stretch;
  }
  .roadmap__step::after{display:none;}
  .roadmap__marker{
    justify-content:center;margin:0 0 16px;
  }
  .roadmap__body{flex:0 1 auto;padding:24px 22px;min-height:0;}
  .site--page .roadmap__phase,
  .editorial-copy .roadmap__phase,
  h3.roadmap__phase{font-size:clamp(28px,2.4vw,34px);font-weight:600;line-height:1.05;margin:0 0 10px;}
  .editorial-copy .roadmap__text{font-size:14.5px;line-height:1.62;margin:0;}
}
.timeline{display:flex;flex-direction:column;gap:14px;}
.timeline__item{
  display:grid;grid-template-columns:84px 1fr;gap:24px;align-items:start;
  padding:26px 30px;border-radius:16px;
  background:rgba(252,249,243,.88);border:1px solid rgba(67,57,36,.1);
  box-sizing:border-box;
}
.timeline__year{font-family:var(--serif);font-size:30px;font-weight:500;color:var(--olive-d);line-height:1.05;padding-top:2px;}
.timeline__item h3{margin:0 0 10px;font-family:var(--serif);font-size:24px;font-weight:500;color:var(--ink);line-height:1.1;}
.editorial-copy .timeline__item p{margin:0;font-size:14.5px;line-height:1.68;color:var(--ink-2);}
.cert-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.cert-card{padding:22px;border-radius:16px;background:rgba(252,249,243,.88);border:1px solid rgba(67,57,36,.1);}
.cert-card h3{margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--olive-d);}
.cert-card p{margin:0;font-size:14px;line-height:1.65;color:var(--ink-2);}
.faq{display:flex;flex-direction:column;gap:10px;}
.faq__item{border-radius:14px;background:rgba(252,249,243,.9);border:1px solid rgba(67,57,36,.1);overflow:hidden;}
.faq__q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:20px 24px;border:none;background:transparent;cursor:pointer;text-align:left;
  appearance:none;-webkit-appearance:none;
  font-family:var(--sans);font-size:15px;font-weight:700;line-height:1.45;color:var(--ink);
  box-sizing:border-box;
}
.faq__q svg{flex:none;transition:transform .2s var(--ease);opacity:.5;margin-right:2px;}
.faq__item.is-open .faq__q svg{transform:rotate(180deg);}
.faq__a{display:none;padding:0 24px 22px;font-size:14.5px;line-height:1.65;color:var(--ink-2);}
.faq__item.is-open .faq__a{display:block;}
.faq__group{margin:0 0 28px;}
.faq__group:last-child{margin-bottom:0;}
.faq__group h2{
  font-family:var(--serif);font-weight:500;font-size:clamp(28px,4vw,34px);line-height:1.08;
  margin:0 0 16px;color:var(--ink);
}
.contact-form{display:grid;gap:12px;}
.contact-form label{display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);}
.contact-form input,.contact-form textarea{
  border:1px solid rgba(67,57,36,.18);border-radius:10px;padding:12px 14px;
  font:inherit;font-size:14px;color:var(--ink);background:rgba(255,255,255,.92);
}
.contact-form textarea{min-height:120px;resize:vertical;}
.contact-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.sub-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;
  color:#fff;background:var(--olive-d);padding:14px 22px;border-radius:12px;border:2px solid rgba(180,200,120,.6);
}
.sub-cta:hover{background:#3d4520;}
.cta-row{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px;}
.editorial-copy{padding:32px 34px;}
.fab-stack{
  position:fixed;
  right:calc(var(--page-gutter, 12px) + 10px);
  z-index:110;
  display:flex;
  flex-direction:column-reverse;
  align-items:center;
  gap:10px;
  pointer-events:none;
}
.fab-stack .fab{pointer-events:auto;}
.fab{
  width:50px;height:50px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(255,255,255,.05);
  backdrop-filter:blur(12px) saturate(1.1);-webkit-backdrop-filter:blur(12px) saturate(1.1);
  border:1.5px solid rgba(255,255,255,.36);
  box-shadow:0 4px 16px rgba(40,34,18,.1);
  transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s,background .18s;
  text-decoration:none;cursor:pointer;
}
.fab:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(40,34,18,.14);border-color:rgba(255,255,255,.52);background:rgba(255,255,255,.1);}
.fab:active{transform:translateY(-1px);}
.fab--chat{color:#586932;}
.fab--wa{background:rgba(255,255,255,.07);border-color:rgba(37,211,102,.28);}
.fab--wa:hover{border-color:rgba(37,211,102,.45);background:rgba(255,255,255,.12);}
.fab--wa svg{display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,.12));}

/* empty cart modal */
.cart-empty{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:24px var(--page-gutter,16px);box-sizing:border-box;}
.cart-empty.show{display:flex;}
.cart-empty__scrim{position:absolute;inset:0;background:rgba(40,34,18,.42);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.cart-empty__panel{position:relative;z-index:1;width:min(420px,100%);padding:32px 28px 28px;text-align:center;border-radius:18px;}
.cart-empty__close{
  position:absolute;top:14px;right:14px;width:32px;height:32px;border:1px solid rgba(67,57,36,.14);
  border-radius:50%;background:rgba(255,255,255,.9);color:var(--ink-2);cursor:pointer;
  display:grid;place-items:center;padding:0;
}
.cart-empty__close:hover{border-color:rgba(67,57,36,.22);color:var(--ink);}
.cart-empty__panel h2{margin:0 0 10px;font-family:var(--serif);font-weight:500;font-size:clamp(26px,5vw,32px);line-height:1.08;color:var(--ink);}
.cart-empty__panel p{margin:0 0 22px;font-size:14px;line-height:1.62;color:var(--ink-2);}
.cart-empty__panel .sub-cta{width:100%;max-width:280px;}

@media(min-width:821px){
  .site-nav.hd{
    display:grid;
    grid-template-columns:minmax(0,auto) minmax(0,1fr) auto;
    align-items:center;
    gap:10px 14px;
  }
  .brand{
    max-width:none;
    background:transparent;
    padding-right:0;
    flex-shrink:0;
  }
  .brand__logo--full{--logo-h:clamp(30px,3.2vw,38px);}
  .nav{
    position:static;transform:none;
    z-index:1;max-width:none;width:100%;
    gap:clamp(6px,.9vw,14px);
    pointer-events:auto;
    justify-content:center;
    flex-wrap:wrap;
  }
  .nav a{pointer-events:auto;font-size:clamp(8px,.78vw,10px);letter-spacing:clamp(.08em,.1vw,.15em);}
  .tools{background:transparent;padding-left:0;margin-left:0;}
}
@media(min-width:821px) and (max-width:1180px){
  .nav__long{display:none;}
  .nav__short{display:inline;}
}

@media(max-width:820px){
  .site-nav.hd{
    display:grid;
    grid-template-columns:1fr auto;
    grid-template-rows:auto auto;
    align-items:center;
    gap:8px 10px;
    padding:8px var(--nav-inset);
  }
  .site--home .site-nav .brand--home .brand__label{
    display:inline-flex;
    font-size:clamp(13px,3.6vw,17px);
    letter-spacing:.14em;
  }
  .site--home .site-nav.is-collapsed .brand--home .brand__logo--icon{
    width:26px;
    height:26px;
  }
  .brand{max-width:none;background:transparent;padding-right:0;grid-column:1;grid-row:1;justify-self:start;}
  .brand__logo--full{display:none;}
  .brand__logo--icon{display:block;}
  .tools{grid-column:2;grid-row:1;justify-self:end;background:transparent;padding-left:0;}
  .nav{
    grid-column:1 / -1;
    grid-row:2;
    position:static;transform:none;
    display:flex!important;justify-content:flex-start;
    flex-wrap:nowrap;align-items:center;gap:10px 12px;
    overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
    padding:2px 0;margin:0;max-width:100%;width:100%;
    border-top:none;pointer-events:auto;
    scrollbar-width:none;
  }
  .nav::-webkit-scrollbar{display:none;}
  .nav a{font-size:8.5px;letter-spacing:.1em;white-space:nowrap;flex-shrink:0;}
  .nav__long{display:none;}
  .nav__short{display:inline;}
  .site,.site--home,.site--customise,.site--page{--content-gutter:16px;--page-gutter:16px;--nav-inset:16px;}
  .site.site--customise > .site-nav,
  .site.site--page > .site-nav{padding:8px var(--nav-inset);}
  .site.site--customise > .page-lead,
  .site.site--page > .page-lead{padding:0 var(--page-gutter) 28px;}
  .site.site--customise > .wrap,
  .site.site--page > .page-main{padding-left:var(--page-gutter);padding-right:var(--page-gutter);}
  .site--customise .page-lead h1,
  .site--page .page-lead h1{font-size:clamp(30px,8vw,36px);}
  .site--customise .page-lead p,
  .site--page .page-lead p{font-size:14px;}
  .site--page .sub-section > .editorial-copy{padding:26px 24px;}
  .site--page .sub-hero{padding:32px 24px;}
  .site--page .sub-section .sub-card{padding:22px 24px;}
  .site--page .sub-stat{padding:18px 20px;}
  .iconbtn{width:34px;height:34px;}
  .site-body--wood{--card-inset:10px;}
  .hero-scroll-zone{height:128vh;}
  .content-stack{padding:12px 0 16px;gap:12px;}
  .glass-panel__inner{grid-template-columns:1fr;}
  .glass-panel__aside{border-left:none;border-top:1px solid rgba(255,255,255,.2);}
  .glass-panel__aside .specs-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 8px;}
  .values--editorial{grid-template-columns:1fr;}
  .site-foot{
    padding:8px var(--nav-inset);
    min-height:48px;
  }
  .site-foot .brand__logo--foot{--logo-h:26px;}
  .fab{width:46px;height:46px;}
  .fab-stack{right:14px;gap:8px;}
  .sub-grid,.sub-grid--3,.cert-grid,.sub-stats{grid-template-columns:1fr;}
  .contact-form .row2{grid-template-columns:1fr;}
  .timeline__item{grid-template-columns:1fr;gap:10px;padding:22px 24px;}
  .timeline__year{font-size:28px;padding-top:0;}
  .roadmap{grid-template-columns:1fr;padding-top:0;}
  .roadmap::before{display:none;}
  .roadmap__marker{padding-left:0;justify-content:center;}
}
@media(prefers-reduced-motion:reduce){
  .glass-reveal{opacity:1;transform:none;transition:none;}
  .glass--shimmer::before{animation:none;opacity:.75;}
  .hero-scroll-zone{height:auto;}
  .hero--splash{position:relative;}
  .site-nav,.site-nav .brand__logo,.iconbtn{transition:none;}
}
