@layer reset, base, tokens, recipes, utilities;

@layer reset{
  html,:host {
    --font-fallback: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -moz-tab-size: 4;
    tab-size: 4;
    font-family: var(--global-font-body, var(--font-fallback));
    -webkit-tap-highlight-color: transparent;
}

  *,::before,::after,::backdrop,::file-selector-button {
    margin: 0px;
    padding: 0px;
    border-width: 0px;
    border-style: solid;
    border-color: var(--global-color-border, currentcolor);
    box-sizing: border-box;
}

  hr {
    color: inherit;
    height: 0px;
    border-top-width: 1px;
}

  body {
    line-height: inherit;
    height: 100%;
}

  img {
    border-style: none;
}

  img,svg,video,canvas,audio,iframe,embed,object {
    display: block;
    vertical-align: middle;
}

  img,video {
    max-width: 100%;
    height: auto;
}

  h1,h2,h3,h4,h5,h6 {
    text-wrap: balance;
    font-size: inherit;
    font-weight: inherit;
}

  p,h1,h2,h3,h4,h5,h6 {
    overflow-wrap: break-word;
}

  ol,ul,menu {
    list-style: none;
}

  button,input:where([type='button'], [type='reset'], [type='submit']),::file-selector-button {
    appearance: button;
    -webkit-appearance: button;
}

  button,input,optgroup,select,textarea,::file-selector-button {
    font: inherit;
    background: var(--colors-transparent);
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
}

  ::placeholder {
    --placeholder-fallback: rgba(0, 0, 0, 0.5);
    opacity: 1;
    color: var(--global-color-placeholder, var(--placeholder-fallback));
}

  @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      --placeholder-fallback: color-mix(in oklab, currentcolor 50%, transparent);
}
}

  ::selection {
    background-color: var(--global-color-selection, rgba(0, 115, 255, 0.3));
}

  textarea {
    resize: vertical;
}

  table {
    border-color: inherit;
    text-indent: 0px;
    border-collapse: collapse;
}

  summary {
    display: list-item;
}

  small {
    font-size: 80%;
}

  sub,sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

  sub {
    bottom: -0.25em;
}

  sup {
    top: -0.5em;
}

  dialog {
    padding: 0px;
}

  a {
    text-decoration: inherit;
    color: inherit;
}

  abbr:where([title]) {
    text-decoration: underline dotted;
}

  b,strong {
    font-weight: bolder;
}

  code,kbd,samp,pre {
    --font-mono-fallback: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New';
    font-family: var(--global-font-mono, var(--font-mono-fallback));
    font-size: 1em;
    font-feature-settings: normal;
    font-variation-settings: normal;
}

  progress {
    vertical-align: baseline;
}

  ::-webkit-search-decoration,::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

  ::-webkit-inner-spin-button,::-webkit-outer-spin-button {
    height: auto;
}

  :-moz-ui-invalid {
    box-shadow: none;
}

  :-moz-focusring {
    outline: auto;
}

  [hidden]:where(:not([hidden='until-found'])) {
    display: none !important;
}
}

@layer base{
  :root {
    --made-with-panda: '🐼';
}

  *,::before,::after,::backdrop {
    --blur: /*-*/ /*-*/;
    --brightness: /*-*/ /*-*/;
    --contrast: /*-*/ /*-*/;
    --grayscale: /*-*/ /*-*/;
    --hue-rotate: /*-*/ /*-*/;
    --invert: /*-*/ /*-*/;
    --saturate: /*-*/ /*-*/;
    --sepia: /*-*/ /*-*/;
    --drop-shadow: /*-*/ /*-*/;
    --backdrop-blur: /*-*/ /*-*/;
    --backdrop-brightness: /*-*/ /*-*/;
    --backdrop-contrast: /*-*/ /*-*/;
    --backdrop-grayscale: /*-*/ /*-*/;
    --backdrop-hue-rotate: /*-*/ /*-*/;
    --backdrop-invert: /*-*/ /*-*/;
    --backdrop-opacity: /*-*/ /*-*/;
    --backdrop-saturate: /*-*/ /*-*/;
    --backdrop-sepia: /*-*/ /*-*/;
    --gradient-from-position: /*-*/ /*-*/;
    --gradient-to-position: /*-*/ /*-*/;
    --gradient-via-position: /*-*/ /*-*/;
    --scroll-snap-strictness: proximity;
    --border-spacing-x: 0;
    --border-spacing-y: 0;
    --translate-x: 0;
    --translate-y: 0;
    --rotate: 0;
    --rotate-x: 0;
    --rotate-y: 0;
    --skew-x: 0;
    --skew-y: 0;
    --scale-x: 1;
    --scale-y: 1;
}
}

@layer tokens{
  :where(:root, :host) {
    --aspect-ratios-square: 1 / 1;
    --aspect-ratios-landscape: 4 / 3;
    --aspect-ratios-portrait: 3 / 4;
    --aspect-ratios-wide: 16 / 9;
    --aspect-ratios-ultrawide: 18 / 5;
    --aspect-ratios-golden: 1.618 / 1;
    --borders-none: none;
    --easings-default: cubic-bezier(0.4, 0, 0.2, 1);
    --easings-linear: linear;
    --easings-in: cubic-bezier(0.4, 0, 1, 1);
    --easings-out: cubic-bezier(0, 0, 0.2, 1);
    --easings-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --durations-fastest: 50ms;
    --durations-faster: 100ms;
    --durations-fast: 150ms;
    --durations-normal: 200ms;
    --durations-slow: 300ms;
    --durations-slower: 400ms;
    --durations-slowest: 500ms;
    --font-weights-thin: 100;
    --font-weights-extralight: 200;
    --font-weights-light: 300;
    --font-weights-normal: 400;
    --font-weights-medium: 500;
    --font-weights-semibold: 600;
    --font-weights-bold: 700;
    --font-weights-extrabold: 800;
    --font-weights-black: 900;
    --line-heights-none: 1;
    --line-heights-tight: 1.25;
    --line-heights-snug: 1.375;
    --line-heights-normal: 1.5;
    --line-heights-relaxed: 1.625;
    --line-heights-loose: 2;
    --letter-spacings-tighter: -0.05em;
    --letter-spacings-tight: -0.025em;
    --letter-spacings-normal: 0em;
    --letter-spacings-wide: 0.025em;
    --letter-spacings-wider: 0.05em;
    --letter-spacings-widest: 0.1em;
    --shadows-2xs: 0 1px rgb(0 0 0 / 0.05);
    --shadows-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadows-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --shadows-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadows-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --shadows-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --shadows-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --shadows-inset-2xs: inset 0 1px rgb(0 0 0 / 0.05);
    --shadows-inset-xs: inset 0 1px 1px rgb(0 0 0 / 0.05);
    --shadows-inset-sm: inset 0 2px 4px rgb(0 0 0 / 0.05);
    --blurs-xs: 4px;
    --blurs-sm: 8px;
    --blurs-md: 12px;
    --blurs-lg: 16px;
    --blurs-xl: 24px;
    --blurs-2xl: 40px;
    --blurs-3xl: 64px;
    --sizes-0: 0rem;
    --sizes-1: 0.25rem;
    --sizes-2: 0.5rem;
    --sizes-3: 0.75rem;
    --sizes-4: 1rem;
    --sizes-5: 1.25rem;
    --sizes-6: 1.5rem;
    --sizes-7: 1.75rem;
    --sizes-8: 2rem;
    --sizes-9: 2.25rem;
    --sizes-10: 2.5rem;
    --sizes-11: 2.75rem;
    --sizes-12: 3rem;
    --sizes-14: 3.5rem;
    --sizes-16: 4rem;
    --sizes-20: 5rem;
    --sizes-24: 6rem;
    --sizes-28: 7rem;
    --sizes-32: 8rem;
    --sizes-36: 9rem;
    --sizes-40: 10rem;
    --sizes-44: 11rem;
    --sizes-48: 12rem;
    --sizes-52: 13rem;
    --sizes-56: 14rem;
    --sizes-60: 15rem;
    --sizes-64: 16rem;
    --sizes-72: 18rem;
    --sizes-80: 20rem;
    --sizes-96: 24rem;
    --sizes-0\.5: 0.125rem;
    --sizes-1\.5: 0.375rem;
    --sizes-2\.5: 0.625rem;
    --sizes-3\.5: 0.875rem;
    --sizes-4\.5: 1.125rem;
    --sizes-5\.5: 1.375rem;
    --sizes-xs: 20rem;
    --sizes-sm: 24rem;
    --sizes-md: 28rem;
    --sizes-lg: 32rem;
    --sizes-xl: 36rem;
    --sizes-2xl: 42rem;
    --sizes-3xl: 48rem;
    --sizes-4xl: 56rem;
    --sizes-5xl: 64rem;
    --sizes-6xl: 72rem;
    --sizes-7xl: 80rem;
    --sizes-8xl: 90rem;
    --sizes-prose: 65ch;
    --sizes-full: 100%;
    --sizes-min: min-content;
    --sizes-max: max-content;
    --sizes-fit: fit-content;
    --sizes-breakpoint-sm: 640px;
    --sizes-breakpoint-md: 768px;
    --sizes-breakpoint-lg: 1024px;
    --sizes-breakpoint-xl: 1280px;
    --sizes-breakpoint-2xl: 1536px;
    --animations-spin: spin 1s linear infinite;
    --animations-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
    --animations-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    --animations-bounce: bounce 1s infinite;
    --colors-current: currentColor;
    --colors-black: #000;
    --colors-transparent: rgb(0 0 0 / 0);
    --colors-rose-50: #fff1f2;
    --colors-rose-100: #ffe4e6;
    --colors-rose-200: #fecdd3;
    --colors-rose-300: #fda4af;
    --colors-rose-400: #fb7185;
    --colors-rose-500: #f43f5e;
    --colors-rose-600: #e11d48;
    --colors-rose-700: #be123c;
    --colors-rose-800: #9f1239;
    --colors-rose-900: #881337;
    --colors-rose-950: #4c0519;
    --colors-pink-50: #fdf2f8;
    --colors-pink-100: #fce7f3;
    --colors-pink-200: #fbcfe8;
    --colors-pink-300: #f9a8d4;
    --colors-pink-400: #f472b6;
    --colors-pink-500: #ec4899;
    --colors-pink-600: #db2777;
    --colors-pink-700: #be185d;
    --colors-pink-800: #9d174d;
    --colors-pink-900: #831843;
    --colors-pink-950: #500724;
    --colors-fuchsia-50: #fdf4ff;
    --colors-fuchsia-100: #fae8ff;
    --colors-fuchsia-200: #f5d0fe;
    --colors-fuchsia-300: #f0abfc;
    --colors-fuchsia-400: #e879f9;
    --colors-fuchsia-500: #d946ef;
    --colors-fuchsia-600: #c026d3;
    --colors-fuchsia-700: #a21caf;
    --colors-fuchsia-800: #86198f;
    --colors-fuchsia-900: #701a75;
    --colors-fuchsia-950: #4a044e;
    --colors-purple-50: #faf5ff;
    --colors-purple-100: #f3e8ff;
    --colors-purple-200: #e9d5ff;
    --colors-purple-300: #d8b4fe;
    --colors-purple-400: #c084fc;
    --colors-purple-500: #a855f7;
    --colors-purple-600: #9333ea;
    --colors-purple-700: #7e22ce;
    --colors-purple-800: #6b21a8;
    --colors-purple-900: #581c87;
    --colors-purple-950: #3b0764;
    --colors-violet-50: #f5f3ff;
    --colors-violet-100: #ede9fe;
    --colors-violet-200: #ddd6fe;
    --colors-violet-300: #c4b5fd;
    --colors-violet-400: #a78bfa;
    --colors-violet-500: #8b5cf6;
    --colors-violet-600: #7c3aed;
    --colors-violet-700: #6d28d9;
    --colors-violet-800: #5b21b6;
    --colors-violet-900: #4c1d95;
    --colors-violet-950: #2e1065;
    --colors-indigo-50: #eef2ff;
    --colors-indigo-100: #e0e7ff;
    --colors-indigo-200: #c7d2fe;
    --colors-indigo-300: #a5b4fc;
    --colors-indigo-400: #818cf8;
    --colors-indigo-500: #6366f1;
    --colors-indigo-600: #4f46e5;
    --colors-indigo-700: #4338ca;
    --colors-indigo-800: #3730a3;
    --colors-indigo-900: #312e81;
    --colors-indigo-950: #1e1b4b;
    --colors-blue-50: #eff6ff;
    --colors-blue-100: #dbeafe;
    --colors-blue-200: #bfdbfe;
    --colors-blue-300: #93c5fd;
    --colors-blue-400: #60a5fa;
    --colors-blue-500: #3b82f6;
    --colors-blue-600: #2563eb;
    --colors-blue-700: #1d4ed8;
    --colors-blue-800: #1e40af;
    --colors-blue-900: #1e3a8a;
    --colors-blue-950: #172554;
    --colors-sky-50: #f0f9ff;
    --colors-sky-100: #e0f2fe;
    --colors-sky-200: #bae6fd;
    --colors-sky-300: #7dd3fc;
    --colors-sky-400: #38bdf8;
    --colors-sky-500: #0ea5e9;
    --colors-sky-600: #0284c7;
    --colors-sky-700: #0369a1;
    --colors-sky-800: #075985;
    --colors-sky-900: #0c4a6e;
    --colors-sky-950: #082f49;
    --colors-cyan-50: #ecfeff;
    --colors-cyan-100: #cffafe;
    --colors-cyan-200: #a5f3fc;
    --colors-cyan-300: #67e8f9;
    --colors-cyan-400: #22d3ee;
    --colors-cyan-500: #06b6d4;
    --colors-cyan-600: #0891b2;
    --colors-cyan-700: #0e7490;
    --colors-cyan-800: #155e75;
    --colors-cyan-900: #164e63;
    --colors-cyan-950: #083344;
    --colors-teal-50: #f0fdfa;
    --colors-teal-100: #ccfbf1;
    --colors-teal-200: #99f6e4;
    --colors-teal-300: #5eead4;
    --colors-teal-400: #2dd4bf;
    --colors-teal-500: #14b8a6;
    --colors-teal-600: #0d9488;
    --colors-teal-700: #0f766e;
    --colors-teal-800: #115e59;
    --colors-teal-900: #134e4a;
    --colors-teal-950: #042f2e;
    --colors-emerald-50: #ecfdf5;
    --colors-emerald-100: #d1fae5;
    --colors-emerald-200: #a7f3d0;
    --colors-emerald-300: #6ee7b7;
    --colors-emerald-400: #34d399;
    --colors-emerald-500: #10b981;
    --colors-emerald-600: #059669;
    --colors-emerald-700: #047857;
    --colors-emerald-800: #065f46;
    --colors-emerald-900: #064e3b;
    --colors-emerald-950: #022c22;
    --colors-green-50: #f0fdf4;
    --colors-green-100: #dcfce7;
    --colors-green-200: #bbf7d0;
    --colors-green-300: #86efac;
    --colors-green-400: #4ade80;
    --colors-green-500: #22c55e;
    --colors-green-600: #16a34a;
    --colors-green-700: #15803d;
    --colors-green-800: #166534;
    --colors-green-900: #14532d;
    --colors-green-950: #052e16;
    --colors-lime-50: #f7fee7;
    --colors-lime-100: #ecfccb;
    --colors-lime-200: #d9f99d;
    --colors-lime-300: #bef264;
    --colors-lime-400: #a3e635;
    --colors-lime-500: #84cc16;
    --colors-lime-600: #65a30d;
    --colors-lime-700: #4d7c0f;
    --colors-lime-800: #3f6212;
    --colors-lime-900: #365314;
    --colors-lime-950: #1a2e05;
    --colors-yellow-50: #fefce8;
    --colors-yellow-100: #fef9c3;
    --colors-yellow-200: #fef08a;
    --colors-yellow-300: #fde047;
    --colors-yellow-400: #facc15;
    --colors-yellow-500: #eab308;
    --colors-yellow-600: #ca8a04;
    --colors-yellow-700: #a16207;
    --colors-yellow-800: #854d0e;
    --colors-yellow-900: #713f12;
    --colors-yellow-950: #422006;
    --colors-amber-50: #fffbeb;
    --colors-amber-100: #fef3c7;
    --colors-amber-200: #fde68a;
    --colors-amber-300: #fcd34d;
    --colors-amber-400: #fbbf24;
    --colors-amber-500: #f59e0b;
    --colors-amber-600: #d97706;
    --colors-amber-700: #b45309;
    --colors-amber-800: #92400e;
    --colors-amber-900: #78350f;
    --colors-amber-950: #451a03;
    --colors-orange-50: #fff7ed;
    --colors-orange-100: #ffedd5;
    --colors-orange-200: #fed7aa;
    --colors-orange-300: #fdba74;
    --colors-orange-400: #fb923c;
    --colors-orange-500: #f97316;
    --colors-orange-600: #ea580c;
    --colors-orange-700: #c2410c;
    --colors-orange-800: #9a3412;
    --colors-orange-900: #7c2d12;
    --colors-orange-950: #431407;
    --colors-red-50: #fef2f2;
    --colors-red-100: #fee2e2;
    --colors-red-200: #fecaca;
    --colors-red-300: #fca5a5;
    --colors-red-400: #f87171;
    --colors-red-500: #ef4444;
    --colors-red-600: #dc2626;
    --colors-red-700: #b91c1c;
    --colors-red-800: #991b1b;
    --colors-red-900: #7f1d1d;
    --colors-red-950: #450a0a;
    --colors-neutral-50: #fafafa;
    --colors-neutral-100: #f5f5f5;
    --colors-neutral-200: #e5e5e5;
    --colors-neutral-300: #d4d4d4;
    --colors-neutral-400: #a3a3a3;
    --colors-neutral-500: #737373;
    --colors-neutral-600: #525252;
    --colors-neutral-700: #404040;
    --colors-neutral-800: #262626;
    --colors-neutral-900: #171717;
    --colors-neutral-950: #0a0a0a;
    --colors-stone-50: #fafaf9;
    --colors-stone-100: #f5f5f4;
    --colors-stone-200: #e7e5e4;
    --colors-stone-300: #d6d3d1;
    --colors-stone-400: #a8a29e;
    --colors-stone-500: #78716c;
    --colors-stone-600: #57534e;
    --colors-stone-700: #44403c;
    --colors-stone-800: #292524;
    --colors-stone-900: #1c1917;
    --colors-stone-950: #0c0a09;
    --colors-zinc-50: #fafafa;
    --colors-zinc-100: #f4f4f5;
    --colors-zinc-200: #e4e4e7;
    --colors-zinc-300: #d4d4d8;
    --colors-zinc-400: #a1a1aa;
    --colors-zinc-500: #71717a;
    --colors-zinc-600: #52525b;
    --colors-zinc-700: #3f3f46;
    --colors-zinc-800: #27272a;
    --colors-zinc-900: #18181b;
    --colors-zinc-950: #09090b;
    --colors-gray-50: #f9fafb;
    --colors-gray-100: #f3f4f6;
    --colors-gray-200: #e5e7eb;
    --colors-gray-300: #d1d5db;
    --colors-gray-400: #9ca3af;
    --colors-gray-500: #6b7280;
    --colors-gray-600: #4b5563;
    --colors-gray-700: #374151;
    --colors-gray-800: #1f2937;
    --colors-gray-900: #111827;
    --colors-gray-950: #030712;
    --colors-slate-50: #f8fafc;
    --colors-slate-100: #f1f5f9;
    --colors-slate-200: #e2e8f0;
    --colors-slate-300: #cbd5e1;
    --colors-slate-400: #94a3b8;
    --colors-slate-500: #64748b;
    --colors-slate-600: #475569;
    --colors-slate-700: #334155;
    --colors-slate-800: #1e293b;
    --colors-slate-900: #0f172a;
    --colors-slate-950: #020617;
    --colors-paper: #F5F2EA;
    --colors-paper-alt: #EDE8DC;
    --colors-paper-deep: #E5DFCD;
    --colors-ink: #1A1714;
    --colors-ink-muted: #6B6359;
    --colors-ink-line: #C8C1B1;
    --colors-forest-100: #DCE7DE;
    --colors-forest-500: #2D7348;
    --colors-forest-700: #14532D;
    --colors-forest-900: #0F3B22;
    --colors-rust-100: #F5E0D0;
    --colors-rust-700: #C85A1F;
    --colors-sage-100: #E1ECE4;
    --colors-sage-600: #4A7C59;
    --colors-white: #FFFFFF;
    --fonts-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --fonts-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
    --fonts-display: 'Geist', 'Helvetica Neue', sans-serif;
    --fonts-body: 'Inter', 'Helvetica Neue', sans-serif;
    --fonts-mono: 'Geist Mono', monospace;
    --font-sizes-2xs: 0.5rem;
    --font-sizes-xs: 0.75rem;
    --font-sizes-sm: 0.875rem;
    --font-sizes-md: 1rem;
    --font-sizes-lg: 1.125rem;
    --font-sizes-xl: 1.25rem;
    --font-sizes-2xl: 1.5rem;
    --font-sizes-3xl: 1.875rem;
    --font-sizes-4xl: 2.25rem;
    --font-sizes-5xl: 3rem;
    --font-sizes-6xl: 3.75rem;
    --font-sizes-7xl: 4.5rem;
    --font-sizes-8xl: 6rem;
    --font-sizes-9xl: 8rem;
    --font-sizes-display-hero: clamp(3.5rem, 7vw, 6.5rem);
    --font-sizes-display-xl: clamp(2.5rem, 4.5vw, 4.5rem);
    --font-sizes-display-lg: clamp(1.875rem, 3vw, 2.75rem);
    --font-sizes-pull-quote: clamp(1.5rem, 2.4vw, 2.25rem);
    --font-sizes-body-lg: 1.25rem;
    --font-sizes-body-md: 1.0625rem;
    --font-sizes-body-sm: 0.9375rem;
    --font-sizes-caption: 0.8125rem;
    --font-sizes-data-xl: clamp(4rem, 9vw, 7.5rem);
    --font-sizes-data-lg: clamp(2.5rem, 5vw, 4rem);
    --font-sizes-data-md: 1.25rem;
    --spacing-0: 0rem;
    --spacing-1: 0.25rem;
    --spacing-2: 0.5rem;
    --spacing-3: 0.75rem;
    --spacing-4: 1rem;
    --spacing-5: 1.25rem;
    --spacing-6: 1.5rem;
    --spacing-7: 1.75rem;
    --spacing-8: 2rem;
    --spacing-9: 2.25rem;
    --spacing-10: 2.5rem;
    --spacing-11: 2.75rem;
    --spacing-12: 3rem;
    --spacing-14: 3.5rem;
    --spacing-16: 4rem;
    --spacing-20: 5rem;
    --spacing-24: 6rem;
    --spacing-28: 7rem;
    --spacing-32: 8rem;
    --spacing-36: 9rem;
    --spacing-40: 10rem;
    --spacing-44: 11rem;
    --spacing-48: 12rem;
    --spacing-52: 13rem;
    --spacing-56: 14rem;
    --spacing-60: 15rem;
    --spacing-64: 16rem;
    --spacing-72: 18rem;
    --spacing-80: 20rem;
    --spacing-96: 24rem;
    --spacing-0\.5: 0.125rem;
    --spacing-1\.5: 0.375rem;
    --spacing-2\.5: 0.625rem;
    --spacing-3\.5: 0.875rem;
    --spacing-4\.5: 1.125rem;
    --spacing-5\.5: 1.375rem;
    --spacing-section: clamp(4rem, 8vw, 8rem);
    --spacing-section-sm: clamp(2.5rem, 5vw, 5rem);
    --spacing-editorial: clamp(1.5rem, 2.5vw, 2.25rem);
    --radii-xs: 0.125rem;
    --radii-sm: 0.25rem;
    --radii-md: 0.375rem;
    --radii-lg: 0.5rem;
    --radii-xl: 0.75rem;
    --radii-2xl: 1rem;
    --radii-3xl: 1.5rem;
    --radii-4xl: 2rem;
    --radii-full: 9999px;
    --radii-card: 0.75rem;
    --radii-btn: 0.5rem;
    --radii-pill: 100px;
    --breakpoints-sm: 640px;
    --breakpoints-md: 768px;
    --breakpoints-lg: 1024px;
    --breakpoints-xl: 1280px;
    --breakpoints-2xl: 1536px;
}

  @keyframes spin {
    to {
      transform: rotate(360deg);
}
}

  @keyframes ping {
    75%,100% {
      transform: scale(2);
      opacity: 0;
}
}

  @keyframes pulse {
    50% {
      opacity: 0.5;
}
}

  @keyframes bounce {
    0%,100% {
      transform: translateY(-25%);
      animation-timing-function: cubic-bezier(0.8,0,1,1);
}

    50% {
      transform: none;
      animation-timing-function: cubic-bezier(0,0,0.2,1);
}
}
}

@layer utilities{

  .bg_\{colors\.brand\.950\} {
    background: colors\.brand\.950;
}

  .bg_\{colors\.brand\.900\} {
    background: colors\.brand\.900;
}

  .bg_\{colors\.brand\.850\} {
    background: colors\.brand\.850;
}

  .bg_\{colors\.brand\.800\} {
    background: colors\.brand\.800;
}

  .bg_\{colors\.accent\.400\} {
    background: colors\.accent\.400;
}

  .bd_none {
    border: var(--borders-none);
}

  .bg_transparent {
    background: var(--colors-transparent);
}

  .bd_1px_solid_\{colors\.brand\.600\} {
    border: 1px solid colors\.brand\.600;
}

  .bd_1px_solid_\{colors\.brand\.700\} {
    border: 1px solid colors\.brand\.700;
}

  .p_clamp\(1\.5rem\,_3vw\,_2\.5rem\) {
    padding: clamp(1.5rem, 3vw, 2.5rem);
}

  .bg_\{colors\.brand\.700\} {
    background: colors\.brand\.700;
}

  .p_0 {
    padding: var(--spacing-0);
}

  .m_-1px {
    margin: -1px;
}

  .p_0\.875rem_1rem {
    padding: 0.875rem 1rem;
}

  .p_1rem {
    padding: 1rem;
}

  .bg_rgba\(10\,_10\,_15\,_0\.95\) {
    background: rgba(10, 10, 15, 0.95);
}

  .p_0\.375rem_0\.875rem {
    padding: 0.375rem 0.875rem;
}

  .bg_rgba\(232\,_173\,_63\,_0\.1\) {
    background: rgba(232, 173, 63, 0.1);
}

  .bd_1px_solid_rgba\(232\,_173\,_63\,_0\.2\) {
    border: 1px solid rgba(232, 173, 63, 0.2);
}

  .mx_auto {
    margin-inline: auto;
}

  .px_clamp\(1\.25rem\,_4vw\,_2\.5rem\) {
    padding-inline: clamp(1.25rem, 4vw, 2.5rem);
}

  .py_\{spacing\.section\} {
    padding-block: var(--spacing-section);
}

  .py_\{spacing\.section-sm\} {
    padding-block: var(--spacing-section-sm);
}

  .gap_0\.5rem {
    gap: 0.5rem;
}

  .px_2rem {
    padding-inline: 2rem;
}

  .py_1rem {
    padding-block: 1rem;
}

  .bdr_\{radii\.btn\} {
    border-radius: var(--radii-btn);
}

  .td_none {
    text-decoration: none;
}

  .trs_all_0\.25s_cubic-bezier\(0\.4\,_0\,_0\.2\,_1\) {
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

  .px_2\.5rem {
    padding-inline: 2.5rem;
}

  .py_1\.25rem {
    padding-block: 1.25rem;
}

  .bdr_\{radii\.card\} {
    border-radius: var(--radii-card);
}

  .trs_all_0\.3s_cubic-bezier\(0\.4\,_0\,_0\.2\,_1\) {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

  .gap_1\.5rem {
    gap: 1.5rem;
}

  .gap_1rem {
    gap: 1rem;
}

  .gap_2rem {
    gap: 2rem;
}

  .bdr_2px {
    border-radius: 2px;
}

  .ov_hidden {
    overflow: hidden;
}

  .bd-w_0 {
    border-width: 0;
}

  .trs_opacity_0\.6s_ease-out\,_transform_0\.6s_ease-out {
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

  .gap_clamp\(1\.5rem\,_4vw\,_3rem\) {
    gap: clamp(1.5rem, 4vw, 3rem);
}

  .py_2rem {
    padding-block: 2rem;
}

  .trs_opacity_0\.3s {
    transition: opacity 0.3s;
}

  .ring_none {
    outline: var(--borders-none);
}

  .trs_border-color_0\.2s {
    transition: border-color 0.2s;
}

  .bd-t_1px_solid_\{colors\.brand\.700\} {
    border-top: 1px solid colors\.brand\.700;
}

  .trs_transform_0\.3s_ease-out {
    transition: transform 0.3s ease-out;
}

  .gap_0\.375rem {
    gap: 0.375rem;
}

  .bdr_\{radii\.pill\} {
    border-radius: var(--radii-pill);
}

  .bd-b_1px_solid_\{colors\.brand\.700\} {
    border-bottom: 1px solid colors\.brand\.700;
}

  .py_1\.5rem {
    padding-block: 1.5rem;
}

  .trs_color_0\.2s {
    transition: color 0.2s;
}

  .trs_max-height_0\.35s_ease-out\,_padding-top_0\.35s_ease-out {
    transition: max-height 0.35s ease-out, padding-top 0.35s ease-out;
}

  .ff_\{fonts\.heading\} {
    font-family: fonts\.heading;
}

  .fs_\{fontSizes\.display-xl\} {
    font-size: var(--font-sizes-display-xl);
}

  .lh_1\.05 {
    line-height: 1.05;
}

  .ls_-0\.025em {
    letter-spacing: -0.025em;
}

  .fw_400 {
    font-weight: 400;
}

  .fs_\{fontSizes\.display-lg\} {
    font-size: var(--font-sizes-display-lg);
}

  .lh_1\.1 {
    line-height: 1.1;
}

  .ls_-0\.02em {
    letter-spacing: -0.02em;
}

  .fs_\{fontSizes\.display-md\} {
    font-size: fontSizes\.display-md;
}

  .lh_1\.15 {
    line-height: 1.15;
}

  .ls_-0\.015em {
    letter-spacing: -0.015em;
}

  .fs_\{fontSizes\.display-sm\} {
    font-size: fontSizes\.display-sm;
}

  .lh_1\.2 {
    line-height: 1.2;
}

  .ff_\{fonts\.body\} {
    font-family: var(--fonts-body);
}

  .fs_\{fontSizes\.body-lg\} {
    font-size: var(--font-sizes-body-lg);
}

  .lh_1\.7 {
    line-height: 1.7;
}

  .fs_\{fontSizes\.body-md\} {
    font-size: var(--font-sizes-body-md);
}

  .fs_\{fontSizes\.body-sm\} {
    font-size: var(--font-sizes-body-sm);
}

  .lh_1\.6 {
    line-height: 1.6;
}

  .fs_\{fontSizes\.label\} {
    font-size: fontSizes\.label;
}

  .lh_1\.4 {
    line-height: 1.4;
}

  .ls_0\.1em {
    letter-spacing: 0.1em;
}

  .tt_uppercase {
    text-transform: uppercase;
}

  .fw_500 {
    font-weight: 500;
}

  .c_\#ffffff {
    color: #ffffff;
}

  .c_\{colors\.brand\.200\} {
    color: colors\.brand\.200;
}

  .c_\{colors\.brand\.400\} {
    color: colors\.brand\.400;
}

  .c_\{colors\.accent\.400\} {
    color: colors\.accent\.400;
}

  .d_inline-flex {
    display: inline-flex;
}

  .ai_center {
    align-items: center;
}

  .jc_center {
    justify-content: center;
}

  .fw_600 {
    font-weight: 600;
}

  .lh_1 {
    line-height: 1;
}

  .c_\{colors\.brand\.950\} {
    color: colors\.brand\.950;
}

  .cursor_pointer {
    cursor: pointer;
}

  .c_\{colors\.brand\.100\} {
    color: colors\.brand\.100;
}

  .d_grid {
    display: grid;
}

  .grid-tc_1fr {
    grid-template-columns: 1fr;
}

  .grid-tc_repeat\(2\,_1fr\) {
    grid-template-columns: repeat(2, 1fr);
}

  .d_flex {
    display: flex;
}

  .jc_space-between {
    justify-content: space-between;
}

  .flex-d_column {
    flex-direction: column;
}

  .bg-i_linear-gradient\(135deg\,_\{colors\.accent\.300\}\,_\{colors\.accent\.500\}\) {
    background-image: linear-gradient(135deg, colors\.accent\.300, colors\.accent\.500);
}

  .bg-cp_text {
    background-clip: text;
    -webkit-background-clip: text;
}

  .\-webkit-background-clip_text {
    -webkit-background-clip: text;
}

  .c_transparent {
    color: var(--colors-transparent);
}

  .wktf-c_transparent {
    -webkit-text-fill-color: var(--colors-transparent);
}

  .bx-sh_0_0_60px_rgba\(232\,_173\,_63\,_0\.08\)\,_0_0_120px_rgba\(232\,_173\,_63\,_0\.04\) {
    box-shadow: 0 0 60px rgba(232, 173, 63, 0.08), 0 0 120px rgba(232, 173, 63, 0.04);
}

  .pos_absolute {
    position: absolute;
}

  .clip_rect\(0\,_0\,_0\,_0\) {
    clip: rect(0, 0, 0, 0);
}

  .white-space_nowrap {
    white-space: nowrap;
}

  .op_0 {
    opacity: 0;
}

  .trf_translateY\(20px\) {
    transform: translateY(20px);
}

  .op_1 {
    opacity: 1;
}

  .trf_translateY\(0\) {
    transform: translateY(0);
}

  .flex-wrap_wrap {
    flex-wrap: wrap;
}

  .op_0\.6 {
    opacity: 0.6;
}

  .filter_grayscale\(1\) {
    filter: grayscale(1);
}

  .resize_vertical {
    resize: vertical;
}

  .pos_fixed {
    position: fixed;
}

  .bkdp_blur\(12px\) {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

  .z_50 {
    z-index: 50;
}

  .trf_translateY\(100\%\) {
    transform: translateY(100%);
}

  .ls_0\.05em {
    letter-spacing: 0.05em;
}

  .ta_left {
    text-align: left;
}

  .c_\{colors\.brand\.300\} {
    color: colors\.brand\.300;
}

  .max-w_1200px {
    max-width: 1200px;
}

  .w_100\% {
    width: 100%;
}

  .max-w_900px {
    max-width: 900px;
}

  .h_1px {
    height: 1px;
}

  .w_60px {
    width: 60px;
}

  .h_3px {
    height: 3px;
}

  .w_1px {
    width: 1px;
}

  .mt_0\.5rem {
    margin-top: 0.5rem;
}

  .min-h_120px {
    min-height: 120px;
}

  .bottom_0 {
    bottom: var(--spacing-0);
}

  .left_0 {
    left: var(--spacing-0);
}

  .right_0 {
    right: var(--spacing-0);
}

  .pt_1rem {
    padding-top: 1rem;
}

  .max-h_0 {
    max-height: var(--sizes-0);
}

  .max-h_500px {
    max-height: 500px;
}

  .placeholder\:c_\{colors\.brand\.500\}::placeholder,.placeholder\:c_\{colors\.brand\.500\}[data-placeholder] {
    color: colors\.brand\.500;
}

  .focus\:bd-c_\{colors\.accent\.400\}:is(:focus, [data-focus]) {
    border-color: colors\.accent\.400;
}

  .focus\:bx-sh_0_0_0_3px_rgba\(232\,_173\,_63\,_0\.15\):is(:focus, [data-focus]) {
    box-shadow: 0 0 0 3px rgba(232, 173, 63, 0.15);
}

  .hover\:bg_\{colors\.accent\.300\}:is(:hover, [data-hover]) {
    background: colors\.accent\.300;
}

  .hover\:bd-c_\{colors\.accent\.400\}:is(:hover, [data-hover]) {
    border-color: colors\.accent\.400;
}

  .hover\:bd-c_\{colors\.brand\.600\}:is(:hover, [data-hover]) {
    border-color: colors\.brand\.600;
}

  .hover\:trf_translateY\(-1px\):is(:hover, [data-hover]) {
    transform: translateY(-1px);
}

  .hover\:bx-sh_0_8px_30px_rgba\(232\,_173\,_63\,_0\.3\):is(:hover, [data-hover]) {
    box-shadow: 0 8px 30px rgba(232, 173, 63, 0.3);
}

  .hover\:c_\{colors\.accent\.400\}:is(:hover, [data-hover]) {
    color: colors\.accent\.400;
}

  .hover\:trf_translateY\(-2px\):is(:hover, [data-hover]) {
    transform: translateY(-2px);
}

  .hover\:bx-sh_0_12px_40px_rgba\(0\,_0\,_0\,_0\.3\):is(:hover, [data-hover]) {
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
}

  .hover\:op_0\.85:is(:hover, [data-hover]) {
    opacity: 0.85;
}

  @media (min-width: 768px) {
    .\[\@media_\(min-width\:_768px\)\]\:gap_2rem {
      gap: 2rem;
}
    .\[\@media_\(min-width\:_768px\)\]\:gap_1\.5rem {
      gap: 1.5rem;
}
    .\[\@media_\(min-width\:_768px\)\]\:grid-tc_repeat\(2\,_1fr\) {
      grid-template-columns: repeat(2, 1fr);
}
    .\[\@media_\(min-width\:_768px\)\]\:grid-tc_repeat\(4\,_1fr\) {
      grid-template-columns: repeat(4, 1fr);
}
}

  @media (min-width: 1024px) {
    .\[\@media_\(min-width\:_1024px\)\]\:grid-tc_repeat\(3\,_1fr\) {
      grid-template-columns: repeat(3, 1fr);
}
    .\[\@media_\(min-width\:_1024px\)\]\:d_none {
      display: none;
}
}
}
*, *::before, *::after { box-sizing: border-box; }

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--colors-paper);
  color: var(--colors-ink);
  font-family: var(--fonts-body);
  font-size: var(--font-sizes-body-md);
  line-height: 1.7;
  font-feature-settings: "ss01" on, "cv11" on;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

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

a {
  color: var(--colors-forest-700);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: color 120ms ease;
}
a:hover { color: var(--colors-forest-900); }

button { font: inherit; cursor: pointer; }

.display {
  font-family: var(--fonts-display);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--colors-ink);
}
.display--hero { font-size: var(--font-sizes-display-hero); font-weight: 600; letter-spacing: -0.03em; }
.display--xl   { font-size: var(--font-sizes-display-xl);   font-weight: 600; letter-spacing: -0.025em; }
.display--lg   { font-size: var(--font-sizes-display-lg);   font-weight: 600; letter-spacing: -0.02em; }

.pull-quote {
  font-family: var(--fonts-display);
  font-size: var(--font-sizes-pull-quote);
  font-weight: 500;
  line-height: 1.3;
  color: var(--colors-ink);
  margin: 0;
}

.body-lg { font-size: var(--font-sizes-body-lg); line-height: 1.65; }
.body-sm { font-size: var(--font-sizes-body-sm); line-height: 1.6; color: var(--colors-ink-muted); }

.caption {
  font-family: var(--fonts-body);
  font-size: var(--font-sizes-caption);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--colors-ink-muted);
}

.mono { font-family: var(--fonts-mono); font-variant-numeric: tabular-nums; }
.data-xl { font-family: var(--fonts-mono); font-size: var(--font-sizes-data-xl); font-weight: 500; line-height: 1; font-variant-numeric: tabular-nums; color: var(--colors-ink); }
.data-lg { font-family: var(--fonts-mono); font-size: var(--font-sizes-data-lg); font-weight: 500; line-height: 1.05; font-variant-numeric: tabular-nums; color: var(--colors-ink); }
.data-md { font-family: var(--fonts-mono); font-size: var(--font-sizes-data-md); font-weight: 400; font-variant-numeric: tabular-nums; }

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: clamp(1rem, 4vw, 3rem);
  padding-right: clamp(1rem, 4vw, 3rem);
}

.section { padding-top: var(--spacing-section); padding-bottom: var(--spacing-section); }
.section--alt { background: var(--colors-paper-alt); }

.divider { height: 1px; background: var(--colors-ink-line); border: 0; margin: 0; }

:focus-visible {
  outline: 3px solid var(--colors-forest-700);
  outline-offset: 3px;
  border-radius: 2px;
}

.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: absolute;
  top: -100px; left: 1rem;
  background: var(--colors-ink);
  color: var(--colors-paper);
  padding: 0.75rem 1rem;
  border-radius: var(--radii-btn);
  z-index: 1000;
  text-decoration: none;
}
.skip-link:focus { top: 1rem; }

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

/* ── Header ── */
.header{
  position:fixed;top:1rem;left:0;right:0;z-index:100;
  padding:0;
  transition:top 0.3s;
}
.header__nav{
  max-width:1100px;margin:0 auto;
  padding:0.5rem 0.5rem 0.5rem 1.25rem;
  display:flex;align-items:center;justify-content:space-between;
  background:var(--colors-paper);
  border:1px solid var(--colors-ink-line);
  border-radius:var(--radii-pill);
}
.header--scrolled{
  top:0.75rem;
}
.header--scrolled .header__nav{
  box-shadow:0 1px 2px rgba(26,23,20,0.06);
}
.header__logo{
  display:flex;align-items:center;gap:0.5rem;
  text-decoration:none;color:var(--colors-ink);
}
.header__logo-mark{
  display:flex;align-items:center;justify-content:center;
  width:2rem;height:2rem;
  background:var(--colors-forest-700);
  border-radius:0.5rem;
  font-family:var(--fonts-display);
  font-size:1.125rem;color:var(--colors-paper);font-weight:500;
}
.header__logo-text{
  font-family:var(--fonts-display);
  font-size:1.25rem;font-weight:500;letter-spacing:-0.015em;
}
.header__links{
  display:flex;align-items:center;gap:0.25rem;
  list-style:none;margin:0;padding:0;
}
.header__links > li > a{
  color:var(--colors-ink);text-decoration:none;
  font-size:0.9375rem;font-weight:500;
  font-family:var(--fonts-body);
  padding:0.5rem 1rem;
  border-radius:var(--radii-btn);
  transition:color 120ms ease;
}
.header__links > li > a:hover{
  color:var(--colors-forest-700);
}
.header__cta-link{
  padding:0.625rem 1.25rem!important;
  background:var(--colors-forest-700)!important;
  border:none!important;
  border-radius:var(--radii-btn)!important;
  color:var(--colors-paper)!important;
  font-weight:500!important;
  font-size:0.9375rem!important;
  font-family:var(--fonts-body)!important;
  transition:background-color 120ms ease!important;
}
.header__cta-link:hover{
  background:var(--colors-forest-900)!important;
}
.header__burger{
  display:none;flex-direction:column;gap:6px;
  background:none;border:none;cursor:pointer;padding:4px;
  width:32px;height:32px;align-items:center;justify-content:center;
  position:relative;z-index:101;
}
.header__burger span{
  display:block;width:20px;height:1.5px;background:var(--colors-ink);
  transition:transform 0.3s cubic-bezier(0.4,0,0.2,1),opacity 0.3s;
  transform-origin:center;
}
.header__burger--open span:nth-child(1){
  transform:translateY(7.5px) rotate(45deg);
}
.header__burger--open span:nth-child(2){
  opacity:0;
}
.header__burger--open span:nth-child(3){
  transform:translateY(-7.5px) rotate(-45deg);
}

/* ── Mega menu dropdowns ── */
.header__dropdown{position:relative}
.header__dropdown-toggle::after{
  content:'';display:inline-block;width:5px;height:5px;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);margin-left:5px;vertical-align:2px;
  transition:transform 0.2s;
}
.header__dropdown::before{
  content:'';position:absolute;top:100%;left:0;right:0;
  height:1.5rem;background:transparent;
}
.header__mega{
  position:absolute;top:calc(100% + 0.75rem);left:50%;
  transform:translateX(-50%) translateY(8px);
  display:flex;gap:2rem;min-width:480px;
  padding:1.25rem 1.5rem;
  background:var(--colors-paper);
  border:1px solid var(--colors-ink-line);
  border-radius:var(--radii-card);
  box-shadow:0 1px 2px rgba(26,23,20,0.06);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity 0.25s,transform 0.25s,visibility 0.25s;
}
.header__mega--narrow{min-width:240px}
@media(min-width:768px){
  .header__dropdown:hover .header__mega{
    opacity:1;visibility:visible;pointer-events:auto;
    transform:translateX(-50%) translateY(0);
  }
  .header__dropdown:hover .header__dropdown-toggle::after{transform:rotate(-135deg)}
}
.header__mega-col{flex:1;min-width:0}
.header__mega-heading{
  font-size:var(--font-sizes-caption);font-weight:500;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--colors-ink-muted);
  margin:0 0 0.75rem;padding:0;
}
.header__mega ul{list-style:none;margin:0;padding:0}
.header__mega li{margin:0}
.header__mega a{
  display:block;padding:0.375rem 0;font-size:0.9375rem;
  color:var(--colors-ink);transition:color 120ms ease;
  text-decoration:none;
}
.header__mega a:hover{color:var(--colors-forest-700)}

@media(max-width:767px){
  .header{top:0;padding:0}
  .header--scrolled{top:0}
  .header__nav{max-width:none;margin:0;border-left:none;border-right:none}
  .header__burger{display:flex}

  /* ── Full-screen overlay (Apple-style) ── */
  .header__links{
    position:fixed;inset:0;
    background:var(--colors-paper);
    flex-direction:column;
    align-items:stretch;
    padding:5rem clamp(1.5rem,6vw,3rem) 2rem;
    gap:0;
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity 0.35s cubic-bezier(0.4,0,0.2,1),visibility 0.35s;
    z-index:100;overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .header__links--open{
    opacity:1;visibility:visible;pointer-events:auto;
  }

  /* ── Top-level items — large, staggered fade-in ── */
  .header__links > li{
    opacity:0;
    transform:translateY(12px);
    transition:opacity 0.3s ease-out,transform 0.3s ease-out;
    border-bottom:1px solid var(--colors-ink-line);
  }
  .header__links--open > li{
    opacity:1;transform:translateY(0);
  }
  .header__links--open > li:nth-child(1){transition-delay:0.05s}
  .header__links--open > li:nth-child(2){transition-delay:0.08s}
  .header__links--open > li:nth-child(3){transition-delay:0.11s}
  .header__links--open > li:nth-child(4){transition-delay:0.14s}
  .header__links--open > li:nth-child(5){transition-delay:0.17s}
  .header__links--open > li:nth-child(6){transition-delay:0.20s}
  .header__links--open > li:nth-child(7){transition-delay:0.23s}
  .header__links--open > li:last-child{border-bottom:none}

  .header__links a{
    font-size:1.75rem;font-weight:500;letter-spacing:-0.01em;
    font-family:var(--fonts-display);
    color:var(--colors-ink);
    display:block;padding:1rem 0;
    text-decoration:none;
  }
  .header__links a:hover{color:var(--colors-forest-700)}

  .header__nav{
    border-radius:0;
    padding:0.75rem clamp(1.25rem,4vw,2.5rem);
    background:var(--colors-paper);
    border:none;
  }

  .header__cta-link{
    margin-top:1.5rem;
    text-align:center;
    font-size:1.0625rem!important;
    padding:1rem 2rem!important;
    background:var(--colors-forest-700)!important;
    color:var(--colors-paper)!important;
    border:none!important;
    border-radius:var(--radii-btn)!important;
    font-weight:500;
    font-family:var(--fonts-body)!important;
  }
  .header__cta-link:hover{
    background:var(--colors-forest-900)!important;
  }

  /* ── Dropdown toggle arrow ── */
  .header__links .header__dropdown-toggle{
    display:flex;align-items:center;justify-content:space-between;
    width:100%;
  }
  .header__links .header__dropdown-toggle::after{
    width:8px;height:8px;
    border-right:2px solid var(--colors-ink-muted);
    border-bottom:2px solid var(--colors-ink-muted);
    transform:rotate(45deg);
    margin-left:auto;flex-shrink:0;
    transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);
  }
  .header__dropdown.header__dropdown--open .header__dropdown-toggle::after{
    transform:rotate(-135deg);
  }

  /* ── Submenu accordion ── */
  .header__mega{
    position:static;transform:none;min-width:0;left:auto;
    opacity:1;visibility:visible;pointer-events:auto;
    flex-direction:column;gap:0;
    padding:0 0 0.5rem;
    max-height:0;overflow:hidden;
    background:none;backdrop-filter:none;border:none;
    border-radius:0;box-shadow:none;
    transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1),padding 0.4s;
    display:flex;
  }
  .header__dropdown.header__dropdown--open .header__mega{
    max-height:600px;
    padding:0.5rem 0 1rem;
  }

  /* ── Submenu items ── */
  .header__mega a{
    font-size:1rem!important;font-weight:400;
    color:var(--colors-ink-muted)!important;
    padding:0.5rem 0 0.5rem 1rem!important;
  }
  .header__mega a:hover{color:var(--colors-forest-700)!important}
  .header__mega-heading{
    margin:0.75rem 0 0.25rem 1rem;
    font-size:var(--font-sizes-caption);
    color:var(--colors-ink-muted);
  }
  .header__mega-col{margin-bottom:0.25rem}
}

/* ── Hero ── */
.hero{
  position:relative;min-height:100vh;
  display:flex;align-items:center;
  padding:8rem 0 6rem;overflow:hidden;
}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__bg::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 50% at 65% 40%,rgba(24,119,242,0.06) 0%,transparent 70%);
}
.hero__bg::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 40% 60% at 20% 80%,rgba(24,119,242,0.04) 0%,transparent 60%);
}
.hero__grid{
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(212,212,218,0.1) 1px,transparent 1px),linear-gradient(90deg,rgba(212,212,218,0.1) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 60% 50% at 50% 50%,black 20%,transparent 70%);
}
.hero__blob{
  position:absolute;z-index:0;
  animation:blob-float 20s ease-in-out infinite;
}
.hero__blob--1{
  width:clamp(300px,50vw,600px);top:-10%;right:-10%;
  animation-delay:0s;
}
.hero__blob--2{
  width:clamp(250px,40vw,500px);bottom:-5%;left:-8%;
  animation-delay:-10s;
}
@keyframes blob-float{
  0%,100%{transform:translate(0,0) scale(1)}
  33%{transform:translate(15px,-20px) scale(1.03)}
  66%{transform:translate(-10px,15px) scale(0.97)}
}
.hero__split{
  position:relative;z-index:1;max-width:1200px;margin:0 auto;
  padding:0 clamp(1.25rem,4vw,2.5rem);
  display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;
}
.hero__content{min-width:0}
@media(max-width:900px){
  .hero__split{grid-template-columns:1fr;gap:2.5rem}
}
.hero__badge{
  display:inline-flex;align-items:center;gap:0.5rem;
  padding:0.375rem 1rem;
  font-size:var(--font-sizes-label);font-weight:500;
  letter-spacing:0.08em;text-transform:uppercase;
  color:var(--colors-accent-400);
  background:rgba(24,119,242,0.08);
  border:1px solid rgba(24,119,242,0.18);
  border-radius:var(--radii-pill);margin-bottom:2rem;
}
.hero__badge-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--colors-accent-400);
  animation:pulse-dot 2s ease-in-out infinite;
}
@keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:0.4}}
.hero__h1{
  font-family:var(--fonts-heading);
  font-size:var(--font-sizes-display-xl);
  font-weight:600;
  line-height:1.05;letter-spacing:-0.03em;
  color:var(--colors-brand-50);max-width:14ch;margin:0 0 1.5rem;
}
.hero__h1 em{font-style:italic;color:var(--colors-accent-400)}
.hero__sub{
  font-size:clamp(var(--font-sizes-body-md),1.8vw,var(--font-sizes-body-lg));
  line-height:1.7;color:var(--colors-brand-300);
  max-width:540px;margin:0 0 2.5rem;
}
.hero__actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.btn-primary{
  display:inline-flex;align-items:center;justify-content:center;
  gap:0.5rem;padding:1.125rem 2.25rem;
  font-family:var(--fonts-body);
  font-size:var(--font-sizes-body-md);font-weight:600;line-height:1;
  color:var(--colors-brand-950);background:var(--colors-accent-400);
  border-radius:var(--radii-btn);border:none;cursor:pointer;
  text-decoration:none;
  transition:all 0.25s cubic-bezier(0.4,0,0.2,1);
}
.btn-primary:hover{
  background:var(--colors-accent-300);
  transform:translateY(-2px);
  box-shadow:0 12px 40px rgba(24,119,242,0.35);
}
.btn-primary svg{transition:transform 0.25s}
.btn-primary:hover svg{transform:translateX(3px)}
.btn-secondary{
  display:inline-flex;align-items:center;justify-content:center;
  gap:0.5rem;padding:1.125rem 2.25rem;
  font-family:var(--fonts-body);
  font-size:var(--font-sizes-body-md);font-weight:600;line-height:1;
  color:var(--colors-brand-100);background:transparent;
  border-radius:var(--radii-btn);
  border:1px solid var(--colors-brand-600);
  cursor:pointer;text-decoration:none;transition:all 0.25s;
}
.btn-secondary:hover{
  border-color:var(--colors-accent-400);
  color:var(--colors-accent-400);
  transform:translateY(-2px);
}
.hero__proof-row{
  display:flex;align-items:center;gap:1.5rem;margin-top:2.5rem;
}
.hero__proof-item{display:flex;align-items:baseline;gap:0.375rem}
.hero__proof-num{
  font-family:var(--fonts-heading);font-size:1.5rem;font-weight:700;
  color:var(--colors-brand-50);
}
.hero__proof-label{
  font-size:var(--font-sizes-body-sm);color:var(--colors-brand-400);
}
.hero__proof-divider{
  width:1px;height:1.5rem;background:var(--colors-brand-700);
}
.hero__visual{position:relative;min-height:400px}
.hero__visual-stack{position:relative;width:100%;height:100%}
.hero__visual-main{
  width:100%;height:auto;border-radius:1rem;
  box-shadow:0 24px 64px rgba(0,0,0,0.08);
  object-fit:cover;
}
.hero__float{
  position:absolute;
  background:rgba(255,255,255,0.95);
  backdrop-filter:blur(12px);
  border-radius:0.75rem;
  box-shadow:0 8px 32px rgba(0,0,0,0.1);
  padding:0.875rem 1rem;
  animation:float-in 0.8s ease-out both;
}
.hero__float--1{
  top:-1rem;right:-0.5rem;min-width:140px;
  animation-delay:0.3s;
}
.hero__float-num{
  font-family:var(--fonts-heading);font-size:1.5rem;font-weight:700;
  color:var(--colors-brand-50);line-height:1;
}
.hero__float-label{
  font-size:var(--font-sizes-body-xs);color:var(--colors-brand-400);
  margin-top:0.125rem;
}
.hero__float-bar{
  width:100%;height:4px;background:var(--colors-brand-800);
  border-radius:2px;margin-top:0.5rem;overflow:hidden;
}
.hero__float-bar-fill{
  width:78%;height:100%;
  background:linear-gradient(90deg,var(--colors-accent-400),var(--colors-accent-300));
  border-radius:2px;
}
.hero__float--2{
  bottom:3rem;left:-1rem;
  display:flex;align-items:center;gap:0.5rem;
  font-size:var(--font-sizes-body-sm);font-weight:500;
  color:var(--colors-brand-200);
  animation-delay:0.5s;
}
.hero__float--3{
  bottom:-0.5rem;right:2rem;
  display:flex;align-items:center;gap:0.5rem;
  font-size:var(--font-sizes-body-xs);font-weight:500;
  color:var(--colors-brand-300);
  animation-delay:0.7s;
}
@keyframes float-in{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:translateY(0)}
}
@media(max-width:900px){
  .hero__visual{min-height:auto}
  .hero__float--1{top:-0.5rem;right:0.5rem}
  .hero__float--2{left:0;bottom:2rem}
  .hero__float--3{right:0.5rem;bottom:-0.25rem}
}
@media(max-width:767px){
  .hero__proof-row{flex-wrap:wrap;gap:1rem}
  .hero__blob--1{right:-30%;top:-5%}
  .hero__blob--2{left:-25%;bottom:-3%}
}

/* ── Sections shared ── */
.section{padding:var(--spacing-section) 0}
.section--alt{
  background:var(--colors-brand-900);
  position:relative;
}
.section--alt::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(24,119,242,0.15),transparent);
}
.section--alt::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(24,119,242,0.15),transparent);
}
.section__inner{
  max-width:1200px;margin:0 auto;
  padding:0 clamp(1.25rem,4vw,2.5rem);
}
.section__narrow{
  max-width:900px;margin:0 auto;
  padding:0 clamp(1.25rem,4vw,2.5rem);
}
.section__badge{
  display:inline-flex;align-items:center;gap:0.375rem;
  padding:0.375rem 0.875rem;
  font-size:var(--font-sizes-label);font-weight:500;
  letter-spacing:0.08em;text-transform:uppercase;
  color:var(--colors-accent-400);
  background:rgba(24,119,242,0.08);
  border:1px solid rgba(24,119,242,0.18);
  border-radius:var(--radii-pill);margin-bottom:1.5rem;
}
.section__title{
  font-family:var(--fonts-heading);
  font-size:var(--font-sizes-display-lg);
  font-weight:600;
  line-height:1.1;letter-spacing:-0.02em;
  color:var(--colors-brand-50);margin:0 0 1rem;
}
.section__subtitle{
  font-size:clamp(var(--font-sizes-body-md),1.8vw,var(--font-sizes-body-lg));
  line-height:1.7;color:var(--colors-brand-300);
  max-width:600px;margin:0 0 3rem;
}
.section__subtitle--center{text-align:center;margin-inline:auto}
.section__header--center{text-align:center}
.section__header--center .section__badge{margin-inline:auto}

/* ── Trust bar ── */
.trust-bar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:clamp(2rem,5vw,4rem);padding:3rem 0;
  border-bottom:1px solid rgba(212,212,218,0.5);
}
.trust-bar__item{
  display:flex;flex-direction:column;align-items:center;
  gap:0.25rem;opacity:0.8;transition:opacity 0.3s;
}
.trust-bar__item:hover{opacity:1}
.trust-bar__icon{font-size:1.5rem;filter:grayscale(1)}
.trust-bar__text{
  font-size:var(--font-sizes-body-xs);
  color:var(--colors-brand-400);font-weight:500;letter-spacing:0.03em;
}
.trust-bar__number{
  font-family:var(--fonts-heading);
  font-size:1.75rem;color:var(--colors-brand-200);
}
.trust-bar__badge{
  display:flex;align-items:center;gap:0.375rem;
  padding:0.375rem 0.875rem;
  font-size:var(--font-sizes-body-xs);font-weight:600;
  color:var(--colors-brand-300);
  background:rgba(24,119,242,0.04);
  border:1px solid rgba(24,119,242,0.12);
  border-radius:var(--radii-pill);
}
.trust-clients{
  display:flex;align-items:center;justify-content:center;
  gap:1rem;padding-top:1.5rem;
}
.trust-clients__label{
  font-size:var(--font-sizes-body-xs);color:var(--colors-brand-500);
  font-weight:500;text-transform:uppercase;letter-spacing:0.08em;
}
.trust-clients__logos{
  display:flex;align-items:center;gap:1rem;
}
.trust-clients__logo{
  font-family:var(--fonts-heading);font-size:var(--font-sizes-body-sm);
  font-weight:600;color:var(--colors-brand-300);
  opacity:0.7;transition:opacity 0.3s;
}
.trust-clients__logo:hover{opacity:1}
.trust-clients__dot{
  width:4px;height:4px;border-radius:50%;
  background:var(--colors-brand-600);
}

/* ── Pain section ── */
.pain-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:768px){.pain-grid{grid-template-columns:repeat(2,1fr);gap:2rem}}
.pain-card{
  background:var(--colors-brand-850);
  border:1px solid var(--colors-brand-700);
  border-radius:var(--radii-card);
  padding:clamp(1.5rem,3vw,2rem);transition:all 0.3s;
}
.pain-card:hover{
  border-color:var(--colors-brand-600);
  transform:translateY(-2px);
  box-shadow:0 12px 40px rgba(0,0,0,0.08);
}
.pain-card__icon{
  width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(24,119,242,0.06);
  border-radius:0.75rem;margin-bottom:1rem;
}
.pain-card--highlight .pain-card__icon{
  background:rgba(239,68,68,0.08);
}
.pain-card__title{
  font-family:var(--fonts-body);font-size:1.125rem;font-weight:600;
  color:var(--colors-brand-50);margin:0 0 0.625rem;
}
.pain-card__text{
  font-size:var(--font-sizes-body-sm);line-height:1.7;
  color:var(--colors-brand-300);margin:0;
}
.pain-card--highlight{
  border-color:rgba(239,68,68,0.3);
  background:linear-gradient(180deg,rgba(239,68,68,0.04) 0%,rgba(239,68,68,0.01) 100%);
}
.pain-card--highlight:hover{
  border-color:rgba(239,68,68,0.45);
  box-shadow:0 12px 40px rgba(239,68,68,0.06);
}

/* ── Benefits / solution ── */
.benefits-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:768px){.benefits-grid{grid-template-columns:repeat(2,1fr);gap:2rem}}
@media(min-width:1024px){.benefits-grid{grid-template-columns:repeat(3,1fr)}}
.benefit-card{
  background:var(--colors-brand-850);
  border:1px solid var(--colors-brand-700);
  border-radius:var(--radii-card);
  padding:clamp(1.5rem,3vw,2.5rem);transition:all 0.3s;
}
.benefit-card:hover{
  border-color:rgba(24,119,242,0.25);
  transform:translateY(-4px);
  box-shadow:0 16px 48px rgba(24,119,242,0.06);
}
.benefit-card__icon-wrap{
  width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(24,119,242,0.06);
  border:1px solid rgba(24,119,242,0.12);
  border-radius:0.75rem;margin-bottom:1.25rem;
  transition:all 0.3s;
}
.benefit-card:hover .benefit-card__icon-wrap{
  background:rgba(24,119,242,0.1);
  border-color:rgba(24,119,242,0.25);
  transform:scale(1.05);
}
.benefit-card__num{
  font-family:var(--fonts-heading);
  font-size:2.75rem;line-height:1;
  color:rgba(24,119,242,0.2);margin-bottom:1rem;
}
.benefit-card__title{
  font-family:var(--fonts-body);font-size:1.125rem;font-weight:600;
  color:var(--colors-brand-50);margin:0 0 0.625rem;
}
.benefit-card__text{
  font-size:var(--font-sizes-body-sm);line-height:1.7;
  color:var(--colors-brand-300);margin:0;
}

/* ── Social proof / case studies ── */
.case-featured{
  display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;
  align-items:center;margin-bottom:2rem;
}
.case-featured__visual{position:relative}
.case-featured__img{
  width:100%;height:auto;border-radius:1rem;
  object-fit:cover;
  box-shadow:0 16px 48px rgba(0,0,0,0.08);
}
.case-featured__float{
  position:absolute;bottom:-1rem;right:-0.5rem;
  background:rgba(255,255,255,0.95);backdrop-filter:blur(12px);
  border-radius:0.75rem;padding:1rem 1.25rem;
  box-shadow:0 8px 32px rgba(0,0,0,0.1);
  animation:float-in 0.8s ease-out 0.4s both;
}
.case-featured__float-metric{
  font-family:var(--fonts-heading);font-size:2rem;font-weight:700;
  color:var(--colors-accent-400);line-height:1;
}
.case-featured__float-label{
  font-size:var(--font-sizes-body-xs);color:var(--colors-brand-400);
  margin-top:0.125rem;
}
.case-featured__tag{
  display:inline-block;padding:0.25rem 0.75rem;
  font-size:var(--font-sizes-label);font-weight:600;
  letter-spacing:0.05em;text-transform:uppercase;
  color:var(--colors-accent-400);
  background:rgba(24,119,242,0.06);
  border-radius:var(--radii-pill);margin-bottom:1rem;
}
.case-featured__title{
  font-family:var(--fonts-heading);
  font-size:var(--font-sizes-display-sm);font-weight:600;
  line-height:1.2;color:var(--colors-brand-50);
  margin:0 0 1rem;
}
.case-featured__text{
  font-size:var(--font-sizes-body-sm);line-height:1.7;
  color:var(--colors-brand-300);margin:0 0 1.5rem;
}
@media(max-width:768px){
  .case-featured{grid-template-columns:1fr;gap:1.5rem}
}
.case-card__badge-row{
  display:flex;align-items:center;gap:0.375rem;margin-bottom:1rem;
}
.case-card__badge-text{
  font-size:var(--font-sizes-body-xs);font-weight:500;
  color:var(--colors-brand-400);
}
.cases-grid{display:grid;grid-template-columns:1fr;gap:2rem}
.cases-grid--two{}
@media(min-width:768px){.cases-grid{grid-template-columns:repeat(2,1fr)}}
.case-card{
  background:var(--colors-brand-850);
  border:1px solid var(--colors-brand-700);
  border-radius:var(--radii-card);
  padding:clamp(2rem,3vw,2.5rem);
  display:flex;flex-direction:column;gap:1.5rem;transition:all 0.3s;
}
.case-card:hover{
  border-color:rgba(24,119,242,0.25);
  transform:translateY(-4px);
  box-shadow:0 16px 48px rgba(24,119,242,0.06);
}
.case-card__metric{
  font-family:var(--fonts-heading);
  font-size:clamp(2.25rem,4vw,3.25rem);
  line-height:1;
  background:linear-gradient(135deg,var(--colors-accent-400),var(--colors-accent-200));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.case-card__metric-label{
  font-size:var(--font-sizes-body-sm);
  color:var(--colors-brand-400);margin-top:0.25rem;
}
.case-card__quote{
  font-size:var(--font-sizes-body-md);line-height:1.7;
  color:var(--colors-brand-200);font-style:italic;
  border-left:3px solid rgba(24,119,242,0.3);
  padding-left:1.25rem;margin:0;
}
.case-card__proof{
  width:100%;height:auto;border-radius:0.5rem;
  border:1px solid var(--colors-brand-700);
  margin-bottom:0.75rem;
}
.case-card__desc{
  font-size:var(--font-sizes-body-sm);line-height:1.7;
  color:var(--colors-brand-300);margin:0;
}
.case-card__avatar--brand{
  background:linear-gradient(135deg,var(--colors-accent-400),var(--colors-accent-600));
  color:var(--colors-brand-950);
  font-family:var(--fonts-heading);font-weight:600;font-size:1rem;
}
.case-card__author{
  display:flex;align-items:center;gap:0.75rem;margin-top:auto;
}
.case-card__avatar{
  width:44px;height:44px;border-radius:50%;
  object-fit:cover;
  background:linear-gradient(135deg,var(--colors-brand-700),var(--colors-brand-600));
  display:flex;align-items:center;justify-content:center;
  font-family:var(--fonts-heading);
  font-size:1rem;color:var(--colors-accent-400);
}
.case-card__name{
  font-size:var(--font-sizes-body-sm);font-weight:600;color:var(--colors-brand-50);
}
.case-card__role{
  font-size:var(--font-sizes-body-xs);color:var(--colors-brand-400);
}

/* ── Process / How it works ── */
.process-steps{
  display:grid;grid-template-columns:1fr;gap:2rem;
  counter-reset:process-step;
}
@media(min-width:768px){.process-steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){
  .process-steps{grid-template-columns:repeat(4,1fr);position:relative}
  .process-steps::before{
    content:'';position:absolute;
    top:3.5rem;left:calc(12.5% + 1rem);right:calc(12.5% + 1rem);
    height:2px;
    background:linear-gradient(90deg,var(--colors-brand-700),rgba(24,119,242,0.3),var(--colors-brand-700));
    z-index:0;
  }
  .process-step{position:relative;z-index:1}
}
.process-step{
  position:relative;
  background:var(--colors-brand-850);
  border:1px solid var(--colors-brand-700);
  border-radius:var(--radii-card);
  padding:clamp(1.5rem,3vw,2rem);
  counter-increment:process-step;transition:all 0.3s;
}
.process-step:hover{
  border-color:rgba(24,119,242,0.3);
  transform:translateY(-3px);
  box-shadow:0 12px 40px rgba(24,119,242,0.06);
}
.process-step__icon-wrap{
  width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(24,119,242,0.08),rgba(24,119,242,0.02));
  border:1px solid rgba(24,119,242,0.12);
  border-radius:0.75rem;margin-bottom:1rem;
}
.process-step__num{
  font-family:var(--fonts-heading);
  font-size:2.5rem;line-height:1;
  color:rgba(24,119,242,0.12);margin-bottom:0.75rem;
}
.process-step__num::before{content:counter(process-step,decimal-leading-zero)}
.process-step__title{
  font-size:1.125rem;font-weight:600;color:var(--colors-brand-50);margin:0 0 0.625rem;
}
.process-step__text{
  font-size:var(--font-sizes-body-sm);line-height:1.7;
  color:var(--colors-brand-300);margin:0;
}

/* ── Pricing / offer ── */
.pricing-grid{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:768px){.pricing-grid{grid-template-columns:repeat(3,1fr)}}
.pricing-card{
  background:var(--colors-brand-850);
  border:1px solid var(--colors-brand-700);
  border-radius:var(--radii-card);
  padding:clamp(2rem,3vw,2.5rem);
  display:flex;flex-direction:column;transition:all 0.3s;
}
.pricing-card:hover{
  border-color:var(--colors-brand-600);
  transform:translateY(-2px);
}
.pricing-card--featured{
  border-color:rgba(24,119,242,0.4);
  background:linear-gradient(180deg,rgba(24,119,242,0.06) 0%,var(--colors-brand-850) 50%);
  position:relative;
  transform:scale(1.03);
}
.pricing-card--featured:hover{
  border-color:rgba(24,119,242,0.6);
  box-shadow:0 20px 60px rgba(24,119,242,0.12);
  transform:scale(1.03) translateY(-3px);
}
.pricing-card__popular{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  padding:0.25rem 1rem;
  font-size:var(--font-sizes-label);font-weight:600;
  letter-spacing:0.05em;text-transform:uppercase;
  color:var(--colors-brand-950);
  background:var(--colors-accent-400);
  border-radius:var(--radii-pill);
}
.pricing-card__name{
  font-size:var(--font-sizes-body-xs);font-weight:500;
  letter-spacing:0.08em;text-transform:uppercase;
  color:var(--colors-brand-400);margin:0 0 0.5rem;
}
.pricing-card__price{
  font-family:var(--fonts-heading);
  font-size:clamp(2rem,3vw,2.75rem);
  color:var(--colors-brand-50);margin:0 0 0.25rem;
}
.pricing-card__price span{
  font-family:var(--fonts-body);
  font-size:var(--font-sizes-body-sm);
  color:var(--colors-brand-400);font-weight:400;
}
.pricing-card__desc{
  font-size:var(--font-sizes-body-sm);
  color:var(--colors-brand-300);margin:0 0 1.5rem;line-height:1.6;
}
.pricing-card__features{
  list-style:none;padding:0;margin:0 0 2rem;
  display:flex;flex-direction:column;gap:0.75rem;
}
.pricing-card__features li{
  font-size:var(--font-sizes-body-sm);
  color:var(--colors-brand-200);padding-left:1.5rem;position:relative;
}
.pricing-card__features li::before{
  content:'';position:absolute;left:0;top:0.5rem;
  width:8px;height:8px;border-radius:50%;
  background:rgba(24,119,242,0.5);
}
.pricing-card__cta{margin-top:auto}

/* ── FAQ ── */
.faq-list{max-width:800px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--colors-brand-700);padding:1.5rem 0}
.faq-item:first-child{border-top:1px solid var(--colors-brand-700)}
.faq-q{
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;width:100%;background:none;border:none;padding:0;
  cursor:pointer;text-align:left;
  font-family:var(--fonts-body);font-size:1.125rem;font-weight:600;
  color:var(--colors-brand-50);transition:color 0.2s;
}
.faq-q:hover{color:var(--colors-accent-400)}
.faq-q__icon{
  flex-shrink:0;width:24px;height:24px;position:relative;
  color:var(--colors-brand-400);
  transition:transform 0.3s,color 0.3s;
}
.faq-q__icon::before,.faq-q__icon::after{
  content:'';position:absolute;top:50%;left:50%;
  background:currentColor;border-radius:1px;
}
.faq-q__icon::before{width:14px;height:2px;transform:translate(-50%,-50%)}
.faq-q__icon::after{
  width:2px;height:14px;transform:translate(-50%,-50%);
  transition:transform 0.3s;
}
.faq-item--open .faq-q__icon::after{transform:translate(-50%,-50%) scaleY(0)}
.faq-item--open .faq-q__icon{color:var(--colors-accent-400)}
.faq-a{max-height:0;overflow:hidden;transition:max-height 0.4s ease-out}
.faq-a__inner{
  padding-top:1rem;
  font-size:var(--font-sizes-body-md);line-height:1.7;
  color:var(--colors-brand-300);
}
.faq-item--open .faq-a{max-height:600px}

/* ── Final CTA ── */
.final-cta{text-align:center;position:relative;overflow:hidden}
.final-cta::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 40% at 50% 60%,rgba(24,119,242,0.06) 0%,transparent 70%);
}
.final-cta__blob{
  position:absolute;z-index:0;
  animation:blob-float 25s ease-in-out infinite;
}
.final-cta__blob--1{
  width:clamp(200px,35vw,400px);top:-10%;left:-5%;
  animation-delay:-5s;
}
.final-cta__blob--2{
  width:clamp(180px,30vw,350px);bottom:-10%;right:-3%;
  animation-delay:-15s;
}
.final-cta__inner{position:relative;z-index:1}
.final-cta__split{
  display:grid;grid-template-columns:auto 1fr;gap:4rem;
  align-items:start;text-align:left;
}
.final-cta__personal{
  display:flex;flex-direction:column;gap:1.5rem;
  position:sticky;top:6rem;
}
.final-cta__photo-wrap{position:relative;width:fit-content}
.final-cta__photo{
  width:240px;height:300px;object-fit:cover;
  border-radius:1rem;
  box-shadow:0 16px 48px rgba(0,0,0,0.08);
}
.final-cta__photo-badge{
  position:absolute;bottom:-0.75rem;left:50%;transform:translateX(-50%);
  display:flex;align-items:center;gap:0.375rem;
  white-space:nowrap;
  padding:0.5rem 0.875rem;
  background:rgba(255,255,255,0.95);backdrop-filter:blur(8px);
  border-radius:var(--radii-pill);
  box-shadow:0 4px 16px rgba(0,0,0,0.08);
  font-size:var(--font-sizes-body-xs);font-weight:500;
  color:var(--colors-brand-200);
}
.final-cta__greeting{
  font-family:var(--fonts-heading);
  font-size:var(--font-sizes-display-sm);font-weight:600;
  color:var(--colors-brand-50);
}
.final-cta__bio{
  font-size:var(--font-sizes-body-sm);line-height:1.7;
  color:var(--colors-brand-300);margin:0.5rem 0 0;max-width:260px;
}
.final-cta__form-side{max-width:480px}
.final-cta__form-side .section__subtitle{max-width:100%}
@media(max-width:900px){
  .final-cta__split{grid-template-columns:1fr;gap:2.5rem;text-align:center}
  .final-cta__personal{
    position:static;flex-direction:row;align-items:center;
    justify-content:center;gap:1.5rem;
  }
  .final-cta__photo{width:120px;height:150px}
  .final-cta__bio{max-width:100%}
  .final-cta__form-side{margin:0 auto}
}

/* ── Contact form styles ── */
.contact-form{max-width:480px;margin:2.5rem auto 0}
.contact-form__step{display:none}
.contact-form__step--active{display:block}
.contact-form__step-label{
  font-size:var(--font-sizes-label);font-weight:500;
  letter-spacing:0.08em;text-transform:uppercase;
  color:var(--colors-accent-400);margin:0 0 1.5rem;
}
.contact-form__label{
  display:block;font-size:1.125rem;font-weight:600;
  color:var(--colors-brand-50);margin:0 0 1.25rem;
}
.contact-form__options{
  display:flex;flex-direction:column;gap:0.75rem;margin-bottom:1.5rem;
}
.contact-form__option{
  display:flex;align-items:center;gap:0.75rem;
  padding:0.875rem 1rem;
  background:var(--colors-brand-800);
  border:1px solid var(--colors-brand-700);
  border-radius:var(--radii-btn);cursor:pointer;
  transition:all 0.2s;
  font-size:var(--font-sizes-body-sm);color:var(--colors-brand-200);
}
.contact-form__option:hover{border-color:var(--colors-brand-600)}
.contact-form__option input{accent-color:var(--colors-accent-400)}
.contact-form__option input:checked+span{color:var(--colors-brand-50)}
.contact-form__option:has(input:checked){
  border-color:rgba(24,119,242,0.4);
  background:rgba(24,119,242,0.06);
}
.contact-form__input{
  width:100%;padding:0.875rem 1rem;
  font-family:var(--fonts-body);font-size:1rem;
  color:var(--colors-brand-50);background:var(--colors-brand-800);
  border:1px solid var(--colors-brand-700);
  border-radius:var(--radii-btn);
  outline:none;transition:border-color 0.2s;margin-bottom:0.75rem;
}
.contact-form__input:focus{
  border-color:var(--colors-accent-400);
  box-shadow:0 0 0 3px rgba(24,119,242,0.12);
}
.contact-form__input::placeholder{color:var(--colors-brand-500)}
.contact-form__next,.contact-form__submit{
  display:block;width:100%;padding:1rem;
  font-family:var(--fonts-body);
  font-size:var(--font-sizes-body-md);font-weight:600;
  color:var(--colors-brand-950);background:var(--colors-accent-400);
  border:none;border-radius:var(--radii-btn);
  cursor:pointer;transition:all 0.25s;
}
.contact-form__next:hover,.contact-form__submit:hover{
  background:var(--colors-accent-300);
  transform:translateY(-1px);
  box-shadow:0 6px 24px rgba(24,119,242,0.3);
}
.contact-form__back{
  padding:1rem;font-family:var(--fonts-body);
  font-size:1rem;font-weight:500;
  color:var(--colors-brand-400);
  background:none;border:1px solid var(--colors-brand-700);
  border-radius:var(--radii-btn);cursor:pointer;
  transition:all 0.2s;flex:1;
}
.contact-form__back:hover{
  border-color:var(--colors-brand-600);
  color:var(--colors-brand-200);
}
.contact-form__nav-row{display:flex;gap:0.75rem}
.contact-form__nav-row .contact-form__next{flex:2}
.contact-form__disclaimer{
  text-align:center;font-size:var(--font-sizes-body-xs);
  color:var(--colors-brand-500);margin:1rem 0 0;
}
.trust-badges{
  display:flex;flex-wrap:wrap;gap:0.75rem 1.25rem;
  margin-top:1.5rem;
}
.trust-badges__item{
  display:flex;align-items:center;gap:0.375rem;
  font-size:var(--font-sizes-body-xs);font-weight:500;
  color:var(--colors-brand-400);
}

/* ── Sticky CTA (mobile) ── */

/* ── Footer ── */
.footer{
  background:var(--colors-paper-deep);
  border-top:1px solid var(--colors-ink-line);
  padding:clamp(3rem,6vw,5rem) 0 2rem;
  color:var(--colors-ink);
}
.footer__inner{
  max-width:1200px;margin:0 auto;
  padding:0 clamp(1.25rem,4vw,2.5rem);
}
.footer__top{display:grid;grid-template-columns:1fr;gap:3rem}
@media(min-width:768px){.footer__top{grid-template-columns:1fr 2fr;gap:4rem}}
.footer__tagline{
  font-size:var(--font-sizes-body-sm);color:var(--colors-ink-muted);
  line-height:1.7;margin:1rem 0 0;max-width:280px;
}
.footer__columns{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
@media(min-width:768px){.footer__columns{grid-template-columns:repeat(3,1fr)}}
.footer__col-title{
  font-size:var(--font-sizes-caption);font-weight:500;
  letter-spacing:0.08em;text-transform:uppercase;
  color:var(--colors-ink-muted);margin:0 0 1rem;
  font-family:var(--fonts-body);
}
.footer__col-links{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:0.625rem;
}
.footer__col-links a{
  color:var(--colors-ink);text-decoration:none;
  font-size:var(--font-sizes-body-sm);transition:color 120ms ease;
}
.footer__col-links a:hover{color:var(--colors-forest-700);text-decoration:underline}
.footer__address{
  font-style:normal;font-size:var(--font-sizes-body-sm);
  color:var(--colors-ink);line-height:1.7;
  font-family:var(--fonts-mono);
}
.footer__address a{color:var(--colors-ink);text-decoration:none}
.footer__address a:hover{color:var(--colors-forest-700);text-decoration:underline}
.footer__divider{
  border:none;height:1px;
  background:var(--colors-ink-line);margin:2.5rem 0 1.5rem;
}
.footer__bottom{
  display:flex;flex-wrap:wrap;align-items:center;
  justify-content:space-between;gap:1rem;
}
.footer__copy{
  font-size:var(--font-sizes-caption);
  color:var(--colors-ink-muted);margin:0;
  font-family:var(--fonts-mono);
}
.footer__legal{display:flex;gap:1.5rem}
.footer__legal a{
  font-size:var(--font-sizes-caption);
  color:var(--colors-ink-muted);text-decoration:none;
  transition:color 120ms ease;
}
.footer__legal a:hover{color:var(--colors-forest-700)}

/* ── Scroll animations ── */
.reveal{
  opacity:0;transform:translateY(24px);
  transition:opacity 0.7s ease-out,transform 0.7s ease-out;
}
.reveal--visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:0.1s}
.reveal-delay-2{transition-delay:0.2s}
.reveal-delay-3{transition-delay:0.3s}
.reveal-delay-4{transition-delay:0.4s}

/* ── Legal page content ── */
.legal{
  max-width:800px;margin:0 auto;
  padding:8rem clamp(1.25rem,4vw,2.5rem) clamp(4rem,8vw,6rem);
}
.legal__back{
  display:inline-flex;align-items:center;gap:0.5rem;
  color:var(--colors-brand-400);text-decoration:none;
  font-size:var(--font-sizes-body-sm);margin-bottom:2rem;
  transition:color 0.2s;
}
.legal__back:hover{color:var(--colors-accent-400)}
.legal__title{
  font-family:var(--fonts-heading);
  font-size:clamp(2.25rem,4.5vw,3.5rem);
  line-height:1.1;letter-spacing:-0.02em;
  color:var(--colors-brand-50);margin:0 0 0.75rem;
}
.legal__updated{
  font-size:0.875rem;color:var(--colors-brand-500);margin:0 0 3rem;
}
.legal h2{
  font-family:var(--fonts-body);font-size:1.25rem;font-weight:600;
  color:var(--colors-brand-50);margin:2.5rem 0 1rem;
  padding-top:1.5rem;border-top:1px solid var(--colors-brand-700);
}
.legal h2:first-of-type{border-top:none;padding-top:0}
.legal p{
  font-size:var(--font-sizes-body-md);line-height:1.8;
  color:var(--colors-brand-300);margin:0 0 1rem;
}
.legal ul,.legal ol{padding-left:1.5rem;margin:0 0 1rem}
.legal li{
  font-size:var(--font-sizes-body-md);line-height:1.8;
  color:var(--colors-brand-300);margin-bottom:0.5rem;
}
.legal a{
  color:var(--colors-accent-400);text-decoration:underline;
  text-underline-offset:2px;
}
.legal a:hover{color:var(--colors-accent-300)}
.legal strong{color:var(--colors-brand-200)}

/* ── Legal page header (always scrolled) ���─ */
.header--legal{
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(212,212,218,0.5);
}

/* ── Utility classes (replacing inline style= attributes) ── */
.text-center{text-align:center}
.mt-section-cta{margin-top:3rem}
.pricing-note{
  text-align:center;color:var(--colors-brand-400);
  font-size:var(--font-sizes-body-sm);margin-top:2rem;
}
.pricing-note__link{
  color:var(--colors-accent-400);text-decoration:underline;
}
.em-accent{
  font-family:var(--fonts-heading);
  font-style:italic;color:var(--colors-accent-400);
}

/* ── Micro-interactions ── */
@keyframes icon-pulse{
  0%{box-shadow:0 0 0 0 rgba(24,119,242,0.2)}
  70%{box-shadow:0 0 0 8px rgba(24,119,242,0)}
  100%{box-shadow:0 0 0 0 rgba(24,119,242,0)}
}
.benefit-card:hover .benefit-card__icon-wrap,
.process-step:hover .process-step__icon-wrap{
  animation:icon-pulse 0.8s ease-out;
}
.pain-card{transition:all 0.35s cubic-bezier(0.4,0,0.2,1)}
.benefit-card{transition:all 0.35s cubic-bezier(0.4,0,0.2,1)}
.case-card{transition:all 0.35s cubic-bezier(0.4,0,0.2,1)}
.pricing-card{transition:all 0.35s cubic-bezier(0.4,0,0.2,1)}

/* ── Gradient accent line under hero badge ── */
.hero__badge::after{
  content:'';position:absolute;bottom:-2px;left:1rem;right:1rem;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--colors-accent-400),transparent);
  opacity:0.4;border-radius:1px;
}
.hero__badge{position:relative}

/* ── Animated gradient on section badges ── */
@keyframes badge-shimmer{
  0%{background-position:-100% 0}
  100%{background-position:200% 0}
}
.section__badge{
  background:linear-gradient(90deg,rgba(24,119,242,0.08),rgba(24,119,242,0.14),rgba(24,119,242,0.08));
  background-size:200% 100%;
  animation:badge-shimmer 3s ease-in-out infinite;
}

/* ── Inner page hero ── */
.page-hero{
  padding:10rem 0 4rem;
  position:relative;overflow:hidden;
}
.page-hero__inner{
  max-width:800px;margin:0 auto;
  padding:0 clamp(1.25rem,4vw,2.5rem);
  text-align:center;
}
.page-hero__title{
  font-family:var(--fonts-heading);
  font-size:var(--font-sizes-display-lg);font-weight:600;
  line-height:1.1;letter-spacing:-0.02em;
  color:var(--colors-brand-50);margin:0 0 1rem;
}
.page-hero__sub{
  font-size:clamp(var(--font-sizes-body-md),1.8vw,var(--font-sizes-body-lg));
  line-height:1.7;color:var(--colors-brand-300);
  max-width:600px;margin:0 auto 2rem;
}
.page-hero__actions{
  display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;
}

/* ── Two-column content + sidebar ── */
.page-content{
  display:grid;grid-template-columns:1fr;gap:3rem;
  max-width:1200px;margin:0 auto;
  padding:0 clamp(1.25rem,4vw,2.5rem);
}
@media(min-width:1024px){
  .page-content{grid-template-columns:2fr 1fr}
}
.page-sidebar{position:sticky;top:6rem;align-self:start}
.sidebar-card{
  background:var(--colors-brand-850);
  border:1px solid var(--colors-brand-700);
  border-radius:var(--radii-card);
  padding:1.5rem;margin-bottom:1.5rem;
}
.sidebar-card__title{
  font-family:var(--fonts-heading);font-size:1.125rem;font-weight:600;
  color:var(--colors-brand-50);margin:0 0 1rem;
}

/* ── Feature list with checkmarks ── */
.check-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.75rem}
.check-list li{
  display:flex;align-items:flex-start;gap:0.625rem;
  font-size:var(--font-sizes-body-sm);line-height:1.6;
  color:var(--colors-brand-200);
}
.check-list li::before{
  content:'';flex-shrink:0;
  width:20px;height:20px;margin-top:2px;
  background:rgba(34,197,94,0.1);
  border-radius:50%;
  background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2322c55e' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;background-size:12px;
}

/* ── Content prose ── */
.prose{max-width:none}
.prose h2{
  font-family:var(--fonts-heading);
  font-size:var(--font-sizes-display-sm);font-weight:600;
  color:var(--colors-brand-50);margin:3rem 0 1rem;
  padding-top:2rem;border-top:1px solid var(--colors-brand-700);
}
.prose h2:first-child{border-top:none;padding-top:0;margin-top:0}
.prose h3{
  font-family:var(--fonts-body);font-size:1.125rem;font-weight:600;
  color:var(--colors-brand-50);margin:2rem 0 0.75rem;
}
.prose p{
  font-size:var(--font-sizes-body-md);line-height:1.8;
  color:var(--colors-brand-300);margin:0 0 1.25rem;
}
.prose ul,.prose ol{padding-left:1.5rem;margin:0 0 1.25rem}
.prose li{
  font-size:var(--font-sizes-body-md);line-height:1.8;
  color:var(--colors-brand-300);margin-bottom:0.5rem;
}
.prose strong{color:var(--colors-brand-200)}
.prose a:not(.btn-primary):not(.btn-secondary):not(.related-card){
  color:var(--colors-accent-700);
  text-decoration:underline;
  text-decoration-color:var(--colors-accent-200);
  text-underline-offset:3px;
  transition:color 0.2s,text-decoration-color 0.2s;
}
.prose a:not(.btn-primary):not(.btn-secondary):not(.related-card):hover{
  color:var(--colors-accent-500);
  text-decoration-color:var(--colors-accent-500);
}

/* ── Related services grid ── */
.related-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.25rem;
}
.related-card{
  display:block;text-decoration:none;
  background:var(--colors-brand-850);
  border:1px solid var(--colors-brand-700);
  border-radius:var(--radii-card);
  padding:1.5rem;transition:all 0.3s;
}
.related-card:hover{
  border-color:rgba(24,119,242,0.25);
  transform:translateY(-3px);
  box-shadow:0 12px 40px rgba(24,119,242,0.06);
}
.related-card__title{
  font-family:var(--fonts-body);font-size:1rem;font-weight:600;
  color:var(--colors-brand-50);margin:0 0 0.375rem;
}
.related-card__desc{
  font-size:var(--font-sizes-body-xs);
  color:var(--colors-brand-400);margin:0;line-height:1.5;
}
.sitemap-grid{
  display:grid;grid-template-columns:1fr;gap:2.5rem;
  padding:0 0 4rem;
}
@media(min-width:640px){.sitemap-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.sitemap-grid{grid-template-columns:repeat(3,1fr)}}
.sitemap-group__title{
  font-family:var(--fonts-heading);font-size:var(--font-sizes-body-lg);
  font-weight:600;color:var(--colors-brand-50);
  margin:0 0 0.75rem;padding-bottom:0.5rem;
  border-bottom:1px solid var(--colors-brand-700);
}
.sitemap-group__list{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:0.375rem;
}
.sitemap-group__list a{
  color:var(--colors-brand-300);text-decoration:none;
  font-size:var(--font-sizes-body-sm);
  transition:color 0.2s;
}
.sitemap-group__list a:hover{
  color:var(--colors-accent-400);
}

/* ── AI Visibility Check widget ── */
.ai-vis {
  background: var(--colors-white);
  border: 1px solid var(--colors-ink-line);
  border-radius: var(--radii-card);
  padding: clamp(1.5rem, 3vw, 2.5rem);
  box-shadow: 0 1px 2px rgba(26,23,20,0.06);
}
.ai-vis__heading { margin: 0 0 0.5rem; }
.ai-vis__sub { margin: 0 0 1.5rem; color: var(--colors-ink-muted); }
.ai-vis__field { display: block; margin: 0 0 1rem; }
.ai-vis__field .caption { display: block; margin-bottom: 0.375rem; }
.ai-vis__field input {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid var(--colors-ink-line);
  border-radius: var(--radii-btn);
  font: inherit;
  font-family: var(--fonts-body);
  color: var(--colors-ink);
  background: var(--colors-paper);
}
.ai-vis__field input:focus { border-color: var(--colors-forest-700); outline: none; }
.ai-vis__gate { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--colors-ink-line); }
.ai-vis__check { display: flex; align-items: flex-start; gap: 0.625rem; margin: 0 0 0.75rem; font-size: var(--font-sizes-body-sm); cursor: pointer; }
.ai-vis__check input[type="checkbox"] { margin-top: 0.25rem; accent-color: var(--colors-forest-700); }
.ai-vis__gate-note { margin: 0.75rem 0 0; }
.ai-vis__honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; }
.ai-vis__submit { width: 100%; justify-content: center; margin-top: 0.5rem; display: inline-flex; padding: 0.875rem 1.25rem; background: var(--colors-forest-700); color: var(--colors-paper); border: 0; border-radius: var(--radii-btn); font-family: var(--fonts-body); font-weight: 500; font-size: var(--font-sizes-body-md); cursor: pointer; transition: background-color 120ms ease; }
.ai-vis__submit:hover { background: var(--colors-forest-900); }
.ai-vis__foot { text-align: center; margin-top: 0.75rem; }
.ai-vis__remembered { text-align: center; margin: 0.75rem 0 0; color: var(--colors-ink-muted); font-size: 0.8125rem; }
.ai-vis__remembered-email { color: var(--colors-ink); font-weight: 500; }
.ai-vis__forget { background: none; border: 0; padding: 0; color: var(--colors-forest-700); font: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.ai-vis__forget:hover { color: var(--colors-forest-900); }

.ai-vis__loading { display: none; padding: 1.5rem 0; }
.ai-vis__loading-line { margin: 0 0 0.625rem; color: var(--colors-ink-muted); overflow: hidden; white-space: nowrap; width: 0; animation: ai-vis-type 1.6s steps(40) forwards; font-size: 0.9375rem; }
.ai-vis__loading-line[data-step="2"] { animation-delay: 1.6s; }
.ai-vis__loading-line[data-step="3"] { animation-delay: 3.2s; }
.ai-vis__loading-status { margin: 1rem 0 0.75rem; color: var(--colors-ink); font-size: 0.875rem; opacity: 0; animation: ai-vis-fadein 600ms 4.6s forwards; }
.ai-vis__loading-elapsed { color: var(--colors-forest-700); font-weight: 600; font-variant-numeric: tabular-nums; }
.ai-vis__progress { height: 2px; background: var(--colors-paper-alt); overflow: hidden; border-radius: 1px; margin: 0.5rem 0 0.75rem; opacity: 0; animation: ai-vis-fadein 600ms 4.6s forwards; }
.ai-vis__progress-bar { width: 35%; height: 100%; background: var(--colors-forest-700); border-radius: 1px; animation: ai-vis-progress 1.6s ease-in-out infinite; }
.ai-vis__loading-hint { margin: 0; color: var(--colors-ink-muted); font-size: 0.8125rem; opacity: 0; animation: ai-vis-fadein 600ms 4.6s forwards; line-height: 1.5; }
@keyframes ai-vis-type { to { width: 100%; } }
@keyframes ai-vis-fadein { to { opacity: 1; } }
@keyframes ai-vis-progress {
  0% { transform: translateX(-100%); }
  50% { transform: translateX(180%); }
  100% { transform: translateX(450%); }
}

.ai-vis__result { display: none; padding-top: 1rem; }
.ai-vis__result .display { font-size: 1.0625rem; font-weight: 600; letter-spacing: -0.01em; line-height: 1.3; margin: 1.5rem 0 0.75rem; }
.ai-vis__suggestions-heading { font-family: var(--fonts-display); font-size: 1.0625rem; font-weight: 600; letter-spacing: -0.01em; line-height: 1.3; margin: 1.5rem 0 0.75rem; color: var(--colors-ink); }
.ai-vis__score { font-family: var(--fonts-mono); font-size: 2.5rem; font-weight: 600; line-height: 1; font-variant-numeric: tabular-nums; margin: 0.25rem 0 1.25rem; color: var(--colors-ink); outline: none; }
.ai-vis__compare { padding-top: 0.5rem; }
.ai-vis__compare-row { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid var(--colors-ink-line); margin-bottom: 1rem; }
.ai-vis__compare-side { text-align: center; }
.ai-vis__compare-label { display: block; margin: 0 0 0.5rem; font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--colors-ink-muted); word-break: break-all; }
.ai-vis__compare-score { font-family: var(--fonts-mono); font-size: 2.5rem; font-weight: 600; line-height: 1; font-variant-numeric: tabular-nums; margin: 0.25rem 0 0.75rem; color: var(--colors-ink); }
.ai-vis__compare-score.ai-vis__score--good { color: var(--colors-sage-600); }
.ai-vis__compare-score.ai-vis__score--bad { color: var(--colors-rust-700); }
.ai-vis__compare-divider { font-family: var(--fonts-mono); font-size: 0.875rem; color: var(--colors-ink-muted); padding: 0 0.25rem; }
.ai-vis__checks--compact { gap: 0.25rem; font-size: 0.8125rem; text-align: left; }
.ai-vis__compare-verdict { font-size: 0.875rem; font-weight: 600; color: var(--colors-ink); margin: 0 0 1rem; }
.ai-vis__compare-verdict--win { color: var(--colors-sage-600); }
.ai-vis__compare-verdict--lose { color: var(--colors-rust-700); }
.ai-vis__compare-reason { font-size: 0.9375rem; }
.ai-vis__fanout { padding-top: 0.5rem; }
.ai-vis__fanout > .caption { display: block; margin-bottom: 0.75rem; }
.ai-vis__fanout-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 1.5rem; }
.ai-vis__engine { background: var(--colors-paper-alt); border: 1px solid var(--colors-ink-line); border-radius: var(--radii-card); padding: 1rem; display: flex; flex-direction: column; }
.ai-vis__engine-name { font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--colors-ink-muted); margin: 0 0 0.5rem; font-weight: 600; }
.ai-vis__engine-score { font-family: var(--fonts-mono); font-size: 1.875rem; font-weight: 600; line-height: 1; font-variant-numeric: tabular-nums; margin: 0 0 0.75rem; color: var(--colors-ink); }
.ai-vis__engine-score.ai-vis__score--good { color: var(--colors-sage-600); }
.ai-vis__engine-score.ai-vis__score--bad { color: var(--colors-rust-700); }
.ai-vis__engine-checks { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; gap: 0.25rem; }
.ai-vis__engine-checks .ai-vis__check-item { font-size: 0.75rem; }
.ai-vis__engine-snippet { font-family: var(--fonts-body); font-style: italic; font-size: 0.8125rem; color: var(--colors-ink-muted); line-height: 1.4; margin: 0; padding-left: 0.625rem; border-left: 2px solid var(--colors-forest-700); flex: 1; }
.ai-vis__engine-error { font-family: var(--fonts-mono); font-size: 0.75rem; color: var(--colors-rust-700); margin: 0; padding: 0.5rem 0; }
@media (max-width: 600px) {
  .ai-vis__fanout-grid { grid-template-columns: 1fr; }
}
.ai-vis__share { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--colors-ink-line); }
.ai-vis__share .caption { display: block; margin-bottom: 0.5rem; }
.ai-vis__share-row { display: flex; gap: 0.5rem; }
.ai-vis__share-url { flex: 1; padding: 0.625rem 0.75rem; border: 1px solid var(--colors-ink-line); border-radius: var(--radii-btn); font-family: var(--fonts-mono); font-size: 0.8125rem; background: var(--colors-paper); color: var(--colors-ink); min-width: 0; }
.ai-vis__share-copy { padding: 0.625rem 1rem; background: var(--colors-ink); color: var(--colors-paper); border: 0; border-radius: var(--radii-btn); font-family: var(--fonts-body); font-size: 0.875rem; font-weight: 500; cursor: pointer; flex-shrink: 0; transition: background-color 120ms ease; }
.ai-vis__share-copy:hover { background: var(--colors-forest-700); }
.ai-vis__score--good { color: var(--colors-sage-600); }
.ai-vis__score--bad { color: var(--colors-rust-700); }
.ai-vis__checks { list-style: none; margin: 0 0 1.25rem; padding: 0; display: grid; gap: 0.5rem; }
.ai-vis__check-item { font-family: var(--fonts-body); font-size: var(--font-sizes-body-sm); line-height: 1.5; }
.ai-vis__check-item--pass { color: var(--colors-sage-600); }
.ai-vis__check-item--fail { color: var(--colors-rust-700); }
.ai-vis__snippet { font-family: var(--fonts-body); font-style: italic; font-size: var(--font-sizes-body-md); font-weight: 400; line-height: 1.5; margin: 0 0 1.5rem; border-left: 3px solid var(--colors-forest-700); padding-left: 1rem; color: var(--colors-ink); }
.ai-vis__suggestions { margin: 0 0 1.5rem; padding-left: 1.25rem; }
.ai-vis__suggestions li { margin: 0 0 0.5rem; font-size: var(--font-sizes-body-sm); line-height: 1.5; }

.ai-vis__error { display: none; padding-top: 1rem; }
.ai-vis__error-msg { margin: 0 0 1.25rem; }

.ai-vis--gate .ai-vis__gate { display: block; }
.ai-vis--loading .ai-vis__form { display: none; }
.ai-vis--loading .ai-vis__loading { display: block; }
.ai-vis--result .ai-vis__form, .ai-vis--result .ai-vis__loading { display: none; }
.ai-vis--result .ai-vis__result { display: block; }
.ai-vis--error .ai-vis__form, .ai-vis--error .ai-vis__loading { display: none; }
.ai-vis--error .ai-vis__error { display: block; }
.ai-vis--ratelimit .ai-vis__form, .ai-vis--ratelimit .ai-vis__loading { display: none; }
.ai-vis--ratelimit .ai-vis__error { display: block; }

@media (prefers-reduced-motion: reduce) {
  .ai-vis__loading-line { animation: none; width: 100%; }
  .ai-vis__loading-status, .ai-vis__progress, .ai-vis__loading-hint { animation: none; opacity: 1; }
  .ai-vis__progress-bar { animation: none; width: 100%; }
}

/* ══════════════════════════════════════════════════════════════
   Editorial homepage — scoped under body.page--home
   ══════════════════════════════════════════════════════════════ */

body.page--home { background: var(--colors-paper); }

/* Section 1: Opening */
.editorial__opening { padding: clamp(4rem, 12vw, 10rem) 0 var(--spacing-section); }
.editorial__opening-title { margin: 0 0 3rem; max-width: 22ch; }
.editorial__opening-meta { display: flex; gap: 2rem; margin: 0 0 2.5rem; align-items: baseline; }
.editorial__opening-meta .caption { display: block; margin-top: 0.5rem; max-width: 18ch; }
.editorial__opening-lede { max-width: 60ch; margin: 0 0 2rem; }
.editorial__opening-credit { max-width: 80ch; }
.editorial__opening-figure { margin: 3rem 0 0; }
.editorial__opening-figure img { width: 100%; height: auto; border-radius: var(--radii-card); }
.editorial__opening-figure figcaption { margin-top: 0.75rem; }
.editorial__opening-jump { margin-top: 2rem; text-align: right; }
.editorial__opening-jump a { color: var(--colors-ink-muted); text-decoration: none; font-size: var(--font-sizes-body-sm); }
.editorial__opening-jump a:hover { color: var(--colors-forest-700); }

/* Section 2: Problem + widget */
.editorial__problem { padding-top: var(--spacing-section); padding-bottom: var(--spacing-section); }
.editorial__problem-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.editorial__problem-text h2 { margin: 0 0 1.5rem; max-width: 24ch; }
.editorial__problem-text figure { margin: 2rem 0; }
.editorial__problem-text figure img { width: 100%; border-radius: var(--radii-card); }
.editorial__problem-text figure figcaption { margin-top: 0.75rem; }
.editorial__problem-widget { position: sticky; top: 6rem; }

/* Section 3: Case studies */
.editorial__case { padding-top: var(--spacing-section); padding-bottom: var(--spacing-section); }
.editorial__case h2 { margin: 0 0 2rem; }
.editorial__case-tabs { display: flex; gap: 0; border-bottom: 1px solid var(--colors-ink-line); margin-bottom: 2.5rem; overflow-x: auto; }
.editorial__case-tab { background: transparent; border: 0; padding: 1rem 1.5rem; font-family: var(--fonts-body); font-weight: 500; font-size: var(--font-sizes-body-md); color: var(--colors-ink-muted); border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; cursor: pointer; }
.editorial__case-tab[aria-selected="true"] { color: var(--colors-ink); border-bottom-color: var(--colors-forest-700); }
.editorial__case-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start; }
.editorial__case-text h3 { margin: 0 0 1.5rem; }
.editorial__case-text .pull-quote { margin: 2rem 0 0.5rem; }
.editorial__case-text .caption { margin-bottom: 2rem; }
.editorial__case-visual { display: grid; gap: 1.5rem; }
.editorial__case-visual img { width: 100%; border-radius: var(--radii-card); }

/* Section 4: Process */
.editorial__process { padding: var(--spacing-section) 0; }
.editorial__process h2 { margin: 0 0 1.5rem; }
.editorial__process-intro { max-width: 60ch; margin: 0 0 var(--spacing-section-sm); }
.editorial__process-step { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; margin-bottom: var(--spacing-section-sm); }
.editorial__process-step--reverse { direction: rtl; }
.editorial__process-step--reverse > * { direction: ltr; }
.editorial__process-visual { position: relative; display: grid; gap: 1rem; }
.editorial__process-visual img { width: 100%; border-radius: var(--radii-card); }
.editorial__process-inset { margin-left: 2rem; margin-top: -2rem; max-width: 75%; box-shadow: 0 1px 2px rgba(26,23,20,0.06); }
.editorial__process-text h3 { margin: 0.5rem 0 1rem; }
.editorial__process-summary { background: var(--colors-sage-100); border-radius: var(--radii-card); padding: clamp(1.5rem, 3vw, 2.5rem); margin-top: var(--spacing-section-sm); }
.editorial__process-summary h4 { margin: 0 0 1rem; }
.editorial__process-summary ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.625rem; }
.editorial__process-summary li::before { content: "\2713  "; color: var(--colors-sage-600); font-family: var(--fonts-mono); }
.editorial__process-summary-link { display: inline-block; margin-top: 1.5rem; color: var(--colors-forest-700); font-weight: 500; text-decoration: none; }
.editorial__process-summary-link:hover { text-decoration: underline; }

/* Section 5: Pricing */
.editorial__pricing { padding: var(--spacing-section) 0; }
.editorial__pricing h2 { margin: 0 0 1.5rem; }
.editorial__pricing-intro { max-width: 60ch; margin: 0 0 var(--spacing-section-sm); }
.editorial__pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.editorial__pricing-tier { background: var(--colors-white); border: 1px solid var(--colors-ink-line); border-radius: var(--radii-card); padding: 2rem; display: flex; flex-direction: column; }
.editorial__pricing-tier h3 { margin: 0 0 1rem; }
.editorial__pricing-price { margin: 0 0 1.25rem; color: var(--colors-ink); }
.editorial__pricing-price .caption { margin-left: 0.5rem; display: inline; color: var(--colors-ink-muted); }
.editorial__pricing-tier ul { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; gap: 0.5rem; font-size: var(--font-sizes-body-sm); flex: 1; }
.editorial__pricing-tier li::before { content: "\2014  "; color: var(--colors-ink-muted); font-family: var(--fonts-mono); }
.editorial__pricing-tier .btn { justify-content: center; display: inline-flex; padding: 0.75rem 1.25rem; background: transparent; color: var(--colors-ink); border: 1px solid var(--colors-ink); border-radius: var(--radii-btn); font-family: var(--fonts-body); font-weight: 500; text-decoration: none; transition: background-color 120ms ease, color 120ms ease; }
.editorial__pricing-tier .btn:hover { background: var(--colors-ink); color: var(--colors-paper); }
.editorial__pricing-footnote { margin: 1.5rem 0 var(--spacing-section-sm); max-width: 70ch; }

.editorial__roi { background: var(--colors-paper-alt); border-radius: var(--radii-card); padding: clamp(1.5rem, 3vw, 2.5rem); }
.editorial__roi h3 { margin: 0 0 1rem; }
.editorial__roi-controls { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin: 1.5rem 0; }
.editorial__roi-controls label { display: block; }
.editorial__roi-controls input[type="range"] { width: 100%; accent-color: var(--colors-forest-700); margin: 0.5rem 0; }
.editorial__roi-controls output { font-size: var(--font-sizes-body-md); }
.editorial__roi-result { margin: 1rem 0 0.5rem; }

/* Section 6: FAQ */
.editorial__faq { padding: var(--spacing-section) 0; background: var(--colors-paper-alt); }
.editorial__faq-inner h2 { margin: 0 0 var(--spacing-section-sm); }
.editorial__faq-item { padding: 2rem 0; border-top: 1px solid var(--colors-ink-line); }
.editorial__faq-item:first-of-type { border-top: 0; padding-top: 0; }
.editorial__faq-item h3 { margin: 0 0 1rem; max-width: 50ch; }
.editorial__faq-item p { max-width: 70ch; margin: 0; }

/* Section 7: CTA */
.editorial__cta { padding: var(--spacing-section) 0; }
.editorial__cta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4rem); }
.editorial__cta-left h2 { margin: 0 0 1.5rem; }
.editorial__cta-steps { list-style: none; padding: 0; margin: 2rem 0; display: grid; gap: 0.875rem; }
.editorial__cta-steps li { display: flex; gap: 0.75rem; font-size: var(--font-sizes-body-md); }
.editorial__cta-steps .mono { color: var(--colors-ink-muted); min-width: 2.5rem; }
.editorial__cta-byline { display: flex; gap: 1.25rem; align-items: center; margin: 2rem 0 0; padding: 1.5rem 0 0; border-top: 1px solid var(--colors-ink-line); }
.editorial__cta-byline img { width: 140px; height: 140px; border-radius: var(--radii-card); object-fit: cover; }
.editorial__cta-byline figcaption p { margin: 0; }
.editorial__cta-form { background: var(--colors-white); border: 1px solid var(--colors-ink-line); border-radius: var(--radii-card); padding: 2rem; display: grid; gap: 1rem; }
.editorial__cta-form label { display: block; }
.editorial__cta-form input, .editorial__cta-form textarea { width: 100%; padding: 0.75rem 1rem; border: 1px solid var(--colors-ink-line); border-radius: var(--radii-btn); font: inherit; font-family: var(--fonts-body); background: var(--colors-paper); color: var(--colors-ink); margin-top: 0.375rem; }
.editorial__cta-form input:focus, .editorial__cta-form textarea:focus { border-color: var(--colors-forest-700); outline: none; }
.editorial__cta-form textarea { resize: vertical; }
.editorial__cta-form .btn { justify-content: center; display: inline-flex; padding: 0.875rem 1.25rem; background: var(--colors-forest-700); color: var(--colors-paper); border: 0; border-radius: var(--radii-btn); font-family: var(--fonts-body); font-weight: 500; font-size: var(--font-sizes-body-md); cursor: pointer; transition: background-color 120ms ease; }
.editorial__cta-form .btn:hover { background: var(--colors-forest-900); }
.editorial__cta-trust { margin: 0.5rem 0 0; color: var(--colors-ink-muted); font-size: var(--font-sizes-caption); }

/* Mobile */
@media (max-width: 900px) {
  .editorial__problem-grid,
  .editorial__case-grid,
  .editorial__cta-grid { grid-template-columns: 1fr; }
  .editorial__problem-widget { position: static; }
  .editorial__process-step, .editorial__process-step--reverse { grid-template-columns: 1fr; direction: ltr; }
  .editorial__process-inset { margin-left: 1rem; max-width: 90%; }
  .editorial__pricing-grid { grid-template-columns: 1fr; }
  .editorial__roi-controls { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════════════════════
   Sales-driven homepage — replaces .editorial__* sections
   ══════════════════════════════════════════════════════════════ */

/* Section title primitives (reused across sales sections) */
.section-title { font-family: var(--fonts-display); font-size: clamp(2rem, 4vw, 3rem); font-weight: 600; letter-spacing: -0.025em; line-height: 1.1; margin: 0 0 1rem; max-width: 24ch; color: var(--colors-ink); }
.section-sub { font-family: var(--fonts-body); font-size: 1.0625rem; line-height: 1.6; color: var(--colors-ink-muted); margin: 0 auto 2.5rem; max-width: 60ch; }

/* CTA buttons */
.btn-cta { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.875rem 1.5rem; border-radius: var(--radii-btn); font-family: var(--fonts-body); font-weight: 600; font-size: 0.9375rem; text-decoration: none; border: 1px solid transparent; transition: background-color 120ms ease, color 120ms ease, transform 120ms ease; cursor: pointer; }
.btn-cta--primary { background: var(--colors-forest-700); color: var(--colors-paper); }
.btn-cta--primary:hover { background: var(--colors-forest-900); color: var(--colors-paper); transform: translateY(-1px); }
.btn-cta--secondary { background: transparent; color: var(--colors-ink); border-color: var(--colors-ink); }
.btn-cta--secondary:hover { background: var(--colors-ink); color: var(--colors-paper); }

/* HERO */
.hero-sales { padding: clamp(3rem, 8vw, 6rem) 0 clamp(3rem, 6vw, 5rem); background: var(--colors-paper); }
.hero-sales__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.hero-sales__eyebrow { display: inline-flex; align-items: center; gap: 0.5rem; font-family: var(--fonts-body); font-size: 0.8125rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.06em; color: var(--colors-ink-muted); margin: 0 0 1.5rem; padding: 0.375rem 0.75rem; background: var(--colors-paper-alt); border: 1px solid var(--colors-ink-line); border-radius: var(--radii-pill); }
.hero-sales__pulse { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--colors-sage-600); animation: pulse 2s ease-in-out infinite; }
@keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.4; } }
.hero-sales__headline { font-family: var(--fonts-display); font-size: clamp(2.5rem, 6vw, 4.5rem); font-weight: 600; letter-spacing: -0.03em; line-height: 1.05; margin: 0 0 1.25rem; color: var(--colors-ink); max-width: 14ch; }
.hero-sales__headline em { color: var(--colors-forest-700); font-style: normal; }
.hero-sales__sub { font-family: var(--fonts-body); font-size: 1.125rem; line-height: 1.55; color: var(--colors-ink-muted); margin: 0 0 2rem; max-width: 50ch; }
.hero-sales__ctas { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.hero-sales__trust { font-size: 0.8125rem; color: var(--colors-ink-muted); margin: 0; }
.hero-sales__visual { position: relative; }
.hero-sales__visual img { width: 100%; height: auto; border-radius: var(--radii-card); box-shadow: 0 4px 24px rgba(26,23,20,0.08); }

/* TRUST BAR */
.trust-bar-sales { background: var(--colors-paper-alt); padding: 1.5rem 0; border-top: 1px solid var(--colors-ink-line); border-bottom: 1px solid var(--colors-ink-line); }
.trust-bar-sales__label { font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--colors-ink-muted); margin: 0 0 0.625rem; text-align: center; }
.trust-bar-sales__row { display: flex; justify-content: center; align-items: center; gap: 1rem; flex-wrap: wrap; }
.trust-bar-sales__client { font-family: var(--fonts-body); font-weight: 500; font-size: 0.9375rem; color: var(--colors-ink); }
.trust-bar-sales__dot { width: 4px; height: 4px; border-radius: 50%; background: var(--colors-ink-line); }

/* STATS */
.stats-bar { padding: var(--spacing-section-sm) 0; background: var(--colors-paper); }
.stats-bar__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; text-align: center; }
.stats-bar__num { font-family: var(--fonts-mono); font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 600; line-height: 1; color: var(--colors-forest-700); margin-bottom: 0.5rem; font-variant-numeric: tabular-nums; }
.stats-bar__num span { font-size: 0.6em; color: var(--colors-ink-muted); margin-left: 2px; }
.stats-bar__label { font-family: var(--fonts-body); font-size: 0.875rem; color: var(--colors-ink-muted); line-height: 1.4; max-width: 22ch; margin: 0 auto; }

/* BENEFITS */
.benefits { padding: var(--spacing-section) 0; background: var(--colors-paper-alt); }
.benefits .section-title, .benefits .section-sub { text-align: center; margin-left: auto; margin-right: auto; }
.benefits__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 1rem; }
.benefits__card { background: var(--colors-paper); border: 1px solid var(--colors-ink-line); border-radius: var(--radii-card); padding: 1.75rem; transition: box-shadow 200ms ease, transform 200ms ease; }
.benefits__card:hover { box-shadow: 0 4px 16px rgba(26,23,20,0.06); transform: translateY(-2px); }
.benefits__icon { width: 44px; height: 44px; border-radius: 10px; background: var(--colors-forest-100); color: var(--colors-forest-700); display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; }
.benefits__title { font-family: var(--fonts-display); font-size: 1.1875rem; font-weight: 600; letter-spacing: -0.01em; margin: 0 0 0.5rem; color: var(--colors-ink); }
.benefits__desc { font-family: var(--fonts-body); font-size: 0.9375rem; line-height: 1.55; color: var(--colors-ink-muted); margin: 0; }

/* WIDGET SECTION */
.widget-section { padding: var(--spacing-section) 0; background: var(--colors-paper); }
.widget-section__inner { max-width: 720px; }
.widget-section .section-title, .widget-section__sub { text-align: center; margin-left: auto; margin-right: auto; }
.widget-section__sub { margin-bottom: 2rem; }

/* SERVICES */
.services { padding: var(--spacing-section) 0; background: var(--colors-paper-alt); }
.services .section-title, .services .section-sub { text-align: center; margin-left: auto; margin-right: auto; }
.services__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 1rem; }
.services__card { background: var(--colors-paper); border: 1px solid var(--colors-ink-line); border-radius: var(--radii-card); padding: 1.75rem; text-decoration: none; color: var(--colors-ink); display: flex; flex-direction: column; transition: box-shadow 200ms ease, transform 200ms ease, border-color 200ms ease; }
.services__card:hover { box-shadow: 0 4px 16px rgba(26,23,20,0.06); transform: translateY(-2px); border-color: var(--colors-forest-700); color: var(--colors-ink); }
.services__card h3 { font-family: var(--fonts-display); font-size: 1.1875rem; font-weight: 600; letter-spacing: -0.01em; margin: 0 0 0.5rem; }
.services__card p { font-family: var(--fonts-body); font-size: 0.9375rem; line-height: 1.55; color: var(--colors-ink-muted); margin: 0 0 1rem; flex: 1; }
.services__link { font-family: var(--fonts-body); font-size: 0.875rem; font-weight: 500; color: var(--colors-forest-700); }

/* CASES */
.cases { padding: var(--spacing-section) 0; background: var(--colors-paper); }
.cases .section-title, .cases .section-sub { text-align: center; margin-left: auto; margin-right: auto; }
.cases__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.75rem; margin-top: 1rem; }
.cases__card { background: var(--colors-paper); border: 1px solid var(--colors-ink-line); border-radius: var(--radii-card); overflow: hidden; display: flex; flex-direction: column; transition: box-shadow 200ms ease, transform 200ms ease; }
.cases__card:hover { box-shadow: 0 4px 24px rgba(26,23,20,0.08); transform: translateY(-2px); }
.cases__img { width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block; }
.cases__body { padding: 1.5rem; flex: 1; display: flex; flex-direction: column; }
.cases__client { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--colors-ink-muted); margin: 0 0 0.5rem; }
.cases__metric { font-family: var(--fonts-display); font-size: 1.1875rem; font-weight: 600; letter-spacing: -0.01em; line-height: 1.3; margin: 0 0 0.75rem; color: var(--colors-ink); }
.cases__desc { font-family: var(--fonts-body); font-size: 0.9375rem; line-height: 1.55; color: var(--colors-ink-muted); margin: 0 0 1rem; flex: 1; }
.cases__link { font-family: var(--fonts-body); font-size: 0.875rem; font-weight: 500; color: var(--colors-forest-700); text-decoration: none; }
.cases__link:hover { text-decoration: underline; }

/* PROCESS */
.process { padding: var(--spacing-section) 0; background: var(--colors-paper-alt); }
.process .section-title, .process .section-sub { text-align: center; margin-left: auto; margin-right: auto; }
.process__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; margin-top: 1rem; }
.process__step { background: var(--colors-paper); border: 1px solid var(--colors-ink-line); border-radius: var(--radii-card); padding: 1.75rem; }
.process__num { font-size: 1.125rem; color: var(--colors-forest-700); margin-bottom: 1rem; font-weight: 600; }
.process__title { font-family: var(--fonts-display); font-size: 1.25rem; font-weight: 600; letter-spacing: -0.015em; margin: 0 0 0.625rem; color: var(--colors-ink); }
.process__desc { font-family: var(--fonts-body); font-size: 0.9375rem; line-height: 1.55; color: var(--colors-ink-muted); margin: 0; }

/* COMPARISON */
.comparison { padding: var(--spacing-section) 0; background: var(--colors-paper); }
.comparison .section-title, .comparison .section-sub { text-align: center; margin-left: auto; margin-right: auto; }
.comparison__table { background: var(--colors-paper-alt); border: 1px solid var(--colors-ink-line); border-radius: var(--radii-card); overflow: hidden; max-width: 900px; margin: 1rem auto 0; }
.comparison__row { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 0; border-bottom: 1px solid var(--colors-ink-line); }
.comparison__row:last-child { border-bottom: 0; }
.comparison__row > div { padding: 1rem 1.25rem; font-family: var(--fonts-body); font-size: 0.9375rem; }
.comparison__row--head > div { font-weight: 600; font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--colors-ink-muted); background: var(--colors-paper-deep); }
.comparison__label { color: var(--colors-ink); font-weight: 500; }
.comparison__col-pinnacli { background: var(--colors-forest-100); color: var(--colors-ink); font-weight: 500; }
.comparison__col-other { color: var(--colors-ink-muted); }

/* PRICING SALES */
.pricing-sales { padding: var(--spacing-section) 0; background: var(--colors-paper-alt); }
.pricing-sales .section-title, .pricing-sales .section-sub { text-align: center; margin-left: auto; margin-right: auto; }
.pricing-sales__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 1rem; align-items: stretch; }
.pricing-sales__tier { position: relative; background: var(--colors-paper); border: 1px solid var(--colors-ink-line); border-radius: var(--radii-card); padding: 2rem; display: flex; flex-direction: column; }
.pricing-sales__tier--popular { border: 2px solid var(--colors-forest-700); transform: scale(1.03); box-shadow: 0 6px 28px rgba(20,83,45,0.12); }
.pricing-sales__badge { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); background: var(--colors-forest-700); color: var(--colors-paper); font-family: var(--fonts-body); font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; padding: 0.375rem 0.875rem; border-radius: var(--radii-pill); }
.pricing-sales__name { font-family: var(--fonts-display); font-size: 1.375rem; font-weight: 600; letter-spacing: -0.015em; margin: 0 0 1rem; color: var(--colors-ink); }
.pricing-sales__price { display: flex; align-items: baseline; gap: 0.375rem; margin-bottom: 0.75rem; }
.pricing-sales__amount { font-family: var(--fonts-mono); font-size: 2.25rem; font-weight: 600; color: var(--colors-ink); font-variant-numeric: tabular-nums; }
.pricing-sales__period { font-family: var(--fonts-body); font-size: 0.9375rem; color: var(--colors-ink-muted); }
.pricing-sales__for { font-family: var(--fonts-body); font-size: 0.875rem; color: var(--colors-ink-muted); margin: 0 0 1.5rem; line-height: 1.45; }
.pricing-sales__features { list-style: none; padding: 0; margin: 0 0 1.5rem; flex: 1; display: grid; gap: 0.625rem; }
.pricing-sales__features li { font-family: var(--fonts-body); font-size: 0.9375rem; color: var(--colors-ink); padding-left: 1.5rem; position: relative; line-height: 1.5; }
.pricing-sales__features li::before { content: ""; position: absolute; left: 0; top: 0.5em; width: 14px; height: 14px; background: var(--colors-sage-100); border-radius: 50%; }
.pricing-sales__features li::after { content: ""; position: absolute; left: 3px; top: calc(0.5em + 2px); width: 8px; height: 4px; border-left: 2px solid var(--colors-sage-600); border-bottom: 2px solid var(--colors-sage-600); transform: rotate(-45deg); }
.pricing-sales__cta { display: inline-flex; align-items: center; justify-content: center; padding: 0.75rem 1.25rem; border-radius: var(--radii-btn); font-family: var(--fonts-body); font-weight: 500; font-size: 0.9375rem; text-decoration: none; background: transparent; color: var(--colors-ink); border: 1px solid var(--colors-ink); transition: background-color 120ms ease, color 120ms ease; }
.pricing-sales__cta:hover { background: var(--colors-ink); color: var(--colors-paper); }
.pricing-sales__cta--primary { background: var(--colors-forest-700); color: var(--colors-paper); border-color: var(--colors-forest-700); }
.pricing-sales__cta--primary:hover { background: var(--colors-forest-900); color: var(--colors-paper); border-color: var(--colors-forest-900); }
.pricing-sales__footnote { text-align: center; margin: 1.5rem 0 var(--spacing-section-sm); color: var(--colors-ink-muted); font-size: 0.8125rem; }

/* ROI mini calculator */
.roi-mini { background: var(--colors-paper); border: 1px solid var(--colors-ink-line); border-radius: var(--radii-card); padding: 1.75rem; max-width: 800px; margin: 0 auto; }
.roi-mini__heading { font-family: var(--fonts-display); font-size: 1.25rem; font-weight: 600; letter-spacing: -0.015em; margin: 0 0 1.25rem; color: var(--colors-ink); text-align: center; }
.roi-mini__controls { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-bottom: 1.25rem; }
.roi-mini__controls label { display: block; }
.roi-mini__controls input[type="range"] { width: 100%; accent-color: var(--colors-forest-700); margin: 0.375rem 0; }
.roi-mini__controls output { font-size: 0.9375rem; color: var(--colors-ink); font-weight: 500; }
.roi-mini__result { text-align: center; font-family: var(--fonts-body); font-size: 1.0625rem; color: var(--colors-ink); margin: 0; line-height: 1.5; }
.roi-mini__result .mono { font-size: 1.5rem; color: var(--colors-forest-700); font-weight: 600; }

/* TESTIMONIALS */
.testimonials { padding: var(--spacing-section) 0; background: var(--colors-paper); }
.testimonials .section-title { text-align: center; margin: 0 auto var(--spacing-section-sm); }
.testimonials__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.testimonials__card { background: var(--colors-paper-alt); border: 1px solid var(--colors-ink-line); border-radius: var(--radii-card); padding: 1.75rem; margin: 0; }
.testimonials__quote { font-family: var(--fonts-body); font-size: 1.0625rem; font-weight: 500; line-height: 1.5; color: var(--colors-ink); margin: 0 0 1rem; quotes: "\201C" "\201D"; }
.testimonials__quote::before { content: open-quote; }
.testimonials__quote::after { content: close-quote; }
.testimonials__attr { font-size: 0.8125rem; color: var(--colors-ink-muted); }

/* FAQ accordion */
.faq-sales { padding: var(--spacing-section) 0; background: var(--colors-paper-alt); }
.faq-sales__inner { max-width: 800px; }
.faq-sales .section-title { text-align: center; margin: 0 auto var(--spacing-section-sm); }
.faq-sales__list { display: grid; gap: 0; background: var(--colors-paper); border: 1px solid var(--colors-ink-line); border-radius: var(--radii-card); overflow: hidden; }
.faq-sales__item { border-bottom: 1px solid var(--colors-ink-line); }
.faq-sales__item:last-child { border-bottom: 0; }
.faq-sales__q { font-family: var(--fonts-display); font-size: 1.0625rem; font-weight: 600; letter-spacing: -0.01em; color: var(--colors-ink); padding: 1.25rem 1.5rem; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.faq-sales__q::-webkit-details-marker { display: none; }
.faq-sales__q::after { content: "+"; font-size: 1.5rem; color: var(--colors-forest-700); transition: transform 200ms ease; line-height: 1; font-weight: 400; }
.faq-sales__item[open] .faq-sales__q::after { transform: rotate(45deg); }
.faq-sales__a { padding: 0 1.5rem 1.25rem; }
.faq-sales__a p { font-family: var(--fonts-body); font-size: 0.9375rem; line-height: 1.6; color: var(--colors-ink-muted); margin: 0; }

/* FINAL CTA */
.final-cta { padding: var(--spacing-section) 0; background: var(--colors-forest-700); color: var(--colors-paper); }
.final-cta__inner { max-width: 720px; }
.final-cta__heading { font-family: var(--fonts-display); font-size: clamp(2rem, 4vw, 3rem); font-weight: 600; letter-spacing: -0.025em; line-height: 1.1; margin: 0 0 1rem; text-align: center; color: var(--colors-paper); }
.final-cta__sub { font-family: var(--fonts-body); font-size: 1.0625rem; line-height: 1.55; color: rgba(245, 242, 234, 0.85); margin: 0 auto 2rem; max-width: 60ch; text-align: center; }
.final-cta__form { background: var(--colors-paper); border-radius: var(--radii-card); padding: 2rem; color: var(--colors-ink); display: grid; gap: 1rem; }
.final-cta__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.final-cta__form label { display: block; }
.final-cta__form .caption { display: block; margin-bottom: 0.375rem; color: var(--colors-ink-muted); }
.final-cta__form input, .final-cta__form textarea { width: 100%; padding: 0.75rem 1rem; border: 1px solid var(--colors-ink-line); border-radius: var(--radii-btn); font: inherit; font-family: var(--fonts-body); background: var(--colors-paper); color: var(--colors-ink); }
.final-cta__form input:focus, .final-cta__form textarea:focus { border-color: var(--colors-forest-700); outline: none; }
.final-cta__form textarea { resize: vertical; }
.final-cta__submit { width: 100%; padding: 1rem 1.5rem; font-size: 1rem; }
.final-cta__trust { text-align: center; margin: 0.5rem 0 0; font-size: 0.8125rem; color: var(--colors-ink-muted); }

/* Mobile */
@media (max-width: 900px) {
  .hero-sales__grid { grid-template-columns: 1fr; }
  .hero-sales__visual { order: -1; }
  .stats-bar__grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
  .benefits__grid, .services__grid, .cases__grid, .testimonials__grid { grid-template-columns: 1fr; }
  .process__grid { grid-template-columns: repeat(2, 1fr); }
  .comparison__row { grid-template-columns: 1fr; }
  .comparison__row > div { padding: 0.75rem 1rem; }
  .comparison__row--head { display: none; }
  .comparison__col-pinnacli::before { content: "Pinnacli: "; font-weight: 600; color: var(--colors-forest-700); }
  .comparison__col-other::before { content: "Typical agency: "; font-weight: 500; color: var(--colors-ink); }
  .pricing-sales__grid { grid-template-columns: 1fr; }
  .pricing-sales__tier--popular { transform: none; }
  .roi-mini__controls { grid-template-columns: 1fr; }
  .final-cta__row { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════════════════════
   Big-Type editorial-sales homepage (.bt-*)
   Replaces all sales-grid sections with asymmetric typography
   ══════════════════════════════════════════════════════════════ */

/* HERO */
.bt-hero { padding: clamp(5rem, 14vw, 10rem) 0 clamp(4rem, 10vw, 8rem); background: var(--colors-paper); }
.bt-hero__eyebrow { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--colors-ink-muted); margin: 0 0 2rem; }
.bt-hero__pulse { width: 6px; height: 6px; border-radius: 50%; background: var(--colors-sage-600); animation: pulse 2s ease-in-out infinite; }
.bt-hero__h1 { font-family: var(--fonts-display); font-size: clamp(3rem, 12vw, 9.5rem); font-weight: 600; letter-spacing: -0.045em; line-height: 0.92; margin: 0 0 2rem; color: var(--colors-ink); max-width: 14ch; }
.bt-hero__sub { font-family: var(--fonts-body); font-size: clamp(1.0625rem, 1.6vw, 1.25rem); line-height: 1.5; color: var(--colors-ink-muted); margin: 0 0 2.5rem; max-width: 56ch; }
.bt-hero__ctas { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.bt-hero__second { font-family: var(--fonts-body); font-size: 0.9375rem; color: var(--colors-ink); text-decoration: none; border-bottom: 1px solid var(--colors-ink-line); padding-bottom: 2px; transition: color 120ms ease, border-color 120ms ease; }
.bt-hero__second:hover { color: var(--colors-forest-700); border-color: var(--colors-forest-700); }

/* MANIFESTO (dark forest) */
.bt-manifesto { background: var(--colors-forest-900); color: var(--colors-paper); padding: clamp(5rem, 12vw, 9rem) 0; }
.bt-manifesto__label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--colors-forest-100); opacity: 0.7; margin: 0 0 2rem; }
.bt-manifesto__h2 { font-family: var(--fonts-display); font-size: clamp(2.5rem, 8vw, 6rem); font-weight: 600; letter-spacing: -0.03em; line-height: 0.98; margin: 0 0 2rem; color: var(--colors-paper); max-width: 16ch; }
.bt-manifesto__p { font-family: var(--fonts-body); font-size: clamp(1.0625rem, 1.6vw, 1.25rem); line-height: 1.55; color: rgba(245, 242, 234, 0.78); margin: 0; max-width: 60ch; }

/* BIG NUMBER (asymmetric) */
.bt-bignumber { padding: clamp(5rem, 12vw, 9rem) 0; background: var(--colors-paper); }
.bt-bignumber__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.bt-bignumber__hero { display: flex; flex-direction: column; gap: 1.5rem; }
.bt-bignumber__num { font-family: var(--fonts-mono); font-size: clamp(6rem, 22vw, 16rem); font-weight: 600; line-height: 0.85; letter-spacing: -0.04em; color: var(--colors-forest-700); font-variant-numeric: tabular-nums; }
.bt-bignumber__num span { font-size: 0.5em; vertical-align: super; color: var(--colors-rust-700); }
.bt-bignumber__caption { font-family: var(--fonts-body); font-size: 1.0625rem; line-height: 1.5; color: var(--colors-ink-muted); margin: 0; max-width: 30ch; }
.bt-bignumber__supporting { display: flex; flex-direction: column; gap: 1.75rem; border-left: 1px solid var(--colors-ink-line); padding-left: clamp(1.5rem, 3vw, 2.5rem); }
.bt-bignumber__small { font-size: 1.5rem; font-weight: 600; color: var(--colors-ink); display: block; margin-bottom: 0.375rem; font-variant-numeric: tabular-nums; }
.bt-bignumber__stat p { font-family: var(--fonts-body); font-size: 0.9375rem; line-height: 1.5; color: var(--colors-ink-muted); margin: 0; }

/* WHY PINNACLI (alternating editorial blocks) */
.bt-why { padding: clamp(5rem, 12vw, 9rem) 0; background: var(--colors-paper-alt); }
.bt-why__label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--colors-ink-muted); margin: 0 0 1.5rem; }
.bt-why__title { font-family: var(--fonts-display); font-size: clamp(2.25rem, 5vw, 3.5rem); font-weight: 600; letter-spacing: -0.025em; line-height: 1.05; margin: 0 0 var(--spacing-section-sm); color: var(--colors-ink); max-width: 22ch; }
.bt-why__row { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 5rem); align-items: start; padding: clamp(2.5rem, 5vw, 4rem) 0; border-top: 1px solid var(--colors-ink-line); }
.bt-why__row:last-child { border-bottom: 1px solid var(--colors-ink-line); }
.bt-why__num { display: flex; flex-direction: column; gap: 0.75rem; }
.bt-why__num .mono { font-size: 0.875rem; color: var(--colors-ink-muted); }
.bt-why__big { font-family: var(--fonts-display); font-size: clamp(3rem, 7vw, 5.5rem); font-weight: 600; letter-spacing: -0.03em; line-height: 1; color: var(--colors-forest-700); }
.bt-why__text h3 { font-family: var(--fonts-display); font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; margin: 0 0 1rem; color: var(--colors-ink); }
.bt-why__text p { font-family: var(--fonts-body); font-size: 1rem; line-height: 1.6; color: var(--colors-ink-muted); margin: 0; max-width: 55ch; }

/* WIDGET (centered, simple) */
.bt-widget { padding: clamp(5rem, 12vw, 9rem) 0; background: var(--colors-paper); }
.bt-widget__inner { max-width: 720px; }
.bt-widget__label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--colors-ink-muted); margin: 0 0 1.5rem; }
.bt-widget__h2 { font-family: var(--fonts-display); font-size: clamp(2rem, 4.5vw, 3.25rem); font-weight: 600; letter-spacing: -0.025em; line-height: 1.05; margin: 0 0 1rem; color: var(--colors-ink); max-width: 20ch; }
.bt-widget__sub { font-family: var(--fonts-body); font-size: 1.0625rem; line-height: 1.55; color: var(--colors-ink-muted); margin: 0 0 2.5rem; max-width: 60ch; }

/* CASES (full-width alternating rows with big photos) */
.bt-cases { padding: clamp(5rem, 12vw, 9rem) 0; background: var(--colors-paper); }
.bt-cases__label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--colors-ink-muted); margin: 0 0 1.5rem; }
.bt-cases__title { font-family: var(--fonts-display); font-size: clamp(2.25rem, 5vw, 3.5rem); font-weight: 600; letter-spacing: -0.025em; line-height: 1.05; margin: 0 0 var(--spacing-section-sm); color: var(--colors-ink); max-width: 22ch; }
.bt-cases__row { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; padding: clamp(2rem, 5vw, 4rem) 0; }
.bt-cases__row--b { grid-template-columns: 1fr 1.2fr; }
.bt-cases__img { width: 100%; height: auto; border-radius: var(--radii-card); display: block; }
.bt-cases__since { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--colors-ink-muted); margin: 0 0 1rem; }
.bt-cases__metric { font-family: var(--fonts-display); font-size: clamp(1.75rem, 3.5vw, 2.75rem); font-weight: 600; letter-spacing: -0.025em; line-height: 1.1; margin: 0 0 1.25rem; color: var(--colors-ink); }
.bt-cases__text > p { font-family: var(--fonts-body); font-size: 1rem; line-height: 1.6; color: var(--colors-ink-muted); margin: 0 0 1.25rem; }
.bt-cases__quote { font-family: var(--fonts-body); font-style: italic; font-size: 1.0625rem; line-height: 1.4; color: var(--colors-ink); margin: 0 0 1.25rem; padding-left: 1rem; border-left: 2px solid var(--colors-forest-700); }
.bt-cases__link { font-family: var(--fonts-body); font-size: 0.9375rem; font-weight: 500; color: var(--colors-forest-700); text-decoration: none; border-bottom: 1px solid var(--colors-forest-700); padding-bottom: 1px; }
.bt-cases__link:hover { color: var(--colors-forest-900); border-color: var(--colors-forest-900); }

/* PRICING (clean typographic table, no badges) */
.bt-pricing { padding: clamp(5rem, 12vw, 9rem) 0; background: var(--colors-paper-alt); }
.bt-pricing__label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--colors-ink-muted); margin: 0 0 1.5rem; }
.bt-pricing__title { font-family: var(--fonts-display); font-size: clamp(2.25rem, 5vw, 3.5rem); font-weight: 600; letter-spacing: -0.025em; line-height: 1.05; margin: 0 0 var(--spacing-section-sm); color: var(--colors-ink); max-width: 22ch; }
.bt-pricing__table { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--colors-ink-line); border-bottom: 1px solid var(--colors-ink-line); }
.bt-pricing__col { padding: 2.5rem 1.5rem 2rem; border-right: 1px solid var(--colors-ink-line); display: flex; flex-direction: column; }
.bt-pricing__col:last-child { border-right: 0; }
.bt-pricing__col--mid { background: var(--colors-paper); }
.bt-pricing__name { font-family: var(--fonts-display); font-size: 1.5rem; font-weight: 600; letter-spacing: -0.015em; margin: 0 0 1.25rem; color: var(--colors-ink); }
.bt-pricing__price { display: flex; align-items: baseline; gap: 0.5rem; margin-bottom: 0.5rem; }
.bt-pricing__amount { font-size: 2.5rem; font-weight: 600; color: var(--colors-ink); font-variant-numeric: tabular-nums; line-height: 1; }
.bt-pricing__period { font-family: var(--fonts-body); font-size: 0.9375rem; color: var(--colors-ink-muted); }
.bt-pricing__for { font-family: var(--fonts-body); font-size: 0.875rem; color: var(--colors-ink-muted); margin: 0 0 1.5rem; }
.bt-pricing__list { list-style: none; padding: 0; margin: 0 0 1.75rem; flex: 1; display: grid; gap: 0.5rem; }
.bt-pricing__list li { font-family: var(--fonts-body); font-size: 0.9375rem; color: var(--colors-ink); padding-left: 0; line-height: 1.5; }
.bt-pricing__list li::before { content: "+ "; color: var(--colors-forest-700); font-family: var(--fonts-mono); font-weight: 600; }
.bt-pricing__cta { font-family: var(--fonts-body); font-size: 0.9375rem; font-weight: 500; color: var(--colors-forest-700); text-decoration: none; border-bottom: 1px solid var(--colors-forest-700); padding-bottom: 1px; align-self: flex-start; }
.bt-pricing__cta:hover { color: var(--colors-forest-900); border-color: var(--colors-forest-900); }
.bt-pricing__foot { text-align: center; margin: 1.5rem 0 var(--spacing-section-sm); color: var(--colors-ink-muted); font-size: 0.8125rem; }

/* FAQ */
.bt-faq { padding: clamp(5rem, 12vw, 9rem) 0; background: var(--colors-paper); }
.bt-faq__inner { max-width: 800px; }
.bt-faq__label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--colors-ink-muted); margin: 0 0 1.5rem; }
.bt-faq__title { font-family: var(--fonts-display); font-size: clamp(2.25rem, 5vw, 3.5rem); font-weight: 600; letter-spacing: -0.025em; line-height: 1.05; margin: 0 0 var(--spacing-section-sm); color: var(--colors-ink); max-width: 22ch; }
.bt-faq__list { display: grid; gap: 0; }
.bt-faq__item { border-top: 1px solid var(--colors-ink-line); }
.bt-faq__item:last-child { border-bottom: 1px solid var(--colors-ink-line); }
.bt-faq__q { font-family: var(--fonts-display); font-size: 1.25rem; font-weight: 500; letter-spacing: -0.01em; color: var(--colors-ink); padding: 1.5rem 0; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.bt-faq__q::-webkit-details-marker { display: none; }
.bt-faq__q::after { content: "+"; font-size: 1.75rem; color: var(--colors-forest-700); transition: transform 200ms ease; line-height: 1; font-weight: 300; }
.bt-faq__item[open] .bt-faq__q::after { transform: rotate(45deg); }
.bt-faq__a { padding: 0 0 1.5rem; }
.bt-faq__a p { font-family: var(--fonts-body); font-size: 1rem; line-height: 1.6; color: var(--colors-ink-muted); margin: 0; max-width: 65ch; }

/* FINAL CTA (paper with form, big type) */
.bt-cta { padding: clamp(5rem, 12vw, 9rem) 0; background: var(--colors-paper); }
.bt-cta__inner { max-width: 800px; }
.bt-cta__label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--colors-ink-muted); margin: 0 0 1.5rem; }
.bt-cta__h2 { font-family: var(--fonts-display); font-size: clamp(2.5rem, 6vw, 4.5rem); font-weight: 600; letter-spacing: -0.03em; line-height: 1; margin: 0 0 1rem; color: var(--colors-ink); max-width: 18ch; }
.bt-cta__sub { font-family: var(--fonts-body); font-size: 1.0625rem; line-height: 1.55; color: var(--colors-ink-muted); margin: 0 0 2.5rem; max-width: 60ch; }
.bt-cta__form { display: grid; gap: 1rem; }
.bt-cta__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.bt-cta__form label { display: block; }
.bt-cta__form .caption { display: block; margin-bottom: 0.375rem; color: var(--colors-ink-muted); }
.bt-cta__form input, .bt-cta__form textarea { width: 100%; padding: 0.875rem 1rem; border: 1px solid var(--colors-ink-line); border-radius: var(--radii-btn); font: inherit; font-family: var(--fonts-body); background: var(--colors-paper); color: var(--colors-ink); }
.bt-cta__form input:focus, .bt-cta__form textarea:focus { border-color: var(--colors-forest-700); outline: none; }
.bt-cta__submit { width: 100%; padding: 1.125rem 1.5rem; font-size: 1rem; }
.bt-cta__trust { text-align: center; margin: 0.5rem 0 0; font-size: 0.8125rem; color: var(--colors-ink-muted); }

/* Mobile */
@media (max-width: 900px) {
  .bt-hero__h1, .bt-manifesto__h2 { letter-spacing: -0.035em; }
  .bt-bignumber__grid { grid-template-columns: 1fr; }
  .bt-bignumber__supporting { border-left: 0; padding-left: 0; border-top: 1px solid var(--colors-ink-line); padding-top: 2rem; }
  .bt-why__row, .bt-why__row--b { grid-template-columns: 1fr; gap: 1.5rem; }
  .bt-cases__row, .bt-cases__row--b { grid-template-columns: 1fr; }
  .bt-cases__row--b .bt-cases__img { order: -1; }
  .bt-pricing__table { grid-template-columns: 1fr; }
  .bt-pricing__col { border-right: 0; border-bottom: 1px solid var(--colors-ink-line); }
  .bt-pricing__col:last-child { border-bottom: 0; }
  .bt-cta__row { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════════════════════
   Tool pages (Big-Type) — .bt-tool*, .bt-quiz*, .bt-roi*
   ══════════════════════════════════════════════════════════════ */

.bt-tool-hero { padding: clamp(4rem, 10vw, 8rem) 0 clamp(2rem, 4vw, 3rem); background: var(--colors-paper); }
.bt-tool-eyebrow { display: inline-block; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--colors-ink-muted); margin: 0 0 2rem; }
.bt-tool-h1 { font-family: var(--fonts-display); font-size: clamp(2.5rem, 8vw, 6rem); font-weight: 600; letter-spacing: -0.035em; line-height: 1; margin: 0 0 1.5rem; color: var(--colors-ink); max-width: 18ch; }
.bt-tool-sub { font-family: var(--fonts-body); font-size: clamp(1.0625rem, 1.6vw, 1.25rem); line-height: 1.55; color: var(--colors-ink-muted); margin: 0; max-width: 60ch; }

.bt-tool-widget { padding: clamp(2rem, 5vw, 4rem) 0 clamp(4rem, 10vw, 7rem); background: var(--colors-paper); }
.bt-tool-widget__inner { max-width: 720px; }

.bt-tool-after { padding: clamp(4rem, 10vw, 7rem) 0; background: var(--colors-paper-alt); }
.bt-tool-after__h2 { font-family: var(--fonts-display); font-size: clamp(2rem, 4.5vw, 3rem); font-weight: 600; letter-spacing: -0.025em; line-height: 1.05; margin: 0 0 var(--spacing-section-sm); color: var(--colors-ink); max-width: 22ch; }

/* Quiz (geo-readiness) */
.bt-quiz { padding: clamp(3rem, 8vw, 6rem) 0 clamp(4rem, 10vw, 7rem); background: var(--colors-paper-alt); }
.bt-quiz__inner { max-width: 720px; }
.bt-quiz__step { padding: 1rem 0; }
.bt-quiz__step .caption { display: block; margin: 0 0 1rem; }
.bt-quiz__q { font-family: var(--fonts-display); font-size: clamp(1.5rem, 3vw, 2.25rem); font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; margin: 0 0 2rem; color: var(--colors-ink); max-width: 28ch; }
.bt-quiz__opts { display: flex; flex-direction: column; gap: 0.625rem; }
.bt-quiz__opt { background: var(--colors-paper); border: 1px solid var(--colors-ink-line); border-radius: var(--radii-btn); padding: 1rem 1.25rem; font-family: var(--fonts-body); font-size: 1rem; color: var(--colors-ink); text-align: left; cursor: pointer; transition: border-color 120ms ease, background-color 120ms ease, color 120ms ease; }
.bt-quiz__opt:hover { border-color: var(--colors-forest-700); background: var(--colors-forest-700); color: var(--colors-paper); }

.bt-quiz__result { padding: 2rem 0 0; }
.bt-quiz__result .caption { display: block; margin: 0 0 1rem; }
.bt-quiz__score { font-family: var(--fonts-mono); font-size: clamp(4rem, 12vw, 8rem); font-weight: 600; line-height: 1; color: var(--colors-forest-700); font-variant-numeric: tabular-nums; margin: 0 0 1.5rem; }
.bt-quiz__verdict { font-family: var(--fonts-display); font-size: clamp(1.75rem, 3.5vw, 2.5rem); font-weight: 600; letter-spacing: -0.025em; line-height: 1.1; margin: 0 0 1rem; color: var(--colors-ink); max-width: 22ch; }
.bt-quiz__verdict-text { font-family: var(--fonts-body); font-size: 1.0625rem; line-height: 1.55; color: var(--colors-ink-muted); margin: 0 0 2rem; max-width: 60ch; }
.bt-quiz__after { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }

/* Full ROI calculator */
.bt-roi { padding: clamp(3rem, 8vw, 6rem) 0 clamp(4rem, 10vw, 7rem); background: var(--colors-paper); }
.bt-roi__inner { max-width: 880px; }
.bt-roi__inputs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem 2rem; padding: 1.5rem; background: var(--colors-paper-alt); border: 1px solid var(--colors-ink-line); border-radius: var(--radii-card); margin-bottom: 1.5rem; }
.bt-roi__field { display: block; }
.bt-roi__field .caption { display: block; margin-bottom: 0.375rem; }
.bt-roi__field input[type="range"] { width: 100%; accent-color: var(--colors-forest-700); margin: 0.375rem 0; }
.bt-roi__field output { font-family: var(--fonts-mono); font-size: 1rem; color: var(--colors-ink); font-weight: 600; }
.bt-roi__results { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem 1.5rem; padding: 1.75rem 1.5rem; background: var(--colors-forest-900); border-radius: var(--radii-card); margin-bottom: 1.25rem; color: var(--colors-paper); }
.bt-roi__metric .caption { color: rgba(245,242,234,0.65); margin: 0 0 0.375rem; display: block; font-size: 0.6875rem; }
.bt-roi__value { font-family: var(--fonts-mono); font-size: clamp(1.25rem, 2vw, 1.75rem); font-weight: 600; line-height: 1.1; color: var(--colors-paper); font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bt-roi__metric--good { color: var(--colors-sage-600) !important; }
.bt-roi__metric--bad { color: var(--colors-rust-700) !important; }
.bt-roi__note { font-size: 0.75rem; color: var(--colors-ink-muted); margin: 0 0 0.5rem; line-height: 1.5; }
.bt-roi__note--soft { font-style: italic; }

@media (max-width: 700px) {
  .bt-roi__inputs { grid-template-columns: 1fr; }
  .bt-roi__results { grid-template-columns: repeat(2, 1fr); }
}

/* ══════════════════════════════════════════════════════════════
   Service pages (Big-Type) — .bt-svc-*
   ══════════════════════════════════════════════════════════════ */

.bt-svc-hero { padding: clamp(5rem, 12vw, 9rem) 0 clamp(4rem, 8vw, 6rem); background: var(--colors-paper); }
.bt-svc-hero__eyebrow { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--colors-ink-muted); margin: 0 0 2rem; }
.bt-svc-hero__pulse { width: 6px; height: 6px; border-radius: 50%; background: var(--colors-sage-600); animation: pulse 2s ease-in-out infinite; }
.bt-svc-hero__h1 { font-family: var(--fonts-display); font-size: clamp(2.75rem, 10vw, 8rem); font-weight: 600; letter-spacing: -0.04em; line-height: 0.95; margin: 0 0 2rem; color: var(--colors-ink); max-width: 16ch; }
.bt-svc-hero__sub { font-family: var(--fonts-body); font-size: clamp(1.0625rem, 1.6vw, 1.25rem); line-height: 1.55; color: var(--colors-ink-muted); margin: 0 0 2.5rem; max-width: 62ch; }
.bt-svc-hero__ctas { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.bt-svc-hero__second { font-family: var(--fonts-body); font-size: 0.9375rem; color: var(--colors-ink); text-decoration: none; border-bottom: 1px solid var(--colors-ink-line); padding-bottom: 2px; transition: color 120ms ease, border-color 120ms ease; }
.bt-svc-hero__second:hover { color: var(--colors-forest-700); border-color: var(--colors-forest-700); }

.bt-svc-stats { padding: clamp(4rem, 10vw, 7rem) 0; background: var(--colors-paper-alt); }
.bt-svc-stats__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.bt-svc-stats__hero { display: flex; flex-direction: column; gap: 1.25rem; }
.bt-svc-stats__num { font-family: var(--fonts-mono); font-size: clamp(5rem, 18vw, 13rem); font-weight: 600; line-height: 0.85; letter-spacing: -0.04em; color: var(--colors-forest-700); font-variant-numeric: tabular-nums; }
.bt-svc-stats__caption { font-family: var(--fonts-body); font-size: 1.0625rem; line-height: 1.5; color: var(--colors-ink-muted); margin: 0; max-width: 32ch; }
.bt-svc-stats__supporting { display: flex; flex-direction: column; gap: 1.75rem; border-left: 1px solid var(--colors-ink-line); padding-left: clamp(1.5rem, 3vw, 2.5rem); }
.bt-svc-stats__small { font-family: var(--fonts-mono); font-size: 1.5rem; font-weight: 600; color: var(--colors-ink); display: block; margin-bottom: 0.375rem; font-variant-numeric: tabular-nums; }
.bt-svc-stats__stat p { font-family: var(--fonts-body); font-size: 0.9375rem; line-height: 1.5; color: var(--colors-ink-muted); margin: 0; }

.bt-svc-what { padding: clamp(5rem, 12vw, 9rem) 0; background: var(--colors-paper); }
.bt-svc-what__label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--colors-ink-muted); margin: 0 0 1.5rem; }
.bt-svc-what__title { font-family: var(--fonts-display); font-size: clamp(2.25rem, 5vw, 3.5rem); font-weight: 600; letter-spacing: -0.025em; line-height: 1.05; margin: 0 0 1.5rem; color: var(--colors-ink); max-width: 24ch; }
.bt-svc-what__intro { font-family: var(--fonts-body); font-size: 1.0625rem; line-height: 1.6; color: var(--colors-ink-muted); margin: 0 0 var(--spacing-section-sm); max-width: 62ch; }
.bt-svc-what__intro a { color: var(--colors-forest-700); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.bt-svc-what__intro a:hover { color: var(--colors-forest-900); }
.bt-svc-what__row { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 5rem); align-items: start; padding: clamp(2.5rem, 5vw, 4rem) 0; border-top: 1px solid var(--colors-ink-line); }
.bt-svc-what__row:last-child { border-bottom: 1px solid var(--colors-ink-line); }
.bt-svc-what__num { display: flex; flex-direction: column; gap: 0.75rem; }
.bt-svc-what__num .mono { font-size: 0.875rem; color: var(--colors-ink-muted); }
.bt-svc-what__big { font-family: var(--fonts-display); font-size: clamp(2.5rem, 6vw, 4.5rem); font-weight: 600; letter-spacing: -0.03em; line-height: 1; color: var(--colors-forest-700); }
.bt-svc-what__text h3 { font-family: var(--fonts-display); font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; margin: 0 0 1rem; color: var(--colors-ink); }
.bt-svc-what__text p { font-family: var(--fonts-body); font-size: 1rem; line-height: 1.6; color: var(--colors-ink-muted); margin: 0; max-width: 55ch; }
.bt-svc-what__text a { color: var(--colors-forest-700); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.bt-svc-what__text a:hover { color: var(--colors-forest-900); }

.bt-svc-results { padding: clamp(5rem, 12vw, 9rem) 0; background: var(--colors-paper-alt); }
.bt-svc-results__label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--colors-ink-muted); margin: 0 0 1.5rem; }
.bt-svc-results__title { font-family: var(--fonts-display); font-size: clamp(2.25rem, 5vw, 3.5rem); font-weight: 600; letter-spacing: -0.025em; line-height: 1.05; margin: 0 0 var(--spacing-section-sm); color: var(--colors-ink); max-width: 22ch; }
.bt-svc-results__list { display: grid; gap: 0; }
.bt-svc-results__item { padding: clamp(2rem, 4vw, 3rem) 0; border-top: 1px solid var(--colors-ink-line); }
.bt-svc-results__item:last-child { border-bottom: 1px solid var(--colors-ink-line); }
.bt-svc-results__since { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--colors-ink-muted); margin: 0 0 0.75rem; }
.bt-svc-results__metric { font-family: var(--fonts-display); font-size: clamp(1.5rem, 3vw, 2.25rem); font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; margin: 0 0 1rem; color: var(--colors-ink); max-width: 28ch; }
.bt-svc-results__text { font-family: var(--fonts-body); font-size: 1rem; line-height: 1.6; color: var(--colors-ink-muted); margin: 0; max-width: 62ch; }
.bt-svc-results__text a { color: var(--colors-forest-700); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.bt-svc-results__text a:hover { color: var(--colors-forest-900); }

.bt-svc-related { padding: clamp(5rem, 12vw, 9rem) 0; background: var(--colors-paper); }
.bt-svc-related__label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--colors-ink-muted); margin: 0 0 1.5rem; }
.bt-svc-related__title { font-family: var(--fonts-display); font-size: clamp(2.25rem, 5vw, 3.5rem); font-weight: 600; letter-spacing: -0.025em; line-height: 1.05; margin: 0 0 var(--spacing-section-sm); color: var(--colors-ink); max-width: 22ch; }
.bt-svc-related__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--colors-ink-line); border-bottom: 1px solid var(--colors-ink-line); }
.bt-svc-related__card { padding: 2rem 1.5rem; border-right: 1px solid var(--colors-ink-line); text-decoration: none; color: var(--colors-ink); display: flex; flex-direction: column; gap: 0.5rem; transition: background-color 120ms ease; }
.bt-svc-related__card:last-child { border-right: 0; }
.bt-svc-related__card:hover { background: var(--colors-paper-alt); }
.bt-svc-related__card-title { font-family: var(--fonts-display); font-size: 1.125rem; font-weight: 600; letter-spacing: -0.015em; color: var(--colors-ink); }
.bt-svc-related__card-desc { font-family: var(--fonts-body); font-size: 0.875rem; color: var(--colors-ink-muted); line-height: 1.5; }

@media (max-width: 900px) {
  .bt-svc-stats__grid { grid-template-columns: 1fr; }
  .bt-svc-stats__supporting { border-left: 0; padding-left: 0; border-top: 1px solid var(--colors-ink-line); padding-top: 2rem; }
  .bt-svc-what__row { grid-template-columns: 1fr; gap: 1.5rem; }
  .bt-svc-related__grid { grid-template-columns: repeat(2, 1fr); }
  .bt-svc-related__card { border-bottom: 1px solid var(--colors-ink-line); }
  .bt-svc-related__card:nth-child(2n) { border-right: 0; }
  .bt-svc-related__card:nth-last-child(-n+2) { border-bottom: 0; }
}

@media (max-width: 560px) {
  .bt-svc-related__grid { grid-template-columns: 1fr; }
  .bt-svc-related__card, .bt-svc-related__card:nth-child(2n) { border-right: 0; border-bottom: 1px solid var(--colors-ink-line); }
  .bt-svc-related__card:last-child { border-bottom: 0; }
}

/* ══════════════════════════════════════════════════════════════
   Service pages — visual components (Big-Type editorial)
   .bt-svc-proof / bt-svc-gauge / bt-svc-compare / bt-svc-bar /
   bt-svc-timeline / bt-svc-feed
   ══════════════════════════════════════════════════════════════ */

.bt-svc-visual { padding: clamp(4rem, 10vw, 7rem) 0; background: var(--colors-paper); }
.bt-svc-visual--alt { background: var(--colors-paper-alt); }
.bt-svc-visual__label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--colors-ink-muted); margin: 0 0 1.5rem; }
.bt-svc-visual__title { font-family: var(--fonts-display); font-size: clamp(2rem, 4vw, 3rem); font-weight: 600; letter-spacing: -0.025em; line-height: 1.08; margin: 0 0 2rem; color: var(--colors-ink); max-width: 24ch; }
.bt-svc-visual__caption { font-family: var(--fonts-body); font-size: 0.9375rem; line-height: 1.55; color: var(--colors-ink-muted); margin: 1.5rem 0 0; max-width: 60ch; }
.bt-svc-visual__caption a { color: var(--colors-forest-700); text-decoration: underline; text-underline-offset: 3px; }

.bt-svc-proof__frame { border: 1px solid var(--colors-ink-line); border-radius: var(--radii-card); padding: clamp(1rem, 2vw, 1.5rem); background: var(--colors-paper); overflow: hidden; max-width: 960px; }
.bt-svc-proof__meta { display: flex; justify-content: space-between; gap: 1rem; margin: 0 0 1rem; font-family: var(--fonts-mono); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--colors-ink-muted); }
.bt-svc-proof__meta-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--colors-sage-600); margin-right: 0.5rem; vertical-align: middle; }
.bt-svc-proof__image { width: 100%; height: auto; border-radius: calc(var(--radii-card) - 4px); display: block; }
.bt-svc-proof__source { font-family: var(--fonts-mono); font-size: 0.6875rem; color: var(--colors-ink-muted); margin: 1rem 0 0; text-transform: uppercase; letter-spacing: 0.08em; }

.bt-svc-gauge__wrap { display: grid; grid-template-columns: auto 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; max-width: 960px; }
.bt-svc-gauge__svg { width: clamp(180px, 20vw, 260px); height: auto; display: block; }
.bt-svc-gauge__track { fill: none; stroke: var(--colors-ink-line); stroke-width: 8; }
.bt-svc-gauge__fill { fill: none; stroke: var(--colors-forest-700); stroke-width: 8; stroke-linecap: round; transform: rotate(-90deg); transform-origin: center; transition: stroke-dashoffset 800ms ease; }
.bt-svc-gauge__text { font-family: var(--fonts-mono); font-weight: 600; fill: var(--colors-ink); text-anchor: middle; dominant-baseline: central; font-variant-numeric: tabular-nums; }
.bt-svc-gauge__text--value { font-size: 48px; letter-spacing: -0.02em; }
.bt-svc-gauge__text--unit { font-size: 14px; fill: var(--colors-ink-muted); }
.bt-svc-gauge__detail h3 { font-family: var(--fonts-display); font-size: clamp(1.25rem, 2.25vw, 1.75rem); font-weight: 600; letter-spacing: -0.02em; line-height: 1.2; margin: 0 0 0.75rem; color: var(--colors-ink); }
.bt-svc-gauge__detail p { font-family: var(--fonts-body); font-size: 1rem; line-height: 1.6; color: var(--colors-ink-muted); margin: 0; max-width: 48ch; }

.bt-svc-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--colors-ink-line); border-radius: var(--radii-card); overflow: hidden; max-width: 960px; }
.bt-svc-compare__col { padding: clamp(1.5rem, 3vw, 2.5rem); background: var(--colors-paper); position: relative; }
.bt-svc-compare__col:first-child { border-right: 1px solid var(--colors-ink-line); background: var(--colors-paper-alt); }
.bt-svc-compare__eyebrow { font-family: var(--fonts-mono); font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--colors-ink-muted); margin: 0 0 1rem; display: flex; align-items: center; gap: 0.5rem; }
.bt-svc-compare__eyebrow--before::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--colors-rust-700); }
.bt-svc-compare__eyebrow--after::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--colors-sage-600); }
.bt-svc-compare__h3 { font-family: var(--fonts-display); font-size: clamp(1.125rem, 1.75vw, 1.5rem); font-weight: 600; letter-spacing: -0.015em; line-height: 1.2; margin: 0 0 1rem; color: var(--colors-ink); }
.bt-svc-compare__body { font-family: var(--fonts-body); font-size: 0.9375rem; line-height: 1.55; color: var(--colors-ink-muted); margin: 0; }
.bt-svc-compare__demo { margin-top: 1rem; padding: 0.875rem 1rem; background: var(--colors-paper); border: 1px solid var(--colors-ink-line); border-radius: var(--radii-btn); font-family: var(--fonts-mono); font-size: 0.8125rem; color: var(--colors-ink); line-height: 1.5; }
.bt-svc-compare__col:first-child .bt-svc-compare__demo { background: var(--colors-paper); }

.bt-svc-bar { display: flex; flex-direction: column; gap: 1.25rem; max-width: 760px; }
.bt-svc-bar__row { display: grid; grid-template-columns: 1fr 2fr; gap: clamp(1rem, 2vw, 1.75rem); align-items: center; }
.bt-svc-bar__label { display: flex; flex-direction: column; gap: 0.25rem; }
.bt-svc-bar__key { font-family: var(--fonts-mono); font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--colors-ink-muted); }
.bt-svc-bar__value { font-family: var(--fonts-mono); font-size: clamp(1.25rem, 2vw, 1.75rem); font-weight: 600; letter-spacing: -0.02em; color: var(--colors-ink); font-variant-numeric: tabular-nums; }
.bt-svc-bar__track { height: 6px; background: var(--colors-ink-line); border-radius: 3px; overflow: hidden; position: relative; }
.bt-svc-bar__fill { height: 100%; background: var(--colors-forest-700); border-radius: 3px; }
.bt-svc-bar__fill--rust { background: var(--colors-rust-700); }

.bt-svc-timeline { position: relative; padding: 2rem 0 3rem; max-width: 960px; }
.bt-svc-timeline__line { position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--colors-ink-line); z-index: 0; }
.bt-svc-timeline__steps { position: relative; display: grid; grid-template-columns: repeat(var(--steps, 5), 1fr); gap: 0; z-index: 1; }
.bt-svc-timeline__step { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; padding: 0 0.5rem; }
.bt-svc-timeline__dot { width: 12px; height: 12px; border-radius: 50%; background: var(--colors-forest-700); border: 3px solid var(--colors-paper); box-shadow: 0 0 0 1px var(--colors-ink-line); }
.bt-svc-timeline__step:first-child .bt-svc-timeline__dot { background: var(--colors-rust-700); }
.bt-svc-timeline__when { font-family: var(--fonts-mono); font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--colors-ink-muted); text-align: center; }
.bt-svc-timeline__what { font-family: var(--fonts-display); font-size: 0.9375rem; font-weight: 600; letter-spacing: -0.01em; color: var(--colors-ink); text-align: center; line-height: 1.3; max-width: 16ch; }
.bt-svc-timeline__step--top .bt-svc-timeline__what { order: -2; }
.bt-svc-timeline__step--top .bt-svc-timeline__when { order: -1; }

.bt-svc-feed { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1rem, 2vw, 1.5rem); max-width: 960px; }
.bt-svc-feed--single { grid-template-columns: 1fr; }
.bt-svc-feed__card { border: 1px solid var(--colors-ink-line); border-radius: var(--radii-card); padding: clamp(1.25rem, 2vw, 1.75rem); background: var(--colors-paper); }
.bt-svc-feed__source { display: flex; align-items: center; gap: 0.625rem; font-family: var(--fonts-mono); font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--colors-ink-muted); margin: 0 0 1rem; }
.bt-svc-feed__source-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--colors-forest-700); }
.bt-svc-feed__body { font-family: var(--fonts-body); font-size: 0.9375rem; line-height: 1.55; color: var(--colors-ink); margin: 0 0 0.875rem; }
.bt-svc-feed__cite { font-family: var(--fonts-mono); font-size: 0.75rem; color: var(--colors-forest-700); border-left: 2px solid var(--colors-forest-700); padding-left: 0.75rem; line-height: 1.5; }
.bt-svc-feed__mark { background: var(--colors-forest-100); color: var(--colors-forest-900); padding: 0 0.25em; font-weight: 600; }
.bt-svc-feed__label { font-family: var(--fonts-mono); font-size: 0.625rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--colors-ink-muted); margin: 1rem 0 0; }

@media (max-width: 900px) {
  .bt-svc-gauge__wrap { grid-template-columns: 1fr; gap: 1.5rem; justify-items: center; text-align: center; }
  .bt-svc-gauge__detail p { max-width: 42ch; margin: 0 auto; }
  .bt-svc-compare { grid-template-columns: 1fr; }
  .bt-svc-compare__col:first-child { border-right: 0; border-bottom: 1px solid var(--colors-ink-line); }
  .bt-svc-bar__row { grid-template-columns: 1fr; gap: 0.5rem; }
  .bt-svc-timeline__steps { grid-template-columns: 1fr; gap: 1.5rem; }
  .bt-svc-timeline__line { display: none; }
  .bt-svc-timeline__step { flex-direction: row; align-items: flex-start; gap: 1rem; text-align: left; }
  .bt-svc-timeline__step .bt-svc-timeline__what, .bt-svc-timeline__step .bt-svc-timeline__when { text-align: left; max-width: none; }
  .bt-svc-feed { grid-template-columns: 1fr; }
}
