    /* ─── BRAND TOKENS — celestial luxury ──────────────── */
    :root {
      --pearl:        #FBF8F2;
      --ivory:        #F5F0E6;
      --cream:        #F8F2E7;
      --champagne:    #EADFC8;
      --champagne-dk: #D9C9A8;
      --sage:         #C8D6C2;   /* lighter sage per feedback */
      --sage-mid:     #AFC4A8;
      --sage-deep:    #88A487;
      --celadon:      #D6E2D2;
      --gold:         #C8A965;
      --gold-soft:    #D9BE82;
      --cloud-blue:   #D5DEE8;
      --silver:       #E6E2DA;
      --blush:        #F1E1DA;
      --ink:          #1B1815;
      --ink-mid:      #2E2722;
      --ink-light:    #5A524B;
      --white:        #FFFFFF;

      --serif:  'Cormorant Garamond', 'Cormorant Upright', serif;
      --display:'Italiana', 'Cormorant Garamond', serif;
      --script: 'Cormorant Garamond', 'Italiana', serif;  /* she didn't like the cursive — using elegant italic serif instead */
      --body:   'Newsreader', 'DM Sans', system-ui, sans-serif;
    }

    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
    html { scroll-behavior:smooth; font-size: 18px; }
    body {
      font-family: var(--body);
      background: var(--pearl);
      color: var(--ink);
      line-height: 1.75;
      font-weight: 400;
      font-size: 1.15rem;
      letter-spacing: 0.005em;
      overflow-x: hidden;
    }
    img, video { display:block; max-width:100%; }

    h1,h2,h3,h4,h5 {
      font-family: var(--serif);
      font-weight: 300;
      letter-spacing: 0.015em;
      line-height: 1.18;
      color: var(--ink);
    }

    a { color: inherit; text-decoration: none; }
    .script { font-family: var(--script); font-weight: 400; }
    .display { font-family: var(--display); }

    /* ─── ATMOSPHERIC BACKGROUND LAYER ─────────────────── */
    .atmosphere {
      position: fixed; inset: 0;
      pointer-events: none; z-index: 0;
      background:
        radial-gradient(ellipse at 15% 10%, rgba(234,223,200,0.45), transparent 55%),
        radial-gradient(ellipse at 85% 30%, rgba(213,222,232,0.30), transparent 50%),
        radial-gradient(ellipse at 50% 90%, rgba(200,214,194,0.25), transparent 60%),
        linear-gradient(180deg, var(--pearl) 0%, var(--ivory) 100%);
    }
    /* slow shifting iridescent overlay across the whole page */
    .iridescence {
      position: fixed; inset: -10%;
      pointer-events: none; z-index: 0;
      background:
        radial-gradient(ellipse 60% 40% at 20% 30%, rgba(241,225,218,0.35), transparent 60%),
        radial-gradient(ellipse 50% 50% at 80% 20%, rgba(213,222,232,0.30), transparent 65%),
        radial-gradient(ellipse 70% 50% at 50% 80%, rgba(200,214,194,0.28), transparent 60%),
        radial-gradient(ellipse 40% 60% at 90% 70%, rgba(234,223,200,0.30), transparent 55%);
      mix-blend-mode: screen;
      animation: irisDrift 22s ease-in-out infinite alternate;
      filter: blur(8px);
    }
    @keyframes irisDrift {
      0%   { transform: translate(0, 0) scale(1); }
      33%  { transform: translate(-3%, 2%) scale(1.05); }
      66%  { transform: translate(2%, -3%) scale(0.98); }
      100% { transform: translate(0, 0) scale(1.03); }
    }

    /* cursor sparkle trail dots */
    .sparkle-dot {
      position: fixed;
      width: 6px; height: 6px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(255,255,255,0.95), rgba(234,223,200,0.6) 50%, transparent 80%);
      pointer-events: none;
      z-index: 9998;
      animation: sparkleFade 1.2s ease-out forwards;
      mix-blend-mode: screen;
    }
    @keyframes sparkleFade {
      0%   { transform: translate(-50%, -50%) scale(1); opacity: 1; }
      100% { transform: translate(-50%, calc(-50% + 30px)) scale(.2); opacity: 0; }
    }
    @media (prefers-reduced-motion: reduce) {
      .sparkle-dot, .iridescence, .stars { display: none; }
    }

    /* Ornate flourish divider — replaces plain ombre between key sections */
    .flourish {
      display: flex; align-items: center; justify-content: center;
      gap: 1rem;
      padding: 1.6rem 1rem;
      max-width: 720px; margin: 0 auto;
    }
    .flourish::before, .flourish::after {
      content: ''; flex: 1; height: 1px;
      background: linear-gradient(90deg, transparent, var(--gold-soft) 40%, var(--gold) 50%, var(--gold-soft) 60%, transparent);
    }
    .flourish svg {
      width: 18px; height: 18px; color: var(--gold);
      animation: breathe 4s ease-in-out infinite;
    }
    .flourish .fl-script {
      font-family: var(--script);
      font-size: 1.4rem;
      color: var(--gold);
      letter-spacing: 0;
    }
    .stars {
      position: fixed; inset: 0;
      pointer-events: none; z-index: 1;
      background-image:
        radial-gradient(1px 1px at 12% 18%, rgba(200,169,101,0.55), transparent),
        radial-gradient(1px 1px at 28% 62%, rgba(255,255,255,0.7), transparent),
        radial-gradient(1.5px 1.5px at 71% 14%, rgba(200,169,101,0.5), transparent),
        radial-gradient(1px 1px at 84% 58%, rgba(255,255,255,0.6), transparent),
        radial-gradient(1px 1px at 46% 88%, rgba(200,169,101,0.5), transparent),
        radial-gradient(1.5px 1.5px at 92% 82%, rgba(255,255,255,0.6), transparent);
      animation: twinkle 6s ease-in-out infinite alternate;
      opacity: 0.5;
    }
    @keyframes twinkle { 0% { opacity: .25; } 100% { opacity: .65; } }

    main, header, footer { position: relative; z-index: 2; }

    /* ─── NAVIGATION ───────────────────────────────────── */
    #nav {
      position: fixed; inset: 0 0 auto 0;
      z-index: 100;
      padding: 0.25rem 2rem;
      display: flex; align-items: center; justify-content: space-between;
      background: rgba(251,248,242,0.0);
      backdrop-filter: blur(0px);
      transition: background .5s, backdrop-filter .5s, padding .4s, box-shadow .4s;
    }
    #nav.scrolled {
      background: rgba(251,248,242,0.82);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      padding: 0.2rem 2rem;
      box-shadow: 0 1px 0 rgba(200,169,101,0.18);
    }
    /* ── BRAND MARK (her actual logo image) ── */
    .nav-brand {
      display: inline-flex; align-items: center;
      transition: transform .5s cubic-bezier(.2,.7,.2,1);
    }
    .nav-brand img.brand-logo {
      height: 62px; width: auto;
      transition: height .35s, filter .35s;
      display: block;
    }
    #nav.scrolled .nav-brand img.brand-logo { height: 48px; }
    .nav-brand:hover { transform: scale(1.04); filter: drop-shadow(0 0 12px rgba(200,169,101,.35)); }
    .nav-links {
      position: relative;
      display: flex; gap: 2.2rem; align-items: center;
      font-family: var(--body);
      font-size: 0.78rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--ink-mid);
    }
    .nav-links a {
      position: relative;
      padding: .35rem 0;
      transition: color .35s;
    }
    .nav-links a:hover,
    .nav-links a.active { color: var(--ink); }
    .nav-links a.active { font-weight: 500; }
    /* sliding underline pill that snaps to hovered / active link */
    .nav-underline {
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0;
      height: 2px;
      background: linear-gradient(90deg, transparent, var(--gold-soft) 18%, var(--gold) 50%, var(--gold-soft) 82%, transparent);
      border-radius: 2px;
      transition: left .55s cubic-bezier(.2,.8,.2,1), width .55s cubic-bezier(.2,.8,.2,1), opacity .35s;
      opacity: 0;
      pointer-events: none;
      filter: drop-shadow(0 0 6px rgba(200,169,101,0.5));
    }
    .nav-underline.visible { opacity: 1; }
    .nav-cta {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 200px;
      height: 36px;
      padding: 0;
      text-align: center;
      border: none;
      border-radius: 999px;
      color: var(--ink) !important;
      font-size: 8px;
      letter-spacing: 0.2em;
      font-weight: 600;
      white-space: nowrap;
      transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .55s, letter-spacing .4s, color .35s;
      background:
        linear-gradient(135deg, var(--champagne) 0%, var(--gold-soft) 35%, var(--blush) 60%, var(--celadon) 85%, var(--champagne) 100%);
      background-size: 220% 220%;
      animation: irisShift 8s ease-in-out infinite;
      box-shadow:
        0 6px 22px rgba(200,169,101,0.28),
        0 0 0 1px rgba(200,169,101,0.45),
        inset 0 1px 0 rgba(255,255,255,0.65);
      overflow: hidden;
      isolation: isolate;
    }
    /* shine sweep on hover */
    .nav-cta::before {
      content: '';
      position: absolute; inset: 0;
      background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,0.75) 50%, transparent 70%);
      transform: translateX(-110%);
      transition: transform .9s cubic-bezier(.2,.7,.2,1);
      pointer-events: none;
      z-index: 1;
    }
    .nav-cta:hover {
      transform: translateY(-2px) scale(1.03);
      letter-spacing: 0.21em;
      box-shadow:
        0 14px 40px rgba(200,169,101,0.45),
        0 0 24px rgba(234,223,200,0.7),
        0 0 0 1px var(--gold),
        inset 0 1px 0 rgba(255,255,255,0.8);
    }
    .nav-cta:hover::before { transform: translateX(110%); }
    .nav-cta:active { transform: scale(.97); transition-duration: .12s; }
    .nav-cta::after { display: none; }

    .nav-toggle { display: none; background: none; border: none; cursor: pointer; }
    .nav-toggle span { display:block; width: 26px; height: 1px; background: var(--ink); margin: 6px 0; transition: all .3s; }

    /* ─── BUTTONS — iridescent, glowing, engaging ──────── */
    .btn {
      display: inline-flex; align-items: center; justify-content: center;
      gap: .55em;
      font-family: var(--body);
      font-size: 0.78rem;
      font-weight: 400;
      letter-spacing: 0.34em;
      text-transform: uppercase;
      padding: 1.05rem 2.2rem;
      border-radius: 999px;
      cursor: pointer;
      transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .55s, color .35s, background .55s, letter-spacing .4s;
      position: relative;
      border: none;
      overflow: hidden;
      isolation: isolate;
      will-change: transform;
    }
    /* shine sweep */
    .btn::after {
      content: '';
      position: absolute; inset: 0;
      background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,0.65) 50%, transparent 70%);
      transform: translateX(-110%);
      transition: transform .9s cubic-bezier(.2,.7,.2,1);
      z-index: 1;
      pointer-events: none;
    }
    .btn:hover::after { transform: translateX(110%); }
    .btn > * { position: relative; z-index: 2; }
    .btn:active { transform: scale(.96); transition-duration: .12s; }

    /* primary — soft pastel ombre */
    .btn-primary {
      color: var(--ink);
      background:
        linear-gradient(135deg, var(--blush) 0%, var(--champagne) 35%, var(--celadon) 70%, var(--cloud-blue) 100%);
      background-size: 220% 220%;
      animation: irisShift 8s ease-in-out infinite;
      box-shadow:
        0 8px 28px rgba(213,222,232,0.30),
        0 0 0 1px rgba(241,225,218,0.55),
        inset 0 1px 0 rgba(255,255,255,0.7);
    }
    @keyframes irisShift {
      0%,100% { background-position: 0% 50%; }
      50%     { background-position: 100% 50%; }
    }
    .btn-primary:hover {
      transform: translateY(-3px) scale(1.02);
      letter-spacing: 0.38em;
      box-shadow:
        0 22px 55px rgba(213,222,232,0.45),
        0 0 28px rgba(241,225,218,0.7),
        0 0 0 1px rgba(241,225,218,0.85),
        inset 0 1px 0 rgba(255,255,255,0.85);
    }
    /* pulsing aura behind primary */
    .btn-primary::before {
      content: '';
      position: absolute; inset: -3px;
      border-radius: inherit;
      background: radial-gradient(closest-side, rgba(234,223,200,0.6), transparent 75%);
      filter: blur(10px);
      opacity: 0; z-index: -1;
      transition: opacity .55s;
    }
    .btn-primary:hover::before { opacity: 1; animation: aura 1.6s ease-in-out infinite; }
    @keyframes aura {
      0%,100% { transform: scale(1); opacity: .65; }
      50%     { transform: scale(1.12); opacity: 1; }
    }

    /* ghost — glassy with iridescent border */
    .btn-ghost {
      background: rgba(255,255,255,0.55);
      color: var(--ink);
      box-shadow:
        inset 0 0 0 1px rgba(213,222,232,0.85),
        0 4px 18px rgba(241,225,218,0.25);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
    }
    .btn-ghost:hover {
      background: rgba(255,255,255,0.9);
      transform: translateY(-3px) scale(1.02);
      letter-spacing: 0.38em;
      box-shadow:
        inset 0 0 0 1px rgba(200,214,194,0.9),
        0 16px 40px rgba(213,222,232,0.35),
        0 0 22px rgba(241,225,218,0.55);
    }

    /* ─── HERO ─────────────────────────────────────────── */
    #hero {
      position: relative;
      height: 100vh;
      min-height: 640px;
      overflow: hidden;
      padding: 0;
    }
    .hero-image-wrap {
      position: absolute;
      inset: 0;
      width: 100%; height: 100%;
      z-index: 1;
      will-change: transform;
    }
    .hero-image-wrap img {
      width: 100%; height: 100%;
      object-fit: cover;
      object-position: 70% center;
    }
    /* gentle gradient over left side so text reads */
    .hero-image-wrap::after {
      content: '';
      position: absolute; inset: 0;
      background:
        linear-gradient(90deg, rgba(251,248,242,0.78) 0%, rgba(251,248,242,0.42) 28%, rgba(251,248,242,0.05) 50%, transparent 65%),
        linear-gradient(180deg, rgba(251,248,242,0.4) 0%, transparent 22%, transparent 78%, rgba(251,248,242,0.45) 100%);
      pointer-events: none;
    }
    .hero-overlay {
      position: absolute;
      inset: 0;
      display: flex; flex-direction: column; justify-content: center;
      padding: 0 7%;
      max-width: 680px;
      z-index: 4;
    }
    .hero-title {
      font-family: var(--display);
      font-size: clamp(2.6rem, 6vw, 5.4rem);
      font-weight: 300;
      line-height: 1;
      color: var(--ink);
      margin-bottom: 1.4rem;
      letter-spacing: -0.005em;
      display: flex; flex-direction: column;
    }
    .hero-line-1 { display: block; white-space: nowrap; }
    .hero-line-2 { display: block; }
    .hero-title em {
      font-family: var(--script);
      font-style: italic;
      color: var(--sage-deep);
      font-size: 1.4em;
      font-weight: 400;
      letter-spacing: 0;
      display: inline-block;
      transform: translateY(.06em);
    }
    .hero-title em.hero-to {
      font-family: var(--display);
      font-size: 1em;
      font-style: normal;
      text-transform: lowercase;
      transform: none;
      color: var(--ink);
      letter-spacing: inherit;
    }
    .hero-sub {
      font-size: 0.98rem;
      color: var(--ink-mid);
      max-width: 480px;
      margin-bottom: 1.6rem;
      line-height: 1.75;
    }
    .hero-poetry {
      font-family: var(--serif);
      font-style: italic;
      font-size: 1rem;
      color: var(--ink-mid);
      line-height: 1.75;
      margin-bottom: 2rem;
      max-width: 460px;
    }
    .hero-poetry span { display: block; }
    .hero-buttons { display: flex; gap: .9rem; flex-wrap: wrap; }
    .hero-scroll-hint {
      position: absolute;
      bottom: 2rem; left: 50%; transform: translateX(-50%);
      font-family: var(--body);
      font-size: .68rem; letter-spacing: .4em;
      text-transform: uppercase;
      color: var(--ink-mid);
      z-index: 5;
      opacity: .65;
      display: flex; flex-direction: column; align-items: center; gap: .6rem;
    }
    .hero-scroll-hint::after {
      content: ''; width: 1px; height: 30px;
      background: linear-gradient(180deg, var(--gold), transparent);
      animation: scrollHint 2.6s ease-in-out infinite;
    }
    @keyframes scrollHint {
      0%,100% { transform: scaleY(0.4); transform-origin: top; opacity: .4; }
      50% { transform: scaleY(1); opacity: 1; }
    }

    /* Floating shimmer accent */
    .shimmer {
      position: absolute;
      width: 360px; height: 360px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(255,255,255,0.55), rgba(234,223,200,0.25), transparent 70%);
      filter: blur(40px);
      animation: float 9s ease-in-out infinite alternate;
      pointer-events: none;
    }
    .shimmer-1 { top: 10%; right: 8%; }
    .shimmer-2 { bottom: 4%; left: 18%; width: 280px; height: 280px; animation-delay: -3s; }
    @keyframes float {
      0% { transform: translate(0,0) scale(1); }
      100% { transform: translate(28px, -22px) scale(1.08); }
    }

    /* ─── OMBRE DIVIDER ────────────────────────────────── */
    .ombre {
      position: relative;
      height: 1px;
      max-width: 880px;
      margin: 0 auto;
      background: linear-gradient(90deg, transparent 0%, var(--champagne) 30%, var(--gold-soft) 50%, var(--champagne) 70%, transparent 100%);
      opacity: 0.7;
    }
    .ombre.thick { height: 2px; }
    .ombre-block { padding: 0; }

    /* ─── SECTION SHELL ────────────────────────────────── */
    section {
      padding: 4.2rem 1.6rem;
      position: relative;
    }
    /* ─── VSL HERO (intro-video acts as VSL on mobile, video-only on desktop) ───
       On desktop the dedicated hero handles title/sub/CTAs, so we hide the duplicates here. */
    .vsl-hero .vsl-title,
    .vsl-hero .hero-sub,
    .vsl-hero .hero-buttons { display: none; }
    .vsl-hero .video-frame { margin: 0 auto; max-width: 880px; }
    .container { max-width: 1180px; margin: 0 auto; }
    .container-sm { max-width: 760px; margin: 0 auto; }
    .container-md { max-width: 980px; margin: 0 auto; }

    /* ── Section palette tints (rotation per brand palette) ── */
    .sec-pearl    { background: linear-gradient(180deg, var(--pearl), var(--ivory)); }
    .sec-champagne{ background: linear-gradient(180deg, rgba(234,223,200,0.55), rgba(217,201,168,0.35)); }
    .sec-sage     { background: linear-gradient(180deg, rgba(200,214,194,0.55), rgba(214,226,210,0.4)); }
    .sec-blush    { background: linear-gradient(180deg, rgba(241,225,218,0.55), rgba(234,223,200,0.35)); }
    .sec-cloud    { background: linear-gradient(180deg, rgba(213,222,232,0.55), rgba(230,226,218,0.4)); }
    .sec-ivory    { background: linear-gradient(180deg, var(--ivory), var(--pearl)); }
    .sec-pearl-tex{
      background:
        linear-gradient(180deg, rgba(251,248,242,0.85), rgba(245,240,230,0.85)),
        url('images/pearl-1.jpg') center/cover;
    }
    .sec-holo {
      background:
        linear-gradient(180deg, rgba(251,248,242,0.78), rgba(251,248,242,0.85)),
        url('images/pearlescent-banner.png') center/cover;
    }
    /* gentle pearlescent shimmer corner accent */
    .sec-glow::before {
      content: '';
      position: absolute; top: 0; right: 0; width: 50%; height: 100%;
      background: radial-gradient(ellipse at 80% 30%, rgba(234,223,200,0.4), transparent 60%);
      pointer-events: none;
    }
    .sec-glow-l::before {
      content: '';
      position: absolute; top: 0; left: 0; width: 50%; height: 100%;
      background: radial-gradient(ellipse at 20% 40%, rgba(200,214,194,0.35), transparent 60%);
      pointer-events: none;
    }

    .eyebrow {
      font-family: var(--body);
      font-size: 0.72rem;
      letter-spacing: 0.4em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 1.3rem;
      display: inline-block;
    }
    .eyebrow-script {
      font-family: var(--script);
      font-style: italic;
      font-weight: 400;
      font-size: 1.35rem;
      color: var(--gold);
      line-height: 1.15;
      letter-spacing: 0.04em;
      display: inline-block;
      margin-bottom: .55rem;
    }
    .section-title {
      font-family: var(--display);
      font-size: clamp(2.2rem, 4.6vw, 4rem);
      font-weight: 300;
      line-height: 1.06;
      margin-bottom: 1rem;
      letter-spacing: -0.005em;
    }
    /* ─── FAQ PREVIEW (home page) ───────────────── */
    #faq-preview { padding: 5rem 1.6rem 5rem; position: relative; }
    .faq-preview-list { max-width: 760px; margin: 0 auto; }
    .faq-preview-list .faq-item {
      border-top: 1px solid rgba(200,169,101,0.22);
      transition: background .4s;
    }
    .faq-preview-list .faq-item:last-child { border-bottom: 1px solid rgba(200,169,101,0.22); }
    .faq-preview-list .faq-item[open] {
      background: linear-gradient(90deg, transparent, rgba(255,255,255,0.55), transparent);
    }
    .faq-preview-list .faq-item summary {
      list-style: none;
      cursor: pointer;
      padding: 1.2rem 0;
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: center;
      gap: 1rem;
      font-family: var(--display);
      font-size: 1.15rem;
      color: var(--ink);
      line-height: 1.35;
      transition: color .35s, transform .35s;
    }
    .faq-preview-list .faq-item summary::-webkit-details-marker { display: none; }
    .faq-preview-list .faq-item summary:hover { color: var(--gold); transform: translateX(4px); }
    .faq-preview-list .faq-toggle {
      width: 30px; height: 30px;
      border-radius: 50%;
      border: 1px solid var(--gold-soft);
      display: flex; align-items: center; justify-content: center;
      color: var(--gold);
      font-size: 1rem;
      transition: transform .4s, background .4s;
      flex-shrink: 0;
    }
    .faq-preview-list .faq-item[open] .faq-toggle {
      transform: rotate(45deg);
      background: var(--champagne, #E9D7BC);
    }
    .faq-preview-list .faq-body {
      padding: 0 2.4rem 1.4rem 0;
      color: var(--ink-mid);
      font-size: 1rem;
      line-height: 1.78;
    }

    .section-lede {
      font-size: 1.08rem;
      color: var(--ink-mid);
      max-width: 660px;
      line-height: 1.75;
    }
    .center { text-align: center; }
    .center .section-lede { margin-left: auto; margin-right: auto; }

    /* ─── CERTIFICATIONS ROW ───────────────────────────── */
    #certifications {
      padding: 3.6rem 1.6rem 4rem;
    }
    .cert-eyebrow-row { text-align:center; margin-bottom: 2.2rem; }
    .modalities-block {
      max-width: 920px;
      margin: 3rem auto 0;
      padding: 2rem 2.4rem;
      background: linear-gradient(160deg, rgba(255,249,241,0.7), rgba(234,223,200,0.32));
      border: 1px solid rgba(200,169,101,0.22);
      border-radius: 18px;
      text-align: center;
      box-shadow: 0 6px 30px rgba(200,169,101,0.1);
    }
    .modalities-intro {
      font-family: var(--serif);
      font-style: italic;
      color: var(--ink-mid);
      font-size: 1.05rem;
      margin-bottom: 1rem;
    }
    .modalities-grid {
      list-style: none;
      padding: 0;
      margin: 0 auto 1rem;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: .3rem 2rem;
      max-width: 640px;
      text-align: left;
    }
    .modalities-grid li {
      position: relative;
      padding: .25rem 0 .25rem 1.2rem;
      font-family: var(--body);
      font-size: .96rem;
      color: var(--ink);
    }
    .modalities-grid li::before {
      content: '✦';
      position: absolute;
      left: 0;
      color: var(--gold);
      font-size: .75rem;
      top: .55rem;
    }
    .modalities-footer {
      font-family: var(--body);
      font-size: .96rem;
      color: var(--ink-mid);
      margin: .4rem auto 0;
      max-width: 700px;
      line-height: 1.65;
    }
    .modalities-footer strong { color: var(--gold); font-weight: 600; }
    @media (max-width: 600px) {
      .modalities-grid { grid-template-columns: 1fr; }
      .modalities-block { padding: 1.6rem 1.4rem; }
    }
    .cert-row {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 2.2rem;
      max-width: 1160px;
      margin: 0 auto;
    }
    .cert-card {
      background: linear-gradient(160deg, rgba(255,255,255,0.85), rgba(245,240,230,0.6));
      border: 1px solid rgba(200,169,101,0.18);
      border-radius: 14px;
      padding: 1.5rem 1rem 1.2rem;
      text-align: center;
      transition: all .55s cubic-bezier(.2,.8,.2,1);
      box-shadow: 0 4px 20px rgba(200,169,101,0.06);
      cursor: pointer;
      position: relative;
      overflow: hidden;
    }
    .cert-card::before {
      content: '';
      position: absolute; inset: 0;
      background: linear-gradient(135deg, rgba(255,255,255,0), rgba(255,255,255,0.45), rgba(255,255,255,0));
      transform: translateX(-100%);
      transition: transform .9s;
    }
    .cert-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 22px 50px rgba(200,169,101,0.18);
      border-color: var(--gold-soft);
    }
    .cert-card:hover::before { transform: translateX(100%); }
    .cert-card img {
      width: 100%;
      aspect-ratio: 4/3;
      object-fit: contain;
      margin-bottom: 1rem;
      filter: drop-shadow(0 4px 14px rgba(200,169,101,0.12));
    }
    .cert-label {
      font-family: var(--serif);
      font-size: 1.05rem;
      color: var(--ink);
      line-height: 1.35;
      margin-bottom: 0.3rem;
    }
    .cert-sub {
      font-size: 0.74rem;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--ink-light);
    }

    /* ─── VIDEO SECTION ────────────────────────────────── */
    #intro-video {
      padding: 4rem 1.6rem 4.4rem;
    }
    .video-frame {
      position: relative;
      max-width: 1000px;
      margin: 0 auto;
      border-radius: 22px;
      overflow: hidden;
      box-shadow:
        0 30px 90px rgba(200,169,101,0.22),
        0 0 0 1px rgba(200,169,101,0.18),
        inset 0 0 0 6px rgba(255,255,255,0.5);
      background: linear-gradient(135deg, var(--champagne), var(--sage));
    }
    .video-frame::before {
      content: '';
      position: absolute; inset: -2px;
      background: linear-gradient(135deg, var(--gold-soft), transparent 40%, transparent 60%, var(--gold-soft));
      border-radius: 24px;
      z-index: -1;
      opacity: 0.6;
    }
    .video-frame video {
      width: 100%;
      display: block;
      aspect-ratio: 16/9;
      object-fit: cover;
      background: #1a1814;
    }

    /* ─── TESTIMONIALS ─────────────────────────────────── */
    #testimonials {
      padding: 4rem 0 4.4rem;
      overflow: hidden;
    }
    .testimonials-track-wrap {
      overflow: hidden;
      mask-image: linear-gradient(90deg, transparent, black 6%, black 94%, transparent);
      -webkit-mask-image: linear-gradient(90deg, transparent, black 6%, black 94%, transparent);
      padding: 2rem 0;
    }
    .t-track {
      display: flex;
      gap: 1.6rem;
      width: max-content;
      animation: marquee 60s linear infinite;
    }
    .t-track:hover { animation-play-state: paused; }
    @keyframes marquee {
      from { transform: translateX(0); }
      to   { transform: translateX(-50%); }
    }
    .t-card {
      width: 360px;
      flex-shrink: 0;
      background: linear-gradient(160deg, rgba(255,255,255,0.75), rgba(245,240,230,0.55));
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border: 1px solid rgba(200,169,101,0.16);
      border-radius: 18px;
      padding: 1.8rem 1.6rem;
      box-shadow: 0 8px 40px rgba(200,169,101,0.08);
      display: flex; flex-direction: column;
      transition: all .5s;
    }
    .t-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 20px 60px rgba(200,169,101,0.18);
      border-color: var(--gold-soft);
    }
    .t-top { display: flex; align-items: center; gap: .8rem; margin-bottom: 1rem; }
    .t-avatar {
      width: 44px; height: 44px; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      color: white; font-family: var(--serif); font-size: 1.2rem;
      box-shadow: inset 0 0 0 1px rgba(255,255,255,0.4);
    }
    .av-1 { background: linear-gradient(135deg, var(--sage-mid), var(--sage-deep)); }
    .av-2 { background: linear-gradient(135deg, var(--champagne-dk), var(--gold)); }
    .av-3 { background: linear-gradient(135deg, var(--cloud-blue), #9eb1c8); }
    .av-4 { background: linear-gradient(135deg, var(--blush), #d2a8a0); }
    .av-5 { background: linear-gradient(135deg, var(--celadon), var(--sage-mid)); }
    .t-name { font-family: var(--serif); font-size: 1.05rem; color: var(--ink); display: block; }
    .t-source { font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-light); }
    .t-stars { color: var(--gold); letter-spacing: .15em; margin-bottom: .8rem; font-size: .9rem; }
    .t-quote { font-family: var(--serif); font-style: italic; color: var(--ink-mid); line-height: 1.7; flex: 1; margin-bottom: 1rem; font-size: 1rem; }
    .t-link {
      display: inline-flex; align-items: center; gap: .45rem;
      font-size: .72rem; letter-spacing: .18em; text-transform: uppercase;
      color: var(--ink-light);
      transition: color .3s;
    }
    .t-link:hover { color: var(--gold); }
    .t-link svg { width: 16px; height: 16px; }

    .testimonials-cta { text-align: center; margin-top: 2.2rem; }

    /* ─── PROBLEM / PHILOSOPHY (centered editorial) ────── */
    .editorial {
      max-width: 760px;
      margin: 0 auto;
      text-align: center;
    }
    .editorial p {
      font-size: 1rem;
      color: var(--ink-mid);
      line-height: 1.8;
      margin-bottom: 1rem;
    }
    .editorial .lede {
      font-family: var(--serif);
      font-style: italic;
      font-size: 1.25rem;
      color: var(--ink);
      line-height: 1.5;
    }

    .pull-quote {
      max-width: 820px;
      margin: 2.4rem auto;
      text-align: center;
      position: relative;
      padding: 2rem 2rem;
    }
    .pull-quote::before, .pull-quote::after {
      content: '';
      position: absolute; left: 50%; transform: translateX(-50%);
      width: 60px; height: 1px;
      background: linear-gradient(90deg, transparent, var(--gold), transparent);
    }
    .pull-quote::before { top: 0; }
    .pull-quote::after { bottom: 0; }
    .pull-quote p {
      font-family: var(--display);
      font-size: clamp(1.4rem, 2.8vw, 2.2rem);
      line-height: 1.45;
      color: var(--ink);
      font-style: italic;
    }
    .pull-quote cite {
      display: block;
      font-family: var(--script);
      font-size: 1.6rem;
      color: var(--gold);
      margin-top: 1.2rem;
      font-style: normal;
    }

    /* ─── START HERE CARDS ─────────────────────────────── */
    /* ─── START HERE — editorial quote spreads ─────────── */
    #start-here {
      padding: 5rem 1.6rem 5.5rem;
    }
    .start-stack {
      max-width: 1200px;
      margin: 3rem auto 0;
      display: flex; flex-direction: column;
      gap: 4.2rem;
    }
    .start-row {
      position: relative;
      display: grid;
      grid-template-columns: 1fr;
      align-items: center;
      padding: 0 6%;
    }
    .start-quote {
      position: relative;
      font-family: var(--serif);
      font-style: italic;
      font-weight: 300;
      font-size: clamp(1.4rem, 3vw, 2.2rem);
      line-height: 1.45;
      color: var(--ink-mid);
      max-width: 880px;
      letter-spacing: 0;
      padding-left: 4rem;
    }
    .start-quote em {
      font-family: var(--script);
      font-style: normal;
      color: var(--gold);
      font-size: 1.35em;
      font-weight: 400;
      letter-spacing: 0;
      display: inline-block;
      transform: translateY(.05em);
    }
    .start-quote-mark {
      position: absolute;
      left: 0; top: -1.6rem;
      font-family: var(--display);
      font-size: 8rem;
      color: var(--gold);
      line-height: .6;
      opacity: .35;
      font-style: italic;
      pointer-events: none;
    }
    .start-response {
      margin-top: 1.6rem;
      padding-left: 4rem;
      display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.4rem;
    }
    .start-response::before {
      content: '';
      width: 60px; height: 1px;
      background: linear-gradient(90deg, var(--gold), transparent);
      align-self: center;
      flex-shrink: 0;
    }
    .start-response-label {
      font-family: var(--script);
      font-size: 1.6rem;
      color: var(--gold);
      line-height: 1;
    }
    .start-response-name {
      font-family: var(--serif);
      font-size: 1.05rem;
      color: var(--ink-mid);
      font-style: italic;
    }
    .start-response .btn {
      padding: .7rem 1.3rem;
      font-size: .66rem;
      letter-spacing: .24em;
    }

    /* alternate alignment — right side */
    .start-row.align-right { text-align: right; }
    .start-row.align-right .start-quote { padding-left: 0; padding-right: 4rem; margin-left: auto; }
    .start-row.align-right .start-quote-mark { left: auto; right: 0; transform: scaleX(-1); }
    .start-row.align-right .start-response {
      padding-left: 0; padding-right: 4rem;
      margin-left: auto;
      justify-content: flex-end;
    }
    .start-row.align-right .start-response::before {
      order: 99;
      background: linear-gradient(90deg, transparent, var(--gold));
    }

    /* Stagger reveal extra delays */
    .reveal.d4 { transition-delay: .24s; }
    .reveal.d5 { transition-delay: .30s; }

    /* ─── ALIGNED METHOD ACCORDION ─────────────────────── */
    .method-grid {
      max-width: 920px;
      margin: 3rem auto 0;
    }
    .method-row {
      border-top: 1px solid rgba(200,169,101,0.2);
      transition: background .4s;
    }
    .method-row:last-child { border-bottom: 1px solid rgba(200,169,101,0.2); }
    .method-row[open] { background: linear-gradient(90deg, transparent, rgba(255,255,255,0.55), transparent); }
    .method-row summary {
      list-style: none;
      cursor: pointer;
      padding: 1.6rem 1.4rem;
      display: flex; align-items: center; gap: 1.6rem;
      transition: padding .4s;
    }
    .method-row summary::-webkit-details-marker { display: none; }
    .method-letter {
      font-family: var(--display);
      font-size: 3rem;
      line-height: 1;
      color: var(--gold);
      width: 70px;
      text-align: center;
      transition: transform .45s cubic-bezier(.2,.8,.2,1), color .35s, text-shadow .35s, letter-spacing .35s;
      cursor: pointer;
      display: inline-block;
    }
    .method-row:hover .method-letter,
    .method-row[open] .method-letter,
    .method-letter:hover {
      transform: scale(1.45) translateY(-4px);
      color: #B89149;
      text-shadow:
        0 0 22px rgba(200,169,101,0.85),
        0 0 44px rgba(234,223,200,0.6);
      letter-spacing: -0.04em;
    }
    .method-row summary:hover .method-name {
      color: var(--gold);
      transition: color .35s;
    }
    .method-name {
      transition: color .35s, transform .35s;
    }
    .method-row:hover .method-name { transform: translateX(6px); }
    .method-name {
      flex: 1;
      font-family: var(--serif);
      font-size: 1.6rem;
      color: var(--ink);
    }
    .method-toggle {
      width: 28px; height: 28px; border-radius: 50%;
      border: 1px solid var(--gold-soft);
      display: flex; align-items: center; justify-content: center;
      color: var(--gold);
      transition: transform .4s, background .4s;
      font-size: 1rem;
    }
    .method-row[open] .method-toggle { transform: rotate(45deg); background: var(--champagne); }
    .method-body {
      padding: 0 1.4rem 1.6rem 7rem;
      color: var(--ink-mid);
      font-size: 1rem;
      line-height: 1.85;
    }

    /* ─── ABOUT SECTION ────────────────────────────────── */
    #about {
      padding: 4.4rem 1.6rem;
    }
    .about-grid {
      display: grid;
      grid-template-columns: 0.85fr 1fr;
      gap: 4rem;
      align-items: center;
    }
    .about-photo {
      aspect-ratio: 4/5;
      border-radius: 18px;
      background:
        linear-gradient(135deg, rgba(234,223,200,0.6), rgba(200,214,194,0.5)),
        var(--ivory);
      position: relative;
      overflow: hidden;
      display: flex; align-items: center; justify-content: center;
      box-shadow: 0 30px 80px rgba(200,169,101,0.14);
      border: 1px solid rgba(200,169,101,0.2);
      align-self: start;
      position: sticky;
      top: 6.5rem;
    }
    .about-photo.has-image { background: none; }
    .about-photo.has-image img {
      width: 100%; height: 100%;
      object-fit: cover;
      object-position: center top;
      display: block;
    }
    @media (max-width: 960px) {
      .about-photo { position: relative; top: auto; max-width: 480px; margin: 0 auto; }
    }
    .photo-placeholder {
      text-align: center;
      padding: 2rem;
    }
    .photo-placeholder .ph-script {
      font-family: var(--script);
      font-size: 3rem;
      color: var(--gold);
      line-height: 1;
      margin-bottom: 0.6rem;
    }
    .photo-placeholder .ph-label {
      font-family: var(--body);
      font-size: 0.74rem;
      letter-spacing: 0.4em;
      text-transform: uppercase;
      color: var(--ink-light);
    }
    .photo-placeholder .ph-hint {
      margin-top: 1rem;
      font-family: var(--serif);
      font-style: italic;
      font-size: 0.95rem;
      color: var(--ink-mid);
      max-width: 240px;
    }
    .about-photo::before {
      content: '';
      position: absolute; inset: 0;
      background: radial-gradient(circle at 30% 20%, rgba(255,255,255,0.5), transparent 50%);
      pointer-events: none;
    }
    .about-copy h2 { margin-bottom: 1.6rem; }
    .about-copy p { color: var(--ink-mid); margin-bottom: .9rem; font-size: 1.04rem; line-height: 1.75; }
    .about-quote {
      font-family: var(--serif);
      font-style: italic;
      color: var(--ink);
      font-size: 1.15rem;
      padding: 1rem 1.4rem;
      border-left: 1px solid var(--gold-soft);
      margin: 1.4rem 0;
      line-height: 1.65;
    }

    /* ─── WHY THIS WORK / FOR YOU ──────────────────────── */
    .for-you-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1rem 2.6rem;
      max-width: 920px;
      margin: 3rem auto 0;
    }
    .for-you-grid li {
      list-style: none;
      padding: .9rem 0 .9rem 2rem;
      border-bottom: 1px solid rgba(200,169,101,0.14);
      position: relative;
      color: var(--ink-mid);
      font-size: 1rem;
    }
    .for-you-grid li::before {
      content: '✦';
      position: absolute; left: 0; top: 1rem;
      color: var(--gold); font-size: .85rem;
    }

    /* ─── OFFERS SECTION ───────────────────────────────── */
    #offers {
      padding: 4.4rem 1.6rem 5rem;
    }
    .offers-stack {
      display: flex; flex-direction: column;
      gap: 2.2rem;
      max-width: 1100px;
      margin: 3rem auto 0;
    }
    .offer-card {
      display: grid;
      grid-template-columns: 320px 1fr;
      gap: 2.4rem;
      padding: 1.8rem 1.8rem 1.8rem;
      border-radius: 22px;
      background: linear-gradient(160deg, rgba(255,255,255,0.82), rgba(245,240,230,0.6));
      backdrop-filter: blur(16px);
      border: 1px solid rgba(200,169,101,0.2);
      box-shadow: 0 12px 44px rgba(200,169,101,0.1);
      align-items: start;
      transition: transform .55s cubic-bezier(.2,.7,.2,1), box-shadow .55s, border-color .35s;
      position: relative;
      overflow: visible;
    }
    .offer-card::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0; height: 1px;
      background: linear-gradient(90deg, transparent, var(--gold), transparent);
      opacity: 0.6;
    }
    .offer-card:hover { box-shadow: 0 26px 80px rgba(200,169,101,0.2); transform: translateY(-3px); }
    .offer-art {
      aspect-ratio: 4/5;
      border-radius: 14px;
      background: linear-gradient(135deg, var(--champagne) 0%, var(--sage) 100%);
      display: flex; align-items: center; justify-content: center;
      position: sticky;
      top: 6rem;
      overflow: hidden;
      width: 100%;
    }
    .offer-body {
      display: flex; flex-direction: column;
      min-height: 100%;
    }
    .offer-art--qhht { background: linear-gradient(135deg, var(--cloud-blue), var(--silver), var(--champagne)); }
    .offer-art--mentor { background: linear-gradient(135deg, var(--blush), var(--champagne-dk), var(--gold-soft)); }
    .offer-art--strategy { background: linear-gradient(135deg, var(--celadon), var(--sage-mid)); }
    .offer-art .ph-script { font-size: 2.5rem; }
    .offer-art::after {
      content: '';
      position: absolute; inset: 0;
      background: radial-gradient(circle at 30% 20%, rgba(255,255,255,0.6), transparent 60%);
    }
    .offer-tag {
      font-family: var(--script);
      font-size: 1.6rem;
      color: var(--gold);
      line-height: 1;
      margin-bottom: 0.4rem;
    }
    .offer-tag {
      font-family: var(--script);
      font-size: 1.5rem;
      color: var(--gold);
      line-height: 1;
      margin-bottom: 0.2rem;
    }
    .offer-card h3 {
      font-family: var(--display);
      font-size: 1.5rem;
      margin-bottom: 0.35rem;
      line-height: 1.18;
      letter-spacing: .005em;
    }
    .offer-sub {
      font-family: var(--serif);
      font-style: italic;
      color: var(--ink-mid);
      margin-bottom: 0.9rem;
      font-size: 0.95rem;
      line-height: 1.5;
    }
    .offer-card p {
      font-size: 0.88rem; line-height: 1.65;
      color: var(--ink-mid);
      margin-bottom: .6rem;
    }
    .offer-card p.italic {
      font-family: var(--serif);
      font-style: italic;
      color: var(--ink);
      font-size: 0.96rem;
      margin: 0.6rem 0 0.8rem;
    }
    .offer-meta {
      display: flex; gap: 1.4rem; align-items: baseline;
      margin-bottom: 1rem;
      flex-wrap: wrap;
      padding-bottom: 1rem;
      border-bottom: 1px solid rgba(200,169,101,0.18);
    }
    .offer-price {
      font-family: var(--serif);
      font-size: 1.35rem;
      color: var(--ink);
      font-weight: 500;
    }
    .offer-price small {
      font-size: 0.62rem; letter-spacing: .22em; text-transform: uppercase;
      color: var(--ink-light); display: block; margin-top: 2px;
      font-weight: 400;
    }
    .offer-mode {
      font-size: 0.62rem !important; letter-spacing: 0.22em; text-transform: uppercase;
      padding: 0.32rem 0.7rem; border-radius: 999px;
      background: rgba(255,255,255,0.6); color: var(--ink-mid);
      border: 1px solid rgba(200,169,101,0.3);
    }
    .offer-card p {
      font-size: 0.92rem; line-height: 1.7;
      color: var(--ink-mid);
      margin-bottom: .75rem;
    }
    .offer-card p.italic {
      font-family: var(--serif);
      font-style: italic;
      color: var(--ink);
      font-size: 1rem;
      margin: 0.8rem 0 1rem;
    }
    .offer-list-block { margin: 0.5rem 0 .8rem; }
    .offer-list-block h5 {
      font-family: var(--body);
      font-size: .62rem;
      letter-spacing: .26em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: .35rem;
      font-weight: 500;
    }
    .offer-list-block ul {
      list-style: none; padding: 0; margin: 0;
      display: grid; grid-template-columns: 1fr 1fr; gap: 0 .9rem;
    }
    .offer-list-block ul li {
      font-size: .82rem;
      color: var(--ink-mid);
      position: relative;
      padding-left: .9rem;
      line-height: 1.5;
    }
    .offer-list-block ul li::before {
      content: '✦';
      position: absolute; left: 0; top: 1px;
      color: var(--gold); font-size: .6rem;
    }
    .offer-card .btn {
      margin-top: auto;
      padding: .95rem 1.7rem;
      font-size: .72rem;
      letter-spacing: .28em;
      align-self: flex-start;
    }
    .offer-cta-row {
      margin-top: 1.4rem;
      padding-top: 1rem;
      border-top: 1px solid rgba(200,169,101,0.18);
    }

    /* QHHT visually distinct (per her spec) */
    .offer-card.is-qhht {
      background: linear-gradient(160deg, rgba(213,222,232,0.45), rgba(255,255,255,0.85));
      border-color: rgba(142,160,180,0.35);
    }
    .offer-card.is-qhht .offer-art { background: linear-gradient(135deg, var(--cloud-blue), var(--silver), var(--champagne)); }
    .offer-card.is-qhht .offer-tag,
    .offer-card.is-qhht .offer-list-block h5 { color: #8a9bb0; }
    .offer-card.is-mentor .offer-art { background: linear-gradient(135deg, var(--blush), var(--champagne-dk), var(--gold-soft)); }
    .offer-card.is-strategy .offer-art { background: linear-gradient(135deg, var(--celadon), var(--sage-mid)); }
    .offer-mode {
      font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase;
      padding: 0.3rem 0.75rem; border-radius: 999px;
      background: var(--champagne); color: var(--ink-mid);
      border: 1px solid rgba(200,169,101,0.3);
    }
    .offer-card p { color: var(--ink-mid); margin-bottom: 1rem; line-height: 1.85; }
    .offer-card ul { padding-left: 1.2rem; margin: .8rem 0 1.6rem; color: var(--ink-mid); }
    .offer-card ul li { margin-bottom: .3rem; font-size: 0.94rem; }
    .offer-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 2rem; margin: .6rem 0 1.4rem; }
    .offer-cols h5 { font-family: var(--serif); font-size: 1.05rem; margin-bottom: .5rem; color: var(--ink); }
    .offer-cols ul { padding-left: 1rem; }

    /* ─── DISCOVERY CALL ───────────────────────────────── */
    #discovery {
      padding: 4.4rem 1.6rem;
      text-align: center;
    }
    #discovery .section-lede { margin-bottom: 1.6rem; }
    .discovery-list {
      list-style: none;
      max-width: 540px;
      margin: 1.6rem auto 2.4rem;
      text-align: left;
    }
    .discovery-list li {
      padding: .7rem 0 .7rem 2rem;
      position: relative;
      color: var(--ink-mid);
      border-bottom: 1px solid rgba(200,169,101,0.14);
    }
    .discovery-list li::before {
      content: '✦'; position: absolute; left: 0; top: .85rem;
      color: var(--gold); font-size: .8rem;
    }

    /* ─── FINAL CTA ────────────────────────────────────── */
    #final-cta {
      padding: 5.2rem 1.6rem;
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    #final-cta::before {
      content: '';
      position: absolute; inset: 0;
      background:
        radial-gradient(ellipse at 50% 50%, rgba(234,223,200,0.55), transparent 70%);
      pointer-events: none;
    }
    #final-cta .container-sm { position: relative; }
    #final-cta h2 {
      font-family: var(--display);
      font-size: clamp(2.4rem, 5.5vw, 4.4rem);
      line-height: 1.08;
      margin-bottom: 2rem;
    }
    #final-cta p { color: var(--ink-mid); font-size: 1.05rem; margin-bottom: 1rem; line-height: 1.95; }
    #final-cta p.lede { font-family: var(--serif); font-style: italic; font-size: 1.25rem; color: var(--ink); margin: 1.4rem 0; }
    .final-buttons { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; margin-top: 2.5rem; }

    /* ─── FOOTER ───────────────────────────────────────── */
    footer {
      background: linear-gradient(180deg, var(--ivory), var(--champagne));
      padding: 2.4rem 1.6rem 1.4rem;
      color: var(--ink-mid);
      font-size: 0.82rem;
    }
    .footer-grid {
      max-width: 1180px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1.6fr 1fr 1fr;
      gap: 2rem;
      padding-bottom: 1.4rem;
    }
    .footer-brand .footer-logo-link { display: inline-block; margin-bottom: .6rem; }
    .footer-brand .footer-logo { height: 72px; width: auto; display: block; }
    .footer-brand p { font-family: var(--serif); font-style: italic; color: var(--ink-mid); line-height: 1.55; font-size: .85rem; margin-top: .6rem; }
    .footer-col h5 {
      font-family: var(--body);
      font-size: 0.68rem;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: .7rem;
    }
    .footer-col ul { list-style: none; }
    .footer-col li { margin-bottom: .35rem; line-height: 1.4; }
    .footer-col a { color: var(--ink-mid); transition: color .3s; }
    .footer-col a:hover { color: var(--sage-deep); }
    .footer-nav {
      max-width: 1180px;
      margin: 0 auto;
      padding: .9rem 0;
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 1.8rem;
      border-top: 1px solid rgba(200,169,101,0.22);
      border-bottom: 1px solid rgba(200,169,101,0.22);
      font-family: var(--body);
      font-size: 0.72rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
    }
    .footer-nav a { color: var(--ink-mid); transition: color .3s; }
    .footer-nav a:hover { color: var(--sage-deep); }
    .footer-bottom {
      max-width: 1180px;
      margin: 1rem auto 0;
      display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem;
      font-size: 0.72rem;
      color: var(--ink-light);
    }

    /* ─── SCROLL ANIMATION (subtle, one-directional) ───── */
    .reveal {
      opacity: 0;
      transform: translateY(14px);
      transition: opacity .45s cubic-bezier(.2,.7,.2,1), transform .45s cubic-bezier(.2,.7,.2,1);
    }
    .reveal.visible { opacity: 1; transform: translateY(0); }
    .reveal.d1 { transition-delay: .06s; }
    .reveal.d2 { transition-delay: .12s; }
    .reveal.d3 { transition-delay: .18s; }

    /* Reveal variants — clean, no blur */
    .reveal-l { opacity: 0; transform: translateX(-16px);
      transition: opacity .45s cubic-bezier(.2,.7,.2,1), transform .45s cubic-bezier(.2,.7,.2,1); }
    .reveal-l.visible { opacity: 1; transform: translateX(0); }
    .reveal-r { opacity: 0; transform: translateX(16px);
      transition: opacity .45s cubic-bezier(.2,.7,.2,1), transform .45s cubic-bezier(.2,.7,.2,1); }
    .reveal-r.visible { opacity: 1; transform: translateX(0); }
    .reveal-scale { opacity: 0; transform: scale(0.97);
      transition: opacity .5s cubic-bezier(.2,.7,.2,1), transform .5s cubic-bezier(.2,.7,.2,1); }
    .reveal-scale.visible { opacity: 1; transform: scale(1); }
    .reveal-rise { opacity: 0; transform: translateY(30px);
      transition: opacity .55s cubic-bezier(.2,.7,.2,1), transform .55s cubic-bezier(.2,.7,.2,1); }
    .reveal-rise.visible { opacity: 1; transform: translateY(0); }

    /* ── Word-by-word reveal for headlines ── */
    .word-reveal { display: inline-block; }
    .word-reveal .w {
      display: inline-block;
      opacity: 0;
      transform: translateY(.25em);
      transition: opacity .4s cubic-bezier(.2,.7,.2,1), transform .4s cubic-bezier(.2,.7,.2,1);
    }
    .word-reveal.visible .w { opacity: 1; transform: translateY(0); }
    .word-reveal .w + .w { margin-left: .2em; }

    /* ─── Scroll progress thread ─── */
    .scroll-thread {
      position: fixed;
      top: 0; left: 0;
      height: 2px;
      width: 0;
      background: linear-gradient(90deg, transparent, var(--gold) 30%, var(--gold-soft) 60%, transparent);
      z-index: 9999;
      pointer-events: none;
      opacity: .7;
      transition: width .12s linear;
      box-shadow: 0 0 18px rgba(200,169,101,.45);
    }

    /* ─── Hero scroll dissolve ─── */
    .hero-image-wrap img { will-change: transform, opacity, filter; }

    /* ─── Image gentle parallax (inner img drifts) ─── */
    .about-photo.has-image img,
    .transition-image img {
      will-change: transform;
      transition: transform 1.1s cubic-bezier(.2,.7,.2,1);
    }

    /* ─── Subtle pre-reveal lift for section titles ─── */
    .section-title.word-reveal {
      will-change: transform, opacity;
      display: block;          /* override default .word-reveal inline-block so headings stack normally */
      text-align: inherit;
    }
    .section-title.word-reveal .w { white-space: nowrap; }
    .section-title.word-reveal br + .w { display: inline-block; }

    /* ─── Section eyebrow drifts in ─── */
    .eyebrow-script {
      opacity: 0;
      transform: translateX(-14px);
      transition: opacity 1.1s cubic-bezier(.2,.7,.2,1), transform 1.1s cubic-bezier(.2,.7,.2,1);
    }
    .visible > .eyebrow-script,
    .visible .eyebrow-script,
    .reveal.visible > .eyebrow-script,
    section.visible .eyebrow-script { opacity: 1; transform: translateX(0); }

    /* Fallback so eyebrows still appear without intersection logic */
    .reveal.visible .eyebrow-script,
    .reveal-l.visible .eyebrow-script,
    .reveal-r.visible .eyebrow-script,
    .reveal-scale.visible .eyebrow-script,
    .reveal-rise.visible .eyebrow-script { opacity: 1; transform: translateX(0); }

    /* ─── Ambient drifting orbs (disabled per feedback) ─── */
    .ambient-orbs { display: none !important; }
    .sparkle-dot { display: none !important; }
    .stars { display: none !important; }
    .ambient-orb {
      position: absolute;
      border-radius: 50%;
      background: radial-gradient(circle at 40% 35%, rgba(255,255,255,0.55), rgba(234,223,200,0.18) 60%, transparent 75%);
      filter: blur(1px);
      animation: orb-drift linear infinite;
      opacity: 0;
    }
    @keyframes orb-drift {
      0%   { transform: translate3d(0, 110vh, 0) scale(.9); opacity: 0; }
      10%  { opacity: .55; }
      90%  { opacity: .35; }
      100% { transform: translate3d(20px, -20vh, 0) scale(1.05); opacity: 0; }
    }

    /* Subtle ambient float for decorative elements */
    @keyframes drift {
      0%,100% { translate: 0 0; rotate: 0deg; }
      50%     { translate: 20px -16px; rotate: 4deg; }
    }
    @keyframes breathe {
      0%,100% { scale: 1; opacity: .55; }
      50%     { scale: 1.1; opacity: 1; }
    }

    /* glyphs disabled per feedback */
    .glyph { display: none !important; }
    /* Allow parallax JS to compose by translating a wrapper instead */

    /* Lift on scroll for cards */
    .lift {
      transition: transform .9s cubic-bezier(.2,.7,.2,1), box-shadow .9s, opacity .9s;
    }

    /* ─── LIGHTBOX ─────────────────────────────────────── */
    #lightbox {
      display: none;
      position: fixed; inset: 0;
      background: rgba(46,42,38,0.92);
      z-index: 9999;
      align-items: center; justify-content: center;
      cursor: zoom-out;
      backdrop-filter: blur(8px);
    }
    #lightbox.active { display: flex; }
    #lightbox img { max-width: 90vw; max-height: 88vh; border-radius: 8px; }
    #lightbox-close {
      position: absolute; top: 1.5rem; right: 1.5rem;
      background: rgba(255,255,255,0.18); border: none;
      width: 44px; height: 44px; border-radius: 50%;
      color: white; font-size: 1.4rem; cursor: pointer;
    }

    /* ─── RESPONSIVE ───────────────────────────────────── */
    @media (max-width: 960px) {
      .offer-card { grid-template-columns: 1fr; padding: 1.8rem; gap: 1.4rem; }
      .offer-art { aspect-ratio: 16/9; min-height: unset; }
      .offer-list-block ul { grid-template-columns: 1fr; }
      .start-row { padding: 0 2%; }
      .start-quote { padding-left: 2.5rem; font-size: clamp(1.4rem, 4vw, 2.2rem); }
      .start-quote-mark { font-size: 5rem; top: -0.8rem; }
      .start-response { padding-left: 2.5rem; }
      .start-row.align-right .start-quote { padding-right: 2.5rem; }
      .start-row.align-right .start-response { padding-right: 2.5rem; }
      .about-grid { grid-template-columns: 1fr; gap: 1.6rem; }
      .cert-row { grid-template-columns: repeat(4, 1fr); gap: 1rem; }
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 1.6rem; }
      .for-you-grid { grid-template-columns: 1fr; gap: 0; }
      .offer-cols { grid-template-columns: 1fr; }
    }
    /* ─── Mobile hero: STACK image on top, text below ─── */
    @media (max-width: 720px) {
      #nav { padding: 0.25rem 0.9rem; }
      .nav-brand img.brand-logo { height: 44px; }
      #nav.scrolled .nav-brand img.brand-logo { height: 38px; }
      .nav-toggle { transform: scale(.9); }
      .nav-links { display: none; }
      .nav-toggle { display: block; }
      section { padding: 3rem 1.1rem; }

      /* Hero re-architected as a vertical stack on mobile */
      #hero {
        height: auto;
        min-height: 0;
        padding: 6.5rem 0 3rem;
        display: flex; flex-direction: column;
      }
      .hero-image-wrap {
        position: relative;
        height: auto;
        width: 100%;
        aspect-ratio: 16/9;
      }
      .hero-image-wrap img {
        position: relative;
        object-fit: cover;
        object-position: center center;
      }
      .hero-image-wrap::after {
        background:
          linear-gradient(180deg, transparent 0%, transparent 60%, rgba(251,248,242,0.95) 100%);
      }
      .hero-overlay {
        position: relative;
        inset: auto;
        max-width: 100%;
        padding: 1.8rem 1.4rem 0;
        text-align: center;
        align-items: center;
      }
      .hero-title {
        font-size: 2.4rem;
        line-height: 1.02;
        margin-bottom: 1rem;
        align-self: center;
      }
      .hero-line-1, .hero-line-2 { text-align: center; white-space: normal; }
      .hero-sub {
        font-size: .94rem;
        margin: 0 auto 1rem;
        text-align: center;
      }
      .hero-poetry {
        font-size: .94rem;
        line-height: 1.7;
        margin: 0 auto 1.4rem;
        text-align: center;
        max-width: 100%;
      }
      .hero-buttons {
        justify-content: center;
        gap: .7rem;
      }
      .hero-buttons .btn {
        padding: .85rem 1.4rem;
        font-size: .7rem;
        letter-spacing: .22em;
      }
      .hero-scroll-hint { display: none; }

      /* CTA overlay on the hero image (mobile only) */
      .hero-image-cta {
        position: absolute;
        bottom: 1.6rem; left: 50%;
        transform: translateX(-50%);
        z-index: 6;
        padding: 0.85rem 1.6rem;
        background: linear-gradient(135deg, var(--blush) 0%, var(--champagne) 35%, var(--celadon) 70%, var(--cloud-blue) 100%);
        background-size: 220% 220%;
        animation: irisShift 8s ease-in-out infinite;
        color: var(--ink);
        font-family: var(--body);
        font-size: 10px;
        letter-spacing: 0.22em;
        text-transform: uppercase;
        font-weight: 600;
        border-radius: 999px;
        box-shadow:
          0 8px 24px rgba(213,222,232,0.4),
          0 0 0 1px rgba(241,225,218,0.55),
          inset 0 1px 0 rgba(255,255,255,0.75);
        white-space: nowrap;
      }

      /* On mobile the dedicated hero is hidden — VSL video section takes its place */
      header#top, #hero { display: none !important; }

      /* Show the VSL pieces on mobile (title + sub + video + CTAs) */
      .vsl-hero { padding-top: 5.5rem; padding-bottom: 3rem; }
      .vsl-hero .vsl-title { display: flex; font-size: clamp(2rem, 8vw, 2.6rem); margin-bottom: .8rem; }
      .vsl-hero .hero-sub { display: block; max-width: 100%; margin: 0 auto 1.4rem; font-size: .96rem; text-align: center; color: var(--ink-mid); }
      .vsl-hero .hero-buttons { display: flex; flex-direction: column; gap: .7rem; margin-top: 1.4rem !important; align-items: stretch; }
      .vsl-hero .hero-buttons .btn { width: 100%; }

      /* Mobile-only section reorder: Hero → Video → Offers → Credentials → rest.
         Desktop layout is preserved because this is inside @media (max-width: 720px). */
      body { display: flex; flex-direction: column; }
      #intro-video    { order: 1; }
      #offers         { order: 2; }
      #certifications { order: 3; }
      #about          { order: 5; }
      #why-me         { order: 6; }
      #testimonials   { order: 7; }
      #transition     { order: 8; }
      #discovery      { order: 9; }
      #faq-preview    { order: 10; }
      footer          { order: 11; }

      /* Mobile-specific overrides for ads-ready layout */
      .cert-row { grid-template-columns: repeat(2, 1fr) !important; gap: .9rem; max-width: 100%; }
      .cert-card { padding: 1rem .7rem .9rem; }
      .cert-card img { aspect-ratio: 4/3; margin-bottom: .55rem; }
      .cert-label { font-size: .88rem; }
      .cert-sub { font-size: .68rem; }

      .modalities-grid { grid-template-columns: 1fr 1fr; gap: .35rem 1rem; font-size: .92rem; }
      .modalities-intro, .modalities-footer { font-size: .94rem; line-height: 1.55; }

      .footer-grid { grid-template-columns: 1fr !important; gap: 1.4rem; text-align: center; padding-bottom: 1rem; }
      .footer-brand .footer-logo { margin: 0 auto; }
      .footer-col ul { padding: 0; }
      .footer-nav { gap: 1rem; font-size: .65rem; padding: .7rem 0; }
      .footer-bottom { flex-direction: column; gap: .5rem; text-align: center; font-size: .68rem; }

      .pathway-card { max-width: 460px; margin: 0 auto; }
      .pathway-body { padding: 1.3rem 1.3rem 1.2rem; }
      .pathway-title { font-size: 1.55rem; }
      .pathway-sub { font-size: 1rem; }
      .pathway-price { font-size: 1.85rem; }
      .pathway-desc { font-size: .98rem; }
      .pathway-bullets li { font-size: .94rem; }

      .for-you-card { padding: 1.4rem 1rem 1.2rem; }
      .for-you-title { font-size: 1.5rem; margin-bottom: 1rem; }
      .for-you-list { grid-template-columns: 1fr; gap: 0; max-width: 100%; }
      .for-you-list li { font-size: .94rem; padding: .65rem 0; }
      .for-you-list li svg { width: 24px; height: 24px; }
      .for-you-banner { padding: 1rem 1rem; }
      .for-you-banner p { font-size: .95rem; }

      .transition-image { max-width: 320px; }
      .transition-copy p { font-size: 1rem; line-height: 1.7; }

      .section-title { font-size: clamp(1.7rem, 7vw, 2.4rem) !important; }
      .section-lede { font-size: .98rem !important; }

      /* About + Why Choose Me copy size */
      .about-copy p { font-size: 1rem; line-height: 1.7; }
      .about-quote { font-size: 1.05rem; padding: .9rem 1.1rem; }
      .about-photo { max-width: 340px; margin: 0 auto; }

      /* FAQ preview tighter */
      .faq-item summary { font-size: 1.02rem; padding: 1rem .2rem 1rem 0; }
      .faq-body { font-size: .95rem; }

      /* Video frame */
      .video-frame { border-radius: 14px; }

      /* Discovery CTA section */
      #discovery .section-lede { font-size: .96rem; }
    }
    /* Hide the in-image CTA on desktop */
    @media (min-width: 721px) {
      .hero-image-cta { display: none; }
      .cert-row { grid-template-columns: repeat(4, 1fr); gap: .7rem; }
      .cert-card img { aspect-ratio: 4/3; }
      .offer-card h3 { font-size: 1.4rem; }
      .start-quote { padding-left: 2rem; }
      .start-quote-mark { font-size: 4rem; }
      .method-letter { font-size: 1.9rem; width: 44px; }
      .method-name { font-size: 1.1rem; }
      .method-body { padding: 0 1rem 1rem 1.2rem; font-size: .92rem; }
      .method-row summary { gap: .7rem; padding: 1rem .7rem; }
      .section-title { font-size: 1.6rem; }
      .eyebrow-script { font-size: 2rem; }
      .pull-quote { padding: 2rem 1.2rem; margin: 2rem auto; }
      .pull-quote p { font-size: 1.2rem; }
      .nav-links.open {
        display: flex !important; flex-direction: column;
        align-items: flex-start;
        position: fixed; top: 64px; left: 0; right: 0;
        background: rgba(251,248,242,0.97);
        backdrop-filter: blur(22px);
        -webkit-backdrop-filter: blur(22px);
        padding: 1.8rem 1.6rem 2rem;
        gap: 1.3rem;
        box-shadow: 0 12px 36px rgba(200,169,101,0.18);
        z-index: 99;
      }
      .nav-links.open a { font-size: .82rem; }
      .nav-toggle.open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
      .nav-toggle.open span:nth-child(2) { opacity: 0; }
      .nav-toggle.open span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }
    }

/* ═══════════════════════════════════════════════════════════════
   WHEN THE OLD VERSION OF YOU NO LONGER FITS (transition)
   ═══════════════════════════════════════════════════════════════ */
#transition {
  padding: 5rem 1.6rem 5rem;
}
.transition-grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 4rem;
  align-items: start;
  margin-bottom: 3rem;
}
.transition-image {
  border-radius: 24px 24px 220px 220px;
  overflow: hidden;
  aspect-ratio: 4/5;
  box-shadow: 0 30px 80px rgba(200,169,101,0.18);
  border: 1px solid rgba(200,169,101,0.2);
  position: sticky;
  top: 6.5rem;
}
/* Opposite shape: rounded top corners, straight bottom, in a white frame */
.transition-image.transition-image-rounded {
  border-radius: 220px 220px 24px 24px;
  background: #ffffff;
  padding: 14px;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 30px 80px rgba(46,42,38,0.12);
}
.transition-image.transition-image-rounded img {
  border-radius: 210px 210px 18px 18px;
}
.transition-image img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.transition-copy p {
  font-family: var(--body);
  font-size: 1.05rem;
  color: var(--ink-mid);
  line-height: 1.8;
  margin-bottom: .9rem;
}
.gold-italic {
  font-family: var(--script);
  font-style: italic;
  color: var(--gold);
  font-weight: 400;
}
.transition-highlight {
  margin: 1.6rem 0 1.4rem;
  padding: 1.6rem 1.8rem;
  border-left: 2px solid var(--gold-soft);
  background: linear-gradient(95deg, rgba(255,249,241,0.7), rgba(234,223,200,0.18) 80%, transparent);
  border-radius: 0 14px 14px 0;
}

/* This work may be for you if... card */
.for-you-card {
  max-width: 1120px;
  margin: 0 auto;
  padding: 2.6rem 2.6rem 2rem;
  background: linear-gradient(160deg, rgba(255,249,241,0.95), rgba(234,223,200,0.45));
  border: 1px solid rgba(200,169,101,0.28);
  border-radius: 26px;
  box-shadow: 0 20px 60px rgba(200,169,101,0.14);
}
.for-you-title {
  font-family: var(--display);
  font-size: clamp(1.6rem, 2.6vw, 2.1rem);
  text-align: center;
  margin-bottom: 1.8rem;
  color: var(--ink);
}
.for-you-list {
  list-style: none;
  padding: 0;
  margin: 0 auto 1.6rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .5rem 2.4rem;
  max-width: 900px;
}
.for-you-list li {
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: .8rem 0;
  border-bottom: 1px solid rgba(200,169,101,0.16);
  font-family: var(--body);
  font-size: 1rem;
  color: var(--ink-mid);
}
.for-you-list li svg {
  width: 28px; height: 28px;
  flex-shrink: 0;
  color: var(--sage-deep);
  padding: 5px;
  border-radius: 50%;
  background: rgba(136,164,135,0.18);
  stroke-width: 2;
}
.for-you-banner {
  margin-top: 1.4rem;
  padding: 1.2rem 1.4rem;
  background: linear-gradient(135deg, rgba(184,190,166,0.3), rgba(234,223,200,0.4));
  border-radius: 14px;
  text-align: center;
  border: 1px solid rgba(184,190,166,0.4);
}
.for-you-banner p { margin: 0; font-family: var(--body); color: var(--ink); font-size: 1rem; line-height: 1.5; }

@media (max-width: 900px) {
  .transition-grid { grid-template-columns: 1fr; gap: 2rem; }
  .transition-image { aspect-ratio: 4/5; max-width: 460px; margin: 0 auto; position: relative; top: auto; }
  .for-you-list { grid-template-columns: 1fr; gap: 0; }
  .for-you-card { padding: 1.8rem 1.4rem 1.5rem; }
}

/* ═══════════════════════════════════════════════════════════════
   4 PATHWAYS GRID
   ═══════════════════════════════════════════════════════════════ */
#offers { padding: 5.5rem 1.6rem 5rem; }
.pathway-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.8rem;
  margin: 3rem auto 0;
  max-width: 1600px;
  padding: 0 2rem;
}
.pathway-card {
  display: flex; flex-direction: column;
  background: linear-gradient(170deg, rgba(255,249,241,0.95), rgba(234,223,200,0.4));
  border: 1px solid rgba(200,169,101,0.25);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 14px 40px rgba(200,169,101,0.12);
  transition: transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .55s, border-color .35s;
  position: relative;
}
.pathway-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 26px 60px rgba(200,169,101,0.24);
  border-color: var(--gold-soft);
}

/* Subtle energetic tint per pathway */
.pathway-card.pw-1 { background: linear-gradient(170deg, rgba(214,226,210,0.5), rgba(255,249,241,0.95)); }
.pathway-card.pw-2 { background: linear-gradient(170deg, rgba(255,249,241,0.95), rgba(241,225,218,0.45)); }
.pathway-card.pw-3 { background: linear-gradient(170deg, rgba(234,223,200,0.55), rgba(217,201,168,0.45)); }
.pathway-card.pw-4 { background: linear-gradient(170deg, rgba(217,201,168,0.5), rgba(154,123,99,0.18)); }

.pathway-image {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.pathway-image img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .9s cubic-bezier(.2,.7,.2,1);
}
.pathway-card:hover .pathway-image img { transform: scale(1.05); }
.pathway-badge { display: none; }
.pathway-badge svg { width: 22px; height: 22px; }
.pathway-body {
  padding: 1.5rem 1.5rem 1.4rem;
  display: flex; flex-direction: column;
  flex-grow: 1;
}
.pathway-label {
  font-family: var(--body);
  font-size: .62rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--gold);
  text-align: center;
  margin-bottom: .55rem;
  font-weight: 600;
}
.pathway-title {
  font-family: var(--display);
  font-size: 1.3rem;
  line-height: 1.18;
  text-align: center;
  margin-bottom: .35rem;
  color: var(--ink);
  letter-spacing: .005em;
}
.pathway-sub {
  font-family: var(--serif);
  font-style: normal;
  font-weight: 500;
  text-align: center;
  font-size: 1rem;
  color: var(--ink);
  margin-bottom: .55rem;
  line-height: 1.4;
}
.pathway-price {
  font-family: var(--serif);
  font-weight: 600;
  text-align: center;
  font-size: 1.75rem;
  letter-spacing: .04em;
  color: var(--sage-deep);
  margin: 0 0 .9rem;
  line-height: 1.1;
}
.pathway-price em {
  font-family: var(--serif);
  font-style: italic;
  font-size: .85rem;
  color: var(--ink-mid);
  letter-spacing: 0;
}
.pathway-desc {
  font-family: var(--body);
  font-size: .92rem;
  line-height: 1.55;
  color: var(--ink-mid);
  margin-bottom: .85rem;
}
.pathway-may-be {
  font-family: var(--body);
  font-size: .9rem;
  line-height: 1.4;
  color: var(--ink);
  margin-bottom: .5rem;
}
.pathway-bullets {
  list-style: none; padding: 0; margin: 0 0 1rem;
}
.pathway-bullets li {
  position: relative;
  padding-left: 1.1rem;
  font-family: var(--body);
  font-size: .86rem;
  line-height: 1.5;
  color: var(--ink-mid);
  margin-bottom: .35rem;
}
.pathway-bullets li::before {
  content: '✦';
  position: absolute; left: 0; top: 2px;
  color: var(--gold);
  font-size: .68rem;
}
.pathway-expand {
  margin-top: auto;     /* push the expand row + CTA + footer block to the bottom uniformly across cards */
  margin-bottom: 1.1rem;
  border-top: 1px solid rgba(200,169,101,0.22);
  border-bottom: 1px solid rgba(200,169,101,0.22);
}
.pathway-expand summary {
  list-style: none;
  cursor: pointer;
  padding: .65rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--body);
  font-size: .76rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
  transition: color .35s;
}
.pathway-expand summary::-webkit-details-marker { display: none; }
.pathway-expand summary:hover { color: var(--ink); }
.expand-toggle {
  width: 22px; height: 22px;
  border-radius: 50%;
  border: 1px solid var(--gold-soft);
  display: flex; align-items: center; justify-content: center;
  font-size: .9rem;
  transition: transform .35s, background .35s;
  color: var(--gold);
}
.pathway-expand[open] .expand-toggle {
  transform: rotate(45deg);
  background: var(--champagne);
}
.pathway-expand-body {
  padding: .4rem 0 .8rem;
  font-family: var(--body);
  font-size: .88rem;
  line-height: 1.65;
  color: var(--ink-mid);
}
.pathway-expand-body p { margin-bottom: .6rem; }
.pathway-expand-body p:last-child { margin-bottom: 0; }
.aligned-method-list {
  list-style: none;
  padding: 0;
  margin: .4rem 0 0;
}
.aligned-method-list li {
  padding: .25rem 0;
  font-size: .85rem;
  line-height: 1.5;
  color: var(--ink-mid);
}
.aligned-method-list li strong {
  display: inline-block;
  width: 14px;
  font-family: var(--display);
  color: var(--gold);
  font-weight: 600;
  margin-right: .4rem;
}
.pathway-cta {
  align-self: stretch;
  padding: .9rem 1.1rem;
  font-size: .66rem;
  letter-spacing: .22em;
  justify-content: center;
}
.pathway-footer {
  font-family: var(--serif);
  font-style: normal;
  font-weight: 500;
  text-align: center;
  margin-top: 1rem;
  font-size: .95rem;
  color: var(--sage-deep);
  line-height: 1.45;
  min-height: 2.6rem;       /* reserve space for ~2 lines so footers align across cards */
  display: flex;
  align-items: center;
  justify-content: center;
}

.pathway-anchor {
  max-width: 700px;
  margin: 4rem auto 0;
  text-align: center;
  font-family: var(--display);
  font-size: clamp(1.15rem, 1.8vw, 1.5rem);
  line-height: 1.5;
  color: var(--ink);
}
.pathway-anchor em { font-size: 1.05em; }

@media (max-width: 1100px) {
  .pathway-grid { grid-template-columns: 1fr 1fr; max-width: 760px; }
}
@media (max-width: 720px) {
  .pathway-grid { grid-template-columns: 1fr; }
  .pathway-card { max-width: 460px; margin: 0 auto; }
}
