@font-face { font-family: "Encode Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("assets/fonts/encode-sans-400.ttf") format("truetype"); }
@font-face { font-family: "Encode Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("assets/fonts/encode-sans-500.ttf") format("truetype"); }
@font-face { font-family: "Encode Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("assets/fonts/encode-sans-600.ttf") format("truetype"); }
@font-face { font-family: "Encode Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("assets/fonts/encode-sans-700.ttf") format("truetype"); }

:root {
  --pl-white: #fff; --pl-ground: #fafbfc; --pl-panel: #f3f6fa; --pl-ink: #0b1933;
  --pl-muted: #4c5b70; --pl-blue: #0857e8; --pl-blue-hover: #0645bd; --pl-selection: #e8f0ff;
  --pl-line: #d5dce6; --pl-attention: #805300; --pl-attention-ground: #fff6de;
  --pl-font: "Encode Sans", sans-serif; --pl-code: "JetBrains Mono", monospace;
  --pl-width: 1380px; --pl-gutter: max(5vw, 24px); --pl-radius: 12px;
  --pl-ease: cubic-bezier(.16,1,.3,1);
  --assurance-paper: var(--pl-ground); --assurance-ink: var(--pl-ink); --assurance-white: var(--pl-white);
  --assurance-orange: var(--pl-blue); --assurance-muted: var(--pl-muted); --assurance-line: var(--pl-line);
  --assurance-sand: var(--pl-selection); --assurance-cyan: var(--pl-selection);
}
html,body { overflow-x: clip; }
body.product-design { margin: 0; background: var(--pl-white); color: var(--pl-ink); font-family: var(--pl-font); }
.product-design *, .product-design *::before, .product-design *::after { box-sizing: border-box; }
.product-design ::selection { color: var(--pl-white); background: var(--pl-blue); }
.product-design :focus-visible { outline: 3px solid var(--pl-blue); outline-offset: 4px; }
.product-design button,.product-design input,.product-design textarea { font-family: var(--pl-font); }
.product-design button { cursor: pointer; }
.product-design a { text-underline-offset: .2em; }
.product-design button:disabled { cursor: wait; opacity: .6; }
.product-design .assurance-grid { display: none; }
.product-design .assurance-header { position: relative; height: 62px; min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 var(--pl-gutter); background: var(--pl-white); color: var(--pl-ink); border-bottom: 1px solid var(--pl-line); }
.product-wordmark { color: var(--pl-ink); font: 700 28px/1 var(--pl-font); letter-spacing: -.035em; text-decoration: none; white-space: nowrap; }
.product-design .assurance-header nav { position: static; inset: auto; z-index: auto; width: auto; height: auto; display: flex; align-items: center; gap: 30px; justify-content: flex-end; margin-left: auto; padding: 0; background: transparent; border: 0; }
.product-design .assurance-header nav a { display: inline-flex; min-height: 44px; align-items: center; padding: 0; color: var(--pl-muted); border: 0; font: 400 14px/1.3 var(--pl-font); text-transform: none; }
.product-design .assurance-header nav a:hover { color: var(--pl-blue); }
.product-design .assurance-header nav a.active { color: var(--pl-blue); border-bottom: 2px solid var(--pl-blue); }
.product-design .product-open { min-height: 42px; padding: 10px 22px; color: var(--pl-white); background: var(--pl-blue); border: 0; border-radius: 7px; font-size: 14px; font-weight: 600; }
.product-register-link { font-size: 13px; color: var(--pl-muted); display: none; }
.product-design .assurance-header .review-navigation { display: none; }
.product-design.has-review .assurance-header .product-navigation,.product-design[data-current-view="decisions"] .assurance-header .product-navigation,.product-design[data-current-view="follow-up"] .assurance-header .product-navigation { display: none; }
.product-design.has-review .assurance-header .review-navigation,.product-design[data-current-view="decisions"] .assurance-header .review-navigation,.product-design[data-current-view="follow-up"] .assurance-header .review-navigation { display: flex; }
.product-design.has-review #productLanding { display: none; }
.product-design.has-intake #productLanding { display: none; }
.product-hero { max-width: var(--pl-width); margin: 0 auto; padding: 45px 24px 0; text-align: center; }
.product-hero h1 { margin: 0; color: var(--pl-ink); font: 700 61px/1.02 var(--pl-font); letter-spacing: -.035em; text-wrap: balance; overflow-wrap: break-word; min-width: 0; }
.product-introduction { max-width: 830px; margin: 17px auto 0; color: var(--pl-muted); font-size: 21px; line-height: 1.3; }
.product-actions { display: flex; align-items: center; justify-content: center; gap: 28px; margin: 19px auto 0; }
.product-design .assurance-primary { display: inline-flex; justify-content: center; gap: 12px; min-width: 0; min-height: 47px; padding: 12px 28px; border: 0; border-radius: 7px; color: var(--pl-white); background: var(--pl-blue); font: 500 16px/1.35 var(--pl-font); text-transform: none; transition: background-color 150ms ease; }
.product-design .assurance-primary:hover,.product-open:hover { color: var(--pl-white); background: var(--pl-blue-hover); }
.product-design .assurance-primary span { color: inherit; }
.product-text-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 0; color: var(--pl-blue); background: transparent; border: 0; font-size: 16px; line-height: 1.4; text-decoration: none; }
.product-text-button:hover { color: var(--pl-blue-hover); text-decoration: underline; text-underline-offset: .25em; }
.product-privacy { margin: 15px auto 0; font-size: 14px; line-height: 1.5; color: var(--pl-muted); }
.product-example { max-width: var(--pl-width); margin: 29px auto 0; border: 1px solid var(--pl-line); border-radius: 9px; overflow: clip; }
.example-heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 14px 18px; background: var(--pl-panel); font-size: 13px; color: var(--pl-muted); }
.example-heading > div { display: flex; align-items: center; gap: 25px; }
.example-heading strong { color: var(--pl-ink); font-size: 16px; font-weight: 600; }
.example-workspace { display: grid; grid-template-columns: 280px minmax(0,1fr); }
.example-selector { background: var(--pl-panel); padding: 20px 9px; border-right: 1px solid var(--pl-line); }
.example-selector h2 { margin: 0 12px 12px; font-size: 14px; font-weight: 600; }
.example-selector [role="tablist"] { display: grid; gap: 3px; }
.example-selector button { display: block; width: 100%; min-height: 44px; padding: 12px 22px; text-align: left; border: 0; border-radius: 7px; color: var(--pl-muted); background: transparent; font-size: 14px; transition: background-color 150ms ease; }
.example-selector button[aria-selected="true"] { color: var(--pl-blue); background: var(--pl-selection); font-weight: 500; }
.example-selector button:hover { background: var(--pl-selection); }
.example-panel { min-width: 0; padding: 20px 25px 16px; }
.example-panel h2 { margin: 0; font-size: 32px; line-height: 1.3; font-weight: 700; letter-spacing: -.025em; }
.example-comparison { display: grid; grid-template-columns: 1fr .85fr 1.3fr; align-items: center; gap: 24px; max-width: 780px; min-height: 104px; margin: 0 auto; padding: 20px 0; }
.example-comparison > div > span,.example-reading > div > span,.example-question > div > span { display: block; color: var(--pl-muted); font-size: 15px; line-height: 1.5; }
.example-comparison strong { display: block; margin-top: 4px; font-size: 25px; font-weight: 500; font-variant-numeric: tabular-nums; white-space: nowrap; }
.example-comparison strong.example-file { font-size: 15px; white-space: normal; overflow-wrap: anywhere; }
.example-connection { text-align: center; }
.example-connection > span { color: var(--pl-blue) !important; }
.example-line { height: 2px; margin: 10px auto 0; background: var(--pl-blue); position: relative; transform-origin: left; }
.example-line::after { content: ""; position: absolute; width: 7px; height: 7px; border-top: 2px solid var(--pl-blue); border-right: 2px solid var(--pl-blue); transform: rotate(45deg); right: 0; top: -2px; }
.example-reading { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; border-top: 1px solid var(--pl-line); padding: 12px 0 31px; }
.example-reading > div + div { padding-left: 26px; border-left: 1px solid var(--pl-line); }
.example-reading blockquote,.example-reading p { margin: 8px 0 0; padding: 0; color: var(--pl-ink); font-size: 21px; line-height: 1.45; border: 0; }
.example-question { display: flex; justify-content: space-between; align-items: end; gap: 24px; border-top: 1px solid var(--pl-line); padding-top: 10px; }
.example-question p { margin: 5px 0 0; font-size: 21px; line-height: 1.4; }
.example-question button { font-size: 16px; min-width: 190px; flex-shrink: 0; }
.example-footer { display: flex; align-items: center; justify-content: center; gap: 22px; min-height: 39px; padding: 6px 18px; background: var(--pl-panel); }
.example-footer p { margin: 0; color: var(--pl-muted); font-size: 13px; line-height: 1.5; }
.example-footer button { min-height: 28px; padding: 0; font-size: 13px; }
.example-source { padding-top: 20px; margin-top: 20px; border-top: 1px solid var(--pl-line); }
.example-source p { color: var(--pl-muted); font-size: 14px; }
.example-source table { width: 100%; border-collapse: collapse; font-size: 13px; }
.example-source th,.example-source td { padding: 9px 8px; text-align: left; border-bottom: 1px solid var(--pl-line); vertical-align: top; overflow-wrap: anywhere; }
.example-source th { font-weight: 600; }
.product-journey { max-width: var(--pl-width); margin: 55px auto 0; padding: 0 24px; text-align: center; }
.product-journey h2 { margin: 0; font-size: 34px; line-height: 1.3; letter-spacing: -.025em; }
.product-journey > p { color: var(--pl-muted); font-size: 19px; }
.product-noscript { max-width: 800px; margin: 32px auto; padding: 16px; }
.journey-detail { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); align-items: start; gap: 9%; margin: 60px 0 0; text-align: left; }
.journey-list { margin: 0; padding: 0; list-style: none; counter-reset: journey; }
.journey-list li { position: relative; padding: 0 0 26px 48px; counter-increment: journey; }
.journey-list li::before { content: counter(journey); position: absolute; top: 0; left: 0; color: var(--pl-blue); font-size: 18px; font-weight: 600; }
.journey-list h3,.journey-demo h3 { margin: 0 0 8px; font-size: 22px; font-weight: 600; letter-spacing: -.02em; }
.journey-list p,.journey-demo p { margin: 0; color: var(--pl-muted); font-size: 16px; line-height: 1.65; }
.journey-demo { padding: 32px; border-radius: var(--pl-radius); background: var(--pl-panel); }
.journey-demo .assurance-primary { margin: 25px 0 18px; }
.journey-demo .journey-note { font-size: 13px; }
.journey-demo .product-text-button { margin-top: 12px; font-size: 15px; }
.product-method { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 9%; max-width: var(--pl-width); margin: 85px auto; padding: 48px 24px; border-top: 1px solid var(--pl-line); }
.product-method h2,.product-start h2 { margin: 0 0 16px; font-size: 32px; font-weight: 600; line-height: 1.2; letter-spacing: -.025em; }
.product-method p,.product-start p { color: var(--pl-muted); font-size: 16px; line-height: 1.65; }
.product-method a { color: var(--pl-blue); font-size: 15px; }
.product-questions details { border-bottom: 1px solid var(--pl-line); }
.product-questions summary { padding: 18px 24px 18px 0; font-size: 17px; cursor: pointer; }
.product-questions p { margin-top: 0; }
.product-start { display: flex; justify-content: space-between; align-items: center; gap: 40px; max-width: var(--pl-width); margin: 0 auto 90px; padding: 40px 24px; }
.product-start > div:first-child { max-width: 600px; }
.product-start .product-actions { flex-shrink: 0; margin: 0; }

/* The review shares the landing page's type and controls, at task scale. */
.product-design .readiness-workspace { max-width: var(--pl-width); margin: 20px auto; padding: 0 24px 60px; border: 0; }
.product-design .review-context { padding: 16px 0; color: var(--pl-ink); background: var(--pl-white); border-bottom: 1px solid var(--pl-line); }
.product-design .review-context span { color: var(--pl-muted); font: 400 13px/1.5 var(--pl-font); text-transform: none; }
.product-design .review-context strong { font-size: 19px; }
.product-design .review-context small { color: var(--pl-muted); font-size: 12px; max-width: 65ch; overflow-wrap: anywhere; }
.product-design .review-tools { gap: 12px; }
.product-design .review-tools button { min-height: 44px; padding: 8px 12px; color: var(--pl-blue); background: var(--pl-white); border: 1px solid var(--pl-line); border-radius: 6px; font: 500 13px/1.3 var(--pl-font); text-transform: none; }
.product-design .readiness-card,.product-design .readiness-card.ready { margin: 0; padding: 28px 0 0; color: var(--pl-ink); background: var(--pl-white); border: 0; }
.product-design .readiness-status { display: inline-block; padding: 6px 10px; color: var(--pl-attention); background: var(--pl-attention-ground); font: 500 13px/1.4 var(--pl-font); text-transform: none; border-radius: 5px; }
.product-design .readiness-status i { display: none; }
.product-design .readiness-card.ready .readiness-status { color: var(--pl-attention); background: var(--pl-attention-ground); }
.product-design .readiness-card h2 { max-width: none; margin: 16px 0 10px; color: var(--pl-ink); font: 600 29px/1.25 var(--pl-font); letter-spacing: -.025em; }
.product-design .readiness-card > p { max-width: 76ch; color: var(--pl-muted); font: 400 15px/1.6 var(--pl-font); }
.review-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 26px; padding: 18px 0; margin: 20px 0 0; border-block: 1px solid var(--pl-line); }
.review-facts dt { color: var(--pl-muted); font-size: 13px; }
.review-facts dd { margin: 5px 0; font-size: 21px; font-weight: 600; font-variant-numeric: tabular-nums; }
.review-facts small { display: block; max-width: 30ch; color: var(--pl-muted); font-size: 12px; line-height: 1.5; }
.product-design .readiness-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0 28px; }
.product-design .assurance-secondary,.product-design .assurance-secondary.light { min-height: 47px; padding: 11px 18px; color: var(--pl-blue); border: 1px solid var(--pl-line); background: var(--pl-white); border-radius: 7px; font: 500 14px/1.4 var(--pl-font); text-transform: none; }
.product-design .assurance-secondary:hover,.product-design .assurance-secondary.light:hover { background: var(--pl-selection); color: var(--pl-blue-hover); }
.product-design .evidence-desk { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); align-items: start; gap: 26px; margin-top: 0; }
.narrative-revision { margin-bottom: 24px; padding: 16px 0; border-block: 1px solid var(--pl-line); }
.narrative-revision summary { cursor: pointer; color: var(--pl-blue); font-size: 15px; }
.narrative-revision p { max-width: 78ch; color: var(--pl-muted); font-size: 14px; line-height: 1.6; }
.narrative-revision label { display: block; margin: 15px 0 8px; font-size: 14px; }
.narrative-revision textarea { width: 100%; min-height: 160px; padding: 14px; color: var(--pl-ink); background: var(--pl-white); border: 1px solid var(--pl-line); border-radius: 6px; font-size: 15px; line-height: 1.6; resize: vertical; }
.narrative-revision button { margin-top: 12px; }
.product-design .evidence-desk > div > h3 { margin: 0 0 14px; font: 600 18px/1.4 var(--pl-font); color: var(--pl-ink); }
.product-design .blocker-list { display: grid; gap: 9px; }
.product-design .blocker { margin: 0; padding: 0; border: 0; background: transparent; }
.product-design .finding-select { width: 100%; padding: 16px; text-align: left; color: var(--pl-ink); background: var(--pl-white); border: 1px solid var(--pl-line); border-radius: 7px; }
.product-design .finding-select[aria-pressed="true"] { background: var(--pl-selection); border-color: var(--pl-blue); box-shadow: none; }
.product-design .finding-select:hover { background: var(--pl-panel); }
.product-design .finding-select span { color: var(--pl-muted); font: 400 12px/1.5 var(--pl-font); text-transform: none; }
.product-design .finding-select strong { display: block; margin: 5px 0; color: var(--pl-ink); font: 600 16px/1.4 var(--pl-font); text-transform: none; }
.product-design .finding-select small { display: block; color: var(--pl-muted); font: 400 13px/1.5 var(--pl-font); }
.product-design .blocker-list > details { padding: 12px 0; font-size: 14px; }
.product-design .blocker-list > details .finding-select { margin-top: 10px; }
.product-design .finding-evidence { padding: 24px; color: var(--pl-ink); background: var(--pl-panel); border: 0; border-radius: var(--pl-radius); min-width: 0; }
.product-design .finding-evidence h3 { margin: 0 0 12px; font: 600 23px/1.3 var(--pl-font); letter-spacing: -.02em; }
.product-design .finding-evidence h4 { margin: 24px 0 8px; color: var(--pl-ink); font: 600 14px/1.4 var(--pl-font); text-transform: none; }
.product-design .finding-evidence p,.product-design .finding-evidence li,.product-design .finding-evidence blockquote,.product-design .finding-evidence summary { color: var(--pl-muted); font: 400 14px/1.65 var(--pl-font); }
.product-design .finding-evidence blockquote { padding: 0; margin: 12px 0; border: 0; }
.product-design .finding-evidence details { padding: 10px 0; border-top: 1px solid var(--pl-line); }
.product-design .finding-evidence summary { cursor: pointer; color: var(--pl-ink); }
.product-design .finding-evidence li { margin: 12px 0; }
.product-design .finding-evidence li span { color: var(--pl-muted); }
.product-design .review-question { padding: 8px 0; border-block: 1px solid var(--pl-line); margin: 20px 0; }
.product-design .review-question h4 { margin: 0 0 6px; color: var(--pl-blue); }
.product-design .review-question p { margin: 0; color: var(--pl-ink); font-size: 17px; }
.product-design .source-dates { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 20px 0; }
.product-design .source-dates dt { color: var(--pl-muted); font: 400 13px/1.5 var(--pl-font); }
.product-design .source-dates dd { margin: 5px 0 0; color: var(--pl-ink); font: 500 20px/1.3 var(--pl-font); }
.product-design .finding-evidence .source-files,.product-design .finding-evidence .source-boundary { color: var(--pl-muted); font-size: 12px; overflow-wrap: anywhere; }
.product-design .pack-intake { max-width: var(--pl-width); margin: 50px auto; padding: 0 24px; }
.product-design .compact-heading { display: block; margin: 0 0 24px; }
.product-design .compact-heading h2 { margin: 0 0 14px; color: var(--pl-ink); font: 600 28px/1.25 var(--pl-font); letter-spacing: -.025em; }
.product-design .compact-heading p { max-width: 80ch; margin-top: 12px; color: var(--pl-muted); font: 400 15px/1.65 var(--pl-font); }
.product-design .compact-heading > div > span { display: none; }
.product-design .pack-grid { gap: 16px; }
.product-design .assurance-file,.product-design .assurance-narrative { min-height: 220px; padding: 20px; color: var(--pl-ink); background: var(--pl-panel); border: 1px solid var(--pl-line); border-radius: 8px; }
.product-design .assurance-file.loaded { background: var(--pl-selection); color: var(--pl-ink); }
.product-design .assurance-file > span,.product-design .assurance-narrative > span { color: var(--pl-muted); font: 500 14px/1.5 var(--pl-font); text-transform: none; }
.product-design .assurance-file strong { margin: auto 0 10px; max-width: 100%; font: 500 20px/1.35 var(--pl-font); text-transform: none; }
.product-design .assurance-file small,.product-design .assurance-file.loaded small,.product-design .assurance-narrative small { color: var(--pl-muted); font-size: 13px; }
.product-design .assurance-file:focus-within { outline: 3px solid var(--pl-blue); outline-offset: 3px; }
.product-design .assurance-narrative textarea { color: var(--pl-ink); background: var(--pl-white); font: 400 14px/1.6 var(--pl-font); border-radius: 6px; }
.product-design .intake-run { padding: 18px 0; background: var(--pl-white); color: var(--pl-ink); }
.product-design .intake-run p { color: var(--pl-muted); font-size: 14px; }
.product-design .intake-run .assurance-primary { background: var(--pl-blue); color: var(--pl-white); }
.product-design .request-panel,.product-design .decision-panel { margin-top: 32px; padding: 28px; background: var(--pl-panel); color: var(--pl-ink); border: 0; border-radius: var(--pl-radius); }
.product-design .request-controls input,.product-design .decision-fields input,.product-design .decision-fields textarea { min-height: 46px; padding: 12px; border: 1px solid var(--pl-line); color: var(--pl-ink); background: var(--pl-white); border-radius: 6px; font: 400 15px/1.5 var(--pl-font); caret-color: var(--pl-blue); }
.product-design .decision-fields label > span,.product-design .request-controls label > span { color: var(--pl-muted); font: 500 14px/1.5 var(--pl-font); text-transform: none; }
.product-design .request-controls button { padding: 12px 20px; min-height: 46px; border: 0; color: var(--pl-white); background: var(--pl-blue); border-radius: 7px; font: 500 14px/1.4 var(--pl-font); text-transform: none; }
.product-design .request-item { color: var(--pl-ink); border-color: var(--pl-line); }
.product-design .request-item span,.product-design .request-item small { color: var(--pl-muted); font: 400 13px/1.6 var(--pl-font); text-transform: none; }
.product-design .request-item strong { color: var(--pl-ink); font-size: 16px; }
.product-design .decision-panel fieldset { border-color: var(--pl-line); }
.product-design .decision-panel legend { color: var(--pl-ink); font: 600 16px/1.4 var(--pl-font); text-transform: none; }
.product-design .decision-panel fieldset label { color: var(--pl-ink); background: var(--pl-white); border: 1px solid var(--pl-line); border-radius: 6px; padding: 14px; font: 400 15px/1.4 var(--pl-font); }
.product-design input[type="radio"] { accent-color: var(--pl-blue); }
.product-design .decision-submit p,.product-design .precedent-gate-banner { color: var(--pl-muted); font: 400 13px/1.6 var(--pl-font); }
.product-design .supporting-evidence { margin-top: 32px; color: var(--pl-ink); border-color: var(--pl-line); }
.product-design .supporting-evidence > summary { color: var(--pl-ink); background: var(--pl-white); font: 500 15px/1.5 var(--pl-font); }
.product-design .supporting-evidence > summary small { color: var(--pl-muted); font-size: 12px; }
.product-design .evidence-summary { background: var(--pl-panel); }
.product-design .evidence-fact { border-color: var(--pl-line); }
.product-design .evidence-fact span,.product-design .evidence-fact small { color: var(--pl-muted); font: 400 13px/1.5 var(--pl-font); text-transform: none; }
.product-design .evidence-fact strong { color: var(--pl-ink); font: 600 20px/1.4 var(--pl-font); }
.product-design .register-view { max-width: var(--pl-width); margin: auto; padding: 45px 24px; }
.product-design .register-heading h1 { margin: 0 0 12px; font: 600 34px/1.2 var(--pl-font); letter-spacing: -.025em; }
.product-design .register-heading p { color: var(--pl-muted); font-size: 15px; }
.product-design .register-row { color: var(--pl-ink); background: var(--pl-white); border-color: var(--pl-line); }
.product-design .register-row strong { font: 500 18px/1.5 var(--pl-font); }
.product-design .register-row span,.product-design .register-row small { color: var(--pl-muted); font: 400 13px/1.6 var(--pl-font); text-transform: none; }
.product-design .register-row aside b { color: var(--pl-ink); font: 600 15px/1.5 var(--pl-font); }
.product-design .register-row button { min-height: 44px; padding: 10px 16px; color: var(--pl-blue); background: var(--pl-white); border: 1px solid var(--pl-line); border-radius: 6px; font: 500 14px/1.4 var(--pl-font); text-transform: none; }
.product-design .workspace-notice { margin: 20px 24px; color: var(--pl-ink); background: var(--pl-attention-ground); border-color: var(--pl-line); font: 400 14px/1.6 var(--pl-font); }
.product-design .assurance-toast { visibility: hidden; pointer-events: none; opacity: 0; color: var(--pl-white); background: var(--pl-ink); font: 400 14px/1.5 var(--pl-font); border-radius: 8px; }
.product-design .assurance-toast.show { visibility: visible; opacity: 1; }
.product-design.walkthrough-session #productLanding { display: none; }
.product-design .tour-guide h1,.product-design .tour-stage-heading h2 { font-family: var(--pl-font); }
.product-design .tour-guide { top: 20px; }
.product-design .tour-guide button { font-family: var(--pl-font); }
.product-design .tour-stage { background: var(--pl-white); color: var(--pl-ink); }
.product-design .tour-stage-heading h2 { letter-spacing: -.025em; }
.product-design .tour-session { background: var(--pl-panel); color: var(--pl-muted); }
.product-design .tour-track { background: var(--pl-panel); }
.product-design .tour-bar.previous { background: var(--pl-muted); }
.product-design .tour-bar.current { background: var(--pl-blue); }
.product-design .tour-navigation { background: var(--pl-panel); border-color: var(--pl-line); }
.product-design .tour-navigation button { background: var(--pl-blue); color: var(--pl-white); border-radius: 5px; }
.product-design .site-footer { color: var(--pl-muted); background: var(--pl-white); font: 400 13px/1.7 var(--pl-font); text-transform: none; border-top: 1px solid var(--pl-line); }
.product-design .site-footer a { color: var(--pl-muted); }
.example-panel.is-switching { animation: evidence-selection 180ms var(--pl-ease); }
.example-line.is-playing { animation: finish-movement 700ms var(--pl-ease); }
@keyframes finish-movement { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes evidence-selection { from { opacity: .6; } to { opacity: 1; } }
@media (max-width: 1450px) { .product-example { margin-left: 5vw; margin-right: 5vw; } }
@media (min-width: 1101px) and (max-width: 1535px) {
  :root { --pl-u: clamp(.84px,.065104vw,1px); }
  .product-design .assurance-header { height: calc(62 * var(--pl-u)); min-height: calc(62 * var(--pl-u)); }
  .product-wordmark { font-size: calc(28 * var(--pl-u)); }
  .product-hero { padding-top: calc(45 * var(--pl-u)); }
  .product-hero h1 { font-size: calc(61 * var(--pl-u)); }
  .product-introduction { max-width: calc(830 * var(--pl-u)); margin-top: calc(17 * var(--pl-u)); font-size: calc(21 * var(--pl-u)); }
  .product-actions { margin-top: calc(19 * var(--pl-u)); gap: calc(28 * var(--pl-u)); }
  .product-actions .assurance-primary { min-height: calc(47 * var(--pl-u)); padding: calc(12 * var(--pl-u)) calc(28 * var(--pl-u)); font-size: calc(16 * var(--pl-u)); }
  .product-actions .product-text-button { font-size: calc(16 * var(--pl-u)); }
  .product-privacy { margin-top: calc(15 * var(--pl-u)); font-size: max(12px,calc(14 * var(--pl-u))); }
  .product-example { margin-top: calc(29 * var(--pl-u)); }
  .example-heading { padding: calc(14 * var(--pl-u)) calc(18 * var(--pl-u)); font-size: max(12px,calc(13 * var(--pl-u))); }
  .example-heading strong { font-size: calc(16 * var(--pl-u)); }
  .example-workspace { grid-template-columns: calc(280 * var(--pl-u)) minmax(0,1fr); }
  .example-selector { padding: calc(20 * var(--pl-u)) calc(9 * var(--pl-u)); }
  .example-selector h2 { font-size: max(12px,calc(14 * var(--pl-u))); }
  .example-selector button { min-height: calc(44 * var(--pl-u)); padding: calc(12 * var(--pl-u)) calc(22 * var(--pl-u)); font-size: max(12px,calc(14 * var(--pl-u))); }
  .example-panel { padding: calc(20 * var(--pl-u)) calc(25 * var(--pl-u)) calc(16 * var(--pl-u)); }
  .example-panel h2 { font-size: calc(32 * var(--pl-u)); }
  .example-comparison { max-width: calc(780 * var(--pl-u)); min-height: calc(104 * var(--pl-u)); gap: calc(24 * var(--pl-u)); padding: calc(20 * var(--pl-u)) 0; }
  .example-comparison > div > span,.example-reading > div > span,.example-question > div > span { font-size: max(12px,calc(15 * var(--pl-u))); }
  .example-comparison strong { font-size: calc(25 * var(--pl-u)); }
  .example-reading { gap: calc(26 * var(--pl-u)); padding: calc(12 * var(--pl-u)) 0 calc(31 * var(--pl-u)); }
  .example-reading > div + div { padding-left: calc(26 * var(--pl-u)); }
  .example-reading p,.example-reading blockquote { margin-top: calc(8 * var(--pl-u)); font-size: calc(21 * var(--pl-u)); }
  .example-question { gap: calc(24 * var(--pl-u)); padding-top: calc(10 * var(--pl-u)); }
  .example-question p { margin-top: calc(5 * var(--pl-u)); font-size: calc(21 * var(--pl-u)); }
  .example-question button { min-width: calc(190 * var(--pl-u)); font-size: calc(16 * var(--pl-u)); }
  .example-footer { min-height: calc(39 * var(--pl-u)); padding: calc(6 * var(--pl-u)) calc(18 * var(--pl-u)); }
  .example-footer p,.example-footer button { font-size: max(12px,calc(13 * var(--pl-u))); }
  .product-journey { margin-top: calc(55 * var(--pl-u)); }
  .product-journey h2 { font-size: calc(34 * var(--pl-u)); }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .example-workspace { grid-template-columns: 210px minmax(0,1fr); }
  .example-panel h2 { font-size: 27px; }
  .example-comparison { gap: 15px; }
  .example-comparison strong { font-size: 21px; }
  .example-reading p,.example-reading blockquote,.example-question p { font-size: 18px; }
  .example-question { align-items: start; flex-direction: column; gap: 5px; }
}
@media (max-width: 760px) {
  :root { --pl-gutter: 18px; }
  .product-design .assurance-header { height: auto; min-height: 62px; padding-block: 12px; gap: 12px; flex-wrap: wrap; }
  .product-wordmark { font-size: 24px; }
  .product-design .assurance-header .product-navigation { gap: 0; }
  .product-navigation a { display: none !important; }
  .product-design .product-open { min-height: 40px; padding: 10px 16px; font-size: 13px; }
  .product-design .assurance-header .review-navigation { width: 100%; order: 2; margin: 0; justify-content: space-between; gap: 12px; }
  .product-design .assurance-header nav a { font-size: 14px; }
  .product-hero { padding: 36px 20px 0; }
  .product-hero h1 { font-size: clamp(32px,8.5vw,48px); line-height: 1.1; letter-spacing: -.03em; }
  .product-introduction { margin-top: 20px; font-size: 17px; line-height: 1.5; }
  .product-actions { flex-direction: column; gap: 5px; margin-top: 23px; }
  .product-actions .assurance-primary { width: 100%; max-width: 330px; }
  .product-privacy { max-width: 27ch; margin-top: 13px; font-size: 13px; }
  .product-example { margin: 30px 16px 0; }
  .example-heading { display: block; padding: 14px 16px; }
  .example-heading > div { display: block; }
  .example-heading strong { display: block; font-size: 15px; }
  .example-heading span { font-size: 12px; }
  .example-heading > span { display: none; }
  .example-workspace { grid-template-columns: minmax(0,1fr); }
  .example-selector { padding: 12px 9px; border: 0; border-bottom: 1px solid var(--pl-line); }
  .example-selector h2 { margin: 0 7px 10px; font-size: 13px; }
  .example-selector [role="tablist"] { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 3px; }
  .example-selector button { min-height: 48px; padding: 8px; font-size: 12px; line-height: 1.4; text-align: center; }
  .example-panel { padding: 20px 16px; }
  .example-panel h2 { font-size: 24px; }
  .example-comparison { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px 20px; padding: 20px 0; }
  .example-comparison > div:last-child { grid-column: 2; grid-row: 1; }
  .example-connection { grid-column: 1/-1; grid-row: 2; }
  .example-comparison strong { font-size: 19px; }
  .example-comparison > div > span { font-size: 13px; }
  .example-reading { grid-template-columns: minmax(0,1fr); gap: 20px; padding-bottom: 20px; }
  .example-reading > div + div { padding-left: 0; border: 0; }
  .example-reading p,.example-reading blockquote { font-size: 17px; }
  .example-question { flex-direction: column; align-items: start; gap: 8px; }
  .example-question p { font-size: 18px; }
  .example-question button { min-width: 0; font-size: 14px; }
  .example-footer { display: block; padding: 12px 16px; text-align: left; }
  .example-footer button { min-height: 44px; margin-top: 4px; }
  .example-source table { font-size: 12px; }
  .example-source th,.example-source td { padding: 8px 3px; }
  .product-journey { padding: 0 24px; margin-top: 50px; text-align: left; }
  .product-journey h2 { font-size: 28px; }
  .product-journey > p { font-size: 16px; line-height: 1.6; }
  .journey-detail,.product-method { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .journey-detail { margin-top: 35px; }
  .journey-list li { padding-left: 32px; }
  .journey-list h3,.journey-demo h3 { font-size: 21px; }
  .journey-demo { padding: 24px; }
  .product-method { margin: 45px 24px; padding: 35px 0; }
  .product-method h2,.product-start h2 { font-size: 28px; }
  .product-start { display: block; padding: 0 24px; margin-bottom: 55px; }
  .product-start .product-actions { align-items: start; }
  .product-design .readiness-workspace { padding: 0 18px 40px; }
  .product-design .review-context { flex-direction: column; align-items: start; padding: 14px 0; }
  .product-design .review-tools { display: flex; flex-wrap: wrap; }
  .product-design .readiness-card h2 { font-size: 26px; }
  .review-facts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
  .product-design .readiness-actions { flex-direction: column; align-items: stretch; }
  .product-design .evidence-desk { grid-template-columns: minmax(0,1fr); }
  .product-design .finding-evidence { padding: 20px; }
  .product-design .finding-evidence h3 { font-size: 21px; }
  .product-design .source-dates { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .product-design .pack-intake { margin: 32px auto; padding: 0 18px; }
  .product-design .pack-grid { grid-template-columns: minmax(0,1fr); }
  .product-design .assurance-file { min-height: 140px; }
  .product-design .intake-run { display: grid; gap: 12px; }
  .product-design .decision-panel,.product-design .request-panel { padding: 20px; }
  .product-design .decision-panel fieldset,.product-design .decision-fields,.product-design .request-controls { grid-template-columns: minmax(0,1fr); }
  .product-design .register-view { padding: 32px 18px; }
  .product-design .register-row { flex-direction: column; align-items: start; gap: 16px; padding: 20px 0; }
  .product-design .tour-guide { top: 0; }
}
@media (prefers-reduced-motion: reduce) { .product-design *, .product-design *::before,.product-design *::after { animation: none !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }

/* Keep review provenance available without preceding the practical outcome. */
.review-source-details { margin-top: 8px; max-width: 72ch; }
.review-source-details summary { cursor: pointer; font-size: 14px; }
.review-source-details small { display: block; overflow-wrap: anywhere; margin-top: 8px; }
