html { scroll-behavior: smooth; }
  body { background: var(--bg-base); overflow-x: hidden; }
  #root { position: relative; z-index: 1; }

  /* ——— Unified hover language ———
     Champagne signals STATE, never hover. Buttons render as <a>, so the global
     a:hover champagne rule would tint their text — reassert it here. Hover is a
     calm, geometry-stable cue (background/brightness only) — no transform lift,
     which caused an edge hover/unhover flicker. */
  .lp-btn { transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out),
            border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) var(--ease-out) !important; }
  /* White pill uses a gradient background; transitioning it animates background-color
     up from transparent for a few frames = a black flash. Swap bg instantly instead. */
  .lp-btn--primary, .lp-btn--inverse { transition: color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) var(--ease-out) !important; }
  .lp-btn--primary:hover, .lp-btn--inverse:hover { color: var(--action-text); }
  .lp-btn--glass:hover, .lp-btn--secondary:hover, .lp-btn--ghost:hover { color: var(--text-primary); }
  .lp-btn--accent:hover {
    color: var(--neutral-950); filter: none;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), var(--glow-accent-soft);
  }

  /* ——— Layout primitives ——— */
  .lp-container { width: 100%; max-width: var(--container-max); margin: 0 auto; padding-inline: var(--gutter); }
  .lp-section { position: relative; padding-block: clamp(72px, 10vw, 140px); }
  .lp-section--tight { padding-block: clamp(56px, 7vw, 96px); }
  /* Full-bleed tonal band — one tonal shift mid-page reads as a chapter break */
  .lp-band { background: var(--bg-raised); border-block: 1px solid var(--border-subtle); }

  /* Section heading block */
  .lp-head { max-width: 720px; }
  .lp-head--center { margin-inline: auto; text-align: center; }
  .lp-eyebrow-row { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 22px; }
  .lp-eyebrow-row .lp-dot { width: 6px; height: 6px; }
  .lp-h2 {
    font-family: var(--font-display); font-weight: var(--weight-regular);
    font-size: clamp(34px, 4.6vw, 56px); line-height: 1.06; letter-spacing: -0.01em;
    color: var(--text-primary); text-wrap: balance;
  }
  .lp-lead {
    margin-top: 22px; font-size: clamp(16px, 1.5vw, 19px); line-height: 1.6;
    color: var(--text-secondary); max-width: 56ch; text-wrap: pretty;
  }
  .lp-head--center .lp-lead { margin-inline: auto; }

  /* Hairline divider between sections */
  .lp-rule { height: 1px; background: var(--border-subtle); border: 0; margin: 0; }

  /* Ambient canvas wash for the whole page */
  .lp-page-bg {
    position: fixed; inset: 0; z-index: 0; pointer-events: none;
    background-color: var(--bg-base);
    background-image:
      radial-gradient(120% 70% at 50% -10%, rgba(255,255,255,0.06), transparent 55%),
      radial-gradient(80% 60% at 85% 8%, var(--champagne-glow-lo), transparent 60%),
      radial-gradient(90% 80% at 78% 112%, var(--petrol-glow), transparent 60%),
      var(--grid-bg);
  }

  /* ——— Header ——— */
  .lp-header { position: sticky; top: 0; z-index: 50; isolation: isolate; transition: padding var(--dur-base) var(--ease-out); }
  .lp-header::before {
    content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    opacity: 0; transition: opacity var(--dur-base) var(--ease-out);
    background: var(--glass-tint-strong);
    backdrop-filter: blur(18px) saturate(160%); -webkit-backdrop-filter: blur(18px) saturate(160%);
    border-bottom: 1px solid var(--border-subtle);
  }
  .lp-header.is-scrolled::before { opacity: 1; }
  .lp-header__inner {
    display: flex; align-items: center; justify-content: space-between; gap: 24px;
    height: 64px; padding-inline: 22px;
    border-radius: 0;
    margin-top: 0;
    transition: background var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);
    border: 0;
  }
  .lp-header.is-scrolled .lp-header__inner {
    background: transparent; box-shadow: none; border: 0; backdrop-filter: none; -webkit-backdrop-filter: none;
  }
  .lp-logo { display: inline-flex; align-items: center; }
  .lp-logo img { height: 26px; width: auto; display: block; }
  .lp-nav { display: flex; align-items: center; gap: 4px; }
  .lp-nav a {
    font-family: var(--font-sans); font-size: var(--text-sm); font-weight: var(--weight-medium);
    color: var(--text-secondary); padding: 8px 14px; border-radius: var(--radius-full); white-space: nowrap;
    transition: color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);
  }
  .lp-nav a:hover { color: var(--text-primary); background: var(--white-a-06); }

  /* Diensten dropdown */
  .lp-nav__drop { position: relative; display: flex; align-items: center; }
  .lp-nav__drop-trigger { display: inline-flex; align-items: center; gap: 5px; }
  .lp-nav__chev { transition: transform var(--dur-base) var(--ease-out); opacity: 0.7; }
  .lp-nav__drop:hover .lp-nav__drop-trigger { color: var(--text-primary); background: var(--white-a-06); }
  .lp-nav__drop:hover .lp-nav__chev { transform: rotate(180deg); opacity: 1; }
  .lp-nav__menu {
    position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
    padding-top: 12px; z-index: 60;
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity var(--dur-base) var(--ease-out), visibility var(--dur-base) var(--ease-out);
  }
  .lp-nav__drop:hover .lp-nav__menu { opacity: 1; visibility: visible; pointer-events: auto; }
  .lp-nav__menu-inner {
    min-width: 232px; padding: 8px; border-radius: var(--radius-xl);
    display: flex; flex-direction: column; gap: 2px;
    background: rgba(11, 14, 17, 0.98);
    backdrop-filter: blur(28px) saturate(150%); -webkit-backdrop-filter: blur(28px) saturate(150%);
    box-shadow: var(--glass-bevel), var(--shadow-lg);
    transform: translateY(8px); transition: transform var(--dur-base) var(--ease-out);
  }
  .lp-nav__drop:hover .lp-nav__menu-inner { transform: translateY(0); }
  .lp-nav__menu-inner a {
    padding: 10px 14px; border-radius: var(--radius-md); width: 100%;
    color: var(--text-secondary);
  }
  .lp-nav__menu-inner a:hover { color: var(--text-primary); background: var(--white-a-06); }
  .lp-header__cta { display: flex; align-items: center; gap: 10px; }
  .lp-burger {
    display: none; width: 42px; height: 42px; align-items: center; justify-content: center;
    border-radius: var(--radius-full); border: 1px solid var(--border-strong);
    background: var(--glass-tint-thin); color: var(--text-primary); cursor: pointer;
    backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  }
  .lp-burger svg { width: 20px; height: 20px; }

  /* Mobile menu sheet */
  .lp-mobile { display: none; }
  .lp-mobile.is-open { display: block; }
  .lp-mobile__panel {
    margin-top: 10px; padding: 14px; border-radius: var(--radius-2xl);
    display: flex; flex-direction: column; gap: 4px;
  }
  .lp-mobile a:not(.lp-btn) {
    font-size: var(--text-md); color: var(--text-primary); padding: 14px 16px;
    border-radius: var(--radius-lg); font-weight: var(--weight-medium); display: block;
  }
  .lp-mobile a:not(.lp-btn):hover { background: var(--white-a-06); }
  .lp-mobile__cta { margin-top: 8px; padding: 6px; }
  /* Mobile "Diensten" click-to-expand submenu */
  .lp-mobile__group { display: flex; flex-direction: column; }
  .lp-mobile__drop {
    display: flex; align-items: center; justify-content: space-between; width: 100%;
    background: transparent; border: 0; cursor: pointer; text-align: left;
    font-family: var(--font-sans); font-size: var(--text-md); font-weight: var(--weight-medium);
    color: var(--text-primary); padding: 14px 16px; border-radius: var(--radius-lg);
  }
  .lp-mobile__drop:hover { background: var(--white-a-06); }
  .lp-mobile__chev { color: var(--text-faint); transition: transform var(--dur-base) var(--ease-out); }
  .lp-mobile__drop.is-open .lp-mobile__chev { transform: rotate(180deg); }
  .lp-mobile__sub { overflow: hidden; max-height: 0; transition: max-height var(--dur-base) var(--ease-out); }
  .lp-mobile__sub.is-open { max-height: 340px; }
  .lp-mobile__sub a:not(.lp-btn) { padding: 11px 16px 11px 30px; font-size: var(--text-sm); color: var(--text-secondary); }

  /* ——— Hero ——— */
  .lp-hero { position: relative; padding-top: clamp(64px, 11vw, 130px); padding-bottom: clamp(72px, 11vw, 150px); text-align: center; }
  /* Champagne glow — the same warm hue as the metallic words, gently breathing */
  .lp-hero__glow {
    position: absolute; left: 50%; top: 46%; transform: translate(-50%, -50%);
    width: min(720px, 78vw); aspect-ratio: 1; border-radius: 50%; z-index: 0; pointer-events: none;
    background: radial-gradient(circle at center,
      rgba(210, 178, 149, 0.22) 0%,
      rgba(210, 178, 149, 0.12) 32%,
      rgba(210, 178, 149, 0.04) 55%,
      transparent 72%);
    filter: blur(28px);
    animation: lpglow 7s var(--ease-inout) infinite;
  }
  @keyframes lpglow {
    0%, 100% { opacity: 0.7; transform: translate(-50%, -50%) scale(1); }
    50% { opacity: 1; transform: translate(-50%, -50%) scale(1.08); }
  }
  @media (prefers-reduced-motion: reduce) { .lp-hero__glow { animation: none; } }
  .lp-hero .lp-container { position: relative; z-index: 1; }
  .lp-hero__eyebrow { display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px; border-radius: var(--radius-full); margin-bottom: 36px; }
  .lp-hero__eyebrow span { font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--text-secondary); white-space: nowrap; }
  .lp-hero h1 {
    font-family: var(--font-display); font-weight: var(--weight-regular);
    font-size: clamp(44px, 8.2vw, 116px); line-height: 0.98; letter-spacing: -0.02em;
    color: var(--text-primary); text-wrap: balance; margin: 0 auto; max-width: 14ch;
  }
  .lp-hero h1 .turn { font-style: italic; }
  .lp-hero h1 .metal {
    font-style: italic;
    background: linear-gradient(180deg, var(--champagne-200), var(--champagne-400) 55%, var(--champagne-600));
    -webkit-background-clip: text; background-clip: text; color: transparent;
  }
  .lp-hero__sub { margin: 32px auto 0; max-width: 50ch; font-size: clamp(16px, 1.7vw, 20px); line-height: 1.6; color: var(--text-secondary); text-wrap: pretty; }
  .lp-hero__actions { margin-top: 40px; display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; }
  .lp-hero__trust { margin-top: 52px; display: inline-flex; align-items: center; gap: 18px; flex-wrap: wrap; justify-content: center; color: var(--text-faint); font-size: var(--text-sm); }
  .lp-hero__trust .sep { width: 4px; height: 4px; border-radius: 50%; background: var(--text-faint); opacity: .5; }
  .lp-hero__scroll { margin-top: 64px; display: inline-flex; flex-direction: column; align-items: center; gap: 10px; color: var(--text-faint); }
  .lp-hero__scroll svg { width: 18px; height: 18px; animation: lpbob 2.4s var(--ease-inout) infinite; }
  @keyframes lpbob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(5px); } }

  /* ——— Services grid ——— */
  .lp-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .lp-service {
    position: relative; padding: 30px; border-radius: var(--radius-2xl); overflow: hidden;
    display: flex; flex-direction: column; gap: 16px; min-height: 230px;
    transition: transform var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);
  }
  .lp-service:hover { transform: translateY(-4px); border-color: var(--border-contrast); box-shadow: var(--shadow-lg), var(--glass-bevel); }
  .lp-service__num { position: absolute; top: 26px; right: 30px; font-family: var(--font-mono); font-size: var(--text-xs); color: var(--text-faint); letter-spacing: .1em; }
  .lp-service__icon {
    width: 52px; height: 52px; border-radius: var(--radius-lg); display: flex; align-items: center; justify-content: center;
    background: var(--white-a-06); border: 1px solid var(--border-default); color: var(--text-primary);
  }
  .lp-service:hover .lp-service__icon { color: var(--text-primary); background: var(--white-a-12); border-color: var(--border-contrast); }
  .lp-service__icon svg { width: 24px; height: 24px; }
  .lp-service h3 { font-family: var(--font-display); font-size: var(--text-xl); letter-spacing: -0.01em; color: var(--text-primary); }
  .lp-service p { font-size: var(--text-base); line-height: 1.55; color: var(--text-secondary); text-wrap: pretty; margin: 0; }

  /* ——— Services — centered floating grid (champagne icon tile + text, no card) ——— */
  .lp-svc-grid {
    display: flex; flex-wrap: wrap; justify-content: center;
    gap: clamp(46px, 5.5vw, 78px) clamp(28px, 4vw, 56px);
    margin-top: clamp(56px, 7vw, 90px);
  }
  .lp-svc-item { flex: 0 1 calc((100% - 2 * clamp(28px, 4vw, 56px)) / 3); }
  .lp-svc-item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px; }
  .lp-svc-item__icon {
    position: relative; width: 78px; height: 78px; border-radius: var(--radius-xl);
    display: flex; align-items: center; justify-content: center; color: var(--champagne-300);
    background: var(--glass-tint-thin); border: 1px solid var(--border-default);
    backdrop-filter: blur(16px) saturate(160%); -webkit-backdrop-filter: blur(16px) saturate(160%);
    box-shadow: var(--glass-bevel), var(--shadow-sm);
    transition: transform var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out),
                border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);
  }
  /* diagonal corner sheen on the tile — the glass signature */
  .lp-svc-item__icon::before {
    content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
    background: linear-gradient(135deg, rgba(255,255,255,0.16), transparent 44%);
    mix-blend-mode: screen;
  }
  .lp-svc-item__icon svg { position: relative; width: 32px; height: 32px; }
  .lp-svc-item:hover .lp-svc-item__icon {
    transform: translateY(-5px); color: var(--champagne-200);
    border-color: var(--accent-ring); box-shadow: var(--glass-bevel), var(--glow-accent-soft);
  }
  .lp-svc-item h3 { font-family: var(--font-display); font-weight: var(--weight-regular); font-size: clamp(20px, 2.1vw, 25px); letter-spacing: -0.01em; color: var(--text-primary); }
  .lp-svc-item p { font-size: var(--text-base); line-height: 1.55; color: var(--text-secondary); max-width: 34ch; margin: 0; text-wrap: pretty; }
  .lp-svc-cta { margin-top: clamp(54px, 6.5vw, 82px); display: flex; justify-content: center; }

  /* ——— USPs — editorial divided columns, no glass (a deliberate texture break) ——— */
  .lp-usp-row { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--border-subtle); }
  .lp-usp2 { padding: 42px 44px 16px; border-left: 1px solid var(--border-subtle); display: flex; flex-direction: column; gap: 16px; }
  .lp-usp2:first-child { border-left: 0; padding-left: 2px; }
  .lp-usp2:last-child { padding-right: 2px; }
  .lp-usp2__icon { display: inline-flex; align-items: center; color: var(--champagne-300); padding-bottom: 18px; position: relative; }
  .lp-usp2__icon::after { content: ""; position: absolute; left: 1px; bottom: 4px; width: 34px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--champagne-400), transparent); }
  .lp-usp2__icon svg { width: 40px; height: 40px; }
  .lp-usp2 h3 { font-family: var(--font-display); font-size: clamp(22px, 2.3vw, 27px); letter-spacing: -0.01em; color: var(--text-primary); }
  .lp-usp2 p { font-size: var(--text-md); line-height: 1.55; color: var(--text-secondary); margin: 0; text-wrap: pretty; }

  /* ——— How we work ——— */
  .lp-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; position: relative; }
  .lp-step { position: relative; padding: 32px 28px; border-radius: var(--radius-2xl); display: flex; flex-direction: column; gap: 18px; }
  .lp-step__top { display: flex; align-items: center; justify-content: space-between; }
  .lp-step__idx {
    width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-family: var(--font-mono); font-size: var(--text-md); color: var(--text-primary);
    background: var(--white-a-06); border: 1px solid var(--border-strong);
  }
  .lp-step__icon { color: var(--text-muted); }
  .lp-step__icon svg { width: 24px; height: 24px; }
  .lp-step h3 { font-family: var(--font-display); font-size: var(--text-xl); }
  .lp-step p { font-size: var(--text-base); line-height: 1.55; color: var(--text-secondary); margin: 0; text-wrap: pretty; }
  .lp-step__tag { margin-top: auto; font-family: var(--font-mono); font-size: var(--text-2xs); letter-spacing: .12em; text-transform: uppercase; color: var(--champagne-300); display: inline-flex; align-items: center; gap: 8px; }
  /* Timeline connector — bridges each step circle to the next across the gap */
  .lp-step:not(:last-child)::after {
    content: ""; position: absolute; top: 55px; right: -20px; width: 20px; height: 1px; z-index: 2;
    background: linear-gradient(90deg, var(--champagne-400), var(--border-strong));
  }

  /* ——— Case studies (succesverhalen — floating photo cards) ——— */
  .lp-case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .lp-case2 {
    position: relative; border-radius: var(--radius-3xl); padding: 14px 14px 0;
    display: flex; flex-direction: column; overflow: hidden;
    transition: transform var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);
  }
  .lp-case2:hover { transform: translateY(-5px); border-color: var(--border-contrast); box-shadow: var(--shadow-lg), var(--glass-bevel); }

  /* tinted spotlight zone holding the circular photo */
  .lp-case2__top {
    position: relative; border-radius: var(--radius-2xl) var(--radius-2xl) 18px 18px;
    padding: 38px 24px 60px; display: flex; justify-content: center; overflow: hidden;
    background:
      radial-gradient(78% 70% at 50% 22%, var(--champagne-glow-lo), transparent 62%),
      linear-gradient(180deg, var(--white-a-06), transparent 70%);
    border: 1px solid var(--border-subtle); border-bottom: 0;
  }
  .lp-case2:nth-child(2) .lp-case2__top { background: radial-gradient(78% 70% at 50% 22%, var(--petrol-glow), transparent 62%), linear-gradient(180deg, var(--white-a-06), transparent 70%); }
  .lp-case2__photo {
    width: 168px; height: 168px; border-radius: 50%; overflow: hidden;
    box-shadow: 0 18px 40px rgba(0,0,0,0.45), inset 0 0 0 1px var(--border-strong);
  }
  .lp-case2__metric {
    position: absolute; top: 18px; left: 18px; z-index: 2;
    display: inline-flex; align-items: baseline; gap: 5px;
    padding: 7px 13px; border-radius: var(--radius-full);
    background: var(--glass-tint-strong); border: 1px solid var(--accent-ring);
    backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
    font-family: var(--font-mono); font-size: var(--text-2xs); letter-spacing: .04em;
    color: var(--text-secondary); text-transform: lowercase;
  }
  .lp-case2__metric strong { font-size: var(--text-sm); font-weight: var(--weight-semibold); color: var(--champagne-300); letter-spacing: -0.01em; }

  /* floating glass panel overlapping the spotlight zone */
  .lp-case2__panel {
    position: relative; z-index: 1; margin-top: -36px;
    padding: 26px 26px 28px; border-radius: var(--radius-2xl);
    background: var(--glass-tint-strong);
    backdrop-filter: blur(22px) saturate(160%); -webkit-backdrop-filter: blur(22px) saturate(160%);
    border: 1px solid var(--border-default);
    box-shadow: var(--glass-bevel), 0 -10px 30px rgba(0,0,0,0.25);
    display: flex; flex-direction: column; gap: 12px; flex: 1;
  }
  .lp-case2__eyebrow { font-family: var(--font-mono); font-size: var(--text-2xs); letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted); }
  .lp-case2__title { font-family: var(--font-display); font-size: clamp(22px, 2.2vw, 27px); line-height: 1.1; letter-spacing: -0.01em; color: var(--text-primary); text-wrap: balance; }
  .lp-case2__body { font-size: var(--text-base); line-height: 1.55; color: var(--text-secondary); margin: 0; text-wrap: pretty; }
  .lp-case2__more {
    margin-top: auto; padding-top: 6px; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; align-self: flex-start;
    font-family: var(--font-sans); font-size: var(--text-sm); font-weight: var(--weight-semibold); color: var(--text-primary);
  }
  .lp-case2__more svg { width: 16px; height: 16px; transition: transform var(--dur-fast) var(--ease-out); }
  .lp-case2__more:hover { color: var(--text-primary); }
  .lp-case2__more:hover svg { transform: translateX(4px); }

  /* ——— Lead magnet — centered editorial panel ——— */
  .lp-magnet { position: relative; overflow: hidden; border-radius: var(--radius-3xl); padding: clamp(44px, 6vw, 92px) clamp(26px, 5vw, 72px); text-align: center; }
  .lp-magnet__glow {
    position: absolute; left: 50%; top: -12%; transform: translateX(-50%); z-index: 0; pointer-events: none;
    width: min(640px, 84%); aspect-ratio: 1.4 / 1;
    background: radial-gradient(circle at center, var(--champagne-glow-lo), transparent 68%); filter: blur(34px);
  }
  .lp-magnet__inner { position: relative; z-index: 1; max-width: 660px; margin-inline: auto; display: flex; flex-direction: column; align-items: center; }
  .lp-magnet__badge {
    width: 66px; height: 66px; border-radius: var(--radius-xl); display: flex; align-items: center; justify-content: center;
    background: linear-gradient(180deg, var(--champagne-200), var(--champagne-400) 60%, var(--champagne-600));
    color: var(--neutral-950); box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), var(--glow-accent-soft);
  }
  .lp-magnet__badge svg { width: 30px; height: 30px; }
  .lp-magnet__pill { margin-top: 26px; padding: 8px 18px; font-family: var(--font-sans); font-size: var(--text-sm); font-weight: var(--weight-medium); color: var(--text-secondary); }
  .lp-magnet h2 {
    margin-top: 22px; font-family: var(--font-display); font-weight: var(--weight-regular);
    font-size: clamp(32px, 4.6vw, 56px); line-height: 1.04; letter-spacing: -0.015em; color: var(--text-primary); text-wrap: balance;
  }
  .lp-magnet h2 .metal {
    font-style: italic;
    background: linear-gradient(180deg, var(--champagne-200), var(--champagne-400) 55%, var(--champagne-600));
    -webkit-background-clip: text; background-clip: text; color: transparent;
  }
  .lp-magnet__copy { margin-top: 26px; display: flex; flex-direction: column; gap: 16px; max-width: 48ch; }
  .lp-magnet__copy p { margin: 0; font-size: clamp(16px, 1.5vw, 18px); line-height: 1.6; color: var(--text-secondary); text-wrap: pretty; }
  .lp-magnet__form { margin-top: 36px; width: 100%; max-width: 470px; }
  .lp-magnet__field { display: flex; gap: 10px; }
  .lp-magnet__field input {
    flex: 1; height: var(--control-lg); padding: 0 18px; border-radius: var(--radius-full);
    background: var(--glass-tint-thin); border: 1px solid var(--border-strong); color: var(--text-primary);
    font-family: var(--font-sans); font-size: var(--text-base); outline: none; text-align: left;
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
  }
  .lp-magnet__field input::placeholder { color: var(--text-faint); }
  .lp-magnet__field input:focus { border-color: var(--accent-ring); box-shadow: var(--focus-ring); }
  .lp-magnet__fine { margin-top: 16px; font-size: var(--text-xs); color: var(--text-faint); display: flex; align-items: center; justify-content: center; gap: 8px; }
  .lp-magnet__ok { display: flex; align-items: center; justify-content: center; gap: 10px; color: var(--success); font-size: var(--text-md); }

  /* ——— Final CTA glow — dimmer + static sibling of the hero glow ——— */
  .lp-cta { position: relative; }
  .lp-cta .lp-container { position: relative; z-index: 1; }
  .lp-cta__glow {
    position: absolute; left: 50%; top: 42%; transform: translate(-50%, -50%);
    width: min(620px, 70vw); aspect-ratio: 1.6 / 1; border-radius: 50%; z-index: 0; pointer-events: none;
    background: radial-gradient(circle at center,
      rgba(210, 178, 149, 0.14) 0%,
      rgba(210, 178, 149, 0.07) 36%,
      rgba(210, 178, 149, 0.02) 58%,
      transparent 74%);
    filter: blur(30px);
  }

  /* ——— FAQ ——— */
  .lp-faq { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(36px, 6vw, 96px); align-items: start; }
  .lp-faq__intro { position: sticky; top: 110px; }
  .lp-faq__tag { display: inline-flex; align-items: center; margin-top: 30px; padding: 11px 22px; white-space: nowrap; font-family: var(--font-sans); font-size: var(--text-sm); font-weight: var(--weight-medium); color: var(--champagne-200); letter-spacing: .01em; }
  .lp-faq__cta { margin-top: 30px; }
  .lp-faq__list { display: flex; flex-direction: column; gap: 14px; }
  .lp-faq__item { border-radius: var(--radius-xl); overflow: hidden; transition: border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), background var(--dur-base) var(--ease-out); }
  .lp-faq__item.is-open { border-color: var(--border-contrast); box-shadow: var(--shadow-md), var(--glass-bevel); }
  .lp-faq__item:hover:not(.is-open) { border-color: var(--border-strong); }
  .lp-faq__q {
    width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px;
    padding: 24px 26px; background: transparent; border: 0; cursor: pointer; text-align: left;
    font-family: var(--font-display); font-size: clamp(17px, 1.7vw, 20px); line-height: 1.3; letter-spacing: -0.005em;
    color: var(--text-primary);
  }
  .lp-faq__icon {
    flex: none; width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    background: var(--white-a-06); border: 1px solid var(--border-strong); color: var(--text-secondary);
    transition: transform var(--dur-base) var(--ease-spring), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
  }
  .lp-faq__icon svg { width: 18px; height: 18px; }
  .lp-faq__item.is-open .lp-faq__icon { transform: rotate(135deg); background: var(--champagne-glow-lo); color: var(--champagne-300); border-color: var(--accent-ring); }
  .lp-faq__a { overflow: hidden; max-height: 0; transition: max-height var(--dur-base) var(--ease-out); }
  .lp-faq__a p { margin: 0; padding: 0 64px 26px 26px; font-family: var(--font-sans); font-size: var(--text-md); line-height: 1.6; color: var(--text-secondary); text-wrap: pretty; }

  /* ——— Footer ——— */
  .lp-footer { position: relative; padding-top: 72px; padding-bottom: 36px; border-top: 1px solid var(--border-subtle); }
  .lp-footer__top { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; }
  .lp-footer__col a { overflow-wrap: anywhere; }
  .lp-footer__brand img { height: 26px; margin-bottom: 20px; }
  .lp-footer__brand p { color: var(--text-muted); font-size: var(--text-sm); line-height: 1.6; max-width: 30ch; }
  .lp-footer__col h4 { font-family: var(--font-mono); font-size: var(--text-2xs); letter-spacing: .14em; text-transform: uppercase; color: var(--text-faint); margin: 0 0 16px; font-weight: var(--weight-medium); }
  .lp-footer__col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 11px; }
  .lp-footer__col a { color: var(--text-secondary); font-size: var(--text-sm); }
  .lp-footer__col a:hover { color: var(--text-primary); }
  .lp-footer__bottom { margin-top: 56px; padding-top: 26px; border-top: 1px solid var(--border-subtle); display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
  .lp-footer__bottom span { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--text-faint); letter-spacing: .04em; }

  /* ——— Contact modal ——— */
  body.lp-modal-open { overflow: hidden; }
  .lp-modal { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; padding: clamp(16px, 4vw, 32px); }
  .lp-modal__scrim {
    position: absolute; inset: 0; background: rgba(6,8,11,0.62);
    backdrop-filter: blur(7px) saturate(120%); -webkit-backdrop-filter: blur(7px) saturate(120%);
    opacity: 0; transition: opacity var(--dur-base) var(--ease-out);
  }
  .lp-modal.is-open .lp-modal__scrim { opacity: 1; }
  .lp-modal__dialog {
    position: relative; z-index: 1; width: 100%; max-width: 588px;
    max-height: calc(100dvh - 2 * clamp(16px, 4vw, 32px)); overflow-y: auto;
    border-radius: var(--radius-3xl); padding: clamp(26px, 3.4vw, 44px);
    box-shadow: var(--shadow-lg), var(--glass-bevel);
    transform: translateY(16px) scale(0.985); opacity: 0;
    transition: transform var(--dur-base) var(--ease-out), opacity var(--dur-base) var(--ease-out);
    scrollbar-width: thin;
  }
  .lp-modal.is-open .lp-modal__dialog { transform: none; opacity: 1; }
  .lp-modal__glow { position: absolute; left: 50%; top: -8%; transform: translateX(-50%); width: 72%; aspect-ratio: 1.7 / 1; z-index: 0; pointer-events: none; background: radial-gradient(circle at center, var(--champagne-glow-lo), transparent 66%); filter: blur(32px); }
  .lp-modal__close {
    position: absolute; top: 16px; right: 16px; z-index: 3; width: 40px; height: 40px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; cursor: pointer;
    background: var(--glass-tint-thin); border: 1px solid var(--border-strong); color: var(--text-secondary);
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
  }
  .lp-modal__close:hover { background: var(--white-a-12); color: var(--text-primary); border-color: var(--border-contrast); }
  .lp-modal__close svg { width: 18px; height: 18px; }
  .lp-modal__head { position: relative; z-index: 1; max-width: none; }
  .lp-modal h2 { font-family: var(--font-display); font-weight: var(--weight-regular); font-size: clamp(27px, 3.6vw, 38px); line-height: 1.06; letter-spacing: -0.015em; color: var(--text-primary); text-wrap: balance; }
  .lp-modal__sub { margin-top: 12px; font-size: var(--text-md); line-height: 1.55; color: var(--text-secondary); text-wrap: pretty; }
  .lp-modal__form { position: relative; z-index: 1; margin-top: 26px; display: flex; flex-direction: column; gap: 15px; }
  .lp-modal__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .lp-fld { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
  .lp-fld label { font-family: var(--font-sans); font-size: var(--text-sm); font-weight: var(--weight-medium); color: var(--text-secondary); }
  .lp-fld input, .lp-fld textarea {
    width: 100%; height: var(--control-lg); padding: 0 16px; border-radius: var(--radius-lg);
    background: var(--glass-tint-thin); border: 1px solid var(--border-strong); color: var(--text-primary);
    font-family: var(--font-sans); font-size: var(--text-base); outline: none;
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
  }
  .lp-fld textarea { height: auto; min-height: 108px; padding: 13px 16px; line-height: 1.55; resize: vertical; }
  .lp-fld input::placeholder, .lp-fld textarea::placeholder { color: var(--text-faint); }
  .lp-fld input:focus, .lp-fld textarea:focus { border-color: var(--accent-ring); box-shadow: var(--focus-ring); }
  .lp-modal__submit { margin-top: 6px; }
  .lp-modal__fine { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: var(--text-xs); color: var(--text-faint); }
  .lp-modal__fine svg { color: var(--champagne-300); }
  .lp-modal__done { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; padding: 14px 0 6px; }
  .lp-modal__done h2 { margin-top: 4px; }
  .lp-modal__done .lp-modal__sub { max-width: 42ch; }
  .lp-modal__done .lp-modal__submit { margin-top: 14px; }
  .lp-modal__badge {
    width: 64px; height: 64px; border-radius: var(--radius-xl); display: flex; align-items: center; justify-content: center;
    background: linear-gradient(180deg, var(--champagne-200), var(--champagne-400) 60%, var(--champagne-600));
    color: var(--neutral-950); box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), var(--glow-accent-soft);
  }
  .lp-modal__badge svg { width: 30px; height: 30px; }
  @media (max-width: 560px) { .lp-modal__row { grid-template-columns: 1fr; } }

  /* ——— Reveal on scroll ——— */
  .reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s var(--ease-out), transform .7s var(--ease-out); }
  .reveal.in { opacity: 1; transform: none; }
  @media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; } }

  /* ——— Responsive ——— */
  @media (max-width: 980px) {
    .lp-grid-3, .lp-svc-grid, .lp-steps, .lp-case-grid { grid-template-columns: 1fr 1fr; }
    .lp-svc-item { flex-basis: calc((100% - clamp(28px, 4vw, 56px)) / 2); }
    .lp-usp-row { grid-template-columns: 1fr; border-top: 0; }
    .lp-usp2 { border-left: 0; border-top: 1px solid var(--border-subtle); padding: 30px 0 6px; }
    .lp-usp2:first-child { border-top: 0; padding-top: 0; }
    .lp-step:not(:last-child)::after { display: none; }
    .lp-magnet__grid { grid-template-columns: 1fr; }
    .lp-faq { grid-template-columns: 1fr; gap: 36px; }
    .lp-faq__intro { position: static; }
    .lp-nav { display: none; }
    .lp-header__cta .lp-btn { display: inline-flex; order: -1; }
    .lp-burger { display: inline-flex; }
    .lp-footer__top { grid-template-columns: 1fr 1fr; gap: 36px 32px; }
    .lp-footer__brand { grid-column: 1 / -1; }
  }
  @media (max-width: 640px) {
    .lp-grid-3, .lp-svc-grid, .lp-steps, .lp-case-grid { grid-template-columns: 1fr; }
    .lp-svc-item { flex-basis: 100%; }
    .lp-case__metrics { grid-template-columns: 1fr 1fr; }
    .lp-magnet__field { flex-direction: column; }
    .lp-footer__top { grid-template-columns: 1fr 1fr; gap: 32px 24px; }
    .lp-footer__bottom { flex-direction: column; align-items: flex-start; gap: 8px; }
  }
  /* —— Compact header for small phones: fit logo + CTA pill + burger —— */
  @media (max-width: 480px) {
    .lp-header__inner { padding-inline: 12px; gap: 10px; }
    .lp-header__cta { gap: 7px; }
    .lp-header__cta .lp-btn { padding-inline: 14px; font-size: var(--text-xs); }
    .lp-burger { width: 38px; height: 38px; }
    .lp-logo img, .lp-logo svg { max-width: 92px; }
  }


  /* ——— Service page hero (two-column) ——— */
  .lp-shero { position: relative; padding-top: clamp(36px, 6vw, 78px); padding-bottom: clamp(8px, 2vw, 24px); }
  .lp-shero__grid { display: grid; grid-template-columns: 1.04fr 0.96fr; gap: clamp(34px, 5vw, 76px); align-items: center; }
  .lp-shero__copy { position: relative; z-index: 1; }
  .lp-shero h1 { font-family: var(--font-display); font-weight: var(--weight-regular); font-size: clamp(40px, 5.4vw, 74px); line-height: 1.0; letter-spacing: -0.02em; color: var(--text-primary); text-wrap: balance; }
  .lp-shero h1 .metal { font-style: italic; background: linear-gradient(180deg, var(--champagne-200), var(--champagne-400) 55%, var(--champagne-600)); -webkit-background-clip: text; background-clip: text; color: transparent; }
  .lp-shero__sub { margin-top: 24px; max-width: 46ch; font-size: clamp(16px, 1.55vw, 19px); line-height: 1.6; color: var(--text-secondary); text-wrap: pretty; }
  .lp-shero__actions { margin-top: 34px; display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
  .lp-shero__textlink { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-sans); font-weight: var(--weight-semibold); font-size: var(--text-sm); color: var(--text-primary); text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; text-decoration-color: var(--border-contrast); transition: text-decoration-color var(--dur-fast) var(--ease-out); }
  .lp-shero__textlink:hover { text-decoration-color: var(--champagne-300); color: var(--text-primary); }
  .lp-shero__textlink svg { width: 16px; height: 16px; transition: transform var(--dur-fast) var(--ease-out); }
  .lp-shero__textlink:hover svg { transform: translateX(4px); }
  /* right visual — tilted glass photo card */
  .lp-shero__visual { position: relative; }
  .lp-shero__glow { position: absolute; inset: -10% -6% -10% -6%; z-index: 0; pointer-events: none; background: radial-gradient(58% 58% at 62% 42%, var(--champagne-glow-lo), transparent 70%); filter: blur(36px); }
  .lp-shero__card { position: relative; z-index: 1; border-radius: var(--radius-3xl); padding: 12px; box-shadow: var(--shadow-lg), var(--glass-bevel); transform: rotate(2.4deg); transition: transform 440ms var(--ease-out); }
  .lp-shero__card:hover { transform: rotate(0deg); }
  .lp-shero__media { display: block; width: 100%; aspect-ratio: 4 / 3.3; border-radius: var(--radius-2xl); overflow: hidden; }
  .lp-shero__badge { position: absolute; z-index: 2; left: -14px; bottom: 22px; display: inline-flex; align-items: baseline; gap: 7px; padding: 11px 17px; border-radius: var(--radius-full); background: var(--glass-tint-strong); border: 1px solid var(--accent-ring); backdrop-filter: blur(16px) saturate(160%); -webkit-backdrop-filter: blur(16px) saturate(160%); box-shadow: var(--shadow-md), var(--glass-bevel); font-family: var(--font-mono); font-size: var(--text-2xs); letter-spacing: .04em; color: var(--text-secondary); }
  .lp-shero__badge strong { font-size: var(--text-md); font-weight: var(--weight-semibold); color: var(--champagne-300); letter-spacing: -0.01em; }

  /* ——— Trusted partners row ——— */
  .lp-partners { text-align: center; }
  .lp-partners__label { font-family: var(--font-mono); font-size: var(--text-2xs); letter-spacing: .2em; text-transform: uppercase; color: var(--text-faint); }
  .lp-partners__row { margin-top: 24px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
  .lp-partner { height: 78px; border-radius: var(--radius-xl); background: var(--glass-tint-thin); border: 1px solid var(--border-default); display: flex; align-items: center; justify-content: center; overflow: hidden; backdrop-filter: blur(12px) saturate(160%); -webkit-backdrop-filter: blur(12px) saturate(160%); box-shadow: var(--glass-bevel); }
  .lp-partner image-slot { width: 100%; height: 100%; display: block; }

  /* ——— Service benefits ——— */
  .lp-ben-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: clamp(48px, 6vw, 72px); }
  .lp-ben { position: relative; padding: 30px; border-radius: var(--radius-2xl); display: flex; flex-direction: column; gap: 16px; overflow: hidden; transition: border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); }
  .lp-ben:hover { border-color: var(--border-contrast); box-shadow: var(--shadow-md), var(--glass-bevel); }
  .lp-ben__icon { width: 52px; height: 52px; border-radius: var(--radius-lg); display: flex; align-items: center; justify-content: center; color: var(--champagne-300); background: var(--white-a-06); border: 1px solid var(--border-default); }
  .lp-ben__icon svg { width: 24px; height: 24px; }
  .lp-ben h3 { font-family: var(--font-display); font-weight: var(--weight-regular); font-size: var(--text-xl); letter-spacing: -0.01em; color: var(--text-primary); }
  .lp-ben p { font-size: var(--text-base); line-height: 1.55; color: var(--text-secondary); margin: 0; text-wrap: pretty; }

  /* clickable home service card */
  a.lp-svc-item { text-decoration: none; cursor: pointer; }
  a.lp-svc-item:hover h3 { color: var(--champagne-200); }

  /* ——— Service page responsive ——— */
  @media (max-width: 980px) {
    .lp-shero { overflow-x: clip; }
    .lp-shero__grid { grid-template-columns: 1fr; gap: 40px; }
    .lp-shero__visual { max-width: 560px; }
    .lp-partners__row { grid-template-columns: repeat(3, 1fr); }
    .lp-ben-grid { grid-template-columns: 1fr 1fr; }
  }
  @media (max-width: 640px) {
    .lp-partners__row { grid-template-columns: 1fr 1fr; }
    .lp-ben-grid { grid-template-columns: 1fr; }
    .lp-shero__actions { gap: 16px; }
    .lp-shero__badge { left: 8px; }
  }


  /* ——— Contact page ——— */
  .lp-contact-head { padding-top: clamp(56px, 9vw, 116px); padding-bottom: clamp(28px, 4vw, 52px); text-align: center; }
  .lp-contact-head__inner { max-width: 840px; margin-inline: auto; }
  .lp-contact-head h1 {
    font-family: var(--font-display); font-weight: var(--weight-regular);
    font-size: clamp(44px, 7vw, 92px); line-height: 1.0; letter-spacing: -0.02em;
    color: var(--text-primary); text-wrap: balance;
  }
  .lp-contact-head h1 .metal,
  .lp-contact__asideTitle .metal {
    font-style: italic;
    background: linear-gradient(180deg, var(--champagne-200), var(--champagne-400) 55%, var(--champagne-600));
    -webkit-background-clip: text; background-clip: text; color: transparent;
  }
  .lp-contact-head p {
    margin: 26px auto 0; max-width: 50ch; font-size: clamp(16px, 1.6vw, 19px);
    line-height: 1.6; color: var(--text-secondary); text-wrap: pretty;
  }

  /* Two-column body — divided by a hairline, not boxed */
  .lp-contact__grid {
    display: grid; grid-template-columns: 1.05fr 0.95fr;
    gap: clamp(44px, 6vw, 104px); align-items: start;
    max-width: 1080px; margin-inline: auto;
  }

  /* —— Form: flat underline fields, no container —— */
  .lp-cform { display: flex; flex-direction: column; gap: 30px; }
  .lp-field { display: flex; flex-direction: column; gap: 12px; }
  .lp-field__label {
    font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: var(--tracking-caps);
    text-transform: uppercase; color: var(--text-muted);
  }
  .lp-field__input {
    width: 100%; background: transparent; border: 0;
    border-bottom: 1px solid var(--border-strong);
    padding: 12px 2px; color: var(--text-primary);
    font-family: var(--font-sans); font-size: var(--text-md); line-height: 1.5; outline: none;
    transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
  }
  .lp-field__input::placeholder { color: var(--text-faint); }
  .lp-field__input:hover { border-bottom-color: var(--border-contrast); }
  .lp-field__input:focus { border-bottom-color: var(--champagne-300); box-shadow: 0 1px 0 0 var(--champagne-400); }
  textarea.lp-field__input { resize: vertical; min-height: 104px; padding-top: 4px; }
  .lp-field__err { font-size: var(--text-xs); color: var(--danger, #d98a8a); }

  /* Agree checkbox */
  .lp-agree { display: flex; align-items: center; gap: 12px; cursor: pointer; user-select: none; }
  .lp-agree input { position: absolute; opacity: 0; width: 0; height: 0; }
  .lp-agree__box {
    flex: none; width: 22px; height: 22px; border-radius: var(--radius-sm);
    border: 1px solid var(--border-strong); background: var(--white-a-06);
    display: flex; align-items: center; justify-content: center; color: var(--neutral-950);
    transition: background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
  }
  .lp-agree__box svg { width: 14px; height: 14px; opacity: 0; transform: scale(0.6); transition: opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-spring); stroke-width: 2.6; }
  .lp-agree:hover .lp-agree__box { border-color: var(--border-contrast); }
  .lp-agree input:checked + .lp-agree__box {
    background: linear-gradient(180deg, var(--champagne-200), var(--champagne-400) 60%, var(--champagne-600));
    border-color: var(--accent-ring);
  }
  .lp-agree input:checked + .lp-agree__box svg { opacity: 1; transform: none; }
  .lp-agree input:focus-visible + .lp-agree__box { box-shadow: var(--focus-ring); }
  .lp-agree__txt { font-size: var(--text-sm); color: var(--text-secondary); }
  .lp-agree__txt a { color: var(--text-primary); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--border-contrast); }
  .lp-agree__txt a:hover { text-decoration-color: var(--champagne-300); }

  .lp-cform__submit { margin-top: 4px; }
  .lp-cform__fine { display: flex; align-items: center; gap: 8px; font-size: var(--text-xs); color: var(--text-faint); }
  .lp-cform__fine svg { color: var(--champagne-300); }

  /* —— Aside: editorial, divided by a left hairline —— */
  .lp-contact__aside { border-left: 1px solid var(--border-subtle); padding-left: clamp(36px, 5vw, 72px); }
  .lp-contact__asideTitle {
    font-family: var(--font-display); font-weight: var(--weight-regular);
    font-size: clamp(26px, 3vw, 38px); line-height: 1.08; letter-spacing: -0.015em;
    color: var(--text-primary); text-wrap: balance;
  }
  .lp-contact__asideLead { margin: 18px 0 26px; font-size: var(--text-md); line-height: 1.6; color: var(--text-secondary); max-width: 42ch; text-wrap: pretty; }
  .lp-checklist { list-style: none; margin: 30px 0 0; padding: 0; display: flex; flex-direction: column; gap: 20px; }
  .lp-checklist li { display: flex; align-items: flex-start; gap: 16px; font-size: var(--text-md); line-height: 1.45; color: var(--text-primary); }
  .lp-checklist__ico {
    flex: none; width: 28px; height: 28px; border-radius: 50%; margin-top: 1px;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid var(--accent-ring); color: var(--champagne-300); background: var(--champagne-glow-lo);
  }
  .lp-checklist__ico svg { width: 16px; height: 16px; stroke-width: 2.2; }

  .lp-contact__nudge { margin-top: clamp(40px, 5vw, 56px); padding-top: clamp(32px, 4vw, 44px); border-top: 1px solid var(--border-subtle); }
  .lp-contact__nudge h3 { font-family: var(--font-display); font-weight: var(--weight-regular); font-size: clamp(21px, 2.2vw, 26px); letter-spacing: -0.01em; color: var(--text-primary); }
  .lp-contact__nudge p { margin: 12px 0 22px; font-size: var(--text-base); line-height: 1.6; color: var(--text-secondary); max-width: 42ch; text-wrap: pretty; }

  .lp-contact__methods { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 14px 36px; }
  .lp-method { display: flex; align-items: center; gap: 14px; color: var(--text-primary); }
  .lp-method__ico {
    flex: none; width: 46px; height: 46px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: var(--glass-tint-thin); border: 1px solid var(--border-default); color: var(--text-secondary);
    backdrop-filter: blur(12px) saturate(160%); -webkit-backdrop-filter: blur(12px) saturate(160%);
    box-shadow: var(--glass-bevel);
    transition: color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
  }
  .lp-method__ico svg { width: 20px; height: 20px; }
  .lp-method:hover .lp-method__ico { color: var(--champagne-300); border-color: var(--accent-ring); }
  .lp-method span { display: flex; flex-direction: column; font-size: var(--text-sm); line-height: 1.35; }
  .lp-method__k { font-family: var(--font-mono); font-size: var(--text-2xs); letter-spacing: .12em; text-transform: uppercase; color: var(--text-faint); margin-bottom: 3px; }

  @media (max-width: 860px) {
    .lp-contact__grid { grid-template-columns: 1fr; gap: 48px; }
    .lp-contact__aside { border-left: 0; padding-left: 0; border-top: 1px solid var(--border-subtle); padding-top: 44px; }
  }

  /* ——— Bedankt (thank-you) page ——— */
  .lp-thanks { min-height: 72vh; display: flex; align-items: center; padding-block: clamp(72px, 12vw, 150px); text-align: center; }
  .lp-thanks__inner { max-width: 720px; margin-inline: auto; display: flex; flex-direction: column; align-items: center; }
  .lp-thanks__badge {
    width: 74px; height: 74px; border-radius: var(--radius-xl); margin-bottom: 30px;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(180deg, var(--champagne-200), var(--champagne-400) 60%, var(--champagne-600));
    color: var(--neutral-950); box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), var(--glow-accent-soft);
  }
  .lp-thanks__badge svg { width: 34px; height: 34px; stroke-width: 2.4; }
  .lp-thanks h1 {
    font-family: var(--font-display); font-weight: var(--weight-regular);
    font-size: clamp(40px, 6vw, 80px); line-height: 1.0; letter-spacing: -0.02em;
    color: var(--text-primary); text-wrap: balance;
  }
  .lp-thanks h1 .metal {
    font-style: italic;
    background: linear-gradient(180deg, var(--champagne-200), var(--champagne-400) 55%, var(--champagne-600));
    -webkit-background-clip: text; background-clip: text; color: transparent;
  }
  .lp-thanks p { margin: 26px auto 0; max-width: 52ch; font-size: clamp(16px, 1.6vw, 19px); line-height: 1.6; color: var(--text-secondary); text-wrap: pretty; }
  .lp-thanks__actions { margin-top: 38px; display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; }


  /* ============================================================
     OVER ONS (About) page
     ============================================================ */

  /* ——— Hero ——— */
  .lp-about-hero { position: relative; padding-top: clamp(48px, 8vw, 104px); padding-bottom: clamp(28px, 4vw, 44px); }
  .lp-about-hero__glow {
    position: absolute; left: 50%; top: 6%; transform: translateX(-50%); z-index: 0; pointer-events: none;
    width: min(720px, 84vw); aspect-ratio: 1.5 / 1; border-radius: 50%;
    background: radial-gradient(circle at center, var(--champagne-glow-lo), transparent 68%); filter: blur(34px);
  }
  .lp-about-hero .lp-container { position: relative; z-index: 1; }
  .lp-about-hero__head { max-width: 880px; margin-inline: auto; text-align: center; }
  .lp-about-hero h1 {
    font-family: var(--font-display); font-weight: var(--weight-regular);
    font-size: clamp(44px, 7vw, 96px); line-height: 1.0; letter-spacing: -0.02em;
    color: var(--text-primary); text-wrap: balance; margin: 0 auto; max-width: 15ch;
  }
  .lp-about-hero h1 .metal {
    font-style: italic;
    background: linear-gradient(180deg, var(--champagne-200), var(--champagne-400) 55%, var(--champagne-600));
    -webkit-background-clip: text; background-clip: text; color: transparent;
  }
  .lp-about-hero__sub { margin: 26px auto 0; max-width: 54ch; font-size: clamp(16px, 1.6vw, 19px); line-height: 1.6; color: var(--text-secondary); text-wrap: pretty; }

  /* Image collage with floating stat badges */
  .lp-collage {
    margin-top: clamp(40px, 5vw, 64px);
    display: grid; grid-template-columns: 1.12fr 1fr 1.12fr;
    grid-auto-rows: clamp(150px, 17vw, 220px); gap: clamp(12px, 1.4vw, 18px);
  }
  .lp-collage__cell {
    position: relative; border-radius: var(--radius-2xl); overflow: hidden;
    border: 1px solid var(--border-default); box-shadow: var(--glass-bevel), var(--shadow-md);
  }
  .lp-collage__cell--tall { grid-row: span 2; }
  .lp-collage__cell image-slot { width: 100%; height: 100%; display: block; }
  .lp-collage__stat {
    position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 6px;
    padding: clamp(18px, 2vw, 26px); overflow: hidden;
    border-radius: var(--radius-2xl); border: 1px solid var(--border-default);
    box-shadow: var(--glass-bevel), var(--shadow-md);
  }
  .lp-collage__stat--glass {
    background: var(--glass-tint-strong);
    backdrop-filter: blur(20px) saturate(160%); -webkit-backdrop-filter: blur(20px) saturate(160%);
  }
  .lp-collage__stat--glass::before {
    content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
    background: linear-gradient(135deg, rgba(255,255,255,0.14), transparent 46%); mix-blend-mode: screen;
  }
  .lp-collage__stat--accent {
    background: linear-gradient(165deg, var(--champagne-200), var(--champagne-400) 58%, var(--champagne-600));
    border-color: var(--accent-ring); box-shadow: inset 0 1px 0 rgba(255,255,255,0.45), var(--glow-accent-soft);
  }
  .lp-collage__stat--accent .lp-collage__num { color: var(--neutral-950); }
  .lp-collage__stat--accent .lp-collage__lbl { color: rgba(20,16,12,0.74); }
  .lp-collage__num {
    position: relative; font-family: var(--font-display); font-weight: var(--weight-regular);
    font-size: clamp(34px, 4.4vw, 56px); line-height: 0.95; letter-spacing: -0.02em; color: var(--text-primary);
  }
  .lp-collage__stat--glass .lp-collage__num {
    background: linear-gradient(180deg, var(--champagne-200), var(--champagne-400) 60%, var(--champagne-600));
    -webkit-background-clip: text; background-clip: text; color: transparent;
  }
  .lp-collage__lbl {
    position: relative; font-family: var(--font-mono); font-size: var(--text-2xs); letter-spacing: .12em;
    text-transform: uppercase; color: var(--text-muted); line-height: 1.35;
  }

  /* ——— Mission: editorial two-column + big stat bar ——— */
  .lp-mission__grid { display: grid; grid-template-columns: 0.92fr 1.08fr; gap: clamp(36px, 6vw, 92px); align-items: start; }
  .lp-mission__copy { display: flex; flex-direction: column; gap: 18px; }
  .lp-mission__copy p { margin: 0; font-size: clamp(16px, 1.5vw, 18px); line-height: 1.62; color: var(--text-secondary); text-wrap: pretty; }
  .lp-statbar {
    margin-top: clamp(48px, 6vw, 80px);
    display: grid; grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--border-subtle);
  }
  .lp-statbar__item { padding: clamp(28px, 3vw, 40px) clamp(18px, 2vw, 30px) 4px; border-left: 1px solid var(--border-subtle); display: flex; flex-direction: column; gap: 12px; }
  .lp-statbar__item:first-child { border-left: 0; padding-left: 2px; }
  .lp-statbar__num { font-family: var(--font-display); font-weight: var(--weight-regular); font-size: clamp(40px, 5vw, 68px); line-height: 0.92; letter-spacing: -0.02em; color: var(--text-primary); }
  .lp-statbar__num.is-accent {
    font-style: italic;
    background: linear-gradient(180deg, var(--champagne-200), var(--champagne-400) 55%, var(--champagne-600));
    -webkit-background-clip: text; background-clip: text; color: transparent;
  }
  .lp-statbar__lbl { font-size: var(--text-sm); line-height: 1.45; color: var(--text-muted); max-width: 22ch; }

  /* ——— Core values ——— */
  .lp-values { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(28px, 3vw, 44px) clamp(24px, 3vw, 40px); margin-top: clamp(48px, 6vw, 76px); }
  .lp-value { display: flex; flex-direction: column; gap: 16px; }
  .lp-value__icon {
    width: 56px; height: 56px; border-radius: var(--radius-lg); display: flex; align-items: center; justify-content: center;
    color: var(--champagne-300); background: var(--glass-tint-thin); border: 1px solid var(--border-default);
    backdrop-filter: blur(14px) saturate(160%); -webkit-backdrop-filter: blur(14px) saturate(160%);
    box-shadow: var(--glass-bevel);
  }
  .lp-value__icon svg { width: 26px; height: 26px; }
  .lp-value h3 { font-family: var(--font-display); font-weight: var(--weight-regular); font-size: clamp(19px, 2vw, 23px); letter-spacing: -0.01em; color: var(--text-primary); }
  .lp-value p { font-size: var(--text-base); line-height: 1.55; color: var(--text-secondary); margin: 0; text-wrap: pretty; }

  /* ——— Testimonials (masonry of glass quote cards) ——— */
  .lp-testi-grid { margin-top: clamp(48px, 6vw, 76px); columns: 3; column-gap: clamp(16px, 1.6vw, 22px); }
  .lp-testi {
    break-inside: avoid; margin-bottom: clamp(16px, 1.6vw, 22px);
    padding: clamp(24px, 2.4vw, 32px); border-radius: var(--radius-2xl);
    display: flex; flex-direction: column; gap: 20px;
    transition: border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);
  }
  .lp-testi:hover { transform: translateY(-4px); border-color: var(--border-contrast); box-shadow: var(--shadow-lg), var(--glass-bevel); }
  .lp-testi__mark { font-family: var(--font-display); font-style: italic; font-size: 52px; line-height: 0.5; color: var(--champagne-400); height: 26px; }
  .lp-testi__quote { font-family: var(--font-display); font-weight: var(--weight-regular); font-size: clamp(17px, 1.5vw, 20px); line-height: 1.45; letter-spacing: -0.005em; color: var(--text-primary); text-wrap: pretty; margin: 0; }
  .lp-testi__who { display: flex; align-items: center; gap: 13px; margin-top: auto; }
  .lp-testi__avatar { flex: none; width: 46px; height: 46px; border-radius: 50%; overflow: hidden; border: 1px solid var(--border-strong); box-shadow: var(--glass-bevel); }
  .lp-testi__avatar image-slot { width: 100%; height: 100%; display: block; }
  .lp-testi__name { font-family: var(--font-sans); font-size: var(--text-sm); font-weight: var(--weight-semibold); color: var(--text-primary); }
  .lp-testi__role { font-family: var(--font-mono); font-size: var(--text-2xs); letter-spacing: .08em; text-transform: uppercase; color: var(--text-faint); margin-top: 3px; }

  /* ——— Over ons responsive ——— */
  @media (max-width: 980px) {
    .lp-collage { grid-template-columns: 1fr 1fr; grid-auto-rows: clamp(150px, 30vw, 200px); }
    .lp-collage__cell--tall { grid-row: span 1; }
    .lp-mission__grid { grid-template-columns: 1fr; gap: 28px; }
    .lp-statbar { grid-template-columns: 1fr 1fr; }
    .lp-statbar__item { border-left: 0; border-top: 1px solid var(--border-subtle); padding: 28px 0 4px; }
    .lp-statbar__item:nth-child(odd) { padding-right: 20px; }
    .lp-statbar__item:nth-child(even) { padding-left: 24px; border-left: 1px solid var(--border-subtle); }
    .lp-statbar__item:nth-child(1), .lp-statbar__item:nth-child(2) { border-top: 0; }
    .lp-values { grid-template-columns: 1fr 1fr; }
    .lp-testi-grid { columns: 2; }
  }
  @media (max-width: 640px) {
    .lp-collage { grid-template-columns: 1fr 1fr; }
    .lp-values { grid-template-columns: 1fr; }
    .lp-testi-grid { columns: 1; }
  }

  /* ============================================================
     LARGE-SCREEN RETUNE  (>= 1440px)
     On wide/maximized displays every clamp() above is pegged at its
     ceiling, so the page reads oversized. This block lowers those
     pegged maxima ~15% (type) / ~20% (vertical rhythm) so the site
     sits more comfortably on big screens. Below 1440px nothing here
     applies — laptops keep the original scale. The header is fixed
     (64px) and intentionally excluded.
     ============================================================ */
  @media (min-width: 1440px) {
    /* —— Global section rhythm —— */
    .lp-section { padding-block: 112px; }
    .lp-section--tight { padding-block: 78px; }

    /* —— Shared heading / lead —— */
    .lp-h2 { font-size: 47px; }
    .lp-lead { font-size: 17px; }

    /* —— Home / generic hero —— */
    .lp-hero { padding-top: 104px; padding-bottom: 116px; }
    .lp-hero h1 { font-size: 96px; }
    .lp-hero__sub { font-size: 17px; }

    /* —— Services (floating grid) —— */
    .lp-svc-grid { margin-top: 72px; gap: 62px 46px; }
    .lp-svc-item h3 { font-size: 21px; }
    .lp-svc-cta { margin-top: 66px; }

    /* —— USPs —— */
    .lp-usp2 h3 { font-size: 23px; }

    /* —— Case studies —— */
    .lp-case2__title { font-size: 23px; }

    /* —— Lead magnet —— */
    .lp-magnet { padding: 74px 58px; }
    .lp-magnet h2 { font-size: 47px; }
    .lp-magnet__copy p { font-size: 16px; }

    /* —— FAQ —— */
    .lp-faq { gap: 78px; }
    .lp-faq__q { font-size: 17px; }

    /* —— Contact modal —— */
    .lp-modal h2 { font-size: 33px; }

    /* —— Service page —— */
    .lp-shero { padding-top: 62px; }
    .lp-shero__grid { gap: 62px; }
    .lp-shero h1 { font-size: 62px; }
    .lp-shero__sub { font-size: 17px; }
    .lp-ben-grid { margin-top: 58px; }

    /* —— Contact page —— */
    .lp-contact-head { padding-top: 92px; padding-bottom: 42px; }
    .lp-contact-head h1 { font-size: 78px; }
    .lp-contact-head p { font-size: 17px; }
    .lp-contact__grid { gap: 84px; }
    .lp-contact__asideTitle { font-size: 33px; }
    .lp-contact__nudge { margin-top: 46px; padding-top: 36px; }
    .lp-contact__nudge h3 { font-size: 22px; }

    /* —— Thank-you page —— */
    .lp-thanks { padding-block: 116px; }
    .lp-thanks h1 { font-size: 68px; }
    .lp-thanks p { font-size: 17px; }

    /* —— Over ons (about) —— */
    .lp-about-hero { padding-top: 84px; padding-bottom: 36px; }
    .lp-about-hero h1 { font-size: 80px; }
    .lp-about-hero__sub { font-size: 17px; }
    .lp-collage { margin-top: 52px; }
    .lp-collage__num { font-size: 47px; }
    .lp-mission__grid { gap: 74px; }
    .lp-mission__copy p { font-size: 16px; }
    .lp-statbar { margin-top: 64px; }
    .lp-statbar__num { font-size: 57px; }
    .lp-values { margin-top: 60px; }
    .lp-value h3 { font-size: 20px; }
    .lp-testi-grid { margin-top: 60px; }
    .lp-testi__quote { font-size: 17px; }
  }

/* ============================================================
   LIGHT THEME — a second skin for this dark-native system.
   The system is built for a dark canvas (white-alpha hairlines,
   dark glass with a bright top edge, a white primary pill, a pale
   champagne accent). Light mode re-derives all four:
     • white-alpha fills/borders → black-alpha (so they read on paper)
     • glass → frosted WHITE, leaning on soft shadow, not a bright edge
     • champagne → deeper bronze so it carries contrast as accent + link
     • primary pill → ink (the white pill vanishes on light)
   Set by js/theme-init.js via <html data-theme="light">. Dark stays
   the default :root. Site-wide (this file is loaded by every page).
   ============================================================ */
html[data-theme="light"] {
  /* warm paper canvas — never pure white */
  --bg-base:       #F4F1EB;
  --bg-raised:     #ECE7DF;
  --bg-card:       #FBFAF7;
  --bg-card-hover: #F1ECE4;
  --bg-inset:      #E6E0D6;

  /* subtle fills + hairlines: flip white-alpha → warm black-alpha */
  --white-a-03: rgba(28,26,22,0.03);
  --white-a-04: rgba(28,26,22,0.04);
  --white-a-06: rgba(28,26,22,0.055);
  --white-a-08: rgba(28,26,22,0.07);
  --white-a-10: rgba(28,26,22,0.10);
  --white-a-12: rgba(28,26,22,0.12);
  --white-a-18: rgba(28,26,22,0.16);
  --white-a-28: rgba(28,26,22,0.24);
  --grid-line:  rgba(28,26,22,0.035);

  /* borders re-stated explicitly (they alias white-a above) */
  --border-subtle:   rgba(28,26,22,0.08);
  --border-default:  rgba(28,26,22,0.12);
  --border-strong:   rgba(28,26,22,0.18);
  --border-contrast: rgba(28,26,22,0.28);

  /* frosted WHITE glass */
  --glass-tint:        rgba(255,255,255,0.55);
  --glass-tint-strong: rgba(255,255,255,0.74);
  --glass-tint-thin:   rgba(255,255,255,0.42);
  --glass-sheen:       rgba(255,255,255,0.65);
  --glass-edge:        rgba(255,255,255,0.85);
  --glass-shade:       rgba(28,26,22,0.06);
  --surface-glass:        var(--glass-tint);
  --surface-glass-strong: var(--glass-tint-strong);

  /* ink text ramp */
  --text-primary:   #1B1F24;
  --text-secondary: #4C555E;
  --text-muted:     #69707A;
  --text-faint:     #8A8F98;
  --text-inverse:   #F4F1EB;
  --text-on-accent: #FBFAF7;
  --text-link:      #6E5942;

  /* champagne → bronze (deeper so it reads on cream) */
  --champagne-700: #4F4030;
  --champagne-600: #5F4C39;
  --champagne-500: #79624A;
  --champagne-400: #8A6F52;   /* primary metallic on light */
  --champagne-300: #6E5942;   /* accent text / icons — strong contrast */
  --champagne-200: #A3886A;   /* lightest gradient stop */
  --champagne-glow:    rgba(110,89,66,0.20);
  --champagne-glow-lo: rgba(110,89,66,0.08);

  /* petrol ambient → faint cool */
  --petrol-glow:    rgba(70,100,130,0.06);
  --petrol-glow-lo: rgba(70,100,130,0.04);

  /* accents */
  --accent:          #8A6F52;
  --accent-hover:    #6E5942;
  --accent-press:    #5F4C39;
  --accent-ring:     rgba(110,89,66,0.45);
  --accent-soft:     var(--champagne-glow-lo);
  --accent-contrast: #F6F4EF;

  /* primary action: white pill → INK pill */
  --action-fg:   #1B1F24;
  --action-text: #F6F4EF;

  /* softer, lighter shadows on paper */
  --shadow-xs: 0 1px 2px rgba(28,26,22,0.07);
  --shadow-sm: 0 2px 10px rgba(28,26,22,0.08);
  --shadow-md: 0 12px 30px rgba(28,26,22,0.10);
  --shadow-lg: 0 24px 56px rgba(28,26,22,0.13);
  --shadow-xl: 0 40px 90px rgba(28,26,22,0.16);

  /* feedback hues deepen for contrast on light */
  --success: var(--green-600);
  --warning: var(--amber-600);
  --danger:  var(--red-600);
  --info:    #6E5942;

  --focus-ring: 0 0 0 3px rgba(110,89,66,0.40);
}

/* —— Hardcoded-dark spots that need an explicit light override —— */
html[data-theme="light"] .lp-page-bg {
  background-image:
    radial-gradient(120% 70% at 50% -10%, rgba(28,26,22,0.04), transparent 55%),
    radial-gradient(80% 60% at 85% 8%, var(--champagne-glow-lo), transparent 60%),
    radial-gradient(90% 80% at 78% 112%, var(--petrol-glow), transparent 60%),
    var(--grid-bg);
}
/* The dropdown panel hardcodes a near-black background in the base CSS —
   flip it to frosted paper so the menu items are legible on light. */
html[data-theme="light"] .lp-nav__menu-inner { background: rgba(251,250,247,0.97); }
html[data-theme="light"] .lp-hero__glow { opacity: 0.45; }
html[data-theme="light"] .lp-modal__scrim { background: rgba(28,26,22,0.42); }

/* The DS primary/CTA pill hardcodes a WHITE gradient (the signature dark-mode
   pill). On paper a white pill + light text vanishes, so re-skin primary as an
   INK pill (text is already the light --action-text). --inverse stays white
   for use over imagery. */
html[data-theme="light"] .lp-btn--primary {
  background: linear-gradient(180deg, #2C313A, #1B1F24);
  color: var(--action-text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -1px 0 rgba(0,0,0,0.30), var(--shadow-sm);
}
html[data-theme="light"] .lp-btn--primary:hover {
  background: linear-gradient(180deg, #353B45, #23282F);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.14), 0 6px 18px rgba(28,26,22,0.20);
}
html[data-theme="light"] .lp-btn--primary:active { background: #1B1F24; }


