:root {
  --bg: #f7f1ea;
  --bg-deep: #efe3d5;
  --paper: rgba(255, 252, 248, 0.84);
  --paper-strong: rgba(255, 250, 245, 0.96);
  --card: #fffaf5;
  --ink: #241719;
  --muted: #6f5b5e;
  --line: rgba(71, 44, 42, 0.12);
  --accent: #b76852;
  --accent-deep: #8f4736;
  --gold: #b58845;
  --sage: #6f8d7c;
  --shadow: 0 26px 70px rgba(72, 40, 35, 0.14);
  --radius-xl: 36px;
  --radius-lg: 28px;
  --radius-md: 22px;
  --radius-sm: 16px;
  --container: 1200px;
  --display: "Cormorant Garamond", Georgia, serif;
  --body: "Manrope", "Segoe UI", sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--ink);
  font-family: var(--body);
  background:
    radial-gradient(circle at top left, rgba(210, 173, 144, 0.28), transparent 28%),
    radial-gradient(circle at 90% 8%, rgba(165, 188, 174, 0.18), transparent 22%),
    linear-gradient(180deg, #f8f1ea 0%, #fffdf9 34%, #f6eee5 100%);
  line-height: 1.65;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

.site-shell {
  min-height: 100vh;
}

.container {
  width: min(calc(100% - 2rem), var(--container));
  margin: 0 auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(250, 245, 238, 0.76);
  border-bottom: 1px solid rgba(71, 44, 42, 0.08);
  backdrop-filter: blur(22px);
}

.nav-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 0.95rem 0;
}

.brand-mark {
  display: inline-flex;
  flex-direction: column;
  line-height: 1;
}

.brand-mark strong {
  font-family: var(--display);
  font-size: 1.6rem;
  letter-spacing: 0.02em;
}

.brand-mark span {
  margin-top: 0.35rem;
  color: var(--muted);
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nav-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.7rem;
}

.nav-actions { display: flex; align-items: center; gap: 1rem; }

.nav-toggle,
.mobile-menu { display: none; }

.nav-links a,
.chip,
.tag {
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.62);
  color: var(--muted);
  padding: 0.72rem 1rem;
  transition: transform 180ms ease, border-color 180ms ease, color 180ms ease;
}

.nav-links a:hover,
.chip:hover,
.tag:hover,
.chip.is-active {
  color: var(--ink);
  border-color: rgba(183, 104, 82, 0.42);
  transform: translateY(-1px);
}

.button,
button,
input,
select,
textarea {
  font: inherit;
}

.button,
button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border: 0;
  border-radius: 999px;
  padding: 0.95rem 1.35rem;
  cursor: pointer;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.button:hover,
button[type="submit"]:hover {
  transform: translateY(-1px);
}

.button.primary,
button[type="submit"] {
  color: #fff;
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-deep) 100%);
  box-shadow: 0 18px 34px rgba(143, 71, 54, 0.22);
}

.button.secondary {
  background: rgba(255, 255, 255, 0.72);
  color: var(--ink);
  border: 1px solid var(--line);
}

.button.ghost {
  padding-left: 0;
  color: var(--accent-deep);
}

.hero,
.section {
  padding: 5rem 0;
}

.section.soft {
  padding-top: 2rem;
}

.hero-grid,
.split-grid,
.profile-grid,
.directory-layout,
.story-grid,
.resource-grid,
.metric-grid,
.cta-grid,
.calc-grid,
.editorial-grid,
.gateway-grid,
.mosaic-grid,
.directory-results {
  display: grid;
  gap: 1.5rem;
}

.hero-grid {
  grid-template-columns: 1.1fr 0.9fr;
  align-items: end;
}

.editorial-grid,
.split-grid,
.cta-grid,
.calc-grid,
.profile-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.eyebrow {
  margin-bottom: 0.8rem;
  color: var(--accent-deep);
  font-size: 0.8rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

h1,
h2,
h3 {
  margin: 0 0 1rem;
  font-family: var(--display);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 0.96;
}

h1 {
  font-size: clamp(3.4rem, 8vw, 7rem);
}

h2 {
  font-size: clamp(2.2rem, 5vw, 4.2rem);
}

h3 {
  font-size: clamp(1.35rem, 2.4vw, 2rem);
}

p {
  margin: 0 0 1rem;
  color: var(--muted);
}

.lead {
  font-size: 1.12rem;
  max-width: 58ch;
}

.hero-card,
.panel,
.card,
.metric,
.story-card,
.form-shell,
.calc-shell,
.match-shell,
.demo-banner,
.floating-panel,
.sticky-mobile,
.spotlight-card,
.gateway-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  background: var(--paper);
  box-shadow: var(--shadow);
}

.hero-card,
.panel,
.card,
.metric,
.story-card,
.form-shell,
.calc-shell,
.match-shell,
.demo-banner,
.spotlight-card,
.gateway-card {
  padding: 1.5rem;
}

.hero-stage {
  position: relative;
  min-height: 72vh;
  display: grid;
  align-items: end;
  padding: 4rem 0 2rem;
}

.hero-frame {
  position: relative;
  overflow: hidden;
  border-radius: 42px;
  min-height: 620px;
  background:
    linear-gradient(130deg, rgba(15, 11, 12, 0.18), rgba(15, 11, 12, 0.5)),
    url("https://static.wixstatic.com/media/cf5d42_e430f07485224d59b237a99ccda8fa89~mv2.jpg/v1/fill/w_980,h_654,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/IMG_1936_Original%202_JPG.jpg")
      center/cover;
  box-shadow: var(--shadow);
}

.hero-overlay {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 1.5rem;
  align-items: end;
  min-height: 620px;
  padding: 2rem;
}

.hero-copy {
  padding: 2rem;
  border-radius: 34px;
  background: rgba(255, 248, 241, 0.78);
  backdrop-filter: blur(18px);
}

.hero-copy p,
.hero-copy .mini-label {
  color: rgba(36, 23, 25, 0.76);
}

.hero-side {
  display: grid;
  gap: 1rem;
}

.image-tile {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  min-height: 220px;
  box-shadow: var(--shadow);
}

.image-tile img,
.spotlight-figure img,
.mosaic-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.image-tile::after,
.mosaic-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(20, 13, 14, 0.38) 100%);
}

.image-caption {
  position: absolute;
  inset: auto 1rem 1rem 1rem;
  z-index: 1;
  color: #fff;
}

.section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.6rem;
}

.stack {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.mini-label,
.caption,
.fine-print {
  color: var(--muted);
  font-size: 0.92rem;
}

.gateway-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gateway-card {
  position: relative;
  overflow: hidden;
  min-height: 240px;
  background: linear-gradient(180deg, rgba(255, 251, 246, 0.9), rgba(250, 238, 227, 0.84));
}

.gateway-card strong {
  display: block;
  margin-top: 1.5rem;
  font-size: 0.92rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accent-deep);
}

.gateway-card h3 {
  margin-top: 0.9rem;
}

.spotlight-card {
  padding: 0;
  overflow: hidden;
}

.spotlight-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
}

.spotlight-figure {
  min-height: 560px;
}

.spotlight-copy {
  padding: 2rem;
  display: grid;
  align-content: center;
}

.mosaic-grid {
  grid-template-columns: 1.2fr 0.8fr;
}

.mosaic-stack {
  display: grid;
  gap: 1.5rem;
}

.mosaic-card {
  position: relative;
  overflow: hidden;
  min-height: 280px;
  border-radius: 32px;
  box-shadow: var(--shadow);
}

.mosaic-card.tall {
  min-height: 580px;
}

.mosaic-copy {
  position: absolute;
  left: 1.5rem;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 1;
  color: #fff;
}

.mosaic-copy p {
  color: rgba(255, 255, 255, 0.78);
}

.story-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.story-card {
  background: rgba(255, 252, 248, 0.7);
}

.story-card span {
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  align-items: center;
  justify-content: center;
  color: var(--accent-deep);
  background: rgba(183, 104, 82, 0.12);
  margin-bottom: 1rem;
}

.match-shell,
.calc-shell,
.form-shell {
  background:
    radial-gradient(circle at top right, rgba(181, 136, 69, 0.12), transparent 25%),
    radial-gradient(circle at left bottom, rgba(111, 141, 124, 0.1), transparent 25%),
    var(--paper-strong);
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.field {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.field.full {
  grid-column: 1 / -1;
}

input,
select,
textarea {
  width: 100%;
  border: 1px solid rgba(71, 44, 42, 0.14);
  border-radius: 18px;
  padding: 0.95rem 1rem;
  background: rgba(255, 255, 255, 0.82);
  color: var(--ink);
}

textarea {
  min-height: 140px;
  resize: vertical;
}

.directory-layout {
  grid-template-columns: 300px minmax(0, 1fr);
  align-items: start;
}

.filter-panel {
  position: sticky;
  top: 6rem;
}

.directory-results,
.resource-grid,
.metric-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.card {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  background: rgba(255, 253, 250, 0.9);
}

.portrait {
  position: relative;
  overflow: hidden;
  min-height: 230px;
  border-radius: 24px;
  background: linear-gradient(145deg, #eed4c8, #f9ecdf);
  padding: 1rem;
  display: grid;
  place-items: end start;
}

.portrait img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 320ms ease;
}

.card:hover .portrait img {
  transform: scale(1.04);
}

.portrait::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  background: linear-gradient(180deg, transparent, rgba(20, 13, 14, 0.45));
}

.portrait-caption {
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: 0.74rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.profile-hero-visual {
  position: relative;
  overflow: hidden;
  min-height: 510px;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow);
}

.profile-hero-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.profile-hero-visual .image-caption {
  border-radius: 18px;
  padding: 0.75rem 1rem;
  background: rgba(30, 19, 20, 0.66);
  backdrop-filter: blur(12px);
}

.portrait.gold {
  background: linear-gradient(145deg, #f0d7b0, #fcf0dd);
}

.portrait.sage {
  background: linear-gradient(145deg, #d2ddd6, #edf5f0);
}

.portrait .monogram {
  width: 4.2rem;
  height: 4.2rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.76);
  font-size: 1.32rem;
  font-weight: 700;
}

.list {
  padding-left: 1rem;
  color: var(--muted);
}

.list li + li {
  margin-top: 0.5rem;
}

.calc-figure,
.note-box,
.success-state,
.empty-state {
  padding: 1.15rem 1.25rem;
  border-radius: 24px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.72);
}

.calc-figure strong,
.metric strong {
  display: block;
  font-size: 1.9rem;
  line-height: 1.05;
  color: var(--ink);
}

.match-results,
.tour-steps {
  display: grid;
  gap: 1rem;
}

.metric {
  background: rgba(255, 255, 255, 0.92);
}

.delta {
  color: #2f7357;
  font-weight: 700;
}

.demo-banner {
  background:
    linear-gradient(135deg, rgba(34, 24, 27, 0.96), rgba(92, 55, 47, 0.96)),
    rgba(34, 24, 27, 0.96);
  color: #fff;
}

.demo-banner p,
.demo-banner .eyebrow {
  color: rgba(255, 255, 255, 0.78);
}

.site-footer {
  padding: 3rem 0 7rem;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  gap: 1.5rem;
  padding: 2rem;
}

.floating-trigger {
  position: fixed;
  right: 1rem;
  bottom: 6rem;
  z-index: 50;
}

.floating-panel {
  position: fixed;
  right: 1rem;
  bottom: 10rem;
  z-index: 50;
  width: min(340px, calc(100vw - 2rem));
  padding: 1.35rem;
  display: none;
}

.floating-panel.is-open {
  display: block;
}

.floating-panel ul {
  padding-left: 1rem;
  margin: 1rem 0 0;
  color: var(--muted);
}

.sticky-mobile {
  position: fixed;
  left: 0.75rem;
  right: 0.75rem;
  bottom: max(0.75rem, env(safe-area-inset-bottom));
  z-index: 45;
  padding: 0.75rem;
  display: none;
}

.sticky-mobile nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
}

.sticky-mobile a {
  text-align: center;
  padding: 0.8rem 0.5rem;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.92);
}

.sticky-mobile a.emphasis {
  color: #fff;
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-deep) 100%);
}

.hidden {
  display: none !important;
}

/* Homepage art direction: image-led, editorial, and intentionally quieter than the conversion pages. */
.home-page {
  --ink: #1d2820;
  --muted: #667169;
  --accent: #8f342f;
  --accent-deep: #5d1d1a;
  --line: rgba(29, 40, 32, 0.17);
  --display: "Playfair Display", Georgia, serif;
  --body: "Space Grotesk", sans-serif;
  background: #f2efe7;
}

.home-page .site-header {
  color: #f7f3eb;
  position: absolute;
  width: 100%;
  background: linear-gradient(180deg, rgba(12, 17, 13, 0.52), transparent);
  border: 0;
  backdrop-filter: none;
}

.home-page .brand-mark span,
.home-page .nav-links a { color: rgba(255, 255, 255, 0.77); }
.home-page .nav-links a { background: transparent; border: 0; padding-inline: 0.55rem; }
.home-page .nav-links a:hover { color: #fff; transform: none; }
.home-page .nav-links .button.primary { color: #1d2820; background: #f3eee5; box-shadow: none; }

.home-hero { position: relative; min-height: min(900px, 100vh); overflow: hidden; display: grid; align-items: end; color: #f8f4ec; }
.home-hero-image { position: absolute; inset: 0; background: url("https://static.wixstatic.com/media/cf5d42_92b67fa7240e4b7b9b4fbcee9f71c3cc~mv2.jpg/v1/fill/w_1920,h_1280,al_c,q_90,usm_0.66_1.00_0.01,enc_avif,quality_auto/158865216_3830502307005029_6978517104494163045_n.jpg") center/cover; transform: scale(1.015); }
.home-hero-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(9, 14, 10, 0.46), rgba(12, 18, 13, 0.12) 38%, rgba(10, 15, 11, 0.8)); }
.home-hero-inner { position: relative; z-index: 1; padding-bottom: 5.8rem; }
.home-kicker, .home-page .eyebrow { font-family: "DM Mono", monospace; font-size: 0.66rem; letter-spacing: 0.16em; text-transform: uppercase; }
.home-kicker { display: flex; align-items: center; gap: 0.72rem; color: rgba(255,255,255,0.78); margin-bottom: 1.4rem; }
.home-kicker span { height: 1px; width: 2.2rem; background: currentColor; opacity: 0.7; }
.home-hero h1 { max-width: 10ch; margin: 0; font-size: clamp(3.4rem, 8.2vw, 7.3rem); letter-spacing: -0.065em; line-height: 0.94; }
.home-hero h1 em, .home-page h2 em { font-weight: 500; }
.home-hero-bottom { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-top: 2.2rem; }
.home-hero-bottom > p { max-width: 40ch; margin: 0; color: rgba(255, 255, 255, 0.78); }
.light-button { background: #f5f1e8; color: #1d2820; box-shadow: none; }
.light-button:hover { background: #fff; }
.text-link { display: inline-flex; align-items: center; gap: 0.7rem; color: var(--ink); font-size: 0.82rem; letter-spacing: 0.05em; text-transform: uppercase; border-bottom: 1px solid currentColor; padding-bottom: 0.3rem; }
.light-link { color: #f5f1e8; }
.scroll-cue { position: absolute; bottom: 1.3rem; left: 50%; z-index: 1; transform: translateX(-50%); display: grid; gap: 0.25rem; text-align: center; color: rgba(255, 255, 255, 0.68); font-family: "DM Mono", monospace; font-size: 0.59rem; letter-spacing: 0.13em; text-transform: uppercase; }
.scroll-cue span { font-size: 1.2rem; }

.home-page h2 { font-size: clamp(2.6rem, 5.3vw, 5rem); letter-spacing: -0.06em; line-height: 0.98; }
.welcome-section { padding: 9rem 0; }
.welcome-grid, .discovery-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 5rem; align-items: start; }
.welcome-copy { padding-top: 2.3rem; }
.welcome-copy .lead { color: var(--ink); font-size: 1.3rem; line-height: 1.6; }

.path-section { padding-top: 0; }
.path-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.path-card { position: relative; min-height: 620px; overflow: hidden; color: #f8f4ec; }
.path-card .path-image, .path-overlay { position: absolute; inset: 0; }
.client-path .path-image { background: url("https://static.wixstatic.com/media/cf5d42_80178f93411e41c1afa2ba1ad62b7ae5~mv2.jpg/v1/fill/w_1280,h_1100,al_c,q_85,enc_avif,quality_auto/IMG_1951_Original_JPG.jpg") center/cover; }
.pro-path .path-image { background: url("https://static.wixstatic.com/media/cf5d42_2129b310557a4fe78a0ae9e85cca252f~mv2.jpg/v1/fill/w_1280,h_1100,al_c,q_85,enc_avif,quality_auto/IMG_0051.jpg") center/cover; }
.path-overlay { background: linear-gradient(180deg, rgba(16, 24, 17, 0.06), rgba(14, 22, 16, 0.83)); transition: background 280ms ease; }
.path-card:hover .path-overlay { background: linear-gradient(180deg, rgba(16, 24, 17, 0.02), rgba(14, 22, 16, 0.64)); }
.path-content { position: absolute; inset: auto 1.25rem 1.25rem; z-index: 1; max-width: 32rem; padding: 1.35rem; background: linear-gradient(135deg, rgba(51, 22, 35, 0.82), rgba(51, 22, 35, 0.48)); backdrop-filter: blur(10px); }
.path-content .eyebrow { color: rgba(255,255,255,0.75); }
.path-content h2 { font-size: clamp(2.5rem, 4.1vw, 4.4rem); }
.path-content p { color: rgba(255,255,255,0.75); max-width: 38ch; }
.round-arrow { display: grid; place-items: center; width: 3.3rem; height: 3.3rem; margin-top: 1.6rem; border: 1px solid rgba(255,255,255,0.5); border-radius: 999px; font-size: 1.3rem; }
.editorial-band { overflow: hidden; padding: 1.2rem 0; background: #1d2820; color: #f3ede1; }
.marquee-track { display: flex; align-items: center; justify-content: center; gap: 1.5rem; white-space: nowrap; font-family: var(--display); font-size: clamp(1.5rem, 2.6vw, 2.5rem); font-style: italic; }
.marquee-track i { color: #ba7062; font-style: normal; font-size: 0.85em; }

.founder-section { padding: 9rem 0; }
.founder-layout { display: grid; grid-template-columns: 0.92fr 1.08fr; gap: clamp(2.5rem, 7vw, 8rem); align-items: center; }
.founder-image { margin: 0; min-height: 640px; overflow: hidden; background: #d7d8cf; }
.founder-image img { width: 100%; height: 100%; object-fit: cover; }
.founder-copy .lead { color: var(--ink); font-size: 1.18rem; }
.founder-copy .text-link { margin-top: 1rem; }

.discovery-section { background: #e0dfd3; padding: 8rem 0; }
.match-editorial { border: 0; border-radius: 0; box-shadow: none; background: transparent; padding: 0; }
.home-page .match-editorial input, .home-page .match-editorial select { border-radius: 0; border-width: 0 0 1px; background: transparent; padding: 0.8rem 0; }
.home-page .match-editorial button { width: 100%; border-radius: 0; background: #1d2820; box-shadow: none; }

.pros-section { padding: 9rem 0; }
.editorial-head { margin-bottom: 3.5rem; }
.home-page .card { border: 0; border-radius: 0; box-shadow: none; background: transparent; padding: 0; }
.home-page .portrait { min-height: 350px; border-radius: 0; }
.home-page .card .eyebrow, .home-page .card > h3, .home-page .card > p, .home-page .card > .stack { margin-left: 0.15rem; margin-right: 0.15rem; }
.home-page .card .stack:last-child { padding-top: 0.2rem; }
.home-page .card .button { border-radius: 0; padding-inline: 0.8rem; }

.independence-section { background: #203328; color: #f0ede5; padding: 8rem 0; }
.independence-layout { display: grid; grid-template-columns: 0.92fr 1.08fr; gap: clamp(3rem, 8vw, 10rem); align-items: center; }
.independence-section .eyebrow { color: #c2ba95; }
.independence-section p { color: rgba(240,237,229,0.73); }
.independence-tool { border-top: 1px solid rgba(240,237,229,0.42); border-bottom: 1px solid rgba(240,237,229,0.25); padding: 1.8rem 0; }
.independence-tool input { color: #f0ede5; background: transparent; border: 0; border-bottom: 1px solid rgba(240,237,229,0.37); border-radius: 0; padding-left: 0; }
.independence-tool label { color: rgba(240,237,229,0.72); font-size: 0.85rem; }
.revenue-figure { padding: 3.6rem 0 1.8rem; }
.revenue-figure span { display: block; color: rgba(240,237,229,0.72); font-family: "DM Mono", monospace; font-size: 0.65rem; letter-spacing: 0.13em; text-transform: uppercase; }
.revenue-figure strong { display: block; font-family: var(--display); font-size: clamp(4rem, 7vw, 7.5rem); line-height: 0.94; letter-spacing: -0.07em; color: #f6f2eb; }
.revenue-mini { display: flex; gap: 2.6rem; padding-bottom: 1.5rem; color: rgba(240,237,229,0.72); }
.revenue-mini strong { display: block; color: #f6f2eb; font-size: 1.4rem; }
.independence-tool .fine-print { color: rgba(240,237,229,0.55); max-width: 64ch; }

.proof-section { padding: 9rem 0; }
.final-section { padding: 0 0 8rem; }
.final-panel { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding: 5rem; background: #a54c3c; color: #fff7ef; }
.final-panel .eyebrow { color: rgba(255,247,239,0.76); }
.final-panel h2 { margin: 0; }

/* Keep the flagship page focused on the brand experience; deeper tools live on their dedicated paths. */
.home-page .discovery-section,
.home-page .pros-section,
.home-page .independence-section {
  display: none;
}

@media (max-width: 900px) {
  .home-hero-bottom, .final-panel { display: grid; align-items: start; }
  .welcome-grid, .discovery-grid, .path-grid, .founder-layout, .independence-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .path-card { min-height: 500px; }
  .founder-image { min-height: 460px; }
  .final-panel { padding: 3rem 2rem; }
}

/* Flagship hero: a crisp, people-first composition matching the quality bar of the reference builds. */
.home-page .site-header {
  position: relative;
  color: #21382d;
  background: #fcfaf4;
  border-bottom: 1px solid rgba(33, 56, 45, 0.12);
}

.home-page .brand-mark span,
.home-page .nav-links a { color: #385047; }
.home-page .nav-links a { padding-inline: 0.55rem; }
.home-page .nav-links a:hover { color: #17271f; }
.home-page .nav-links .button.primary { color: #fff; background: #166e63; box-shadow: none; }

.home-hero { min-height: 700px; display: block; color: #21382d; background: #fcfaf4; overflow: hidden; }
.home-hero-image { top: 6rem; right: max(2rem, calc((100vw - var(--container)) / 2)); bottom: 3rem; left: auto; width: min(44vw, 540px); min-height: 560px; border-radius: 48% 48% 30px 30px; background-image: url("https://static.wixstatic.com/media/cf5d42_2129b310557a4fe78a0ae9e85cca252f~mv2.jpg/v1/fill/w_980,h_653,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/IMG_0051.jpg"); background-position: center; transform: none; }
.home-hero-shade { display: none; }
.home-hero-inner { min-height: 700px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 4rem 46% 5rem 0; }
.home-kicker { color: #278276; margin-bottom: 1.5rem; }
.home-hero h1 { max-width: 11.8ch; color: #21382d; font-size: clamp(3.5rem, 5.8vw, 5.8rem); }
.home-hero-bottom { display: grid; justify-content: start; gap: 1.35rem; margin-top: 2rem; }
.home-hero-bottom > p { max-width: 42ch; color: #53655d; }
.home-page .light-button { color: #fff; background: #166e63; }
.home-page .light-button:hover { background: #0d5d53; }
.home-page .light-link { color: #21382d; }
.scroll-cue { display: none; }

@media (max-width: 900px) {
  .home-page .site-header { position: relative; }
  .home-hero { min-height: auto; }
  .home-hero-image { position: relative; top: auto; right: auto; bottom: auto; left: auto; width: calc(100% - 2rem); min-height: 420px; margin: 0 auto 2rem; border-radius: 38% 38% 22px 22px; }
  .home-hero-inner { min-height: auto; padding: 4rem 0 2rem; }
  .home-hero h1 { max-width: 10ch; }
}

/* Beauty-brand finish inspired by the blush-and-berry clarity of the approved reference. */
.home-page {
  --ink: #34232c;
  --muted: #7b6871;
  --accent: #ad335c;
  --accent-deep: #7d2142;
  --line: rgba(82, 37, 55, 0.13);
  background: #fff8f6;
}

.home-page .site-header { color: #34232c; background: rgba(255, 250, 248, 0.92); border-bottom-color: rgba(82, 37, 55, 0.11); }
.home-page .brand-mark span, .home-page .nav-links a { color: #765a66; }
.home-page .nav-links a:hover { color: #522339; }
.home-page .nav-links .button.primary, .home-page .light-button { background: #ad335c; }
.home-page .nav-links .button.primary:hover, .home-page .light-button:hover { background: #8e2348; }
.home-hero { color: #34232c; background: radial-gradient(circle at 5% 90%, rgba(241, 192, 201, 0.6) 0 10%, transparent 24%), radial-gradient(circle at 92% 13%, rgba(238, 165, 185, 0.46) 0 9%, transparent 22%), #fffaf8; }
.home-hero::before, .home-hero::after { content: ""; position: absolute; z-index: 0; border-radius: 999px; filter: blur(1px); pointer-events: none; }
.home-hero::before { width: 11rem; height: 11rem; right: 3%; top: 13%; background: radial-gradient(circle at 35% 30%, #f8d7df, #d75c85); opacity: 0.62; }
.home-hero::after { width: 5rem; height: 5rem; left: 40%; bottom: 13%; background: #f2c4cf; opacity: 0.7; }
.home-hero-image { z-index: 1; box-shadow: 0 30px 70px rgba(111, 45, 70, 0.16); }
.home-hero-inner { position: relative; z-index: 2; }
.home-kicker { color: #ad335c; }
.home-hero h1 { color: #34232c; }
.home-hero-bottom > p { color: #78636d; }
.home-page .light-link { color: #542638; }

.beauty-thread { position: absolute; z-index: 0; inset: 0 0 0 43%; width: 57%; height: 100%; overflow: hidden; pointer-events: none; }
.beauty-thread svg { width: 100%; height: 100%; overflow: visible; }
.beauty-thread path { fill: none; stroke-linecap: round; }
.beauty-thread-shadow { stroke: rgba(255, 248, 246, 0.74); stroke-width: 18; filter: blur(6px); }
.beauty-thread-line { stroke: #bf4e72; stroke-width: 4; stroke-dasharray: 16 12 3900; stroke-dashoffset: 0; animation: beauty-thread-move 10s linear infinite; }

@keyframes beauty-thread-move { to { stroke-dashoffset: -720; } }
.path-overlay { background: linear-gradient(180deg, rgba(71, 29, 44, 0.04), rgba(66, 24, 39, 0.79)); }
.path-card:hover .path-overlay { background: linear-gradient(180deg, rgba(71, 29, 44, 0.02), rgba(66, 24, 39, 0.6)); }
.editorial-band { background: #4a2032; }
.marquee-track i { color: #f39db7; }
.discovery-section { background: #f6e4e2; }
.final-panel { background: linear-gradient(120deg, #9d2f54, #c1556f); }

.moment-section { padding: 8rem 0; background: #f6e8e7; }
.moment-layout { display: grid; grid-template-columns: 0.92fr 1.08fr; gap: clamp(3rem, 8vw, 9rem); align-items: center; }
.moment-options { display: grid; margin-top: 2.2rem; border-top: 1px solid rgba(82, 37, 55, 0.18); }
.moment-option { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 1rem 0; border: 0; border-bottom: 1px solid rgba(82, 37, 55, 0.18); border-radius: 0; color: #745763; background: transparent; box-shadow: none; text-align: left; }
.moment-option::after { content: "↗"; font-size: 1.1rem; opacity: 0; transform: translateX(-8px); transition: opacity 180ms ease, transform 180ms ease; }
.moment-option:hover, .moment-option.is-active { color: #8e2348; background: transparent; transform: none; }
.moment-option:hover::after, .moment-option.is-active::after { opacity: 1; transform: translateX(0); }
.moment-card { overflow: hidden; background: #fffaf9; box-shadow: 0 28px 65px rgba(104, 46, 67, 0.15); }
.moment-visual { position: relative; height: 360px; overflow: hidden; background: #e9d6d7; }
.moment-visual::after { content: "Pamper Me"; position: absolute; right: 1.2rem; bottom: 1rem; color: #fff; font-family: var(--display); font-size: 1.7rem; font-style: italic; text-shadow: 0 2px 12px rgba(40, 16, 24, 0.28); }
.moment-visual img { width: 100%; height: 100%; object-fit: cover; transform: translate(var(--pointer-x, 0px), var(--pointer-y, 0px)) scale(1.03); transition: opacity 180ms ease, transform 500ms ease; }
.moment-visual.is-changing img { opacity: 0.12; }
.moment-card-copy { padding: 2rem; }
.moment-card-copy h3 { font-size: clamp(1.7rem, 3vw, 2.65rem); }
[data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity 750ms ease, transform 750ms cubic-bezier(.2,.65,.2,1); }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

.campaign-section { position: relative; overflow: hidden; padding: 9rem 0; background: #fff9f8; }
.campaign-section::before { content: ""; position: absolute; width: 34rem; height: 2px; margin-top: 3.5rem; left: -6rem; background: linear-gradient(90deg, transparent, #d56388, transparent); transform: rotate(-15deg); opacity: 0.42; }
.campaign-layout { display: grid; grid-template-columns: 0.82fr 1.18fr; gap: clamp(3rem, 9vw, 10rem); align-items: center; }
.campaign-image-wrap { position: relative; width: min(100%, 430px); justify-self: center; }
.campaign-image-wrap img { position: relative; z-index: 1; width: 100%; border-radius: 48% 48% 26px 26px; box-shadow: 0 32px 75px rgba(110, 41, 67, 0.18); animation: campaign-float 7s ease-in-out infinite; }
.campaign-halo { position: absolute; z-index: 0; width: 74%; height: 42%; right: -16%; bottom: 8%; border-radius: 999px; background: radial-gradient(circle at 34% 34%, #f8d6df, #d95d88); filter: blur(2px); animation: halo-drift 9s ease-in-out infinite alternate; }
.campaign-copy { max-width: 40rem; }
.campaign-copy .lead { color: #5f4954; font-size: 1.18rem; }

@keyframes campaign-float { 0%, 100% { transform: translateY(0) rotate(-0.4deg); } 50% { transform: translateY(-12px) rotate(0.4deg); } }
@keyframes halo-drift { from { transform: translate(-5%, 4%) scale(0.94); } to { transform: translate(7%, -5%) scale(1.08); } }

@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1; transform: none; transition: none; }
  .moment-visual img { transition: none; }
  .campaign-image-wrap img, .campaign-halo { animation: none; }
  .beauty-thread-line { animation: none; }
}

@media (max-width: 900px) {
  .moment-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .moment-section { padding: 5rem 0; }
  .moment-visual { height: 300px; }
  .campaign-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .campaign-section { padding: 5rem 0; }
  .campaign-image-wrap { justify-self: start; width: min(100%, 360px); }
}

@media (max-width: 1100px) {
  .hero-grid,
  .mosaic-grid,
  .gateway-grid,
  .story-grid,
  .directory-results,
  .resource-grid,
  .metric-grid,
  .footer-grid,
  .spotlight-grid,
  .editorial-grid,
  .split-grid,
  .cta-grid,
  .calc-grid,
  .profile-grid {
    grid-template-columns: 1fr;
  }

  .hero-overlay {
    grid-template-columns: 1fr;
  }

  .directory-layout {
    grid-template-columns: 1fr;
  }

  .filter-panel {
    position: static;
  }
}

@media (max-width: 840px) {
  .nav-links {
    display: none;
  }

  .nav-wrap { padding: 0.85rem 0; }

  .nav-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.65rem 0;
    border: 0;
    border-radius: 0;
    color: var(--ink);
    background: transparent;
    box-shadow: none;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .nav-toggle i,
  .nav-toggle i::before {
    display: block;
    width: 1.45rem;
    height: 1px;
    background: currentColor;
    content: "";
    transition: transform 220ms ease;
  }

  .nav-toggle i::before { transform: translateY(-5px); }
  .site-header.is-menu-open .nav-toggle i { transform: rotate(45deg); }
  .site-header.is-menu-open .nav-toggle i::before { transform: rotate(-90deg); }

  .mobile-menu {
    display: block;
    position: absolute;
    inset: 100% 0 auto;
    z-index: 45;
    min-height: calc(100vh - 72px);
    overflow-y: auto;
    padding: 1.5rem 0 2rem;
    color: #fff9f8;
    background: #4a2032;
    clip-path: inset(0 0 100% 0);
    visibility: hidden;
    transition: clip-path 350ms cubic-bezier(.2,.65,.2,1), visibility 350ms ease;
  }

  .site-header.is-menu-open .mobile-menu {
    clip-path: inset(0 0 0 0);
    visibility: visible;
  }

  .mobile-menu .eyebrow { color: #f3a9bd; }
  .mobile-menu nav { display: grid; margin: 1rem 0 2rem; border-top: 1px solid rgba(255,255,255,0.22); }
  .mobile-menu nav a { padding: 1rem 0; border-bottom: 1px solid rgba(255,255,255,0.22); font-family: var(--display); font-size: clamp(1.65rem, 7vw, 2.4rem); line-height: 1; }
  .mobile-menu nav a[aria-current="page"] { color: #f3a9bd; font-style: italic; }
  .mobile-menu-footer { display: grid; gap: 1rem; }
  .mobile-menu-footer .button { width: fit-content; }
  .mobile-menu-footer > a:not(.button) { font-size: 0.82rem; letter-spacing: 0.06em; text-transform: uppercase; }
  body.menu-open { overflow: hidden; }
  body.menu-open .sticky-mobile { display: none; }

  .form-grid {
    grid-template-columns: 1fr;
  }

  h1 {
    font-size: clamp(3rem, 15vw, 4.8rem);
  }

  .hero-frame,
  .hero-overlay {
    min-height: 0;
  }
}

@media (max-width: 720px) {
  .hero,
  .section {
    padding: 3.6rem 0;
  }

  .sticky-mobile {
    display: block;
  }

  .site-footer {
    padding-bottom: 9rem;
  }
}
