/* A comfortable desktop scale; smaller screens retain their existing layout. */
@media (min-width: 1101px) {
  body { font-size: 16px; }
  .container { width: min(1120px, calc(100% - 64px)); }
  .header-inner { min-height: 84px; }
  .header .brand { width: 270px; }
  .button { min-height: 44px; padding: 11px 22px; }
  .footer-main { padding-block: 28px; }
  .footer-main .brand { width: 248px; }
  .footer-services { padding-bottom: 22px; }
  .footer-bottom { padding-block: 18px; }

  .hero-inner { width: min(1520px, calc(100% - 80px)); min-height: clamp(470px, 28vw, 540px); padding-block: 30px; }
  .hero h1 { font-size: 52px; line-height: .98; margin-bottom: 18px; }
  .hero-copy { max-width: 350px; margin-left: 24px; }
  .hero-copy > p { font-size: 16px; margin-bottom: 22px; }
  .hero-photo { left: auto; width: auto; max-width: 100%; object-fit: contain; object-position: right bottom; mask-image: linear-gradient(90deg, transparent, #000 16%); }
  .hero .button { padding: 11px 18px; }
  .benefits { padding-block: 22px; }

  body:not(.inner-page) .section { padding-block: 56px; }
  body:not(.inner-page) .about,
  body:not(.inner-page) .equipment { padding-block: 52px; }
  body:not(.inner-page) .split { gap: 48px; }
  body:not(.inner-page) .about-copy > p:not(.eyebrow) { font-size: 16px; }
  .about h2, .services h2, .equipment h2, .faq-layout h2, .contact-cta h2 { font-size: 32px; }
  .about-photo { min-height: 340px; }
  .photo-caption { width: 180px; padding: 20px; bottom: 20px; }
  .photo-caption p { font-size: 28px; margin-bottom: 12px; }
  .photo-caption span { font-size: 15px; }
  .credentials { margin-top: 24px; gap: 20px; }
  .section-heading { margin-bottom: 24px; }
  .service-grid { gap: 22px; }
  .service-grid-separated .service-image { aspect-ratio: 16 / 9; }
  .service-image img[src*="truck-mobile-service"],
  .service-image img[src*="machinery-mobile-service"] { object-position: center 15%; }
  .service-content { display: grid; grid-template-columns: 28px minmax(0, 1fr); grid-template-rows: auto 1fr auto; align-content: start; gap: 12px; padding: 18px; }
  .service-content > i { grid-area: 1 / 1; align-self: start; margin: 2px 0 0; }
  .service-content > i svg { width: 26px; height: 26px; }
  .service-content h3 { grid-area: 1 / 2; font-size: 18px; line-height: 1.25; margin: 0; }
  .service-content p { grid-column: 1 / -1; align-self: start; font-size: 16px; line-height: 1.5; margin: 0; }
  .service-content .text-link { grid-column: 1 / -1; align-self: end; font-size: 12px; margin: 0; }
  .machine-photo img { height: 290px; }
  .business-stats { padding-block: 30px; }
  .stats-grid strong { font-size: 34px; }
  body:not(.inner-page) .detail-grid,
  body:not(.inner-page) .contact-grid { gap: 52px; }
  body:not(.inner-page) .service-detail h2,
  .contact-section h2 { font-size: 28px; }
  .detail-photo { aspect-ratio: 3 / 2; }
  .service-detail .checklist { margin-block: 20px 24px; }
  .service-detail .checklist li { margin-bottom: 9px; }
  .faq-layout { gap: 60px; }
  .contact-cta { padding-block: 32px; }

  .enquiry-form { padding: 28px 30px; }
  .enquiry-form .enquiry-heading h2 { font-size: 28px; }
  .enquiry-heading { margin-bottom: 18px; }
  .enquiry-form .enquiry-intro { font-size: 16px; margin-bottom: 20px; }
  .enquiry-details { margin-bottom: 22px; }
  .enquiry-details > div { padding-block: 12px; }
  .enquiry-form .enquiry-button { min-height: 48px; padding: 11px 20px; }
  .area-map { height: 230px; }

  .page-width, .dpf-page .page-width { max-width: 1040px; }
  .inner-page h1 { font-size: 52px; margin-bottom: 20px; }
  .page-intro { padding-bottom: 56px; }
  .compact-intro { padding-bottom: 36px; }
  .breadcrumbs { margin-bottom: 30px; }
  .page-lead { font-size: 17px; }
  .page-section { padding-block: 56px; }
  .inner-page h2 { font-size: 30px; }
  .inner-page h3 { font-size: 18px; }
  .inner-page .contact-grid { gap: 52px; }
  .hours-title { margin-top: 28px !important; }
  .service-area { gap: 52px; }
  .service-area .area-map { height: 250px; }
  .booking-section { padding-bottom: 56px; }
  .booking-grid { gap: 20px; }
  .booking-card > div { padding: 18px; }
  .booking-card h2 { font-size: 19px; margin-bottom: 20px; }
  .booking-price { font-size: 28px; margin-bottom: 18px; }

  .dpf-page main { font-size: 16px; }
  .dpf-page main h2 { font-size: 36px; margin-bottom: 22px; }
  .dpf-page main h3 { font-size: 18px; }
  .dpf-page .dpf-intro { padding-block: 48px; }
  .dpf-page .dpf-intro-grid { gap: 48px; }
  .dpf-page .dpf-intro h1 { font-size: 56px; margin-bottom: 20px; }
  .dpf-page .dpf-intro-copy > p:not(.eyebrow) { margin-bottom: 20px; }
  .dpf-page .dpf-intro-copy > p.dpf-lead { font-size: 19px; }
  .dpf-page .dpf-intro-copy .actions { gap: 24px; margin-top: 24px; }
  .dpf-page main .button { min-height: 46px; padding: 11px 24px; font-size: 15px; }
  .dpf-page .dpf-service-strip { padding-block: 24px; }
  .dpf-page .dpf-service-strip li { padding-inline: 24px; }
  .dpf-page .dpf-service-strip strong { font-size: 18px; }
  .dpf-page .dpf-section { padding-block: 64px; }
  .dpf-page .dpf-two-column { gap: 64px; }
  .dpf-page .dpf-section-copy > p { margin-bottom: 22px; }
  .dpf-page .dpf-explainer { padding-bottom: 36px; }
  .dpf-page .dpf-process { padding-top: 24px; }
  .dpf-page .dpf-symptoms { padding: 26px 28px; }
  .dpf-page .dpf-symptoms h3 { font-size: 22px; margin-bottom: 20px; }
  .dpf-page .dpf-symptoms li, .dpf-page .dpf-symptoms p { font-size: 16px; }
  .dpf-page .dpf-section-heading { margin-bottom: 32px; }
  .dpf-page .dpf-section-heading > p:last-child { font-size: 18px; }
  .dpf-page .dpf-process-grid { gap: 28px 44px; }
  .dpf-page .dpf-process-grid > li { padding-top: 20px; gap: 16px; }
  .dpf-page .dpf-process-grid > li > span { font-size: 26px; }
  .dpf-page .dpf-benefits { padding-block: 56px 0; }
  .dpf-page .dpf-benefits .dpf-two-column { padding-bottom: 48px; }
  .dpf-page .dpf-benefits h2, .dpf-page .dpf-why h2 { margin-bottom: 0; }
  .dpf-page .dpf-benefit-list dt { font-size: 18px; }
  .dpf-page .dpf-why { padding-block: 48px 56px; }
  .dpf-page .dpf-faq .faqs summary { font-size: 16px; padding-block: 18px; }
  .dpf-page .dpf-faq .faqs details p { font-size: 16px; }
  .dpf-page .dpf-final-cta { padding-block: 40px; }
  .dpf-page .dpf-final-cta h2 { font-size: 30px; margin-bottom: 12px; }
  .dpf-page .dpf-final-cta p { font-size: 16px; }
  .service-detail .service-divider { padding-top: 48px; }
  .service-detail .service-process-four { gap: 24px; }
  .service-detail .service-process-four > li > span { margin-bottom: 16px; }
  .service-detail .service-preparation { padding: 28px; }
  .service-detail .service-steps-list > li { padding-block: 20px; }
  .service-detail .service-open-list { gap: 28px; }
  .service-detail .service-rates dt { font-size: 18px; }
}
