:root {
    --ink: #14251c;
    --muted: #68746d;
    --line: #dbe2dd;
    --paper: #ffffff;
    --wash: #f4f7f4;
    --green: #245a36;
    --green-dark: #173c25;
    --accent: #b3cf63;
    --shadow: 0 18px 55px rgba(24, 51, 34, .10);
}

/* V15.2 executive engineering narrative refinement */
.executive-engineering-prose, .future-investment-prose { max-width: 920px; }
.executive-engineering-prose p, .future-investment-prose p { margin: 0 0 1rem; color: #35423d; line-height: 1.62; }
.portfolio-strategy-grid, .capital-summary-grid, .metric-explanation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.portfolio-strategy-grid article, .capital-summary-grid article, .metric-explanation-grid article, .deferred-opportunity-list article { border: 1px solid #dce5e0; border-left: 3px solid #2f6b4f; border-radius: 4px; background: #fbfcfb; padding: .9rem 1rem; }
.portfolio-strategy-grid h3, .deferred-opportunity-list h3, .metric-explanation-grid h3 { margin: 0 0 .35rem; }
.portfolio-strategy-grid article > strong { display: block; color: #2f6b4f; margin-bottom: .5rem; }
.portfolio-strategy-grid p, .deferred-opportunity-list p, .metric-explanation-grid p { margin: .35rem 0 0; }
.capital-summary-grid { margin: 1rem 0; }
.capital-summary-grid article span, .deferred-opportunity-list article span { display: block; color: #7a8580; font-size: .72rem; letter-spacing: .035em; text-transform: uppercase; }
.capital-summary-grid article strong, .deferred-opportunity-list article strong { display: block; margin-top: .25rem; }
.deferred-opportunity-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.deferred-opportunity-list article span { margin-top: .65rem; }
.metric-explanation-grid { margin: .8rem 0 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.metric-explanation-grid article { padding: .7rem .8rem; }
.metric-explanation-grid p { color: #7b8581; font-size: .73rem; line-height: 1.42; }

@media (max-width: 760px) {
  .portfolio-strategy-grid, .capital-summary-grid, .deferred-opportunity-list, .metric-explanation-grid { grid-template-columns: 1fr; }
}

@media print {
  .executive-engineering-prose p, .future-investment-prose p { line-height: 1.48; margin-bottom: .72rem; }
  .portfolio-strategy-grid, .capital-summary-grid, .deferred-opportunity-list { gap: .48rem; }
  .portfolio-strategy-grid article, .capital-summary-grid article, .deferred-opportunity-list article { padding: .58rem .68rem; break-inside: avoid; }
  .metric-explanation-grid { gap: .38rem; }
  .metric-explanation-grid article { padding: .45rem .55rem; }
  .metric-explanation-grid p { font-size: 7.1pt; line-height: 1.3; }
}

.input-conflict-note { margin: 6px 0 0; color: #8a3d24; font-weight: 650; }
.capital-metric-definitions, .suitability-allocation-explanation { margin: 18px 0; padding: 18px; border: 1px solid #ccd8ce; background: #f7faf7; }
.capital-metric-definitions dl { display: grid; grid-template-columns: minmax(150px, .75fr) 2fr; gap: 7px 16px; margin: 12px 0 0; }
.capital-metric-definitions dt { font-weight: 750; color: #244b35; }
.capital-metric-definitions dd { margin: 0; }
.portfolio-decision-reconciliation table { font-size: 10px; }
.portfolio-decision-reconciliation th, .portfolio-decision-reconciliation td { padding: 6px; vertical-align: top; }
.technology-investment-table th:nth-child(2), .technology-investment-table td:nth-child(2),
.technology-investment-table th:nth-child(3), .technology-investment-table td:nth-child(3) { text-align: center; }
.technology-investment-table th:nth-child(4), .technology-investment-table td:nth-child(4),
.technology-investment-table th:nth-child(5), .technology-investment-table td:nth-child(5) { text-align: right; font-variant-numeric: tabular-nums; }
.portfolio-simplicity-note { margin: 10px 0 0; padding: 12px 14px; border-left: 3px solid #2f6b45; background: #f3f7f3; }
.investment-strategy-guidance, .scenario-guidance { margin: 12px 0; padding: 13px 15px; border-left: 4px solid var(--green); background: #f5f8f6; }
.investment-strategy-guidance p, .scenario-guidance p { margin: 6px 0; }
.engineering-glossary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; margin-top: 16px; }
.engineering-glossary article { padding: 10px 12px; border: 1px solid var(--line); border-left: 3px solid var(--green); background: #fff; break-inside: avoid; }
.engineering-glossary h3, .reader-guidance-grid h3 { margin: 0 0 4px; color: var(--green-dark); font-size: .92rem; }
.engineering-glossary p, .reader-guidance-grid p { margin: 0; color: #4f6057; font-size: .84rem; line-height: 1.4; }
.engineering-glossary .glossary-wide { grid-column: 1 / -1; }
.reader-guidance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; margin: 14px 0 18px; }
.reader-guidance-grid article { padding: 11px 13px; border: 1px solid var(--line); background: #fff; break-inside: avoid; }
.recommended-decision-process { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 14px; margin: 10px 0 0; padding: 0; list-style: none; counter-reset: none; }
.recommended-decision-process li { display: grid; gap: 3px; padding: 10px 12px; border-left: 4px solid var(--green); background: #f3f7f3; break-inside: avoid; }
.recommended-decision-process strong { color: var(--green-dark); font-size: .84rem; }
.recommended-decision-process span { color: #4f6057; font-size: .8rem; line-height: 1.35; }
.allocation-total { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin: 18px 0; padding: 18px 20px; border-left: 5px solid var(--green); background: #edf4ee; }
.allocation-total span { color: var(--muted); font-size: .76rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.allocation-total strong { color: var(--green-dark); font-size: 1.6rem; }
.investment-allocation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 14px 0 20px; }
.investment-allocation-grid article { display: grid; grid-template-columns: 1fr auto; gap: 5px 16px; padding: 16px 18px; border: 1px solid var(--line); background: #fff; }
.investment-allocation-grid span { grid-column: 1 / -1; color: var(--green-dark); font-weight: 750; }
.investment-allocation-grid strong { font-size: 1.15rem; }
.investment-allocation-grid b { align-self: end; color: var(--green); }
.alternative-narrative-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; margin-top: 12px; }
.alternative-narrative-grid article { padding: 11px 13px; border: 1px solid var(--line); border-left: 3px solid #8aa895; background: #f8faf8; break-inside: avoid; }
.alternative-narrative-grid strong, .alternative-narrative-grid span { display: block; }
.alternative-narrative-grid span { margin: 2px 0 5px; color: var(--muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.alternative-narrative-grid p { margin: 0; font-size: .82rem; line-height: 1.4; }
.decision-intelligence-section > .lead { max-width: 900px; }
.executive-question-grid, .scenario-comparison-grid, .sensitivity-grid, .decision-confidence-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.executive-question-grid article, .scenario-comparison-grid article, .sensitivity-grid article, .decision-confidence-grid article,
.tradeoff-analysis-list article, .rejection-reasoning-list article { padding: 15px 17px; border: 1px solid #d6dfd8; border-left: 4px solid #2f6b45; border-radius: 8px; background: #fff; break-inside: avoid; }
.executive-question-grid strong, .decision-confidence-grid strong { color: #214c34; }
.tradeoff-analysis-list, .rejection-reasoning-list { display: grid; gap: 12px; }
.tradeoff-analysis-list article p, .rejection-reasoning-list article p, .scenario-comparison-grid article p, .sensitivity-grid article p { margin: 6px 0; }
.rejection-reasoning-list article > div, .decision-confidence-grid article > div { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.rejection-reasoning-list article span, .decision-confidence-grid article span { color: #5d6d63; font-size: .75rem; font-weight: 750; text-transform: uppercase; }
.scenario-comparison-grid article > div { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; border-bottom: 1px solid #e4ebe5; }
.scenario-comparison-grid span { color: #5d6d63; font-size: .72rem; font-weight: 750; text-transform: uppercase; }
.decision-confidence-summary { margin: 12px 0 16px; padding: 18px; background: #edf4ee; border-left: 5px solid #2f6b45; }
.decision-confidence-summary span { display: block; color: #5d6d63; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.decision-confidence-summary strong { display: block; margin-top: 5px; font-size: 1.25rem; color: #214c34; }
.decision-intelligence-table small, .decision-evidence-table small { display: block; margin-top: 4px; color: var(--muted); }
.decision-intelligence-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 16px 0; }
.decision-intelligence-summary-grid article { padding: 14px 16px; border: 1px solid var(--line); border-left: 4px solid var(--green); background: #f7faf7; }
.decision-intelligence-summary-grid span, .decision-intelligence-summary-grid strong { display: block; }
.decision-intelligence-summary-grid span { color: var(--muted); font-size: .7rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.decision-intelligence-summary-grid strong { margin: 4px 0; color: var(--green); font-size: 1.35rem; }
.decision-intelligence-summary-grid p { margin: 0; }
.confidence-driver-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 10px 0; }
.confidence-driver-grid article, .simplified-alternative-summary { padding: 10px 12px; border: 1px solid var(--line); border-left: 3px solid var(--green); background: #f7faf7; }
.confidence-driver-grid p, .simplified-alternative-summary p { margin: 3px 0; }
@media (max-width: 760px) { .executive-question-grid, .scenario-comparison-grid, .sensitivity-grid, .decision-confidence-grid { grid-template-columns: 1fr; } }

@media print {
  .professional-memorandum .allocation-total { margin: 10pt 0; padding: 10pt 12pt; }
  .professional-memorandum .allocation-total strong { font-size: 15pt; }
  .professional-memorandum .investment-allocation-grid { gap: 7pt; margin: 8pt 0 12pt; }
  .professional-memorandum .investment-allocation-grid article { padding: 9pt 10pt; break-inside: avoid; }
  .professional-memorandum .alternative-narrative-grid { gap: 6pt 8pt; margin-top: 7pt; }
  .professional-memorandum .alternative-narrative-grid article { padding: 6pt 7pt; }
  .professional-memorandum .alternative-narrative-grid p { font-size: 7.4pt; line-height: 1.3; }
  .professional-memorandum .reader-guidance-page { min-height: 8.45in !important; }
  .professional-memorandum .engineering-glossary { gap: 5pt 7pt; margin-top: 8pt; }
  .professional-memorandum .engineering-glossary article { padding: 5pt 6pt; }
  .professional-memorandum .engineering-glossary h3,
  .professional-memorandum .reader-guidance-grid h3 { margin: 0 0 2pt; font-size: 8.3pt; }
  .professional-memorandum .engineering-glossary p,
  .professional-memorandum .reader-guidance-grid p { margin: 0; font-size: 7.2pt; line-height: 1.28; }
  .professional-memorandum .reader-guidance-grid { gap: 5pt 7pt; margin: 7pt 0 9pt; }
  .professional-memorandum .reader-guidance-grid article { padding: 5pt 6pt; }
  .professional-memorandum .recommended-decision-process { gap: 5pt 7pt; margin-top: 5pt; }
  .professional-memorandum .recommended-decision-process li { margin: 0; padding: 5pt 6pt; }
  .professional-memorandum .recommended-decision-process strong { font-size: 7.5pt; }
  .professional-memorandum .recommended-decision-process span { font-size: 7pt; line-height: 1.25; }
  .professional-memorandum .investment-strategy-guidance,
  .professional-memorandum .scenario-guidance { margin: 7pt 0; padding: 7pt 8pt; }
  .professional-memorandum .investment-strategy-guidance p,
  .professional-memorandum .scenario-guidance p { margin: 3pt 0; font-size: 8pt; line-height: 1.32; }
  .professional-memorandum .executive-question-grid,
  .professional-memorandum .scenario-comparison-grid,
  .professional-memorandum .sensitivity-grid,
  .professional-memorandum .decision-confidence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7pt; }
  .professional-memorandum .executive-question-grid article,
  .professional-memorandum .scenario-comparison-grid article,
  .professional-memorandum .sensitivity-grid article,
  .professional-memorandum .decision-confidence-grid article,
  .professional-memorandum .tradeoff-analysis-list article,
  .professional-memorandum .rejection-reasoning-list article { padding: 8pt 9pt; break-inside: avoid; page-break-inside: avoid; }
  .professional-memorandum .decision-intelligence-section p { font-size: 7.4pt; line-height: 1.38; }
  .professional-memorandum .decision-intelligence-section h3 { font-size: 9pt; margin-bottom: 5pt; }
  .professional-memorandum .decision-intelligence-table { font-size: 6.3pt; }
  .professional-memorandum .decision-evidence-table { font-size: 5.5pt; }
  .professional-memorandum .decision-intelligence-table th, .professional-memorandum .decision-evidence-table th { padding: 4.5pt 5pt; font-size: 5.8pt; }
  .professional-memorandum .decision-intelligence-table td { padding: 4pt 5pt; line-height: 1.2; vertical-align: top; }
  .professional-memorandum .decision-evidence-table td { padding: 3pt 4pt; line-height: 1.13; vertical-align: top; }
  .professional-memorandum .confidence-reconciliation-table { font-size: 4.4pt; table-layout: fixed; }
  .professional-memorandum .confidence-reconciliation-table th { padding: 3pt 2pt; font-size: 4.1pt; }
  .professional-memorandum .confidence-reconciliation-table td { padding: 2.5pt 2pt; line-height: 1.12; overflow-wrap: anywhere; }
  .professional-memorandum .confidence-driver-grid { gap: 5pt; margin: 5pt 0; }
  .professional-memorandum .confidence-driver-grid article, .professional-memorandum .simplified-alternative-summary { padding: 5pt 6pt; }
  .professional-memorandum .decision-intelligence-summary-grid { gap: 6pt; margin: 8pt 0; }
  .professional-memorandum .decision-intelligence-summary-grid article { padding: 7pt 8pt; }
  .professional-memorandum .decision-intelligence-summary-grid p { font-size: 7pt; line-height: 1.3; }
}
@media (max-width: 760px) { .capital-metric-definitions dl { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .engineering-glossary, .reader-guidance-grid, .recommended-decision-process, .investment-allocation-grid, .alternative-narrative-grid { grid-template-columns: 1fr; } .engineering-glossary .glossary-wide { grid-column: auto; } }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--wash); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
.site-header { min-height: 86px; padding: 16px clamp(20px, 5vw, 72px); display: flex; align-items: center; justify-content: space-between; gap: 28px; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 30; }
.brand { display: flex; align-items: center; gap: 14px; }
.brand-mark { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--green); color: white; font-weight: 900; letter-spacing: -.05em; }
.brand-copy { display: grid; gap: 2px; }
.brand-copy small { color: var(--muted); }
.brand-copy strong { font-size: 1.05rem; }
.site-header nav { display: flex; gap: 24px; color: var(--muted); font-weight: 650; }
main { width: min(1320px, calc(100% - 32px)); margin: 0 auto; }
footer { display: flex; justify-content: space-between; gap: 20px; padding: 28px clamp(20px, 5vw, 72px); color: var(--muted); }
.hero { min-height: 480px; padding: 86px 0 54px; display: grid; grid-template-columns: 1.45fr .65fr; gap: 56px; align-items: center; }
.eyebrow { margin: 0 0 12px; color: var(--green); text-transform: uppercase; letter-spacing: .13em; font-size: .78rem; font-weight: 850; }
.hero h1, .report-cover h1 { margin: 0; max-width: 900px; font-size: clamp(3rem, 7vw, 6.6rem); line-height: .92; letter-spacing: -.065em; }
.report-cover h1 { max-width: none; white-space: nowrap; font-size: clamp(3rem, 5.6vw, 5.8rem); letter-spacing: -.06em; }
.hero-copy { max-width: 800px; font-size: 1.16rem; line-height: 1.75; color: var(--muted); }
.hero-card { min-height: 270px; padding: 34px; display: grid; gap: 18px; align-content: center; color: white; border-radius: 24px; background: linear-gradient(145deg, var(--green-dark), var(--green)); box-shadow: var(--shadow); }
.hero-card strong { font-size: 1.45rem; }
.hero-card span { padding-top: 14px; border-top: 1px solid rgba(255,255,255,.18); }
.discovery-form { margin-bottom: 80px; background: white; border: 1px solid var(--line); border-radius: 26px; box-shadow: var(--shadow); overflow: hidden; }
.stepper { display: grid; grid-template-columns: repeat(5, 1fr); background: var(--green-dark); }
.step { padding: 20px 12px; color: rgba(255,255,255,.6); background: transparent; border: 0; border-bottom: 4px solid transparent; cursor: pointer; }
.step span { display: block; margin-top: 4px; font-size: .78rem; }
.step.active { color: white; border-bottom-color: var(--accent); }
.form-panel { display: none; min-height: 530px; padding: clamp(28px, 5vw, 68px); }
.form-panel.active { display: block; }
.section-heading { margin-bottom: 32px; }
.section-heading h2, .report-section h2 { margin: 0 0 12px; font-size: clamp(2rem, 4vw, 3.3rem); letter-spacing: -.045em; }
.section-heading p, .report-section > p { color: var(--muted); }
.form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.form-grid label, fieldset { display: grid; gap: 9px; color: var(--ink); font-weight: 720; }
.form-grid .wide { grid-column: span 2; }
input, select { width: 100%; padding: 14px 15px; color: var(--ink); background: white; border: 1px solid #cbd5ce; border-radius: 10px; outline: none; }
input:focus, select:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(36,90,54,.11); }
fieldset { margin: 0; padding: 15px; border: 1px solid #cbd5ce; border-radius: 10px; }
fieldset .radio { display: inline-flex; align-items: center; gap: 8px; margin-right: 20px; font-weight: 500; }
.radio input { width: auto; }
.objective-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.range-card { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; }
.range-card output { color: var(--green); font-weight: 850; }
.range-card input { grid-column: 1 / -1; padding: 0; }
.review-grid, .scenario-grid, .glossary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.review-grid article, .scenario-card, .glossary-grid article { padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: var(--wash); }
.form-actions { display: flex; justify-content: space-between; padding: 22px 30px; border-top: 1px solid var(--line); background: #fbfcfb; }
.primary, .secondary, .button-link { display: inline-flex; justify-content: center; align-items: center; min-width: 130px; padding: 13px 20px; border-radius: 10px; border: 1px solid var(--green); cursor: pointer; font-weight: 780; }
.primary { color: white; background: var(--green); }
.secondary { color: var(--green); background: white; }
.primary.large { margin-top: 32px; min-width: 280px; }
button:disabled { opacity: .45; cursor: not-allowed; }
.flash-wrap { width: min(1100px, calc(100% - 32px)); margin: 16px auto 0; }
.flash { padding: 14px 18px; border-radius: 10px; background: #fee9e7; color: #8b241c; }
.report-shell { margin: 40px auto 80px; }
.report-cover, .report-section { margin-bottom: 28px; padding: clamp(30px, 6vw, 76px); background: white; border: 1px solid var(--line); border-radius: 24px; box-shadow: 0 8px 28px rgba(24,51,34,.06); }
.report-cover { min-height: 620px; display: flex; flex-direction: column; justify-content: space-between; color: white; background: radial-gradient(circle at 85% 15%, rgba(179,207,99,.35), transparent 30%), linear-gradient(145deg, #102b1b, #245a36); }
.report-cover h2 { max-width: 600px; font-weight: 450; }
.cover-meta { display: grid; gap: 5px; font-size: 1.05rem; }
.lead { max-width: 1050px; font-size: 1.35rem; line-height: 1.65; color: var(--ink) !important; }
.lead.small { font-size: 1.05rem; }
.metric-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 30px; }
.metric-row article, .context-grid article { min-height: 110px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--wash); }
.metric-row span, .context-grid span { display: block; margin-bottom: 12px; color: var(--muted); font-size: .82rem; text-transform: uppercase; letter-spacing: .08em; }
.metric-row strong { font-size: 1.55rem; }
.context-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.strategy-table { margin-top: 28px; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.table-head, .table-row { display: grid; grid-template-columns: 2fr 1fr .8fr .7fr .9fr; gap: 16px; padding: 16px 20px; align-items: center; }
.table-head { color: white; background: var(--green-dark); font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; }
.table-row { border-top: 1px solid var(--line); }
.table-row small { display: block; margin-top: 5px; color: var(--muted); }
.scenario-card.recommended { color: white; background: var(--green); }
.scenario-card strong { display: block; margin: 18px 0 12px; font-size: 2.1rem; }
.scenario-label { font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 850; }
.screening-list { display: grid; gap: 10px; margin-top: 28px; }
.screening-list article { display: grid; grid-template-columns: 120px 1fr 60px; gap: 20px; align-items: center; padding: 18px; border: 1px solid var(--line); border-radius: 12px; }
.screening-list p { margin: 5px 0 0; color: var(--muted); }
.status { padding: 7px 10px; border-radius: 99px; text-align: center; font-size: .72rem; font-weight: 850; }
.status.included { color: #15552b; background: #dff5e6; }
.status.deferred { color: #7a5900; background: #fff2c4; }
.status.not-applicable { color: #6b6b6b; background: #ecefed; }
.score { font-size: 1.3rem; font-weight: 850; text-align: right; }
.value-list { max-width: 780px; border-top: 1px solid var(--line); }
.value-list div { display: grid; grid-template-columns: 1fr 180px; gap: 30px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.value-list strong { text-align: right; }
.glossary-grid article p { line-height: 1.55; }
.glossary-grid small { color: var(--muted); line-height: 1.5; }
.report-actions { display: flex; gap: 12px; justify-content: center; padding: 26px; }
.empty-state { padding: 30px; color: var(--muted); }
@media (max-width: 900px) {
    .site-header { align-items: flex-start; }
    .site-header nav { display: none; }
    .hero { grid-template-columns: 1fr; }
    .form-grid, .objective-grid, .review-grid, .scenario-grid, .glossary-grid, .metric-row, .context-grid { grid-template-columns: 1fr 1fr; }
    .table-head { display: none; }
    .table-row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
    .report-cover h1 { white-space: normal; }
    main { width: min(100% - 18px, 1320px); }
    .brand-copy small { display: none; }
    .hero { padding-top: 50px; }
    .form-grid, .objective-grid, .review-grid, .scenario-grid, .glossary-grid, .metric-row, .context-grid { grid-template-columns: 1fr; }
    .form-grid .wide { grid-column: auto; }
    .step span { display: none; }
    .form-panel { padding: 28px 20px; }
    .screening-list article { grid-template-columns: 1fr; }
    .score { text-align: left; }
}
@media print {
    body { background: white; }
    .site-header, footer, .no-print { display: none !important; }
    main { width: 100%; }
    .report-shell { margin: 0; }
    .report-cover, .report-section { box-shadow: none; border: none; border-radius: 0; page-break-after: always; margin: 0; min-height: 100vh; }
    .report-section:last-of-type { page-break-after: auto; }
}


/* ============================
   V3.2 DISCOVERY WIZARD
   ============================ */
textarea { width: 100%; min-height: 145px; resize: vertical; padding: 14px 15px; color: var(--ink); background: white; border: 1px solid #cbd5ce; border-radius: 10px; outline: none; font: inherit; }
textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(36,90,54,.11); }
.wizard-intro { min-height: 390px; padding: 72px 0 44px; display: grid; grid-template-columns: 1.4fr .55fr; gap: 56px; align-items: center; }
.wizard-intro h1 { margin: 0; max-width: 940px; font-size: clamp(3rem, 6vw, 5.8rem); line-height: .95; letter-spacing: -.06em; }
.wizard-intro > div > p:last-child { max-width: 830px; color: var(--muted); font-size: 1.12rem; line-height: 1.75; }
.wizard-intro-card { padding: 30px; color: white; background: linear-gradient(145deg, var(--green-dark), var(--green)); border-radius: 22px; box-shadow: var(--shadow); }
.wizard-intro-card > span { display: block; text-transform: uppercase; letter-spacing: .11em; font-size: .72rem; opacity: .72; }
.wizard-intro-card > strong { display: block; margin: 12px 0; font-size: 3.3rem; }
.wizard-intro-card small { display: block; margin-top: 16px; line-height: 1.55; opacity: .76; }
.readiness-track { height: 8px; overflow: hidden; background: rgba(255,255,255,.18); border-radius: 99px; }
.readiness-track i { display: block; width: 0; height: 100%; background: var(--accent); transition: width .25s ease; }
.wizard { display: grid; grid-template-columns: 292px minmax(0, 1fr); margin: 0 0 90px; overflow: hidden; background: white; border: 1px solid var(--line); border-radius: 26px; box-shadow: var(--shadow); }
.wizard-rail { min-height: 900px; padding: 34px 24px; color: white; background: linear-gradient(180deg, #112b1c, #1d4930); }
.rail-brand { display: flex; align-items: center; gap: 14px; margin: 0 6px 38px; }
.rail-number { display: grid; place-items: center; width: 54px; height: 54px; color: var(--green-dark); background: var(--accent); border-radius: 14px; font-size: 1.2rem; font-weight: 900; }
.rail-brand p { margin: 0; font-size: .78rem; text-transform: uppercase; letter-spacing: .12em; opacity: .7; }
.rail-step { width: 100%; display: grid; grid-template-columns: 34px 1fr 10px; gap: 12px; align-items: center; padding: 15px 10px; color: rgba(255,255,255,.55); background: transparent; border: 0; border-radius: 12px; text-align: left; cursor: pointer; transition: .2s ease; }
.rail-step:hover { color: white; background: rgba(255,255,255,.06); }
.rail-step b { font-size: .74rem; }
.rail-step span { display: grid; gap: 3px; }
.rail-step strong { font-size: .92rem; }
.rail-step small { font-size: .72rem; opacity: .68; }
.rail-step i { width: 8px; height: 8px; border: 1px solid currentColor; border-radius: 50%; }
.rail-step.active { color: white; background: rgba(255,255,255,.08); }
.rail-step.active i { border-color: var(--accent); background: var(--accent); box-shadow: 0 0 0 4px rgba(179,207,99,.12); }
.rail-step.complete { color: rgba(255,255,255,.82); }
.rail-step.complete i { border-color: var(--accent); background: var(--accent); }
.rail-help { margin-top: 48px; padding: 22px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; }
.rail-help small { color: var(--accent); text-transform: uppercase; letter-spacing: .09em; }
.rail-help p { margin: 10px 0 0; line-height: 1.5; font-weight: 700; }
.wizard-main { min-width: 0; }
.wizard-progress { height: 5px; background: #e9eeea; }
.wizard-progress i { display: block; width: 20%; height: 100%; background: var(--accent); transition: width .25s ease; }
.wizard-panel { display: none; min-height: 790px; padding: clamp(30px, 5vw, 64px); animation: wizardFade .22s ease; }
.wizard-panel.active { display: block; }
@keyframes wizardFade { from { opacity: .25; transform: translateY(7px); } to { opacity: 1; transform: none; } }
.panel-header { display: flex; justify-content: space-between; gap: 25px; align-items: flex-start; }
.panel-header h2 { margin: 0; font-size: clamp(2.2rem, 4vw, 3.8rem); letter-spacing: -.05em; }
.panel-code { padding: 8px 10px; color: var(--green); background: #edf4ef; border-radius: 7px; font: 700 .67rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .07em; }
.panel-lead { max-width: 850px; margin: 18px 0 38px; color: var(--muted); font-size: 1.05rem; line-height: 1.65; }
.field-section { margin-top: 35px; padding-top: 28px; border-top: 1px solid var(--line); }
.field-section h3 { margin: 0 0 20px; font-size: 1.12rem; }
.field-grid { display: grid; gap: 20px; }
.field-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.field-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.field.span-2 { grid-column: span 2; }
.field { display: grid; gap: 9px; font-weight: 730; }
.field > span { display: flex; justify-content: space-between; gap: 12px; }
.field em { color: #8d4b40; font-size: .64rem; font-style: normal; text-transform: uppercase; letter-spacing: .07em; }
.field.invalid > span { color: #9b2f24; }
.field.invalid input, .field.invalid select { border-color: #b8483c; box-shadow: 0 0 0 3px rgba(184,72,60,.1); }
.context-note { margin-top: 20px; padding: 16px 18px; color: #456052; background: #f0f6f2; border-left: 4px solid var(--green); border-radius: 8px; line-height: 1.55; }
.input-unit { display: grid; grid-template-columns: 1fr auto; align-items: stretch; overflow: hidden; border: 1px solid #cbd5ce; border-radius: 10px; background: white; }
.input-unit input { border: 0; border-radius: 0; box-shadow: none !important; }
.input-unit b { display: grid; place-items: center; min-width: 60px; padding: 0 13px; color: var(--muted); background: #f1f4f2; font-size: .72rem; letter-spacing: .06em; }
.input-unit.currency { grid-template-columns: auto 1fr; }
.input-unit.currency b { min-width: 42px; color: var(--green); font-size: 1rem; }
.surface-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.surface-card { display: grid; gap: 10px; padding: 20px; border: 1px solid var(--line); border-radius: 15px; background: #fbfcfb; }
.surface-card > strong { font-size: 1rem; }
.surface-card > small { min-height: 38px; color: var(--muted); line-height: 1.45; }
.surface-icon { display: grid; place-items: center; width: 38px; height: 38px; color: white; background: var(--green); border-radius: 9px; font-weight: 900; }
.objectives-layout { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(320px, .82fr); gap: 28px; align-items: start; }
.objective-controls { border-top: 1px solid var(--line); }
.objective-row { display: grid; grid-template-columns: 1fr 50px; gap: 14px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.objective-row > span { display: grid; gap: 3px; }
.objective-row small { color: var(--muted); font-weight: 450; }
.objective-row output { align-self: start; color: var(--green); font-size: 1.12rem; font-weight: 900; text-align: right; }
.objective-row input { grid-column: 1 / -1; padding: 0; accent-color: var(--green); }
.objective-dashboard { position: sticky; top: 115px; padding: 26px; background: #f4f7f4; border: 1px solid var(--line); border-radius: 18px; }
.objective-total { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 12px; }
.objective-total span { color: var(--muted); }
.objective-total strong { font-size: 1.35rem; }
.objective-dashboard canvas { width: 100%; height: 340px; }
.priority-list { display: grid; gap: 8px; }
.priority-list div { display: grid; grid-template-columns: 24px 1fr auto; gap: 10px; align-items: center; padding: 9px 0; border-top: 1px solid var(--line); }
.priority-list b { display: grid; place-items: center; width: 22px; height: 22px; color: white; background: var(--green); border-radius: 50%; font-size: .7rem; }
.text-button { margin-top: 18px; padding: 0; color: var(--green); background: transparent; border: 0; font-weight: 750; cursor: pointer; }
.constraint-callout { display: grid; grid-template-columns: 1fr auto; gap: 7px 25px; align-items: center; padding: 24px; color: white; background: linear-gradient(135deg, var(--green-dark), var(--green)); border-radius: 17px; }
.constraint-callout span { text-transform: uppercase; letter-spacing: .1em; font-size: .72rem; opacity: .72; }
.constraint-callout strong { grid-row: span 2; font-size: clamp(2rem, 4vw, 3.2rem); }
.constraint-callout small { opacity: .75; }
.choice-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.choice-card { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 14px; padding: 22px; border: 1px solid var(--line); border-radius: 14px; cursor: pointer; }
.choice-card:has(input:checked) { border-color: var(--green); background: #f0f6f2; box-shadow: 0 0 0 3px rgba(36,90,54,.08); }
.choice-card input { width: auto; margin: 4px 0 0; accent-color: var(--green); }
.choice-card span { display: grid; gap: 5px; }
.choice-card small { color: var(--muted); line-height: 1.45; }
.review-hero { display: flex; justify-content: space-between; gap: 30px; align-items: center; padding: 28px; color: white; background: linear-gradient(145deg, #112b1c, #245a36); border-radius: 18px; }
.review-hero h3 { margin: 0 0 7px; font-size: 2rem; }
.review-hero span { opacity: .75; }
.review-budget { text-align: right; }
.review-budget span { display: block; text-transform: uppercase; letter-spacing: .09em; font-size: .72rem; }
.review-budget strong { display: block; margin-top: 8px; font-size: 2.2rem; }
.review-sections { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 22px; }
.review-sections article { padding: 22px; border: 1px solid var(--line); border-radius: 14px; }
.review-sections header { display: flex; justify-content: space-between; gap: 15px; margin-bottom: 14px; }
.review-sections button { padding: 0; color: var(--green); background: none; border: 0; font-weight: 750; cursor: pointer; }
.review-sections dl { margin: 0; }
.review-sections dl div { display: grid; grid-template-columns: 1fr 1.2fr; gap: 12px; padding: 9px 0; border-top: 1px solid var(--line); }
.review-sections dt { color: var(--muted); }
.review-sections dd { margin: 0; text-align: right; font-weight: 720; }
.generate-panel { display: grid; grid-template-columns: 1fr auto; gap: 35px; align-items: center; margin-top: 22px; padding: 28px; border: 1px solid #c9d6cd; border-radius: 17px; background: #f4f8f5; }
.generate-panel h3 { margin: 10px 0 8px; font-size: 1.45rem; }
.generate-panel p { max-width: 680px; margin: 0; color: var(--muted); line-height: 1.55; }
.engine-status { color: var(--green); text-transform: uppercase; letter-spacing: .09em; font-size: .72rem; font-weight: 850; }
.engine-status i { display: inline-block; width: 8px; height: 8px; margin-right: 7px; background: #45a663; border-radius: 50%; box-shadow: 0 0 0 5px rgba(69,166,99,.13); }
.generate-button { display: flex; align-items: center; gap: 18px; padding: 16px 19px 16px 22px; color: white; background: var(--green); border: 0; border-radius: 12px; font-weight: 850; cursor: pointer; }
.generate-button b { font-size: 1.4rem; }
.wizard-actions { display: flex; justify-content: space-between; align-items: center; padding: 21px 28px; border-top: 1px solid var(--line); background: #fbfcfb; }
.wizard-actions > span { color: var(--muted); font-size: .82rem; }
.back-button, .continue-button { min-width: 130px; padding: 12px 18px; border-radius: 9px; cursor: pointer; font-weight: 780; }
.back-button { color: var(--green); background: white; border: 1px solid var(--green); }
.continue-button { color: white; background: var(--green); border: 1px solid var(--green); }
.back-button:disabled { opacity: .35; }
@media (max-width: 1080px) {
    .wizard { grid-template-columns: 235px minmax(0,1fr); }
    .surface-grid { grid-template-columns: repeat(2, 1fr); }
    .objectives-layout { grid-template-columns: 1fr; }
    .objective-dashboard { position: static; }
}
@media (max-width: 780px) {
    .wizard-intro { grid-template-columns: 1fr; }
    .wizard { grid-template-columns: 1fr; }
    .wizard-rail { min-height: auto; padding: 18px; }
    .rail-brand, .rail-help, .rail-step span { display: none; }
    .wizard-rail { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; }
    .rail-step { display: flex; justify-content: center; padding: 12px 5px; }
    .rail-step i { display: none; }
    .field-grid.three, .field-grid.two, .review-sections { grid-template-columns: 1fr; }
    .field.span-2 { grid-column: auto; }
    .constraint-callout, .generate-panel { grid-template-columns: 1fr; }
    .constraint-callout strong { grid-row: auto; }
    .review-hero { align-items: flex-start; flex-direction: column; }
    .review-budget { text-align: left; }
}
@media (max-width: 560px) {
    .wizard-intro { padding-top: 45px; }
    .wizard-panel { padding: 28px 20px; }
    .panel-header { flex-direction: column; }
    .surface-grid, .choice-grid { grid-template-columns: 1fr; }
    .wizard-actions > span { display: none; }
    .review-sections dl div { grid-template-columns: 1fr; }
    .review-sections dd { text-align: left; }
}

/* V3.3 discovery corrections */
.brand-logo { width: 92px; height: 48px; object-fit: contain; object-position: left center; }
.brand-copy strong { font-size: 1rem; }
.brand-copy small { font-size: .78rem; }
.location-verify-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; align-items: end; }
.verify-location-button { min-height: 48px; padding: 0 20px; color: white; background: var(--green); border: 1px solid var(--green); border-radius: 10px; font-weight: 800; cursor: pointer; }
.verify-location-button:disabled { opacity: .55; }
.location-status { margin: 12px 0 18px; padding: 12px 14px; color: var(--muted); background: #f4f7f4; border: 1px solid var(--line); border-radius: 10px; }
.location-status.success { color: #15552b; background: #edf8f0; border-color: #b9d9c2; }
.location-status.error { color: #8b241c; background: #fff1ef; border-color: #efc5bf; }
.field-help { display: block; margin: 7px 0 0; color: var(--muted); font-size: .82rem; line-height: 1.45; font-weight: 500; }
.calculated-note { display: block; margin-top: 7px; color: var(--green); font-size: .78rem; font-weight: 750; }
.calculation-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 18px; }
.calculation-strip article { padding: 16px; background: #f1f6f2; border: 1px solid #d7e4da; border-radius: 12px; }
.calculation-strip span { display: block; margin-bottom: 7px; color: var(--muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .07em; }
.calculation-strip strong { font-size: 1.2rem; }
.field.invalid input, .field.invalid select { border-color: #bc3e32; box-shadow: 0 0 0 3px rgba(188,62,50,.09); }
.validation-message { margin-top: 6px; color: #a32c22; font-size: .78rem; font-weight: 700; }
@media (max-width: 780px) { .location-verify-row, .calculation-strip { grid-template-columns: 1fr; } .brand-logo { width: 74px; } }

.roof-life-grid { margin-top: 16px; }
.assumption-note { margin-top: 16px; padding: 16px 18px; border-left: 4px solid var(--green); border-radius: 8px; background: #f2f7f3; color: var(--muted); line-height: 1.55; }

/* Module 6C: transparent engineering-performance cards */
.performance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 24px; }
.performance-card { padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--wash); break-inside: avoid; }
.performance-card > span { display: block; color: var(--muted); font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
.performance-card > strong { display: block; margin: 10px 0 18px; font-size: 1.45rem; }
.performance-card dl { margin: 0; }
.performance-card dt { margin-top: 10px; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.performance-card dd { margin: 4px 0 0; color: var(--muted); line-height: 1.5; }
@media (max-width: 760px) { .performance-grid { grid-template-columns: 1fr; } }


/* Module 6F: integrated commercial decision report */
.financial-view-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; margin-top:22px; }
.financial-view-grid article, .consultant-grid article, .phase-grid article { padding:20px; border:1px solid var(--line); border-radius:14px; background:var(--wash); break-inside:avoid; }
.financial-view-grid span, .phase-grid span { display:block; color:var(--muted); font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.financial-view-grid strong { display:block; margin:9px 0; font-size:1.55rem; }
.financial-view-grid small { color:var(--muted); line-height:1.45; }
.consultant-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:22px 0; }
.consultant-grid h3 { margin-top:0; }
.consultant-grid li, .next-actions li, .approval-list li { margin:8px 0; color:var(--muted); line-height:1.5; }
.phase-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; margin:16px 0 24px; }
.phase-grid strong { display:block; margin:10px 0; }
.phase-grid p { color:var(--muted); line-height:1.5; }
.next-actions, .approval-list { padding-left:22px; }
@media (max-width:900px) { .financial-view-grid { grid-template-columns:repeat(2,1fr); } .phase-grid { grid-template-columns:1fr; } }
@media (max-width:650px) { .financial-view-grid, .consultant-grid { grid-template-columns:1fr; } }

/* V11.9.2 - restored verified Engineering Site Assessment */
.site-assessment { margin-top: 24px; padding: 24px; border: 1px solid #bfd2c4; border-radius: 18px; background: linear-gradient(180deg, #f7faf8, #eef5f0); }
.site-assessment[hidden] { display: none; }
.site-assessment > header { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; margin-bottom: 18px; }
.site-assessment h3 { margin: 3px 0 0; font-size: 1.45rem; }
.assessment-confidence { flex: 0 0 auto; padding: 8px 12px; color: #174829; background: #dcebdc; border-radius: 999px; font-size: .76rem; font-weight: 850; text-transform: uppercase; letter-spacing: .055em; }
.site-assessment-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.site-assessment-grid article { min-height: 126px; padding: 17px; border: 1px solid #d4e0d7; border-radius: 13px; background: rgba(255,255,255,.9); }
.site-assessment-grid span { display: block; color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .065em; }
.site-assessment-grid strong { display: block; margin: 9px 0 6px; color: var(--green-dark); font-size: 1.08rem; line-height: 1.25; }
.site-assessment-grid small { display: block; color: var(--muted); line-height: 1.45; }
.assessment-narrative { margin-top: 14px; padding: 16px 18px; color: #294b37; background: white; border-left: 4px solid var(--green); border-radius: 8px; line-height: 1.55; }
@media (max-width: 900px) { .site-assessment-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 620px) { .site-assessment > header { display: grid; } .site-assessment-grid { grid-template-columns: 1fr; } }

/* Version 12.0 — Infrastructure Wealth Engine */
.wealth-hero-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; margin:24px 0 30px; }
.wealth-hero-grid article { padding:22px; border:1px solid var(--line); border-radius:16px; background:linear-gradient(180deg,#f7fbf7 0%,var(--wash) 100%); break-inside:avoid; }
.wealth-hero-grid span { display:block; color:var(--muted); font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.wealth-hero-grid strong { display:block; margin:10px 0; font-size:1.7rem; color:var(--green); }
.wealth-hero-grid small { color:var(--muted); line-height:1.45; }
.financial-view-grid.five-up { grid-template-columns:repeat(5,minmax(0,1fr)); }
.wealth-timeline { display:grid; gap:14px; margin:20px 0 30px; }
.wealth-year { padding:17px 18px; border:1px solid var(--line); border-radius:14px; background:#fff; break-inside:avoid; }
.wealth-year-heading { display:flex; justify-content:space-between; align-items:baseline; gap:20px; margin-bottom:10px; }
.wealth-year-heading strong { font-size:1.05rem; }
.wealth-year-heading span { font-size:1.2rem; font-weight:800; color:var(--green); }
.wealth-bar-track { height:12px; border-radius:999px; background:#e8eee9; overflow:hidden; }
.wealth-bar { min-width:2px; height:100%; border-radius:999px; background:linear-gradient(90deg,#2c6a3f,#7aa94b); }
.wealth-year-meta { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:10px; color:var(--muted); font-size:.8rem; }
.wealth-table-wrap { overflow-x:auto; margin:20px 0; }
.wealth-table { width:100%; border-collapse:collapse; font-size:.84rem; }
.wealth-table th, .wealth-table td { padding:12px 10px; border-bottom:1px solid var(--line); text-align:right; white-space:nowrap; }
.wealth-table th:first-child, .wealth-table td:first-child { text-align:left; }
.wealth-table th { color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; }
@media (max-width:1100px) { .wealth-hero-grid { grid-template-columns:repeat(2,1fr); } .financial-view-grid.five-up { grid-template-columns:repeat(2,1fr); } }
@media (max-width:650px) { .wealth-hero-grid, .financial-view-grid.five-up, .wealth-year-meta { grid-template-columns:1fr; } }
@media print {
  .wealth-hero-grid { grid-template-columns:repeat(2,1fr); }
  .financial-view-grid.five-up { grid-template-columns:repeat(2,1fr); }
  .wealth-year { break-inside:avoid; }
  .wealth-table { font-size:8pt; }
}


/* ============================
   VERSION 12.1 REPORT POLISH
   ============================ */
.report-cover {
    min-height: 620px;
    padding: clamp(34px, 5vw, 62px);
    background: linear-gradient(155deg, #102b1b 0%, #1d4b2f 58%, #2f6740 100%);
}
.cover-brand { display:flex; flex-direction:column; align-items:flex-start; max-width:1000px; }
.report-cover-logo { width:min(360px, 52vw); height:auto; max-height:145px; object-fit:contain; object-position:left center; margin:0 0 24px; filter:none; }
.report-cover h1 { font-size:clamp(2.8rem, 5.1vw, 5.3rem); line-height:.95; white-space:normal; }
.report-cover h2 { margin-top:18px; font-size:clamp(1.05rem, 1.8vw, 1.6rem); line-height:1.35; opacity:.88; }
.cover-meta { gap:14px; }
.cover-project-name { display:block; max-width:100%; font-size:clamp(3rem, 7.6vw, 7.4rem); line-height:.9; letter-spacing:-.055em; overflow-wrap:anywhere; }
.cover-client { font-size:clamp(1.15rem, 2vw, 1.65rem); font-weight:650; }
.cover-date { font-size:clamp(1.3rem, 2.4vw, 2rem); font-weight:800; }
.report-cta { display:flex; flex-direction:column; justify-content:center; }
.report-cta > .lead { max-width:1000px; }
.cta-services { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:30px 0 44px; }
.cta-services article { min-height:130px; padding:22px; border:1px solid var(--line); border-radius:16px; background:var(--wash); }
.cta-services strong, .cta-services span { display:block; }
.cta-services strong { margin-bottom:9px; color:var(--green); font-size:1.05rem; }
.cta-services span { color:var(--muted); line-height:1.55; }
.cta-contact { display:grid; grid-template-columns:180px 1fr auto; gap:24px; align-items:center; padding-top:28px; border-top:2px solid var(--green); }
.cta-contact img { width:170px; height:auto; }
.cta-contact > div { display:grid; gap:5px; }
.cta-contact > div > strong { font-size:1.35rem; }
.cta-contact > div > span { color:var(--muted); }
.cta-contact-lines { text-align:right; font-weight:750; }
@media (max-width:900px) { .cta-services { grid-template-columns:1fr 1fr; } .cta-contact { grid-template-columns:140px 1fr; } .cta-contact-lines { grid-column:1/-1; text-align:left; } }
@media (max-width:600px) { .cta-services { grid-template-columns:1fr; } .cover-project-name { font-size:3rem; } }
@media print {
  .report-cover-logo { width:230px; max-height:86px; }
  .cover-project-name { font-size:56pt; }
  .cover-date { font-size:18pt; }
  .cta-services { grid-template-columns:repeat(2,1fr); }
  .report-cta { page-break-after:auto; }
}


/* VERSION 12.1.2 — cover identity and transparent lifecycle math */
.wealth-method-intro { max-width:980px; color:var(--muted); line-height:1.65; }
.wealth-formula-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:18px 0 30px; }
.wealth-formula-grid article { padding:18px 20px; border:1px solid var(--line); border-left:4px solid var(--green); border-radius:14px; background:var(--wash); }
.wealth-formula-grid span, .wealth-formula-grid strong { display:block; }
.wealth-formula-grid span { margin-bottom:7px; color:var(--green); font-size:.76rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.wealth-formula-grid strong { font-size:.96rem; line-height:1.5; }
.wealth-breakdown { margin-top:14px; border-top:1px solid var(--line); padding-top:11px; }
.wealth-breakdown summary { cursor:pointer; color:var(--green); font-weight:800; }
.wealth-breakdown-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 18px; margin-top:12px; }
.wealth-breakdown-grid > span { display:flex; justify-content:space-between; gap:16px; padding:7px 0; border-bottom:1px dotted var(--line); color:var(--muted); }
.wealth-breakdown-grid strong { color:var(--ink); white-space:nowrap; }
.wealth-breakdown-total { grid-column:1/-1; margin-top:4px; padding-top:12px !important; border-top:2px solid var(--green); border-bottom:0 !important; color:var(--green) !important; font-weight:800; }
@media (max-width:700px) { .wealth-formula-grid, .wealth-breakdown-grid { grid-template-columns:1fr; } }
@media print {
  .wealth-breakdown { display:block; }
  .wealth-breakdown summary { display:none; }
  .wealth-breakdown-grid { display:grid; grid-template-columns:repeat(2,1fr); }
  .wealth-formula-grid { grid-template-columns:repeat(2,1fr); }
}


/* ============================
   VERSION 12.3A — EXECUTIVE ADVISORY EDITION
   ============================ */
.report-shell { max-width: 1320px; }
.report-section { padding: clamp(44px, 6.5vw, 88px); margin-bottom: 34px; }
.report-section h2 { max-width: 980px; line-height: 1.02; }
.report-section h3 { margin-top: 36px; }
.executive-cover {
    min-height: 760px;
    padding: clamp(42px, 6vw, 78px);
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 84% 18%, rgba(179,207,99,.28), transparent 24%),
        linear-gradient(150deg, #0d2417 0%, #173c25 52%, #2a613d 100%);
}
.executive-cover::after {
    content: "";
    position: absolute;
    right: -140px;
    bottom: -180px;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
}
.cover-topline { display:flex; justify-content:space-between; gap:24px; position:relative; z-index:1; padding-bottom:18px; border-bottom:1px solid rgba(255,255,255,.22); text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; font-weight:800; opacity:.78; }
.executive-cover .cover-brand { position:relative; z-index:1; margin-top:70px; }
.executive-cover .report-cover-logo { width:min(430px, 58vw); max-height:178px; margin-bottom:46px; }
.cover-title-group { max-width:1050px; }
.executive-cover h1 { font-size:clamp(3.6rem, 6.6vw, 7rem); line-height:.9; letter-spacing:-.067em; }
.executive-cover h2 { margin:24px 0 0; max-width:none; font-size:clamp(1.15rem, 2vw, 1.75rem); letter-spacing:.02em; font-weight:500; }
.executive-cover .cover-meta { position:relative; z-index:1; gap:14px; }
.cover-document-label { text-transform:uppercase; letter-spacing:.15em; font-size:.74rem; font-weight:850; color:var(--accent); }
.executive-cover .cover-project-name { max-width:1000px; font-size:clamp(2.8rem, 6vw, 6.3rem); line-height:.92; }
.cover-meta-line { display:flex; justify-content:space-between; gap:28px; align-items:flex-end; padding-top:16px; border-top:1px solid rgba(255,255,255,.22); }
.executive-cover .cover-client, .executive-cover .cover-date { font-size:1rem; font-weight:650; }
.executive-advisory { border-top: 8px solid var(--green); }
.advisory-opening { max-width:1120px; font-size:clamp(1.35rem, 2.2vw, 1.75rem); line-height:1.62; }
.advisory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:38px 0 12px; }
.advisory-grid article { padding:26px 28px; border:1px solid var(--line); border-radius:16px; background:#fbfcfb; }
.advisory-grid span { display:block; margin-bottom:12px; color:var(--green); text-transform:uppercase; letter-spacing:.09em; font-size:.75rem; font-weight:850; }
.advisory-grid p { margin:0; color:var(--ink); line-height:1.68; }
.advisory-grid .owner-action-callout { background:linear-gradient(145deg,var(--green-dark),var(--green)); border-color:transparent; color:white; }
.advisory-grid .owner-action-callout span { color:var(--accent); }
.advisory-grid .owner-action-callout p { color:white; }
.executive-metrics { margin-top:32px; }
.executive-metrics article { background:white; border-top:4px solid var(--green); }
@media (max-width:800px) {
  .cover-topline, .cover-meta-line { flex-direction:column; align-items:flex-start; }
  .executive-cover .cover-brand { margin-top:44px; }
  .advisory-grid { grid-template-columns:1fr; }
}
@media print {
  .executive-cover { min-height:100vh; }
  .executive-cover .report-cover-logo { width:300px; max-height:118px; margin-bottom:34px; }
  .executive-cover h1 { font-size:50pt; }
  .executive-cover .cover-project-name { font-size:42pt; }
  .advisory-grid { grid-template-columns:repeat(2,1fr); }
  .executive-advisory { page-break-after:always; }
}

/* ============================
   VERSION 12.3B — OBJECTIVE ALIGNMENT + AI ENGINEERING ADVISOR
   ============================ */
.objective-alignment-section { border-top:8px solid #b4cf63; }
.alignment-legend { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:28px 0 24px; }
.alignment-legend-item { display:grid; grid-template-columns:18px auto; column-gap:9px; align-items:center; padding:14px 15px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.alignment-legend-item i { width:14px; height:14px; border-radius:50%; grid-row:1/3; }
.alignment-legend-item strong { font-size:.83rem; }
.alignment-legend-item small { color:var(--muted); line-height:1.35; }
.level-primary i, .alignment-dot.level-primary { background:#185a34; }
.level-secondary i, .alignment-dot.level-secondary { background:#70a344; }
.level-supporting i, .alignment-dot.level-supporting { background:#c4d984; color:#17351f; }
.level-limited i, .alignment-dot.level-limited { background:#e8ece9; color:#667069; }
.alignment-table-wrap { overflow-x:auto; margin:18px 0 34px; border:1px solid var(--line); border-radius:14px; }
.alignment-table { width:100%; min-width:1180px; border-collapse:collapse; background:#fff; font-size:.78rem; }
.alignment-table th, .alignment-table td { padding:13px 9px; border-right:1px solid #edf0ed; border-bottom:1px solid var(--line); text-align:center; vertical-align:middle; }
.alignment-table th { color:var(--muted); background:#f5f8f5; font-size:.66rem; text-transform:uppercase; letter-spacing:.055em; line-height:1.3; }
.alignment-table th:first-child, .alignment-table td:first-child { position:sticky; left:0; z-index:2; min-width:190px; text-align:left; background:#fff; box-shadow:5px 0 10px rgba(20,50,30,.04); }
.alignment-table th:first-child { background:#f5f8f5; }
.alignment-table td:first-child strong, .alignment-table td:first-child small { display:block; }
.alignment-table td:first-child small { margin-top:4px; color:var(--muted); }
.alignment-dot { display:inline-grid; place-items:center; width:27px; height:27px; border-radius:50%; color:#fff; font-size:.7rem; font-weight:900; }
.alignment-table td > small { display:block; margin-top:4px; color:var(--muted); font-size:.65rem; }
.alignment-summary-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:13px; margin-top:18px; }
.alignment-summary-grid article { padding:17px; border:1px solid var(--line); border-radius:13px; background:var(--wash); break-inside:avoid; }
.alignment-summary-grid span, .alignment-summary-grid strong, .alignment-summary-grid small { display:block; }
.alignment-summary-grid span { min-height:32px; color:var(--muted); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.055em; }
.alignment-summary-grid strong { margin:9px 0; font-size:1.25rem; }
.alignment-summary-grid small { margin-top:8px; color:var(--muted); }
.alignment-score-track { height:7px; overflow:hidden; border-radius:999px; background:#e4e9e5; }
.alignment-score-track i { display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,#215f38,#9fbd57); }
.engineering-advisor-section { background:linear-gradient(180deg,#fff 0%,#f8faf8 100%); }
.advisor-opinion-callout { margin:30px 0; padding:28px 30px; border-left:6px solid var(--accent); border-radius:14px; background:linear-gradient(145deg,var(--green-dark),var(--green)); color:#fff; }
.advisor-opinion-callout span { display:block; margin-bottom:10px; color:var(--accent); font-size:.74rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.advisor-opinion-callout p { margin:0; color:#fff; font-size:1.08rem; line-height:1.68; }
.advisor-reasoning-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:28px 0; }
.advisor-reasoning-grid article { padding:24px 25px; border:1px solid var(--line); border-radius:14px; background:#fff; break-inside:avoid; }
.advisor-reasoning-grid .advisor-wide { grid-column:1/-1; border-top:4px solid var(--green); }
.advisor-reasoning-grid h3 { margin:0 0 13px; font-size:1.08rem; }
.advisor-reasoning-grid p, .advisor-reasoning-grid li { color:var(--muted); line-height:1.58; }
.advisor-reasoning-grid ul { margin:0; padding-left:20px; }
.advisor-reasoning-grid li { margin:8px 0; }
.advisor-decision-strip { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:16px 0 30px; }
.advisor-decision-strip span { padding:15px 16px; border:1px solid #d9e3dc; border-radius:11px; background:#eef5f0; color:#24452f; font-size:.8rem; font-weight:750; line-height:1.4; }
.advisor-next-actions { counter-reset:advisor-step; display:grid; gap:12px; padding:0; list-style:none; }
.advisor-next-actions li { counter-increment:advisor-step; position:relative; margin:0; padding:17px 20px 17px 58px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.advisor-next-actions li::before { content:counter(advisor-step); position:absolute; left:18px; top:14px; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--green); color:#fff; font-weight:850; }
@media (max-width:1000px) { .alignment-legend { grid-template-columns:repeat(2,1fr); } .alignment-summary-grid { grid-template-columns:repeat(2,1fr); } .advisor-decision-strip { grid-template-columns:repeat(2,1fr); } }
@media (max-width:700px) { .alignment-legend, .alignment-summary-grid, .advisor-reasoning-grid, .advisor-decision-strip { grid-template-columns:1fr; } .advisor-reasoning-grid .advisor-wide { grid-column:auto; } }
@media print {
  .objective-alignment-section { page-break-before:always; }
  .alignment-table-wrap { overflow:visible; }
  .alignment-table { min-width:0; font-size:6.5pt; }
  .alignment-table th, .alignment-table td { padding:6px 3px; }
  .alignment-table th:first-child, .alignment-table td:first-child { position:static; min-width:100px; box-shadow:none; }
  .alignment-dot { width:18px; height:18px; font-size:5.5pt; }
  .alignment-summary-grid { grid-template-columns:repeat(5,1fr); }
  .engineering-advisor-section { page-break-before:always; }
  .advisor-reasoning-grid { grid-template-columns:repeat(2,1fr); }
  .advisor-decision-strip { grid-template-columns:repeat(5,1fr); }
}


/* Version 12.3C — Infrastructure Wealth Engine executive visuals */
.executive-chart-suite { margin:34px 0 38px; padding:28px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(180deg,#fff 0%,#f8faf8 100%); }
.chart-heading { display:grid; grid-template-columns:minmax(0,.8fr) minmax(320px,1.2fr); gap:32px; align-items:end; margin-bottom:18px; }
.chart-heading h3 { margin:2px 0 0; font-size:1.45rem; }
.chart-heading > p { margin:0; color:var(--muted); line-height:1.6; }
.chart-heading-spaced { margin-top:42px; padding-top:32px; border-top:1px solid var(--line); }
.chart-legend { display:flex; flex-wrap:wrap; gap:10px 18px; margin:0 0 18px; color:var(--muted); font-size:.76rem; font-weight:700; }
.chart-legend span { display:flex; align-items:center; gap:7px; }
.wealth-swatch { width:10px; height:10px; border-radius:3px; display:inline-block; }
.cash { background:#22577a; }.asset { background:#4b7f52; }.natural { background:#86a85f; }.strategic { background:#b5a642; }.equity { background:#5a5475; }
.stacked-growth-chart { display:grid; gap:12px; }
.stacked-growth-row { display:grid; grid-template-columns:64px minmax(0,1fr) 110px; gap:12px; align-items:center; }
.stacked-growth-row > strong { font-size:.78rem; color:var(--muted); }
.stacked-growth-row > span { text-align:right; font-weight:800; color:var(--green); }
.stacked-growth-track { height:24px; background:#e9eeea; border-radius:6px; overflow:hidden; }
.stacked-growth-width { height:100%; display:flex; min-width:3px; border-radius:6px; overflow:hidden; }
.stacked-segment { height:100%; display:block; border-right:1px solid rgba(255,255,255,.45); }
.lifecycle-curve-card { padding:18px 20px 12px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.lifecycle-curve { width:100%; height:260px; overflow:visible; }
.curve-axis { stroke:#d7ded8; stroke-width:.7; }
.curve-line { fill:none; stroke:var(--green); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.curve-point { fill:#fff; stroke:var(--green); stroke-width:1.2; }
.curve-labels { display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); gap:6px; border-top:1px solid var(--line); padding-top:10px; }
.curve-labels span { text-align:center; color:var(--muted); font-size:.64rem; }
.curve-labels strong { display:block; color:var(--ink); font-size:.68rem; }
.maturity-timeline { display:flex; gap:8px; align-items:stretch; }
.maturity-timeline article { min-width:0; flex:1 1 20%; padding:18px 14px; border-top:5px solid var(--green); background:#fff; border-radius:0 0 12px 12px; box-shadow:0 1px 0 rgba(0,0,0,.04); }
.maturity-timeline article:nth-child(2) { border-color:#4b7f52; }.maturity-timeline article:nth-child(3) { border-color:#86a85f; }.maturity-timeline article:nth-child(4) { border-color:#b5a642; }.maturity-timeline article:nth-child(5) { border-color:#5a5475; }
.maturity-timeline span { display:flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:var(--wash); color:var(--green); font-weight:900; }
.maturity-timeline strong, .maturity-timeline small { display:block; }
.maturity-timeline strong { margin:12px 0 3px; font-size:.9rem; }
.maturity-timeline small { color:var(--green); font-weight:800; }
.maturity-timeline p { margin:10px 0 0; color:var(--muted); font-size:.75rem; line-height:1.5; }
.waterfall-chart { display:grid; grid-template-columns:repeat(8,minmax(70px,1fr)); gap:10px; align-items:end; min-height:280px; padding:24px 12px 0; border-bottom:2px solid var(--line); background:linear-gradient(180deg,rgba(255,255,255,.2),#fff); }
.waterfall-step { min-width:0; text-align:center; }
.waterfall-bar-wrap { height:190px; display:flex; align-items:flex-end; justify-content:center; }
.waterfall-bar-wrap span { display:block; width:64%; min-height:10px; border-radius:7px 7px 0 0; background:var(--green); }
.waterfall-step.negative .waterfall-bar-wrap span { background:#91635d; }
.waterfall-step.total .waterfall-bar-wrap span { background:#243c2c; }
.waterfall-step strong { display:block; min-height:38px; margin-top:9px; font-size:.7rem; line-height:1.25; }
.waterfall-step small { display:block; color:var(--muted); font-size:.68rem; font-weight:800; }
.chart-footnote { margin:16px 0 0; color:var(--muted); font-size:.75rem; line-height:1.5; }
@media (max-width:900px) { .chart-heading { grid-template-columns:1fr; gap:10px; } .maturity-timeline { display:grid; grid-template-columns:repeat(2,1fr); } .waterfall-chart { overflow-x:auto; grid-template-columns:repeat(8,110px); } .curve-labels { grid-template-columns:repeat(5,1fr); } }
@media (max-width:600px) { .executive-chart-suite { padding:18px; } .stacked-growth-row { grid-template-columns:52px minmax(0,1fr); } .stacked-growth-row > span { grid-column:2; font-size:.76rem; } .maturity-timeline { grid-template-columns:1fr; } }
@media print { .executive-chart-suite { break-inside:auto; } .chart-heading-spaced { break-before:auto; } .lifecycle-curve-card,.maturity-timeline,.waterfall-chart,.stacked-growth-chart { break-inside:avoid; } .lifecycle-curve { height:210px; } }

/* Version 12.3D — Executive Decision Summary */
.executive-decision-summary { page-break-before:always; }
.decision-hero { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr); gap:28px; align-items:stretch; margin:22px 0 26px; }
.decision-hero > div { padding:30px 32px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.decision-hero h2 { margin:12px 0 12px; font-size:2rem; line-height:1.15; }
.decision-status { display:inline-block; padding:7px 11px; border-radius:999px; background:#e9f2eb; color:var(--green); font-size:.72rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.decision-hero aside { display:flex; flex-direction:column; justify-content:flex-end; padding:28px; border-radius:18px; background:linear-gradient(145deg,var(--green-dark),var(--green)); color:#fff; }
.decision-hero aside span { color:var(--accent); font-size:.72rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.decision-hero aside strong { margin-top:12px; font-size:1.15rem; line-height:1.45; }
.decision-commercial-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:38px; }
.decision-commercial-strip article { padding:18px; border-top:4px solid var(--green); background:var(--wash); border-radius:0 0 12px 12px; }
.decision-commercial-strip span,.decision-commercial-strip strong { display:block; }
.decision-commercial-strip span { min-height:30px; color:var(--muted); font-size:.7rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.decision-commercial-strip strong { margin-top:8px; font-size:1.2rem; }
.decision-block { margin:42px 0 0; padding-top:34px; border-top:1px solid var(--line); }
.decision-section-heading { display:grid; grid-template-columns:46px minmax(0,1fr); gap:16px; align-items:start; margin-bottom:20px; }
.decision-section-heading > span { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--green); color:#fff; font-weight:900; }
.decision-section-heading h3 { margin:0 0 4px; font-size:1.4rem; }
.decision-section-heading p { margin:0; color:var(--muted); }
.reasons-to-proceed { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.reasons-to-proceed article { padding:24px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.reasons-to-proceed article > span { color:var(--accent); font-size:1.35rem; font-weight:900; }
.reasons-to-proceed h4 { margin:16px 0 9px; font-size:1rem; }
.reasons-to-proceed p { margin:0; color:var(--muted); line-height:1.58; }
.risk-register { border:1px solid var(--line); border-radius:15px; overflow:hidden; }
.risk-register-head,.risk-register article { display:grid; grid-template-columns:1.1fr .45fr .5fr 1.8fr; gap:14px; align-items:center; padding:15px 18px; }
.risk-register-head { background:#edf3ee; color:var(--muted); font-size:.69rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.risk-register article { border-top:1px solid var(--line); }
.risk-register article p { margin:0; color:var(--muted); line-height:1.45; }
.risk-pill { justify-self:start; padding:5px 9px; border-radius:999px; font-size:.7rem; font-weight:850; }
.impact-high { background:#f3e8e6; color:#7b3730; }.impact-moderate { background:#f2eee1; color:#6c5a20; }.impact-low { background:#e9f2eb; color:#2e6940; }
.validation-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.validation-grid article { display:grid; grid-template-columns:34px minmax(0,1fr); gap:12px; padding:19px; border:1px solid var(--line); border-radius:13px; background:#fff; }
.validation-grid article > span { color:var(--green); font-weight:900; }
.validation-grid strong { display:block; margin-bottom:5px; }
.validation-grid p { margin:0; color:var(--muted); line-height:1.5; }
.engineering-steps { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.engineering-steps article { padding:22px; border-top:5px solid var(--green); background:var(--wash); border-radius:0 0 13px 13px; }
.engineering-steps article > span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--green); color:#fff; font-weight:900; }
.engineering-steps h4 { margin:14px 0 7px; }
.engineering-steps p { color:var(--muted); line-height:1.5; }
.engineering-steps small { display:block; padding-top:10px; border-top:1px solid var(--line); color:var(--green); font-weight:800; }
.confidence-summary-block { padding:30px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(180deg,#fff,#f7faf7); }
.confidence-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.confidence-summary-grid article { padding:18px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.confidence-summary-grid span,.confidence-summary-grid strong { display:block; }
.confidence-summary-grid span { color:var(--muted); font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.confidence-summary-grid strong { margin-top:8px; font-size:1.15rem; }
.confidence-interpretation { margin:18px 0 0; color:var(--muted); line-height:1.6; }
.decision-conclusion { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin-top:38px; overflow:hidden; border-radius:15px; background:var(--line); }
.decision-conclusion div { padding:23px; background:var(--green-dark); color:#fff; }
.decision-conclusion span { display:block; margin-bottom:9px; color:var(--accent); font-size:.72rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.decision-conclusion p { margin:0; color:#fff; line-height:1.55; }
@media (max-width:900px) { .decision-hero { grid-template-columns:1fr; } .decision-commercial-strip,.engineering-steps,.confidence-summary-grid { grid-template-columns:repeat(2,1fr); } .reasons-to-proceed,.decision-conclusion { grid-template-columns:1fr; } .risk-register-head { display:none; } .risk-register article { grid-template-columns:1fr auto auto; } .risk-register article p { grid-column:1/-1; } }
@media (max-width:600px) { .decision-commercial-strip,.validation-grid,.engineering-steps,.confidence-summary-grid { grid-template-columns:1fr; } .decision-hero > div,.decision-hero aside,.confidence-summary-block { padding:20px; } }
@media print { .executive-decision-summary { page-break-before:always; } .decision-block,.reasons-to-proceed article,.risk-register,.validation-grid article,.engineering-steps article,.confidence-summary-block { break-inside:avoid; } .decision-hero h2 { font-size:18pt; } }

/* Version 12.3E — Contextual recommendation intelligence */
.recommendation-detail { min-width:0; }
.performance-drivers { margin-top:12px; }
.driver-heading { display:block; margin-bottom:7px; color:var(--green); font-size:.68rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.driver-list { display:flex; flex-wrap:wrap; gap:6px; }
.driver-chip { display:inline-flex; align-items:center; min-height:25px; padding:5px 8px; border:1px solid #cbd9ce; border-radius:999px; background:#f4f8f4; color:#244b31; font-size:.66rem; font-weight:750; line-height:1.2; }
.score-basis { max-width:900px; margin:10px 0 0; padding:13px 16px; border-left:4px solid var(--green); background:var(--wash); color:var(--muted); font-size:.82rem; line-height:1.55; }
.score-basis strong { color:var(--ink); }
@media (max-width:900px) { .driver-list { gap:5px; } .driver-chip { white-space:normal; } }
@media print { .performance-drivers,.score-basis { break-inside:avoid; } .driver-chip { border-color:#b9c7bc; background:#fff; } }


/* V13.2 Module 4 — Engineering Investment Strategy */
.investment-strategy-section .lead { max-width: 980px; }
.strategy-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0 28px;
}
.strategy-summary-card,
.opportunity-status-card {
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--paper);
    padding: 18px;
}
.strategy-summary-card span,
.opportunity-status-card span,
.sequence-label,
.strategy-stopping-callout > span {
    display: block;
    color: var(--muted);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.strategy-summary-card strong {
    display: block;
    margin-top: 8px;
    font-size: 1.28rem;
    line-height: 1.2;
}
.investment-sequence-list { display: grid; gap: 16px; margin: 22px 0 30px; }
.investment-sequence-card {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 18px;
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: linear-gradient(180deg, #fff, #f8faf8);
}
.sequence-number {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--green);
    color: #fff;
    font-size: 1.05rem;
    font-weight: 900;
}
.sequence-heading {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
}
.sequence-heading h3 { margin: 4px 0 0; }
.sequence-value { text-align: right; }
.sequence-value strong,
.sequence-value span { display: block; }
.sequence-value span { margin-top: 4px; color: var(--muted); }
.sequence-copy > p { margin: 12px 0; }
.sequence-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
.sequence-metrics span {
    padding: 10px 12px;
    border-radius: 10px;
    background: var(--wash);
    font-size: .82rem;
}
.strategy-trigger {
    margin-top: 12px !important;
    padding: 10px 12px;
    border-left: 3px solid var(--accent);
    background: #f7faee;
}
.opportunity-status-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin: 16px 0 24px;
}
.opportunity-status-card strong {
    display: block;
    margin: 8px 0;
    font-size: 1.35rem;
}
.opportunity-status-card small,
.opportunity-status-card em {
    display: block;
    margin-top: 8px;
    color: var(--muted);
    font-style: normal;
}
.opportunity-bar {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #e5ebe6;
}
.opportunity-bar i {
    display: block;
    height: 100%;
    max-width: 100%;
    border-radius: inherit;
    background: var(--green);
}
.strategy-stopping-callout {
    padding: 18px 20px;
    border-radius: 14px;
    background: var(--green-dark);
    color: #fff;
}
.strategy-stopping-callout > span { color: rgba(255,255,255,.7); }
.strategy-stopping-callout p { margin: 8px 0 0; }

@media (max-width: 980px) {
    .strategy-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sequence-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .opportunity-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
    .strategy-summary-grid,
    .sequence-metrics,
    .opportunity-status-grid { grid-template-columns: 1fr; }
    .investment-sequence-card { grid-template-columns: 1fr; }
    .sequence-heading { display: block; }
    .sequence-value { margin-top: 12px; text-align: left; }
}
@media print {
    .investment-sequence-card,
    .strategy-summary-card,
    .opportunity-status-card,
    .strategy-stopping-callout { break-inside: avoid; box-shadow: none; }
}

/* V13.2 Module 6 — Existing Asset Intelligence */
.asset-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; margin:24px 0; }
.asset-card { border:1px solid var(--line, #d8e2dc); border-radius:14px; padding:18px; background:#fff; break-inside:avoid; }
.asset-card h3 { margin:8px 0 4px; }
.asset-card strong { display:block; font-size:1.25rem; }
.asset-card small, .asset-status { color:#64736b; font-size:.78rem; }
.asset-status { text-transform:uppercase; letter-spacing:.08em; }
.asset-card p { margin:12px 0 0; font-size:.88rem; }
.asset-credit-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin:14px 0 20px; }
.asset-credit-grid article { padding:12px 14px; border-radius:10px; background:#f3f7f4; }
.asset-credit-grid span { display:block; font-size:.75rem; text-transform:uppercase; letter-spacing:.05em; color:#64736b; }
.asset-credit-grid strong { font-size:1.05rem; }
.section-help { color:#64736b; margin-top:-6px; }
@media print { .asset-card, .asset-credit-grid article { box-shadow:none; } }

/* V13.2 Module 7 — Production Performance Gap Intelligence */
.performance-gap-section{break-inside:avoid}.gap-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}.gap-card{border:1px solid #d9e1dc;border-radius:12px;padding:15px;background:#fff}.gap-card-head{display:flex;justify-content:space-between;gap:12px;font-size:13px}.gap-card-head span{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#587067}.gap-meter{height:7px;background:#edf1ee;border-radius:10px;overflow:hidden;margin:12px 0}.gap-meter i{display:block;height:100%;background:linear-gradient(90deg,#243f34,#6c8a72);border-radius:10px}.gap-stats{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:10px;color:#5c665f}.gap-closure-callout{display:grid;grid-template-columns:190px 1fr;gap:22px;align-items:center;background:#f3f6f3;border-left:5px solid #314d3e;padding:18px 20px;margin-top:18px}.gap-closure-callout span{display:block;font-size:9px;letter-spacing:.09em}.gap-closure-callout strong{font-size:30px}.gap-closure-callout p{margin:0}@media(max-width:800px){.gap-summary-grid{grid-template-columns:1fr}.gap-closure-callout{grid-template-columns:1fr}}


/* V13.2 Module 9 — Production Capital Allocation Intelligence */
.capital-allocation-section{break-inside:auto}
.capital-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:22px 0 28px}
.capital-summary-grid article{border:1px solid #d8e0db;border-radius:12px;padding:15px;background:#f8faf8}
.capital-summary-grid span{display:block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#607067;margin-bottom:7px}
.capital-summary-grid strong{display:block;font-size:18px;line-height:1.15;color:#243e33}
.capital-layer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0 28px}
.capital-layer-grid article{border:1px solid #d8e0db;border-radius:12px;padding:15px;background:#fff}
.capital-layer-grid article>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.capital-layer-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#59695f}
.capital-layer-grid strong{font-size:17px;color:#263f34}
.capital-layer-grid small{display:block;font-size:10px;color:#647168;margin-top:7px}
.capital-layer-grid p{font-size:11px;margin:8px 0 0;color:#39483f}
.capital-bar{height:7px;background:#edf1ee;border-radius:10px;overflow:hidden;margin-top:11px}
.capital-bar i{display:block;height:100%;background:linear-gradient(90deg,#263f34,#718e78);border-radius:10px}
.capital-frontier-table{border:1px solid #d7dfda;border-radius:12px;overflow:hidden;margin:16px 0 28px}
.capital-frontier-head,.capital-frontier-table article{display:grid;grid-template-columns:1.05fr .8fr .8fr .75fr .7fr 1.65fr;gap:10px;align-items:center}
.capital-frontier-head{background:#263f34;color:#fff;padding:11px 13px;font-size:9px;letter-spacing:.06em;text-transform:uppercase}
.capital-frontier-table article{padding:12px 13px;border-top:1px solid #e2e7e3;font-size:10px;background:#fff}
.capital-frontier-table article.owner-budget-band{background:#eef3ef;border-left:5px solid #42614e}
.capital-frontier-table article span:first-child strong{display:block;font-size:11px;color:#263f34}
.capital-frontier-table article small{display:block;font-size:8px;color:#65736a;margin-top:3px}
.capital-phase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0 25px}
.capital-phase-grid article{border:1px solid #d8e0db;border-radius:12px;padding:16px;background:#fff}
.capital-phase-grid span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#5b6a61}
.capital-phase-grid strong{display:block;font-size:19px;color:#263f34;margin:7px 0 10px}
.capital-phase-grid ul{margin:0;padding-left:18px;font-size:11px}
.capital-phase-grid p{font-size:11px;color:#667168}
.next-capital-callout{display:grid;grid-template-columns:180px 200px 1fr;gap:20px;align-items:center;background:#f1f5f2;border-left:5px solid #334f40;padding:18px 20px;margin-top:18px}
.next-capital-callout span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#5f6d64}
.next-capital-callout strong{display:block;font-size:17px;color:#263f34;margin-top:5px}
.next-capital-callout p{margin:0;font-size:12px}
@media(max-width:900px){
  .capital-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .capital-layer-grid,.capital-phase-grid{grid-template-columns:1fr}
  .capital-frontier-table{overflow-x:auto}
  .capital-frontier-head,.capital-frontier-table article{min-width:820px}
  .next-capital-callout{grid-template-columns:1fr}
}
@media print{
  .capital-summary-grid{grid-template-columns:repeat(3,1fr)}
  .capital-frontier-head,.capital-frontier-table article{grid-template-columns:1.05fr .8fr .8fr .75fr .7fr 1.65fr}
}

/* V14 Investment Memorandum signature page. The opening consolidates the
   former cover and executive summary into one board-ready capital decision. */
.investment-memorandum-title .cover-topline {
  color: var(--green-dark);
  border-bottom-color: var(--line);
  opacity: 1;
  margin-bottom: 22px;
}
body:has(.report-shell) > .site-header,
body:has(.report-shell) > footer { display: none; }
body:has(.report-shell) > main { padding-top: 28px; }
.platform-subtitle {
  max-width: 920px;
  margin: -2px 0 14px;
  color: var(--green);
  font-size: clamp(.94rem, 1.4vw, 1.18rem);
  line-height: 1.4;
  letter-spacing: .025em;
  font-weight: 620;
}
.memorandum-project-name {
  display: block;
  margin: 4px 0 10px;
  color: var(--ink);
  font-size: clamp(1.25rem, 2.4vw, 2rem);
  line-height: 1.12;
}
.signature-transformation {
  margin: 12px 0 18px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: linear-gradient(145deg, #fbfdfb, #f1f6f2);
}
.transformation-flow {
  display: grid;
  grid-template-columns: 1fr 24px 1.12fr 24px 1.12fr 24px 1.2fr;
  gap: 7px;
  align-items: stretch;
}
.transformation-flow > i {
  align-self: center;
  color: var(--green);
  font-size: 1.45rem;
  font-style: normal;
  text-align: center;
}
.transformation-node {
  min-height: 96px;
  padding: 11px 12px;
  border-left: 4px solid var(--green);
  background: #fff;
}
.transformation-node > span,
.owner-value-node > div > span {
  display: block;
  margin-bottom: 5px;
  color: var(--green);
  font-size: .65rem;
  font-weight: 850;
  letter-spacing: .13em;
}
.transformation-node strong,
.transformation-node small { display: block; }
.transformation-node strong { color: var(--green-dark); font-size: .82rem; line-height: 1.2; }
.transformation-node small { margin-top: 5px; color: #526259; font-size: .68rem; line-height: 1.34; }
.intelligence-node { border-left-color: var(--accent); }
.evaluation-node { border-left-color: #638b70; }
.strategy-node { border-left-color: var(--green-dark); background: #f7faf7; }
.owner-value-node {
  display: grid;
  grid-template-columns: minmax(180px,.8fr) 2.2fr;
  gap: 14px;
  align-items: center;
  margin-top: 10px;
  padding: 11px 14px;
  color: #fff;
  border-radius: 10px;
  background: linear-gradient(120deg, var(--green-dark), var(--green));
}
.owner-value-node strong,
.owner-value-node small { display: block; }
.owner-value-node strong { font-size: .98rem; }
.owner-value-node small { margin-top: 3px; color: rgba(255,255,255,.78); font-size: .67rem; }
.owner-value-node > div > span { color: var(--accent); }
.owner-value-node ul {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 5px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: .68rem;
}
.owner-value-node li { white-space: nowrap; }
.owner-value-node li b { color: var(--accent); }
.investment-memorandum-title > h1 {
  margin: 6px 0 12px;
  color: var(--green-dark);
  font-size: clamp(2.4rem, 5vw, 4.8rem);
  line-height: .96;
  letter-spacing: -.05em;
}
.investment-memorandum-title .cover-meta-line {
  align-items: flex-start;
  border-top-color: var(--line);
  border-bottom: 1px solid var(--line);
  padding: 12px 0;
  margin-bottom: 18px;
}
.executive-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.executive-metrics article {
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--green);
  border-radius: 10px;
  break-inside: avoid;
  page-break-inside: avoid;
}
.executive-metrics article span,
.executive-metrics article strong,
.executive-metrics article small { display: block; }
.executive-metrics article span { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 750; }
.executive-metrics article strong { margin: 4px 0; font-size: 1.55rem; color: var(--green-dark); }
.investment-memorandum-title .dashboard-two-column { margin-top: 18px; }
.investment-memorandum-title .dashboard-two-column h3 { margin-top: 0; }
.investment-memorandum-title .dashboard-two-column li { margin-bottom: 4px; }
@media (max-width: 760px) {
  .executive-metrics { grid-template-columns: 1fr; }
  .investment-memorandum-title .cover-meta-line { flex-direction: column; }
  .transformation-flow { grid-template-columns: 1fr; }
  .transformation-flow > i { transform: rotate(90deg); }
  .owner-value-node { grid-template-columns: 1fr; }
  .owner-value-node ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media print {
  .investment-memorandum-title {
    padding: 12pt 22pt;
    font-size: 6.7pt;
    min-height: 0 !important;
    height: auto;
    page-break-after: always;
  }
  .investment-memorandum-title > h1 { margin: 2pt 0; font-size: 20pt; }
  .investment-memorandum-title h2 { margin: 3pt 0; font-size: 11pt; }
  .investment-memorandum-title h3 { margin: 3pt 0 1pt; font-size: 7.5pt; }
  .investment-memorandum-title p { margin: 2pt 0; line-height: 1.2; }
  .investment-memorandum-title .cover-meta-line { padding: 3pt 0; margin-bottom: 3pt; }
  .investment-memorandum-title .advisory-opening { font-size: 7.2pt; line-height: 1.2; }
  .investment-memorandum-title .executive-metrics { margin-top: 4pt; gap: 3pt; }
  .investment-memorandum-title .executive-metrics article { padding: 3pt 4pt; }
  .investment-memorandum-title .executive-metrics article span { font-size: 5.2pt; }
  .investment-memorandum-title .executive-metrics article strong { font-size: 8.5pt; }
  .investment-memorandum-title .executive-metrics article small { font-size: 5.2pt; }
  .investment-memorandum-title .dashboard-two-column { margin-top: 4pt; gap: 7pt; }
  .investment-memorandum-title ul { margin: 1pt 0; padding-left: 10pt; }
  .investment-memorandum-title .recommendation-callout { margin: 3pt 0; padding: 3pt 5pt; }
  .investment-memorandum-title .platform-subtitle { margin-bottom: 2pt; font-size: 6.5pt; }
  .investment-memorandum-title .memorandum-project-name { margin-bottom: 1pt; font-size: 10pt; }
  .investment-memorandum-title .signature-transformation { margin: 3pt 0; padding: 3pt; }
  .investment-memorandum-title .transformation-node { min-height: 30pt; padding: 3pt; }
  .investment-memorandum-title .transformation-node > span { margin-bottom: 1pt; font-size: 4.5pt; }
  .investment-memorandum-title .transformation-node strong { font-size: 5.2pt; }
  .investment-memorandum-title .transformation-node small { display: none; }
  .investment-memorandum-title .owner-value-node { margin-top: 3pt; padding: 3pt 4pt; }
  .investment-memorandum-title .owner-value-node strong { font-size: 6.5pt; }
  .investment-memorandum-title .owner-value-node small { font-size: 4.5pt; }
  .investment-memorandum-title .owner-value-node ul { font-size: 4.6pt; }
  .investment-memorandum-title .cover-meta-line { flex-direction: row; align-items: flex-start; }
  .investment-memorandum-title .transformation-flow {
    grid-template-columns: 1fr 14px 1.12fr 14px 1.12fr 14px 1.2fr;
  }
  .investment-memorandum-title .transformation-flow > i { transform: none; }
  .investment-memorandum-title .owner-value-node { grid-template-columns: minmax(120px,.8fr) 2.2fr; }
  .investment-memorandum-title .owner-value-node ul { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .investment-memorandum-title .executive-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .investment-memorandum-title .dashboard-two-column { font-size: 5.6pt; line-height: 1.12; }
  .investment-memorandum-title .recommendation-callout p { font-size: 5.8pt; }
  .executive-layer-section { padding: 28pt 32pt; font-size: 8.5pt; }
  .executive-layer-section h2 { margin: 5pt 0 7pt; font-size: 17pt; }
  .executive-layer-section h3 { margin: 7pt 0 4pt; font-size: 10pt; }
  .executive-layer-section p { margin: 4pt 0; line-height: 1.35; }
  .executive-layer-section table { font-size: 7pt; }
  .executive-layer-section th,
  .executive-layer-section td { padding: 5pt; }
  .executive-layer-section .dashboard-metric-grid { gap: 5pt; margin: 8pt 0; }
}

/* V13.2 Module 10 — Executive Engineering Report v2 */
.executive-report-v2{background:linear-gradient(180deg,#f7faf8 0%,#fff 100%);border-top:6px solid #263f34}
.v2-status-row{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}
.v2-status,.v2-version{font-size:10px;letter-spacing:.09em;text-transform:uppercase;font-weight:700}
.v2-status{padding:8px 12px;border-radius:999px;background:#263f34;color:#fff}
.v2-version{color:#647168}
.v2-opinion{max-width:1050px}
.v2-owner-decision{display:grid;grid-template-columns:170px 1fr;gap:20px;align-items:start;background:#263f34;color:#fff;padding:20px 22px;border-radius:14px;margin:24px 0}
.v2-owner-decision span{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.v2-owner-decision strong{font-size:16px;line-height:1.5}
.v2-snapshot-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:22px 0 30px}
.v2-snapshot-grid article{padding:16px;border:1px solid #d8e0db;border-radius:12px;background:#fff}
.v2-snapshot-grid span{display:block;font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:#617067}
.v2-snapshot-grid strong{display:block;font-size:20px;line-height:1.1;color:#263f34;margin:7px 0}
.v2-snapshot-grid small{display:block;font-size:9px;color:#6b756f}
.v2-thesis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.v2-thesis-grid article{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:18px;border:1px solid #d8e0db;border-radius:12px;background:#fff}
.v2-thesis-grid article>span{font-size:25px;color:#9aab9f;font-weight:700}
.v2-thesis-grid strong{display:block;color:#263f34}
.v2-thesis-grid p{font-size:11px;margin:7px 0 0;color:#4f5d54}
.v2-two-column{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:20px 0 30px}
.v2-finding-card,.v2-risk-card{border:1px solid #d8e0db;border-radius:12px;padding:15px;margin-bottom:12px;background:#fff;break-inside:avoid}
.v2-finding-card>span{display:block;font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:#637269}
.v2-finding-card>strong{display:block;font-size:15px;color:#263f34;margin:6px 0 3px}
.v2-finding-card small{display:block;color:#6a756e;font-size:9px}
.v2-finding-card p,.v2-risk-card p{font-size:11px;margin:9px 0 0}
.v2-gap-row{display:grid;grid-template-columns:1.4fr .7fr .7fr;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e1e7e3}
.v2-gap-row>div:first-child strong,.v2-gap-row>div:first-child small{display:block}
.v2-gap-row>div:first-child small{font-size:9px;color:#69766e}
.v2-gap-row>div:not(:first-child){text-align:right}
.v2-gap-row span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:#69766e}
.v2-gap-row strong{color:#263f34}
.v2-sequence-list{display:grid;gap:14px;margin:16px 0 30px}
.v2-sequence-list>article{display:grid;grid-template-columns:54px 1fr 180px;gap:18px;padding:18px;border:1px solid #d8e0db;border-radius:13px;background:#fff;break-inside:avoid}
.v2-sequence-number{font-size:30px;font-weight:700;color:#9aab9f}
.v2-sequence-main>span{font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:#66746c}
.v2-sequence-main h4{font-size:17px;margin:4px 0 7px;color:#263f34}
.v2-sequence-main p{font-size:11px;margin:0 0 8px}
.v2-sequence-main small{font-size:9px;color:#65736b}
.v2-sequence-metrics{text-align:right;border-left:1px solid #e1e7e3;padding-left:16px}
.v2-sequence-metrics strong{display:block;font-size:20px;color:#263f34;margin-bottom:8px}
.v2-sequence-metrics span{display:block;font-size:9px;color:#65736b;margin-top:4px}
.v2-alternative-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0 30px}
.v2-alternative-grid article{border:1px solid #d8e0db;border-radius:12px;padding:16px;background:#fff}
.v2-alternative-grid article.preferred{border:2px solid #43614f;background:#f3f7f4}
.v2-alternative-grid span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#65736b}
.v2-alternative-grid strong{display:block;font-size:15px;color:#263f34;margin:7px 0}
.v2-alternative-grid b{font-size:10px;color:#4c5c52}
.v2-alternative-grid p{font-size:11px;margin:8px 0 0}
.v2-risk-card>div{display:flex;justify-content:space-between;gap:16px}
.v2-risk-card>div span{font-size:9px;color:#69766e;text-transform:uppercase;letter-spacing:.05em}
.v2-validation-row{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid #e1e7e3}
.v2-validation-row>span{font-size:18px;color:#9aab9f;font-weight:700}
.v2-validation-row strong{color:#263f34}
.v2-validation-row p{font-size:11px;margin:4px 0 0}
.v2-roadmap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 26px}
.v2-roadmap-grid article{border:1px solid #d8e0db;border-radius:12px;padding:15px;background:#fff;break-inside:avoid}
.v2-roadmap-grid span{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#65736b}
.v2-roadmap-grid strong{display:block;color:#263f34;margin:7px 0}
.v2-roadmap-grid p{font-size:10px;margin:0 0 9px}
.v2-roadmap-grid small{font-size:8px;color:#67746c}
.v2-confidence-panel{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;background:#f1f5f2;border-left:5px solid #334f40;padding:18px 20px;margin:20px 0}
.v2-confidence-panel>div span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#637168}
.v2-confidence-panel>div strong{display:block;font-size:17px;color:#263f34;margin-top:5px}
.v2-confidence-panel>p{grid-column:1/-1;margin:6px 0 0;font-size:10px;color:#526158}
.v2-what-why-next{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px}
.v2-what-why-next article{padding:16px;border-radius:12px;background:#263f34;color:#fff}
.v2-what-why-next span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.68);margin-bottom:7px}
.v2-what-why-next strong{font-size:12px;line-height:1.5}
@media(max-width:950px){
  .v2-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v2-thesis-grid,.v2-alternative-grid,.v2-roadmap-grid,.v2-what-why-next{grid-template-columns:1fr 1fr}
  .v2-two-column{grid-template-columns:1fr}
  .v2-confidence-panel{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .v2-status-row,.v2-owner-decision{display:block}
  .v2-version{display:block;margin-top:10px}
  .v2-owner-decision strong{display:block;margin-top:8px}
  .v2-snapshot-grid,.v2-thesis-grid,.v2-alternative-grid,.v2-roadmap-grid,.v2-what-why-next,.v2-confidence-panel{grid-template-columns:1fr}
  .v2-sequence-list>article{grid-template-columns:1fr}
  .v2-sequence-metrics{text-align:left;border-left:0;border-top:1px solid #e1e7e3;padding:12px 0 0}
  .v2-gap-row{grid-template-columns:1fr}
  .v2-gap-row>div:not(:first-child){text-align:left}
}
@media print{
  .executive-report-v2,.v2-finding-card,.v2-sequence-list>article,.v2-alternative-grid article,.v2-risk-card,.v2-roadmap-grid article{break-inside:avoid;box-shadow:none}
  .v2-snapshot-grid{grid-template-columns:repeat(5,1fr)}
  .v2-thesis-grid,.v2-alternative-grid{grid-template-columns:repeat(3,1fr)}
  .v2-roadmap-grid{grid-template-columns:repeat(4,1fr)}
}


/* V13.2 Module 13 — Engineering Knowledge Database */
.knowledge-basis-section .lead {
    max-width: 920px;
}
.knowledge-record-grid {
    display: grid;
    gap: 24px;
    margin-top: 24px;
}
.knowledge-record-card {
    border: 1px solid rgba(31, 78, 61, 0.22);
    border-radius: 14px;
    padding: 24px;
    background: #fff;
    break-inside: avoid;
}
.knowledge-record-type {
    display: inline-block;
    margin-bottom: 8px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.knowledge-record-card h3 {
    margin: 0 0 10px;
}
.knowledge-record-card h4 {
    margin: 0 0 8px;
    font-size: 0.9rem;
}
.knowledge-record-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-top: 18px;
}
.knowledge-record-card ul {
    margin: 0;
    padding-left: 18px;
}
.knowledge-record-card li {
    margin-bottom: 6px;
}
.knowledge-evidence {
    margin-top: 18px;
    padding: 16px;
    border-left: 4px solid currentColor;
    background: rgba(31, 78, 61, 0.05);
}
.knowledge-evidence p {
    margin: 0 0 10px;
}
@media (max-width: 760px) {
    .knowledge-record-columns {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}
@media print {
    .knowledge-record-card {
        box-shadow: none;
        page-break-inside: avoid;
    }
}

/* V13.2 Module 15 — Uncertainty & Risk Intelligence */
.risk-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.risk-summary-grid article{border:1px solid #dbe3df;border-radius:14px;padding:18px;background:#f8faf9}.risk-summary-grid span{display:block;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#587066}.risk-summary-grid strong{display:block;font-size:1.8rem;margin:5px 0}.risk-summary-grid small{color:#617169}.risk-summary-grid .risk-decision-card{grid-column:1/-1;background:#eef5f1}.risk-decision-card p{margin:8px 0 0;font-size:1.05rem}.confidence-dimension-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 28px}.confidence-dimension-grid article{border-left:4px solid #4e7161;background:#f7f9f8;padding:15px}.confidence-heading{display:flex;justify-content:space-between;gap:12px}.confidence-heading span{font-size:.78rem;font-weight:700}.confidence-dimension-grid p{margin:8px 0}.risk-register{display:grid;gap:14px}.risk-item{border:1px solid #d8dfdc;border-left:6px solid #8a9c94;border-radius:12px;padding:16px;break-inside:avoid}.risk-item.risk-critical{border-left-color:#8b2f2f}.risk-item.risk-high{border-left-color:#b36a22}.risk-item.risk-moderate{border-left-color:#aa9138}.risk-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.risk-item h4{margin:4px 0 0}.risk-category{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#617169}.risk-rating{text-align:right;min-width:125px}.risk-rating strong,.risk-rating small{display:block}.risk-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#f8faf9;padding:10px 12px;margin:10px 0}.risk-actions p{margin:0}.validation-priority-list{counter-reset:riskval;list-style:none;padding:0;display:grid;gap:9px}.validation-priority-list li{counter-increment:riskval;padding:11px 14px 11px 48px;background:#f4f7f5;position:relative}.validation-priority-list li:before{content:counter(riskval);position:absolute;left:14px;top:9px;width:24px;height:24px;border-radius:50%;background:#315848;color:white;text-align:center;line-height:24px;font-weight:700}.report-limitations{margin-top:20px;padding:15px;border:1px solid #d8dfdc;background:#fbfcfb}.report-limitations p{margin:6px 0}@media(max-width:760px){.risk-summary-grid,.confidence-dimension-grid,.risk-actions{grid-template-columns:1fr}.risk-item-header{display:block}.risk-rating{text-align:left;margin-top:8px}}@media print{.risk-item,.confidence-dimension-grid article{break-inside:avoid}}


/* V13.2 Module 16 — Engineering Cost Intelligence */
.engineering-cost-section .cost-summary-grid {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:24px 0 30px;
}
.engineering-cost-section .cost-summary-grid article {
  border:1px solid #d9e1dc; border-radius:12px; padding:18px; background:#f8faf8;
}
.engineering-cost-section .cost-summary-grid span,
.engineering-cost-section .cost-summary-grid small { display:block; }
.engineering-cost-section .cost-summary-grid span { font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.engineering-cost-section .cost-summary-grid strong { display:block; font-size:1.35rem; margin:.35rem 0; }
.cost-table-wrap { overflow-x:auto; margin:18px 0 28px; }
.cost-table { width:100%; border-collapse:collapse; }
.cost-table th,.cost-table td { text-align:left; border-bottom:1px solid #dfe5e1; padding:11px 9px; vertical-align:top; }
.cost-table th { font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; }
.cost-table td small { display:block; margin-top:4px; }
.delivery-cost-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:18px 0 28px; }
.delivery-cost-grid article { border-left:4px solid #557765; background:#f6f8f6; padding:15px 17px; }
.delivery-cost-grid article > div { display:flex; justify-content:space-between; gap:12px; }
.delivery-cost-grid p { margin:.55rem 0; }
.cost-phase-list { display:grid; gap:12px; margin:18px 0 28px; }
.cost-phase-list article { display:flex; gap:16px; border:1px solid #dfe5e1; border-radius:10px; padding:15px; }
.cost-phase-list .phase-number { min-width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#233d31; color:#fff; font-weight:700; }
.cost-phase-list h4 { margin:0 0 6px; }
.cost-phase-list p { margin:3px 0; }
.cost-intelligence-columns { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
@media (max-width:900px) {
  .engineering-cost-section .cost-summary-grid { grid-template-columns:1fr 1fr; }
  .delivery-cost-grid,.cost-intelligence-columns { grid-template-columns:1fr; }
}
@media print {
  .engineering-cost-section .cost-summary-grid { grid-template-columns:repeat(3,1fr); }
  .delivery-cost-grid { grid-template-columns:1fr 1fr; }
}

/* V13.2 Module 17 — Executive Decision Dashboard */
.executive-decision-dashboard{background:linear-gradient(180deg,#fff 0%,#f7faf8 100%)}
.dashboard-status-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.dashboard-status,.dashboard-label{font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.dashboard-status{padding:8px 12px;border-radius:999px;background:#294b3b;color:#fff}
.dashboard-status-reassess{background:#8a3c35}.dashboard-status-proceed-with-conditions{background:#896a25}.dashboard-status-proceed-to-validation{background:#2f654c}
.dashboard-label{color:#66776e}
.dashboard-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0 32px}
.dashboard-metric{border:1px solid #dbe4df;border-top:5px solid #557765;border-radius:12px;padding:16px;background:#fff;break-inside:avoid}
.dashboard-metric>span{display:block;font-size:.68rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase;color:#607269}
.dashboard-metric>strong{display:block;font-size:1.35rem;color:#263f34;margin:7px 0 4px}
.dashboard-metric>small{display:inline-block;padding:3px 7px;border-radius:999px;background:#eef4f0;color:#496458;font-size:.65rem;text-transform:uppercase}
.dashboard-metric>p{font-size:.76rem;line-height:1.45;margin:10px 0 0;color:#59675f}
.dashboard-metric-validate,.dashboard-metric-caution{border-top-color:#9a632f}.dashboard-metric-opportunity{border-top-color:#416c87}
.dashboard-two-column{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:25px 0 30px}
.dashboard-action-list,.dashboard-risk-list{display:grid;gap:10px}
.dashboard-action-list article{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:12px;border:1px solid #dce4df;border-radius:10px;background:#fff}
.dashboard-action-list article>span{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#294b3b;color:#fff;font-weight:800}
.dashboard-action-list strong,.dashboard-action-list small{display:block}.dashboard-action-list small{margin-top:4px;color:#68776f}
.dashboard-risk-list article{border-left:5px solid #9a632f;background:#fff;padding:12px 14px}
.dashboard-risk-list article>div{display:flex;justify-content:space-between;gap:15px}.dashboard-risk-list span{font-size:.7rem;text-transform:uppercase;color:#7a6657}
.dashboard-risk-list p{font-size:.78rem;margin:7px 0 0}
.dashboard-recommendation-list{display:grid;gap:12px;margin:16px 0 30px}
.dashboard-recommendation-list article{display:grid;grid-template-columns:48px 1fr 155px;gap:15px;align-items:center;border:1px solid #dbe3df;border-radius:12px;padding:14px;background:#fff;break-inside:avoid}
.dashboard-sequence{font-size:1.35rem;font-weight:800;color:#8ca096}.dashboard-recommendation-list small,.dashboard-recommendation-list strong{display:block}.dashboard-recommendation-list strong{font-size:1rem;color:#263f34;margin:3px 0}.dashboard-recommendation-list p{font-size:.76rem;margin:4px 0 0}
.dashboard-rec-metrics{text-align:right;border-left:1px solid #dfe6e2;padding-left:15px}.dashboard-rec-metrics>*{display:block}.dashboard-rec-metrics b{font-size:1rem;color:#263f34}.dashboard-rec-metrics span{font-size:.7rem;color:#68766f;margin-top:3px}
.dashboard-opportunity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 30px}.dashboard-opportunity-grid article{border:1px solid #dbe3df;border-radius:10px;background:#fff;padding:14px}.dashboard-opportunity-grid span,.dashboard-opportunity-grid strong,.dashboard-opportunity-grid small{display:block}.dashboard-opportunity-grid span{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.dashboard-opportunity-grid strong{margin:6px 0;color:#263f34}.dashboard-opportunity-grid small{font-size:.67rem;color:#68766f}
.dashboard-progress{height:7px;border-radius:999px;background:#e4ebe7;overflow:hidden;margin:9px 0}.dashboard-progress i{display:block;height:100%;background:#4f7563}
.dashboard-owner-questions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-owner-questions article{background:#294b3b;color:#fff;border-radius:11px;padding:15px}.dashboard-owner-questions span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#b8c9c0;margin-bottom:6px}.dashboard-owner-questions strong{font-size:.8rem;line-height:1.45}
@media(max-width:950px){.dashboard-metric-grid,.dashboard-opportunity-grid{grid-template-columns:repeat(2,1fr)}.dashboard-two-column{grid-template-columns:1fr}}
@media(max-width:650px){.dashboard-status-row{display:block}.dashboard-label{display:block;margin-top:10px}.dashboard-metric-grid,.dashboard-opportunity-grid,.dashboard-owner-questions{grid-template-columns:1fr}.dashboard-recommendation-list article{grid-template-columns:1fr}.dashboard-rec-metrics{text-align:left;border-left:0;border-top:1px solid #dfe6e2;padding:10px 0 0}}
@media print{.executive-decision-dashboard,.dashboard-metric,.dashboard-recommendation-list article,.dashboard-opportunity-grid article{break-inside:avoid}.dashboard-metric-grid,.dashboard-opportunity-grid{grid-template-columns:repeat(4,1fr)}}

/* ============================================================
   VERSION 13.3 — PROFESSIONAL ENGINEERING ADVISORY REPORT
   ============================================================ */
.advisory-reading-guide,
.engineering-confidence-note {
    margin: 24px 0 28px;
    padding: 22px 24px;
    border: 1px solid #cfdcd2;
    border-left: 5px solid var(--green);
    border-radius: 14px;
    background: linear-gradient(180deg, #fbfdfb 0%, #f2f7f3 100%);
    break-inside: avoid;
}
.advisory-reading-guide.compact { padding: 18px 20px; }
.advisory-reading-guide > strong,
.engineering-confidence-note > strong {
    display: block;
    margin-bottom: 9px;
    color: var(--green-dark);
    font-size: .79rem;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.advisory-reading-guide > p,
.engineering-confidence-note > p {
    margin: 0;
    color: #45584c;
    line-height: 1.62;
}
.reading-guide-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 18px;
    margin-top: 16px;
}
.reading-guide-grid span {
    display: block;
    padding: 11px 13px;
    border: 1px solid #dce5de;
    border-radius: 10px;
    background: rgba(255,255,255,.82);
    color: var(--muted);
    font-size: .82rem;
    line-height: 1.45;
}
.reading-guide-grid b { display: block; margin-bottom: 3px; color: var(--ink); }
.engineering-confidence-note { border-left-color: var(--accent); }
.report-cta {
    border-top: 8px solid var(--green);
    background: linear-gradient(180deg, #ffffff 0%, #f7faf7 100%);
}
.report-cta h2 { max-width: 1050px; }
.report-actions {
    align-items: center;
    flex-wrap: wrap;
    margin: 4px 0 56px;
}
.report-export-form { margin: 0; }
.performance-gap-section .section-intro,
.capital-allocation-section .section-intro,
.engineering-cost-section .section-intro { max-width: 1080px; line-height: 1.65; }

@media (max-width: 720px) {
    .reading-guide-grid { grid-template-columns: 1fr; }
    .report-actions { align-items: stretch; flex-direction: column; }
    .report-actions > *,
    .report-export-form > button { width: 100%; }
}

@media print {
    .advisory-reading-guide,
    .engineering-confidence-note { break-inside: avoid; box-shadow: none; }
    .report-cta { page-break-before: always; page-break-after: auto !important; }
    .report-actions { display: none !important; }
}

/* Version 14.1 - professional memorandum layout and print system */
.professional-memorandum .report-section { position: relative; }
.pdf-running-footer { display: none; }
.decision-metric-grid,
.engineering-summary-grid,
.cost-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 20px 0;
}
.decision-metric-grid article,
.engineering-summary-grid article,
.cost-summary-grid article {
    padding: 15px 16px;
    border: 1px solid var(--line);
    border-top: 4px solid var(--green);
    border-radius: 10px;
    background: #fff;
}
.decision-metric-grid span,
.engineering-summary-grid span,
.cost-summary-grid span {
    display: block;
    color: var(--muted);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.decision-metric-grid strong,
.engineering-summary-grid strong,
.cost-summary-grid strong { display: block; margin-top: 7px; font-size: 1.22rem; line-height: 1.2; }
.executive-benefit-grid,
.closing-grid,
.assumption-limit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.metric-reconciliation,
.budget-warning,
.methodology-box {
    margin: 18px 0;
    padding: 15px 17px;
    border-left: 5px solid var(--green);
    background: #f0f5f1;
    line-height: 1.55;
}
.budget-warning { border-left-color: #9a632f; background: #f7f1e9; }
.compact-roadmap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.compact-roadmap article { min-height: 0; }
.compact-advisor { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.portfolio-table th:nth-child(1) { width: 25%; }
.portfolio-table th:nth-child(2) { width: 12%; }
.portfolio-table th:nth-child(3) { width: 14%; }
.portfolio-table th:nth-child(4) { width: 32%; }
.portfolio-table th:nth-child(5) { width: 17%; }
.compact-table { font-size: .78rem; }
.compact-table th,
.compact-table td { padding: 8px 9px; }
.four-up { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.variance-card { border-top-color: #9a632f !important; }
.validation-program { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 16px 0 24px; }
.allowance-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 12px 0 20px; }
.allowance-grid article { padding: 12px 14px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.allowance-grid article > div { display: flex; justify-content: space-between; gap: 12px; }
.allowance-grid p { margin: 6px 0; }
.allowance-grid small { display: block; color: var(--muted); }
.validation-program article { display: grid; grid-template-columns: 32px 1fr; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 9px; }
.validation-program article > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--green); color: #fff; font-weight: 800; }
.validation-program p { margin: 4px 0 0; }
.performance-method-grid,
.knowledge-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 16px 0 26px; }
.performance-method-grid article,
.knowledge-grid article { padding: 14px 16px; border: 1px solid var(--line); border-radius: 10px; background: #fff; break-inside: avoid; }
.performance-method-grid span { display: block; color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.performance-method-grid strong { display: block; margin: 5px 0 9px; font-size: 1.05rem; }
.performance-method-grid p,
.knowledge-grid p { margin: 6px 0; }
.knowledge-grid h3 { margin: 0 0 8px; }
.closing-statement { border-top: 8px solid var(--green); background: linear-gradient(180deg, #fff, #f5f8f5); }
.closing-signature { display: grid; gap: 2px; margin-top: 34px; }

@media (max-width: 720px) {
    .decision-metric-grid,
    .engineering-summary-grid,
    .cost-summary-grid,
    .executive-benefit-grid,
    .closing-grid,
    .assumption-limit-grid,
    .compact-roadmap,
    .compact-advisor,
    .validation-program,
    .performance-method-grid,
    .knowledge-grid { grid-template-columns: 1fr; }
}

/* V14.1 — Executive advisory presentation */
.advisory-cover {
    position: relative;
    display: flex;
    min-height: 820px;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    color: #17362a;
    background:
        linear-gradient(135deg, rgba(238, 245, 239, .96), rgba(255, 255, 255, .98) 58%),
        var(--paper);
}
.advisory-cover::before {
    position: absolute;
    top: 0;
    right: 0;
    width: 11px;
    height: 100%;
    background: linear-gradient(180deg, var(--green), var(--accent));
    content: "";
}
.advisory-cover-kicker,
.advisory-cover-client span,
.advisory-cover-details span,
.advisory-cover-confidential {
    color: #607168;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.advisory-cover-title { margin: 74px 0 64px; max-width: 780px; }
.advisory-cover-title p { margin: 0 0 8px; font-size: 1.5rem; letter-spacing: .02em; }
.advisory-cover-title h1 { margin: 0; max-width: 720px; font-size: clamp(2.8rem, 6vw, 5rem); line-height: .98; letter-spacing: -.055em; }
.advisory-cover-client { display: grid; gap: 7px; }
.advisory-cover-client strong { font-size: 1.45rem; line-height: 1.2; }
.advisory-cover-rule { width: 100%; height: 1px; margin: 28px 0; background: #cbd8d0; }
.advisory-cover-details { display: grid; grid-template-columns: 1.35fr 1.2fr .75fr .45fr; gap: 26px; }
.advisory-cover-details div { display: grid; align-content: start; gap: 5px; }
.advisory-cover-details strong { font-size: .98rem; }
.advisory-cover-details p { margin: 0; color: #607168; font-size: .82rem; }
.advisory-cover-confidential { margin-top: 70px; }
.portfolio-philosophy { margin-top: 20px; padding: 18px 22px; border-left: 4px solid var(--green); background: #f2f6f2; }
.portfolio-philosophy > strong { display: block; margin-bottom: 8px; color: var(--green-dark); font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; }
.portfolio-philosophy p { margin: 7px 0; }
.engineering-conclusion { text-align: left; }
.engineering-conclusion > .eyebrow,
.engineering-conclusion > h2 { text-align: center; }
.engineering-conclusion > .lead { margin: 20px auto; max-width: 850px; text-align: center; }
.engineering-conclusion > p:not(.eyebrow):not(.lead) { margin-right: auto; margin-left: auto; max-width: 850px; }
.engineering-conclusion h3 { margin-top: 30px; text-align: center; }
.conclusion-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 16px 0 34px; padding: 0; list-style: none; counter-reset: conclusion-step; }
.conclusion-steps li { position: relative; padding: 38px 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: #f7faf7; text-align: center; counter-increment: conclusion-step; }
.conclusion-steps li::before { position: absolute; top: 10px; left: 50%; color: var(--green); font-weight: 900; transform: translateX(-50%); content: "0" counter(conclusion-step); }
.conclusion-identity,
.conclusion-prepared { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px 12px; color: #607168; text-align: center; }
.conclusion-identity strong,
.conclusion-prepared strong { color: #17362a; }
.conclusion-identity span + span::before,
.conclusion-prepared span + span::before { margin-right: 12px; color: #a8b5ad; content: "|"; }
.conclusion-prepared { margin-top: 10px; font-size: .88rem; }

/* V14.2 — executive presentation refinement */
.professional-memorandum .report-section { padding: 52px 58px; }
.professional-memorandum h1 { margin: 0 0 24px; }
.professional-memorandum h2 { margin: 42px 0 18px; }
.professional-memorandum h3 { margin: 32px 0 14px; }
.professional-memorandum h4 { margin: 24px 0 12px; }
.professional-memorandum p { margin: 12px 0; line-height: 1.68; }
.professional-memorandum li { margin: 7px 0; line-height: 1.58; }
.professional-memorandum table { line-height: 1.5; }
.professional-memorandum th { padding: 13px 14px; }
.professional-memorandum td { padding: 12px 14px; vertical-align: top; }
.professional-memorandum tbody tr { break-inside: avoid; }
.professional-memorandum .decision-metric-grid article,
.professional-memorandum .engineering-summary-grid article,
.professional-memorandum .cost-summary-grid article { padding: 19px 20px; }
.technology-status-groups { display: grid; gap: 30px; margin-top: 28px; }
.technology-status-group { break-inside: avoid-page; }
.technology-status-group > h3 { margin: 0 0 14px; padding-bottom: 9px; border-bottom: 2px solid #d9e3dc; }
.technology-screening-list { display: grid; gap: 12px; }
.technology-screening-card { padding: 17px 19px; border: 1px solid var(--line); border-radius: 11px; background: #fff; break-inside: avoid; }
.technology-screening-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 11px; }
.technology-screening-heading > strong { color: var(--green-dark); font-size: 1.02rem; }
.technology-status-badge,
.risk-priority-badge { display: inline-flex; padding: 5px 9px; border-radius: 999px; background: #eaf2ec; color: #315848; font-size: .67rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }
.status-limited .technology-status-badge { background: #f7efd9; color: #806221; }
.status-ineligible .technology-status-badge,
.status-not-recommended .technology-status-badge { background: #f0eeee; color: #6c5959; }
.technology-screening-content { display: grid; grid-template-columns: 1.25fr 1fr; gap: 24px; }
.technology-screening-content p { margin: 0; color: #506159; font-size: .88rem; }
.technology-screening-content b,
.executive-confidence-grid p b,
.risk-response-grid b,
.optimization-increment-detail b { display: block; margin-bottom: 5px; color: #263f34; font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; }
.shared-validation-note { margin-top: 13px; padding: 13px 16px; border-left: 4px solid #8b7432; background: #f8f5ec; }
.shared-validation-note p { margin: 5px 0 0; font-size: .88rem; }
.budget-position-card { border-top-color: #46785d !important; background: #f2f7f3 !important; }
.funding-gap-card { border-top-color: #a06b32 !important; background: #fbf7f1 !important; }
.budget-position-narrative { margin: 24px 0 34px; padding: 18px 21px; border-left: 5px solid #8a6b35; background: #f8f4ec; line-height: 1.65; break-inside: avoid; }
.technology-investment-table th:nth-child(1) { width: 26%; }
.technology-investment-table th:nth-child(2) { width: 17%; }
.technology-investment-table th:nth-child(3) { width: 17%; }
.technology-investment-table th:nth-child(4),
.technology-investment-table th:nth-child(5) { width: 20%; text-align: right; }
.technology-investment-table td:nth-child(4),
.technology-investment-table td:nth-child(5) { text-align: right; font-variant-numeric: tabular-nums; }
.executive-confidence-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 18px 0 38px; }
.executive-confidence-grid article { padding: 19px 20px; border: 1px solid var(--line); border-left: 5px solid var(--green); border-radius: 10px; background: #fff; break-inside: avoid; }
.executive-confidence-grid > article > span { display: block; margin-bottom: 10px; color: #55665d; font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.executive-confidence-grid article > div { display: flex; justify-content: space-between; gap: 14px; }
.executive-confidence-grid article > div b { color: #315848; }
.executive-confidence-grid p { margin: 13px 0 0; color: #506159; font-size: .86rem; }
.executive-risk-register { display: grid; gap: 30px; }
.risk-priority-group > h4 { margin: 0 0 13px; padding-bottom: 8px; border-bottom: 2px solid #dce4df; color: #315848; font-size: .94rem; letter-spacing: .04em; }
.executive-risk-card { margin-bottom: 14px; padding: 20px 22px; border: 1px solid var(--line); border-left: 6px solid #a18444; border-radius: 12px; background: #fff; break-inside: avoid; }
.executive-risk-card.priority-critical,
.executive-risk-card.priority-high { border-left-color: #9a5d37; }
.risk-card-heading { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; }
.risk-card-heading > div > span { display: block; color: #66756d; font-size: .65rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.risk-card-heading > div > strong { display: block; margin-top: 4px; color: #203d30; font-size: 1.08rem; }
.executive-risk-card > p { color: #506159; }
.risk-rating-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 15px 0; }
.risk-rating-grid div { padding: 10px 12px; background: #f3f6f4; }
.risk-rating-grid span { display: block; color: #69776f; font-size: .66rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.risk-rating-grid strong { display: block; margin-top: 4px; }
.risk-response-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; padding-top: 14px; border-top: 1px solid #dde5e0; }
.risk-response-grid p { margin: 0; font-size: .88rem; }
.validation-program { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.validation-program article { padding: 17px; }
.validation-program article:last-child:nth-child(odd) { grid-column: 1 / -1; }
.optimization-increment-list { display: grid; gap: 16px; margin: 22px 0 30px; }
.optimization-increment-card { padding: 19px 21px; border: 1px solid var(--line); border-left: 5px solid var(--green); border-radius: 12px; background: #fff; break-inside: avoid; }
.optimization-increment-heading { display: flex; align-items: baseline; gap: 17px; }
.optimization-increment-heading span { color: #63736a; font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.optimization-increment-heading strong { color: #203d30; font-size: 1.08rem; }
.optimization-metric-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin: 14px 0; }
.optimization-metric-strip div { padding: 10px 11px; background: #f2f6f3; }
.optimization-metric-strip span { display: block; color: #65736b; font-size: .63rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.optimization-metric-strip strong { display: block; margin-top: 4px; font-size: .9rem; }
.optimization-increment-detail { display: grid; grid-template-columns: 1.35fr 1fr; gap: 22px; }
.optimization-increment-detail p { margin: 0; color: #506159; font-size: .85rem; }
.advisory-cta-page { text-align: center; }
.advisory-cta-page > .lead { max-width: 850px; margin-right: auto; margin-left: auto; }
.cta-primary-panel { max-width: 880px; margin: 30px auto; padding: 25px 30px; border: 1px solid #cfdcd3; border-top: 6px solid var(--green); border-radius: 12px; background: #f2f7f3; }
.cta-primary-panel > span { display: block; color: #627169; font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.cta-primary-panel > strong { display: block; margin-top: 7px; color: #19392b; font-size: 1.5rem; }
.cta-primary-panel p { max-width: 720px; margin: 12px auto; }
.cta-browser-button { display: inline-flex; margin-top: 12px; padding: 12px 18px; border-radius: 8px; background: var(--green); color: #fff; font-weight: 800; text-decoration: none; }
.cta-next-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin: 26px 0; text-align: left; }
.cta-next-actions article { padding: 19px; border: 1px solid var(--line); border-radius: 10px; background: #fff; break-inside: avoid; }
.cta-next-actions article > span { display: block; margin-bottom: 12px; color: var(--green); font-size: 1.1rem; font-weight: 900; }
.cta-next-actions p { color: #53635a; font-size: .88rem; }
.cta-closing-statement { max-width: 800px; margin: 30px auto 22px !important; color: #203d30; font-size: 1.08rem; font-weight: 750; }
.cta-executive-contact { display: grid; justify-items: center; gap: 3px; padding-top: 20px; border-top: 1px solid #d3ddd6; color: #617068; }
.cta-executive-contact strong { color: #203d30; font-size: 1.12rem; }

/* V14.3 — complete executive advisory refinement */
.advisory-cover-client p { margin: 5px 0 0; color: #607168; }
.advisory-cover-details { grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); }
.investment-case-group { margin: 26px 0 30px; }
.investment-case-group > h3 { margin: 0 0 14px; padding-bottom: 8px; border-bottom: 2px solid #dbe4de; }
.investment-case-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.investment-case-metrics.four-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.investment-case-metrics article { padding: 16px 17px; border: 1px solid var(--line); border-top: 4px solid var(--green); border-radius: 9px; background: #fff; }
.investment-case-metrics span { display: block; color: #637169; font-size: .68rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.investment-case-metrics strong { display: block; margin-top: 8px; color: #1d3b2e; font-size: 1.08rem; line-height: 1.25; }
.portfolio-selection-callout { padding: 18px 21px; border-left: 5px solid var(--green); background: #f1f6f2; }
.portfolio-selection-callout span { display: block; color: #315848; font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.portfolio-selection-callout p { margin-bottom: 0; }
.owner-value-chart-section { margin-top: 34px; }
.chart-subtitle { margin-top: -8px !important; color: #617068; }
.owner-value-chart { margin: 20px 0 14px; padding: 16px 18px 6px; border: 1px solid var(--line); border-radius: 12px; background: #fff; break-inside: avoid; }
.owner-value-chart svg { display: block; width: 100%; height: auto; overflow: visible; }
.chart-grid line { stroke: #e3e9e5; stroke-width: 1; }
.chart-axes line { stroke: #94a39a; stroke-width: 1.2; }
.investment-reference { stroke: #8a7c6b; stroke-width: 2; stroke-dasharray: 7 5; }
.owner-value-area-edge { fill: none; stroke: rgba(41, 91, 65, .12); stroke-width: 12; stroke-linejoin: round; stroke-linecap: round; }
.owner-value-line { fill: none; stroke: #285b41; stroke-width: 3.5; stroke-linejoin: round; stroke-linecap: round; }
.chart-milestone line { stroke: #798b81; stroke-width: 1; stroke-dasharray: 4 4; }
.chart-milestone circle { fill: #fff; stroke: #285b41; stroke-width: 3; }
.chart-milestone text,
.chart-labels text { fill: #53645b; font-family: Arial, sans-serif; font-size: 11px; }
.chart-milestone text { text-anchor: middle; font-weight: 700; }
.chart-milestone.endpoint text { text-anchor: end; }
.chart-labels text { text-anchor: middle; }
.chart-labels text:nth-last-child(2),
.chart-labels text:last-child { text-anchor: start; }
.chart-labels .chart-y-label { text-anchor: end; font-size: 9px; }
.chart-milestone-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 12px 0 20px; }
.chart-milestone-cards article { padding: 13px 14px; border: 1px solid var(--line); border-radius: 8px; background: #f5f8f6; break-inside: avoid; }
.chart-milestone-cards span { display: block; color: #65736b; font-size: .64rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.chart-milestone-cards strong { display: block; margin-top: 6px; color: #244735; }
.chart-explanation { padding: 15px 18px; border-left: 4px solid #8d9d93; background: #f7f9f8; }
.chart-explanation p { margin: 7px 0; color: #526159; font-size: .88rem; }
.technology-screening-content.rationale-only { grid-template-columns: 1fr; }
.technology-validation-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 18px 0 24px; }
.technology-validation-card { padding: 18px 19px; border: 1px solid var(--line); border-left: 5px solid var(--green); border-radius: 10px; background: #fff; break-inside: avoid; }
.technology-validation-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-bottom: 10px; border-bottom: 1px solid #dce4df; }
.technology-validation-heading > strong { color: #203d30; }
.technology-validation-heading > span { color: #536a5e; font-size: .68rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.technology-validation-columns { display: grid; gap: 12px; margin-top: 12px; }
.technology-validation-columns b { color: #506159; font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }
.technology-validation-columns ul { margin: 6px 0 0; padding-left: 18px; }
.technology-validation-columns li { margin: 3px 0; color: #536159; font-size: .84rem; line-height: 1.4; }
.shared-validation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.shared-validation-grid article { padding: 13px 15px; border: 1px solid var(--line); background: #f6f8f7; break-inside: avoid; }
.shared-validation-grid p { margin: 5px 0 0; font-size: .84rem; }
.optimization-increment-list { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.optimization-increment-card { padding: 15px 17px; }
.optimization-metric-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.optimization-increment-detail { grid-template-columns: 1fr; gap: 12px; }
.final-decision-page { text-align: left; }
.final-decision-page > .eyebrow,
.final-decision-page > h2 { text-align: left; }
.formal-conclusion { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 18px 0 26px; }
.formal-conclusion section { padding-right: 16px; border-right: 1px solid #d7e0da; }
.formal-conclusion section:last-child { padding-right: 0; border-right: 0; }
.formal-conclusion h3 { margin: 0 0 8px; }
.formal-conclusion p { margin: 0; color: #516159; font-size: .9rem; }
.decision-authorization-panel { padding: 20px 23px; border: 1px solid #cad8cf; border-left: 7px solid var(--green); background: #f1f6f2; }
.decision-authorization-panel > span { display: block; color: #607168; font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.decision-authorization-panel > strong { display: block; margin-top: 5px; color: #18392a; font-size: 1.35rem; }
.decision-authorization-panel p { margin-bottom: 0; }
.decision-action-list { display: grid; gap: 10px; margin: 22px 0; }
.decision-action-list article { display: grid; grid-template-columns: 38px 1fr; gap: 13px; padding: 13px 15px; border: 1px solid var(--line); background: #fff; break-inside: avoid; }
.decision-action-list article > span { color: var(--green); font-weight: 900; }
.decision-action-list p { margin: 4px 0 0; color: #536159; font-size: .88rem; }
.institutional-closing { margin-top: 24px !important; color: #203d30; font-weight: 750; }
.institutional-identity { display: grid; gap: 2px; margin-top: 18px; padding-top: 15px; border-top: 1px solid #d2ddd5; color: #5a6b61; }
.institutional-identity strong { color: #203d30; }

/* V14.5 — final analytical alignment standard */
.professional-memorandum {
    -webkit-hyphens: none;
    hyphens: none;
}
.professional-memorandum td { overflow-wrap: normal; }
.print-safe-compound { white-space: nowrap; }
.simplified-process .transformation-flow article {
    display: flex;
    align-items: center;
    gap: 7px;
}
.simplified-process .transformation-flow article > span { flex: 0 0 auto; }
.simplified-process .transformation-flow article > strong { min-width: 0; }
.professional-memorandum table th,
.professional-memorandum table td { text-align: left; }
.professional-memorandum table td { font-variant-numeric: tabular-nums; }
.portfolio-table th:nth-child(2),
.portfolio-table td:nth-child(2) { text-align: center; }
.portfolio-table th:nth-child(5),
.portfolio-table td:nth-child(5) { text-align: right; }
.portfolio-table th:nth-child(1),
.portfolio-table td:nth-child(1),
.portfolio-table th:nth-child(3),
.portfolio-table td:nth-child(3),
.portfolio-table th:nth-child(4),
.portfolio-table td:nth-child(4) { text-align: left; }
.technology-investment-table th:nth-child(2),
.technology-investment-table td:nth-child(2),
.technology-investment-table th:nth-child(3),
.technology-investment-table td:nth-child(3),
.technology-investment-table th:nth-child(4),
.technology-investment-table td:nth-child(4),
.technology-investment-table th:nth-child(5),
.technology-investment-table td:nth-child(5) { text-align: right; }
.capital-reconciliation-table th:not(:first-child),
.capital-reconciliation-table td:not(:first-child),
.performance-reconciliation-table th:not(:first-child),
.performance-reconciliation-table td:not(:first-child) { text-align: right; }
.technology-screening-table th:nth-child(2),
.technology-screening-table td:nth-child(2),
.technology-screening-table th:nth-child(4),
.technology-screening-table td:nth-child(4) { text-align: right; }
.technology-screening-table th:nth-child(1),
.technology-screening-table td:nth-child(1),
.technology-screening-table th:nth-child(3),
.technology-screening-table td:nth-child(3),
.technology-screening-table th:nth-child(5),
.technology-screening-table td:nth-child(5) { text-align: left; }
.technology-screening-table td:nth-child(3) strong,
.technology-screening-table td:nth-child(3) small { display: block; text-align: left; }
.optimization-metric-strip div { display: grid; grid-template-rows: auto 1fr; align-items: start; min-height: 58px; }
.optimization-metric-strip span { text-align: left; }
.optimization-metric-strip strong { align-self: end; text-align: right; font-variant-numeric: tabular-nums; }

/* V14.6 - executive presentation refinement */
.simplified-process { padding: 15px 17px; }
.simplified-process .transformation-flow {
    grid-template-columns: minmax(0, 1fr) 28px minmax(0, 1fr) 28px minmax(0, 1fr) 28px minmax(0, 1fr);
    gap: 10px;
}
.simplified-process .transformation-flow article {
    min-height: 78px;
    padding: 13px 15px;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    border: 1px solid #d5e0d8;
    border-radius: 9px;
    background: #fff;
    text-align: center;
}
.simplified-process .transformation-flow article > span {
    color: #5f7968;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .15em;
    line-height: 1;
}
.simplified-process .transformation-flow article > strong {
    color: #183b2a;
    font-size: .83rem;
    line-height: 1.22;
}
.simplified-process .transformation-flow > i { font-size: 1.05rem; }
.portfolio-table th:nth-child(1) { width: 26%; }
.portfolio-table th:nth-child(2) { width: 13%; }
.portfolio-table th:nth-child(3) { width: 16%; }
.portfolio-table th:nth-child(4) { width: 29%; }
.portfolio-table th:nth-child(5) { width: 16%; }
.portfolio-table td { padding-top: 10px; padding-bottom: 10px; }
.portfolio-table td:nth-child(3) { line-height: 1.35; }
.portfolio-allocation-note {
    margin: 12px 0 0;
    padding: 12px 14px;
    border-left: 3px solid #6e8976;
    background: #f4f7f4;
    color: #52645a;
    font-size: .79rem;
    line-height: 1.5;
}
.existing-infrastructure-intelligence { margin-top: 24px; }
.existing-intelligence-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 2px solid #d9e3dc;
}
.existing-intelligence-heading span {
    display: block;
    margin-bottom: 4px;
    color: #5d7165;
    font-size: .69rem;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.existing-intelligence-heading h2 { margin: 0; }
.existing-intelligence-heading > strong {
    flex: 0 0 auto;
    padding: 6px 9px;
    border-radius: 999px;
    background: #eef3ef;
    color: #375444;
    font-size: .72rem;
    text-transform: uppercase;
}
.existing-asset-intelligence-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}
.existing-asset-intelligence-grid article {
    min-height: 118px;
    padding: 13px 14px;
    border: 1px solid #d9e2dc;
    border-top: 3px solid #547761;
    border-radius: 9px;
    background: #fff;
}
.existing-asset-intelligence-grid article > span {
    display: block;
    margin-bottom: 7px;
    color: #617168;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .075em;
    text-transform: uppercase;
}
.existing-asset-intelligence-grid article > strong { display: block; color: #1d402e; line-height: 1.25; }
.existing-asset-intelligence-grid article > p { margin: 7px 0 0; font-size: .78rem; line-height: 1.42; }
.executive-constraints-summary > p { max-width: 980px; }
.engineering-decision-table { table-layout: fixed; }
.engineering-decision-table th:nth-child(1) { width: 20%; }
.engineering-decision-table th:nth-child(2) { width: 14%; }
.engineering-decision-table th:nth-child(3) { width: 40%; }
.engineering-decision-table th:nth-child(4) { width: 26%; }
.engineering-decision-table th,
.engineering-decision-table td { text-align: left; vertical-align: top; }
.engineering-decision-table td { padding-top: 8px; padding-bottom: 8px; line-height: 1.36; }
.decision-status {
    display: inline-block;
    padding: 4px 7px;
    border-radius: 999px;
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .04em;
    white-space: nowrap;
}
.status-ready { background: #eaf3ed; color: #2e6042; }
.status-conditional { background: #f6f0dc; color: #745d18; }
.status-held { background: #f2eeee; color: #705a5a; }
.capital-position-split {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 12px;
    margin: 16px 0 22px;
}
.capital-position-split article { padding: 16px 18px; border-radius: 10px; }
.capital-position-split span { display: block; margin-bottom: 6px; font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.capital-position-split strong { display: block; font-size: 1.05rem; line-height: 1.28; }
.capital-position-split p { margin: 8px 0 0; font-size: .82rem; line-height: 1.45; }
.construction-budget-confirmation { border: 1px solid #bfd2c4; border-left: 5px solid #2e6a45; background: #edf5ef; color: #1d482f; }
.total-funding-context { border: 1px solid #dfd4b9; border-left: 5px solid #a17d2e; background: #faf6e9; color: #59471f; }
.technology-investment-table th:nth-child(1) { width: 30%; }
.technology-investment-table th:nth-child(2) { width: 17%; }
.technology-investment-table th:nth-child(3) { width: 16%; }
.technology-investment-table th:nth-child(4) { width: 20%; }
.technology-investment-table th:nth-child(5) { width: 17%; }
.technology-investment-table td { padding-top: 8px; padding-bottom: 8px; }

/* V14.4 — executive Investment Thesis refinement */
.investment-thesis-page .investment-thesis-headline { max-width: 850px; margin-top: 24px; margin-bottom: 13px; font-size: clamp(1.65rem, 3vw, 2.35rem); line-height: 1.14; letter-spacing: -.025em; }
.investment-thesis-page .advisory-opening { max-width: 980px; margin: 0 0 10px; font-size: 1rem; line-height: 1.62; }
.investment-sequencing-note { max-width: 980px; margin: 0 0 18px !important; padding-left: 13px; border-left: 3px solid #aebdb4; color: #627169; font-size: .82rem; line-height: 1.48 !important; }
.investment-thesis-page .decision-metric-grid { margin-top: 17px; margin-bottom: 17px; }
.investment-thesis-page .recommendation-callout { margin-top: 17px; margin-bottom: 10px; }
.investment-thesis-page .thesis-limitation { max-width: 980px; margin: 8px 0 0; color: #66756d; }

@media (max-width: 720px) {
    .advisory-cover { min-height: auto; }
    .advisory-cover-title { margin: 46px 0; }
    .advisory-cover-details,
    .conclusion-steps,
    .technology-screening-content,
    .executive-confidence-grid,
    .risk-rating-grid,
    .risk-response-grid,
    .optimization-metric-strip,
    .optimization-increment-detail,
    .cta-next-actions,
    .investment-case-metrics,
    .investment-case-metrics.four-metrics,
    .chart-milestone-cards,
    .technology-validation-list,
    .shared-validation-grid,
    .optimization-increment-list,
    .formal-conclusion { grid-template-columns: 1fr; }
    .existing-asset-intelligence-grid,
    .capital-position-split { grid-template-columns: 1fr; }
    .conclusion-steps li { padding: 14px 14px 14px 48px; text-align: left; }
    .conclusion-steps li::before { top: 50%; left: 16px; transform: translateY(-50%); }
}

@page {
    size: Letter;
    margin: .48in .58in .55in;
    @bottom-left { content: "Living Infrastructure Engineering Investment Advisory"; color: #66756c; font-size: 8pt; }
    @bottom-center { content: "Confidential"; color: #66756c; font-size: 8pt; }
    @bottom-right { content: "Page " counter(page) " of " counter(pages); color: #66756c; font-size: 8pt; }
}

@media print {
    html, body { font-size: 10pt !important; line-height: 1.5; background: #fff !important; }
    body { color: #1f2e26; }
    main { width: 100% !important; padding: 0 !important; }
    .professional-memorandum { width: 100%; margin: 0; }
    .professional-memorandum .report-section {
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        page-break-after: auto !important;
    }
    .professional-memorandum .advisory-cover {
        min-height: 9.45in !important;
        padding: .25in .22in !important;
        break-after: page;
        page-break-after: always !important;
        justify-content: center;
        background: #fff !important;
    }
    .professional-memorandum .advisory-cover-title { margin: .85in 0 .75in; }
    .professional-memorandum .advisory-cover-title p { font-size: 17pt; }
    .professional-memorandum .advisory-cover-title h1 { max-width: 6.5in; font-size: 42pt; line-height: .98; }
    .professional-memorandum .advisory-cover-client strong { font-size: 15pt; }
    .professional-memorandum .advisory-cover-details { grid-template-columns: 1.25fr 1.05fr 1fr .55fr .5fr; gap: 12pt; }
    .professional-memorandum .advisory-cover-confidential { margin-top: .65in; }
    .professional-memorandum .portfolio-philosophy { margin-top: 12pt; padding: 10pt 12pt; break-inside: avoid; }
    .professional-memorandum .portfolio-philosophy p { margin: 4pt 0; font-size: 8.7pt; }
    .professional-memorandum .engineering-conclusion { min-height: 8.45in !important; }
    .professional-memorandum .conclusion-steps { gap: 6pt; margin: 12pt 0 24pt; }
    .professional-memorandum .conclusion-steps li { padding: 28pt 5pt 8pt; font-size: 8.5pt; break-inside: avoid; }
    .professional-memorandum .layer-one-page { break-after: page; page-break-after: always !important; }
    .professional-memorandum .layer-start { break-before: page; page-break-before: always !important; }
    .professional-memorandum .print-section-break { break-before: page; page-break-before: always; }
    .professional-memorandum .closing-statement { break-before: page; page-break-before: always !important; padding-top: .18in !important; }
    .professional-memorandum .closing-statement { min-height: 8.45in !important; display: flex; flex-direction: column; justify-content: center; }
    .professional-memorandum h1 { margin: 0 0 15pt; font-size: 23pt; line-height: 1.08; letter-spacing: -.025em; }
    .professional-memorandum h2 { margin: 22pt 0 10pt; font-size: 17pt; line-height: 1.14; break-after: avoid; page-break-after: avoid; }
    .professional-memorandum h3 { margin: 16pt 0 7pt; font-size: 11.5pt; line-height: 1.2; break-after: avoid; page-break-after: avoid; }
    .professional-memorandum p,
    .professional-memorandum li { margin-top: 5pt; margin-bottom: 5pt; font-size: 9.2pt; line-height: 1.44; }
    .professional-memorandum .lead { font-size: 10.5pt; line-height: 1.55; }
    .professional-memorandum small,
    .professional-memorandum .method-note { font-size: 8pt !important; line-height: 1.35; }
    .professional-memorandum .cover-topline { margin-bottom: 12pt; }
    .professional-memorandum .platform-subtitle { margin-bottom: 6pt; font-size: 10pt; }
    .professional-memorandum .memorandum-project-name { font-size: 15pt; }
    .professional-memorandum .cover-meta-line { margin: 6pt 0 12pt; font-size: 8.5pt; }
    .professional-memorandum .cover-meta-line { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 10pt; }
    .professional-memorandum .signature-transformation { margin: 8pt 0 10pt; padding: 8pt; }
    .professional-memorandum .transformation-flow { display: grid !important; grid-template-columns: minmax(0,1fr) 14pt minmax(0,1fr) 14pt minmax(0,1fr) 14pt minmax(0,1fr) !important; gap: 4pt !important; align-items: center; }
    .professional-memorandum .transformation-flow i { transform: none !important; text-align: center; }
    .professional-memorandum .transformation-node,
    .professional-memorandum .transformation-flow article { min-height: 0; padding: 7pt; }
    .professional-memorandum .transformation-flow article strong { font-size: 8pt; }
    .professional-memorandum .decision-metric-grid,
    .professional-memorandum .engineering-summary-grid,
    .professional-memorandum .cost-summary-grid { gap: 7pt; margin: 10pt 0; }
    .professional-memorandum .decision-metric-grid article,
    .professional-memorandum .engineering-summary-grid article,
    .professional-memorandum .cost-summary-grid article { padding: 8pt 9pt; border-radius: 5pt; break-inside: avoid; }
    .professional-memorandum .decision-metric-grid span,
    .professional-memorandum .engineering-summary-grid span,
    .professional-memorandum .cost-summary-grid span { font-size: 7.5pt; }
    .professional-memorandum .decision-metric-grid strong,
    .professional-memorandum .engineering-summary-grid strong,
    .professional-memorandum .cost-summary-grid strong { font-size: 11pt; }
    .professional-memorandum .recommendation-callout,
    .professional-memorandum .assumption-note,
    .professional-memorandum .metric-reconciliation,
    .professional-memorandum .budget-warning,
    .professional-memorandum .methodology-box { margin: 9pt 0; padding: 9pt 11pt; break-inside: avoid; }
    .professional-memorandum table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 8.7pt !important; line-height: 1.38; }
    .professional-memorandum thead { display: table-header-group; }
    .professional-memorandum tfoot { display: table-footer-group; }
    .professional-memorandum tr { break-inside: avoid; page-break-inside: avoid; }
    .professional-memorandum th { padding: 6.5pt 7pt; background: #244735 !important; color: #fff !important; font-size: 8pt; }
    .professional-memorandum td { padding: 6.5pt 7pt; vertical-align: top; overflow-wrap: anywhere; border-bottom: .5pt solid #d7dfda; }
    .professional-memorandum tbody tr:nth-child(even) td { background: #f5f8f6 !important; }
    .professional-memorandum td small { display: block; margin-top: 2pt; }
    .professional-memorandum .table-wrap { overflow: visible !important; margin: 8pt 0 12pt; }
    .professional-memorandum .compact-table { font-size: 8.2pt !important; }
    .professional-memorandum .compact-table th,
    .professional-memorandum .compact-table td { padding: 4.5pt 5pt; }
    .professional-memorandum .roadmap-grid,
    .professional-memorandum .advisor-grid,
    .professional-memorandum .confidence-grid { gap: 7pt; }
    .professional-memorandum .roadmap-grid article,
    .professional-memorandum .advisor-grid article,
    .professional-memorandum .confidence-grid > div { padding: 9pt; min-height: 0; break-inside: avoid; }
    .professional-memorandum .validation-program,
    .professional-memorandum .allowance-grid,
    .professional-memorandum .performance-method-grid,
    .professional-memorandum .knowledge-grid { gap: 7pt; margin: 8pt 0 12pt; }
    .professional-memorandum .validation-program article,
    .professional-memorandum .allowance-grid article,
    .professional-memorandum .performance-method-grid article,
    .professional-memorandum .knowledge-grid article { padding: 8pt 9pt; break-inside: avoid; }
    .professional-memorandum .knowledge-grid p,
    .professional-memorandum .performance-method-grid p { font-size: 8.5pt; line-height: 1.34; }
    .professional-memorandum .technical-appendix .knowledge-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .professional-memorandum .technical-appendix .knowledge-grid article { padding: 7pt; }
    .professional-memorandum .technical-appendix .knowledge-grid h3 { margin-bottom: 4pt; font-size: 9.5pt; }
    .professional-memorandum .technical-appendix .knowledge-grid p { margin: 3pt 0; font-size: 7.4pt; line-height: 1.28; }
    .professional-memorandum .feasibility-section,
    .professional-memorandum .capital-cost-section,
    .professional-memorandum .risk-validation-section { break-before: page; page-break-before: always; }
    .professional-memorandum .technology-status-groups { gap: 17pt; margin-top: 15pt; }
    .professional-memorandum .technology-status-group { break-inside: auto; }
    .professional-memorandum .technology-status-group > h3 { margin-top: 0; padding-bottom: 5pt; }
    .professional-memorandum .technology-screening-list { gap: 7pt; }
    .professional-memorandum .technology-screening-card { padding: 9pt 10pt; break-inside: avoid; page-break-inside: avoid; }
    .professional-memorandum .technology-screening-heading { margin-bottom: 5pt; }
    .professional-memorandum .technology-screening-content { gap: 14pt; }
    .professional-memorandum .technology-screening-content p,
    .professional-memorandum .shared-validation-note p { font-size: 8.5pt; line-height: 1.4; }
    .professional-memorandum .shared-validation-note { margin-top: 7pt; padding: 7pt 9pt; break-inside: avoid; }
    .professional-memorandum .budget-position-narrative { margin: 14pt 0 20pt; padding: 11pt 13pt; break-inside: avoid; }
    .professional-memorandum .technology-investment-table tr { break-inside: avoid; page-break-inside: avoid; }
    .professional-memorandum .executive-confidence-grid { gap: 9pt; margin: 10pt 0 22pt; }
    .professional-memorandum .executive-confidence-grid article { padding: 11pt 12pt; break-inside: avoid; }
    .professional-memorandum .executive-confidence-grid p { font-size: 8.4pt; line-height: 1.4; }
    .professional-memorandum .executive-risk-register { gap: 18pt; }
    .professional-memorandum .risk-priority-group > h4 { break-after: avoid; page-break-after: avoid; }
    .professional-memorandum .executive-risk-card { margin-bottom: 9pt; padding: 11pt 13pt; break-inside: avoid; page-break-inside: avoid; }
    .professional-memorandum .risk-rating-grid { margin: 8pt 0; }
    .professional-memorandum .risk-rating-grid div { padding: 6pt 7pt; }
    .professional-memorandum .risk-response-grid { gap: 13pt; padding-top: 8pt; }
    .professional-memorandum .risk-response-grid p,
    .professional-memorandum .executive-risk-card > p { font-size: 8.5pt; line-height: 1.4; }
    .professional-memorandum .validation-program { gap: 9pt; }
    .professional-memorandum .validation-program article { padding: 10pt; }
    .professional-memorandum .optimization-increment-list { gap: 9pt; margin: 13pt 0 20pt; }
    .professional-memorandum .optimization-increment-card { padding: 10pt 12pt; break-inside: avoid; page-break-inside: avoid; }
    .professional-memorandum .optimization-metric-strip { gap: 5pt; margin: 7pt 0; }
    .professional-memorandum .optimization-metric-strip div { padding: 6pt; }
    .professional-memorandum .optimization-metric-strip span { font-size: 5.6pt; letter-spacing: .045em; overflow-wrap: anywhere; }
    .professional-memorandum .optimization-increment-detail { gap: 13pt; }
    .professional-memorandum .optimization-increment-detail p { font-size: 8.2pt; line-height: 1.38; }
    .professional-memorandum .investment-case-group { margin: 15pt 0 17pt; }
    .professional-memorandum .investment-case-metrics { gap: 7pt; }
    .professional-memorandum .investment-case-metrics article { padding: 9pt 10pt; }
    .professional-memorandum .investment-case-metrics span { font-size: 7pt; }
    .professional-memorandum .investment-case-metrics strong { font-size: 10pt; }
    .professional-memorandum .portfolio-selection-callout { padding: 10pt 12pt; break-inside: avoid; }
    .professional-memorandum .owner-value-chart-section,
    .professional-memorandum .performance-gap-section-v14 { break-before: page; page-break-before: always; }
    .professional-memorandum .owner-value-chart { margin: 12pt 0 8pt; padding: 8pt 10pt 2pt; break-inside: avoid; page-break-inside: avoid; }
    .professional-memorandum .chart-milestone-cards { gap: 6pt; margin: 8pt 0 12pt; }
    .professional-memorandum .chart-milestone-cards article { padding: 8pt; }
    .professional-memorandum .chart-explanation { padding: 8pt 10pt; break-inside: avoid; }
    .professional-memorandum .chart-explanation p { margin: 4pt 0; font-size: 8.2pt; line-height: 1.38; }
    .professional-memorandum .technology-validation-list { gap: 6pt; margin: 8pt 0 8pt; }
    .professional-memorandum .technology-validation-card { padding: 7pt 8pt; break-inside: avoid; page-break-inside: avoid; }
    .professional-memorandum .technology-validation-heading { padding-bottom: 5pt; }
    .professional-memorandum .technology-validation-columns { gap: 4pt; margin-top: 5pt; }
    .professional-memorandum .technology-validation-columns li { margin: 2pt 0; font-size: 7.7pt; line-height: 1.3; }
    .professional-memorandum .shared-validation-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4pt; }
    .professional-memorandum .shared-validation-grid article { padding: 5pt 6pt; }
    .professional-memorandum .shared-validation-grid p { font-size: 7.8pt; line-height: 1.32; }
    .professional-memorandum .optimization-increment-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7pt; }
    .professional-memorandum .optimization-increment-card { padding: 8pt 9pt; }
    .professional-memorandum .optimization-increment-heading strong { font-size: 9.5pt; }
    .professional-memorandum .optimization-metric-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .professional-memorandum .final-decision-page { min-height: 8.45in !important; justify-content: flex-start; padding-top: .18in !important; text-align: left; }
    .professional-memorandum .formal-conclusion { gap: 12pt; margin: 12pt 0 17pt; }
    .professional-memorandum .formal-conclusion h3 { margin-top: 0; }
    .professional-memorandum .formal-conclusion p { font-size: 8.5pt; line-height: 1.4; }
    .professional-memorandum .decision-authorization-panel { padding: 11pt 13pt; break-inside: avoid; }
    .professional-memorandum .decision-action-list { gap: 6pt; margin: 13pt 0; }
    .professional-memorandum .decision-action-list article { padding: 8pt 9pt; break-inside: avoid; }
    .professional-memorandum .decision-action-list p { font-size: 8.2pt; line-height: 1.35; }
    .professional-memorandum .institutional-closing { margin-top: 14pt !important; }
    .professional-memorandum .investment-thesis-headline { max-width: 6.6in; margin: 13pt 0 7pt; font-size: 19pt; line-height: 1.14; }
    .professional-memorandum .investment-thesis-page .advisory-opening { margin: 0 0 6pt; font-size: 9.5pt; line-height: 1.48; }
    .professional-memorandum .investment-sequencing-note { margin: 0 0 9pt !important; padding-left: 8pt; font-size: 7.8pt; line-height: 1.38 !important; }
    .professional-memorandum .investment-thesis-page .decision-metric-grid { margin: 8pt 0; }
    .professional-memorandum .investment-thesis-page .recommendation-callout { margin: 8pt 0 5pt; }
    .professional-memorandum .investment-thesis-page .thesis-limitation { margin-top: 4pt; font-size: 7.8pt !important; }
    .professional-memorandum .advisory-cta-page { min-height: 8.45in !important; break-before: page; page-break-before: always !important; display: flex; flex-direction: column; justify-content: center; }
    .professional-memorandum .cta-primary-panel { margin: 18pt auto; padding: 15pt 18pt; break-inside: avoid; }
    .professional-memorandum .cta-next-actions { gap: 9pt; margin: 16pt 0; }
    .professional-memorandum .cta-next-actions article { padding: 11pt; break-inside: avoid; }
    .professional-memorandum .cta-next-actions p { font-size: 8.5pt; line-height: 1.4; }
    .professional-memorandum .cta-closing-statement { margin: 18pt auto 13pt !important; }
    .professional-memorandum .executive-benefit-grid,
    .professional-memorandum .closing-grid,
    .professional-memorandum .assumption-limit-grid { gap: 18pt; }
    .pdf-running-footer { display: none !important; }
    .report-actions,
    .no-print { display: none !important; }
}

@media print {
    .professional-memorandum .simplified-process { padding: 9pt 11pt; }
    .professional-memorandum .simplified-process .transformation-flow {
        grid-template-columns: minmax(0, 1fr) 18pt minmax(0, 1fr) 18pt minmax(0, 1fr) 18pt minmax(0, 1fr) !important;
        gap: 6pt !important;
    }
    .professional-memorandum .simplified-process .transformation-flow article {
        min-height: 48pt;
        padding: 7pt 8pt;
        gap: 4pt;
    }
    .professional-memorandum .simplified-process .transformation-flow article > span { font-size: 6pt; }
    .professional-memorandum .simplified-process .transformation-flow article > strong { font-size: 7.4pt; }
    .professional-memorandum .portfolio-table td { padding-top: 6pt; padding-bottom: 6pt; }
    .professional-memorandum .portfolio-allocation-note { margin-top: 8pt; padding: 7pt 9pt; font-size: 7.7pt; line-height: 1.38; break-inside: avoid; }
    .professional-memorandum .existing-infrastructure-intelligence { margin-top: 12pt; }
    .professional-memorandum .existing-intelligence-heading { margin-bottom: 6pt; padding-bottom: 6pt; }
    .professional-memorandum .existing-asset-intelligence-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6pt; margin-top: 8pt; }
    .professional-memorandum .existing-asset-intelligence-grid article { min-height: 72pt; padding: 7pt 8pt; break-inside: avoid; }
    .professional-memorandum .existing-asset-intelligence-grid article > span { margin-bottom: 4pt; font-size: 5.8pt; }
    .professional-memorandum .existing-asset-intelligence-grid article > strong { font-size: 8pt; }
    .professional-memorandum .existing-asset-intelligence-grid article > p { margin-top: 4pt; font-size: 7pt; line-height: 1.32; }
    .professional-memorandum .executive-constraints-summary { break-before: page; page-break-before: always; }
    .professional-memorandum .executive-constraints-summary .engineering-summary-grid { margin: 7pt 0 9pt; }
    .professional-memorandum .engineering-decision-table { font-size: 7pt !important; }
    .professional-memorandum .engineering-decision-table th { padding: 5pt 6pt; font-size: 6.3pt; }
    .professional-memorandum .engineering-decision-table td { padding: 4.2pt 6pt; line-height: 1.22; }
    .professional-memorandum .decision-status { padding: 2pt 4pt; font-size: 5.8pt; }
    .professional-memorandum .executive-constraints-summary .shared-validation-note { margin-top: 6pt; padding: 6pt 8pt; }
    .professional-memorandum .capital-position-split { grid-template-columns: 1.15fr .85fr; gap: 8pt; margin: 10pt 0 14pt; }
    .professional-memorandum .capital-position-split article { padding: 9pt 10pt; break-inside: avoid; }
    .professional-memorandum .capital-position-split span { font-size: 6pt; }
    .professional-memorandum .capital-position-split strong { font-size: 9pt; }
    .professional-memorandum .capital-position-split p { margin-top: 5pt; font-size: 7.4pt; line-height: 1.34; }
    .professional-memorandum .technology-investment-table td { padding-top: 5pt; padding-bottom: 5pt; }
    .professional-memorandum .assumption-limit-grid { break-inside: avoid; page-break-inside: avoid; }
    .professional-memorandum .investment-allocation-section .allocation-total { margin: 5pt 0 7pt; padding: 6pt 8pt; }
    .professional-memorandum .investment-allocation-section .investment-allocation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4pt; margin: 5pt 0 7pt; }
    .professional-memorandum .investment-allocation-section .investment-allocation-grid article { padding: 5pt 7pt; }
    .professional-memorandum .investment-allocation-section .capital-summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4pt; margin: 6pt 0; }
    .professional-memorandum .investment-allocation-section .capital-summary-grid article { padding: 5pt 6pt; }
    .professional-memorandum .investment-allocation-section .capital-summary-grid span { font-size: 5.7pt; margin-bottom: 3pt; }
    .professional-memorandum .investment-allocation-section .capital-summary-grid strong { font-size: 8.2pt; }
    .professional-memorandum .investment-allocation-section .recommendation-callout { margin-top: 6pt; padding: 6pt 8pt; }
    .professional-memorandum .investment-allocation-section .recommendation-callout p { font-size: 7.4pt; line-height: 1.32; }
}

/* V16.0 traceable engineering recommendation evidence */
.engineering-recommendation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 18px 0; }
.engineering-recommendation-grid > article { border: 1px solid #d8e2dc; border-left: 4px solid #2f6b4f; background: #fbfcfb; padding: 16px 18px; break-inside: avoid; }
.recommendation-card-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; border-bottom: 1px solid #e3e9e5; padding-bottom: 9px; margin-bottom: 10px; }
.recommendation-card-heading h3 { margin: 2px 0 0; }
.recommendation-card-heading span, .recommendation-evidence span, .confidence-badge span { display: block; color: #738078; font-size: 9px; letter-spacing: .055em; text-transform: uppercase; }
.confidence-badge { min-width: 135px; text-align: right; }
.confidence-badge strong { display: block; color: #2f6b4f; margin-top: 3px; }
.engineering-recommendation-grid > article > p { margin: 0 0 10px; }
.recommendation-evidence { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 14px; }
.recommendation-evidence > div { border-top: 1px solid #edf1ee; padding-top: 7px; }
.recommendation-evidence strong, .recommendation-evidence p { display: block; margin: 3px 0 0; font-size: 11px; line-height: 1.38; }
@media (max-width: 760px) { .engineering-recommendation-grid, .recommendation-evidence { grid-template-columns: 1fr; } }
@media print {
  .professional-memorandum .engineering-recommendation-grid { gap: 7pt; margin: 10pt 0; }
  .professional-memorandum .engineering-recommendation-grid > article { padding: 6pt 7pt; }
  .professional-memorandum .engineering-recommendation-grid > article > p { margin-bottom: 5pt; font-size: 7pt; line-height: 1.3; }
  .professional-memorandum .recommendation-card-heading { padding-bottom: 4pt; margin-bottom: 4pt; }
  .professional-memorandum .recommendation-card-heading span, .professional-memorandum .recommendation-evidence span, .professional-memorandum .confidence-badge span { font-size: 5.4pt; }
  .professional-memorandum .recommendation-evidence { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3pt 6pt; }
  .professional-memorandum .recommendation-evidence > div { padding-top: 3pt; }
  .professional-memorandum .recommendation-evidence strong, .professional-memorandum .recommendation-evidence p { font-size: 6.2pt; line-height: 1.22; }
}
