@media (max-width: 720px) {
  html,
  body {
    overflow-x: hidden !important;
  }

  .wrap {
    width: min(var(--max, 1160px), calc(100% - 28px)) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .nav {
    padding: 10px 0 6px !important;
  }

  .brand-wrap {
    gap: 10px !important;
  }

  .logo,
  .brand img {
    height: 76px !important;
    width: auto !important;
  }

  .social-icon {
    width: 38px !important;
    height: 38px !important;
  }

  nav {
    width: min(320px, 84vw) !important;
    padding: 84px 18px 20px !important;
    gap: 8px !important;
  }

  nav a {
    font-size: 12px !important;
    letter-spacing: 1.2px !important;
    padding: 12px 14px !important;
  }

  section {
    padding: 60px 0 !important;
  }

  .hero,
  .legal-hero,
  .cancel-hero {
    min-height: auto !important;
  }

  .hero {
    padding: 72px 0 44px !important;
  }

  .pass-hero-shell {
    min-height: 560px !important;
    background-position: 60% center !important;
  }

  .pass-hero-copy {
    padding: 30px 24px 28px !important;
  }

  .section-head {
    margin-bottom: 26px !important;
  }

  .legal-hero,
  .cancel-hero {
    padding: 72px 0 38px !important;
  }

  .hero-copy h1,
  .legal-hero h1,
  .title,
  .price-hero-title {
    max-width: none !important;
  }

  .hero-copy p,
  .legal-hero p,
  .lead {
    font-size: 15px !important;
  }

  .pass-hero-copy h1 {
    font-size: clamp(24px, 8.6vw, 40px) !important;
    line-height: 1.03 !important;
    letter-spacing: -0.03em !important;
    max-width: none !important;
  }

  .pass-hero-copy p,
  .pass-hero-points {
    max-width: none !important;
  }

  .pass-hero-shell,
  .pass-hero-copy,
  .pass-final,
  .pass-final-grid,
  .pass-final-main,
  .pass-final-aside {
    min-width: 0 !important;
  }

  .pass-hero-copy h1,
  .pass-final h2,
  .pass-hero-copy p,
  .pass-hero-points li,
  .pass-final-list li,
  .pass-small,
  .pass-checkout-toggle-copy strong,
  .pass-checkout-toggle-copy span {
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  .pass-hero-copy h1 .hero-line-nowrap,
  .pass-final h2 .title-line {
    white-space: normal !important;
  }

  .hero-grid,
  .split,
  .grid-3,
  .grid-2,
  .cards,
  .cards.pricing,
  .pkg-grid,
  .contact-wrap,
  .coverage-wrap,
  .coverage-note,
  .stat-grid,
  .timeline,
  .gallery-grid,
  .pass-grid-4,
  .pass-compare,
  .pass-note-grid,
  .pass-pricing,
  .pass-form-wrap,
  .pass-field-grid,
  .pass-price-meta,
  .pass-simple-grid,
  .pass-booking,
  .pass-steps,
  .pass-compact-grid,
  .pass-final-grid,
  .booking-layout,
  .contact-info,
  .booking-stage-split,
  .booking-summary,
  .cancel-shell,
  .cancel-grid {
    grid-template-columns: 1fr !important;
  }

  .hero-card,
  .card,
  .faq,
  .cta-box,
  .panel,
  .pass-final,
  .pass-pricing-panel,
  .pass-booking-aside,
  .pass-solution-card,
  .legal-card,
  .cancel-card,
  .booking-panel,
  .contact-question-form,
  .contact-info-panel,
  .booking-stage-card {
    padding: 20px !important;
  }

  .cta-row,
  .hero-actions,
  .cta-actions,
  .booking-actions,
  .pass-final-actions {
    width: 100% !important;
  }

  .cta-row {
    flex-wrap: wrap !important;
  }

  .cta-row .btn {
    width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
    justify-content: center !important;
  }

  .btn,
  .booking-btn {
    width: 100% !important;
  }

  .booking-current,
  .booking-slot-grid,
  .booking-addon-list {
    grid-template-columns: 1fr !important;
  }

  .booking-panel {
    min-height: 0 !important;
    height: auto !important;
  }

  .booking-stage {
    min-height: 0 !important;
    overflow: visible !important;
  }

  .booking-stage-card {
    max-height: none !important;
  }

  .booking-calendar-weekdays,
  .booking-calendar-grid {
    gap: 8px !important;
  }

  .booking-calendar-day,
  .booking-slot-btn,
  .booking-addon {
    border-radius: 16px !important;
  }

  .pass-final {
    padding: 18px !important;
  }

  .pass-highlights {
    gap: 8px !important;
  }

  .pass-highlights .pill {
    width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.35 !important;
    padding: 10px 12px !important;
    font-size: 11px !important;
  }

  .pass-final-grid {
    gap: 16px !important;
  }

  .pass-final-actions {
    margin-top: 18px !important;
  }

  .pass-final h2 {
    font-size: clamp(24px, 7.1vw, 32px) !important;
    line-height: 1.04 !important;
    max-width: none !important;
  }

  .pass-final p,
  .pass-checkout-intake-head p {
    font-size: 14px !important;
  }

  .pass-final-list {
    gap: 8px !important;
  }

  .pass-final-list li {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  .pass-final-list li.is-highlight,
  .pass-hero-points li.is-highlight {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .pass-final-price strong {
    font-size: clamp(34px, 11vw, 52px) !important;
  }

  .pass-final-price span {
    font-size: 15px !important;
  }

  .pass-final-fact {
    padding: 16px !important;
  }

  .pass-checkout-intake {
    gap: 12px !important;
    margin-bottom: 14px !important;
  }

  .pass-checkout-intake .pass-form input {
    min-height: 50px !important;
  }

  .pass-final-actions {
    gap: 10px !important;
  }

  .pass-checkout-note,
  .pass-small {
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  .booking-section {
    padding: 28px 0 64px !important;
  }

  .booking-shell {
    padding: 18px !important;
    border-radius: 22px !important;
  }

  .booking-shell .section-head {
    margin-bottom: 14px !important;
  }

  .booking-shell .section-head p {
    font-size: 14px !important;
  }

  .booking-panel {
    gap: 16px !important;
    padding: 18px !important;
    border-radius: 20px !important;
  }

  .booking-panel-head {
    gap: 4px !important;
  }

  .booking-panel-head h2 {
    font-size: 22px !important;
    line-height: 1.08 !important;
  }

  .booking-panel-head p {
    font-size: 13px !important;
  }

  .booking-steps {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding-bottom: 2px !important;
    grid-template-columns: none !important;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .booking-steps::-webkit-scrollbar {
    display: none;
  }

  .booking-step {
    min-width: 148px !important;
    flex: 0 0 148px !important;
    padding: 12px 12px 12px 38px !important;
    border-radius: 16px !important;
    scroll-snap-align: start;
  }

  .booking-step::before {
    left: 12px !important;
    width: 18px !important;
    height: 18px !important;
  }

  .booking-step strong {
    font-size: 9px !important;
    letter-spacing: 1px !important;
  }

  .booking-step span {
    font-size: 11px !important;
    line-height: 1.25 !important;
  }

  .booking-stage-card {
    gap: 10px !important;
    border-radius: 18px !important;
  }

  .booking-stage-card > h3,
  .booking-block h3 {
    font-size: 19px !important;
    line-height: 1.12 !important;
  }

  .booking-picker-head {
    align-items: flex-start !important;
  }

  .booking-picker-count {
    min-width: 78px !important;
    font-size: 11px !important;
  }

  .booking-calendar-day {
    min-height: 46px !important;
    padding: 6px 2px !important;
  }

  .booking-calendar-day-number {
    font-size: 14px !important;
  }

  .booking-calendar-day-meta {
    font-size: 8px !important;
    letter-spacing: 0.6px !important;
  }

  .booking-slot-btn {
    min-height: 52px !important;
    padding: 11px 12px !important;
    gap: 10px !important;
    font-size: 14px !important;
  }

  .booking-slot-btn::after {
    font-size: 10px !important;
  }

  .booking-inline {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .booking-block textarea {
    min-height: 104px !important;
  }

  .booking-addon {
    padding: 11px !important;
  }

  .booking-addon-copy {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
  }

  .booking-addon-copy strong {
    font-size: 12px !important;
  }

  .booking-addon-copy span {
    font-size: 10px !important;
  }

  .booking-total {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    padding: 12px 14px !important;
  }

  .booking-summary-row {
    padding: 12px 14px !important;
  }

  .booking-consent {
    gap: 10px !important;
    font-size: 13px !important;
  }

  .booking-actions {
    gap: 10px !important;
  }

  .booking-btn {
    min-height: 50px !important;
    font-size: 15px !important;
  }

  .booking-submit-note {
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  .footer,
  footer {
    padding: 32px 0 34px !important;
  }

  .footer-inner,
  .footer-box {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    text-align: center !important;
  }

  .footer-left {
    order: 1 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }

  .footer-right,
  .footer-links {
    order: -1 !important;
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 16px !important;
    transform: none !important;
    margin: 0 0 12px 0 !important;
    text-align: center !important;
  }

  .footer-logo {
    height: 56px !important;
  }
}

@media (max-width: 520px) {
  .logo,
  .brand img {
    height: 74px !important;
  }

  .hero {
    padding: 72px 0 44px !important;
  }

  .pass-hero-shell {
    min-height: 520px !important;
    background-position: 58% center !important;
  }

  .pass-hero-copy {
    padding: 28px 20px 24px !important;
  }

  .hero-copy h1,
  .legal-hero h1,
  .title,
  .price-hero-title {
    font-size: clamp(31px, 10vw, 42px) !important;
    line-height: 1.04 !important;
  }

  .pass-hero-copy h1 {
    font-size: clamp(22px, 8vw, 30px) !important;
    line-height: 1.05 !important;
  }

  .pass-final h2 {
    font-size: clamp(21px, 7.2vw, 28px) !important;
  }

  .pass-hero-copy p,
  .pass-final p,
  .pass-checkout-intake-head p {
    font-size: 13px !important;
  }

  .pass-hero-points li,
  .pass-final-list li {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .pass-final-list li.is-highlight,
  .pass-hero-points li.is-highlight {
    font-size: 12px !important;
  }

  .hero-copy p,
  .legal-hero p,
  .lead,
  .card p,
  .faq-item p,
  .pass-small {
    font-size: 14px !important;
  }

  .pill,
  .pill-row .pill,
  .pass-highlights .pill {
    width: 100% !important;
    justify-content: center !important;
  }

  .pass-hero-copy h1 .hero-line-nowrap {
    white-space: normal !important;
  }

  .pass-final-facts {
    grid-template-columns: 1fr !important;
  }

  .booking-shell .section-head p,
  .booking-panel-head p {
    display: none !important;
  }

  .booking-step {
    min-width: 136px !important;
    flex-basis: 136px !important;
  }

  .booking-calendar-weekdays,
  .booking-calendar-grid {
    gap: 6px !important;
  }

  .ref-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
