/* ════════════════════════════════════════════
   SABEHUB — Main Stylesheet
   Brand guidelines: CLAUDE.md | Font: Poppins only
   ════════════════════════════════════════════ */

/* ── BRAND TOKENS ─────────────────────────────────────── */
:root {
  /* Palette */
  --black:      #0A0A0A;   /* headings, nav, buttons */
  --olive:      #6B6B35;   /* accents, tags, CTA band */
  --khaki:      #C4B483;   /* signature brand color */
  --khaki-bg:   #C9BC8F;   /* section backgrounds */
  --khaki-lt:   #DDD5B4;
  --khaki-xlt:  #EDE7D0;
  --khaki-pale: #F5F1E4;   /* page background */
  --burgundy:   #7A2E35;   /* sparingly — drama/contrast */
  --tf-orange:  #FF6B35;   /* The Foundry accent */
  --bluegrey:   #D0DCDA;
  --terra:      #C96B43;   /* terracotta — experiences page accent */
  --sagegrey:   #C4C4A0;   /* wellness sections */
  --white:      #FFFFFF;
  --offwhite:   #FAF8F2;

  /* ── BACKGROUND IMAGES ────────────────────────────────
     Replace each URL with real SabeHub photography.
     One variable = one image = one line to update.
  ──────────────────────────────────────────────────── */
  --img-parallax:   url('../images/homepage/parallax/sabehub-mission.webp');
  --img-foundry-bg: url('https://images.unsplash.com/photo-1600880292203-757bb62b4baf?w=1600&q=70&auto=format&fit=crop');
}

/* ── RESET ─────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Poppins', sans-serif;
  background: var(--khaki-pale);
  color: var(--black);
  overflow-x: hidden;
  cursor: none;
}

/* ── CURSOR ────────────────────────────────────────────── */
#cur, #cur-r {
  position: fixed; pointer-events: none; border-radius: 50%;
  transform: translate(-50%,-50%); z-index: 9999;
}
#cur { width: 9px; height: 9px; background: #fff; mix-blend-mode: difference; }
#cur-r {
  width: 30px; height: 30px;
  border: 1.5px solid rgba(255,255,255,.7);
  z-index: 9998;
  mix-blend-mode: difference;
  transition: left .1s ease, top .1s ease, width .3s, height .3s, border-color .3s;
}
body:has(a:hover) #cur-r,
body:has(button:hover) #cur-r { width: 46px; height: 46px; border-color: var(--khaki); }

/* ── MOBILE MENU ───────────────────────────────────────── */
.mob {
  display: none; position: fixed; inset: 0;
  background: var(--black); z-index: 999;
  flex-direction: column; align-items: center; justify-content: center; gap: 2rem;
}
.mob.open { display: flex; }
.mob a {
  font-family: 'Poppins', sans-serif; font-size: 2.4rem; font-weight: 700;
  color: #fff; text-decoration: none; letter-spacing: -.01em; transition: color .3s;
}
.mob a:hover { color: var(--khaki); }
.mob a.active {
  padding-left: 1rem;
  border-left: 3px solid currentColor;
}
.mob a[href="/energy"].active      { color: #FF6B35; }
.mob a[href="/execution"].active   { color: #c47a80; }
.mob a[href="/wellness"].active    { color: var(--khaki); }
.mob a[href="/experiences"].active { color: var(--terra); }
.mob a[href="/the-foundry"].active { color: #FF6B35; }
.mob a[href="/our-story"].active   { color: var(--sagegrey); }

/* ── NAV ───────────────────────────────────────────────── */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.2rem 5%;
  background: linear-gradient(to bottom, rgba(10,10,10,.55) 0%, rgba(10,10,10,0) 100%);
  transition: all .4s ease;
}
nav.scrolled {
  background: rgba(10,10,10,0.94);
  backdrop-filter: blur(16px);
  padding: .85rem 5%;
}
.logo { display: flex; align-items: center; gap: .4rem; text-decoration: none; }
.logo-icon { width: 32px; height: 32px; flex-shrink: 0; }
.logo-img { display: block; flex-shrink: 0; object-fit: contain; }
.logo-img--nav { width: 36px; height: 36px; filter: invert(1); }
.logo-img--footer { width: 40px; height: 40px; }
.logo-text { font-family: 'Poppins', sans-serif; font-size: 1.45rem; line-height: 1; color: #fff; }
.logo-text .sabe { font-weight: 700; }
.logo-text .hub  { font-weight: 400; }
nav .logo-text    { color: #fff; }
nav .logo-svg-path { fill: #fff; }
.nav-links { display: flex; gap: .4rem; list-style: none; position: relative; }
.nav-links a {
  font-family: 'Poppins', sans-serif; font-size: .72rem; font-weight: 500;
  letter-spacing: .06em; text-transform: uppercase;
  color: rgba(255,255,255,.75); text-decoration: none; transition: color .25s;
  padding: .32rem .9rem; border-radius: 100px; position: relative; z-index: 1;
}
.nav-links a:hover { color: #fff; }
.nav-links a.active { font-weight: 700; }
.nav-links a[href="/execution"].active   { color: #c47a80; }
.nav-links a[href="/energy"].active      { color: #FF6B35; }
.nav-links a[href="/wellness"].active    { color: var(--khaki); }
.nav-links a[href="/experiences"].active { color: var(--terra); }
.nav-links a[href="/the-foundry"].active { color: #FF6B35; }
.nav-links a[href="/our-story"].active   { color: #fff; }
.nav-pill {
  position: absolute; top: 50%; transform: translateY(-50%);
  height: 28px; border-radius: 100px; pointer-events: none; z-index: 0; opacity: 0;
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  transition: left .35s cubic-bezier(.4,0,.2,1), width .35s cubic-bezier(.4,0,.2,1), opacity .2s;
}
.nav-pill.ready { opacity: 1; }
nav.scrolled .nav-links a { color: rgba(255,255,255,.65); }
nav.scrolled .nav-links a:hover { color: var(--khaki); }

.nav-cta {
  font-family: 'Poppins', sans-serif; font-size: .72rem; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase;
  background: var(--burgundy); color: #fff; padding: .65rem 1.4rem;
  text-decoration: none; transition: background .3s, transform .2s;
  border: 1px solid var(--burgundy);
}
.nav-cta:hover { background: #5e2229; border-color: #5e2229; transform: translateY(-1px); }
nav.scrolled .nav-cta { background: var(--burgundy); color: #fff; border-color: var(--burgundy); }
nav.scrolled .nav-cta:hover { background: #5e2229; border-color: #5e2229; }
.ham { display: none; flex-direction: column; gap: 5px; cursor: pointer; z-index: 1001; position: relative; }
.ham span { display: block; width: 22px; height: 2px; background: #fff; transition: transform .35s ease, opacity .25s ease; border-radius: 1px; }
.ham.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ham.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.ham.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── BUTTON SYSTEM ─────────────────────────────────────── */
.btn-blk {
  font-family: 'Poppins', sans-serif; font-size: .75rem; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase;
  background: var(--burgundy); color: #fff; padding: 1rem 2rem;
  text-decoration: none; border: 2px solid var(--burgundy);
  display: inline-block; transition: all .3s;
}
.btn-blk:hover { background: #fff; color: var(--burgundy); border-color: var(--burgundy); transform: translateY(-2px); }

.btn-out {
  font-family: 'Poppins', sans-serif; font-size: .75rem; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase;
  background: transparent; color: var(--black); padding: 1rem 2rem;
  border: 2px solid var(--black); text-decoration: none;
  display: inline-block; transition: all .3s;
}
.btn-out:hover { background: var(--black); color: #fff; transform: translateY(-2px); }

.btn-wht {
  font-family: 'Poppins', sans-serif; font-size: 1rem; font-weight: 800;
  letter-spacing: .08em; text-transform: uppercase;
  background: var(--burgundy); color: #fff; padding: 1rem 2rem;
  text-decoration: none; text-align: center; display: block;
  transition: all .3s; border: 2px solid var(--burgundy);
}
.btn-wht:hover { background: #fff; color: var(--burgundy); border-color: var(--burgundy); transform: translateY(-2px); }

.btn-out-wht {
  font-family: 'Poppins', sans-serif; font-size: .72rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  background: transparent; color: #fff; padding: 1rem 2rem;
  border: 2px solid rgba(255,255,255,.5); text-decoration: none;
  text-align: center; display: block; transition: all .3s;
}
.btn-out-wht:hover { background: #fff; color: var(--olive); }

/* Khaki-filled button — overrides to maroon */
.btn-khaki {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: #fff;
}
.btn-khaki:hover {
  background: #fff;
  border-color: var(--burgundy);
  color: var(--burgundy);
}

/* ── HERO ──────────────────────────────────────────────── */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--black);
}
.hero-bg {
  position: absolute; inset: 0; z-index: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  filter: brightness(.92) saturate(.88);
  animation: heroScale 1.6s ease both;
}
@keyframes heroScale { from { transform: scale(1.07); } to { transform: scale(1); } }
.hero-ov {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(100deg, rgba(10,10,10,.62) 0%, rgba(10,10,10,.40) 55%, rgba(10,10,10,.15) 100%);
}
.hero-content {
  position: relative; z-index: 2;
  padding: 12rem 8% 9rem;
  max-width: min(84vw, 1280px);
}
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: .7rem;
  font-size: .68rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
  color: var(--khaki); margin-bottom: 2rem;
  opacity: 0; animation: up .6s .2s both;
}
.hero-eyebrow span { display: block; width: 1.8rem; height: 1.5px; background: var(--khaki); }
.hero-h1 {
  font-size: clamp(2.4rem, 5vw, 5.5rem);
  font-weight: 800; line-height: .92;
  color: #fff; text-transform: uppercase; letter-spacing: -.04em;
  letter-spacing: -.03em;
  margin-bottom: 2rem;
  text-shadow: 0 2px 40px rgba(0,0,0,.55), 0 0 80px rgba(0,0,0,.25);
  opacity: 0; animation: up .8s .4s both;
}
.hero-h1 em { font-style: italic; font-weight: 300; color: var(--khaki); display: block; text-transform: uppercase; }
.hero-h1 .accent   { color: var(--khaki); }
.hero-h1 .accent-2 { color: #E88090; }

/* ── HERO RATING BOX ──────────────────────────────────────── */
.hero-rating {
  position: absolute; bottom: 2.8rem; left: 8%; z-index: 3;
  display: flex; align-items: center; gap: 1.2rem;
  background: var(--khaki);
  border-radius: 100px;
  padding: .85rem 1.8rem .85rem 1.4rem;
  opacity: 0; animation: up .7s 1s both;
}
.hero-rating-logo {
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.hero-rating-divider {
  width: 1px; height: 2.4rem;
  background: rgba(10,10,10,.18); flex-shrink: 0;
}
.hero-rating-score {
  font-size: 2.2rem; font-weight: 800; color: var(--black);
  letter-spacing: -.05em; line-height: 1;
}
.hero-rating-right { display: flex; flex-direction: column; gap: .3rem; }
.hero-rating-stars {
  display: flex; gap: 2px; align-items: center;
}
.hero-rating-stars svg { flex-shrink: 0; }
.hero-rating-label {
  font-size: .5rem; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: rgba(10,10,10,.5);
}
.hero-sub {
  font-size: .92rem; font-weight: 400; line-height: 1.82;
  color: rgba(255,255,255,.65);
  max-width: 460px; margin-bottom: 2.4rem;
  opacity: 0; animation: up .8s .6s both;
}
.hero-sub strong { color: #fff; font-weight: 600; }
.hero-btns { display: flex; gap: 1rem; flex-wrap: wrap; opacity: 0; animation: up .7s .8s both; }
.hero-stats {
  position: absolute; bottom: 0; left: 0; right: 0; z-index: 3;
  display: grid; grid-template-columns: repeat(4, 1fr);
  opacity: 0; animation: up .7s 1.2s both;
  border-top: 1px solid rgba(196,180,131,.12);
}
.h-stat   { background: rgba(10,10,10,.82); backdrop-filter: blur(12px); padding: 1.4rem 2rem; border-right: 1px solid rgba(196,180,131,.1); }
.h-stat:nth-child(1) { animation: float 3.2s 2s ease-in-out infinite; }
.h-stat:nth-child(2) { animation: float 3.2s 2.4s ease-in-out infinite; }
.h-stat:nth-child(3) { animation: float 3.2s 2.8s ease-in-out infinite; }
.h-stat:nth-child(4) { animation: float 3.2s 3.2s ease-in-out infinite; }
.h-stat-n { font-size: 1.6rem; font-weight: 800; color: var(--khaki); line-height: 1; }
.h-stat-l { font-size: .56rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.45); margin-top: .25rem; }
@keyframes up    { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@media (prefers-reduced-motion: reduce) { .h-stat { animation: none !important; } }

/* ── MARQUEE ───────────────────────────────────────────── */
.marquee {
  background: var(--burgundy);
  overflow: hidden;
  padding: 1.35rem 0;
  position: relative;
  border-top: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.marquee::before,
.marquee::after {
  content: '';
  position: absolute; top: 0; bottom: 0; width: 10rem; z-index: 2; pointer-events: none;
}
.marquee::before { left: 0;  background: linear-gradient(to right, var(--burgundy) 10%, transparent); }
.marquee::after  { right: 0; background: linear-gradient(to left,  var(--burgundy) 10%, transparent); }
.marquee-t      { display: flex; animation: mq 22s linear infinite; white-space: nowrap; }
.marquee-t span {
  font-size: .95rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
  color: #fff; padding: 0 1.75rem;
  transition: color .25s;
}
.marquee-t .dot { color: #fff; padding: 0; opacity: 1; font-size: 1rem; }
.marquee--khaki { background: var(--khaki); }
.marquee--khaki::before { background: linear-gradient(to right, var(--khaki) 10%, transparent); }
.marquee--khaki::after  { background: linear-gradient(to left,  var(--khaki) 10%, transparent); }
.marquee--khaki .marquee-t span { color: var(--black); }
.marquee--khaki .marquee-t .dot { color: var(--olive); opacity: 1; }
.marquee--rev .marquee-t { animation-direction: reverse; }
.marquee--cafe { background: #FF6B35; }
.marquee--cafe::before { background: linear-gradient(to right, #FF6B35 10%, transparent); }
.marquee--cafe::after  { background: linear-gradient(to left,  #FF6B35 10%, transparent); }
.marquee--cafe .marquee-t span { color: #fff; }
.marquee--cafe .marquee-t .dot { color: #fff; }
@keyframes mq { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 640px) {
  .marquee::before,
  .marquee::after { width: 3rem; }
  .marquee-t { animation-duration: 14s; }
}

/* ── STATEMENT ─────────────────────────────────────────── */
.stmt {
  position: relative; min-height: 72vh;
  display: flex; align-items: flex-end; overflow: hidden;
}
.stmt-bg {
  position: absolute; inset: 0; z-index: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  filter: brightness(.88) saturate(.9);
}
.stmt-ov {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(108deg, rgba(10,10,10,.80) 0%, rgba(10,10,10,.48) 52%, rgba(10,10,10,.10) 100%);
}
.stmt-body {
  position: relative; z-index: 2;
  padding: 5rem 8%;
  max-width: 860px;
}
.stmt-text {
  font-size: clamp(1.35rem, 2.3vw, 2.1rem);
  font-weight: 500; line-height: 1.55; letter-spacing: -.015em;
  color: #fff;
  margin-bottom: 2.2rem;
  text-shadow: 0 2px 24px rgba(0,0,0,.35);
}
.stmt-ecosystem { color: var(--khaki); text-transform: uppercase; font-weight: 700; }
.stmt-tags { display: flex; flex-wrap: wrap; gap: .65rem; }
.stag {
  font-size: .6rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase;
  padding: .58rem 1.25rem; border-radius: 100px; line-height: 1;
}
.stag-olive { background: var(--olive);    color: #fff; }
.stag-khaki { background: var(--khaki);    color: var(--black); }
.stag-burg  { background: var(--burgundy); color: #fff; }
.stag-sage  { background: var(--sagegrey); color: var(--black); }
.stag-blue  { background: var(--bluegrey); color: var(--black); }

/* ── PROBLEM ───────────────────────────────────────────── */
/* ── PROBLEM — interactive full-viewport switcher ──────── */
.problem { background: var(--black); display: grid; grid-template-columns: 55fr 45fr; min-height: 100vh; overflow: hidden; position: relative; }

/* Left: video panel */
.prob-media { position: relative; overflow: hidden; }
.prob-vid {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  filter: brightness(.6) saturate(.8);
  opacity: 0; transition: opacity .75s ease;
}
.prob-vid.active { opacity: 1; }
.prob-media-ov {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(to right, rgba(10,10,10,.1) 0%, rgba(10,10,10,.65) 88%, rgba(10,10,10,.95) 100%);
}

/* Right: content */
.prob-content { padding: 6rem 6% 6rem 5%; display: flex; flex-direction: column; justify-content: center; gap: 2.5rem; position: relative; z-index: 2; }
.prob-sec-tag { color: var(--khaki) !important; }
.prob-sec-tag::before { background: var(--khaki) !important; }
.prob-sec-h2  { color: #fff !important; }
.prob-lead    { font-size: .84rem; font-weight: 400; line-height: 1.82; color: rgba(255,255,255,.5); }
.prob-lead strong { color: rgba(255,255,255,.88); font-weight: 600; }

.prob-items { display: flex; flex-direction: column; }
.prob-item {
  display: flex; gap: 1.4rem; align-items: flex-start;
  padding: 1.4rem 1rem; border-bottom: 1px solid rgba(255,255,255,.08);
  cursor: pointer; transition: background .3s;
}
.prob-item:first-child { border-top: 1px solid rgba(255,255,255,.08); }
.prob-item:hover, .prob-item.active { background: rgba(196,180,131,.07); }
.prob-item-num  { font-size: .6rem; font-weight: 700; letter-spacing: .12em; color: var(--khaki); flex-shrink: 0; margin-top: .25rem; min-width: 1.6rem; }
.prob-item-name { font-size: .82rem; font-weight: 700; color: rgba(255,255,255,.7); margin-bottom: .3rem; transition: color .3s; }
.prob-item:hover .prob-item-name, .prob-item.active .prob-item-name { color: var(--khaki); }
.prob-item-desc { font-size: .74rem; font-weight: 400; color: rgba(255,255,255,.35); line-height: 1.6; }
.prob-quote { padding: 1.2rem 1.5rem; border-left: 3px solid rgba(196,180,131,.4); font-size: .8rem; font-style: italic; font-weight: 500; color: rgba(255,255,255,.35); line-height: 1.65; }

.sec-tag {
  font-size: .85rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
  color: var(--olive); display: flex; align-items: center; gap: .7rem; margin-bottom: 1.2rem;
}
.sec-tag::before { content: ''; display: block; width: 1.5rem; height: 2px; background: var(--olive); }
.sec-tag--center { justify-content: center; }
h2.sec-h2 { font-size: clamp(2rem, 3.8vw, 4rem); font-weight: 800; line-height: 1.07; color: var(--black); letter-spacing: -.025em; }
h2.sec-h2 .acc  { color: var(--olive); }
h2.sec-h2 .acc2 { color: var(--burgundy); }
h2.sec-h2.sec-h2--sm { font-size: 2.4rem; }

/* ── MISSION / VISION ──────────────────────────────────── */
/* ── MISSION (text-only) ───────────────────────────────── */
.mission      { background: var(--black); padding: 8rem 8%; position: relative; overflow: hidden; }
.mission-wm   { position: absolute; right: -5%; top: 50%; transform: translateY(-50%); width: 42%; opacity: .05; pointer-events: none; }
.mission-inner{ max-width: 1200px; margin: 0 auto; position: relative; z-index: 1; }
.mission-grid  { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; }

/* ── PILLARS — interactive full-viewport switcher ──────── */
.pillars { background: var(--black); display: grid; grid-template-columns: 55fr 45fr; min-height: 100vh; overflow: hidden; position: relative; }

/* Left: video panel */
.mis-media { position: relative; overflow: hidden; }
.mis-vid {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  filter: brightness(.62) saturate(.85);
  opacity: 0; transition: opacity .75s ease;
}
.mis-vid.active { opacity: 1; }
.mis-media-ov {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(to right, rgba(10,10,10,.1) 0%, rgba(10,10,10,.65) 88%, rgba(10,10,10,.95) 100%);
}
.mis-active-label { position: absolute; bottom: 2.5rem; left: 2.5rem; z-index: 2; }
.mis-active-text  { display: none; font-size: .62rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--khaki); }
.mis-active-text.active { display: block; }

/* Right: pills only */
.pillars-content { padding: 0 6% 0 5%; display: flex; flex-direction: column; justify-content: center; position: relative; z-index: 2; }
.pillars-hint { font-size: .7rem; font-weight: 500; color: rgba(255,255,255,.3); letter-spacing: .06em; margin-bottom: 1.5rem; margin-top: -.5rem; }
.mis-tag {
  font-size: .85rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
  color: var(--khaki); display: flex; align-items: center; gap: .7rem; margin-bottom: 1.4rem;
}
.mis-tag::before { content: ''; display: block; width: 1.5rem; height: 2px; background: var(--khaki); }
.mis-tag--eco { margin-bottom: 2rem; }
.mis-statement     { font-size: clamp(2.8rem, 5.2vw, 7rem); font-weight: 800; line-height: .95; color: #fff; margin-bottom: 1.5rem; letter-spacing: -.04em; }
.mis-statement em  { font-style: italic; font-weight: 500; color: var(--khaki); }
.mis-statement--sm { font-size: clamp(1.3rem, 2.2vw, 2.2rem); }
.mis-body          { font-size: .83rem; font-weight: 400; line-height: 1.88; color: rgba(255,255,255,.55); max-width: 460px; }
.mis-body strong   { color: rgba(255,255,255,.88); font-weight: 600; }
.mis-divider       { height: 1px; background: rgba(196,180,131,.2); margin: 2.5rem 0; }
.vision-list li {
  font-size: .82rem; font-weight: 400; color: rgba(255,255,255,.55);
  padding: .65rem 0; border-bottom: 1px solid rgba(255,255,255,.06);
  display: flex; gap: .8rem; list-style: none;
}
.vision-list li::before { content: '→'; color: var(--khaki); flex-shrink: 0; font-weight: 600; }
.mis-visual { height: 260px; overflow: hidden; margin-bottom: 2.5rem; }
.mis-visual video, .mis-visual img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  filter: brightness(.75) saturate(.85);
}

.eco-pills     { display: flex; flex-direction: column; gap: 1.5rem; margin-top: 2rem; }
.eco-pill      { display: flex; gap: 1.2rem; align-items: flex-start; padding: 1.5rem; border: 1px solid rgba(255,255,255,.07); transition: background .3s, border-color .3s; cursor: pointer; }
.eco-pill:hover, .eco-pill.active { background: rgba(196,180,131,.09); border-color: rgba(196,180,131,.28); }
.eco-pill-icon { font-size: 1.4rem; flex-shrink: 0; margin-top: .1rem; }
.eco-pill-name { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--khaki); margin-bottom: .25rem; }
.eco-pill-desc { font-size: .76rem; font-weight: 400; color: rgba(255,255,255,.45); line-height: 1.6; }
.eco-pill.foundry-pill                    { border-color: rgba(122,46,53,.4); }
.eco-pill.foundry-pill:hover,
.eco-pill.foundry-pill.active             { background: rgba(122,46,53,.12); border-color: rgba(122,46,53,.65); }
.eco-pill.foundry-pill .eco-pill-name { color: #E88090; }

/* ── PILLARS V2 — card carousel ────────────────────────── */
.pv2 { background: var(--khaki-pale); padding: 6rem 8% 7rem; }
.pv2-head {
  display: flex; justify-content: space-between; align-items: flex-end;
  margin-bottom: 3.5rem;
}
.pv2-h2 { margin-bottom: 0; }
.pv2-arrows { display: flex; gap: .75rem; flex-shrink: 0; }
.pv2-arr {
  background: none; border: none; padding: 0;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; flex-shrink: 0;
}
.pv2-arr:disabled { pointer-events: none; }

.pv2-outer { overflow: hidden; }
.pv2-track {
  display: flex; gap: 1.4rem;
  overflow-x: scroll; overflow-y: hidden; scroll-behavior: smooth; scrollbar-width: none;
  touch-action: pan-y; overscroll-behavior-x: contain;
}
.pv2-track::-webkit-scrollbar { display: none; }
.pv2-card {
  flex: 0 0 calc((100% - 2.8rem) / 3);
  background: #fff;
  border-radius: 1.1rem; overflow: hidden;
  position: relative;
  box-shadow: 0 2px 18px rgba(10,10,10,.06);
  transition: box-shadow .3s, transform .3s;
}
.pv2-card:hover { box-shadow: 0 10px 42px rgba(10,10,10,.13); transform: translateY(-5px); }
.pv2-img { position: relative; overflow: hidden; }
.pv2-img img {
  width: 100%; height: 320px; object-fit: cover; display: block;
  filter: brightness(1) saturate(1);
  transition: transform .55s ease, filter .3s;
}
.pv2-card:hover .pv2-img img { transform: scale(1.05); filter: brightness(1) saturate(1); }
.pv2-tag {
  display: none;
  position: absolute; top: 1.1rem; left: 1.1rem;
  font-size: .57rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  padding: .45rem 1rem; border-radius: 100px; line-height: 1;
}
.pv2-tag--olive { background: var(--olive);    color: #fff; }
.pv2-tag--khaki { background: var(--khaki);    color: var(--black); }
.pv2-tag--sage  { background: var(--sagegrey); color: var(--black); }
.pv2-tag--blue  { background: var(--bluegrey); color: var(--black); }
.pv2-tag--burg  { background: var(--burgundy); color: #fff; }
.pv2-info { padding: .75rem 1.1rem .45rem; }
.pv2-name {
  font-size: 1.25rem; font-weight: 700; color: var(--black);
  letter-spacing: -.02em; margin-bottom: .55rem;
}
.pv2-desc {
  font-size: .92rem; font-weight: 400; line-height: 1.75;
  color: rgba(10,10,10,.52); margin-bottom: 1.3rem;
}
.pv2-link {
  font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: var(--burgundy); text-decoration: none;
  display: inline-flex; align-items: center; gap: .4rem;
  transition: gap .2s;
}
.pv2-link::after {
  content: ''; position: absolute; inset: 0;
}
.pv2-link:hover { gap: .75rem; }
.pv2-link--gold { color: var(--burgundy); }

/* ── MISSION V2 ─────────────────────────────────────────── */
.mv2 {
  background: var(--black);
  padding: 7rem 8% 6rem;
  position: relative; overflow: hidden;
}
.mv2-wm {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 38vw; height: auto;
  opacity: .04; pointer-events: none; z-index: 0;
}
.mv2-inner {
  position: relative; z-index: 1;
  margin-bottom: 5rem;
}
.mv2-mis {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 6%;
  align-items: start;
}
.mv2-mis .mv2-tag { grid-column: 1 / -1; }
.mv2-mis .mv2-statement-full { grid-column: 1 / -1; }
.mv2-statement-full {
  font-size: clamp(2.8rem, 5.2vw, 7rem);
  font-weight: 800; line-height: .95; letter-spacing: -.01em;
  color: #fff; margin: 0;
}
.mv2-statement-full em { color: #fff; font-style: italic; }
.acc-burg { color: var(--tf-orange); }
.mv2-body-full {
  padding-top: .5rem;
  font-size: .88rem; font-weight: 400; line-height: 1.9;
  color: rgba(255,255,255,.5);
  align-self: end;
}
.mv2-body-full strong { color: rgba(255,255,255,.82); font-weight: 600; }
.mv2-col { padding: 0 5%; }
.mv2-col:first-child { padding-left: 0; }
.mv2-col:last-child  { padding-right: 0; }
.mv2-divider { background: rgba(196,180,131,.14); margin: 0 2rem; }
.mv2-tag { color: var(--khaki) !important; }
.mv2-tag::before { background: var(--khaki) !important; }
.mv2-statement {
  font-size: clamp(1.5rem, 2.3vw, 2.3rem);
  font-weight: 700; line-height: 1.3; letter-spacing: -.022em;
  color: #fff; margin-bottom: 1.6rem;
}
.mv2-statement em { color: var(--khaki); font-style: normal; }
.mv2-statement--sm { font-size: clamp(1.15rem, 1.7vw, 1.7rem); }
.mv2-body {
  font-size: .83rem; font-weight: 400; line-height: 1.88;
  color: rgba(255,255,255,.5);
}
.mv2-body strong { color: rgba(255,255,255,.82); font-weight: 600; }
.mv2-list {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 1.2rem;
}
.mv2-list li {
  font-size: .82rem; font-weight: 400; line-height: 1.75;
  color: rgba(255,255,255,.5);
  padding-left: 1.5rem; position: relative;
}
.mv2-list li::before {
  content: ''; position: absolute; left: 0; top: .62em;
  width: .6rem; height: 1.5px; background: var(--khaki); opacity: .7;
}
.mv2-ns {
  position: relative; z-index: 1;
  border-top: 1px solid rgba(196,180,131,.12);
  padding-top: 3.5rem; text-align: center;
}
.mv2-ns-quote {
  font-size: clamp(.85rem, 1.15vw, 1rem);
  font-weight: 500; font-style: italic; letter-spacing: .025em;
  color: rgba(196,180,131,.6);
  margin: 0;
}

/* ── THREE SPACES ──────────────────────────────────────── */
.spaces       { background: var(--black); padding: 0; }
.spaces-inner { }

.spaces-intro  { padding: 6rem 8% 4rem; }
.spaces-intro .sec-tag         { color: var(--khaki); }
.spaces-intro .sec-tag::before { background: var(--khaki); }
.spaces-intro .sec-h2          { color: #fff; }
.spaces-intro .sec-h2 .acc     { color: var(--khaki); }

.space-strips { }

.space-strip {
  display: grid;
  grid-template-columns: 60fr 40fr;
  min-height: 72vh;
  overflow: hidden;
}
.space-strip--rev { grid-template-columns: 40fr 60fr; }
.space-strip--rev .space-strip-img  { order: 2; }
.space-strip--rev .space-strip-body { order: 1; }

.space-strip-img { overflow: hidden; position: relative; }
.space-strip-img img,
.space-strip-img video {
  width: 100%; height: 100%; object-fit: cover; display: block;
  filter: brightness(.82) saturate(.9);
  transition: transform 1.1s ease, filter .5s;
}
.space-strip:hover .space-strip-img img,
.space-strip:hover .space-strip-img video {
  transform: scale(1.05);
  filter: brightness(.95) saturate(1);
}

.space-strip-body {
  background: var(--black);
  padding: 5rem 4.5rem;
  display: flex; flex-direction: column; justify-content: center;
  border-top: 1px solid rgba(196,180,131,.06);
}
.space-strip--rev .space-strip-body { background: var(--khaki-pale); border-top-color: rgba(10,10,10,.06); }

.space-zone  { font-size: .58rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--khaki); margin-bottom: .6rem; }
.space-strip--rev .space-zone { color: var(--olive); }

.space-title { font-size: clamp(2rem, 3.2vw, 3.2rem); font-weight: 800; color: #fff; margin-bottom: .4rem; letter-spacing: -.025em; line-height: 1.04; }
.space-strip--rev .space-title { color: var(--black); }

.space-sub   { font-size: .8rem; font-weight: 500; color: var(--khaki); font-style: italic; margin-bottom: 1.4rem; }
.space-strip--rev .space-sub { color: var(--olive); }

.space-desc  { font-size: .82rem; font-weight: 400; line-height: 1.82; color: rgba(255,255,255,.52); max-width: 360px; }
.space-strip--rev .space-desc { color: rgba(10,10,10,.6); }

.space-principle {
  margin-top: 2rem; padding: .45rem .85rem;
  display: inline-block; font-size: .58rem; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--khaki); border: 1px solid rgba(196,180,131,.3);
  background: rgba(196,180,131,.07);
}
.space-strip--rev .space-principle { background: var(--black); color: var(--khaki-bg); border-color: rgba(10,10,10,.15); }

/* Keep old card styles for other pages */
.space-cards  { display: grid; grid-template-columns: repeat(3,1fr); gap: 2px; background: rgba(10,10,10,.12); }
.space-card   { background: var(--khaki-xlt); overflow: hidden; }
.space-card-img     { height: 220px; overflow: hidden; }
.space-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(.85) brightness(.9); transition: transform .8s, filter .4s; }
.space-card:hover .space-card-img img { transform: scale(1.06); filter: saturate(1) brightness(.95); }
.space-card-body  { padding: 2rem; }

/* ── CLEAN FUEL CAFÉ ───────────────────────────────────── */
.cafe           { display: grid; grid-template-columns: 1fr 1fr; min-height: 680px; }
.cafe-img          { position: relative; overflow: hidden; }
.cafe-img img,
.cafe-img video    { width: 100%; height: 100%; object-fit: cover; display: block; filter: brightness(.85) saturate(.95); transition: transform .9s; }
.cafe-img:hover img,
.cafe-img:hover video { transform: scale(1.04); }
.cafe-img-badge { position: absolute; top: 0; left: 0; right: 0; background: var(--olive); padding: 1.1rem 2rem; display: flex; align-items: center; gap: 1rem; }
.cafe-img-badge p { font-size: .65rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #fff; }
.cafe-copy      { background: var(--khaki-bg); padding: 6rem 5% 6rem 5rem; display: flex; flex-direction: column; justify-content: center; }
.cafe-h2        { font-size: clamp(1.8rem, 3vw, 3.4rem); font-weight: 800; color: var(--black); line-height: 1.07; letter-spacing: -.025em; margin-bottom: 1rem; }
.cafe-h2 .acc   { color: var(--olive); }
.cafe-def       { border-left: 4px solid var(--olive); padding-left: 1.2rem; margin: 1.8rem 0; }
.cafe-def p     { font-size: .84rem; font-weight: 400; line-height: 1.82; color: rgba(10,10,10,.65); font-style: italic; }
.cafe-def strong { font-weight: 600; color: var(--black); font-style: normal; }
.cafe-list      { list-style: none; margin-top: 1rem; }
.cafe-list li   { font-size: .8rem; font-weight: 400; padding: .6rem 0; border-bottom: 1px solid rgba(10,10,10,.1); color: rgba(10,10,10,.65); display: flex; gap: .7rem; align-items: flex-start; }
.cafe-list li::before { content: '✦'; color: var(--olive); font-size: .5rem; flex-shrink: 0; margin-top: .3rem; }
.cafe-list strong { color: var(--black); font-weight: 600; }
.cafe-slogan    { margin-top: 2rem; font-size: 1.15rem; font-weight: 700; font-style: italic; color: var(--olive); }

/* ── WELLNESS ──────────────────────────────────────────── */
.wellness    { background: var(--khaki-xlt); padding: 8rem 8%; }
.well-inner  { max-width: 1200px; margin: 0 auto; }
.well-top    { display: grid; grid-template-columns: 1.1fr 1fr; gap: 5rem; margin-bottom: 4rem; align-items: start; }
.well-right p      { font-size: .85rem; font-weight: 400; line-height: 1.85; color: rgba(10,10,10,.6); max-width: 400px; margin-bottom: 1rem; }
.well-right strong { font-weight: 600; color: var(--black); }
.well-cards  { display: grid; grid-template-columns: repeat(3,1fr); gap: 2px; background: rgba(10,10,10,.08); }
.well-card   { background: var(--khaki-xlt); overflow: hidden; padding: 0; transition: background .3s, transform .3s; }
.well-card:hover { background: var(--white); transform: translateY(-4px); }
.well-card-img { height: 240px; overflow: hidden; }
.well-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; filter: brightness(.82) saturate(.88); transition: transform .85s, filter .4s; }
.well-card:hover .well-card-img img { transform: scale(1.06); filter: brightness(.98) saturate(1); }
.well-card-body { padding: 2rem; }
.well-title  { font-size: 1.05rem; font-weight: 700; color: var(--black); margin-bottom: .6rem; }
.well-text   { font-size: .78rem; font-weight: 400; line-height: 1.72; color: rgba(10,10,10,.55); }
.well-mantra { margin-top: 3rem; background: var(--sagegrey); padding: 3rem; display: flex; align-items: center; gap: 3rem; flex-wrap: wrap; }
.well-mantra p    { font-size: 1.2rem; font-weight: 700; font-style: italic; color: var(--black); flex: 1; min-width: 260px; line-height: 1.4; }
.well-mantra span { font-size: .65rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: rgba(10,10,10,.5); }

/* ── THE FOUNDRY ───────────────────────────────────────── */
.foundry       { background: var(--black); padding: 8rem 8%; position: relative; overflow: hidden; }
.foundry-bg    {
  position: absolute; inset: 0;
  background-image: var(--img-foundry-bg);
  background-size: cover; background-position: center;
  opacity: .2; filter: saturate(.5);
}
.foundry-visual {
  margin-bottom: 4rem;
  height: 440px; overflow: hidden; position: relative;
}
.foundry-visual video,
.foundry-visual img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  filter: brightness(.65) saturate(.75);
  transition: transform 1.1s ease;
}
.foundry-visual:hover video,
.foundry-visual:hover img { transform: scale(1.03); }
.foundry-inner { max-width: 1200px; margin: 0 auto; position: relative; z-index: 1; }
.foundry-top   { display: grid; grid-template-columns: 1.1fr 1fr; gap: 5rem; margin-bottom: 5rem; }
.foundry-h2    { font-size: clamp(2.2rem, 5vw, 5.5rem); font-weight: 800; color: #fff; line-height: 1.04; letter-spacing: -.03em; }
.foundry-h2 em { font-style: italic; font-weight: 500; color: var(--khaki); }
.foundry-not   { display: block; font-size: .55em; font-weight: 400; font-style: normal; color: rgba(196,180,131,.5); margin-top: .6rem; letter-spacing: .02em; }
.foundry-right p      { font-size: .84rem; font-weight: 400; line-height: 1.88; color: rgba(255,255,255,.5); margin-bottom: 1rem; max-width: 440px; }
.foundry-right strong { color: rgba(255,255,255,.85); font-weight: 600; }
.foundry-grid  { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5px; background: rgba(255,255,255,.04); }
.foundry-card  { background: rgba(255,255,255,.02); padding: 2.5rem 2rem; border-bottom: 2.5px solid transparent; transition: all .3s; }
.foundry-card:hover { background: rgba(196,180,131,.07); border-bottom-color: var(--khaki); }
.fc-icon  { font-size: 1.4rem; margin-bottom: 1rem; display: block; }
.fc-title { font-size: 1.05rem; font-weight: 700; color: #fff; margin-bottom: .5rem; }
.fc-body  { font-size: .76rem; font-weight: 400; line-height: 1.72; color: rgba(255,255,255,.45); }
.foundry-bar {
  margin-top: 4rem; border: 1px solid rgba(196,180,131,.25); padding: 2.5rem 3rem;
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 2rem; background: rgba(196,180,131,.04);
}
.foundry-bar p    { font-size: 1.1rem; font-weight: 600; font-style: italic; color: #fff; max-width: 500px; line-height: 1.4; }
.foundry-bar p em { color: var(--khaki); font-style: italic; }

/* ── OUR PRINCIPLES ─────────────────────────────────────── */
.principles { background: var(--offwhite); padding: 5.5rem 8%; }
.prin-head  { margin-bottom: 2rem; }

.prin-tabs {
  display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: 2rem;
}
.prin-tab {
  font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  padding: .65rem 1.4rem; border-radius: 100px;
  border: 1.5px solid rgba(10,10,10,.3);
  background: transparent; color: var(--black);
  cursor: pointer; transition: all .22s; font-family: 'Poppins', sans-serif;
}
.prin-tab:hover:not(.active) { border-color: var(--black); color: var(--black); }
.prin-tab--burg.active  { background: var(--burgundy); color: #fff;          border-color: var(--burgundy); }
.prin-tab--olive.active { background: var(--olive);    color: #fff;          border-color: var(--olive); }
.prin-tab--khaki.active { background: var(--khaki);    color: var(--black);  border-color: var(--khaki); }
.prin-tab--sage.active  { background: var(--sagegrey); color: var(--black);  border-color: var(--sagegrey); }
.prin-tab--orange.active { background: #FF6B35; color: #fff; border-color: #FF6B35; }

/* card: image left | rows right */
.prin-body {
  display: grid; grid-template-columns: 1fr 1fr;
  border: 2px solid var(--prin-color, rgba(10,10,10,.75)); overflow: hidden;
  border-radius: 1.1rem;
  transition: border-color .3s ease;
}
.prin-img-wrap { position: relative; overflow: hidden; min-height: 460px; }
.prin-img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  opacity: 0; transition: opacity .5s ease; filter: brightness(.9) saturate(.9);
}
.prin-img.active { opacity: 1; }
.prin-badge { display: none; }

/* right panel — stacked rows */
.prin-panels { display: flex; flex-direction: column; background: #fff; }
.prin-panel  { display: none; }
.prin-panel.active { display: flex; flex-direction: column; height: 100%; }
.prin-name   { display: none; }

.prin-row {
  display: grid; grid-template-columns: 10rem 1fr;
  border-bottom: 1px dashed rgba(10,10,10,.13); flex: 1;
}
.prin-label {
  font-size: 1rem; font-weight: 700; color: var(--black);
  padding: 1.3rem 1.5rem;
  border-right: 1px dashed rgba(10,10,10,.13);
  letter-spacing: -.01em; line-height: 1.4;
  text-transform: none; display: flex; align-items: flex-start;
}
.prin-val {
  font-size: .8rem; font-weight: 400; line-height: 1.78;
  color: rgba(10,10,10,.52); padding: 1.3rem 1.6rem; letter-spacing: 0;
}

/* benefits as icon list inside prin-val */
.prin-benefits {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: .7rem;
}
.prin-benefits li {
  font-size: .78rem; line-height: 1.6; color: rgba(10,10,10,.52);
  display: flex; align-items: flex-start; gap: .65rem;
}
.prin-benefits li::before {
  content: '';
  flex-shrink: 0; width: 13px; height: 13px; margin-top: 3px;
  border: 1.5px solid var(--burgundy); border-radius: 50%;
  background: radial-gradient(circle, var(--burgundy) 32%, transparent 32%);
}
[data-prin="thinking"] .prin-benefits li::before {
  border-color: var(--olive);
  background: radial-gradient(circle, var(--olive) 32%, transparent 32%);
}
[data-prin="framework"] .prin-benefits li::before {
  border-color: var(--khaki);
  background: radial-gradient(circle, var(--khaki) 32%, transparent 32%);
}
[data-prin="nutrition"] .prin-benefits li::before {
  border-color: #FF6B35;
  background: radial-gradient(circle, #FF6B35 32%, transparent 32%);
}

/* cta row */
.prin-cta-row {
  display: flex; justify-content: flex-end;
  padding: 1.2rem 1.6rem; margin-top: auto;
}
.prin-cta { display: inline-block; }
.btn-burg {
  font-family: 'Poppins', sans-serif; font-size: .75rem; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase;
  background: var(--burgundy); color: #fff; padding: 1rem 2rem;
  text-decoration: none; border: 2px solid var(--burgundy);
  display: inline-block; transition: all .3s;
}
.btn-burg:hover { background: #fff; border-color: var(--burgundy); color: var(--burgundy); transform: translateY(-2px); }
.btn-burg--olive { background: var(--olive);    border-color: var(--olive);    color: #fff; }
.btn-burg--olive:hover { background: #fff; border-color: var(--olive); color: var(--olive); }
.btn-burg--khaki { background: var(--khaki);    border-color: var(--khaki);    color: var(--black); }
.btn-burg--khaki:hover { background: #fff; border-color: var(--khaki); color: var(--black); }
.btn-burg--sage  { background: var(--sagegrey); border-color: var(--sagegrey); color: var(--black); }
.btn-burg--sage:hover  { background: #fff; border-color: var(--sagegrey); color: var(--black); }
.btn-burg--orange { background: #FF6B35; border-color: #FF6B35; color: #fff; }
.btn-burg--orange:hover { background: #fff; border-color: #FF6B35; color: #FF6B35; }

/* ── PARALLAX BREAK ────────────────────────────────────── */
.para-break   { min-height: 580px; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; padding: 6rem 0; }
.para-bg      {
  position: absolute; inset: 0;
  background-image: var(--img-parallax);
  background-size: cover; background-position: center 40%; background-attachment: fixed;
}
.para-ov      { position: absolute; inset: 0; background: rgba(10,10,10,.72); }
.para-content { position: relative; z-index: 2; text-align: center; padding: 0 6%; max-width: 1400px; width: 100%; }
.para-q       { font-size: clamp(2rem, 4vw, 5.2rem); font-weight: 300; color: #fff; line-height: 1.1; margin-bottom: 1.4rem; letter-spacing: -.04em; }
.para-q em    { font-style: italic; font-weight: 500; color: #fff; }
.para-q em u  { text-decoration-thickness: 2px; text-underline-offset: 6px; }
.para-attr    { font-size: .62rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: rgba(196,180,131,.65); margin-bottom: 0; }

/* ── GALLERY ───────────────────────────────────────────── */
.gallery  { padding: 7rem 8% 0; background: var(--khaki-pale); }
.gal-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 2.5rem; flex-wrap: wrap; gap: 1rem; }
.mosaic   {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: 260px 260px 260px;
  gap: 3px;
}
.mi       { overflow: hidden; position: relative; }
.mi img   { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .85s, filter .4s; filter: brightness(.88) saturate(.85); }
.mi:hover img { transform: scale(1.07); filter: brightness(1) saturate(1); }
/* Row 1: landscape spans 2 cols, then 2 portraits */
.mi:nth-child(1) { grid-column: span 2; }
/* Row 2: 4 portraits — auto */
/* Row 3: landscape spans 2, then 2 portraits */
.mi:nth-child(8) { grid-column: span 2; }
.mi--land img { object-position: center 40%; }
.mi-cap   {
  position: absolute; bottom: 0; left: 0; right: 0; padding: .8rem 1rem;
  background: linear-gradient(0deg,rgba(10,10,10,.75),transparent);
  font-size: .6rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase;
  color: rgba(255,255,255,.85); opacity: 0; transition: opacity .3s;
}
.mi:hover .mi-cap { opacity: 1; }

/* ── FEATURES ───────────────────────────────────────────── */
/* ── FEATURES (new card grid) ── */
.features { background: var(--khaki-pale); padding: 3.5rem 3rem 1rem; }

.feat-eyebrow {
  font-size: .68rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
  color: var(--burgundy); margin-bottom: .9rem;
}
.feat-hdr-row {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 2.5rem; margin-bottom: 1.25rem;
}
.feat-hdr-title {
  font-size: clamp(2rem, 3.8vw, 4rem); font-weight: 800;
  color: var(--black); line-height: 1.07; letter-spacing: -.025em;
  max-width: 720px;
}
.feat-hdr-sub {
  font-size: .82rem; font-weight: 400; letter-spacing: .02em;
  color: rgba(10,10,10,.5); max-width: 320px; line-height: 1.75;
}

.feat-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}
.feat-card {
  border-radius: 6px; padding: 1.25rem 1.25rem 1.5rem;
  position: relative; overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease; cursor: default;
}
.feat-card:hover { transform: translateY(-3px); box-shadow: 0 12px 40px rgba(0,0,0,.12); }
.feat-card--burg  { background: var(--burgundy); }
.feat-card--sage  { background: var(--bluegrey); }
.feat-card--dark  { background: var(--black); }
.feat-card--cream { background: #fff; border: 1.5px solid rgba(122,46,53,.12); }

.feat-card-inner { position: relative; }
.feat-card-top {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: .6rem;
}
.feat-card-num {
  font-size: .6rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
}
.feat-card--burg  .feat-card-num { color: rgba(255,255,255,.35); }
.feat-card--sage  .feat-card-num { color: var(--olive); }
.feat-card--dark  .feat-card-num { color: rgba(255,255,255,.25); }
.feat-card--cream .feat-card-num { color: rgba(122,46,53,.45); }

.feat-card-spark { font-size: 1rem; transition: transform .3s ease; }
.feat-card:hover .feat-card-spark { transform: rotate(22deg) scale(1.15); }
.feat-card--burg  .feat-card-spark { color: var(--khaki); }
.feat-card--sage  .feat-card-spark { color: var(--burgundy); }
.feat-card--dark  .feat-card-spark { color: var(--khaki); }
.feat-card--cream .feat-card-spark { color: var(--burgundy); }

.feat-card-context {
  font-size: .65rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase;
  margin-bottom: .3rem;
}
.feat-card--burg  .feat-card-context { color: var(--khaki); }
.feat-card--sage  .feat-card-context { color: var(--burgundy); }
.feat-card--dark  .feat-card-context { color: var(--khaki); }
.feat-card--cream .feat-card-context { color: var(--burgundy); }

.feat-card-title {
  font-size: clamp(1.3rem, 1.8vw, 2rem); font-weight: 800;
  line-height: .95; text-transform: uppercase; letter-spacing: -.01em;
  margin-bottom: .85rem;
}
.feat-card--burg  .feat-card-title { color: #fff; }
.feat-card--sage  .feat-card-title { color: var(--black); }
.feat-card--dark  .feat-card-title { color: #fff; }
.feat-card--cream .feat-card-title { color: var(--black); }

.feat-card-line {
  width: 24px; height: 1.5px; margin-bottom: .75rem;
  transition: width .3s ease;
}
.feat-card:hover .feat-card-line { width: 38px; }
.feat-card--burg  .feat-card-line { background: var(--khaki); }
.feat-card--sage  .feat-card-line { background: var(--burgundy); }
.feat-card--dark  .feat-card-line { background: var(--khaki); }
.feat-card--cream .feat-card-line { background: var(--burgundy); }

.feat-card-desc { font-size: .78rem; font-weight: 300; line-height: 1.7; }
.feat-card--burg  .feat-card-desc { color: rgba(255,255,255,.65); }
.feat-card--sage  .feat-card-desc { color: rgba(10,10,10,.65); }
.feat-card--dark  .feat-card-desc { color: rgba(255,255,255,.55); }
.feat-card--cream .feat-card-desc { color: rgba(10,10,10,.55); }

.feat-bottom {
  display: flex; align-items: center; justify-content: center;
  margin-top: 1rem;
}
.feat-bottom-label {
  font-size: .68rem; letter-spacing: .12em; text-transform: uppercase;
  color: rgba(10,10,10,.5);
}
.feat-bottom-label strong {
  font-size: 2rem; font-weight: 800; color: var(--burgundy);
  letter-spacing: -.03em; display: block; line-height: 1; margin-bottom: 2px;
}
.feat-btn {
  display: inline-flex; align-items: center;
  background: var(--black); color: #fff;
  font-size: .82rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  text-decoration: none; border: none; cursor: pointer;
  border-radius: 4px; overflow: hidden; transition: background .2s;
}
.feat-btn:hover { background: #333; }
.feat-btn-txt { padding: .85rem 1.6rem; }
.feat-btn-arr {
  padding: .85rem 1rem; background: rgba(0,0,0,.2);
  font-size: .95rem; display: flex; align-items: center;
}

/* para CTA */
.para-cta { margin-top: 2.2rem; display: inline-block; }

/* ── TESTIMONIALS ──────────────────────────────────────── */

/* ── VIDEO TRIO ─────────────────────────────────────────── */
.vid-trio { background: var(--khaki-pale); padding: 2.5rem 3rem; height: 82vh; box-sizing: border-box; }
.vid-trio-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; height: 100%;
}
.vid-trio-item { position: relative; overflow: hidden; height: 100%; }
.vid-trio-item video {
  width: 100%; height: 100%; object-fit: cover; display: block;
}

/* ── REVIEWS ─────────────────────────────────────────────── */
.reviews { background: #0F0C0B; padding: 4rem 3rem 3.5rem; }

.rev-top {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 2.5rem;
}
.rev-g-badge { display: flex; align-items: center; gap: .65rem; }
.rev-g-icon  { width: 1.75rem; height: 1.75rem; flex-shrink: 0; }
.rev-g-label {
  font-size: .62rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
  color: rgba(255,255,255,.35);
}
.rev-top-right { display: flex; align-items: center; gap: 2rem; }
.rev-rating-block { display: flex; align-items: center; gap: .9rem; }
.rev-rating-num {
  font-size: 4.2rem; font-weight: 800; color: #fff; line-height: 1; letter-spacing: -.04em;
}
.rev-stars-row { display: flex; gap: 2px; margin-bottom: 3px; }
.rev-stars-row span { color: #E8A020; font-size: 1rem; }
.rev-rating-label {
  font-size: 3.2rem; font-weight: 300; letter-spacing: -.01em; text-transform: none;
  color: #fff; line-height: 1;
}
.rev-nav-btns { display: flex; gap: .5rem; }
.rev-nav-btn {
  background: none; border: none; padding: 0;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
}

/* ── ARROW ICONS ─────────────────────────────────────────── */
/* Orange = active (content available), White = disabled (end reached) */
.arr-icon { width: 2.2rem; height: 2.2rem; display: block; }
.arr-icon--white { display: none; }
.pv2-arr:disabled .arr-icon--orange,
.rev-nav-btn:disabled .arr-icon--orange { display: none; }
.pv2-arr:disabled .arr-icon--white,
.rev-nav-btn:disabled .arr-icon--white { display: block; }

.rev-carousel-wrap { overflow: hidden; margin-bottom: 2.25rem; }
.rev-carousel {
  display: flex; gap: 10px;
  overflow-x: scroll; overflow-y: hidden; scroll-behavior: smooth; scrollbar-width: none;
  padding-bottom: 4px; touch-action: pan-y; overscroll-behavior-x: contain;
}
.rev-carousel::-webkit-scrollbar { display: none; }

.rev-card {
  background: #1E0E10; border: 1px solid rgba(255,255,255,.07);
  border-radius: 10px; padding: 1.75rem 1.6rem 1.5rem;
  display: flex; flex-direction: column; gap: 0;
  flex: 0 0 calc(33.333% - 7px); min-width: 300px;
  transition: background .25s, border-color .25s, transform .25s;
}
.rev-card:hover { background: #261218; border-color: rgba(255,255,255,.12); transform: translateY(-2px); }

.rev-card-stars { display: flex; gap: 2px; margin-bottom: .9rem; }
.rev-card-stars span { color: #E8A020; font-size: .82rem; }

.rev-card-headline {
  font-size: .95rem; font-weight: 700; line-height: 1.3;
  color: #fff; margin-bottom: .9rem; letter-spacing: -.01em;
}
.rev-card-divider {
  border: none; border-top: 1px dashed rgba(255,255,255,.12); margin-bottom: .9rem;
}
.rev-card-text {
  font-size: .78rem; font-weight: 300; line-height: 1.75;
  color: rgba(255,255,255,.55); flex: 1; margin-bottom: 1.25rem;
}
.rev-card-pill {
  align-self: flex-start; padding: .45rem 1rem;
  background: #7DB87A; border-radius: 100px;
  font-size: .6rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: #0F0C0B;
}

.rev-cta-row { display: flex; justify-content: center; }
.rev-btn {
  display: inline-flex; align-items: center;
  background: #fff; border: 1.5px solid #fff; color: #0F0C0B;
  font-size: .68rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
  text-decoration: none; cursor: pointer; border-radius: 4px;
  overflow: hidden; transition: background .2s, color .2s, border-color .2s;
}
.rev-btn:hover { background: #7DB87A; border-color: #7DB87A; color: #0F0C0B; }
.rev-btn-txt { padding: .85rem 1.4rem; }
.rev-btn-arr {
  padding: .85rem .9rem; background: rgba(0,0,0,.1);
  font-size: .9rem; display: flex; align-items: center;
}

/* ── AWAKEN ─────────────────────────────────────────────── */
.awaken {
  position: relative; min-height: 72vh;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.awaken-bg {
  position: absolute; inset: 0; z-index: 0;
  background-image: url('../images/homepage/awaken/awaken-senses.webp');
  background-size: cover; background-position: center;
  filter: brightness(.55) saturate(.8);
}
.awaken-ov {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(to bottom, rgba(10,10,10,.5) 0%, rgba(10,10,10,.72) 100%);
}
.awaken-inner {
  position: relative; z-index: 2;
  text-align: center; padding: 6rem 3rem;
  width: 100%;
}
.awaken-eyebrow {
  font-size: .62rem; font-weight: 700; letter-spacing: .2em;
  text-transform: uppercase; color: var(--khaki);
  margin-bottom: 1.4rem; display: block;
}
.awaken-h {
  font-size: clamp(2rem, 4.2vw, 5.2rem);
  font-weight: 800; line-height: 1.1; letter-spacing: -.03em;
  color: #fff; margin-bottom: 3.5rem;
  text-shadow: 0 2px 30px rgba(0,0,0,.4);
}
.awaken-h-light { font-weight: 300; }
.awaken-h em { color: #fff; font-style: italic; font-weight: 800; }
.awaken-h em u { text-decoration-thickness: 2px; text-underline-offset: 6px; }

.awaken-icons {
  display: flex; justify-content: center;
  gap: 1.4rem; flex-wrap: wrap; margin-bottom: 3rem;
}
.awaken-ic-wrap {
  display: flex; flex-direction: column; align-items: center;
  gap: .6rem; position: relative; cursor: default;
}
.awaken-ic {
  width: 3.8rem; height: 3.8rem;
  background: transparent; color: var(--khaki);
  display: flex; align-items: center; justify-content: center;
  transition: transform .25s;
}
.awaken-ic svg { width: 2.6rem; height: 2.6rem; }
.awaken-ic-wrap:hover .awaken-ic { transform: translateY(-5px) scale(1.1); }
.awaken-ic--khaki   { color: var(--khaki); }
.awaken-ic--olive   { color: var(--olive); }
.awaken-ic--sage    { color: var(--sagegrey); }
.awaken-ic--bluegrey{ color: var(--bluegrey); }
.awaken-foundry-mark { width: 3.6rem; height: 3.6rem; object-fit: contain; }
.awaken-lbl {
  font-size: .75rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: #fff;
  transition: color .2s; max-width: 5.5rem; text-align: center; line-height: 1.3;
}
.awaken-ic-wrap:hover .awaken-lbl { color: var(--khaki-lt); }

.awaken-tip {
  position: absolute; bottom: calc(100% + .9rem); left: 50%;
  transform: translateX(-50%) translateY(8px);
  background: #fff; color: var(--black);
  font-size: .64rem; font-weight: 500; line-height: 1.55;
  padding: .7rem 1.1rem; border-radius: .55rem;
  width: 200px; text-align: center;
  opacity: 0; pointer-events: none;
  transition: opacity .2s, transform .2s;
  box-shadow: 0 8px 28px rgba(0,0,0,.22);
  z-index: 10;
}
.awaken-tip::after {
  content: ''; position: absolute; top: 100%; left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent; border-top-color: #fff;
}
.awaken-ic-wrap:hover .awaken-tip { opacity: 1; transform: translateX(-50%) translateY(0); }
.awaken-cta { display: inline-block; }
.awaken-ctas { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; margin-top: .5rem; }
.awaken-ctas .btn-blk { font-size: 1.15rem; padding: .9rem 2.2rem; letter-spacing: .08em; }

/* ── MEMBERSHIP ────────────────────────────────────────── */
.membership { padding: 8rem 8%; background: var(--black); }
.mem-head   { text-align: center; max-width: 620px; margin: 0 auto 4rem; }
.mem-h2     { font-size: clamp(2rem, 3.5vw, 3.6rem); font-weight: 800; color: #fff; letter-spacing: -.025em; margin-top: .5rem; }
.mem-h2 .acc { color: var(--khaki); }
.mem-sub    { font-size: .82rem; font-weight: 400; color: rgba(255,255,255,.4); margin-top: .8rem; line-height: 1.65; }
.plans      { display: grid; grid-template-columns: repeat(3,1fr); }
.plan       { background: rgba(255,255,255,.02); padding: 3rem 2.5rem; position: relative; border: 1px solid rgba(196,180,131,.12); transition: transform .3s, background .3s; }
.plan:hover { transform: translateY(-5px); background: rgba(196,180,131,.07); }
.plan.feat  { background: rgba(196,180,131,.1); border-color: rgba(196,180,131,.28); border-top: 3px solid var(--khaki); }
.plan.feat:hover { background: rgba(196,180,131,.16); }
.p-badge    { position: absolute; top: 1.4rem; right: 1.4rem; font-size: .56rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; background: var(--khaki); color: var(--black); padding: .28rem .72rem; }
.p-name     { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,.45); }
.plan.feat .p-name  { color: var(--khaki); }
.p-price    { font-size: 3.2rem; font-weight: 800; line-height: 1; margin: .8rem 0 .2rem; color: #fff; letter-spacing: -.03em; }
.plan.feat .p-price { color: #fff; }
.p-per      { font-size: .66rem; font-weight: 500; color: rgba(255,255,255,.35); margin-bottom: 2rem; }
.plan.feat .p-per   { color: rgba(255,255,255,.4); }
.p-feats    { list-style: none; margin-bottom: 2.5rem; }
.p-feats li { font-size: .76rem; font-weight: 400; padding: .52rem 0; border-bottom: 1px solid rgba(255,255,255,.07); color: rgba(255,255,255,.52); display: flex; gap: .6rem; }
.plan.feat .p-feats li         { border-color: rgba(255,255,255,.09); color: rgba(255,255,255,.65); }
.p-feats li::before            { content: '✓'; color: var(--khaki); font-weight: 700; font-size: .7rem; flex-shrink: 0; }
.plan.feat .p-feats li::before { color: var(--khaki); }
.p-btn      { display: block; text-align: center; font-family: 'Poppins', sans-serif; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: .9rem; text-decoration: none; border: 2px solid rgba(196,180,131,.25); color: rgba(255,255,255,.65); transition: all .3s; }
.p-btn:hover       { background: rgba(196,180,131,.15); color: #fff; border-color: var(--khaki); }
.plan.feat .p-btn  { background: var(--khaki); border-color: var(--khaki); color: var(--black); }
.plan.feat .p-btn:hover { background: var(--khaki-lt); border-color: var(--khaki-lt); }

/* ── STAY CONNECTED ────────────────────────────────────── */
.stay-connected {
  display: grid; grid-template-columns: 1fr 1fr;
  background: var(--khaki-pale); min-height: 560px;
}
.stay-img { overflow: hidden; }
.stay-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.stay-body {
  display: flex; flex-direction: column; justify-content: center;
  padding: 5rem 7%;
}
.stay-eyebrow {
  font-size: .62rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
  color: rgba(10,10,10,.45); margin-bottom: 1.2rem;
}
.stay-h {
  font-size: clamp(2.2rem, 3.8vw, 4.2rem); font-weight: 800;
  letter-spacing: -.03em; line-height: 1.0; color: var(--black);
  text-transform: uppercase; margin-bottom: 1.2rem;
}
.stay-h-accent { color: var(--burgundy); display: block; }
.stay-sub {
  font-size: .72rem; line-height: 1.75; color: rgba(10,10,10,.45);
  text-transform: uppercase; letter-spacing: .07em;
  max-width: 400px; margin-bottom: 2rem;
}
.stay-fields {
  border: 1.5px solid rgba(10,10,10,.14); border-radius: 10px;
  margin-bottom: .9rem;
}
.stay-field { border-bottom: 1px dashed rgba(10,10,10,.12); background: #fff; }
.stay-field:first-child { border-radius: 10px 10px 0 0; }
.stay-field:last-child { border-bottom: none; border-radius: 0 0 10px 10px; }
.stay-field--phone { display: block; }
/* intl-tel-input overrides */
.stay-field--phone .iti { width: 100%; }
.stay-field--phone .iti__flag-container { top: 0; bottom: 0; }
.stay-field--phone .iti__selected-country {
  padding: 0 1rem; background: transparent;
  border-right: 1px solid rgba(10,10,10,.1);
  font-family: 'Poppins', sans-serif; font-size: .7rem;
}
.stay-field--phone .iti__selected-country-primary { gap: .4rem; }
.stay-field--phone .iti__selected-dial-code { font-size: .7rem; font-weight: 600; color: var(--black); }
.stay-field--phone .iti__arrow { border-top-color: var(--black); opacity: .4; }
.stay-field--phone .iti__dropdown-content { font-family: 'Poppins', sans-serif; font-size: .75rem; }
.stay-field--phone #stayPhone { padding-left: 1.2rem; }
.stay-input {
  width: 100%; padding: 1.15rem 1.4rem;
  background: transparent; border: none; outline: none;
  font-family: 'Poppins', sans-serif; font-size: .72rem;
  font-weight: 400; letter-spacing: .04em;
  color: var(--black);
}
.stay-input::placeholder { color: var(--burgundy); }
.stay-note {
  display: flex; align-items: center; gap: .5rem;
  font-size: .6rem; font-weight: 500; letter-spacing: .07em;
  text-transform: uppercase; color: rgba(10,10,10,.38);
  margin-bottom: 1.1rem;
}
.stay-note svg { width: 13px; height: 13px; flex-shrink: 0; }
.stay-btn {
  display: block; width: 100%; padding: 1.25rem; text-align: center;
  background: var(--burgundy); color: #fff; border: none; text-decoration: none;
  font-family: 'Poppins', sans-serif; font-size: 1.05rem;
  font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  cursor: pointer; transition: background .2s; border-radius: 8px;
}
.stay-btn:hover { background: #5e2029; }
.stay-btn.stay-btn--disabled {
  opacity: .4; cursor: not-allowed; pointer-events: none;
}

/* ── CTA BAND ──────────────────────────────────────────── */
.cta-band     { position: relative; overflow: hidden; padding: 0; }
.cta-band-bg  {
  position: absolute; inset: 0; z-index: 0;
  background-image: url('https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=1800&q=80&auto=format&fit=crop');
  background-size: cover; background-position: center 40%;
  filter: brightness(.45) saturate(.75);
}
.cta-band-ov  {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(105deg, rgba(107,107,53,.82) 0%, rgba(10,10,10,.55) 100%);
}
.cta-band-inner {
  position: relative; z-index: 2;
  padding: 5.5rem 8%;
  display: flex; justify-content: space-between; align-items: center;
  gap: 2rem; flex-wrap: wrap;
}
.cta-text    { font-size: clamp(1.4rem, 2.4vw, 2.6rem); font-weight: 800; color: #fff; line-height: 1.18; max-width: 520px; letter-spacing: -.025em; }
.cta-text em { font-style: normal; color: var(--khaki); }
.cta-sub     { font-size: .88rem; color: rgba(255,255,255,.68); line-height: 1.75; max-width: 480px; margin-top: .75rem; }
.cta-actions { display: flex; flex-direction: column; gap: 1rem; min-width: 200px; }

/* ── CONTACT / HOURS ───────────────────────────────────── */
.info         { display: grid; grid-template-columns: 0.55fr 1fr 1fr; background: var(--khaki-xlt); }
.info-tagline { display: flex; align-items: center; justify-content: center; padding: 3.5rem 8%; border-right: 1px solid rgba(10,10,10,.1); text-align: center; }
.info-tagline-inner { display: flex; flex-direction: column; align-items: flex-start; gap: 2rem; }
.info-tagline-brand { display: flex; flex-direction: column; align-items: center; gap: 1rem; }
.info-tagline-logo { width: 11rem; height: auto; }
.info-tagline-wordmark { font-family: 'Poppins', sans-serif; font-size: 1.8rem; letter-spacing: -.02em; line-height: 1; }
.info-tagline-wordmark .sabe { font-weight: 700; color: var(--black); }
.info-tagline-wordmark .hub  { font-weight: 400; color: var(--black); }
.info-tagline-text { font-size: clamp(3rem, 5.5vw, 6.5rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.0; color: var(--black); text-transform: uppercase; text-align: left; }
.info-hours   { padding: 3.5rem 6%; border-right: 1px solid rgba(10,10,10,.1); }

/* Compact hours */
.hours-compact { margin-top: 1.8rem; display: flex; flex-direction: column; gap: 0; border: 1px solid rgba(10,10,10,.1); border-radius: .6rem; overflow: hidden; }
.hours-row     { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.4rem; background: #fff; border-bottom: 1px solid rgba(10,10,10,.07); }
.hours-row:last-child { border-bottom: none; }
.hours-days    { font-size: .82rem; font-weight: 600; color: var(--black); }
.hours-time    { font-size: .8rem; font-weight: 500; color: var(--olive); }
.hours-closed  { background: rgba(10,10,10,.02); }
.hours-closed .hours-days,
.hours-closed .hours-time { color: rgba(10,10,10,.35); font-style: italic; }

.map-wrap     { margin-top: 1.8rem; height: 220px; overflow: hidden; border: 1px solid rgba(10,10,10,.1); }
.map-wrap iframe { width: 100%; height: 100%; border: none; display: block; }
.contact-address { font-size: .74rem; color: rgba(10,10,10,.5); margin-top: .8rem; line-height: 1.6; }
.contact-address strong { color: var(--black); display: block; margin-bottom: .2rem; }

/* Info-touch panel (footer 3rd column) */
.info-touch { padding: 3.5rem 6%; display: flex; flex-direction: column; justify-content: flex-start; gap: 0; }

.info-touch-cta {
  display: inline-flex; align-items: center; gap: .6rem;
  background: var(--burgundy); color: #fff;
  text-decoration: none; font-size: .82rem; font-weight: 600;
  padding: .9rem 1.5rem; border-radius: .75rem;
  margin-bottom: 2rem;
  transition: background .18s, transform .15s;
}
.info-touch-cta:hover { background: var(--black); transform: translateY(-2px); }
.info-touch-cta svg { width: 1rem; height: 1rem; flex-shrink: 0; }

.info-touch-label {
  font-size: .56rem; font-weight: 700; letter-spacing: .18em;
  text-transform: uppercase; color: rgba(10,10,10,.35);
  margin-bottom: .9rem;
}

.info-offerings { list-style: none; margin: 0 0 1.8rem; padding: 0; }
.info-offerings li { margin-bottom: 1rem; }
.info-offerings a {
  color: var(--black); text-decoration: none;
  font-size: .8rem; font-weight: 600;
  transition: color .15s;
}
.info-offerings a:hover { color: var(--burgundy); }
.info-offerings-desc {
  display: block; color: rgba(10,10,10,.45);
  font-size: .68rem; font-weight: 400; line-height: 1.5;
  margin-top: .15rem;
}

.info-touch-contact { border-top: 1px solid rgba(10,10,10,.1); padding-top: 1.4rem; }
.info-touch-row {
  display: flex; align-items: flex-start; gap: .6rem; margin-bottom: .9rem;
}
.info-touch-row svg { width: 1.1rem; height: 1.1rem; flex-shrink: 0; margin-top: .1rem; color: var(--burgundy); }
.info-touch-row a { font-size: .78rem; font-weight: 500; color: var(--black); text-decoration: none; transition: color .15s; }
.info-touch-row a:hover { color: var(--burgundy); }

.info-touch-socials { display: flex; gap: .6rem; margin-top: 1rem; }
.info-touch-socials a {
  width: 2.4rem; height: 2.4rem;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%; border: 1.5px solid rgba(10,10,10,.15);
  transition: border-color .15s, background .15s, transform .15s;
}
.info-touch-socials a:hover { border-color: var(--burgundy); background: var(--burgundy); transform: translateY(-2px); }
.info-touch-socials svg { width: 1.1rem; height: 1.1rem; stroke: var(--black); fill: none; flex-shrink: 0; }
.info-touch-socials a:hover svg { stroke: #fff; }

/* legacy — keep for other pages */
.info-contact { padding: 5.5rem 6%; display: flex; flex-direction: column; justify-content: center; }
.contact-intro { font-size: .82rem; color: rgba(10,10,10,.6); line-height: 1.82; margin: 1rem 0; max-width: 400px; }
.c-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 2rem; }
.c-box  { background: var(--white); padding: 1.5rem; border: 1px solid rgba(10,10,10,.08); transition: border-color .3s; }
.c-box:hover { border-color: var(--olive); }
.c-label { font-size: .58rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--olive); margin-bottom: .3rem; }
.c-val   { font-size: .8rem; font-weight: 500; color: var(--black); text-decoration: none; display: block; line-height: 1.5; transition: color .3s; }
.c-val:hover { color: var(--olive); }

/* Standalone buttons with spacing — used in contact section */
.btn--directions { display: inline-block; margin-top: 1.2rem; font-size: .68rem; }
.btn--schedule   { display: inline-block; margin-top: 2rem;  font-size: .7rem; }

/* ── FOOTER ────────────────────────────────────────────── */
footer          { background: var(--black); padding: 0; }
.footer-grid    { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 4rem; margin-bottom: 4rem; }
.footer-brand-logo { display: flex; align-items: center; gap: .5rem; text-decoration: none; margin-bottom: 1rem; }
.footer-brand-logo .logo-svg-path { fill: var(--khaki-bg); }
.footer-brand-logo .logo-text     { color: var(--khaki-bg); font-size: 1.5rem; }
.footer-brand .tagline { font-size: .82rem; font-style: italic; font-weight: 400; color: rgba(255,255,255,.4); margin-bottom: 1.5rem; max-width: 260px; line-height: 1.55; }
.footer-brand p        { font-size: .72rem; color: rgba(255,255,255,.32); line-height: 1.75; max-width: 270px; margin-bottom: 1.5rem; }
.socials { display: flex; gap: .7rem; }
.soc     { width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.14); display: flex; align-items: center; justify-content: center; text-decoration: none; font-size: .7rem; font-weight: 600; color: rgba(255,255,255,.4); transition: all .3s; }
.soc:hover { border-color: var(--khaki); color: var(--khaki); }
.footer-col h4      { font-size: .62rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--khaki); margin-bottom: 1.4rem; }
.footer-col ul      { list-style: none; }
.footer-col ul li   { margin-bottom: .7rem; }
.footer-col ul li a { font-size: .74rem; font-weight: 400; color: rgba(255,255,255,.38); text-decoration: none; transition: color .3s; }
.footer-col ul li a:hover { color: var(--khaki); }
.footer-bot { padding: 2.5rem 8%; border-top: none; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; }
.footer-bot p { font-size: .62rem; font-weight: 400; color: #fff; letter-spacing: .04em; }

/* ── SCROLL REVEAL ─────────────────────────────────────── */
.rv     { opacity: 0; transform: translateY(24px);  transition: opacity .7s ease, transform .7s ease; }
.rv.lft { transform: translateX(-28px); }
.rv.rgt { transform: translateX(28px); }
.rv.in  { opacity: 1 !important; transform: none !important; }

/* ── RESPONSIVE ────────────────────────────────────────── */
@media (max-width: 1100px) {
  .cafe, .info { grid-template-columns: 1fr; }
  .info { gap: 0; }
  .info-tagline, .info-hours, .info-touch { padding-top: 2.5rem; padding-bottom: 2.5rem; }
  .info-tagline { border-right: none; border-bottom: 1px solid rgba(10,10,10,.1); }
  .info-hours { border-right: none; border-bottom: 1px solid rgba(10,10,10,.1); }
  .stay-connected { grid-template-columns: 1fr; }
  .stay-img { max-height: 55vw; }
  .vid-trio { padding: 1.5rem; }
  .vid-trio-grid { grid-template-columns: repeat(2, 1fr); }
  .hero-stats { display: none; }
  .hero-rating { display: none; }
  .hero-content { padding: 10rem 6% 7rem; }
  .prob-top, .mission-grid, .spaces-top, .well-top, .foundry-top { grid-template-columns: 1fr; gap: 2.5rem; }
  .mv2-mis { grid-template-columns: 1fr; gap: 1.5rem; }
  .mv2-statement-full { font-size: clamp(2rem, 6vw, 3.5rem); }
  .mv2-divider { display: none; }
  .mv2-col { padding: 0; margin-bottom: 3rem; }
  .mv2-col:last-child { margin-bottom: 0; }
  .prin-body { grid-template-columns: 1fr; }
  .prin-img-wrap { min-height: 260px; }
  .prin-row { grid-template-columns: 7rem 1fr; }
  .feat-grid { grid-template-columns: repeat(2, 1fr); }
  .feat-hdr-row { flex-direction: column; align-items: flex-start; gap: .75rem; }
  /* Problem & Pillars — video as full background on mobile */
  .problem, .pillars { display: block; position: relative; min-height: 100svh; }
  .prob-media, .mis-media { position: absolute !important; inset: 0; height: 100% !important; }
  .prob-media-ov, .mis-media-ov { background: rgba(10,10,10,.65) !important; }
  .prob-content, .pillars-content { position: relative; z-index: 2; padding: 5rem 6% 4rem; min-height: 100svh; display: flex; flex-direction: column; justify-content: center; }
  .prob-grid, .well-cards, .foundry-grid { grid-template-columns: 1fr 1fr; }
  .pv2-card { flex: 0 0 calc((100% - 1.4rem) / 2); }
  .plans { grid-template-columns: 1fr; }
  .space-cards { grid-template-columns: 1fr; }
  .space-strip, .space-strip--rev { grid-template-columns: 1fr; min-height: auto; }
  .space-strip--rev .space-strip-img  { order: 0; }
  .space-strip--rev .space-strip-body { order: 0; }
  .space-strip-img { height: 62vw; }
  .space-strip-body { padding: 3.5rem 6%; }
  .spaces-intro { padding: 5rem 6% 3rem; }
  .well-card-img { height: 200px; }
  .foundry-visual { height: 320px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
  nav { padding: 1rem 4%; }
  nav.scrolled { padding: .8rem 4%; }
  .nav-links, .nav-cta { display: none; }
  .ham { display: flex; }
  .mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .mi:nth-child(1) { grid-column: span 2; }
  .mi:nth-child(8) { grid-column: span 2; }
  .cafe-copy { padding: 4rem 5%; }
}

@media (max-width: 640px) {
  .prob-grid, .well-cards, .foundry-grid { grid-template-columns: 1fr; }
  .pv2 { padding: 4rem 5% 5rem; }
  .pv2-head { flex-direction: column; align-items: flex-start; gap: 1.5rem; }
  .pv2-card { flex: 0 0 82vw; }
  .pv2-img img { height: 260px; }
  .feat-grid { grid-template-columns: 1fr; }
  .feat-bottom { flex-direction: column; align-items: flex-start; gap: 1.25rem; }
  .footer-grid { grid-template-columns: 1fr; }
  .cta-band-inner { flex-direction: column; text-align: center; }
  .c-grid { grid-template-columns: 1fr; }
  .mosaic { grid-template-columns: 1fr; grid-template-rows: auto; }
  .mi { height: 240px; }
  .mi:nth-child(4) { grid-column: auto; }
  .hero-content { padding: 9rem 5% 6rem; }
  .hero-h1 { font-size: 2.8rem; }
  .vid-trio-grid { grid-template-columns: repeat(2, 1fr); }
  .info-tagline { padding: 3rem 6%; }
  .info-tagline-logo { width: 7rem; }
  .info { overflow: hidden; }
  .stay-body { padding: 3.5rem 6%; }
  .space-strip-img { height: 72vw; }
  .space-strip-body { padding: 3rem 5%; }
  .spaces-intro { padding: 4rem 5% 2.5rem; }
  .well-card-img { height: 180px; }
  .foundry-visual { height: 240px; }
  .gallery, .membership, .wellness, .foundry { padding-left: 5%; padding-right: 5%; }
  .reviews { padding-left: 1.5rem; padding-right: 1.5rem; }
  .rev-top { flex-wrap: wrap; gap: 1rem; }
  .rev-top-right { gap: 1.25rem; }
}

/* ── TOUCH DEVICES — disable custom cursor ─────────────── */
@media (hover: none) {
  body { cursor: auto; }
  #cur, #cur-r { display: none; }
}
