/* ============ DESIGN TOKENS ============ */
  :root {
    /* Refined palette — sophisticated warm neutrals with a single signature accent */
    --bg: #F5F1EA;                    /* Warm paper */
    --bg-raised: #FAF7F1;             /* Card surface */
    --bg-deep: #ECE5D8;               /* Subtle depth */
    --ink: #0F0E0D;                   /* Near-black primary */
    --ink-70: #3A3834;                /* Secondary text */
    --ink-50: #6B6660;                /* Muted text */
    --ink-30: #A8A29A;                /* Tertiary */
    --ink-10: #D9D2C5;                /* Dividers */
    --ink-05: rgba(15, 14, 13, 0.06); /* Soft lines */

    --accent: #B23A1D;                /* Burnt sienna — refined, premium, hospitality */
    --accent-deep: #8B2C14;
    --accent-soft: rgba(178, 58, 29, 0.08);

    --dark-bg: #0F0E0D;
    --dark-ink: #F5F1EA;
    --dark-ink-70: rgba(245, 241, 234, 0.72);
    --dark-ink-50: rgba(245, 241, 234, 0.5);
    --dark-line: rgba(245, 241, 234, 0.12);

    /* Spacing scale (8px base) */
    --s-1: 4px;
    --s-2: 8px;
    --s-3: 12px;
    --s-4: 16px;
    --s-6: 24px;
    --s-8: 32px;
    --s-10: 40px;
    --s-12: 48px;
    --s-16: 64px;
    --s-20: 80px;
    --s-24: 96px;
    --s-32: 128px;
    --s-40: 160px;

    /* Type scale */
    --t-micro: 11px;
    --t-caption: 13px;
    --t-small: 14px;
    --t-body: 16px;
    --t-lead: 19px;
    --t-h4: 22px;
    --t-h3: 28px;
    --t-h2: clamp(32px, 3.6vw, 48px);
    --t-h1: clamp(44px, 5.8vw, 80px);
    --t-display: clamp(56px, 8vw, 112px);

    /* Curves */
    --r-sm: 8px;
    --r-md: 14px;
    --r-lg: 20px;
    --r-xl: 28px;
    --r-full: 999px;

    /* Transitions */
    --ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  }

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

  html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
  }

  body {
    margin: 0;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-weight: 400;
    font-size: var(--t-body);
    line-height: 1.55;
    color: var(--ink);
    background: var(--bg);
    overflow-x: hidden;
    font-feature-settings: "ss01", "cv11";
  }

  img { max-width: 100%; display: block; height: auto; }
  a { color: inherit; text-decoration: none; }
  button { font-family: inherit; cursor: pointer; }

  /* Typography classes */
  .display, h1, h2, h3, h4 {
    font-family: 'Fraunces', 'Times New Roman', serif;
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 1.02;
    color: var(--ink);
    margin: 0;
  }
  .display {
    font-size: var(--t-display);
    font-weight: 300;
    letter-spacing: -0.035em;
  }
  h1 {
    font-size: var(--t-h1);
    font-weight: 400;
    letter-spacing: -0.03em;
    line-height: 0.98;
  }
  h2 {
    font-size: var(--t-h2);
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 1.04;
  }
  h3 {
    font-size: var(--t-h3);
    font-weight: 500;
    letter-spacing: -0.015em;
    line-height: 1.15;
  }
  h4 {
    font-size: var(--t-h4);
    font-weight: 500;
    letter-spacing: -0.01em;
    line-height: 1.25;
  }
  em {
    font-style: italic;
    font-family: 'Fraunces', serif;
    font-weight: 300;
    color: var(--accent);
  }
  .lead {
    font-size: var(--t-lead);
    line-height: 1.5;
    color: var(--ink-70);
    font-weight: 400;
  }
  .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: var(--t-micro);
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--accent);
    font-family: 'Inter', sans-serif;
  }
  .eyebrow::before {
    content: '';
    width: 20px;
    height: 1px;
    background: currentColor;
  }
  .eyebrow-centered {
    justify-content: center;
  }
  .eyebrow-centered::after {
    content: '';
    width: 20px;
    height: 1px;
    background: currentColor;
  }

  .container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 var(--s-8);
  }
  .container-narrow {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 var(--s-8);
  }

  /* ============ BUTTONS ============ */
  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 28px;
    border-radius: var(--r-full);
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 15px;
    letter-spacing: -0.005em;
    border: 1px solid transparent;
    transition: all 0.25s var(--ease);
    white-space: nowrap;
    line-height: 1;
  }
  .btn svg {
    width: 14px;
    height: 14px;
    transition: transform 0.25s var(--ease);
  }
  .btn:hover svg { transform: translateX(3px); }

  .btn-primary {
    background: var(--ink);
    color: var(--bg);
    border-color: var(--ink);
  }
  .btn-primary:hover {
    background: var(--accent);
    border-color: var(--accent);
  }

  .btn-ghost {
    background: transparent;
    color: var(--ink);
    border-color: var(--ink-10);
  }
  .btn-ghost:hover {
    border-color: var(--ink);
    background: var(--bg-raised);
  }

  .btn-accent {
    background: var(--accent);
    color: var(--bg);
    border-color: var(--accent);
  }
  .btn-accent:hover {
    background: var(--accent-deep);
    border-color: var(--accent-deep);
  }

  /* ============ ANNOUNCEMENT BAR ============ */
  .announce {
    background: var(--ink);
    color: var(--dark-ink-70);
    font-size: var(--t-caption);
    text-align: center;
    padding: 11px var(--s-6);
    font-weight: 400;
    letter-spacing: 0.01em;
  }
  .announce strong {
    color: var(--bg);
    font-weight: 500;
  }
  .announce .divider {
    display: inline-block;
    margin: 0 12px;
    opacity: 0.35;
  }

  /* ============ NAV ============ */
  .nav {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(245, 241, 234, 0.88);
    backdrop-filter: blur(16px) saturate(1.1);
    -webkit-backdrop-filter: blur(16px) saturate(1.1);
    border-bottom: 1px solid var(--ink-05);
  }
  .nav-inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    padding: 18px var(--s-8);
    max-width: 1240px;
    margin: 0 auto;
    gap: var(--s-8);
  }
  .nav-left, .nav-right {
    display: flex;
    align-items: center;
    gap: 36px;
    font-size: var(--t-small);
    font-weight: 500;
  }
  .nav-right { justify-content: flex-end; }
  .nav-left a, .nav-right a:not(.btn) {
    color: var(--ink-70);
    transition: color 0.2s;
    position: relative;
  }
  .nav-left a:hover, .nav-right a:not(.btn):hover { color: var(--ink); }
  .nav-logo {
    display: block;
    height: 40px;
    width: auto;
  }
  .nav-cta {
    padding: 11px 20px;
    font-size: 14px;
  }
  .nav-phone {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-variant-numeric: tabular-nums;
  }
  .nav-phone svg { width: 14px; height: 14px; opacity: 0.7; }
  .nav-toggle {
    display: none;
    background: none;
    border: none;
    padding: 8px;
  }
  .nav-toggle svg { width: 22px; height: 22px; stroke: var(--ink); }

  /* ============ HERO ============ */
  .hero {
    padding: var(--s-24) 0 var(--s-12);
    position: relative;
    overflow: hidden;
  }
  .hero-inner {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: var(--s-16);
    align-items: center;
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 var(--s-8);
  }
  .hero-copy {
    position: relative;
  }
  .hero-eyebrow {
    margin-bottom: var(--s-6);
  }
  .hero-headline {
    margin-bottom: var(--s-6);
  }
  .hero-sub {
    max-width: 520px;
    margin: 0 0 var(--s-10);
  }
  .hero-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: var(--s-12);
  }
  .hero-trust {
    display: flex;
    align-items: center;
    gap: var(--s-6);
    padding-top: var(--s-6);
    border-top: 1px solid var(--ink-05);
  }
  .hero-trust-stars {
    display: flex;
    gap: 2px;
    color: var(--accent);
  }
  .hero-trust-stars svg { width: 15px; height: 15px; }
  .hero-trust-text {
    font-size: var(--t-small);
    color: var(--ink-70);
    line-height: 1.4;
  }
  .hero-trust-text strong {
    color: var(--ink);
    font-weight: 600;
  }

  /* Hero visual side */
  .hero-visual {
    position: relative;
    aspect-ratio: 4 / 5;
    max-height: 640px;
  }
  .hero-visual-frame {
    position: absolute;
    inset: 0;
    border-radius: var(--r-xl);
    overflow: hidden;
    background: var(--bg-deep);
    box-shadow:
      0 30px 60px -20px rgba(15, 14, 13, 0.25),
      0 0 0 1px var(--ink-05);
  }
  .hero-visual-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  /* Floating stats badge */
  .hero-stat-badge {
    position: absolute;
    bottom: -20px;
    left: -24px;
    background: var(--bg-raised);
    border: 1px solid var(--ink-05);
    border-radius: var(--r-lg);
    padding: 18px 24px;
    box-shadow: 0 20px 40px -12px rgba(15, 14, 13, 0.15);
    display: flex;
    align-items: center;
    gap: 16px;
    max-width: 280px;
  }
  .hero-stat-big {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 48px;
    line-height: 1;
    letter-spacing: -0.03em;
    color: var(--ink);
  }
  .hero-stat-big span { color: var(--accent); font-weight: 500; }
  .hero-stat-label {
    font-size: var(--t-caption);
    color: var(--ink-50);
    line-height: 1.3;
    font-weight: 500;
  }
  .hero-stat-label strong { color: var(--ink); font-weight: 600; }

  /* ============ TRUST STRIP ============ */
  .trust-strip {
    padding: var(--s-10) 0;
    border-top: 1px solid var(--ink-05);
    border-bottom: 1px solid var(--ink-05);
    background: var(--bg-raised);
  }
  .trust-strip-inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 var(--s-8);
    display: grid;
    grid-template-columns: auto repeat(4, 1fr);
    align-items: center;
    gap: var(--s-8);
  }
  .trust-strip-label {
    font-size: var(--t-micro);
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--ink-50);
    padding-right: var(--s-8);
    border-right: 1px solid var(--ink-10);
    line-height: 1.3;
  }
  .trust-strip-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  .trust-strip-num {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 1;
    letter-spacing: -0.02em;
    color: var(--ink);
  }
  .trust-strip-num span { color: var(--accent); font-style: italic; font-weight: 300; }
  .trust-strip-desc {
    font-size: var(--t-micro);
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--ink-50);
  }

  /* ============ GENERIC SECTION ============ */
  .section {
    padding: var(--s-32) 0;
  }
  .section-tight {
    padding: var(--s-20) 0;
  }
  .section-head {
    text-align: center;
    max-width: 720px;
    margin: 0 auto var(--s-16);
  }
  .section-head .eyebrow {
    margin-bottom: var(--s-6);
  }
  .section-head h2 {
    margin-bottom: var(--s-6);
  }
  .section-head .lead {
    max-width: 620px;
    margin: 0 auto;
  }

  /* ============ PATHS (WHO IS THIS FOR) ============ */
  .paths {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  .path {
    position: relative;
    background: var(--bg-raised);
    border: 1px solid var(--ink-05);
    border-radius: var(--r-xl);
    padding: var(--s-12) var(--s-10) var(--s-10);
    display: flex;
    flex-direction: column;
    min-height: 440px;
    transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease), border-color 0.3s;
    overflow: hidden;
  }
  .path:hover {
    transform: translateY(-4px);
    border-color: var(--ink);
    box-shadow: 0 30px 60px -24px rgba(15, 14, 13, 0.2);
  }
  .path::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: var(--ink);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s var(--ease);
  }
  .path:hover::before { transform: scaleX(1); }
  .path-2::before { background: var(--accent); }

  .path-label {
    display: inline-block;
    font-size: var(--t-caption);
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: var(--s-8);
    padding: 8px 14px;
    background: var(--accent-soft);
    border-radius: var(--r-full);
    line-height: 1;
  }
  .path-1 .path-label {
    color: var(--ink);
    background: rgba(15, 14, 13, 0.07);
  }
  .path-title {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 40px;
    letter-spacing: -0.025em;
    line-height: 1;
    margin: 0 0 var(--s-6);
  }
  .path-title em {
    font-style: italic;
    color: var(--accent);
    font-weight: 300;
  }
  .path-desc {
    font-size: var(--t-body);
    line-height: 1.55;
    color: var(--ink-70);
    margin: 0 0 var(--s-8);
    max-width: 440px;
  }
  .path-features {
    list-style: none;
    padding: 0;
    margin: 0 0 var(--s-10);
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .path-features li {
    font-size: 15px;
    color: var(--ink-70);
    display: flex;
    align-items: flex-start;
    gap: 12px;
    line-height: 1.45;
  }
  .path-features li svg {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin-top: 3px;
    color: var(--accent);
  }
  .path-cta {
    margin-top: auto;
    align-self: flex-start;
  }

  /* ============ GALLERY — HERO ============ */
  .gallery-hero {
    position: relative;
    border-radius: var(--r-xl);
    overflow: hidden;
    background: var(--ink);
    max-width: 1100px;
    margin: 0 auto var(--s-10);
    aspect-ratio: 4 / 3;
    max-height: 720px;
    box-shadow:
      0 40px 80px -30px rgba(15, 14, 13, 0.3),
      0 0 0 1px var(--ink-05);
  }
  .gallery-hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .gallery-hero-overlay {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: var(--s-10);
    background: linear-gradient(to top, rgba(15, 14, 13, 0.92) 0%, rgba(15, 14, 13, 0.45) 55%, rgba(15, 14, 13, 0) 100%);
    color: var(--bg);
  }
  .gallery-hero-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: var(--t-micro);
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    background: rgba(245, 241, 234, 0.14);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(245, 241, 234, 0.18);
    color: var(--bg);
    padding: 6px 12px;
    border-radius: var(--r-full);
    margin-bottom: var(--s-4);
  }
  .gallery-hero-tag::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--accent);
  }
  .gallery-hero-title {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 36px;
    letter-spacing: -0.02em;
    margin-bottom: 6px;
    color: var(--bg);
  }
  .gallery-hero-sub {
    font-size: var(--t-body);
    color: rgba(245, 241, 234, 0.72);
    font-weight: 400;
  }

  /* Designs label divider */
  .designs-divider {
    display: flex;
    align-items: center;
    gap: var(--s-6);
    max-width: 1100px;
    margin: var(--s-16) auto var(--s-10);
  }
  .designs-divider-line {
    flex: 1;
    height: 1px;
    background: var(--ink-10);
  }
  .designs-divider-label {
    font-size: var(--t-micro);
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--ink-50);
  }

  /* Gallery grid */
  .gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
  .gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: var(--r-lg);
    background: var(--bg-deep);
    aspect-ratio: 4 / 3;
    box-shadow: 0 0 0 1px var(--ink-05);
    transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
  }
  .gallery-item.square { aspect-ratio: 1 / 1; }
  .gallery-item:hover {
    transform: translateY(-4px);
    box-shadow:
      0 24px 40px -14px rgba(15, 14, 13, 0.22),
      0 0 0 1px var(--ink-10);
  }
  .gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s var(--ease);
  }
  .gallery-item:hover img { transform: scale(1.03); }
  .gallery-cap {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: var(--s-6);
    background: linear-gradient(to top, rgba(15, 14, 13, 0.9) 0%, rgba(15, 14, 13, 0) 100%);
    color: var(--bg);
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.35s var(--ease), transform 0.35s var(--ease);
  }
  .gallery-item:hover .gallery-cap {
    opacity: 1;
    transform: translateY(0);
  }
  .gallery-cap-title {
    font-family: 'Fraunces', serif;
    font-weight: 500;
    font-size: 18px;
    letter-spacing: -0.01em;
    margin-bottom: 2px;
  }
  .gallery-cap-sub {
    font-size: var(--t-caption);
    color: rgba(245, 241, 234, 0.72);
  }

  /* ============ VALUE STACK ============ */
  .value-stack {
    background: var(--ink);
    color: var(--dark-ink);
  }
  .value-stack .section-head { margin-bottom: var(--s-12); }
  .value-stack .eyebrow { color: #D97757; }
  .value-stack .eyebrow::before,
  .value-stack .eyebrow::after { background: #D97757; }
  .value-stack h2 { color: var(--bg); }
  .value-stack h2 em { color: #D97757; font-weight: 300; }
  .value-stack .lead { color: var(--dark-ink-70); }
  .value-stack-grid {
    max-width: 860px;
    margin: 0 auto;
    border-top: 1px solid var(--dark-line);
  }
  .value-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: var(--s-8);
    align-items: center;
    padding: var(--s-6) 0;
    border-bottom: 1px solid var(--dark-line);
  }
  .value-desc {
    font-size: var(--t-body);
    color: var(--bg);
    line-height: 1.4;
    font-weight: 400;
  }
  .value-desc-sub {
    font-size: var(--t-caption);
    color: var(--dark-ink-50);
    margin-top: 2px;
    line-height: 1.4;
  }
  .value-price {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 20px;
    color: var(--dark-ink-50);
    text-decoration: line-through;
    text-decoration-thickness: 1.5px;
    letter-spacing: -0.01em;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }
  .value-yours {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: var(--t-caption);
    color: #D97757;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    white-space: nowrap;
  }
  .value-total {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: var(--s-8);
    align-items: center;
    padding: var(--s-8) 0 0;
  }
  .value-total-label {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 24px;
    letter-spacing: -0.02em;
    color: var(--bg);
  }
  .value-total-label em { color: #D97757; font-weight: 300; }
  .value-total-old {
    font-family: 'Fraunces', serif;
    font-size: 26px;
    color: var(--dark-ink-50);
    text-decoration: line-through;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
  }
  .value-total-new {
    font-family: 'Fraunces', serif;
    font-weight: 500;
    font-size: 40px;
    color: #D97757;
    letter-spacing: -0.03em;
  }
  .value-footnote {
    text-align: center;
    font-size: var(--t-caption);
    color: var(--dark-ink-50);
    margin-top: var(--s-8);
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.5;
    font-style: italic;
  }

  /* ============ ECOSYSTEM / ADVERTISER SECTION ============ */
  .ecosystem {
    background: var(--bg);
    padding: var(--s-32) 0;
  }
  .ecosystem-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--s-16);
    align-items: center;
    max-width: 1200px;
    margin: 0 auto var(--s-16);
    padding: 0 var(--s-8);
  }
  .ecosystem-copy .eyebrow { margin-bottom: var(--s-6); }
  .ecosystem-copy h2 { margin-bottom: var(--s-6); }
  .ecosystem-copy .lead { margin-bottom: var(--s-8); }
  .ecosystem-visual {
    position: relative;
    aspect-ratio: 1 / 1;
    max-width: 420px;
    margin: 0 auto;
  }
  .ecosystem-svg { width: 100%; height: 100%; }
  .ecosystem-benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--s-8);
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 var(--s-8);
  }
  .ecosystem-benefit-icon {
    width: 48px;
    height: 48px;
    border-radius: var(--r-md);
    background: var(--accent-soft);
    color: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--s-4);
  }
  .ecosystem-benefit-icon svg { width: 22px; height: 22px; }
  .ecosystem-benefit h3 {
    font-family: 'Fraunces', serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.15;
    letter-spacing: -0.015em;
    margin: 0 0 var(--s-3);
  }
  .ecosystem-benefit p {
    font-size: 15px;
    line-height: 1.55;
    color: var(--ink-70);
    margin: 0;
  }
  .ecosystem-quote {
    max-width: 780px;
    margin: var(--s-16) auto 0;
    padding: var(--s-10);
    background: var(--bg-raised);
    border-radius: var(--r-xl);
    text-align: center;
    border: 1px solid var(--ink-05);
  }
  .ecosystem-quote p {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 400;
    font-size: 22px;
    line-height: 1.4;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin: 0 0 var(--s-4);
  }
  .ecosystem-quote-attribution {
    font-size: 13px;
    color: var(--ink-50);
    letter-spacing: 0.05em;
  }
  .ecosystem-cta {
    text-align: center;
    margin-top: var(--s-10);
    padding: 0 var(--s-8);
  }

  /* ============ OBJECTION KILLER ============ */
  .objection {
    background: var(--bg-raised);
    padding: var(--s-32) 0;
  }
  .objection-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--s-8);
    max-width: 1180px;
    margin: 0 auto;
  }
  .objection-item {
    padding: var(--s-8);
    background: var(--bg);
    border-radius: var(--r-xl);
    border: 1px solid var(--ink-05);
    transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
  }
  .objection-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 32px -12px rgba(15, 14, 13, 0.12);
  }
  .objection-q {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 400;
    font-size: 13px;
    color: var(--accent);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-style: normal;
    font-weight: 600;
    margin-bottom: var(--s-3);
  }
  .objection-item h3 {
    font-family: 'Fraunces', serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -0.015em;
    margin: 0 0 var(--s-4);
  }
  .objection-item p {
    font-size: 15px;
    line-height: 1.55;
    color: var(--ink-70);
    margin: 0;
  }
  .agreement-reassure {
    text-align: center;
    max-width: 640px;
    margin: var(--s-10) auto 0;
    font-size: 15px;
    color: var(--ink-50);
    line-height: 1.55;
  }
  .agreement-reassure a {
    color: var(--accent);
    font-weight: 500;
    border-bottom: 1px solid var(--accent-soft);
    transition: border-color 0.2s;
  }
  .agreement-reassure a:hover {
    border-bottom-color: var(--accent);
  }

  /* ============ FINAL CTA ============ */
  .final-cta {
    background: var(--ink);
    color: var(--dark-ink);
    padding: var(--s-32) 0;
    text-align: center;
    position: relative;
    overflow: hidden;
  }
  .final-cta-inner {
    max-width: 760px;
    margin: 0 auto;
    padding: 0 var(--s-8);
    position: relative;
  }
  .final-cta .eyebrow { color: #D97757; justify-content: center; }
  .final-cta .eyebrow::before,
  .final-cta .eyebrow::after { background: #D97757; }
  .final-cta h2 {
    font-family: 'Fraunces', serif;
    font-weight: 300;
    font-size: clamp(40px, 5vw, 64px);
    line-height: 1.02;
    letter-spacing: -0.03em;
    color: var(--bg);
    margin: var(--s-6) 0 var(--s-6);
  }
  .final-cta h2 em { color: #D97757; font-weight: 300; }
  .final-cta-sub {
    font-size: var(--t-lead);
    line-height: 1.5;
    color: var(--dark-ink-70);
    margin: 0 0 var(--s-10);
  }
  .final-cta-actions {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: var(--s-8);
  }
  .final-cta-actions .btn-primary {
    background: #D97757;
    border-color: #D97757;
    color: var(--ink);
    font-weight: 600;
  }
  .final-cta-actions .btn-primary:hover {
    background: var(--bg);
    border-color: var(--bg);
  }
  .final-cta-actions .btn-ghost {
    background: transparent;
    color: var(--bg);
    border-color: var(--dark-line);
  }
  .final-cta-actions .btn-ghost:hover {
    background: rgba(245, 241, 234, 0.06);
    border-color: var(--bg);
  }
  .final-cta-reassure {
    font-size: var(--t-caption);
    color: var(--dark-ink-50);
    display: inline-flex;
    align-items: center;
    gap: var(--s-4);
    flex-wrap: wrap;
    justify-content: center;
  }
  .final-cta-reassure span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }
  .final-cta-reassure svg {
    width: 14px;
    height: 14px;
    color: #D97757;
  }

  /* ============ STICKY MOBILE CTA ============ */
  .sticky-cta {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 50;
    background: var(--ink);
    padding: 12px 16px;
    box-shadow: 0 -8px 24px rgba(15, 14, 13, 0.15);
    gap: 10px;
    align-items: center;
  }
  .sticky-cta .sticky-info {
    flex: 1;
    color: var(--bg);
    font-size: 13px;
    line-height: 1.25;
  }
  .sticky-cta .sticky-info strong {
    font-family: 'Fraunces', serif;
    font-weight: 500;
    font-size: 15px;
    display: block;
    letter-spacing: -0.01em;
  }
  .sticky-cta .sticky-info span {
    color: var(--dark-ink-50);
    font-size: 11.5px;
  }
  .sticky-cta-btn {
    background: #D97757;
    color: var(--ink);
    padding: 12px 18px;
    border-radius: var(--r-full);
    font-weight: 600;
    font-size: 14px;
    white-space: nowrap;
    text-decoration: none;
    transition: background 0.2s;
  }
  .sticky-cta-btn:hover { background: var(--bg); }

  /* ============ HOW IT WORKS ============ */
  .how {
    background: var(--bg-raised);
  }
  .steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--s-10);
    counter-reset: step;
  }
  .steps-4 {
    grid-template-columns: repeat(4, 1fr);
    gap: var(--s-8);
  }
  .step {
    position: relative;
    padding-top: var(--s-10);
    counter-increment: step;
  }
  .step::before {
    content: counter(step, decimal-leading-zero);
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 300;
    font-size: 14px;
    color: var(--accent);
    letter-spacing: 0.05em;
    display: block;
    margin-bottom: var(--s-4);
  }
  .step::after {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 40px;
    height: 1px;
    background: var(--accent);
  }
  .step h3 {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 26px;
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin: 0 0 var(--s-4);
  }
  .step p {
    font-size: 15.5px;
    line-height: 1.55;
    color: var(--ink-70);
    margin: 0;
  }

  /* ============ MISSION ============ */
  .mission {
    background: var(--ink);
    color: var(--dark-ink);
  }
  .mission-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 var(--s-8);
  }
  .mission-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: var(--s-20);
    align-items: start;
  }
  .mission-head .eyebrow {
    color: #D97757;
    margin-bottom: var(--s-6);
  }
  .mission-head .eyebrow::before { background: #D97757; }
  .mission-title {
    font-family: 'Fraunces', serif;
    font-weight: 300;
    font-size: clamp(38px, 4.6vw, 56px);
    line-height: 1.02;
    letter-spacing: -0.03em;
    color: var(--bg);
    margin: 0 0 var(--s-6);
  }
  .mission-title em {
    font-style: italic;
    color: #D97757;
    font-weight: 300;
  }
  .mission-intro {
    font-size: var(--t-lead);
    line-height: 1.5;
    color: var(--dark-ink-70);
    margin: 0;
  }
  .mission-points {
    list-style: none;
    padding: 0;
    margin: 0 0 var(--s-10);
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .mission-points li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--s-6);
    align-items: start;
    padding: var(--s-6) 0;
    border-bottom: 1px solid var(--dark-line);
    font-size: var(--t-body);
    line-height: 1.5;
    color: var(--dark-ink-70);
  }
  .mission-points li:first-child { padding-top: 0; }
  .mission-points li:last-child { border-bottom: none; }
  .mission-num {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 300;
    color: #D97757;
    font-size: 14px;
    padding-top: 3px;
    letter-spacing: 0.02em;
    min-width: 28px;
  }
  .mission-quote {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 300;
    font-size: 24px;
    line-height: 1.4;
    letter-spacing: -0.015em;
    color: var(--bg);
    padding: var(--s-8);
    border-left: 2px solid #D97757;
    margin: 0 0 var(--s-8);
    background: rgba(217, 119, 87, 0.05);
  }
  .mission-close {
    font-size: var(--t-body);
    line-height: 1.6;
    color: var(--dark-ink-70);
    margin: 0;
  }

  /* ============ TESTIMONIAL ============ */
  .quote {
    padding: var(--s-24) 0;
    text-align: center;
    position: relative;
    overflow: hidden;
  }
  .quote::before {
    content: '"';
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 380px;
    line-height: 1;
    color: var(--accent);
    opacity: 0.08;
    pointer-events: none;
  }
  .quote-inner {
    max-width: 840px;
    margin: 0 auto;
    padding: 0 var(--s-8);
    position: relative;
  }
  .quote-text {
    font-family: 'Fraunces', serif;
    font-weight: 300;
    font-size: clamp(26px, 3.2vw, 40px);
    line-height: 1.3;
    letter-spacing: -0.02em;
    color: var(--ink);
    margin: 0 0 var(--s-8);
  }
  .quote-author {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding-top: var(--s-6);
    border-top: 1px solid var(--ink-10);
  }
  .quote-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--accent);
    color: var(--bg);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Fraunces', serif;
    font-weight: 500;
    font-size: 17px;
  }
  .quote-meta {
    text-align: left;
  }
  .quote-name {
    font-weight: 600;
    font-size: var(--t-small);
    color: var(--ink);
  }
  .quote-role {
    font-size: var(--t-caption);
    color: var(--ink-50);
  }

  /* ============ FAQ ============ */
  .faq {
    background: var(--bg-raised);
  }
  .faq-list {
    max-width: 860px;
    margin: 0 auto;
  }
  .faq-item {
    border-bottom: 1px solid var(--ink-10);
  }
  .faq-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-6);
    padding: var(--s-8) 0;
    cursor: pointer;
    font-family: 'Fraunces', serif;
    font-weight: 500;
    font-size: 21px;
    letter-spacing: -0.015em;
    color: var(--ink);
    list-style: none;
    transition: color 0.2s;
  }
  .faq-item summary::-webkit-details-marker { display: none; }
  .faq-item summary:hover { color: var(--accent); }
  .faq-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid var(--ink-10);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s var(--ease);
    position: relative;
  }
  .faq-icon::before, .faq-icon::after {
    content: '';
    position: absolute;
    background: var(--ink-70);
    transition: transform 0.3s var(--ease);
  }
  .faq-icon::before { width: 10px; height: 1.5px; }
  .faq-icon::after { width: 1.5px; height: 10px; }
  .faq-item[open] .faq-icon {
    background: var(--ink);
    border-color: var(--ink);
  }
  .faq-item[open] .faq-icon::before,
  .faq-item[open] .faq-icon::after { background: var(--bg); }
  .faq-item[open] .faq-icon::after { transform: rotate(90deg); }
  .faq-body {
    padding: 0 0 var(--s-8);
    font-size: var(--t-body);
    line-height: 1.6;
    color: var(--ink-70);
    max-width: 700px;
  }

  /* ============ CONTACT ============ */
  .contact-grid {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: var(--s-16);
    align-items: start;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--s-8);
  }
  .contact-left h2 {
    margin-bottom: var(--s-6);
  }
  .contact-left .lead {
    margin-bottom: var(--s-10);
    max-width: 420px;
  }
  .contact-methods {
    display: flex;
    flex-direction: column;
  }
  .contact-method {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--s-6);
    padding: var(--s-6) 0;
    border-top: 1px solid var(--ink-10);
    align-items: center;
  }
  .contact-method:last-child { border-bottom: 1px solid var(--ink-10); }
  .contact-method-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--ink);
    color: var(--bg);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .contact-method-icon svg { width: 15px; height: 15px; }
  .contact-method-label {
    font-size: var(--t-micro);
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--ink-50);
    margin-bottom: 2px;
  }
  .contact-method-value {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 22px;
    letter-spacing: -0.015em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
    transition: color 0.2s;
  }
  .contact-method a.contact-method-value:hover { color: var(--accent); }

  /* Form */
  .contact-form {
    background: var(--bg-raised);
    border: 1px solid var(--ink-05);
    border-radius: var(--r-xl);
    padding: var(--s-12);
    box-shadow: 0 20px 40px -20px rgba(15, 14, 13, 0.12);
  }
  .contact-form h3 {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 26px;
    letter-spacing: -0.02em;
    margin: 0 0 var(--s-8);
  }
  .form-row { margin-bottom: var(--s-4); }
  .form-row-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--s-3);
  }
  .form-label {
    display: block;
    font-size: var(--t-caption);
    font-weight: 500;
    color: var(--ink-70);
    margin-bottom: 6px;
    letter-spacing: -0.005em;
  }
  .form-input, .form-select, .form-textarea {
    width: 100%;
    padding: 13px 16px;
    border: 1px solid var(--ink-10);
    border-radius: var(--r-md);
    background: var(--bg);
    font-family: inherit;
    font-size: 15px;
    color: var(--ink);
    transition: border-color 0.2s, box-shadow 0.2s;
  }
  .form-input:focus, .form-select:focus, .form-textarea:focus {
    outline: none;
    border-color: var(--ink);
    box-shadow: 0 0 0 3px var(--ink-05);
  }
  .form-textarea { resize: vertical; min-height: 100px; font-family: inherit; }
  .form-submit {
    width: 100%;
    padding: 16px;
    background: var(--ink);
    color: var(--bg);
    border: none;
    border-radius: var(--r-full);
    font-family: inherit;
    font-weight: 500;
    font-size: 15px;
    letter-spacing: -0.005em;
    margin-top: var(--s-4);
    transition: background 0.25s var(--ease), transform 0.25s var(--ease);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }
  .form-submit:hover {
    background: var(--accent);
    transform: translateY(-1px);
  }
  .form-submit svg { width: 14px; height: 14px; }
  .form-note {
    font-size: var(--t-caption);
    color: var(--ink-50);
    text-align: center;
    margin: var(--s-4) 0 0;
    line-height: 1.4;
  }

  /* ============ FOOTER ============ */
  .footer {
    background: var(--ink);
    color: var(--dark-ink-70);
    padding: var(--s-20) 0 var(--s-6);
    font-size: var(--t-small);
  }
  .footer-top {
    display: grid;
    grid-template-columns: 2.2fr 1fr 1fr 1.3fr;
    gap: var(--s-12);
    padding-bottom: var(--s-12);
    border-bottom: 1px solid var(--dark-line);
  }
  .footer-logo {
    height: 40px;
    width: auto;
    margin-bottom: var(--s-6);
  }
  .footer-about {
    max-width: 360px;
    line-height: 1.6;
    color: var(--dark-ink-70);
    font-size: var(--t-small);
    margin: 0 0 var(--s-6);
  }
  .footer-since {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 300;
    font-size: 15px;
    color: #D97757;
  }
  .footer-since::before {
    content: '';
    width: 20px;
    height: 1px;
    background: currentColor;
  }
  .footer h4 {
    color: var(--bg);
    font-family: 'Inter', sans-serif;
    font-size: var(--t-micro);
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin: 0 0 var(--s-6);
  }
  .footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .footer ul a {
    color: var(--dark-ink-70);
    transition: color 0.2s;
    font-size: var(--t-small);
  }
  .footer ul a:hover { color: var(--bg); }
  .footer-contact-value {
    font-family: 'Fraunces', serif;
    font-size: 18px;
    font-weight: 400;
    color: var(--bg);
    display: block;
    margin-bottom: 4px;
    letter-spacing: -0.01em;
    font-variant-numeric: tabular-nums;
    transition: color 0.2s;
  }
  a.footer-contact-value:hover { color: #D97757; }
  .footer-contact-label {
    font-size: var(--t-caption);
    color: var(--dark-ink-50);
    margin-bottom: var(--s-4);
    display: block;
  }
  .footer-bottom {
    padding-top: var(--s-6);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--s-4);
    font-size: var(--t-caption);
    color: var(--dark-ink-50);
  }
  .footer-bottom a { color: var(--dark-ink-50); }
  .footer-bottom a:hover { color: var(--dark-ink-70); }

  /* ============ RESPONSIVE ============ */
  @media (max-width: 1100px) {
    .hero-inner { grid-template-columns: 1fr 0.85fr; gap: var(--s-12); }
    .gallery-grid { grid-template-columns: repeat(2, 1fr); }
    .trust-strip-inner { grid-template-columns: auto repeat(2, 1fr); gap: var(--s-6); }
    .trust-strip-inner .trust-strip-item:nth-child(4),
    .trust-strip-inner .trust-strip-item:nth-child(5) { display: none; }
    .steps-4 { grid-template-columns: repeat(2, 1fr); gap: var(--s-10); }
    .ecosystem-grid { grid-template-columns: 1fr; gap: var(--s-12); }
    .ecosystem-visual { max-width: 340px; }
    .ecosystem-benefits { grid-template-columns: 1fr; gap: var(--s-6); }
  }

  @media (max-width: 860px) {
    :root {
      --s-24: 72px;
      --s-32: 96px;
    }
    body {
      padding-bottom: 76px;
    }
    .sticky-cta {
      display: flex;
    }
    .container, .container-narrow { padding: 0 20px; }

    .announce { font-size: 11.5px; padding: 9px 16px; }
    .announce .divider { display: none; }
    .announce .mobile-short { display: inline; }
    .announce .mobile-hide { display: none; }

    /* Nav */
    .nav-inner {
      grid-template-columns: auto 1fr auto;
      padding: 14px 20px;
      gap: var(--s-4);
    }
    .nav-left, .nav-right { display: none; }
    .nav-left.open, .nav-right.open {
      display: flex;
      position: absolute;
      top: 100%;
      left: 0; right: 0;
      flex-direction: column;
      background: var(--bg);
      padding: var(--s-6);
      gap: var(--s-4);
      border-bottom: 1px solid var(--ink-10);
      align-items: stretch;
      font-size: var(--t-body);
    }
    .nav-toggle { display: block; }
    .nav-logo { height: 34px; }
    .nav-cta { display: none; }
    .nav-phone { display: none; }

    /* Hero */
    .hero { padding: var(--s-12) 0 var(--s-10); }
    .hero-inner {
      grid-template-columns: 1fr;
      gap: var(--s-10);
    }
    .hero-visual { aspect-ratio: 4 / 3; max-height: none; }
    .hero-stat-badge {
      bottom: -16px;
      left: 16px;
      right: 16px;
      max-width: none;
      padding: 14px 18px;
    }
    .hero-stat-big { font-size: 30px; }
    .hero-actions { flex-direction: column; align-items: stretch; }
    .hero-actions .btn { width: 100%; }

    /* Trust strip */
    .trust-strip { padding: var(--s-8) 0; }
    .trust-strip-inner {
      grid-template-columns: 1fr 1fr;
      gap: var(--s-6);
    }
    .trust-strip-label {
      grid-column: span 2;
      border-right: none;
      padding-right: 0;
      padding-bottom: var(--s-4);
      border-bottom: 1px solid var(--ink-10);
      text-align: center;
    }

    .section-head { margin-bottom: var(--s-10); }

    /* Paths */
    .paths { grid-template-columns: 1fr; gap: 16px; }
    .path { min-height: auto; padding: var(--s-8); }
    .path-title { font-size: 32px; }

    /* Gallery */
    .gallery-hero { aspect-ratio: 4 / 3; border-radius: var(--r-lg); }
    .gallery-hero-overlay { padding: var(--s-6); }
    .gallery-hero-title { font-size: 26px; }
    .gallery-grid { grid-template-columns: 1fr; gap: 14px; }
    .gallery-item { aspect-ratio: 4 / 3; }
    .gallery-item.square { aspect-ratio: 1 / 1; }
    .gallery-cap { opacity: 1; transform: translateY(0); }
    .designs-divider { margin: var(--s-10) auto var(--s-8); }

    /* Steps */
    .steps { grid-template-columns: 1fr; gap: var(--s-8); }
    .step { padding-top: var(--s-6); }

    /* Mission */
    .mission-grid { grid-template-columns: 1fr; gap: var(--s-10); }
    .mission-title { font-size: clamp(32px, 7vw, 42px); }
    .mission-quote { font-size: 19px; padding: var(--s-6); }

    /* Quote */
    .quote { padding: var(--s-16) 0; }
    .quote::before { font-size: 220px; top: -20px; }
    .quote-author { flex-direction: row; }

    /* FAQ */
    .faq-item summary { font-size: 17px; padding: var(--s-6) 0; gap: var(--s-4); }
    .faq-icon { width: 28px; height: 28px; }

    /* Contact */
    .contact-grid { grid-template-columns: 1fr; gap: var(--s-10); }
    .contact-form { padding: var(--s-8); }
    .form-row-split { grid-template-columns: 1fr; }

    /* Footer */
    .footer-top {
      grid-template-columns: 1fr 1fr;
      gap: var(--s-8);
    }
    .footer-col-about { grid-column: span 2; }
    .footer-bottom { flex-direction: column; text-align: center; gap: 8px; }

    /* Value stack mobile */
    .value-row {
      grid-template-columns: 1fr auto;
      gap: var(--s-4);
    }
    .value-price { grid-column: 2; grid-row: 1; }
    .value-yours {
      grid-column: 2;
      grid-row: 2;
      font-size: 11px;
    }
    .value-total {
      grid-template-columns: 1fr auto;
    }
    .value-total-old {
      grid-column: 2;
      grid-row: 1;
      font-size: 20px;
    }
    .value-total-new {
      grid-column: 2;
      grid-row: 2;
      font-size: 32px;
    }

    /* Objection killer mobile */
    .objection-grid {
      grid-template-columns: 1fr;
      gap: var(--s-4);
    }
    .objection { padding: var(--s-20) 0; }

    /* Final CTA mobile */
    .final-cta { padding: var(--s-20) 0; }
    .final-cta-actions { flex-direction: column; align-items: stretch; }
    .final-cta-actions .btn { width: 100%; }
  }

  @media (max-width: 480px) {
    .trust-strip-inner { grid-template-columns: 1fr; }
    .trust-strip-label { grid-column: span 1; }
    .footer-top { grid-template-columns: 1fr; }
    .footer-col-about { grid-column: span 1; }
  }

  /* Animations */
  @keyframes fadeUp {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
  }
  .hero-eyebrow { animation: fadeUp 0.7s 0.1s both; }
  .hero-headline { animation: fadeUp 0.75s 0.22s both; }
  .hero-sub { animation: fadeUp 0.75s 0.34s both; }
  .hero-actions { animation: fadeUp 0.75s 0.46s both; }
  .hero-trust { animation: fadeUp 0.75s 0.58s both; }
  .hero-visual { animation: fadeUp 0.8s 0.3s both; }

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

  /* ============ BRANCHING LANDING PAGE ============ */
  .split-hero {
    min-height: calc(100vh - 52px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--s-16) 0;
  }
  .split-intro {
    text-align: center;
    max-width: 820px;
    margin: 0 auto var(--s-12);
    padding: 0 var(--s-8);
  }
  .split-intro .eyebrow {
    justify-content: center;
    margin-bottom: var(--s-6);
  }
  .split-intro .eyebrow::after {
    content: '';
    width: 20px;
    height: 1px;
    background: currentColor;
  }
  .split-intro h1 {
    font-family: 'Fraunces', serif;
    font-weight: 300;
    font-size: clamp(42px, 5.5vw, 72px);
    line-height: 1.02;
    letter-spacing: -0.03em;
    margin: 0 0 var(--s-6);
  }
  .split-intro h1 em {
    color: var(--accent);
    font-weight: 300;
  }
  .split-intro p {
    font-size: var(--t-lead);
    line-height: 1.5;
    color: var(--ink-70);
    max-width: 620px;
    margin: 0 auto;
  }
  .split-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 var(--s-8);
  }
  .split-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: var(--s-12) var(--s-10);
    border-radius: var(--r-xl);
    min-height: 480px;
    overflow: hidden;
    transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
    text-decoration: none;
    color: inherit;
    border: 1px solid transparent;
  }
  .split-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 40px 80px -24px rgba(15, 14, 13, 0.3);
  }
  .split-card-restaurant {
    background: var(--ink);
    color: var(--dark-ink);
  }
  .split-card-advertiser {
    background: var(--accent);
    color: var(--bg);
  }
  .split-card-label {
    display: inline-block;
    font-size: var(--t-micro);
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    padding: 8px 14px;
    border-radius: var(--r-full);
    background: rgba(245, 241, 234, 0.14);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: var(--bg);
    margin-bottom: var(--s-8);
    align-self: flex-start;
    line-height: 1;
  }
  .split-card-title {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: clamp(32px, 3.8vw, 48px);
    line-height: 1.02;
    letter-spacing: -0.025em;
    margin: 0 0 var(--s-6);
    color: var(--bg);
  }
  .split-card-title em {
    font-style: italic;
    font-weight: 300;
  }
  .split-card-restaurant .split-card-title em {
    color: #D97757;
  }
  .split-card-advertiser .split-card-title em {
    color: var(--ink);
  }
  .split-card-desc {
    font-size: var(--t-body);
    line-height: 1.55;
    color: rgba(245, 241, 234, 0.82);
    margin: 0 0 var(--s-8);
    max-width: 420px;
  }
  .split-card-features {
    list-style: none;
    padding: 0;
    margin: 0 0 var(--s-10);
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .split-card-features li {
    font-size: 15px;
    color: rgba(245, 241, 234, 0.9);
    display: flex;
    align-items: flex-start;
    gap: 12px;
    line-height: 1.45;
  }
  .split-card-features li svg {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin-top: 3px;
    color: currentColor;
    opacity: 0.7;
  }
  .split-card-cta {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 26px;
    border-radius: var(--r-full);
    font-weight: 500;
    font-size: 15px;
    transition: all 0.25s var(--ease);
    background: var(--bg);
    color: var(--ink);
    border: 1px solid var(--bg);
    align-self: flex-start;
  }
  .split-card:hover .split-card-cta {
    transform: translateX(4px);
  }
  .split-card-cta svg {
    width: 14px;
    height: 14px;
    transition: transform 0.25s var(--ease);
  }

  /* Below-fold section on branching landing */
  .below-fold {
    padding: var(--s-24) 0 var(--s-16);
    background: var(--bg-raised);
    border-top: 1px solid var(--ink-05);
  }
  .below-fold-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 var(--s-8);
    text-align: center;
  }
  .below-fold h2 {
    margin-bottom: var(--s-6);
  }
  .below-fold-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: var(--s-10);
  }
  .below-fold-grid .gallery-item {
    aspect-ratio: 4 / 3;
  }

  @media (max-width: 860px) {
    .split-hero { padding: var(--s-10) 0; min-height: auto; }
    .split-intro { margin-bottom: var(--s-8); }
    .split-grid { grid-template-columns: 1fr; gap: 16px; }
    .split-card { min-height: auto; padding: var(--s-8); }
    .below-fold-grid { grid-template-columns: 1fr; }
  }


  /* ============ BUNDLED VALUE STACK ============ */
  .value-bundle {
    max-width: 960px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: var(--s-12);
    align-items: center;
    padding: var(--s-10);
    background: rgba(245, 241, 234, 0.04);
    border: 1px solid var(--dark-line);
    border-radius: var(--r-xl);
  }
  .value-bundle-label {
    font-size: var(--t-micro);
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #D97757;
    margin-bottom: var(--s-6);
  }
  .value-bundle-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .value-bundle-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 15.5px;
    line-height: 1.5;
    color: var(--dark-ink-70);
  }
  .value-bundle-list li svg {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin-top: 3px;
    color: #D97757;
  }
  .value-bundle-total {
    padding-left: var(--s-8);
    border-left: 1px solid var(--dark-line);
  }
  .value-bundle-comparison-label,
  .value-bundle-yours-label {
    display: block;
    font-size: var(--t-micro);
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--dark-ink-50);
    margin-bottom: 6px;
  }
  .value-bundle-comparison-amount {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 30px;
    color: var(--dark-ink-50);
    text-decoration: line-through;
    text-decoration-thickness: 2px;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
    display: block;
  }
  .value-bundle-divider {
    height: 1px;
    background: var(--dark-line);
    margin: var(--s-6) 0;
  }
  .value-bundle-yours-amount {
    font-family: 'Fraunces', serif;
    font-weight: 500;
    font-size: 56px;
    line-height: 1;
    letter-spacing: -0.035em;
    color: #D97757;
    display: block;
  }
  .value-bundle-note {
    font-size: var(--t-caption);
    color: var(--dark-ink-50);
    line-height: 1.5;
    margin: var(--s-4) 0 0;
    font-style: italic;
  }

  /* ============ MISSION PULLQUOTE ============ */
  .mission-pullquote {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 300;
    font-size: 21px;
    line-height: 1.4;
    letter-spacing: -0.015em;
    color: var(--bg);
    margin: var(--s-8) 0 0;
    padding: var(--s-6) 0 var(--s-6) var(--s-6);
    border-left: 2px solid #D97757;
  }

  /* ============ ADVERTISER PRICING STEPS (2-column value rows) ============ */
  #pricing .value-row {
    grid-template-columns: 1fr auto;
  }
  #pricing .value-row .value-yours {
    color: #D97757;
    font-weight: 700;
  }

  @media (max-width: 860px) {
    .value-bundle {
      grid-template-columns: 1fr;
      gap: var(--s-8);
      padding: var(--s-8);
    }
    .value-bundle-total {
      padding-left: 0;
      padding-top: var(--s-8);
      border-left: none;
      border-top: 1px solid var(--dark-line);
    }
    .value-bundle-yours-amount { font-size: 44px; }
    .mission-pullquote { font-size: 18px; margin: var(--s-6) 0 0; }
  }


  /* ============ FORM STATUS BANNER (post-submit success/error) ============ */
  .form-status-banner {
    position: fixed;
    top: 80px;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 32px);
    max-width: 560px;
    z-index: 200;
    background: var(--bg);
    border: 1px solid var(--ink);
    border-radius: var(--r-lg);
    box-shadow: 0 24px 48px -16px rgba(15, 14, 13, 0.24);
    padding: 18px 20px;
    animation: bannerSlideDown 0.4s var(--ease);
  }
  .form-status-banner.form-status-success {
    background: var(--bg-raised);
    border-color: var(--accent);
  }
  .form-status-banner.form-status-error {
    background: #FDEBE4;
    border-color: var(--accent-deep);
  }
  .form-status-banner-inner {
    display: flex;
    align-items: flex-start;
    gap: 14px;
  }
  .form-status-icon {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--accent);
    color: var(--bg);
  }
  .form-status-banner.form-status-error .form-status-icon {
    background: var(--accent-deep);
  }
  .form-status-icon svg {
    width: 18px;
    height: 18px;
  }
  .form-status-text {
    flex: 1;
    font-size: 14.5px;
    line-height: 1.45;
    color: var(--ink);
  }
  .form-status-title {
    display: block;
    font-family: 'Fraunces', serif;
    font-weight: 500;
    font-size: 16px;
    color: var(--ink);
    margin-bottom: 2px;
    letter-spacing: -0.01em;
  }
  .form-status-message {
    display: inline;
    color: var(--ink-70);
  }
  .form-status-close {
    flex-shrink: 0;
    background: transparent;
    border: none;
    padding: 4px;
    cursor: pointer;
    color: var(--ink-50);
    border-radius: 4px;
    transition: color 0.2s;
  }
  .form-status-close:hover { color: var(--ink); }
  .form-status-close svg { width: 18px; height: 18px; }

  @keyframes bannerSlideDown {
    from { transform: translateX(-50%) translateY(-20px); opacity: 0; }
    to { transform: translateX(-50%) translateY(0); opacity: 1; }
  }

  @media (max-width: 640px) {
    .form-status-banner { top: 70px; padding: 14px 16px; }
    .form-status-title { font-size: 15px; }
    .form-status-text { font-size: 13.5px; }
  }
