@import url('https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,400..900;1,500..800&family=Archivo+Black&display=swap');

:root {
   color-scheme: light;
   --ink: oklch(18% 0.055 292);
   --ink-soft: oklch(34% 0.036 298);
   --muted: oklch(47% 0.025 298);
   --paper: oklch(99.2% 0.004 305);
   --canvas: oklch(97.2% 0.012 305);
   --lavender-50: oklch(96.2% 0.028 305);
   --lavender-100: oklch(92.5% 0.055 305);
   --lavender-200: oklch(85.5% 0.09 305);
   --purple: oklch(49% 0.245 298);
   --purple-dark: oklch(36% 0.19 297);
   --purple-ink: oklch(28% 0.12 296);
   --green: oklch(48% 0.13 151);
   --green-soft: oklch(94% 0.04 151);
   --amber: oklch(53% 0.12 75);
   --amber-soft: oklch(95% 0.04 75);
   --butter: oklch(91% 0.105 88);
   --butter-strong: oklch(86% 0.145 83);
   --rose: oklch(48% 0.17 22);
   --line: oklch(88.5% 0.025 303);
   --night: oklch(17% 0.05 296);
   --night-2: oklch(23% 0.07 296);
   --night-text: oklch(88% 0.025 306);
   --font: 'Archivo', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
   --font-display: 'Archivo Black', 'Archivo', -apple-system, BlinkMacSystemFont, sans-serif;
   --frame: 1280px;
   --measure: 68ch;
   --radius-sm: 12px;
   --radius-md: 20px;
   --radius-lg: 32px;
   --radius-xl: 48px;
   --shadow-sm: 0 8px 24px oklch(28% 0.08 296 / 0.08);
   --shadow-md: 0 24px 64px oklch(28% 0.08 296 / 0.14);
   --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

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

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

body {
   margin: 0;
   min-width: 320px;
   overflow-x: hidden;
   background: var(--paper);
   color: var(--ink);
   font-family: var(--font);
   font-size: 1rem;
   font-weight: 500;
   line-height: 1.5;
   text-rendering: optimizeLegibility;
   font-kerning: normal;
}

body.menu-open {
   overflow: hidden;
}

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

.site-icon-sprite {
   width: 0;
   height: 0;
   position: absolute;
   overflow: hidden;
}

.site-icon {
   width: 1.4em;
   height: 1.4em;
   display: block;
   fill: none;
   stroke: currentColor;
   stroke-width: 1.7;
   stroke-linecap: round;
   stroke-linejoin: round;
}

a {
   color: inherit;
}

button,
input,
select,
textarea {
   font: inherit;
}

h1,
h2,
h3,
h4,
p,
ul,
ol,
dl,
dd,
figure,
blockquote {
   margin: 0;
}

ul,
ol {
   padding: 0;
}

h1,
h2,
h3 {
   text-wrap: balance;
}

p,
li {
   text-wrap: pretty;
}

.skip-link {
   position: fixed;
   top: 12px;
   left: 12px;
   z-index: 500;
   translate: 0 -180%;
   border-radius: 10px;
   background: var(--ink);
   color: var(--paper);
   padding: 12px 16px;
   text-decoration: none;
   transition: translate 180ms var(--ease-out);
}

.skip-link:focus {
   translate: 0;
}

.version-switcher {
   position: fixed;
   bottom: max(18px, env(safe-area-inset-bottom));
   left: 50%;
   z-index: 300;
   display: none;
   align-items: center;
   gap: 6px;
   translate: -50% 0;
   border: 1px solid var(--line);
   border-radius: 999px;
   background: var(--paper);
   padding: 6px;
   box-shadow: var(--shadow-md);
}

.version-switcher > span {
   margin-inline: 10px 6px;
   color: var(--muted);
   font-size: 0.7rem;
   font-weight: 800;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   white-space: nowrap;
}

.version-switcher a {
   min-height: 42px;
   display: inline-flex;
   align-items: center;
   gap: 8px;
   border-radius: 999px;
   color: var(--ink-soft);
   padding: 8px 14px;
   font-size: 0.78rem;
   font-weight: 800;
   text-decoration: none;
   white-space: nowrap;
}

.version-switcher a b {
   width: 22px;
   height: 22px;
   display: grid;
   place-items: center;
   border-radius: 50%;
   background: var(--lavender-100);
   color: var(--purple-dark);
   font-size: 0.68rem;
}

.version-switcher a[aria-current='page'] {
   background: var(--ink);
   color: var(--paper);
}

.version-switcher a[aria-current='page'] b {
   background: var(--purple);
   color: var(--paper);
}

:focus-visible {
   outline: 3px solid var(--purple);
   outline-offset: 4px;
}

.container {
   width: min(100% - 40px, var(--frame));
   margin-inline: auto;
}

.narrow {
   width: min(100% - 40px, 820px);
   margin-inline: auto;
}

.section {
   padding-block: 72px;
}

.section-tight {
   padding-block: 52px;
}

.surface-soft {
   background: var(--canvas);
}

.surface-lavender {
   background: var(--lavender-50);
}

.surface-night {
   background: var(--night);
   color: var(--paper);
}

.eyebrow {
   color: var(--purple-dark);
   font-size: 0.75rem;
   font-weight: 800;
   letter-spacing: 0.12em;
   line-height: 1.2;
   text-transform: uppercase;
}

.surface-night .eyebrow {
   color: var(--lavender-200);
}

.display {
   max-width: 11ch;
   font-family: var(--font-display);
   font-size: clamp(3rem, 10vw, 5.8rem);
   font-weight: 900;
   letter-spacing: -0.055em;
   line-height: 0.94;
}

.display em,
.section-title em,
.page-title em {
   color: var(--purple);
   font-family: var(--font);
   font-style: italic;
   font-weight: 750;
   letter-spacing: -0.045em;
}

.surface-night .display em,
.surface-night .section-title em,
.surface-night .page-title em {
   color: var(--lavender-200);
}

.section-title {
   max-width: 15ch;
   font-family: var(--font-display);
   font-size: clamp(2.25rem, 7vw, 4.25rem);
   letter-spacing: -0.05em;
   line-height: 0.98;
}

.section-title.wide {
   max-width: 21ch;
}

.page-title {
   max-width: 12ch;
   font-family: var(--font-display);
   font-size: clamp(2.7rem, 9vw, 5.6rem);
   letter-spacing: -0.055em;
   line-height: 0.95;
}

.lead {
   max-width: 58ch;
   color: var(--ink-soft);
   font-size: 1.08rem;
   line-height: 1.62;
}

.surface-night .lead {
   color: var(--night-text);
   letter-spacing: 0.01em;
   line-height: 1.68;
}

.fine-print {
   max-width: var(--measure);
   color: var(--muted);
   font-size: 0.82rem;
   line-height: 1.55;
}

.surface-night .fine-print {
   color: oklch(70% 0.025 306);
}

.stack-sm > * + * {
   margin-top: 12px;
}

.stack-md > * + * {
   margin-top: 20px;
}

.stack-lg > * + * {
   margin-top: 32px;
}

.button-row {
   display: flex;
   flex-wrap: wrap;
   gap: 12px;
   align-items: center;
}

.button {
   min-height: 52px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   border: 1px solid transparent;
   border-radius: 999px;
   padding: 14px 22px;
   background: var(--ink);
   color: var(--paper);
   font-size: 0.98rem;
   font-weight: 800;
   line-height: 1;
   text-align: center;
   text-decoration: none;
   transition:
      translate 180ms var(--ease-out),
      background-color 180ms var(--ease-out),
      box-shadow 180ms var(--ease-out);
}

.button.secondary {
   border-color: var(--line);
   background: var(--paper);
   color: var(--ink);
}

.button.purple {
   background: var(--purple-dark);
}

.button.light {
   background: var(--paper);
   color: var(--ink);
}

.button.subtle {
   border-color: var(--lavender-200);
   background: var(--lavender-50);
   color: var(--purple-ink);
}

.button .arrow {
   display: inline-block;
   translate: 0 -0.04em;
   transition: translate 180ms var(--ease-out);
}

.text-link {
   display: inline-flex;
   min-height: 44px;
   align-items: center;
   gap: 8px;
   color: var(--purple-dark);
   font-weight: 800;
   text-underline-offset: 4px;
}

.site-header {
   position: sticky;
   top: 0;
   z-index: 200;
   border-bottom: 1px solid oklch(72% 0.1 299 / 0.24);
   background: var(--night);
   color: var(--paper);
   box-shadow: 0 10px 30px oklch(13% 0.04 296 / 0.1);
}

.site-header .container {
   min-height: 76px;
   display: flex;
   align-items: center;
   gap: 18px;
}

.brand {
   display: inline-flex;
   min-height: 44px;
   align-items: center;
   gap: 10px;
   color: var(--ink);
   font-size: 1rem;
   font-weight: 800;
   letter-spacing: -0.02em;
   text-decoration: none;
   white-space: nowrap;
}

.brand img {
   width: 34px;
   height: 34px;
   object-fit: contain;
}

.site-header .brand {
   gap: 12px;
   color: var(--paper);
}

.site-header .brand img {
   width: 44px;
   height: 44px;
   border: 1px solid oklch(100% 0 0 / 0.34);
   border-radius: 14px;
   background: var(--lavender-50);
   padding: 5px;
   box-shadow: inset 0 0 0 1px oklch(42% 0.16 299 / 0.08);
}

.site-header .brand span {
   display: grid;
   gap: 1px;
   font-size: 0.98rem;
   line-height: 1.1;
}

.site-header .brand span::after {
   content: 'Small credit. Clear terms.';
   color: oklch(74% 0.025 306);
   font-size: 0.57rem;
   font-weight: 750;
   letter-spacing: 0.11em;
   line-height: 1.35;
   text-transform: uppercase;
}

.desktop-nav {
   display: none;
   align-items: center;
   gap: 4px;
   margin-left: auto;
}

.desktop-nav a {
   min-height: 44px;
   display: inline-flex;
   align-items: center;
   border: 1px solid transparent;
   border-radius: 999px;
   color: oklch(82% 0.022 306);
   padding: 10px 14px;
   font-size: 0.84rem;
   font-weight: 720;
   text-decoration: none;
   transition:
      border-color 180ms var(--ease-out),
      background-color 180ms var(--ease-out),
      color 180ms var(--ease-out);
}

.desktop-nav a[aria-current='page'],
.desktop-nav a:hover {
   border-color: oklch(100% 0 0 / 0.09);
   background: oklch(100% 0 0 / 0.075);
   color: var(--paper);
}

.header-actions {
   display: flex;
   align-items: center;
   gap: 10px;
   margin-left: auto;
}

.header-actions .button {
   min-height: 44px;
   padding: 12px 20px;
   font-size: 0.84rem;
   white-space: nowrap;
}

.header-actions .secondary {
   display: none;
   border-color: oklch(100% 0 0 / 0.22);
   background: transparent;
   color: var(--paper);
}

.header-actions > .button:not(.secondary) {
   background: var(--butter);
   color: var(--ink);
   box-shadow: 0 8px 20px oklch(14% 0.04 296 / 0.2);
}

.header-actions > .button:not(.secondary):hover {
   background: var(--butter-strong);
   translate: 0 -1px;
}

.menu-button {
   width: 48px;
   height: 48px;
   display: grid;
   place-items: center;
   border: 1px solid oklch(100% 0 0 / 0.22);
   border-radius: 999px;
   background: var(--night-2);
   color: var(--paper);
   cursor: pointer;
}

.menu-button svg {
   width: 22px;
   height: 22px;
}

.menu-dialog {
   width: min(100% - 24px, 480px);
   max-height: calc(100dvh - 24px);
   margin: 12px 12px auto auto;
   overflow: auto;
   border: 1px solid oklch(100% 0 0 / 0.12);
   border-radius: 28px;
   background: var(--night);
   color: var(--paper);
   padding: 20px;
   box-shadow: var(--shadow-md);
}

.menu-dialog::backdrop {
   background: oklch(17% 0.05 296 / 0.56);
}

.menu-dialog[open] {
   animation: menu-in 260ms var(--ease-out) both;
}

@keyframes menu-in {
   from {
      opacity: 0;
      transform: translateX(24px);
   }
   to {
      opacity: 1;
      transform: none;
   }
}

.menu-head {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 16px;
}

.menu-head .brand {
   color: var(--paper);
}

.menu-head .brand img {
   width: 42px;
   height: 42px;
   border-radius: 13px;
   background: var(--lavender-50);
   padding: 5px;
}

.menu-close {
   width: 48px;
   height: 48px;
   border: 1px solid oklch(100% 0 0 / 0.18);
   border-radius: 999px;
   background: var(--night-2);
   color: var(--paper);
   cursor: pointer;
}

.menu-links {
   display: grid;
   margin-top: 24px;
}

.menu-links a {
   display: flex;
   min-height: 60px;
   align-items: center;
   justify-content: space-between;
   border-top: 1px solid oklch(100% 0 0 / 0.12);
   color: var(--paper);
   font-size: 1.3rem;
   font-weight: 750;
   text-decoration: none;
}

.menu-links a:last-child {
   border-bottom: 1px solid oklch(100% 0 0 / 0.12);
}

.menu-actions {
   display: grid;
   gap: 10px;
   margin-top: 24px;
}

.menu-actions .button {
   background: var(--butter);
   color: var(--ink);
}

.menu-actions .button.secondary {
   border-color: oklch(100% 0 0 / 0.22);
   background: transparent;
   color: var(--paper);
}

.hero-home {
   overflow: hidden;
   background: var(--lavender-50);
   padding-block: 32px 24px;
}

.hero-home .container {
   display: grid;
   gap: 28px;
}

.hero-copy {
   align-self: center;
}

.hero-copy .lead {
   max-width: 48ch;
}

.hero-walkthrough {
   display: none;
}

.version-two-actions {
   display: none;
}

.tilt-hero-photo {
   display: none;
}

.tilt-hero-disclosure {
   display: none;
}

.ask-section {
   background: var(--lavender-50);
   padding-block: 4px 56px;
}

.ask-playground {
   overflow: hidden;
   border-radius: 28px;
   background: var(--purple-ink);
   padding: 8px;
   box-shadow: var(--shadow-md);
}

.ask-shell {
   overflow: hidden;
   border-radius: 21px;
   background: var(--paper);
}

.ask-topbar {
   min-height: 72px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 14px;
   border-bottom: 1px solid var(--line);
   padding: 14px 16px;
}

.ask-topbar-copy {
   min-width: 0;
   display: flex;
   align-items: center;
   gap: 20px;
}

.ask-topbar-note,
.ask-preview-kicker,
.ask-fee {
   display: none;
}

.ask-title-lockup {
   min-width: 0;
   display: flex;
   align-items: center;
   gap: 10px;
}

.ask-title-lockup img {
   width: 34px;
   height: 34px;
   flex: 0 0 auto;
   object-fit: contain;
}

.ask-title-lockup span {
   min-width: 0;
   display: grid;
}

.ask-title-lockup small {
   color: var(--purple-dark);
   font-size: 0.67rem;
   font-weight: 800;
   letter-spacing: 0.09em;
   line-height: 1.2;
   text-transform: uppercase;
}

.ask-title-lockup strong {
   overflow: hidden;
   font-size: 0.94rem;
   line-height: 1.25;
   text-overflow: ellipsis;
   white-space: nowrap;
}

.ask-fixed {
   flex: 0 0 auto;
   border-radius: 999px;
   background: var(--lavender-100);
   color: var(--purple-ink);
   padding: 8px 10px;
   font-size: 0.72rem;
   font-weight: 750;
   white-space: nowrap;
}

.ask-fixed b {
   color: var(--ink);
   font-size: 0.84rem;
}

.ask-workspace {
   display: grid;
}

.ask-controls {
   display: grid;
   gap: 18px;
   border-bottom: 1px solid var(--line);
   background: var(--canvas);
   padding: 20px 16px;
}

.ask-choice {
   min-width: 0;
   margin: 0;
   border: 0;
   padding: 0;
}

.ask-choice legend {
   width: 100%;
   margin-bottom: 9px;
   color: var(--ink-soft);
   font-size: 0.76rem;
   font-weight: 800;
   line-height: 1.35;
}

.ask-choice legend span {
   width: 22px;
   height: 22px;
   display: inline-grid;
   place-items: center;
   margin-right: 6px;
   border-radius: 50%;
   background: var(--lavender-100);
   color: var(--purple-dark);
   font-size: 0.68rem;
}

.ask-chips {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
}

.ask-chip {
   min-height: 44px;
   display: inline-flex;
   align-items: center;
   gap: 7px;
   border: 1px solid var(--line);
   border-radius: 999px;
   background: var(--paper);
   color: var(--ink-soft);
   padding: 10px 14px;
   cursor: pointer;
   font-size: 0.82rem;
   font-weight: 750;
   line-height: 1;
   transition:
      border-color 160ms var(--ease-out),
      background-color 160ms var(--ease-out),
      color 160ms var(--ease-out),
      translate 160ms var(--ease-out);
}

.ask-chip .site-icon {
   width: 22px;
   height: 22px;
   flex: 0 0 auto;
}

.ask-chip[aria-pressed='true'] {
   border-color: var(--ink);
   background: var(--ink);
   color: var(--paper);
}

.ask-preview {
   padding: 22px 16px 18px;
}

.ask-preview.is-updating .ask-preview-reason,
.ask-preview.is-updating .ask-preview-title,
.ask-preview.is-updating .ask-terms {
   animation: ask-preview-update 320ms var(--ease-out);
}

.ask-preview-reason {
   display: flex;
   align-items: center;
   gap: 8px;
   color: var(--ink-soft);
   font-size: 0.82rem;
   font-weight: 750;
}

.ask-preview-icon {
   width: 30px;
   height: 30px;
   display: grid;
   flex: 0 0 auto;
   place-items: center;
   border-radius: 9px;
   background: var(--lavender-50);
}

.ask-preview-icon .site-icon {
   width: 20px;
   height: 20px;
   color: var(--purple-dark);
}

.ask-preview-title {
   max-width: 14ch;
   margin-top: 14px;
   font-family: var(--font-display);
   font-size: clamp(1.85rem, 8vw, 2.7rem);
   letter-spacing: -0.055em;
   line-height: 0.98;
}

.ask-preview-title strong {
   color: var(--purple);
}

.ask-terms {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 8px;
   margin-top: 18px;
}

.ask-terms div {
   min-width: 0;
   border-radius: 14px;
   background: var(--lavender-50);
   padding: 12px 10px;
}

.ask-terms dt {
   color: var(--muted);
   font-size: 0.63rem;
   font-weight: 800;
   letter-spacing: 0.04em;
   line-height: 1.25;
   text-transform: uppercase;
}

.ask-terms dd {
   margin-top: 5px;
   color: var(--ink);
   font-size: 0.92rem;
   font-weight: 850;
   line-height: 1.15;
}

.ask-continue {
   width: 100%;
   margin-top: 14px;
}

.ask-disclosure {
   margin-top: 12px;
   color: var(--muted);
   font-size: 0.7rem;
   font-weight: 600;
   line-height: 1.45;
   text-align: center;
}

@keyframes ask-preview-update {
   from {
      opacity: 0.58;
      transform: translateY(5px);
   }

   to {
      opacity: 1;
      transform: none;
   }
}

.hero-note {
   color: var(--ink-soft);
   font-size: 0.86rem;
   font-weight: 700;
}

.hero-visual {
   position: relative;
   min-height: 540px;
   overflow: hidden;
   border-radius: var(--radius-lg);
   background: var(--purple-dark);
   box-shadow: var(--shadow-md);
}

.hero-visual > img,
.hero-visual > video {
   width: 100%;
   height: 100%;
   position: absolute;
   inset: 0;
   object-fit: cover;
   object-position: center 38%;
}

.hero-visual::after {
   position: absolute;
   inset: auto 0 0;
   height: 45%;
   background: linear-gradient(180deg, transparent, oklch(17% 0.05 296 / 0.76));
   content: '';
   pointer-events: none;
}

.deal-ticket {
   position: absolute;
   right: 18px;
   bottom: 18px;
   left: 18px;
   z-index: 2;
   display: grid;
   grid-template-columns: 1fr auto;
   gap: 16px;
   align-items: end;
   border: 1px solid oklch(100% 0 0 / 0.24);
   border-radius: var(--radius-md);
   background: var(--paper);
   color: var(--ink);
   padding: 20px;
}

.deal-ticket .kicker {
   color: var(--muted);
   font-size: 0.75rem;
   font-weight: 800;
   letter-spacing: 0.1em;
   text-transform: uppercase;
}

.deal-ticket .amount {
   margin-top: 4px;
   font-family: var(--font-display);
   font-size: clamp(1.9rem, 7vw, 3rem);
   letter-spacing: -0.05em;
   line-height: 1;
}

.deal-ticket .date {
   color: var(--purple-dark);
   font-weight: 800;
   text-align: right;
}

.fact-strip {
   border-bottom: 1px solid var(--line);
   background: var(--paper);
}

.fact-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fact {
   min-height: 128px;
   padding: 24px 0;
}

.fact:nth-child(odd) {
   padding-right: 18px;
}

.fact:nth-child(even) {
   border-left: 1px solid var(--line);
   padding-left: 18px;
}

.fact:nth-child(n + 3) {
   border-top: 1px solid var(--line);
}

.fact dt {
   color: var(--muted);
   font-size: 0.75rem;
   font-weight: 800;
   letter-spacing: 0.1em;
   text-transform: uppercase;
}

.fact dd {
   margin-top: 8px;
   color: var(--ink);
   font-family: var(--font-display);
   font-size: 1.65rem;
   letter-spacing: -0.04em;
   line-height: 1.05;
}

.fact small {
   display: block;
   margin-top: 6px;
   color: var(--muted);
   font-size: 0.78rem;
   font-weight: 600;
   line-height: 1.35;
}

.split-heading {
   display: grid;
   gap: 24px;
   margin-bottom: 40px;
}

.portrait-rail {
   display: grid;
   grid-auto-columns: minmax(230px, 76vw);
   grid-auto-flow: column;
   gap: 16px;
   overflow-x: auto;
   padding: 4px 20px 18px;
   margin-inline: -20px;
   scroll-snap-type: x mandatory;
   scrollbar-width: thin;
}

.portrait {
   position: relative;
   min-height: 360px;
   overflow: hidden;
   border-radius: 24px;
   background: var(--lavender-100);
   scroll-snap-align: start;
}

.portrait img {
   width: 100%;
   height: 100%;
   position: absolute;
   inset: 0;
   object-fit: cover;
}

.portrait::after {
   position: absolute;
   inset: 48% 0 0;
   background: linear-gradient(180deg, transparent, oklch(17% 0.05 296 / 0.84));
   content: '';
}

.portrait figcaption {
   position: absolute;
   right: 18px;
   bottom: 18px;
   left: 18px;
   z-index: 1;
   color: var(--paper);
   font-size: 1rem;
   font-weight: 750;
   line-height: 1.25;
}

.portrait figcaption span {
   display: block;
   margin-bottom: 6px;
   color: var(--lavender-200);
   font-size: 0.75rem;
   letter-spacing: 0.1em;
   text-transform: uppercase;
}

.deal-section {
   background: var(--night);
   color: var(--paper);
}

.deal-section .container {
   display: grid;
   gap: 48px;
}

.deal-number {
   display: flex;
   flex-wrap: wrap;
   align-items: baseline;
   gap: 12px 18px;
   margin-top: 24px;
}

.deal-number strong {
   font-family: var(--font-display);
   font-size: clamp(3rem, 15vw, 7.5rem);
   letter-spacing: -0.07em;
   line-height: 0.85;
}

.deal-number span {
   color: var(--lavender-200);
   font-size: clamp(1.8rem, 7vw, 3.5rem);
   font-weight: 800;
}

.deal-number small {
   flex-basis: 100%;
   color: var(--night-text);
   font-size: 0.9rem;
}

.deal-visual-stage {
   display: none;
}

.term-list {
   list-style: none;
   border-top: 1px solid oklch(70% 0.05 305 / 0.25);
}

.term-list li {
   display: grid;
   grid-template-columns: 32px 1fr;
   gap: 14px;
   border-bottom: 1px solid oklch(70% 0.05 305 / 0.25);
   padding-block: 20px;
}

.term-list .mark {
   width: 28px;
   height: 28px;
   display: grid;
   place-items: center;
   border-radius: 50%;
   background: var(--lavender-200);
   color: var(--purple-ink);
   font-size: 0.62rem;
   font-weight: 900;
   letter-spacing: 0.04em;
}

.term-list b {
   display: block;
   font-size: 1.06rem;
}

.term-list small {
   display: block;
   margin-top: 4px;
   color: var(--night-text);
   font-size: 0.86rem;
   line-height: 1.5;
}

.deal-mobile-scene {
   grid-column: 1 / -1;
   min-width: 0;
   margin-top: 12px;
   overflow: hidden;
   border: 1px solid oklch(82% 0.06 303);
   border-radius: 24px;
   background: var(--lavender-100);
   color: var(--ink);
   padding: 18px;
}

.term-list li:nth-child(2) .deal-mobile-scene {
   border-color: oklch(84% 0.07 86);
   background: oklch(91% 0.08 88);
}

.term-list li:nth-child(3) .deal-mobile-scene {
   border-color: oklch(82% 0.055 155);
   background: var(--green-soft);
}

.term-list li:nth-child(4) .deal-mobile-scene {
   border-color: oklch(82% 0.06 245);
   background: oklch(91% 0.045 245);
}

.deal-mobile-label {
   display: block;
   margin-bottom: 12px;
   color: var(--purple-ink);
   font-size: 0.68rem;
   font-weight: 850;
   letter-spacing: 0.09em;
   text-transform: uppercase;
}

.deal-mobile-scene .deal-receipt-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 8px;
}

.deal-mobile-scene .deal-receipt-grid div {
   min-width: 0;
   border: 1px solid oklch(84% 0.05 303);
   border-radius: 14px;
   background: var(--paper);
   padding: 12px;
}

.deal-mobile-scene .deal-receipt-grid .deal-zero {
   border-color: oklch(82% 0.055 151);
   background: var(--green-soft);
}

.deal-mobile-scene .deal-receipt-grid dt {
   color: var(--muted);
   font-size: 0.62rem;
   font-weight: 800;
   letter-spacing: 0.05em;
   line-height: 1.2;
   text-transform: uppercase;
}

.deal-mobile-scene .deal-receipt-grid dd {
   margin-top: 5px;
   font-size: 0.94rem;
   font-weight: 850;
   line-height: 1.15;
}

.deal-mobile-scene .deal-receipt-grid .deal-zero dt,
.deal-mobile-scene .deal-receipt-grid .deal-zero dd {
   color: var(--green);
}

.deal-mobile-device {
   width: min(100%, 310px);
   max-height: 520px;
   margin-inline: auto;
   overflow: hidden;
   border: 6px solid var(--paper);
   border-radius: 28px;
   aspect-ratio: 390 / 650;
   background: var(--paper);
   box-shadow: 0 18px 42px oklch(20% 0.07 296 / 0.17);
}

.deal-mobile-device img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: top center;
}

.deal-mobile-scene figcaption {
   margin-top: 12px;
   color: var(--ink-soft);
   font-size: 0.7rem;
   font-weight: 700;
   line-height: 1.45;
   text-align: center;
}

.deal-mobile-growth,
.deal-growth-rail {
   display: grid;
   grid-template-columns: auto minmax(14px, 1fr) auto minmax(14px, 1fr) auto;
   align-items: center;
   gap: 7px;
}

.deal-mobile-growth {
   margin-top: 16px;
   border-radius: 16px;
   background: var(--paper);
   padding: 12px;
}

.deal-mobile-growth span,
.deal-growth-rail span {
   min-width: 0;
   display: grid;
   gap: 2px;
   text-align: center;
}

.deal-mobile-growth b,
.deal-growth-rail b {
   color: var(--purple-dark);
   font-size: 0.9rem;
   line-height: 1;
}

.deal-mobile-growth small,
.deal-growth-rail small {
   margin: 0;
   color: var(--muted);
   font-size: 0.52rem;
   font-weight: 750;
   line-height: 1.15;
}

.deal-mobile-growth i,
.deal-growth-rail i {
   height: 2px;
   display: block;
   background: var(--lavender-200);
}

@keyframes deal-screen-enter {
   from {
      opacity: 0;
      filter: blur(5px) saturate(0.82);
      transform: translateY(18px) scale(0.98);
   }
   to {
      opacity: 1;
      filter: none;
      transform: none;
   }
}

@keyframes deal-detail-enter {
   from {
      opacity: 0;
      transform: translateY(10px);
   }
   to {
      opacity: 1;
      transform: none;
   }
}

@keyframes deal-screen-recede {
   from {
      opacity: 0.18;
      filter: grayscale(0.72);
      transform: translateY(-8px) scale(0.96);
   }
   to {
      opacity: 0;
      filter: grayscale(0.9);
      transform: translateY(-18px) scale(0.93);
   }
}

.deal-panel.is-active .deal-product-shot {
   animation: deal-screen-enter 560ms var(--ease-out) both;
}

.deal-panel.is-active .deal-receipt-grid > div,
.deal-panel.is-active .deal-state-pill,
.deal-panel.is-active .deal-growth-rail {
   animation: deal-detail-enter 420ms var(--ease-out) both;
}

.deal-panel.is-active .deal-receipt-grid > div:nth-child(2) {
   animation-delay: 45ms;
}

.deal-panel.is-active .deal-receipt-grid > div:nth-child(3) {
   animation-delay: 90ms;
}

.deal-panel.is-active .deal-receipt-grid > div:nth-child(4),
.deal-panel.is-active .deal-state-pill,
.deal-panel.is-active .deal-growth-rail {
   animation-delay: 135ms;
}

@media (max-width: 1023px) {
   .deal-section.is-mobile-animated {
      overflow: clip;
      padding-bottom: 0;
   }

   .deal-section.is-mobile-animated .container {
      display: block;
   }

   .deal-section.is-mobile-animated .deal-story-visual {
      display: contents;
   }

   .deal-section.is-mobile-animated .deal-number {
      margin-bottom: 28px;
   }

   .deal-section.is-mobile-animated .deal-visual-stage {
      height: min(690px, calc(100svh - 92px));
      min-height: 580px;
      position: sticky;
      top: 76px;
      z-index: 2;
      display: grid;
      grid-template-rows: auto minmax(0, 1fr) auto;
      gap: 14px;
      overflow: hidden;
      border: 1px solid oklch(93% 0.03 306 / 0.38);
      border-radius: 28px;
      background: var(--lavender-100);
      color: var(--ink);
      padding: 18px;
      box-shadow: 0 24px 60px oklch(8% 0.04 296 / 0.32);
      transition: background-color 420ms var(--ease-out);
   }

   .deal-section.is-mobile-animated[data-deal-active='1'] .deal-visual-stage {
      background: var(--butter);
   }

   .deal-section.is-mobile-animated[data-deal-active='2'] .deal-visual-stage {
      background: var(--green-soft);
   }

   .deal-section.is-mobile-animated[data-deal-active='3'] .deal-visual-stage {
      background: var(--lavender-200);
   }

   .deal-section.is-mobile-animated .deal-stage-head,
   .deal-section.is-mobile-animated .deal-stage-foot {
      position: relative;
      z-index: 4;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      color: var(--purple-ink);
      font-size: 0.62rem;
      font-weight: 850;
      letter-spacing: 0.08em;
      line-height: 1.2;
      text-transform: uppercase;
   }

   .deal-section.is-mobile-animated .deal-stage-foot {
      min-height: 20px;
      letter-spacing: 0;
      text-transform: none;
   }

   .deal-section.is-mobile-animated .deal-panel-stack {
      min-height: 0;
      position: relative;
   }

   .deal-section.is-mobile-animated .deal-panel {
      position: absolute;
      inset: 0;
      z-index: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      opacity: 0;
      filter: grayscale(0.4);
      transform: translateY(28px) scale(0.97);
      visibility: hidden;
      pointer-events: none;
      transition:
         opacity 240ms var(--ease-out),
         filter 360ms var(--ease-out),
         transform 360ms var(--ease-out),
         visibility 0s linear 380ms;
   }

   .deal-section.is-mobile-animated .deal-panel.is-prev {
      z-index: 1;
      visibility: visible;
      transition-delay: 0s;
      animation: deal-screen-recede 360ms cubic-bezier(0.7, 0, 0.84, 0) both;
   }

   .deal-section.is-mobile-animated .deal-panel.is-active {
      z-index: 2;
      opacity: 1;
      filter: none;
      transform: none;
      visibility: visible;
      pointer-events: auto;
      transition-delay: 60ms, 60ms, 60ms, 0s;
   }

   .deal-section.is-mobile-animated .deal-panel-label {
      margin-bottom: 8px;
      color: var(--purple-dark);
      font-size: 0.64rem;
      font-weight: 850;
      letter-spacing: 0.09em;
      text-transform: uppercase;
   }

   .deal-section.is-mobile-animated .deal-panel h3 {
      max-width: 14ch;
      color: var(--ink);
      font-family: var(--font-display);
      font-size: clamp(1.8rem, 8vw, 2.45rem);
      letter-spacing: -0.055em;
      line-height: 0.98;
   }

   .deal-section.is-mobile-animated .deal-panel-note,
   .deal-section.is-mobile-animated .deal-product-note {
      margin-top: 12px;
      color: var(--ink-soft);
      font-size: 0.76rem;
      font-weight: 620;
      line-height: 1.45;
   }

   .deal-section.is-mobile-animated .deal-panel-note {
      display: flex;
      align-items: center;
      gap: 8px;
      color: var(--purple-ink);
      font-weight: 760;
   }

   .deal-section.is-mobile-animated .deal-panel-note > span {
      width: 22px;
      height: 22px;
      display: grid;
      flex: 0 0 auto;
      place-items: center;
      border-radius: 50%;
      background: var(--green);
      color: var(--paper);
      font-size: 0.7rem;
   }

   .deal-section.is-mobile-animated .deal-panel-product {
      display: grid;
      grid-template-rows: auto minmax(240px, 1fr);
      align-items: center;
      gap: 14px;
   }

   .deal-section.is-mobile-animated .deal-panel-product h3 {
      font-size: clamp(1.55rem, 7vw, 2rem);
   }

   .deal-section.is-mobile-animated .deal-state-pill {
      width: fit-content;
      display: inline-flex;
      align-items: center;
      gap: 7px;
      margin-top: 12px;
      border: 1px solid oklch(78% 0.055 303);
      border-radius: 999px;
      background: var(--paper);
      color: var(--purple-ink);
      padding: 7px 10px;
      font-size: 0.58rem;
      font-weight: 780;
      line-height: 1.2;
   }

   .deal-section.is-mobile-animated .deal-state-pill i {
      width: 6px;
      height: 6px;
      flex: 0 0 auto;
      border-radius: 50%;
      background: var(--green);
   }

   .deal-section.is-mobile-animated .deal-product-shot {
      width: min(100%, 214px);
      height: min(330px, 39svh);
      min-height: 260px;
      position: relative;
      justify-self: center;
      overflow: hidden;
      border: 6px solid var(--paper);
      border-radius: 25px;
      background: var(--paper);
      box-shadow: 0 18px 42px oklch(20% 0.07 296 / 0.2);
   }

   .deal-section.is-mobile-animated .deal-product-shot img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: top center;
   }

   .deal-section.is-mobile-animated .deal-product-shot figcaption {
      position: absolute;
      right: 7px;
      bottom: 7px;
      left: 7px;
      border-radius: 999px;
      background: var(--paper);
      color: var(--ink-soft);
      padding: 6px 8px;
      font-size: 0.52rem;
      font-weight: 760;
      line-height: 1.2;
      text-align: center;
      box-shadow: var(--shadow-sm);
   }

   .deal-section.is-mobile-animated .deal-receipt-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
      margin-top: 20px;
   }

   .deal-section.is-mobile-animated .deal-receipt-grid div {
      border: 1px solid oklch(78% 0.06 303);
      border-radius: 14px;
      background: var(--paper);
      padding: 12px 10px;
   }

   .deal-section.is-mobile-animated .deal-receipt-grid .deal-zero {
      border-color: oklch(78% 0.07 151);
      background: var(--green-soft);
   }

   .deal-section.is-mobile-animated .deal-receipt-grid dt {
      color: var(--muted);
      font-size: 0.58rem;
      font-weight: 800;
      letter-spacing: 0.05em;
      line-height: 1.2;
      text-transform: uppercase;
   }

   .deal-section.is-mobile-animated .deal-receipt-grid dd {
      margin-top: 5px;
      font-size: 0.94rem;
      font-weight: 850;
      line-height: 1.15;
   }

   .deal-section.is-mobile-animated .deal-receipt-grid .deal-zero dt,
   .deal-section.is-mobile-animated .deal-receipt-grid .deal-zero dd {
      color: var(--green);
   }

   .deal-section.is-mobile-animated .deal-growth-rail {
      margin-top: 12px;
      border-radius: 14px;
      background: var(--paper);
      padding: 10px;
   }

   .deal-section.is-mobile-animated .deal-progress {
      display: flex;
      gap: 5px;
   }

   .deal-section.is-mobile-animated .deal-progress i {
      width: 22px;
      height: 3px;
      display: block;
      overflow: hidden;
      border-radius: 999px;
      background: oklch(52% 0.08 297 / 0.24);
   }

   .deal-section.is-mobile-animated .deal-progress i::after {
      width: 100%;
      height: 100%;
      display: block;
      border-radius: inherit;
      background: var(--purple-dark);
      content: '';
      transform: translateX(-105%);
      transition: transform 380ms var(--ease-out);
   }

   .deal-section.is-mobile-animated .deal-progress i.is-active::after,
   .deal-section.is-mobile-animated .deal-progress i.is-complete::after {
      transform: none;
   }

   .deal-section.is-mobile-animated .term-list {
      position: relative;
      z-index: 0;
      margin-top: 0;
      border: 0;
   }

   .deal-section.is-mobile-animated .term-list li {
      min-height: 72svh;
      border: 0;
      padding: 0;
      opacity: 0;
      pointer-events: none;
   }

   .deal-section.is-mobile-animated .deal-mobile-scene {
      display: none;
   }
}

@media (min-width: 640px) and (max-width: 1023px) {
   .deal-section.is-mobile-animated .deal-visual-stage {
      height: min(640px, calc(100svh - 96px));
      min-height: 560px;
   }

   .deal-section.is-mobile-animated .deal-panel-product {
      grid-template-columns: minmax(0, 1fr) minmax(180px, 0.72fr);
      grid-template-rows: none;
      gap: 24px;
   }

   .deal-section.is-mobile-animated .deal-product-shot {
      justify-self: end;
   }
}

.product-story {
   overflow: clip;
   padding-block: 88px;
}

.product-story-layout {
   margin-top: 48px;
}

.product-story-stage {
   display: none;
}

.product-story-steps {
   display: grid;
   gap: 72px;
   list-style: none;
}

.product-story-step {
   display: grid;
   gap: 28px;
   border-top: 1px solid var(--line);
   padding-top: 28px;
}

.product-story-step .num {
   color: var(--purple-dark);
   font-size: 0.75rem;
   font-weight: 900;
   letter-spacing: 0.12em;
}

.product-story-step h3 {
   margin-top: 8px;
   font-family: var(--font-display);
   font-size: clamp(2.2rem, 9vw, 3.7rem);
   letter-spacing: -0.055em;
   line-height: 0.98;
}

.product-story-step p {
   max-width: 52ch;
   margin-top: 16px;
   color: var(--ink-soft);
   font-size: 1.02rem;
   line-height: 1.65;
}

.story-mobile-screen {
   --mobile-stage-bg: var(--purple-dark);
   --mobile-stage-ink: var(--lavender-100);
   position: relative;
   isolation: isolate;
   overflow: hidden;
   border-radius: var(--radius-lg);
   background: var(--mobile-stage-bg);
   padding: 26px 22px 18px;
}

.story-mobile-screen > img:not(.story-mobile-object) {
   width: min(100%, 330px);
   height: auto;
   position: relative;
   z-index: 1;
   display: block;
   margin-inline: auto;
   border: 8px solid var(--paper);
   border-radius: 30px;
   background: var(--paper);
   box-shadow: var(--shadow-md);
}

.story-mobile-object {
   width: 76px;
   height: 76px;
   position: absolute;
   top: 18px;
   right: 10px;
   z-index: 0;
   object-fit: contain;
   opacity: 0.92;
   transform: rotate(7deg);
}

.story-mobile-screen figcaption {
   position: relative;
   z-index: 2;
   margin-top: 14px;
   color: var(--mobile-stage-ink);
   font-size: 0.76rem;
   font-weight: 700;
   text-align: center;
}

.product-story-borrower .product-story-step:nth-child(1) {
   --mobile-stage-bg: oklch(46% 0.17 295);
   --mobile-stage-ink: var(--paper);
}

.product-story-borrower .product-story-step:nth-child(2) {
   --mobile-stage-bg: oklch(91% 0.11 92);
   --mobile-stage-ink: var(--ink);
}

.product-story-borrower .product-story-step:nth-child(3) {
   --mobile-stage-bg: oklch(86% 0.095 156);
   --mobile-stage-ink: var(--ink);
}

.product-story-borrower .product-story-step:nth-child(4) {
   --mobile-stage-bg: oklch(88% 0.08 245);
   --mobile-stage-ink: var(--ink);
}

.product-story-borrower {
   --borrower-stage-bg: oklch(46% 0.17 295);
   --borrower-stage-ink: var(--paper);
   --borrower-stage-muted: var(--lavender-100);
   --borrower-stage-track: oklch(94% 0.025 305 / 0.28);
}

.product-story-borrower[data-story-active='1'] {
   --borrower-stage-bg: oklch(91% 0.11 92);
   --borrower-stage-ink: var(--ink);
   --borrower-stage-muted: oklch(38% 0.045 75);
   --borrower-stage-track: oklch(34% 0.035 75 / 0.2);
}

.product-story-borrower[data-story-active='2'] {
   --borrower-stage-bg: oklch(86% 0.095 156);
   --borrower-stage-ink: var(--ink);
   --borrower-stage-muted: oklch(36% 0.055 156);
   --borrower-stage-track: oklch(31% 0.045 156 / 0.2);
}

.product-story-borrower[data-story-active='3'] {
   --borrower-stage-bg: oklch(88% 0.08 245);
   --borrower-stage-ink: var(--ink);
   --borrower-stage-muted: oklch(36% 0.06 245);
   --borrower-stage-track: oklch(30% 0.045 245 / 0.2);
}

.story-stage-objects {
   position: absolute;
   inset: 0;
   pointer-events: none;
}

.story-stage-object {
   width: clamp(82px, 11vw, 132px);
   height: auto;
   position: absolute;
   right: clamp(18px, 4vw, 54px);
   bottom: 16%;
   z-index: 0;
   object-fit: contain;
   opacity: 0;
   transform: translateY(18px) rotate(8deg) scale(0.88);
   transition:
      opacity 260ms var(--ease-out),
      transform 520ms var(--ease-out);
}

.product-story-borrower[data-story-active='0'] [data-story-object='0'],
.product-story-borrower[data-story-active='1'] [data-story-object='1'],
.product-story-borrower[data-story-active='2'] [data-story-object='2'],
.product-story-borrower[data-story-active='3'] [data-story-object='3'] {
   opacity: 1;
   transform: translateY(0) rotate(8deg) scale(1);
}

.product-story-lender {
   --lender-stage-bg: oklch(46% 0.17 295);
   --lender-stage-ink: var(--paper);
   --lender-stage-muted: var(--lavender-100);
   --lender-stage-track: oklch(94% 0.025 305 / 0.26);
   --lender-stage-panel: oklch(78% 0.1 305 / 0.34);
   background: var(--paper);
}

.product-story-lender[data-story-active='1'] {
   --lender-stage-bg: oklch(91% 0.11 92);
   --lender-stage-ink: var(--ink);
   --lender-stage-muted: oklch(38% 0.045 75);
   --lender-stage-track: oklch(34% 0.035 75 / 0.18);
   --lender-stage-panel: oklch(66% 0.14 67 / 0.22);
}

.product-story-lender[data-story-active='2'] {
   --lender-stage-bg: oklch(86% 0.095 156);
   --lender-stage-ink: var(--ink);
   --lender-stage-muted: oklch(36% 0.055 156);
   --lender-stage-track: oklch(31% 0.045 156 / 0.18);
   --lender-stage-panel: oklch(61% 0.12 158 / 0.18);
}

.product-story-lender[data-story-active='3'] {
   --lender-stage-bg: oklch(88% 0.08 245);
   --lender-stage-ink: var(--ink);
   --lender-stage-muted: oklch(36% 0.06 245);
   --lender-stage-track: oklch(30% 0.045 245 / 0.18);
   --lender-stage-panel: oklch(62% 0.11 246 / 0.18);
}

.product-story-lender .product-story-step:nth-child(1) {
   --mobile-stage-bg: oklch(46% 0.17 295);
   --mobile-stage-ink: var(--paper);
}

.product-story-lender .product-story-step:nth-child(2) {
   --mobile-stage-bg: oklch(91% 0.11 92);
   --mobile-stage-ink: var(--ink);
}

.product-story-lender .product-story-step:nth-child(3) {
   --mobile-stage-bg: oklch(86% 0.095 156);
   --mobile-stage-ink: var(--ink);
}

.product-story-lender .product-story-step:nth-child(4) {
   --mobile-stage-bg: oklch(88% 0.08 245);
   --mobile-stage-ink: var(--ink);
}

.product-story-lender .story-mobile-screen {
   background: var(--mobile-stage-bg);
}

.product-story-lender .story-mobile-screen img {
   width: min(100%, 270px);
}

.product-story-lender .story-mobile-screen figcaption {
   color: var(--mobile-stage-ink);
}

.never-grid {
   display: grid;
   gap: 40px;
}

.never-list {
   list-style: none;
}

.never-list li {
   display: grid;
   grid-template-columns: auto 1fr;
   gap: 14px;
   border-top: 1px solid oklch(70% 0.05 305 / 0.25);
   padding-block: 20px;
}

.never-list li:last-child {
   border-bottom: 1px solid oklch(70% 0.05 305 / 0.25);
}

.never-list .icon {
   width: 50px;
   height: 50px;
   display: grid;
   place-items: center;
   overflow: hidden;
   border: 1px solid oklch(82% 0.06 305 / 0.28);
   border-radius: 16px;
   background: oklch(27% 0.08 296);
}

.never-list .icon .site-icon {
   width: 26px;
   height: 26px;
   color: var(--lavender-200);
}

.never-list b {
   display: block;
   font-size: 1.05rem;
}

.never-list span:last-child {
   color: var(--night-text);
}

.dignity-section {
   overflow: hidden;
   padding-block: 92px 104px;
}

.dignity-heading {
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
}

.dignity-heading .section-title {
   max-width: 14ch;
   margin-top: 18px;
   font-family: var(--font);
   font-size: clamp(2.7rem, 10vw, 4.8rem);
   font-weight: 520;
   letter-spacing: -0.055em;
   line-height: 1;
   scroll-margin-top: 112px;
}

.dignity-heading .lead {
   max-width: 44ch;
   margin-top: 20px;
   font-size: 1rem;
}

.dignity-grid {
   width: min(100%, 1040px);
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
   column-gap: clamp(40px, 8vw, 112px);
   row-gap: 76px;
   margin: 72px auto 0;
}

.dignity-promise {
   min-width: 0;
   display: grid;
   justify-items: center;
   align-content: start;
   text-align: center;
}

.dignity-graphic {
   width: min(100%, 240px);
   color: oklch(88% 0.055 305);
}

.dignity-graphic svg {
   width: 100%;
   height: auto;
   display: block;
   overflow: visible;
   fill: none;
   stroke: currentColor;
   stroke-width: 1.25;
   stroke-linecap: round;
   stroke-linejoin: round;
   vector-effect: non-scaling-stroke;
}

.dignity-graphic .dignity-graphic-accent {
   fill: var(--green);
   stroke: none;
}

.dignity-promise h3 {
   max-width: 24ch;
   margin-top: 26px;
   font-family: var(--font);
   font-size: clamp(1.25rem, 4vw, 1.55rem);
   font-weight: 650;
   letter-spacing: -0.035em;
   line-height: 1.2;
}

.dignity-promise p {
   max-width: 34ch;
   margin-top: 12px;
   color: var(--night-text);
   font-size: 0.94rem;
   line-height: 1.58;
}

.dignity-carousel-controls {
   display: none;
}

@media (max-width: 699px) {
   .dignity-section {
      padding-block: 72px 80px;
   }

   .dignity-heading .section-title {
      max-width: 12ch;
      margin-top: 14px;
      font-size: clamp(2.55rem, 12vw, 3.25rem);
   }

   .dignity-heading .lead {
      max-width: 32ch;
      margin-top: 16px;
      font-size: 0.94rem;
   }

   .dignity-grid {
      width: 100%;
      display: flex;
      gap: 18px;
      overflow-x: auto;
      margin-top: 48px;
      scroll-behavior: smooth;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
      overscroll-behavior-inline: contain;
      -webkit-overflow-scrolling: touch;
   }

   .dignity-grid::-webkit-scrollbar {
      display: none;
   }

   .dignity-promise {
      flex: 0 0 100%;
      min-height: 400px;
      scroll-snap-align: start;
      scroll-snap-stop: always;
   }

   .dignity-graphic {
      width: min(100%, 210px);
   }

   .dignity-promise h3 {
      margin-top: 20px;
      font-size: 1.35rem;
   }

   .dignity-promise p {
      max-width: 30ch;
      margin-top: 10px;
      font-size: 0.9rem;
   }

   .dignity-carousel-controls {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      margin-top: 20px;
   }

   .dignity-carousel-status {
      color: var(--lavender-200);
      font-size: 0.82rem;
      font-weight: 800;
      letter-spacing: 0.08em;
   }

   .dignity-carousel-buttons {
      display: flex;
      gap: 10px;
   }

   .dignity-carousel-buttons button {
      width: 46px;
      height: 46px;
      display: grid;
      place-items: center;
      border: 1px solid oklch(82% 0.06 305 / 0.32);
      border-radius: 50%;
      background: oklch(27% 0.08 296);
      color: var(--paper);
      font: inherit;
      font-size: 1.15rem;
      line-height: 1;
      cursor: pointer;
   }

   .dignity-carousel-buttons button:focus-visible {
      outline: 3px solid var(--lavender-200);
      outline-offset: 3px;
   }
}

@media (min-width: 700px) {
   .dignity-section {
      padding-block: 80px 88px;
   }

   .dignity-heading {
      max-width: 680px;
      margin-inline: auto;
   }

   .dignity-heading .section-title {
      max-width: 14ch;
      margin-top: 14px;
      font-size: clamp(3.15rem, 5vw, 4rem);
   }

   .dignity-heading .lead {
      max-width: 46ch;
      margin-top: 16px;
      padding: 0;
      font-size: 0.98rem;
   }

   .dignity-grid {
      width: min(100%, 860px);
      grid-template-columns: repeat(2, minmax(0, 1fr));
      column-gap: clamp(48px, 7vw, 88px);
      row-gap: 52px;
      margin-top: 54px;
   }

   .dignity-graphic {
      width: min(100%, 180px);
   }

   .dignity-promise h3 {
      margin-top: 16px;
      font-size: 1.28rem;
   }

   .dignity-promise p {
      margin-top: 8px;
      font-size: 0.9rem;
   }
}

.proof-grid {
   display: grid;
   gap: 40px;
}

.video-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 12px;
}

.video-card {
   position: relative;
   min-height: 330px;
   overflow: hidden;
   border-radius: var(--radius-md);
   background: var(--night);
   color: var(--paper);
   text-decoration: none;
}

.video-card img {
   width: 100%;
   height: 100%;
   position: absolute;
   inset: 0;
   object-fit: cover;
}

.video-card::after {
   position: absolute;
   inset: 45% 0 0;
   background: linear-gradient(180deg, transparent, oklch(17% 0.05 296 / 0.88));
   content: '';
}

.video-card .play {
   width: 48px;
   height: 48px;
   position: absolute;
   top: 16px;
   left: 16px;
   z-index: 1;
   display: grid;
   place-items: center;
   border-radius: 50%;
   background: var(--paper);
   color: var(--ink);
}

.video-card .label {
   position: absolute;
   right: 16px;
   bottom: 16px;
   left: 16px;
   z-index: 1;
   font-size: 0.82rem;
   font-weight: 800;
}

.quote {
   border-top: 1px solid var(--line);
   border-bottom: 1px solid var(--line);
   padding-block: 28px;
   color: var(--ink);
   font-size: clamp(1.35rem, 5vw, 2rem);
   font-weight: 750;
   letter-spacing: -0.035em;
   line-height: 1.25;
}

.person-row {
   display: flex;
   flex-wrap: wrap;
   gap: 20px;
}

.person {
   display: grid;
   grid-template-columns: 56px 1fr;
   gap: 12px;
   align-items: center;
}

.person img {
   width: 56px;
   height: 56px;
   border-radius: 50%;
   object-fit: cover;
}

.person b,
.person small {
   display: block;
}

.person small {
   margin-top: 2px;
   color: var(--muted);
   font-size: 0.78rem;
}

.level-layout {
   display: grid;
   gap: 40px;
}

.level-visual {
   min-width: 0;
}

.level-track {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 8px;
   align-items: end;
}

.level {
   display: grid;
   gap: 10px;
}

.level-bar {
   position: relative;
   display: grid;
   place-items: start center;
   min-height: 62px;
   overflow: visible;
   border-radius: 16px 16px 6px 6px;
   background: var(--lavender-100);
   transform: scaleY(0.08);
   transform-origin: bottom;
   transition: transform 720ms var(--ease-out);
}

.level:nth-child(2) .level-bar {
   transition-delay: 90ms;
}

.level:nth-child(3) .level-bar {
   transition-delay: 180ms;
}

.level:nth-child(4) .level-bar {
   transition-delay: 270ms;
}

.level-visual.is-visible .level-bar {
   transform: scaleY(1);
}

.level:nth-child(2) .level-bar {
   min-height: 92px;
}

.level:nth-child(3) .level-bar {
   min-height: 128px;
}

.level:nth-child(4) .level-bar {
   min-height: 164px;
   background: var(--purple-dark);
}

.level-lock {
   width: clamp(46px, 7vw, 72px);
   height: auto;
   position: absolute;
   top: 0;
   left: 50%;
   margin-top: -30px;
   object-fit: contain;
   transform: translateX(-50%) translateY(10px) rotate(5deg);
   transition:
      opacity 320ms var(--ease-out) 640ms,
      transform 520ms var(--ease-out) 640ms;
}

.level-lock-closed {
   opacity: 1;
}

.level-lock-open {
   opacity: 0;
}

.level-visual.is-visible .level-lock-closed {
   opacity: 0;
   transform: translateX(-50%) translateY(0) rotate(5deg);
   transition-delay: 480ms;
}

.level-visual.is-visible .level-lock-open {
   opacity: 1;
   transform: translateX(-50%) translateY(0) rotate(5deg);
}

.level b {
   text-align: center;
   font-size: 0.92rem;
}

.level small {
   color: var(--muted);
   font-size: 0.68rem;
   font-weight: 700;
   line-height: 1.25;
   text-align: center;
}

.level-note {
   max-width: 54ch;
   margin-top: 18px;
   color: var(--muted);
   font-size: 0.72rem;
   font-weight: 650;
   line-height: 1.5;
}

.faq-layout {
   display: grid;
   gap: 40px;
}

.faq-list {
   border-top: 1px solid var(--line);
}

.faq-list details {
   border-bottom: 1px solid var(--line);
}

.faq-list summary {
   min-height: 68px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 20px;
   padding-block: 16px;
   color: var(--ink);
   cursor: pointer;
   font-size: 1rem;
   font-weight: 800;
   list-style: none;
}

.faq-list summary::-webkit-details-marker {
   display: none;
}

.faq-list summary::after {
   width: 28px;
   height: 28px;
   flex: 0 0 auto;
   display: grid;
   place-items: center;
   border-radius: 50%;
   background: var(--lavender-50);
   color: var(--purple-dark);
   content: '+';
}

.faq-list details[open] summary::after {
   content: '−';
}

.faq-answer {
   max-width: 64ch;
   padding: 0 0 22px;
   color: var(--ink-soft);
   line-height: 1.65;
}

.final-cta {
   padding-block: 76px;
   background: var(--purple-dark);
   color: var(--paper);
   text-align: center;
}

.final-cta .section-title,
.final-cta .lead {
   margin-inline: auto;
}

.final-cta .lead {
   color: var(--night-text);
}

.final-cta .button-row {
   justify-content: center;
}

.site-footer {
   background: var(--night);
   color: var(--night-text);
   padding-block: 56px 28px;
}

.footer-grid {
   display: grid;
   gap: 36px;
}

.footer-brand .brand {
   color: var(--paper);
}

.footer-brand p {
   max-width: 32ch;
   margin-top: 12px;
   color: var(--night-text);
}

.footer-links {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 28px;
}

.footer-links h2 {
   color: var(--lavender-200);
   font-size: 0.75rem;
   letter-spacing: 0.1em;
   text-transform: uppercase;
}

.footer-links a {
   display: block;
   min-height: 44px;
   padding-block: 8px;
   color: var(--paper);
   font-size: 0.9rem;
   font-weight: 700;
   text-decoration: none;
}

.footer-fine {
   margin-top: 40px;
   border-top: 1px solid oklch(70% 0.05 305 / 0.25);
   padding-top: 20px;
   color: oklch(69% 0.025 306);
   font-size: 0.76rem;
   line-height: 1.55;
}

.footer-fine a {
   min-height: 44px;
   display: inline-flex;
   align-items: center;
}

.page-hero {
   overflow: hidden;
   background: var(--lavender-50);
   padding-block: 52px 68px;
}

.page-hero .container {
   display: grid;
   gap: 40px;
}

.page-hero-copy {
   align-self: center;
}

.page-visual {
   position: relative;
   min-height: 460px;
   overflow: hidden;
   border-radius: var(--radius-lg);
   background: var(--purple-dark);
   padding: 24px;
}

.page-visual.cream {
   background: var(--canvas);
}

.page-visual.night {
   background: var(--night);
}

.device {
   width: min(100%, 330px);
   margin-inline: auto;
   overflow: hidden;
   border: 10px solid var(--paper);
   border-radius: 32px;
   background: var(--paper);
   box-shadow: var(--shadow-md);
}

.device img {
   width: 100%;
   height: auto;
   border-radius: 21px;
}

.visual-caption {
   margin-top: 18px;
   color: var(--muted);
   font-size: 0.8rem;
   text-align: center;
}

.hero-assurances {
   display: grid;
   gap: 10px;
   list-style: none;
}

.hero-assurances li {
   display: flex;
   align-items: center;
   gap: 10px;
   color: var(--ink-soft);
   font-size: 0.9rem;
   font-weight: 700;
}

.hero-assurances li span {
   width: 24px;
   height: 24px;
   display: inline-grid;
   flex: 0 0 auto;
   place-items: center;
   border-radius: 999px;
   background: var(--green-soft);
   color: var(--green);
   font-size: 0.72rem;
   font-weight: 900;
}

.product-proof {
   background: var(--purple-dark);
}

.product-proof .visual-caption {
   color: var(--lavender-100);
}

.live-dot {
   width: 7px;
   height: 7px;
   display: inline-block;
   margin-right: 7px;
   border-radius: 999px;
   background: var(--green);
   box-shadow: 0 0 0 4px oklch(75% 0.12 151 / 0.18);
}

.money-flow-section {
   border-block: 1px solid var(--line);
   background: var(--paper);
   padding-block: 72px;
}

.money-flow-heading {
   display: grid;
   gap: 12px;
}

.money-flow-heading h2 {
   max-width: 24ch;
   font-family: var(--font-display);
   font-size: clamp(2rem, 7vw, 4.5rem);
   letter-spacing: -0.055em;
   line-height: 0.98;
}

.money-flow {
   display: grid;
   gap: 12px;
   margin-top: 40px;
   border-block: 1px solid var(--line);
   padding-block: 12px;
}

.flow-node {
   min-width: 0;
   display: flex;
   align-items: center;
   gap: 14px;
   padding: 12px 4px;
}

.flow-icon {
   width: 48px;
   height: 48px;
   display: grid;
   flex: 0 0 auto;
   place-items: center;
   border-radius: 999px;
   background: var(--lavender-50);
   color: var(--purple);
}

.flow-icon svg {
   width: 23px;
   height: 23px;
   fill: none;
   stroke: currentColor;
   stroke-linecap: round;
   stroke-linejoin: round;
   stroke-width: 1.8;
}

.flow-node b,
.flow-node small {
   display: block;
}

.flow-node b {
   font-size: 1rem;
}

.flow-node small {
   margin-top: 2px;
   color: var(--muted);
   font-size: 0.78rem;
   line-height: 1.4;
}

.flow-arrow {
   color: var(--purple);
   font-size: 1.35rem;
   font-weight: 900;
   text-align: center;
   rotate: 90deg;
}

.flow-disclaimer {
   max-width: 76ch;
   margin-top: 22px;
   color: var(--muted);
   font-size: 0.82rem;
   line-height: 1.65;
}

.chapter-points {
   display: grid;
   margin-top: 24px;
   border-top: 1px solid var(--line);
   list-style: none;
}

.chapter-points li {
   display: grid;
   grid-template-columns: 34px minmax(0, 1fr);
   gap: 12px;
   border-bottom: 1px solid var(--line);
   padding-block: 13px;
   color: var(--ink-soft);
   font-size: 0.86rem;
   font-weight: 700;
   line-height: 1.5;
}

.chapter-points li span {
   color: var(--purple);
   font-size: 0.72rem;
   font-weight: 900;
   letter-spacing: 0.08em;
}

.network-warning {
   display: flex;
   align-items: flex-start;
   gap: 12px;
   margin-top: 24px;
   border: 1px solid var(--lavender-200);
   border-radius: var(--radius-md);
   background: var(--lavender-50);
   padding: 16px;
}

.network-warning > span {
   width: 28px;
   height: 28px;
   display: grid;
   flex: 0 0 auto;
   place-items: center;
   border-radius: 999px;
   background: var(--purple);
   color: var(--paper);
   font-size: 0.78rem;
   font-weight: 900;
}

.network-warning p {
   margin: 0;
   color: var(--ink-soft);
   font-size: 0.82rem;
   line-height: 1.55;
}

.product-screen {
   position: relative;
   background: var(--purple-dark);
   padding-bottom: 64px;
}

.product-screen.stage-soft {
   background: var(--lavender-100);
}

.product-screen.stage-night {
   background: var(--night);
}

.guide-media.product-screen img {
   width: min(100%, 390px);
   max-height: 680px;
   border: 8px solid var(--paper);
   border-radius: 30px;
   object-fit: cover;
   object-position: top center;
   box-shadow: var(--shadow-md);
}

.product-screen figcaption {
   position: absolute;
   right: 20px;
   bottom: 20px;
   left: 20px;
   color: var(--paper);
   font-size: 0.72rem;
   font-weight: 800;
   letter-spacing: 0.08em;
   text-align: center;
   text-transform: uppercase;
}

.product-screen.stage-soft figcaption {
   color: var(--purple-ink);
}

.human-context {
   background: var(--canvas);
   padding-block: 72px;
}

.human-context-grid {
   display: grid;
   gap: 36px;
   align-items: center;
}

.human-context-photo {
   position: relative;
   min-height: 420px;
   overflow: hidden;
   border-radius: var(--radius-lg);
   background: var(--lavender-100);
}

.human-context-photo img {
   width: 100%;
   height: 100%;
   position: absolute;
   inset: 0;
   object-fit: cover;
}

.human-context-photo::after {
   position: absolute;
   inset: 58% 0 0;
   background: linear-gradient(180deg, transparent, oklch(16% 0.045 296 / 0.84));
   content: '';
}

.human-context-photo figcaption {
   position: absolute;
   right: 22px;
   bottom: 20px;
   left: 22px;
   z-index: 1;
   color: var(--paper);
   font-size: 0.76rem;
   font-weight: 800;
   letter-spacing: 0.06em;
   text-transform: uppercase;
}

.human-context-copy {
   max-width: 620px;
}

.money-trust-callout {
   background: var(--purple-dark);
}

.guide-list {
   display: grid;
}

.guide-step {
   display: grid;
   gap: 28px;
   border-top: 1px solid var(--line);
   padding-block: 48px;
}

.guide-step:last-child {
   border-bottom: 1px solid var(--line);
}

.guide-copy {
   align-self: center;
}

.step-number {
   display: inline-flex;
   min-width: 44px;
   height: 44px;
   align-items: center;
   justify-content: center;
   border-radius: 999px;
   background: var(--ink);
   color: var(--paper);
   font-size: 0.8rem;
   font-weight: 900;
}

.guide-copy h2 {
   max-width: 17ch;
   margin-top: 18px;
   font-family: var(--font-display);
   font-size: clamp(2rem, 7vw, 3.6rem);
   letter-spacing: -0.05em;
   line-height: 1;
}

.guide-copy p {
   max-width: 60ch;
   margin-top: 16px;
   color: var(--ink-soft);
   line-height: 1.65;
}

.guide-media {
   min-height: 380px;
   display: grid;
   place-items: center;
   overflow: hidden;
   border-radius: var(--radius-lg);
   background: var(--lavender-50);
   padding: 24px;
}

.guide-media img {
   width: min(100%, 340px);
   max-height: 560px;
   border-radius: 22px;
   object-fit: cover;
   object-position: top center;
   box-shadow: var(--shadow-sm);
}

.guide-media.photo img {
   width: 100%;
   height: 100%;
   max-height: none;
   border-radius: 0;
   object-fit: cover;
   box-shadow: none;
}

.callout {
   border-radius: var(--radius-lg);
   background: var(--night);
   color: var(--paper);
   padding: 28px;
}

.callout h2 {
   max-width: 18ch;
   font-family: var(--font-display);
   font-size: clamp(2rem, 7vw, 3.4rem);
   letter-spacing: -0.05em;
   line-height: 1;
}

.callout p {
   max-width: 58ch;
   margin-top: 16px;
   color: var(--night-text);
   line-height: 1.68;
}

.stat-line {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   margin-top: 32px;
   border-top: 1px solid var(--line);
}

.stat {
   min-height: 132px;
   padding: 20px 16px 20px 0;
}

.stat:nth-child(even) {
   border-left: 1px solid var(--line);
   padding-left: 16px;
}

.stat:nth-child(n + 3) {
   border-top: 1px solid var(--line);
}

.stat strong {
   display: block;
   font-family: var(--font-display);
   font-size: clamp(2rem, 8vw, 3.7rem);
   letter-spacing: -0.05em;
   line-height: 1;
}

.stat span {
   display: block;
   margin-top: 8px;
   color: var(--muted);
   font-size: 0.78rem;
   line-height: 1.4;
}

.request-grid {
   display: grid;
   gap: 16px;
   margin-top: 36px;
}

.request-card {
   border-top: 1px solid var(--line);
   padding-block: 24px;
}

.request-card h3 {
   font-family: var(--font-display);
   font-size: 1.45rem;
   letter-spacing: -0.035em;
   line-height: 1.08;
}

.request-card .reason {
   min-height: 48px;
   margin-top: 8px;
   color: var(--ink-soft);
}

.request-terms {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 12px;
   margin-top: 20px;
}

.request-terms div {
   border-top: 1px solid var(--line);
   padding-top: 10px;
}

.request-terms dt {
   color: var(--muted);
   font-size: 0.75rem;
   font-weight: 800;
   letter-spacing: 0.06em;
   text-transform: uppercase;
}

.request-terms dd {
   margin-top: 4px;
   font-size: 1.05rem;
   font-weight: 800;
}

.request-showcase-section {
   overflow: hidden;
   padding-block: 84px 92px;
}

.request-showcase-heading {
   max-width: 1100px;
   margin-inline: auto;
   text-align: center;
}

.request-showcase-heading h2 {
   max-width: 14ch;
   margin: 18px auto 0;
   font-family: var(--font-display);
   font-size: clamp(3rem, 11vw, 6.4rem);
   letter-spacing: -0.06em;
   line-height: 0.93;
}

.request-showcase-heading h2 em {
   color: var(--lavender-200);
   font-family: var(--font);
   font-style: italic;
   font-weight: 750;
   letter-spacing: -0.045em;
}

.request-showcase-heading .lead {
   max-width: 53ch;
   margin: 24px auto 0;
}

.request-poster-deck {
   display: grid;
   grid-auto-columns: minmax(286px, 86vw);
   grid-auto-flow: column;
   gap: 16px;
   overflow-x: auto;
   margin-top: 52px;
   padding: 4px 2px 20px;
   scrollbar-width: none;
   scroll-padding-inline: 2px;
   scroll-snap-type: x mandatory;
}

.request-poster-deck::-webkit-scrollbar {
   display: none;
}

.request-poster {
   --poster-bg: var(--lavender-100);
   --poster-offset: 0px;
   position: relative;
   min-height: 500px;
   display: flex;
   flex-direction: column;
   overflow: hidden;
   border-radius: 32px;
   background: var(--poster-bg);
   color: var(--ink);
   padding: 28px;
   translate: 0 var(--poster-offset);
   scroll-snap-align: start;
   isolation: isolate;
   transition: translate 220ms var(--ease-out);
}

.request-poster::before {
   width: 210px;
   height: 210px;
   position: absolute;
   top: -112px;
   right: -74px;
   z-index: -1;
   border: 42px solid oklch(99% 0.01 305 / 0.48);
   border-radius: 50%;
   content: '';
}

.request-poster-butter {
   --poster-bg: oklch(91% 0.11 92);
}

.request-poster-lavender {
   --poster-bg: oklch(84% 0.12 305);
}

.request-poster-mint {
   --poster-bg: oklch(86% 0.095 156);
}

.request-poster-top {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 18px;
   border-bottom: 1px solid oklch(27% 0.07 296 / 0.24);
   padding-bottom: 16px;
}

.request-poster-top span {
   font-size: 0.7rem;
   font-weight: 900;
   letter-spacing: 0.12em;
}

.request-poster-top strong {
   font-size: 0.86rem;
   font-weight: 900;
}

.request-poster h3 {
   max-width: 17ch;
   margin-top: 24px;
   font-family: var(--font-display);
   font-size: clamp(1.7rem, 7vw, 2.35rem);
   letter-spacing: -0.045em;
   line-height: 1;
}

.request-poster-amount {
   display: grid;
   margin-top: auto;
   padding-top: 36px;
}

.request-poster-amount span {
   font-size: 0.72rem;
   font-weight: 900;
   letter-spacing: 0.1em;
   text-transform: uppercase;
}

.request-poster-amount strong {
   margin-top: 4px;
   font-family: var(--font-display);
   font-size: clamp(5.1rem, 24vw, 7.4rem);
   letter-spacing: -0.075em;
   line-height: 0.82;
}

.request-poster-terms {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 18px;
   margin-top: 30px;
   border-top: 1px solid oklch(27% 0.07 296 / 0.24);
   padding-top: 18px;
}

.request-poster-terms dt {
   font-size: 0.65rem;
   font-weight: 900;
   letter-spacing: 0.08em;
   text-transform: uppercase;
}

.request-poster-terms dd {
   margin-top: 5px;
   font-size: 0.94rem;
   font-weight: 850;
   line-height: 1.25;
}

.request-poster-record {
   display: flex;
   align-items: center;
   gap: 8px;
   margin-top: 18px;
   font-size: 0.72rem;
   font-weight: 850;
}

.request-poster-record span {
   width: 22px;
   height: 22px;
   display: grid;
   place-items: center;
   border-radius: 50%;
   background: var(--ink);
   color: var(--paper);
   font-size: 0.66rem;
}

.request-showcase-foot {
   display: grid;
   gap: 22px;
   align-items: center;
   margin-top: 28px;
   border-top: 1px solid oklch(72% 0.06 303 / 0.26);
   padding-top: 24px;
}

.request-showcase-foot .fine-print {
   max-width: 66ch;
}

.request-showcase-foot .button {
   width: fit-content;
}

.record-list {
   display: grid;
   gap: 0;
   margin-top: 28px;
   border-top: 1px solid var(--line);
   list-style: none;
}

.record-list li {
   min-height: 52px;
   display: flex;
   align-items: center;
   gap: 12px;
   border-bottom: 1px solid var(--line);
}

.record-list .check {
   color: var(--green);
   font-weight: 900;
}

.risk-grid {
   display: grid;
   gap: 28px;
   margin-top: 36px;
}

.risk-list {
   list-style: none;
   border-top: 1px solid oklch(70% 0.05 305 / 0.25);
}

.risk-list li {
   display: grid;
   grid-template-columns: 24px 1fr;
   gap: 10px;
   border-bottom: 1px solid oklch(70% 0.05 305 / 0.25);
   padding-block: 14px;
   color: var(--night-text);
}

.risk-list .ok {
   color: oklch(74% 0.13 151);
}

.risk-list .warn {
   color: oklch(78% 0.11 75);
}

.timeline {
   display: grid;
   gap: 0;
}

.chapter {
   display: grid;
   gap: 28px;
   border-top: 1px solid var(--line);
   padding-block: 48px;
}

.chapter-copy {
   align-self: center;
}

.chapter h2 {
   max-width: 16ch;
   margin-top: 14px;
   font-family: var(--font-display);
   font-size: clamp(2rem, 7vw, 3.4rem);
   letter-spacing: -0.05em;
   line-height: 1;
}

.chapter p {
   max-width: 62ch;
   margin-top: 16px;
   color: var(--ink-soft);
   line-height: 1.68;
}

.chapter-media {
   min-height: 360px;
   overflow: hidden;
   border-radius: var(--radius-lg);
   background: var(--lavender-50);
}

.chapter-media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.chapter-media.contain img {
   object-fit: contain;
   padding: 36px;
}

.team-grid {
   display: grid;
   gap: 24px;
   margin-top: 36px;
}

.team-member {
   display: grid;
   grid-template-columns: 88px 1fr;
   gap: 18px;
   align-items: center;
   border-top: 1px solid var(--line);
   padding-top: 24px;
}

.team-member img {
   width: 88px;
   height: 88px;
   border-radius: 50%;
   object-fit: cover;
}

.team-member h3 {
   font-family: var(--font-display);
   font-size: 1.45rem;
   letter-spacing: -0.04em;
}

.team-member p {
   margin-top: 4px;
   color: var(--muted);
   font-size: 0.9rem;
}

.support-section {
   position: relative;
   overflow: hidden;
   border-block: 1px solid oklch(84% 0.045 82);
   background: oklch(96.5% 0.035 83);
   padding-block: 80px;
}

.support-section::before {
   position: absolute;
   top: -160px;
   right: -120px;
   width: 440px;
   height: 440px;
   border: 90px solid oklch(83% 0.1 82 / 0.23);
   border-radius: 50%;
   content: '';
   pointer-events: none;
}

.support-section .container {
   position: relative;
   z-index: 1;
}

.support-heading {
   display: grid;
   gap: 28px;
   margin-bottom: 44px;
}

.support-heading .section-title {
   max-width: 16ch;
}

.support-heading-copy {
   align-self: end;
   max-width: 58ch;
}

.support-region {
   border-left: 3px solid var(--purple);
   color: var(--ink-soft);
   padding-left: 16px;
   line-height: 1.6;
}

.support-region strong {
   color: var(--ink);
}

.support-collage {
   display: grid;
   gap: 14px;
}

.support-photo {
   position: relative;
   min-height: 380px;
   overflow: hidden;
   border-radius: 28px;
   background: var(--lavender-100);
   box-shadow: 0 20px 48px oklch(35% 0.07 70 / 0.12);
}

.support-photo::after {
   position: absolute;
   inset: 42% 0 0;
   background: linear-gradient(to bottom, transparent, oklch(13% 0.04 292 / 0.88));
   content: '';
   pointer-events: none;
}

.support-photo img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.support-photo-main {
   min-height: 540px;
}

.support-photo-main img {
   object-position: center 38%;
}

.support-photo-store img {
   object-position: center 34%;
}

.support-photo-work img {
   object-position: center 28%;
}

.support-photo figcaption {
   position: absolute;
   right: 0;
   bottom: 0;
   left: 0;
   z-index: 1;
   max-width: 48ch;
   color: var(--paper);
   padding: 24px;
   font-size: 0.86rem;
   font-weight: 650;
   line-height: 1.45;
}

.support-photo figcaption span {
   display: block;
   margin-bottom: 6px;
   color: oklch(90% 0.12 83);
   font-size: 0.68rem;
   font-weight: 900;
   letter-spacing: 0.11em;
   text-transform: uppercase;
}

.support-ripple {
   overflow: hidden;
   border-radius: 28px;
   background: var(--night);
   color: var(--paper);
   padding: 28px;
   box-shadow: var(--shadow-md);
}

.support-ripple .eyebrow {
   color: oklch(76% 0.16 305);
}

.support-ripple-copy h3 {
   max-width: 18ch;
   margin-top: 12px;
   font-family: var(--font-display);
   font-size: clamp(1.9rem, 7vw, 3.15rem);
   letter-spacing: -0.05em;
   line-height: 1.05;
}

.support-ripple-copy > p:last-child {
   max-width: 50ch;
   margin-top: 14px;
   color: var(--night-text);
   font-size: 0.9rem;
   line-height: 1.58;
}

.support-ripple-map {
   display: grid;
   gap: 22px;
   margin-top: 30px;
}

.support-ripple-center {
   position: relative;
   display: grid;
   gap: 4px;
   border: 1px solid oklch(72% 0.13 303 / 0.38);
   border-radius: 18px;
   background: oklch(28% 0.1 297);
   padding: 16px 18px;
}

.support-ripple-center span {
   color: oklch(78% 0.045 305);
   font-size: 0.72rem;
   font-weight: 750;
}

.support-ripple-center strong {
   font-size: 1rem;
}

.support-needs {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 10px;
   list-style: none;
}

.support-needs li {
   min-width: 0;
   display: flex;
   align-items: center;
   gap: 10px;
   border-top: 1px solid oklch(72% 0.06 303 / 0.25);
   padding-block: 12px;
   font-size: 0.78rem;
}

.support-icon {
   width: 38px;
   height: 38px;
   flex: 0 0 38px;
   display: grid;
   place-items: center;
   border-radius: 12px;
   background: var(--paper);
}

.support-icon img {
   width: 24px;
   height: 24px;
   object-fit: contain;
}

.support-note {
   display: grid;
   gap: 10px;
   margin-top: 24px;
   border-top: 1px solid oklch(77% 0.055 83);
   padding-top: 20px;
   color: var(--ink-soft);
}

.support-note p {
   max-width: 68ch;
   font-size: 0.92rem;
}

.support-note p strong {
   color: var(--ink);
}

.support-note > span {
   color: var(--muted);
   font-size: 0.72rem;
}

.reveal {
   opacity: 0;
   transform: translateY(18px);
   transition:
      opacity 560ms var(--ease-out),
      transform 560ms var(--ease-out);
}

.reveal.is-visible {
   opacity: 1;
   transform: none;
}

@media (hover: hover) and (pointer: fine) {
   .button:hover {
      translate: 0 -2px;
      box-shadow: var(--shadow-sm);
   }

   .button:hover .arrow {
      translate: 3px -0.04em;
   }

   .portrait img,
   .video-card img,
   .support-photo img {
      transition: transform 500ms var(--ease-out);
   }

   .portrait:hover img,
   .video-card:hover img,
   .support-photo:hover img {
      transform: scale(1.025);
   }

   .ask-chip:hover {
      border-color: var(--lavender-200);
      color: var(--ink);
      translate: 0 -1px;
   }

   .ask-chip[aria-pressed='true']:hover {
      border-color: var(--ink);
      color: var(--paper);
   }

   .request-poster:hover {
      translate: 0 calc(var(--poster-offset) - 6px);
   }
}

@media (max-width: 350px) {
   .site-header .brand span {
      display: none;
   }

   .site-header .container {
      gap: 10px;
   }
}

@media (max-width: 699px) {
   .site-header .header-actions > .button {
      display: none;
   }
}

@media (min-width: 700px) {
   .container,
   .narrow {
      width: min(100% - 64px, var(--frame));
   }

   .section {
      padding-block: 96px;
   }

   .header-actions .secondary {
      display: inline-flex;
   }

   .page-hero {
      padding-block: 72px 88px;
   }

   .hero-home {
      padding-block: 72px 32px;
   }

   .ask-section {
      padding-block: 8px 88px;
   }

   .hero-walkthrough {
      display: inline-flex;
   }

   .ask-playground {
      border-radius: 36px;
      padding: 10px;
   }

   .ask-shell {
      border-radius: 27px;
   }

   .ask-topbar {
      padding: 16px 20px;
   }

   .ask-controls {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 20px 24px;
      padding: 24px 22px;
   }

   .ask-choice:first-child {
      grid-column: 1 / -1;
   }

   .ask-preview {
      padding: 26px 22px 22px;
   }

   .hero-visual {
      min-height: 660px;
   }

   .fact-grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
   }

   .fact {
      min-height: 148px;
      padding: 30px 24px;
   }

   .fact:first-child {
      padding-left: 0;
   }

   .fact:nth-child(n + 2) {
      border-left: 1px solid var(--line);
   }

   .fact:nth-child(n + 3) {
      border-top: 0;
   }

   .fact dd {
      font-size: 2rem;
   }

   .split-heading {
      grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
      align-items: end;
      gap: 56px;
      margin-bottom: 56px;
   }

   .portrait-rail {
      grid-auto-columns: minmax(250px, 31vw);
      padding-inline: 32px;
      margin-inline: -32px;
   }

   .portrait {
      min-height: 430px;
   }

   .product-story {
      padding-block: 104px;
   }

   .product-story-steps {
      gap: 96px;
   }

   .story-mobile-screen {
      padding: 38px 28px 20px;
   }

   .proof-grid,
   .level-layout,
   .faq-layout,
   .never-grid,
   .risk-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      align-items: start;
      gap: 64px;
   }

   .footer-grid {
      grid-template-columns: 0.9fr 1.1fr;
      align-items: start;
   }

   .footer-links {
      grid-template-columns: repeat(3, minmax(0, 1fr));
   }

   .guide-step,
   .chapter {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      align-items: center;
      gap: 64px;
      padding-block: 72px;
   }

   .guide-step:nth-child(even) .guide-copy,
   .chapter:nth-child(even) .chapter-copy {
      order: 2;
   }

   .guide-step:nth-child(even) .guide-media,
   .chapter:nth-child(even) .chapter-media {
      order: 1;
   }

   .stat-line {
      grid-template-columns: repeat(4, minmax(0, 1fr));
   }

   .support-section {
      padding-block: 104px;
   }

   .support-heading {
      grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
      align-items: end;
      gap: 64px;
      margin-bottom: 56px;
   }

   .support-collage {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      grid-template-rows: repeat(2, minmax(0, 330px)) auto;
      gap: 16px;
   }

   .support-photo-main {
      grid-row: 1 / 3;
      min-height: 676px;
   }

   .support-photo-store,
   .support-photo-work {
      min-height: 330px;
   }

   .support-ripple {
      grid-column: 1 / -1;
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      align-items: center;
      gap: 30px;
      padding: 40px;
   }

   .support-ripple-copy h3 {
      max-width: 17ch;
      font-size: clamp(2.15rem, 5vw, 3rem);
   }

   .support-ripple-map {
      margin-top: 0;
   }

   .support-note {
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: baseline;
      gap: 32px;
   }

   .stat {
      min-height: 154px;
      padding: 28px 24px;
   }

   .stat:first-child {
      padding-left: 0;
   }

   .stat:nth-child(n + 2) {
      border-left: 1px solid var(--line);
   }

   .stat:nth-child(n + 3) {
      border-top: 0;
   }

   .request-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 24px;
   }

   .request-showcase-section {
      padding-block: 104px 112px;
   }

   .request-poster-deck {
      grid-auto-columns: clamp(340px, 54vw, 430px);
      gap: 18px;
      margin-top: 64px;
   }

   .request-poster {
      min-height: 540px;
      padding: 32px;
   }

   .request-showcase-foot {
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 40px;
   }

   .money-flow-section {
      padding-block: 96px;
   }

   .money-flow-heading {
      grid-template-columns: minmax(0, 0.35fr) minmax(0, 1fr);
      align-items: start;
      gap: 48px;
   }

   .money-flow-heading h2 {
      font-size: clamp(3rem, 5vw, 5.2rem);
   }

   .money-flow {
      grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
      align-items: center;
      gap: 20px;
      margin-top: 56px;
      padding-block: 24px;
   }

   .flow-node {
      padding-block: 18px;
   }

   .flow-arrow {
      rotate: 0deg;
   }

   .human-context {
      padding-block: 104px;
   }

   .human-context-grid {
      grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.94fr);
      gap: clamp(56px, 7vw, 104px);
   }

   .human-context-photo {
      min-height: 620px;
   }

   .human-context-reverse .human-context-photo {
      order: 2;
   }

   .human-context-reverse .human-context-copy {
      order: 1;
   }

   .team-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
}

@media (min-width: 700px) and (max-width: 1023px) {
   .site-header .header-actions .secondary {
      display: none;
   }
}

@media (min-width: 900px) and (max-width: 1179px) {
   .support-ripple {
      grid-template-columns: minmax(0, 0.9fr) minmax(360px, 1.1fr);
      gap: 44px;
      padding: 44px;
   }

   .support-ripple-copy h3 {
      font-size: clamp(2.15rem, 4vw, 2.8rem);
   }
}

@media (min-width: 1024px) {
   .product-proof .device {
      width: min(100%, 340px);
   }

   .version-switcher:not([hidden]) {
      position: absolute;
      display: flex;
      top: 96px;
      bottom: auto;
   }

   .site-header .container {
      min-height: 84px;
   }

   .desktop-nav {
      display: flex;
   }

   .header-actions {
      margin-left: 0;
   }

   .menu-button {
      display: none;
   }

   .hero-home .container,
   .page-hero .container {
      grid-template-columns: minmax(0, 0.9fr) minmax(500px, 1.1fr);
      align-items: center;
      gap: clamp(64px, 7vw, 112px);
   }

   .hero-home {
      min-height: calc(100vh - 84px);
      display: grid;
      align-items: center;
      padding-block: 64px;
   }

   .request-showcase-heading h2 {
      max-width: 13ch;
      font-size: clamp(5.3rem, 7.3vw, 6.4rem);
   }

   .request-poster-deck {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      grid-auto-columns: unset;
      grid-auto-flow: unset;
      align-items: start;
      overflow: visible;
      gap: 18px;
      margin-top: 80px;
      padding-bottom: 42px;
   }

   .request-poster {
      min-height: 560px;
   }

   .request-poster:nth-child(2) {
      --poster-offset: 34px;
   }

   .hero-home .display {
      font-size: clamp(4.8rem, 6.5vw, 6.7rem);
   }

   .ask-playground {
      width: 100%;
      max-width: 660px;
      justify-self: end;
   }

   .deal-ticket {
      right: 28px;
      bottom: 28px;
      left: 28px;
      padding: 24px 26px;
   }

   .portrait-rail {
      grid-template-columns: repeat(5, minmax(0, 1fr));
      grid-auto-flow: unset;
      gap: 18px;
      overflow: visible;
      padding: 0;
      margin: 0;
   }

   .portrait {
      min-height: 430px;
   }

   .portrait:nth-child(2),
   .portrait:nth-child(4) {
      margin-top: 36px;
   }

   .deal-section .container {
      grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
      align-items: center;
      gap: clamp(72px, 9vw, 144px);
   }

   html[data-landing-version='2'] .deal-section {
      overflow: clip;
      padding-block: 72px 112px;
   }

   html[data-landing-version='2'] .deal-section .container {
      grid-template-columns: minmax(0, 1.22fr) minmax(330px, 0.78fr);
      align-items: start;
      gap: clamp(56px, 6vw, 88px);
   }

   html[data-landing-version='2'] .deal-story-visual {
      height: calc(100vh - 156px);
      min-height: 600px;
      max-height: 720px;
      position: sticky;
      top: 100px;
      display: grid;
      grid-template-rows: auto minmax(360px, 1fr);
      gap: 24px;
   }

   html[data-landing-version='2'] .deal-story-heading .eyebrow {
      margin-bottom: 8px;
   }

   html[data-landing-version='2'] .deal-story-heading .section-title {
      max-width: 16ch;
      font-size: clamp(3rem, 4.25vw, 4.6rem);
      line-height: 0.94;
   }

   html[data-landing-version='2'] .deal-number {
      display: none;
   }

   html[data-landing-version='2'] .deal-visual-stage {
      min-height: 0;
      display: grid;
      grid-template-rows: auto minmax(0, 1fr) auto;
      gap: 20px;
      overflow: hidden;
      border: 1px solid oklch(93% 0.03 306 / 0.34);
      border-radius: 30px;
      background: var(--lavender-100);
      color: var(--ink);
      padding: 22px 24px 24px;
      box-shadow: 0 30px 70px oklch(8% 0.04 296 / 0.3);
      transition: background-color 700ms var(--ease-out);
   }

   html[data-landing-version='2'] .deal-section[data-deal-active='1'] .deal-visual-stage {
      background: var(--butter);
   }

   html[data-landing-version='2'] .deal-section[data-deal-active='2'] .deal-visual-stage {
      background: var(--green-soft);
   }

   html[data-landing-version='2'] .deal-section[data-deal-active='3'] .deal-visual-stage {
      background: var(--lavender-200);
   }

   html[data-landing-version='2'] .deal-stage-head,
   html[data-landing-version='2'] .deal-stage-foot {
      position: relative;
      z-index: 3;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      color: var(--purple-ink);
      font-size: 0.7rem;
      font-weight: 850;
      letter-spacing: 0.09em;
      text-transform: uppercase;
   }

   html[data-landing-version='2'] .deal-stage-foot {
      min-height: 24px;
      letter-spacing: 0;
      text-transform: none;
   }

   html[data-landing-version='2'] .deal-panel-stack {
      min-height: 0;
      position: relative;
   }

   html[data-landing-version='2'] .deal-panel {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      opacity: 0;
      transform: translateY(18px) scale(0.985);
      visibility: hidden;
      transition:
         opacity 280ms var(--ease-out),
         transform 440ms var(--ease-out),
         visibility 0s linear 440ms;
   }

   html[data-landing-version='2'] .deal-panel.is-active {
      opacity: 1;
      transform: none;
      visibility: visible;
      transition-delay: 80ms, 80ms, 0s;
   }

   html[data-landing-version='2'] .deal-panel.is-prev {
      opacity: 0;
      filter: none;
      visibility: hidden;
   }

   html[data-landing-version='2'] .deal-panel.is-active {
      z-index: 2;
      filter: none;
   }

   html[data-landing-version='2'] .deal-panel-label {
      margin-bottom: 10px;
      color: var(--purple-dark);
      font-size: 0.72rem;
      font-weight: 850;
      letter-spacing: 0.1em;
      text-transform: uppercase;
   }

   html[data-landing-version='2'] .deal-panel h3 {
      max-width: 15ch;
      color: var(--ink);
      font-family: var(--font-display);
      font-size: clamp(2rem, 3vw, 3.05rem);
      letter-spacing: -0.055em;
      line-height: 0.98;
   }

   html[data-landing-version='2'] .deal-panel h3 strong {
      color: var(--purple-dark);
   }

   html[data-landing-version='2'] .deal-panel-label,
   html[data-landing-version='2'] .deal-panel h3 {
      padding-right: 0;
   }

   html[data-landing-version='2'] .deal-panel-product {
      grid-template-columns: minmax(0, 1fr) minmax(180px, 0.78fr);
      align-items: center;
      gap: clamp(20px, 3vw, 34px);
   }

   html[data-landing-version='2'] .deal-panel-product.is-active {
      display: grid;
   }

   html[data-landing-version='2'] .deal-product-copy {
      min-width: 0;
   }

   html[data-landing-version='2'] .deal-panel-product h3 {
      max-width: 11ch;
      font-size: clamp(1.75rem, 2.7vw, 2.75rem);
   }

   html[data-landing-version='2'] .deal-product-note {
      max-width: 34ch;
      margin-top: 14px;
      color: var(--ink-soft);
      font-size: 0.82rem;
      font-weight: 620;
      line-height: 1.52;
   }

   html[data-landing-version='2'] .deal-state-pill {
      width: fit-content;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-top: 18px;
      border: 1px solid oklch(78% 0.055 303);
      border-radius: 999px;
      background: var(--paper);
      color: var(--purple-ink);
      padding: 8px 11px;
      font-size: 0.66rem;
      font-weight: 780;
      line-height: 1.2;
   }

   html[data-landing-version='2'] .deal-state-pill i {
      width: 7px;
      height: 7px;
      flex: 0 0 auto;
      border-radius: 50%;
      background: var(--green);
   }

   html[data-landing-version='2'] .deal-product-shot {
      width: min(100%, 224px);
      height: min(100%, 386px);
      min-height: 320px;
      position: relative;
      justify-self: end;
      overflow: hidden;
      border: 7px solid var(--paper);
      border-radius: 28px;
      background: var(--paper);
      box-shadow: 0 20px 46px oklch(20% 0.07 296 / 0.2);
   }

   html[data-landing-version='2'] .deal-product-shot img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      object-position: top center;
   }

   html[data-landing-version='2'] .deal-product-shot figcaption {
      position: absolute;
      right: 8px;
      bottom: 8px;
      left: 8px;
      border-radius: 999px;
      background: var(--paper);
      color: var(--ink-soft);
      padding: 7px 9px;
      font-size: 0.58rem;
      font-weight: 760;
      line-height: 1.2;
      text-align: center;
      box-shadow: var(--shadow-sm);
   }

   html[data-landing-version='2'] .deal-growth-rail {
      max-width: 380px;
      margin-top: 18px;
      border-radius: 16px;
      background: var(--paper);
      padding: 12px;
   }

   html[data-landing-version='2'] .deal-growth-rail b {
      font-size: 0.78rem;
   }

   html[data-landing-version='2'] .deal-growth-rail small {
      color: var(--muted);
      font-size: 0.46rem;
   }

   html[data-landing-version='2'] .deal-receipt-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
      margin-top: 24px;
   }

   html[data-landing-version='2'] .deal-receipt-grid div {
      border: 1px solid oklch(78% 0.06 303);
      border-radius: 14px;
      background: var(--paper);
      padding: 12px 10px;
   }

   html[data-landing-version='2'] .deal-receipt-grid .deal-zero {
      border-color: oklch(78% 0.07 151);
      background: var(--green-soft);
   }

   html[data-landing-version='2'] .deal-receipt-grid dt,
   html[data-landing-version='2'] .deal-money-route small,
   html[data-landing-version='2'] .deal-fixed-track small,
   html[data-landing-version='2'] .deal-date-card small {
      color: var(--muted);
      font-size: 0.64rem;
      font-weight: 800;
      letter-spacing: 0.05em;
      line-height: 1.2;
      text-transform: uppercase;
   }

   html[data-landing-version='2'] .deal-receipt-grid dd {
      margin-top: 5px;
      font-size: 1rem;
      font-weight: 850;
      line-height: 1.15;
   }

   html[data-landing-version='2'] .deal-receipt-grid .deal-zero dt,
   html[data-landing-version='2'] .deal-receipt-grid .deal-zero dd {
      color: var(--green);
   }

   html[data-landing-version='2'] .deal-money-route {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
      align-items: center;
      gap: 14px;
      margin-top: 26px;
   }

   html[data-landing-version='2'] .deal-money-route > div {
      border-radius: 18px;
      background: var(--paper);
      padding: 18px;
   }

   html[data-landing-version='2'] .deal-money-route strong {
      display: block;
      margin-top: 4px;
      font-family: var(--font-display);
      font-size: clamp(2rem, 3vw, 3rem);
      letter-spacing: -0.06em;
      line-height: 1;
   }

   html[data-landing-version='2'] .deal-route-arrow {
      position: relative;
      color: var(--purple-dark);
      font-size: 2rem;
      font-weight: 900;
   }

   html[data-landing-version='2'] .deal-route-arrow i {
      position: absolute;
      top: -20px;
      left: 50%;
      border-radius: 999px;
      background: var(--purple-dark);
      color: var(--paper);
      padding: 4px 7px;
      font-size: 0.66rem;
      font-style: normal;
      line-height: 1;
      transform: translateX(-50%);
   }

   html[data-landing-version='2'] .deal-panel-note {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-top: 18px;
      color: var(--purple-ink);
      font-size: 0.84rem;
      font-weight: 750;
   }

   html[data-landing-version='2'] .deal-panel-note > span {
      width: 22px;
      height: 22px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--green);
      color: var(--paper);
      font-size: 0.7rem;
   }

   html[data-landing-version='2'] .deal-fixed-track {
      display: grid;
      grid-template-columns: auto minmax(28px, 1fr) auto minmax(28px, 1fr) auto;
      align-items: center;
      gap: 10px;
      margin-top: 30px;
   }

   html[data-landing-version='2'] .deal-fixed-track span {
      min-width: 82px;
      border-radius: 16px;
      background: var(--paper);
      padding: 14px;
      text-align: center;
   }

   html[data-landing-version='2'] .deal-fixed-track b {
      display: block;
      margin-top: 4px;
      color: var(--green);
      font-size: 1.2rem;
   }

   html[data-landing-version='2'] .deal-fixed-track i {
      height: 2px;
      position: relative;
      display: block;
      background: oklch(72% 0.08 151);
   }

   html[data-landing-version='2'] .deal-fixed-track i::after {
      width: 7px;
      height: 7px;
      position: absolute;
      top: 50%;
      right: 0;
      border-radius: 50%;
      background: var(--green);
      content: '';
      transform: translateY(-50%);
   }

   html[data-landing-version='2'] .deal-date-card {
      max-width: 360px;
      display: flex;
      align-items: center;
      gap: 16px;
      margin-top: 26px;
      border: 1px solid oklch(70% 0.1 303);
      border-radius: 20px;
      background: var(--paper);
      padding: 18px;
   }

   html[data-landing-version='2'] .deal-date-icon {
      width: 48px;
      height: 48px;
      display: grid;
      flex: 0 0 auto;
      place-items: center;
      border-radius: 16px;
      background: var(--purple-dark);
      color: var(--paper);
      font-size: 1.2rem;
      font-weight: 900;
   }

   html[data-landing-version='2'] .deal-date-card strong {
      display: block;
      margin-top: 3px;
      font-size: 1.35rem;
      line-height: 1.1;
   }

   html[data-landing-version='2'] .deal-progress {
      display: flex;
      gap: 6px;
   }

   html[data-landing-version='2'] .deal-progress i {
      width: 24px;
      height: 3px;
      display: block;
      overflow: hidden;
      border-radius: 999px;
      background: oklch(52% 0.08 297 / 0.24);
   }

   html[data-landing-version='2'] .deal-progress i::after {
      width: 100%;
      height: 100%;
      display: block;
      border-radius: inherit;
      background: var(--purple-dark);
      content: '';
      transform: translateX(-105%);
      transition: transform 380ms var(--ease-out);
   }

   html[data-landing-version='2'] .deal-progress i.is-active::after,
   html[data-landing-version='2'] .deal-progress i.is-complete::after {
      transform: none;
   }

   html[data-landing-version='2'] .deal-section .term-list {
      border-top: 0;
      padding-bottom: clamp(150px, 20vh, 220px);
   }

   html[data-landing-version='2'] .deal-mobile-scene {
      display: none;
   }

   /* Roulette rhythm (George 2026-07-17: the old 50vh steps left a screen of
      dead space between titles and the opacity flip felt abrupt): steps are
      compact enough that the next title is always visible coming up, and the
      JS driver scrubs each step's opacity/offset continuously from its
      distance to the focus line — so text fades away WITH the scroll instead
      of popping. The class transition below only serves the non-scrubbed
      fallback; .is-scrubbed turns it off so inline writes don't smear. */
   html[data-landing-version='2'] .deal-section .term-list li {
      min-height: clamp(190px, 26vh, 250px);
      display: grid;
      grid-template-columns: 38px minmax(0, 1fr);
      align-content: center;
      gap: 16px;
      border-color: oklch(72% 0.05 305 / 0.22);
      padding-block: 30px;
      opacity: 0.3;
      transform: translateX(16px);
      transition:
         opacity 260ms var(--ease-out),
         transform 400ms var(--ease-out);
   }

   html[data-landing-version='2'] .deal-section.is-scrubbed .term-list li {
      transition: none;
   }

   /* the stage panels scrub with the scroll the same way (site.js writes
      opacity/transform per frame) — the class transition would lag a frame
      behind every inline write and judder */
   html[data-landing-version='2'] .deal-section.is-scrubbed .deal-panel {
      transition: none;
   }

   html[data-landing-version='2'] .deal-section .term-list li:first-child {
      border-top: 1px solid oklch(72% 0.05 305 / 0.22);
   }

   html[data-landing-version='2'] .deal-section .term-list li.is-active {
      opacity: 1;
      transform: none;
   }

   html[data-landing-version='2'] .deal-section .term-list .mark {
      width: 34px;
      height: 34px;
      background: oklch(31% 0.11 297);
      color: var(--lavender-200);
      transition:
         background-color 260ms var(--ease-out),
         color 260ms var(--ease-out),
         transform 360ms var(--ease-out);
   }

   html[data-landing-version='2'] .deal-section .term-list li.is-active .mark {
      background: var(--lavender-200);
      color: var(--purple-ink);
      transform: scale(1.08);
   }

   html[data-landing-version='2'] .deal-section .term-list b {
      max-width: 20ch;
      font-family: var(--font-display);
      font-size: clamp(1.65rem, 2.4vw, 2.45rem);
      letter-spacing: -0.045em;
      line-height: 1.02;
   }

   html[data-landing-version='2'] .deal-section .term-list small {
      max-width: 38ch;
      margin-top: 12px;
      color: var(--night-text);
      font-size: 0.98rem;
      line-height: 1.55;
      opacity: 0;
      transform: translateY(8px);
      visibility: hidden;
      transition:
         opacity 240ms var(--ease-out),
         transform 360ms var(--ease-out),
         visibility 0s linear 360ms;
   }

   html[data-landing-version='2'] .deal-section .term-list li.is-active small {
      opacity: 1;
      transform: none;
      visibility: visible;
      transition-delay: 100ms, 100ms, 0s;
   }

   .product-story {
      padding-block: 120px 80px;
   }

   .product-story .split-heading {
      margin-bottom: 0;
   }

   .product-story-layout {
      display: grid;
      grid-template-columns: minmax(460px, 1.05fr) minmax(390px, 0.82fr);
      gap: clamp(72px, 8vw, 132px);
      align-items: start;
      margin-top: 72px;
   }

   .product-story-stage {
      height: calc(100vh - 152px);
      min-height: 590px;
      max-height: 760px;
      position: sticky;
      top: 118px;
      display: grid;
      overflow: hidden;
      align-content: space-between;
      border-radius: var(--radius-xl);
      background: var(--purple-dark);
      padding: 24px 28px 26px;
      box-shadow: var(--shadow-sm);
   }

   .product-story-borrower .product-story-stage {
      background: var(--borrower-stage-bg);
      transition: background-color 460ms var(--ease-out);
   }

   .product-story-borrower .story-stage-head,
   .product-story-borrower .story-stage-foot {
      color: var(--borrower-stage-muted);
      transition: color 360ms var(--ease-out);
   }

   .product-story-borrower .story-screen-name {
      color: var(--borrower-stage-ink);
      transition: color 360ms var(--ease-out);
   }

   .product-story-borrower .story-progress i {
      background: var(--borrower-stage-track);
      transition: background-color 360ms var(--ease-out);
   }

   .product-story-borrower .story-progress i::after {
      background: var(--borrower-stage-ink);
   }

   .story-stage-head,
   .story-stage-foot {
      position: relative;
      z-index: 3;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      color: var(--lavender-100);
      font-size: 0.72rem;
      font-weight: 850;
      letter-spacing: 0.08em;
      text-transform: uppercase;
   }

   .story-phone {
      width: clamp(230px, 30vh, 300px);
      height: auto;
      max-width: 72%;
      position: relative;
      justify-self: center;
      overflow: hidden;
      border: 9px solid var(--paper);
      border-radius: 36px;
      aspect-ratio: 390 / 844;
      background: var(--paper);
      box-shadow: 0 32px 70px oklch(10% 0.045 296 / 0.36);
      contain: layout paint;
   }

   .product-story-borrower .story-phone {
      z-index: 1;
   }

   .product-story-screen {
      position: absolute;
      inset: 0;
      opacity: 0;
      transform: translateY(16px) scale(0.985);
      transition:
         opacity 360ms var(--ease-out),
         transform 520ms var(--ease-out);
   }

   .product-story-screen.is-active {
      z-index: 2;
      opacity: 1;
      transform: none;
   }

   .product-story-screen img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      object-position: top center;
   }

   .story-screen-name {
      color: var(--paper);
      letter-spacing: 0;
      text-transform: none;
   }

   .story-progress {
      display: flex;
      gap: 6px;
   }

   .story-progress i {
      width: 26px;
      height: 3px;
      display: block;
      overflow: hidden;
      border-radius: 999px;
      background: oklch(90% 0.045 305 / 0.28);
   }

   .story-progress i::after {
      width: 100%;
      height: 100%;
      display: block;
      border-radius: inherit;
      background: var(--paper);
      content: '';
      transform: translateX(-105%);
      transition: transform 420ms var(--ease-out);
   }

   .story-progress i.is-active::after,
   .story-progress i.is-complete::after {
      transform: none;
   }

   .product-story-steps {
      display: block;
   }

   .product-story-step {
      min-height: clamp(560px, 76vh, 740px);
      display: flex;
      align-items: center;
      border-top: 1px solid var(--line);
      padding-block: 80px;
      opacity: 0.34;
      transform: translateX(16px);
      transition:
         opacity 320ms var(--ease-out),
         transform 420ms var(--ease-out);
   }

   .product-story-step:last-child {
      border-bottom: 1px solid var(--line);
   }

   .product-story-step.is-active {
      opacity: 1;
      transform: none;
   }

   .product-story-step h3 {
      max-width: 10ch;
      font-size: clamp(3.2rem, 4.5vw, 5.1rem);
   }

   .product-story-step p {
      max-width: 44ch;
      font-size: 1.1rem;
   }

   .story-mobile-screen {
      display: none;
   }

   .product-story-lender .product-story-stage {
      isolation: isolate;
      background: var(--lender-stage-bg);
      transition: background-color 460ms var(--ease-out);
   }

   .product-story-lender .product-story-stage::before {
      width: 56%;
      height: 72%;
      position: absolute;
      top: 50%;
      left: 50%;
      z-index: 0;
      border: 1px solid var(--lender-stage-track);
      border-radius: 48px;
      background: var(--lender-stage-panel);
      content: '';
      transform: translate(-50%, -50%) rotate(-6deg);
      transition:
         background-color 460ms var(--ease-out),
         border-color 460ms var(--ease-out);
   }

   .product-story-lender .story-stage-head {
      color: var(--lender-stage-muted);
      transition: color 360ms var(--ease-out);
   }

   .product-story-lender .story-phone {
      width: clamp(190px, 24vh, 248px);
      max-width: 60%;
      z-index: 1;
      border-width: 7px;
      border-radius: 30px;
   }

   .product-story-lender .story-screen-name {
      color: var(--lender-stage-ink);
      transition: color 360ms var(--ease-out);
   }

   .product-story-lender .story-progress i {
      background: var(--lender-stage-track);
      transition: background-color 360ms var(--ease-out);
   }

   .product-story-lender .story-progress i::after {
      background: var(--lender-stage-ink);
   }

   .page-visual {
      min-height: 620px;
      border-radius: var(--radius-xl);
      padding: 40px;
   }

   .device {
      width: min(100%, 390px);
   }

   .guide-media,
   .chapter-media {
      min-height: 560px;
   }

   .callout {
      padding: 48px;
   }

   html[data-landing-version='2'] #main-content {
      display: flex;
      flex-direction: column;
   }

   html[data-landing-version='2'] #main-content > * {
      order: 10;
   }

   html[data-landing-version='2'] #main-content > .hero-home {
      min-height: calc(100vh - 84px);
      order: 1;
      padding-block: 30px;
   }

   html[data-landing-version='2'] .hero-home .container {
      width: min(100% - 64px, 1480px);
      min-height: clamp(640px, calc(100vh - 144px), 760px);
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: 0;
      place-items: center;
   }

   html[data-landing-version='2'] .hero-copy {
      width: min(100%, 660px);
      position: relative;
      z-index: 2;
      align-self: center;
      margin-inline: auto;
      text-align: center;
   }

   html[data-landing-version='2'] .hero-home .display {
      max-width: 10ch;
      margin-inline: auto;
      font-size: clamp(4.7rem, 7vw, 7.15rem);
      line-height: 0.88;
   }

   html[data-landing-version='2'] .hero-copy .lead {
      max-width: 48ch;
      margin-inline: auto;
      font-size: 1.08rem;
      line-height: 1.55;
   }

   html[data-landing-version='2'] .hero-walkthrough {
      display: none;
   }

   html[data-landing-version='2'] .version-two-actions {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 12px;
   }

   html[data-landing-version='2'] .version-two-actions .hero-note {
      margin: 0;
      color: var(--muted);
      font-size: 0.78rem;
      white-space: nowrap;
   }

   html[data-landing-version='2'] .tilt-hero-photo {
      --hero-photo-rotate: 0deg;
      position: absolute;
      z-index: 1;
      display: block;
      overflow: visible;
      border: 4px solid var(--paper);
      border-radius: 26px;
      background: var(--lavender-100);
      box-shadow: 0 24px 48px oklch(22% 0.09 296 / 0.2);
      opacity: 0;
      transform: translateY(18px) rotate(var(--hero-photo-rotate));
      animation: tilt-hero-photo-in 720ms var(--ease-out) forwards;
      animation-delay: var(--hero-photo-delay, 100ms);
   }

   html[data-landing-version='2'] .tilt-hero-photo img {
      width: 100%;
      height: 100%;
      border-radius: 22px;
      object-fit: cover;
   }

   html[data-landing-version='2'] .tilt-hero-amount {
      min-height: 44px;
      position: absolute;
      z-index: 3;
      display: flex;
      align-items: center;
      gap: 9px;
      border: 1px solid var(--lavender-200);
      border-radius: 999px;
      background: oklch(99% 0.008 305 / 0.96);
      color: var(--ink);
      padding: 6px 13px 6px 7px;
      font-size: 0.94rem;
      font-weight: 850;
      line-height: 1;
      white-space: nowrap;
      box-shadow: 0 10px 24px oklch(22% 0.07 296 / 0.14);
      backdrop-filter: blur(10px);
      opacity: 0;
      transform: translateY(5px);
      animation: tilt-hero-amount-in 420ms var(--ease-out) forwards;
      animation-delay: calc(var(--hero-photo-delay, 100ms) + 360ms);
   }

   html[data-landing-version='2'] .tilt-hero-amount > span:last-child {
      display: grid;
      gap: 2px;
   }

   html[data-landing-version='2'] .tilt-hero-amount small {
      color: var(--muted);
      font-size: 0.46rem;
      font-weight: 800;
      letter-spacing: 0.08em;
      line-height: 1;
      text-transform: uppercase;
   }

   html[data-landing-version='2'] .tilt-hero-amount-icon {
      width: 30px;
      height: 30px;
      display: grid;
      flex: 0 0 auto;
      place-items: center;
      border-radius: 9px;
      background: var(--lavender-100);
      color: var(--purple-dark);
   }

   html[data-landing-version='2'] .tilt-hero-amount-icon svg {
      width: 18px;
      height: 18px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.7;
      stroke-linecap: round;
      stroke-linejoin: round;
   }

   html[data-landing-version='2'] .tilt-hero-photo figcaption {
      position: absolute;
      right: 12px;
      bottom: 12px;
      left: 12px;
      display: flex;
      min-height: 40px;
      align-items: center;
      gap: 8px;
      border-radius: 999px;
      background: var(--paper);
      color: var(--ink);
      padding: 9px 13px;
      font-size: 0.75rem;
      font-weight: 800;
      line-height: 1;
      box-shadow: var(--shadow-sm);
   }

   html[data-landing-version='2'] .tilt-hero-photo figcaption span {
      color: var(--purple);
      font-size: 0.65rem;
   }

   html[data-landing-version='2'] .tilt-hero-photo-school {
      --hero-photo-rotate: -3deg;
      --hero-photo-delay: 80ms;
      width: clamp(158px, 17vw, 232px);
      height: clamp(230px, 25vw, 342px);
      top: 4%;
      left: 0;
   }

   html[data-landing-version='2'] .tilt-hero-photo-school .tilt-hero-amount {
      top: 18px;
      right: -16px;
   }

   html[data-landing-version='2'] .tilt-hero-photo-rider {
      --hero-photo-rotate: 3deg;
      --hero-photo-delay: 160ms;
      width: clamp(152px, 16vw, 218px);
      height: clamp(224px, 24vw, 326px);
      top: 3%;
      right: 0;
   }

   html[data-landing-version='2'] .tilt-hero-photo-rider .tilt-hero-amount {
      top: 18px;
      left: -16px;
   }

   html[data-landing-version='2'] .tilt-hero-photo-repair {
      --hero-photo-rotate: 2.5deg;
      --hero-photo-delay: 240ms;
      width: clamp(186px, 20vw, 270px);
      height: clamp(142px, 16vw, 220px);
      bottom: 2%;
      left: 2%;
   }

   html[data-landing-version='2'] .tilt-hero-photo-repair .tilt-hero-amount {
      top: -16px;
      right: 14px;
   }

   html[data-landing-version='2'] .tilt-hero-photo-repair img {
      object-position: center 42%;
   }

   html[data-landing-version='2'] .tilt-hero-photo-stock {
      --hero-photo-rotate: -2.5deg;
      --hero-photo-delay: 320ms;
      width: clamp(182px, 19.5vw, 264px);
      height: clamp(142px, 16vw, 216px);
      right: 2%;
      bottom: 1%;
   }

   html[data-landing-version='2'] .tilt-hero-photo-stock .tilt-hero-amount {
      top: -16px;
      left: 14px;
   }

   html[data-landing-version='2'] .tilt-hero-photo-stock img {
      object-position: center 38%;
   }

   html[data-landing-version='2'] .tilt-hero-disclosure {
      width: min(100%, 520px);
      position: absolute;
      bottom: 4px;
      left: 50%;
      z-index: 2;
      display: block;
      margin: 0;
      color: var(--muted);
      font-size: 0.68rem;
      font-weight: 600;
      line-height: 1.4;
      text-align: center;
      transform: translateX(-50%);
   }

   html[data-landing-version='2'] #main-content > .ask-section {
      order: 2;
      background: oklch(92.8% 0.07 310);
      padding-block: 88px 96px;
   }

   html[data-landing-version='2'] .ask-section .ask-playground {
      max-width: 1180px;
      margin-inline: auto;
      border-radius: 36px;
      background: var(--night);
      padding: 4px;
      box-shadow: 0 30px 70px oklch(25% 0.1 298 / 0.2);
   }

   html[data-landing-version='2'] .ask-section .ask-shell {
      border-radius: 32px;
   }

   html[data-landing-version='2'] .ask-section .ask-topbar {
      min-height: 92px;
      border-bottom: 0;
      background: var(--night);
      color: var(--paper);
      padding: 20px 26px;
   }

   html[data-landing-version='2'] .ask-section .ask-topbar-copy {
      gap: clamp(24px, 4vw, 54px);
   }

   html[data-landing-version='2'] .ask-section .ask-title-lockup img {
      width: 42px;
      height: 42px;
      border-radius: 13px;
      background: var(--lavender-50);
      padding: 4px;
   }

   html[data-landing-version='2'] .ask-section .ask-title-lockup small {
      color: var(--lavender-200);
   }

   html[data-landing-version='2'] .ask-section .ask-title-lockup strong {
      color: var(--paper);
      font-size: 1.08rem;
   }

   html[data-landing-version='2'] .ask-section .ask-topbar-note {
      display: block;
      max-width: 34ch;
      color: var(--night-text);
      font-size: 0.82rem;
      font-weight: 650;
      line-height: 1.45;
   }

   html[data-landing-version='2'] .ask-section .ask-fixed {
      background: var(--butter);
      color: var(--ink);
      padding: 10px 14px;
   }

   html[data-landing-version='2'] .ask-section .ask-workspace {
      min-height: 480px;
      grid-template-columns: minmax(340px, 0.82fr) minmax(0, 1.18fr);
   }

   html[data-landing-version='2'] .ask-section .ask-controls {
      grid-template-columns: minmax(0, 1fr);
      align-content: center;
      gap: 26px;
      border-right: 1px solid oklch(83% 0.065 306);
      border-bottom: 0;
      background: var(--lavender-100);
      padding: 34px;
   }

   html[data-landing-version='2'] .ask-section .ask-choice:first-child {
      grid-column: auto;
   }

   html[data-landing-version='2'] .ask-section .ask-choice legend {
      margin-bottom: 12px;
      color: var(--purple-ink);
      font-size: 0.84rem;
   }

   html[data-landing-version='2'] .ask-section .ask-choice legend span {
      width: 26px;
      height: 26px;
      margin-right: 8px;
      background: var(--paper);
   }

   html[data-landing-version='2'] .ask-section .ask-chips {
      gap: 9px;
   }

   html[data-landing-version='2'] .ask-section .ask-chip {
      min-height: 46px;
      border-color: oklch(81% 0.055 305);
      padding-inline: 16px;
   }

   html[data-landing-version='2'] .ask-section .ask-chip[aria-pressed='true'] {
      border-color: var(--purple-dark);
      background: var(--purple-dark);
      color: var(--paper);
   }

   html[data-landing-version='2'] .ask-section .ask-preview {
      display: flex;
      flex-direction: column;
      justify-content: center;
      background: var(--paper);
      padding: 38px 42px 34px;
   }

   html[data-landing-version='2'] .ask-section .ask-preview-kicker {
      display: block;
      margin-bottom: 14px;
      color: var(--purple-dark);
      font-size: 0.7rem;
      font-weight: 850;
      letter-spacing: 0.12em;
      line-height: 1;
      text-transform: uppercase;
   }

   html[data-landing-version='2'] .ask-section .ask-preview-title {
      max-width: 12ch;
      margin-top: 18px;
      font-size: clamp(2.65rem, 4.2vw, 4rem);
   }

   html[data-landing-version='2'] .ask-section .ask-terms {
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
      margin-top: 24px;
   }

   html[data-landing-version='2'] .ask-section .ask-terms div {
      padding: 14px 12px;
   }

   html[data-landing-version='2'] .ask-section .ask-fee {
      display: block;
      background: var(--green-soft);
   }

   html[data-landing-version='2'] .ask-section .ask-fee dt,
   html[data-landing-version='2'] .ask-section .ask-fee dd {
      color: var(--green);
   }

   html[data-landing-version='2'] .ask-section .ask-continue {
      margin-top: 20px;
   }

   html[data-landing-version='2'] .ask-section .ask-disclosure {
      max-width: 58ch;
      margin-top: 14px;
      text-align: left;
   }

   html[data-landing-version='2'] #main-content > .life-section {
      display: none;
   }

   html[data-landing-version='2'] #main-content > .fact-strip {
      display: none;
   }
}

@keyframes tilt-hero-photo-in {
   to {
      opacity: 1;
      transform: translateY(0) rotate(var(--hero-photo-rotate));
   }
}

@keyframes tilt-hero-amount-in {
   to {
      opacity: 1;
      transform: none;
   }
}

@media (min-width: 1180px) {
   .support-collage {
      grid-template-columns: repeat(12, minmax(0, 1fr));
      grid-template-rows: minmax(342px, auto) minmax(342px, auto);
   }

   .support-photo-main {
      grid-column: 1 / 7;
      grid-row: 1 / 3;
      min-height: 700px;
   }

   .support-photo-store {
      grid-column: 7 / 10;
      grid-row: 1;
   }

   .support-photo-work {
      grid-column: 10 / 13;
      grid-row: 1;
   }

   .support-photo-store,
   .support-photo-work {
      min-height: 342px;
   }

   .support-ripple {
      grid-column: 7 / 13;
      grid-row: 2;
      grid-template-columns: minmax(0, 1.1fr) minmax(210px, 0.9fr);
      gap: 24px;
      padding: 30px;
   }

   .support-ripple-copy h3 {
      max-width: 15ch;
      font-size: 2rem;
   }

   .support-ripple-copy > p:last-child {
      font-size: 0.8rem;
   }
}

@media (min-width: 1024px) and (max-width: 1179px) {
   .dignity-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .site-header .desktop-nav {
      display: none;
   }

   .site-header .header-actions {
      margin-left: auto;
   }

   .site-header .header-actions .secondary {
      display: none;
   }

   .site-header .menu-button {
      display: grid;
   }
}

/* =====================================================================
   Motion pass — animations restored from the previous landing page and
   adapted to the new content. The prefers-reduced-motion block at the end
   of this file force-disables all of it.
   ===================================================================== */

/* ---- Tap feedback: a navigating button acknowledges the tap with a
   spinner ring while the next page loads. The label is hidden via
   !important because variant selectors (e.g. the header CTA) out-specify
   the loading state; --loading-ring carries the per-variant ring color. ---- */
a.button {
   --loading-ring: var(--paper);
   position: relative;
}

a.button.secondary,
a.button.light {
   --loading-ring: var(--ink);
}

a.button.subtle {
   --loading-ring: var(--purple-ink);
}

.header-actions > a.button:not(.secondary) {
   --loading-ring: var(--ink);
}

.header-actions a.button.secondary {
   --loading-ring: var(--paper);
}

a.button.is-loading {
   color: transparent !important;
   pointer-events: none;
}

a.button.is-loading::after {
   content: '';
   position: absolute;
   top: 50%;
   left: 50%;
   width: 16px;
   height: 16px;
   margin: -8px 0 0 -8px;
   border: 2px solid var(--loading-ring);
   border-top-color: transparent;
   border-radius: 50%;
   animation: button-spin 700ms linear infinite;
}

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

/* ---- Header reacts to scroll: compacts a little and deepens its shadow
   once the page is moving, so the sticky bar feels attached to the scroll
   instead of painted on. ---- */
.site-header {
   transition: box-shadow 240ms var(--ease-out);
}

.site-header .container {
   transition: min-height 240ms var(--ease-out);
}

.site-header.is-scrolled .container {
   min-height: 62px;
}

.site-header.is-scrolled {
   box-shadow: 0 14px 34px oklch(13% 0.04 296 / 0.3);
}

/* ---- Cascade reveals: children of a revealed group arrive one after
   another (the old page's beat rhythm) instead of as a single block. ---- */
.portrait-rail .portrait:nth-child(2) {
   transition-delay: 70ms;
}

.portrait-rail .portrait:nth-child(3) {
   transition-delay: 140ms;
}

.portrait-rail .portrait:nth-child(4) {
   transition-delay: 210ms;
}

.portrait-rail .portrait:nth-child(5) {
   transition-delay: 280ms;
}

.faq-list.reveal details {
   opacity: 0;
   transform: translateY(16px);
   transition:
      opacity 560ms var(--ease-out),
      transform 560ms var(--ease-out);
}

.faq-list.reveal.is-visible details {
   opacity: 1;
   transform: none;
}

.faq-list.reveal.is-visible details:nth-child(2) {
   transition-delay: 90ms;
}

.faq-list.reveal.is-visible details:nth-child(3) {
   transition-delay: 180ms;
}

.faq-list.reveal.is-visible details:nth-child(4) {
   transition-delay: 270ms;
}

.faq-list.reveal.is-visible details:nth-child(5) {
   transition-delay: 360ms;
}

.faq-list.reveal.is-visible details:nth-child(6) {
   transition-delay: 450ms;
}

/* ---- Hero idle float: after the entrance animation lands, the tilted
   photos keep a slow breathing drift so the hero stays alive (the old
   hero had the faces marquee for this). The float's 0% frame equals the
   entrance's final frame, so the handoff is seamless; opacity is owned by
   the entrance animation alone. ---- */
@media (min-width: 1024px) {
   html[data-landing-version='2'] .tilt-hero-photo {
      animation:
         tilt-hero-photo-in 720ms var(--ease-out) forwards,
         tilt-hero-float 8s ease-in-out infinite;
      animation-delay: var(--hero-photo-delay, 100ms), calc(var(--hero-photo-delay, 100ms) + 720ms);
   }

   html[data-landing-version='2'] .tilt-hero-photo-rider,
   html[data-landing-version='2'] .tilt-hero-photo-stock {
      animation-duration: 720ms, 9.5s;
   }
}

@keyframes tilt-hero-float {
   0%,
   100% {
      transform: translateY(0) rotate(var(--hero-photo-rotate));
   }

   50% {
      transform: translateY(-7px) rotate(var(--hero-photo-rotate));
   }
}

/* ---- Limit-progression rail builds as a left-to-right sequence when the
   repay panel activates — milestone pops, connector draws to the next,
   next milestone pops — so the record visibly ACCUMULATES instead of the
   three numbers just being there. The final $60+ is the payoff: it rolls
   up into its clipped slot with a bigger landing. Timed to start after
   the rail block's detail-enter (135ms + 420ms). ---- */
.deal-panel.is-active .deal-growth-rail span {
   animation: growth-milestone-pop 360ms var(--ease-out) 320ms both;
}

.deal-panel.is-active .deal-growth-rail span:nth-of-type(2) {
   animation-delay: 880ms;
}

.deal-panel.is-active .deal-growth-rail span:nth-of-type(3) {
   overflow: hidden;
   animation-delay: 1440ms;
}

.deal-panel.is-active .deal-growth-rail span:nth-of-type(3) b {
   animation: growth-final-roll 480ms var(--ease-out) 1460ms both;
}

.deal-panel.is-active .deal-growth-rail i {
   transform: scaleX(0);
   transform-origin: left center;
   animation: growth-draw 420ms var(--ease-out) 560ms both;
}

.deal-panel.is-active .deal-growth-rail i:nth-of-type(2) {
   animation-delay: 1120ms;
}

@keyframes growth-draw {
   to {
      transform: scaleX(1);
   }
}

@keyframes growth-milestone-pop {
   from {
      opacity: 0;
      transform: translateY(6px) scale(0.92);
   }

   65% {
      opacity: 1;
      transform: translateY(-1px) scale(1.05);
   }

   to {
      opacity: 1;
      transform: none;
   }
}

@keyframes growth-final-roll {
   from {
      opacity: 0;
      transform: translateY(115%);
   }

   70% {
      opacity: 1;
      transform: translateY(-8%) scale(1.1);
   }

   to {
      opacity: 1;
      transform: none;
   }
}

@media (prefers-reduced-motion: reduce) {
   html {
      scroll-behavior: auto;
   }

   *,
   *::before,
   *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      scroll-behavior: auto !important;
      transition-duration: 0.01ms !important;
   }

   .reveal {
      opacity: 1;
      transform: none;
   }

   /* infinite animations still loop at 0.01ms above — stop the hero float
      outright so it can't shimmer */
   .tilt-hero-photo {
      animation-name: tilt-hero-photo-in !important;
   }

   /* grouped-cascade children must not stay hidden when transitions are
      disabled */
   .faq-list.reveal details {
      opacity: 1;
      transform: none;
      transition-delay: 0s !important;
   }

   /* growth-rail build hides milestones until their keyframes run — the
      0.01ms duration above finishes them instantly, but the stagger
      delays would still leave the numbers invisible for ~1.5s */
   .deal-panel.is-active .deal-growth-rail span,
   .deal-panel.is-active .deal-growth-rail span:nth-of-type(3) b,
   .deal-panel.is-active .deal-growth-rail i {
      animation-delay: 0s !important;
   }
}
