

:root {
  --forest:    #3D5C34;
  --forest-dk: #243D20;
  --forest-md: #486840;
  --forest-lt: #567A4A;
  --forest-pale:#EBF0E8;
  --gold:      #a7722a;
  --gold-lt:   #edd9b5;
  --gold-pale: #f8f0e0;
  --gold-dk:   #7a511e;
  --gold-bright:#c49a2a;
  --teal:       #C4907C;
  --cream:     #FAF8F2;
  --sand:      #F3EFE5;
  --white:     #FFFFFF;
  --dark:      #1E2420;
  --mid:       #3D4A3D;
  --soft:      #6B7A6B;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }

body {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  color: var(--dark);
  background: var(--white);
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

/* ─── NAV ─── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  padding: 0 56px;
  height: 72px;
  display:flex; align-items:center; justify-content:space-between;
  transition: background 0.5s, box-shadow 0.5s;
}
nav.scrolled {
  background: rgba(54,66,54,0.97);
  box-shadow: 0 1px 0 rgba(0,0,0,0.2);
  backdrop-filter: blur(12px);
}
.nav-logo {
  font-family: 'Cormorant SC', serif;
  font-weight: 400;
  font-size: 17px;
  letter-spacing: 0.22em;
  color: rgba(255,255,255,0.9);
  text-decoration: none;
  display:flex; align-items:center; gap:12px;
}
.nav-logo-mark {
  width:32px; height:32px;
  opacity:0.9;
}
.nav-links { display:flex; gap:36px; align-items:center; list-style:none; }
.nav-links a {
  font-family:'Jost',sans-serif;
  font-weight:400;
  font-size:11px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.65);
  text-decoration:none;
  transition:color 0.25s;
}
.nav-links a:hover { color:var(--gold-bright); }
.nav-book {
  border:1px solid rgba(196,154,42,0.5) !important;
  color:var(--gold-bright) !important;
  padding:9px 22px !important;
  letter-spacing:0.18em !important;
  transition:all 0.25s !important;
}
.nav-book:hover {
  background:var(--gold) !important;
  color:var(--forest-dk) !important;
  border-color:var(--gold) !important;
}

/* ─── HERO ─── */
#hero {
  min-height:100vh;
  background: var(--forest-dk);
  display:flex;
  position:relative;
  overflow:hidden;
}
.hero-bg {
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse at 75% 30%, rgba(196,154,42,0.12) 0%, transparent 55%),
    radial-gradient(ellipse at 15% 75%, rgba(74,92,74,0.3) 0%, transparent 50%),
    linear-gradient(150deg, rgba(20,28,22,0.88) 0%, rgba(33,43,36,0.85) 45%, rgba(48,58,48,0.82) 100%),
    url('hero-bg.jpg') center center / cover no-repeat;
}

/* decorative botanical lines */
.hero-deco {
  position:absolute;
  top:0; right:0;
  width:50%; height:100%;
  opacity:0.04;
  background-image:
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 80px,
      rgba(196,154,42,1) 80px,
      rgba(196,154,42,1) 81px
    );
}

.hero-inner {
  position:relative; z-index:2;
  display:flex;
  align-items:center;
  padding: 120px 56px 80px;
  width:100%;
  max-width:1200px;
  margin:0 auto;
  gap:80px;
}

.hero-left { flex:1; }

.hero-eyebrow {
  display:flex; align-items:center; gap:14px;
  font-size:10px;
  letter-spacing:0.3em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:36px;
}
.hero-eyebrow::before { content:''; width:28px; height:1px; background:var(--gold); }

.hero-h1 {
  font-family:'Cormorant Garamond',serif;
  font-weight:300;
  font-size:clamp(56px,7vw,96px);
  line-height:1.02;
  color:var(--white);
  margin-bottom:12px;
  letter-spacing:-0.015em;
}
.hero-h1 em {
  font-style:italic;
  color:var(--teal);
}
.hero-h1 span {
  display:block;
  font-family:'Cormorant SC',serif;
  font-weight:300;
  font-size:clamp(14px,1.5vw,18px);
  letter-spacing:0.35em;
  color:var(--gold);
  margin-top:20px;
  font-style:normal;
}

.hero-sub {
  font-size:16px;
  font-weight:300;
  color:rgba(255,255,255,0.6);
  line-height:1.85;
  max-width:460px;
  margin:28px 0 52px;
}

.hero-btns { display:flex; gap:16px; flex-wrap:wrap; align-items:center; }

.btn-gold {
  background:var(--gold);
  color:var(--forest-dk);
  padding:15px 40px;
  font-family:'Jost',sans-serif;
  font-weight:500;
  font-size:11px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  text-decoration:none;
  transition:background 0.25s, transform 0.25s;
  display:inline-block;
}
.btn-gold:hover { background:var(--gold-dk); color:var(--white); transform:translateY(-2px); }

.btn-ghost {
  color:rgba(255,255,255,0.6);
  font-family:'Jost',sans-serif;
  font-size:12px;
  letter-spacing:0.15em;
  text-transform:uppercase;
  text-decoration:none;
  display:inline-flex; align-items:center; gap:10px;
  transition:color 0.25s;
}
.btn-ghost::after { content:'→'; transition:transform 0.25s; }
.btn-ghost:hover { color:var(--gold-bright); }
.btn-ghost:hover::after { transform:translateX(4px); }

.hero-right {
  flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
}

/* ─── CELESTIAL SVG MARK ─── */
.celestial-mark {
  width:190px; height:190px;
  animation: celestial-rotate 60s linear infinite;
  opacity:0.88;
}
@keyframes celestial-rotate {
  from { transform:rotate(0deg); }
  to   { transform:rotate(360deg); }
}

.hero-scroll {
  position:absolute; bottom:48px; left:56px;
  display:flex; align-items:center; gap:12px;
  font-size:10px;
  letter-spacing:0.25em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.25);
}
.hero-scroll::after { content:''; width:1px; height:56px; background:rgba(255,255,255,0.12); }

/* ─── TAGLINE STRIP ─── */
.tagline-strip {
  background:var(--gold);
  padding:16px 0;
  overflow:hidden;
  white-space:nowrap;
}
.tagline-track {
  display:inline-flex;
  animation:drift 35s linear infinite;
}
.tagline-item {
  display:inline-flex; align-items:center; gap:0;
  font-family:'Cormorant SC',serif;
  font-size:13px;
  letter-spacing:0.25em;
  color:var(--forest-dk);
  padding:0 32px;
}
.tagline-sep {
  color:var(--forest-lt);
  font-size:18px;
  opacity:0.4;
}
@keyframes drift { to { transform:translateX(-50%); } }

/* ─── SHARED ─── */
.section { padding:112px 56px; }
.wrap { max-width:1160px; margin:0 auto; }
.wrap-sm { max-width:780px; margin:0 auto; }

.eyebrow {
  display:flex; align-items:center; gap:14px;
  font-size:10px;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:22px;
}
.eyebrow::before { content:''; width:28px; height:1px; background:var(--gold); }

.headline {
  font-family:'Cormorant Garamond',serif;
  font-weight:400;
  font-size:clamp(38px,4.5vw,62px);
  line-height:1.08;
  color:var(--forest-dk);
  letter-spacing:-0.01em;
}
.headline em { font-style:italic; color:var(--gold); }
.on-dark { color:var(--white); }

.body-copy {
  font-size:15px;
  font-weight:300;
  color:var(--soft);
  line-height:1.9;
  margin-top:20px;
}
.on-dark .body-copy,
.body-copy.on-dark { color:rgba(255,255,255,0.6); }

/* ─── ALIVE SECTION ─── */
#alive { background:var(--cream); }

.alive-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  margin-top:80px;
  border:1px solid rgba(196,154,42,0.15);
}

.alive-col {
  padding:64px;
}
.alive-col:first-child {
  border-right:1px solid rgba(196,154,42,0.15);
}

.alive-headline {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(28px,3vw,42px);
  font-weight:400;
  line-height:1.2;
  color:var(--forest-dk);
  margin-bottom:24px;
}
.alive-headline em { font-style:italic; color:var(--gold); }

.alive-list { list-style:none; margin-top:28px; }
.alive-list li {
  font-size:15px;
  font-weight:300;
  color:var(--mid);
  padding:13px 0;
  border-bottom:1px solid rgba(54,66,54,0.08);
  display:flex; align-items:flex-start; gap:16px;
  line-height:1.6;
}
.alive-list li .mark {
  font-family:'Cormorant Garamond',serif;
  font-size:20px;
  color:var(--gold);
  flex-shrink:0;
  line-height:1.3;
}

.not-for {
  background:var(--forest-dk);
  padding:48px;
  margin-top:0;
}
.not-for p {
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:22px;
  line-height:1.55;
  color:rgba(255,255,255,0.75);
  margin-bottom:16px;
}
.not-for cite {
  font-style:normal;
  font-family:'Jost',sans-serif;
  font-size:11px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--gold);
}

/* ─── ABOUT ─── */
#about { background:var(--white); }

.about-layout {
  display:grid;
  grid-template-columns:5fr 6fr;
  gap:96px;
  align-items:start;
  margin-top:72px;
}

.about-visual { position:sticky; top:100px; }

.about-photo {
  width:100%; aspect-ratio:4/5;
  background:var(--forest-pale);
  display:flex; align-items:center; justify-content:center;
  flex-direction:column; gap:10px;
  color:var(--forest-lt);
  font-family:'Jost',sans-serif;
  font-size:11px;
  letter-spacing:0.15em;
  text-transform:uppercase;
}
.about-photo svg { opacity:0.25; }

.about-nameplate {
  background:var(--forest-dk);
  padding:28px 32px;
  display:flex; justify-content:space-between; align-items:center;
}
.about-name {
  font-family:'Cormorant Garamond',serif;
  font-size:26px; font-weight:400;
  color:var(--white);
}
.about-title {
  font-size:10px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--gold); margin-top:5px;
}
.about-badges { display:flex; flex-direction:column; gap:4px; align-items:flex-end; }
.badge {
  font-size:10px; letter-spacing:0.1em; text-transform:uppercase;
  color:rgba(255,255,255,0.4);
  border:1px solid rgba(255,255,255,0.12);
  padding:3px 10px;
}

.about-text { }

.founder-quote {
  margin:40px 0;
  padding:36px 40px;
  background:var(--gold-pale);
  border-left:3px solid var(--gold);
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:22px;
  line-height:1.55;
  color:var(--forest-dk);
}
.founder-quote cite {
  display:block; margin-top:16px;
  font-style:normal;
  font-family:'Jost',sans-serif;
  font-size:11px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--gold);
}

.stats-row {
  display:flex; gap:0;
  margin-top:48px;
  border:1px solid rgba(54,66,54,0.1);
}
.stat {
  flex:1;
  padding:28px 24px;
  border-right:1px solid rgba(54,66,54,0.1);
  text-align:center;
}
.stat:last-child { border-right:none; }
.stat-num {
  font-family:'Cormorant Garamond',serif;
  font-size:48px; font-weight:300;
  color:var(--forest);
  line-height:1;
}
.stat-label {
  font-size:10px; letter-spacing:0.15em; text-transform:uppercase;
  color:var(--soft); margin-top:8px; line-height:1.5;
}

/* ─── SERVICES ─── */
#services {
  background:var(--forest-dk);
  position:relative; overflow:hidden;
}
#services::after {
  content:'';
  position:absolute; bottom:0; right:0;
  width:400px; height:400px;
  background:radial-gradient(circle, rgba(196,154,42,0.06) 0%, transparent 70%);
}

.services-header {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  margin-bottom:64px;
  align-items:end;
}

.services-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:rgba(255,255,255,0.05);
}

.service-card {
  background:rgba(27,49,35,0.7);
  padding:44px 40px 48px;
  transition:background 0.3s;
  position:relative;
  overflow:hidden;
}
.service-card::before {
  content:'';
  position:absolute; top:0; left:0; right:0;
  height:2px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 0.4s;
}
.service-card:hover { background:rgba(54,66,54,0.9); }
.service-card:hover::before { transform:scaleX(1); }

.service-num {
  font-family:'Cormorant Garamond',serif;
  font-size:11px; letter-spacing:0.22em;
  color:var(--gold); opacity:0.5;
  margin-bottom:20px;
}
.service-name {
  font-family:'Cormorant Garamond',serif;
  font-size:26px; font-weight:400;
  color:var(--white); line-height:1.2;
  margin-bottom:16px;
}
.service-body {
  font-size:14px; font-weight:300;
  color:rgba(255,255,255,0.5);
  line-height:1.8;
}
.service-tag {
  margin-top:24px;
  font-size:10px; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--gold); display:inline-flex; align-items:center; gap:8px;
}
.service-tag::before { content:''; width:16px; height:1px; background:var(--gold); }

.service-card-cta {
  background:rgba(196,154,42,0.08);
  border:1px solid rgba(196,154,42,0.2);
}
.service-card-cta:hover { background:rgba(196,154,42,0.15); }

/* ─── TEAM ─── */
#team { background:var(--sand); }

.team-top {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  margin-bottom:72px;
  align-items:end;
}

.team-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.team-card {
  background:var(--white);
  overflow:hidden;
  transition:transform 0.35s, box-shadow 0.35s;
}
.team-card:hover {
  transform:translateY(-8px);
  box-shadow:0 20px 48px rgba(39,49,42,0.14);
}

.team-photo {
  width:100%; aspect-ratio:4/5;
  background:var(--forest-pale);
  position:relative;
  display:flex; align-items:center; justify-content:center;
  flex-direction:column; gap:8px;
  color:var(--forest-lt);
  font-family:'Jost',sans-serif;
  font-size:11px; letter-spacing:0.15em; text-transform:uppercase;
}
.team-photo svg { opacity:0.2; }
.team-photo-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(27,49,35,0.92) 0%, transparent 55%);
  display:flex; align-items:flex-end;
  padding:24px 26px;
}
.team-pname {
  font-family:'Cormorant Garamond',serif;
  font-size:22px; font-weight:400;
  color:var(--white); line-height:1.2;
}
.team-prole {
  font-size:10px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--gold); margin-top:5px;
}
.team-body { padding:22px 24px 28px; }
.team-bio {
  font-size:14px; font-weight:300;
  color:var(--mid); line-height:1.78;
}

/* ─── RETREATS ─── */
#retreats {
  background:var(--forest-dk);
  position:relative; overflow:hidden;
}
.retreats-nebula {
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse at 20% 60%, rgba(74,92,74,0.3) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 20%, rgba(196,154,42,0.08) 0%, transparent 50%);
}

.retreats-layout {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:80px;
  align-items:start;
  margin-top:72px;
  position:relative; z-index:1;
}

.coming-badge {
  display:inline-flex; align-items:center; gap:10px;
  background:rgba(196,154,42,0.1);
  border:1px solid rgba(196,154,42,0.3);
  padding:8px 20px;
  font-size:10px; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--gold); margin-bottom:28px;
}
.pulse-dot {
  width:6px; height:6px; border-radius:50%;
  background:var(--gold);
  animation:pulse-anim 2.5s ease-in-out infinite;
}
@keyframes pulse-anim {
  0%,100%{ opacity:1; }
  50%{ opacity:0.3; }
}

.retreat-pillars { margin-top:48px; }
.pillar {
  display:flex; gap:22px;
  padding:22px 0;
  border-top:1px solid rgba(255,255,255,0.06);
}
.pillar-num {
  font-family:'Cormorant Garamond',serif;
  font-size:13px; color:var(--gold); opacity:0.45;
  flex-shrink:0; padding-top:3px;
}
.pillar-title {
  font-family:'Cormorant Garamond',serif;
  font-size:21px; font-weight:400;
  color:var(--white); margin-bottom:7px;
}
.pillar-body {
  font-size:13px; font-weight:300;
  color:rgba(255,255,255,0.5); line-height:1.75;
}

.notify-box {
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.09);
  padding:48px 44px;
}
.notify-box h3 {
  font-family:'Cormorant Garamond',serif;
  font-weight:400; font-size:34px;
  color:var(--white); line-height:1.2;
  margin-bottom:14px;
}
.notify-box p {
  font-size:14px; font-weight:300;
  color:rgba(255,255,255,0.5); line-height:1.75;
  margin-bottom:32px;
}
.notify-box input {
  width:100%; padding:15px 18px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  color:var(--white);
  font-family:'Jost',sans-serif; font-size:14px; font-weight:300;
  outline:none; margin-bottom:10px;
  transition:border-color 0.2s;
}
.notify-box input:focus { border-color:rgba(196,154,42,0.5); }
.notify-box input::placeholder { color:rgba(255,255,255,0.28); }
.notify-box button {
  width:100%;
  background:var(--gold); color:var(--forest-dk);
  border:none; padding:15px;
  font-family:'Jost',sans-serif; font-weight:600;
  font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
  cursor:pointer; transition:background 0.25s;
}
.notify-box button:hover { background:var(--gold-dk); color:var(--white); }

.krystal-quote-box {
  margin-top:20px;
  padding:28px 32px;
  background:rgba(196,154,42,0.07);
  border:1px solid rgba(196,154,42,0.18);
}
.krystal-quote-box p {
  font-family:'Cormorant Garamond',serif;
  font-style:italic; font-size:18px;
  color:rgba(255,255,255,0.68); line-height:1.65;
  margin-bottom:0;
}
.krystal-quote-box cite {
  display:block; margin-top:14px;
  font-style:normal; font-family:'Jost',sans-serif;
  font-size:11px; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--gold);
}

/* ─── BOOK CTA ─── */
#book {
  background:var(--gold-pale);
  padding:128px 56px;
  text-align:center;
  position:relative; overflow:hidden;
}
#book::before {
  content:'';
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:600px; height:600px;
  border-radius:50%;
  border:1px solid rgba(196,154,42,0.12);
}
#book::after {
  content:'';
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:400px; height:400px;
  border-radius:50%;
  border:1px solid rgba(196,154,42,0.12);
}
.book-inner { position:relative; z-index:1; }
#book .eyebrow { justify-content:center; }
#book .eyebrow::before { display:none; }
#book .headline { margin-bottom:20px; }
#book .body-copy { max-width:480px; margin:0 auto 52px; text-align:center; }

.book-btns { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.btn-forest {
  background:var(--forest-dk);
  color:var(--white);
  padding:16px 48px;
  font-family:'Jost',sans-serif; font-weight:500;
  font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
  text-decoration:none; transition:background 0.25s, transform 0.25s;
  display:inline-block;
}
.btn-forest:hover { background:var(--forest-md); transform:translateY(-2px); }

.btn-outline-forest {
  border:1px solid var(--forest-dk);
  color:var(--forest-dk);
  padding:15px 48px;
  font-family:'Jost',sans-serif;
  font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
  text-decoration:none; transition:all 0.25s; display:inline-block;
}
.btn-outline-forest:hover { background:var(--forest-dk); color:var(--white); }

/* ─── CONTACT ─── */
#contact { background:var(--white); padding:80px 56px; }
.contact-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:48px;
  padding-top:56px;
  border-top:1px solid rgba(54,66,54,0.1);
}
.contact-col h4 {
  font-size:10px; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--gold); margin-bottom:18px;
}
.contact-col p, .contact-col a {
  font-size:14px; font-weight:300;
  color:var(--soft); text-decoration:none;
  line-height:1.85; display:block;
}
.contact-col a:hover { color:var(--forest); }

/* ─── FOOTER ─── */
footer {
  background:var(--forest-dk);
  padding:52px 56px;
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:28px;
}
.foot-left {}
.foot-logo {
  font-family:'Cormorant SC',serif;
  font-weight:400; font-size:18px;
  letter-spacing:0.2em; color:var(--white);
  display:flex; align-items:center; gap:10px;
}
.foot-logo svg { width:24px; height:24px; opacity:0.7; }
.foot-tagline {
  font-size:11px; letter-spacing:0.12em;
  color:rgba(255,255,255,0.3);
  margin-top:6px;
  font-family:'Jost',sans-serif;
  font-style:italic;
}
.foot-links { display:flex; gap:28px; }
.foot-links a {
  font-size:11px; letter-spacing:0.15em; text-transform:uppercase;
  color:rgba(255,255,255,0.35); text-decoration:none;
  transition:color 0.2s;
}
.foot-links a:hover { color:var(--gold); }
.foot-copy {
  font-size:11px; color:rgba(255,255,255,0.2);
  font-family:'Jost',sans-serif;
}


/* ═══════════════════════════════════════════════
   RESPONSIVE — TABLET & MOBILE
   ═══════════════════════════════════════════════ */
.nav-toggle { display:none; flex-direction:column; justify-content:center; gap:5px; background:none; border:none; cursor:pointer; padding:8px; z-index:300; }
.nav-toggle span { display:block; width:24px; height:2px; background:rgba(255,255,255,0.8); border-radius:2px; transition:all 0.3s ease; }
.nav-toggle.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2) { opacity:0; }
.nav-toggle.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
@media (max-width:1024px) {
  nav { padding:0 32px; } .hero-inner { padding:120px 32px 80px; gap:48px; } .hero-scroll { left:32px; }
  .section { padding:80px 32px; } #book { padding:80px 32px; } #contact { padding:60px 32px; } footer { padding:40px 32px; }
  .services-header { gap:40px; } .services-grid { grid-template-columns:repeat(2,1fr); }
  .team-top { gap:40px; } .team-grid { grid-template-columns:repeat(2,1fr); }
  .about-layout { gap:56px; } .contact-grid { grid-template-columns:repeat(2,1fr); gap:36px; }
}
@media (max-width:768px) {
  .about-grid { grid-template-columns:1fr !important; gap:40px !important; }
  nav { padding:0 20px; height:64px; }
  .nav-links { display:none; position:fixed; top:64px; left:0; right:0; background:rgba(36,61,32,0.98); backdrop-filter:blur(16px); flex-direction:column; align-items:center; gap:0; padding:24px 0 32px; z-index:199; box-shadow:0 8px 32px rgba(0,0,0,0.3); }
  .nav-links.open { display:flex; } .nav-links li { width:100%; text-align:center; }
  .nav-links a { display:block; padding:14px 24px; font-size:12px; color:rgba(255,255,255,0.75); }
  .nav-book { margin:8px 24px 0 !important; display:block !important; text-align:center !important; }
  .nav-toggle { display:flex; }
  .hero-inner { flex-direction:column; padding:100px 20px 64px; gap:40px; text-align:center; align-items:center; }
  .hero-eyebrow { justify-content:center; } .hero-eyebrow::before { display:none; }
  .hero-sub { max-width:100%; } .hero-btns { justify-content:center; }
  .hero-right { order:-1; } .celestial-mark { width:130px; height:130px; } .hero-scroll { display:none; }
  .section { padding:64px 20px; } #book { padding:72px 20px; } #contact { padding:56px 20px; }
  footer { padding:36px 20px; flex-direction:column; align-items:flex-start; gap:20px; } .foot-links { flex-wrap:wrap; gap:16px; }
  .alive-grid { grid-template-columns:1fr; } .alive-col { padding:36px 24px; }
  .alive-col:first-child { border-right:none; border-bottom:1px solid rgba(196,154,42,0.15); } .not-for { padding:32px 24px; }
  .about-layout { grid-template-columns:1fr; gap:40px; margin-top:48px; } .about-visual { position:static; }
  .stats-row { flex-wrap:nowrap; margin-top:32px; border:none; background:var(--forest-pale); border-radius:2px; overflow:hidden; }
  .stat { flex:1; padding:20px 10px; border-right:1px solid rgba(196,154,42,0.2); border-bottom:none; background:transparent; }
  .stat:last-child { border-right:none; }
  .stat::after { content:''; display:block; width:20px; height:2px; background:var(--gold); margin:8px auto 0; opacity:0.5; }
  .stat-num { font-size:36px; } .stat-label { font-size:9px; letter-spacing:0.1em; margin-top:5px; line-height:1.4; }
  .services-header { grid-template-columns:1fr; gap:24px; margin-bottom:40px; }
  .services-grid { grid-template-columns:1fr; } .service-card { padding:32px 24px 36px; }
  .team-top { grid-template-columns:1fr; gap:24px; margin-bottom:40px; } .team-grid { grid-template-columns:1fr; gap:16px; }
  .retreats-layout { grid-template-columns:1fr; gap:48px; margin-top:48px; } .notify-box { padding:32px 24px; }
  .book-btns { flex-direction:column; align-items:center; }
  .btn-forest, .btn-outline-forest { width:100%; max-width:320px; text-align:center; padding:16px 24px; }
  .contact-grid { grid-template-columns:1fr 1fr; gap:28px; }
  .founder-quote { padding:24px 20px; font-size:18px; } .tagline-item { padding:0 20px; font-size:11px; }
}
@media (max-width:480px) {
  .contact-grid { grid-template-columns:1fr; }
  .hero-btns { flex-direction:column; align-items:center; width:100%; } .btn-gold { width:100%; text-align:center; }
  .alive-col { padding:28px 16px; } .not-for { padding:24px 16px; }
  .stat-num { font-size:30px; } .stat-label { font-size:8px; }
}
.waitlist-success { display:none; text-align:center; padding:32px 24px; }
.waitlist-success .check { font-size:40px; margin-bottom:12px; }
.waitlist-success h4 { font-family:'Cormorant Garamond',serif; font-size:26px; font-weight:400; color:var(--white); margin-bottom:10px; }
.waitlist-success p { font-size:14px; font-weight:300; color:rgba(255,255,255,0.55); line-height:1.75; }



/* ---- */


    #reviews-track::-webkit-scrollbar { display: none; }
    @media (max-width: 768px) {
      .review-card { flex: 0 0 85vw !important; }
    }
  