.costs-main { max-width: 1180px; margin: 0 auto; padding: clamp(48px, 8vw, 96px) 24px 96px; }
.costs-main *, .costs-main *::before, .costs-main *::after { box-sizing: border-box; }
.costs-hero { display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: 48px; align-items: end; padding-bottom: 52px; border-bottom: 1px solid rgba(237,231,223,.16); }
.costs-eyebrow, .section-heading > p { margin: 0 0 14px; font: 500 11px/1.5 'IBM Plex Mono', monospace; letter-spacing: .2em; color: #FF3B1F; }
.costs-hero h1 { margin: 0; font: 400 clamp(58px, 10vw, 132px)/.83 'Anton', 'Arial Narrow', sans-serif; letter-spacing: -.01em; text-transform: uppercase; color: #EDE7DF; }
.costs-hero h1 span { display: block; }
.costs-deck { max-width: 760px; margin: 26px 0 0; font-size: clamp(16px, 2vw, 20px); line-height: 1.55; color: #9A9088; text-wrap: balance; }
.costs-seal { min-height: 188px; display: flex; flex-direction: column; justify-content: space-between; padding: 22px; border: 1px solid #FF3B1F; font-family: 'IBM Plex Mono', monospace; transform: rotate(1.5deg); }
.costs-seal span, .costs-seal small { color: #9A9088; font-size: 10px; line-height: 1.6; letter-spacing: .12em; }
.costs-seal strong { color: #FF3B1F; font: 400 38px/1 'Anton', sans-serif; letter-spacing: .08em; }

.costs-scoreboard { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid rgba(237,231,223,.16); }
.costs-scoreboard article { min-height: 132px; padding: 24px 20px; border-right: 1px solid rgba(237,231,223,.12); }
.costs-scoreboard article:last-child { border-right: 0; }
.costs-scoreboard span, .balance-grid span { display: block; min-height: 32px; font: 500 10px/1.45 'IBM Plex Mono', monospace; letter-spacing: .14em; color: #7A7168; }
.costs-scoreboard strong { display: block; margin: 7px 0 4px; font: 400 48px/1 'Anton', sans-serif; color: #EDE7DF; }
.costs-scoreboard small { color: #7A7168; font: 10px/1.45 'IBM Plex Mono', monospace; }

.costs-section { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(0, 1.7fr); gap: clamp(36px, 7vw, 90px); padding: 72px 0; border-bottom: 1px solid rgba(237,231,223,.16); }
.section-heading h2 { position: sticky; top: 92px; margin: 0; font: 400 clamp(34px, 4vw, 54px)/.96 'Anton', sans-serif; text-transform: uppercase; color: #EDE7DF; }
.diagram-link { display: inline-block; margin-top: 24px; color: #EDE7DF; font: 500 11px/1.5 'IBM Plex Mono', monospace; text-decoration: underline; text-underline-offset: 4px; }

.budget-meter { display: flex; width: 100%; height: 46px; border: 1px solid rgba(237,231,223,.24); overflow: hidden; }
.budget-meter span { display: block; }
.budget-fixed { background: #FF3B1F; }
.budget-headroom { flex: 1; background: repeating-linear-gradient(135deg, rgba(237,231,223,.05) 0, rgba(237,231,223,.05) 6px, transparent 6px, transparent 12px); }
.budget-reserve { background: #211D1A; border-left: 1px solid #D9A441; }
.budget-legend { display: flex; flex-wrap: wrap; gap: 16px 26px; margin-top: 18px; font: 10px/1.5 'IBM Plex Mono', monospace; color: #9A9088; }
.budget-legend .key { display: inline-block; width: 10px; height: 10px; margin-right: 8px; vertical-align: -1px; }
.key.fixed { background: #FF3B1F; }.key.open { border: 1px solid #7A7168; }.key.reserve { background: #211D1A; border: 1px solid #D9A441; }
.costs-note { margin: 24px 0 0; color: #7A7168; font: 12px/1.7 'IBM Plex Mono', monospace; }
.costs-note em { color: #D9A441; font-style: normal; }

.table-wrap { min-width: 0; overflow-x: auto; }
.cost-table { width: 100%; border-collapse: collapse; font: 11px/1.55 'IBM Plex Mono', monospace; }
.cost-table th { padding: 0 14px 12px 0; border-bottom: 1px solid rgba(237,231,223,.24); text-align: left; color: #7A7168; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.cost-table td { padding: 18px 14px 18px 0; border-bottom: 1px solid rgba(237,231,223,.08); color: #9A9088; vertical-align: top; }
.cost-table td:last-child, .cost-table th:last-child { padding-right: 0; }
.cost-table td strong { display: block; color: #EDE7DF; font-weight: 500; }
.cost-table td small { display: block; margin-top: 5px; color: #7A7168; line-height: 1.5; }
.cost-table .money { color: #EDE7DF; font-size: 15px; white-space: nowrap; }
.cost-table .confidence { margin-top: 8px; color: #6FA8A0; font-size: 9px; letter-spacing: .1em; }
.state-chip { display: inline-block; padding: 4px 7px; border: 1px solid rgba(237,231,223,.16); color: #B8AFA6; font-size: 9px; line-height: 1.4; text-transform: uppercase; }

.comparison-list { display: grid; gap: 18px; counter-reset: compare; }
.comparison-list article { position: relative; padding: 24px 24px 24px 72px; border: 1px solid rgba(237,231,223,.13); counter-increment: compare; }
.comparison-list article::before { content: counter(compare, decimal-leading-zero); position: absolute; left: 22px; top: 23px; color: #FF3B1F; font: 500 11px/1 'IBM Plex Mono', monospace; }
.comparison-list h3, .receipt-list h3 { margin: 0 0 18px; color: #EDE7DF; font: 400 25px/1.1 'Anton', sans-serif; text-transform: uppercase; }
.comparison-list dl { margin: 0; display: grid; gap: 12px; }
.comparison-list dl div { display: grid; grid-template-columns: 82px 1fr; gap: 14px; }
.comparison-list dt { color: #7A7168; font: 500 9px/1.6 'IBM Plex Mono', monospace; letter-spacing: .12em; }
.comparison-list dd { margin: 0; color: #9A9088; font-size: 13px; line-height: 1.55; }

.balance-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.balance-grid article { min-height: 180px; padding: 22px; border: 1px solid rgba(237,231,223,.13); }
.balance-grid strong { display: block; margin: 10px 0 14px; color: #EDE7DF; font: 400 40px/1 'Anton', sans-serif; }
.balance-grid p { margin: 0 0 16px; color: #9A9088; font-size: 13px; line-height: 1.55; }
.balance-grid small { color: #7A7168; font: 10px/1.55 'IBM Plex Mono', monospace; }

.receipt-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.receipt-list article { min-height: 210px; display: flex; flex-direction: column; padding: 22px; border: 1px solid rgba(237,231,223,.13); }
.receipt-list article > div { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 20px; }
.receipt-list time { color: #7A7168; font: 9px/1 'IBM Plex Mono', monospace; }
.class-chip { display: inline-block; padding: 4px 7px; border: 1px solid #6FA8A0; color: #6FA8A0; font: 500 9px/1 'IBM Plex Mono', monospace; text-transform: uppercase; }
.class-chip.estimate { color: #D9A441; border-color: #D9A441; }.class-chip.unknown { color: #FF3B1F; border-color: #FF3B1F; }
.receipt-list p { margin: 0 0 20px; color: #9A9088; font-size: 13px; line-height: 1.55; }
.receipt-list > article > strong { margin-top: auto; color: #EDE7DF; font: 400 34px/1 'Anton', sans-serif; }

.costs-unknowns ol { margin: 0; padding: 0; list-style: none; counter-reset: unknown; }
.costs-unknowns li { counter-increment: unknown; display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid rgba(237,231,223,.08); color: #B8AFA6; font-size: 14px; line-height: 1.5; }
.costs-unknowns li::before { content: counter(unknown, decimal-leading-zero); color: #FF3B1F; font: 500 10px/2.1 'IBM Plex Mono', monospace; }
.costs-method { margin-top: 72px; padding: 24px; border: 1px solid #FF3B1F; color: #9A9088; font: 11px/1.7 'IBM Plex Mono', monospace; }
.costs-method p { margin: 0 0 10px; }.costs-method p:last-child { margin-bottom: 0; }.costs-method strong, .costs-method a { color: #EDE7DF; }

@media (max-width: 900px) {
  .costs-hero { grid-template-columns: 1fr; }.costs-seal { max-width: 280px; transform: none; }
  .costs-scoreboard { grid-template-columns: repeat(2, 1fr); }.costs-scoreboard article:nth-child(2) { border-right: 0; }
  .costs-section { grid-template-columns: 1fr; gap: 30px; }.section-heading h2 { position: static; }
}
@media (max-width: 600px) {
  .costs-main { padding-left: 16px; padding-right: 16px; }.costs-hero h1 { font-size: clamp(44px, 14vw, 54px); }
  .costs-scoreboard { grid-template-columns: 1fr; }.costs-scoreboard article { border-right: 0; border-bottom: 1px solid rgba(237,231,223,.1); }
  .balance-grid, .receipt-list { grid-template-columns: 1fr; }.comparison-list article { padding-left: 54px; }.comparison-list article::before { left: 16px; }
  .comparison-list dl div { grid-template-columns: 1fr; gap: 3px; }.cost-table { min-width: 690px; }
}
