
@layer tokens, reset, base, layout, components;

@layer tokens {
  :root {
    color-scheme: light dark;
    --font-display: 'DM Serif Display', Georgia, serif;
    --font-body: 'DM Sans', system-ui, sans-serif;
    --brand-hue: 152;
    --brand-primary: light-dark(hsl(var(--brand-hue) 60% 32%), hsl(var(--brand-hue) 55% 55%));
    --brand-subtle: light-dark(hsl(var(--brand-hue) 60% 95%), hsl(var(--brand-hue) 30% 15%));
    --brand-dark: color-mix(in oklch, var(--brand-primary), black 25%);
    --surface-base: light-dark(hsl(210 20% 98%), hsl(220 15% 10%));
    --surface-elevated: light-dark(hsl(0 0% 100%), hsl(220 15% 14%));
    --text-primary: light-dark(hsl(220 15% 12%), hsl(220 15% 94%));
    --text-secondary: light-dark(hsl(220 10% 40%), hsl(220 10% 65%));
    --border-subtle: light-dark(hsl(220 15% 90%), hsl(220 15% 20%));
    --radius-sm: 0.375rem;
    --radius-md: 0.5rem;
    --radius-lg: 0.875rem;
    --radius-xl: 1.25rem;
    --shadow-sm: light-dark(0 1px 2px hsl(220 15% 12% / .06), 0 1px 2px hsl(0 0% 0% / .2));
    --shadow-md: light-dark(0 4px 12px hsl(220 15% 12% / .08), 0 4px 12px hsl(0 0% 0% / .3));
    --shadow-lg: light-dark(0 12px 32px hsl(220 15% 12% / .12), 0 12px 32px hsl(0 0% 0% / .4));
    --space-1: .25rem; --space-2: .5rem; --space-3: .75rem; --space-4: 1rem;
    --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem; --space-12: 3rem;
    --space-16: 4rem; --space-20: 5rem; --space-24: 6rem;
    --max-width: 72rem;
    accent-color: var(--brand-primary);
    scrollbar-width: thin;
    scrollbar-color: var(--border-subtle) transparent;
  }
}

@layer reset {
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  html { block-size: 100%; scroll-behavior: smooth; -webkit-text-size-adjust: none; text-size-adjust: none; }
  body { font-family: var(--font-body); background: var(--surface-base); color: var(--text-primary); line-height: 1.6; -webkit-font-smoothing: antialiased; min-block-size: 100dvh; display: flex; flex-direction: column; }
  img, svg { display: block; max-inline-size: 100%; }
  a { color: inherit; }
  menu, ul { list-style: none; }
  h1, h2, h3, h4, h5, h6 { text-wrap: balance; line-height: 1.2; }
  p { text-wrap: pretty; }
  main { flex: 1; }
}

@layer base {
  :focus-visible { outline: 2px solid var(--brand-primary); outline-offset: 2px; border-radius: 2px; }
  ::selection { background: var(--brand-subtle); color: var(--brand-primary); }

  .skip-link {
    position: absolute; inset-block-start: -100%; inset-inline-start: var(--space-4);
    background: var(--brand-primary); color: #fff; padding: var(--space-2) var(--space-4);
    border-radius: 0 0 var(--radius-md) var(--radius-md); font-weight: 600; text-decoration: none; z-index: 999;
  }
  .skip-link:focus { inset-block-start: 0; }
}

@layer layout {
  .container { max-inline-size: var(--max-width); margin-inline: auto; padding-inline: var(--space-6); }

  /* ── Header ── */
  .site-header {
    position: sticky; inset-block-start: 0; z-index: 100;
    background: color-mix(in srgb, var(--surface-elevated), transparent 6%);
    backdrop-filter: blur(12px); border-block-end: 1px solid var(--border-subtle);
  }
  .site-nav {
    display: flex; align-items: center; justify-content: space-between;
    max-inline-size: var(--max-width); margin-inline: auto; padding: var(--space-3) var(--space-6);
    gap: var(--space-4);
  }
  .nav-logo {
    display: flex; align-items: center; gap: var(--space-2); text-decoration: none;
    color: var(--brand-primary); font-family: var(--font-display); font-size: 1.25rem;
    flex-shrink: 0;
  }
  .nav-logo strong { color: var(--text-primary); }
  .nav-toggle {
    display: flex; align-items: center; justify-content: center;
    background: none; border: 1px solid var(--border-subtle); border-radius: var(--radius-md);
    padding: var(--space-2); cursor: pointer; color: var(--text-primary); min-block-size: 40px; min-inline-size: 40px;
  }
  @media (min-width: 768px) { .nav-toggle { display: none; } }
  .nav-menu {
    display: none; flex-direction: column; position: absolute; inset-block-start: 100%;
    inset-inline: 0; background: var(--surface-elevated); border-block-end: 1px solid var(--border-subtle);
    padding: var(--space-4) var(--space-6); gap: var(--space-2);
  }
  .nav-menu.open { display: flex; }
  @media (min-width: 768px) {
    .nav-menu { display: flex; flex-direction: row; position: static; background: none; border: none; padding: 0; align-items: center; gap: var(--space-2); }
  }
  .nav-menu li > a { display: flex; align-items: center; padding: var(--space-2) var(--space-3); border-radius: var(--radius-md); text-decoration: none; font-weight: 500; color: var(--text-secondary); transition: color 150ms; white-space: nowrap; min-block-size: 40px; }
  .nav-menu li > a:hover, .nav-menu li > a.active { color: var(--text-primary); }
  .nav-cta { display: flex; align-items: center; gap: var(--space-2); margin-block-start: var(--space-2); }
  @media (min-width: 768px) { .nav-cta { margin-block-start: 0; } }

  /* ── Footer ── */
  .site-footer { border-block-start: 1px solid var(--border-subtle); }
  .footer-inner { max-inline-size: var(--max-width); margin-inline: auto; padding: var(--space-12) var(--space-6); display: grid; gap: var(--space-8); grid-template-columns: 1fr; }
  @media (min-width: 640px) { .footer-inner { grid-template-columns: 2fr 1fr 1fr; } }
  .footer-brand { display: flex; flex-direction: column; gap: var(--space-2); }
  .footer-brand strong { font-family: var(--font-display); font-size: 1.25rem; display: flex; align-items: center; gap: var(--space-2); color: var(--brand-primary); }
  .footer-brand p { color: var(--text-secondary); font-size: 0.875rem; max-inline-size: 22rem; }
  .site-footer nav h3 { font-size: 0.75rem; text-transform: uppercase; letter-spacing: .1em; color: var(--text-secondary); margin-block-end: var(--space-3); }
  .site-footer nav ul { display: flex; flex-direction: column; gap: var(--space-2); }
  .site-footer nav a { text-decoration: none; color: var(--text-secondary); font-size: 0.875rem; transition: color 150ms; }
  .site-footer nav a:hover { color: var(--text-primary); }
  .footer-bottom { border-block-start: 1px solid var(--border-subtle); padding: var(--space-4) var(--space-6); text-align: center; color: var(--text-secondary); font-size: 0.875rem; }
}

@layer components {
  /* ── Buttons ── */
  .btn-primary {
    display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
    min-block-size: 44px; padding: var(--space-2) var(--space-6);
    background: var(--brand-primary); color: #fff; border: none;
    border-radius: var(--radius-lg); font-weight: 600; font-size: 1rem;
    text-decoration: none; cursor: pointer; transition: background 150ms, box-shadow 150ms;
    white-space: nowrap;
  }
  .btn-primary:hover { background: var(--brand-dark); box-shadow: var(--shadow-md); }
  .btn-primary.btn-lg { min-block-size: 52px; padding: var(--space-3) var(--space-8); font-size: 1.125rem; }
  .btn-primary.btn-full { inline-size: 100%; }
  .btn-ghost {
    display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
    min-block-size: 44px; padding: var(--space-2) var(--space-4);
    background: transparent; color: var(--text-primary); border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg); font-weight: 600; font-size: 1rem;
    text-decoration: none; cursor: pointer; transition: background 150ms, border-color 150ms;
    white-space: nowrap;
  }
  .btn-ghost:hover { background: var(--surface-elevated); border-color: var(--text-secondary); }
  .btn-ghost.btn-lg { min-block-size: 52px; padding: var(--space-3) var(--space-6); font-size: 1.125rem; }
  .btn-ghost.btn-full { inline-size: 100%; }
  .btn-outline {
    display: inline-flex; align-items: center; justify-content: center;
    min-block-size: 44px; padding: var(--space-2) var(--space-6);
    background: transparent; color: var(--brand-primary); border: 2px solid var(--brand-primary);
    border-radius: var(--radius-lg); font-weight: 600; text-decoration: none;
    cursor: pointer; transition: background 150ms; white-space: nowrap;
  }
  .btn-outline:hover { background: var(--brand-subtle); }
  .btn-outline.btn-full { inline-size: 100%; }

  /* ── Page Hero ── */
  .page-hero { padding: var(--space-20) var(--space-6) var(--space-12); text-align: center; background: linear-gradient(180deg, var(--surface-elevated) 0%, var(--surface-base) 100%); border-block-end: 1px solid var(--border-subtle); }
  .page-hero h1 { font-family: var(--font-display); font-size: clamp(2rem, 5vw, 3rem); margin-block-end: var(--space-4); }
  .hero-lead { font-size: 1.25rem; color: var(--text-secondary); max-inline-size: 44rem; margin-inline: auto; }

  /* ── Hero (Home) ── */
  .hero { display: grid; gap: var(--space-12); align-items: center; padding: var(--space-16) var(--space-6); max-inline-size: var(--max-width); margin-inline: auto; }
  @media (min-width: 900px) { .hero { grid-template-columns: 1fr 1fr; padding-block: var(--space-24); } }
  .hero-content { display: flex; flex-direction: column; gap: var(--space-6); }
  .hero-badge { display: inline-flex; }
  .hero-badge span { background: var(--brand-subtle); color: var(--brand-primary); padding: var(--space-1) var(--space-3); border-radius: 999px; font-size: 0.75rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; border: 1px solid var(--brand-primary); }
  .hero h1 { font-family: var(--font-display); font-size: clamp(2.25rem, 5vw, 3.5rem); }
  .hero .hero-lead { font-size: 1.125rem; color: var(--text-secondary); }
  .hero-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }
  .hero-social-proof { font-size: 0.875rem; color: var(--text-secondary); }

  /* ── Dashboard preview ── */
  .hero-visual { display: none; }
  @media (min-width: 900px) { .hero-visual { display: block; } }
  .dashboard-preview { background: var(--surface-elevated); border: 1px solid var(--border-subtle); border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); overflow: hidden; }
  .preview-header { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); background: var(--surface-base); border-block-end: 1px solid var(--border-subtle); }
  .preview-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--border-subtle); }
  .preview-title { margin-inline-start: auto; font-size: 0.75rem; color: var(--text-secondary); font-weight: 500; }
  .preview-stats { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); padding: var(--space-4); }
  .stat-card { background: var(--surface-base); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); padding: var(--space-3); }
  .stat-value { display: block; font-family: var(--font-display); font-size: 1.5rem; color: var(--text-primary); }
  .stat-label { display: block; font-size: 0.75rem; color: var(--text-secondary); }
  .stat-growth { display: block; font-size: 0.75rem; font-weight: 600; }
  .stat-growth.positive { color: hsl(152 60% 35%); }
  .preview-pipeline { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-4); padding-block-start: 0; }
  .pipeline-stage { display: flex; align-items: center; justify-content: space-between; padding: var(--space-2) var(--space-3); background: var(--surface-base); border-radius: var(--radius-md); }
  .pipeline-name { font-size: 0.875rem; font-weight: 500; }
  .pipeline-count { font-size: 0.75rem; font-weight: 700; color: #fff; padding: 2px 8px; border-radius: 999px; }

  /* ── Problem section ── */
  .problem { padding: var(--space-20) var(--space-6); background: var(--surface-elevated); border-block: 1px solid var(--border-subtle); }
  .problem h2 { font-family: var(--font-display); font-size: clamp(1.75rem, 4vw, 2.5rem); text-align: center; margin-block-end: var(--space-4); }
  .section-lead { text-align: center; color: var(--text-secondary); font-size: 1.125rem; margin-block-end: var(--space-12); max-inline-size: 44rem; margin-inline: auto; }
  .problem-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-6); max-inline-size: var(--max-width); margin-inline: auto; }
  @media (min-width: 640px) { .problem-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (min-width: 960px) { .problem-grid { grid-template-columns: repeat(3, 1fr); } }
  .problem-card { padding: var(--space-6); background: var(--surface-base); border: 1px solid var(--border-subtle); border-radius: var(--radius-xl); }
  .problem-icon { font-size: 1.5rem; display: block; margin-block-end: var(--space-3); }
  .problem-card h3 { font-size: 1rem; font-weight: 700; margin-block-end: var(--space-2); }
  .problem-card p { font-size: 0.875rem; color: var(--text-secondary); }

  /* ── Solution section ── */
  .solution { padding: var(--space-20) var(--space-6); }
  .solution h2 { font-family: var(--font-display); font-size: clamp(1.75rem, 4vw, 2.5rem); text-align: center; margin-block-end: var(--space-4); }
  .feature-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-6); max-inline-size: var(--max-width); margin-inline: auto; }
  @media (min-width: 640px) { .feature-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (min-width: 960px) { .feature-grid { grid-template-columns: repeat(3, 1fr); } }
  .feature-card { padding: var(--space-6); background: var(--surface-elevated); border: 1px solid var(--border-subtle); border-radius: var(--radius-xl); transition: box-shadow 150ms, translate 150ms; }
  .feature-card:hover { box-shadow: var(--shadow-md); translate: 0 -2px; }
  .feature-icon { width: 2.5rem; height: 2.5rem; background: var(--brand-subtle); border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center; margin-block-end: var(--space-4); color: var(--brand-primary); }
  .feature-card h3 { font-size: 1.0625rem; font-weight: 700; margin-block-end: var(--space-2); }
  .feature-card p { font-size: 0.875rem; color: var(--text-secondary); }

  /* ── Pipeline steps ── */
  .pipeline-section { padding: var(--space-20) var(--space-6); background: var(--surface-elevated); border-block: 1px solid var(--border-subtle); }
  .pipeline-section h2 { font-family: var(--font-display); font-size: clamp(1.75rem, 4vw, 2.5rem); text-align: center; margin-block-end: var(--space-4); }
  .pipeline-steps { display: flex; flex-direction: column; gap: var(--space-4); max-inline-size: 48rem; margin-inline: auto; counter-reset: none; }
  .pipeline-step { display: flex; gap: var(--space-4); align-items: flex-start; }
  .step-number { display: flex; align-items: center; justify-content: center; min-width: 2.5rem; height: 2.5rem; background: var(--brand-primary); color: #fff; border-radius: 50%; font-weight: 700; font-size: 0.875rem; flex-shrink: 0; }
  .step-content h3 { font-weight: 700; margin-block-end: var(--space-1); }
  .step-content p { font-size: 0.875rem; color: var(--text-secondary); }

  /* ── Pricing cards ── */
  .pricing-preview { padding: var(--space-20) var(--space-6); }
  .pricing-preview h2 { font-family: var(--font-display); font-size: clamp(1.75rem, 4vw, 2.5rem); text-align: center; margin-block-end: var(--space-4); }
  .pricing-cards { display: grid; grid-template-columns: 1fr; gap: var(--space-6); max-inline-size: 56rem; margin-inline: auto; }
  @media (min-width: 640px) { .pricing-cards { grid-template-columns: repeat(3, 1fr); } }
  .pricing-card { display: flex; flex-direction: column; padding: var(--space-6); background: var(--surface-elevated); border: 1px solid var(--border-subtle); border-radius: var(--radius-xl); position: relative; }
  .pricing-card.featured { border-color: var(--brand-primary); box-shadow: var(--shadow-lg); }
  .plan-badge { position: absolute; inset-block-start: -0.75rem; inset-inline-start: 50%; translate: -50% 0; background: var(--brand-primary); color: #fff; font-size: 0.75rem; font-weight: 700; padding: var(--space-1) var(--space-3); border-radius: 999px; white-space: nowrap; }
  .pricing-card h3 { font-size: 1.125rem; font-weight: 700; margin-block-end: var(--space-2); }
  .plan-price { font-size: 2rem; font-weight: 700; font-family: var(--font-display); margin-block-end: var(--space-1); }
  .plan-price span { font-size: 1rem; font-weight: 400; color: var(--text-secondary); }
  .plan-tagline { font-size: 0.875rem; color: var(--text-secondary); margin-block-end: var(--space-6); }
  .plan-features { flex: 1; display: flex; flex-direction: column; gap: var(--space-2); margin-block-end: var(--space-6); }
  .plan-features li { display: flex; align-items: flex-start; gap: var(--space-2); font-size: 0.875rem; color: var(--text-secondary); }
  .plan-features li svg { flex-shrink: 0; color: var(--brand-primary); margin-block-start: 2px; }
  .pricing-more { text-align: center; margin-block-start: var(--space-8); }
  .pricing-more a { color: var(--brand-primary); text-decoration: underline; font-weight: 600; }

  /* ── CTA final ── */
  .cta-final { text-align: center; padding: var(--space-24) var(--space-6); background: var(--surface-elevated); border-block: 1px solid var(--border-subtle); }
  .cta-final h2 { font-family: var(--font-display); font-size: clamp(1.75rem, 4vw, 2.5rem); margin-block-end: var(--space-4); }
  .cta-final p { color: var(--text-secondary); font-size: 1.125rem; margin-block-end: var(--space-8); max-inline-size: 40rem; margin-inline: auto; }

  /* ── Features page ── */
  .features-detailed { padding: var(--space-12) var(--space-6); }
  .feature-section { display: grid; gap: var(--space-12); align-items: center; max-inline-size: var(--max-width); margin-inline: auto; padding-block: var(--space-12); border-block-end: 1px solid var(--border-subtle); }
  .feature-section:last-child { border-block-end: none; }
  @media (min-width: 768px) { .feature-section { grid-template-columns: 1fr 1fr; } .feature-section.reverse { direction: rtl; } .feature-section.reverse > * { direction: ltr; } }
  .feature-tag { display: inline-block; background: var(--brand-subtle); color: var(--brand-primary); font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; padding: var(--space-1) var(--space-3); border-radius: 999px; margin-block-end: var(--space-3); border: 1px solid var(--brand-primary); }
  .feature-text h2 { font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2rem); margin-block-end: var(--space-4); }
  .feature-text p { color: var(--text-secondary); margin-block-end: var(--space-6); }
  .feature-bullets { display: flex; flex-direction: column; gap: var(--space-2); }
  .feature-bullets li { display: flex; align-items: flex-start; gap: var(--space-2); font-size: 0.9375rem; }
  .feature-bullets li svg { flex-shrink: 0; color: var(--brand-primary); margin-block-start: 2px; }
  .feature-visual { display: flex; align-items: center; justify-content: center; }
  .feature-screenshot { width: 100%; aspect-ratio: 16/10; border-radius: var(--radius-xl); border: 1px solid var(--border-subtle); background: var(--surface-elevated); display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow-lg); overflow: hidden; position: relative; }
  .feature-screenshot--leads { background: linear-gradient(135deg, hsl(var(--brand-hue) 60% 96%), hsl(220 20% 96%)); }
  .feature-screenshot--scheduling { background: linear-gradient(135deg, hsl(200 70% 96%), hsl(var(--brand-hue) 50% 96%)); }
  .feature-screenshot--invoicing { background: linear-gradient(135deg, hsl(280 60% 96%), hsl(220 20% 96%)); }
  .feature-screenshot--customers { background: linear-gradient(135deg, hsl(30 70% 96%), hsl(var(--brand-hue) 50% 96%)); }
  .feature-screenshot--portal { background: linear-gradient(135deg, hsl(180 60% 96%), hsl(var(--brand-hue) 50% 96%)); }
  .screenshot-label { font-size: 0.875rem; color: var(--text-secondary); font-weight: 500; padding: var(--space-4); text-align: center; }

  /* ── Integrations ── */
  .integrations { padding: var(--space-20) var(--space-6); background: var(--surface-elevated); border-block: 1px solid var(--border-subtle); }
  .integrations h2 { font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2rem); text-align: center; margin-block-end: var(--space-4); }
  .integration-grid { display: flex; flex-wrap: wrap; gap: var(--space-3); justify-content: center; max-inline-size: var(--max-width); margin-inline: auto; }
  .integration-card { display: flex; flex-direction: column; align-items: center; gap: var(--space-1); padding: var(--space-4) var(--space-6); background: var(--surface-base); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); }
  .integration-name { font-weight: 700; font-size: 0.9375rem; }
  .integration-category { font-size: 0.75rem; color: var(--text-secondary); }

  /* ── Pricing page ── */
  .billing-toggle { display: inline-flex; border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); padding: var(--space-1); margin-block-start: var(--space-6); background: var(--surface-elevated); }
  .toggle-btn { padding: var(--space-2) var(--space-4); border: none; background: none; border-radius: var(--radius-md); cursor: pointer; font-weight: 600; color: var(--text-secondary); transition: background 150ms, color 150ms; display: flex; align-items: center; gap: var(--space-2); }
  .toggle-btn.active { background: var(--brand-primary); color: #fff; }
  .save-badge { background: hsl(45 90% 50%); color: hsl(45 90% 15%); font-size: 0.6875rem; padding: 1px 6px; border-radius: 999px; font-weight: 700; }
  .pricing-main { padding: var(--space-16) var(--space-6); }
  .pricing-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-6); max-inline-size: 72rem; margin-inline: auto; }
  @media (min-width: 640px) { .pricing-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (min-width: 1024px) { .pricing-grid { grid-template-columns: repeat(4, 1fr); } }
  .plan-header { margin-block-end: var(--space-4); }
  .plan-price-display { margin-block-end: var(--space-6); }
  .plan-price { font-family: var(--font-display); font-size: 2.5rem; font-weight: 700; }
  .plan-price strong { font-size: 2.5rem; }
  .plan-price span { font-size: 1rem; color: var(--text-secondary); font-weight: 400; }
  .plan-billing { font-size: 0.75rem; color: var(--text-secondary); }
  .plan-divider { border: none; border-block-start: 1px solid var(--border-subtle); margin-block: var(--space-4); }
  .plan-features { display: flex; flex-direction: column; gap: var(--space-3); margin-block-end: var(--space-6); }
  .plan-features li { display: flex; align-items: flex-start; gap: var(--space-2); font-size: 0.875rem; }
  .plan-features li svg { flex-shrink: 0; margin-block-start: 1px; }
  .plan-features li.excluded { color: var(--text-secondary); opacity: .6; }
  .plan-features li.excluded svg { color: var(--text-secondary); }
  .plan-features li:not(.excluded) svg { color: var(--brand-primary); }
  .feature-note { font-size: 0.75rem; color: var(--text-secondary); }

  /* ── Comparison table ── */
  .comparison-table { padding: var(--space-16) var(--space-6); background: var(--surface-elevated); border-block: 1px solid var(--border-subtle); }
  .comparison-table h2 { font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2rem); text-align: center; margin-block-end: var(--space-8); }
  .table-wrapper { overflow-x: auto; border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); }
  table { inline-size: 100%; border-collapse: collapse; }
  thead { background: var(--surface-base); }
  th, td { padding: var(--space-3) var(--space-4); text-align: left; border-block-end: 1px solid var(--border-subtle); white-space: nowrap; font-size: 0.875rem; }
  th { font-weight: 700; }
  td svg { color: var(--brand-primary); }
  td svg[aria-label="No"] { color: var(--text-secondary); opacity: .4; }
  tr.group-header th { background: var(--surface-elevated); font-size: 0.75rem; text-transform: uppercase; letter-spacing: .08em; color: var(--text-secondary); padding-block: var(--space-2); }

  /* ── FAQ ── */
  .faq { padding: var(--space-16) var(--space-6); }
  .faq h2 { font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2rem); text-align: center; margin-block-end: var(--space-8); }
  .faq-list { max-inline-size: 48rem; margin-inline: auto; display: flex; flex-direction: column; gap: var(--space-4); }
  .faq-item { border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); padding: var(--space-6); background: var(--surface-elevated); }
  .faq-item dt { font-weight: 700; margin-block-end: var(--space-2); }
  .faq-item dd { color: var(--text-secondary); font-size: 0.9375rem; }

  /* ── Contact page ── */
  .contact-main { padding: var(--space-12) var(--space-6); }
  .contact-grid { display: grid; gap: var(--space-12); max-inline-size: var(--max-width); margin-inline: auto; grid-template-columns: 1fr; }
  @media (min-width: 768px) { .contact-grid { grid-template-columns: 3fr 2fr; } }
  .contact-form-wrapper h2, .contact-info h2 { font-family: var(--font-display); font-size: 1.5rem; margin-block-end: var(--space-6); }
  .contact-form { display: flex; flex-direction: column; gap: var(--space-4); }
  .form-row { display: grid; gap: var(--space-4); grid-template-columns: 1fr; }
  @media (min-width: 480px) { .form-row { grid-template-columns: 1fr 1fr; } }
  .field { display: flex; flex-direction: column; gap: var(--space-2); }
  .field-label { font-size: 0.875rem; font-weight: 500; }
  .field input, .field select, .field textarea {
    padding: var(--space-3) var(--space-4); background: var(--surface-elevated);
    border: 1px solid var(--border-subtle); border-radius: var(--radius-md);
    color: var(--text-primary); font-family: inherit; font-size: 1rem; line-height: 1.5;
    transition: border-color 150ms;
  }
  .field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--brand-primary); }
  .field textarea { resize: vertical; min-block-size: 8rem; }
  .hp-field { position: absolute; left: -9999px; opacity: 0; pointer-events: none; }
  .form-success { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-6); background: var(--brand-subtle); border: 1px solid var(--brand-primary); border-radius: var(--radius-lg); }
  .form-success svg { color: var(--brand-primary); }
  .form-error-banner { padding: var(--space-3) var(--space-4); background: hsl(0 80% 96%); border: 1px solid hsl(0 70% 85%); border-radius: var(--radius-md); color: hsl(0 70% 35%); font-size: 0.875rem; margin-block-end: var(--space-4); }
  .contact-channels { display: flex; flex-direction: column; gap: var(--space-4); margin-block-end: var(--space-8); }
  .contact-channel { display: flex; gap: var(--space-4); align-items: flex-start; }
  .channel-icon { width: 2.5rem; height: 2.5rem; background: var(--brand-subtle); border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center; color: var(--brand-primary); flex-shrink: 0; }
  .channel-icon svg { width: 1.25rem; height: 1.25rem; }
  .contact-channel strong { display: block; font-weight: 700; margin-block-end: var(--space-1); }
  .contact-channel p { font-size: 0.875rem; color: var(--text-secondary); }
  .response-time { background: var(--surface-elevated); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); padding: var(--space-4); }
  .response-time strong { display: block; font-weight: 700; margin-block-end: var(--space-2); }
  .response-time p { font-size: 0.875rem; color: var(--text-secondary); }

  /* ── About page ── */
  .mission { padding: var(--space-16) var(--space-6); }
  .mission h2 { font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2rem); margin-block-end: var(--space-8); text-align: center; }
  .mission-statement { max-inline-size: 44rem; margin-inline: auto; padding: var(--space-6); border-inline-start: 4px solid var(--brand-primary); background: var(--brand-subtle); border-radius: 0 var(--radius-lg) var(--radius-lg) 0; font-size: 1.125rem; margin-block-end: var(--space-8); }
  .mission-details { max-inline-size: 44rem; margin-inline: auto; display: flex; flex-direction: column; gap: var(--space-4); color: var(--text-secondary); }
  .values { padding: var(--space-16) var(--space-6); background: var(--surface-elevated); border-block: 1px solid var(--border-subtle); }
  .values h2 { font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2rem); text-align: center; margin-block-end: var(--space-8); }
  .values-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-6); max-inline-size: var(--max-width); margin-inline: auto; }
  @media (min-width: 640px) { .values-grid { grid-template-columns: repeat(2, 1fr); } }
  .value-card { padding: var(--space-6); border: 1px solid var(--border-subtle); border-radius: var(--radius-xl); background: var(--surface-base); }
  .value-card h3 { font-weight: 700; margin-block-end: var(--space-2); }
  .value-card p { font-size: 0.875rem; color: var(--text-secondary); }
  .product-principles { padding: var(--space-16) var(--space-6); }
  .product-principles h2 { font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2rem); text-align: center; margin-block-end: var(--space-4); }
  .principles-list { display: flex; flex-direction: column; gap: var(--space-6); max-inline-size: 48rem; margin-inline: auto; }
  .principle-item { display: flex; gap: var(--space-4); align-items: flex-start; }
  .principle-number { display: block; font-family: var(--font-display); font-size: 1.5rem; color: var(--brand-primary); opacity: .4; min-width: 3rem; flex-shrink: 0; }
  .principle-item p { font-size: 0.875rem; color: var(--text-secondary); margin-block-start: var(--space-1); }
  .pilot-story { padding: var(--space-16) var(--space-6); background: var(--surface-elevated); border-block: 1px solid var(--border-subtle); }
  .pilot-story h2 { font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2rem); margin-block-end: var(--space-6); }
  .pilot-story p { color: var(--text-secondary); margin-block-end: var(--space-4); max-inline-size: 44rem; }
}
