﻿/* ============================================================
   HAI Automation — Signal-stijl Scroll Experience
   Design System + Scroll-driven Animations
   ============================================================ */

/* Fonts */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;0,900;1,400;1,700&family=Inter:wght@300;400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

/* ── Custom Properties ── */
:root {
  /* Palette — warm light */
  --bg: #f5f2ec;
  --bg-deep: #eae6dd;
  --surface: rgba(255,255,255,0.55);
  --surface-solid: #ffffff;
  --ink: #0b0b0c;
  --ink-soft: rgba(11,11,12,0.72);
  --ink-muted: rgba(11,11,12,0.44);
  --ink-faint: rgba(11,11,12,0.22);
  --hairline: rgba(11,11,12,0.10);
  --hairline-strong: rgba(11,11,12,0.18);
  --glow: rgba(11,11,12,0.06);

  /* Accent */
  --accent: #0b0b0c;
  --accent-fg: #f5f2ec;

  /* Typography */
  --font-display: 'Playfair Display', 'Georgia', serif;
  --font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --font-mono: 'IBM Plex Mono', 'Menlo', monospace;

  /* Layout */
  --container: 1140px;
  --radius: 20px;
  --radius-sm: 14px;
  --radius-pill: 999px;

  /* Spacing (8px grid) */
  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 32px;
  --space-5: 40px;
  --space-6: 48px;
  --space-section-sm: 64px;
  --space-section: 96px;
  --space-section-lg: 128px;
  --space-gap-sm: 12px;
  --space-gap: 16px;

  /* Parallax (set by JS) */
  --scroll-y: 0px;

  /* Transitions */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-smooth: cubic-bezier(0.65, 0, 0.35, 1);
}

/* ── View Transitions ── */
@view-transition {
  navigation: auto;
}

::view-transition-old(root) {
  animation: hai-fade-out 200ms ease;
}

::view-transition-new(root) {
  animation: hai-fade-in 240ms ease;
}

@keyframes hai-fade-out {
  from { opacity: 1; }
  to { opacity: 0.0; }
}

@keyframes hai-fade-in {
  from { opacity: 0.0; }
  to { opacity: 1; }
}

/* Dark mode */
[data-theme="dark"] {
  --bg: #0a0a0b;
  --bg-deep: #111112;
  --surface: rgba(255,255,255,0.05);
  --surface-solid: #161617;
  --ink: #f0ede6;
  --ink-soft: rgba(240,237,230,0.72);
  --ink-muted: rgba(240,237,230,0.44);
  --ink-faint: rgba(240,237,230,0.22);
  --hairline: rgba(240,237,230,0.10);
  --hairline-strong: rgba(240,237,230,0.18);
  --glow: rgba(240,237,230,0.06);

  --accent: #f0ede6;
  --accent-fg: #0a0a0b;
}

/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: auto; }

body {
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--ink);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

img, svg, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
ul, ol { list-style: none; }

/* ── Grain Overlay ── */
.grain-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  opacity: 0.045;
  mix-blend-mode: multiply;
}

[data-theme="dark"] .grain-overlay {
  opacity: 0.06;
  mix-blend-mode: screen;
}

/* ── Floating Nav ── */
.floating-nav {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px 8px 18px;
  background: rgba(245,242,236,0.78);
  backdrop-filter: blur(18px) saturate(1.6);
  -webkit-backdrop-filter: blur(18px) saturate(1.6);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill);
  opacity: 0;
  transform: translateX(-50%) translateY(-12px) scale(0.97);
  transition: opacity 600ms var(--ease-out), transform 600ms var(--ease-out);
}

.floating-nav.scrolled {
  box-shadow: 0 18px 60px rgba(0,0,0,0.10);
  background: rgba(245,242,236,0.92);
}

[data-theme="dark"] .floating-nav.scrolled {
  box-shadow: 0 18px 70px rgba(0,0,0,0.32);
  background: rgba(10,10,11,0.86);
}

.floating-nav.visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0) scale(1);
}

[data-theme="dark"] .floating-nav {
  background: rgba(10,10,11,0.72);
  border-color: rgba(240,237,230,0.08);
}

.nav-brand {
  font-family: var(--font-mono);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding-right: 10px;
  border-right: 1px solid var(--hairline);
  margin-right: 4px;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 2px;
}

.nav-links a {
  font-size: 13px;
  font-weight: 500;
  color: var(--ink-soft);
  padding: 8px 12px;
  border-radius: var(--radius-pill);
  transition: background 160ms ease, color 160ms ease;
  white-space: nowrap;
}

.nav-links a:hover {
  color: var(--ink);
  background: var(--glow);
}

.nav-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: 4px;
  padding-left: 10px;
  border-left: 1px solid var(--hairline);
}

/* Theme toggle */
.theme-toggle {
  width: 38px;
  height: 26px;
  border-radius: var(--radius-pill);
  border: 1px solid var(--hairline);
  background: transparent;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
}

.theme-toggle-dot {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--ink);
  transition: transform 260ms var(--ease-out);
}

.theme-toggle.active .theme-toggle-dot {
  transform: translateX(12px);
}

/* Mobile toggle */
.mobile-toggle {
  display: none;
  width: 38px;
  height: 32px;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill);
  background: transparent;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.mobile-toggle span {
  display: block;
  width: 16px;
  height: 1.5px;
  background: var(--ink);
  position: relative;
}

.mobile-toggle span::before,
.mobile-toggle span::after {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  height: 1.5px;
  background: var(--ink);
}

.mobile-toggle span::before { top: -5px; }
.mobile-toggle span::after { top: 5px; }

/* Mobile menu panel */
.mobile-menu {
  position: fixed;
  top: 70px;
  left: 16px;
  right: 16px;
  z-index: 999;
  background: var(--surface-solid);
  border: 1px solid var(--hairline);
  border-radius: var(--radius);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
  transition: opacity 280ms var(--ease-out), transform 280ms var(--ease-out);
}

[data-theme="dark"] .mobile-menu { background: var(--surface-solid); }

.mobile-menu.open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.mobile-menu a {
  display: block;
  padding: 14px 16px;
  font-size: 15px;
  font-weight: 500;
  color: var(--ink-soft);
  border-radius: var(--radius-sm);
  transition: background 140ms ease;
}

.mobile-menu a:hover {
  background: var(--glow);
  color: var(--ink);
}

/* ── Container ── */
.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
}

/* Deprecated: old scroll-journey styles removed (2026 homepage no longer uses them). */

/* ── Buttons ── */
.btn-glow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  background: var(--accent);
  color: var(--accent-fg);
  font-weight: 600;
  font-size: 14px;
  border-radius: var(--radius-pill);
  border: none;
  cursor: pointer;
  transition: transform 200ms var(--ease-out), box-shadow 200ms var(--ease-out);
  position: relative;
  overflow: hidden;
}

.btn-glow::after {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  background: radial-gradient(circle at 50% 120%, rgba(255,255,255,0.25), transparent 70%);
  pointer-events: none;
}

.btn-glow:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 40px rgba(0,0,0,0.18);
}

.btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  background: transparent;
  color: var(--ink);
  font-weight: 500;
  font-size: 14px;
  border-radius: var(--radius-pill);
  border: 1px solid var(--hairline-strong);
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease;
}

.btn-ghost:hover {
  background: var(--glow);
  border-color: var(--ink-muted);
}

/* Deprecated: statement/word-reveal sections removed. */

/* ── SECTION 4: SERVICES CARDS ── */
.services-section {
  background: var(--bg);
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: stretch;
  justify-content: center;
  padding: 0 24px;
}

.services-section .section-eyebrow {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-muted);
  text-align: center;
  margin-bottom: 16px;
}

.services-section .section-headline {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 700;
  text-align: center;
  letter-spacing: -0.02em;
  margin-bottom: 48px;
}

.services-grid-scroll {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  max-width: var(--container);
  margin: 0 auto;
  width: 100%;
}

.tools-suite .services-grid-scroll {
  margin-top: 26px;
}

.svc-card {
  border: 1px solid var(--hairline);
  border-radius: var(--radius);
  background: var(--surface);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-decoration: none;
  opacity: 0;
  transform: translateY(50px) scale(0.97);
  transition: opacity 700ms var(--ease-out), transform 700ms var(--ease-out), border-color 200ms ease;
}

.svc-card.revealed {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.svc-card:hover { border-color: var(--hairline-strong); }

.svc-card .card-num {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  color: var(--ink-faint);
}

.svc-card h3 {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.svc-card p {
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
  flex: 1;
}

.svc-card .card-link {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.06em;
  color: var(--ink-muted);
  padding-top: 12px;
  border-top: 1px solid var(--hairline);
  transition: color 160ms ease;
}

.svc-card:hover .card-link { color: var(--ink); }

/* ── SECTION 5: TOOLS TAKEOVER ── */
.tools-section {
  background: var(--accent);
  color: var(--accent-fg);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 120px 0;
  gap: 48px;
}

/* ============================================================
   TOOLS PAGE — premium suite
   ============================================================ */

.page-tools main { padding-top: 0; }

.tools-hero {
  position: relative;
  padding: 128px 0 76px;
  overflow: hidden;
}

.tools-hero-bg {
  position: absolute;
  inset: -2px;
  background: linear-gradient(180deg, var(--bg), var(--bg-deep));
}

.tools-hero-bg::before {
  content: '';
  position: absolute;
  inset: -18% -12% -24% -12%;
  background-image: url('https://images.unsplash.com/photo-1446776811953-b23d57bd21aa?w=1920&q=80');
  background-size: cover;
  background-position: 50% 25%;
  filter: grayscale(0.2) blur(2.2px) saturate(0.9);
  opacity: 0.14;
  transform: scale(1.05) translateY(calc(var(--scroll-y) * -0.03));
}

.tools-hero-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 90% 60% at 50% 0%, rgba(11,11,12,0.06), transparent 62%),
    radial-gradient(ellipse 70% 50% at 20% 10%, rgba(11,11,12,0.05), transparent 60%),
    radial-gradient(ellipse 70% 50% at 80% 20%, rgba(11,11,12,0.04), transparent 62%);
}

.tools-hero-inner {
  position: relative;
  text-align: center;
  max-width: 78ch;
  margin: 0 auto;
}

.tools-kicker {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.tools-title {
  font-family: var(--font-display);
  font-size: clamp(40px, 6vw, 76px);
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1.02;
  margin-top: 16px;
}

.tools-sub {
  margin: 14px auto 0;
  color: var(--ink-soft);
  line-height: 1.7;
}

.tools-hero-cta {
  margin-top: 22px;
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

.tools-hero-chips {
  margin-top: 18px;
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
}

.tools-hero-chips span {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-muted);
  border: 1px solid var(--hairline);
  padding: 8px 14px;
  border-radius: var(--radius-pill);
  background: var(--surface);
}

.tools-suite { padding: 72px 0 84px; }

.suite-head { text-align: center; max-width: 78ch; margin: 0 auto; }
.suite-kicker { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-muted); }
.suite-title { font-family: var(--font-display); font-size: clamp(30px, 4.2vw, 50px); font-weight: 900; letter-spacing: -0.03em; margin-top: 14px; line-height: 1.04; }
.suite-sub { margin-top: 12px; color: var(--ink-soft); line-height: 1.7; }

.suite-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 26px;
}

.suite-card {
  text-decoration: none;
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 6px);
  background: var(--surface);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  padding: 22px;
  color: inherit;
  transition: border-color 200ms ease, transform 250ms var(--ease-out);
}

.suite-card:hover { border-color: var(--hairline-strong); transform: translateY(-2px); }

.suite-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.suite-mark {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  border: 1px solid var(--hairline);
  background: rgba(255,255,255,0.28);
  display: grid;
  place-items: center;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  color: var(--ink-muted);
}

.suite-meta {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.suite-card h3 {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.01em;
  margin: 0;
}

.suite-card p {
  margin: 10px 0 0;
  color: var(--ink-soft);
  line-height: 1.65;
}

.suite-bullets {
  margin-top: 14px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.suite-bullets span {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--ink-muted);
  border: 1px solid var(--hairline);
  background: rgba(255,255,255,0.24);
  padding: 7px 10px;
  border-radius: var(--radius-pill);
}

.suite-link {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--hairline);
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.06em;
  color: var(--ink-muted);
}

.suite-coming { cursor: default; }
.suite-coming .suite-link { opacity: 0.7; }

.tools-privacy { padding: 0 0 74px; }

.privacy-card {
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 6px);
  background: var(--surface);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  padding: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

.privacy-kicker { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-muted); }
.privacy-title { font-family: var(--font-display); font-size: 28px; font-weight: 900; letter-spacing: -0.02em; margin: 10px 0 0; }
.privacy-sub { margin: 10px 0 0; color: var(--ink-soft); line-height: 1.7; max-width: 70ch; }
.privacy-actions { display: flex; gap: 12px; flex-wrap: wrap; }

.tools-roadmap { padding: 0 0 88px; }
.roadmap-head { text-align: center; max-width: 78ch; margin: 0 auto; }
.roadmap-kicker { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-muted); }
.roadmap-title { font-family: var(--font-display); font-size: clamp(30px, 4.2vw, 50px); font-weight: 900; letter-spacing: -0.03em; margin-top: 14px; line-height: 1.04; }
.roadmap-sub { margin-top: 12px; color: var(--ink-soft); line-height: 1.7; }

.roadmap-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 26px;
}

.roadmap-item {
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 6px);
  background: var(--surface);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  padding: 16px 18px;
  display: flex;
  gap: 12px;
  align-items: center;
  color: var(--ink-soft);
}

.roadmap-tag {
  width: 44px;
  height: 32px;
  border-radius: 12px;
  border: 1px solid var(--hairline);
  background: rgba(255,255,255,0.28);
  display: grid;
  place-items: center;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--ink-muted);
  flex-shrink: 0;
}

/* ============================================================
   CONTACT PAGE — premium enterprise intake
   ============================================================ */

.page-contact main { padding-top: 0; }

.contact-hero {
  position: relative;
  padding: 128px 0 62px;
  overflow: hidden;
}

.contact-hero-bg {
  position: absolute;
  inset: -2px;
  background: linear-gradient(180deg, var(--bg), var(--bg-deep));
}

.contact-hero-bg::before {
  content: '';
  position: absolute;
  inset: -18% -12% -24% -12%;
  background-image: url('https://images.unsplash.com/photo-1446776811953-b23d57bd21aa?w=1920&q=80');
  background-size: cover;
  background-position: 50% 25%;
  filter: grayscale(0.2) blur(2.4px) saturate(0.9);
  opacity: 0.12;
  transform: scale(1.05) translateY(calc(var(--scroll-y) * -0.03));
}

.contact-hero-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 90% 60% at 50% 0%, rgba(11,11,12,0.06), transparent 62%),
    radial-gradient(ellipse 70% 50% at 20% 10%, rgba(11,11,12,0.05), transparent 60%),
    radial-gradient(ellipse 70% 50% at 80% 20%, rgba(11,11,12,0.04), transparent 62%);
}

.contact-hero-inner {
  position: relative;
  text-align: center;
  max-width: 78ch;
  margin: 0 auto;
}

.contact-kicker {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.contact-title {
  font-family: var(--font-display);
  font-size: clamp(44px, 6.0vw, 78px);
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1.02;
  margin-top: 16px;
}

.contact-sub {
  margin: 14px auto 0;
  color: var(--ink-soft);
  line-height: 1.7;
}

.contact-hero-chips {
  margin-top: 18px;
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
}

.contact-hero-chips span {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-muted);
  border: 1px solid var(--hairline);
  padding: 8px 14px;
  border-radius: var(--radius-pill);
  background: var(--surface);
}

.contact-shell { padding: 44px 0 96px; }

.contact-grid-2026 {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 14px;
  align-items: start;
}

.contact-card {
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 6px);
  background: var(--surface);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
}

.contact-card-form { padding: 24px; }

.contact-card-head h2 {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -0.02em;
  margin: 0;
}

.contact-card-head p {
  margin: 10px 0 0;
  color: var(--ink-soft);
  line-height: 1.7;
}

.contact-form-2026 { margin-top: 18px; }

.contact-form-2026 .form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}

.contact-form-2026 .form-group { display: grid; gap: 8px; }

.contact-form-2026 label {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.contact-form-2026 input,
.contact-form-2026 select,
.contact-form-2026 textarea {
  width: 100%;
  border: 1px solid var(--hairline);
  border-radius: 16px;
  padding: 12px 14px;
  background: rgba(255,255,255,0.40);
  color: var(--ink);
  outline: none;
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

[data-theme="dark"] .contact-form-2026 input,
[data-theme="dark"] .contact-form-2026 select,
[data-theme="dark"] .contact-form-2026 textarea {
  background: rgba(255,255,255,0.06);
}

.contact-form-2026 textarea { resize: vertical; min-height: 140px; }

.contact-form-2026 input:focus,
.contact-form-2026 select:focus,
.contact-form-2026 textarea:focus {
  border-color: var(--hairline-strong);
  box-shadow: 0 0 0 6px rgba(11,11,12,0.06);
}

.check-row {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-body);
  color: var(--ink-soft);
  letter-spacing: 0;
  text-transform: none;
}

.check-row input { width: 16px; height: 16px; }

.form-actions {
  margin-top: 10px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

.form-message { margin-top: 12px; }

.form-fineprint {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--ink-muted);
}

.contact-card-side {
  position: sticky;
  top: 92px;
  padding: 18px;
}

.side-stack { display: grid; gap: 12px; }

.side-card {
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 6px);
  background: rgba(255,255,255,0.28);
  padding: 18px;
}

[data-theme="dark"] .side-card {
  background: rgba(255,255,255,0.05);
}

.side-title {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.01em;
}

.side-line {
  margin-top: 10px;
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 10px;
  align-items: baseline;
}

.side-key {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.side-hint {
  margin-top: 12px;
  color: var(--ink-muted);
  font-size: 13px;
  line-height: 1.6;
}

.side-steps {
  margin-top: 12px;
  display: grid;
  gap: 10px;
}

.side-step {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: var(--ink-soft);
  line-height: 1.6;
}

.step-badge {
  width: 32px;
  height: 32px;
  border-radius: 12px;
  border: 1px solid var(--hairline);
  background: rgba(255,255,255,0.24);
  display: grid;
  place-items: center;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--ink-muted);
  flex-shrink: 0;
}

.side-copy { margin: 10px 0 0; color: var(--ink-soft); line-height: 1.65; }

.side-actions {
  margin-top: 14px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.side-faq {
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 6px);
  background: rgba(255,255,255,0.22);
  padding: 14px 16px;
}

.side-faq summary {
  cursor: pointer;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.side-faq p { margin: 10px 0 0; color: var(--ink-soft); line-height: 1.65; }

.tools-section h2 {
  font-family: var(--font-display);
  font-size: clamp(32px, 5vw, 60px);
  font-weight: 900;
  letter-spacing: -0.03em;
  text-align: center;
}

.tools-section .tools-sub {
  font-size: 16px;
  text-align: center;
  opacity: 0.7;
  max-width: 480px;
  margin: -32px auto 0;
}

.tool-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  max-width: 780px;
  width: 100%;
  padding: 0 24px;
}

.tool-tile {
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius);
  padding: 32px 24px;
  text-align: center;
  font-weight: 600;
  font-size: 15px;
  color: var(--accent-fg);
  background: rgba(255,255,255,0.04);
  transition: background 200ms ease, border-color 200ms ease, transform 200ms var(--ease-out);
}

[data-theme="dark"] .tool-tile {
  border-color: rgba(11,11,12,0.18);
  background: rgba(11,11,12,0.12);
}

.tool-tile:hover {
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.22);
  transform: translateY(-3px);
}

[data-theme="dark"] .tool-tile:hover {
  background: rgba(11,11,12,0.22);
  border-color: rgba(11,11,12,0.30);
}

.tool-tile .tile-icon { font-size: 28px; margin-bottom: 12px; display: block; }
.tool-tile .tile-desc { font-size: 13px; font-weight: 400; opacity: 0.6; margin-top: 8px; display: block; }

/* ── SECTION 6: CTA FINAL ── */
.cta-final {
  min-height: 70vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 80px 24px;
  position: relative;
  overflow: hidden;
}

.cta-final::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 100% 60% at 50% 100%, var(--glow) 0%, transparent 70%);
  pointer-events: none;
}

.cta-final h2 {
  font-family: var(--font-display);
  font-size: clamp(36px, 6vw, 72px);
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 0.95;
  margin-bottom: 32px;
  position: relative;
}

.cta-final .cta-sub {
  font-size: 17px;
  color: var(--ink-soft);
  max-width: 480px;
  margin-bottom: 40px;
  position: relative;
}

.cta-final .btn-glow { position: relative; }

/* ── FOOTER ── */
.site-footer {
  border-top: 1px solid var(--hairline);
  padding: 56px 0 32px;
  position: relative;
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 32px;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
}

.footer-brand-name {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.footer-desc {
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.6;
  max-width: 320px;
}

.footer-col-title {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-bottom: 14px;
}

.footer-list { list-style: none; }
.footer-list li { margin-bottom: 10px; }
.footer-list a { font-size: 14px; color: var(--ink-soft); transition: color 140ms ease; }
.footer-list a:hover { color: var(--ink); }

.footer-social { display: flex; gap: 8px; margin-top: 16px; }
.footer-social a {
  width: 34px; height: 34px;
  border: 1px solid var(--hairline); border-radius: var(--radius-pill);
  display: grid; place-items: center;
  font-size: 13px; color: var(--ink-muted);
  transition: color 140ms ease, border-color 140ms ease;
}

.footer-social a svg { width: 14px; height: 14px; display: block; }
.footer-social a:hover { color: var(--ink); border-color: var(--hairline-strong); }

.footer-bottom {
  max-width: var(--container);
  margin: 0 auto;
  padding: 24px 24px 0;
  margin-top: 32px;
  border-top: 1px solid var(--hairline);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  color: var(--ink-faint);
}

.footer-bottom-links { display: flex; gap: 16px; }
.footer-bottom-links a { color: var(--ink-muted); }
.footer-bottom-links a:hover { color: var(--ink); }

/* ============================================================
   SUBPAGE STYLES — backward-compatible with existing EJS views
   ============================================================ */

main { position: relative; min-height: 100vh; padding-top: 0; }

.legal-hero { padding-bottom: 44px; }

.legal-card {
  max-width: 86ch;
  margin: 0 auto;
}

.legal-h {
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 900;
  letter-spacing: -0.02em;
}

.legal-p {
  margin-top: 12px;
  color: var(--ink-soft);
  line-height: 1.7;
}

.legal-block {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--hairline);
}

.legal-k {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.legal-link {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.legal-actions {
  margin-top: 18px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* Honeypot field (spam) */
.hp-field {
  position: absolute;
  left: -9999px;
  top: -9999px;
  height: 1px;
  width: 1px;
  opacity: 0;
}

/* Tools: results hidden until calculated */
.tool-results { display: none; }
.dimension-fill, .knowledge-fill { width: 0%; }

.page-404 .suite-grid { margin-top: 0; }

/* ============================================================
   HOME — 2026 SaaS layout (PostDeck-ish calm)
   ============================================================ */

.home-hero {
  position: relative;
  padding: var(--space-section-lg) 0 var(--space-section-sm);
  overflow: hidden;
}

/* ── Text shimmer (used sparingly) ── */
.text-shimmer {
  background: linear-gradient(120deg, var(--ink) 38%, rgba(11,11,12,0.46) 50%, var(--ink) 62%);
  background-size: 220% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: shimmer 3.4s ease-in-out infinite;
}

[data-theme="dark"] .text-shimmer {
  background: none;
  color: var(--ink);
  -webkit-text-fill-color: currentColor;
  animation: none;
}

@keyframes shimmer {
  0% { background-position: 0% 0%; }
  55% { background-position: 100% 0%; }
  100% { background-position: 0% 0%; }
}

.home-hero-bg {
  position: absolute;
  inset: -2px;
  background: linear-gradient(180deg, var(--bg), var(--bg-deep));
}

.home-hero-bg::before {
  content: '';
  position: absolute;
  inset: -16% -10% -20% -10%;
  background-image: url('https://images.unsplash.com/photo-1446776811953-b23d57bd21aa?w=1920&q=80');
  background-size: cover;
  background-position: 50% 25%;
  filter: grayscale(0.2) blur(1.8px) saturate(0.9);
  opacity: 0.18;
  transform: scale(1.04) translateY(calc(var(--scroll-y) * -0.03));
}

/* ── Messages (forms) ── */
.message {
  border: 1px solid var(--hairline);
  border-radius: 16px;
  padding: 12px 14px;
  background: rgba(255,255,255,0.40);
  color: var(--ink-soft);
  line-height: 1.6;
}

[data-theme="dark"] .message {
  background: rgba(255,255,255,0.06);
}

.message.success {
  border-color: rgba(28, 92, 61, 0.22);
  background: rgba(28, 92, 61, 0.08);
  color: rgba(18, 70, 44, 0.92);
}

[data-theme="dark"] .message.success {
  border-color: rgba(118, 223, 173, 0.20);
  background: rgba(118, 223, 173, 0.08);
  color: rgba(210, 255, 235, 0.92);
}

.message.error {
  border-color: rgba(140, 28, 28, 0.22);
  background: rgba(140, 28, 28, 0.07);
  color: rgba(104, 18, 18, 0.92);
}

[data-theme="dark"] .message.error {
  border-color: rgba(255, 140, 140, 0.20);
  background: rgba(255, 140, 140, 0.08);
  color: rgba(255, 220, 220, 0.92);
}

.message.pending {
  border-color: var(--hairline-strong);
  background: rgba(255,255,255,0.26);
  color: var(--ink-soft);
}

.message a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.home-hero-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 90% 60% at 50% 0%, rgba(11,11,12,0.06), transparent 62%),
    radial-gradient(ellipse 70% 50% at 20% 10%, rgba(11,11,12,0.05), transparent 60%),
    radial-gradient(ellipse 70% 50% at 80% 20%, rgba(11,11,12,0.04), transparent 62%);
}

.home-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse 120% 60% at 50% 100%, rgba(11,11,12,0.05), transparent 70%);
}

.home-hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  align-items: center;
  justify-items: center;
  text-align: center;
}

.home-hero-copy {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}

.home-eyebrow {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-bottom: 16px;
}

.home-title {
  font-family: var(--font-display);
  font-size: clamp(44px, 6.2vw, 86px);
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 0.98;
}

.home-sub {
  margin: 18px auto 0;
  max-width: 60ch;
  font-size: 16px;
  line-height: 1.7;
  color: var(--ink-soft);
}

.home-cta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 26px;
  justify-content: center;
}

.home-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
  justify-content: center;
}

.home-proof span {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-muted);
  border: 1px solid var(--hairline);
  padding: 8px 14px;
  border-radius: var(--radius-pill);
  background: var(--surface);
}

.hero-microproof {
  margin: 22px auto 0;
  max-width: 760px;
  border: 1px solid var(--hairline);
  background: var(--surface);
  border-radius: calc(var(--radius) + 6px);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  padding: 14px 14px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.microproof-item {
  border: 1px solid var(--hairline);
  border-radius: 16px;
  background: rgba(255,255,255,0.20);
  padding: 12px 12px;
  display: grid;
  gap: 8px;
}

[data-theme="dark"] .microproof-item {
  background: rgba(255,255,255,0.05);
}

.microproof-k {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.microproof-v {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: -0.01em;
  color: var(--ink);
}


.home-enterprise {
  position: relative;
  padding: 74px 0 86px;
  overflow: hidden;
}

.home-enterprise::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 90% 70% at 50% 0%, rgba(11,11,12,0.06), transparent 60%),
    linear-gradient(180deg, transparent, rgba(11,11,12,0.03));
  pointer-events: none;
}

.home-enterprise::after {
  content: '';
  position: absolute;
  inset: -1px;
  background-image:
    linear-gradient(to right, rgba(11,11,12,0.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(11,11,12,0.05) 1px, transparent 1px);
  background-size: 220px 220px;
  opacity: 0.10;
  mask-image: radial-gradient(ellipse 70% 40% at 50% 30%, black 50%, transparent 100%);
  pointer-events: none;
}

.enterprise-head {
  position: relative;
  text-align: center;
  max-width: 72ch;
  margin: 0 auto;
}

.enterprise-kicker {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.enterprise-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4.6vw, 54px);
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1.02;
  margin-top: 14px;
}

.enterprise-sub {
  margin-top: 14px;
  font-size: 16px;
  line-height: 1.7;
  color: var(--ink-soft);
}

.enterprise-chips {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin: 26px auto 0;
  max-width: 980px;
}

.enterprise-chips span {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  padding: 9px 14px;
  border-radius: var(--radius-pill);
  border: 1px solid var(--hairline);
  background: rgba(255,255,255,0.34);
  color: var(--ink-muted);
}

[data-theme="dark"] .enterprise-chips span {
  background: rgba(255,255,255,0.05);
}

.enterprise-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  max-width: var(--container);
  margin: 22px auto 0;
}

.enterprise-card {
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 6px);
  background: var(--surface);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  padding: 26px;
}

.enterprise-card-top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.enterprise-icon {
  width: 38px;
  height: 38px;
  border-radius: 14px;
  border: 1px solid var(--hairline);
  background: rgba(255,255,255,0.30);
  display: grid;
  place-items: center;
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.14em;
  color: var(--ink-muted);
}

.enterprise-card h3 {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.01em;
}

.enterprise-card p {
  color: var(--ink-soft);
  line-height: 1.65;
  margin: 0;
}

.enterprise-mini {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--hairline);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  color: var(--ink-muted);
}

.enterprise-footnote {
  position: relative;
  margin: 22px auto 0;
  max-width: 92ch;
  text-align: center;
  font-size: 13px;
  line-height: 1.6;
  color: var(--ink-muted);
}
\n
.marquee {
  margin-top: 18px;
  overflow: hidden;
  border: 1px solid var(--hairline);
  background: var(--surface);
  border-radius: calc(var(--radius) + 6px);
  padding: 14px 14px;
  mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
}

.marquee-track {
  display: flex;
  gap: 10px;
  width: max-content;
  animation: marquee 26s linear infinite;
}

.marquee:hover .marquee-track { animation-play-state: paused; }

@keyframes marquee {
  to { transform: translateX(-50%); }
}

.logo-pill {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-muted);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill);
  padding: 10px 14px;
  background: rgba(255,255,255,0.26);
  flex: 0 0 auto;
}

[data-theme="dark"] .logo-pill {
  background: rgba(255,255,255,0.05);
}

/* Bento */
.home-bento { padding: var(--space-section) 0 var(--space-section); }

.bento-head { text-align: center; max-width: 78ch; margin: 0 auto; }
.bento-kicker { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-muted); }
.bento-title { font-family: var(--font-display); font-size: clamp(30px, 4.6vw, 56px); font-weight: 900; letter-spacing: -0.03em; margin-top: 14px; line-height: 1.02; }
.bento-sub { margin-top: 12px; color: var(--ink-soft); line-height: 1.7; }

.bento-grid {
  margin-top: 26px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-gap);
}

.bento-card {
  position: relative;
  text-decoration: none;
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 8px);
  background: var(--surface);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  padding: 22px;
  color: inherit;
  overflow: hidden;
  transition: border-color 200ms ease, transform 240ms var(--ease-out), box-shadow 240ms var(--ease-out);
}

.bento-card:hover {
  border-color: var(--hairline-strong);
  transform: translateY(-3px);
  box-shadow: 0 22px 70px rgba(0,0,0,0.10);
}

[data-theme="dark"] .bento-card:hover { box-shadow: 0 22px 70px rgba(0,0,0,0.30); }

.bento-large { grid-row: span 2; }
.bento-wide { grid-column: span 2; }

.bento-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.bento-badge {
  width: 44px;
  height: 34px;
  border-radius: 14px;
  border: 1px solid var(--hairline);
  background: rgba(255,255,255,0.28);
  display: grid;
  place-items: center;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--ink-muted);
}

.bento-meta {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.bento-card h3 {
  margin-top: 12px;
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 900;
  letter-spacing: -0.02em;
}

.bento-card p {
  margin-top: 10px;
  color: var(--ink-soft);
  line-height: 1.7;
}

.bento-tags { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 8px; }
.bento-tags span {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--ink-muted);
  border: 1px solid var(--hairline);
  background: rgba(255,255,255,0.22);
  padding: 7px 10px;
  border-radius: var(--radius-pill);
}

.bento-link {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--hairline);
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.06em;
  color: var(--ink-muted);
}

.bento-visual {
  position: absolute;
  inset: auto 16px 16px auto;
  display: flex;
  gap: 8px;
  pointer-events: none;
  opacity: 0.9;
}

.viz-chip {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-muted);
  border: 1px solid var(--hairline);
  background: rgba(255,255,255,0.22);
  padding: 8px 10px;
  border-radius: 16px;
}

/* Tabs */
.home-enterprise-tabs { padding: var(--space-section) 0 var(--space-section); }

.tabs {
  margin-top: 26px;
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 8px);
  background: var(--surface);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  overflow: hidden;
}

.tablist {
  display: inline-flex;
  gap: 6px;
  padding: 10px;
  border-bottom: 1px solid var(--hairline);
  background: rgba(255,255,255,0.18);
  width: 100%;
}

[data-theme="dark"] .tablist { background: rgba(255,255,255,0.04); }

.tab {
  border: 1px solid var(--hairline);
  background: rgba(255,255,255,0.22);
  color: var(--ink-soft);
  border-radius: 999px;
  padding: 10px 14px;
  cursor: pointer;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  transition: background 160ms ease, border-color 160ms ease, transform 240ms var(--ease-out);
}

.tab:hover { border-color: var(--hairline-strong); transform: translateY(-1px); }

.tab.is-active {
  background: rgba(255,255,255,0.52);
  color: var(--ink);
  border-color: var(--hairline-strong);
}

[data-theme="dark"] .tab.is-active {
  background: rgba(255,255,255,0.10);
  color: rgba(255,255,255,0.92);
}

.tabpanel { padding: 20px; }

.tabgrid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 12px;
  align-items: start;
}

.tabcopy h3 {
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 900;
  letter-spacing: -0.02em;
}

.tabcopy p { margin-top: 10px; color: var(--ink-soft); line-height: 1.7; }

.tabbullets {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--hairline);
  display: grid;
  gap: 10px;
}

.tbullet { display: flex; gap: 10px; align-items: flex-start; color: var(--ink-soft); line-height: 1.6; }
.tbdot { width: 7px; height: 7px; border-radius: 50%; background: var(--ink-faint); margin-top: 9px; flex-shrink: 0; }
.tabcta { margin-top: 18px; display: flex; gap: 12px; flex-wrap: wrap; }

.demo-card {
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 8px);
  background: rgba(255,255,255,0.22);
  padding: 14px;
  overflow: hidden;
}

[data-theme="dark"] .demo-card { background: rgba(255,255,255,0.05); }

.demo-top {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--hairline);
}

.demo-dot { width: 10px; height: 10px; border-radius: 50%; border: 1px solid var(--hairline); background: rgba(255,255,255,0.35); }

.demo-title {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.demo-body { margin-top: 12px; display: grid; gap: 10px; }
.demo-line { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.demo-k { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-muted); }
.demo-v { color: var(--ink); font-family: var(--font-body); }

.demo-stream {
  margin-top: 6px;
  padding-top: 12px;
  border-top: 1px solid var(--hairline);
  display: flex;
  gap: 10px;
  align-items: baseline;
  color: var(--ink-soft);
}

.stream-tag {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-muted);
  border: 1px solid var(--hairline);
  background: rgba(255,255,255,0.22);
  padding: 7px 10px;
  border-radius: 14px;
}

.stream-text { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.06em; color: var(--ink-soft); }

/* Badges under testimonials */
.trust-badges {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.badge {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-muted);
  border: 1px solid var(--hairline);
  background: rgba(255,255,255,0.26);
  padding: 9px 12px;
  border-radius: var(--radius-pill);
}

[data-theme="dark"] .badge { background: rgba(255,255,255,0.05); }

/* Timeline */
.home-process { padding: var(--space-section) 0 var(--space-section); }
.process-head { text-align: center; max-width: 78ch; margin: 0 auto; }
.process-kicker { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-muted); }
.process-title { font-family: var(--font-display); font-size: clamp(30px, 4.2vw, 52px); font-weight: 900; letter-spacing: -0.03em; margin-top: 14px; line-height: 1.04; }
.process-sub { margin-top: 12px; color: var(--ink-soft); line-height: 1.7; }

.timeline-2026 {
  margin: 26px auto 0;
  max-width: 980px;
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 8px);
  background: var(--surface);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  padding: 18px;
  display: grid;
  gap: 12px;
  position: relative;
  overflow: hidden;
}

.timeline-2026::before {
  content: '';
  position: absolute;
  left: 34px;
  top: 18px;
  bottom: 18px;
  width: 1px;
  background: var(--hairline);
}

.tstep {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 12px;
  align-items: start;
  padding: 14px;
  border: 1px solid var(--hairline);
  border-radius: 18px;
  background: rgba(255,255,255,0.22);
}

[data-theme="dark"] .tstep { background: rgba(255,255,255,0.05); }

.tbadge {
  width: 44px;
  height: 44px;
  border-radius: 16px;
  border: 1px solid var(--hairline);
  background: rgba(255,255,255,0.28);
  display: grid;
  place-items: center;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--ink-muted);
  position: relative;
  z-index: 1;
}

.th { font-family: var(--font-display); font-size: 20px; font-weight: 900; letter-spacing: -0.01em; }
.tp { margin-top: 8px; color: var(--ink-soft); line-height: 1.7; }

.process-cta { margin-top: 18px; display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* Shared adjustments */
.home-features .grid { margin-top: 22px; }

@media (prefers-reduced-motion: reduce) {
  .text-shimmer { animation: none !important; color: inherit; background: none; }
  .marquee-track { animation: none !important; transform: none !important; }
}
\n
.home-features {
  padding: 44px 0 68px;
}

/* Deliverables */
.home-deliverables {
  padding: 72px 0 84px;
}

.deliverables-head {
  text-align: center;
  max-width: 78ch;
  margin: 0 auto;
}

.deliverables-kicker {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.deliverables-title {
  font-family: var(--font-display);
  font-size: clamp(30px, 4.2vw, 50px);
  font-weight: 900;
  letter-spacing: -0.03em;
  margin-top: 14px;
  line-height: 1.04;
}

.deliverables-sub {
  margin-top: 12px;
  color: var(--ink-soft);
  line-height: 1.7;
}

.deliverables-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 26px;
}

.deliverable {
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 6px);
  background: var(--surface);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  padding: 22px;
}

.deliverable-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.deliverable-tag {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--ink-muted);
  border: 1px solid var(--hairline);
  background: rgba(255,255,255,0.28);
  padding: 8px 10px;
  border-radius: 12px;
}

.deliverable-name {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.01em;
}

.deliverable p {
  margin: 0;
  color: var(--ink-soft);
  line-height: 1.65;
  font-size: 14px;
}

/* Testimonials */
.home-testimonials {
  padding: 72px 0 88px;
}

/* Security & Governance Pack */
.home-pack {
  position: relative;
  padding: 66px 0 70px;
}

.pack-head {
  text-align: center;
  max-width: 78ch;
  margin: 0 auto;
}

.pack-kicker {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.pack-title {
  font-family: var(--font-display);
  font-size: clamp(30px, 4.2vw, 50px);
  font-weight: 900;
  letter-spacing: -0.03em;
  margin-top: 14px;
  line-height: 1.04;
}

.pack-sub {
  margin-top: 12px;
  color: var(--ink-soft);
  line-height: 1.7;
}

.pack-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 24px;
}

.pack-item {
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 6px);
  background: var(--surface);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  padding: 16px 18px;
  display: flex;
  gap: 12px;
  align-items: center;
  color: var(--ink-soft);
}

.pack-badge {
  width: 32px;
  height: 32px;
  border-radius: 12px;
  border: 1px solid var(--hairline);
  background: rgba(255,255,255,0.28);
  display: grid;
  place-items: center;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--ink-muted);
  flex-shrink: 0;
}

/* Engagement Model */
.home-engagement {
  padding: 72px 0 86px;
}

.engagement-head {
  text-align: center;
  max-width: 78ch;
  margin: 0 auto;
}

.engagement-kicker {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.engagement-title {
  font-family: var(--font-display);
  font-size: clamp(30px, 4.2vw, 50px);
  font-weight: 900;
  letter-spacing: -0.03em;
  margin-top: 14px;
  line-height: 1.04;
}

.engagement-sub {
  margin-top: 12px;
  color: var(--ink-soft);
  line-height: 1.7;
}

.engagement-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 26px;
}

.engagement-card {
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 6px);
  background: var(--surface);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  padding: 22px;
}

.engagement-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.engagement-tag {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-muted);
  border: 1px solid var(--hairline);
  background: rgba(255,255,255,0.28);
  padding: 8px 10px;
  border-radius: 12px;
}

.engagement-card h3 {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.01em;
  margin: 0;
}

.engagement-card p {
  margin: 12px 0 0;
  color: var(--ink-soft);
  line-height: 1.65;
}

.engagement-bullets {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--hairline);
  display: grid;
  gap: 10px;
}

.engagement-bullet {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: var(--ink-soft);
}

.eb-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ink-faint);
  margin-top: 9px;
  flex-shrink: 0;
}

.engagement-cta {
  margin-top: 22px;
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

/* Procurement */
.home-procurement {
  padding: 72px 0 84px;
}

.procurement-head {
  text-align: center;
  max-width: 78ch;
  margin: 0 auto;
}

.procurement-kicker {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.procurement-title {
  font-family: var(--font-display);
  font-size: clamp(30px, 4.2vw, 50px);
  font-weight: 900;
  letter-spacing: -0.03em;
  margin-top: 14px;
  line-height: 1.04;
}

.procurement-sub {
  margin-top: 12px;
  color: var(--ink-soft);
  line-height: 1.7;
}

.procurement-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 26px;
}

/* Architecture */
.home-architecture {
  padding: 74px 0 90px;
}

.arch-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 12px;
  align-items: center;
}

.arch-copy {
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 6px);
  background: var(--surface);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  padding: 26px;
}

.arch-kicker {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.arch-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.8vw, 44px);
  font-weight: 900;
  letter-spacing: -0.03em;
  margin-top: 14px;
  line-height: 1.06;
}

.arch-sub {
  margin-top: 12px;
  color: var(--ink-soft);
  line-height: 1.7;
}

.arch-points {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--hairline);
  display: grid;
  gap: 10px;
}

.arch-point {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: var(--ink-soft);
  line-height: 1.6;
}

.arch-point strong { color: var(--ink); font-weight: 600; }

.ap-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ink-faint);
  margin-top: 9px;
  flex-shrink: 0;
}

.arch-diagram {
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 6px);
  background: rgba(255,255,255,0.22);
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  padding: 18px;
}

.arch-diagram svg { width: 100%; height: auto; display: block; }

/* Subtle diagram animation (enterprise, not flashy) */
.arch-diagram svg .flow {
  stroke-dasharray: 10 16;
  stroke-dashoffset: 0;
  opacity: 0.85;
  animation: flowDash 18s linear infinite;
}

.arch-diagram svg .flow.f2 { animation-duration: 21s; opacity: 0.75; }
.arch-diagram svg .flow.f3 { animation-duration: 24s; opacity: 0.70; }

@keyframes flowDash {
  to { stroke-dashoffset: -260; }
}

.arch-diagram svg .node {
  transform-box: fill-box;
  transform-origin: center;
  opacity: 0.92;
  animation: nodePulse 5.8s var(--ease-smooth) infinite;
}

.arch-diagram svg .node.n2 { animation-delay: 0.4s; }
.arch-diagram svg .node.n3 { animation-delay: 0.9s; }
.arch-diagram svg .node.n4 { animation-delay: 0.2s; }
.arch-diagram svg .node.n5 { animation-delay: 0.7s; }
.arch-diagram svg .node.n6 { animation-delay: 1.1s; }

@keyframes nodePulse {
  0%   { transform: scale(1); opacity: 0.88; }
  35%  { transform: scale(1.06); opacity: 1; }
  70%  { transform: scale(1.00); opacity: 0.92; }
  100% { transform: scale(1); opacity: 0.88; }
}

.arch-diagram svg .glow {
  transform-box: fill-box;
  transform-origin: center;
  opacity: 0.55;
  animation: glowBreath 8s ease-in-out infinite;
}

.arch-diagram svg .glow.g2 { animation-delay: 1.2s; }
.arch-diagram svg .glow.g3 { animation-delay: 2.2s; }

@keyframes glowBreath {
  0%   { opacity: 0.35; transform: scale(0.98); }
  50%  { opacity: 0.65; transform: scale(1.05); }
  100% { opacity: 0.35; transform: scale(0.98); }
}

@media (prefers-reduced-motion: reduce) {
  .arch-diagram svg .flow,
  .arch-diagram svg .node,
  .arch-diagram svg .glow { animation: none !important; }
}

/* Checklist CTA */
.home-checklist {
  padding: 0 0 74px;
}

.checklist-card {
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 6px);
  background: var(--surface);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  padding: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

.checklist-kicker {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.checklist-title {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -0.02em;
  margin: 10px 0 0;
}

.checklist-sub {
  margin: 10px 0 0;
  color: var(--ink-soft);
  line-height: 1.7;
  max-width: 70ch;
}

.checklist-meta {
  margin-top: 10px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.checklist-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.proc-item {
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 6px);
  background: var(--surface);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  padding: 18px 18px;
}

.proc-label {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.proc-desc {
  margin-top: 10px;
  color: var(--ink-soft);
  line-height: 1.65;
}

/* Case */
.home-case {
  padding: 72px 0 90px;
}

.case-head {
  text-align: center;
  max-width: 78ch;
  margin: 0 auto;
}

.case-kicker {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.case-title {
  font-family: var(--font-display);
  font-size: clamp(30px, 4.2vw, 50px);
  font-weight: 900;
  letter-spacing: -0.03em;
  margin-top: 14px;
  line-height: 1.04;
}

.case-sub {
  margin-top: 12px;
  color: var(--ink-soft);
  line-height: 1.7;
}

.case-grid {
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  gap: 12px;
  margin-top: 26px;
  align-items: start;
}

.case-story {
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 6px);
  background: var(--surface);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  padding: 22px;
}

.case-block + .case-block { margin-top: 18px; }

.case-h {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-bottom: 8px;
}

.case-story p {
  margin: 0;
  color: var(--ink-soft);
  line-height: 1.7;
}

.case-foot {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--hairline);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  color: var(--ink-muted);
}

.case-metrics {
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 6px);
  background: var(--surface);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  padding: 22px;
  display: grid;
  gap: 14px;
}

.metric-num {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -0.02em;
}

.metric-label {
  margin-top: 2px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.metric-note {
  border-top: 1px solid var(--hairline);
  padding-top: 14px;
  color: var(--ink-soft);
  line-height: 1.6;
  font-size: 13px;
}

.case-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.testimonials-head {
  text-align: center;
  max-width: 78ch;
  margin: 0 auto;
}

.testimonials-kicker {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.testimonials-title {
  font-family: var(--font-display);
  font-size: clamp(30px, 4.2vw, 50px);
  font-weight: 900;
  letter-spacing: -0.03em;
  margin-top: 14px;
  line-height: 1.04;
}

.testimonials-sub {
  margin-top: 12px;
  color: var(--ink-soft);
  line-height: 1.7;
}

.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 26px;
}

.quote-card {
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 6px);
  background: var(--surface);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  padding: 22px;
}

.quote {
  margin: 0;
  font-family: var(--font-display);
  font-size: 18px;
  line-height: 1.45;
  letter-spacing: -0.01em;
  color: var(--ink);
}

.quote-meta {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--hairline);
  display: inline-flex;
  gap: 10px;
  align-items: center;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.quote-sep { opacity: 0.7; }

/* Page hero */
.page-hero { padding: 48px 0 28px; border-bottom: 1px solid var(--hairline); }
.page-hero .container { max-width: var(--container); margin: 0 auto; padding: 0 24px; }
.page-hero h1 { font-family: var(--font-display); font-size: clamp(36px,5vw,56px); font-weight: 700; letter-spacing: -0.02em; line-height: 1.05; margin-bottom: 12px; }
.page-hero p { font-size: 16px; color: var(--ink-soft); max-width: 70ch; }

.section { padding: 56px 0; }
.section-title { font-family: var(--font-display); font-size: clamp(28px,4vw,42px); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 10px; }
.section-subtitle { font-size: 16px; color: var(--ink-soft); max-width: 70ch; }
.section-light, .section-secondary { background: transparent; }

.grid { display: grid; gap: 14px; }
.grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
.grid-cols-3 { grid-template-columns: repeat(3, 1fr); }

.card, .service-card, .service-detail-card, .case-study-card, .tool-card, .path-card {
  border: 1px solid var(--hairline); border-radius: var(--radius);
  background: var(--surface); backdrop-filter: blur(10px); padding: 24px;
  transition: border-color 200ms ease;
}
.card:hover, .service-card:hover, .service-detail-card:hover, .tool-card:hover { border-color: var(--hairline-strong); }

.service-card { display: block; text-decoration: none; }
.service-card * { text-decoration: none; }
.service-icon { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: var(--glow); border: 1px solid var(--hairline); margin-bottom: 14px; font-size: 20px; }
.service-title { font-size: 18px; font-weight: 600; margin-bottom: 8px; }
.service-description { color: var(--ink-soft); margin: 0; font-size: 14px; }

.services { padding: 56px 0; }
.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }

/* Diensten detail */
.services-detail { padding: 56px 0; }
.services-detail-grid { display: grid; gap: 20px; }
.service-detail-card { padding: 28px; }
.service-header { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.service-header h3 { font-family: var(--font-display); font-size: 22px; font-weight: 700; }
.service-content p { color: var(--ink-soft); line-height: 1.65; }
.service-features { list-style: none; margin: 14px 0; }
.service-features li { padding: 6px 0 6px 20px; position: relative; color: var(--ink-soft); }
.service-features li::before { content: ''; position: absolute; left: 0; top: 13px; width: 6px; height: 6px; border-radius: 50%; background: var(--ink-faint); }
.service-testimonial { border-top: 1px solid var(--hairline); padding-top: 14px; margin-top: 14px; font-style: italic; color: var(--ink-soft); }
.service-testimonial cite { display: block; margin-top: 8px; font-style: normal; font-family: var(--font-mono); font-size: 12px; color: var(--ink-muted); }
.service-footer { display: flex; gap: 10px; margin-top: 18px; flex-wrap: wrap; }

.process-section { padding: 56px 0; }
.process-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 24px; }
.process-step { border: 1px solid var(--hairline); border-radius: var(--radius); background: var(--surface); padding: 24px; }
.step-number { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; color: var(--ink-faint); margin-bottom: 10px; }
.process-step h3 { font-size: 17px; font-weight: 600; margin-bottom: 8px; }
.process-step p { color: var(--ink-soft); font-size: 14px; margin: 0; }

/* CTA subpages */
.cta { padding: 56px 0; border-top: 1px solid var(--hairline); background: linear-gradient(180deg, transparent, var(--glow)); }
.cta-content { text-align: center; }
.cta-title { font-family: var(--font-display); font-size: clamp(28px,4vw,42px); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 12px; }
.cta-description { font-size: 16px; color: var(--ink-soft); margin-bottom: 28px; }
.cta-button { display: inline-flex; align-items: center; padding: 14px 28px; background: var(--accent); color: var(--accent-fg); border-radius: var(--radius-pill); font-weight: 600; font-size: 14px; border: none; transition: transform 200ms var(--ease-out); }
.cta-button:hover { transform: translateY(-2px); }
.cta-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

/* Compliance pages */
.compliance-urgency, .what-is-ai-act, .compliance-services { padding: 56px 0; }
.timeline-info { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 18px 0; }
.timeline-item { border: 1px solid var(--hairline); border-radius: var(--radius); background: var(--surface); padding: 14px; }
.timeline-date { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-muted); }
.timeline-text { margin-top: 8px; color: var(--ink-soft); }

.content-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 20px; align-items: start; }
.risk-levels { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 14px; }
.risk-level { border: 1px solid var(--hairline); border-radius: var(--radius); background: var(--surface); padding: 14px; }
.risk-level h4 { font-size: 14px; font-weight: 600; margin-bottom: 6px; }
.risk-level p { font-size: 14px; color: var(--ink-soft); margin: 0; }

.compliance-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.stat-item { border: 1px solid var(--hairline); border-radius: var(--radius); background: var(--surface); padding: 18px; text-align: center; }
.stat-number { font-family: var(--font-display); font-size: 32px; font-weight: 700; }
.stat-label { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-muted); margin-top: 6px; }

/* Contact */
.contact-section, .office-section, .team-contact-section, .faq-section { padding: 56px 0; }
.contact-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 20px; }
.contact-form-wrapper, .contact-info, .office-info, .office-map, .team-contact-item, .faq-item {
  border: 1px solid var(--hairline); border-radius: var(--radius); background: var(--surface); padding: 24px;
}
.contact-item { display: flex; gap: 12px; padding: 12px 0; border-top: 1px solid var(--hairline); }
.contact-item:first-of-type { border-top: 0; }
.contact-icon { font-size: 18px; opacity: 0.8; }
.map-placeholder { border: 1px dashed var(--hairline-strong); border-radius: var(--radius); padding: 24px; background: var(--glow); color: var(--ink-muted); text-align: center; }
.faq-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 20px; }

/* About */
.hero-container { max-width: var(--container); margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 1.25fr 0.75fr; gap: 20px; align-items: center; }
.hero-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.hero-visual .hero-graphic { border: 1px solid var(--hairline); border-radius: var(--radius); background: var(--surface); padding: 24px; }

.story-section, .mission-vision-section, .team-section, .partners-section { padding: 56px 0; }
.story-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 20px; align-items: start; }
.milestones { margin: 14px 0 0; padding-left: 20px; }
.milestones li { color: var(--ink-soft); padding: 4px 0; }
.story-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
.team-member { border: 1px solid var(--hairline); border-radius: var(--radius); background: var(--surface); padding: 20px; }
.photo-placeholder { font-size: 28px; }
.member-role { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-muted); margin: 8px 0 10px; }
.member-expertise { display: flex; flex-wrap: wrap; gap: 6px; }
.expertise-tag { font-family: var(--font-mono); font-size: 11px; border: 1px solid var(--hairline); background: var(--glow); padding: 5px 8px; border-radius: var(--radius-pill); color: var(--ink-muted); }

.automation-icon { font-size: 36px; text-align: center; }
.data-flow { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 12px; }
.flow-line { width: 40px; height: 2px; background: var(--hairline-strong); }
.flow-node { width: 10px; height: 10px; border-radius: 50%; background: var(--ink-faint); }

/* Tools overview */
.tools-overview { padding: 48px 0; }
.tools-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.tool-features { margin: 12px 0 0; padding-left: 18px; color: var(--ink-soft); }
.tool-features li { margin: 6px 0; }

/* Tool pages */
.tool-page { padding: 48px 0 72px; }
.tool-header { padding: 16px 0 20px; border-bottom: 1px solid var(--hairline); margin-bottom: 20px; }
.tool-header h1 { font-family: var(--font-display); font-size: clamp(32px,4.5vw,48px); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 10px; }
.tool-subtitle { color: var(--ink-soft); font-size: 16px; max-width: 70ch; margin: 0; }

.tool-content { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 16px; margin-top: 20px; }
.tool-form-section { border: 1px solid var(--hairline); border-radius: var(--radius); background: var(--surface); padding: 24px; }
.form-container { max-width: 780px; }

.form-section { padding: 16px 0; border-top: 1px solid var(--hairline); }
.form-section:first-child { border-top: 0; padding-top: 0; }
.form-section h3 { font-size: 18px; font-weight: 600; margin-bottom: 10px; }
.section-description { font-size: 14px; color: var(--ink-muted); margin-top: -6px; }

.form-group { margin: 14px 0; }
.form-group > label { display: block; font-size: 14px; margin-bottom: 8px; font-weight: 500; }

input[type="text"], input[type="email"], input[type="number"], input[type="tel"], select, textarea {
  width: 100%; padding: 12px 14px; border-radius: var(--radius-sm);
  border: 1px solid var(--hairline); background: var(--surface-solid);
  color: var(--ink); outline: none;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
textarea { resize: vertical; min-height: 100px; }
input:focus, select:focus, textarea:focus { border-color: var(--hairline-strong); box-shadow: 0 0 0 3px var(--glow); }

.radio-group, .checkbox-group { display: grid; gap: 8px; }
.radio-group label, .checkbox-group label {
  display: flex; gap: 10px; align-items: flex-start;
  padding: 12px 14px; border: 1px solid var(--hairline);
  border-radius: var(--radius-sm); background: var(--surface);
  color: var(--ink-soft); cursor: pointer;
  transition: border-color 140ms ease, background 140ms ease;
}
.radio-group label:hover, .checkbox-group label:hover { border-color: var(--hairline-strong); background: var(--glow); }
.radio-group input, .checkbox-group input { margin-top: 3px; }

.tool-results { border: 1px solid var(--hairline); border-radius: var(--radius); background: var(--surface); padding: 24px; }
.results-container h2 { font-family: var(--font-display); font-size: 24px; font-weight: 700; margin-bottom: 16px; }

.score-display { display: flex; gap: 16px; align-items: center; }
.score-circle { width: 90px; height: 90px; border-radius: 50%; border: 1px solid var(--hairline); background: var(--surface-solid); display: grid; place-items: center; }
.score-circle #scoreValue { font-family: var(--font-display); font-size: 30px; font-weight: 700; }
.score-label { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-muted); }
.score-level { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-muted); }
.lead-capture { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--hairline); }
.lead-form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.use-cases-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 12px; }
.use-case-card { border: 1px solid var(--hairline); border-radius: var(--radius); background: var(--glow); padding: 16px; }
.paths-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.knowledge-area { margin-bottom: 16px; }
.knowledge-area h4 { font-size: 15px; font-weight: 600; margin-bottom: 8px; }

/* Backward compat .btn */
.btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 20px; border-radius: var(--radius-pill); font-weight: 600; font-size: 14px; border: 1px solid transparent; cursor: pointer; transition: transform 180ms var(--ease-out), background 160ms ease, border-color 160ms ease; text-decoration: none; }
.btn-primary { background: var(--accent); color: var(--accent-fg); }
.btn-primary:hover { transform: translateY(-1px); }
.btn-secondary { background: transparent; color: var(--ink); border-color: var(--hairline-strong); }
.btn-secondary:hover { background: var(--glow); }
.btn-large { padding: 14px 24px; }

/* Reveal animation subpages */
.reveal-on-scroll { opacity: 0; transform: translateY(24px); transition: opacity 600ms var(--ease-out), transform 600ms var(--ease-out); }
.reveal-on-scroll.visible { opacity: 1; transform: translateY(0); }

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  .svc-card, .reveal-on-scroll { transition: none !important; will-change: auto !important; }
  .svc-card { opacity: 1 !important; transform: none !important; }
  .reveal-on-scroll { opacity: 1 !important; transform: none !important; }
  .floating-nav { opacity: 1 !important; transform: translateX(-50%) !important; }
  .grain-overlay { display: none; }
}

/* ── Responsive ── */
@media (max-width: 1060px) {
  .services-grid-scroll { grid-template-columns: repeat(2, 1fr); }
  .tool-grid { grid-template-columns: repeat(2, 1fr); }
  .process-steps { grid-template-columns: repeat(2, 1fr); }
  .enterprise-grid { grid-template-columns: 1fr; }
  .deliverables-grid { grid-template-columns: repeat(2, 1fr); }
  .testimonials-grid { grid-template-columns: 1fr; }
  .pack-grid { grid-template-columns: repeat(2, 1fr); }
  .engagement-grid { grid-template-columns: 1fr; }
  .procurement-grid { grid-template-columns: repeat(2, 1fr); }
  .case-grid { grid-template-columns: 1fr; }
  .arch-grid { grid-template-columns: 1fr; }
  .pack-grid { grid-template-columns: 1fr; }
  .procurement-grid { grid-template-columns: 1fr; }
  .suite-grid { grid-template-columns: 1fr; }
  .roadmap-grid { grid-template-columns: 1fr; }

  .bento-grid { grid-template-columns: 1fr; }
  .bento-large { grid-row: auto; }
  .bento-wide { grid-column: auto; }
  .tabgrid { grid-template-columns: 1fr; }
}

@media (max-width: 860px) {
  .floating-nav { left: 16px; right: 16px; transform: none; padding: 8px 14px; }
  .floating-nav.visible { transform: translateY(0); }
  .nav-links { display: none; }
  .mobile-toggle { display: inline-flex; }
  .services-grid-scroll { grid-template-columns: 1fr; }
  .tool-grid { grid-template-columns: 1fr; }
  .grid-cols-2, .grid-cols-3 { grid-template-columns: 1fr; }
  .content-grid, .contact-grid, .story-grid, .hero-container { grid-template-columns: 1fr; }
  .tool-content { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
  .process-steps, .timeline-info, .risk-levels, .faq-grid { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: 1fr 1fr; }
  .paths-grid, .services-grid, .use-cases-grid { grid-template-columns: 1fr; }
  .tools-grid { grid-template-columns: 1fr 1fr; }
  .lead-form .form-row { grid-template-columns: 1fr; }
  .home-hero { padding: 112px 0 58px; }
  .home-hero-grid { grid-template-columns: 1fr; }

  .hero-microproof { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .team-grid, .tools-grid, .compliance-stats { grid-template-columns: 1fr; }
}

/* ============================================================
   AI SCAN REPORT PAGE
   ============================================================ */

.page-scan .page-hero {
  background: linear-gradient(180deg, var(--bg) 0%, var(--bg-deep) 100%);
  padding: 120px 0 60px;
}

.page-scan .page-eyebrow {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-bottom: 16px;
}

.page-scan .page-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 60px);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin-bottom: 20px;
}

.page-scan .page-subtitle {
  font-size: 18px;
  color: var(--ink-soft);
  max-width: 60ch;
  line-height: 1.6;
}

/* Report Section */
.scan-report-section {
  padding: 60px 0 80px;
}

.report-wrapper {
  max-width: 900px;
  margin: 0 auto;
}

.report-header {
  text-align: center;
  margin-bottom: 48px;
}

.report-badge {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent-fg);
  background: var(--accent);
  padding: 8px 16px;
  border-radius: var(--radius-pill);
  margin-bottom: 20px;
}

.report-header h2 {
  font-family: var(--font-display);
  font-size: 32px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}

.report-meta {
  color: var(--ink-muted);
  font-size: 15px;
}

/* Report Sections */
.report-section {
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 8px);
  background: var(--surface);
  backdrop-filter: blur(14px) saturate(1.3);
  padding: 32px;
  margin-bottom: 24px;
}

.report-section .section-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: var(--bg-deep);
  border: 1px solid var(--hairline);
  display: grid;
  place-items: center;
  margin-bottom: 20px;
}

.report-section .section-icon svg {
  width: 24px;
  height: 24px;
  color: var(--ink);
}

.report-section .section-icon.alert {
  background: rgba(239, 68, 68, 0.08);
  border-color: rgba(239, 68, 68, 0.2);
}

.report-section .section-icon.alert svg {
  color: #dc2626;
}

.report-section h3 {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 20px;
}

/* Executive Summary */
.summary-box {
  background: var(--bg);
  border: 1px solid var(--hairline);
  border-radius: var(--radius);
  padding: 24px;
}

.summary-box > p {
  color: var(--ink-soft);
  line-height: 1.7;
  margin-bottom: 24px;
}

.quick-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding-top: 20px;
  border-top: 1px solid var(--hairline);
}

.stat-item {
  text-align: center;
}

.stat-item .stat-label {
  display: block;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-bottom: 8px;
}

.stat-item .stat-value {
  display: block;
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 700;
  color: var(--ink);
}

.stat-item .stat-value.moderate {
  color: #ea580c;
}

/* Challenges */
.challenges-grid {
  display: grid;
  gap: 20px;
}

.challenge-card {
  border: 1px solid var(--hairline);
  border-radius: var(--radius);
  background: var(--bg);
  padding: 24px;
}

.challenge-card.priority-high {
  border-color: rgba(239, 68, 68, 0.3);
  background: rgba(239, 68, 68, 0.03);
}

.challenge-card.priority-medium {
  border-color: rgba(234, 88, 12, 0.25);
  background: rgba(234, 88, 12, 0.02);
}

.challenge-priority {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  margin-bottom: 12px;
}

.challenge-card.priority-high .challenge-priority {
  background: rgba(239, 68, 68, 0.1);
  color: #dc2626;
}

.challenge-card.priority-medium .challenge-priority {
  background: rgba(234, 88, 12, 0.1);
  color: #ea580c;
}

.challenge-card h4 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 12px;
}

.challenge-card > p {
  color: var(--ink-soft);
  line-height: 1.6;
  margin-bottom: 16px;
}

.challenge-details {
  list-style: none;
  margin: 0;
  padding: 0;
}

.challenge-details li {
  padding: 6px 0 6px 20px;
  position: relative;
  color: var(--ink-soft);
  font-size: 14px;
}

.challenge-details li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 12px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ink-faint);
}

/* Strategy Section */
.priorities-list {
  display: grid;
  gap: 24px;
}

.priority-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 20px;
  align-items: start;
}

.priority-number {
  font-family: var(--font-mono);
  font-size: 24px;
  font-weight: 700;
  color: var(--ink-faint);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 2px solid var(--hairline);
  display: grid;
  place-items: center;
}

.priority-content h4 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
}

.priority-content p {
  color: var(--ink-soft);
  line-height: 1.6;
  margin-bottom: 12px;
}

.deliverable-tag {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-muted);
  background: var(--bg-deep);
  padding: 6px 12px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--hairline);
}

/* ROI Section */
.roi-content {
  display: grid;
  gap: 28px;
}

.roi-estimate h4 {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 16px;
}

.roi-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.roi-metric {
  text-align: center;
  padding: 20px;
  border: 1px solid var(--hairline);
  border-radius: var(--radius);
  background: var(--bg);
}

.roi-value {
  display: block;
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 6px;
}

.roi-label {
  font-size: 13px;
  color: var(--ink-muted);
  line-height: 1.4;
}

.roi-explanation {
  padding-top: 20px;
  border-top: 1px solid var(--hairline);
}

.roi-explanation p {
  color: var(--ink-soft);
  line-height: 1.7;
}

/* Payment Section */
.payment-section {
  padding: 80px 0;
  background: var(--bg-deep);
}

.payment-wrapper {
  max-width: 900px;
  margin: 0 auto;
}

.payment-header {
  text-align: center;
  margin-bottom: 48px;
}

.payment-header h2 {
  font-family: var(--font-display);
  font-size: 32px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}

.payment-subtitle {
  color: var(--ink-soft);
  font-size: 17px;
}

.pricing-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 32px;
}

.pricing-card {
  border: 1px solid var(--hairline);
  border-radius: calc(var(--radius) + 8px);
  background: var(--surface);
  backdrop-filter: blur(14px) saturate(1.3);
  padding: 32px;
  position: relative;
  display: flex;
  flex-direction: column;
}

.pricing-card.featured {
  border-color: var(--accent);
  box-shadow: 0 8px 40px rgba(0,0,0,0.08);
}

.pricing-badge {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-muted);
  background: var(--bg);
  padding: 6px 12px;
  border-radius: var(--radius-pill);
  margin-bottom: 16px;
}

.pricing-badge.popular {
  background: var(--accent);
  color: var(--accent-fg);
}

.pricing-amount {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-bottom: 12px;
}

.pricing-amount .currency {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 700;
}

.pricing-amount .amount {
  font-family: var(--font-display);
  font-size: 56px;
  font-weight: 700;
  line-height: 1;
}

.pricing-amount .period {
  font-size: 16px;
  color: var(--ink-muted);
  margin-left: 4px;
}

.pricing-description {
  color: var(--ink-soft);
  line-height: 1.6;
  margin-bottom: 24px;
}

.pricing-features {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
  flex: 1;
}

.pricing-features li {
  padding: 10px 0;
  border-top: 1px solid var(--hairline);
  font-size: 14px;
  color: var(--ink-soft);
}

.pricing-features li:first-child {
  border-top: 0;
}

/* Featured card uses theme colors, no hardcoded white text */
.pricing-card.featured .pricing-features li {
  color: var(--ink-soft);
  border-color: var(--hairline);
}

/* Dark mode override for featured card */
[data-theme="dark"] .pricing-card.featured .pricing-features li {
  color: rgba(255,255,255,0.9);
  border-color: rgba(255,255,255,0.15);
}

.pricing-card .btn-glow,
.pricing-card .btn-ghost {
  width: 100%;
  justify-content: center;
}

.pricing-card .btn-glow svg,
.pricing-card .btn-ghost svg {
  width: 18px;
  height: 18px;
  margin-left: 8px;
}

/* Alternative CTA */
.alternative-cta {
  text-align: center;
  padding: 24px;
  border: 1px dashed var(--hairline-strong);
  border-radius: var(--radius);
}

.alternative-cta p {
  color: var(--ink-soft);
  margin-bottom: 12px;
}

/* Payment Buttons */
.stripe-pay-btn,
.mollie-pay-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Mollie Button */
.mollie-pay-btn {
  cursor: pointer;
}

/* Responsive */
@media (max-width: 860px) {
  .quick-stats,
  .roi-metrics {
    grid-template-columns: 1fr;
  }
  
  .priority-item {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  
  .priority-number {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
  
  .pricing-cards {
    grid-template-columns: 1fr;
  }
  
  .report-section {
    padding: 24px;
  }
}

@media (max-width: 560px) {
  .page-scan .page-hero {
    padding: 100px 0 40px;
  }
  
  .report-section h3 {
    font-size: 20px;
  }
  
  .pricing-amount .amount {
    font-size: 42px;
  }
  
  .pricing-card {
    padding: 24px;
  }
}


