/* Keep the report readable at normal browser scale; compact spacing, not page zoom. */
.sheet-page { padding: 14px; }
.solar-dashboard { max-width: 1600px; }
@media (min-width: 1100px) {
  .dashboard-top {
    grid-template-columns: minmax(300px, 2.2fr) repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
  }
  .dashboard-banner { min-height: 94px; padding: 14px 16px; gap: 12px; }
  .dashboard-banner h1 { font-size:25px; line-height: 1.35; }
  .dashboard-banner p { margin-top: 5px; font-size:18px; }
  .dashboard-banner small { margin-top: 4px; font-size:16px; line-height: 1.5; }
  .dashboard-banner > .dash-icon { height: 38px; width: 38px; }
  .dashboard-banner > .dash-icon svg { height: 25px; width: 25px; }
  .dashboard-metric { padding: 12px 14px; }
  .dashboard-metric > div { font-size:18px; gap: 5px; }
  .dashboard-metric > strong { font-size: clamp(23px, 1.85vw, 29px); margin-top: 5px; line-height: 1.4; }
  .dashboard-table-panel { padding: 14px; margin-bottom: 12px; }
  .dashboard-table-heading { margin-bottom: 12px; }
  .dashboard-table-heading h2 { font-size:25px; }
  .dashboard-table { min-width: 960px; font-size:19px; }
  .dashboard-table th, .dashboard-table td { padding: 8px 10px; }
  .dashboard-table thead th, .dashboard-table thead button { font-size:18px; }
  .dashboard-table thead button { gap: 7px; }
  .dashboard-table tbody th { font-size:22px; line-height: 1.45; }
  .dashboard-table tbody th small { font-size:16px; margin-top: 2px; }
  .dashboard-table th:first-child, .dashboard-table td:first-child { width: 44px; min-width: 44px; }
  .dashboard-table input { width: 17px; height: 17px; }
  .dashboard-table-note { font-size:16px; line-height: 1.5; margin-top: 7px; }
  .dashboard-analysis { grid-template-columns: 1fr 1fr 1.35fr 1.1fr; gap: 12px; }
  .dash-panel { padding: 14px; }
  .dash-panel-heading { min-height: 43px; gap: 8px; margin-bottom: 0; }
  .dash-panel-heading h2 { font-size:24px; line-height: 1.5; }
  .dash-panel-heading p { font-size:16px; line-height: 1.6; margin-top: 3px; }
  .dash-panel-heading .dash-icon { width: 28px; height: 28px; }
  .mix-total { min-height: 42px; padding: 9px 10px; margin: 12px 0 14px; }
  .mix-total strong { font-size:25px; }
  .mix-track { height: 29px; margin-bottom: 14px; }
  .mix-track span { font-size:16px; }
  .mix-legend { gap: 8px; font-size:18px; }
  .mix-legend strong { font-size:16px; min-width: 68px; }
  .mix-legend small { font-size:16px; min-width: 24px; }
  .bridge-panel { min-height: 0; padding-bottom: 12px; }
  .bridge-key-amount { padding-top: 8px; font-size:16px; }
  .bridge-key-amount > strong { font-size:26px; }
  .dash-waterfall { flex: 0 1 auto; max-height: 206px; margin-top: 4px; }
  .bridge-allocation-note { font-size:16px; line-height: 1.6; }
  .explain-panel { padding: 0 0 13px; }
  .explain-panel > .dash-panel-heading { padding: 12px 14px; min-height: 0; }
  .explain-panel ul { padding: 12px 13px 0; gap: 11px; }
  .explain-panel li strong { font-size:18px; line-height: 1.6; }
  .explain-panel li p { font-size:16px; line-height: 1.65; margin-top: 3px; }
  .explain-review { font-size:16px; line-height: 1.65; margin: 11px 14px 0; padding-top: 9px; }
  .cashflow-section, .feasibility-section, .investment-section { margin-top: 14px; padding: 18px; }
  .cashflow-section h2, .investment-heading h2 { font-size:26px; }
  .cashflow-section > header, .investment-heading { margin-bottom: 14px; }
  .cashflow-layout { grid-template-columns: minmax(220px, .8fr) 2.4fr; gap: 14px; }
  .cashflow-stats { gap: 9px; }
  .cashflow-stats > div { padding: 12px 16px; gap: 12px; }
  .cashflow-stats strong { font-size:28px; }
  .cashflow-stat-icon { height: 40px; width: 40px; }
  .cashflow-chart svg { max-height: 265px; }
  .feasibility-section { grid-template-columns: 1.1fr 1.9fr; gap: 16px; }
  .feasibility-intro h2 { font-size:25px; }
  .feasibility-label { margin-bottom: 8px; }
  .feasibility-checks { gap: 9px; }
  .feasibility-card { padding: 10px 7px; }
  .investment-summary { gap: 10px; margin-bottom: 12px; }
  .investment-summary > div { padding: 12px 14px; gap: 10px; }
  .investment-summary strong { font-size:28px; }
  .investment-summary .dash-icon { height: 36px; width: 36px; }
  .investment-grid { gap: 12px; }
  .investment-card { padding: 15px; }
  .investment-card h3 { font-size:24px; }
  .investment-bars { gap: 9px; margin: 17px 0 12px; }
  .investment-horizons { margin: 16px 0 12px; }
  .investment-horizons li { padding: 8px 5px; }
  .investment-horizons li > strong { font-size:23px; }
  .investment-recovery { margin-top: 12px; padding: 16px; gap: 16px; }
}
@media (min-width: 1100px) and (max-height: 800px) {
  .dashboard-banner { min-height: 82px; padding-block: 10px; }
  .dashboard-banner h1 { font-size:25px; }
  .dashboard-table th, .dashboard-table td { padding-block: 6px; }
  .dashboard-table-heading { margin-bottom: 9px; }
  .dashboard-table-panel, .dash-panel { padding: 12px; }
  .dash-panel-heading { min-height: 40px; }
  .mix-total { margin-block: 9px 11px; }
  .mix-track { margin-bottom: 11px; }
  .mix-legend { gap: 7px; }
  .dash-waterfall { max-height: 181px; }
  .explain-panel { padding: 0 0 12px; }
}
@media (min-width: 761px) and (max-width: 1099px) {
  .dashboard-top { gap: 10px; margin-bottom: 12px; }
  .dashboard-banner { min-height: 85px; padding: 14px 18px; }
  .dashboard-banner h1 { font-size:26px; }
  .dashboard-metric { padding: 11px 13px; }
  .dashboard-metric > strong { font-size:28px; margin-top: 4px; }
  .dashboard-table-panel { padding: 13px; margin-bottom: 12px; }
  .dashboard-analysis { gap: 12px; }
  .dash-panel-heading { min-height: 45px; }
  .mix-total { margin-block: 10px 15px; }
  .bridge-panel { min-height: 0; }
}
@media (min-width: 1100px) {
  .dashboard-table { line-height: 1.5; }
  .dashboard-table thead button { line-height: 1.5; }
  .mix-total strong, .bridge-key-amount > strong { line-height: 1.4; }
  .mix-legend { line-height: 1.6; }
  .dashboard-table-heading .sheet-edit { line-height: 1.5; }
}
@media (min-width: 1100px) and (max-height: 800px) {
  .dashboard-table th, .dashboard-table td { padding-block: 3px; }
  .dashboard-top { margin-bottom: 9px; }
  .dashboard-table-panel { margin-bottom: 9px; }
}

/* Business model and the customer's current place in the workflow. */
.business-flow { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(0, 2.4fr); gap: 12px; margin-top: 14px; }
.business-overview, .value-chain { min-width: 0; background: linear-gradient(125deg, #fff, #f7faff); border: 1px solid #dfe7f3; border-radius: 12px; padding: 16px; }
.business-flow h2 { display: flex; align-items: center; gap: 8px; font-size:24px; line-height: 1.5; letter-spacing: -.035em; }
.business-flow h2 .dash-icon { width: 28px; height: 28px; background: transparent; }
.business-description { margin-top: 10px; font-size:19px; color: var(--ink); line-height: 1.8; }
.business-overview-body { display: flex; align-items: stretch; gap: 13px; margin-top: 14px; }
.business-overview-body img { width: 43%; min-width: 0; max-height: 110px; object-fit: cover; border-radius: 8px; }
.business-overview-body ul { list-style: none; padding: 0; margin: 0; flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 9px; }
.business-overview-body li>span { display: block; font-size:16px; color: var(--ink); line-height: 1.5; margin-bottom: 3px; }
.business-overview-body li>strong { display: block; font-size:19px; line-height: 1.5; }
.business-income { color: #2463db; font-variant-numeric: tabular-nums; }
.value-chain>header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 15px; flex-wrap: wrap; }
.value-chain h2>span:not(.dash-icon) { font-size:18px; color: var(--ink); font-weight: 400; margin-left: 4px; }
.chain-current-key { display: inline-flex; align-items: center; gap: 6px; font-size:16px; color: #cf4f57; white-space: nowrap; }
.chain-current-key i { height: 12px; width: 19px; border: 1.5px dashed #e3666b; border-radius: 3px; }
.chain-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 12px; }
.chain-steps>li { min-width: 0; position: relative; display: flex; flex-direction: column; align-items: center; padding: 12px 7px 10px; border: 1px solid #e1e9f5; border-radius: 10px; background: #f7faff; text-align: center; }
.chain-steps>li:not(:last-child)::after { content: '→'; position: absolute; right: -12px; top: 76px; z-index: 1; color: var(--ink); font-size:25px; line-height: 1; }
.chain-steps>li.is-current { border: 2px dashed #e4696f; padding: 11px 6px 9px; background: #fff9f9; }
.chain-steps>li.is-income { border-color: #bee6d0; background: #edf9f1; }
.chain-step-heading { display: flex; align-items: center; justify-content: center; gap: 5px; width: 100%; }
.chain-step-heading h3 { font-size:18px; letter-spacing: -.03em; line-height: 1.5; white-space: nowrap; }
.chain-step-number { width: 17px; height: 17px; line-height: 17px; border-radius: 50%; background: #8aaef4; color: #fff; font-size:16px; flex-shrink: 0; }
.is-current .chain-step-number { background: #df7378; }
.is-income .chain-step-number { background: #5caf7c; }
.chain-illustration { color: var(--ink); padding: 15px 0 11px; height: 74px; display: flex; align-items: center; }
.icon-panel { color: #4e83dc; }.icon-sun { color: #efb52f; }.icon-coins { color: #dca321; }
.chain-steps p { font-size:16px; line-height: 1.7; color: var(--ink); min-height: 38px; }
.chain-role { display: block; font-size:16px; line-height: 1.5; margin-top: 6px; color: var(--ink); }
.chain-current-tag { font-size:16px; color: #c6535c; line-height: 1.6; background: #ffeded; border-radius: 5px; padding: 4px 5px; margin-top: 8px; }
.chain-income { margin-top: 8px; color: #23834b; font-size:19px; line-height: 1.5; font-variant-numeric: tabular-nums; }
.chain-income small { display: block; font-size:16px; font-weight: 400; color: var(--ink); margin-top: 2px; }
.chain-next-step { font-size:16px; color: var(--ink); line-height: 1.7; margin-top: 9px; }
@media (max-width: 1250px) { .business-flow { grid-template-columns: 1fr; }.business-overview { display: grid; grid-template-columns: 1.2fr 1fr; gap: 5px 25px; align-items: center; }.business-overview-body { grid-column: 2; grid-row: 1/3; margin-top: 0; }.business-description { margin-top: 5px; }.business-overview-body img { max-height: 95px; } }
@media (max-width: 760px) { .business-overview,.value-chain { padding: 15px; }.business-overview { display: block; }.business-overview-body { margin-top: 13px; }.business-flow h2 { font-size:24px; }.business-description { font-size:18px; margin-top: 9px; }.business-overview-body img { width: 40%; }.value-chain h2>span:not(.dash-icon) { font-size:16px; }.chain-steps { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }.chain-steps>li { padding: 11px 5px; }.chain-steps>li.is-current { padding: 10px 4px; }.chain-steps>li:not(:last-child)::after { right: -10px; font-size:24px; }.chain-steps>li:nth-child(3)::after { content: ''; }.chain-step-heading { gap: 4px; }.chain-step-heading h3 { font-size:16px; }.chain-steps p { font-size:16px; }.chain-current-tag { font-size:16px; }.chain-income { font-size:18px; }.chain-illustration { padding-block: 12px 8px; height: 64px; }.chain-illustration svg { width: 36px; height: 36px; } }
@media (prefers-reduced-motion: reduce) { .chain-steps * { animation: none; } }

.industry-chain { grid-column: 1 / -1; padding: 16px; border: 1px solid #dfe7f3; border-radius: 12px; background: linear-gradient(120deg, #fff, #f6f9ff); }
.industry-chain>header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.industry-chain>header p { font-size:18px; line-height: 1.6; color: var(--ink); margin: 5px 0 0 36px; }
.industry-steps { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 16px; list-style: none; padding: 0; margin: 0; }
.industry-steps>li { position: relative; min-width: 0; padding: 13px 12px 12px; border: 1px solid #e0e8f4; border-radius: 9px; background: #fff; }
.industry-steps>li:not(:last-child)::after { content: '→'; position: absolute; top: 48px; right: -15px; color: var(--ink); font-size:25px; line-height: 1; }
.industry-step-number { display: inline-flex; align-items: center; justify-content: center; font-size:16px; height: 19px; width: 19px; border-radius: 50%; background: #edf3fe; color: var(--ink); margin-bottom: 8px; }
.industry-steps h3 { font-size:20px; line-height: 1.5; letter-spacing: -.03em; }
.industry-steps p { font-size:16px; line-height: 1.65; color: var(--ink); margin-top: 5px; }
.industry-role { display: block; font-size:16px; color: var(--ink); line-height: 1.6; margin-top: 12px; }
.industry-steps>li.is-customer { border: 2px dashed #e4696f; padding: 12px 11px 11px; background: #fff7f7; }
.is-customer .industry-step-number { background: #fbe1e3; color: #c4555f; }
.is-customer h3 { color: #b84a55; }
.industry-customer-label { display: inline-block; padding: 4px 8px; border-radius: 5px; margin-top: 8px; background: #ffe8eb; color: #bd4b58; font-size:16px; line-height: 1.5; }
.industry-detail-link { font-size:16px; line-height: 1.7; color: var(--ink); margin-top: 13px; }
.industry-detail-link>span { color: var(--ink); font-size:22px; margin-right: 6px; }
@media(max-width:1099px) { .industry-steps { gap: 10px; }.industry-steps>li { padding: 11px 9px; }.industry-steps>li.is-customer { padding: 10px 8px; }.industry-steps>li:not(:last-child)::after { right: -10px; font-size:23px; }.industry-steps h3 { font-size:18px; }.industry-steps p,.industry-role { font-size:16px; }.industry-customer-label { font-size:16px; padding-inline: 5px; } }
@media(max-width:760px) { .industry-chain { padding: 15px; }.industry-chain>header { flex-wrap: wrap; gap: 8px; }.industry-chain>header p { font-size:16px; margin-left: 0; }.industry-steps { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }.industry-steps>li:nth-child(3)::after { content: ''; }.industry-role { margin-top: 9px; }.industry-detail-link { font-size:16px; } }
.industry-tasks { list-style: none; padding: 0; margin: 9px 0 0; display: grid; gap: 5px; }
.industry-tasks>li { font-size:16px; color: var(--ink); line-height: 1.65; display: flex; align-items: baseline; gap: 5px; }
.industry-tasks>li::before { content: '·'; color: var(--ink); flex-shrink: 0; }
.industry-steps>li:not(:last-child)::after { top: 65px; }
.industry-role { padding-top: 9px; border-top: 1px solid #edf1f7; margin-top: 12px; }
.is-customer .industry-role { border-top-color: #f2dadd; }
@media(max-width:1099px) { .industry-tasks>li { font-size:16px; gap: 3px; } }

/* Report order: overview → value chain → revenue → photo options → analysis. */
.business-flow { grid-template-columns: minmax(0,1fr); margin-top: 0; }
.business-flow>.business-overview { display: grid; grid-template-columns: minmax(260px,1fr) minmax(0,1.6fr); column-gap: 28px; align-items: center; }
.business-flow>.business-overview h2 { grid-column: 1; }
.business-flow>.business-overview .business-context { grid-column: 1; margin-top: 7px; font-size:16px; line-height: 1.7; color: var(--ink); }
.business-flow>.business-overview .business-description { grid-column: 1; margin-top: 6px; }
.business-flow>.business-overview .business-overview-body { grid-column: 2; grid-row: 1 / 4; margin: 0; gap: 18px; align-items: center; }
.business-flow>.business-overview .business-overview-body img { width: 30%; height: 126px; max-height: none; }
.business-flow>.business-overview .business-overview-body ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.business-flow>.business-overview .business-overview-body li>strong { font-size:23px; }
.business-flow>.value-chain .chain-illustration { height: 65px; padding: 12px 0 8px; }
.business-flow>.value-chain .chain-steps p { min-height: 0; }
.business-flow>.value-chain .chain-current-tag,.business-flow>.value-chain .chain-income { margin-top: 7px; }
.installation-options { margin: 16px 0; }
.installation-options>header { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 12px; }
.installation-options h2 { font-size:25px; line-height: 1.5; letter-spacing: -.04em; }
.installation-options>header>span { font-size:16px; line-height: 1.7; color: var(--ink); }
.installation-photo-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.installation-photo-card { display: block; padding: 0; text-align: left; min-width: 0; border: 1px solid #dfe7f3; border-radius: 11px; overflow: hidden; background: white; color: inherit; font: inherit; cursor: pointer; transition: border-color .2s,box-shadow .2s; }
.installation-photo-card:hover { border-color: #8ab0f6; }
.installation-photo-card:focus-visible { outline: 3px solid #91b6fc; outline-offset: 3px; }
.installation-photo-card.is-selected { border-color: #3674ef; box-shadow: 0 0 0 1px #3674ef; }
.installation-photo-wrap { position: relative; }
.installation-photo-wrap img { display: block; width: 100%; height: auto; aspect-ratio: 1.7; object-fit: cover; }
.installation-photo-label,.installation-photo-selected { position: absolute; top: 10px; left: 10px; font-size:16px; line-height: 1.5; background: #ffffffeb; color: var(--ink); padding: 4px 9px; border-radius: 5px; }
.installation-photo-selected { left: auto; right: 10px; background: #2865e8; color: white; }
.installation-photo-copy { padding: 14px; }
.installation-photo-copy>div { display: flex; justify-content: space-between; align-items: baseline; gap: 6px; }
.installation-photo-copy h3 { font-size:23px; line-height: 1.5; letter-spacing: -.035em; }
.installation-photo-copy strong { font-size:25px; color: #2861d5; line-height: 1.5; }
.installation-photo-copy strong small { font-size:16px; }
.installation-photo-copy p { font-size:16px; line-height: 1.8; color: var(--ink); margin-top: 6px; min-height: 39px; }
.installation-photo-copy dl { border-top: 1px solid #edf1f7; margin: 9px 0 0; padding-top: 9px; display: grid; gap: 6px; }
.installation-photo-copy dl>div { display: flex; justify-content: space-between; gap: 8px; font-size:18px; line-height: 1.6; }
.installation-photo-copy dt { color: var(--ink); }
.installation-photo-copy dd { margin: 0; font-weight: 700; white-space: nowrap; }
.installation-photo-copy dl>div:last-child dd { color: #2b64d6; }
@media(max-width:1099px) { .business-flow>.business-overview { grid-template-columns: 1fr 1.3fr; gap: 7px 18px; }.business-flow>.business-overview .business-overview-body img { display: none; }.business-flow>.business-overview .business-overview-body li>strong { font-size:21px; }.installation-photo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.installation-photo-copy p { min-height: 0; } }
@media(max-width:760px) { .business-flow>.business-overview { display: block; }.business-flow>.business-overview .business-overview-body { margin-top: 14px; }.business-flow>.business-overview .business-overview-body ul { gap: 13px; }.installation-options>header { display: block; }.installation-options h2 { font-size:25px; }.installation-options>header>span { display: block; margin-top: 5px; }.installation-photo-grid { gap: 10px; }.installation-photo-copy { padding: 11px; }.installation-photo-copy>div { display: block; }.installation-photo-copy h3 { font-size:21px; }.installation-photo-copy strong { font-size:24px; }.installation-photo-copy p { min-height: 40px; font-size:16px; }.installation-photo-copy dl>div { font-size:16px; }.installation-photo-label,.installation-photo-selected { top: 7px; padding: 3px 6px; font-size:16px; }.installation-photo-label { left: 7px; }.installation-photo-selected { right: 7px; } }
@media(max-width:380px) { .installation-photo-grid { grid-template-columns: 1fr; }.installation-photo-copy>div { display: flex; }.installation-photo-copy p { min-height: 0; }.installation-photo-copy dl>div { font-size:18px; } }

/* Four interactive feasibility pages replace the previous explanation cards. */
.feasibility-guide { margin-top: 20px; scroll-margin-top: 16px; }
.guide-top { display: grid; grid-template-columns: 1.1fr 1.5fr; gap: 22px; align-items: center; margin: 0 3px 18px; }
.guide-top header h2 { font-size:28px; line-height: 1.45; letter-spacing: -.04em; }
.guide-top header>p { font-size:18px; color: var(--ink); line-height: 1.85; margin-top: 7px; }
.guide-top .feasibility-label { margin-bottom: 10px; }
.guide-tabs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.guide-tabs>button { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 7px; min-width: 0; padding: 13px 7px 12px; border: 1px solid #d6e1f1; border-radius: 11px; background: #f1f4f9; color: var(--ink); cursor: pointer; font: inherit; }
.guide-tabs strong { font-size:18px; color: var(--ink); line-height: 1.6; white-space: nowrap; }
.guide-tabs button>span { font-size:16px; font-weight: 700; line-height: 1.5; color: var(--ink); background: #e3e9f2; border-radius: 20px; padding: 4px 13px; }
.guide-tabs button.is-active { border-color: #6bc59a; background: linear-gradient(125deg,#effbf6,#e0f3e9); color: #2aa26a; }
.guide-tabs button>span.is-entered { color: #258557; background: #d9f3e6; }
.guide-tabs button:focus-visible,.guide-panel:focus-visible { outline: 3px solid #92b6f9; outline-offset: 3px; }
.guide-panel { background: linear-gradient(120deg,#fff,#f9fbff); border: 1px solid #dce6f5; border-radius: 12px; padding: 20px; box-shadow: 0 3px 10px #233e6804; }
.guide-panel-heading { display: flex; gap: 15px; align-items: center; margin-bottom: 20px; }
.guide-panel-heading>span { width: 58px; height: 58px; border-radius: 14px; background: #eaf2ff; color: #4482ef; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.guide-panel-heading h3 { font-size:28px; line-height: 1.4; letter-spacing: -.04em; }
.guide-panel-heading p { font-size:19px; line-height: 1.7; color: var(--ink); margin-top: 5px; }
.guide-main { display: grid; grid-template-columns: minmax(0,3fr) minmax(245px,1fr); gap: 18px; align-items: stretch; }
.guide-table-scroll { min-width: 0; overflow: auto; border: 1px solid #d8e3f3; border-radius: 10px; }
.guide-detail-table { border-collapse: separate; border-spacing: 0; width: 100%; min-width: 780px; font-size:18px; line-height: 1.8; text-align: left; table-layout: fixed; }
.guide-detail-table th,.guide-detail-table td { border-right: 1px solid #e5ecf6; border-bottom: 1px solid #e5ecf6; padding: 11px 13px; vertical-align: middle; }
.guide-detail-table th:last-child,.guide-detail-table td:last-child { border-right: 0; }
.guide-detail-table tbody tr:last-child>* { border-bottom: 0; }
.guide-detail-table thead th { background: #edf2fa; font-size:18px; font-weight: 700; color: var(--ink); line-height: 1.7; }
.guide-detail-table thead th:first-child { width: 25%; }
.guide-detail-table tbody th { padding: 7px; font-weight: 700; }
.guide-detail-table tbody th>span { display: flex; align-items: center; gap: 11px; padding: 10px 9px; background: linear-gradient(110deg,#f6f8fc,#edf3ff); border-radius: 7px; color: var(--ink); }
.guide-detail-table tbody th svg { flex-shrink: 0; color: var(--ink); }
.guide-detail-table tbody th strong { font-size:19px; line-height: 1.6; letter-spacing: -.025em; }
.guide-detail-table td { color: var(--ink); }
.guide-impact { display: flex; align-items: center; gap: 9px; }
.guide-impact svg { flex-shrink: 0; color: var(--ink); }
.guide-understand { min-width: 0; padding: 16px 14px 0; display: flex; flex-direction: column; background: linear-gradient(120deg,#f1faf4,#e9f6ed); border: 1px solid #e4f0e8; border-radius: 11px; overflow: hidden; }
.guide-understand h4 { display: flex; align-items: center; gap: 9px; font-size:24px; line-height: 1.6; letter-spacing: -.04em; }
.guide-understand h4 svg { color: #38a46a; flex-shrink: 0; }
.guide-understand ul { list-style: none; margin: 11px 0 0; padding: 0; display: grid; gap: 7px; }
.guide-understand li { background: #ffffffd9; padding: 9px 10px; border-radius: 9px; font-size:18px; line-height: 1.7; color: var(--ink); display: flex; align-items: start; gap: 8px; }
.guide-understand li>span { display: inline-flex; align-items: center; justify-content: center; background: #71bf81; color: white; width: 17px; height: 17px; border-radius: 50%; font-size:16px; margin-top: 2px; flex-shrink: 0; }
.guide-scene { display: block; width: calc(100% + 28px); margin: auto -14px 0; max-height: 150px; padding-top: 8px; }
.guide-process { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px; margin: 18px 0 0; padding: 13px 20px; list-style: none; border: 1px solid #dce6f5; border-radius: 10px; }
.guide-process>li { min-width: 0; position: relative; display: flex; align-items: center; justify-content: center; gap: 13px; padding: 10px 8px; border-radius: 8px; background: #f0f5ff; color: #3d7aeb; }
.guide-process strong { font-size:19px; color: var(--ink); line-height: 1.5; }
.guide-process>li:not(:last-child)::after { content: '→'; position: absolute; right: -26px; font-size:28px; color: var(--ink); }
.guide-process svg { flex-shrink: 0; }
.guide-next { display: flex; align-items: center; gap: 20px; margin-top: 18px; border: 1px solid #e1eaff; border-radius: 12px; padding: 17px 20px; background: linear-gradient(110deg,#f4f8ff,#eaf2ff); }
.guide-next-icon { width: 65px; min-height: 50px; display: flex; align-items: center; justify-content: center; color: #558bef; border-right: 1px solid #d2e1fa; padding-right: 20px; flex-shrink: 0; }
.guide-next>div { flex: 1; }
.guide-next h3 { font-size:26px; line-height: 1.5; letter-spacing: -.04em; }
.guide-next p { font-size:18px; color: var(--ink); line-height: 1.8; margin-top: 4px; }
.guide-next button { white-space: nowrap; font-size:19px; padding: 12px 18px; gap: 13px; }
.guide-review-note { margin: 10px 3px 0; color: var(--ink); font-size:16px; line-height: 1.7; }
@media(min-width:1100px) and (max-width:1400px) { .guide-top { grid-template-columns: 1fr 1.4fr; gap: 15px; }.guide-top header h2 { font-size:25px; }.guide-tabs strong { font-size:16px; }.guide-main { grid-template-columns: minmax(0,3fr) minmax(230px,1fr); gap: 13px; }.guide-detail-table { min-width: 740px; font-size:16px; }.guide-detail-table th,.guide-detail-table td { padding: 10px; }.guide-detail-table tbody th { padding: 6px; }.guide-detail-table tbody th>span { padding: 8px; gap: 7px; }.guide-detail-table tbody th strong { font-size:18px; }.guide-understand { padding-inline: 12px; }.guide-understand h4 { font-size:23px; }.guide-understand li { font-size:16px; }.guide-process strong { font-size:18px; } }
@media(max-width:1099px) { .guide-top { grid-template-columns: 1fr; gap: 15px; }.guide-top header h2 { font-size:27px; }.guide-tabs>button { padding: 12px; gap: 5px; }.guide-main { grid-template-columns: 1fr; }.guide-understand { display: grid; grid-template-columns: 1.7fr 1fr; gap: 0 20px; padding-bottom: 0; }.guide-understand h4 { grid-column: 1; }.guide-understand ul { grid-column: 1; margin-bottom: 14px; }.guide-scene { grid-column: 2; grid-row: 1/3; width: calc(100% + 14px); align-self: end; margin: 0 -14px 0 0; }.guide-process { padding: 12px; gap: 22px; }.guide-process>li { gap: 8px; }.guide-process>li:not(:last-child)::after { right: -19px; font-size:26px; }.guide-process strong { font-size:16px; } }
@media(max-width:760px) { .feasibility-guide { margin-top: 16px; }.guide-top header h2 { font-size:25px; }.guide-top header>p { font-size:16px; }.guide-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }.guide-tabs>button { padding: 12px 8px; }.guide-tabs strong { font-size:18px; }.guide-tabs button>span { font-size:16px; padding-block: 3px; }.guide-panel { padding: 14px 12px; }.guide-panel-heading { gap: 11px; margin-bottom: 15px; }.guide-panel-heading>span { width: 45px; height: 45px; border-radius: 11px; }.guide-panel-heading>span svg { width: 29px; height: 29px; }.guide-panel-heading h3 { font-size:25px; }.guide-panel-heading p { font-size:16px; }.guide-detail-table { min-width: 750px; }.guide-main { gap: 12px; }.guide-understand { display: flex; padding: 13px 12px 0; }.guide-understand h4 { font-size:24px; }.guide-understand li { font-size:18px; }.guide-scene { width: 100%; max-height: 140px; margin: 0; }.guide-process { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 22px; padding: 10px; margin-top: 12px; }.guide-process>li:nth-child(2)::after { content: ''; }.guide-process strong { font-size:16px; }.guide-next { padding: 15px; display: grid; grid-template-columns: auto 1fr; gap: 12px; margin-top: 13px; }.guide-next-icon { width: 43px; padding-right: 10px; }.guide-next h3 { font-size:24px; }.guide-next p { font-size:16px; }.guide-next button { grid-column: 1/-1; justify-content: center; padding: 11px; }.guide-review-note { font-size:16px; } }

.decision-section { margin-top: 22px; padding: 18px; border: 1px solid #dce6f5; border-radius: 13px; background: linear-gradient(125deg,#fff,#f7faff); }
.decision-header { padding: 0 0 18px; background-image: linear-gradient(90deg,#ffffff 0%,#ffffffed 48%,#ffffff20 100%),url('photos/option-4.jpg'); background-position: center,right 35%; background-size: cover; border-radius: 9px; }
.decision-header>span { display: inline-block; padding: 4px 12px; font-size:18px; line-height: 1.6; font-weight: 700; color: #2865d7; background: #e8f0ff; border-radius: 20px; margin-bottom: 8px; }
.decision-header h2 { font-size:31px; line-height: 1.5; letter-spacing: -.045em; }
.decision-header p { font-size:19px; color: var(--ink); line-height: 1.8; margin-top: 5px; }
.decision-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 0 0 17px; }
.decision-metrics>div { display: flex; align-items: center; gap: 13px; padding: 16px; background: #f1f6ff; border: 1px solid #dce8fa; border-radius: 11px; min-width: 0; }
.decision-metrics>div:last-child { background: #edfaf2; border-color: #d4eddf; }
.decision-metrics .dash-icon { height: 42px; width: 42px; border-radius: 11px; }
.decision-metrics>div>div { min-width: 0; }
.decision-metrics>div>div>span { font-size:18px; font-weight: 700; color: var(--ink); }
.decision-metrics strong { display: block; font-size: clamp(20px,1.8vw,29px); line-height: 1.5; letter-spacing: -.04em; white-space: nowrap; }
.decision-card { min-width: 0; border: 1px solid #dfe7f3; border-radius: 11px; padding: 17px; background: #fff; }
.decision-card h3,.decision-understand h3 { display: flex; align-items: center; gap: 9px; font-size:25px; line-height: 1.5; letter-spacing: -.04em; margin-bottom: 15px; }
.decision-card h3>svg { color: #397cf1; flex-shrink: 0; }
.finance-layout { display: grid; grid-template-columns: 1.1fr 1.5fr .95fr; gap: 14px; align-items: stretch; }
.finance-input-column,.finance-chart-column { min-width: 0; display: flex; flex-direction: column; gap: 13px; }
.finance-mix { display: flex; height: 39px; overflow: hidden; border-radius: 8px; margin: 20px 0 12px; }
.finance-mix>div { display: flex; align-items: center; justify-content: center; background: #428ef5; color: white; font-size:23px; font-weight: 700; min-width: 0; overflow: hidden; }
.finance-mix>div+div { background: #6dc17a; }
.finance-mix-legend { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 14px; font-size:16px; line-height: 1.7; color: var(--ink); }
.finance-mix-legend strong { color: var(--ink); font-weight: 400; }
.finance-conditions { flex: 1; }
.finance-conditions label { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size:18px; padding: 9px 0; border-bottom: 1px solid #edf1f7; }
.finance-conditions label>span { white-space: nowrap; }
.finance-conditions label input { width: 73px; padding: 7px 8px; border-radius: 6px; border: 1px solid #cfddf1; text-align: right; font: inherit; background: #f9fbff; color: #345580; }
.finance-conditions input[type=range] { width: 100%; accent-color: #3b7cef; margin: 12px 0 3px; }
.finance-conditions dl { margin: 13px 0 0; font-size:18px; line-height: 1.8; display: grid; gap: 8px; }
.finance-conditions dl>div { display: flex; gap: 8px; justify-content: space-between; }
.finance-conditions dt { color: var(--ink); }.finance-conditions dd { margin: 0; font-weight: 700; color: #2861ce; white-space: nowrap; }
.finance-waterfall { display: block; width: 100%; height: auto; max-height: 310px; overflow: visible; }
.finance-chart-column>.decision-card:first-child { flex: 1; }
.finance-why ul { margin: 0; padding-left: 17px; display: grid; gap: 7px; color: var(--ink); font-size:18px; line-height: 1.8; }
.decision-understand { min-width: 0; display: flex; flex-direction: column; padding: 17px 15px 0; border: 1px solid #dceee2; border-radius: 11px; background: linear-gradient(125deg,#f6fcf7,#e9f7ed); overflow: hidden; }
.decision-understand h3 { color: #21774e; }
.decision-understand h3 svg { color: var(--ink); flex-shrink: 0; }
.decision-understand ul { list-style: none; padding: 0; margin: 0; display: grid; }
.decision-understand li { display: flex; gap: 9px; align-items: start; font-size:19px; color: var(--ink); line-height: 1.85; padding: 15px 0; border-top: 1px solid #d8e9de; }
.decision-understand li:first-child { border-top: 0; }
.decision-understand li>span { color: var(--ink); font-weight: 700; flex-shrink: 0; }
.decision-understand .guide-scene { margin: auto -15px 0; width: calc(100% + 30px); max-height: 175px; }
.decision-process { list-style: none; margin: 15px 0; padding: 13px 17px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 27px; border: 1px solid #dce6f5; border-radius: 10px; background: #fbfcff; }
.decision-process li { position: relative; display: flex; align-items: center; justify-content: center; gap: 9px; color: var(--ink); font-size:19px; font-weight: 700; line-height: 1.7; padding: 7px; border-radius: 20px; background: #edf4ff; }
.decision-process li>span { color: #3d7fe8; font-size:18px; }
.decision-process li:not(:last-child)::after { content: '→'; position: absolute; right: -22px; color: var(--ink); font-size:25px; }
.decision-footer { display: flex; align-items: center; gap: 20px; margin-top: 14px; }
.decision-footer button { gap: 14px; flex-shrink: 0; font-size:20px; padding: 13px 20px; }
.decision-footer p,.decision-note { color: var(--ink); font-size:16px; line-height: 1.8; }
.decision-note { margin: 8px 0; }
.risk-analysis-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 14px; }
.risk-sensitivity { display: grid; gap: 11px; margin: 18px 0 15px; }
.risk-sensitivity>div { display: grid; grid-template-columns: 1.15fr 1.3fr; gap: 12px; align-items: center; }
.risk-sensitivity>div>div:first-child { display: flex; justify-content: space-between; align-items: center; gap: 7px; }
.risk-sensitivity strong { font-size:18px; line-height: 1.7; }
.risk-sensitivity small { font-size:16px; color: var(--ink); padding: 3px 6px; border-radius: 12px; background: #f0f4fa; line-height: 1.5; white-space: nowrap; }
.risk-delta-track { position: relative; height: 28px; background: repeating-linear-gradient(90deg,#ecf1f8 0,#ecf1f8 1px,transparent 1px,transparent 25%); border-right: 2px dashed #83ba8d; display: flex; justify-content: end; }
.risk-delta-track>div { background: linear-gradient(90deg,#599cfa,#2563df); height: 100%; border-radius: 6px 0 0 6px; }
.risk-delta-track>strong { position: absolute; right: 7px; top: 3px; font-size:18px; color: #254c8f; background: #fffffff0; padding: 0 4px; border-radius: 3px; }
.risk-scenarios { display: grid; gap: 9px; margin-top: 16px; }
.risk-scenarios>div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px; background: #f3f6fb; border: 1px solid #dfe7f3; border-radius: 9px; }
.risk-scenarios>div.scenario-0 { background: #eaf3ff; border-color: #bad4fb; }.risk-scenarios>div.scenario-2 { background: #edf9f1; border-color: #ccebd8; }
.risk-scenarios h4,.risk-scenarios h3 { font-size:20px; line-height: 1.5; letter-spacing: -.03em; }
.risk-scenarios p { font-size:16px; color: var(--ink); line-height: 1.8; margin-top: 4px; }
.risk-scenarios>div>div:not(:first-child) { flex-shrink: 0; }
.risk-scenarios>div>div>span { color: var(--ink); font-size:16px; display: block; margin-bottom: 4px; }
.risk-scenarios strong { color: #2d5caa; font-size:24px; white-space: nowrap; }
.risk-detail-grid { display: grid; grid-template-columns: 3fr 1fr; gap: 14px; margin-top: 14px; }
.risk-table-scroll { overflow: auto; }
.risk-detail-table { width: 100%; min-width: 700px; border-spacing: 0; text-align: left; font-size:16px; line-height: 1.8; }
.risk-detail-table th,.risk-detail-table td { padding: 10px; border-bottom: 1px solid #e4ebf5; vertical-align: middle; }
.risk-detail-table thead th { background: #eef3fb; color: var(--ink); font-weight: 700; }
.risk-detail-table tbody th { font-size:18px; width: 24%; background: #f8faff; }
.risk-detail-table tbody td { color: var(--ink); }
.risk-detail-table tbody td:first-child { width: 30px; color: #367ae8; font-weight: 700; }
.risk-detail-grid .decision-understand li { font-size:18px; padding-block: 11px; }
.risk-detail-grid .decision-understand .guide-scene { max-height: 140px; }
@media(max-width:1099px) { .finance-layout { grid-template-columns: 1fr 1.45fr; }.finance-layout>.decision-understand { grid-column: 1/-1; display: grid; grid-template-columns: 1.5fr 1fr; gap: 0 25px; }.finance-layout>.decision-understand ul { grid-column: 1; }.finance-layout>.decision-understand .guide-scene { grid-column: 2; grid-row: 1/3; align-self: end; width: 100%; margin: 0; }.decision-metrics strong { font-size:25px; }.decision-metrics>div { padding: 13px; gap: 8px; }.decision-metrics .dash-icon { height: 31px; width: 31px; }.risk-analysis-grid { grid-template-columns: 1fr; }.risk-detail-grid { grid-template-columns: 1fr; }.risk-detail-grid>.decision-understand { display: none; } }
@media(max-width:760px) { .decision-section { padding: 14px 12px; margin-top: 16px; }.decision-header h2 { font-size:26px; }.decision-header p { font-size:16px; }.decision-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-bottom: 12px; }.decision-metrics>div { padding: 11px 9px; }.decision-metrics>div>div>span { font-size:16px; }.decision-metrics strong { font-size:24px; white-space: normal; }.decision-metrics .dash-icon { height: 26px; width: 26px; }.decision-card { padding: 14px 12px; }.decision-card h3,.decision-understand h3 { font-size:24px; gap: 7px; }.finance-layout { grid-template-columns: 1fr; gap: 12px; }.finance-layout>.decision-understand { grid-column: auto; display: flex; }.decision-understand li { font-size:18px; padding-block: 11px; }.finance-layout>.decision-understand .guide-scene { max-height: 140px; margin: 0; }.finance-conditions label,.finance-conditions dl { font-size:18px; }.finance-why ul { font-size:16px; }.decision-process { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 22px; padding: 10px; }.decision-process li { font-size:16px; }.decision-process li:nth-child(2)::after { content: ''; }.decision-process li:not(:last-child)::after { right: -18px; font-size:24px; }.decision-footer { flex-direction: column; align-items: stretch; gap: 10px; }.decision-footer button { justify-content: center; font-size:19px; }.decision-footer p { font-size:16px; }.risk-sensitivity>div { grid-template-columns: 1.2fr 1fr; gap: 8px; }.risk-sensitivity>div>div:first-child { display: block; }.risk-sensitivity small { display: inline-block; margin-top: 2px; }.risk-sensitivity strong { font-size:16px; }.risk-scenarios>div { gap: 8px; padding: 11px 8px; }.risk-scenarios h4 { font-size:18px; }.risk-scenarios p { font-size:16px; }.risk-scenarios strong { font-size:21px; }.risk-scenarios>div>div:first-child { max-width: 48%; }.risk-table-scroll { margin-inline: -3px; } }
.decision-metrics .is-negative strong { color: #c7576b; }
.risk-section .decision-metrics>div:nth-child(3) strong { white-space: normal; font-size: clamp(17px,1.5vw,24px); }
@media(max-width:1250px) { .risk-detail-grid>.decision-understand { display: flex; }.risk-detail-grid>.decision-understand .guide-scene { max-height: 125px; }.risk-detail-grid>.decision-understand li { padding-block: 8px; } }
.finance-waterfall .bridge-value { font-size:20px; }
.finance-waterfall .bridge-category { font-size:19px; }

/* Levered cash-on-cash return and full-life equity IRR comparison. */
.finance-section>.decision-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
.finance-section>.decision-metrics>div:nth-last-child(-n+2) { background: #ebf5ff; border-color: #bfd7fa; }
.finance-section>.decision-metrics>div:nth-last-child(-n+2) strong { color: #2366d7; }
.equity-optimizer { margin-top: 17px; padding: 18px; border: 1px solid #d9e5f7; border-radius: 12px; background: #fff; }
.equity-optimizer-heading { display: flex; justify-content: space-between; align-items: start; gap: 16px; }
.equity-optimizer-heading h3 { display: flex; align-items: center; gap: 9px; font-size:26px; line-height: 1.5; letter-spacing: -.04em; }
.equity-optimizer-heading p { color: var(--ink); font-size:18px; line-height: 1.8; margin-top: 5px; }
.equity-objective { display: flex; gap: 5px; padding: 4px; background: #f0f4fa; border-radius: 9px; flex-shrink: 0; }
.equity-objective button { padding: 8px 12px; background: transparent; font-size:16px; font-weight: 700; color: var(--ink); border-radius: 6px; line-height: 1.5; white-space: nowrap; }
.equity-objective button[aria-pressed=true] { background: #fff; box-shadow: 0 1px 4px #28456d0c; color: #2964ce; }
.equity-coverage-filter { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size:18px; line-height: 1.7; padding: 12px 13px; border: 1px solid #e5ecf7; border-radius: 8px; background: #f8faff; margin-top: 15px; }
.equity-coverage-filter input { width: 16px; height: 16px; accent-color: #3878e4; }
.equity-coverage-filter small { color: var(--ink); font-size:16px; margin-left: auto; }
.equity-optimizer-layout { display: grid; grid-template-columns: minmax(0,2.4fr) minmax(265px,1fr); gap: 18px; margin-top: 15px; align-items: stretch; }
.equity-chart { min-width: 0; padding: 10px 5px; }
.equity-chart svg { display: block; width: 100%; height: auto; max-height: 320px; overflow: visible; }
.equity-chart-tick { font-family: Bookk,sans-serif; font-size:18px; fill: var(--ink); }
.equity-chart-legend { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin: 0 0 7px 12px; }
.equity-chart-legend span { display: inline-flex; align-items: center; gap: 6px; font-size:16px; color: var(--ink); }
.equity-chart-legend i { width: 16px; height: 3px; background: #3279ed; border-radius: 2px; }
.equity-chart-legend i.is-shortfall { height: 10px; background: #ffdfdf; }.equity-chart-legend i.is-tight { height: 10px; background: #fae8b7; }
.equity-best-card { background: linear-gradient(120deg,#f0f7ff,#e9f3ff); border: 1px solid #d0e2fa; border-radius: 10px; padding: 16px; min-width: 0; }
.equity-best-label { display: inline-block; color: #527cbd; font-size:16px; line-height: 1.6; }
.equity-best-number { margin-top: 10px; }
.equity-best-number>strong { color: #2161d0; font-size:31px; line-height: 1.5; letter-spacing: -.04em; }
.equity-best-number>span { display: block; color: var(--ink); font-size:16px; line-height: 1.8; margin-top: 4px; }
.equity-best-number b { margin-left: 6px; font-size:24px; color: #2868d7; }
.equity-best-card dl { display: grid; gap: 7px; margin: 14px 0; font-size:16px; line-height: 1.7; }
.equity-best-card dl>div { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.equity-best-card dt { color: var(--ink); }.equity-best-card dd { font-weight: 700; color: var(--ink); margin: 0; }
.equity-best-card button { width: 100%; justify-content: center; font-size:18px; padding: 10px 13px; }
.equity-unrestricted { margin-top: 12px; border-top: 1px solid #d5e3f6; padding-top: 10px; font-size:16px; line-height: 1.9; color: var(--ink); }
.equity-no-result { color: var(--ink); font-size:18px; line-height: 1.8; margin-top: 12px; }
.equity-current-note { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding: 11px 14px; border: 1px solid #e6edf7; border-radius: 8px; background: #f5f9ff; margin-top: 13px; font-size:18px; line-height: 1.7; color: var(--ink); }
.equity-current-note strong { color: #3264ac; }.equity-current-note.has-shortfall { background: #fff5f5; border-color: #f4dce0; color: #bd7180; }.equity-current-note.has-shortfall strong { color: #bb5d71; }
.equity-table-scroll { overflow: auto; margin-top: 13px; border: 1px solid #e0e8f4; border-radius: 8px; }
.equity-comparison-table { width: 100%; min-width: 850px; border-collapse: separate; border-spacing: 0; font-size:18px; text-align: right; line-height: 1.7; font-variant-numeric: tabular-nums; }
.equity-comparison-table th,.equity-comparison-table td { padding: 9px 12px; border-bottom: 1px solid #e8edf6; vertical-align: middle; white-space: nowrap; }
.equity-comparison-table thead th { background: #f1f5fb; color: var(--ink); font-size:16px; font-weight: 700; }
.equity-comparison-table tbody th { text-align: left; padding-left: 16px; }
.equity-comparison-table tr:last-child>* { border-bottom: 0; }
.equity-comparison-table .is-current>* { background: #edf4ff; color: #3064bc; }.equity-comparison-table .is-best>* { background: #f7fbef; }
.equity-comparison-table small { display: block; font-size:16px; color: var(--ink); line-height: 1.5; margin-top: 3px; }
.equity-comparison-table .is-negative { color: #c56678; }
.equity-comparison-table button { border: 1px solid #dbe5f5; background: white; border-radius: 5px; padding: 4px 10px; font-size:16px; color: #5881bd; }
.equity-definitions { display: grid; gap: 6px; margin-top: 14px; font-size:16px; line-height: 1.8; color: var(--ink); }
.equity-definitions strong { color: var(--ink); }
.equity-definitions p:last-child { font-size:16px; }
@media(min-width:1600px) { .finance-section>.decision-metrics { grid-template-columns: repeat(6,minmax(0,1fr)); }.finance-section>.decision-metrics>div { padding: 13px 12px; gap: 8px; }.finance-section>.decision-metrics .dash-icon { width: 29px; height: 29px; }.finance-section>.decision-metrics strong { font-size:28px; }.finance-section>.decision-metrics>div>div>span { font-size:16px; } }
@media(max-width:1099px) { .equity-optimizer-heading { flex-direction: column; gap: 12px; }.equity-optimizer-layout { grid-template-columns: 1.8fr 1fr; gap: 12px; }.equity-best-card { padding: 13px; }.equity-best-number>strong { font-size:28px; }.equity-best-card dl>div { flex-wrap: wrap; gap: 2px; } }
@media(max-width:760px) { .finance-section>.decision-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }.equity-optimizer { padding: 14px 12px; margin-top: 13px; }.equity-optimizer-heading h3 { font-size:24px; }.equity-optimizer-heading p { font-size:16px; }.equity-objective { width: 100%; }.equity-objective button { flex: 1; padding: 8px; font-size:16px; }.equity-coverage-filter { font-size:16px; gap: 7px; padding: 10px; }.equity-coverage-filter small { margin-left: 24px; font-size:16px; }.equity-optimizer-layout { grid-template-columns: 1fr; gap: 12px; margin-top: 11px; }.equity-chart { padding: 9px 0; }.equity-chart svg { min-height: 180px; }.equity-chart-legend { margin-left: 0; gap: 10px; }.equity-chart-legend span { font-size:16px; }.equity-best-card dl>div { flex-wrap: nowrap; }.equity-best-number>strong { font-size:30px; }.equity-current-note { font-size:16px; gap: 5px 12px; padding: 10px; }.equity-definitions { font-size:16px; }.equity-definitions p:last-child { font-size:16px; }.equity-comparison-table { font-size:16px; }.equity-comparison-table th,.equity-comparison-table td { padding: 8px 10px; } }

.capital-funding,.repayment-plan { padding: 17px; border: 1px solid #dce6f5; border-radius: 11px; background: white; margin: 0 0 16px; }
.capital-title { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 13px; }
.capital-title h3 { display: flex; align-items: center; gap: 9px; font-size:26px; line-height: 1.5; letter-spacing: -.04em; }
.capital-title>span,.capital-title p { font-size:16px; line-height: 1.8; color: var(--ink); }
.capital-title p { margin-top: 6px; font-size:18px; }
.funding-choice { display: flex; gap: 6px; flex-wrap: wrap; padding: 4px; background: #f1f5fb; border-radius: 8px; width: fit-content; }
.funding-choice button { padding: 8px 14px; font-size:18px; border-radius: 6px; background: transparent; color: var(--ink); line-height: 1.5; }
.funding-choice button[aria-pressed=true] { background: white; color: #2862c8; box-shadow: 0 1px 4px #2b487b0d; }
.capital-funding-layout { display: grid; grid-template-columns: 1.1fr 1fr; gap: 28px; margin-top: 15px; }
.capital-inputs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px 17px; }
.capital-inputs label { display: flex; justify-content: space-between; align-items: center; gap: 9px; font-size:16px; line-height: 1.6; color: var(--ink); }
.capital-inputs label>span { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.capital-inputs input { width: 75px; padding: 8px; font: inherit; border: 1px solid #dce5f3; border-radius: 6px; background: #f9fbff; text-align: right; color: #466a9b; }
.capital-funding-track { display: flex; height: 35px; border-radius: 7px; overflow: hidden; }
.capital-funding-track>div { display: flex; align-items: center; justify-content: center; min-width: 0; font-size:18px; color: white; font-weight: 700; }
.capital-funding-legend { padding: 0; margin: 11px 0; list-style: none; display: grid; gap: 5px; }
.capital-funding-legend li { display: flex; align-items: center; gap: 7px; font-size:16px; line-height: 1.7; color: var(--ink); }
.capital-funding-legend i { width: 8px; height: 8px; border-radius: 2px; }.capital-funding-legend strong { color: var(--ink); margin-left: auto; }
.capital-weighted-rate { display: flex; justify-content: space-between; align-items: center; padding: 9px 12px; border-radius: 8px; background: #eff9f2; color: var(--ink); font-size:16px; }
.capital-weighted-rate strong { font-size:26px; color: #39875a; }
.capital-note { margin-top: 11px; color: var(--ink); font-size:16px; line-height: 1.85; }
.repayment-plan { margin: 17px 0; }
.repayment-controls { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.repayment-controls>label { font-size:16px; color: var(--ink); line-height: 1.7; display: flex; gap: 7px; align-items: center; }
.repayment-controls input { accent-color: #3b7ee8; }
.repayment-best { margin-top: 14px; padding: 15px; border: 1px solid #d6e7f6; border-radius: 9px; background: #f1f8ff; display: flex; align-items: center; gap: 15px; justify-content: space-between; }
.repayment-best span { display: block; color: var(--ink); font-size:16px; line-height: 1.6; }
.repayment-best strong { display: block; font-size:26px; color: #326cc4; line-height: 1.7; }
.repayment-best p { color: var(--ink); font-size:16px; line-height: 1.8; margin-top: 4px; }
.repayment-best button { flex-shrink: 0; font-size:18px; padding: 11px 16px; }
.repayment-sweep { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 13px 0; font-size:18px; color: var(--ink); line-height: 1.7; }
.repayment-sweep input { flex: 1; max-width: 330px; min-width: 100px; accent-color: #4c85e6; }
.repayment-sweep small { font-size:16px; color: var(--ink); }
.capital-table-scroll { overflow: auto; border: 1px solid #e1e9f4; border-radius: 8px; }
.capital-table { width: 100%; min-width: 900px; border-spacing: 0; border-collapse: separate; font-size:18px; line-height: 1.7; text-align: right; font-variant-numeric: tabular-nums; }
.capital-table th,.capital-table td { padding: 9px 11px; border-bottom: 1px solid #eaf0f7; vertical-align: middle; white-space: nowrap; }
.capital-table thead th { background: #f1f5fb; color: var(--ink); font-weight: 700; font-size:16px; }
.capital-table tbody th { text-align: left; color: #537cb5; }
.capital-table small { display: block; font-size:16px; color: var(--ink); font-weight: 400; line-height: 1.5; }
.capital-table .is-current>* { background: #eef5ff; }.capital-table .is-best>* { background: #f5fbf0; }
.capital-table .is-negative { color: #c47083; }
.capital-table tbody tr:last-child>* { border-bottom: 0; }
.capital-table button { color: var(--ink); padding: 4px 10px; border: 1px solid #dae5f5; background: white; border-radius: 5px; font-size:16px; }
.repayment-outcome { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 16px 0; }
.repayment-outcome>div { padding: 13px; background: #f2f7fe; border: 1px solid #e0eafa; border-radius: 8px; }
.repayment-outcome span { color: var(--ink); font-size:16px; line-height: 1.6; }.repayment-outcome strong { display: block; color: #4176bf; font-size:25px; line-height: 1.6; }
.repayment-outcome strong span { font: inherit; color: inherit; }
.repayment-schedule summary { color: var(--ink); cursor: pointer; font-size:20px; line-height: 1.7; margin-bottom: 12px; }
.repayment-schedule summary small { font-size:16px; color: var(--ink); margin-left: 10px; }
.finance-section>.decision-metrics { grid-template-columns: repeat(4,minmax(0,1fr)); }
.finance-section>.decision-metrics>div>div>span { font-size:16px; }.finance-section>.decision-metrics strong { font-size:27px; }
.equity-comparison-table thead small { font-weight: 400; font-size:16px; color: var(--ink); }
.business-procedure { margin-top: 22px; padding: 18px; border: 1px solid #dce7f5; border-radius: 12px; background: linear-gradient(120deg,#fff,#f7faff); }
.procedure-heading { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin: 4px 0 20px; }
.procedure-heading h3 { display: flex; align-items: center; gap: 9px; font-size:25px; line-height: 1.6; }.procedure-heading svg { color: #4a88e7; }
.procedure-heading>span { font-size:16px; color: var(--ink); line-height: 1.7; }
.procedure-timeline { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); list-style: none; padding: 0; margin: 0 0 20px; }
.procedure-timeline li { display: flex; align-items: center; flex-direction: column; text-align: center; min-width: 0; }
.procedure-number { color: var(--ink); font-size:16px; padding: 3px 10px; border-radius: 12px; background: #eaf3ff; margin-bottom: 10px; }
.procedure-timeline svg { color: #548bda; margin-bottom: 9px; }
.procedure-timeline h4 { font-size:19px; color: var(--ink); line-height: 1.7; letter-spacing: -.03em; }
.procedure-time { font-size:16px; color: var(--ink); background: #eef6fc; border-radius: 15px; padding: 4px 11px; margin-top: 6px; }
.procedure-line { width: 100%; height: 30px; position: relative; margin-block: 8px; }
.procedure-line::before { content: ''; position: absolute; height: 4px; left: 0; right: 0; top: 13px; background: #8ab8e9; }.procedure-timeline li:last-child .procedure-line::before { background: #88be99; }
.procedure-line i { position: absolute; width: 15px; height: 15px; border: 3px solid #739fda; border-radius: 50%; left: calc(50% - 7px); top: 7px; background: white; }
.procedure-timeline li>p { font-size:16px; line-height: 1.8; color: var(--ink); padding: 10px; margin: 0 6px; background: #f0f6fe; border: 1px solid #dfeaf8; border-radius: 8px; flex: 1; }
.procedure-detail-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; }
.procedure-detail-grid article { position: relative; padding: 16px 12px; border: 1px solid #e0e9f5; border-radius: 9px; background: white; }
.procedure-detail-grid article>span { position: absolute; top: 9px; left: 9px; color: var(--ink); font-size:16px; }
.procedure-detail-grid svg { display: block; margin: 2px auto 10px; color: var(--ink); }
.procedure-detail-grid h4 { font-size:18px; line-height: 1.7; color: var(--ink); text-align: center; padding-bottom: 10px; border-bottom: 1px solid #e9eff8; }
.procedure-detail-grid ul { padding-left: 14px; margin: 10px 0 0; display: grid; gap: 7px; font-size:16px; color: var(--ink); line-height: 1.8; }
.procedure-contact { display: flex; justify-content: space-between; gap: 20px; align-items: center; background: #edf7f4; border: 1px solid #dceee5; border-radius: 10px; padding: 18px; margin-top: 15px; }
.procedure-contact strong { font-size:24px; color: var(--ink); line-height: 1.6; }.procedure-contact p { font-size:16px; color: var(--ink); line-height: 1.8; margin-top: 5px; }.procedure-contact button { font-size:18px; padding: 12px 18px; flex-shrink: 0; }
@media(max-width:1099px) { .capital-funding-layout { grid-template-columns: 1fr; gap: 15px; }.procedure-detail-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }.procedure-timeline { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px 0; }.procedure-heading { align-items: start; flex-direction: column; gap: 6px; }.finance-section>.decision-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .capital-funding,.repayment-plan { padding: 13px; }.capital-title { display: block; }.capital-title h3 { font-size:24px; }.capital-title>span { display: block; margin-top: 6px; }.capital-title p { font-size:16px; }.funding-choice { width: 100%; }.funding-choice button { flex: 1; padding: 8px; font-size:16px; }.capital-inputs { grid-template-columns: 1fr; }.repayment-best { flex-direction: column; align-items: stretch; }.repayment-best strong { font-size:24px; }.repayment-best button { justify-content: center; }.repayment-controls>label { font-size:16px; }.repayment-sweep { font-size:16px; gap: 9px; }.repayment-sweep small { flex-basis: 100%; font-size:16px; }.repayment-outcome { grid-template-columns: repeat(2,minmax(0,1fr)); }.repayment-outcome>div { padding: 10px; }.repayment-outcome strong { font-size:24px; }.capital-table { font-size:16px; }.capital-table th,.capital-table td { padding: 8px 9px; }.business-procedure { padding: 14px 12px; }.procedure-heading h3 { font-size:24px; }.procedure-timeline { grid-template-columns: repeat(2,minmax(0,1fr)); }.procedure-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.procedure-contact { flex-direction: column; align-items: stretch; padding: 14px; }.procedure-contact strong { font-size:23px; }.procedure-contact button { justify-content: center; }.finance-section>.decision-metrics strong { font-size:25px; } }
.capital-joint { margin: 17px 0; border: 1px solid #d8e6f7; border-radius: 11px; padding: 17px; background: #f6faff; }
.capital-joint .capital-title { align-items: center; }.capital-joint .capital-title p { max-width: 900px; }
.capital-joint>.capital-title button { white-space: nowrap; font-size:18px; padding: 11px 16px; }
.capital-joint progress { width: 100%; height: 8px; accent-color: #4b86e7; }
.joint-results { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.joint-results article { min-width: 0; padding: 15px; border: 1px solid #dce8f7; border-radius: 9px; background: white; }
.joint-results h4 { font-size:18px; color: var(--ink); margin-bottom: 8px; }.joint-results article>strong { font-size:26px; color: #3e79c8; line-height: 1.7; }
.joint-results dl { margin: 12px 0; display: grid; gap: 7px; font-size:16px; line-height: 1.8; }.joint-results dl>div { display: flex; justify-content: space-between; gap: 12px; }.joint-results dt { color: var(--ink); }.joint-results dd { margin: 0; color: #4d78b1; font-weight: 700; }
.joint-results article>button { padding: 8px 15px; border: 1px solid #d6e6fb; border-radius: 6px; background: #edf5ff; color: #5387ca; font-size:16px; }
@media(max-width:760px) { .capital-joint { padding: 13px; }.capital-joint>.capital-title button { width: 100%; justify-content: center; margin-top: 12px; }.joint-results { grid-template-columns: 1fr; }.joint-results article>strong { font-size:24px; }.joint-results dt { font-size:16px; } }
.finance-section>.decision-metrics>div:nth-child(5),.finance-section>.decision-metrics>div:nth-child(6) { background: #edf5ff; border-color: #caddfa; }.finance-section>.decision-metrics>div:nth-child(6) strong { color: #2f6cd2; }.finance-section>.decision-metrics>div:nth-child(7) { background: #effaf3; border-color: #d1eadb; }.finance-section>.decision-metrics>div:nth-child(7) strong { color: #3b9667; }

/* Ratio labels live outside the proportional bar so a 1–10% segment cannot clip them. */
.finance-mix-labels { display:flex; justify-content:space-between; gap:12px; margin:20px 0 8px; color:var(--ink); font-size:18px; }
.finance-mix-labels span { display:flex; align-items:baseline; gap:7px; white-space:nowrap; }
.finance-mix-labels strong { font-size:26px; line-height:1.4; font-variant-numeric:tabular-nums; }
.finance-mix-labels+.finance-mix { margin-top:0; height:26px; }
.finance-mix>div { flex-shrink:0; }
.market-section { color:var(--ink); }
.market-intro { display:grid; grid-template-columns:1fr 1fr 1.5fr; gap:12px; margin-bottom:16px; }
.market-intro>div,.market-intro>aside { border:1px solid #dce6f5; border-radius:11px; padding:15px; background:#eff6ff; }
.market-intro>div { display:flex; gap:12px; align-items:center; }
.market-intro>div:nth-child(2) { background:#effaf2; }
.market-intro>div>strong { color:#185bd7; font-size:31px; }
.market-intro>div:nth-child(2)>strong { color:#168244; }
.market-intro p { font-size:18px; line-height:1.8; }
.market-intro>div>p { padding-left:12px; border-left:1px solid #bacce3; }
.market-intro>aside { background:#f9fbff; display:flex; align-items:center; gap:9px 16px; flex-wrap:wrap; }
.market-intro>aside>strong { font-size:19px; }.market-intro b { font-size:20px; }.market-intro small { display:block; font-size:16px; line-height:1.8; }
.market-section a { color:#174caa; text-decoration:underline; font-size:16px; }
.market-main { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:14px; }
.market-section h3 { display:flex; align-items:center; gap:8px; font-size:24px; }
.market-history>p { font-size:16px; margin-top:6px; }
.market-history svg { width:100%; display:block; margin-top:14px; }
.market-history svg text { font:12px Bookk,sans-serif; fill:var(--ink); }
.market-history .market-smp-series,.market-history .market-smp-label { color:#1967dd; }
.market-history .market-rec-series,.market-history .market-rec-label { color:#168344; }
.market-history .market-smp-label,.market-history .market-rec-label { fill:currentColor; font-weight:700; }
.market-history .market-point-value { font-weight:700; paint-order:stroke; stroke:white; stroke-width:5px; stroke-linejoin:round; }
.market-source { font-size:16px; line-height:1.85; color:var(--ink); margin-top:12px; }
.market-scenario-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }.market-scenario-heading>span { font-size:16px; }
.market-inputs { display:flex; flex-wrap:wrap; align-items:center; gap:9px 12px; background:#f6f9ff; padding:10px; border-radius:8px; margin:14px 0; }
.market-inputs label { font-size:16px; display:flex; align-items:center; gap:5px; }.market-inputs input { width:78px; border:1px solid #bdcfe9; border-radius:5px; background:white; padding:6px; text-align:right; color:var(--ink); }
.market-inputs button { font-size:16px; border:1px solid #bfd3f3; padding:7px 10px; border-radius:5px; color:#174caa; background:white; }
.market-scenario-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.market-scenario { border:1px solid #d4e2f6; background:#f2f7ff; border-radius:10px; padding:12px; min-width:0; }
.market-scenario.scenario-1 { background:#effaf2; border-color:#c4e6cd; }.market-scenario h4 { font-size:23px; display:flex; align-items:center; gap:7px; margin:0; }
.market-scenario h4>span { display:grid; place-items:center; border-radius:50%; width:26px; height:26px; background:white; color:#1769d9; }.market-scenario.scenario-1 h4>span { color:#168344; }
.market-scenario>p { font-size:16px; line-height:1.7; margin-top:8px; }.market-scenario dl { display:grid; gap:8px; margin:14px 0 0; }.market-scenario dl>div { background:#ffffffad; border-radius:5px; padding:6px; }.market-scenario dt { font-size:16px; }.market-scenario dd { margin:2px 0 0; font-size:23px; line-height:1.5; font-weight:700; color:#184eaa; }.market-scenario.scenario-1 dd { color:#176638; }
.market-timeline { display:grid; grid-template-columns:1.25fr repeat(4,1fr); gap:12px; align-items:center; margin-top:15px; border:1px solid #dce6f5; border-radius:10px; padding:14px; }
.market-timeline h3 { font-size:23px; }.market-timeline p { font-size:16px; line-height:1.8; margin-top:5px; }.market-timeline article { background:#edf5ff; border-radius:9px; padding:12px; height:100%; }.market-timeline article:nth-child(odd) { background:#eff9f1; }.market-timeline strong { font-size:21px; }
.market-factors { display:grid; grid-template-columns:1fr 1fr 1.25fr; gap:12px; margin-top:15px; }
.market-factors>section,.market-factors>aside { border:1px solid #dce6f5; border-radius:10px; padding:14px; background:#f5f9ff; }.market-factors>section:nth-child(2),.market-factors>aside { background:#f1faf3; }
.market-factors ul { display:flex; flex-wrap:wrap; gap:7px; list-style:none; padding:0; margin:12px 0 0; }.market-factors li { background:white; border:1px solid #e0e8f3; border-radius:7px; padding:10px; font-size:16px; flex:1 1 70px; text-align:center; }.market-factors p { font-size:16px; line-height:1.9; margin-top:8px; }
@media(max-width:1200px) { .market-intro { grid-template-columns:1fr 1fr; }.market-intro>aside { grid-column:1/-1; }.market-main { grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); }.market-scenario { padding:10px 8px; }.market-scenario dd { font-size:21px; }.market-timeline { grid-template-columns:repeat(4,1fr); }.market-timeline>div { grid-column:1/-1; } }
@media(max-width:900px) { .market-main { grid-template-columns:1fr; }.market-history svg { max-width:580px; margin-inline:auto; }.market-factors { grid-template-columns:1fr 1fr; }.market-factors>aside { grid-column:1/-1; } }
@media(max-width:600px) { .market-intro { grid-template-columns:1fr; }.market-intro>div { padding:12px; }.market-intro>div>strong { font-size:28px; }.market-timeline,.market-factors { grid-template-columns:1fr 1fr; }.market-section h3 { font-size:23px; }.market-scenario-cards { grid-template-columns:1fr; }.market-scenario dl { grid-template-columns:1fr 1fr; }.market-scenario dd { font-size:24px; } }

/* Monthly market data and progressive explanations. */
.market-yield { display:flex; flex-direction:column; gap:2px; padding:12px 0 8px; color:#1557c6; }
.market-yield>span { font-size:38px; font-weight:800; line-height:1.2; letter-spacing:-.04em; }
.market-yield small { color:var(--ink); font-size:16px; }
.scenario-1 .market-yield { color:#12713d; }
.market-month-value { display:flex; flex-wrap:wrap; gap:8px 14px; padding:12px; border-radius:8px; background:#f0f6ff; margin-top:14px; font-size:18px; font-variant-numeric:tabular-nums; }
.market-month-value strong { font-size:22px; }.market-month-value>b { flex-basis:100%; }
.market-month-buttons { display:flex; gap:4px; flex-wrap:wrap; margin:10px 0; }
.market-month-buttons button { border:1px solid #d3e1f6; background:white; color:var(--ink); border-radius:5px; padding:7px; flex:1; font-size:16px; min-width:30px; }
.market-month-buttons button[aria-pressed=true] { background:#195fe4; color:white; border-color:#195fe4; }
.market-month-table { margin-top:12px; font-size:16px; line-height:1.8; }
.market-month-table summary { cursor:pointer; font-weight:700; }.market-month-table table { width:100%; border-collapse:collapse; margin:10px 0; font-variant-numeric:tabular-nums; }.market-month-table th,.market-month-table td { padding:6px; border-bottom:1px solid #e2eaf5; text-align:right; }.market-month-table th:first-child { text-align:left; }
.market-events { padding:16px; border:1px solid #dce6f5; border-radius:10px; margin-top:15px; }
.market-events>p { margin:5px 0 12px; font-size:16px; }.market-events>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; align-items:start; }
.market-explain { border:1px solid #dce6f5; border-radius:8px; background:white; overflow:hidden; margin-top:8px; }
.market-explain>button { width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px; background:transparent; color:var(--ink); border:0; padding:12px; text-align:left; cursor:pointer; }
.market-explain>button>span { display:flex; flex-direction:column; gap:5px; }.market-explain button strong { font-size:18px; }.market-explain button small { color:#1b5bc1; font-size:16px; font-weight:700; }.market-explain button span>span { font-size:16px; line-height:1.7; }.market-explain button>b { color:#1b5bc1; font-size:24px; }
.market-explain>button[aria-expanded=true] { background:#edf5ff; }
.market-explain-content { overflow:hidden; }.market-explain-content>ul { display:block; list-style:disc; padding:0 24px 0 28px; margin:12px 0; }.market-explain-content>ul>li { border:0; background:none; border-radius:0; padding:0; text-align:left; font-size:16px; line-height:1.9; margin:6px 0; }.market-explain-content>a { display:block; margin:0 12px 12px; }
.market-explain-content .market-effect { margin:12px; padding:9px; background:#eff8f1; border-radius:6px; font-size:16px; line-height:1.8; font-weight:700; }
.market-explain button:focus-visible,.market-month-buttons button:focus-visible { outline:3px solid #1b69e9; outline-offset:-3px; }
@media(max-width:1100px) { .market-yield>span { font-size:30px; } }
@media(max-width:600px) { .market-events>div { grid-template-columns:1fr; }.market-interactive-factors { grid-template-columns:1fr; }.market-yield>span { font-size:36px; } }

.investment-capital-story { display:grid; grid-template-columns:1fr auto 1fr; gap:14px; align-items:center; background:#f0f6ff; border:1px solid #d9e6f8; border-radius:10px; padding:17px; margin:15px 0; color:var(--ink); }
.investment-capital-story>div>span { font-size:16px; font-weight:700; }.investment-capital-story strong { display:block; font-size:24px; line-height:1.65; margin:5px 0; color:#205dba; }.investment-capital-story>div:nth-child(3) strong { color:#18794c; }.investment-capital-story p { font-size:16px; line-height:1.85; }
.capital-story-arrow { color:#568cde; font-size:27px; }.investment-capital-story .capital-story-note { grid-column:1/-1; padding-top:10px; border-top:1px solid #dce7f6; font-size:16px; }
.market-inputs input[aria-label="수익 비교 기준 REC"] { width:95px; font-variant-numeric:tabular-nums; }
.policy-section { margin-top:16px; padding:17px; border:1px solid #dbe8f7; border-radius:12px; background:linear-gradient(135deg,#fbfdff,#f0f8ff); color:var(--ink); }
.policy-heading { padding:8px 4px 16px; }.policy-heading>span { display:inline-block; font-size:16px; padding:4px 9px; border-radius:15px; background:#e2edff; color:#1756ba; font-weight:700; }.market-section .policy-heading h3 { font-size:28px; margin:8px 0; line-height:1.5; }.policy-heading>p { font-size:18px; line-height:1.8; }
.policy-one-line { display:flex; gap:18px; align-items:center; background:white; border:1px solid #dce7f7; border-radius:9px; padding:12px 16px; margin-bottom:13px; }.policy-one-line>b { color:white; background:#2465d8; padding:8px 13px; border-radius:20px; font-size:18px; flex-shrink:0; }.policy-one-line p { font-size:23px; font-weight:700; line-height:1.8; }.policy-one-line p>span { color:#3788c1; margin:0 8px; }.policy-one-line p>strong { color:#12764f; }
.policy-card { padding:16px; border:1px solid #dae7f7; border-radius:10px; background:#ffffffd9; margin-top:12px; }.policy-card h4 { display:flex; align-items:center; gap:8px; font-size:24px; margin:0 0 14px; }.policy-card h5 { font-size:20px; line-height:1.7; }.policy-card p { font-size:16px; line-height:1.85; }
.policy-milestones { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); list-style:none; margin:0; padding:0; gap:10px; }.policy-milestones>li { display:flex; flex-direction:column; align-items:center; text-align:center; position:relative; min-width:0; }.policy-milestones>li>.dash-icon { width:58px; height:58px; border-radius:50%; background:linear-gradient(135deg,#edf7ff,#e0f2ec); margin:0 0 9px; display:grid; place-items:center; }.policy-milestones .dash-icon svg { width:30px; height:30px; }
.policy-milestones time { display:block; background:#e7f1ff; border-radius:20px; padding:3px 12px; font-size:18px; font-weight:700; color:#1a56b2; }.policy-milestones h5 { margin-top:7px; min-height:49px; }.policy-milestones h5 small { display:block; font-size:16px; font-weight:400; }.policy-status { display:block; font-size:16px; margin:5px 0; padding:3px 8px; background:#f0f3f7; border-radius:12px; }.policy-milestones>li:last-child .policy-status { background:#ddf3e6; color:#136139; }
.policy-milestones i { height:22px; width:100%; position:relative; margin:6px -5px; }.policy-milestones i:before { content:''; position:absolute; left:-5px; right:-5px; top:9px; height:3px; background:linear-gradient(90deg,#438cff,#23aa94); }.policy-milestones i:after { content:''; position:absolute; width:14px; height:14px; border:3px solid #4289e4; border-radius:50%; top:1px; left:calc(50% - 9px); background:white; }.policy-milestones>li>p { width:100%; flex:1; padding:10px; border:1px solid #e0eaf7; background:#f3f8ff; border-radius:7px; }.policy-milestones a { margin-top:6px; }
.policy-era-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }.policy-era-grid article { border:1px solid #d9e6f8; border-radius:9px; background:#f3f7ff; }.policy-era-grid article:nth-child(2) { background:#edf9fa; }.policy-era-grid article:nth-child(3) { background:#effaf1; }.policy-era-grid h5 { padding:10px 14px; border-bottom:1px solid #dde7f4; }.policy-era-grid ul { list-style:none; padding:10px 14px; display:grid; gap:5px; font-size:18px; line-height:1.9; }.policy-era-grid li:before { content:'✓'; color:#24965a; margin-right:7px; font-weight:700; }
.policy-transition-note { display:flex; align-items:flex-start; gap:8px; margin-top:14px; padding:12px; background:#f4f7fc; border-radius:7px; }.policy-transition-note .dash-icon { flex-shrink:0; }.policy-transition-note b { display:block; }
.policy-directions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }.policy-directions article { display:flex; align-items:center; gap:10px; border:1px solid #dfebf8; border-radius:8px; padding:13px; background:#f2f8ff; }.policy-directions article:nth-child(even) { background:#eff9f3; }.policy-directions .dash-icon { flex-shrink:0; }.policy-directions p { margin-top:4px; }.policy-source { font-size:16px; line-height:1.9; margin-top:10px; }
.policy-points { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; padding:0; list-style:none; }.policy-points>li { position:relative; text-align:center; border:1px solid #e0eaf7; background:#f5f9ff; padding:13px; border-radius:8px; }.policy-points>li>span:first-child { position:absolute; top:8px; left:8px; font-size:16px; background:#2468db; color:white; width:19px; height:19px; border-radius:50%; display:grid; place-items:center; }.policy-points .dash-icon { margin:0 auto 7px; }.policy-points p { margin-top:6px; }
@media(max-width:1100px) { .policy-milestones { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:18px; }.policy-directions { grid-template-columns:repeat(2,minmax(0,1fr)); }.policy-points { grid-template-columns:repeat(3,minmax(0,1fr)); }.policy-one-line p { font-size:21px; } }
@media(max-width:600px) { .investment-capital-story { grid-template-columns:1fr; padding:13px; }.capital-story-arrow { display:none; }.investment-capital-story strong { font-size:23px; }.policy-section,.policy-card { padding:12px; }.market-section .policy-heading h3 { font-size:25px; }.policy-one-line { align-items:flex-start; flex-direction:column; gap:8px; padding:12px; }.policy-one-line p { font-size:20px; }.policy-milestones { grid-template-columns:repeat(2,minmax(0,1fr)); }.policy-era-grid { grid-template-columns:1fr; gap:8px; }.policy-points { grid-template-columns:repeat(2,minmax(0,1fr)); }.policy-card h4 { font-size:22px; }.policy-directions article { align-items:flex-start; padding:10px; }.policy-card h5 { font-size:18px; } }

.policy-transition { background:linear-gradient(135deg,#f9fcff,#eef9f6); }
.transition-schedule { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; list-style:none; padding:0; margin:0; }
.transition-schedule li { padding:14px; border:1px solid #dce8f7; border-radius:9px; background:#f0f6ff; position:relative; }.transition-schedule li:last-child { background:#e9f8ee; border-color:#cfe9d8; }.transition-schedule li:not(:last-child):after { content:'→'; position:absolute; right:-12px; top:50%; color:#438bce; z-index:1; font-size:24px; font-weight:700; }
.transition-step { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#dbeaff; color:#175ac3; font-size:19px; font-weight:700; margin-bottom:9px; }.transition-schedule li:last-child .transition-step { background:#d1f0de; color:#127d49; }.transition-schedule time { display:block; font-size:21px; font-weight:700; color:#205cba; }.transition-schedule strong { display:block; font-size:19px; margin-top:7px; }.transition-schedule p { margin-top:7px; }.transition-schedule small { display:inline-block; margin-top:10px; font-size:16px; background:white; border-radius:12px; padding:3px 8px; }
.transition-table-scroll { overflow:auto; border:1px solid #dbe5f3; border-radius:9px; }.transition-table { width:100%; border-collapse:collapse; font-size:18px; line-height:1.85; min-width:650px; }.transition-table caption { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }.transition-table th,.transition-table td { padding:11px 14px; border-bottom:1px solid #dce6f3; text-align:left; }.transition-table thead th { background:#edf4ff; font-size:20px; }.transition-table thead th:nth-child(2) { background:#e0edff; color:#144f9b; }.transition-table thead th:last-child { background:#d9f2e2; color:#116337; }.transition-table tbody th { width:22%; background:#f4f8ff; font-weight:700; }.transition-table tbody th .dash-icon { display:inline-flex; vertical-align:middle; margin-right:9px; }.transition-table td:nth-child(2) { background:#fafcff; }.transition-table td:last-child { background:#f0faf4; }.transition-table tr:last-child>* { border-bottom:0; }
.transition-reasons { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }.transition-reasons article { border:1px solid #dfe9f7; border-radius:9px; background:#f5faff; padding:14px; }.transition-reasons .dash-icon { margin-bottom:8px; }.transition-reasons p { margin-top:6px; }
.transition-audiences { display:grid; grid-template-columns:1fr 1fr; gap:13px; }.transition-audiences article { border:1px solid #dbe7f7; border-radius:9px; overflow:hidden; background:white; }.transition-audiences article>header { display:flex; align-items:center; gap:10px; padding:12px 15px; background:#e7f1ff; }.transition-audiences article:last-child>header { background:#e2f4e9; }.transition-audiences h5 { font-size:22px; }.transition-audiences dl { margin:0; padding:0 14px; }.transition-audiences dl>div { display:grid; grid-template-columns:85px 1fr; gap:10px; padding:11px 0; border-bottom:1px solid #e2eaf5; }.transition-audiences dl>div:last-child { border:0; }.transition-audiences dt { font-size:16px; font-weight:700; color:#215ca5; }.transition-audiences dd { margin:0; font-size:16px; line-height:1.9; }.transition-audiences dl>div:nth-child(2) dt { color:#a74249; }.transition-audiences dl>div:last-child dt { color:#19734c; }
@media(max-width:900px) { .transition-schedule,.transition-reasons { grid-template-columns:repeat(2,minmax(0,1fr)); }.transition-schedule li:nth-child(2):after { content:none; }.transition-audiences { grid-template-columns:1fr; } }
@media(max-width:600px) { .transition-schedule li { padding:11px; }.transition-schedule time { font-size:19px; }.transition-reasons article { padding:11px; }.transition-table { font-size:16px; }.transition-table thead th { font-size:18px; }.transition-audiences dl>div { grid-template-columns:68px 1fr; }.transition-table th,.transition-table td { padding:9px; } }

.market-history-ranges { display:flex; flex-wrap:wrap; gap:5px; margin:13px 0 0; }
.market-history-ranges button { flex:1; padding:7px 9px; font-size:16px; border:1px solid #d6e3f7; border-radius:6px; color:var(--ink); background:white; cursor:pointer; }
.market-history-ranges button[aria-pressed=true] { background:#2164df; border-color:#2164df; color:white; }
.market-history svg:focus-visible { outline:2px solid #2164df; border-radius:7px; }
.market-date-picker { display:flex; justify-content:center; align-items:center; gap:10px; margin:12px 0; font-size:16px; }
.market-date-picker label { display:flex; align-items:center; gap:9px; }.market-date-picker select { padding:8px 10px; border:1px solid #cbdcf3; border-radius:6px; color:var(--ink); background:white; font-size:18px; }
.market-date-picker button { border:1px solid #cbdcf3; color:#2056a7; border-radius:6px; background:#f4f8ff; padding:7px 12px; font-size:22px; }.market-date-picker button:disabled { color:#667489; background:#f4f5f8; cursor:default; }
.market-history-table-scroll { max-height:320px; overflow:auto; margin-top:10px; }.market-history-table-scroll thead { position:sticky; top:0; background:#edf4ff; }.market-history-table-scroll table { margin:0; }.market-history-sources { display:flex; flex-wrap:wrap; gap:4px 12px; margin-top:8px; }
.market-date-picker label { white-space:nowrap; }

/* Curated support discovery and preparation, next to the existing finance tools. */
.support-section { margin-top:20px; border:1px solid #dce7f5; border-radius:12px; padding:18px; background:linear-gradient(135deg,#fff,#f4f9ff); color:var(--ink); }
.support-heading>span { display:inline-block; background:#e8f0ff; color:#215bc1; font-weight:700; border-radius:16px; padding:5px 10px; font-size:16px; }.support-heading h2 { font-size:30px; line-height:1.6; margin:8px 0; }.support-heading>p { font-size:18px; line-height:1.9; }
.support-types { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:16px 0; }.support-types>div { display:flex; align-items:center; gap:12px; background:#f0f8f3; border:1px solid #d7ecdf; padding:13px 16px; border-radius:9px; }.support-types>div:last-child { background:#edf5ff; border-color:#dce7f7; }.support-types p { display:flex; flex-direction:column; gap:5px; }.support-types b { font-size:21px; }.support-types p>span { font-size:16px; line-height:1.8; }
.support-block { margin-top:14px; padding:17px; border:1px solid #dce7f5; border-radius:10px; background:white; }.support-block>header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-bottom:15px; }.support-block h3 { display:flex; align-items:center; gap:9px; font-size:25px; line-height:1.6; }.support-block h3>span { font-size:19px; color:white; background:#2768dc; padding:3px 7px; border-radius:7px; }.support-block>header>small { font-size:16px; }.support-block h4 { font-size:22px; line-height:1.7; }.support-block p { font-size:16px; line-height:1.9; }.support-section a { display:inline-block; color:#1555ae; text-decoration:underline; font-size:16px; line-height:1.8; }
.support-location { display:flex; align-items:center; gap:13px; flex-wrap:wrap; background:#f5f8ff; border:1px solid #e3eaf7; border-radius:8px; padding:12px; }.support-section label { font-size:16px; line-height:1.7; }.support-location label { display:flex; align-items:center; gap:9px; }.support-section select,.support-section input[type=number] { border:1px solid #c9d8ee; border-radius:6px; background:white; color:var(--ink); padding:8px 10px; font-size:18px; min-width:0; }.support-location select { min-width:145px; }.support-location>p { margin-left:auto; }
.support-query { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:14px 0 7px; }.support-query>label { display:flex; flex-direction:column; gap:7px; }.support-query>label>span { display:flex; align-items:center; gap:7px; }.support-query input { width:100%; font-variant-numeric:tabular-nums; text-align:right; }.support-query select { width:100%; }
.support-small { font-size:16px!important; line-height:1.9; margin-top:10px; color:var(--ink); }
.support-summary { display:grid; grid-template-columns:repeat(3,minmax(0,.8fr)) 1.6fr; gap:10px; margin:17px 0; }.support-count { text-align:left; padding:13px 15px; border:1px solid #dce6f4; border-radius:8px; background:#f5f8fd; cursor:pointer; color:var(--ink); }.support-count.match { background:#eef9f1; border-color:#d4ebdd; }.support-count.review { background:#fff8ec; border-color:#f0e1c1; }.support-count>span { font-size:16px; }.support-count>strong { display:block; font-size:30px; margin-top:4px; }.support-count strong>small { font-size:16px; margin-left:4px; }.support-count[aria-pressed=true] { outline:2px solid #3979e2; outline-offset:-2px; }.support-summary>aside { padding:13px 15px; align-self:center; }.support-summary aside>b { font-size:18px; }.support-summary aside>p { margin-top:5px; }
.support-table-toolbar { display:flex; align-items:center; gap:10px; margin:15px 0 11px; flex-wrap:wrap; }.support-table-toolbar>div { display:flex; border:1px solid #dde6f4; border-radius:7px; padding:3px; gap:3px; }.support-table-toolbar button { border:0; border-radius:5px; color:var(--ink); background:white; font-size:16px; padding:7px 13px; cursor:pointer; }.support-table-toolbar button[aria-pressed=true] { background:#e8f1ff; color:#1c5ac0; font-weight:700; }.support-table-toolbar .support-reset { text-decoration:underline; padding:6px; }.support-table-toolbar>span { font-size:16px; margin-left:auto; }
.support-table-scroll { overflow:auto; border:1px solid #dce5f3; border-radius:8px; }.support-table { width:100%; min-width:950px; border-collapse:collapse; font-size:16px; line-height:1.8; text-align:left; }.support-table thead { background:#f0f4fa; }.support-table th,.support-table td { border-bottom:1px solid #e1e9f5; padding:12px 11px; vertical-align:middle; }.support-table tbody th { min-width:195px; width:23%; }.support-table td:nth-child(3) { width:25%; }.support-table td:nth-child(4) { width:24%; }.support-table td:last-child { width:24%; }.support-table tbody th>strong { font-size:18px; display:block; }.support-table small { display:block; font-size:16px; font-weight:400; margin-top:5px; }.support-table td>a { display:block; margin-top:6px; }.support-table input[type=radio] { width:16px; height:16px; accent-color:#2769df; }.support-table tr.is-selected>* { background:#f0f6ff; }.support-table tbody tr { cursor:pointer; }.support-table tr:last-child>* { border-bottom:0; }.support-kind.loan { color:#2359ad; }.support-kind.grant { color:#18704c; }
.support-state { display:inline-block; padding:4px 8px; border-radius:5px; background:#edf1f6; color:#374b68; font-size:16px; font-weight:700; white-space:nowrap; }.support-state.match { background:#ddf2e5; color:#166b40; }.support-state.review { background:#fff0d7; color:#8b5309; }.support-state.mismatch { background:#fdebee; color:#a33b4d; }.support-empty { text-align:center; padding:25px; }
.support-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }.support-benefit { display:block; color:#245fbc; font-size:27px; line-height:1.7; margin:7px 0; }.support-detail-grid p { margin-top:6px; }.support-detail-grid dl { margin:14px 0 0; }.support-detail-grid dl>div { display:grid; grid-template-columns:75px 1fr; gap:10px; padding:8px 0; font-size:16px; line-height:1.8; border-bottom:1px solid #e5ebf5; }.support-detail-grid dt { font-weight:700; }.support-detail-grid dd { margin:0; }.support-detail-grid a { margin-top:8px; margin-right:12px; }.support-reasons { margin-top:10px; padding-left:18px; display:grid; gap:7px; font-size:16px; line-height:1.9; }.support-caution { background:#f0f6ff; padding:11px 13px; border:1px solid #deebfa; border-radius:7px; margin-top:13px!important; }
.support-roadmap { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:9px; }.support-roadmap button { display:flex; align-items:center; gap:8px; border:1px solid #dce6f6; background:#f5f8fd; padding:11px; border-radius:8px; color:var(--ink); text-align:left; cursor:pointer; }.support-roadmap button>span { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:#e1ecff; color:#245ebc; font-size:16px; flex-shrink:0; }.support-roadmap button>strong { font-size:16px; line-height:1.8; }.support-roadmap button[aria-pressed=true] { background:#e7f1ff; border-color:#84ade9; }.support-roadmap button[aria-pressed=true]>span { color:white; background:#2867d4; }
.support-preparation { display:grid; grid-template-columns:1fr 1.2fr; gap:15px; margin-top:15px; align-items:stretch; }.support-stage { padding:20px; background:#f1f7ff; border:1px solid #dce8f9; border-radius:9px; }.support-stage>span { font-size:16px; color:#235ab0; font-weight:700; }.support-stage h4 { font-size:25px; margin:7px 0; }.support-stage p { margin:7px 0 16px; }.support-documents { padding:15px; border:1px solid #dce7f5; border-radius:9px; }.support-documents>div { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }.support-documents>div>strong { color:#2163c7; font-size:22px; }.support-documents>label { display:flex; align-items:flex-start; gap:9px; padding:7px 0; }.support-documents input { width:15px; height:15px; accent-color:#2969dc; flex-shrink:0; margin-top:3px; }.support-section input:focus-visible,.support-section select:focus-visible,.support-section button:focus-visible { outline:2px solid #2164de; outline-offset:2px; }
@media(max-width:1150px) { .support-roadmap { grid-template-columns:repeat(3,minmax(0,1fr)); }.support-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }.support-summary>aside { grid-column:1/-1; padding:0 2px; }.support-location>p { flex-basis:100%; margin-left:0; } }
@media(max-width:760px) { .support-section,.support-block { padding:13px; }.support-heading h2 { font-size:26px; }.support-types,.support-detail-grid,.support-preparation { grid-template-columns:1fr; }.support-query { grid-template-columns:repeat(2,minmax(0,1fr)); }.support-block h3 { font-size:23px; }.support-count { padding:10px; }.support-count>strong { font-size:27px; }.support-count>span { font-size:16px; }.support-roadmap { grid-template-columns:repeat(2,minmax(0,1fr)); }.support-types>div { padding:12px; }.support-stage { padding:15px; }.support-location label { flex:1; }.support-location select { width:100%; min-width:0; } }
.support-location label { white-space:nowrap; flex-shrink:0; }

/* Reference-inspired support panels: regional overview, eligibility, roadmap. */
.support-region-overview { display:grid; grid-template-columns:minmax(240px,1fr) 1.7fr; gap:12px 22px; padding:16px; margin:14px 0 17px; border:1px solid #dce9f9; border-radius:10px; background:linear-gradient(115deg,#eff8ff,#f6faff); }
.support-region-identity { display:flex; align-items:center; gap:14px; }.support-region-identity>svg { width:80px; height:80px; flex-shrink:0; }.support-region-identity small { font-size:16px; color:#174e9b; font-weight:700; }.support-region-identity h4 { font-size:25px; margin:4px 0; }.support-region-identity p { font-size:16px; }
.support-region-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; align-items:stretch; }.support-region-stats>div { display:flex; flex-direction:column; justify-content:center; gap:8px; background:white; border:1px solid #e0eaf7; border-radius:8px; padding:14px; text-align:center; }.support-region-stats>div>span { font-size:16px; }.support-region-stats strong { font-size:30px; color:#157047; line-height:1.3; font-variant-numeric:tabular-nums; }.support-region-stats strong>small { font-size:18px; margin-left:3px; }.support-region-overview>.support-small { grid-column:1/-1; margin:0; }
.support-detail .support-query { padding:13px; margin:0; border:1px solid #e0e8f5; border-radius:8px; background:#f7faff; }.support-detail .support-summary { margin:14px 0; }
.support-eligibility-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:15px; align-items:start; }.support-eligibility-list { padding:15px; border:1px solid #e0e8f5; border-radius:9px; }.support-eligibility-list h4 { margin-bottom:12px; }
.support-eligibility-list>button { display:flex; width:100%; align-items:center; gap:10px; padding:12px 9px; border:0; border-bottom:1px solid #e4ebf6; background:white; color:var(--ink); cursor:pointer; text-align:left; }.support-eligibility-list>button:last-child { border-bottom:0; }.support-eligibility-list>button[aria-pressed=true] { background:#eef5ff; border-radius:7px; outline:1px solid #cbddf9; }.support-eligibility-list>button>span:nth-child(2) { flex:1; min-width:0; }.support-eligibility-list strong { display:block; font-size:18px; line-height:1.8; }.support-eligibility-list small { display:block; font-size:16px; line-height:1.85; margin-top:3px; }
.support-eligibility-icon { width:25px; height:25px; display:grid; place-items:center; border-radius:50%; font-size:22px; font-weight:800; flex-shrink:0; background:#fce7ed; color:#a54055; }.support-eligibility-icon.match { background:#dcf2e4; color:#177044; }.support-eligibility-icon.review { background:#ffefd3; color:#8b520a; }
.support-selected-panel { padding:17px; border:1px solid #d9e8f8; border-radius:9px; background:linear-gradient(130deg,#f1f7ff,#fbfdff); }.support-selected-eyebrow { color:#2058af; font-size:16px; font-weight:700; }.support-selected-panel>h4 { margin:6px 0; font-size:24px; }.support-selected-panel .support-benefit { font-size:28px; margin:5px 0 9px; }.support-selected-panel>p { margin:10px 0 0; }.support-selected-checks { border-top:1px solid #dfe8f6; margin-top:14px; padding-top:12px; }.support-selected-checks>h5 { font-size:18px; }.support-selected-checks .support-reasons { margin-top:8px; }
.support-selected-terms { padding-top:12px; margin-top:12px; border-top:1px solid #dfe8f6; font-size:16px; line-height:1.8; }.support-selected-terms summary { cursor:pointer; font-weight:700; }.support-selected-terms dl { margin:8px 0; }.support-selected-terms dl>div { display:grid; grid-template-columns:65px 1fr; gap:10px; padding:7px 0; border-bottom:1px solid #e0e8f5; }.support-selected-terms dt { font-weight:700; }.support-selected-terms dd { margin:0; }.support-selected-terms a { margin:6px 10px 0 0; }
.support-prepare-button { display:flex; width:100%; justify-content:space-between; align-items:center; padding:11px 13px; background:#2868d9; color:white; border:0; border-radius:7px; margin-top:15px; font-size:18px; font-weight:700; cursor:pointer; }.support-prepare-button>span { font-size:23px; }
.support-finance-link { display:flex; align-items:center; gap:12px; padding:14px; margin-top:15px; background:#eef8f3; border:1px solid #d6eadf; border-radius:8px; }.support-finance-link>.dash-icon { flex-shrink:0; }.support-finance-link>div { flex:1; }.support-finance-link strong { font-size:19px; line-height:1.7; }.support-finance-link p { margin-top:4px; font-size:16px; }.support-finance-link button { flex-shrink:0; padding:10px 13px; background:white; border:1px solid #b7d9c5; color:#155e3f; border-radius:6px; font-size:16px; font-weight:700; cursor:pointer; }
.support-roadmap { position:relative; padding:14px 0; }.support-roadmap:before { content:''; height:3px; background:linear-gradient(90deg,#75a8f0,#67b894); position:absolute; top:50%; left:5%; right:5%; z-index:0; }.support-roadmap button { z-index:1; position:relative; flex-direction:column; align-items:center; text-align:center; gap:9px; padding:13px 8px; background:#f9fcff; }.support-roadmap button>span { width:30px; height:30px; font-size:18px; }.support-roadmap button>strong { font-size:18px; }.support-stage { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }.support-stage>p { max-width:540px; }
@media(max-width:1100px) { .support-region-overview { grid-template-columns:1fr; gap:12px; }.support-region-identity>svg { width:64px; height:64px; }.support-eligibility-layout { grid-template-columns:1fr; }.support-selected-panel .support-benefit { font-size:26px; } }
@media(max-width:760px) { .support-region-overview { padding:12px; }.support-region-identity h4 { font-size:24px; }.support-region-stats { gap:6px; }.support-region-stats>div { padding:10px 5px; }.support-region-stats>div>span { font-size:16px; }.support-region-stats strong { font-size:26px; }.support-eligibility-list,.support-selected-panel { padding:12px; }.support-eligibility-list>button { flex-wrap:wrap; padding:11px 6px; }.support-eligibility-list .support-state { margin-left:35px; }.support-finance-link { flex-wrap:wrap; }.support-finance-link button { width:100%; }.support-roadmap:before { display:none; }.support-detail .support-query { padding:10px; } }

/* Illustrated policy cards: lightweight vectors, with text kept separate. */
.policy-visual { display:block; width:100%; height:125px; flex-shrink:0; }
.policy-era-grid { gap:14px; }
.policy-era-grid article { overflow:hidden; background:linear-gradient(160deg,#fff,#f2f7ff); }
.policy-era-grid article:nth-child(2) { background:linear-gradient(160deg,#fff,#eef9fa); }
.policy-era-grid article:nth-child(3) { background:linear-gradient(160deg,#fff,#edf9f1); }
.policy-era-grid .policy-visual { margin:8px auto 0; max-width:240px; }
.policy-era-grid h5 { margin:0; padding:8px 16px 12px; }
.policy-era-grid ul { margin:0; padding:14px 16px 17px; }
.policy-directions article { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:6px 14px 16px; background:linear-gradient(160deg,#fff,#f1f7ff); }
.policy-directions article:nth-child(even) { background:linear-gradient(160deg,#fff,#f0faf5); }
.policy-directions .policy-visual { height:112px; }
.policy-directions h5 { margin:0; }
.policy-directions p { margin:6px 0 0; line-height:1.7; }
.policy-points>li { padding:8px 13px 16px; background:linear-gradient(160deg,#fff,#f4f8ff); }
.policy-points .policy-visual { height:108px; margin:0 auto 4px; }
.policy-points h5 { margin:0; }
.policy-points p { line-height:1.8; margin:8px 0 0; }
@media(max-width:600px) { .policy-era-grid .policy-visual { height:110px; }.policy-directions .policy-visual,.policy-points .policy-visual { height:95px; }.policy-directions article { padding:6px 10px 14px; } }

.repayment-bridges { margin-top:20px; padding:18px; border:1px solid #dce6f4; border-radius:12px; background:#fbfdff; }
.repayment-bridges>header { display:flex; justify-content:space-between; align-items:start; gap:12px; }
.repayment-bridges h3 { margin:0; font-size:24px; }.repayment-bridges>header p { margin:7px 0 14px; font-size:18px; }.repayment-bridges>header>span { font-size:16px; }
.repayment-bridge-detail { display:flex; gap:24px; align-items:center; padding:16px; border-radius:9px; background:#eef5ff; margin-bottom:14px; }
.repayment-bridge-detail>div { min-width:155px; }.repayment-bridge-detail span { display:block; font-size:18px; }.repayment-bridge-detail strong { display:block; margin-top:6px; color:#165cd3; font-size:26px; }
.repayment-bridge-detail dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; flex:1; margin:0; }.repayment-bridge-detail dt { font-size:16px; }.repayment-bridge-detail dd { margin:6px 0 0; font-size:19px; font-weight:600; }
.repayment-bridge-legend { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:14px; font-size:16px; }.repayment-bridge-legend i { display:inline-block; width:9px; height:9px; border-radius:2px; margin-right:5px; }
.repayment-bridge-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }.repayment-bridge-grid article { border:1px solid #dfe8f4; border-radius:9px; padding:11px 8px 6px; background:white; min-width:0; }.repayment-bridge-grid article.is-active { border-color:#7da9ed; background:#f7faff; }
.repayment-bridge-grid header { display:flex; justify-content:space-between; align-items:center; gap:5px; padding:0 3px 8px; }.repayment-bridge-grid h4 { font-size:18px; margin:0; }.repayment-bridge-grid strong { font-size:18px; color:#13765c; }.repayment-bridge-grid strong.is-negative { color:#b72b4b; }
.repayment-bridge-grid svg { display:block; width:100%; overflow:visible; }.repayment-bridge-grid svg text { font-size:12px; fill:#182b44; }.repayment-bridge-grid svg .bridge-tooltip-value { fill:white; font-size:13px; }.repayment-bridge-grid g[role=button] { cursor:pointer; outline:none; }.repayment-bridge-grid g[role=button]:focus-visible rect { stroke:#102b53; stroke-width:2; }.repayment-bridge-grid small { display:block; padding:0 5px 5px; font-size:16px; }
@media(max-width:1100px) { .repayment-bridge-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.repayment-bridge-detail { align-items:start; flex-direction:column; gap:14px; }.repayment-bridge-detail dl { width:100%; } }
@media(max-width:650px) { .repayment-bridges { padding:10px; }.repayment-bridge-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.repayment-bridge-detail dl { grid-template-columns:repeat(2,minmax(0,1fr)); }.repayment-bridges>header { flex-direction:column; gap:0; margin-bottom:10px; } }

.support-types { grid-template-columns:repeat(4,minmax(0,1fr)); }
.support-funding-controls { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding:14px; border-radius:10px; background:#f2f7ff; margin-bottom:10px; }
.support-funding-controls label { display:flex; flex-direction:column; gap:8px; font-size:18px; }.support-funding-controls label:first-child { flex-direction:row; align-items:center; flex-wrap:wrap; }.support-funding-controls input[type=range] { width:100%; order:3; }.support-funding-controls input[type=number] { width:100px; padding:7px; border:1px solid #cbdcf4; border-radius:6px; background:white; color:#16283d; }
.support-loan-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:18px 0; }.support-loan-cards button { border:1px solid #dce6f4; border-radius:10px; padding:15px; background:#f8fbff; text-align:left; color:#162b44; cursor:pointer; }.support-loan-cards button[aria-pressed=true] { border-color:#377de1; background:#edf5ff; box-shadow:0 0 0 1px #377de1; }.support-loan-cards span { display:block; font-size:19px; font-weight:700; }.support-loan-cards strong { display:block; font-size:30px; color:#1d65d2; margin:9px 0; }.support-loan-cards small,.support-loan-cards p { font-size:16px; line-height:1.7; }.support-loan-cards p { margin-bottom:0; }
.support-rate-sources { display:flex; gap:15px; font-size:16px; margin-top:10px; }.support-funding-compare .support-table th,.support-funding-compare .support-table td { white-space:normal; min-width:130px; }
.support-mix-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:16px; }.support-mix-summary>div { background:#f0f6ff; padding:14px; border-radius:9px; }.support-mix-summary span { display:block; font-size:18px; }.support-mix-summary strong { display:block; font-size:26px; color:#1c62c5; margin-top:8px; }
.support-capital-track { display:flex; height:24px; border-radius:6px; overflow:hidden; }.support-capital-labels { display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; font-size:16px; margin:10px 0 20px; }.support-capital-labels b { margin-left:5px; }
.support-payment-chart { border:1px solid #e0e8f4; border-radius:10px; padding:14px; }.support-payment-chart>div { display:flex; justify-content:space-between; align-items:center; gap:10px; }.support-payment-chart h4 { margin:0; font-size:20px; }.support-payment-chart span { font-size:16px; }.support-payment-chart svg { display:block; width:100%; }.support-payment-chart text { font-size:14px; fill:#192d44; }
.support-repayment-warning { background:#eff8f3; padding:14px; border-radius:8px; margin-top:14px; font-size:19px; }.support-repayment-warning p { margin-bottom:0; font-size:18px; line-height:1.8; }
.support-fiscal-timeline { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }.support-fiscal-timeline article { border:1px solid #dbe8f5; border-radius:9px; padding:15px; background:linear-gradient(145deg,#fff,#eff8ff); }.support-fiscal-timeline article:last-child { background:#eef9f3; }.support-fiscal-timeline span { color:#185cae; font-weight:700; font-size:18px; }.support-fiscal-timeline h4 { font-size:20px; margin:12px 0 8px; }.support-fiscal-timeline p { font-size:18px; line-height:1.8; margin:0; }
.support-next-policy { margin-top:15px; padding:15px; background:#f5f8fd; border-radius:9px; }.support-next-policy h4 { margin:0 0 10px; }.support-next-policy ul { display:grid; grid-template-columns:1fr 1fr; gap:8px 25px; padding-left:18px; font-size:18px; line-height:1.8; }.support-next-policy a,.support-grant-explainer a { font-size:16px; }.support-grant-explainer p { font-size:18px; line-height:1.9; }
@media(max-width:950px) { .support-types,.support-funding-controls,.support-loan-cards,.support-mix-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.support-fiscal-timeline { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:600px) { .support-fiscal-timeline { grid-template-columns:1fr; }.support-next-policy ul { grid-template-columns:1fr; }.support-payment-chart>div { align-items:start; flex-direction:column; }.support-payment-chart { overflow:auto; }.support-payment-chart svg { min-width:650px; }.support-mix-summary strong { font-size:23px; } }

.regional-policy { border:1px solid #dce7f3; border-radius:14px; background:#fff; padding:20px; margin:16px 0; }
.regional-policy-heading { display:flex; justify-content:space-between; align-items:start; gap:15px; margin-bottom:18px; }.regional-policy-heading>div>span { color:#1d62bd; font-size:16px; font-weight:700; }.regional-policy h3 { font-size:26px; margin:8px 0; }.regional-policy-heading p { font-size:18px; line-height:1.8; margin:0; }.regional-policy-heading small { font-size:16px; white-space:nowrap; }
.regional-map-layout { display:grid; grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr); gap:20px; }
.regional-map-canvas { position:relative; background:#f3f9ff; border:1px solid #e0ebf5; border-radius:12px; padding:12px; }.regional-map-canvas svg { width:100%; display:block; max-height:570px; }.regional-map-canvas>p { font-size:16px; line-height:1.7; margin:5px 3px; }.regional-map-key { display:flex; gap:14px; padding:4px; font-size:16px; }.regional-map-key span { display:flex; align-items:center; gap:5px; }.regional-map-key i { width:9px; height:9px; border-radius:3px; background:#bddbd3; }.regional-map-key span:last-child i { background:#e1e9f0; }
.regional-map-canvas g[role=button] { cursor:pointer; outline:none; }.regional-map-canvas g path { fill:#c7dfd9; stroke:#fff; stroke-width:1.2; transition:fill .15s; }.regional-map-canvas g.unresearched path { fill:#e0e8ef; }.regional-map-canvas g:hover path,.regional-map-canvas g:focus-visible path { fill:#83b5e5; stroke:#3176c4; stroke-width:2; }.regional-map-canvas g.selected path { fill:#397cdb; stroke:#1956ae; stroke-width:1.2; }.regional-map-canvas text { font-size:15px; fill:#173345; font-weight:650; pointer-events:none; paint-order:stroke; stroke:#f1f8fc; stroke-width:3px; stroke-linejoin:round; }.regional-map-canvas g.selected text { fill:white; stroke:#397cdb; }
.regional-map-info { display:flex; flex-direction:column; gap:12px; }.regional-map-selection { padding:4px 2px; }.regional-map-selection>span { font-size:16px; }.regional-map-selection h4 { font-size:28px; margin:7px 0; }.regional-map-selection p { margin:0; font-size:16px; }
.regional-benefit-card,.regional-national-card { border:1px solid #dce9f2; border-radius:10px; padding:16px; background:linear-gradient(135deg,#f8fcff,#f0f8ff); }.regional-benefit-card.grant { background:linear-gradient(135deg,#fbfefa,#eef9f3); border-color:#d7ecdf; }.regional-benefit-card>span,.regional-national-card>span { font-size:16px; color:#1a648c; font-weight:700; }.regional-benefit-card h5,.regional-national-card h5 { font-size:20px; margin:9px 0; }.regional-benefit-card strong,.regional-national-card strong { display:block; font-size:23px; line-height:1.6; }.regional-benefit-card p,.regional-national-card p { font-size:16px; line-height:1.85; margin:7px 0; }.regional-policy a { font-size:16px; }.regional-national-card { background:#f6f8fc; }
.regional-select-buttons { display:flex; flex-wrap:wrap; gap:6px; margin:14px 0 22px; }.regional-select-buttons button,.regional-history-heading button { border:1px solid #dbe5f2; background:white; color:#183048; border-radius:6px; padding:7px 10px; font-size:16px; cursor:pointer; }.regional-select-buttons button small { margin-left:5px; font-size:16px; }.regional-select-buttons button[aria-pressed=true],.regional-history-heading button[aria-pressed=true] { background:#2564cc; color:white; border-color:#2564cc; }
.regional-history-heading { display:flex; gap:12px; justify-content:space-between; align-items:center; margin:20px 0 12px; }.regional-history-heading h4 { font-size:23px; margin:0; }.regional-history-heading p { font-size:16px; line-height:1.8; margin:6px 0 0; }.regional-history-heading>div:last-child { display:flex; gap:5px; flex-shrink:0; }
.regional-year-strip { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }.regional-year-strip button { position:relative; padding:13px; text-align:left; border:1px solid #dfE8f4; border-radius:9px; background:#f7faff; color:#162a40; cursor:pointer; }.regional-year-strip button[aria-pressed=true] { border-color:#4787e0; background:#edf5ff; box-shadow:0 0 0 1px #4787e0; }.regional-year-strip span { display:block; font-weight:750; color:#1d63bd; font-size:22px; }.regional-year-strip i { display:block; height:2px; background:#c3d7ee; margin:12px 0; }.regional-year-strip strong { font-size:18px; line-height:1.8; display:block; }.regional-year-strip small { display:block; margin-top:8px; font-size:16px; line-height:1.8; }
.regional-history-detail { margin:12px 0 20px; padding:16px; border:1px solid #dce7f4; border-radius:10px; background:#fbfdff; }.regional-history-detail>h4 { margin:0 0 12px; font-size:21px; }.regional-history-detail article { padding:12px 0; border-top:1px solid #e6edf5; }.regional-history-detail h5 { margin:10px 0 7px; font-size:20px; }.regional-history-detail strong { font-size:20px; line-height:1.7; }.regional-history-detail p { font-size:18px; line-height:1.8; margin:7px 0; }.regional-tag,.regional-status { display:inline-block; font-size:16px; padding:4px 8px; border-radius:5px; background:#edf2f9; margin-right:5px; }.regional-tag.grant { background:#e3f4e9; color:#145c40; }.regional-tag.loan { background:#e6efff; color:#1850a7; }.regional-empty { padding:12px 0; }
.regional-future { background:#f1f8f5; border-radius:10px; padding:16px; }.regional-future header { display:flex; align-items:center; justify-content:space-between; gap:10px; }.regional-future h4 { margin:0; font-size:22px; }.regional-future header span { font-size:16px; }.regional-future>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:14px; }.regional-future article { padding:14px; border:1px solid #d8e8df; border-radius:8px; background:white; }.regional-future article>span { display:inline-block; font-size:16px; color:#267251; background:#edf7f0; padding:4px 7px; border-radius:5px; }.regional-future h5 { margin:12px 0 8px; font-size:20px; }.regional-future article p { font-size:18px; line-height:1.85; }
.support-payment-chart>.support-payment-legend { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:14px 0 0; }.support-payment-legend>div { display:flex; align-items:start; gap:8px; padding:11px; border-radius:8px; background:#f5f8fc; }.support-payment-legend i { width:12px; height:26px; border-radius:3px; flex-shrink:0; }.support-payment-legend p { margin:0; }.support-payment-legend b { display:block; font-size:18px; }.support-payment-legend span { display:block; font-size:16px; line-height:1.8; margin-top:4px; }
@media(max-width:900px) { .regional-policy { padding:14px; }.regional-map-layout { grid-template-columns:minmax(240px,.85fr) minmax(0,1.15fr); gap:12px; }.regional-year-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }.regional-history-heading { align-items:start; flex-direction:column; }.regional-future>div { grid-template-columns:1fr; }.regional-policy-heading small { white-space:normal; } }
@media(max-width:600px) { .regional-map-layout { grid-template-columns:1fr; }.regional-map-canvas svg { max-height:470px; }.regional-year-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }.regional-policy-heading { flex-direction:column; }.regional-future header { align-items:start; flex-direction:column; }.support-payment-chart>.support-payment-legend { grid-template-columns:1fr; } }
.regional-map-canvas g text { pointer-events:auto; cursor:pointer; }

.repayment-reason-button { display:block; margin:4px 4px 6px; padding:5px 0; border:0; background:transparent; color:#185abb; font-size:16px; cursor:pointer; text-align:left; }.repayment-reason-button:hover { text-decoration:underline; }
.repayment-explanation-dialog { border:1px solid #d7e4f4; border-radius:16px; padding:0; width:min(560px,calc(100vw - 30px)); max-height:85vh; color:#152a40; box-shadow:0 20px 80px #14305038; }.repayment-explanation-dialog::backdrop { background:#14283e60; backdrop-filter:blur(3px); }
.repayment-explanation-body { padding:24px; }.repayment-explanation-body>header { display:flex; justify-content:space-between; gap:14px; align-items:start; }.repayment-explanation-body header span { font-size:18px; color:#1d62bd; }.repayment-explanation-body header h3 { font-size:25px; margin:8px 0 16px; }.repayment-explanation-body header button { border:0; background:#eef3fa; border-radius:50%; width:30px; height:30px; flex-shrink:0; font-size:25px; color:#193149; cursor:pointer; }
.repayment-explanation-amount { padding:17px; border-radius:10px; background:#edf5ff; }.repayment-explanation-amount span { font-size:18px; }.repayment-explanation-amount strong { display:block; font-size:30px; margin:6px 0; color:#165ec3; }.repayment-explanation-amount small { display:block; font-size:18px; }
.repayment-explanation-body ul { padding-left:20px; margin:19px 0; display:grid; gap:12px; font-size:19px; line-height:1.85; }.repayment-explanation-body li b { display:block; color:#155cb5; }.repayment-explanation-body dl { margin:18px 0; border:1px solid #e1e9f3; border-radius:9px; padding:4px 15px; }.repayment-explanation-body dl>div { display:flex; justify-content:space-between; gap:15px; padding:11px 0; font-size:19px; border-bottom:1px solid #e9eff7; }.repayment-explanation-body dd { margin:0; font-weight:650; }.repayment-explanation-body dl>div:last-child { border:0; }.repayment-explanation-body .is-total { font-weight:700; color:#155cb5; }.repayment-explanation-body>.button { width:100%; }

.market-inputs label>span { display:flex; align-items:center; gap:6px; white-space:nowrap; }.market-finance-mode { display:flex; flex-wrap:wrap; gap:7px; margin:13px 0; }.market-finance-mode button { padding:8px 12px; border:1px solid #cbdcf3; border-radius:7px; background:white; color:#173757; cursor:pointer; font-size:18px; }.market-finance-mode button[aria-pressed=true] { background:#2466d9; color:white; border-color:#2466d9; }.market-finance-mode .market-finance-example { margin-left:auto; background:#edf6f0; color:#146746; border-color:#cbe8d6; }
.market-finance-inputs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; background:#f4f8fe; padding:14px; border:1px solid #e1eaf6; border-radius:8px; margin-bottom:12px; }.market-finance-inputs label { font-size:16px; display:flex; flex-direction:column; gap:7px; }.market-finance-inputs label>span { display:flex; align-items:center; gap:5px; }.market-finance-inputs input { width:75px; border:1px solid #bcd0ef; border-radius:5px; padding:8px; background:white; color:#183149; }.market-finance-inputs select { width:100%; padding:8px 4px; border:1px solid #bcd0ef; border-radius:5px; background:white; color:#183149; font-size:16px; }.market-finance-inputs>p { grid-column:1/-1; font-size:16px; line-height:1.8; margin:0; }
.market-finance-basis { display:flex; flex-wrap:wrap; gap:8px 16px; padding:10px 0 15px; font-size:16px; }.market-finance-basis b { margin-left:5px; }.market-input-pending { border:1px dashed #b5cae8; padding:25px; border-radius:8px; line-height:1.9; font-size:19px; }.market-scenario-debt-note { font-size:16px!important; line-height:1.8; }.market-scenario-debt-note.has-shortfall { color:#9c2941; font-weight:600; }
@media(max-width:600px) { .market-finance-inputs { grid-template-columns:repeat(2,minmax(0,1fr)); }.market-finance-mode .market-finance-example { margin-left:0; } }

/* Consistent, space-specific quote detail for every survey route. */
.space-estimate{margin:0 0 16px}.space-estimate .dash-panel-heading{margin-bottom:18px}
.space-estimate-basis{display:flex;flex-wrap:wrap;gap:12px 24px;padding:14px 16px;background:#f1f6ff;border-radius:10px;margin-bottom:16px;color:#172033}
.space-estimate-basis span{font-size:19px}.space-estimate-basis b{margin-left:7px;color:#172033}
.space-estimate-notice{padding:12px 16px;border-left:3px solid #2563eb;background:#f4f8ff;color:#172033;font-size:19px;line-height:1.7;margin:12px 0}
.space-estimate-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:20px}
.space-cost-table{width:100%;border-collapse:collapse;font-size:19px;color:#172033}.space-cost-table th,.space-cost-table td{padding:12px;border:1px solid #e0e7f2;text-align:left}.space-cost-table thead,.space-cost-table tfoot{background:#f3f6fc}.space-cost-table td:nth-last-child(-n+2){text-align:right;white-space:nowrap}.space-cost-table tbody th{font-weight:600;white-space:nowrap}.space-cost-table tfoot{font-weight:700}
.space-estimate-checks{background:#f8fafc;border:1px solid #e0e7f2;border-radius:10px;padding:18px;color:#172033}.space-estimate-checks h3{font-size:20px;margin:0 0 10px}.space-estimate-checks ul{list-style:disc;padding-left:18px;margin:0 0 18px;font-size:19px;line-height:1.9}.space-estimate-checks p{font-size:18px;line-height:1.7;color:#172033;margin:0}
@media(max-width:800px){.space-estimate-layout{grid-template-columns:1fr}.space-cost-table{min-width:540px}.space-estimate-basis{gap:10px 16px}}
/* Decision order: feasibility -> revenue -> policy -> funding -> execution. */
.journey-start{background:white;border:1px solid #dde6f3;border-radius:14px;padding:24px;margin-bottom:16px;color:#172033}
.journey-start header>span{font-size:18px;font-weight:700;color:#2563eb}.journey-start h1{font-size:29px;margin:8px 0 10px}.journey-start header>p{font-size:20px;line-height:1.7;margin:0 0 20px}
.journey-path{display:grid;grid-template-columns:repeat(5,1fr);padding:0;list-style:none;border:1px solid #dce6f6;border-radius:10px;overflow:hidden;margin:0 0 22px}.journey-path li{padding:13px 16px;background:#f4f8ff;border-right:1px solid #dce6f6}.journey-path li:last-child{border:0}.journey-path b,.journey-path span{display:block;font-size:19px}.journey-path span{margin-top:6px;font-size:18px;line-height:1.6}
.journey-gates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.journey-gates article{border:1px solid #dce5f3;border-radius:10px;padding:18px}.journey-gates article>span{color:#2563eb;font-size:18px;font-weight:700}.journey-gates h2{font-size:23px;line-height:1.5;margin:10px 0}.journey-gates ul{padding-left:18px;font-size:19px;line-height:1.9;margin:12px 0}.journey-gates a{display:inline-block;color:#155bd5;font-size:18px;margin:0 12px 10px 0}.journey-gates article>strong{display:block;border-top:1px solid #e3eaf4;padding-top:12px;font-size:18px;line-height:1.6}
.journey-feasibility{margin:0 0 18px;border:1px solid #dce5f3;border-radius:12px;background:white}.journey-feasibility>summary{padding:18px 22px;font-size:21px;font-weight:700;cursor:pointer}.journey-feasibility .feasibility-guide{border:0;margin:0}
.revenue-drivers{border:1px solid #dce5f3;border-radius:12px;background:#f7faff;padding:22px;margin:18px 0}.revenue-drivers h3{display:flex;align-items:center;gap:10px;font-size:25px;margin:0 0 18px}.revenue-drivers>div{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.revenue-drivers article{background:white;border:1px solid #dce5f3;border-radius:10px;padding:18px}.revenue-drivers article>span{font-size:18px;font-weight:700;color:#2563eb}.revenue-drivers h4{font-size:22px;line-height:1.6;margin:8px 0}.revenue-drivers article p{font-size:19px;line-height:1.8;margin:0}
.support-section>.installation-options{margin-top:24px}.support-section>.decision-section{margin-top:24px}
.funding-preflight{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.funding-preflight article{padding:16px;border:1px solid #dce5f3;border-radius:10px;background:#f5f9ff}.funding-preflight h4{margin:0 0 10px;font-size:21px}.funding-preflight p{font-size:19px;line-height:1.8;margin:0}
.roadmap-details{display:grid;gap:12px;margin:22px 0}.roadmap-stage{border:1px solid #dce5f3;border-radius:10px;overflow:hidden;background:white}.roadmap-stage summary{display:flex;align-items:center;gap:14px;padding:18px;cursor:pointer}.roadmap-stage summary>span{color:#2563eb;font-size:22px;font-weight:700}.roadmap-stage summary strong{font-size:22px}.roadmap-stage summary small{margin-left:auto;font-size:18px;color:#172033}.roadmap-stage[open] summary{border-bottom:1px solid #e2eaf4;background:#f4f8ff}.roadmap-stage-content{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;padding:22px}.roadmap-stage-content h3{font-size:21px;margin:0 0 12px}.roadmap-stage-content ol,.roadmap-stage-content ul{padding-left:20px;font-size:19px;line-height:1.9;margin:0 0 18px}.roadmap-stage-content li{margin-bottom:9px}.roadmap-gate,.roadmap-caution{margin:0;padding:14px 16px;background:#eff8f3;border-radius:8px;font-size:19px;line-height:1.8}.roadmap-caution{background:#fff6ec}.roadmap-gate b,.roadmap-caution b{display:block;margin-bottom:7px}.roadmap-sources{grid-column:1/-1;display:flex;gap:16px;flex-wrap:wrap}.roadmap-sources a{font-size:18px;color:#155bd5;text-decoration:underline}
@media(max-width:900px){.journey-gates,.revenue-drivers>div{grid-template-columns:1fr}.journey-path{grid-template-columns:repeat(5,minmax(130px,1fr));overflow:auto}.funding-preflight{grid-template-columns:1fr}.roadmap-stage-content{grid-template-columns:1fr}.roadmap-stage summary{flex-wrap:wrap}.roadmap-stage summary small{width:100%;margin-left:32px}.journey-start{padding:18px}}
.results-toc{position:fixed;right:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:80;display:flex;align-items:flex-end;flex-direction:column;gap:12px}
.toc-trigger{display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:0 17px;border:1px solid #d4e0f3;border-radius:16px;background:#fff;color:#172033;font-weight:700;box-shadow:0 6px 24px #203e6c24;cursor:pointer}.toc-trigger:hover{background:#eef5ff}.toc-trigger:focus-visible,.results-toc a:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
.results-toc nav{width:290px;max-width:calc(100vw - 32px);max-height:min(650px,calc(100dvh - 110px));overflow:auto;border:1px solid #d5e1f2;border-radius:16px;background:#fff;box-shadow:0 12px 45px #1d375b26;color:#172033}.results-toc nav header{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border-bottom:1px solid #e6edf7;position:sticky;top:0;background:white;z-index:1}.results-toc nav header button{font-size:27px;border:0;background:none;color:#172033;cursor:pointer;padding:0 5px}.results-toc ol{list-style:none;padding:8px;margin:0}.results-toc li a{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:8px;font-size:19px;text-decoration:none;color:#172033;line-height:1.5}.results-toc li a small{color:#315c9d;font-size:16px;width:20px}.results-toc li a:hover,.results-toc li a[aria-current]{color:#155bd5;background:#edf4ff;font-weight:700}
.solar-dashboard [id]{scroll-margin-top:24px}.solar-dashboard [tabindex="-1"]:focus{outline:none}
.lx-solar-link{display:flex;align-items:center;gap:22px;flex-wrap:wrap;background:#edf6ff;border:1px solid #ccdef6;border-radius:12px;padding:20px;margin-bottom:22px}.lx-solar-link>div{flex:1;min-width:250px}.lx-solar-link h2{font-size:24px;margin:8px 0}.lx-solar-link p{font-size:19px;line-height:1.8;margin:0}.lx-solar-link>div>span{font-size:18px;font-weight:700;color:#155bd5}.lx-solar-link>a{font-size:20px;white-space:nowrap}.lx-solar-link>small{display:block;flex-basis:100%;font-size:18px;line-height:1.7;color:#172033}
.market-main-history-only{display:block!important}.market-main-history-only .market-history>svg{max-height:420px;width:100%}.market-main-history-only .market-history{width:100%}
.visual-calculator{padding:22px;border:1px solid #dbe5f4;border-radius:14px;background:#f6f9ff;margin:22px 0}.visual-calculator>header>span{font-size:18px;font-weight:700;color:#2563eb}.visual-calculator>header h2{font-size:27px;margin:10px 0}.visual-calculator>header p{font-size:19px;line-height:1.7;margin:0 0 22px;color:#172033}.calculator-project-inputs{display:flex;gap:16px;flex-wrap:wrap}.calculator-project-inputs p{flex-basis:100%;font-size:18px;line-height:1.7;margin:0}.calculator-charts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}.calculator-charts>section{border:1px solid #dce5f3;background:#fff;border-radius:12px;padding:18px;min-width:0}.calculator-charts h3{font-size:23px;margin:0 0 10px}.calculator-charts p{font-size:18px;line-height:1.6;margin:0}.calculator-charts svg{width:100%;height:auto;margin-top:12px;overflow:visible}.calculator-charts svg text{font-size:14px;fill:#172033}.calculator-charts svg g:focus{outline:none;filter:drop-shadow(0 0 3px #2166e2)}
@media(max-width:800px){.results-toc{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.toc-trigger{min-height:48px;padding:0 13px}.calculator-charts{grid-template-columns:1fr}.visual-calculator{padding:16px}.visual-calculator>header h2{font-size:26px}.lx-solar-link>a{width:100%;justify-content:center}.visual-calculator{padding-bottom:70px}}

/* Keep the contents control outside animated/skeleton layout containers. */
.results-toc{z-index:1000;transition:opacity .2s,transform .2s,visibility .2s}
.results-toc.is-hidden{opacity:0;transform:translateY(18px);visibility:hidden;pointer-events:none}
.results-toc .toc-trigger{background:#1659e8;color:#fff;border-color:#1659e8;box-shadow:0 6px 22px #1659e83d}
.results-toc .toc-trigger:hover{background:#1149c5}
.results-toc .toc-trigger svg{display:block;flex-shrink:0;color:#fff;stroke:#fff}
.journey-start>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}
.journey-start>header>div{min-width:0}
.journey-start>header>div>span{font-size:18px;font-weight:700;color:#1659e8}
.journey-start>header p{font-size:20px;line-height:1.7;margin:0}
.journey-start .journey-ai-link{flex-shrink:0;background:#1659e8;color:white;font-size:20px;white-space:nowrap;align-self:flex-start}
@media(max-width:800px){.journey-start>header{flex-wrap:wrap}.journey-start .journey-ai-link{width:100%;justify-content:center;white-space:normal}}
@media(prefers-reduced-motion:reduce){.results-toc{transition:none}}

.unit-cost-section{margin:24px 0;padding:24px;border:1px solid #d9e5f5;border-radius:14px;background:linear-gradient(140deg,#fff,#f5f9ff);color:#202832;scroll-margin-top:24px}
.unit-cost-section>header>span{color:#1659e8;font-size:18px;font-weight:700}.unit-cost-section h3{font-size:30px;line-height:1.45;margin:10px 0 14px;letter-spacing:-.04em}.unit-cost-section>header>p{font-size:20px;line-height:1.8;margin-bottom:22px}
.unit-cost-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.unit-cost-metrics article{padding:18px;border:1px solid #dce6f5;background:white;border-radius:12px;min-width:0}.unit-cost-metrics span{display:block;font-size:18px;line-height:1.6}.unit-cost-metrics strong{display:block;font-size:25px;margin-top:9px;line-height:1.5;overflow-wrap:anywhere}.unit-cost-metrics article:nth-child(3){background:#edf4ff;color:#1659e8}
.unit-cost-equation{padding:18px;background:#edf4ff;border-radius:10px;font-size:20px;line-height:1.8;margin:18px 0}.unit-cost-equation>span{color:#1659e8;font-weight:700;margin:0 12px}.unit-cost-equation small{display:block;font-size:16px;margin-top:5px}
.unit-cost-table-wrap{overflow:auto;border:1px solid #dce6f5;border-radius:10px}.unit-cost-section table{width:100%;min-width:740px;border-collapse:collapse;font-size:18px;text-align:left}.unit-cost-section th,.unit-cost-section td{padding:15px 14px;border-bottom:1px solid #e0e8f4;white-space:nowrap}.unit-cost-section thead{background:#f0f4fa}.unit-cost-section tr:last-child>*{border-bottom:0}.unit-cost-section tr.is-selected>*{background:#e8f1ff;color:#1554ca}.unit-cost-section input[type=radio]{accent-color:#1659e8;width:18px;height:18px}
.unit-cost-improvement{background:white;border:1px solid #dce6f5;border-radius:12px;padding:22px;margin:20px 0}.unit-cost-section h4{font-size:24px;margin:0 0 12px;line-height:1.5}.unit-cost-improvement>div>p{font-size:19px;line-height:1.8}.unit-cost-controls{display:flex;gap:28px;flex-wrap:wrap;margin:24px 0}.unit-cost-controls label{font-size:18px;flex:1;min-width:180px}.unit-cost-controls label>b{color:#1659e8;float:right}.unit-cost-controls input[type=range]{display:block;width:100%;margin-top:12px;accent-color:#1659e8}.unit-cost-controls label:last-child{flex:0 1 auto;min-width:170px}.unit-cost-controls input[type=number]{width:70px;padding:8px;margin:0 8px;border:1px solid #cdddF6;border-radius:7px;background:#f7faff;font:inherit;color:#202832}
.unit-cost-bars{display:grid;gap:16px}.unit-cost-bars>div{display:grid;grid-template-columns:130px 1fr 120px;gap:16px;align-items:center;font-size:19px}.unit-cost-bars>div>div{height:29px;background:#f2f5fa;border-radius:6px;overflow:hidden}.unit-cost-bars i{display:block;height:100%;border-radius:6px}.unit-cost-bars strong{text-align:right;color:#1659e8;font-size:21px}.unit-cost-caveat{font-size:16px;line-height:1.85;margin-top:20px}
.unit-cost-how{display:grid;grid-template-columns:1fr 1fr;gap:18px}.unit-cost-how>section{padding:22px;border:1px solid #dce6f5;border-radius:12px;background:white;min-width:0}.unit-cost-how h4{display:flex;gap:10px;align-items:center}.unit-cost-how details{border-bottom:1px solid #e4eaf3}.unit-cost-how details:last-child{border:0}.unit-cost-how summary{display:flex;gap:10px;align-items:center;padding:18px 0;list-style:none;font-size:20px;font-weight:600;cursor:pointer;line-height:1.7}.unit-cost-how summary::-webkit-details-marker{display:none}.unit-cost-how summary>span{font-size:16px;color:#1659e8}.unit-cost-how summary>b{margin-left:auto;color:#1659e8;font-size:24px}.unit-cost-how details[open] summary>b{transform:rotate(45deg)}.unit-cost-how details>p{font-size:19px;line-height:1.9;margin:0 0 14px}.unit-cost-how details>div{background:#f1f6ff;padding:14px;border-radius:8px;margin-bottom:18px;font-size:18px;line-height:1.85}.unit-cost-how details>div>b{color:#1659e8}.unit-cost-how details>div>p{margin:7px 0 0}.unit-cost-section footer{margin-top:20px;font-size:16px;line-height:1.85}.unit-cost-section footer a{display:inline-block;color:#1659e8;margin:10px 18px 0 0;text-decoration:underline}
@media(max-width:900px){.unit-cost-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.unit-cost-how{grid-template-columns:1fr}.unit-cost-section{padding:18px}.unit-cost-bars>div{grid-template-columns:100px 1fr 105px;gap:10px;font-size:16px}.unit-cost-bars strong{font-size:19px}}
@media(max-width:500px){.unit-cost-section h3{font-size:26px}.unit-cost-metrics article{padding:14px}.unit-cost-metrics strong{font-size:24px}.unit-cost-equation{font-size:18px}.unit-cost-bars>div{grid-template-columns:1fr 105px}.unit-cost-bars>div>span{grid-column:1/-1}.unit-cost-improvement,.unit-cost-how>section{padding:16px}}
.calculator-auto-energy{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;padding:22px;margin:12px 0;border:1px solid #d8e6fc;border-radius:12px;background:#edf5ff;color:#202832}.calculator-auto-energy>div>span{font-size:19px;font-weight:600}.calculator-auto-energy strong{display:block;color:#1659e8;font-size:30px;line-height:1.5;margin:9px 0;letter-spacing:-.03em}.calculator-auto-energy strong>small{font-size:19px;color:#202832;font-weight:400;display:inline-block}.calculator-auto-energy p{font-size:18px;line-height:1.8;margin:7px 0}.calculator-auto-energy small{font-size:16px;line-height:1.8}.calculator-auto-energy>div:nth-child(2){align-self:center;padding-left:22px;border-left:1px solid #ccdcf4}.calculator-auto-energy>div:nth-child(2)>b{font-size:18px}.calculator-yield-toggle{grid-column:1/-1;display:flex;align-items:center;gap:9px;font-size:18px;cursor:pointer}.calculator-yield-toggle input{accent-color:#1659e8;width:17px;height:17px}.calculator-yield-edit{grid-column:1/-1;border-top:1px solid #d3e1f5;padding-top:16px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.calculator-yield-edit>label{font-size:18px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.calculator-yield-edit input{width:90px;padding:9px;border:1px solid #c6d8f4;border-radius:7px;background:white;font:inherit;color:#202832}.calculator-scope-note{font-size:16px;line-height:1.8;margin:12px 0 18px}
@media(max-width:700px){.calculator-auto-energy{grid-template-columns:1fr;padding:18px}.calculator-auto-energy>div:nth-child(2){padding:15px 0 0;border-left:0;border-top:1px solid #ccdcf4}.calculator-auto-energy strong{font-size:27px}}
.calculator-unit-price{margin:12px 0;border:1px solid #dce6f5;border-radius:10px;padding:15px 18px;background:#fafcff;font-size:18px;line-height:1.8}.calculator-unit-price summary{cursor:pointer;font-weight:600}.calculator-unit-price>label{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px}.calculator-unit-price input{width:95px;border:1px solid #c6d8f4;border-radius:7px;padding:8px;font:inherit;color:#202832;background:white}.calculator-unit-price p{font-size:16px;line-height:1.8;margin:12px 0 0}.calculator-auto-energy .calculator-cost-equation{font-size:16px;border-top:1px solid #cfddf1;padding-top:10px;margin-top:10px}

.calculator-statement{border:1px solid #d8e4f5;border-radius:14px;background:#fff;padding:22px;margin:22px 0;color:#202832}.calculator-statement>header{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}.calculator-statement header span{font-size:16px;font-weight:700;color:#1659e8}.calculator-statement h4{font-size:26px;line-height:1.5;margin:8px 0}.calculator-statement header p{font-size:18px;line-height:1.8;margin:0}.statement-one-eok{border:1px solid #cbdcf7;background:#edf4ff;border-radius:9px;padding:12px 15px;font-size:18px;font-weight:600;color:#1659e8;cursor:pointer}.statement-cost-editor{margin:20px 0;border:1px solid #dce6f5;background:#f8faff;border-radius:10px;padding:16px}.statement-cost-editor summary{cursor:pointer;font-size:20px;font-weight:600;line-height:1.8}.statement-cost-editor summary span{font-size:16px;font-weight:400;margin-left:12px}.statement-cost-editor>p,.statement-cost-editor>small{font-size:16px;line-height:1.85;margin:12px 0;display:block}.statement-cost-inputs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.statement-cost-inputs label{font-size:16px;line-height:1.8;min-width:0}.statement-cost-inputs label>span{display:flex;align-items:center;gap:8px;margin-top:7px;white-space:nowrap}.statement-cost-inputs input{width:95px;min-width:0}.statement-cost-editor input{border:1px solid #cbdcf7;border-radius:7px;padding:9px;font:inherit;color:#202832;background:#fff}.statement-replacement-inputs{display:flex;gap:20px;flex-wrap:wrap;align-items:center;padding-top:18px;margin-top:18px;border-top:1px solid #dce6f5;font-size:18px}.statement-replacement-inputs input{width:85px;margin:0 8px}.statement-replacement-inputs button{background:none;border:0;color:#1659e8;text-decoration:underline;font:inherit;cursor:pointer}
.statement-toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:20px 0;font-size:18px}.statement-toolbar label{display:flex;align-items:center;gap:10px}.statement-toolbar select{padding:10px;border:1px solid #d5e1f3;border-radius:8px;font:inherit;background:#fff;color:#202832}.statement-toolbar>span{margin-left:auto;font-size:16px}.statement-toolbar [role=group]{display:flex;gap:5px;background:#f0f4fa;padding:4px;border-radius:8px}.statement-toolbar button{background:transparent;border:0;border-radius:6px;padding:8px 13px;font:inherit;color:#202832;cursor:pointer}.statement-toolbar button[aria-pressed=true]{background:white;box-shadow:0 1px 5px #1e3c6b12;color:#1659e8;font-weight:600}
.statement-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}.statement-summary article{border-radius:10px;background:#f3f6fc;padding:18px;min-width:0}.statement-summary span{font-size:18px;line-height:1.7}.statement-summary strong{display:block;font-size:26px;margin-top:10px;line-height:1.5;overflow-wrap:anywhere}.statement-summary article:last-child{background:#eaf7f0;color:#0c7553}.statement-summary article.is-negative{background:#fff0f2;color:#b83450}
.statement-table-scroll{border:1px solid #dce5f3;border-radius:10px;overflow:auto}.calculator-statement table{border-collapse:collapse;width:100%;min-width:830px;font-size:18px;line-height:1.8}.calculator-statement caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.calculator-statement th,.calculator-statement td{padding:12px 15px;border-bottom:1px solid #e3eaf4;text-align:left}.calculator-statement thead{background:#f1f5fb}.calculator-statement tbody th{width:24%;font-weight:500}.calculator-statement td:nth-child(3){white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;font-weight:600;min-width:145px}.calculator-statement th:nth-child(3){text-align:right}.calculator-statement td:last-child{font-size:16px;width:37%}.calculator-statement tr.is-subtotal>*{background:#f5f8fe;font-weight:600}.calculator-statement tr.is-final>*{background:#eaf7f0;font-size:20px;font-weight:700;color:#0b7552}.calculator-statement tr:last-child>*{border-bottom:0}.calculator-statement .negative-value{color:#a63b53}.statement-type{font-size:16px;white-space:nowrap;display:inline-block;padding:1px 9px;border-radius:20px;background:#e8f0ff;color:#235caf}.statement-type.income{background:#e1f4e9;color:#14734e}
.statement-scenario-strip{margin-top:20px}.statement-scenario-strip h5{font-size:21px;margin:0 0 14px}.statement-scenario-strip>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.statement-scenario-strip article{border:1px solid #dce6f5;border-radius:10px;padding:16px;background:#f7faff}.statement-scenario-strip article>span{font-size:18px;font-weight:600}.statement-scenario-strip article>b{display:block;font-size:16px;font-weight:400;line-height:1.8;margin-top:7px}.statement-scenario-strip article>strong{display:block;font-size:24px;color:#1659e8;line-height:1.5;margin-top:12px}.statement-scenario-strip article.is-base{background:#edf8f2;border-color:#cde9dc}.statement-scenario-strip article.is-base>strong{color:#08724c}.statement-footnote,.statement-input-error{font-size:16px;line-height:1.9;margin:18px 0 0}.statement-input-error{padding:14px;background:#fff7ea;border-radius:8px}
@media(max-width:1100px){.statement-cost-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.calculator-statement{padding:16px}.calculator-statement h4{font-size:24px}.statement-summary{grid-template-columns:1fr}.statement-summary strong{font-size:25px}.statement-toolbar>span{margin-left:0;flex-basis:100%}.statement-scenario-strip>div{grid-template-columns:1fr}.statement-cost-inputs{grid-template-columns:1fr}.statement-cost-inputs input{width:120px}}
.market-scenarios .statement-summary strong{font-size:26px}.market-scenarios .statement-scenario-strip article>strong{font-size:24px}.market-scenarios .statement-summary strong>span{font-size:inherit}.market-scenarios .statement-summary article>span{font-size:18px}

.module-economics{padding:24px;margin:24px 0;border:1px solid #dce6f5;border-radius:14px;background:linear-gradient(145deg,#fff,#f3f8ff);color:#202832;scroll-margin-top:24px}.module-economics>.decision-header{background-image:linear-gradient(90deg,#fffffffa 0%,#ffffffed 58%,#ffffff30 100%),url('photos/factory.png');background-position:center;background-size:cover;padding:24px;border-radius:12px;margin-bottom:18px;min-height:120px}.module-economics h3{font-size:29px;letter-spacing:-.035em;line-height:1.5;margin:10px 0}.module-economics .decision-header>span{font-size:18px;color:#1659e8;font-weight:700}.module-economics .decision-header p{font-size:19px;line-height:1.8}.module-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.module-metrics>article{padding:18px;border:1px solid #dce6f5;border-radius:11px;background:#fff;min-width:0}.module-metrics span{font-size:18px;line-height:1.7;display:block}.module-metrics strong{display:block;font-size:26px;line-height:1.5;margin:10px 0 4px;overflow-wrap:anywhere}.module-metrics small{font-size:16px;line-height:1.7}.module-metrics>article:nth-child(3){background:#eaf8ef;color:#13754c}.module-economics-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.module-card,.module-payback,.module-driver-strip{border:1px solid #dce6f5;border-radius:12px;padding:22px;background:#fff;min-width:0}.module-economics h4{font-size:24px;line-height:1.6;margin:0 0 16px;display:flex;align-items:center;gap:10px}.module-cost-chart{width:100%;height:auto;max-height:330px;display:block}.module-cost-chart text{font-size:15px;fill:#202832}.module-cost-chart .module-chart-value{font-size:21px;font-weight:700}.module-note{font-size:16px;line-height:1.85;margin:15px 0 0}.module-table-scroll{overflow:auto;border:1px solid #dce6f5;border-radius:9px}.module-economics table{width:100%;border-collapse:collapse;font-size:18px;line-height:1.8;min-width:430px}.module-economics th,.module-economics td{padding:13px 14px;text-align:left;border-bottom:1px solid #e0e8f4}.module-economics thead{background:#edf4ff}.module-economics td:last-child{background:#eef9f3;color:#12704a;font-weight:600}.module-economics tr:last-child>*{border-bottom:0}.module-economics th>small{display:block;font-size:16px;font-weight:400}.module-area-visual{margin-top:18px}.module-area-visual>span{font-size:16px}.module-area-visual>div{position:relative;background:#f0f5fb;height:29px;border-radius:5px;overflow:hidden;margin-top:10px}.module-area-visual i{display:block;height:100%;background:#79b5fb}.module-area-visual>div:last-child i{background:#a0dfbc}.module-area-visual b{position:absolute;left:12px;top:4px;font-size:16px;line-height:1.6;font-weight:600}
.module-driver-strip{margin:18px 0}.module-driver-strip>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.module-driver-strip article{display:flex;gap:12px;padding:16px;background:#f3f7ff;border-radius:10px}.module-driver-strip article:nth-child(2){background:#eef8f3}.module-driver-strip .dash-icon{flex-shrink:0}.module-driver-strip h5{font-size:20px;margin:0 0 8px}.module-driver-strip p{font-size:18px;line-height:1.8;margin:0}.module-driver-strip>small{display:block;font-size:16px;line-height:1.8;margin-top:15px}.module-payback header{display:flex;gap:18px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;margin-bottom:18px}.module-payback h4{margin-bottom:10px}.module-payback header p{font-size:16px;line-height:1.8;margin:0}.module-assumptions{display:flex;gap:20px;flex-wrap:wrap}.module-assumptions label{font-size:16px}.module-assumptions label>span{display:flex;gap:8px;align-items:center;margin-top:7px}.module-assumptions input{width:95px;min-width:0;border:1px solid #c6d8f4;background:#f7faff;border-radius:7px;padding:9px;font:inherit;color:#202832}.module-payback tbody tr:last-child b{font-size:26px;color:#1659e8}.module-sources{font-size:16px;line-height:1.85;margin-top:18px}.module-sources p{margin:0 0 10px}.module-sources a{display:inline-block;color:#1659e8;text-decoration:underline;margin:0 18px 5px 0}
@media(max-width:1000px){.module-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.module-economics-grid{grid-template-columns:1fr}.module-driver-strip>div{grid-template-columns:1fr}}
@media(max-width:600px){.module-economics{padding:16px}.module-economics h3{font-size:25px}.module-economics>.decision-header{padding:18px}.module-metrics strong{font-size:24px}.module-metrics>article{padding:14px}.module-card,.module-payback,.module-driver-strip{padding:16px}.module-economics table{font-size:16px}}
.module-outlook{margin:18px 0}.module-outlook>p{font-size:19px;line-height:1.85}.module-outlook>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.module-outlook article{padding:18px;border-radius:10px;background:#f0f6ff}.module-outlook article:nth-child(2){background:#fff7eb}.module-outlook article p{font-size:18px;line-height:1.8;margin-bottom:0}.module-outlook>a{color:#1659e8;text-decoration:underline;font-size:16px}.module-economics .module-cost-chart .module-chart-value{font-size:18px}.module-payback table{min-width:700px}@media(max-width:800px){.module-outlook>div{grid-template-columns:1fr}}
