/* Everett Smith v11 – responsive fixes for normal pages. 404 has its own stylesheet. */
@media (max-width: 767px) {
  html, body { width:100%; max-width:100%; overflow-x:hidden; }
  *, *:before, *:after { box-sizing:border-box; }
  img, picture, svg { max-width:100%; }
  .container { width:100%; max-width:100%; padding-left:24px; padding-right:24px; }

  /* Header */
  .header { min-height:80px; height:80px; position:relative; }
  .header > .container { min-height:80px; height:80px; display:flex; align-items:center; justify-content:space-between; padding-left:24px; padding-right:24px; }
  .header__logo { padding:0 !important; width:48px; height:48px; display:flex; align-items:center; }
  .header__logo img { display:block; width:48px; height:auto; }
  .header__controls { margin-left:auto; position:relative; z-index:10; }
  .hamburger { width:48px; height:48px; padding:14px !important; }
  .header__nav { padding:110px 24px 32px !important; }
  .header__nav .nav { width:100%; }

  /* Hero */
  .banner-hero, .banner-pages { overflow:hidden; }
  .banner-hero-wrapper, .banner-pages-wrapper { min-height:0 !important; }
  .banner-hero-background, .banner-pages-background { min-height:420px; }
  .banner-hero .title, .banner-pages .title { max-width:100%; overflow-wrap:anywhere; font-size:clamp(2rem,10vw,3rem); line-height:1.02; }
  .banner-hero-cta > .container { display:grid !important; grid-template-columns:1fr !important; gap:20px !important; align-items:start !important; }
  .banner-hero-cta__title { width:100% !important; max-width:100% !important; }
  .banner-hero-cta__title-image { width:100% !important; max-width:360px !important; height:auto !important; }
  .banner-hero-cta__desc { width:100% !important; max-width:100% !important; font-size:18px; line-height:1.45; }
  .banner-hero-cta__button { width:100% !important; margin:0 !important; }
  .banner-hero-cta__button .btn-primary { display:inline-flex; max-width:100%; white-space:normal; }

  /* Generic modules */
  .module { max-width:100%; overflow:hidden; }
  .module.padding-fluid { padding-top:56px; padding-bottom:56px; }
  .module h1, .module h2, .module h3, .module h4 { max-width:100%; overflow-wrap:anywhere; }
  .module p { max-width:100%; }
  .row { margin-left:0; margin-right:0; }
  .row > .col { padding-left:0; padding-right:0; flex-basis:100%; max-width:100%; }

  /* Home key differentiators / old ACF fallback. */
  .esco-tabbed-content { padding:56px 0 !important; color:#f6f7f8 !important; }
  .esco-tabbed-content > .container { display:block !important; }
  .esco-tabbed-content .container > * { width:100% !important; max-width:100% !important; margin-left:0 !important; margin-right:0 !important; transform:none !important; }
  .esco-tabbed-content h2, .esco-tabbed-content h3, .esco-tabbed-content h4,
  .esco-tabbed-content p, .esco-tabbed-content div, .esco-tabbed-content span { color:#f6f7f8; }
  .esco-tabbed-content h2 { font-size:32px; line-height:1.08; margin:24px 0; }
  .esco-tabbed-content h3 { font-size:20px; line-height:1.25; margin:28px 0 12px; }
  .esco-tabbed-content p { font-size:16px; line-height:1.55; margin:0 0 24px; }
  .esco-tabbed-content img { width:100%; height:auto; }

  /* Known content modules */
  .section-title__wrapper, .text-with-key-points-grid__wrapper,
  .text-cta-with-container-image__top-content, .split-cta-banner__wrapper,
  .contact-form > .container { grid-template-columns:1fr !important; display:grid !important; gap:32px !important; }
  .section-title__pretitle, .section-title__title, .section-title__body,
  .section-title__pretitle--content { width:100% !important; max-width:100% !important; }
  .benefits__grid { grid-template-columns:1fr !important; gap:16px !important; }
  .benefits__item { min-height:0 !important; height:auto !important; padding:28px 24px !important; }
  .key-sectors__text, .project-listing__content { width:100% !important; max-width:100% !important; }
  .key-sectors__wrapper, .project-listing__projects { width:100% !important; }
  .split-cta-banner__content, .split-cta-banner__image { width:100% !important; max-width:100% !important; }
  .split-cta-banner__image.desktop { display:none !important; }
  .split-cta-banner__image.mobile { display:block !important; }
  .contact-form__text, .contact-form__form { width:100% !important; max-width:100% !important; }
  .contact-form input, .contact-form textarea, .contact-form select { max-width:100%; width:100%; }

  /* Footer */
  .footer .container { padding-left:24px; padding-right:24px; }
  .footer-main, .footer-main__wrapper, .footer-bottom, .footer-bottom__wrapper { max-width:100%; }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .container { padding-left:40px; padding-right:40px; }
  .banner-hero-cta > .container { grid-template-columns:1fr 1fr !important; gap:32px !important; }
  .benefits__grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .esco-tabbed-content .container { max-width:100%; }
}

/* v12: native Key Differentiators / tabbed-content mobile correction */
@media (max-width: 767px) {
  .tabbed-content { padding:56px 0 !important; padding-bottom:56px !important; color:#f6f7f8 !important; min-height:0 !important; }
  .tabbed-content .container { display:flex !important; flex-direction:column !important; gap:32px !important; }
  .tabbed-content__left, .tabbed-content__right { width:100% !important; max-width:100% !important; }
  .tabbed-content .pretitle, .tabbed-content .title,
  .tabbed-content__body--mobile .tab-title__text,
  .tabbed-content__body--mobile .tab-content__text,
  .tabbed-content__body--mobile .tab-content__text p { color:#f6f7f8 !important; opacity:1 !important; }
  .tabbed-content .pretitle { margin:0 !important; }
  .tabbed-content__right .title { font-size:32px !important; line-height:1.08 !important; margin:0 0 32px !important; }
  .tabbed-content__body { display:none !important; }
  .tabbed-content__body--mobile { display:block !important; width:100% !important; }
  .tabbed-content__body--mobile--swiper { margin:0 !important; overflow:hidden !important; }
  .tabbed-content__body--mobile--item { height:auto !important; }
  .tabbed-content__body--mobile--item .tab-title-mobile { margin:0 0 20px !important; padding:18px 52px !important; }
  .tabbed-content__body--mobile--item .tab-content__text { font-size:16px !important; line-height:1.55 !important; position:static !important; }
  .tabbed-content__body--mobile--item .tab-content__text p { margin:0 !important; }
  .tabbed-content__body--mobile--navigation { top:9px !important; }
  .tabbed-content .background-image::before { z-index:1; }
  .tabbed-content .background-image img { min-height:100%; }
  .tabbed-content > .container { z-index:2; }
}

/* v13 audit: responsive coverage for every remaining native module. */
@media (max-width:767px){
 .accordion-text-image--wrapper,.certifications__wrapper,.standard-certification-grid__wrapper,.text-image-cta-download__wrapper,.text-image-with-benefits-list__wrapper,.standard-benefit-list__grid,.job-listings-application__content-wrapper{display:grid!important;grid-template-columns:1fr!important;gap:28px!important}
 .accordion-text-image__accordion,.accordion-text-image__image--wrapper,.certifications__content,.certifications__logos,.standard-certification-grid__content,.standard-certification-grid__logos,.text-image-cta-download__image,.text-image-cta-download__content,.standard-benefit-list__content,.standard-benefit-list__benefits{width:100%!important;max-width:100%!important}
 .certifications__logos,.standard-certification-grid__logos,.card-benefits__grid,.single-benefits__grid,.project-gallery__grid{display:grid!important;grid-template-columns:1fr!important;gap:20px!important}
 .job-listings-application__item,.accordion-text-image__list__item{width:100%!important;max-width:100%!important}
 .legal-page,.legal-module__content{width:100%!important;max-width:100%!important}
 .banner .banner-cta>.container{display:grid!important;grid-template-columns:1fr!important;gap:20px!important}
 .single-benefits .row>.col{width:100%!important;max-width:100%!important;flex:0 0 100%!important}
 .project-gallery__image{width:100%!important;height:auto!important}
}
