.pricing-page { background: #06111d; }
.pricing-page main { position: relative; z-index: 2; }
.pricing-hero {
  min-height: 78vh;
  padding: clamp(9rem, 16vw, 13rem) max(1.25rem, calc((100vw - var(--max)) / 2)) 6rem;
  display: grid;
  align-content: center;
  background: linear-gradient(90deg, rgba(4, 14, 26, .84), rgba(14, 50, 77, .35) 60%, rgba(4, 14, 26, .25));
}
.pricing-hero h1 { max-width: 60rem; margin: .5rem 0 0; font-size: clamp(3.2rem, 8vw, 7rem); }
.pricing-hero h1 span { color: transparent; background: linear-gradient(110deg, var(--champagne-200), #fff6dc 45%, #9cb7c8 72%, var(--champagne-300)); -webkit-background-clip: text; background-clip: text; }
.pricing-hero > p:not(.eyebrow) { max-width: 46rem; margin: 1.5rem 0 0; color: #d3dde3; font-size: clamp(1rem, 2vw, 1.2rem); }
.pricing-hero__actions { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: .8rem; }

.pricing-section { padding: clamp(5.5rem, 10vw, 9rem) max(1.25rem, calc((100vw - var(--max)) / 2)); background: linear-gradient(145deg, rgba(14, 56, 87, .5), rgba(37, 93, 126, .28)); }
.pricing-section--care { background: linear-gradient(145deg, rgba(46, 108, 143, .34), rgba(8, 34, 56, .56)); }
.pricing-heading { max-width: 54rem; margin-bottom: 3.5rem; }
.pricing-heading h2 { margin: .45rem 0 0; font-size: clamp(2.5rem, 5vw, 4.8rem); }
.pricing-heading > p:last-child { max-width: 46rem; margin: 1.2rem 0 0; color: #cbd8df; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; align-items: stretch; }
.price-card {
  position: relative;
  min-height: 34rem;
  padding: clamp(1.5rem, 3vw, 2.3rem);
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(231, 211, 164, .2);
  border-radius: .7rem;
  background: linear-gradient(155deg, rgba(16, 49, 72, .72), rgba(6, 20, 33, .82));
  box-shadow: 0 1.8rem 4rem rgba(0, 0, 0, .25);
  backdrop-filter: blur(14px);
  overflow: hidden;
}
.price-card::after { content: ""; position: absolute; inset: .65rem; border: 1px solid rgba(231, 211, 164, .1); border-radius: .45rem; pointer-events: none; }
.price-card--featured { border-color: rgba(231, 211, 164, .55); transform: translateY(-.7rem); box-shadow: 0 2rem 5rem rgba(0, 0, 0, .38), 0 0 3rem rgba(228, 201, 139, .08); }
.price-card__label { margin: 0 0 1rem; color: var(--champagne-300); font-size: .68rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.price-card h3 { margin: 0; color: transparent; font-size: clamp(1.7rem, 3vw, 2.6rem); background: linear-gradient(110deg, #f2dfb3, #fff6db 48%, #a8c1d1); -webkit-background-clip: text; background-clip: text; }
.price-card > p:not(.price-card__label):not(.price-card__price) { color: #cbd8df; }
.price-card__price { margin: 1.5rem 0 1rem; display: grid; color: var(--champagne-200); }
.price-card__price small { color: #8ea2af; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.price-card__price strong { font-family: var(--display); font-size: clamp(2.6rem, 5vw, 4.4rem); font-weight: 400; line-height: 1; }
.price-card ul { margin: 1.2rem 0 2rem; padding: 0; display: grid; gap: .7rem; list-style: none; }
.price-card li { position: relative; padding-left: 1.1rem; color: #c5d3da; }
.price-card li::before { content: ""; position: absolute; left: 0; top: .55em; width: .4rem; aspect-ratio: 1; border: 1px solid var(--champagne-500); transform: rotate(45deg); }
.price-card__time { margin-top: auto; padding-top: 1rem; border-top: 1px solid rgba(231, 211, 164, .15); color: #93a8b5; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.cost-breakdown { margin-top: clamp(4rem, 8vw, 7rem); padding: clamp(1.4rem, 4vw, 3rem); border: 1px solid rgba(231, 211, 164, .22); border-radius: .7rem; background: rgba(7, 26, 43, .64); backdrop-filter: blur(14px); }
.cost-breakdown h3 { margin: .4rem 0 1.8rem; font-size: clamp(1.8rem, 3vw, 3rem); }
.breakdown-table { overflow-x: auto; }
.breakdown-row { min-width: 44rem; display: grid; grid-template-columns: minmax(16rem, 1.4fr) repeat(3, minmax(7rem, .6fr)); border-bottom: 1px solid rgba(199, 216, 226, .15); }
.breakdown-row span { padding: .85rem .7rem; color: #cbd7de; }
.breakdown-row span:not(:first-child) { text-align: right; }
.breakdown-row--head { background: rgba(49, 102, 136, .45); }
.breakdown-row--head span { color: #f1e3c0; font-weight: 800; }
.breakdown-row--total span { color: var(--champagne-200); font-weight: 900; }

.pricing-extras { background: linear-gradient(145deg, rgba(13, 48, 75, .5), rgba(31, 84, 116, .3)); }
.extras-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
.extras-grid > div { min-height: 9rem; padding: 1.4rem; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid rgba(231, 211, 164, .18); background: rgba(6, 24, 39, .58); backdrop-filter: blur(12px); }
.extras-grid strong { color: var(--champagne-200); font-family: var(--display); font-size: 1.7rem; font-weight: 400; }
.extras-grid span { color: #b9c8d0; }
.pricing-note { max-width: 58rem; margin: 2rem 0 0; color: #91a5b1; font-size: .85rem; }
.pricing-page .contact { background: linear-gradient(rgba(36, 94, 130, .4), rgba(7, 28, 47, .58)); }

@media (max-width: 900px) {
  .pricing-grid, .extras-grid { grid-template-columns: 1fr; }
  .price-card--featured { transform: none; }
}
@media (max-width: 620px) {
  .pricing-hero { min-height: auto; padding: 8rem 1rem 5rem; }
  .pricing-section { padding-inline: 1rem; }
  .pricing-hero__actions .button { width: 100%; }
  .price-card { min-height: 0; }
}
