/* ============ PRICING HERO ============ */
.pricing-hero {
  background: linear-gradient(160deg, var(--forest) 0%, var(--forest-dark) 55%, var(--forest-deeper) 100%);
  position: relative;
  padding: 76px 0 68px;
  text-align: center;
}
.pricing-hero::before {
  content: ""; position: absolute; inset: 0;
  background-image: radial-gradient(rgba(228,200,138,0.12) 1px, transparent 1px);
  background-size: 24px 24px; opacity: 0.6; pointer-events: none;
}
.pricing-hero .container { position: relative; }
.pricing-hero h1 {
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(2.4rem, 3vw + 1.4rem, 3.6rem);
  line-height: 1.05; letter-spacing: -0.01em; color: var(--cream);
  margin-bottom: 18px;
}
.pricing-hero .pricing-lead {
  font-size: 1.1rem; line-height: 1.6; color: rgba(250,246,236,0.85);
  max-width: 56ch; margin: 0 auto 22px;
}
.pricing-badge {
  display: inline-block; font-family: var(--font-mono); font-size: 0.78rem;
  letter-spacing: 0.05em; color: var(--brass-light);
  border: 1px solid rgba(201,162,75,0.5); padding: 9px 20px;
}

/* ============ PRICE CATEGORY ============ */
.price-category { padding: 88px 0; }
.price-category.alt { background: var(--cream-dim); }
.cat-heading { display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 10px; }
.cat-icon { font-size: 1.8rem; line-height: 1; }
.price-category h2 { font-family: var(--font-display); font-weight: 600; font-size: clamp(1.7rem, 1.2vw + 1.4rem, 2.3rem); color: var(--forest); }
.cat-intro { text-align: center; color: var(--ink-soft); font-size: 1rem; margin-bottom: 48px; }

.visit-type-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.visit-type-grid.single { grid-template-columns: 1fr; max-width: 640px; margin: 0 auto; }
.visit-type { background: var(--paper); border: 1px solid var(--line); padding: 34px 34px 8px; position: relative; }
.visit-type-head { margin-bottom: 14px; }
.visit-type-head h3 { font-family: var(--font-display); font-weight: 600; font-size: 1.25rem; color: var(--forest); margin-bottom: 6px; }
.visit-freq {
  font-family: var(--font-mono); font-size: 0.72rem; text-transform: uppercase;
  letter-spacing: 0.06em; color: var(--brass-dark); font-weight: 600;
}
.visit-type > p { color: var(--ink-soft); font-size: 0.92rem; line-height: 1.55; margin-bottom: 6px; }

.price-table { width: 100%; border-collapse: collapse; margin-top: 16px; }
.price-table th {
  text-align: left; font-family: var(--font-mono); font-size: 0.68rem; text-transform: uppercase;
  letter-spacing: 0.06em; color: var(--brass-dark); padding-bottom: 10px; border-bottom: 1px solid var(--line); font-weight: 600;
}
.price-table th:last-child, .price-table td:last-child { text-align: right; }
.price-table td { padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 0.94rem; color: var(--ink); }
.price-table td:last-child { font-family: var(--font-mono); font-weight: 600; color: var(--forest); white-space: nowrap; padding-left: 12px; }
.price-table tr:last-child td { border-bottom: none; }

.cat-note {
  margin-top: 32px; text-align: center; font-size: 0.88rem; color: var(--ink-soft);
  font-style: italic; max-width: 70ch; margin-left: auto; margin-right: auto;
}

/* ============ BUNDLE BAND ============ */
.bundle-band {
  background: var(--forest); position: relative; padding: 88px 0; text-align: center;
}
.bundle-band::before {
  content: ""; position: absolute; inset: 0;
  background-image: radial-gradient(rgba(228,200,138,0.08) 1px, transparent 1px);
  background-size: 24px 24px; pointer-events: none;
}
.bundle-band .container { position: relative; }
.bundle-savings {
  display: flex; justify-content: center; gap: 56px; margin: 48px 0 32px; flex-wrap: wrap;
}
.bundle-tier { max-width: 260px; }
.bundle-pct {
  display: block; font-family: var(--font-display); font-weight: 700;
  font-size: 3.2rem; color: var(--brass-light); line-height: 1;
  margin-bottom: 14px;
}
.bundle-tier p { color: rgba(250,246,236,0.85); font-size: 0.96rem; line-height: 1.5; }
.bundle-example { display: block; font-size: 0.82rem; color: rgba(250,246,236,0.6); margin-top: 4px; }
.bundle-tagline {
  font-family: var(--font-mono); font-size: 0.85rem; letter-spacing: 0.04em;
  color: var(--brass-light); text-transform: uppercase;
}

/* ============ STANDARD CHECKLIST ============ */
.standard-section { background: var(--cream); padding: 88px 0; }
.standard-list {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px 40px;
  max-width: 880px; margin: 48px auto 0;
}
.standard-list li {
  position: relative; padding-left: 34px; font-size: 1rem; color: var(--ink); line-height: 1.5;
}
.standard-list li::before {
  content: "\2713"; position: absolute; left: 0; top: -1px;
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--forest); color: var(--brass-light);
  font-size: 0.75rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}

/* ============ CLOSING CTA ============ */
.pricing-closing { background: var(--cream-dim); padding: 88px 0; text-align: center; }
.pricing-disclaimer { color: var(--ink-soft); font-size: 0.96rem; line-height: 1.6; max-width: 60ch; margin: 0 auto 32px; }
.closing-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* ============ RESPONSIVE ============ */
@media (max-width: 760px) {
  .visit-type-grid { grid-template-columns: 1fr; }
  .price-category { padding: 60px 0; }
  .bundle-band, .standard-section, .pricing-closing { padding: 60px 0; }
  .bundle-savings { gap: 36px; }
  .standard-list { grid-template-columns: 1fr; }
  .visit-type { padding: 28px 24px 8px; }
  .cat-heading { flex-direction: column; gap: 6px; }
}
