/* ============================================
   HERO
   ============================================ */
.hero {
  padding: 80px 0 60px;
  position: relative;
}
.hero-meta {
  display: flex; align-items: center; gap: 28px;
  margin-bottom: 56px;
  font-size: 11.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rust);
  font-weight: 500;
  flex-wrap: wrap;
}
.hero-meta::before {
  content: ""; flex: 0 0 60px; height: 1px; background: var(--terracotta);
}
.hero-meta-bullet {
  width: 4px; height: 4px; border-radius: 50%; background: var(--terracotta); flex: 0 0 4px;
}
.hero-meta-spacer { flex: 1; height: 1px; background: var(--rule); min-width: 40px; }
@media (max-width: 700px) {
  .hero-meta { gap: 14px; font-size: 10px; }
  .hero-meta::before { flex-basis: 24px; }
  .hero-meta-spacer { display: none; }
  .hero-meta > span:first-of-type,
  .hero-meta-bullet { display: none; }
}

.hero-title-row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: stretch;
  gap: 32px;
}
@media (max-width: 700px) {
  .hero-title-row { grid-template-columns: 1fr; }
}
.hero-gryffin {
  height: clamp(161px, 28.8vw, 484px); /* 3 lines × hero-title clamp × 0.96 line-height */
  width: auto;
  align-self: stretch;
  justify-self: end;
  object-fit: contain;
  object-position: bottom right;
  opacity: 0.25;
}
@media (max-width: 700px) { .hero-gryffin { display: none; } }
.hero-title {
  font-size: clamp(56px, 10vw, 168px);
  font-weight: 500;
  line-height: 0.96;
  letter-spacing: -0.025em;
  margin: 0;
}
.hero-title .sage-ital { color: var(--rust); }
.hero-title sup {
  font-size: 0.42em;
  vertical-align: super;
  line-height: 0;
  font-style: italic;
  font-weight: 400;
  color: var(--ink);
  letter-spacing: 0;
  margin-left: -0.02em;
}

.hero-row {
  display: grid; grid-template-columns: 1.4fr 1fr; gap: 80px;
  margin-top: 56px; align-items: end;
  padding-top: 36px; border-top: 1px solid var(--rule);
}
@media (max-width: 900px) {
  .hero-row { grid-template-columns: 1fr; gap: 36px; }
}
.hero-lede {
  font-family: "Playfair Display", serif;
  font-size: 22px;
  line-height: 1.45;
  font-weight: 400;
  font-style: italic;
  max-width: 50ch;
  color: var(--ink-soft);
  margin: 0;
}
.hero-lede strong {
  font-style: normal;
  font-weight: 500;
  color: var(--ink);
}
.hero-cta { display: flex; flex-direction: column; gap: 12px; align-items: stretch; }
.hero-cta .btn { justify-content: center; }

/* ============================================
   HERO IMAGE
   ============================================ */
.hero-image {
  margin: 60px 64px 0;
  height: 460px;
  display: grid; grid-template-columns: 1.6fr 1fr; gap: 14px;
}
@media (max-width: 900px) { .hero-image { margin: 40px 28px 0; height: auto; grid-template-columns: 1fr; gap: 14px; } }
.hero-image-main {
  background-image: url("/assets/house.jpg");
  background-size: cover;
  background-position: center;
  position: relative; overflow: hidden;
  min-height: 320px;
}
.hero-image-main::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(60,47,47,0.5));
}
.hero-image-cap {
  position: absolute; bottom: 26px; left: 30px; z-index: 2;
  display: flex; align-items: end; gap: 18px;
  color: var(--paper);
}
.hero-image-num {
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-size: 60px;
  font-weight: 400;
  line-height: 0.9;
}
.hero-image-meta {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding-bottom: 8px;
  opacity: 0.92;
}
.hero-image-side {
  background: var(--sage-darkest);
  color: var(--paper);
  padding: 36px 32px;
  display: flex; flex-direction: column; justify-content: space-between;
  position: relative;
  border: 1px solid var(--sage-darkest);
  overflow: hidden;
  min-height: 320px;
}
.hero-image-side h4 { color: var(--paper); }
.hero-image-side p { color: rgba(246, 242, 231, 0.78); }
.hero-image-side-content { position: relative; z-index: 1; }
.hero-image-side h4 {
  font-style: italic;
  font-weight: 500;
  font-size: 26px;
  line-height: 1.15;
  letter-spacing: -0.012em;
  margin-bottom: 14px;
}
.hero-image-side p {
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
}
.hero-image-side-tag {
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-size: 16px;
  color: var(--paper);
  position: relative; z-index: 1;
  display: inline-flex; align-items: center; gap: 10px;
}
.hero-image-side-tag::before { content: ""; width: 28px; height: 1px; background: var(--paper); }

/* ============================================
   COUNTDOWN — preserved from old site, restyled
   ============================================ */
.countdown-section {
  padding: 90px 0;
  background: var(--paper-cream);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}
.countdown-inner { max-width: 820px; margin: 0 auto; padding: 0 64px; text-align: center; }
@media (max-width: 900px) { .countdown-inner { padding: 0 28px; } }
.countdown-eyebrow {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  font-size: 11.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--rust);
  display: inline-flex; align-items: center; gap: 14px;
  margin-bottom: 24px;
}
.countdown-eyebrow::before,
.countdown-eyebrow::after { content: ""; width: 32px; height: 1px; background: var(--terracotta); }
.countdown-h {
  font-family: "Playfair Display", serif;
  font-size: clamp(36px, 4.5vw, 64px);
  font-weight: 500;
  line-height: 1.04;
  margin: 0 0 16px;
}
.countdown-h .sage-ital { color: var(--rust); }
.countdown-sub {
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-size: 19px;
  line-height: 1.55;
  color: var(--ink-soft);
  max-width: 56ch;
  margin: 0 auto 32px;
}
.launch-countdown {
  display: flex; gap: 16px; justify-content: center;
  margin: 32px 0;
  flex-wrap: wrap;
}
.launch-countdown-box {
  background: var(--paper);
  border: 1px solid var(--rule);
  padding: 18px 22px;
  min-width: 92px;
  display: flex; flex-direction: column; align-items: center; gap: 4px;
}
.launch-countdown-num {
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-size: 44px;
  line-height: 1;
  font-weight: 400;
  color: var(--rust);
}
.launch-countdown-label {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-soft);
  font-weight: 500;
}
@media (max-width: 600px) {
  .launch-countdown {
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    flex-wrap: nowrap;
  }
  .launch-countdown-box {
    padding: 12px 6px;
    min-width: 0;
  }
  .launch-countdown-num { font-size: 30px; }
  .launch-countdown-label { font-size: 8.5px; letter-spacing: 0.16em; }
}
.launch-countdown-expired {
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-size: 26px;
  color: var(--rust);
  margin: 0;
}
.countdown-row {
  display: flex; gap: 14px; justify-content: center; flex-wrap: wrap;
  margin-top: 24px;
}

/* ============================================
   THESIS
   ============================================ */
.thesis { padding: 140px 0 120px; }
.thesis-grid {
  display: grid; grid-template-columns: 1fr 1.5fr; gap: 100px;
  align-items: start;
}
@media (max-width: 900px) { .thesis-grid { grid-template-columns: 1fr; gap: 50px; } }
.thesis-side {
  position: sticky; top: 120px;
  display: flex; flex-direction: column;
}
@media (max-width: 900px) { .thesis-side { position: static; } }
.thesis-eyebrow {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 11.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--rust);
  font-weight: 500;
  display: flex; align-items: center; gap: 14px;
  margin-bottom: 32px;
}
.thesis-eyebrow::before { content: ""; width: 32px; height: 1px; background: var(--terracotta); }
.thesis-section-num {
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-size: 96px;
  font-weight: 400;
  color: var(--terracotta);
  line-height: 0.85;
  letter-spacing: -0.02em;
  margin-bottom: 14px;
}
.thesis-section-label {
  font-style: italic;
  font-size: 16px;
  color: var(--ink-soft);
  font-family: "Playfair Display", serif;
}
.thesis-h {
  font-size: clamp(40px, 5vw, 76px);
  margin-bottom: 40px;
  max-width: 18ch;
  line-height: 1.04;
}
.thesis-body p {
  font-size: 18px;
  line-height: 1.7;
  margin: 0 0 18px;
  max-width: 60ch;
  color: var(--ink-soft);
}
.thesis-body p:first-of-type::first-letter {
  font-family: "Playfair Display", serif;
  font-size: 88px;
  font-weight: 500;
  float: left;
  line-height: 0.85;
  margin: 8px 14px 0 -2px;
  color: var(--rust);
  font-style: italic;
}
.thesis-pull {
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-size: 28px;
  line-height: 1.32;
  font-weight: 400;
  color: var(--ink);
  margin: 36px 0 0;
  padding: 28px 0 28px 36px;
  border-left: 2px solid var(--terracotta);
  max-width: 38ch;
}
.thesis-pull-attr {
  display: block;
  margin-top: 18px;
  font-style: normal;
  font-family: "Plus Jakarta Sans", sans-serif; font-weight: 500;
  font-size: 11.5px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--rust);
}

/* ============================================
   HOUSE FEATURE
   ============================================ */
.house {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--sage-darkest);
  color: var(--paper);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  min-height: 640px;
}
@media (max-width: 900px) { .house { grid-template-columns: 1fr; } }
.house-img {
  background-image: url("/assets/house.jpg");
  background-size: cover;
  background-position: center;
  position: relative;
  min-height: 420px;
}
.house-sticker {
  position: absolute; top: 32px; right: 32px;
  width: 144px; height: 144px;
  border-radius: 50%;
  background: var(--paper);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center;
  border: 1px solid var(--sage);
  transform: rotate(-8deg);
  padding: 14px;
}
.house-sticker-icon { width: 46px; height: auto; margin-bottom: 4px; }
.house-sticker-line {
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-size: 13px;
  line-height: 1.2;
  color: var(--ink);
}
.house-sticker-line strong {
  font-style: normal;
  font-weight: 500;
  display: block;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--sage-deep);
  margin-top: 2px;
}
.house-content {
  padding: 90px 70px;
  display: flex; flex-direction: column; justify-content: center;
  gap: 28px;
}
@media (max-width: 900px) { .house-content { padding: 60px 28px; } }
.house-eyebrow {
  font-family: "Plus Jakarta Sans", sans-serif; font-weight: 500;
  font-size: 11.5px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--paper);
  display: flex; align-items: center; gap: 14px;
}
.house-eyebrow::before { content: ""; width: 32px; height: 1px; background: var(--paper); }
.house-h {
  font-size: clamp(36px, 4.5vw, 64px);
  font-weight: 500;
  line-height: 1.04;
  color: var(--paper);
}
.house-h .sage-ital { color: #FFF; }
.house-body {
  font-size: 17px;
  line-height: 1.7;
  max-width: 50ch;
  color: rgba(246,242,231,0.72);
  margin: 0;
}
.house-stats {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
  margin-top: 12px;
  padding-top: 32px;
  border-top: 1px solid rgba(246,242,231,0.18);
}
.house-stat-num {
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-size: 48px;
  font-weight: 400;
  line-height: 1;
  color: #FFF;
}
.house-stat-label {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(246,242,231,0.6);
  margin-top: 8px;
  font-weight: 500;
}
.house-link {
  align-self: flex-start;
  display: inline-flex; align-items: center; gap: 12px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  font-size: 11.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--sage-light);
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(197, 205, 182, 0.4);
  transition: color 0.2s, border-color 0.2s;
}
.house-link:hover { color: #FFF; border-color: #FFF; }
.house-link .arrow { transition: transform 0.25s; display: inline-block; }
.house-link:hover .arrow { transform: translateX(4px); }

/* ============================================
   HOUSE PHOTO SECTION (history page inline figures)
   ============================================ */
.house-photo-section { padding: 60px 0; }
.house-photo {
  margin: 0 auto;
  max-width: 880px;
  display: flex; flex-direction: column; align-items: center;
}
.house-photo img {
  width: 100%; height: auto; display: block;
  border-radius: 4px;
  box-shadow: 0 24px 60px -28px rgba(20, 20, 20, 0.35);
}
.house-photo--clipping { max-width: 560px; }
.house-photo--clipping img { box-shadow: 0 18px 40px -22px rgba(20, 20, 20, 0.4); }
.house-photo figcaption {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--ink-soft, #5a5a5a);
  margin-top: 16px;
  max-width: 560px;
  text-align: center;
}
@media (max-width: 720px) {
  .house-photo-section { padding: 36px 0; }
  .house-photo figcaption { font-size: 12px; padding: 0 12px; }
}

/* ============================================
   BUILD LIST
   ============================================ */
.build { padding: 140px 0 120px; }
.build-head {
  display: grid; grid-template-columns: 1.2fr 1fr; gap: 60px;
  align-items: end;
  margin-bottom: 64px;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--rule);
}
@media (max-width: 900px) { .build-head { grid-template-columns: 1fr; gap: 24px; } }
.build-eyebrow {
  font-family: "Plus Jakarta Sans", sans-serif; font-weight: 500;
  font-size: 11.5px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--rust);
  display: flex; align-items: center; gap: 14px;
  margin-bottom: 20px;
}
.build-eyebrow::before { content: ""; width: 32px; height: 1px; background: var(--terracotta); }
.build-h {
  font-size: clamp(44px, 6.5vw, 96px);
  max-width: 14ch;
  font-weight: 500;
}
.build-h .sage-ital { color: var(--rust); }
.build-intro {
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-size: 19px;
  line-height: 1.55;
  color: var(--ink-soft);
  max-width: 44ch;
  align-self: end;
  margin: 0;
}
.build-list { display: flex; flex-direction: column; }
.build-row {
  display: grid;
  grid-template-columns: 80px 1.4fr 2fr 60px;
  gap: 36px;
  align-items: baseline;
  padding: 36px 0;
  border-top: 1px solid var(--rule);
  position: relative;
}
.build-row:last-child { border-bottom: 1px solid var(--rule); }
.build-num {
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-size: 28px;
  color: var(--terracotta);
  font-weight: 400;
}
.build-title {
  font-family: "Playfair Display", serif;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: -0.012em;
  line-height: 1.12;
  margin: 0;
}
.build-title .sage-ital { color: var(--rust); }
.build-body {
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink-soft);
  max-width: 56ch;
  margin: 0;
}
@media (max-width: 900px) {
  .build-row { grid-template-columns: 1fr; gap: 8px; padding: 28px 0; }
}

/* ============================================
   WAYS IN — homepage version, no prices, links to /pricing.html
   ============================================ */
.ways {
  background: var(--sage-deep);
  color: var(--paper);
  padding: 140px 0 120px;
  position: relative;
}
.ways-head {
  display: grid; grid-template-columns: 1.2fr 1fr; gap: 80px;
  margin-bottom: 60px; align-items: end;
}
@media (max-width: 900px) { .ways-head { grid-template-columns: 1fr; gap: 24px; } }
.ways-eyebrow {
  font-family: "Plus Jakarta Sans", sans-serif; font-weight: 500;
  font-size: 11.5px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--sage-light);
  display: flex; align-items: center; gap: 14px;
  margin-bottom: 20px;
}
.ways-eyebrow::before { content: ""; width: 32px; height: 1px; background: var(--sage-light); }
.ways h2 {
  font-size: clamp(44px, 6.5vw, 96px);
  color: var(--paper);
  font-weight: 500;
}
.ways h2 .sage-ital { color: var(--sage-light); }
.ways-sub {
  font-family: "Playfair Display", serif; font-style: italic;
  font-size: 19px; line-height: 1.55;
  color: rgba(246, 242, 231, 0.72);
  max-width: 46ch;
  margin: 0;
}
.ways-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid rgba(246, 242, 231, 0.18);
  border-left: 1px solid rgba(246, 242, 231, 0.18);
}
@media (max-width: 1100px) { .ways-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .ways-grid { grid-template-columns: 1fr; } }
.way {
  padding: 40px 32px 36px;
  border-right: 1px solid rgba(246, 242, 231, 0.18);
  border-bottom: 1px solid rgba(246, 242, 231, 0.18);
  display: flex; flex-direction: column; gap: 16px;
  min-height: 320px;
  cursor: pointer;
  transition: background 240ms ease;
  position: relative;
}
.way:hover { background: rgba(197, 205, 182, 0.14); }
.way:hover .way-name { color: var(--sage-light); }
.way:hover .way-cta { color: var(--paper); }
.way-name { transition: color 240ms ease; }
.way-tier {
  font-family: "Playfair Display", serif; font-style: italic;
  font-size: 17px;
  color: var(--sage-light);
  font-weight: 400;
}
.way-name {
  font-family: "Playfair Display", serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -0.015em;
}
.way-status {
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-size: 16px;
  color: var(--sage-light);
}
.way-body {
  flex: 1;
  font-size: 14px;
  line-height: 1.65;
  color: rgba(246, 242, 231, 0.72);
  margin: 0;
}
.way-cta {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding-top: 16px;
  border-top: 1px solid rgba(246, 242, 231, 0.18);
  color: var(--sage-light);
  display: flex; align-items: center; justify-content: space-between;
}
.way-cta::after {
  content: "→";
  font-family: "Playfair Display", serif;
  font-style: italic;
  text-transform: none;
  letter-spacing: 0;
  font-size: 16px;
  transition: transform 220ms ease;
}
.way:hover .way-cta::after { transform: translateX(6px); }

.cofounder-note {
  margin-top: 56px;
  padding: 32px 36px;
  border: 1px solid rgba(246, 242, 231, 0.18);
  display: flex; gap: 24px; justify-content: space-between; align-items: center;
  flex-wrap: wrap;
}
.cofounder-note-text {
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-size: 22px;
  line-height: 1.4;
  color: var(--paper);
  margin: 0;
  max-width: 60ch;
}
.cofounder-note-text strong {
  font-style: normal;
  font-weight: 500;
  color: var(--sage-light);
}
.cofounder-note-link {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sage-light);
  white-space: nowrap;
  transition: color 220ms ease;
}
.cofounder-note-link:hover { color: var(--paper); }

/* ============================================
   PRESS
   ============================================ */
.press {
  padding: 140px 0 120px;
  background: var(--paper-cream);
}
.press-head {
  display: flex; align-items: end; justify-content: space-between;
  margin-bottom: 56px; padding-bottom: 36px;
  border-bottom: 1px solid var(--rule);
  gap: 40px;
  flex-wrap: wrap;
}
.press-eyebrow {
  font-family: "Plus Jakarta Sans", sans-serif; font-weight: 500;
  font-size: 11.5px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--rust);
  display: flex; align-items: center; gap: 14px;
  margin-bottom: 20px;
}
.press-eyebrow::before { content: ""; width: 32px; height: 1px; background: var(--terracotta); }
.press-h {
  font-size: clamp(36px, 5.5vw, 80px);
  font-weight: 500;
}
.press-h .sage-ital { color: var(--rust); }
.press-meta {
  font-family: "Playfair Display", serif; font-style: italic;
  font-size: 16px;
  color: var(--ink-soft);
}
.press-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px;
}
@media (max-width: 900px) { .press-grid { grid-template-columns: 1fr; } }
.press-card {
  background: var(--paper);
  cursor: pointer;
  transition: transform 280ms ease, box-shadow 280ms ease, border-color 280ms ease;
  border: 1px solid var(--rule);
  display: block;
}
.press-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 36px rgba(118,64,42,0.14);
  border-color: var(--terracotta);
}
.press-card:hover .press-headline { color: var(--rust); }
.press-headline { transition: color 280ms ease; }
.press-card:hover .press-link { color: var(--rust); }
.press-link { transition: color 280ms ease; }
.press-img { aspect-ratio: 16/10; overflow: hidden; }
.press-img img { width: 100%; height: 100%; object-fit: cover; }
.press-body { padding: 26px 28px 30px; border-top: 1px solid var(--rule); }
.press-pub {
  font-family: "Playfair Display", serif; font-style: italic;
  font-size: 14px;
  color: var(--terracotta);
  margin-bottom: 10px;
}
.press-headline {
  font-family: "Playfair Display", serif;
  font-size: 22px;
  line-height: 1.28;
  font-weight: 500;
  letter-spacing: -0.012em;
  margin: 0;
}
.press-blurb {
  font-size: 14px;
  line-height: 1.55;
  color: var(--ink-soft);
  margin: 14px 0 0;
}
.press-link {
  display: inline-block;
  margin-top: 18px;
  font-size: 11.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-soft);
  font-weight: 500;
}
.press-link::after {
  content: " →";
  font-family: "Playfair Display", serif; font-style: italic;
  text-transform: none; letter-spacing: 0;
  margin-left: 4px;
}

/* ============================================
   CTA
   ============================================ */
.cta {
  padding: 160px 0 140px;
  text-align: center;
  position: relative;
  background: var(--sage-deep);
  color: var(--paper);
}
.cta-icon-wrap {
  width: 60px; height: 60px;
  margin: 0 auto 28px;
  display: flex; align-items: center; justify-content: center;
}
.cta-icon-wrap img { width: 100%; height: 100%; object-fit: contain; }
.cta-h {
  font-family: "Playfair Display", serif;
  font-size: clamp(60px, 11vw, 184px);
  line-height: 0.96;
  font-weight: 500;
  letter-spacing: -0.025em;
  margin: 0;
  color: var(--paper);
}
.cta-h .sage-ital { color: var(--sage-light); }
.cta-flourish {
  display: inline-flex; align-items: center; justify-content: center; gap: 14px;
  margin: 24px 0 32px;
}
.cta-flourish span { width: 60px; height: 1px; background: var(--sage-light); }
.cta-flourish em {
  font-family: "Playfair Display", serif; font-style: italic;
  font-size: 18px; color: var(--sage-light);
}
.cta-sub {
  font-family: "Playfair Display", serif; font-style: italic;
  font-size: 22px;
  line-height: 1.5;
  margin: 0 auto 44px;
  max-width: 52ch;
  color: rgba(246, 242, 231, 0.78);
  padding: 0 28px;
}
.cta-row {
  display: flex; gap: 14px; justify-content: center; flex-wrap: wrap;
  padding: 0 28px;
}
.cta .btn-ghost {
  border-color: var(--paper);
  color: var(--paper);
}
.cta .btn-ghost:hover {
  background: var(--paper);
  color: var(--sage-deep);
  border-color: var(--paper);
}
