    /* ─── MOMMENTIS DESIGN SYSTEM ───────────────────────────────────────── */
    :root {
      --ink:        #201030;   /* rich plum — lighter than before */
      --lavender:   #DDB8E8;   /* logo accent */
      --lavender-bright: #EED8F5; /* hover / highlight */
      --butter:     #FFF0C0;   /* logo accent 2 */
      --amber:      #C8822A;   /* warm energy accent */
      --surface:    #2E1A45;   /* lifted plum */
      --card:       #3A2055;   /* card background */
      --card-glow:  rgba(224,192,232,0.06);
      --border:     rgba(224,192,232,0.25);
      --text-main:  #F8F2FC;
      --text-muted: rgba(248,242,252,0.72);
      --glow-lav:   rgba(224,192,232,0.18);
      --glow-amb:   rgba(200,130,42,0.14);
      --serif:      'Cormorant Garamond', Georgia, serif;
      --sans:       'Inter', system-ui, sans-serif;
      --radius:     14px;
      --max:        1120px;
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    html { scroll-behavior: smooth; overflow-x: hidden; }

    body {
      background: var(--ink);
      color: var(--text-main);
      font-family: var(--sans);
      font-size: 16px;
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }

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

    /* ─── UTILITY ────────────────────────────────────────────────────────── */
    .container { max-width: var(--max); margin: 0 auto; padding: 0 24px; }
    .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

    .tag {
      display: inline-block;
      font-family: var(--sans);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      padding: 4px 12px;
      border-radius: 100px;
      border: 1px solid var(--lavender);
      color: var(--lavender);
    }
    .tag-amber { border-color: var(--amber); color: var(--amber); }
    .tag-butter { border-color: var(--butter); color: var(--butter); }

    h1, h2, h3, h4 { font-family: var(--serif); font-weight: 300; line-height: 1.15; }

    /* ─── NAV ─────────────────────────────────────────────────────────────── */
    nav {
      position: sticky; top: 0; z-index: 100;
      background: rgba(29,17,40,0.95);
      backdrop-filter: blur(16px);
      border-bottom: 1px solid var(--border);
    }
    .nav-inner {
      max-width: var(--max);
      margin: 0 auto;
      padding: 0 20px;
      height: 84px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }
    .nav-logo {
      font-family: var(--serif);
      font-size: 18px;
      font-weight: 400;
      letter-spacing: 0.02em;
      color: var(--lavender);
      text-decoration: none;
      display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
      flex-shrink: 1;
      white-space: nowrap;
      overflow: hidden;
    }
    .nav-logo-mark {
      /* Preserve the original logo colours. */
      filter: none;
      width: 68px;
      height: 68px;
      object-fit: contain;
      border-radius: 6px;
      flex-shrink: 0;
      background: transparent;
    }
    .nav-wordmark { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; line-height: 1; }
    .nav-brand-name { color: var(--lavender); font-size: 24px; font-weight: 500; letter-spacing: 0.01em; }
    .nav-brand-descriptor { color: var(--butter); font-size: 22px; font-weight: 400; font-style: normal; letter-spacing: 0.015em; }
    .nav-links { display: flex; gap: 28px; list-style: none; flex-shrink: 1; }
    .nav-links a {
      font-size: 13px;
      font-weight: 500;
      letter-spacing: 0.04em;
      color: var(--text-muted);
      text-decoration: none;
      transition: color 0.2s;
    }
    .nav-links a:hover { color: var(--lavender); }
    .nav-cta {
      flex-shrink: 0;
      background: var(--lavender);
      color: var(--ink);
      font-size: 13px;
      font-weight: 600;
      padding: 9px 22px;
      border-radius: 100px;
      text-decoration: none;
      transition: background 0.2s, transform 0.15s;
      white-space: nowrap;
    }
    .nav-cta:hover { background: #EDD4F4; transform: translateY(-1px); }

    /* ─── MOBILE NAV — keep logo + CTA from colliding ─────────────────── */
    @media (max-width: 640px) {
      .nav-inner { padding: 0 16px; gap: 10px; }
      .nav-logo { font-size: 15px; gap: 8px; }
      .nav-brand-name { font-size: 18px; }
      .nav-brand-descriptor { font-size: 17px; }
      .nav-logo-mark { width: 54px; height: 54px; }
      .nav-cta { font-size: 11px; padding: 7px 14px; letter-spacing: 0.02em; }
    }

    /* ─── HERO ────────────────────────────────────────────────────────────── */
    .hero {
      min-height: 92vh;
      display: flex;
      align-items: center;
      position: relative;
      overflow: hidden;
      padding: 80px 0 60px;
      background: url('photo-building.jpg') center/cover no-repeat;
    }
    .hero::before {
      content: '';
      position: absolute; inset: 0;
      background:
        linear-gradient(135deg, rgba(32,16,48,0.88) 0%, rgba(32,16,48,0.74) 55%, rgba(46,26,69,0.55) 100%),
        radial-gradient(ellipse 60% 55% at 70% 40%, rgba(224,192,232,0.10) 0%, transparent 70%),
        radial-gradient(ellipse 40% 40% at 20% 70%, rgba(200,130,42,0.08) 0%, transparent 60%);
      pointer-events: none;
    }
    .hero > * { position: relative; z-index: 1; }
    .hero-grid {
      display: grid;
      grid-template-columns: 1fr 420px;
      gap: 60px;
      align-items: center;
    }
    .hero-eyebrow {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 28px;
    }
    .hero-eyebrow .line {
      width: 40px; height: 1px;
      background: var(--amber);
    }
    .hero-eyebrow span {
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--amber);
    }
    h1.hero-title {
      font-size: clamp(42px, 5.5vw, 72px);
      font-weight: 300;
      color: var(--text-main);
      margin-bottom: 8px;
    }
    h1.hero-title em {
      font-style: italic;
      color: var(--lavender);
    }
    .hero-sub {
      font-family: var(--serif);
      font-size: clamp(22px, 2.5vw, 30px);
      font-weight: 300;
      color: var(--butter);
      font-style: italic;
      margin-bottom: 24px;
    }
    .hero-desc {
      font-size: 16px;
      line-height: 1.75;
      color: var(--text-muted);
      max-width: 540px;
      margin-bottom: 40px;
    }
    .hero-desc strong { color: var(--text-main); font-weight: 500; }
    .hero-actions { display: flex; gap: 16px; flex-wrap: wrap; }
    .btn-primary {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: var(--lavender);
      color: var(--ink);
      font-size: 14px;
      font-weight: 600;
      padding: 14px 32px;
      border-radius: 100px;
      text-decoration: none;
      transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
      box-shadow: 0 4px 24px rgba(224,192,232,0.2);
    }
    .btn-primary:hover { background: #EDD4F4; transform: translateY(-2px); box-shadow: 0 8px 32px rgba(224,192,232,0.3); }
    .btn-secondary {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: transparent;
      color: var(--text-main);
      font-size: 14px;
      font-weight: 500;
      padding: 14px 28px;
      border-radius: 100px;
      border: 1px solid var(--border);
      text-decoration: none;
      transition: border-color 0.2s, transform 0.15s;
    }
    .btn-secondary:hover { border-color: var(--lavender); color: var(--lavender); transform: translateY(-2px); }

    /* hero card */
    .hero-card {
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 20px;
      padding: 36px;
      position: relative;
      overflow: hidden;
    }
    .hero-card::before {
      content: '';
      position: absolute; top: 0; left: 0; right: 0; height: 2px;
      background: linear-gradient(90deg, var(--lavender), var(--butter));
    }
    .hero-card-title {
      font-family: var(--serif);
      font-size: 13px;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--text-muted);
      margin-bottom: 20px;
    }
    .hero-dates { display: flex; flex-direction: column; gap: 14px; }
    .hero-date-item {
      display: flex;
      align-items: flex-start;
      gap: 14px;
      padding: 14px;
      border-radius: var(--radius);
      background: rgba(224,192,232,0.04);
      border: 1px solid rgba(224,192,232,0.08);
      transition: border-color 0.2s, background 0.2s;
      cursor: default;
    }
    .hero-date-item:hover { border-color: var(--border); background: rgba(224,192,232,0.07); }
    .date-badge {
      min-width: 50px;
      text-align: center;
      background: var(--surface);
      border-radius: 8px;
      padding: 6px 4px;
    }
    .date-badge .month {
      font-size: 9px;
      font-weight: 600;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--lavender);
      display: block;
    }
    .date-badge .day {
      font-family: var(--serif);
      font-size: 22px;
      font-weight: 300;
      color: var(--text-main);
      display: block;
      line-height: 1;
      margin: 2px 0;
    }
    .date-info { flex: 1; }
    .date-info .name {
      font-size: 13px;
      font-weight: 500;
      color: var(--text-main);
      margin-bottom: 2px;
    }
    .date-info .loc {
      font-size: 11px;
      color: var(--text-muted);
    }

    /* ─── TRUST BAR ───────────────────────────────────────────────────────── */
    .trust-bar {
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
      padding: 20px 0;
      background: var(--surface);
    }
    .trust-inner {
      max-width: var(--max);
      margin: 0 auto;
      padding: 0 24px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 40px;
      flex-wrap: wrap;
    }
    .trust-item {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 13px;
      color: var(--text-muted);
    }
    .trust-icon {
      width: 20px; height: 20px;
      display: flex; align-items: center; justify-content: center;
      color: var(--lavender);
    }

    /* ─── SECTIONS ────────────────────────────────────────────────────────── */
    section { padding: 96px 0; }
    section + section { padding-top: 0; }

    .section-header { text-align: center; margin-bottom: 64px; }
    .section-header .tag { margin-bottom: 16px; }
    .section-header h2 {
      font-size: clamp(32px, 4vw, 52px);
      font-weight: 300;
      margin-bottom: 16px;
      color: var(--text-main);
    }
    .section-header h2 em { font-style: italic; color: var(--lavender); }
    .section-header p {
      font-size: 16px;
      color: var(--text-muted);
      max-width: 560px;
      margin: 0 auto;
      line-height: 1.75;
    }

    /* ─── WHO THIS IS FOR ─────────────────────────────────────────────────── */
    .audience-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 20px;
    }
    .audience-card {
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      padding: 28px;
      position: relative;
      overflow: hidden;
    }
    .audience-card::before {
      content: '';
      position: absolute; bottom: 0; left: 0; right: 0; height: 2px;
    }
    .audience-card:nth-child(1)::before { background: var(--lavender); }
    .audience-card:nth-child(2)::before { background: var(--amber); }
    .audience-card:nth-child(3)::before { background: var(--butter); }
    .audience-card:nth-child(4)::before { background: #A0C4FF; }
    .audience-icon { font-size: 28px; margin-bottom: 14px; }
    .audience-card h3 {
      font-family: var(--serif);
      font-size: 20px;
      font-weight: 400;
      color: var(--text-main);
      margin-bottom: 8px;
    }
    .audience-card p { font-size: 14px; color: var(--text-muted); line-height: 1.7; }

    /* ─── SESSIONS ────────────────────────────────────────────────────────── */
    .sessions { background: var(--surface); }
    .session-grid { display: flex; flex-direction: column; gap: 20px; }
    .session-card {
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 16px;
      padding: 32px 36px;
      display: grid;
      grid-template-columns: 90px 1fr auto;
      gap: 32px;
      align-items: center;
      transition: border-color 0.2s, transform 0.2s;
    }
    .session-card:hover { border-color: rgba(224,192,232,0.4); transform: translateX(4px); }
    .session-num {
      font-family: var(--serif);
      font-size: 56px;
      font-weight: 300;
      color: rgba(224,192,232,0.15);
      line-height: 1;
    }
    .session-body {}
    .session-meta {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 10px;
      flex-wrap: wrap;
    }
    .session-body h3 {
      font-family: var(--serif);
      font-size: 26px;
      font-weight: 400;
      color: var(--text-main);
      margin-bottom: 8px;
    }
    .session-body h3 em { color: var(--lavender); font-style: italic; }
    .session-body p { font-size: 14px; color: var(--text-muted); line-height: 1.7; max-width: 600px; }
    .session-topics {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 14px;
    }
    .topic-chip {
      background: rgba(224,192,232,0.07);
      border: 1px solid rgba(224,192,232,0.15);
      border-radius: 6px;
      font-size: 11px;
      font-weight: 500;
      padding: 4px 10px;
      color: var(--text-muted);
    }
    .session-date-col { text-align: center; min-width: 80px; }
    .session-date-col .s-month {
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--amber);
    }
    .session-date-col .s-day {
      font-family: var(--serif);
      font-size: 40px;
      font-weight: 300;
      color: var(--text-main);
      display: block;
      line-height: 1;
    }
    .session-date-col .s-year {
      font-size: 11px;
      color: var(--text-muted);
    }

    /* AI FORCE MULTIPLIER special card */
    .session-card.featured {
      border-color: rgba(200,130,42,0.35);
      background: linear-gradient(135deg, var(--card) 0%, rgba(200,130,42,0.06) 100%);
      position: relative;
      overflow: hidden;
    }
    .session-card.featured::before {
      content: 'NEW';
      position: absolute; top: 16px; right: 20px;
      font-size: 9px; font-weight: 700;
      letter-spacing: 0.12em;
      background: var(--amber);
      color: var(--ink);
      padding: 3px 8px;
      border-radius: 100px;
    }

    /* ─── AI FORCE MULTIPLIER ─────────────────────────────────────────────── */
    .aifm-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 20px;
    }
    .aifm-card {
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      padding: 28px;
      transition: border-color 0.2s, transform 0.2s;
    }
    .aifm-card:hover { border-color: rgba(200,130,42,0.4); transform: translateY(-3px); }
    .aifm-icon {
      width: 44px; height: 44px;
      border-radius: 10px;
      display: flex; align-items: center; justify-content: center;
      font-size: 20px;
      margin-bottom: 16px;
      background: rgba(200,130,42,0.12);
      border: 1px solid rgba(200,130,42,0.2);
    }
    .aifm-card h3 {
      font-family: var(--serif);
      font-size: 20px;
      font-weight: 400;
      color: var(--text-main);
      margin-bottom: 8px;
    }
    .aifm-card p { font-size: 14px; color: var(--text-muted); line-height: 1.7; }
    .aifm-tools {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-top: 12px;
    }
    .aifm-tool {
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.06em;
      padding: 3px 9px;
      border-radius: 100px;
      background: rgba(200,130,42,0.12);
      color: var(--amber);
    }

    /* ─── PRICING ─────────────────────────────────────────────────────────── */
    .pricing { background: var(--ink); }
    .pricing-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: 20px;
      align-items: start;
    }
    .price-card {
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 16px;
      padding: 32px;
      display: flex;
      flex-direction: column;
      gap: 20px;
      transition: border-color 0.2s, transform 0.2s;
    }
    .price-card:hover { transform: translateY(-4px); }
    .price-card.best-value {
      border-color: var(--lavender);
      background: linear-gradient(160deg, var(--card) 0%, rgba(224,192,232,0.05) 100%);
      position: relative;
    }
    .price-card.best-value::before {
      content: 'Most Popular';
      position: absolute; top: -1px; left: 50%; transform: translateX(-50%);
      font-size: 10px; font-weight: 700;
      letter-spacing: 0.1em; text-transform: uppercase;
      background: var(--lavender);
      color: var(--ink);
      padding: 4px 16px;
      border-radius: 0 0 10px 10px;
    }
    .price-label {
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--text-muted);
    }
    .price-name {
      font-family: var(--serif);
      font-size: 22px;
      font-weight: 400;
      color: var(--text-main);
      line-height: 1.2;
    }
    .price-amount {
      display: flex;
      align-items: baseline;
      gap: 4px;
    }
    .price-amount .currency {
      font-size: 18px;
      font-weight: 400;
      color: var(--text-muted);
    }
    .price-amount .amount {
      font-family: var(--serif);
      font-size: 48px;
      font-weight: 300;
      color: var(--text-main);
    }
    .price-desc { font-size: 13px; color: var(--text-muted); line-height: 1.6; }
    .price-features { list-style: none; display: flex; flex-direction: column; gap: 10px; }
    .price-features li {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      font-size: 13px;
      color: var(--text-muted);
    }
    .price-features li::before {
      content: '✓';
      color: var(--lavender);
      font-weight: 700;
      flex-shrink: 0;
      margin-top: 1px;
    }
    .price-cta {
      display: block;
      text-align: center;
      padding: 13px;
      border-radius: 100px;
      font-size: 14px;
      font-weight: 600;
      text-decoration: none;
      transition: all 0.2s;
      margin-top: auto;
    }
    .price-cta-outline {
      border: 1px solid var(--border);
      color: var(--text-main);
    }
    .price-cta-outline:hover { border-color: var(--lavender); color: var(--lavender); }
    .price-cta-filled {
      background: var(--lavender);
      color: var(--ink);
      box-shadow: 0 4px 20px rgba(224,192,232,0.2);
    }
    .price-cta-filled:hover { background: #EDD4F4; transform: translateY(-1px); }
    .price-note {
      text-align: center;
      margin-top: 28px;
      font-size: 13px;
      color: var(--text-muted);
    }
    .price-note a { color: var(--lavender); }

    /* ─── HLPF CALLOUT ────────────────────────────────────────────────────── */
    .hlpf-band {
      padding: 60px 0;
      background: linear-gradient(135deg, #1A1028 0%, #1E0A16 100%);
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
    }
    .hlpf-inner {
      max-width: var(--max);
      margin: 0 auto;
      padding: 0 24px;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 40px;
      align-items: center;
    }
    .hlpf-inner h2 {
      font-family: var(--serif);
      font-size: 32px;
      font-weight: 300;
      color: var(--text-main);
      margin-bottom: 8px;
    }
    .hlpf-inner h2 em { color: var(--butter); font-style: italic; }
    .hlpf-inner p { font-size: 14px; color: var(--text-muted); max-width: 520px; line-height: 1.7; }
    .btn-butter {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: var(--butter);
      color: var(--ink);
      font-size: 14px;
      font-weight: 600;
      padding: 14px 28px;
      border-radius: 100px;
      text-decoration: none;
      white-space: nowrap;
      transition: all 0.2s;
    }
    .btn-butter:hover { background: #FFE080; transform: translateY(-1px); }

    /* ─── TESTIMONIALS ────────────────────────────────────────────────────── */
    .testimonials { background: var(--surface); }
    .testi-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 20px;
    }
    .testi-card {
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      padding: 28px;
    }
    .testi-stars { color: var(--amber); font-size: 14px; margin-bottom: 14px; }
    .testi-text {
      font-family: var(--serif);
      font-size: 17px;
      font-weight: 300;
      font-style: italic;
      color: var(--text-main);
      line-height: 1.65;
      margin-bottom: 18px;
    }
    .testi-name { font-size: 13px; font-weight: 600; color: var(--lavender); }
    .testi-role { font-size: 12px; color: var(--text-muted); }

    /* ─── FAQ ─────────────────────────────────────────────────────────────── */
    .faq-list { max-width: 740px; margin: 0 auto; }
    .faq-item {
      border-bottom: 1px solid var(--border);
      padding: 20px 0;
    }
    .faq-q {
      font-size: 15px;
      font-weight: 500;
      color: var(--text-main);
      cursor: pointer;
      display: flex;
      justify-content: space-between; gap: 24px;
      align-items: center;
      gap: 16px;
      list-style: none;
      user-select: none;
    }
    .faq-q::-webkit-details-marker { display: none; }
    .faq-q .arrow {
      flex-shrink: 0;
      width: 20px; height: 20px;
      border-radius: 50%;
      border: 1px solid var(--border);
      display: flex; align-items: center; justify-content: center;
      font-size: 12px;
      color: var(--lavender);
      transition: transform 0.2s;
    }
    details[open] .faq-q .arrow { transform: rotate(45deg); }
    .faq-a {
      font-size: 14px;
      color: var(--text-muted);
      line-height: 1.75;
      padding: 14px 0 4px;
    }

    /* ─── FINAL CTA ───────────────────────────────────────────────────────── */
    .final-cta {
      padding: 120px 0;
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    .final-cta::before {
      content: '';
      position: absolute; inset: 0;
      background: radial-gradient(ellipse 60% 80% at 50% 50%, rgba(224,192,232,0.06) 0%, transparent 70%);
      pointer-events: none;
    }
    .final-cta h2 {
      font-size: clamp(36px, 5vw, 64px);
      font-weight: 300;
      color: var(--text-main);
      margin-bottom: 20px;
    }
    .final-cta h2 em { color: var(--lavender); font-style: italic; }
    .final-cta p {
      font-size: 16px;
      color: var(--text-muted);
      max-width: 480px;
      margin: 0 auto 40px;
      line-height: 1.75;
    }
    .final-cta-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

    /* ─── FOOTER ──────────────────────────────────────────────────────────── */
    footer {
      background: var(--surface);
      border-top: 1px solid var(--border);
      padding: 48px 0 32px;
    }
    .footer-grid {
      display: grid;
      grid-template-columns: 1.5fr 1fr 1fr 1fr;
      gap: 40px;
      margin-bottom: 40px;
    }
    .footer-brand .brand-name {
      font-family: var(--serif);
      font-size: 20px;
      font-weight: 400;
      color: var(--lavender);
      margin-bottom: 10px;
    }
    .footer-brand .brand-name span { color: var(--butter); font-style: italic; }
    .footer-brand p { font-size: 13px; color: var(--text-muted); line-height: 1.7; max-width: 240px; }
    .footer-col h4 {
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--text-muted);
      margin-bottom: 16px;
      font-family: var(--sans);
    }
    .footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
    .footer-col ul a {
      font-size: 13px;
      color: var(--text-muted);
      text-decoration: none;
      transition: color 0.2s;
    }
    .footer-col ul a:hover { color: var(--lavender); }
    .footer-bottom {
      border-top: 1px solid var(--border);
      padding-top: 24px;
      display: flex;
      justify-content: space-between; gap: 24px;
      align-items: center;
      flex-wrap: wrap;
      gap: 12px;
    }
    .footer-bottom p { font-size: 12px; color: var(--text-muted); }
    .footer-bottom a { color: var(--text-muted); text-decoration: none; }
    .footer-bottom a:hover { color: var(--lavender); }

    /* ─── COUNTDOWN BAND ──────────────────────────────────────────────────── */
    .countdown-band {
      background: linear-gradient(90deg, var(--card), var(--surface));
      border: 1px solid var(--border);
      border-radius: 16px;
      padding: 32px;
      margin: 0 auto 64px;
      max-width: 700px;
      text-align: center;
    }
    .countdown-label {
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--amber);
      margin-bottom: 16px;
    }
    .countdown-units {
      display: flex;
      justify-content: center;
      gap: 24px;
    }
    .countdown-unit { text-align: center; }
    .countdown-num {
      font-family: var(--serif);
      font-size: 48px;
      font-weight: 300;
      color: var(--text-main);
      display: block;
      line-height: 1;
    }
    .countdown-unit-label {
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--text-muted);
    }
    .countdown-sep {
      font-family: var(--serif);
      font-size: 40px;
      color: var(--border);
      align-self: center;
      padding-bottom: 8px;
    }

    /* ─── GLOW / PREMIUM CARD FEEL ───────────────────────────────────────── */
    .session-card, .price-card, .audience-card, .aifm-card, .testi-card {
      box-shadow: 0 2px 24px rgba(0,0,0,0.28), 0 0 0 1px var(--border);
      border: none !important;
      transition: box-shadow 0.3s, transform 0.25s;
    }
    .session-card:hover, .price-card:hover, .aifm-card:hover {
      box-shadow: 0 8px 48px rgba(0,0,0,0.36), 0 0 32px var(--glow-lav), 0 0 0 1px rgba(224,192,232,0.35);
    }
    .price-card.best-value {
      box-shadow: 0 8px 40px rgba(0,0,0,0.30), 0 0 40px var(--glow-lav), 0 0 0 1px rgba(224,192,232,0.4);
    }

    /* ─── JUDI / MEET SECTION GRID ────────────────────────────────────────── */
    .judi-grid {
      display: grid;
      grid-template-columns: 320px 1fr;
      gap: 64px;
      align-items: start;
    }
    .judi-photo-wrap {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }
    .judi-photo-wrap img {
      border-radius: 16px;
      box-shadow: 0 12px 60px rgba(0,0,0,0.45), 0 0 40px var(--glow-lav);
      width: 100%;
    }
    .judi-accent-photo {
      border-radius: 12px;
      box-shadow: 0 8px 32px rgba(0,0,0,0.35);
      width: 100%;
      object-fit: cover;
      max-height: 200px;
    }

    /* ─── PHOTO STRIP ─────────────────────────────────────────────────────── */
    .photo-strip {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
      padding: 60px 0;
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
      background: var(--surface);
    }
    .photo-strip img {
      border-radius: 14px;
      width: 100%;
      height: 340px;
      object-fit: cover;
      box-shadow: 0 8px 40px rgba(0,0,0,0.40);
      transition: transform 0.3s;
    }
    .photo-strip img:hover { transform: scale(1.015); }

    /* ─── HLPF PHOTO GRID ─────────────────────────────────────────────────── */
    .hlpf-photo-grid {
      display: grid;
      grid-template-columns: 1fr 280px;
      gap: 40px;
      align-items: center;
    }
    .hlpf-event-photo {
      border-radius: 12px;
      width: 100%;
      box-shadow: 0 8px 32px rgba(0,0,0,0.40), 0 0 0 1px rgba(255,240,192,0.2);
    }

    /* ─── RESPONSIVE ──────────────────────────────────────────────────────── */
    @media (max-width: 900px) {
      .judi-grid {
        grid-template-columns: 1fr;
      }
      .judi-photo-wrap {
        flex-direction: row;
        max-height: 280px;
      }
      .judi-photo-wrap img:first-child { flex: 1; }
      .judi-accent-photo { max-height: 280px; flex: 1; }
      .hlpf-photo-grid { grid-template-columns: 1fr; }
      .hlpf-event-photo { max-height: 240px; object-fit: cover; }
      .photo-strip { grid-template-columns: 1fr; }
      .photo-strip img { height: 260px; }
    }
    @media (max-width: 880px) {
      .hero-grid { grid-template-columns: 1fr; }
      .hero-card { display: none; }
      .session-card { grid-template-columns: 1fr; gap: 16px; }
      .session-num { font-size: 36px; }
      .session-date-col { display: flex; gap: 12px; align-items: center; }
      .footer-grid { grid-template-columns: 1fr 1fr; }
      .hlpf-inner { grid-template-columns: 1fr !important; }
      .hlpf-inner > div:last-child { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
      .nav-links { display: none; }
    }
    @media (max-width: 600px) {
      .judi-photo-wrap { flex-direction: column; max-height: none; }
      .judi-accent-photo { max-height: 180px; }
      .hero { min-height: 80vh; padding: 60px 0 40px; }
      h1.hero-title { font-size: clamp(34px, 9vw, 64px); }
      .hlpf-band { padding: 40px 0; }
    }
    @media (max-width: 520px) {
      .footer-grid { grid-template-columns: 1fr; }
      .countdown-units { gap: 12px; }
      .countdown-num { font-size: 36px; }
      .pricing-grid { grid-template-columns: 1fr; }
      .aifm-grid { grid-template-columns: 1fr; }
      .audience-grid { grid-template-columns: 1fr; }
      .testi-grid { grid-template-columns: 1fr; }
      .container { padding: 0 16px; }
    }

    /* ═══════════════════════════════════════════════════════════════════════
       ADDITIONS — 14 Aug 2026 rebuild
       Small, additive rules only. Nothing above this line was changed.
       ═══════════════════════════════════════════════════════════════════════ */

    /* Per-session book button + price, so every card converts on its own */
    .session-cta-col {
      display: flex; flex-direction: column; align-items: center;
      gap: 10px; min-width: 92px;
    }
    .session-price {
      font-family: var(--serif);
      font-size: 26px; font-weight: 300; color: var(--text-main);
      line-height: 1;
    }
    .session-price small {
      display: block; font-family: var(--sans);
      font-size: 10px; font-weight: 600; letter-spacing: 0.1em;
      text-transform: uppercase; color: var(--text-muted); margin-top: 6px;
    }
    .session-book {
      display: inline-flex; align-items: center; justify-content: center;
      background: var(--lavender); color: var(--ink);
      font-size: 12px; font-weight: 600; letter-spacing: 0.02em;
      padding: 10px 20px; border-radius: 100px;
      text-decoration: none; white-space: nowrap;
      transition: background 0.2s, transform 0.15s;
    }
    .session-book:hover { background: #EDD4F4; transform: translateY(-1px); }
    .session-card { grid-template-columns: 74px 1fr auto auto; }
    @media (max-width: 880px) {
      .session-card { grid-template-columns: 1fr; }
      .session-cta-col { flex-direction: row; align-items: center; justify-content: flex-start; gap: 16px; }
      .session-price small { display: inline; margin: 0 0 0 6px; }
    }

    /* Two-tier price block for the retreat card */
    .price-tiers { display: flex; flex-direction: column; gap: 10px; }
    .price-tier {
      display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
      padding: 10px 14px; border-radius: 10px;
      background: rgba(224,192,232,0.05);
      box-shadow: inset 0 0 0 1px rgba(224,192,232,0.14);
    }
    .price-tier b { font-family: var(--serif); font-size: 15px; font-weight: 400; color: var(--text-main); }
    .price-tier span { font-family: var(--serif); font-size: 22px; font-weight: 300; color: var(--text-main); }

    /* Honest-pricing callout — lunch policy + what the retreat tier buys */
    .plain-note {
      max-width: 780px; margin: 40px auto 0;
      background: rgba(224,192,232,0.04);
      border-left: 2px solid var(--lavender);
      border-radius: 0 12px 12px 0;
      padding: 22px 26px;
    }
    .plain-note h4 {
      font-family: var(--sans); font-size: 11px; font-weight: 700;
      letter-spacing: 0.12em; text-transform: uppercase;
      color: var(--lavender); margin-bottom: 12px;
    }
    .plain-note p { font-size: 13.5px; color: var(--text-muted); line-height: 1.75; }
    .plain-note p + p { margin-top: 10px; }
    .plain-note strong { color: var(--text-main); font-weight: 500; }

    /* Photo strip: keep the images inside the page container, band full-bleed */
    .photo-strip-band {
      background: var(--surface);
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
    }
    .photo-strip.container {
      border: 0; background: none;
      max-width: var(--max); margin: 0 auto;
      padding-left: 24px; padding-right: 24px;
    }
    @media (max-width: 520px) { .photo-strip.container { padding-left: 16px; padding-right: 16px; } }

    /* Four audience cards read better as one clean row on desktop */
    @media (min-width: 1000px) {
      .audience-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    }

    /* 'Most Popular' badge was colliding with the label beneath it */
    .price-card.best-value { padding-top: calc(clamp(28px, 2.6vw, 36px) + 18px); }

    /* Accessibility: visible focus ring on the plum ground */
    a:focus-visible, summary:focus-visible {
      outline: 2px solid var(--butter); outline-offset: 3px; border-radius: 4px;
    }
    .skip-link {
      position: absolute; left: -9999px; top: 0; z-index: 200;
      background: var(--lavender); color: var(--ink);
      padding: 10px 18px; font-size: 13px; font-weight: 600; border-radius: 0 0 10px 0;
    }
    .skip-link:focus { left: 0; }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
    }

    /* ═══════════════════════════════════════════════════════════════════════
       GLASS LAYER — 14 Aug 2026
       Presentation only. No markup, no copy, no colour-system changes.
       Everything here is additive and can be deleted as one block.
       ═══════════════════════════════════════════════════════════════════════ */

    :root {
      --glass-card:    rgba(58, 32, 85, 0.44);
      --glass-surface: rgba(46, 26, 69, 0.46);
      --glass-sheen:   linear-gradient(158deg,
                         rgba(255,255,255,0.075) 0%,
                         rgba(255,255,255,0.022) 34%,
                         rgba(255,255,255,0) 62%);
      --glass-edge:
        inset 0 1px 0 rgba(255,255,255,0.13),
        inset 0 -1px 0 rgba(0,0,0,0.22),
        inset 1px 0 0 rgba(255,255,255,0.045),
        inset -1px 0 0 rgba(255,255,255,0.045);
      --glass-lift: 0 20px 56px -18px rgba(0,0,0,0.62), 0 4px 16px -6px rgba(0,0,0,0.4);
      --glass-ring: 0 0 0 1px rgba(224,192,232,0.16);
      --ease: cubic-bezier(0.22, 0.68, 0.36, 1);
    }

    html { scroll-padding-top: 84px; }

    /* ── Ambient aurora: the field the glass blurs ──────────────────────── */
    body::before {
      content: '';
      position: fixed;
      inset: -15%;
      z-index: 0;
      pointer-events: none;
      background:
        radial-gradient(ellipse 46% 34% at 14%  6%,  rgba(221,184,232,0.20), transparent 62%),
        radial-gradient(ellipse 42% 30% at 88% 20%,  rgba(200,130,42,0.14),  transparent 64%),
        radial-gradient(ellipse 52% 40% at 74% 62%,  rgba(150,112,224,0.17), transparent 66%),
        radial-gradient(ellipse 44% 32% at 18% 84%,  rgba(255,240,192,0.09), transparent 62%),
        radial-gradient(ellipse 38% 28% at 52% 40%,  rgba(224,192,232,0.08), transparent 60%);
      filter: blur(34px);
      animation: aurora-drift 46s var(--ease) infinite alternate;
      will-change: transform;
    }
    @keyframes aurora-drift {
      0%   { transform: translate3d(0, 0, 0) scale(1); }
      50%  { transform: translate3d(-1.6%, 1.4%, 0) scale(1.045); }
      100% { transform: translate3d(1.4%, -1.2%, 0) scale(1.02); }
    }

    /* ── Fine grain: kills banding, adds print-like depth ───────────────── */
    body::after {
      content: '';
      position: fixed;
      inset: 0;
      z-index: 9998;
      pointer-events: none;
      opacity: 0.032;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
    }

    /* ── Lift real content above the aurora, and let it glow through ────── */
    nav, section, footer,
    .trust-bar, .photo-strip-band, .hlpf-band { position: relative; z-index: 1; }

    .sessions, .testimonials, .trust-bar, .photo-strip-band { background: var(--glass-surface); }
    .pricing { background: transparent; }
    footer { background: var(--glass-surface); }
    .hlpf-band {
      background: linear-gradient(135deg, rgba(26,16,40,0.72) 0%, rgba(30,10,22,0.72) 100%);
      backdrop-filter: blur(14px) saturate(140%);
      -webkit-backdrop-filter: blur(14px) saturate(140%);
    }

    /* ── Nav: the most-seen piece of glass on the page ──────────────────── */
    nav {
      background: rgba(29,17,40,0.58);
      backdrop-filter: blur(24px) saturate(180%);
      -webkit-backdrop-filter: blur(24px) saturate(180%);
      box-shadow: inset 0 -1px 0 rgba(224,192,232,0.16), 0 8px 32px -12px rgba(0,0,0,0.55);
      border-bottom: 0;
    }

    /* ── The cards ──────────────────────────────────────────────────────── */
    .session-card, .price-card, .audience-card, .aifm-card, .testi-card,
    .hero-card, .countdown-band, .plain-note, .hero-date-item, .price-tier {
      position: relative;
      isolation: isolate;
      background-color: var(--glass-card);
      background-image: var(--glass-sheen);
      backdrop-filter: blur(16px) saturate(155%);
      -webkit-backdrop-filter: blur(16px) saturate(155%);
      box-shadow: var(--glass-edge), var(--glass-lift), var(--glass-ring);
      transition: transform 0.42s var(--ease), box-shadow 0.42s var(--ease),
                  background-color 0.42s var(--ease);
    }
    .session-card, .price-card, .audience-card, .aifm-card, .testi-card { overflow: hidden; }
    .countdown-band, .plain-note { border: 0; }
    /* Slightly deeper glass here so the small amber label clears AA contrast */
    .countdown-band {
      background-color: rgba(42, 21, 65, 0.58);
      background-image: linear-gradient(158deg,
        rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.014) 34%, rgba(255,255,255,0) 62%);
    }
    .plain-note {
      box-shadow: var(--glass-edge), var(--glass-lift), inset 2px 0 0 var(--lavender);
      border-left: 0;
    }
    .hero-date-item, .price-tier {
      backdrop-filter: blur(8px) saturate(130%);
      -webkit-backdrop-filter: blur(8px) saturate(130%);
      background-color: rgba(255,255,255,0.045);
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.10), 0 0 0 1px rgba(224,192,232,0.12);
    }

    /* Specular highlight — a soft light source at the top-left of each card */
    .session-card::after, .price-card::after, .audience-card::after,
    .aifm-card::after, .testi-card::after, .hero-card::after {
      content: '';
      position: absolute;
      inset: 0;
      z-index: -1;
      pointer-events: none;
      background: radial-gradient(ellipse 62% 46% at 12% -8%,
                  rgba(255,255,255,0.10), transparent 66%);
      opacity: 0.85;
      transition: opacity 0.42s var(--ease);
    }

    /* Hover: lift, brighten, bloom */
    .session-card:hover, .price-card:hover, .aifm-card:hover,
    .audience-card:hover, .testi-card:hover {
      background-color: rgba(64, 36, 94, 0.52);
      box-shadow:
        var(--glass-edge),
        0 30px 72px -20px rgba(0,0,0,0.68),
        0 0 44px -6px var(--glow-lav),
        0 0 0 1px rgba(224,192,232,0.34);
    }
    .session-card:hover { transform: translateX(4px) translateY(-2px); }
    .price-card:hover, .aifm-card:hover, .audience-card:hover, .testi-card:hover {
      transform: translateY(-5px);
    }
    .session-card:hover::after, .price-card:hover::after, .aifm-card:hover::after,
    .audience-card:hover::after, .testi-card:hover::after { opacity: 1; }

    /* Featured + best-value keep their identity, in glass */
    .session-card.featured {
      background-image: var(--glass-sheen),
        linear-gradient(135deg, rgba(200,130,42,0.10) 0%, rgba(200,130,42,0.02) 60%);
      box-shadow: var(--glass-edge), var(--glass-lift),
                  0 0 0 1px rgba(200,130,42,0.34), 0 0 40px -10px var(--glow-amb);
    }
    .session-card.featured:hover {
      box-shadow: var(--glass-edge),
                  0 30px 72px -20px rgba(0,0,0,0.68),
                  0 0 48px -6px var(--glow-amb),
                  0 0 0 1px rgba(200,130,42,0.5);
    }
    .price-card.best-value {
      background-image: var(--glass-sheen),
        linear-gradient(160deg, rgba(224,192,232,0.09) 0%, rgba(224,192,232,0.02) 60%);
      box-shadow: var(--glass-edge), var(--glass-lift),
                  0 0 52px -8px var(--glow-lav), 0 0 0 1px rgba(224,192,232,0.42);
    }

    /* ── Buttons ────────────────────────────────────────────────────────── */
    .btn-primary, .nav-cta, .price-cta-filled, .session-book, .btn-butter {
      position: relative;
      overflow: hidden;
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.5),
        inset 0 -1px 0 rgba(0,0,0,0.12),
        0 6px 22px -6px rgba(224,192,232,0.5),
        0 2px 8px -2px rgba(0,0,0,0.4);
      transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease),
                  background 0.3s var(--ease);
    }
    .btn-butter { box-shadow: inset 0 1px 0 rgba(255,255,255,0.55), 0 6px 22px -6px rgba(255,240,192,0.45); }
    .btn-primary:hover, .nav-cta:hover, .price-cta-filled:hover,
    .session-book:hover, .btn-butter:hover {
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.6),
        0 12px 34px -8px rgba(224,192,232,0.62),
        0 4px 12px -3px rgba(0,0,0,0.45);
    }
    /* Sheen sweep on hover */
    .btn-primary::after, .nav-cta::after, .price-cta-filled::after, .session-book::after {
      content: '';
      position: absolute; top: 0; bottom: 0; left: -140%; width: 60%;
      background: linear-gradient(100deg, transparent, rgba(255,255,255,0.55), transparent);
      transform: skewX(-18deg);
      pointer-events: none;
    }
    .btn-primary:hover::after, .nav-cta:hover::after,
    .price-cta-filled:hover::after, .session-book:hover::after {
      animation: sheen 0.85s var(--ease) 1;
    }
    @keyframes sheen { to { left: 160%; } }

    .btn-secondary, .price-cta-outline {
      background: rgba(255,255,255,0.05);
      backdrop-filter: blur(12px) saturate(140%);
      -webkit-backdrop-filter: blur(12px) saturate(140%);
      border-color: rgba(224,192,232,0.28);
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.10), 0 4px 18px -8px rgba(0,0,0,0.5);
      transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease),
                  background 0.3s var(--ease), border-color 0.3s var(--ease);
    }
    .btn-secondary:hover, .price-cta-outline:hover {
      background: rgba(224,192,232,0.12);
      border-color: rgba(224,192,232,0.55);
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.16), 0 10px 30px -10px rgba(224,192,232,0.32);
    }

    /* ── Chips, tags, tools ─────────────────────────────────────────────── */
    .topic-chip, .aifm-tool, .tag, .date-badge {
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
    }
    .topic-chip {
      background: rgba(255,255,255,0.055);
      border-color: rgba(224,192,232,0.18);
      transition: background 0.3s var(--ease), color 0.3s var(--ease),
                  border-color 0.3s var(--ease);
    }
    .session-card:hover .topic-chip {
      background: rgba(224,192,232,0.11);
      border-color: rgba(224,192,232,0.3);
      color: var(--text-main);
    }
    .date-badge { background: rgba(255,255,255,0.06); }

    /* ── Photos: glass frames ───────────────────────────────────────────── */
    .photo-strip img, .judi-photo-wrap img, .hlpf-event-photo {
      box-shadow:
        0 20px 60px -18px rgba(0,0,0,0.68),
        0 0 0 1px rgba(224,192,232,0.18),
        inset 0 1px 0 rgba(255,255,255,0.12);
      transition: transform 0.5s var(--ease), box-shadow 0.5s var(--ease);
    }
    .photo-strip img:hover {
      transform: scale(1.018) translateY(-3px);
      box-shadow: 0 28px 76px -20px rgba(0,0,0,0.72), 0 0 40px -8px var(--glow-lav),
                  0 0 0 1px rgba(224,192,232,0.34);
    }

    /* ── FAQ rows: glass on open ────────────────────────────────────────── */
    .faq-item {
      border-radius: 12px;
      padding-left: 18px; padding-right: 18px;
      transition: background 0.35s var(--ease), box-shadow 0.35s var(--ease);
    }
    .faq-item:hover { background: rgba(255,255,255,0.03); }
    .faq-item[open] {
      background: var(--glass-card);
      backdrop-filter: blur(14px) saturate(150%);
      -webkit-backdrop-filter: blur(14px) saturate(150%);
      box-shadow: var(--glass-edge), 0 14px 40px -16px rgba(0,0,0,0.55);
      border-bottom-color: transparent;
    }
    .faq-q .arrow {
      background: rgba(255,255,255,0.06);
      transition: transform 0.3s var(--ease), background 0.3s var(--ease);
    }
    .faq-item:hover .faq-q .arrow { background: rgba(224,192,232,0.18); }

    /* ── Countdown: give the numbers a light source ─────────────────────── */
    .countdown-num { text-shadow: 0 2px 24px rgba(224,192,232,0.35); }
    .hero-title, .section-header h2, .final-cta h2 { text-shadow: 0 2px 40px rgba(0,0,0,0.35); }

    /* ── Scroll reveal (added by JS; safe if JS never runs) ─────────────── */
    .reveal {
      opacity: 0;
      transform: translateY(22px);
      transition: opacity 0.85s var(--ease), transform 0.85s var(--ease);
      will-change: opacity, transform;
    }
    .reveal.is-in { opacity: 1; transform: none; }

    /* ── Graceful fallback where backdrop-filter is unsupported ─────────── */
    @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
      .session-card, .price-card, .audience-card, .aifm-card, .testi-card,
      .hero-card, .countdown-band, .plain-note, .faq-item[open] { background-color: rgba(58,32,85,0.94); }
      nav { background: rgba(29,17,40,0.97); }
      .sessions, .testimonials, .trust-bar, .photo-strip-band, footer { background: var(--surface); }
      .btn-secondary, .price-cta-outline { background: rgba(224,192,232,0.07); }
    }

    /* ── Mobile: keep it buttery. Fewer blur surfaces, same look. ───────── */
    @media (max-width: 880px) {
      .audience-card, .aifm-card, .testi-card, .hero-date-item, .price-tier {
        backdrop-filter: none; -webkit-backdrop-filter: none;
        background-color: rgba(58,32,85,0.72);
      }
      .session-card, .price-card { backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
      body::before { filter: blur(28px); animation: none; }
      .session-card:hover { transform: none; }
    }

    @media (prefers-reduced-motion: reduce) {
      body::before { animation: none; }
      .reveal { opacity: 1; transform: none; transition: none; }
      .btn-primary:hover::after, .nav-cta:hover::after,
      .price-cta-filled:hover::after, .session-book:hover::after { animation: none; }
    }

    /* ═══════════════════════════════════════════════════════════════════════
       SMOOTH PASS — 14 Aug 2026
       Breathing room and calmer motion. Spacing, weight and rhythm only —
       no copy, no colours, no structure.
       ═══════════════════════════════════════════════════════════════════════ */

    /* ── Air. The single biggest fix for "clustered". ───────────────────── */
    section { padding: clamp(76px, 8.5vw, 136px) 0; }
    section + section { padding-top: 0; }

    .section-header { margin-bottom: clamp(48px, 5.5vw, 76px); }
    .section-header p { max-width: 52ch; line-height: 1.8; }

    .session-grid { gap: clamp(18px, 2vw, 26px); }
    .aifm-grid, .audience-grid, .testi-grid, .pricing-grid { gap: clamp(18px, 2vw, 26px); }

    .session-card { padding: clamp(26px, 2.6vw, 38px); gap: clamp(20px, 2.4vw, 34px); }
    .aifm-card, .audience-card, .testi-card { padding: clamp(26px, 2.4vw, 34px); }
    .price-card { padding: clamp(28px, 2.6vw, 36px); gap: 22px; }

    .session-body p, .aifm-card p, .audience-card p { line-height: 1.78; }
    .session-body h3, .aifm-card h3, .audience-card h3 { margin-bottom: 10px; }

    /* ── Chips: pills, not boxes. Half the visual noise. ────────────────── */
    .topic-chip {
      border-radius: 100px;
      border-color: transparent;
      background: rgba(255,255,255,0.052);
      padding: 5px 13px;
      font-size: 11.5px;
      letter-spacing: 0.01em;
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.07);
    }
    .session-topics { gap: 7px; margin-top: 18px; }
    .aifm-tools { gap: 7px; margin-top: 16px; }
    .aifm-tool { padding: 4px 11px; }

    /* ── Trust bar: a real grid, so nothing orphans onto its own line ───── */
    .trust-bar { padding: 28px 0; }
    .trust-inner {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px 30px;
      align-items: start;
    }
    .trust-item { line-height: 1.55; align-items: flex-start; }
    .trust-icon { margin-top: 1px; }
    @media (max-width: 900px) { .trust-inner { grid-template-columns: 1fr 1fr; } }
    @media (max-width: 560px) { .trust-inner { grid-template-columns: 1fr; gap: 14px; } }

    /* ── Section close: gives the AI Toolkit section a way out ──────────── */
    .section-close {
      margin-top: clamp(40px, 4.5vw, 64px);
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 16px;
      text-align: center;
    }
    .section-close-note {
      font-size: 13.5px;
      color: var(--text-muted);
      max-width: 44ch;
      line-height: 1.7;
    }
    .section-close-note a {
      color: var(--lavender);
      text-decoration: none;
      box-shadow: 0 1px 0 rgba(224,192,232,0.4);
      transition: box-shadow 0.25s var(--ease);
    }
    .section-close-note a:hover { box-shadow: 0 1px 0 var(--lavender); }

    /* ── Lighter shadows: airy, not heavy ───────────────────────────────── */
    :root { --glass-lift: 0 16px 44px -20px rgba(0,0,0,0.52), 0 3px 12px -6px rgba(0,0,0,0.32); }

    /* ── Calmer motion: one direction, no sideways jump ─────────────────── */
    .session-card:hover { transform: translateY(-3px); }
    .reveal { transform: translateY(14px); transition-duration: 0.95s; }

    /* ── Mobile rhythm ──────────────────────────────────────────────────── */
    @media (max-width: 880px) {
      .session-card { padding: 26px 24px; }
      .session-topics { margin-top: 16px; }
      .section-close { margin-top: 40px; }
      .judi-photo-wrap { gap: 14px; }
    }

    /* ═══════════════════════════════════════════════════════════════════════
       PAYOFF LINE — 14 Aug 2026
       Makes "Purpose-Driven AI. Real-World Business Impact." read as the
       tagline it is, not just another section header. Additive only.
       ═══════════════════════════════════════════════════════════════════════ */
    h2.payoff-line, h2.payoff-line em {
      font-weight: 500;
      letter-spacing: 0.005em;
    }
    h2.payoff-line {
      font-size: clamp(38px, 5.8vw, 66px);
      background: linear-gradient(100deg, var(--butter) 0%, var(--lavender) 52%, var(--amber) 100%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: var(--lavender); /* fallback if background-clip:text is unsupported */
      text-shadow: none;
      position: relative;
      display: block;
      margin-bottom: 22px;
    }
    h2.payoff-line em {
      font-style: italic;
      background: inherit;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: var(--lavender);
    }
    h2.payoff-line::after {
      content: '';
      position: absolute;
      left: 50%;
      bottom: -14px;
      transform: translateX(-50%);
      width: 96px;
      height: 3px;
      border-radius: 100px;
      background: linear-gradient(90deg, var(--butter), var(--lavender), var(--amber));
      box-shadow: 0 0 22px 2px var(--glow-lav);
    }
    @supports not ((background-clip: text) or (-webkit-background-clip: text)) {
      h2.payoff-line, h2.payoff-line em { color: var(--butter); -webkit-text-fill-color: initial; }
    }

    /* ═══════════════════════════════════════════════════════════════════════
       STACKED HEADINGS — 14 Aug 2026
       Any "Statement one. Statement two." headline reads as two centered
       lines, one on top of the other, at every viewport — not a soft-wrap
       that depends on browser width. Applied to: Five Sessions / One
       Transformation, Purpose-Driven AI / Real-World Business Impact,
       Honest Pricing / Premium Value. Additive only.
       ═══════════════════════════════════════════════════════════════════════ */
    h2.stacked-heading { line-height: 1.28; }
    h2.stacked-heading br { content: ''; display: block; margin-top: 2px; }

    /* Guarantee the longer second line ("Real-World Business Impact.") never
       wraps a third time on narrow phones — the payoff line gets its own
       tighter floor below the general clamp(), tuned against measured text
       width so each tier clears its viewport with real margin to spare. */
    @media (max-width: 480px) {
      h2.payoff-line { font-size: 28px; letter-spacing: 0; }
      h2.stacked-heading { line-height: 1.22; }
    }
    @media (max-width: 400px) {
      h2.payoff-line { font-size: 24px; }
    }
    @media (max-width: 340px) {
      h2.payoff-line { font-size: 20px; }
    }


/* ═══ Multi-page additions (Judi & Laude, Oct 2026) ═══ */
.nav-links a[aria-current="page"] { color: var(--lavender); }
.page-tabs { display: none; }
@media (max-width: 880px) {
  .page-tabs {
    display: flex; gap: 8px; overflow-x: auto; padding: 10px 16px 12px;
    border-bottom: 1px solid var(--border); scrollbar-width: none; -webkit-overflow-scrolling: touch;
  }
  .page-tabs::-webkit-scrollbar { display: none; }
  .page-tabs a {
    flex: 0 0 auto; font-size: 13px; font-weight: 500; padding: 8px 14px; border-radius: 100px;
    border: 1px solid var(--border); color: var(--text-muted); text-decoration: none;
  }
  .page-tabs a[aria-current="page"] { background: var(--lavender); color: var(--ink); border-color: var(--lavender); }
}
a.explore-card { display: block; text-decoration: none; color: inherit; transition: transform .2s, border-color .2s; }
a.explore-card:hover { transform: translateY(-3px); border-color: var(--lavender); }
.explore-go { display: inline-block; margin-top: 14px; font-size: 13px; font-weight: 600; color: var(--lavender); }
.rooms-teaser-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 12px; text-decoration: none; }
.rooms-teaser-grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); border: 1px solid var(--border); display: block; transition: transform .25s; }
.rooms-teaser-grid:hover img { transform: scale(1.015); }
.rooms-cta { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 32px; }
img.crop-top { object-position: top center; }
.rooms-hero { padding-bottom: 0; }
.rooms-block { padding: 40px 0 72px; }
.rooms-head { max-width: 640px; margin: 0 auto 32px; text-align: center; }
.rooms-head h3 { font-family: var(--serif); font-weight: 300; font-size: clamp(28px, 3.4vw, 40px); color: var(--text-main); margin: 14px 0 12px; }
.rooms-head h3 em { font-style: italic; color: var(--lavender); }
.rooms-head p { color: var(--text-muted); line-height: 1.8; font-size: 15px; }
.rooms-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 14px; }
.rooms-grid figure { margin: 0; position: relative; overflow: hidden; border-radius: var(--radius); border: 1px solid var(--border); background: var(--card); }
.rooms-grid img { width: 100%; height: 100%; object-fit: cover; display: block; }
.r-wide { grid-column: span 8; aspect-ratio: 4 / 3; }
.r-tall { grid-column: span 4; }
.r-tall img { position: absolute; inset: 0; }
.r-half { grid-column: span 6; aspect-ratio: 4 / 3; }
.rooms-grid-natural { align-items: start; }
.r-card { grid-column: span 4; aspect-ratio: 4 / 5; }
.r-fill { grid-column: span 8; }
.r-fill img { position: absolute; inset: 0; }
.r-full { grid-column: span 12; aspect-ratio: 2 / 1; }
.r-full img { object-position: center 40%; }
.rooms-credit a { color: var(--lavender); text-decoration: none; }
.r-portrait { aspect-ratio: 4 / 5; }
.rooms-credit { text-align: center; font-size: 12px; color: var(--text-muted); margin-top: 14px; letter-spacing: .04em; }
@media (max-width: 700px) {
  .rooms-grid > figure { grid-column: span 12; }
  .r-tall { aspect-ratio: 3 / 4; }
  .r-fill { aspect-ratio: 4 / 3; }
  .r-full { aspect-ratio: 4 / 3; }
  .rooms-teaser-grid { grid-template-columns: 1fr 1fr; }
  .rooms-teaser-grid img:first-child { grid-column: span 2; }
}

.rooms-mosaic { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.rooms-mosaic figure { grid-column: span 2; margin: 0; }
.rooms-mosaic figure.m-big { grid-column: span 3; }
.rooms-mosaic img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; border-radius: var(--radius); border: 1px solid var(--border); background: var(--card); }
.rooms-mosaic figcaption { margin-top: 10px; font-size: 13px; line-height: 1.5; color: var(--text-muted); }
.rooms-mosaic figcaption strong { color: var(--lavender); font-weight: 600; }
@media (max-width: 700px) {
  .rooms-mosaic { grid-template-columns: 1fr; }
  .rooms-mosaic figure, .rooms-mosaic figure.m-big { grid-column: auto; }
}
