/* === style.css === */
:root{--ink:#142532;--muted:#526673;--line:#cdd8df;--paper:#f5f8fa;--blue:#0756c9;--deep:#0b2235;--accent:#b7f76b;--white:#fff;color-scheme:light;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:var(--blue);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,select{font:inherit}button,.button{border:1px solid var(--blue);padding:13px 20px;border-radius:4px;background:var(--blue);color:white;cursor:pointer;display:inline-block;font-weight:700;text-decoration:none;min-height:46px}button.secondary,.button.secondary{background:white;color:var(--ink);border-color:var(--line)}:focus-visible{outline:3px solid #bf6300;outline-offset:4px}.skip{position:absolute;top:-80px;left:20px;z-index:100;background:white;padding:16px}.skip:focus{top:0}header{background:white;border-bottom:1px solid var(--line)}.top{max-width:1320px;margin:auto;padding:22px 36px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font-size:21px;letter-spacing:-1px;font-weight:800;text-decoration:none;color:var(--ink);white-space:nowrap}.brand span{color:var(--blue)}nav{display:flex;gap:24px;align-items:center;flex-wrap:wrap}nav a{font-size:14px;color:var(--ink);text-decoration:none;font-weight:700}nav a[aria-current=page]{color:var(--blue)}main{max-width:1250px;margin:auto;padding:40px 32px 72px}.eyebrow{font:700 12px/1.5 ui-monospace,SFMono-Regular,monospace;letter-spacing:1.6px;text-transform:uppercase;color:var(--blue);margin:0 0 18px}h1{font-size:clamp(32px,4.4vw,60px);line-height:1.04;letter-spacing:-2px;margin:0 0 24px;max-width:940px}h2{font-size:29px;letter-spacing:-.8px;margin:0 0 18px}h3{font-size:20px;line-height:1.35;margin:0 0 13px}p,li{line-height:1.7}p{margin:0 0 20px}.lead{font-size:19px;color:var(--muted);max-width:740px}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;padding:40px 0 56px;align-items:center}.hero h1{font-size:clamp(40px,4.5vw,64px)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}.console{background:var(--deep);color:white;border-radius:6px;padding:30px}.console .eyebrow{color:var(--accent)}.console p{color:#c3d3de}.console h2{font-size:28px}.decision-row{border-top:1px solid #385061;padding:18px 0;display:flex;justify-content:space-between;gap:15px}.decision-row span{color:#c3d3de;font-size:14px}.decision-row strong{color:var(--accent)}.strip{display:flex;gap:30px;border-block:1px solid var(--line);padding:20px 0;color:var(--muted);font-size:14px;flex-wrap:wrap}.section{margin-top:50px}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:20px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{border:1px solid var(--line);background:white;border-radius:5px;padding:25px;display:flex;flex-direction:column}.card p{color:var(--muted)}.card .card-link{margin-top:auto;font-weight:700}.badge{display:inline-block;border:1px solid #b6cbd9;color:#315367;background:#eef4f8;border-radius:3px;padding:3px 7px;font:700 12px/1.5 ui-monospace,monospace;letter-spacing:.3px}.badge.warn{background:#fff3d7;color:#795300;border-color:#dfcd9d}.citation{font-size:13px;color:var(--muted);display:block;margin-top:8px}.citation a{font-weight:600}.breadcrumb{font-size:14px;color:var(--muted);margin-bottom:30px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:5px;background:white}table{border-collapse:collapse;width:100%;text-align:left}th,td{padding:18px;vertical-align:top;border-bottom:1px solid var(--line);line-height:1.55}th{font-size:14px;background:#eaf0f4}td:first-child{font-weight:600}tr:last-child td{border-bottom:0}.note{border-left:3px solid var(--blue);padding:18px 22px;background:#e9f1fa;margin:24px 0}.note.warning{background:#fff6e3;border-color:#a66a00}.prose{max-width:850px}.prose h2{margin-top:40px}.prose ul{padding-left:24px}.small{font-size:14px;color:var(--muted)}footer{border-top:1px solid var(--line);background:white;padding:35px;}.foot{max-width:1185px;margin:auto;display:flex;gap:35px;justify-content:space-between;flex-wrap:wrap}.foot p{font-size:14px;color:var(--muted);max-width:480px}.foot nav{gap:18px}.calc-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);gap:28px;align-items:start}.calc-results{position:sticky;top:20px}.calc-results .console{min-height:270px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field label{display:block;font-weight:700;font-size:14px;margin-bottom:8px}.field input,.field select{width:100%;padding:12px;border:1px solid #9dafbd;background:white;border-radius:4px;min-height:46px;color:var(--ink)}.field small{display:block;margin-top:7px;font-size:13px;color:var(--muted);line-height:1.5}fieldset{border:1px solid var(--line);background:white;padding:24px;margin:0 0 24px;border-radius:5px}legend{font-size:19px;font-weight:700;padding:0 8px}.check{display:flex;gap:12px;align-items:flex-start;margin:18px 0;line-height:1.5}.check input{width:20px;height:20px;flex-shrink:0}details{border:1px solid var(--line);padding:20px;background:white;margin:18px 0}summary{font-weight:700;cursor:pointer}details[open]>summary{margin-bottom:24px}.error{color:#a21f26;font-size:14px}.error-list{border:2px solid #a21f26;padding:20px;background:#fff5f4;margin:20px 0}.result-value{font-size:38px;letter-spacing:-1px;font-weight:700;color:var(--accent)}.metric{padding:18px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.metric span{color:var(--muted);font-size:14px}.metric strong{text-align:right}.bar{height:10px;background:#dce5ee;border-radius:2px;margin:7px 0 20px}.bar i{height:100%;display:block;background:var(--blue);max-width:100%}.search{max-width:450px;width:100%;padding:13px;border:1px solid #9dafbd;margin:15px 0 25px;border-radius:4px}.two{grid-template-columns:1fr 1fr}.report{width:100%;min-height:150px;padding:15px;font:inherit}code{font-size:14px;overflow-wrap:anywhere}pre{white-space:pre-wrap;background:#e8eef3;padding:20px;line-height:1.7} @media(max-width:900px){.top{align-items:flex-start;flex-direction:column;padding:20px 24px}.hero{gap:28px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calc-layout{grid-template-columns:1fr}.calc-results{position:static}.hero h1{font-size:43px}nav{gap:18px}}@media(max-width:600px){main{padding:28px 20px 50px}.hero{grid-template-columns:1fr;padding-top:12px;gap:20px}.hero h1{font-size:43px}.grid,.fields,.two{grid-template-columns:1fr}.console{padding:24px}.strip{gap:12px}.section-head{align-items:flex-start;flex-direction:column;gap:0}.top{padding:20px}.brand{font-size:20px}nav{gap:15px}nav a{font-size:14px}th,td{padding:13px}h1{letter-spacing:-1px}.foot{gap:18px}}@media print{header,footer,.actions,button,.calc-layout form{display:none}.calc-layout{display:block}.calc-results{position:static}.console{background:white;color:black;border:1px solid black}.console p,.result-value,.console .eyebrow{color:black}main{padding:0}a{color:black}.grid{display:block}.card{break-inside:avoid}}
/* Launch accessibility fixes; preserve the existing visual system. */
[hidden]{display:none!important}
.field,.calc-results,.card{min-width:0}
.card a,td,th,.citation{overflow-wrap:anywhere}
nav a{display:inline-flex;align-items:center;min-height:32px}
.button,button{touch-action:manipulation}
button:disabled{cursor:not-allowed;opacity:.6}
input[type=checkbox]{accent-color:var(--blue)}
textarea{font-size:1rem}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* === redesign.css === */
/* Deliberate redesign overrides; original stylesheet retained for historical continuity. */
.prose .section > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-right: 20px;
}
.sensitivity-row meter::-webkit-meter-optimum-value {
  background: var(--blue);
}
.sensitivity-row meter::-moz-meter-bar {
  background: var(--blue);
}
.calculator-page {
  padding-top: 28px;
}
.calculator-page > .breadcrumb,
.calculator-page > .eyebrow {
  display: none;
}
.calculator-page > h1 {
  font-size: 42px;
  margin-bottom: 16px;
}
.fields > .field:only-child {
  grid-column: 1/-1;
}
.currency-setting {
  min-width: 280px;
  margin: 0 0 18px;
  padding: 16px;
  background: #eaf0f4;
  border: 1px solid var(--line);
  border-radius: 6px;
}
.currency-setting label {
  display: block;
  font-weight: 700;
  margin-bottom: 8px;
}
.currency-setting select {
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid #8298a7;
  border-radius: 5px;
  background: #fff;
  min-width: 240px;
}
.currency-setting .small {
  margin: 8px 0 0;
}
.field-example {
  font-size: 14px;
  color: #354d5e;
  line-height: 1.5;
  margin: 8px 0 0;
}
.field-required label,
.field-optional label {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.required-mark,
.optional-mark {
  font-size: 11px;
  line-height: 1.4;
  letter-spacing: 0.3px;
  font-weight: 700;
  color: #705315;
  white-space: nowrap;
}
.required-mark {
  color: #145c86;
}
.money-input {
  position: relative;
}
.money-input input {
  padding-left: 42px;
}
.currency-symbol {
  position: absolute;
  left: 13px;
  top: 14px;
  color: var(--muted);
  font-weight: 700;
  z-index: 1;
  pointer-events: none;
}
.input-unit:not(.money-input) .currency-symbol {
  display: none;
}
.confidence-panel {
  margin: 32px 0;
  padding: 22px 24px;
  background: #fff6e9;
  border-left: 3px solid #a17019;
  border-radius: 4px;
  color: #4d3d1a;
}
.confidence-panel strong {
  display: block;
  font-size: 18px;
  margin-bottom: 8px;
}
.confidence-panel p {
  margin: 0 0 12px;
}
.confidence-panel a {
  font-weight: 700;
}
.calculator-toolbar {
  align-items: flex-start;
}
@media (max-width: 760px) {
  .calculator-page {
    padding-top: 24px;
  }
  .calculator-page > h1 {
    font-size: 30px;
    letter-spacing: -1px;
  }
  .calculator-page .calc-intro {
    font-size: 16px;
    line-height: 1.5;
  }
  .calculator-page .scenario-status {
    margin: 8px 0 12px;
  }
  .calculator-page .step-nav {
    margin-bottom: 18px;
  }
  .calculator-page .calc-step > p:not(.eyebrow) {
    font-size: 15px;
  }
}
:root {
  --ink: #102b3d;
  --muted: #526471;
  --line: #d8e1e7;
  --paper: #f6f8fa;
  --blue: #145c86;
  --deep: #102b3d;
  --accent: #b6dced;
}
button,
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 48px;
  padding: 14px 22px;
  border-radius: 6px;
}
button:hover,
.button:hover {
  background: #104a6c;
}
button.secondary:hover,
.button.secondary:hover {
  background: #edf2f5;
}
button.text-button {
  background: transparent;
  border: 0;
  color: var(--blue);
  padding: 10px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
button.text-button:hover {
  color: var(--ink);
}
:focus-visible {
  outline: 3px solid #c4670c;
  outline-offset: 4px;
}
.top {
  max-width: 1280px;
  padding: 22px 36px;
}
.brand {
  font-size: 22px;
}
nav a {
  color: var(--muted);
  min-height: 44px;
}
nav a[aria-current='page'] {
  color: var(--ink);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 9px;
}
main {
  max-width: 1232px;
  padding: 44px 36px 80px;
}
main:focus {
  outline: none;
}
.breadcrumb {
  margin-bottom: 30px;
}
h1 {
  line-height: 1.08;
}
h2 {
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.2;
  letter-spacing: -1px;
  margin-bottom: 20px;
}
h3 {
  font-size: 21px;
  letter-spacing: -0.35px;
}
.lead {
  font-size: 20px;
  line-height: 1.6;
}
.small {
  font-size: 14px;
  line-height: 1.6;
}
.eyebrow,
.index-number {
  letter-spacing: 1.7px;
}
.hero {
  grid-template-columns: 1.2fr 1fr;
  gap: 75px;
  padding: 30px 0 62px;
}
.hero h1 {
  font-size: clamp(45px, 5.6vw, 76px);
  letter-spacing: -3px;
  line-height: 1.02;
}
.hero h1 span {
  color: var(--blue);
}
.hero .lead {
  max-width: 440px;
}
.hero .actions {
  margin: 30px 0 16px;
}
.decision-preview {
  border-top: 4px solid var(--blue);
  padding: 32px;
  background: #fff;
  box-shadow: 0 12px 40px #102b3d09;
}
.decision-preview h2 {
  font-size: 29px;
}
.preview-list {
  list-style: none;
  padding: 0;
  margin: 30px 0;
}
.preview-list li {
  display: flex;
  gap: 18px;
  border-top: 1px solid var(--line);
  padding: 20px 0 0;
}
.preview-list li > span {
  color: var(--blue);
  font:
    14px ui-monospace,
    monospace;
  padding-top: 3px;
}
.preview-list p {
  font-size: 14px;
  color: var(--muted);
  margin: 6px 0 20px;
}
.decision-preview > a {
  font-weight: 700;
}
.trust-line {
  border-block: 1px solid var(--line);
  padding: 22px 0;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 14px;
  color: var(--muted);
}
.trust-line span:before {
  content: '✓';
  color: var(--blue);
  margin-right: 10px;
}
.section {
  margin-top: 68px;
}
.section-head {
  align-items: end;
  gap: 30px;
  margin-bottom: 28px;
}
.section-head h2 {
  margin-bottom: 0;
}
.section-intro {
  max-width: 340px;
  color: var(--muted);
  margin: 0;
}
.grid {
  gap: 22px;
}
.outcome-grid {
  gap: 36px;
}
.outcome-grid article {
  padding: 16px 0 8px;
  border-top: 1px solid var(--line);
}
.index-number {
  display: block;
  font:
    700 12px/1.6 ui-monospace,
    monospace;
  color: var(--blue);
  margin-bottom: 24px;
}
.outcome-grid p {
  color: var(--muted);
}
.outcome-grid a {
  font-weight: 700;
}
.card {
  padding: 26px;
  border-radius: 6px;
}
.card h3 a {
  color: var(--ink);
  text-decoration: none;
}
.card h3 a:hover {
  text-decoration: underline;
}
.card .card-link {
  font-size: 14px;
}
.example-band {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  padding: 48px;
  background: #eaf0f4;
  border-radius: 8px;
}
.example-band > div > p {
  max-width: 440px;
}
.sample-result {
  background: #fff;
  padding: 30px;
  border: 1px solid var(--line);
  align-self: center;
  border-radius: 6px;
}
.sample-result h3 {
  font-size: 28px;
}
.sample-result .small {
  margin-bottom: 0;
}
.sample-result .decision-row {
  border-color: var(--line);
}
.sample-result .decision-row span {
  color: var(--muted);
}
.sample-result .decision-row strong {
  color: var(--ink);
  font-size: 14px;
}
.comparison-feature {
  display: block;
  background: #fff;
  padding: 30px;
  border: 1px solid var(--line);
  text-decoration: none;
  color: var(--ink);
  border-radius: 6px;
}
.comparison-feature > span {
  color: var(--muted);
  font-size: 14px;
}
.comparison-feature h3 {
  font-size: 26px;
  margin-top: 18px;
}
.comparison-feature h3 span {
  color: var(--muted);
  font-weight: 400;
}
.comparison-feature p {
  color: var(--blue);
  font-size: 14px;
  margin: 20px 0 0;
}
.comparison-feature:hover {
  border-color: var(--blue);
}
.independence {
  max-width: 860px;
  margin: 80px auto;
  text-align: center;
}
.independence p {
  color: var(--muted);
  max-width: 700px;
  margin: 0 auto 20px;
}
.independence .eyebrow {
  color: var(--blue);
}
.independence > a {
  font-weight: 700;
}
.final-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  background: var(--deep);
  padding: 44px;
  border-radius: 8px;
  color: #fff;
}
.final-cta h2 {
  margin: 0;
}
.final-cta .button {
  background: #fff;
  color: var(--ink);
  border-color: #fff;
}
.table-wrap {
  border-radius: 6px;
  overscroll-behavior-x: contain;
  max-width: 100%;
}
table {
  font-size: 15px;
}
th,
td {
  padding: 19px 22px;
  min-width: 130px;
}
thead th {
  background: #eaf0f4;
  font-size: 14px;
}
tbody th {
  font-weight: 600;
  width: 30%;
}
.citation {
  line-height: 1.6;
}
.badge,
.badge.warn {
  background: transparent;
  border: 0;
  padding: 0;
  font:
    13px/1.6 Arial,
    Helvetica,
    sans-serif;
  letter-spacing: 0;
  color: var(--muted);
}
.badge.warn {
  color: #705315;
}
.note {
  background: #eaf0f4;
  border-left: 3px solid #7299ad;
  padding: 20px 24px;
  line-height: 1.65;
  color: #354d5e;
}
.note.warning {
  background: #fff6e9;
  border-color: #a17019;
  color: #705315;
}
.prose {
  max-width: 820px;
}
.prose .section {
  margin-top: 40px;
}
pre {
  overflow-wrap: anywhere;
}
.foot nav {
  max-width: 450px;
  gap: 4px 24px;
}
.foot p {
  margin-top: 16px;
}
.foot nav a {
  min-height: 44px;
}
.calc-intro {
  font-size: 18px;
  margin-bottom: 12px;
  max-width: 800px;
}
.calculator-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.calculator-toolbar > p {
  margin: 0;
}
.calculator-toolbar .actions {
  margin: 0;
}
.scenario-status {
  font-size: 14px;
  background: #eaf0f4;
  padding: 12px 16px;
  border-radius: 5px;
  color: #354d5e;
  margin: 12px 0 24px;
}
.step-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border-bottom: 1px solid var(--line);
  margin-bottom: 28px;
}
.step-nav button {
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--muted);
  font-size: 14px;
  justify-content: start;
  padding: 16px 8px;
  gap: 10px;
}
.step-nav button span {
  width: 26px;
  height: 26px;
  border: 1px solid #8ea1ae;
  border-radius: 50%;
  display: grid;
  place-content: center;
  flex-shrink: 0;
  font-size: 12px;
}
.step-nav button[aria-current] {
  border-bottom-color: var(--blue);
  color: var(--blue);
}
.step-nav button[aria-current] span {
  background: var(--blue);
  color: #fff;
  border-color: var(--blue);
}
.calc-layout {
  grid-template-columns: minmax(0, 1.55fr) minmax(290px, 1fr);
  gap: 32px;
}
.calc-layout form {
  min-width: 0;
}
.calc-step {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 32px;
}
.calc-step > .eyebrow {
  margin-bottom: 12px;
}
.calc-step h2 {
  font-size: 28px;
}
.calc-step > p:not(.eyebrow) {
  color: var(--muted);
}
.fields {
  gap: 12px 22px;
}
.field {
  margin: 12px 0;
}
.field label {
  font-weight: 600;
  font-size: 15px;
  line-height: 1.5;
}
.field input,
.field select {
  min-height: 48px;
  padding: 11px 12px;
  border-color: #8298a7;
  border-radius: 5px;
}
.field input[readonly] {
  background: #eaf0f4;
}
.field > .small {
  margin-top: 9px;
  margin-bottom: 0;
}
.error {
  color: #aa2926;
  line-height: 1.5;
  margin: 8px 0 0;
}
.error:empty {
  display: none;
}
[aria-invalid='true'] {
  border: 2px solid #aa2926 !important;
}
.error-list {
  border: 2px solid #aa2926;
  background: #fff6f5;
  padding: 22px;
  margin: 0 0 24px;
  border-radius: 6px;
}
.error-list h3,
.error-list a {
  color: #8d201e;
}
.error-list ul {
  padding-left: 20px;
}
.error-list li {
  margin-bottom: 10px;
}
.advanced {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafb;
  padding: 18px;
  margin: 24px 0;
}
.advanced > summary {
  font-weight: 700;
  font-size: 15px;
  line-height: 1.6;
  min-height: 28px;
}
.advanced[open] > summary {
  margin-bottom: 20px;
}
.missing-count {
  display: block;
  font-size: 13px;
  font-weight: 400;
  color: #705315;
  padding-left: 17px;
}
.field-help {
  border: 0;
  background: transparent;
  margin: 7px 0 0;
  padding: 0;
}
.field-help summary {
  font-size: 13px;
  color: var(--blue);
  min-height: 28px;
  padding: 4px 0;
  font-weight: 400;
}
.field-help[open] > summary {
  margin-bottom: 6px;
}
.field-help p {
  font-size: 14px;
  line-height: 1.6;
  color: var(--muted);
  margin: 6px 0;
}
.check {
  padding: 10px 0;
  font-size: 15px;
  margin: 0;
}
.check input {
  margin: 2px 0;
}
.operation-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 18px;
}
.operation {
  border-bottom: 1px solid var(--line);
  padding: 6px 0;
}
.step-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 20px;
}
.step-actions p {
  margin: 0;
}
.calc-results {
  top: 24px;
}
.console {
  padding: 30px;
  border-radius: 8px;
}
.console h2 {
  font-size: 29px;
  letter-spacing: -0.7px;
}
.console .small {
  font-size: 13px;
}
.console ul {
  padding-left: 20px;
  font-size: 15px;
  color: #c4d5df;
}
.console .decision-row strong {
  color: #fff;
}
.result-value {
  line-height: 1.2;
}
.result-summary {
  margin: 50px 0 0;
}
.result-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.result-tile {
  background: #fff;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 6px;
}
.result-tile span {
  display: block;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}
.result-tile strong {
  display: block;
  font-size: 27px;
  margin: 12px 0;
  letter-spacing: -0.8px;
}
.result-tile small {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.5;
  display: block;
}
.driver-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  list-style: none;
  padding: 0;
}
.driver-list li {
  background: #fff;
  border-left: 3px solid #7da9bf;
  padding: 20px 24px;
}
.driver-list strong {
  display: block;
  margin-bottom: 8px;
}
.driver-list p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
}
.sensitivity-bars {
  display: grid;
  gap: 12px;
  margin: 25px 0;
}
.sensitivity-row {
  display: grid;
  grid-template-columns: 100px 1fr 210px;
  gap: 15px;
  align-items: center;
  font-size: 14px;
}
.sensitivity-row meter {
  width: 100%;
  height: 22px;
  accent-color: var(--blue);
}
.sensitivity-row strong {
  text-align: right;
}
.audit-details {
  margin-top: 34px;
  padding: 24px;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 6px;
}
.audit-details > summary {
  font-size: 20px;
  font-weight: 700;
}
.audit-details[open] > summary {
  margin-bottom: 30px;
}
.audit-details h3 {
  margin-top: 28px;
}
.directory-list .card {
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  padding: 24px 0;
}
.directory-list {
  gap: 0 36px;
}
.library-comparisons {
  margin-top: 32px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 6px;
}
.library-comparisons > summary {
  font-size: 18px;
}
.library-comparisons[open] > summary {
  margin-bottom: 24px;
}
@media (max-width: 1000px) {
  .hero {
    gap: 35px;
  }
  .top {
    padding-inline: 24px;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
  }
  .calc-layout {
    grid-template-columns: minmax(0, 1.4fr) minmax(270px, 1fr);
    gap: 22px;
  }
  .calc-step {
    padding: 24px;
  }
  .example-band {
    padding: 32px;
    gap: 32px;
  }
  .hero h1 {
    font-size: 58px;
  }
  .console {
    padding: 24px;
  }
}
@media (max-width: 760px) {
  main {
    padding: 28px 20px 56px;
  }
  .top {
    padding: 16px 20px;
    gap: 12px;
  }
  .brand {
    font-size: 21px;
  }
  .menu-toggle {
    min-height: 44px;
    padding: 9px 14px;
  }
  #main-nav {
    width: 100%;
    gap: 0;
    flex-direction: column;
    align-items: stretch;
    padding-top: 8px;
  }
  #main-nav a {
    padding: 10px 4px;
    min-height: 46px;
  }
  .hero {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 18px 0 32px;
  }
  .hero h1 {
    font-size: clamp(43px, 9vw, 65px);
    letter-spacing: -2px;
  }
  .hero .lead {
    font-size: 18px;
    max-width: 520px;
  }
  .decision-preview {
    padding: 26px;
  }
  .decision-preview h2 br {
    display: none;
  }
  .trust-line {
    gap: 14px;
    padding: 22px 0;
    flex-direction: column;
  }
  .section {
    margin-top: 44px;
  }
  .section-head {
    align-items: start;
    flex-direction: column;
    gap: 18px;
  }
  .section-intro {
    max-width: 100%;
  }
  .grid,
  .grid.two,
  .outcome-grid,
  .example-band {
    grid-template-columns: 1fr;
  }
  .example-band {
    padding: 26px;
    gap: 24px;
  }
  .outcome-grid {
    gap: 28px;
  }
  .independence {
    text-align: left;
    margin: 50px 0;
  }
  .final-cta {
    padding: 28px;
    flex-direction: column;
    align-items: start;
  }
  .foot {
    flex-direction: column;
    gap: 24px;
  }
  footer {
    padding: 32px 20px;
  }
  .foot nav {
    max-width: 100%;
    gap: 4px 22px;
  }
  .calc-layout {
    grid-template-columns: 1fr;
  }
  .calc-results {
    position: static;
  }
  .calculator-toolbar {
    align-items: start;
    flex-direction: column;
    gap: 5px;
  }
  .calculator-toolbar .actions {
    gap: 4px;
  }
  .calculator-toolbar .text-button {
    padding-left: 0;
    margin-right: 12px;
  }
  .step-nav {
    margin-bottom: 22px;
  }
  .step-nav button {
    flex-direction: column;
    gap: 8px;
    padding: 12px 3px;
    font-size: 12px;
    text-align: center;
    justify-content: start;
    line-height: 1.4;
  }
  .calc-step {
    padding: 24px 20px;
  }
  .fields {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .calc-step h2 {
    font-size: 27px;
  }
  .result-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .result-tile {
    padding: 20px;
  }
  .result-tile strong {
    font-size: 25px;
  }
  .driver-list {
    grid-template-columns: 1fr;
  }
  .sensitivity-row {
    grid-template-columns: 80px 1fr;
    gap: 8px;
  }
  .sensitivity-row strong {
    grid-column: 2;
    font-size: 13px;
  }
  .console h2 {
    font-size: 28px;
  }
  .breadcrumb {
    margin-bottom: 24px;
  }
  h1 {
    font-size: 37px;
    letter-spacing: -1.3px;
  }
  th,
  td {
    padding: 15px;
    min-width: 130px;
  }
  table {
    font-size: 14px;
  }
  .operation-options {
    grid-template-columns: 1fr;
  }
  .audit-details {
    padding: 20px;
  }
  .metric {
    flex-wrap: wrap;
  }
  .metric strong {
    max-width: 100%;
  }
  .comparison-feature h3 {
    overflow-wrap: anywhere;
  }
}
@media (max-width: 400px) {
  .brand {
    font-size: 19px;
  }
  .top {
    gap: 8px;
  }
  .menu-toggle {
    padding-inline: 10px;
  }
  .result-grid {
    grid-template-columns: 1fr;
  }
  .step-actions {
    flex-wrap: wrap;
  }
  .step-actions p {
    order: 3;
    width: 100%;
    text-align: center;
  }
}
.calculator-mode {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
  padding: 0.8rem 1rem;
  border: 1px solid var(--line, #d8d8d8);
  border-radius: 10px;
  background: var(--paper, #fff);
  margin: 1rem 0;
}
.calculator-mode > span {
  font-weight: 650;
  margin-right: 0.2rem;
}
.mode-button {
  border: 1px solid currentColor;
  background: transparent;
  border-radius: 999px;
  padding: 0.35rem 0.8rem;
  cursor: pointer;
}
.mode-button[aria-pressed='true'] {
  background: var(--ink, #161616);
  color: #fff;
}
.calculator-mode .small {
  flex-basis: 100%;
  margin: 0.1rem 0 0;
}
.beginner-note {
  padding: 0.8rem 1rem;
  background: #f4f6f5;
  border-left: 3px solid #4c6658;
  margin: 1rem 0;
}
.beginner-note details {
  display: inline-block;
  margin-left: 0.35rem;
}
.help-button {
  display: inline-grid;
  place-items: center;
  width: 1.35rem;
  height: 1.35rem;
  padding: 0;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: transparent;
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
  vertical-align: middle;
}
.field.guided-deferred {
  display: block;
}
.guided-mode .guided-deferred:not(.guided-revealed) {
  display: none;
}
.detailed-mode .guided-deferred {
  display: block;
}
.beginner-path {
  max-width: 1200px;
  margin: 1rem auto;
  padding: 0.85rem 1rem;
  border: 1px solid var(--line, #d8d8d8);
  border-radius: 10px;
}
.beginner-path p {
  margin: 0.15rem 0;
}
.glossary-list {
  display: grid;
  grid-template-columns: minmax(8rem, 0.4fr) 1fr;
  gap: 0.45rem 1rem;
}
.glossary-list dt {
  font-weight: 700;
}
.glossary-list dd {
  margin: 0;
}
.confidence-panel {
  border: 1px solid var(--line, #d8d8d8);
  border-radius: 10px;
  padding: 1rem;
  margin: 1rem 0;
  background: #f7faf8;
}
.confidence-panel strong {
  letter-spacing: 0.04em;
}
.confidence-panel a {
  font-weight: 650;
}
.field-help summary {
  cursor: pointer;
}
.field-help[open] + .error {
  margin-top: 0.4rem;
}
.beginner-crosslink {
  margin: 0.5rem 0 1.25rem;
}
.compare-intent {
  padding: 1rem 0 1.25rem;
  border-bottom: 1px solid var(--line, #d8d8d8);
  margin-bottom: 1rem;
}
.compare-intent h3 {
  margin: 0.2rem 0;
}
.choice {
  display: block;
  padding: 0.55rem 0.7rem;
  border: 1px solid var(--line, #d8d8d8);
  border-radius: 8px;
  margin: 0.45rem 0;
  cursor: pointer;
}
.choice:has(input:checked) {
  border-color: currentColor;
  background: #f5f7f6;
}
.quote-intent {
  margin: 1rem 0 0;
  padding: 1rem;
  background: #f7faf8;
  border-radius: 8px;
}
.quote-note {
  margin: 0.65rem 0;
}
.required-mark,
.optional-mark {
  font-size: 0.72rem;
  letter-spacing: 0.05em;
  font-weight: 750;
  padding: 0.15rem 0.35rem;
  border-radius: 4px;
}
.required-mark {
  background: #e8f0eb;
  color: #244b36;
}
.optional-mark {
  background: #f1f1f1;
  color: #555;
}
.unknown-note {
  border-top: 1px solid #ddd;
  padding-top: 0.5rem;
}
.help-structure {
  display: grid;
  grid-template-columns: 11rem 1fr;
  gap: 0.2rem 0.7rem;
}
.help-structure p {
  margin: 0.1rem 0 0.45rem;
}
.field-help > p[id$='-help'] {
  display: none;
}
.guided-mode .fields {
  display: block;
}
.guided-mode .field {
  margin-bottom: 1.25rem;
}
.eli5-compare,
.process-family-grid,
.candidate-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 1.25rem 0;
}
.process-family-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.eli5-compare > div,
.process-family-grid > div,
.candidate-cards > div {
  border: 1px solid var(--line, #d8d8d8);
  border-radius: 10px;
  padding: 1rem;
  background: #fafbf9;
}
.process-family-grid strong,
.candidate-cards strong {
  display: block;
  letter-spacing: 0.05em;
}
.lifecycle-visual {
  padding: 1rem;
  border-radius: 10px;
  background: #eef3f0;
  font-weight: 700;
  text-align: center;
  word-spacing: 0.3rem;
  margin-top: 1rem;
}
@media (max-width: 700px) {
  .help-structure {
    grid-template-columns: 1fr;
  }
  .process-family-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .eli5-compare,
  .candidate-cards {
    grid-template-columns: 1fr;
  }
}
.beginner-summary {
  padding: 1.25rem 1.4rem;
  margin: 1rem 0 1.5rem;
  background: #f7faf8;
  border-left: 4px solid #557565;
  border-radius: 6px;
}
.beginner-summary h2 {
  margin-top: 0;
}
.inline-help {
  margin-top: 0.75rem;
}
.inline-help summary {
  cursor: pointer;
  color: var(--blue);
}
.simple-comparison {
  padding: 1.25rem;
  background: #fbfcfb;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.simple-comparison .table-wrap {
  margin-top: 1rem;
}
.simple-comparison button {
  margin: 0.4rem 0;
}
.simple-comparison td,
.simple-comparison th {
  vertical-align: top;
}
.simple-comparison tbody tr[hidden] {
  display: none;
}
/* Decision-tool expansion: keep the established restrained industrial system. */
.tool-hero {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 2rem;
  align-items: start;
  margin: 1rem 0 2rem;
}
.tool-hero .tool-summary {
  background: #f7faf8;
  border: 1px solid var(--line, #d8d8d8);
  border-radius: 10px;
  padding: 1.25rem;
}
.tool-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.tool-card {
  border: 1px solid var(--line, #d8d8d8);
  border-radius: 10px;
  padding: 1.2rem;
  background: white;
  display: flex;
  flex-direction: column;
}
.tool-card p {
  color: var(--muted);
  flex: 1;
}
.tool-form {
  max-width: 860px;
}
.question-block {
  border: 0;
  border-bottom: 1px solid var(--line, #d8d8d8);
  padding: 1.1rem 0;
  margin: 0;
}
.question-block legend {
  padding: 0;
  margin-bottom: 0.6rem;
  font-size: 1.05rem;
}
.question-block .choice {
  max-width: 720px;
}
.tool-result {
  margin: 2rem 0;
  padding: 1.4rem;
  border: 1px solid var(--line, #d8d8d8);
  border-radius: 10px;
  background: white;
  outline: none;
}
.tool-result.positive {
  border-left: 5px solid #2d6a4f;
}
.tool-result.neutral {
  border-left: 5px solid #557565;
}
.tool-result.caution {
  border-left: 5px solid #9a6a18;
}
.score-line {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  background: #f5f7f6;
  border-radius: 8px;
  margin: 1rem 0;
}
.finder-results {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 1rem 0;
}
.finder-card {
  border: 1px solid var(--line, #d8d8d8);
  border-radius: 10px;
  padding: 1rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-direction: column;
  background: #fff;
}
.process-plan {
  list-style: none;
  padding: 0;
  margin: 1rem 0;
}
.process-plan li {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 1rem;
  border-top: 1px solid var(--line, #d8d8d8);
  padding: 1rem 0;
}
.process-plan li > span {
  font:
    700 12px/1.5 ui-monospace,
    SFMono-Regular,
    monospace;
  color: var(--blue);
}
.process-plan h3,
.process-plan p {
  margin-bottom: 0.35rem;
}
.process-plan small {
  color: var(--muted);
}
.readiness-meter {
  height: 12px;
  border-radius: 8px;
  background: #dfe7e2;
  overflow: hidden;
  margin: 1rem 0;
}
.readiness-meter i {
  display: block;
  height: 100%;
  background: #557565;
}
.tool-output {
  width: 100%;
  min-height: 300px;
  padding: 1rem;
  border: 1px solid #9dafbd;
  border-radius: 6px;
  background: #fbfcfb;
  font:
    14px/1.5 ui-monospace,
    SFMono-Regular,
    monospace;
}
.standards-filter {
  display: flex;
  gap: 1rem;
  align-items: end;
  flex-wrap: wrap;
  margin: 1.2rem 0;
}
.standards-filter label {
  font-weight: 700;
}
.standards-filter select {
  display: block;
  margin-top: 0.4rem;
  padding: 0.75rem;
  border: 1px solid #9dafbd;
  border-radius: 4px;
  min-width: 260px;
}
.standard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.standard-card {
  border: 1px solid var(--line, #d8d8d8);
  border-radius: 10px;
  padding: 1.2rem;
  background: #fff;
}
.standard-card h2 {
  font-size: 1.4rem;
}
.standard-card .plain-answer {
  font-size: 1.05rem;
}
.tool-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.8rem;
  margin: 1.25rem 0;
}
.tool-strip a {
  border: 1px solid var(--line, #d8d8d8);
  border-radius: 8px;
  padding: 1rem;
  text-decoration: none;
  background: white;
  font-weight: 700;
}
.tool-strip span {
  display: block;
  font-weight: 400;
  color: var(--muted);
  font-size: 0.9rem;
  margin-top: 0.35rem;
}
.privacy-callout {
  background: #f5f7f6;
  border-left: 4px solid #557565;
  padding: 1rem;
  margin: 1rem 0;
}
.field-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.field-row.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.tool-form label:not(.choice) {
  display: block;
  font-weight: 700;
  margin-bottom: 0.35rem;
}
.tool-form input,
.tool-form select,
.tool-form textarea {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #9dafbd;
  border-radius: 4px;
  background: white;
}
.tool-form textarea {
  min-height: 110px;
}
.field-group {
  margin: 1rem 0;
}
.source-list a {
  overflow-wrap: anywhere;
}
@media (max-width: 900px) {
  .tool-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tool-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tool-hero {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 650px) {
  .tool-grid,
  .finder-results,
  .standard-grid,
  .field-row,
  .field-row.three,
  .tool-strip {
    grid-template-columns: 1fr;
  }
  .score-line {
    align-items: flex-start;
    flex-direction: column;
  }
  .standards-filter select {
    min-width: 0;
    width: 100%;
  }
}
/* Final educational visuals and decision-orientation polish. */
.edu-icon {
  width: 100%;
  max-width: 180px;
  height: auto;
  margin: 0 auto 0.7rem;
  display: block;
  fill: none;
  stroke: #294a5e;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.edu-icon .beam {
  stroke: #4f7892;
  stroke-width: 4;
}
.edu-icon .cut {
  stroke: #9a6a18;
}
.edu-icon .hot {
  fill: #9a6a18;
  stroke: #9a6a18;
}
.visual-card {
  text-align: left;
}
.visual-card strong {
  display: block;
  font-size: 1rem;
}
.visual-card p {
  margin: 0.45rem 0 0;
}
.visual-compare .visual-card,
.visual-process-grid .visual-card {
  display: flex;
  flex-direction: column;
}
.candidate-cards .edu-icon {
  max-width: 150px;
  margin: 0 0 0.6rem;
}
.lifecycle-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  flex-wrap: wrap;
}
.lifecycle-visual span {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0.55rem 0.8rem;
}
.lifecycle-visual b {
  display: grid;
  place-items: center;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 50%;
  background: #294a5e;
  color: #fff;
  font-size: 0.75rem;
}
.lifecycle-visual i {
  font-style: normal;
  color: var(--muted);
}
.buy-checklist {
  margin: 1.5rem 0 2rem;
  padding: 1.35rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f7faf8;
}
.buy-checklist h2 {
  font-size: 1.55rem;
  margin: 0.25rem 0 1rem;
}
.check-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
}
.check-grid > div {
  display: flex;
  gap: 0.55rem;
  align-items: flex-start;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0.75rem;
}
.check-grid span {
  font-weight: 800;
  color: #2d6a4f;
}
.journey-strip {
  margin: 1.3rem 0 2rem;
  padding: 1.1rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fbfcfb;
}
.journey-strip > div {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.55rem;
}
.journey-strip a {
  text-decoration: none;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0.8rem;
  background: #fff;
  display: flex;
  gap: 0.55rem;
  align-items: center;
  font-weight: 700;
}
.journey-strip b {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 50%;
  background: #294a5e;
  color: #fff;
  font-size: 0.75rem;
}
.spec-limits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
}
.spec-limits > div {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 1rem;
  background: #fbfcfb;
}
.spec-limits strong,
.spec-limits span {
  display: block;
}
.spec-limits span {
  margin-top: 0.35rem;
  color: var(--muted);
}
.build-volume-visual {
  margin: 1.2rem 0;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f7faf8;
}
.build-volume-visual > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.2rem;
}
.build-box-item {
  text-align: center;
}
.build-box-stage {
  height: 175px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin: 0.5rem 0;
}
.build-box-stage i {
  display: block;
  border: 3px solid #294a5e;
  background: rgba(41, 74, 94, 0.08);
  box-shadow: inset -8px -8px 0 rgba(41, 74, 94, 0.05);
}
.build-box-item span {
  display: block;
  font-size: 0.9rem;
  color: var(--muted);
}
@media (max-width: 800px) {
  .check-grid,
  .spec-limits {
    grid-template-columns: 1fr 1fr;
  }
  .journey-strip > div {
    grid-template-columns: 1fr 1fr;
  }
  .build-volume-visual > div {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 560px) {
  .check-grid,
  .spec-limits,
  .journey-strip > div,
  .build-volume-visual > div {
    grid-template-columns: 1fr;
  }
  .build-box-stage {
    height: 155px;
  }
}
/* Final educational visuals and decision-orientation polish. */
.edu-icon {
  width: 100%;
  max-width: 180px;
  height: auto;
  margin: 0 auto 0.7rem;
  display: block;
  fill: none;
  stroke: #294a5e;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.edu-icon .beam {
  stroke: #4f7892;
  stroke-width: 4;
}
.edu-icon .cut {
  stroke: #9a6a18;
}
.edu-icon .hot {
  fill: #9a6a18;
  stroke: #9a6a18;
}
.visual-card {
  text-align: left;
}
.visual-card strong {
  display: block;
  font-size: 1rem;
}
.visual-card p {
  margin: 0.45rem 0 0;
}
.visual-compare .visual-card,
.visual-process-grid .visual-card {
  display: flex;
  flex-direction: column;
}
.candidate-cards .edu-icon {
  max-width: 150px;
  margin: 0 0 0.6rem;
}
.lifecycle-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  flex-wrap: wrap;
}
.lifecycle-visual span {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0.55rem 0.8rem;
}
.lifecycle-visual b {
  display: grid;
  place-items: center;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 50%;
  background: #294a5e;
  color: #fff;
  font-size: 0.75rem;
}
.lifecycle-visual i {
  font-style: normal;
  color: var(--muted);
}
.buy-checklist {
  margin: 1.5rem 0 2rem;
  padding: 1.35rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f7faf8;
}
.buy-checklist h2 {
  font-size: 1.55rem;
  margin: 0.25rem 0 1rem;
}
.check-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
}
.check-grid > div {
  display: flex;
  gap: 0.55rem;
  align-items: flex-start;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0.75rem;
}
.check-grid span {
  font-weight: 800;
  color: #2d6a4f;
}
.journey-strip {
  margin: 1.3rem 0 2rem;
  padding: 1.1rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fbfcfb;
}
.journey-strip > div {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.55rem;
}
.journey-strip a {
  text-decoration: none;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0.8rem;
  background: #fff;
  display: flex;
  gap: 0.55rem;
  align-items: center;
  font-weight: 700;
}
.journey-strip b {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 50%;
  background: #294a5e;
  color: #fff;
  font-size: 0.75rem;
}
.spec-limits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
}
.spec-limits > div {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 1rem;
  background: #fbfcfb;
}
.spec-limits strong,
.spec-limits span {
  display: block;
}
.spec-limits span {
  margin-top: 0.35rem;
  color: var(--muted);
}
.build-volume-visual {
  margin: 1.2rem 0;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f7faf8;
}
.build-volume-visual > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.2rem;
}
.build-box-item {
  text-align: center;
}
.build-box-stage {
  height: 175px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin: 0.5rem 0;
}
.build-box-stage i {
  display: block;
  border: 3px solid #294a5e;
  background: rgba(41, 74, 94, 0.08);
  box-shadow: inset -8px -8px 0 rgba(41, 74, 94, 0.05);
}
.build-box-item span {
  display: block;
  font-size: 0.9rem;
  color: var(--muted);
}
@media (max-width: 800px) {
  .check-grid,
  .spec-limits {
    grid-template-columns: 1fr 1fr;
  }
  .journey-strip > div {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 560px) {
  .check-grid,
  .spec-limits,
  .journey-strip > div,
  .build-volume-visual > div {
    grid-template-columns: 1fr;
  }
  .build-box-stage {
    height: 155px;
  }
}

/* Final release: restore missing component layout and native control contrast. */
.mode-button {
  color: var(--ink);
  min-height: 44px;
}
.help-button {
  color: var(--blue);
  min-width: 44px;
  min-height: 44px;
  font-size: 1rem;
  flex-shrink: 0;
}
.field label .help-button {
  margin-left: 0.3rem;
}
.field-help {
  max-width: 100%;
  overflow-wrap: anywhere;
}
.field-help > summary {
  min-height: 44px;
}
.field-help .help-structure {
  padding: 1rem;
  border-left: 3px solid var(--blue);
  background: #edf3f6;
}
.help-structure strong {
  display: block;
  margin-top: 0.5rem;
}
.glance-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  margin: 1.5rem 0;
}
.glance-grid > div {
  border-top: 1px solid var(--line);
  padding-top: 1rem;
}
.glance-grid strong,
.glance-grid b,
.glance-grid span {
  display: block;
}
.glance-grid strong {
  font-size: 0.875rem;
  color: var(--muted);
  margin-bottom: 0.6rem;
}
.glance-grid b {
  font-size: 1.1rem;
  line-height: 1.5;
}
.glance-grid span {
  margin-top: 0.6rem;
  color: var(--muted);
  line-height: 1.6;
  font-size: 0.95rem;
}
.machine-status {
  font-size: 0.875rem;
  color: #705315;
  line-height: 1.5;
}
.machine-source-notes {
  margin: 1.5rem 0;
}
.machine-source-notes summary {
  min-height: 44px;
}
.directory-list .card-link {
  display: inline-flex;
  min-height: 44px;
  margin-right: 1rem;
  align-items: center;
}
.build-box-item svg {
  width: 180px;
  height: 180px;
  display: block;
  margin: auto;
}
.comparison-overview {
  border-left: 3px solid var(--blue);
  padding: 1rem 1.5rem;
  margin: 1.5rem 0 2rem;
  background: #eaf0f4;
}
.comparison-overview h2 {
  font-size: 1.6rem;
}
.comparison-overview li {
  margin: 0.5rem 0;
}
.simple-comparison .same-fact {
  color: var(--muted);
  background: #f4f7f9;
}
.simple-comparison table {
  min-width: 600px;
}
.simple-comparison tbody th {
  width: 20%;
}
.simple-comparison td {
  width: 40%;
}
.hero .beginner-path {
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  padding: 1rem 0 0;
  margin-top: 1.5rem;
}
.journey-strip > div {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.readiness-meter {
  display: block;
  width: 100%;
  height: 24px;
}
.glance-grid,
.finder-card,
.tool-summary {
  overflow-wrap: anywhere;
}
@media (max-width: 760px) {
  .glance-grid {
    grid-template-columns: 1fr;
  }
  .comparison-overview {
    padding: 1rem;
  }
  .build-volume-visual > div {
    gap: 1rem;
  }
  .build-box-item svg {
    width: 120px;
    height: 120px;
  }
  .simple-comparison {
    padding: 0.75rem;
  }
  .simple-comparison .table-wrap:before {
    content: 'Scroll sideways to compare both machines →';
    display: block;
    padding: 0.75rem;
    font-size: 0.875rem;
    color: var(--muted);
  }
  .journey-strip > div {
    grid-template-columns: 1fr;
  }
  .hero .beginner-path {
    margin-bottom: 1rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.help-button {
  display: inline-grid;
}
.field-help .help-structure {
  display: block;
}
.help-structure .unknown-note {
  margin-top: 1rem;
}
.tool-form .choice input {
  width: 20px;
  height: 20px;
  vertical-align: middle;
  margin-right: 0.5rem;
}
.tool-result:focus {
  outline: 3px solid #c78122;
  outline-offset: 4px;
}

.field-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  gap: 0.75rem;
  align-items: start;
}
.field-heading label {
  display: block;
  min-width: 0;
}
.field-heading label > span {
  display: block;
  width: max-content;
  max-width: 100%;
  white-space: normal;
  margin: 0.3rem 0;
}
.js-help .field-help > summary {
  display: none;
}
.field-heading .help-button {
  margin: 0;
}
.build-volume-visual .build-box-item {
  min-width: 0;
}

/* === visual.css === */
/* Final visual pass: presentation only; no remote fonts or animation dependency. */
:root { --industrial:#17232c; }
table,.metric,.result-tile,.decision-row,.glance-grid,.directory-list,.composition-row { font-variant-numeric:tabular-nums; }
.hero { background:var(--industrial); color:#f5f9fc; padding:48px; gap:44px; border-radius:8px; margin-top:30px; align-items:center; }
.hero h1 { color:#fff; font-size:clamp(2.45rem,5vw,4.65rem); letter-spacing:-.055em; }
.hero h1 span,.hero .eyebrow,.hero a:not(.button) { color:#96d1f3; }
.hero .lead,.hero .small { color:#d4e1e9; }
.hero .button { background:#f4f9fc; color:#12374e; border-color:#f4f9fc; }
.hero .beginner-path { border-color:#365062; }
.hero-photo { margin:0; min-width:0; align-self:stretch; display:flex; flex-direction:column; }
.hero-photo img { display:block; width:100%; height:450px; object-fit:cover; object-position:center 66%; border-radius:4px; }
.hero-photo figcaption { padding:14px 0 0; color:#d4e1e9; font-size:.78rem; line-height:1.55; }
.hero-photo figcaption strong { display:block; color:white; font-size:.9rem; }
.directory-list .card { border-top:3px solid #196a98; background:#fff; padding:24px; }
.directory-list .card h3 { letter-spacing:-.03em; font-size:1.55rem; }
.directory-list .machine-status,.machine-status { color:#536476; font-size:.82rem; border-left:2px solid #aebfcb; padding-left:9px; }
.machine-at-glance .glance-grid { background:#fff; padding:22px; border:1px solid #d6e0e8; border-radius:5px; }
.glance-grid strong { font-variant-numeric:tabular-nums; }
.content-page:has(>.eyebrow + h1) > h1 { letter-spacing:-.045em; }
.material-page > h1 { border-left:5px solid #5b7789; padding-left:20px; }
.finder-card { border-top:3px solid #196a98; }
.match-reason { background:#edf4f8; padding:12px 14px; border-radius:3px; }
.result-tile:first-child,.result-tile:nth-child(2) { border-top:3px solid #196eaa; }
.result-tile:nth-child(2) { border-top-color:#985517; }
.decision-charts { margin:36px 0; padding:30px; border:1px solid #cad8e2; border-top:4px solid #196eaa; border-radius:6px; background:white; }
.chart-heading { display:flex; align-items:start; justify-content:space-between; gap:20px; }
.chart-heading h2 { font-size:clamp(1.5rem,2.7vw,2.1rem); margin-bottom:14px; }
.chart-code { flex-shrink:0; padding:6px 9px; background:#eef4f8; color:#314f62; font-size:.8rem; font-weight:650; }
.chart-legend { display:flex; gap:26px; font-weight:650; }
.chart-legend span { display:flex; align-items:center; gap:8px; }
.chart-legend i { display:inline-block; width:25px; border-top:3px solid #196eaa; }
.chart-legend .out-key { border-color:#985517; border-top-style:dashed; }
.cash-chart { width:100%; height:auto; display:block; margin:12px 0; overflow:visible; }
.cash-chart.mobile-chart { display:none; }
.cash-chart text { font:13px system-ui,sans-serif; fill:#405b6c; font-variant-numeric:tabular-nums; }
.crossing-note { border-left:3px solid #8ca5b6; padding:10px 14px; background:#f2f6f8; }
.composition { margin-top:30px; border-top:1px solid #d6e0e8; padding-top:24px; }
.composition-row { display:grid; grid-template-columns:140px 1fr minmax(120px,auto); gap:16px; align-items:center; padding:10px 0; border-bottom:1px solid #edf1f4; }
.composition-row meter { width:100%; height:14px; accent-color:#196eaa; }
.composition-row meter::-webkit-meter-optimum-value { background:#196eaa; }
.composition-row meter::-moz-meter-bar { background:#196eaa; }
.composition-row strong { text-align:right; font-size:.9rem; }
.card,.finder-card,.comparison-feature,.button { transition:box-shadow .16s ease,border-color .16s ease; }
@media (hover:hover) { .directory-list .card:hover,.comparison-feature:hover { border-color:#7ca1b7; box-shadow:0 5px 18px #1234480c; } }
@media (max-width:900px) { .hero { padding:28px; gap:26px; } .hero-photo img { height:340px; } .chart-heading { flex-direction:column; gap:0; } }
@media (max-width:600px) { .hero { padding:24px 20px; margin-top:16px; gap:24px; } .hero h1 { font-size:2.7rem; } .hero-photo img { height:240px; object-position:center 65%; } .hero-photo figcaption { font-size:.75rem; } .decision-charts { padding:18px 12px; } .cash-chart text { font-size:16px; } .composition-row { grid-template-columns:1fr auto; gap:6px 10px; } .composition-row meter { grid-row:2; grid-column:1/-1; } .machine-at-glance .glance-grid { padding:16px; } }
@media (prefers-reduced-motion:reduce) { .card,.finder-card,.comparison-feature,.button { transition:none; } }
@media (max-width:600px) { .cash-chart.desktop-chart { display:none; } .cash-chart.mobile-chart { display:block; } .cash-chart text { font-size:15px; } }
.material-page .beginner-summary { background:#e8eef1; border-top:3px solid #738b9a; padding:24px; border-radius:4px; }
.material-page .beginner-summary h2 { letter-spacing:-.035em; }
.compare-intent h2 { font-size:1.25rem; margin:.2rem 0; letter-spacing:normal; }
/* Reserve the mobile header before its module runs, avoiding a collapsing nav. */
@media (max-width:760px) and (scripting:enabled) {
  .menu-toggle[hidden] { display:block !important; }
  .menu-toggle[aria-expanded="false"] + #main-nav { display:none; }
}
/* Product surfaces: graphite frames the decision; evidence retains light paper. */
.decision-charts { background:var(--industrial); color:#e2ebf1; border-color:#354a59; border-top-color:#82c7ee; }
.decision-charts h2,.decision-charts h3,.decision-charts strong { color:#f6fafc; }
.decision-charts .eyebrow { color:#a5d4ef; }
.decision-charts .chart-code { background:#304450; color:#e3f0f8; }
.decision-charts .cash-chart text { fill:#d1e1ec; }
.decision-charts .cash-chart line { stroke:#425763; }
.decision-charts .cash-chart polyline:first-of-type { stroke:#8ccff5; }
.decision-charts .cash-chart polyline:nth-of-type(2) { stroke:#f3bd7f; }
.decision-charts .cash-chart circle:nth-of-type(odd) { fill:#8ccff5; }
.decision-charts .cash-chart circle:nth-of-type(even) { fill:#f3bd7f; }
.decision-charts .cash-chart rect { fill:#304653; }
.decision-charts .buy-key { border-color:#8ccff5; }
.decision-charts .out-key { border-color:#f3bd7f; }
.decision-charts .crossing-note { background:#263944; border-color:#8eb9d2; }
.decision-charts > details { background:#f6f9fb; color:#183447; }
.decision-charts .composition { border-color:#425763; }
.decision-charts .composition-row { border-color:#354b59; }
.decision-charts .composition-row meter::-webkit-meter-optimum-value { background:#8ccff5; }
.decision-charts .composition-row meter::-moz-meter-bar { background:#8ccff5; }
.content-page:has(#machine-finder-form) .tool-summary { background:var(--industrial); color:#dbe8f0; border:0; border-top:3px solid #82c7ee; }
.content-page:has(#machine-finder-form) .tool-summary strong { color:white; }
.simple-comparison > h2 { background:var(--industrial); color:#f5f9fc; padding:22px 24px; margin:-1px -1px 20px; border-radius:5px 5px 0 0; }
.example-band { background:var(--industrial); color:#dbe8f0; }
.example-band > div:first-child h2 { color:white; }
.example-band > div:first-child .eyebrow { color:#a5d4ef; }
.example-band .sample-result { color:#17384c; }
.outcome-grid { gap:0; border-bottom:1px solid #cad8e2; }
.outcome-grid article { padding:24px; border-top:1px solid #cad8e2; border-right:1px solid #cad8e2; }
.outcome-grid article:first-child { padding-left:0; }
.outcome-grid article:last-child { border-right:0; }
@media(max-width:760px) { .outcome-grid article,.outcome-grid article:first-child { padding:22px 0; border-right:0; } }

/* === brand.css === */
/* Brand boundary only: header, footer, vector identity and one hero motif. */
html { scroll-padding-top:100px; }
.platform-header { position:sticky; top:0; z-index:40; background:#17232c; border-bottom:1px solid #425761; }
.platform-header .top { min-height:80px; padding:18px 28px; gap:20px; }
.platform-header .brand,.platform-footer .brand { display:inline-flex; align-items:center; gap:11px; color:#f4f9fc; text-decoration:none; white-space:nowrap; }
.brand-mark { display:block; flex:none; color:#8ecff4; }
.platform-header .brand-name,.platform-footer .brand-name { color:#f4f9fc; }
.platform-header .brand-name > span,.platform-footer .brand-name > span { color:#8ecff4; }
.platform-header #main-nav { gap:22px; }
.platform-header #main-nav a { color:#dbe7ef; font-size:14px; }
.platform-header #main-nav a[aria-current="page"] { color:#fff; text-decoration-color:#8ecff4; }
.platform-header #main-nav a:hover { color:#fff; }
.platform-header a:focus-visible,.platform-header button:focus-visible,.platform-footer a:focus-visible { outline:3px solid #f0bf80; outline-offset:4px; }
.platform-header .menu-toggle { background:transparent; color:#f5f9fc; border-color:#6b8393; }
.platform-header .brand { font-size:21px; }
.platform-header .brand-name { letter-spacing:-.8px; }
.platform-footer { background:#17232c; color:#dce7ed; border-top:1px solid #425761; padding:0; }
.platform-footer-inner { max-width:1280px; margin:auto; padding:48px 36px 28px; display:grid; grid-template-columns:1.1fr 1.6fr; gap:48px; }
.footer-identity .brand { font-size:23px; }
.footer-identity p { max-width:330px; font-size:14px; line-height:1.65; }
.footer-identity .footer-principle { font-size:16px; color:white; font-weight:650; margin-top:26px; }
.platform-footer a { color:#b1ddf5; font-size:14px; }
.platform-footer nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:24px; }
.platform-footer nav h2 { font-size:14px; color:#fff; letter-spacing:0; margin:2px 0 16px; }
.platform-footer nav a { display:flex; align-items:center; min-height:44px; width:fit-content; text-decoration:none; }
.platform-footer nav a:hover { text-decoration:underline; }
.footer-signature { grid-column:1/-1; border-top:1px solid #425761; padding-top:24px; display:flex; justify-content:space-between; align-items:baseline; gap:20px; }
.footer-signature > span { color:#f1f7fb; font-size:clamp(24px,3.7vw,46px); font-weight:750; letter-spacing:-1.5px; }
.footer-signature > span > span { color:#8ecff4; }
.footer-signature p { margin:0; font-size:14px; color:#c4d5df; }
.hero-photo figcaption { position:relative; }
.build-front-motif { position:absolute; right:0; bottom:calc(100% + 12px); color:#f4f9fc; width:100px; height:25px; filter:drop-shadow(0 1px 1px #17232c); pointer-events:none; }
@media(max-width:900px) {
  .platform-header .top { min-height:77px; padding:16px 20px; flex-wrap:wrap; gap:12px; justify-content:space-between; }
  .platform-header .brand { font-size:20px; gap:8px; }
  .platform-header .brand-mark { width:28px; height:28px; }
  .platform-header .menu-toggle { min-height:44px; padding:9px 14px; }
  .platform-header #main-nav { width:100%; flex-direction:column; align-items:stretch; gap:0; padding-top:8px; max-height:calc(100dvh - 96px); overflow:auto; }
  .platform-header #main-nav a { min-height:46px; padding:10px 4px; border-top:1px solid #354a58; }
  .platform-footer-inner { grid-template-columns:1fr; gap:32px; padding:36px 24px 24px; }
}
@media(max-width:900px) and (scripting:enabled) {
  .platform-header .menu-toggle[hidden] { display:block !important; }
  .platform-header .menu-toggle[aria-expanded="false"] + #main-nav { display:none; }
}
@media(max-width:360px) {
  .platform-header .top { padding:16px; gap:8px; }
  .platform-header .brand { font-size:17px; gap:6px; }
  .platform-header .brand-mark { width:26px; height:26px; }
  .platform-header .menu-toggle { padding:9px 10px; }
  .footer-identity .brand { font-size:19px; }
}
@media(max-width:600px) {
  .platform-footer nav { grid-template-columns:1fr 1fr; gap:24px 18px; }
  .footer-signature { display:block; }
  .footer-signature p { margin-top:10px; }
}
@media(max-height:420px) { .platform-header { position:relative; } }
@media print { .platform-header { position:static; } }

/* === experimental-surfaces.css === */
/* Generated inherited-surface palette. See scripts/experimental-surfaces.mjs. */
button,.button{color:#d2dfd5}
button.secondary,.button.secondary{background:#1b281f}
.skip{background:#1b281f}
header{background:#1b281f}
.console{color:#d2dfd5}
.console p{color:#d2dfd5}
.decision-row{border-top:1px solid #536c5b}
.decision-row span{color:#d2dfd5}
.card{background:#1b281f}
.badge{border:1px solid #536c5b;color:#d2dfd5;background:#1b281f}
.badge.warn{background:#1b281f;color:#d2dfd5;border-color:#536c5b}
.table-wrap{background:#1b281f}
th{background:#1b281f}
.note{background:#1b281f}
.note.warning{background:#1b281f;border-color:#536c5b}
footer{background:#1b281f}
.field input,.field select{border:1px solid #536c5b;background:#1b281f}
fieldset{background:#1b281f}
details{background:#1b281f}
.error{color:#d2dfd5}
.error-list{border:2px solid #536c5b;background:#1b281f}
.bar{background:#1b281f}
.search{border:1px solid #536c5b}
pre{background:#1b281f}
.console{background:#1b281f;color:#d2dfd5;border:1px solid #536c5b}
.console p,.result-value,.console .eyebrow{color:#d2dfd5}
a{color:#d2dfd5}
.currency-setting{background:#1b281f}
.currency-setting select{border:1px solid #536c5b;background:#1b281f}
.field-example{color:#d2dfd5}
.required-mark,
.optional-mark{color:#d2dfd5}
.required-mark{color:#d2dfd5}
.confidence-panel{background:#1b281f;border-left:3px solid #536c5b;color:#d2dfd5}
button:hover,
.button:hover{background:#1b281f}
button.secondary:hover,
.button.secondary:hover{background:#1b281f}
.decision-preview{background:#1b281f}
.example-band{background:#1b281f}
.sample-result{background:#1b281f}
.comparison-feature{background:#1b281f}
.final-cta{color:#d2dfd5}
.final-cta .button{background:#1b281f;border-color:#536c5b}
thead th{background:#1b281f}
.badge.warn{color:#d2dfd5}
.note{background:#1b281f;border-left:3px solid #536c5b;color:#d2dfd5}
.note.warning{background:#1b281f;border-color:#536c5b;color:#d2dfd5}
.scenario-status{background:#1b281f;color:#d2dfd5}
.step-nav button span{border:1px solid #536c5b}
.step-nav button[aria-current] span{color:#d2dfd5}
.calc-step{background:#1b281f}
.field input,
.field select{border-color:#536c5b}
.field input[readonly]{background:#1b281f}
.error{color:#d2dfd5}
[aria-invalid='true']{border:2px solid #536c5b !important}
.error-list{border:2px solid #536c5b;background:#1b281f}
.error-list h3,
.error-list a{color:#d2dfd5}
.advanced{background:#1b281f}
.missing-count{color:#d2dfd5}
.console ul{color:#d2dfd5}
.console .decision-row strong{color:#d2dfd5}
.result-tile{background:#1b281f}
.driver-list li{background:#1b281f;border-left:3px solid #536c5b}
.audit-details{background:#1b281f}
.calculator-mode{border:1px solid var(--line, #536c5b);background:var(--paper, #1b281f)}
.mode-button[aria-pressed='true']{background:var(--ink, #1b281f);color:#d2dfd5}
.beginner-note{background:#1b281f;border-left:3px solid #536c5b}
.beginner-path{border:1px solid var(--line, #536c5b)}
.confidence-panel{border:1px solid var(--line, #536c5b);background:#1b281f}
.compare-intent{border-bottom:1px solid var(--line, #536c5b)}
.choice{border:1px solid var(--line, #536c5b)}
.choice:has(input:checked){background:#1b281f}
.quote-intent{background:#1b281f}
.required-mark{background:#1b281f;color:#d2dfd5}
.optional-mark{background:#1b281f;color:#d2dfd5}
.unknown-note{border-top:1px solid #536c5b}
.eli5-compare > div,
.process-family-grid > div,
.candidate-cards > div{border:1px solid var(--line, #536c5b);background:#1b281f}
.lifecycle-visual{background:#1b281f}
.beginner-summary{background:#1b281f;border-left:4px solid #536c5b}
.simple-comparison{background:#1b281f}
.tool-hero .tool-summary{background:#1b281f;border:1px solid var(--line, #536c5b)}
.tool-card{border:1px solid var(--line, #536c5b);background:#1b281f}
.question-block{border-bottom:1px solid var(--line, #536c5b)}
.tool-result{border:1px solid var(--line, #536c5b);background:#1b281f}
.tool-result.positive{border-left:5px solid #536c5b}
.tool-result.neutral{border-left:5px solid #536c5b}
.tool-result.caution{border-left:5px solid #536c5b}
.score-line{background:#1b281f}
.finder-card{border:1px solid var(--line, #536c5b);background:#1b281f}
.process-plan li{border-top:1px solid var(--line, #536c5b)}
.readiness-meter{background:#1b281f}
.readiness-meter i{background:#1b281f}
.tool-output{border:1px solid #536c5b;background:#1b281f}
.standards-filter select{border:1px solid #536c5b}
.standard-card{border:1px solid var(--line, #536c5b);background:#1b281f}
.tool-strip a{border:1px solid var(--line, #536c5b);background:#1b281f}
.privacy-callout{background:#1b281f;border-left:4px solid #536c5b}
.tool-form input,
.tool-form select,
.tool-form textarea{border:1px solid #536c5b;background:#1b281f}
.lifecycle-visual span{background:#1b281f}
.lifecycle-visual b{background:#1b281f;color:#d2dfd5}
.buy-checklist{background:#1b281f}
.check-grid > div{background:#1b281f}
.check-grid span{color:#d2dfd5}
.journey-strip{background:#1b281f}
.journey-strip a{background:#1b281f}
.journey-strip b{background:#1b281f;color:#d2dfd5}
.spec-limits > div{background:#1b281f}
.build-volume-visual{background:#1b281f}
.build-box-stage i{border:3px solid #536c5b}
.lifecycle-visual span{background:#1b281f}
.lifecycle-visual b{background:#1b281f;color:#d2dfd5}
.buy-checklist{background:#1b281f}
.check-grid > div{background:#1b281f}
.check-grid span{color:#d2dfd5}
.journey-strip{background:#1b281f}
.journey-strip a{background:#1b281f}
.journey-strip b{background:#1b281f;color:#d2dfd5}
.spec-limits > div{background:#1b281f}
.build-volume-visual{background:#1b281f}
.build-box-stage i{border:3px solid #536c5b}
.field-help .help-structure{background:#1b281f}
.machine-status{color:#d2dfd5}
.comparison-overview{background:#1b281f}
.simple-comparison .same-fact{background:#1b281f}
.hero{color:#d2dfd5}
.hero h1{color:#d2dfd5}
.hero h1 span,.hero .eyebrow,.hero a:not(.button){color:#d2dfd5}
.hero .lead,.hero .small{color:#d2dfd5}
.hero .button{background:#1b281f;color:#d2dfd5;border-color:#536c5b}
.hero .beginner-path{border-color:#536c5b}
.hero-photo figcaption{color:#d2dfd5}
.hero-photo figcaption strong{color:#d2dfd5}
.directory-list .card{border-top:3px solid #536c5b;background:#1b281f}
.directory-list .machine-status,.machine-status{color:#d2dfd5;border-left:2px solid #536c5b}
.machine-at-glance .glance-grid{background:#1b281f;border:1px solid #536c5b}
.material-page > h1{border-left:5px solid #536c5b}
.finder-card{border-top:3px solid #536c5b}
.match-reason{background:#1b281f}
.result-tile:first-child,.result-tile:nth-child(2){border-top:3px solid #536c5b}
.result-tile:nth-child(2){border-top-color:#536c5b}
.decision-charts{border:1px solid #536c5b;border-top:4px solid #536c5b;background:#1b281f}
.chart-code{background:#1b281f;color:#d2dfd5}
.chart-legend i{border-top:3px solid #536c5b}
.chart-legend .out-key{border-color:#536c5b}
.crossing-note{border-left:3px solid #536c5b;background:#1b281f}
.composition{border-top:1px solid #536c5b}
.composition-row{border-bottom:1px solid #536c5b}
.composition-row meter::-webkit-meter-optimum-value{background:#1b281f}
.composition-row meter::-moz-meter-bar{background:#1b281f}
.directory-list .card:hover,.comparison-feature:hover{border-color:#536c5b}
.material-page .beginner-summary{background:#1b281f;border-top:3px solid #536c5b}
.decision-charts{color:#d2dfd5;border-color:#536c5b;border-top-color:#536c5b}
.decision-charts h2,.decision-charts h3,.decision-charts strong{color:#d2dfd5}
.decision-charts .eyebrow{color:#d2dfd5}
.decision-charts .chart-code{background:#1b281f;color:#d2dfd5}
.decision-charts .buy-key{border-color:#536c5b}
.decision-charts .out-key{border-color:#536c5b}
.decision-charts .crossing-note{background:#1b281f;border-color:#536c5b}
.decision-charts > details{background:#1b281f;color:#d2dfd5}
.decision-charts .composition{border-color:#536c5b}
.decision-charts .composition-row{border-color:#536c5b}
.decision-charts .composition-row meter::-webkit-meter-optimum-value{background:#1b281f}
.decision-charts .composition-row meter::-moz-meter-bar{background:#1b281f}
.content-page:has(#machine-finder-form) .tool-summary{color:#d2dfd5;border-top:3px solid #536c5b}
.content-page:has(#machine-finder-form) .tool-summary strong{color:#d2dfd5}
.simple-comparison > h2{color:#d2dfd5}
.example-band{color:#d2dfd5}
.example-band > div:first-child h2{color:#d2dfd5}
.example-band > div:first-child .eyebrow{color:#d2dfd5}
.example-band .sample-result{color:#d2dfd5}
.outcome-grid{border-bottom:1px solid #536c5b}
.outcome-grid article{border-top:1px solid #536c5b;border-right:1px solid #536c5b}

/* === experimental.css === */
@font-face{font-family:Plex;src:url('/fonts/plex-sans.woff2') format('woff2');font-weight:400;font-display:optional}
@font-face{font-family:Plex;src:url('/fonts/plex-semibold.woff2') format('woff2');font-weight:600 900;font-display:optional}
@font-face{font-family:'Plex Display';src:url('/fonts/plex-display.woff2') format('woff2');font-weight:600 900;font-display:optional}
@font-face{font-family:'Plex Mono';src:url('/fonts/plex-mono.woff2') format('woff2');font-weight:400 900;font-display:optional}
:root{--ink:#e7ede9;--muted:#afbab3;--line:#3c4b42;--paper:#111713;--blue:#a4ceb4;--deep:#0d130f;--industrial:#111b15;--accent:#a4ceb4;--white:#1a231d;color-scheme:dark;background:var(--paper);color:var(--ink);font-family:Plex,'Helvetica Neue',Arial,sans-serif}
body{background:#111713;color:var(--ink)}h1,h2,h3{color:var(--ink);font-family:'Plex Display',Plex,sans-serif;font-weight:600;letter-spacing:-.035em}h1{font-size:clamp(38px,5.1vw,72px)}h2{font-size:clamp(29px,3.2vw,44px)}h3{font-size:24px}p{line-height:1.65}a{color:var(--blue)}.eyebrow,.index-number,.chart-code,.intelligence-metrics dd,.envelope-panel svg text{font-family:'Plex Mono',monospace;letter-spacing:.08em;font-weight:400}th,td,input,select,.result-value,.metric{font-variant-numeric:tabular-nums}button,input,select,textarea{font-family:Plex,sans-serif}
button,.button,.hero .button{background:#a4ceb4;color:#101a13;border-color:#a4ceb4}button.secondary,.button.secondary,.hero .button.secondary{background:#17231b;color:#dce9e0;border-color:#698274}button:hover,.button:hover{box-shadow:0 0 0 1px #a4ceb4}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.platform-header a:focus-visible,.platform-header button:focus-visible{outline:3px solid #d6eaba;outline-offset:4px}
.content-page button[type="submit"],.tool-form button[type="submit"]{background:#a4ceb4;color:#101a13;border-color:#a4ceb4}
.platform-header{background:#0d130f;border-color:#3c4b42}.platform-header .top{min-height:76px;padding-top:14px;padding-bottom:14px}.platform-header #main-nav{gap:18px}.platform-header #main-nav a{color:#c5d0c8}.platform-header #main-nav a[aria-current=page]{color:#b9ddc6;text-decoration:underline;text-decoration-color:#a4ceb4;text-underline-offset:9px}.brand-mark,.brand-name>span,.platform-header .brand-name>span,.platform-footer .brand-name>span,.footer-signature>span>span{color:#a4ceb4}.platform-header .brand-name,.platform-footer .brand-name{font-family:Plex,sans-serif;font-weight:600}
.platform-footer{background:#0b110d;color:#bdc9c0;border-color:#35483b}.platform-footer a{color:#acd1b9}.platform-footer nav h2{font-family:Plex,sans-serif}.footer-signature{border-color:#35483b}.footer-signature>span{font-family:'Plex Display',sans-serif;font-weight:600}.footer-signature p{color:#bac7bf}
.intelligence-hero{border-radius:0;background:#111713;margin-top:0;padding:34px 0 54px;gap:48px;grid-template-columns:1.25fr 1fr;border-bottom:1px solid var(--line)}.intelligence-hero h1{font-size:clamp(40px,5.5vw,78px);letter-spacing:-.04em;line-height:1.02}.intelligence-hero h1 span,.hero .eyebrow,.hero a:not(.button){color:#a4ceb4}.hero .lead,.hero .small,.hero-photo figcaption{color:#bac9bf}.intelligence-hero .hero-photo img{height:470px;filter:saturate(.8);border-radius:0}.hero-photo figcaption strong{color:#e7ede9}.intelligence-metrics{display:flex;gap:24px;flex-wrap:wrap;margin:30px 0 0;border-top:1px solid var(--line);padding-top:20px}.intelligence-metrics dt{font-size:12px;color:var(--muted)}.intelligence-metrics dd{margin:7px 0 0;font-size:19px;color:var(--blue);letter-spacing:-.02em}.beginner-path{display:block;padding:12px 0;border-color:var(--line)}
.decision-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-bottom:1px solid var(--line)}.decision-rail article{padding:0 24px 30px;border-right:1px solid var(--line)}.decision-rail article:first-child{padding-left:0}.decision-rail article:last-child{border:0}.decision-rail h2{font-size:27px;line-height:1.2;margin:16px 0 24px}.decision-rail a{font-size:14px}
.process-lab{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;padding:36px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process-stage{padding:24px;background:#17211a;border:1px solid #43564a}.process-stage svg{width:100%;height:auto;display:block}.process-stage svg text{font:12px 'Plex Mono',monospace;fill:#c2d5c8}.process-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.process-controls button{padding:10px 8px;font-size:12px;line-height:1.4;font-weight:400}.process-controls button[aria-pressed=true]{background:#a4ceb4;color:#111713}.process-caption{min-height:5em;margin:18px 0;font-size:14px}.process-stage>.small{margin-top:16px}.lpbf-beam,.lpbf-solid{opacity:0}.process-stage[data-stage="1"] .lpbf-beam,.process-stage[data-stage="2"] .lpbf-solid{opacity:1}.process-stage[data-stage="0"] .lpbf-recoater{transform:translateX(420px);transition:transform 1.5s ease}.process-stage:not([data-stage="0"]) .lpbf-recoater{opacity:0}.process-stage[data-stage="3"] .lpbf-platform{transform:translateY(8px);transition:transform .7s ease}.process-stage[data-stage="4"] .lpbf-layer{fill:#a4ceb4}.process-stage[data-stage="5"] svg>rect:first-of-type,.process-stage[data-stage="5"] .lpbf-layer{opacity:0}
.evidence-images{display:grid;grid-template-columns:1.3fr 1fr;gap:26px}.evidence-images figure{margin:0}.evidence-images img{width:100%;height:320px;object-fit:cover;border:1px solid var(--line)}.evidence-images figcaption{font-size:13px;color:var(--muted);padding-top:16px;line-height:1.6}.evidence-images figcaption strong{display:block;color:var(--ink);font-size:17px}.physical-evidence .section-head>p{max-width:390px}.evidence-contract{border-top:1px solid var(--line);padding-top:40px}.evidence-contract .grid>div{border-left:2px solid #607969;padding-left:22px}.final-cta{background:#19271e;border-color:#496351;color:#e7ede9}.final-cta h2{color:#e7ede9}
.comparison-selectors{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:end;background:#1a261e;padding:24px;border:1px solid #577060;margin:32px 0}.comparison-selectors label{display:block;font-family:'Plex Mono',monospace;font-size:13px;margin-bottom:12px}.comparison-selectors select{width:100%;min-height:48px;padding:10px;font-size:16px}.comparison-geometry{border-top:1px solid var(--line);padding:26px 0}.comparison-geometry>div{display:grid;grid-template-columns:1fr 1.2fr;gap:10px 24px;align-items:center;margin:18px 0}.comparison-geometry svg{width:100%;height:26px}.comparison-geometry span{grid-column:2;font-family:'Plex Mono',monospace;font-size:13px}#manual-comparison-result table{table-layout:fixed;min-width:620px;width:100%}#manual-comparison-result th:first-child{width:24%}#manual-comparison-result td{vertical-align:top}caption{text-align:left;padding:16px;color:var(--muted)}.envelope-panel{padding:24px;background:#17221b;border:1px solid var(--line);color:#a4ceb4}.envelope-panel svg{width:100%;height:auto}.envelope-panel svg text{fill:#c6dfce;font-size:12px}.envelope-panel p{color:#bac8bf}.profile-intelligence{padding:26px 0;border-bottom:1px solid var(--line)}
.learn-index{display:flex;gap:10px;margin:26px 0}.learn-index a{padding:12px 16px;border:1px solid var(--line);min-height:46px}.faq-section{border-top:1px solid #516957;padding-top:30px}.faq-answer{display:grid;grid-template-columns:48px 1fr;border-bottom:1px solid var(--line);padding:24px 0;gap:16px}.faq-answer p{max-width:760px}.faq-answer h3{font-size:26px}.faq-answer .eyebrow{margin-top:5px}
.decision-charts{background:#121e16;border-color:#405847;border-top-color:#a4ceb4}.decision-charts .eyebrow{color:#a4ceb4}.decision-charts .chart-code{background:#263c2d;color:#e0ebe3}.decision-charts .cash-chart polyline:first-of-type{stroke:#a4ceb4}.decision-charts .cash-chart circle:nth-of-type(odd){fill:#a4ceb4}.decision-charts .buy-key{border-color:#a4ceb4}.decision-charts .crossing-note{background:#203025;border-color:#91b39d}.decision-charts .cash-chart rect{fill:#2b3d30}.decision-charts .cash-chart text{fill:#d1e0d5}.decision-charts .composition-row meter::-webkit-meter-optimum-value{background:#a4ceb4}.decision-charts .composition-row meter::-moz-meter-bar{background:#a4ceb4}
.calculator-mode .mode-button[aria-pressed='true'],button.calculate-button{background:#a4ceb4;color:#101a13;border-color:#a4ceb4}.error,.error-list{color:#f3c1b8}.error-list{background:#30221f;border-color:#c9978b}.comparison-selectors select{background:#17231b;color:#e7ede9;border:1px solid #6d8576}.process-stage .lpbf-platform{transition:transform .7s ease}
.card,.finder-card{border-radius:2px;border-top-color:#678d74;transition:border-color .18s,transform .18s}.card:hover,.finder-card:hover{border-color:#a4ceb4;transform:translateY(-2px)}.finder-card{animation:result-in .2s ease-out}.comparison-geometry svg rect{animation:bar-in .28s ease-out;transform-origin:left}.skip{background:#1c2b21;color:#e7ede9}@keyframes result-in{from{opacity:.75;transform:translateY(3px)}to{opacity:1;transform:none}}@keyframes bar-in{from{transform:scaleX(.97)}to{transform:scaleX(1)}}
.utility-card{margin:42px 0 24px auto;max-width:360px;padding:22px;background:#17231b;border:1px solid #668672;border-left:4px solid #a4ceb4;color:#e7ede9}.utility-card h2{margin:8px 0 12px;color:#e7ede9}.utility-card p{max-width:680px}.utility-card .small{color:#bac9bf;margin-bottom:0}.machine-utility{position:sticky;top:100px;z-index:1}.evidence-line{display:block}.citation{display:inline-block;margin-top:6px}.badge.warn{display:inline-block}
@media(max-width:1050px){.platform-header #main-nav{gap:12px}.platform-header #main-nav a{font-size:13px}.intelligence-hero{gap:28px}.decision-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.decision-rail article{padding:22px!important;border-top:1px solid var(--line)}.process-lab{gap:24px}.machine-utility{position:static;max-width:none;margin:32px 0 24px}}
@media(max-width:700px){.intelligence-hero,.process-lab{grid-template-columns:1fr}.intelligence-hero .hero-photo img{height:330px}.intelligence-hero{padding-top:10px}.intelligence-hero h1{font-size:48px}.intelligence-metrics{gap:22px}.decision-rail{grid-template-columns:1fr}.decision-rail article{border-right:0;padding-left:0!important}.decision-rail h2{font-size:29px;margin:12px 0}.process-stage{padding:14px}.process-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.evidence-images{grid-template-columns:1fr}.evidence-images img{height:250px}.comparison-selectors{grid-template-columns:1fr;padding:18px}.comparison-selectors>button{justify-self:start}.comparison-geometry>div{grid-template-columns:1fr}.comparison-geometry span{grid-column:1}.faq-answer{grid-template-columns:28px 1fr;gap:10px}.learn-index{align-items:stretch}.learn-index a{width:100%}}
@media(max-width:360px){.intelligence-hero h1{font-size:41px}.platform-header .brand{font-size:17px}.process-stage{padding:10px}.process-controls button{font-size:12px}.intelligence-metrics dd{font-size:17px}}
@media(max-width:360px){.content-page:has(.directory-list)>.section>a{display:block;min-height:44px;padding:8px 0;}}
.calculator-page .money-input input{padding-left:4.5em}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.card:hover,.finder-card:hover{transform:none}}
@media print{body{background:white;color:#111}h1,h2,h3,p,td,th,a{color:#111!important}.process-lab,.comparison-selectors{break-inside:avoid}.decision-charts{background:white;color:#111}}
.news-intro{max-width:780px;margin:0 0 32px}.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.news-card{padding:24px;border:1px solid var(--line);border-top:3px solid #678d74;background:#17231b}.news-card h2{font-size:26px;margin:10px 0}.news-card h2 a{color:#e7ede9}.news-card p{color:#c7d3ca}.news-article{max-width:820px;padding:30px 0}.news-article h2{margin-top:34px}.footer-newsletter{max-width:360px;padding:20px;border:1px solid #668672;background:#17231b}.footer-newsletter p{color:#c7d3ca}.footer-newsletter form>div{display:flex;gap:8px}.footer-newsletter input{min-width:0;flex:1}.footer-newsletter button{white-space:nowrap}@media(max-width:700px){.news-grid{grid-template-columns:1fr}.footer-newsletter{max-width:none}.footer-newsletter form>div{flex-direction:column}.footer-newsletter button{width:100%}}

/* === print.css === */
/* Print / save-as-PDF support. Screen layout is untouched; rules apply only to print output.
   Brand elements (Layered-M mark, wordmark, watermark, page footer) reuse the site's own
   vector geometry; no external assets are requested. */
.print-report,
.print-watermark,
.print-page-footer {
  display: none;
}
@media print {
  @page {
    size: A4; margin: 14mm 14mm 20mm;
    @bottom-center {
      content: 'Metal3DPrinting.ai · Evidence before investment.';
      font: 8.5pt sans-serif; color: #444;
      border-top: 0.5pt solid #999; padding-top: 3pt;
      vertical-align: top;
    }
  }
  html, body { color-scheme: light !important; background: #fff !important; }
  /* Keep the interactive chrome out of the printed report. */
  .platform-header,
  .platform-footer,
  .breadcrumb,
  .skip,
  .actions,
  .step-nav,
  .calculator-toolbar,
  .calculator-mode,
  .compare-intent,
  .tool-form,
  .tool-hero,
  .privacy-callout,
  .comparison-selectors,
  #comparison-status,
  #comparator-pdf-hint,
  #comparator-print,
  #comparator-pdf-note,
  #errors,
  #calculator,
  #share,
  #share-status,
  .step-actions,
  .scenario-status,
  .beginner-crosslink,
  .confidence-panel,
  .print-report-button,
  #print-report-button,
  .button,
  .menu-toggle {
    display: none !important;
  }
  body {
    background: #fff;
    color: #000;
    font-size: 11pt;
    margin: 0;
    /* keep the fixed page footer clear of the last lines on full pages */
    padding-bottom: 2.2em;
  }
  a {
    color: #000;
    text-decoration: none;
  }
  a[href^='http']::after {
    content: '';
  }
  .content-page,
  .calculator-page {
    max-width: none;
    margin: 0;
    padding: 0;
  }
  h1,
  h2,
  h3 {
    break-after: avoid;
  }
  section,
  .result-grid,
  .metric {
    break-inside: avoid;
  }
  /* Large tables (assumptions, cash-flow audit) split across pages: repeat headers,
     never split a row. */
  table {
    break-inside: auto;
  }
  thead {
    display: table-header-group;
  }
  tr {
    break-inside: avoid;
  }
  .table-wrap {
    overflow: visible !important;
  }
  table {
    width: 100%;
    border-collapse: collapse;
  }
  th,
  td {
    border: 1px solid #999;
    padding: 3pt 5pt;
    text-align: left;
    vertical-align: top;
  }
  .result-tile,
  .metric {
    border: 1px solid #bbb;
  }
  /* Charts and meters print as-is; meters degrade to a thin bar. */
  meter {
    width: 100%;
  }
  svg {
    max-width: 100%;
  }

  /* ---- Brand header of the scenario report ---- */
  .print-report {
    display: block !important;
    margin: 0 0 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1.5pt solid #286481;
  }
  .print-brand-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .print-brand-lockup {
    display: flex;
    align-items: center;
    gap: 0.45rem;
  }
  .print-brand-mark {
    color: #17232c;
  }
  .print-wordmark {
    font-weight: 700;
    font-size: 12pt;
    letter-spacing: 0.01em;
    color: #17232c;
  }
  .print-tld {
    color: #286481;
  }
  .print-doc-title {
    font-size: 13pt;
    font-weight: 700;
    margin: 0;
    color: #17232c;
  }
  /* The experimental dark surfaces must not print; reset backgrounds and force readable ink
     on the calculator report surface only (watermark and footer live outside main). */
  html {
    background: #fff !important;
    background-color: #fff !important;
  }
  main,
  main section,
  main div,
  main aside,
  main details,
  main summary,
  main span,
  main i,
  main strong,
  main p,
  main ul,
  main ol,
  main li,
  main h2,
  main h3,
  main header,
  main figure,
  main table,
  main thead,
  main tbody,
  main tr,
  main th,
  main td {
    background: transparent !important;
    background-color: transparent !important;
  }
  .calculator-page,
  .calculator-page * {
    color: #1a1a1a !important;
  }
  .calc-results .console,
  .print-brand-header,
  .print-report {
    background: #fff !important;
  }

  /* The branded report header replaces the page heading on the calculator print surface. */
  .calculator-page .breadcrumb,
  .calculator-page > .eyebrow,
  .calculator-page > h1 {
    display: none !important;
  }
  .calc-results .console {
    border: 1pt solid #999;
    padding: 6pt 8pt;
    margin-bottom: 0.8rem;
    break-inside: avoid;
  }
  .print-meta {
    font-size: 9pt;
    color: #333;
    margin: 0 0 0.35rem;
  }
  .print-verdict {
    font-weight: 600;
    margin: 0 0 0.6rem;
  }
  .print-section-title {
    font-size: 11.5pt;
    margin: 0.8rem 0 0.3rem;
  }
  .print-financing,
  .print-disclaimer {
    color: #333;
  }

  /* ---- Restrained watermark: brand mark + wordmark, far behind the content ---- */
  .print-watermark {
    display: flex !important;
    position: fixed;
    inset: 0;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;
    z-index: -1;
    pointer-events: none;
    opacity: 0.055;
    transform: rotate(-24deg);
    color: #286481;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .print-watermark span {
    font-size: 34pt;
    font-weight: 700;
    letter-spacing: 0.04em;
  }
  /* Keep body content above the watermark in engines that ignore negative z-index. */
  main {
    position: relative;
    z-index: 1;
  }

  /* ---- Professional print footer on every page ---- */
  .print-page-footer {
    display: block !important;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 8.5pt;
    color: #444;
    border-top: 0.5pt solid #999;
    padding-top: 3pt;
    background: #fff;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .calculator-page .decision-charts .cash-chart text { fill: #263d30 !important; }
  .calculator-page .decision-charts .cash-chart polyline:first-of-type { stroke: #365e46 !important; }
  .calculator-page .decision-charts .cash-chart polyline:nth-of-type(2) { stroke: #705026 !important; }
  .calculator-page .decision-charts .cash-chart circle:nth-of-type(odd) { fill: #365e46 !important; }
  .calculator-page .decision-charts .cash-chart circle:nth-of-type(even) { fill: #705026 !important; }
  .calculator-page .decision-charts .buy-key { border-color: #365e46 !important; }
  .calculator-page .decision-charts .out-key { border-color: #705026 !important; }
  .calculator-page .composition { break-inside: avoid; }
  /* The page-margin footer reserves space on every sheet, unlike a fixed overlay. */
  .print-page-footer { display: none !important; }
}
