.back-home { color: var(--mauve-dark); font-weight: 700; white-space: nowrap; }
.offer-hero { padding: 62px 0 80px; background: radial-gradient(circle at 82% 22%, #eadce2 0, transparent 34%), var(--bg); }
.offer-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.offer-copy h1 { max-width: 680px; font-size: clamp(4rem, 6.3vw, 6.3rem); }
.hero-lead { max-width: 620px; margin: 26px 0 30px; font-size: 1.15rem; }
.offer-price-block { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; max-width: 555px; padding: 18px 0 20px; border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); }
.price-label, .offer-validity, .booking-card-label, .booking-expiry { display: block; color: var(--mauve); font-size: .88rem; font-weight: 700; }
.offer-price { display: block; font-family: "Inter", system-ui, sans-serif; font-size: 3.15rem; line-height: 1.1; font-weight: 700; letter-spacing: -.045em; font-variant-numeric: lining-nums tabular-nums; margin-top: 6px; }
.offer-validity { font-size: .82rem; font-weight: 600; padding-bottom: 3px; }
.offer-button { margin-top: 25px; min-height: 58px; padding: 13px 26px; }
.cta-note { font-size: .86rem; margin: 12px 0 0; }
.offer-photo-wrap { position: relative; }
.offer-photo { aspect-ratio: 4 / 4.5; display: flex; align-items: end; justify-content: center; overflow: hidden; border-radius: 240px 240px 28px 28px; background: radial-gradient(circle at 50% 30%, #fff3eb 0, #ead9da 63%, #dfc8ce 100%); border: 1px solid #e2d0d4; }
.offer-photo img { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
.photo-caption { position: absolute; right: -18px; bottom: 24px; max-width: 260px; padding: 18px 21px; background: #fffaf6; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); color: var(--mauve-dark); font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.6rem; line-height: 1.08; }
.value-section { padding: 78px 0 88px; background: var(--bg-alt); }
.value-heading { max-width: 730px; margin-bottom: 34px; }
.value-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.value-card { background: white; border: 1px solid var(--line); border-radius: 22px; padding: 28px 26px 22px; box-shadow: 0 8px 26px rgba(73, 57, 64, .04); }
.value-mark { display: block; color: var(--mauve); font-size: 1.6rem; margin-bottom: 20px; }
.value-card h3 { font-size: 2.1rem; line-height: 1.04; margin-bottom: 12px; }
.value-card p { font-size: .99rem; margin: 0; }
.booking-section { padding: 86px 0 100px; }
.booking-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(30px, 5vw, 76px); align-items: center; }
.booking-grid h2 { max-width: 680px; }
.booking-grid p { max-width: 640px; margin-top: 22px; }
.small-steps { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }
.small-steps span { padding: 10px 14px; border-radius: 999px; background: #f0e5eb; color: var(--mauve-dark); font-weight: 700; font-size: .85rem; }
.booking-card { display: flex; flex-direction: column; align-items: flex-start; padding: 32px; background: white; border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow); }
.booking-card strong { font-family: "Inter", system-ui, sans-serif; font-size: 3.4rem; font-weight: 700; line-height: 1.1; letter-spacing: -.045em; font-variant-numeric: lining-nums tabular-nums; }
.booking-expiry { font-size: .82rem; font-weight: 600; }
.booking-card .offer-button { width: 100%; }
@media (max-width: 860px) {
  .offer-grid { grid-template-columns: 1fr; gap: 35px; }
  .offer-copy h1 { max-width: 720px; }
  .offer-photo-wrap { width: min(100%, 460px); justify-self: center; }
  .booking-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .back-home { font-size: .82rem; }
  .brand-tag { display: none; }
  .offer-hero { padding: 34px 0 52px; }
  .offer-copy h1 { font-size: clamp(3.8rem, 14vw, 5rem); }
  .hero-lead { font-size: 1.04rem; margin: 19px 0 25px; }
  .offer-price-block { align-items: start; }
  .offer-price { font-size: 2.9rem; }
  .offer-validity { width: 100%; }
  .offer-button { width: 100%; text-align: center; }
  .offer-photo-wrap { width: min(88%, 370px); }
  .photo-caption { right: -14px; bottom: 15px; font-size: 1.35rem; max-width: 205px; padding: 13px 15px; }
  .value-section, .booking-section { padding: 58px 0 64px; }
  .value-grid { grid-template-columns: 1fr; }
  .value-heading { margin-bottom: 24px; }
  .value-card { padding: 22px; }
  .booking-card { padding: 25px; }
}
