
:root{--navy:#243240;--navy-2:#18222C;--gold:#BAA25C;--gold-2:#d0bd78;--ink:#263038;--muted:#64707d;--line:#e4e8ec;--soft:#f4f6f8;--white:#fff;--max:1180px;--radius:18px;--shadow:0 18px 55px rgba(16,23,30,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(var(--max),calc(100% - 40px));margin:0 auto}.topbar{background:var(--navy-2);color:#d5dde5;font-size:.89rem}.topbar .container{display:flex;justify-content:space-between;gap:18px;padding:9px 0;align-items:center}.topbar a{color:#fff}.site-header{position:sticky;top:0;z-index:1000;background:rgba(24,34,44,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.09)}.nav{display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:78px}.brand{display:flex;align-items:center}.brand img{width:232px;max-width:48vw;height:auto}.nav-links{display:flex;gap:24px;align-items:center;color:#fff;font-weight:650;font-size:.95rem}.nav-links a{opacity:.92}.nav-links a:hover,.nav-links a.active{color:var(--gold-2);opacity:1}.nav-cta{background:var(--gold);color:var(--navy)!important;padding:11px 16px;border-radius:999px;font-weight:800}.menu-btn{display:none;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:10px 12px;font-weight:750}.hero{position:relative;min-height:680px;background:var(--navy);color:#fff;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(16,23,30,.95),rgba(16,23,30,.72) 44%,rgba(16,23,30,.22)),url('/assets/img/hero-industrial-line.webp') center/cover no-repeat}.hero .container{position:relative;z-index:1;padding:112px 0 86px}.eyebrow{color:var(--gold-2);text-transform:uppercase;letter-spacing:.14em;font-size:.79rem;font-weight:850}.hero h1{font-size:clamp(2.4rem,5vw,5.25rem);line-height:.98;margin:18px 0 24px;max-width:940px;letter-spacing:-.055em}.hero p{font-size:clamp(1.05rem,1.7vw,1.32rem);max-width:780px;color:#e8eef4}.hero-actions,.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 20px;font-weight:850;border:1px solid transparent;transition:.2s}.btn-primary{background:var(--gold);color:var(--navy)}.btn-primary:hover{transform:translateY(-1px);background:var(--gold-2)}.btn-secondary{border-color:rgba(255,255,255,.28);color:#fff;background:rgba(255,255,255,.08)}.btn-secondary:hover{background:rgba(255,255,255,.15)}.btn-outline{border-color:rgba(36,50,64,.18);color:var(--navy);background:#fff}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);overflow:hidden;margin-top:66px;max-width:1000px}.stat{background:rgba(16,23,30,.65);padding:24px}.stat strong{display:block;color:#fff;font-size:1.55rem}.stat span{color:#c8d2dc;font-size:.92rem}.section{padding:86px 0}.section.alt{background:var(--soft)}.section.navy{background:var(--navy);color:#fff}.section.navy p,.section.navy .muted{color:#d5dde5}.section-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:34px}.section-head h2,.page-intro h1,.content h1{font-size:clamp(2rem,3.6vw,3.6rem);line-height:1.05;margin:0;letter-spacing:-.04em;max-width:850px}.section-head p{max-width:520px;color:var(--muted);margin:0}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 28px rgba(16,23,30,.05)}.card-body{padding:26px}.card h3{font-size:1.22rem;line-height:1.2;margin:0 0 10px;color:var(--navy)}.card p{margin:0;color:var(--muted)}.card .image,.service-card img,.project-card img{width:100%;height:230px;object-fit:cover}.service-card{transition:.18s}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.link{display:inline-flex;margin-top:18px;color:var(--navy);font-weight:850}.link:after{content:"→";margin-left:8px;color:var(--gold)}.feature{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}.feature-media{border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.feature-media img{width:100%;height:520px;object-fit:cover}.check-list{padding:0;margin:20px 0 0;list-style:none}.check-list li{position:relative;padding-left:30px;margin:12px 0}.check-list li:before{content:"";position:absolute;left:0;top:.48em;width:10px;height:10px;border-radius:50%;background:var(--gold)}.split-box{background:#fff;border-radius:24px;padding:34px;box-shadow:var(--shadow);border:1px solid var(--line)}.page-hero{background:linear-gradient(110deg,rgba(16,23,30,.97),rgba(16,23,30,.77)),url('/assets/img/factory-industrial-wide.webp') center/cover no-repeat;color:#fff;padding:96px 0 70px}.page-hero h1{font-size:clamp(2.35rem,4.8vw,4.7rem);line-height:1;margin:12px 0 18px;letter-spacing:-.05em;max-width:900px}.page-hero p{max-width:780px;color:#e8eef4;font-size:1.17rem}.breadcrumbs{font-size:.9rem;color:#d5dde5;margin-bottom:20px}.breadcrumbs a{color:#fff}.service-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:42px;align-items:start}.content{font-size:1.04rem}.content h2{font-size:2.1rem;line-height:1.12;letter-spacing:-.03em;margin:44px 0 14px;color:var(--navy)}.content p{color:#46525f}.content ul{padding-left:20px;color:#46525f}.aside{position:sticky;top:112px}.aside-card{background:var(--navy);color:#fff;border-radius:24px;padding:28px}.aside-card p{color:#d5dde5}.aside-card a{color:#fff}.service-list{display:grid;gap:9px;margin-top:18px}.service-list a{display:block;padding:10px 12px;border-radius:12px;background:#f6f8fa;border:1px solid var(--line);font-weight:650;color:#2e3a46}.service-list a:hover,.service-list a.active{background:var(--navy);color:#fff;border-color:var(--navy)}.banner{background:var(--navy);color:#fff;border-radius:28px;padding:44px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.banner h2{margin:0 0 10px;font-size:2.2rem;line-height:1.08}.banner p{margin:0;color:#d5dde5}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:start}.contact-panel{background:var(--navy);color:#fff;border-radius:24px;padding:32px}.contact-panel p{color:#d5dde5}.form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:780;color:var(--navy);font-size:.92rem}.field input,.field textarea,.field select{width:100%;border:1px solid #d6dce2;border-radius:12px;padding:12px 13px;font:inherit;color:var(--ink);background:#fff}.field textarea{min-height:130px;resize:vertical}.notice{background:#fff8e4;border:1px solid rgba(186,162,92,.45);padding:16px;border-radius:14px;color:#514216}.footer{background:#18222C;color:#d5dde5;padding:58px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr .8fr;gap:32px}.footer img{width:220px;margin-bottom:18px}.footer h4{color:#fff;margin:0 0 12px}.footer a{display:block;color:#d5dde5;margin:7px 0}.footer a:hover{color:var(--gold-2)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);padding-top:24px;margin-top:32px;font-size:.9rem;color:#a4b0bc}.pill-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.pill{border:1px solid rgba(36,50,64,.13);background:#fff;border-radius:999px;padding:8px 12px;font-weight:700;color:#38444f}.dark-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:22px}.muted{color:var(--muted)}.legal-content{max-width:900px}.legal-content h2{margin-top:42px}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:10px;top:10px;z-index:2000;background:#fff;color:#000;padding:10px;border-radius:8px}
@media(max-width:980px){.topbar .container{flex-direction:column;align-items:flex-start;gap:4px}.menu-btn{display:inline-flex}.nav-links{position:absolute;left:0;right:0;top:78px;background:var(--navy);flex-direction:column;align-items:flex-start;padding:22px 20px;border-top:1px solid rgba(255,255,255,.12);display:none}.nav-links.open{display:flex}.nav-links a{width:100%}.stats,.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}.feature,.service-layout,.contact-grid{grid-template-columns:1fr}.aside{position:static}.footer-grid{grid-template-columns:1fr 1fr}.banner{grid-template-columns:1fr}.hero{min-height:auto}.hero .container{padding:86px 0 70px}}
@media(max-width:640px){.container{width:min(var(--max),calc(100% - 28px))}.brand img{width:190px}.grid-2,.grid-3,.grid-4,.stats,.form-grid{grid-template-columns:1fr}.section{padding:64px 0}.section-head{display:block}.section-head p{margin-top:14px}.feature-media img{height:340px}.card .image,.service-card img,.project-card img{height:210px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.hero-actions .btn,.actions .btn{width:100%}.banner{padding:30px}.page-hero{padding:72px 0 56px}}.section.navy .card {
  background: #ffffff;
  color: #263038;
}

.section.navy .card h3 {
  color: #243240;
}

.section.navy .card p {
  color: #46525f;
  font-weight: 500;
}
.topbar {
  font-size: 14px;
  line-height: 1.4;
  color: #ffffff;
}

.topbar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.topbar span,
.topbar a {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  font-weight: 400;
  text-decoration: none;
}

.topbar a:hover {
  text-decoration: underline;
}
/* Mobile layout improvements */
@media (max-width: 640px) {
  .topbar .container span:first-child {
    display: none;
  }

  .topbar .container {
    align-items: center;
    text-align: center;
    justify-content: center;
  }

  .topbar {
    font-size: 13px;
  }

  .hero {
    padding: 64px 0 48px;
  }

  .hero h1 {
    font-size: 2.25rem;
    line-height: 1.05;
    letter-spacing: -0.04em;
    margin-bottom: 18px;
  }

  .hero p {
    font-size: 1rem;
    line-height: 1.55;
  }

  .hero-actions {
    margin-top: 24px;
  }

  .hero .stats {
    display: none;
  }

  .section {
    padding: 46px 0;
  }

  .page-hero {
    padding: 54px 0 44px;
  }

  .section-head {
    margin-bottom: 22px;
  }

  .section-head h2 {
    font-size: 2rem;
  }

  .section-head p {
    font-size: 0.98rem;
  }

  .feature-media img {
    height: 240px;
  }

  .card .image,
  .service-card img,
  .project-card img {
    height: 185px;
  }

  .mobile-hide {
    display: none;
  }

  .home-services .service-card:nth-of-type(n+5) {
    display: none;
  }

  .btn {
    min-height: 46px;
    padding: 13px 18px;
  }

  .field input,
  .field select,
  .field textarea {
    min-height: 46px;
    font-size: 16px;
  }

  .field textarea {
    min-height: 150px;
  }

  .form,
  .contact-panel {
    padding: 24px;
  }

  #form-status {
    font-size: 0.95rem;
  }
}

/* Contact form status message */
#form-status {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #f4f6f8;
  border: 1px solid #e4e8ec;
}
@media (max-width: 640px) {
  .footer-grid {
    gap: 20px;
  }

  .footer-grid > div:nth-child(2),
  .footer-grid > div:nth-child(3) {
    display: none;
  }

  .footer-grid > div:first-child p:first-of-type {
    display: none;
  }

  .footer-grid > div:first-child img {
    max-width: 150px;
  }

  .footer-bottom {
    gap: 10px;
    text-align: center;
  }

  .footer-bottom span {
    display: block;
  }
}
@media (max-width: 640px) {
  .home-intro .feature-media {
    display: none;
  }

  .home-intro .check-list {
    display: none;
  }

  .home-industries .card:nth-of-type(n+4) {
    display: none;
  }
}
.form-security {
  margin-top: -4px;
}

.form-security .cf-turnstile {
  max-width: 100%;
}

@media (max-width: 640px) {
  .form-security {
    margin-top: -6px;
  }
}
/* MA rebrand additions */
.nav-links{gap:18px;font-size:.92rem}
.brand img{width:210px}
details.faq{border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:10px 0;background:#fff}
details.faq summary{font-weight:800;color:var(--navy);cursor:pointer}
details.faq p{margin:10px 0 0;color:#46525f}
.brand-strip{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.brand-strip .pill{background:#fff}
.division-card .card-body{padding:30px}
.division-card h3{font-size:1.45rem}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:step}
.step{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;counter-increment:step}
.step:before{content:counter(step);display:inline-flex;width:34px;height:34px;border-radius:50%;background:var(--gold);color:var(--navy);font-weight:850;align-items:center;justify-content:center;margin-bottom:12px}
.step h3{margin:0 0 8px;font-size:1.05rem;color:var(--navy)}
.step p{margin:0;color:var(--muted);font-size:.95rem}
@media(max-width:980px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.steps{grid-template-columns:1fr}}
.quote-card{background:#fff;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:16px;padding:26px}
.quote-card p{color:#46525f;margin:0 0 14px;font-style:italic}
.quote-card cite{font-style:normal;font-weight:800;color:var(--navy);font-size:.95rem}

/* Mobile call bar + mobile trimming */
.mobile-callbar{display:none}
@media (max-width:640px){
  .mobile-callbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:1500;box-shadow:0 -8px 24px rgba(16,23,30,.25)}
  .mobile-callbar a{flex:1;text-align:center;padding:15px 8px;font-weight:850;font-size:.98rem}
  .cb-call{background:var(--gold);color:var(--navy)}
  .cb-quote{background:var(--navy);color:#fff}
  body{padding-bottom:52px}
  .aside > div:not(.aside-card){display:none}
  .steps{gap:12px}
  .quote-card:nth-of-type(n+2){display:none}
  .pill-row{display:none}
  .brand-strip{display:none}
  details.faq{padding:13px 14px}
  .breadcrumbs{display:none}
  .page-hero p{font-size:1.02rem}
}
/* Client logo wall (text wordmarks until official files supplied) */
.client-wall{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.client-wall span{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:12px;background:#fff;padding:18px 10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#66727e;font-size:.82rem;text-align:center}
@media(max-width:980px){.client-wall{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.client-wall{grid-template-columns:repeat(2,1fr)}.client-wall span:nth-of-type(n+7){display:none}}


/* Services dropdown nav */
.nav-links{gap:26px;font-size:.96rem}
.brand img{width:220px}
.nav-item{position:relative}
.drop-toggle:after{content:" \25BE";font-size:.75em;opacity:.8}
.dropdown{display:none;position:absolute;top:calc(100% + 10px);left:-14px;background:var(--navy);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:10px;min-width:250px;box-shadow:0 18px 45px rgba(0,0,0,.35);z-index:1200}
.dropdown a{display:block;padding:10px 14px;border-radius:9px;white-space:nowrap}
.dropdown a:hover{background:rgba(255,255,255,.09);color:var(--gold-2)}
.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{display:block}
.nav-item:before{content:"";position:absolute;left:0;right:0;top:100%;height:12px}
@media(max-width:980px){
  .nav-item{position:static}
  .dropdown{display:block;position:static;background:none;border:none;box-shadow:none;padding:2px 0 6px 16px;min-width:0}
  .drop-toggle:after{content:""}
}


/* refinement: smaller brand logo */
.brand img{width:184px}
@media(max-width:640px){.brand img{width:152px}}
.footer img{width:190px}


/* Typography refinement — crisper weights */
.site-header{background:#18222C !important}
.btn{font-weight:600;letter-spacing:.01em;font-size:1rem;padding:14px 22px}
.nav-cta{font-weight:700}
.nav-links{font-weight:600}
.stat strong{font-weight:700;font-size:1.62rem}
.eyebrow{font-weight:700;letter-spacing:.16em}
.card h3{font-weight:700}
.link{font-weight:700}
.check-list li{font-weight:400}
.pill{font-weight:600}
.step:before{font-weight:700}
.footer h4{font-weight:700;letter-spacing:.02em}
.field label{font-weight:600}
.quote-card cite{font-weight:700}
.section-head h2,.content h2,.hero h1,.page-hero h1{font-weight:750}


/* Client logo wall — clean, uniform, small */
.client-wall{display:grid;grid-template-columns:repeat(5,1fr);gap:20px 28px;align-items:center}
.client-logo{display:flex;align-items:center;justify-content:center;min-height:70px;padding:6px 10px}
.client-logo img{max-height:52px;max-width:140px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.7;transition:.2s}
.client-logo:hover img{filter:none;opacity:1}
.client-logo em{font-style:normal;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#7a8794;font-size:.8rem;text-align:center}
@media(max-width:980px){.client-wall{grid-template-columns:repeat(3,1fr);gap:16px}}
@media(max-width:640px){.client-wall{grid-template-columns:repeat(2,1fr)}.client-logo{min-height:56px}.client-logo img{max-height:42px}}

/* Client wall — full-colour on clean white tiles (override greyscale) */
.client-wall{gap:18px}
.client-logo{background:#fff;border:1px solid var(--line);border-radius:12px;min-height:96px;padding:16px 20px;box-shadow:0 4px 14px rgba(16,23,30,.04)}
.client-logo img{filter:none !important;opacity:1 !important;max-height:56px;max-width:150px}
