/* Shared phone and tablet refinements. Keep the desktop layouts in their original stylesheets. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

@media (max-width: 1100px) {
  .contact-layout > *, .intake-layout > *, .form-grid > *,
  .sc-level > *, .sc-finder > *, .gallery-toolbar > * { min-width: 0; }
  .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-layout :is(input, select, textarea),
  .intake-layout :is(input, select, textarea) { min-width: 0; max-width: 100%; }
  .cmp-controls select, .gallery-toolbar input,
  .demo-contact-layout :is(input, select, textarea),
  body[data-business] form :is(input, select, textarea) { font-size: 16px; }
  .sc-table-wrap { max-width: 100%; overscroll-behavior-inline: contain; }
  .window3d { padding: 0; perspective: none; }
  .w-stage { transform: none; }
  .w-frame, .w-pane, .w-mullion, .w-glass, .w-shadow { transform: none; }
  .w-frame::before, .w-frame::after, .w-glass, .w-shadow { display: none; }
  .w-mullion { background: none; }
  .hero-figure { max-width: 100%; }
  .scene { margin-top: 56px; }
}

@media (min-width: 761px) and (max-width: 1100px) {
  .site-head { gap: 18px; padding-block: 16px; }
  .site-head nav { gap: clamp(14px, 2.2vw, 24px); }
  .site-head nav a { font-size: 14px; }
  .site-head .logo .lockup { height: 29px; }
  .page-heading { padding-block: 52px 44px; }
  .page-heading h1 { font-size: clamp(47px, 7vw, 76px); }
  .window-hero { gap: 28px; padding-block: 40px 50px; }
  .window-hero h1:is(h1) { font-size: clamp(52px, 6.8vw, 75px); }
  .hero-figure { width: min(100%, 560px); margin-inline: auto; }
  .sc-chapter { padding-block: 68px 76px; }
}

@media (max-width: 1000px) {
  .gallery-toolbar { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .gallery-toolbar label, .gallery-toolbar input { width: 100%; min-width: 0; }
  .gallery-toolbar .tier-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
  .gallery-toolbar .tier-tabs button { flex: 1 1 110px; min-width: 0; min-height: 44px; padding-inline: 10px; }
  .contact-layout, .intake-layout { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .intake-aside { position: static; order: initial; }
}

@media (max-width: 760px) {
  .wrap { width: calc(100% - clamp(32px, 9vw, 56px)); }
  .site-head { gap: 10px; padding: 10px max(16px, 4.5vw); }
  .site-head .logo { flex: 0 0 auto; }
  .site-head .logo .lockup { height: clamp(22px, 6vw, 29px); }
  .site-head .head-cta { font-size: 12px; gap: 7px; padding: 8px 10px; }
  .site-head .nav-toggle { flex: 0 0 auto; min-width: 44px; justify-content: center; gap: 5px; font-size: 13px; }
  .site-head nav.open { max-height: 70vh; overflow-y: auto; }
  .window-hero { gap: 24px; padding-block: 25px 36px; }
  .window-hero h1:is(h1) { font-size: clamp(36px, 10.25vw, 62px); line-height: 1.04; letter-spacing: -.045em; word-spacing: .055em; margin-top: 12px; }
  .window-hero h1 em { margin-inline-end: .05em; }
  .hero-copy .eyebrow { line-height: 1.55; }
  .hero-lead { margin: 14px 0 12px; line-height: 1.6; }
  .hero-price { margin: 0 0 17px; }
  .hero-actions { gap: 8px; }
  .hero-actions .action { min-height: 48px; padding: 10px 14px; }
  .hero-figure { order: initial; width: min(100%, 490px); }
  .hero-figure figcaption { display: block; font-size: 11px; line-height: 1.4; margin-top: 10px; }
  .page-heading { padding-block: 32px 30px; }
  .page-heading h1, .intake-heading h1 { font-size: clamp(34px, 10vw, 60px); line-height: 1.06; margin-top: 14px; overflow-wrap: anywhere; }
  .page-intro, .intake-heading > p:last-child { margin-top: 16px; line-height: 1.65; }
  .contact-layout { padding-bottom: 52px; }
  .form-grid { grid-template-columns: minmax(0, 1fr); }
  .review-actions > .action, .intake-actions > .button { width: 100%; }
  .sc-chapter { padding-block: 52px 58px; }
  .sc-head { margin-bottom: 28px; }
  .sc-head h2 { overflow-wrap: anywhere; }
  .sc-tablist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .sc-tab { min-height: 48px; padding: 8px 10px; }
  .sc-tower p { overflow-wrap: anywhere; }
  .sc-index a { font-size: 13px; }
  .studio-levels a { min-height: 52px; padding: 7px 10px; }
  .studio:not(.is-3d) .pane-save { min-height: 44px; }
  .shortlist-tray { max-height: min(55vh, 370px); overflow-y: auto; padding-bottom: max(12px, env(safe-area-inset-bottom)); }
  body.has-shortlist:has(.st-toggle[aria-expanded="true"]) { padding-bottom: min(55vh, 370px); }
  .cmp-head { gap: 8px; }
  .cmp-close { flex: 0 0 44px; }
  .cmp-controls label, .cmp-controls fieldset { min-width: 0; max-width: 100%; }
  .cmp-controls select { max-width: 100%; }
  .cmp-slider { width: 100%; }
  .site-foot .foot-bottom { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px 14px; }
  .foot-bottom > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; }
  .foot-bottom > div > a { overflow-wrap: anywhere; }
  .foot-bottom a[href^="mailto:"] { grid-column: 1 / -1; }
  .demo-nav .business-menu-toggle { min-height: 44px; }
  .demo-contact-layout, .demo-contact-layout form, .demo-contact-layout label { min-width: 0; }
  .demo-contact-layout :is(input, select, textarea) { max-width: 100%; }
}

@media (max-width: 380px) {
  .site-head .head-cta { gap: 5px; padding-inline: 8px; }
  .site-head .nav-toggle { font-size: 12px; }
  .gallery-toolbar .tier-tabs button { flex-basis: 82px; }
}
