.comparison-meta { margin: .9rem 0 0; color: var(--muted); font-size: .82rem; }
.comparison-notice { max-width: 48rem; margin: 1.25rem 0 1.5rem; padding: 1rem 1.2rem; border: 1px solid var(--line); border-radius: .5rem; background: var(--mint); color: var(--muted); font-size: .88rem; }
.comparison-notice strong { color: var(--ink); }
.content-grid.comparison-content { grid-template-columns: minmax(0, 1fr) minmax(220px, 280px); gap: clamp(1.5rem, 4vw, 3rem); }
.comparison-content .side-stack { min-width: 0; }
.comparison-content .rec-card { grid-template-columns: auto minmax(0, 1fr) auto; }
.comparison-content .rec-card h3 { margin-bottom: .45rem; }
.comparison-content .rec-card p { margin: 0 0 .35rem; }
.comparison-content .source-link { margin-left: .55rem; }
.comparison-scroll-note { display: none; }
.comparison-note { margin-top: .65rem; color: var(--muted); font-size: .78rem; }
.scenario-explorer { margin: 2rem 0 2.5rem; padding: clamp(1.1rem, 3vw, 1.65rem); border: 1px solid var(--line); border-radius: 20px; background: var(--surface); }
.scenario-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .65rem; }
.scenario-header h2 { margin: 0; font: 500 clamp(1.45rem, 3vw, 1.9rem)/1.05 var(--serif); letter-spacing: -.035em; }
.scenario-badge { display: inline-flex; align-items: center; gap: .5rem; flex: 0 0 auto; padding: .42rem .68rem; border: 1px solid #e6b99e; border-radius: 999px; background: #fbefe7; color: var(--forest); font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.scenario-badge span { width: .48rem; height: .48rem; border-radius: 50%; background: #c65a22; box-shadow: 0 0 0 3px rgba(198,90,34,.12); }
.scenario-intro, .scenario-assumptions, .scenario-sources { color: var(--muted); font-size: .82rem; }
.scenario-intro { max-width: 58rem; margin: 0 0 1.1rem; }
.scenario-control { margin-bottom: 1rem; padding: 1rem 1.1rem .8rem; border-radius: 13px; background: var(--paper); }
.scenario-labels { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .65rem; font-size: .82rem; font-weight: 700; }
.scenario-labels output { color: var(--forest); font: 700 1rem var(--sans); font-variant-numeric: tabular-nums; }
#contact-range { display: block; width: 100%; margin: .2rem 0; accent-color: var(--forest); cursor: pointer; }
.scenario-ticks { display: flex; justify-content: space-between; color: var(--muted); font-size: .7rem; }
.scenario-ticks span:nth-child(2) { transform: translateX(.3rem); }
.scenario-assumptions { margin: 0 0 .8rem; font-size: .75rem; }
.scenario-scroll-note { display: none; margin: 0 0 .55rem; color: var(--forest); font-size: .73rem; font-weight: 700; }
.scenario-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.scenario-table { width: 100%; min-width: 610px; border-collapse: collapse; }
.scenario-table th, .scenario-table td { padding: .75rem .8rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; font-size: .78rem; }
.scenario-table thead th { background: var(--forest-fill); color: var(--white); font-size: .65rem; letter-spacing: .07em; text-transform: uppercase; }
.scenario-table tbody tr:last-child th, .scenario-table tbody tr:last-child td { border-bottom: 0; }
.scenario-table tbody th { min-width: 8rem; color: var(--ink); font-weight: 700; }
.scenario-table tbody td { color: var(--muted); font-variant-numeric: tabular-nums; }
.scenario-plan { display: block; margin-top: .12rem; color: var(--muted); font-size: .68rem; font-weight: 500; }
.scenario-sources { margin: .8rem 0 0; font-size: .72rem; }
.scenario-sources a { color: var(--forest); font-weight: 700; }
:root[data-theme="dark"] .scenario-badge { border-color: #70472d; background: #33271f; }
.comparison .comparison-table { min-width: 700px; }
.comparison .comparison-table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.comparison .comparison-table th,
.comparison .comparison-table td { padding: 1rem .9rem; border-top: 1px solid var(--line); border-right: 1px solid var(--line); text-align: left; vertical-align: top; font-size: .86rem; }
.comparison .comparison-table thead th { border-top: 0; border-color: rgba(255,255,255,.15); background: var(--forest); color: var(--white); font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; }
.comparison .comparison-table tbody th { color: var(--ink); }
.comparison .comparison-table tbody td { color: var(--muted); }
.comparison .comparison-table th:last-child,
.comparison .comparison-table td:last-child { border-right: 0; }
.side-stack .ad-card { min-height: 15rem; }
.side-stack .ad-card p { margin: .5rem 0 0; }
:root[data-theme="dark"] .side-stack .ad-card { border-color: #5a625d; }

@media (max-width: 850px) {
  .comparison-content .rec-card { grid-template-columns: auto minmax(0, 1fr); }
  .comparison-content .rec-fit { grid-column: 2; text-align: left; }
  .comparison-scroll-note { display: block; margin: -.6rem 0 .75rem; color: var(--forest); font-size: .76rem; font-weight: 700; }
  .scenario-scroll-note { display: block; }
  .comparison .comparison-table { min-width: 700px; }
}

@media (max-width: 760px) {
  .content-grid.comparison-content { grid-template-columns: 1fr; gap: 30px; }
}
