/* Semantic aliases: 4173 is the visual authority. No duplicate scene palette. */
body[data-page] {
  --bg: var(--page);
  --ink: var(--text);
  --primary: var(--signal);
  --accent-ink: var(--signal-ink);
  --signal-edge: var(--signal-bright);
  --primary-soft: var(--match-surface);
  --line: var(--shell-line);
  --line-strong: color-mix(in srgb,var(--text) 30%,transparent);
  --glass: var(--matte-header);
  --glass-edge: var(--matte-card-edge);
  --glass-top: var(--shell-highlight);
  --surface: color-mix(in srgb,var(--page) 94%,var(--text));
  --surface-alt: color-mix(in srgb,var(--page) 97%,var(--text));
  --faint: var(--muted);
  --metal-high: var(--profile-match-hi);
  --metal-mid: var(--profile-match-mid);
  --metal-low: var(--profile-match-low);
  --glyph: var(--profile-locked-mid);
  --success: #8cceb0;
  --warning: #e5be89;
  --danger: #ff9b95;
  --font: "General Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --font-mono: "SFMono-Regular",Menlo,Consolas,monospace;
  --radius: 3px;
  --radius-control: 2px;
  --radius-instrument: 10px;
  --motion-fast: 160ms;
  --motion-enter: 220ms;
  --motion-exit: 130ms;
  --motion-reveal: var(--site-enter);
  --motion-stagger: var(--site-stagger);
  --motion-reveal-distance: var(--site-distance);
  --ease-reveal: var(--site-ease);
  background: var(--page);
  font-family: var(--font);
}
:root[data-theme=light] body[data-page] {
  --surface: #ffffff;
  --surface-alt: #f3f6f8;
  --success: #266447;
  --warning: #855919;
  --danger: #ae2720;
}
html[data-journey] { background: var(--page); scroll-padding-top: 0; }
.journey-site.landing-page { --journey-header-height: var(--site-header-h); overflow: visible; min-height: calc(100dvh - 32px); }
#site-header { position: sticky; top: 0; z-index: 30; background:var(--matte-header); }
.journey-site > .skip-link { position: fixed; left: 24px; top: 8px; z-index: 100; padding: 12px 16px; background: var(--surface); color: var(--accent-ink); transform: translateY(-160%); opacity: 0; pointer-events: none; }
.journey-site > .skip-link:focus { transform: none; opacity: 1; pointer-events: auto; }
.journey-nav-placeholder { min-height: 72px; }
#journey-app { font: 16px/1.55 var(--font); }
#journey-app .page-shell { display: block; min-height: 0; place-content: normal; width: 100%; margin: 0; border: 0; background: transparent; }
body[data-page=research] #journey-app .page-shell { width: min(100%,1320px); margin: auto; }
#journey-app .research-navigation { top: var(--site-header-h); background: var(--page); background-clip: border-box; row-gap: 0; padding-bottom: 8px; }
/* In short landscape viewports the sticky stage rail otherwise covers the
   investor rows and intercepts taps on their profile controls. */
@media (max-height: 500px) and (orientation: landscape) {
  #journey-app .research-navigation { position: static; }
}
#journey-app .research-navigation > .journey-context { grid-column: 1/-1; padding: 16px 0 8px; font-size: 14px; }
#journey-app .research-meter { grid-row: 2; }
#journey-app .pipeline-rail { grid-row: 2; }
#journey-app .primary-button { font-family: var(--font); color: var(--action-ink); background: var(--signal); box-shadow: none; animation: none; border-radius: 4px; border-color: var(--action-edge); }
#journey-app .page-footer { margin-bottom: 0; }
#journey-app .checkout-main,#journey-app .report-main { padding: 32px clamp(16px,4vw,64px) 0; }
#journey-app .plans-modal { font-family: var(--font); }
#journey-app [hidden] { display: none !important; }
@media(max-width:639px) {
  #journey-app .research-navigation { position: static; grid-template-columns: minmax(0,1fr) auto; column-gap: 8px; }
  #journey-app .research-navigation > .journey-context { grid-column: 1; grid-row: 1; font-size: 12px; padding-top: 12px; }
  #journey-app .research-meter { grid-column: 2; grid-row: 1; }
  #journey-app .research-navigation .pipeline-rail { grid-column: 1/-1; grid-row: 2; }
  .journey-nav-placeholder { min-height: 60px; }
}

/* Public Try: one gutter system and a deliberately narrower reading form.
   Research uses the whole inner panel for its three-column shortlist. */
body[data-page=research] { --journey-gutter: 32px; }
#journey-app .intake-flow {
  --flow-accent: var(--signal-ink);
  --flow-line: var(--shell-line);
  --flow-muted: var(--muted);
  --research-scroll-offset: calc(var(--site-header-h) + var(--research-nav-h,104px) + 16px);
}
#journey-app .flow-steps { padding: 24px 0; }
#journey-app .flow-steps ol,#journey-app .flow-steps li { gap: 24px; }
#journey-app .flow-steps button { gap: 8px; }
#journey-app .intake-flow .flow-form { padding: 24px 0 32px; }
#journey-app .flow-heading { margin-bottom: 32px; }
#journey-app .flow-heading p { margin-top: 16px; }
#journey-app .intake-flow .flow-url { padding: 16px; gap: 16px; background: var(--surface-alt); border-color: var(--line-strong); }
#journey-app .intake-flow .flow-url input { padding: 8px 0; }
#journey-app .intake-flow .flow-primary { padding: 16px 24px; gap: 24px; background: var(--action-deep); color: var(--action-ink); border-color: var(--action-edge); }
#journey-app .intake-flow .flow-primary:hover:not(:disabled) { background: var(--action-deep); }
#journey-app .intake-flow .deck-row { padding: 16px; gap: 16px; }
#journey-app .flow-company { padding: 16px; gap: 16px; }
#journey-app .intake-flow .flow-fieldset { margin-bottom: 24px; }
#journey-app .flow-fieldset legend { margin-bottom: 16px; }
#journey-app .flow-tiles { gap: 16px; }
#journey-app .intake-flow .flow-tile { padding: 16px; gap: 16px; }
#journey-app .intake-flow .flow-tile:has(input:checked),
#journey-app .intake-flow .flow-market-modes [aria-pressed=true] { background: var(--primary-soft); }
#journey-app .flow-hint { margin-top: 8px; }
#journey-app .flow-actions { padding-top: 24px; margin-top: 24px; }
#journey-app .intake-flow .flow-text { min-width: 44px; }
#journey-app .research-actions .text-button { min-width: 44px; }
.journey-site #site-header :is(a,button) { min-width: 44px; min-height: 44px; }
#journey-app #try-allowance { max-width: 760px; margin-inline: auto; }
#journey-app #try-allowance:has(+ .research:not([hidden])[data-try-pending=false]) { max-width: none; }
#journey-app #try-allowance .try-allowance { margin-bottom: 16px; padding: 0; }
@media (min-width: 1200px) {
  #journey-app .intake-flow:has(#intake:not([hidden]) .flow-form[data-intake-wizard=company] .flow-company-entry) #try-allowance { max-width: 1120px; }
}
#journey-app .research[data-try-pending=true] .research-toolbar { max-width: 760px; margin-inline: auto; justify-content: flex-start; padding: 16px 0 32px; }
#journey-app .research[data-try-pending=true] #pipeline-status { display: none; }
#journey-app .try-progress { max-width: 760px; margin-inline: auto; padding: 24px 0 32px; }
#journey-app .research[data-try-pending=true] .try-progress { padding-bottom: 0; }
#journey-app .try-progress p { margin: 16px 0 24px; }
#journey-app .try-progress li::before { flex: 0 0 18px; }
#journey-app .research :is(.pipeline-scene,.results-preview-list li,a,button) { scroll-margin-top: var(--research-scroll-offset); }
#journey-app .results-preview--guest { --result-violet: var(--signal-ink); }
#journey-app .results-preview-label { margin: 32px 0 24px; gap: 16px; text-transform: none; letter-spacing: normal; }
#journey-app .results-preview-columns,#journey-app .results-preview-row { grid-template-columns: minmax(0,32fr) minmax(0,44fr) minmax(0,24fr); gap: 24px; align-items: start; }
#journey-app .results-preview-columns { padding: 0 16px 16px; text-transform: none; letter-spacing: normal; }
#journey-app .results-preview-row { padding: 24px 16px; border-left: 0; }
#journey-app .results-preview-row > *,#journey-app .results-preview-identity > div { min-width: 0; overflow-wrap: anywhere; }
#journey-app .results-preview-identity { align-items: baseline; gap: 16px; }
#journey-app .results-preview-identity strong { line-height: 1.6; }
#journey-app .results-preview-rank { flex: 0 0 3ch; min-width:3ch; white-space:nowrap; overflow-wrap:normal; padding: 0; text-align: right; }
#journey-app .results-preview-identity p { margin-top: 8px; }
#journey-app .results-preview-links { gap: 8px 16px; }
#journey-app .results-preview-remaining { padding: 24px 16px; gap: 16px; }
#journey-app .results-preview-gate { padding: 32px 16px; background: transparent; }
#journey-app .results-preview-gate h3 { margin: 16px 0 8px; }
#journey-app .results-preview-offer { min-height: 0; }
#journey-app .results-preview-offer > p:first-child { max-width: 560px; text-wrap: balance; }
#journey-app .results-preview-gate .primary-button { min-width: 0; max-width: 100%; white-space: normal; }
@media(max-width:1023px) {
  body[data-page=research] { --journey-gutter: 24px; }
}
@media(max-width:700px) {
  #journey-app .results-preview-columns { display: none; }
  #journey-app .results-preview-row { grid-template-columns: minmax(0,1fr); gap: 16px; }
}
@media(max-width:760px) {
  .journey-site #site-header { background: var(--page); }
}
@media(max-width:639px) {
  body[data-page=research] { --journey-gutter: 16px; }
  #journey-app .intake-flow { --research-scroll-offset: calc(var(--site-header-h) + 16px); }
  #journey-app .flow-steps ol,#journey-app .flow-steps li { gap: 8px; }
  #journey-app .flow-steps li { min-width: 0; }
  #journey-app .flow-heading h1,#journey-app .flow-heading h2 { overflow-wrap: anywhere; }
  #journey-app .intake-flow .flow-url input,#journey-app .intake-flow .intake-form #website { padding: 8px 0; font-size: 20px; }
  #journey-app .research-navigation .pipeline-rail button { display: flex; gap: 8px; min-height: 48px; }
  #journey-app .research-navigation .pipeline-rail button > span { display: none; }
  #journey-app .research-toolbar { flex-wrap: wrap; gap: 8px 16px; }
  #journey-app .flow-actions { flex-wrap: wrap; }
  #journey-app .intake-flow .intake-form #run-button { min-width: 0; }
}
@media (max-height:500px) and (orientation:landscape) {
  #journey-app .intake-flow { --research-scroll-offset: calc(var(--site-header-h) + 16px); }
}

/* Brief 76b: public /try only. Desktop and the Workspace intake keep their layout. */
#journey-app .results-mobile-title { display: none; }
#journey-app .flow-optional-deck[hidden] { display: none; }
@media (max-width: 760px) {
  #journey-app .flow-steps button { font-size: 14px; color: var(--text); min-width: 48px; }
  #journey-app .flow-steps button:disabled { opacity: 1; color: var(--text); }
  #journey-app .intake-flow .flow-form[data-intake-wizard=preferences] { --flow-actions-height: calc(64px + env(safe-area-inset-bottom, 0px)); padding-bottom: 32px; }
  #journey-app .intake-flow .flow-form[data-intake-wizard=preferences][data-mobile-actions=sticky] { padding-bottom: var(--flow-actions-height); }
  #journey-app .intake-flow [data-flow-panel=preferences] .flow-actions {
    position: static; box-sizing: border-box; flex-wrap: nowrap; min-height: calc(64px + env(safe-area-inset-bottom, 0px));
    margin-top: 32px; padding: 7px 16px calc(12px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--flow-line); background: var(--page); gap: 16px;
  }
  #journey-app .intake-flow [data-mobile-actions=sticky] .flow-actions { position: sticky; bottom: 0; }
  #journey-app .intake-flow [data-flow-panel=preferences] .flow-actions > button { min-height: 44px; }
  #journey-app .intake-flow [data-flow-panel=preferences] .flow-actions .flow-primary,
  #journey-app .intake-flow .intake-form[data-intake-wizard=preferences] #run-button { min-height: 44px; padding: 8px 12px; gap: 8px; flex: 1; font-size: 16px; line-height: 1.5; }
  #journey-app .intake-flow [data-flow-panel=preferences] :is(input,button,summary) { scroll-margin-bottom: calc(var(--flow-actions-height) + 16px); }
  #journey-app .flow-optional-deck { margin: -16px 0 24px; }
  #journey-app .flow-optional-deck summary { display: list-item; min-height: 44px; padding-block: 10px; color: var(--text); font-size: 16px; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
  #journey-app .flow-optional-deck .deck-field { margin: 8px 0 0; }
  #journey-app .flow-optional-deck summary:focus-visible { outline: 2px solid var(--flow-accent); outline-offset: 3px; }
  #journey-app .flow-company { font-size: 16px; }

  /* Keep error/loading navigation intact; compact only a completed public preview. */
  #journey-app .intake-flow:has(#run-panel:not([hidden]) #scene-enrich:not([hidden]) [data-mobile-results=ready]) > .flow-steps,
  #journey-app #run-panel:has(#scene-enrich:not([hidden]) [data-mobile-results=ready]) > .research-navigation { display: none; }
  #journey-app .intake-flow:has(#run-panel:not([hidden]) #scene-enrich:not([hidden]) [data-mobile-results=ready]) #try-allowance { margin-top: 16px; }
  #journey-app #run-panel:has(#scene-enrich:not([hidden]) [data-mobile-results=ready]) .research-toolbar { min-height: 44px; padding: 0; flex-wrap: nowrap; }
  #journey-app #run-panel:has([data-mobile-results=ready]) #pipeline-status { font-size: 14px; }
  #journey-app #run-panel:has([data-mobile-results=ready]) .pipeline-scene { padding-top: 8px; }
  #journey-app [data-mobile-results=ready] .result-heading { margin-bottom: 16px; }
  #journey-app [data-mobile-results=ready] .result-heading > :is(h2,p),
  #journey-app [data-mobile-results=ready] .results-preview-label { display: none; }
  #journey-app .results-mobile-title { display: block; font-size: 32px; line-height: 1.15; font-weight: 500; margin: 0; color: var(--text); }
  #journey-app [data-mobile-results=ready] .results-preview-caveat { font-size: 14px; margin-bottom: 16px; }
  #journey-app [data-mobile-results=ready] .results-preview-columns { display: none; }
  /* Extend the highlight into the gutter while preserving the text column. */
  #journey-app [data-mobile-results=ready] .results-preview-row { grid-template-columns: minmax(0,1fr); width: calc(100% + 32px); margin-inline: -16px; padding: 20px 16px; border-radius: 12px; gap: 16px; }
  #journey-app [data-mobile-results=ready] .results-preview-identity p { font-size: 16px; }
  #journey-app [data-mobile-results=ready] .results-preview-public-contact { display: flex; flex-wrap: wrap; gap: 8px 16px; }
  #journey-app #scene-enrich:has([data-mobile-results=ready]) { animation: none; }
  #journey-app [data-mobile-results=ready] :is(a,button) { scroll-margin-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
}

/* Completed public results keep the outer step tabs, without a second rail. */
#journey-app #run-panel:has(#scene-enrich:not([hidden]) .results-preview--guest) > .research-navigation { display:none; }
#journey-app .results-preview-columns > :first-child { display:flex;padding-left:0; }
#journey-app .results-preview-columns > :first-child::before { content:"";flex:0 0 3ch;font-size:14px;margin-right:16px; }
#journey-app .results-preview-rank { align-self:baseline; }

#journey-app .results-preview-gate > .text-button { margin: 24px auto 0; }

/* The legacy journey keeps the React preview mounted while editing; scope this
   to the visible result so intake/waiting regain their sign-in action. */
#journey-app .intake-flow:has(#run-panel:not([hidden]) #scene-enrich:not([hidden]) .results-preview--guest) #try-allowance .try-allowance-save { display:none; }
