
/* Homepage-only responsive image and grid repair | 2026-10-30
   Uses original image files; prevents portrait photographs being cut into narrow strips.
   All rules are scoped to .mnc-redesign to override older unscoped media selectors. */
.mnc-redesign .hero,.mnc-redesign .servicegrid,.mnc-redesign .projectgrid,
.mnc-redesign .split,.mnc-redesign .finance,
.mnc-redesign .service,.mnc-redesign .project { min-width: 0; }
.mnc-redesign .service img,.mnc-redesign .project img,.mnc-redesign .split img {
  display:block; max-width:100%; object-position:center center;
}
.mnc-redesign .servicegrid,.mnc-redesign .projectgrid { align-items:start; }

/* Laptops and tablets get enough width per card instead of tiny 3/4-column images. */
@media (min-width: 701px) and (max-width: 1024px) {
  .mnc-redesign .servicegrid { grid-template-columns:repeat(2,minmax(0,1fr));gap:22px; }
  .mnc-redesign .projectgrid { grid-template-columns:repeat(2,minmax(0,1fr));gap:22px; }
  .mnc-redesign .split { grid-template-columns:minmax(0,1fr);gap:24px; }
  .mnc-redesign .finance { grid-template-columns:minmax(0,1fr);gap:18px; }
  .mnc-redesign .split img { width:100%;height:auto;max-height:510px;object-fit:contain;background:#f2f0eb; }
  .mnc-redesign .service img,.mnc-redesign .project img {width:100%;height:auto;max-height:400px;object-fit:contain;background:#f2f0eb;}
  .mnc-redesign .service p {min-height:0;}
  .mnc-redesign .hero {min-height:560px;}
}

/* Mobile: one card per row, natural image proportions, no lateral clipping. */
@media (max-width: 700px) {
  .mnc-redesign { width:100%; max-width:100%; overflow-x:clip; }
  .mnc-redesign section { padding:48px 6%; }
  .mnc-redesign .section-intro {max-width:100%;}
  .mnc-redesign .hero {
    width:100%; min-height:570px; height:auto;
    padding:66px 7% 62px;
    align-items:center;
    background-size:cover;
    background-position:center,center 43%;
    background-repeat:no-repeat;
  }
  .mnc-redesign .hero::before {
    content:'';position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(180deg,rgba(7,22,35,.38) 0%,rgba(7,22,35,.55) 60%,rgba(7,22,35,.35) 100%);
    z-index:0;
  }
  .mnc-redesign .hero .inner {width:100%;max-width:100%;position:relative;z-index:1;}
  .mnc-redesign .hero h1 {font-size:clamp(34px,9.3vw,47px);line-height:1.11;letter-spacing:-.025em;margin:16px 0;}
  .mnc-redesign .hero p {font-size:16px;line-height:1.65;}
  .mnc-redesign .hero .actions {display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:25px;}
  .mnc-redesign .hero .actions .btn {max-width:100%;text-align:center;}
  .mnc-redesign .trust {gap:12px 22px;padding:18px 6%;text-align:center;}
  .mnc-redesign .servicegrid,.mnc-redesign .projectgrid,
  .mnc-redesign .split,.mnc-redesign .finance {
    display:grid;grid-template-columns:minmax(0,1fr);gap:24px;
  }
  .mnc-redesign .service,.mnc-redesign .project,.mnc-redesign .split>*,
  .mnc-redesign .finance>* {width:100%;min-width:0;max-width:100%;}
  .mnc-redesign .service {overflow:hidden;}
  .mnc-redesign .service img {
    width:100%;height:auto;max-height:none;aspect-ratio:auto;
    object-fit:contain;object-position:center; background:#f3f0eb;
  }
  .mnc-redesign .project img {
    width:100%;height:auto;max-height:none;aspect-ratio:auto;
    object-fit:contain;object-position:center; background:#f3f0eb;
  }
  .mnc-redesign .split img {
    width:100%;height:auto;max-height:none;aspect-ratio:auto;
    object-fit:contain;object-position:center;background:#f3f0eb;
  }
  .mnc-redesign .service .content {padding:22px;}
  .mnc-redesign .service p {min-height:0;margin-bottom:18px;}
  .mnc-redesign .project h3 {margin:14px 0 6px;}
  .mnc-redesign .project p {margin:6px 0 11px;}
  .mnc-redesign .finance {padding:46px 6%;}
  .mnc-redesign .finance .finance-panel {padding:10px 0 10px 18px;}
  .mnc-redesign .numbergrid {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
  .mnc-redesign .foot {display:block;}
  .mnc-redesign h2 {font-size:clamp(29px,7.5vw,38px);}
  .mnc-redesign p {overflow-wrap:break-word;}
}
@media (max-width: 420px) {
  .mnc-redesign .hero {min-height:570px;padding-top:55px;padding-bottom:55px;}
  .mnc-redesign .numbergrid {grid-template-columns:minmax(0,1fr);gap:16px;}
  .mnc-redesign .section-intro {margin-bottom:20px;}
  .mnc-redesign .servicegrid,.mnc-redesign .projectgrid {gap:26px;}
}

/* Guardrail for oversized image dimensions on the homepage shell. */
@media(max-width:1024px) {
body:has(.mnc-redesign) > header .brand img,
body:has(.mnc-redesign) > footer .brand img {
  display:block; width:clamp(118px,34vw,165px);max-width:100%;height:auto;
}

@media (max-width:700px) {
  .mnc-redesign .reviews-widget .widget-heading {display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px;}
  .mnc-redesign .reviews-widget .widget-layout {display:grid;grid-template-columns:minmax(0,1fr);gap:20px;}
  .mnc-redesign .reviews-widget .svgstars {display:inline-flex;gap:2px;align-items:center;vertical-align:middle;color:#c6a36c;}
  .mnc-redesign .reviews-widget .svgstars svg {display:inline-block;width:19px;max-width:19px;height:19px;flex:0 0 19px;}
  .mnc-redesign .reviews-widget .scoreline {display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
  .mnc-redesign .reviews-widget .reviewcarousel[hidden] {display:none!important;}
  .mnc-redesign .reviews-widget .google-review-button {display:inline-block;max-width:100%;}
  .mnc-redesign .profile-ribbon {padding:23px 6%;text-align:center;}
  .mnc-redesign .profile-brands {display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
  .mnc-redesign .profile-brands a {display:inline-block;padding:7px 11px;max-width:100%;}
}
}
