/* Shared responsive rules, loaded after the original page designs. */
body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) {
  --scs-gutter: 24px;
}
body.steven-cleaning-home-v2 > section > .container,
body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) > :is(.header, .footer) > .container,
body.steven-cleaning-page-v2 .scs-page :is(.container, .wrap) {
  box-sizing: border-box;
  width: 100%;
  max-width: 1240px;
  margin-inline: auto;
  padding-inline: var(--scs-gutter);
}
body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) :is(h1, h2, h3, p, a, label) {
  overflow-wrap: break-word;
}
body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .hero h1 {
  font-size: clamp(32px, 4.5vw, 60px);
  line-height: 1.08;
  letter-spacing: -.025em;
}
body.steven-cleaning-page-v2 .scs-page > .hero {
  height: auto;
  padding-block: 48px;
}
body.steven-cleaning-page-v2 .scs-page--about .hero {
  padding-inline: max(var(--scs-gutter), calc((100% - 1192px) / 2));
}
body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) :is(.hero-buttons, .cta-buttons, .actions) {
  flex-wrap: wrap;
}
body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .btn {
  max-width: 100%;
  white-space: normal;
  min-height: 44px;
  height: auto;
  line-height: 1.4;
}
body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .hero .btn {
  min-height: 52px;
  padding: 12px 20px;
}
body.steven-cleaning-page-v2 .scs-page :is(.services-grid, .reviews-grid, .review-grid, .benefits, .contact-info, .story-grid, .faq-layout, .contact-panel, .cta) > *,
body.steven-cleaning-home-v2 :is(.svc-grid, .trust .container, .checks, .fac-list, .fgrid, .cta .container) > * {
  min-width: 0;
}
body.steven-cleaning-page-v2 .scs-page :is(.service-card img, .cta > img, .faq-photo, .contact-map) {
  display: block;
  max-width: 100%;
}
body.steven-cleaning-page-v2 .scs-page :is(.review-head, .review-top, .review-person) {
  flex-wrap: wrap;
}
body.steven-cleaning-page-v2 .scs-page .avatar { flex-shrink: 0; }
body.steven-cleaning-page-v2 .scs-page .faq-list summary { gap: 16px; }
body.steven-cleaning-page-v2 .scs-page .faq-list summary::after { flex-shrink: 0; }
body.steven-cleaning-page-v2 .scs-page--about .story-visual { margin-right: 0; }
body.steven-cleaning-page-v2 .scs-page--about .story-card {
  left: auto;
  right: 16px;
  top: auto;
  bottom: -24px;
  width: min(210px, calc(100% - 32px));
}
body.steven-cleaning-page-v2 .scs-page :is(.quoteform input, .quoteform select, .quoteform textarea),
body.steven-cleaning-home-v2 .cta .field :is(input, select) {
  font-size: 16px;
  min-height: 46px;
  height: auto;
  width: 100%;
  min-width: 0;
  padding: 10px 12px;
}
body.steven-cleaning-home-v2 .cta .form-card h3 {
  font-size: 18px;
  white-space: normal;
  line-height: 1.4;
  margin-bottom: 16px;
}
body.steven-cleaning-home-v2 .cta .field .fake {
  font-size: 14px;
  height: auto;
  min-height: 32px;
  padding: 6px;
  white-space: normal;
}
body.steven-cleaning-home-v2 .cta .fgrid { gap: 12px; }
body.steven-cleaning-home-v2 .cta .btn-quote { min-height: 46px; font-size: 15px; padding: 12px; }
body.steven-cleaning-home-v2 .cta .loc h3 { white-space: normal; line-height: 1.4; }
body.steven-cleaning-home-v2 .cta .loc h3 .region { white-space: normal; }
body.steven-cleaning-home-v2 .cta :is(.speak small, .speak strong, .script) { white-space: normal; }
body.steven-cleaning-home-v2 .cta .speak { height: auto; }
body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .footer :is(.fcontact a, .fright p) { overflow-wrap: anywhere; }
body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .footer .socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
}
body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .footer .socials { gap: 8px; flex-wrap: wrap; }

@media (min-width: 1101px) {
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .header .container { gap: 16px; }
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .header .nav { gap: 16px; }
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .header .call { gap: 8px; }
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .header .call strong { font-size: 17px; }
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .header .call small { font-size: 11px; }
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .header .call-ic { width: 34px; height: 34px; }
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .header .btn-sm { font-size: 12px; padding: 12px; }
}
@media (min-width: 1200px) {
  body.steven-cleaning-home-v2 .cta .container {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) minmax(0, .7fr);
    gap: 24px;
    padding-block: 40px;
  }
  body.steven-cleaning-home-v2 .cta .form-card { padding: 20px; margin: 0; }
  body.steven-cleaning-home-v2 .cta .loc-bg { width: calc(34% + (100vw - 100%) / 2); }
  body.steven-cleaning-home-v2 .cta .loc-inner { padding-right: 12px; }
}
@media (max-width: 1100px) {
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .header .container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 44px;
    gap: 12px;
    height: auto;
    min-height: 88px;
    padding-block: 12px;
  }
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .header .logo { min-width: 0; }
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .header .logo img { width: min(195px, 100%); height: auto; }
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .header .head-right { margin: 0; }
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .header .menu-toggle { width: 44px; height: 44px; }
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .header .nav.open {
    top: 100%;
    max-height: calc(100dvh - 88px);
    overflow-y: auto;
    padding: 12px var(--scs-gutter);
  }
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .header .nav a { min-height: 44px; }
  body.steven-cleaning-page-v2 .scs-page :is(.services-grid, .contact-info) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.steven-cleaning-page-v2 .scs-page--about .story-grid { gap: 28px; }
  body.steven-cleaning-page-v2 .scs-page--about .benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  body.steven-cleaning-page-v2 .scs-page :is(.reviews-grid, .review-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.steven-cleaning-page-v2 .scs-page :is(.story-grid, .contact-panel) { grid-template-columns: minmax(0, 1fr); }
  body.steven-cleaning-page-v2 .scs-page--about .story-visual { margin-bottom: 24px; }
  body.steven-cleaning-page-v2 .scs-page--about .why-head { display: block; }
  body.steven-cleaning-page-v2 .scs-page--about .why-head > p { max-width: none; }
  body.steven-cleaning-page-v2 .scs-page .contact-map { height: 340px; min-height: 0; }
  body.steven-cleaning-page-v2 .scs-page .cta-copy { padding: 32px 24px; }
  body.steven-cleaning-page-v2 .scs-page .quoteform { grid-template-columns: minmax(0, 1fr); }
  body.steven-cleaning-page-v2 .scs-page .quoteform > * { grid-column: 1 / -1; }
  body.steven-cleaning-page-v2 .scs-page .contact-cta .container { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 760px) {
  body.steven-cleaning-page-v2 .scs-page > .cta { grid-template-columns: minmax(0, 1fr); }
  body.steven-cleaning-page-v2 .scs-page > .cta > img {
    width: 100%;
    height: clamp(240px, 55vw, 380px);
    min-height: 0;
    max-height: none;
    object-fit: cover;
  }
  body.steven-cleaning-page-v2 .scs-page .faq-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.steven-cleaning-page-v2 .scs-page .faq-photo { height: auto; min-height: 0; aspect-ratio: 16 / 9; }
  body.steven-cleaning-page-v2 .scs-page--about .story-card {
    position: relative;
    inset: auto;
    width: calc(100% - 32px);
    margin: -32px 16px 0;
    padding: 24px;
  }
  body.steven-cleaning-page-v2 .scs-page--about .story-card p { font-size: 14px; }
}
@media (max-width: 600px) {
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .hero h1 { font-size: clamp(30px, 7.5vw, 44px); }
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .hero :is(.hero-content, p) { max-width: 100%; }
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) :is(.hero-buttons, .hero-btns, .cta-buttons, .actions) { flex-direction: column; align-items: stretch; }
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) :is(.hero-buttons, .hero-btns, .cta-buttons, .actions) .btn { width: 100%; padding: 14px 16px; }
  body.steven-cleaning-page-v2 .scs-page :is(.services-grid, .reviews-grid, .review-grid, .benefits, .contact-info) { grid-template-columns: minmax(0, 1fr); }
  body.steven-cleaning-page-v2 .scs-page :is(.service-card, .review-card) { min-height: 0; }
  body.steven-cleaning-page-v2 .scs-page .service-card img { height: auto; aspect-ratio: 16 / 9; }
  body.steven-cleaning-page-v2 .scs-page .service-body { padding: 20px; }
  body.steven-cleaning-page-v2 .scs-page .reviews-top { flex-direction: column; align-items: flex-start; }
  body.steven-cleaning-page-v2 .scs-page .contact-panel { padding: 20px; gap: 24px; }
  body.steven-cleaning-page-v2 .scs-page .cta-copy { padding: 32px var(--scs-gutter); }
  body.steven-cleaning-home-v2 .cta .fgrid { grid-template-columns: minmax(0, 1fr); }
  body.steven-cleaning-home-v2 .cta .loc { position: relative; height: auto; min-height: 0; padding-block: 16px; }
  body.steven-cleaning-home-v2 .cta .loc-bg { left: calc(-1 * var(--scs-gutter)); top: 0; width: calc(100% + 2 * var(--scs-gutter)); height: 100%; }
  body.steven-cleaning-home-v2 .cta .loc-inner { position: relative; }
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .footer .fcol { border: 0; }
}
@media (max-width: 480px) {
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) { --scs-gutter: 16px; }
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .header .container { gap: 8px; }
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .header .btn-sm { font-size: 11px; padding: 10px 8px; gap: 6px; }
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .header .btn-sm svg { display: none; }
  body:is(.steven-cleaning-home-v2, .steven-cleaning-page-v2) .header .nav.open { display: grid; grid-template-columns: minmax(0, 1fr); }
  body.steven-cleaning-home-v2 .trust .container { grid-template-columns: minmax(0, 1fr); }
  body.steven-cleaning-home-v2 .trust-item { font-size: 14px; }
  body.steven-cleaning-home-v2 .svc-grid { grid-template-columns: minmax(0, 1fr); }
  body.steven-cleaning-home-v2 .cta .script { font-size: 28px; }
  body.steven-cleaning-page-v2 .scs-page .contact-panel { padding: 16px; }
}
