/* Mobile-only refinements. Original desktop design, content and behavior stay intact. */
@media (max-width:700px) {
  /* Full bleed without 100vw including a desktop emulator's scrollbar. */
  .home-page .hero--wall .hero-inner {width:100%}
  .home-page .hero--wall .hero-stage {width:100%;margin-inline:0;place-items:start center}
  .home-page .hero--wall .hero-stage-copy {
    width:100%;max-width:640px;
    padding:calc(var(--hero-pull,76px) + 28px) 24px 88px;
  }
  .home-page .hero--wall .hero-message-stage {width:100%}
  /* Inline fragments keep the marker attached to each line of words. */
  .home-page .hero--wall .hero-title em {
    display:inline;width:auto;margin:0;
    -webkit-box-decoration-break:clone;box-decoration-break:clone;
    background:linear-gradient(transparent 70%,var(--sky) 70% 92%,transparent 92%);
  }
  .home-page .mobile-title-break {display:initial}
  .home-page .hero--wall .wall-pause {
    inset-block-start:auto;inset-block-end:calc(92px + env(safe-area-inset-bottom,0px));
    inset-inline-start:auto;inset-inline-end:20px;
  }
  .home-page .hero--wall .wall-veil {
    background:linear-gradient(180deg,rgba(240,244,246,.38) 0,rgba(240,244,246,.9) 12%,rgba(240,244,246,.94) 56%,rgba(240,244,246,.18) 100%);
    -webkit-mask:none;mask:none;
  }
  .home-page .hero .lead-pill-form {width:calc(100% - 40px)}
  .home-page .hero-promise {line-height:1.65}
  .home-page .hero-support {line-height:1.65}
  .home-page .hero-scroll {min-height:48px;margin-block-start:20px}
  .cl-link {min-height:44px}
  .quote-client {display:inline-flex;align-items:center;min-height:44px}
  .hero-review-close {min-height:44px}
  .disclosure>summary {min-height:44px}
  .foot-social a {min-width:44px;min-height:44px}
  .foot .links :is(a,button) {min-height:44px;display:inline-flex;align-items:center}
  .studio-case-shell .foot-social a {min-width:44px;min-height:44px}
  .studio-case-shell .foot .links :is(a,button) {min-height:44px;display:inline-flex;align-items:center}
  .tools-root:not(:has(.cta-bar)) :is(.wa-float,.a11y-btn),
  .studio-case-shell .tools-root :is(.wa-float,.a11y-btn) {width:44px;height:44px}
  .tools-root:not(:has(.cta-bar)) .wa-float,
  .studio-case-shell .tools-root .wa-float {bottom:calc(62px + env(safe-area-inset-bottom,0px))}
  .tools-root .ck-banner .ck-btn {min-height:44px}
}
@media (max-width:560px) {
  .home-page .hero-message-stage .hero-title {
    font-size:clamp(30px,9.1vw,40px);line-height:1.18;letter-spacing:normal;
  }
  .home-page .hero-promise {font-size:17px;margin-block-start:20px;text-wrap:pretty}
  .home-page .hero-support {font-size:16px;margin-block-start:16px;text-wrap:pretty}
}
@media (min-width:701px) {
  .home-page .mobile-title-break {display:none}
}
@media (max-width:359px) {
  .home-page .hero--wall .hero-stage-copy {padding-inline:20px}
  .home-page .hero-message-stage .hero-title {font-size:30px}
  .foot-social,.studio-case-shell .foot-social {flex-wrap:wrap}
}

/* Touch-only additions: the desktop layout above 1100px is unchanged. */
@media (max-width:1100px) {
  .cl-link,.quote-client,.hero-review-close,.disclosure>summary {min-height:44px}
  .quote-client {display:inline-flex;align-items:center}
  .foot-social a,.studio-case-shell .foot-social a {min-width:44px;min-height:44px}
  .foot .links :is(a,button),.studio-case-shell .foot .links :is(a,button) {
    min-height:44px;display:inline-flex;align-items:center;
  }
  .tools-root:not(:has(.cta-bar)) :is(.wa-float,.a11y-btn),
  .studio-case-shell .tools-root :is(.wa-float,.a11y-btn) {width:44px;height:44px}
  .studio-case-shell .text-link,.studio-case-shell .sec-built a {
    display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere;
  }
  .studio-case-shell .sec-built a {direction:ltr;unicode-bidi:isolate}
  .studio-case-shell [data-ba-range] {min-height:44px;cursor:ew-resize}
  /* The incumbent phone consent rule uses !important and otherwise wins. */
  html body #ckBanner .ck-actions .btn,html body #ckBanner .ck-actions button {min-height:44px!important}
}
