/* Layouts reflow instead of scaling the desktop composition down. */
@media (min-width: 1600px) {
  .hero h1, .belief h2 { font-size: 112px; }
}
@media (max-width: 1279px) {
  .header-inner { gap: 20px; }
  .header-actions { gap: 18px; }
  .wordmark { flex-basis: 144px; width: 144px; }
  .header-actions > .button { padding-inline: 24px; }
  .header-status { display: none; }
  .primary-nav { gap: 26px; }
  .small-companion { padding: 16px; gap: 30px; }
  .service-body, .store-panel { padding: 30px; }
  .hero h1 { margin-bottom: 36px; }
  .button { padding-inline: 24px; }
}
@media (max-width: 1023px) {
  :root { --section-space: 90px; }
  .header-inner { min-height: 90px; flex-wrap: wrap; }
  .menu-toggle { display: inline-flex; }
  .header-actions { margin-left: auto; }
  .primary-nav { display: none; order: 4; flex-basis: 100%; padding: 8px 0 24px; justify-content: space-between; }
  .primary-nav.is-open { display: flex; }
  .hero { padding-block: 90px 120px; }
  .hero h1 { font-size: clamp(3rem, 7vw, 5rem); }
  .hero .actions { gap: 12px; margin-top: 28px; }
  .hero .button { padding: 14px 19px; min-height: 48px; }
  .heritage-note { margin-top: 30px; padding-top: 20px; gap: 12px; }
  .image-caption { padding: 18px; inset: auto 18px 18px; }
  .companion-grid { grid-template-columns: 1fr 1fr; }
  .canine { aspect-ratio: auto; min-height: 550px; }
  .companion-side { gap: 20px; }
  .small-companions { gap: 10px; }
  .small-companion { padding: 12px; gap: 20px; }
  .small-companion .icon { padding: 8px; }
  .small-companion h3 { font-size: 1em; }
  .feline { aspect-ratio: auto; min-height: 270px; }
  .collection-copy { padding: 22px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 28px; }
  .product-card h3 { font-size: 1.5rem; }
  .product-media { aspect-ratio: .8; }
  .split, .chapter-reverse { gap: 6%; grid-template-columns: 1fr 1fr; }
  .chapter .media { aspect-ratio: .9; }
  .chapter-copy h2 { margin-bottom: 24px; }
  .play-details { gap: 12px; }
  .play-details article { padding: 14px; }
  .service-body { padding: 25px; }
  .service-meta { flex-wrap: wrap; }
  .belief .split { gap: 6%; grid-template-columns: 1.2fr 1fr; }
  .belief h2 { font-size: 4rem; margin-bottom: 32px; }
  .belief .media { aspect-ratio: .7; }
  .stats { gap: 12px; }
  .stats strong { font-size: 1.8rem; }
  .visit-grid { grid-template-columns: 1.2fr 1fr; }
  .storefront { aspect-ratio: 1; }
  .store-panel { padding: 24px; }
  .footer-columns { gap: 30px; grid-template-columns: 1fr 1fr; }
  .footer-statement { margin-bottom: 50px; }
}
@media (max-width: 767px) {
  :root { --gutter: 6%; --section-space: 70px; --text-title: clamp(2rem, 7.6vw, 3rem); }
  .header-inner { min-height: 82px; gap: 14px; }
  .wordmark { flex-basis: 140px; width: 140px; }
  .header-actions { gap: 10px; }
  .header-actions > .button, .header-actions .account { display: none; }
  .primary-nav { gap: 12px; flex-wrap: wrap; font-size: .9em; }
  .hero { padding-block: 58px 78px; }
  .hero-grid, .split, .chapter-reverse, .belief .split, .visit-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .hero h1 { font-size: clamp(2.9rem, 12.8vw, 5.5rem); margin: 18px 0 30px; }
  .hero-copy > p:not(.eyebrow), .heritage-note { max-width: 100%; }
  .hero-media { aspect-ratio: .86; }
  .section-heading { display: block; margin-bottom: 35px; }
  .section-heading .note { max-width: 100%; text-align: left; margin-top: 22px; }
  .companion-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .canine { min-height: 0; aspect-ratio: 1.04; }
  .companion-side { grid-template-rows: auto auto; gap: 24px; }
  .feline { min-height: 260px; aspect-ratio: 1.54; }
  .small-companions { gap: 12px; }
  .small-companion { min-height: 205px; padding: 16px 12px; gap: 32px; }
  .small-companion p:last-child { font-size: .75em; }
  .collection-copy h3 { font-size: 1.8rem; margin-bottom: 12px; }
  .collection-copy .text-link { margin-top: 18px; }
  .product-grid { gap: 35px 18px; }
  .product-card h3 { font-size: 1.2rem; }
  .product-media { padding: 10%; margin-bottom: 18px; }
  .product-media .badge { inset: 10px auto auto 8px; padding: 4px 8px; font-size: .5em; }
  .stock-tag { bottom: 10px; right: 8px; font-size: .55em; padding: 3px 8px; }
  .product-card .note { font-size: .8rem; }
  .product-meta { flex-wrap: wrap; gap: 8px; margin-top: 15px; padding-top: 12px; }
  .chapter + .chapter { margin-top: 80px; }
  .chapter .media { aspect-ratio: 1.28; }
  .chapter-reverse .media { grid-row: 1; }
  .chapter-copy .text-link { margin-top: 25px; }
  .badge { top: 16px; left: 16px; padding: 7px 12px; }
  .chapter-reverse .badge { right: 16px; }
  .service-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .services-heading { margin-bottom: 35px; }
  .services-heading h2 { margin-bottom: 20px; }
  .belief h2 { font-size: clamp(3.5rem, 13vw, 5rem); }
  .belief .media { aspect-ratio: .87; }
  .belief .image-quote { bottom: 20px; }
  .stats { margin-top: 30px; }
  .stats strong { font-size: 1.7rem; }
  .visit { padding-bottom: 90px; }
  .visit .section-heading .status { margin-top: 24px; }
  .storefront { aspect-ratio: 1.62; }
  .store-panel { padding: 28px; }
  .store-panel h3 { font-size: 1.5rem; }
  .map-placeholder { margin-top: 20px; margin-bottom: 24px; }
  .site-footer { padding-top: 55px; }
  .footer-statement { font-size: clamp(2.1rem, 7vw, 3rem); max-width: 100%; margin-bottom: 38px; }
  .footer-columns { padding-block: 38px; gap: 35px 22px; }
  .footer-columns h3 { margin-bottom: 15px; }
  .footer-bottom { display: block; }
  .footer-bottom nav { margin-top: 20px; gap: 18px; flex-wrap: wrap; }
  .footer-bottom nav a + a::before { margin-right: 18px; }
}
@media (max-width: 359px) {
  .product-grid, .footer-columns { grid-template-columns: minmax(0, 1fr); }
  .product-media { aspect-ratio: .8; }
  .small-companions { grid-template-columns: minmax(0, 1fr); }
  .small-companion { flex-direction: row; min-height: 125px; align-items: center; justify-content: flex-start; gap: 20px; }
  .small-companion div { flex: 1; }
  .hero .actions .button { width: 100%; }
  .stats { gap: 8px; }
  .stats strong { font-size: 1.5rem; }
  .store-panel { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}

/* ---------- About Us responsive transformations ---------- */
@media (max-width: 1279px) {
  .principle-card { padding: 28px; }
  .about-family-caption { inset: auto 24px 24px; }
  .about-family-caption > span { font-size: .6em; padding: 12px 16px; }
  .department-card { padding: 22px; }
  .about-schedule { padding: 20px; }
  .about-schedule dl > div { flex-wrap: wrap; }
  .about-schedule dd { text-align: left; }
  .schedule-heading { flex-wrap: wrap; gap: 6px; }
}
@media (max-width: 1023px) {
  .about-intro-heading { gap: 6%; grid-template-columns: 1.5fr 1fr; }
  .about-intro-heading > p { font-size: 1em; }
  .about-intro h1 { font-size: 3.1rem; }
  .about-family-caption { align-items: start; flex-direction: column; gap: 12px; }
  .about-family-caption blockquote { font-size: .85em; }
  .about-masthead .eyebrow { font-size: .6em; }
  .about-origins-grid { gap: 5%; }
  .founder-quote { font-size: 1.7rem; }
  .founder-credit { gap: 12px; margin-block: 24px 30px; }
  .founder-credit::before { width: 25px; }
  .founders-photo { aspect-ratio: 1; }
  .founders-photo .image-caption { font-size: .75em; padding: 14px; inset: auto 14px 14px; }
  .origins-lead { font-size: 1.05em; }
  .about-stats { gap: 10px; }
  .about-stats strong { font-size: 1.6rem; }
  .about-stats span { font-size: .6em; }
  .principles-grid { gap: 18px; }
  .principle-card { padding: 22px; }
  .principle-top { margin-bottom: 28px; }
  .principle-card h3 { font-size: 1.7rem; }
  .principle-description { font-size: .9em; }
  .department-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .about-space-intro { grid-template-columns: 1.5fr 1fr; gap: 5%; }
  .space-stat { padding: 20px; gap: 12px; }
  .space-card .badge { top: 12px; left: 12px; padding: 7px 10px; }
  .community-grid { grid-template-columns: 1.4fr 1fr; gap: 24px; }
  .community-total { grid-column: 2; }
  .community-total strong br { display: none; }
  .community-heading { gap: 18px; }
  .community-heart { padding: 14px; }
  .community-grid > p { text-align: left; }
  .invitation-panel { grid-template-columns: 1.45fr 1fr; gap: 5%; }
  .invitation-copy h2 { font-size: 3rem; }
  .invitation-copy > p:last-of-type { font-size: 1em; }
}
@media (max-width: 767px) {
  .about-masthead { flex-direction: column; gap: 8px; margin-bottom: 24px; }
  .about-intro { padding-block: 30px 45px; }
  .about-intro-heading { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-bottom: 30px; }
  .about-intro h1 { font-size: clamp(2.35rem, 9vw, 4rem); }
  .about-intro-heading > p { max-width: 460px; }
  .about-family-hero { aspect-ratio: 1.1; }
  .about-family-caption { inset: auto 18px 18px; }
  .about-family-caption > span { flex-shrink: 1; font-size: .55em; line-height: 1.5; }
  .about-family-caption blockquote { font-size: .8em; }
  .about-origins-grid { grid-template-columns: minmax(0, 1fr); gap: 38px; }
  .founders-photo { aspect-ratio: 1.5; }
  .founder-quote { font-size: 1.85rem; }
  .about-stats { gap: 12px; padding-top: 26px; margin-top: 30px; }
  .about-stats strong { font-size: clamp(1.35rem, 5vw, 2rem); }
  .about-stats span { font-size: .58em; }
  .about-section-intro { margin-bottom: 30px; }
  .about-section-intro > p:last-child { font-size: 1em; }
  .principles-grid, .spaces-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .principle-card { padding: 30px; }
  .principle-card h3 { font-size: 2rem; }
  .principle-description { font-size: 1em; }
  .principle-top { margin-bottom: 30px; }
  .department-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .department-card { padding: 18px; min-height: 190px; }
  .department-top { margin-bottom: 30px; }
  .department-card h3 { font-size: 1.15rem; }
  .department-card > p { font-size: .8em; }
  .about-directory-heading > p { max-width: 100%; text-align: left; margin-top: 20px; }
  .about-space-intro { grid-template-columns: minmax(0, 1fr); gap: 28px; margin-bottom: 30px; }
  .about-space-intro > div > p:last-child:not(.eyebrow) { font-size: 1em; }
  .space-card h3 { font-size: 1.6em; }
  .space-card .media { aspect-ratio: 1.15; }
  .community-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .community-total { grid-column: auto; }
  .community-total strong br { display: initial; }
  .community-total .note { margin-top: 0; }
  .community-heading h2 { font-size: 1.65rem; }
  .community-heart { padding: 12px; }
  .community-heart .icon { width: 24px; height: 24px; }
  .invitation-panel { grid-template-columns: minmax(0, 1fr); padding: 30px 24px; gap: 36px; }
  .invitation-copy h2 { font-size: clamp(2.15rem, 8vw, 3.2rem); line-height: 1.16; margin-bottom: 26px; }
  .invitation-copy .eyebrow { font-size: .62em; }
  .invitation-copy .actions { gap: 12px; }
  .invitation-copy .button { width: 100%; padding-inline: 16px; }
  .about-schedule dl > div { flex-wrap: nowrap; }
  .about-schedule dd { text-align: right; }
  .schedule-heading { flex-wrap: nowrap; }
  .about-invitation { padding-bottom: 80px; }
}
@media (max-width: 359px) {
  .department-grid { grid-template-columns: minmax(0, 1fr); }
  .department-card { min-height: 175px; }
  .about-schedule { padding: 18px; }
  .about-schedule dl > div { flex-wrap: wrap; }
  .about-schedule dd { text-align: left; }
  .schedule-heading { flex-wrap: wrap; }
}

/* ---------- Products responsive transformations ---------- */
@media (max-width: 1279px) {
  .catalogue-statistics p:nth-child(-n+2)::after { margin-inline: 20px; }
  .companion-filter { padding-inline: 14px; gap: 8px; font-size: 1em; }
  .filter-count { padding-inline: 7px; }
  .inventory-status { font-size: .58em; padding-right: 12px; }
  .category-filter-row { gap: 24px; }
  .category-filters { gap: 18px; }
  .category-filter { font-size: .8em; }
  .catalogue-enquiry { padding: 32px; gap: 20px; }
  .catalogue-meta { flex-wrap: wrap; gap: 8px; }
}
@media (max-width: 1023px) {
  .catalogue-intro h1 { font-size: clamp(2.6rem, 6vw, 4rem); }
  .catalogue-lead { max-width: 80%; }
  .catalogue-stat-row { grid-template-columns: 1fr; gap: 28px; margin-top: 50px; }
  .catalogue-statistics p:last-child { flex-basis: auto; }
  .catalogue-statistics p:nth-child(2)::after { display: none; }
  .catalogue-statistics { gap: 24px; }
  .catalogue-statistics p:nth-child(1)::after { margin-inline: 10px; }
  .collection-only { justify-content: flex-start; }
  .companion-filter-row { flex-wrap: wrap; }
  .companion-filters { flex-basis: 100%; overflow-x: auto; padding-bottom: 10px; }
  .companion-filter { min-width: 130px; flex-shrink: 0; }
  .companion-filter:first-child { min-width: 180px; }
  .inventory-status { margin-top: 5px; }
  .inventory-status br { display: none; }
  .category-filter-row { display: block; margin-top: 24px; }
  .category-filters { overflow-x: auto; justify-content: flex-start; gap: 28px; padding-block: 8px; }
  .catalogue-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 24px; }
  .catalogue-heading { gap: 30px; }
  .catalogue-heading .note { max-width: 35%; }
  .catalogue-enquiry { flex-wrap: wrap; }
  .catalogue-enquiry .button { margin-left: 70px; }
  .consultation-panel { grid-template-columns: 1.2fr 1fr; gap: 5%; }
  .consultation-copy h2 { font-size: 2.6rem; margin-block: 24px; }
  .consultation-copy .actions { margin-top: 30px; gap: 14px; }
  .consultation-details { margin-top: 35px; }
  .consultation-photo { aspect-ratio: .65; }
  .consultation-caption { padding: 14px; gap: 10px; inset: auto 16px 16px; }
  .consultation-caption strong { font-size: .7em; }
}
@media (max-width: 767px) {
  .catalogue-intro { padding-block: 38px 42px; }
  .catalogue-intro h1 { font-size: clamp(2.65rem, 10vw, 4.5rem); margin-block: 18px 26px; overflow-wrap: break-word; }
  .catalogue-lead { max-width: 100%; font-size: 1.05em; }
  .catalogue-stat-row { margin-top: 35px; gap: 25px; }
  .catalogue-statistics { flex-direction: column; align-items: flex-start; gap: 20px; }
  .catalogue-statistics p:nth-child(-n+2)::after { display: none; }
  .catalogue-statistics strong { font-size: 1.9em; }
  .collection-only { font-size: .8em; align-items: flex-start; }
  .companion-filter { min-height: 64px; }
  .catalogue-section { padding-top: 48px; }
  .catalogue-heading { margin-bottom: 30px; }
  .catalogue-heading .note { max-width: 100%; }
  .catalogue-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 18px; }
  .catalogue-image-frame { padding: 10px; border-radius: var(--radius-small); margin-bottom: 14px; }
  .catalogue-image-frame .badge { left: 10px; top: 14px; font-size: .5em; padding: 5px 7px; max-width: calc(100% - 20px); }
  .catalogue-card h3 { font-size: 1.2rem; min-height: 3.75em; }
  .catalogue-meta { margin-top: 20px; }
  .catalogue-meta > strong { font-size: 1em; }
  .catalogue-meta > span { font-size: .55em; }
  .catalogue-description { font-size: .75rem; }
  .catalogue-enquiry { margin-top: 50px; padding: 26px; gap: 18px; }
  .catalogue-enquiry > div { flex-basis: calc(100% - 80px); }
  .catalogue-enquiry h3 { font-size: 1.15em; line-height: 1.3; }
  .catalogue-enquiry .button { margin-left: 0; white-space: normal; }
  .catalogue-consultation { padding-block: 75px 85px; }
  .consultation-panel { grid-template-columns: minmax(0, 1fr); gap: 35px; padding: 30px 24px; border-radius: var(--radius); }
  .consultation-badge { align-items: flex-start; line-height: 1.5; font-size: .6em; padding: 10px 12px; }
  .consultation-copy h2 { font-size: 2.4rem; }
  .consultation-copy > p:not(.consultation-badge):not(.note) { font-size: 1em; }
  .consultation-copy .button { width: 100%; padding-inline: 18px; }
  .consultation-details { margin-top: 30px; gap: 14px; }
  .consultation-details p { font-size: .78em; }
  .consultation-photo { aspect-ratio: .8; }
  .consultation-caption { padding: 16px; }
  .consultation-caption .note { font-size: .75rem; }
}
@media (max-width: 359px) {
  .catalogue-grid { grid-template-columns: minmax(0, 1fr); }
  .catalogue-card h3 { min-height: 0; font-size: 1.5rem; }
  .catalogue-meta { flex-wrap: nowrap; }
  .catalogue-enquiry { display: block; }
  .enquiry-icon { display: inline-block; margin-bottom: 18px; }
  .catalogue-enquiry .button { margin-top: 24px; width: 100%; }
  .consultation-copy h2 { font-size: 2.1rem; }
}

/* ---------- Location responsive transformations ---------- */
@media (max-width: 1279px) {
  .location-address { padding: 32px; }
  .location-schedule { padding: 22px; }
  .location-schedule-heading { flex-wrap: wrap; }
  .location-contact { gap: 12px; }
  .location-contact .button { padding-inline: 16px; }
  .storefront-caption { padding: 42px 30px 30px; }
  .arrival-card { padding: 24px; gap: 14px; }
  .arrival-icon { padding: 10px; }
  .zone-copy { padding: 24px; }
  .concierge-panel { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1023px) {
  .location-intro { padding-block: 38px 56px; }
  .location-kicker { flex-wrap: wrap; font-size: .65em; gap: 10px; }
  .location-lead { max-width: 85%; font-size: 1.1em; }
  .location-hero-grid { grid-template-columns: 1fr 1.2fr; gap: 24px; }
  .location-address { padding: 26px; }
  .location-address h2 { font-size: 1.8rem; }
  .opening-time { font-size: 1.7rem; }
  .location-contact .button { width: 100%; }
  .location-directions { padding-inline: 20px; font-size: .9em; }
  .storefront-caption { display: block; padding: 50px 26px 26px; }
  .storefront-caption > span { display: inline-block; margin-top: 18px; }
  .storefront-caption p:last-child { font-size: 1.8rem; }
  .location-page .section-heading .note { max-width: 38%; }
  .location-map { aspect-ratio: 1.9; }
  .map-address { max-width: 290px; top: 20px; left: 20px; padding: 20px; }
  .arrival-grid { gap: 18px; }
  .arrival-card { display: block; padding: 22px; }
  .arrival-icon { display: inline-block; margin-bottom: 14px; }
  .location-zone-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
  .zone-copy h3 { font-size: 1.9rem; }
  .location-gallery-grid { gap: 24px; }
  .gallery-welcome { aspect-ratio: 1; }
  .gallery-side { gap: 24px; }
  .gallery-caption { padding: 24px 20px; }
  .concierge-panel { gap: 5%; }
  .concierge-panel h2 { font-size: 2.7rem; }
}
@media (max-width: 767px) {
  .location-intro h1 { font-size: clamp(2.6rem, 10vw, 4.4rem); margin-block: 20px 26px; }
  .location-kicker { font-size: .6em; gap: 8px; }
  .location-kicker::before { width: 24px; }
  .location-lead { max-width: 100%; font-size: 1.05em; margin-bottom: 30px; }
  .location-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .location-address { padding: 28px; }
  .location-address h2 { font-size: 1.9rem; }
  .location-schedule-heading { flex-wrap: wrap; gap: 14px; }
  .opening-time { font-size: clamp(1.55rem, 6vw, 2rem); }
  .location-contact .button { width: auto; flex: 1; white-space: nowrap; }
  .location-directions { font-size: .9em; gap: 14px; }
  .location-storefront { min-height: 0; aspect-ratio: 1.05; }
  .storefront-caption p:last-child { font-size: 1.65rem; }
  .storefront-caption > span { font-size: .6em; margin-top: 12px; }
  .storefront-caption { padding: 42px 22px 22px; }
  .location-page .section-heading .note { max-width: 100%; }
  .location-map { aspect-ratio: auto; height: 440px; }
  .map-address { top: 18px; left: 18px; right: 18px; max-width: none; padding: 18px; }
  .map-actions { bottom: 18px; right: 18px; left: 18px; flex-wrap: wrap; gap: 10px; }
  .map-actions .button { padding-inline: 16px; flex: 1; min-width: 120px; font-size: .8em; }
  .arrival-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 24px; }
  .arrival-card { display: flex; padding: 24px; gap: 18px; }
  .arrival-icon { margin: 0; }
  .location-section-intro { margin-bottom: 30px; }
  .location-section-intro h2 { margin-bottom: 20px; }
  .location-section-intro > p:last-child { font-size: 1em; }
  .location-zone-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .zone-copy h3 { font-size: 1.9rem; margin-bottom: 18px; }
  .zone-photo .badge { left: 14px; top: 14px; font-size: .65em; }
  .zone-copy { padding: 26px; }
  .location-gallery-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .gallery-welcome { aspect-ratio: 1.2; }
  .gallery-side { grid-template-rows: auto auto; gap: 24px; }
  .gallery-side .media { aspect-ratio: 1.9; }
  .gallery-caption { padding: 26px 20px 20px; }
  .gallery-caption p + p { font-size: 1em; }
  .location-concierge { padding-block: 56px 80px; }
  .concierge-panel { grid-template-columns: minmax(0, 1fr); gap: 30px; padding: 32px 26px; }
  .concierge-panel h2 { font-size: 2.4rem; }
  .concierge-panel > div > p:last-child { font-size: 1em; }
  .concierge-panel .actions { justify-content: flex-start; gap: 14px; }
  .concierge-panel .button { width: 100%; font-size: .9em; padding-inline: 18px; }
}
@media (max-width: 359px) {
  .location-address { padding: 22px; }
  .location-schedule { padding: 18px; }
  .location-contact .button { flex-basis: 100%; }
  .arrival-card { padding: 22px; gap: 14px; }
  .arrival-icon { padding: 8px; }
  .zone-copy { padding: 22px; }
  .concierge-panel h2 { font-size: 2.15rem; }
}


/* Final desktop reference alignment; mobile reflow keeps its established rules. */
@media (min-width: 1024px) {
  .hero .button { font-size: 1em; min-height: 62px; }
  .hero-media .image-caption { font-size: 1em; }
  .about-intro { padding-top: 24px; }
  .about-masthead { margin-bottom: 12px; }
  .about-intro-heading { margin-bottom: 30px; }
  .catalogue-intro { padding-block: 36px 64px; }
  .catalogue-intro h1 { margin-block: 0 28px; }
  .location-directions { font-size: 1.1em; }
}
