/* Mobile refinement. Preserve the approved desktop, hero, palette and copy. */
@layer sr-mobile-refinement {
@media (max-width:800px) {
  /* Navigation: readable destinations, then contact, then the city chooser. */
  body#sr-design #mobileMenu {
    padding:12px 18px max(24px, env(safe-area-inset-bottom))!important;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:#766b54 #171717;
  }
  body#sr-design #mobileMenu .pc-menu-navigation {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0 16px!important;
  }
  body#sr-design #mobileMenu .pc-menu-navigation>a {
    display:flex!important;
    align-items:center!important;
    min-width:0;
    min-height:52px!important;
    padding:12px 0!important;
    font-size:15px!important;
    line-height:1.4!important;
    border-radius:0!important;
  }
  body#sr-design #mobileMenu .pc-menu-contact {
    margin:16px 0!important;
    padding:0!important;
    border:0!important;
    gap:8px!important;
  }
  body#sr-design #mobileMenu .pc-menu-contact>a { min-height:48px!important; }
  body#sr-design #mobileMenu .pc-menu-regions {
    margin:0!important;
    padding:18px 0 0!important;
  }
  body#sr-design #mobileMenu .sr-menu-city-list {
    max-height:232px!important;
    gap:6px!important;
    scrollbar-width:thin;
    scrollbar-color:#766b54 #171717;
  }
  body#sr-design #mobileMenu .sr-menu-city-list a {
    min-height:44px!important;
    padding:10px!important;
    font-size:13px!important;
    line-height:1.4!important;
    overflow-wrap:break-word;
  }
  body#sr-design #mobileMenu .sr-menu-city-search { font-size:16px!important; }

  /* A steady reading rhythm, without shrinking the original text. */
  body#sr-design #main-content .sr-opening-intro { padding:24px 0 32px!important; }
  body#sr-design #main-content .sr-opening-intro>.container { gap:18px!important; }
  body#sr-design #main-content .sr-intro-lead {
    font-size:23px!important; line-height:1.35!important; letter-spacing:-.025em!important;
  }
  body#sr-design #main-content .sr-intro-body { font-size:16px!important; line-height:1.65!important; }
  body#sr-design #main-content .ec-hero-bottom>* { font-size:14px!important; line-height:1.55!important; }
  body#sr-design #main-content .ec-hero-bottom { padding:18px!important; }
  body#sr-design #main-content :is(.ec-services,.ec-story,.ec-process,.ec-faq,.ec-areas) {
    padding-block:40px!important;
  }
  body#sr-design #main-content :is(.ec-outcome,.ec-process-steps>li) {
    grid-template-columns:32px minmax(0,1fr)!important;
    column-gap:10px!important;
    padding:20px 16px!important;
  }
  body#sr-design #main-content .ec-step-num {
    width:32px!important; font-size:22px!important; white-space:nowrap!important;
  }
  body#sr-design #main-content :is(.ec-outcome p,.ec-process-steps p,.ec-reassurance p) {
    font-size:16px!important; line-height:1.65!important;
  }
  body#sr-design #main-content .ec-outcome h3 {
    font-size:18px!important; line-height:1.35!important; margin-bottom:10px!important;
  }
  body#sr-design #main-content .ec-client-voice { padding:22px 18px!important; gap:14px!important; }
  body#sr-design #main-content .ec-client-voice blockquote { font-size:20px!important; line-height:1.5!important; }
  body#sr-design #main-content .ec-reassurance>.ec-wrap { padding:26px 20px!important; }
  body#sr-design #main-content .ec-faq-item>summary {
    min-height:64px!important; padding:18px 14px!important;
    gap:14px!important; font-size:16px!important; line-height:1.5!important;
  }
  body#sr-design #main-content .ec-faq-answer { padding:0 14px 20px!important; }
  body#sr-design #main-content .ec-faq-answer p { font-size:16px!important; line-height:1.65!important; }
  body#sr-design #main-content .ec-help { padding:20px 16px!important; gap:16px!important; }
  body#sr-design #main-content .ec-help>a { width:100%!important; }

  /* All services remain visible. Remove reveal movement from compact rows. */
  body#sr-design #main-content #ec-catalog .ec-service {
    opacity:1!important; visibility:visible!important; transform:none!important;
    transition:background-color .15s ease!important;
  }
  body#sr-design #main-content .ec-area-search input { min-height:48px!important; font-size:16px!important; }
  body#sr-design #main-content .ec-area-city-grid { gap:0 12px!important; }
  body#sr-design #main-content .ec-area-city-grid a {
    min-height:48px!important; font-size:14px!important; line-height:1.4!important;
  }

  /* Keep the full width for typing. Avoid deeply inset fields on narrow phones. */
  body#sr-design #main-content :is(.form-card__head,.form-card__body,.form-wrap) {
    padding:22px 16px!important;
  }
  body#sr-design #main-content :is(.form-card,.form-wrap) { border-radius:10px!important; }
  body#sr-design #main-content :is(input,select,textarea) { font-size:16px!important; }
  body#sr-design #main-content textarea { min-height:152px!important; line-height:1.6!important; }
  body#sr-design #main-content :is(.sr-job-route,.ec-field-help,.sr-contact-choice) {
    font-size:14px!important; line-height:1.55!important;
  }
  body#sr-design #main-content :is(.article-summary,.tip-box,.source-note,.sr-article-enquiry) {
    padding:20px 16px!important; border-radius:8px!important;
  }
  body#sr-design #main-content .post-content :is(p,li) { line-height:1.7!important; }
  body#sr-design #main-content .pc-article-toc a { font-size:15px!important; min-height:48px!important; }

  /* Touch actions: no split "Anfrag/en", including 320px devices. */
  body#sr-design .mobile-cta-bar {
    grid-template-columns:.9fr 1.1fr 1.15fr!important;
    gap:6px!important; padding:8px 10px max(8px,env(safe-area-inset-bottom))!important;
  }
  body#sr-design .mobile-cta-bar a {
    min-width:0!important; min-height:48px!important; padding:8px 6px!important;
    border-radius:6px!important;
  }
  body#sr-design .mobile-cta-bar :is(.mcta-label,.sr-action-copy) {
    white-space:nowrap!important; overflow-wrap:normal!important; word-break:normal!important;
    font-size:12px!important; line-height:1.3!important;
  }
  body#sr-design .mobile-cta-bar .mcta-form { gap:10px!important; }
  body#sr-design.sr-mobile-hero-actions-visible .mobile-cta-bar { display:none!important; }
  body#sr-design #main-content :is(a,button,summary) { touch-action:manipulation; }
  body#sr-design .footer__bottom-links { gap:6px 14px!important; }
}
@media (max-width:360px) {
  body#sr-design .mobile-cta-bar .mcta-form>.sr-cta-arrow { display:none!important; }
  body#sr-design #main-content .ec-area-city-grid { grid-template-columns:minmax(0,1fr)!important; }
}
}
