.costs-page { background: #f3f1eb; }
.costs-hero { padding: 72px 5%; border-bottom: 7px solid #b90f0f; background: #111; color: #fff; }
.costs-hero h1 { margin: 0 0 16px; color: #fff; font-size: clamp(44px, 7vw, 82px); line-height: .95; text-transform: uppercase; }
.costs-hero p { max-width: 900px; font-size: 18px; line-height: 1.6; }
.costs-actions { display: flex; align-items: center; gap: 18px; margin-top: 24px; }
.fundraiser-cover { display: block; width: min(100%, 1050px); height: auto; margin: 28px 0 6px; border: 1px solid rgba(255,255,255,.22); border-radius: 12px; }
.gofundme-button { display: inline-block; padding: 14px 22px; border-radius: 8px; background: #02a95c; color: #fff !important; font-weight: 900; text-decoration: none; }
.gofundme-button:hover, .gofundme-button:focus-visible { background: #07884b; }
.costs-caution { padding: 12px 14px; border-left: 5px solid #f0d473; background: rgba(255,255,255,.09); font-size: 14px !important; }
.costs-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 48px; }
.costs-summary > div { padding: 22px; border-top: 6px solid #39713a; background: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.costs-summary > div:nth-child(2) { border-color: #b90f0f; }
.costs-summary > div:nth-child(3) { border-color: #17324d; }
.costs-summary > div.negative { border-color: #b90f0f; }
.costs-summary span, .costs-summary strong { display: block; }
.costs-summary span { font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.costs-summary strong { margin-top: 8px; color: #17324d; font-size: clamp(30px, 4vw, 48px); }
.ledger-head { display: grid; grid-template-columns: 1fr minmax(280px, 430px); gap: 30px; align-items: end; }
.ledger-head h2 { margin-bottom: 0; }
.ledger-table-wrap { margin-top: 22px; overflow-x: auto; border: 1px solid #cbc5b9; background: #fff; }
.ledger-table { width: 100%; min-width: 820px; border-collapse: collapse; }
.ledger-table th, .ledger-table td { padding: 13px 12px; border-bottom: 1px solid #ddd7cd; text-align: left; vertical-align: top; }
.ledger-table th { background: #17324d; color: #fff; }
.ledger-table .amount { font-weight: 900; white-space: nowrap; }
.ledger-table .amount.donation { color: #2f6f32; }
.ledger-table .amount.expense { color: #a20d0d; }
.ledger-type { display: inline-block; padding: 4px 8px; border-radius: 999px; background: #e5f2e5; color: #285f29; font-size: 12px; font-weight: 900; }
.ledger-type.expense { background: #ffe3e0; color: #850909; }
.ledger-empty, .costs-policy { margin-top: 24px; padding: 24px; border: 1px solid #cbc5b9; background: #fff; }
.costs-policy ul { margin-bottom: 0; }
.costs-policy li { margin-bottom: 10px; }
@media (max-width: 760px) {
  .costs-hero { padding-top: 48px; }
  .costs-actions { align-items: stretch; flex-direction: column; }
  .gofundme-button { text-align: center; }
  .costs-summary, .ledger-head { grid-template-columns: 1fr; }
}
@media print {
  .site-header, .costs-actions, footer { display: none !important; }
  .costs-hero { padding: 20px 0; border-bottom: 2px solid #000; background: #fff; color: #000; }
  .costs-hero h1 { color: #000; }
  .section { padding: 24px 0; }
}
