/* Mumford Connect v1.31.28 — final phone-layout normalization.
   Loaded last so conditional component bundles cannot re-introduce desktop
   spacing or multi-column layouts after the main responsive rules. */

@media (max-width:782px){
  html{scroll-padding-top:88px}

  /* One consistent page gutter and vertical rhythm. */
  .mc-container,
  .mc-page-hero > .mc-container,
  .mc-section > .mc-container,
  .mc-cta-band > .mc-container,
  .single-post .mc-section > .mc-container,
  .mc-case-detail > .mc-container{
    width:min(calc(100% - 28px),var(--mc-container));
  }
  .mc-section{padding:50px 0}
  .mc-block-section,.mc-component-section,.mc-block-service-family,.mc-component-service-group{padding:48px 0}
  .mc-block-section--compact{padding:30px 0}
  .mc-block-section-heading{margin-bottom:24px}
  .mc-block-section-heading h2{font-size:clamp(1.82rem,8vw,2.35rem);line-height:1.08}
  .mc-block-section-heading>p:last-child{font-size:.94rem;line-height:1.65}
  .mc-eyebrow{margin-bottom:12px}

  /* Header + homepage hero. */
  .mc-header-inner{min-height:68px}
  .mc-site-branding .custom-logo{max-width:min(188px,calc(100vw - 96px));max-height:44px}
  .mc-primary-nav{inset:68px 0 0 0}
  .mc-hero{padding:34px 0 32px}
  .mc-hero-grid{gap:28px}
  .mc-hero-copy{padding:8px 0 0}
  .mc-hero h1{font-size:clamp(2.65rem,12.5vw,3.35rem);line-height:.98}
  .mc-hero-lede{font-size:1rem;line-height:1.62}
  .mc-button-row{margin-top:24px;gap:10px}

  /* Important: retain a compact 2x2 trust block at every normal phone width.
     The previous <=420 rule changed this to one column and created the large
     Since 2005 / 100% Canadian gaps seen on real devices. */
  .mc-proof-points{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px 18px;
    margin-top:30px;
    padding-top:20px;
  }
  .mc-proof-points li,
  .mc-proof-points li+li{padding:0!important}
  .mc-proof-points li+li:before{display:none!important}
  .mc-proof-points strong{font-size:.75rem;line-height:1.25}
  .mc-proof-points span{margin-top:4px;font-size:.67rem;line-height:1.35}

  .mc-hero-image-wrap{aspect-ratio:4/3}
  .mc-hero-image-wrap img{object-position:72% center}

  /* Audience credibility band: compact 2-column navigation, not six tall tiles. */
  .mc-credibility-band{padding:20px 0 18px}
  .mc-credibility-band__audiences>p{margin-bottom:14px;font-size:.64rem;line-height:1.45}
  .mc-credibility-band__audiences .mc-trust-words{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px 4px!important;
  }
  .mc-credibility-band__audiences .mc-trust-words li{padding:7px 3px!important}
  .mc-credibility-band .mc-trust-words li>a{gap:6px}
  .mc-credibility-band .mc-trust-icon{width:27px;height:27px}
  .mc-credibility-band .mc-trust-icon svg{width:21px;height:21px}
  .mc-credibility-band .mc-trust-words{font-size:.66rem;line-height:1.25;letter-spacing:.025em}

  /* Homepage service/hosting flow. */
  .mc-services-layout{grid-template-columns:1fr;gap:28px}
  .mc-services-overview .mc-section-intro{max-width:none}
  .mc-services-overview .mc-section-intro h2{font-size:clamp(1.95rem,8vw,2.4rem)}
  .mc-service-grid{grid-template-columns:1fr}
  .mc-service-item{min-height:0;padding:22px 20px}
  .mc-hosting-highlight--compact{padding:25px 0}
  .mc-hosting-highlight__compact-inner{gap:18px}
  .mc-hosting-highlight__compact-copy{grid-template-columns:1fr;gap:7px}
  .mc-hosting-highlight__compact-copy h2{font-size:1.35rem}
  .mc-hosting-highlight__compact-copy>p:last-child{font-size:.88rem;line-height:1.55}
  .mc-hosting-highlight--compact .mc-button{width:100%}

  /* Featured work and Selected Work: reduce compounded section spacing. */
  .mc-featured-project{padding:48px 0}
  .mc-featured-grid{grid-template-columns:1fr;gap:26px}
  .mc-featured-copy h2{font-size:clamp(1.9rem,8.5vw,2.45rem)}
  .mc-featured-copy p{margin-bottom:1em}
  .mc-selected-work-section{padding-top:48px!important;padding-bottom:48px!important}
  .mc-selected-work-section--archive{padding-top:34px!important}
  .mc-selected-work-heading{margin-bottom:24px}
  .mc-selected-work-heading h2{font-size:clamp(1.85rem,8vw,2.35rem)}
  .mc-selected-work-heading>p:last-child{margin-top:12px;font-size:.9rem;line-height:1.6}
  .mc-selected-work-grid{grid-template-columns:1fr;gap:28px}
  .mc-selected-work-item__body{padding:14px 0 0}
  .mc-selected-work-item__desc{margin-top:8px}
  .mc-selected-work-item__link{margin-top:auto;padding-top:9px}
  .mc-selected-work-more{margin-top:24px}
  .mc-project-grid{grid-template-columns:1fr;gap:30px}
  .mc-project-card__body{padding-top:16px}

  /* Why / logos / testimonials stay useful but visually secondary. */
  .mc-why--consolidated{padding-top:48px!important;padding-bottom:48px!important}
  .mc-why--consolidated .mc-why-layout{grid-template-columns:1fr;gap:24px}
  .mc-why--consolidated .mc-why-card{grid-template-columns:28px minmax(0,1fr);gap:10px;padding:17px 0}
  .mc-why--consolidated .mc-why-card h3{font-size:1rem}
  .mc-why--consolidated .mc-why-card p{font-size:.86rem;line-height:1.58}
  .mc-client-logo-section--compact{padding:19px 0 21px}
  .mc-client-logo-section--compact .mc-client-logo-section__inner{gap:11px}
  .mc-client-logo-section--compact .mc-client-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mc-client-logo-section--compact .mc-client-logo-grid>div{min-height:58px;padding:8px 11px}
  .mc-client-logo-section--compact .mc-client-logo{height:38px}
  .mc-client-logo-section--compact .mc-client-logo img{max-height:36px}
  .mc-testimonial-section{padding-top:48px!important;padding-bottom:48px!important}
  .mc-testimonial-heading{grid-template-columns:1fr;gap:9px;margin-bottom:20px}
  .mc-testimonial-heading h2{font-size:clamp(1.85rem,8vw,2.3rem)}
  .mc-testimonial-heading>p:last-child:not(.mc-eyebrow){font-size:.9rem;line-height:1.6}
  .mc-testimonial-grid{grid-template-columns:1fr}
  .mc-testimonial{padding:22px 0}
  .mc-testimonial::before{height:22px;margin-bottom:11px;font-size:2.8rem}
  .mc-testimonial__quote p{font-size:1rem;line-height:1.62}
  .mc-testimonial__attribution{margin-top:17px;padding-top:13px}

  /* Areas + final CTA. */
  .mc-areas-layout{grid-template-columns:1fr;gap:26px}
  .mc-area-grid{grid-template-columns:1fr}
  .mc-area-link{min-height:0;padding:20px 42px 20px 20px}
  .mc-area-link i{right:18px;top:19px}
  .mc-cta-band{padding:42px 0}
  .mc-cta-band-inner{flex-direction:column;align-items:stretch;gap:22px}
  .mc-cta-band h2{font-size:clamp(1.75rem,8vw,2.25rem)}
  .mc-cta-band .mc-button{width:100%}

  /* Internal page hero and standard block-page sections. */
  .mc-page-hero{padding:52px 0 42px}
  .mc-page-hero h1{font-size:clamp(2.45rem,11vw,3.15rem);line-height:1}
  .mc-page-hero .mc-page-lede{font-size:1rem;line-height:1.62}
  .mc-block-hero,.mc-component-page-header{padding:48px 0 40px}
  .mc-block-hero--resources,.mc-block-hero--faq{padding:44px 0 38px}
  .mc-block-hero__title,
  .mc-block-hero--resources .mc-block-hero__title,
  .mc-block-hero--faq .mc-block-hero__title{font-size:clamp(2.35rem,10.5vw,3.05rem);line-height:1}
  .mc-block-hero__lede{font-size:1rem;line-height:1.62}
  .mc-block-actions{margin-top:23px}
  .mc-block-actions,.mc-block-page-output .wp-block-buttons{gap:9px}

  /* Split/introduction patterns. */
  .mc-block-split-intro,
  .mc-component-split-content,
  .mc-component-split-content--resources,
  .mc-block-implementation{grid-template-columns:1fr!important;gap:20px!important}
  .mc-block-split-intro h2,
  .mc-component-split-content--long-title h2,
  .mc-component-split-content--balanced-title h2,
  .mc-component-split-content--resources h2{font-size:clamp(1.8rem,8vw,2.25rem);line-height:1.08;max-width:none}
  .mc-block-split-intro>div:last-child,
  .mc-component-split-content--resources>div:last-child{max-width:none;padding-top:0!important;font-size:.96rem;line-height:1.68}
  .mc-block-implementation{padding:25px 21px}

  /* Feature, proof, link and service groups always stack cleanly. */
  .mc-block-feature-grid,
  .mc-component-feature-grid,
  .mc-block-audience-grid,
  .mc-component-link-grid,
  .mc-block-proofbar,
  .mc-block-hosting-grid,
  .mc-block-product-grid{grid-template-columns:1fr!important}
  .mc-component-feature-grid>*{grid-column:auto!important}
  .mc-block-feature-card{min-height:0;padding:24px 21px}
  .mc-component-feature-grid--editorial .mc-block-feature-card{padding:22px 0 24px}
  .mc-component-feature-grid--editorial .mc-block-feature-card__number{margin-bottom:17px}
  .mc-component-link-card{min-height:0;padding:23px 38px 23px 20px}
  .mc-component-link-card:after{right:16px;top:23px}
  .mc-block-proofbar>div{min-height:0;padding:23px 21px}
  .mc-block-service-family__grid{grid-template-columns:1fr;gap:27px}
  .mc-block-service-family__intro{position:static}
  .mc-block-service-family__intro h2{font-size:clamp(1.9rem,8vw,2.4rem)}
  .mc-block-service-item{grid-template-columns:42px minmax(0,1fr);gap:12px;padding:22px 0}
  .mc-block-service-item h3{font-size:1.15rem}

  /* Product/process/callout panels. */
  .mc-block-product-summary{grid-template-columns:1fr;margin-top:-8px;padding:24px 20px;gap:23px}
  .mc-block-product-card{min-height:0;padding:27px 22px}
  .mc-block-email-callout{grid-template-columns:1fr;gap:16px}
  .mc-block-email-callout__mark{width:70px;height:70px;font-size:2.2rem}
  .mc-block-dev-callout{grid-template-columns:1fr;gap:24px;padding:27px 22px}
  .mc-component-callout{padding:24px 21px}
  .mc-component-process-section--light{padding:48px 0}
  .mc-component-process-section__items>.mc-component-process-item{grid-template-columns:40px minmax(0,1fr);column-gap:12px}

  /* Enquiry/forms. */
  .mc-block-enquiry-grid{grid-template-columns:1fr;gap:28px}
  .mc-block-enquiry-sidebar{position:static;padding:23px 21px}
  .mc-entry-content :where(input:not([type=checkbox]):not([type=radio]),select,textarea),
  .mc-block-enquiry-main :where(input:not([type=checkbox]):not([type=radio]),select,textarea){max-width:100%;width:100%}

  /* FAQ/reference content. */
  :is(.mc-block-page--resources,.mc-page-key-resources) .mc-block-section{padding-top:42px;padding-bottom:42px}
  .mc-block-page--faq .mc-block-section{padding-top:38px;padding-bottom:42px}
  .mc-resource-grid{grid-template-columns:1fr}
  .mc-resource-card,:is(.mc-block-page--resources,.mc-page-key-resources) .mc-resource-card{min-height:0;padding:20px}
  .mc-expert-feature{grid-template-columns:1fr;gap:9px;padding:23px 0 27px}
  .mc-expert-feature__content h2{font-size:1.62rem}
  .mc-expert-row{grid-template-columns:1fr 24px;gap:7px 14px;padding:18px 0}
  .mc-expert-row__date{grid-column:1/-1}
  .mc-expert-row__content{grid-column:1}
  .mc-expert-row__arrow{grid-column:2;grid-row:2}

  /* Location map should not dominate the entire first screen. */
  .mc-service-area-map,
  .mc-component-service-area-map{max-width:100%}

  /* Case study: readable phone hero, metadata and editorial story rows. */
  .mc-case-hero{padding:44px 0 38px}
  .mc-case-hero-grid{grid-template-columns:1fr;gap:28px}
  .mc-case-hero h1{font-size:clamp(2.35rem,10.5vw,3.05rem)}
  .mc-case-hero .mc-back-link{margin-bottom:16px}
  .mc-case-hero .mc-eyebrow{margin-bottom:11px}
  .mc-case-image{max-width:none}
  .mc-case-meta-grid{grid-template-columns:1fr!important}
  .mc-case-meta-grid .mc-case-meta__item,
  .mc-case-meta-grid .mc-case-meta__item:nth-child(n){padding:14px 0!important;border-right:0!important;border-top:1px solid var(--mc-line)!important}
  .mc-case-meta-grid .mc-case-meta__item:first-child{border-top:0!important}
  .mc-case-meta-grid .mc-case-meta__services{display:block!important}
  .mc-case-story{padding:34px 0 39px}
  .mc-case-story__item{grid-template-columns:1fr;gap:12px;padding:27px 0}
  .mc-case-story__heading h2{font-size:1.6rem}
  .mc-case-story__copy{font-size:.96rem;line-height:1.68}
  .mc-case-detail{padding-top:30px;padding-bottom:48px}


  /* Final narrow-screen resilience found during the second mobile audit. */
  .mc-case-hero .mc-back-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 0}
  .mc-entry-content :where(a,code),
  .mc-case-content :where(a,code),
  .mc-site-footer :where(a,p){overflow-wrap:anywhere}
  .mc-component-link-card,.mc-component-faq-item,.mc-component-section-heading{overflow-wrap:anywhere}
  .mc-entry-content pre,.mc-case-content pre{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .mc-entry-content .wp-block-table,.mc-case-content .wp-block-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .mc-entry-content :where(img,video,figure),.mc-case-content :where(img,video,figure){max-width:100%;height:auto}
  .mc-entry-content iframe,.mc-case-content iframe{max-width:100%}

  /* Expert articles/support guides. */
  .single-post .mc-page-hero{padding:48px 0 38px}
  .single-post .mc-page-hero h1{font-size:clamp(2.25rem,10vw,2.9rem)}
  .single-post .mc-entry-content{font-size:1rem}
  .single-post .mc-entry-content h2{margin-top:1.4em;font-size:1.48rem}
  .single-post .mc-entry-content h3{margin-top:1.3em;font-size:1.18rem}
  .single-post .mc-entry-content blockquote{font-size:1.12rem}

  /* Footer: enough separation to scan, without desktop-size gaps. */
  .mc-site-footer{padding:48px 0 20px}
  .mc-footer-grid{grid-template-columns:1fr;gap:29px}
  .mc-footer-grid>div:last-child{grid-column:auto}
  .mc-footer-blurb{margin-top:15px}
  .mc-site-footer h2{margin-bottom:12px}
  .mc-footer-bottom{flex-direction:column;gap:12px;margin-top:30px;padding-top:18px}
  .mc-footer-legal{flex-wrap:wrap;gap:9px 16px}
}

@media (max-width:420px){
  .mc-button-row{grid-template-columns:1fr}
  .mc-button-row .mc-button{width:100%}
  /* Deliberately DO NOT collapse .mc-proof-points to one column. */
  .mc-proof-points{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 12px}
  .mc-proof-points strong{font-size:.72rem}
  .mc-proof-points span{font-size:.64rem}
  .mc-credibility-band__audiences .mc-trust-words{gap:4px!important}
  .mc-client-logo-section--compact .mc-client-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:350px){
  /* Only unusually narrow devices drop proof points to one column. */
  .mc-proof-points{grid-template-columns:1fr!important;gap:12px}
}

@media (max-width:760px){
  /* Legacy/optional homepage and landing-page sections remain phone-safe even
     if editors re-enable or reuse them. */
  .mc-software-grid{grid-template-columns:1fr}
  .mc-software-heading{margin-bottom:26px}
  .mc-software-card{min-height:0;padding:25px 21px}
  .mc-software-card__label{margin-bottom:18px}
  .mc-custom-development__layout{grid-template-columns:1fr;gap:27px}
  .mc-custom-development__intro h2{font-size:clamp(1.95rem,8.5vw,2.5rem)}
  .mc-custom-development__intro>p:not(.mc-eyebrow){margin:16px 0 22px}
  .mc-custom-development__grid article{grid-template-columns:42px minmax(0,1fr);column-gap:12px;padding:20px 0}
  .mc-custom-development__principle{margin-top:30px;padding-top:19px;font-size:1.15rem}
  .mc-sector-grid{grid-template-columns:1fr}
  .mc-sector-grid a{min-height:0;padding:23px 48px 23px 21px}
  .mc-sector-grid strong{margin:18px 0 8px}
  .mc-sector-grid i{right:20px;bottom:18px}

  /* Public search, when enabled, should not recreate desktop proportions. */
  .mc-search-overlay{padding:76px 14px 18px}
  .mc-search-overlay__panel{padding:24px 18px;border-radius:12px}
  .mc-search-overlay__head{gap:16px;margin-bottom:20px}
  .mc-search-overlay__head h2{font-size:1.75rem}
  .mc-search-form__row{grid-template-columns:1fr;gap:9px}
  .mc-search-form__row .mc-button{width:100%}
  .mc-search-overlay__quick{gap:8px 13px;margin-top:18px}
  .mc-search-overlay__note{margin-top:18px;padding-top:15px}
}

/* v1.33.6 — keep Quick Answers visually aligned on small screens. */
@media(max-width:640px){.mc-page-key-resources section.mc-block-section--resource-routes{padding-top:38px}}
