/* Shared product surfaces. Layouts keep their own purpose and evidence class. */
.product-surface {
  border: 1px solid var(--rule-soft);
  border-radius: 1rem;
  background: var(--surface);
  overflow: clip;
}
.product-surface--control,
.product-surface--thesis {
  --canvas: #101b17;
  --surface: #16251e;
  --surface-quiet: #1b2b23;
  --ink-strong: #fffdf7;
  --ink: #f4f1e8;
  --ink-muted: #c1c9c3;
  --ink-subtle: #a5b3a9;
  --rule-strong: #6f8176;
  --rule-soft: #3b4f42;
  --institutional: #c4e27d;
  --link: #c4e27d;
  --home-unknown: #a3cfff;
  --home-hold: #f3c969;
  --unknown-ink: #a3cfff;
  --unknown-border: #8ec5ff;
  --hold-ink: #f3c969;
  --hold-border: #d8b363;
  --hold-bg: #2b2517;
  color: var(--ink);
  background: var(--canvas);
  border-color: var(--rule-soft);
}
.product-surface-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem 1.5rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--rule-soft);
  font-size: .8125rem;
  color: var(--ink-muted);
}
.product-surface-header > span:first-child { color: var(--ink-strong); font-weight: 500; }
.home-opening .home-payment-scene.product-surface { padding: 1.5rem 1.75rem; border: 1px solid var(--rule-soft); border-radius: 1rem; background: var(--canvas); }
.home-opening .home-scene-caption { margin-top: .5rem; }
.home-scene-principle { color: var(--ink-strong); font-size: 1.0625rem; }
.home-scene-scope { font-size: .9375rem; }
.home-opening .home-scene-controls { margin-top: 1rem; border-top: 1px solid var(--rule-soft); padding-top: 1rem; }
.home-opening .scene-button { border-color: var(--rule-strong); color: var(--ink-strong); background: transparent; }
.home-opening .scene-button:hover { background: var(--surface-quiet); }
.home-opening .scene-button:focus-visible { outline-color: #a3cfff; }
.home-publication { grid-column: 1 / -1; }
.home-decisions { border-top: 1px solid var(--rule-soft); }
.home-console-layout { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(2rem, 6vw, 6rem); }
.home-console-copy h2 { font-size: clamp(2.5rem, 4.2vw, 3.5rem); line-height: 1.06; letter-spacing: -.035em; }
.home-console-copy > p:not(.eyebrow) { max-width: 35ch; }
.decision-preview.console-mini { padding: 0; border-color: var(--rule-strong); border-radius: 1rem; box-shadow: 0 12px 34px rgba(8, 12, 10, .06); }
.decision-preview [hidden] { display: none !important; }
.decision-preview-head { padding: 1.2rem 1.5rem; border-bottom: 1px solid var(--rule-soft); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .35rem 1rem; }
.decision-preview-head > strong { font-size: .9375rem; font-weight: 600; }
.decision-preview-head > span { font-size: .8125rem; color: var(--ink-muted); }
.decision-preview-controls { display: flex; gap: .4rem; flex-wrap: wrap; padding: .65rem 1rem; background: var(--surface-quiet); border-bottom: 1px solid var(--rule-soft); }
.decision-preview-controls button { min-height: 2.75rem; padding: .5rem .85rem; color: var(--ink-muted); background: transparent; border: 1px solid transparent; border-radius: .4rem; font-size: .875rem; cursor: pointer; }
.decision-preview-controls button[aria-pressed="true"] { border-color: var(--rule-strong); color: var(--ink-strong); background: var(--surface); }
.decision-preview-controls button:hover { color: var(--ink-strong); background: var(--surface); }
.decision-preview-record { padding: 1.5rem; }
.decision-preview-record + .decision-preview-record { border-top: 1px solid var(--rule-soft); }
.decision-preview-identity { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.decision-preview-identity > div { display: grid; gap: .35rem; }
.decision-preview-identity > div > span { color: var(--ink-muted); font-size: .8125rem; }
.decision-preview-identity > div > strong { font-size: .9375rem; font-weight: 500; }
.decision-preview-identity > strong { font-size: 1.75rem; line-height: 1.1; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }
.decision-preview-identity small { display: block; color: var(--ink-muted); font-size: .8125rem; font-weight: 400; margin-top: .45rem; }
.decision-preview-verdict { padding-top: 1.5rem; }
.decision-preview-verdict h3 { max-width: 23ch; font-size: 1.6rem; line-height: 1.15; letter-spacing: -.025em; margin: .8rem 0 .6rem; }
.decision-preview-verdict p { color: var(--ink-muted); margin: 0; font-size: 1rem; line-height: 1.5; }
.decision-preview .decision-preview-status { margin: 1.25rem 0; padding-block: .65rem; border-block: 1px solid var(--rule-soft); }
.decision-preview .decision-preview-status > div { gap: .4rem 1rem; padding-block: .35rem; }
.decision-preview-next > span { font-size: .8125rem; color: var(--ink-muted); }
.decision-preview-next p { font-size: 1rem; line-height: 1.5; margin: .35rem 0 1rem; }
.decision-preview-record .text-link { font-size: .9375rem; min-height: 2.75rem; display: inline-flex; align-items: center; gap: .7rem; }
.decision-preview-limit { margin: 0; padding: 1rem 1.5rem; background: var(--surface-quiet); border-top: 1px solid var(--rule-soft); color: var(--ink-muted); font-size: .8125rem; line-height: 1.6; }
.product-control-scene.product-surface { padding: 1.5rem 2rem; }
.product-control-scene.product-surface .control-paths { overflow: visible; }
.product-control-scene figcaption { padding-top: 1.25rem; }
.adoption-path { gap: 0; border: 1px solid var(--rule-soft); border-radius: 1rem; overflow: clip; background: var(--surface); }
.adoption-path > li { padding: 1.75rem; border: 0; border-right: 1px solid var(--rule-soft); }
.adoption-path > li:last-child { border-right: 0; }
.adoption-number { position: static; flex-shrink: 0; width: 2.3rem; height: 2.3rem; display: inline-grid; place-items: center; border: 1px solid var(--rule-strong); border-radius: 50%; }
.adoption-path h3 { margin-top: 1.25rem; }
.experience-context { font-size: .875rem; color: var(--ink-muted); line-height: 1.6; margin: 1.25rem 0 0; }
.console-intro .experience-context { grid-column: 1 / -1; max-width: none; margin: 0; font-size: .875rem; }
.experience-nav a, .experience-nav a:visited { color: var(--ink-muted); }
.experience-nav a[aria-current="page"] { color: var(--ink-strong); }
.console-workspace { border-radius: 1rem; box-shadow: 0 12px 34px rgba(8, 12, 10, .06); }
.console-case { scroll-margin-top: calc(var(--header-height) + 1rem); }
.console-verdict { padding-left: 1.25rem; border-left: 3px solid var(--rule-strong); }
[data-decision="HOLD"] .console-verdict { border-left-color: var(--hold-border); }
[data-decision="REFUSE"] .console-verdict { border-left-color: var(--refuse-border); }
[data-decision="ACCEPT"] .console-verdict { border-left-color: var(--accept-border); }
.console-next { padding: 1rem 1.15rem; background: var(--surface-quiet); border-radius: .5rem; margin-bottom: .75rem; }
.console-next > p:last-child { margin-bottom: 0; }
.demo-record-entry { padding: 1.15rem 1.4rem; border: 1px solid var(--rule-soft); border-radius: .65rem; background: var(--surface); margin: 1.5rem 0; display: grid; grid-template-columns: 1fr auto; gap: .5rem 1.5rem; }
.demo-record-entry > span { font-size: .9375rem; font-weight: 500; }
.demo-record-entry > a { font-size: .9375rem; font-weight: 600; text-underline-offset: .25em; }
.demo-record-entry > p { margin: 0; font-size: .8125rem; color: var(--ink-muted); grid-column: 1 / -1; }
.assessment-scenario.product-surface { border-top: 3px solid var(--institutional); border-radius: 1rem; }
.evidence-status-line { border: 1px solid var(--rule-soft); border-radius: 1rem; padding: 1.5rem 2rem; background: var(--surface); margin-top: 1.75rem; }
.evidence-status-line p + p { border-left: 1px solid var(--rule-soft); padding-left: 1.5rem; }
.evidence-status-line strong { font-size: 1.125rem; }
.evidence-overview > div { padding: 1.5rem 1.5rem 0; border-top: 3px solid var(--rule-strong); background: var(--surface); }
.evidence-overview > div .evidence-type { margin-bottom: 1rem; }
.evidence-overview dd { padding-bottom: 1.5rem; }
.company-focus.product-surface { padding: 2rem; }
.company-focus li:first-child { border-top: 0; padding-top: 0; }
.company-focus li:last-child { padding-bottom: 0; }
.company-focus .eyebrow { color: var(--ink-subtle); }
.company-focus li > span { color: var(--institutional); }
.company-focus strong { color: var(--ink-strong); }
.company-opening-grid { align-items: center; }
.company-page .mission-vision-grid { padding-block: 1rem; }
.company-page .company-path { border-block: 1px solid var(--rule-soft); padding-block: 1.5rem; }
@media (min-width: 75rem) {
  .home-opening { padding-block: 3.25rem 2rem; }
  .home-hero { display: grid; grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); align-items: center; column-gap: 3rem; }
  .home-opening h1 { font-size: clamp(3.25rem, 4.85vw, 4.625rem); line-height: 1.03; margin-block: 1.5rem 1.75rem; }
  .home-intro { flex-direction: column; gap: 1.5rem; }
  .home-entry { flex-shrink: 1; }
  .home-opening .hero-actions { flex-wrap: wrap; }
  .home-opening .home-payment-scene.product-surface { margin: 0; }
  .home-payment-stage { height: 24.5rem; }
  .home-paths--wide { display: none; }
  .home-paths--portrait { display: block; height: 23.75rem; }
  .home-invoice { top: 0; left: 0; width: 100%; text-align: center; }
  .home-amount { font-size: 2.75rem; margin-block: .25rem; }
  .home-route-label { top: 11.1rem; max-width: 7rem; }
  .home-route-original { left: calc(16.6667% + .7rem); }
  .home-route-backup { left: calc(66.6667% + .7rem); }
  .home-route-label > strong { font-size: .9375rem; }
  .home-opening .home-unknown { top: 20.8rem; left: 16.6667%; right: auto; transform: translateX(-50%); font-size: .8125rem; }
  .home-opening .home-gate { top: 14.55rem; left: calc(66.6667% + .7rem); transform: none; max-width: 30%; text-align: left; }
  .home-opening .home-gate strong { display: none; }
  .home-boundary-label { top: 19.2rem; left: auto; right: .2rem; transform: none; text-align: right; }
  .home-publication { margin-top: 2rem; }
}
@media (max-width: 55.99rem) {
  .home-console-layout { grid-template-columns: 1fr; gap: 2rem; }
  .adoption-path > li { border-right: 0; border-bottom: 1px solid var(--rule-soft); }
  .adoption-path > li:last-child { border-bottom: 0; }
  .product-control-scene.product-surface { padding: 1.25rem; }
  .demo-record-entry { grid-template-columns: 1fr; }
}
@media (max-width: 47.99rem) {
  .home-opening .home-payment-scene.product-surface { padding: 1.1rem; }
  .home-opening .home-hero > .home-payment-scene { max-width: 34rem; }
  .home-console-copy h2 { font-size: 2.25rem; max-width: 14ch; }
  .decision-preview-head, .decision-preview-record { padding: 1.1rem; }
  .decision-preview-controls { gap: .15rem; padding-inline: .65rem; }
  .decision-preview-controls button { padding-inline: .55rem; font-size: .8125rem; }
  .decision-preview-verdict h3 { font-size: 1.5rem; }
  .decision-preview-limit { padding: 1rem 1.1rem; }
  .decision-preview-identity { flex-wrap: wrap; }
  .decision-preview-identity > strong { font-size: 1.5rem; }
  .adoption-path > li { padding: 1.4rem; }
  .evidence-status-line { padding: 1.25rem; }
  .evidence-status-line p + p { border-left: 0; padding-left: 0; }
  .console-verdict { padding-left: 1rem; }
  .demo-record-entry { padding: 1rem; }
  .company-focus.product-surface { padding: 1.5rem; }
}
@media (max-width: 22.49rem) {
  .product-control-scene.product-surface .control-label { top: 9.5rem; }
}
@media (forced-colors: active) {
  .product-surface--control, .product-surface--thesis { background: Canvas; color: CanvasText; }
  .decision-preview-controls button[aria-pressed="true"] { outline: 2px solid Highlight; }
}
