/* ══════════════════════════════════════════════════════════════════════════
   /tips/closing-costs.css — extras for /tips/closing-costs-homebuyers-forget.

   Loaded after /tips/tips.css and only on that page, so no other tip page
   changes. Same tokens (--tp-*), same black canvas and lime accent. Mobile
   first: one $1M example, five cost cards, the cash-to-close reveal and the
   calculator button. Lime is kept for the final total and the button.
   ══════════════════════════════════════════════════════════════════════════ */

.cc-col { max-width: 640px; margin: 0 auto; }

/* ── Hero ── */
.cc-hero { padding: 64px 0 56px; }
.cc-hero .tp-wrap { max-width: 760px; }
.cc-sub { margin: 22px 0 0; font-size: clamp(21px, 5.6vw, 30px); line-height: 1.25; letter-spacing: -.025em; font-weight: 700; color: #fff; max-width: 22em; text-wrap: balance; }
.cc-lede { margin: 16px 0 0; max-width: 30em; color: var(--tp-body); font-size: 17px; line-height: 1.55; }

/* ── Sections ── */
.cc-sec { padding: 64px 0; border-bottom: 1px solid var(--tp-line); }
.cc-eyebrow { margin: 0 0 18px; font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--tp-muted); }
.cc-h2 { margin: 0 0 32px; font-size: clamp(32px, 8.6vw, 52px); line-height: 1.05; letter-spacing: -.045em; font-weight: 800; color: #fff; text-wrap: balance; }

/* ── The example purchase ── */
.cc-buy { margin: 0; display: grid; gap: 28px; }
.cc-buy__row dt { font-size: 12.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--tp-muted); margin: 0 0 4px; }
.cc-buy__row dd { margin: 0; font-size: clamp(44px, 13vw, 72px); line-height: 1; letter-spacing: -.05em; font-weight: 800; color: #fff; font-variant-numeric: tabular-nums; }
.cc-assume { list-style: none; margin: 36px 0 0; padding: 18px 0 0; border-top: 1px solid var(--tp-line); display: grid; gap: 6px; font-size: 14px; line-height: 1.45; color: var(--tp-muted); }
.cc-assume li { padding-left: 16px; position: relative; }
.cc-assume li::before { content: ""; position: absolute; left: 0; top: .62em; width: 6px; height: 1px; background: currentColor; }

/* ── The five cost cards ── */
.cc-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.cc-card { background: var(--tp-card); border: 1px solid var(--tp-line); border-radius: var(--tp-radius); padding: 26px 22px; }
@media (min-width: 640px) { .cc-card { padding: 32px 32px; } }
.cc-card__amt { margin: 0 0 14px; font-size: clamp(42px, 12vw, 60px); line-height: 1; letter-spacing: -.05em; font-weight: 800; color: #fff; font-variant-numeric: tabular-nums; }
.cc-card__amt small { display: block; margin: 0 0 6px; font-size: 12.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--tp-muted); }
.cc-card h3 { margin: 0 0 6px; font-size: 20px; line-height: 1.25; letter-spacing: -.02em; font-weight: 750; color: #fff; }
.cc-card p { margin: 0; color: var(--tp-body); font-size: 16px; line-height: 1.5; }
.cc-card p.cc-card__amt { color: #fff; font-size: clamp(42px, 12vw, 60px); line-height: 1; }
.cc-card p.cc-card__note { margin-top: 12px; font-size: 14px; color: var(--tp-muted); }

/* ── The big reveal ── */
.cc-reveal { padding: 72px 0; border-bottom: 1px solid var(--tp-line); background: radial-gradient(ellipse 90% 60% at 50% 100%, rgba(206,254,2,.10), rgba(0,0,0,0) 70%); }
.cc-sum { background: #fff; color: #000; border-radius: var(--tp-radius); padding: 28px 22px 30px; }
@media (min-width: 640px) { .cc-sum { padding: 40px 40px 42px; } }
.cc-sum__row { display: grid; gap: 2px; margin: 0 0 20px; }
.cc-sum__row span { font-size: 15px; font-weight: 600; color: #48484d; }
.cc-sum__row strong { font-size: clamp(32px, 9vw, 44px); line-height: 1.05; letter-spacing: -.04em; font-weight: 800; font-variant-numeric: tabular-nums; }
.cc-sum__rule { border: 0; height: 1px; background: rgba(0,0,0,.14); margin: 8px 0 24px; }
.cc-sum__label { margin: 0 0 8px; font-size: 13px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
/* The one neon-green number on the page: on black, so the lime is legible */
.cc-sum__total { display: inline-block; margin: 0; padding: 10px 16px 12px; border-radius: var(--tp-radius-sm); background: #000; color: var(--tp-lime); font-size: clamp(48px, 15vw, 84px); line-height: 1; letter-spacing: -.05em; font-weight: 800; font-variant-numeric: tabular-nums; }
.cc-sum__beyond { margin: 18px 0 0; font-size: 18px; line-height: 1.4; font-weight: 650; letter-spacing: -.01em; }
.cc-fine { margin: 18px 0 0; font-size: 13px; line-height: 1.55; color: var(--tp-muted); }

/* ── Calculator CTA ── */
.cc-calc { padding: 72px 0; border-bottom: 1px solid var(--tp-line); }
.cc-calc .cc-h2 { margin-bottom: 16px; }
.cc-calc__text { margin: 0 0 28px; color: var(--tp-body); font-size: 18px; line-height: 1.5; }
.cc-calc .tp-btn { width: 100%; padding: 0 20px; font-size: 16px; letter-spacing: .01em; white-space: nowrap; }
@media (min-width: 640px) { .cc-calc .tp-btn { width: auto; } }
