/* Phone journeys keep the next action reachable without compressing the content. */
.compare-mobile { display: none; }
@media (max-width: 700px) {
  body:not([data-page="/jw-v2/owner"]) { --mobile-header-height: 81px; }
  body:not([data-page="/jw-v2/owner"]) .site-header { padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)); }
  body:not([data-page="/jw-v2/owner"]) .site-header .header-book { flex: 1 1 auto; min-width: 0; max-width: 11rem; padding-left: 12px; padding-right: 12px; }
  body:not([data-page="/jw-v2/owner"]) .site-header nav.open { max-height: calc(100dvh - var(--mobile-header-height) - env(safe-area-inset-bottom) - 12px); padding-bottom: max(20px, env(safe-area-inset-bottom)); }
  body:not([data-page="/jw-v2/owner"]) .site-header nav :is(a, summary) { min-height: 44px; display: flex; align-items: center; }
  body:has(.site-header nav.open) :is(.mobile-book, .floating-cart, .design-note-launcher) { display: none; }
  body:not([data-page="/jw-v2/owner"]) :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { font-size: max(1rem, 16px); }
  body:not([data-page="/jw-v2/owner"]) :is(.treatment-compare, .treatment-audience button, .gallery-controls button, .dialog-close, .design-note-close, [data-analytics-settings]) { min-height: 44px; }
  body:not([data-page="/jw-v2/owner"]) :is(.dialog-close, .design-note-close) { min-width: 44px; }
  body:not([data-page="/jw-v2/owner"]) dialog { max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); margin: auto; overflow-y: auto; overscroll-behavior: contain; }
  body:not([data-page="/jw-v2/owner"]) dialog > :is(.dialog-close, .design-note-close) { position: sticky; top: 0; right: auto; float: right; z-index: 2; margin: 0 0 8px 8px; background: var(--control-surface, #242424); }
  body:not([data-page="/jw-v2/owner"]) .treatment-compare { top: 4px; right: 16px; display: inline-flex; align-items: center; padding: 0 4px; }
  body:not([data-page="/jw-v2/owner"]) .compare-dialog { padding: 20px; }
  body:not([data-page="/jw-v2/owner"]) .compare-header { display: flex; align-items: flex-start; gap: 12px; position: sticky; top: -20px; z-index: 5; margin: -20px -20px 20px; padding: 20px; background: #242424; }
  body:not([data-page="/jw-v2/owner"]) .compare-header h2 { flex: 1; min-width: 0; margin: 0; }
  body:not([data-page="/jw-v2/owner"]) .compare-header .dialog-close { position: static; flex-shrink: 0; float: none; margin: 0; }
  body:not([data-page="/jw-v2/owner"]) .compare-dialog .compare-scroll { display: none; }
  body:not([data-page="/jw-v2/owner"]) .compare-mobile { display: grid; gap: 20px; clear: both; }
  body:not([data-page="/jw-v2/owner"]) .compare-mobile article { padding: 20px 0; border-top: 1px solid var(--line); }
  body:not([data-page="/jw-v2/owner"]) .compare-mobile h3 { font-size: 1.35rem; line-height: 1.25; }
  body:not([data-page="/jw-v2/owner"]) .compare-mobile .price { margin: 16px 0; font-size: 2.3rem; }
  body:not([data-page="/jw-v2/owner"]) .compare-mobile .deposit { margin: 16px 0 8px; }
  body:not([data-page="/jw-v2/owner"]) .compare-mobile .btn { width: 100%; }
  body:not([data-page="/jw-v2/owner"]) .booking-progress { gap: 8px; }
  body[data-page="/"] .studio-hero { grid-template-columns: minmax(0, 1fr); }
  body[data-page="/"] .studio-hero .hero-copy { min-width: 0; overflow-wrap: anywhere; }
  body[data-page="/"] .studio-approach { grid-template-columns: minmax(0, 1fr); }
  body[data-page="/"] .studio-principles article { grid-template-columns: 28px minmax(0, 1fr); }
  body[data-page="/"] :is(.studio-approach-intro, .studio-principles, .studio-principles article > div) { min-width: 0; overflow-wrap: anywhere; }
  body:not([data-page="/jw-v2/owner"]) :is(.final-cta > *, .cta-actions, .cta-actions .btn, .footer-grid > *) { min-width: 0; max-width: 100%; }
  body:not([data-page="/jw-v2/owner"]) .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body:not([data-page="/jw-v2/owner"]) .footer-grid :is(a, h3) { overflow-wrap: anywhere; }
  body:not([data-page="/jw-v2/owner"]) .booking-progress li { min-width: 0; overflow-wrap: anywhere; }
  body:not([data-page="/jw-v2/owner"]) .booking-progress li span { display: block; margin: 4px 0 0; }
  body:not([data-page="/jw-v2/owner"]) .booking-buttons { flex-wrap: wrap; }
  body:not([data-page="/jw-v2/owner"]) .booking-buttons .btn { flex: 1 1 140px; }
  body:not([data-page="/jw-v2/owner"]) :is(.field-row, .form-pair) { grid-template-columns: 1fr; }
  body:not([data-page="/jw-v2/owner"]) :is(.split-section, .location-grid, .faq-section) { grid-template-columns: minmax(0, 1fr); }
  body:not([data-page="/jw-v2/owner"]) main :is(h1, h2, h3, summary) { overflow-wrap: anywhere; min-width: 0; }
  body:not([data-page="/jw-v2/owner"]) .panel { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
  body:not([data-page="/jw-v2/owner"]) .location-card { flex-direction: column; gap: 12px; min-width: 0; }
  body:not([data-page="/jw-v2/owner"]) .location-content { min-width: 0; max-width: 100%; width: 100%; overflow-wrap: anywhere; }
  body:not([data-page="/jw-v2/owner"]) form :is(h2, p, label), .compare-mobile { overflow-wrap: anywhere; }
}
@media (max-width: 650px) {
  body:not([data-page="/jw-v2/owner"]) { padding-bottom: calc(5.5rem + env(safe-area-inset-bottom)); }
  body:not([data-page="/jw-v2/owner"]) .mobile-book { gap: 16px; padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)); }
  body:not([data-page="/jw-v2/owner"]) .mobile-book > a { min-height: 44px; display: inline-flex; align-items: center; }
  body:has(main :is(input, textarea, select):focus) :is(.mobile-book, .floating-cart, .design-note-launcher) { display: none; }
  body[data-page="/jw-v2/booking"] { padding-bottom: 0; }
}
@media (max-width: 420px) {
  body:not([data-page="/jw-v2/owner"]) .footer-grid { grid-template-columns: 1fr; }
  body:not([data-page="/jw-v2/owner"]) .choice { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 12px; }
  body:not([data-page="/jw-v2/owner"]) .choice > span { grid-column: 2; margin: 0; }
  body:not([data-page="/jw-v2/owner"]) .compare-dialog h2 { font-size: 1.65rem; }
}
@media (max-height: 500px) and (max-width: 1000px) {
  body:not([data-page="/jw-v2/owner"]) { --mobile-header-height: 65px; padding-bottom: 0; }
  body:not([data-page="/jw-v2/owner"]) .site-header .brand { height: 64px; }
  body:not([data-page="/jw-v2/owner"]) .site-header .brand img { width: 62px; height: 62px; }
  body:not([data-page="/jw-v2/owner"]) .site-header nav.open { max-height: calc(100dvh - 65px - env(safe-area-inset-bottom)); }
  body:not([data-page="/jw-v2/owner"]) .mobile-book { display: none; }
  html:has(body:not([data-page="/jw-v2/owner"])) { scroll-padding-top: 80px; scroll-padding-bottom: 16px; }
}

/* Latest homepage design, adapted for fingers and narrow screens. */
@media (max-width: 700px) {
 body:not([data-page="/jw-v2/owner"]) .shade-download .btn { min-height: 44px; }
 body:not([data-page="/jw-v2/owner"]) .price-card .treatment-shade-hover { position: static; opacity: 1; display: flex; margin-top: 10px; font-size: .82rem; flex-wrap: wrap; }
 body:not([data-page="/jw-v2/owner"]) .price-grid .price-card:focus-within { translate: none; scale: none; }
 body[data-page="/"] .reviews-heading-row { grid-template-columns: minmax(0,1fr) auto; gap: 12px; }
 body[data-page="/"] .reviews-heading-title { min-width: 0; }
 body[data-page="/"] .reviews-heading-stars { font-size: 1.15rem; letter-spacing: .08em; }
 body[data-page="/"] .reviews-count-badge { width: clamp(118px,34vw,140px); }
 body[data-page="/"] #client-reviews .google-verified-reviews { padding-inline: 7%; scroll-padding-inline: 7%; mask-image: linear-gradient(to right,transparent,#000 7%,#000 93%,transparent); }
 body[data-page="/"] .google-review-carousel .review { padding: 24px 20px; }
 body[data-page="/"] .google-review-source { display: inline-flex; align-items: center; min-height: 44px; font-size: .78rem; }
 body[data-page="/"] #results.home-results { padding-bottom: 56px !important; }
 body[data-page="/"] .home-shade-section { padding: 40px 16px; }
 body[data-page="/"] .shade-guide-results { grid-template-columns: minmax(0,1fr); }
 body[data-page="/"] .shade-guide-results > div { min-width: 0; }
 body[data-page="/"] .shade-guide-results strong { font-size: 1.8rem; }
 body[data-page="/"] .shade-guide .shade-recommendation .btn { width: 100%; justify-self: stretch; }
 body[data-page="/"] .shade-guide .shade-guide-note { font-size: .82rem; }
 body[data-page="/"] .shade-guide .shade-guide-intro p { font-size: .95rem; line-height: 1.6; }
}
@media (hover: none), (pointer: coarse) {
 body:not([data-page="/jw-v2/owner"]) .price-card .treatment-shade-hover { position: static; opacity: 1; display: flex; margin-top: 10px; }
}
