:root {
  color-scheme: light;
  --c-bg: oklch(.985 .006 190);
  --c-surface: #fff;
  --c-surface-sunk: oklch(.968 .012 190);
  --c-ink: oklch(.18 .018 205);
  --c-ink-2: oklch(.32 .018 205);
  --c-muted: oklch(.45 .018 205);
  --c-border: oklch(.88 .012 195);
  --c-border-mid: oklch(.80 .016 195);
  --c-primary-700: oklch(.31 .085 190);
  --c-primary-600: oklch(.39 .095 190);
  --c-primary-100: oklch(.93 .035 190);
  --c-primary-050: oklch(.97 .018 190);
  --c-warn: oklch(.48 .13 70);
  --c-warn-bg: oklch(.96 .045 78);
  --c-warn-border: oklch(.81 .09 75);
  --c-p0: oklch(.50 .18 24);
  --c-p0-bg: oklch(.96 .035 22);
  --c-p0-border: oklch(.83 .10 22);
  --c-p1: oklch(.49 .12 63);
  --c-p1-bg: oklch(.96 .04 75);
  --c-p1-border: oklch(.83 .09 69);
  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
  --space-6: 4rem;
  --radius-sm: .5rem;
  --radius-md: .75rem;
  --radius-lg: 1rem;
  --ease: cubic-bezier(.22, .61, .36, 1);
  --shadow-open: 0 1rem 2.5rem oklch(.28 .025 195 / .10);
  font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Segoe UI", system-ui, sans-serif;
  background: var(--c-bg);
  color: var(--c-ink);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--c-bg);
  color: var(--c-ink);
  word-break: keep-all;
  overflow-wrap: break-word;
}

a { color: inherit; }
.skip-link { position: fixed; z-index: 100; top: .75rem; left: .75rem; padding: .75rem 1rem; transform: translateY(-150%); border-radius: var(--radius-sm); background: var(--c-ink); color: #fff; font-weight: 700; text-decoration: none; transition: transform 150ms var(--ease); }
.skip-link:focus { transform: translateY(0); }
.site-frame { width: min(100% - 2rem, 75rem); margin: 0 auto; }
.site-header { border-bottom: 1px solid var(--c-border); background: oklch(1 0 0 / .88); }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); min-height: 4.5rem; }
.site-header nav { display: flex; align-items: center; gap: var(--space-2); }
.site-nav-link { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--c-ink-2); font-size: .875rem; font-weight: 700; text-decoration: none; }
.site-nav-link:hover { color: var(--c-primary-700); }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: .75rem 1.125rem; border: 1px solid transparent; border-radius: var(--radius-sm); font-weight: 800; text-align: center; text-decoration: none; }
.button--primary { background: var(--c-primary-700); color: #fff; }
.button--primary:hover { background: var(--c-primary-600); }
.button--secondary { border-color: var(--c-border-mid); background: var(--c-surface); color: var(--c-ink); }
.button--secondary:hover { border-color: var(--c-primary-600); color: var(--c-primary-700); }
.landing-page a:focus-visible, .invite-page a:focus-visible, .invite-page input:focus-visible, .input-page a:focus-visible { outline: 2px solid var(--c-primary-600); outline-offset: 3px; }

/* Customer-web Slice 1: Landing and inactive invite seam */
.landing-hero { padding: clamp(4rem, 9vw, 7rem) 0 var(--space-6); background: var(--c-primary-050); }
.landing-hero__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(19rem, .85fr); align-items: center; gap: clamp(2rem, 6vw, 5rem); }
.landing-hero h1, .landing-section h2, .gate-card h1 { margin: 0; color: var(--c-ink); letter-spacing: -.045em; text-wrap: balance; }
.landing-hero h1 { max-width: 44rem; font-size: clamp(2.45rem, 5vw, 4.25rem); line-height: 1.16; }
.landing-hero__lede { max-width: 39rem; margin: var(--space-3) 0 0; color: var(--c-ink-2); font-size: clamp(1.05rem, 1.8vw, 1.25rem); line-height: 1.72; }
.landing-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-1); margin-top: var(--space-4); }
.landing-hero__note { margin: var(--space-2) 0 0; color: var(--c-muted); font-size: .875rem; line-height: 1.55; }
.evidence-panel { padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid var(--c-border-mid); border-radius: var(--radius-lg); background: var(--c-surface); box-shadow: var(--shadow-open); }
.evidence-panel__label { margin: 0; color: var(--c-primary-700); font-size: .875rem; font-weight: 800; }
.evidence-panel__list { display: grid; gap: var(--space-2); margin: var(--space-3) 0 0; padding: 0; list-style: none; }
.evidence-panel__list li { display: grid; grid-template-columns: 2.25rem 1fr; column-gap: var(--space-1); padding-top: var(--space-2); border-top: 1px solid var(--c-border); }
.evidence-panel__list span { grid-row: span 2; color: var(--c-primary-600); font-size: .8rem; font-weight: 800; }
.evidence-panel__list strong { line-height: 1.5; }
.evidence-panel__list p { margin: .25rem 0 0; color: var(--c-muted); font-size: .9rem; line-height: 1.55; }
.landing-section { padding: clamp(4rem, 8vw, 6rem) 0; }
.landing-section--muted { background: var(--c-surface-sunk); }
.landing-section h2 { max-width: 38rem; font-size: clamp(1.75rem, 3.2vw, 2.65rem); line-height: 1.3; }
.flow-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-2); margin-top: var(--space-4); }
.flow-list article { padding: var(--space-3); border-top: 2px solid var(--c-primary-600); background: var(--c-surface); }
.flow-list__number { color: var(--c-primary-700); font-size: .875rem; font-weight: 800; }
.flow-list h3 { margin: var(--space-2) 0 0; font-size: 1.1rem; }
.flow-list p, .result-preview p { margin: var(--space-1) 0 0; color: var(--c-muted); line-height: 1.65; }
.result-preview { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .8fr); gap: var(--space-5); align-items: end; }
.result-preview__list { display: grid; gap: var(--space-1); margin: 0; padding: var(--space-3); border-left: 2px solid var(--c-primary-600); background: var(--c-surface); list-style: none; }
.result-preview__list li { color: var(--c-ink-2); font-weight: 700; line-height: 1.5; }
.result-preview__list li::before { margin-right: .6rem; color: var(--c-primary-700); content: "•"; }
/* DESIGN-03: Invite and local-processing consent gates only. */
.invite-page .gate-experience,
.consent-page .gate-experience {
  display: grid;
  align-items: center;
  min-height: calc(100vh - 4.5rem);
  padding: clamp(2rem, 6vw, 5rem) 1rem;
}
@media (min-width: 42.0625rem) and (max-height: 45rem) {
  .invite-page .gate-experience,
  .consent-page .gate-experience { align-items: start; }
}
.invite-page .gate-experience__frame,
.consent-page .gate-experience__frame {
  display: grid;
  grid-template-columns: minmax(15rem, .78fr) minmax(0, 1.1fr);
  width: min(100%, 68rem);
  margin: 0 auto;
  border: 1px solid var(--c-border-mid);
  border-radius: var(--radius-lg);
  background: var(--c-surface);
  overflow: hidden;
}
.invite-page .gate-context,
.consent-page .gate-context {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--space-5);
  padding: clamp(2rem, 5vw, 3.5rem);
  background: var(--c-primary-050);
}
.invite-page .gate-context__label,
.consent-page .gate-context__label,
.invite-page .gate-action-card__label,
.consent-page .gate-action-card__label {
  margin: 0;
  color: var(--c-primary-700);
  font-size: .8125rem;
  font-weight: 800;
  letter-spacing: .02em;
}
.invite-page .gate-progress,
.consent-page .gate-progress {
  display: grid;
  gap: 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.invite-page .gate-progress__item,
.consent-page .gate-progress__item {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: .75rem;
  align-items: start;
  color: var(--c-muted);
}
.invite-page .gate-progress__marker,
.consent-page .gate-progress__marker {
  display: grid;
  width: 2rem;
  min-height: 2rem;
  place-items: center;
  border: 1px solid var(--c-border-mid);
  border-radius: 50%;
  background: var(--c-surface);
  color: var(--c-ink-2);
  font-size: .875rem;
  font-weight: 800;
}
.invite-page .gate-progress__item strong,
.consent-page .gate-progress__item strong,
.invite-page .gate-progress__item span span,
.consent-page .gate-progress__item span span { display: block; }
.invite-page .gate-progress__item strong,
.consent-page .gate-progress__item strong { color: var(--c-ink-2); line-height: 1.45; }
.invite-page .gate-progress__item span span,
.consent-page .gate-progress__item span span { margin-top: .2rem; font-size: .875rem; line-height: 1.5; }
.invite-page .gate-progress__item--current,
.consent-page .gate-progress__item--current { color: var(--c-ink); }
.invite-page .gate-progress__item--current .gate-progress__marker,
.consent-page .gate-progress__item--current .gate-progress__marker,
.consent-page .gate-progress__item--complete .gate-progress__marker {
  border-color: var(--c-primary-700);
  background: var(--c-primary-700);
  color: #fff;
}
.invite-page .gate-context__note,
.consent-page .gate-context__note {
  max-width: 28ch;
  margin: 0;
  color: var(--c-ink-2);
  font-size: .9375rem;
  line-height: 1.65;
}
.invite-page .gate-action-card,
.consent-page .gate-action-card { padding: clamp(2rem, 5vw, 4rem); }
.invite-page .gate-action-card h1,
.consent-page .gate-action-card h1 {
  max-width: 18ch;
  margin: .75rem 0 0;
  color: var(--c-ink);
  font-size: 2.25rem;
  letter-spacing: -.03em;
  line-height: 1.25;
  text-wrap: balance;
}
.invite-page .gate-action-card__lede,
.consent-page .gate-action-card__lede {
  max-width: 39rem;
  margin: 1rem 0 0;
  color: var(--c-ink-2);
  line-height: 1.7;
}
.invite-page .gate-form,
.consent-page .gate-form { margin-top: var(--space-4); }
.invite-page .gate-form > label:not(.gate-consent-check),
.consent-page .gate-form > label:not(.gate-consent-check) {
  display: block;
  color: var(--c-ink);
  font-weight: 800;
}
.invite-page .gate-form input[type="text"],
.consent-page .gate-form input[type="text"] {
  width: 100%;
  min-height: 3.25rem;
  margin-top: .5rem;
  padding: .75rem 1rem;
  border: 1px solid var(--c-border-mid);
  border-radius: var(--radius-sm);
  background: var(--c-surface-sunk);
  color: var(--c-ink);
  font: inherit;
}
.invite-page .gate-form input[type="text"] { background: var(--c-surface); }
.invite-page .gate-form input[type="text"]::placeholder,
.consent-page .gate-form input[type="text"]::placeholder { color: var(--c-muted); opacity: 1; }
.invite-page .gate-action-card__submit,
.consent-page .gate-action-card__submit { width: 100%; margin-top: var(--space-3); }
.invite-page .gate-status,
.consent-page .gate-status { margin: 1rem 0 0; color: var(--c-muted); font-size: .875rem; line-height: 1.55; }
.invite-page .gate-errors,
.consent-page .gate-errors {
  margin: var(--space-3) 0 0;
  padding: .875rem 1rem .875rem 2.25rem;
  border: 1px solid var(--c-p0-border);
  border-radius: var(--radius-sm);
  background: var(--c-p0-bg);
  line-height: 1.55;
}
.invite-page .gate-consent-boundary,
.consent-page .gate-consent-boundary {
  margin-top: var(--space-3);
  padding: 1rem 1.125rem;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-sm);
  background: var(--c-surface-sunk);
}
.invite-page .gate-consent-boundary p,
.consent-page .gate-consent-boundary p { margin: 0; color: var(--c-ink-2); font-size: .9375rem; font-weight: 700; line-height: 1.6; }
.invite-page .gate-consent-check,
.consent-page .gate-consent-check {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  min-height: 3rem;
  color: var(--c-ink);
  cursor: pointer;
  font-weight: 700;
  line-height: 1.55;
}
.invite-page .gate-consent-check input,
.consent-page .gate-consent-check input {
  width: 1.25rem;
  min-width: 1.25rem;
  min-height: 1.25rem;
  margin: .15rem 0 0;
  accent-color: var(--c-primary-700);
}
.invite-page .site-nav-link:focus-visible,
.consent-page .site-nav-link:focus-visible,
.invite-page .gate-form input:focus-visible,
.consent-page .gate-form input:focus-visible,
.invite-page .gate-form button:focus-visible,
.consent-page .gate-form button:focus-visible {
  outline: 2px solid var(--c-primary-600);
  outline-offset: 3px;
}
@media (max-width: 42rem) {
  .invite-page .gate-experience,
  .consent-page .gate-experience { min-height: calc(100vh - 4.5rem); padding: 1.25rem 1rem 2rem; }
  .invite-page .gate-experience__frame,
  .consent-page .gate-experience__frame { grid-template-columns: 1fr; overflow: visible; border: 0; background: transparent; }
  .invite-page .gate-context,
  .consent-page .gate-context { gap: var(--space-3); padding: 1.25rem; border: 1px solid var(--c-border); border-radius: var(--radius-md); }
  .invite-page .gate-progress,
  .consent-page .gate-progress { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .invite-page .gate-progress__item,
  .consent-page .gate-progress__item { grid-template-columns: 1.75rem minmax(0, 1fr); gap: .5rem; }
  .invite-page .gate-progress__marker,
  .consent-page .gate-progress__marker { width: 1.75rem; min-height: 1.75rem; }
  .invite-page .gate-progress__item span span,
  .consent-page .gate-progress__item span span { font-size: .8125rem; }
  .invite-page .gate-context__note,
  .consent-page .gate-context__note { max-width: none; font-size: .875rem; }
  .invite-page .gate-action-card,
  .consent-page .gate-action-card { margin-top: 1rem; padding: 1.75rem 1.25rem; border: 1px solid var(--c-border-mid); border-radius: var(--radius-md); background: var(--c-surface); }
  .invite-page .gate-action-card h1,
  .consent-page .gate-action-card h1 { font-size: 1.875rem; }
}

/* Existing input screen */
.page-shell { min-height: 100vh; padding: 2rem 1rem; }
.card { max-width: 47.5rem; margin: 0 auto; padding: 2rem; background: var(--c-surface-sunk); border: 1px solid var(--c-border); border-radius: 1rem; }
.eyebrow { margin: 0 0 .5rem; color: var(--c-primary-700); font-size: .875rem; font-weight: 700; }
.page-shell h1 { margin: 0 0 .75rem; font-size: 1.75rem; line-height: 2.25rem; text-wrap: balance; }
.intro, .hint, .status { color: var(--c-muted); font-size: .9375rem; line-height: 1.533; }
.page-shell label { display: block; margin: 1.25rem 0 .4rem; font-weight: 700; }
.page-shell input, .page-shell textarea { width: 100%; min-height: 2.75rem; padding: .75rem; border: 1px solid var(--c-border); border-radius: .5rem; background: var(--c-surface); color: var(--c-ink); font: inherit; }
.page-shell textarea { min-height: 10rem; resize: vertical; }
.page-shell input:focus-visible, .page-shell textarea:focus-visible, .page-shell button:focus-visible { outline: 2px solid var(--c-primary-600); outline-offset: 2px; }
.confirmation { display: flex !important; gap: .6rem; align-items: flex-start; font-weight: 600; }
.confirmation input { width: 1.25rem; min-height: 1.25rem; margin-top: .2rem; }
.page-shell button { width: 100%; min-height: 2.75rem; margin-top: 1.25rem; padding: .75rem 1rem; border: 0; border-radius: .5rem; background: var(--c-primary-700); color: #fff; font: inherit; font-weight: 700; }
.page-shell button:disabled { cursor: not-allowed; opacity: .55; }
.status { margin-bottom: 0; }
.errors { color: var(--c-p0); }
.privacy-recovery { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid var(--c-warn-border); border-radius: var(--radius-md); background: var(--c-warn-bg); color: var(--c-ink-2); }
.privacy-recovery:focus-visible { outline: 3px solid var(--c-primary-600); outline-offset: 3px; }
.privacy-recovery h2 { margin: 0; color: var(--c-ink); font-size: 1.25rem; line-height: 1.4; text-wrap: balance; }
.privacy-recovery p { max-width: 65ch; margin: .75rem 0 0; line-height: 1.6; }
.privacy-categories, .privacy-recovery__steps { margin: .5rem 0 0; padding-left: 1.5rem; }
.privacy-categories li, .privacy-recovery__steps li { padding-left: .25rem; line-height: 1.6; }
.privacy-recovery__examples { color: var(--c-muted); font-size: .9rem; }
.privacy-recovery__transmission { padding-top: .75rem; border-top: 1px solid var(--c-warn-border); color: var(--c-ink); font-weight: 700; }
.page-shell input[aria-invalid="true"], .page-shell textarea[aria-invalid="true"] { border-color: var(--c-p0); background: var(--c-p0-bg); }
.field-guidance { margin: .45rem 0 0; color: var(--c-p0); font-size: .875rem; line-height: 1.55; }

/* DESIGN-04: Input and privacy-recovery presentation only. */
.input-page .input-experience { padding: clamp(2rem, 5vw, 4.5rem) 1rem; }
.input-page .input-experience__frame { width: min(100%, 52rem); max-width: none; padding: clamp(1.5rem, 4vw, 3rem); border-color: var(--c-border-mid); background: var(--c-surface); box-shadow: none; }
.input-page .input-experience__eyebrow { margin-bottom: var(--space-2); font-size: .8125rem; letter-spacing: .02em; }
.input-page .input-experience__intro { max-width: 42rem; }
.input-page .input-experience__intro h1 { margin-bottom: .875rem; color: var(--c-ink); font-size: clamp(2rem, 4vw, 2.75rem); letter-spacing: -.03em; line-height: 1.2; }
.input-page .input-experience__intro .intro { max-width: 40rem; margin: 0; color: var(--c-ink-2); font-size: 1rem; line-height: 1.7; }
.input-page .input-form { display: grid; gap: var(--space-3); margin-top: var(--space-4); }
.input-page .input-form__group { min-width: 0; margin: 0; padding: var(--space-3); border: 1px solid var(--c-border); border-radius: var(--radius-md); background: var(--c-surface-sunk); }
.input-page .input-form__group legend { padding: 0 .35rem; color: var(--c-ink); font-size: 1rem; font-weight: 800; }
.input-page .input-form__group-hint { margin: 0; color: var(--c-muted); font-size: .875rem; line-height: 1.6; }
.input-page .input-form__group label { margin-top: var(--space-3); color: var(--c-ink); }
.input-page .input-form__group input[type="text"],
.input-page .input-form__group input[type="number"],
.input-page .input-form__group input[type="file"],
.input-page .input-form__group textarea { min-height: 3.125rem; margin-top: .5rem; padding: .75rem 1rem; border-color: var(--c-border-mid); background: var(--c-surface); }
.input-page .input-form__group textarea { min-height: 11rem; }
.input-page .input-form__group input[type="file"] { padding: .625rem .75rem; cursor: pointer; }
.input-page .input-form__group input[type="file"]::file-selector-button { margin-right: .75rem; padding: .45rem .65rem; border: 0; border-radius: .35rem; background: var(--c-primary-100); color: var(--c-primary-700); font: inherit; font-weight: 800; cursor: pointer; }
.input-page .input-form__group input[type="file"]:hover::file-selector-button { background: oklch(.88 .055 190); }
.input-page .input-form__group .hint { margin: .5rem 0 0; }
.input-page .input-form__group--confirmation { padding-block: 1.125rem; background: var(--c-primary-050); }
.input-page .input-form__group--confirmation .confirmation { min-height: 2.75rem; margin: .75rem 0 0; color: var(--c-ink-2); cursor: pointer; line-height: 1.6; }
.input-page .input-form__group--confirmation .confirmation input { flex: none; margin-top: .15rem; accent-color: var(--c-primary-700); }
.input-page .input-form__submit { min-height: 3.25rem; margin-top: 0; font-weight: 800; }
.input-page .input-errors { margin: var(--space-3) 0 0; padding: .875rem 1rem .875rem 2.25rem; border: 1px solid var(--c-p0-border); border-radius: var(--radius-sm); background: var(--c-p0-bg); color: var(--c-p0); line-height: 1.55; }
.input-page .input-ready-message { margin: var(--space-3) 0 0; padding: .75rem 1rem; border: 1px solid var(--c-primary-100); border-radius: var(--radius-sm); background: var(--c-primary-050); color: var(--c-primary-700); font-weight: 800; }
.input-page .prepared-inputs { margin-top: var(--space-3); padding: var(--space-3); border: 1px solid var(--c-border-mid); border-radius: var(--radius-md); background: var(--c-surface-sunk); }
.input-page .prepared-inputs h2 { margin: var(--space-3) 0 0; color: var(--c-ink); font-size: 1.125rem; }
.input-page .prepared-inputs__values { display: grid; gap: .75rem; margin: var(--space-3) 0 0; }
.input-page .prepared-inputs__values > div { display: grid; gap: .25rem; min-width: 0; padding-top: .75rem; border-top: 1px solid var(--c-border); }
.input-page .prepared-inputs__values dt { color: var(--c-muted); font-size: .8125rem; font-weight: 800; }
.input-page .prepared-inputs__values dd { min-width: 0; margin: 0; color: var(--c-ink-2); line-height: 1.6; overflow-wrap: anywhere; white-space: pre-wrap; }
.input-page .prepared-inputs__note { margin: var(--space-3) 0 0; color: var(--c-muted); font-size: .875rem; line-height: 1.55; }
.input-page .privacy-recovery { margin: var(--space-3) 0 0; padding: clamp(1rem, 3vw, 1.5rem); border-color: var(--c-warn-border); background: var(--c-warn-bg); }
.input-page .privacy-recovery h2 { max-width: 28ch; font-size: 1.3rem; }
.input-page .privacy-recovery__steps { display: grid; gap: .5rem; margin-top: var(--space-2); }
.input-page .privacy-recovery__steps li { padding-left: .35rem; }
.input-page .privacy-recovery__examples { padding: .75rem; border: 1px solid oklch(.75 .07 75); border-radius: var(--radius-sm); background: oklch(1 .01 78 / .48); color: var(--c-ink-2); }
.input-page .privacy-recovery__transmission { margin-top: var(--space-2); color: var(--c-ink); }
.input-page .field-guidance { max-width: 65ch; padding: .625rem .75rem; border: 1px solid var(--c-p0-border); border-radius: var(--radius-sm); background: var(--c-p0-bg); color: var(--c-p0); }
.input-page .input-reconnect { max-width: 42rem; margin-top: var(--space-4); padding: var(--space-3); border: 1px solid var(--c-border-mid); border-radius: var(--radius-md); background: var(--c-surface-sunk); color: var(--c-ink-2); }
.input-page .input-reconnect p { margin: 0; line-height: 1.65; }
.input-page .analysis-readiness { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--c-border); }
.input-page .analysis-readiness__heading { max-width: 42rem; }
.input-page .analysis-readiness__label { margin: 0; color: var(--c-primary-700); font-size: .8125rem; font-weight: 800; letter-spacing: .02em; }
.input-page .analysis-readiness h2 { margin: .4rem 0 0; color: var(--c-ink); font-size: 1.25rem; line-height: 1.4; text-wrap: balance; }
.input-page .analysis-readiness__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: var(--space-3) 0 0; padding: 0; list-style: none; }
.input-page .analysis-readiness__step { display: grid; grid-template-columns: 1.65rem minmax(0, 1fr); gap: .5rem; align-items: center; min-height: 3.25rem; color: var(--c-muted); font-size: .875rem; line-height: 1.35; }
.input-page .analysis-readiness__step > span { display: grid; width: 1.65rem; height: 1.65rem; place-items: center; border: 1px solid var(--c-border-mid); border-radius: 50%; background: var(--c-surface); color: var(--c-ink-2); font-size: .75rem; font-weight: 800; }
.input-page .analysis-readiness__step--complete, .input-page .analysis-readiness__step--current { color: var(--c-ink); }
.input-page .analysis-readiness__step--complete > span { border-color: var(--c-primary-700); background: var(--c-primary-700); color: #fff; }
.input-page .analysis-readiness__step--current > span { border-color: var(--c-primary-600); background: var(--c-primary-100); color: var(--c-primary-700); }
.input-page .analysis-readiness__form { margin-top: var(--space-3); }
.input-page .analysis-readiness__form button { min-height: 3.25rem; margin-top: 0; }
.input-page .analysis-readiness__status { margin: .75rem 0 0; color: var(--c-ink-2); }
.input-page .analysis-readiness__form button:disabled { border: 1px solid var(--c-border); background: var(--c-surface-sunk); color: var(--c-muted); opacity: 1; }

@media (max-width: 40rem) {
  .input-page .input-experience { padding: 1.25rem 1rem 2rem; }
  .input-page .input-experience__frame { padding: 1.5rem 1.25rem; border-radius: var(--radius-md); box-shadow: none; }
  .input-page .input-experience__intro h1 { font-size: 1.9rem; }
  .input-page .input-form { gap: var(--space-2); margin-top: var(--space-3); }
  .input-page .input-form__group { padding: 1rem; }
  .input-page .input-form__group textarea { min-height: 10rem; }
  .input-page .analysis-readiness { margin-top: var(--space-4); padding-top: var(--space-3); }
  .input-page .analysis-readiness__steps { grid-template-columns: 1fr; gap: .35rem; }
  .input-page .analysis-readiness__step { min-height: 2.75rem; }
}

/* ===== Result screen ===== */
.result-page { min-width: 20rem; overflow-x: hidden; }
.result-page button, .result-page a { font: inherit; }
.result-page button { min-height: 2.75rem; margin: 0; border: 0; }
.result-page button, .result-page a { -webkit-tap-highlight-color: transparent; }
.result-page button:focus-visible, .result-page a:focus-visible, .result-page input:focus-visible {
  outline: 2px solid var(--c-primary-600);
  outline-offset: 2px;
  border-radius: .5rem;
}
.result-page ul, .result-page ol { margin: .75rem 0 0; padding-left: 1.25rem; }
.result-page li { margin-top: .45rem; padding-left: .2rem; }
.result-page li::marker { color: var(--c-primary-600); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.result-topbar {
  position: relative;
  z-index: 20;
  border-bottom: 1px solid var(--c-border);
  background: oklch(1 0 0 / .94);
  backdrop-filter: blur(1rem);
}
.result-topbar__inner {
  display: flex;
  align-items: center;
  gap: 1rem;
  width: min(100% - 2rem, 72rem);
  min-height: 4rem;
  margin: 0 auto;
}
.brand {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  color: var(--c-primary-700);
  font-size: .95rem;
  font-weight: 800;
  letter-spacing: .01em;
  text-decoration: none;
  white-space: nowrap;
}
.role-context { min-width: 0; overflow: hidden; color: var(--c-ink-2); font-size: .9rem; text-overflow: ellipsis; white-space: nowrap; }
.result-topbar__actions { display: flex; align-items: center; gap: .5rem; margin-left: auto; }
.result-topbar__reset { margin: 0; }
.topbar-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0 1rem;
  border: 0;
  border-radius: .5rem;
  background: var(--c-primary-700);
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: .875rem;
  font-weight: 700;
  text-decoration: none;
}
.topbar-action--print { border: 1px solid var(--c-border-mid) !important; background: var(--c-surface); color: var(--c-primary-700); }

.result-shell {
  width: min(100% - 2rem, 72rem);
  margin: 0 auto;
  padding: 2rem 0 4rem;
}
.hero-card, .message-list, .prep-surface, .insight-card, .prep-rail {
  border: 1px solid var(--c-border-mid);
  border-radius: 1rem;
  background: var(--c-surface);
}
.hero-card { padding: clamp(1.5rem, 3vw, 2.5rem); }
.section-pill {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 2.25rem;
  margin: 0 0 1.5rem;
  padding: .35rem .75rem;
  border: 1px solid oklch(.87 .04 190);
  border-radius: 999px;
  background: var(--c-primary-050);
  color: var(--c-primary-700);
  font-size: .82rem;
  font-weight: 800;
}
.hero-card h1 {
  max-width: 55rem;
  margin: 0;
  font-size: clamp(1.65rem, 3.4vw, 2.6rem);
  line-height: 1.38;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.text-disclosure {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: 1.25rem !important;
  padding: .35rem 0;
  background: transparent;
  color: var(--c-primary-700);
  cursor: pointer;
  font-weight: 750 !important;
}
.text-disclosure span { font-size: 1.15em; transition: transform 200ms var(--ease); }
.hero-card.is-open > .text-disclosure span { transform: rotate(45deg); }
.hero-rationale { max-width: 54rem; color: var(--c-ink-2); font-size: 1rem; line-height: 1.75; }
.hero-rationale p { margin: 1rem 0 0; }
.risk-banner {
  margin-top: 1.5rem;
  padding: 1.25rem 1.4rem;
  border: 1px solid var(--c-warn-border);
  border-radius: .85rem;
  background: var(--c-warn-bg);
  color: var(--c-ink-2);
}
.risk-banner__label { margin: 0 0 .55rem !important; color: var(--c-warn); font-weight: 800; }
.risk-banner p { margin: 0; line-height: 1.7; }
.risk-banner .evidence-chip { margin-top: .8rem; }

.result-section { margin-top: 3rem; }
.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.section-heading h2 { margin: 0; font-size: clamp(1.35rem, 2.3vw, 1.75rem); line-height: 1.35; letter-spacing: -.025em; }
.section-heading p { margin: .45rem 0 0; color: var(--c-muted); font-size: .9rem; line-height: 1.6; }
.section-heading > span { flex: none; color: var(--c-muted); font-size: .85rem; font-weight: 700; }

.message-list { overflow: hidden; }
.message-row + .message-row { border-top: 1px solid var(--c-border); }
.message-row__trigger {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) 1.25rem;
  align-items: center;
  gap: .9rem;
  width: 100%;
  padding: 1rem 1.25rem;
  background: transparent;
  color: var(--c-ink);
  cursor: pointer;
  text-align: left;
}
.message-index, .ordinal, .question-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 2rem;
  height: 2rem;
  border-radius: .4rem;
  background: var(--c-primary-700);
  color: #fff;
  font-size: .82rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.message-row__copy { display: grid; min-width: 0; gap: .25rem; }
.message-row__copy strong { font-size: 1rem; line-height: 1.5; }
.message-row__copy > span { color: var(--c-muted); font-size: .84rem; line-height: 1.5; }
.message-detail { padding: 0 1.25rem 1.25rem 4.65rem; color: var(--c-ink-2); }
.when-to-use { display: flex; gap: .7rem; margin: 1rem 0; padding: .8rem 1rem; border-radius: .65rem; background: var(--c-surface-sunk); line-height: 1.6; }

.result-split { display: grid; grid-template-columns: minmax(0, 1fr) 19rem; align-items: start; gap: 1.5rem; }
.result-split__main { min-width: 0; }
.prep-surface { overflow: hidden; }
.prep-group + .prep-group { border-top: .5rem solid var(--c-bg); }
.prep-group__title { display: flex; align-items: center; justify-content: space-between; margin: 0; padding: .7rem 1.2rem; border-bottom: 1px solid var(--c-border); background: var(--c-primary-050); color: var(--c-primary-700); font-size: .8rem; font-weight: 800; }
.prep-group__title span { color: var(--c-muted); }
.prep-row + .prep-row { border-top: 1px solid var(--c-border); }
.prep-row__trigger {
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr) auto;
  align-items: center;
  gap: .9rem;
  width: 100%;
  padding: 1rem 1.2rem;
  background: transparent;
  color: var(--c-ink);
  cursor: pointer;
  text-align: left;
}
.priority-tile {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  border: 1px solid;
  border-radius: .65rem;
  font-size: .78rem;
  font-weight: 850;
}
.priority-tile--p0 { border-color: var(--c-p0-border); background: var(--c-p0-bg); color: var(--c-p0); }
.priority-tile--p1 { border-color: var(--c-p1-border); background: var(--c-p1-bg); color: var(--c-p1); }
.priority-tile--ready { border-color: oklch(.80 .05 190); background: var(--c-primary-050); color: var(--c-primary-700); }
.prep-row__copy { display: grid; min-width: 0; gap: .3rem; }
.prep-row__copy strong { line-height: 1.5; }
.prep-row__copy span { color: var(--c-muted); font-size: .84rem; line-height: 1.5; }
.prep-row__meta { display: flex; align-items: center; gap: .55rem; }
.prep-detail { padding: 0 1.25rem 1.25rem 4.7rem; }
.prep-detail p { display: grid; gap: .4rem; margin: 0; padding: .9rem 1rem; border-radius: .7rem; background: var(--c-surface-sunk); color: var(--c-ink-2); line-height: 1.65; }

.evidence-chips { display: inline-flex; flex-wrap: wrap; gap: .4rem; }
.evidence-chip {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  width: max-content;
  max-width: 100%;
  min-height: 1.8rem;
  padding: .2rem .55rem;
  border: 1px solid var(--c-border-mid);
  border-radius: 999px;
  background: var(--c-surface-sunk);
  color: var(--c-ink-2);
  font-size: .74rem;
  font-weight: 700;
  line-height: 1.3;
}
.evidence-mark { display: inline-block; flex: none; width: .62rem; height: .62rem; border: 1.5px solid currentColor; }
.evidence-chip--source { border-color: oklch(.83 .05 190); background: var(--c-primary-050); color: var(--c-primary-700); }
.evidence-chip--source .evidence-mark { border-radius: .1rem; background: currentColor; }
.evidence-chip--coaching .evidence-mark { border-radius: 50%; }
.evidence-chip--gap { border-color: var(--c-warn-border); background: var(--c-warn-bg); color: var(--c-warn); }
.evidence-chip--gap .evidence-mark { transform: rotate(45deg) scale(.78); }

.prep-rail {
  position: sticky;
  top: 1.5rem;
  margin-top: 3rem;
  padding: 1.35rem;
}
.prep-rail__eyebrow, .prep-sheet__header p { margin: 0; color: var(--c-primary-700); font-size: .78rem; font-weight: 800; }
.prep-rail h2 { margin: .35rem 0; font-size: 1.25rem; }
.prep-rail > p:not(.prep-rail__eyebrow, .plan-note) { margin: .25rem 0 1rem; color: var(--c-muted); font-size: .86rem; line-height: 1.6; }
.plan-list { display: grid; gap: .65rem; }
.plan-step {
  display: grid;
  grid-template-columns: 1.3rem 3.1rem minmax(0, 1fr);
  align-items: start;
  gap: .65rem;
  min-height: 3rem;
  padding: .8rem;
  border-radius: .7rem;
  background: var(--c-primary-050);
  color: var(--c-ink-2);
  cursor: pointer;
  font-size: .82rem;
  line-height: 1.55;
}
.plan-step input { width: 1.2rem; height: 1.2rem; margin: .08rem 0 0; accent-color: var(--c-primary-700); }
.plan-step__time { color: var(--c-primary-700); font-weight: 800; font-variant-numeric: tabular-nums; }
.plan-step:has(input:checked) { opacity: .62; }
.plan-step:has(input:checked) > span:last-child { text-decoration: line-through; }
.plan-note { margin: .85rem 0 0; color: var(--c-muted); font-size: .75rem; }

.tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .35rem;
  padding: .35rem;
  border-radius: .8rem;
  background: var(--c-surface-sunk);
}
.tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-width: 0;
  padding: .6rem .75rem;
  border-radius: .6rem;
  background: transparent;
  color: var(--c-muted);
  cursor: pointer;
  font-weight: 750 !important;
  white-space: nowrap;
}
.tab span { display: inline-flex; align-items: center; justify-content: center; min-width: 1.35rem; height: 1.35rem; padding: 0 .3rem; border-radius: 999px; background: var(--c-border); font-size: .7rem; }
.tab.is-active { background: var(--c-surface); color: var(--c-ink); box-shadow: 0 .2rem .8rem oklch(.25 .02 195 / .08); }
.tab.is-active span { background: var(--c-primary-700); color: #fff; }
.tab-panel[hidden] { display: none; }
.list-meta { margin: 1rem 0 .7rem; color: var(--c-muted); font-size: .82rem; font-weight: 650; text-align: right; }
.insight-list { display: grid; gap: .9rem; }
.insight-card { overflow: clip; transition: border-color 140ms ease, box-shadow 200ms var(--ease); }
.insight-card.is-open { border-color: var(--c-border-mid); box-shadow: var(--shadow-open); }
.insight-trigger {
  display: grid;
  gap: .7rem;
  width: 100%;
  padding: 1.25rem;
  background: transparent;
  color: var(--c-ink);
  cursor: pointer;
  text-align: left;
}
.insight-trigger__top {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .65rem;
  min-width: 0;
}
.insight-trigger__top > strong { min-width: 0; font-size: 1.03rem; line-height: 1.5; }
.insight-trigger__right { display: flex; align-items: center; justify-content: end; gap: .55rem; }
.ordinal { width: 1.9rem; height: 1.9rem; background: var(--c-primary-050); color: var(--c-primary-700); }
.question-index { background: var(--c-primary-050); color: var(--c-primary-700); }
.priority-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.9rem;
  padding: .2rem .6rem;
  border: 1px solid;
  border-radius: .55rem;
  font-size: .72rem;
  font-weight: 800;
  white-space: nowrap;
}
.priority-badge--p0 { border-color: var(--c-p0-border); background: var(--c-p0-bg); color: var(--c-p0); }
.priority-badge--p1 { border-color: var(--c-p1-border); background: var(--c-p1-bg); color: var(--c-p1); }
.priority-badge--ready { border-color: oklch(.80 .05 190); background: var(--c-primary-050); color: var(--c-primary-700); }
.insight-trigger__top > .priority-badge--ready { min-width: 0; max-inline-size: 100%; white-space: normal; overflow-wrap: anywhere; text-align: center; }
.insight-takeaway { color: var(--c-muted); font-size: .92rem; line-height: 1.65; }
.insight-detail { padding: 0 1.25rem 1.25rem; border-top: 1px solid var(--c-border); color: var(--c-ink-2); line-height: 1.72; }
.insight-detail > p { margin: .65rem 0 1.2rem; }
.detail-heading { display: flex; align-items: center; gap: .55rem; margin: 1.25rem 0 .35rem; color: var(--c-ink-2); font-size: .9rem; }
.detail-heading span { display: inline-flex; align-items: center; justify-content: center; width: 1.25rem; color: var(--c-primary-700); font-weight: 800; }
.talking-point, .avoid-box, .support-box {
  margin-top: 1.2rem;
  padding: 1rem 1.1rem;
  border: 1px solid oklch(.84 .045 190);
  border-radius: .75rem;
  background: var(--c-primary-050);
}
.talking-point strong { color: var(--c-primary-700); }
.talking-point p { margin: .55rem 0 0; }
.avoid-box { border-color: var(--c-warn-border); background: var(--c-warn-bg); }
.avoid-box strong { color: var(--c-warn); }
.support-box { background: var(--c-surface-sunk); }
.followup { margin-top: 1.2rem; }
.followup > button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: .65rem;
  min-width: 13rem;
  padding: .65rem .9rem;
  border: 1px solid var(--c-border-mid);
  border-radius: .65rem;
  background: var(--c-surface-sunk);
  color: var(--c-ink-2);
  cursor: pointer;
  font-weight: 750;
}
.followup .reveal__inner { padding: .35rem .5rem 0; }
.fold-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  width: 100%;
  margin-top: 1.35rem !important;
  padding: .5rem;
  border-top: 1px solid var(--c-border) !important;
  background: transparent;
  color: var(--c-muted);
  cursor: pointer;
  font-weight: 750 !important;
}
.detail-columns { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.detail-columns > div { margin-top: 1rem; }
.story-timeline { display: grid; gap: 0; margin: 1.2rem 0 0; }
.story-timeline > div { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--c-border); }
.story-timeline dt { color: var(--c-primary-700); font-weight: 800; }
.story-timeline dd { margin: 0; }
.story-timeline ul { margin-top: 0; }

.chev { flex: none; transition: transform 200ms var(--ease); }
.is-open > [data-disclose] .chev { transform: rotate(180deg); }
.reveal { display: none; }
.is-open > .reveal { display: block; animation: revealIn 200ms var(--ease) both; }
@keyframes revealIn { from { opacity: 0; transform: translateY(-.25rem); } to { opacity: 1; transform: none; } }

.result-notice {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: .8rem;
  margin-top: 3.5rem;
  padding: 1.2rem 1.35rem;
  border-radius: .8rem;
  background: var(--c-primary-050);
  color: var(--c-ink-2);
  font-size: .85rem;
  line-height: 1.7;
}
.result-notice > span { color: var(--c-primary-600); font-size: 1.15rem; }
.result-notice p { margin: 0; }

.mobile-prepbar { display: none; }
.sheet-scrim, .prep-sheet { position: fixed; z-index: 50; }
.sheet-scrim { inset: 0; background: oklch(.15 .02 205 / .45); opacity: 0; transition: opacity 280ms var(--ease); }
.sheet-scrim.is-visible { opacity: 1; }
.prep-sheet {
  right: 0;
  bottom: 0;
  left: 0;
  max-height: min(85vh, 46rem);
  overflow-y: auto;
  padding: .75rem 1rem calc(1.5rem + env(safe-area-inset-bottom));
  border: 1px solid var(--c-border-mid);
  border-radius: 1rem 1rem 0 0;
  background: var(--c-surface);
  box-shadow: 0 -1rem 3rem oklch(.15 .02 205 / .18);
  transform: translateY(100%);
  transition: transform 280ms var(--ease);
}
.prep-sheet.is-visible { transform: none; }
.prep-sheet[hidden], .sheet-scrim[hidden] { display: none; }
.prep-sheet__handle { width: 2.5rem; height: .25rem; margin: 0 auto 1rem; border-radius: 999px; background: var(--c-border-mid); }
.prep-sheet__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.prep-sheet__header h2 { margin: .25rem 0 0; font-size: 1.3rem; }
.prep-sheet > p { color: var(--c-muted); font-size: .88rem; }
.sheet-close { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; padding: 0; border-radius: 50%; background: var(--c-surface-sunk); color: var(--c-ink); cursor: pointer; font-size: 1.5rem; }

@media (hover: hover) {
  .message-row__trigger:hover, .prep-row__trigger:hover, .insight-trigger:hover { background: var(--c-primary-050); }
  .topbar-action:hover { background: var(--c-primary-600); }
  .topbar-action--print:hover { border-color: var(--c-primary-600) !important; background: var(--c-primary-050); color: var(--c-primary-700); }
}

@media (max-width: 60rem) {
  .landing-hero__grid, .result-preview { grid-template-columns: 1fr; }
  .landing-hero { padding-top: 4rem; }
  .evidence-panel { max-width: 38rem; }
  .flow-list { grid-template-columns: 1fr; max-width: 38rem; }
  .result-topbar__inner, .result-shell { width: min(100% - 2rem, 45rem); }
  .result-topbar__reset { display: none; }
  .result-shell { padding-top: 1.25rem; padding-bottom: 7rem; }
  .hero-card { padding: 1.4rem; }
  .hero-card h1 { font-size: clamp(1.35rem, 6.1vw, 1.8rem); line-height: 1.52; letter-spacing: -.025em; }
  .section-pill { margin-bottom: 1rem; }
  .result-section { margin-top: 2.5rem; }
  .section-heading { align-items: start; }
  .section-heading > span { padding-top: .25rem; }
  .result-split { display: block; }
  .prep-rail { display: none; }
  .tabs { display: flex; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; }
  .tabs::-webkit-scrollbar { display: none; }
  .tab { flex: 0 0 auto; min-width: 7.25rem; scroll-snap-align: start; }
  .mobile-prepbar {
    position: fixed;
    z-index: 40;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom));
    border-top: 1px solid var(--c-border);
    background: oklch(1 0 0 / .96);
    backdrop-filter: blur(1rem);
  }
  .mobile-prepbar button { width: 100%; padding: .8rem 1rem; border-radius: .65rem; background: var(--c-primary-700); color: #fff; cursor: pointer; font-weight: 800; }
}

@media (max-width: 40rem) {
  .site-frame { width: min(100% - 1.5rem, 75rem); }
  .site-header__inner { min-height: 4rem; }
  .landing-hero { padding: 3.5rem 0 4rem; }
  .landing-hero h1 { font-size: clamp(2.2rem, 11vw, 3rem); }
  .landing-hero__actions .button { width: 100%; }
  .landing-section { padding: 3.5rem 0; }
  .result-preview { gap: var(--space-3); }
  .page-shell .card { padding: 1.25rem; }
  .privacy-recovery { padding: 1rem; }
  .result-topbar__inner { min-height: 3.5rem; }
  .role-context { font-size: .82rem; }
  .hero-card, .message-list, .prep-surface, .insight-card { border-radius: .9rem; }
  .risk-banner { padding: 1rem; }
  .section-heading h2 { font-size: 1.35rem; }
  .section-heading p { font-size: .84rem; }
  .message-row__trigger { grid-template-columns: 2rem minmax(0, 1fr) 1.25rem; gap: .7rem; padding: 1rem; }
  .message-index { width: 2rem; height: 2rem; }
  .message-detail { padding: 0 1rem 1rem; }
  .when-to-use { display: grid; gap: .25rem; }
  .prep-row__trigger { grid-template-columns: 2.6rem minmax(0, 1fr) 1.25rem; align-items: start; padding: 1rem; }
  .prep-row__meta { display: contents; }
  .prep-row__meta .evidence-chips { grid-column: 2 / 4; grid-row: 2; margin-top: .15rem; }
  .prep-row__meta .chev { grid-column: 3; grid-row: 1; align-self: center; }
  .prep-detail { padding: 0 1rem 1rem; }
  .insight-trigger { grid-template-columns: auto auto minmax(0, 1fr) 1.25rem; gap: .55rem .5rem; padding: 1rem; }
  .insight-trigger__top, .insight-trigger__right { display: contents; }
  .insight-trigger__top > .priority-badge { grid-column: 1; grid-row: 1; }
  .insight-trigger__top > .ordinal { grid-column: 2; grid-row: 1; }
  .insight-trigger__top > strong { grid-column: 3; grid-row: 1; align-self: center; font-size: .98rem; }
  .insight-trigger__right .chev { grid-column: 4; grid-row: 1; align-self: center; }
  .insight-takeaway { grid-column: 1 / -1; grid-row: 2; }
  .insight-trigger__right .evidence-chips { grid-column: 1 / -1; grid-row: 3; }
  .question-card .question-index, .story-card .ordinal { grid-column: 1; grid-row: 1; }
  .question-card .insight-trigger__top > strong, .story-card .insight-trigger__top > strong { grid-column: 2 / 4; grid-row: 1; }
  .priority-badge { min-height: 2.2rem; padding: .25rem .5rem; }
  .insight-detail { padding: 0 1rem 1rem; }
  .detail-columns { grid-template-columns: 1fr; gap: 0; }
  .story-timeline > div { grid-template-columns: 3.2rem minmax(0, 1fr); gap: .65rem; }
  .followup > button { width: 100%; min-width: 0; }
  .result-notice { margin-top: 2.5rem; padding: 1rem; }
}

@media (max-width: 28rem) {
  .priority-badge { grid-column: 1 / -1; grid-row: 1; justify-self: start; }
  .insight-trigger__top .ordinal { grid-column: 1; grid-row: 2; }
  .insight-trigger__top > strong { grid-column: 2 / 4; grid-row: 2; }
  .insight-trigger__right .chev { grid-column: 4; grid-row: 2; }
  .insight-takeaway { grid-row: 3; }
  .insight-trigger__right .evidence-chips { grid-row: 4; }
  .question-card .question-index, .story-card .ordinal { grid-column: 1; grid-row: 1; }
  .question-card .insight-trigger__top > strong, .story-card .insight-trigger__top > strong { grid-column: 2 / 4; grid-row: 1; }
  .question-card .insight-trigger__right .chev, .story-card .insight-trigger__right .chev { grid-column: 4; grid-row: 1; }
  .question-card .insight-takeaway, .story-card .insight-takeaway { grid-row: 2; }
  .question-card .insight-trigger__right .evidence-chips, .story-card .insight-trigger__right .evidence-chips { grid-row: 3; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .is-open > .reveal { animation: none !important; }
}

@media print {
  @page { margin: 14mm; }
  html, body, .result-page { background: #fff !important; color: var(--c-ink) !important; }
  .result-page { min-width: 0; overflow: visible; }
  [data-print-result],
  .result-topbar__reset,
  .tabs,
  .text-disclosure,
  .followup > button,
  [data-close-disclosure],
  .fold-button,
  .chev,
  .mobile-prepbar,
  .sheet-scrim,
  .prep-sheet { display: none !important; }
  .result-shell { width: auto; padding: 0; }
  .result-split { display: block; }
  .prep-rail {
    display: block !important;
    position: static;
    top: auto;
  }
  .plan-step {
    grid-template-columns: 3.1rem minmax(0, 1fr);
  }
  .plan-step input { display: none !important; }
  .message-row__trigger,
  .prep-row__trigger,
  .insight-trigger {
    width: 100%;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--c-ink) !important;
  }
  .result-page .reveal { display: block !important; }
  .result-page .tab-panel[hidden] { display: block !important; }
  .hero-card, .message-list, .prep-surface, .insight-card, .prep-rail, .result-notice {
    box-shadow: none !important;
    break-inside: avoid-page;
  }
}


/* DESIGN-01 v3 approved landing override */
/* DESIGN-01 v2: landing-only high-fidelity convergence */
.landing-page .landing-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(4.25rem, 7.5vw, 6.75rem) 0 clamp(4.5rem, 7vw, 6rem);
  border-bottom: 1px solid var(--c-border);
  background:
    radial-gradient(circle at 86% 12%, oklch(.91 .045 165 / .7), transparent 29rem),
    radial-gradient(circle at 8% 100%, oklch(.96 .035 82 / .55), transparent 24rem),
    var(--c-primary-050);
}
.landing-page .landing-hero::before {
  position: absolute;
  top: -8rem;
  right: -5rem;
  width: 25rem;
  height: 25rem;
  border: 1px solid oklch(.83 .04 170 / .8);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}
.landing-page .landing-hero__grid {
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(0, .94fr) minmax(27rem, 1.06fr);
  gap: clamp(3rem, 6vw, 6rem);
}
.landing-page .landing-hero__copy { max-width: 41rem; }
.landing-page .landing-hero .eyebrow,
.landing-page .landing-section .eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  margin-bottom: 1rem;
  padding: .3rem .7rem;
  border: 1px solid oklch(.84 .04 190);
  border-radius: 999px;
  background: oklch(1 0 0 / .7);
  color: var(--c-primary-700);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .035em;
}
.landing-page .landing-hero h1 {
  max-width: 39rem;
  font-size: clamp(2.9rem, 5vw, 4.75rem);
  line-height: 1.07;
  letter-spacing: -.06em;
}
.landing-page .landing-hero__lede {
  max-width: 39rem;
  margin-top: 1.45rem;
  color: var(--c-ink-2);
  font-size: clamp(1.05rem, 1.55vw, 1.2rem);
  line-height: 1.72;
}
.landing-page .landing-hero__actions {
  align-items: center;
  gap: 1.1rem;
  margin-top: 2rem;
}
.landing-page .landing-hero__actions .button--primary {
  min-height: 3.45rem;
  padding-inline: 1.55rem;
  border-radius: .65rem;
  box-shadow: 0 .85rem 1.8rem oklch(.27 .07 190 / .2);
}
.landing-page .landing-hero__secondary {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 2.75rem;
  color: var(--c-primary-700);
  font-size: .9rem;
  font-weight: 800;
  text-decoration: none;
}
.landing-page .landing-hero__secondary span { transition: transform 160ms var(--ease); }
.landing-page .landing-hero__secondary:hover span { transform: translateX(.2rem); }
.landing-page .landing-hero__meta {
  display: grid;
  gap: .35rem;
  margin-top: 1.25rem;
  color: var(--c-muted);
  font-size: .82rem;
  line-height: 1.55;
}
.landing-page .landing-hero__meta p { display: flex; gap: .5rem; margin: 0; }
.landing-page .landing-hero__meta p::before {
  flex: none;
  width: .42rem;
  height: .42rem;
  margin-top: .42rem;
  border-radius: 50%;
  background: var(--c-primary-600);
  content: "";
}
.landing-page .landing-hero__prepare {
  margin-top: 1.5rem;
  padding-top: 1.2rem;
  border-top: 1px solid oklch(.84 .025 190);
}
.landing-page .landing-hero__prepare strong {
  display: block;
  color: var(--c-ink-2);
  font-size: .8rem;
  font-weight: 800;
}
.landing-page .landing-hero__prepare > div { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .7rem; }
.landing-page .landing-hero__prepare span {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: .3rem .65rem;
  border: 1px solid oklch(.81 .025 190);
  border-radius: 999px;
  background: oklch(1 0 0 / .75);
  color: var(--c-ink-2);
  font-size: .76rem;
  font-weight: 750;
}

/* DESIGN-01 v3: dynamic evidence-to-result choreography */
.landing-page .result-demo {
  --result-demo-final-offset: -1.25rem;
  position: relative;
  overflow: hidden;
  border: 1px solid oklch(.77 .032 190);
  border-radius: 1.2rem;
  background: oklch(.995 .006 185);
  box-shadow: 0 2.2rem 5.5rem oklch(.22 .035 195 / .16);
  transform: rotate(.25deg);
  isolation: isolate;
}
.landing-page .result-demo::before,
.landing-page .result-demo::after {
  position: absolute;
  z-index: -1;
  width: 16rem;
  height: 16rem;
  border-radius: 50%;
  content: "";
  filter: blur(.2rem);
  pointer-events: none;
}
.landing-page .result-demo::before {
  top: 3rem;
  right: -7rem;
  background: oklch(.91 .055 164 / .7);
}
.landing-page .result-demo::after {
  bottom: -7rem;
  left: -6rem;
  background: oklch(.95 .045 79 / .65);
}
.landing-page .result-demo__chrome {
  position: relative;
  z-index: 8;
  display: flex;
  align-items: center;
  gap: .38rem;
  min-height: 2.65rem;
  padding: 0 1rem;
  border-bottom: 1px solid var(--c-border);
  background: oklch(.985 .006 185 / .94);
  backdrop-filter: blur(.7rem);
}
.landing-page .result-demo__chrome > span { width: .48rem; height: .48rem; border-radius: 50%; background: oklch(.78 .018 190); }
.landing-page .result-demo__chrome > span:first-child { background: oklch(.72 .09 72); }
.landing-page .result-demo__chrome > span:nth-child(2) { background: oklch(.74 .065 155); }
.landing-page .result-demo__chrome b { margin-left: auto; color: var(--c-muted); font-size: .68rem; font-weight: 750; }
.landing-page .result-demo__stage {
  position: relative;
  min-height: 33.5rem;
  overflow: hidden;
  padding: 1.2rem;
  background:
    linear-gradient(oklch(.82 .02 190 / .25) 1px, transparent 1px),
    linear-gradient(90deg, oklch(.82 .02 190 / .18) 1px, transparent 1px),
    radial-gradient(circle at 50% 31%, oklch(.93 .055 170 / .58), transparent 11rem);
  background-size: 3rem 3rem, 3rem 3rem, auto;
}
.landing-page .result-demo__stage::after {
  position: absolute;
  inset: 0;
  z-index: 7;
  border: 1px solid transparent;
  background: linear-gradient(180deg, transparent 58%, oklch(.995 .006 185 / .82) 92%);
  content: "";
  pointer-events: none;
}
.landing-page .result-demo__stage-label {
  position: relative;
  z-index: 6;
  display: flex;
  justify-content: space-between;
  color: var(--c-muted);
  font-size: .62rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.landing-page .result-demo__sources { position: absolute; inset: 0; z-index: 4; pointer-events: none; }
.landing-page .result-demo__source {
  position: absolute;
  top: 3.35rem;
  display: grid;
  grid-template-columns: 1.7rem minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: .55rem;
  width: 8.55rem;
  min-height: 4.35rem;
  padding: .65rem .7rem;
  border: 1px solid oklch(.78 .032 190);
  border-radius: .75rem;
  background: oklch(1 0 0 / .96);
  box-shadow: 0 .8rem 2rem oklch(.24 .03 195 / .11);
  transform-origin: center;
}
.landing-page .result-demo__source > span {
  grid-row: 1 / 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: .45rem;
  background: var(--c-primary-050);
  color: var(--c-primary-700);
  font-size: .62rem;
  font-weight: 900;
}
.landing-page .result-demo__source strong { align-self: end; color: var(--c-ink); font-size: .76rem; line-height: 1.25; }
.landing-page .result-demo__source small { align-self: start; margin-top: .12rem; color: var(--c-muted); font-size: .58rem; line-height: 1.3; }
.landing-page .result-demo__source--resume { left: 4%; }
.landing-page .result-demo__source--role { left: 50%; transform: translateX(-50%); }
.landing-page .result-demo__source--jd { right: 4%; }

.landing-page .result-demo__connectors {
  position: absolute;
  top: 2.8rem;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 19rem;
  overflow: visible;
  pointer-events: none;
}
.landing-page .result-demo__connectors path {
  fill: none;
  stroke: oklch(.43 .085 188 / .66);
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-dasharray: 180;
  stroke-dashoffset: 180;
}
.landing-page .result-demo__core {
  position: absolute;
  top: 10.6rem;
  left: 50%;
  z-index: 5;
  display: grid;
  place-items: center;
  width: 12.8rem;
  min-height: 5.8rem;
  padding: .9rem 1rem;
  border: 1px solid oklch(.67 .065 186);
  border-radius: 1rem;
  background: oklch(.985 .018 183 / .96);
  box-shadow: 0 1rem 2.8rem oklch(.25 .055 190 / .16);
  text-align: center;
  transform: translateX(-50%);
}
.landing-page .result-demo__core::before,
.landing-page .result-demo__core::after {
  position: absolute;
  inset: -.7rem;
  border: 1px solid oklch(.69 .06 183 / .45);
  border-radius: 1.25rem;
  content: "";
}
.landing-page .result-demo__core::after { inset: -1.3rem; border-color: oklch(.74 .05 183 / .22); }
.landing-page .result-demo__core span { color: var(--c-primary-700); font-size: .62rem; font-weight: 850; }
.landing-page .result-demo__core strong { max-width: 10rem; margin-top: .2rem; font-size: .8rem; line-height: 1.35; }
.landing-page .result-demo__core i {
  position: absolute;
  right: .7rem;
  bottom: .65rem;
  width: .45rem;
  height: .45rem;
  border-radius: 50%;
  background: var(--c-primary-600);
  box-shadow: 0 0 0 .35rem oklch(.83 .06 185 / .4);
}
.landing-page .result-demo__result-label {
  position: absolute;
  top: 15.8rem;
  left: 1.25rem;
  z-index: 6;
  display: flex;
  align-items: baseline;
  gap: .55rem;
  opacity: 0;
}
.landing-page .result-demo__result-label span { color: var(--c-primary-600); font-size: .58rem; font-weight: 900; letter-spacing: .09em; }
.landing-page .result-demo__result-label strong { color: var(--c-ink-2); font-size: .72rem; }
.landing-page .result-demo__insights {
  position: absolute;
  inset: 0;
  z-index: 6;
  margin: 0;
  padding: 0;
  list-style: none;
  pointer-events: none;
}
.landing-page .result-demo__insight {
  position: absolute;
  left: 5%;
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  width: 90%;
  min-height: 4.7rem;
  padding: .78rem .85rem;
  border: 1px solid var(--c-border);
  border-radius: .82rem;
  background: oklch(1 0 0 / .97);
  box-shadow: 0 .85rem 2rem oklch(.22 .035 195 / .1);
  opacity: 0;
  transform-origin: center;
}
.landing-page .result-demo__insight--message { top: 17.3rem; border-left: 3px solid var(--c-primary-600); }
.landing-page .result-demo__insight--risk { top: 22.15rem; border-left: 3px solid oklch(.62 .09 70); }
.landing-page .result-demo__insight--prep { top: 27rem; border-left: 3px solid oklch(.54 .075 158); }
.landing-page .result-demo__index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: .55rem;
  background: var(--c-primary-050);
  color: var(--c-primary-700);
  font-size: .68rem;
  font-weight: 900;
}
.landing-page .result-demo__insight strong { display: block; font-size: .84rem; line-height: 1.35; }
.landing-page .result-demo__insight p { margin: .18rem 0 0; color: var(--c-muted); font-size: .68rem; line-height: 1.35; }
.landing-page .result-demo__tag {
  display: inline-flex;
  align-items: center;
  min-height: 1.7rem;
  padding: .2rem .5rem;
  border-radius: 999px;
  background: var(--c-primary-050);
  color: var(--c-primary-700);
  font-size: .58rem;
  font-weight: 850;
  white-space: nowrap;
}
.landing-page .result-demo__insight--risk .result-demo__tag { background: oklch(.97 .025 78); color: oklch(.48 .11 70); }
.landing-page .result-demo__insight--prep .result-demo__tag { background: oklch(.96 .025 158); color: oklch(.35 .075 165); }
.landing-page .result-demo__caption {
  position: absolute;
  z-index: 9;
  right: 1.2rem;
  bottom: .65rem;
  left: 1.2rem;
  margin: 0;
  color: var(--c-muted);
  font-size: .62rem;
  line-height: 1.4;
  text-align: center;
}

@media (prefers-reduced-motion: no-preference) {
  .landing-page .result-demo::before { animation: landingOrbOne 10.4s ease-in-out infinite; }
  .landing-page .result-demo::after { animation: landingOrbTwo 10.4s ease-in-out infinite; }
  .landing-page .result-demo__source--resume { animation: landingSourceResume 10.4s var(--ease) infinite; }
  .landing-page .result-demo__source--role { animation: landingSourceRole 10.4s var(--ease) infinite; }
  .landing-page .result-demo__source--jd { animation: landingSourceJd 10.4s var(--ease) infinite; }
  .landing-page .result-demo__connectors path { animation: landingConnector 10.4s var(--ease) infinite; }
  .landing-page .result-demo__connectors path:nth-child(2) { animation-delay: .12s; }
  .landing-page .result-demo__connectors path:nth-child(3) { animation-delay: .24s; }
  .landing-page .result-demo__core { animation: landingCore 10.4s var(--ease) infinite; }
  .landing-page .result-demo__core::before { animation: landingCoreRing 3.4s ease-in-out infinite; }
  .landing-page .result-demo__core::after { animation: landingCoreRing 3.4s 1.1s ease-in-out infinite; }
  .landing-page .result-demo__result-label { animation: landingResultLabel 10.4s var(--ease) infinite; }
  .landing-page .result-demo__insight--message { animation: landingResultCardOne 10.4s var(--ease) infinite; }
  .landing-page .result-demo__insight--risk { animation: landingResultCardTwo 10.4s var(--ease) infinite; }
  .landing-page .result-demo__insight--prep { animation: landingResultCardThree 10.4s var(--ease) infinite; }

  @keyframes landingOrbOne {
    0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
    45% { transform: translate3d(-2.8rem, 2rem, 0) scale(1.12); }
    78% { transform: translate3d(-1rem, 4rem, 0) scale(.92); }
  }
  @keyframes landingOrbTwo {
    0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
    42% { transform: translate3d(3.2rem, -2.2rem, 0) scale(1.08); }
    78% { transform: translate3d(1.2rem, -4rem, 0) scale(.95); }
  }
  @keyframes landingSourceResume {
    0%, 2% { opacity: 0; transform: translate3d(-9rem, -4rem, 0) rotate(-10deg) scale(.72); }
    10%, 24% { opacity: 1; transform: translate3d(0, 0, 0) rotate(-1.5deg) scale(1); }
    31% { opacity: 1; transform: translate3d(6rem, 5.8rem, 0) rotate(5deg) scale(.72); }
    36%, 91% { opacity: 0; transform: translate3d(7rem, 6.8rem, 0) rotate(8deg) scale(.45); }
    100% { opacity: 0; transform: translate3d(-9rem, -4rem, 0) rotate(-10deg) scale(.72); }
  }
  @keyframes landingSourceRole {
    0%, 4% { opacity: 0; transform: translate3d(-50%, -7rem, 0) rotate(4deg) scale(.72); }
    12%, 24% { opacity: 1; transform: translate3d(-50%, 0, 0) rotate(.8deg) scale(1); }
    31% { opacity: 1; transform: translate3d(-50%, 5.8rem, 0) rotate(-3deg) scale(.72); }
    36%, 91% { opacity: 0; transform: translate3d(-50%, 6.8rem, 0) rotate(-5deg) scale(.45); }
    100% { opacity: 0; transform: translate3d(-50%, -7rem, 0) rotate(4deg) scale(.72); }
  }
  @keyframes landingSourceJd {
    0%, 6% { opacity: 0; transform: translate3d(9rem, -4rem, 0) rotate(10deg) scale(.72); }
    14%, 24% { opacity: 1; transform: translate3d(0, 0, 0) rotate(1.5deg) scale(1); }
    31% { opacity: 1; transform: translate3d(-6rem, 5.8rem, 0) rotate(-5deg) scale(.72); }
    36%, 91% { opacity: 0; transform: translate3d(-7rem, 6.8rem, 0) rotate(-8deg) scale(.45); }
    100% { opacity: 0; transform: translate3d(9rem, -4rem, 0) rotate(10deg) scale(.72); }
  }
  @keyframes landingConnector {
    0%, 15% { opacity: 0; stroke-dashoffset: 180; }
    18% { opacity: .28; }
    29% { opacity: .86; stroke-dashoffset: 0; }
    35% { opacity: .22; stroke-dashoffset: 0; }
    39%, 100% { opacity: 0; stroke-dashoffset: 0; }
  }
  @keyframes landingCore {
    0%, 18% { opacity: 0; transform: translateX(-50%) scale(.68) rotate(-3deg); filter: blur(5px); }
    27% { opacity: 1; transform: translateX(-50%) scale(.92) rotate(1deg); filter: blur(0); }
    33% { opacity: 1; transform: translateX(-50%) scale(1.05) rotate(0); }
    38% { opacity: 1; transform: translateX(-50%) scale(.9); }
    44%, 91% { opacity: 0; transform: translateX(-50%) scale(.42); }
    100% { opacity: 0; transform: translateX(-50%) scale(.68) rotate(-3deg); }
  }
  @keyframes landingCoreRing {
    0%, 100% { opacity: .25; transform: scale(.92); }
    50% { opacity: .75; transform: scale(1.06); }
  }
  @keyframes landingResultLabel {
    0%, 37% { opacity: 0; transform: translateY(.8rem); }
    45%, 89% { opacity: 1; transform: translateY(var(--result-demo-final-offset)); }
    95%, 100% { opacity: 0; transform: translateY(-.3rem); }
  }
  @keyframes landingResultCardOne {
    0%, 34% { opacity: 0; transform: translate3d(7rem, -7.8rem, 0) rotate(10deg) scale(.35); filter: blur(4px); }
    44% { opacity: 1; transform: translate3d(-1rem, .7rem, 0) rotate(-3deg) scale(1.02); filter: blur(0); }
    53% { opacity: 1; transform: translate3d(.5rem, 0, 0) rotate(1deg) scale(1); }
    62%, 89% { opacity: 1; transform: translate3d(0, var(--result-demo-final-offset), 0); filter: blur(0); }
    95%, 100% { opacity: 0; transform: translate3d(-1rem, -.35rem, 0) scale(.97); }
  }
  @keyframes landingResultCardTwo {
    0%, 40% { opacity: 0; transform: translate3d(0, -12rem, 0) rotate(-8deg) scale(.3); filter: blur(4px); }
    50% { opacity: 1; transform: translate3d(1.2rem, .7rem, 0) rotate(3deg) scale(1.02); filter: blur(0); }
    58% { opacity: 1; transform: translate3d(-.5rem, 0, 0) rotate(-1deg) scale(1); }
    66%, 89% { opacity: 1; transform: translate3d(0, var(--result-demo-final-offset), 0); filter: blur(0); }
    95%, 100% { opacity: 0; transform: translate3d(1rem, -.35rem, 0) scale(.97); }
  }
  @keyframes landingResultCardThree {
    0%, 46% { opacity: 0; transform: translate3d(-7rem, -16.2rem, 0) rotate(9deg) scale(.28); filter: blur(4px); }
    56% { opacity: 1; transform: translate3d(-1rem, .7rem, 0) rotate(-2.5deg) scale(1.02); filter: blur(0); }
    64% { opacity: 1; transform: translate3d(.45rem, 0, 0) rotate(.8deg) scale(1); }
    72%, 89% { opacity: 1; transform: translate3d(0, var(--result-demo-final-offset), 0); filter: blur(0); }
    95%, 100% { opacity: 0; transform: translate3d(-.8rem, -.35rem, 0) scale(.97); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .landing-page .result-demo__source { opacity: 0; }
  .landing-page .result-demo__connectors { display: none; }
  .landing-page .result-demo__core { opacity: 0; }
  .landing-page .result-demo__result-label { opacity: 1; }
  .landing-page .result-demo__insight { opacity: 1; transform: none; filter: none; }
}

.landing-page .landing-section { padding: clamp(4.5rem, 7vw, 6rem) 0; }
.landing-page .landing-section__intro { display: grid; grid-template-columns: minmax(0, .8fr) minmax(20rem, 1.2fr); gap: 2rem; align-items: end; }
.landing-page .landing-section__intro h2 { max-width: 32rem; }
.landing-page .landing-section__lede { max-width: 40rem; margin: 0; color: var(--c-muted); line-height: 1.75; }
.landing-page .flow-list { gap: 1rem; margin-top: 2.5rem; }
.landing-page .flow-list article {
  position: relative;
  min-height: 14rem;
  padding: 1.5rem;
  border: 1px solid var(--c-border);
  border-radius: .9rem;
  background: var(--c-surface);
  box-shadow: 0 .55rem 1.3rem oklch(.24 .02 195 / .035);
}
.landing-page .flow-list article:nth-child(2) { background: oklch(.99 .008 160); }
.landing-page .flow-list article:nth-child(3) { background: oklch(.995 .008 82); }
.landing-page .flow-list__number { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: .55rem; background: var(--c-primary-700); color: #fff; }
.landing-page .flow-list h3 { margin-top: 1.5rem; font-size: 1.08rem; }
.landing-page .flow-list p { margin-top: .6rem; }
.landing-page .flow-list__detail { display: block; margin-top: 1rem; color: var(--c-primary-700); font-size: .78rem; font-weight: 800; }
.landing-page .landing-section--muted { border-top: 1px solid var(--c-border); border-bottom: 1px solid var(--c-border); }
.landing-page .result-preview { grid-template-columns: minmax(0, .78fr) minmax(26rem, 1.22fr); align-items: center; gap: clamp(2.5rem, 6vw, 5.5rem); }
.landing-page .result-preview__copy h2 { max-width: 33rem; }
.landing-page .result-preview__copy > p:not(.eyebrow) { max-width: 37rem; margin-top: 1.25rem; font-size: 1rem; line-height: 1.75; }
.landing-page .result-preview__note { display: inline-flex; align-items: center; gap: .5rem; margin-top: 1.25rem; color: var(--c-primary-700); font-size: .82rem; font-weight: 800; }
.landing-page .result-preview__note::before { width: .45rem; height: .45rem; border-radius: 50%; background: var(--c-primary-600); content: ""; }
.landing-page .result-preview__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; }
.landing-page .result-preview__mini {
  min-height: 12.5rem;
  padding: 1.2rem;
  border: 1px solid var(--c-border);
  border-radius: .9rem;
  background: var(--c-surface);
}
.landing-page .result-preview__mini > span { display: inline-flex; min-width: 2rem; min-height: 1.75rem; align-items: center; justify-content: center; border-radius: .5rem; background: var(--c-primary-050); color: var(--c-primary-700); font-size: .68rem; font-weight: 850; }
.landing-page .result-preview__mini strong { display: block; margin-top: 1.4rem; font-size: .92rem; line-height: 1.45; }
.landing-page .result-preview__mini p { margin-top: .55rem; font-size: .8rem; line-height: 1.6; }
.landing-page .result-preview__mini--risk { border-top: 3px solid oklch(.62 .09 70); }
.landing-page .result-preview__mini--evidence { border-top: 3px solid var(--c-primary-600); }
.landing-page .result-preview__mini--question { border-top: 3px solid oklch(.55 .075 158); }

@media (max-width: 60rem) {
  .landing-page .landing-hero__grid,
  .landing-page .result-preview,
  .landing-page .landing-section__intro { grid-template-columns: 1fr; }
  .landing-page .flow-list { max-width: none; }
  .landing-page .flow-list article { min-height: 0; }
}
@media (max-width: 40rem) {
  .landing-page .landing-hero { padding: 3.15rem 0 3.5rem; }
  .landing-page .landing-hero::before { top: -11rem; right: -12rem; }
  .landing-page .landing-hero h1 { font-size: clamp(2.35rem, 12vw, 3rem); line-height: 1.06; }
  .landing-page .landing-hero__lede { margin-top: 1.2rem; font-size: 1rem; line-height: 1.7; }
  .landing-page .landing-hero__actions { align-items: stretch; gap: .8rem; margin-top: 1.5rem; }
  .landing-page .landing-hero__actions .button--primary { width: 100%; }
  .landing-page .landing-hero__secondary { justify-content: center; }
  .landing-page .landing-hero__prepare { margin-top: 1.25rem; }
  .landing-page .result-demo__caption { display: none; }
  .landing-page .result-preview__cards { grid-template-columns: 1fr; }
  .landing-page .result-preview__mini { min-height: 0; }
}

/* DESIGN-01 v3 responsive choreography tuning */
@media (max-width: 60rem) {
  .landing-page .result-demo { max-width: 42rem; transform: none; }
}
@media (max-width: 40rem) {
  .landing-page .result-demo__stage { min-height: 30rem; padding: .9rem; background-size: 2.25rem 2.25rem, 2.25rem 2.25rem, auto; }
  .landing-page .result-demo__source { top: 3rem; width: 6.7rem; min-height: 3.75rem; padding: .55rem; grid-template-columns: 1.35rem minmax(0, 1fr); column-gap: .4rem; }
  .landing-page .result-demo__source > span { width: 1.35rem; height: 1.35rem; font-size: .52rem; }
  .landing-page .result-demo__source strong { font-size: .65rem; }
  .landing-page .result-demo__source small { font-size: .5rem; }
  .landing-page .result-demo__source--resume { left: 2.5%; }
  .landing-page .result-demo__source--jd { right: 2.5%; }
  .landing-page .result-demo__connectors { top: 2.6rem; height: 16.5rem; }
  .landing-page .result-demo__core { top: 9.2rem; width: 10.8rem; min-height: 5rem; padding: .75rem; }
  .landing-page .result-demo__core strong { font-size: .72rem; }
  .landing-page .result-demo__result-label { top: 14.4rem; left: .9rem; }
  .landing-page .result-demo__insight { left: 3.5%; width: 93%; grid-template-columns: 1.7rem minmax(0, 1fr); gap: .55rem; min-height: 4.1rem; padding: .65rem .7rem; }
  .landing-page .result-demo__insight--message { top: 16rem; }
  .landing-page .result-demo__insight--risk { top: 20.25rem; }
  .landing-page .result-demo__insight--prep { top: 24.5rem; }
  .landing-page .result-demo__index { width: 1.7rem; height: 1.7rem; font-size: .58rem; }
  .landing-page .result-demo__insight strong { font-size: .75rem; }
  .landing-page .result-demo__insight p { font-size: .6rem; }
  .landing-page .result-demo__tag { display: none; }
  .landing-page .result-demo__caption { bottom: .45rem; font-size: .56rem; }
}
