:root{--navy:#073565;--navy2:#0b2c4c;--red:#e32119;--blue:#2a74b7;--lt:#f3f7fb;--ink:#13283b;--muted:#5c6d7e;--line:#dfe7ef;--white:#fff;--shadow:0 14px 34px rgba(3,38,70,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.5}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}.nav-wrap{min-height:80px;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);min-width:270px}.brand img{width:82px;height:58px;object-fit:contain}.brand-copy{display:grid;line-height:1}.brand-copy strong{font-size:29px;letter-spacing:.03em}.brand-copy small{font-size:10px;letter-spacing:.27em;margin-top:5px}.brand-copy em{font-size:11px;margin-top:7px;font-weight:700}.site-nav{display:flex;gap:22px;margin-left:auto}.site-nav a,.footer a{color:var(--navy);text-decoration:none;font-weight:700;font-size:14px}.site-nav a:hover{color:var(--red)}.header-cta{display:flex;align-items:center;gap:14px}.phone{color:var(--navy);font-weight:800;text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:5px;padding:12px 18px;text-decoration:none;font-weight:800;border:0;cursor:pointer;font:inherit}.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:#bf1712}.btn-outline{border:1px solid rgba(255,255,255,.75);color:#fff}.menu-btn{display:none;background:none;border:1px solid var(--line);padding:8px 11px;border-radius:5px;color:var(--navy);font-weight:800}.hero{min-height:520px;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--navy2)}.hero-image{position:absolute;inset:0;background:url('assets/hero-machining-clean.jpg') center right/cover no-repeat;filter:saturate(.95)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,36,68,.98) 0%,rgba(3,36,68,.92) 43%,rgba(3,36,68,.30) 72%,rgba(3,36,68,.06) 100%)}.hero-inner{position:relative;z-index:2}.hero-copy{max-width:660px;color:#fff;padding:62px 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:900;margin:0 0 12px}.eyebrow.red{color:var(--red)}.hero h1{font-size:66px;line-height:.95;margin:0 0 18px;letter-spacing:-.03em}.hero h1 span{color:var(--red);font-style:italic}.lede{font-size:19px;max-width:640px;color:#eef6fd;margin:0}.hero-actions{display:flex;gap:12px;margin-top:24px}.section{padding:74px 0}.section-heading{text-align:center;max-width:760px;margin:0 auto 34px}.section-heading.left{text-align:left;margin-left:0}.section-heading h2,.about-copy h2,.why-panel h2,.contact-copy h2{font-size:40px;line-height:1.08;margin:0 0 14px;color:var(--navy)}.section-heading p{color:var(--muted);font-size:17px;margin-bottom:0}.card-grid{display:grid;gap:14px}.card-grid.five{grid-template-columns:repeat(5,1fr)}.service-card{padding:22px 18px;border:1px solid var(--line);border-radius:8px;text-align:center;background:#fff;box-shadow:0 6px 20px rgba(4,46,82,.045)}.service-card .icon{font-size:31px;color:var(--navy);height:42px}.service-card h3{color:var(--navy);font-size:18px;line-height:1.12;margin:8px 0}.service-card p{color:var(--muted);font-size:14px;margin:0}.split-band{background:linear-gradient(90deg,var(--navy2) 0 50%,#eef5fb 50%)}.split-grid{display:grid;grid-template-columns:1fr 1fr}.why-panel{padding:60px 62px 60px 0;color:#fff}.why-panel h2{color:#fff}.checks{list-style:none;padding:0;margin:20px 0 0}.checks li{margin:10px 0;padding-left:28px;position:relative}.checks li:before{content:'✓';position:absolute;left:0;top:1px;background:var(--red);color:#fff;border-radius:50%;width:19px;height:19px;text-align:center;font-size:12px;font-weight:900}.brand-panel{padding:48px 0 48px 62px;text-align:center;display:flex;flex-direction:column;justify-content:center}.brand-panel img{width:210px;margin:0 auto 14px}.brand-panel h3{font-size:27px;line-height:1.1;color:var(--navy);max-width:420px;margin:0 auto 16px}.sequence{font-size:11px;font-weight:900;letter-spacing:.14em;color:var(--navy)}.sequence span{color:var(--red);margin:0 5px}.industries{background:#fff}.industry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.industry{padding:24px;border-top:4px solid var(--navy);background:var(--lt);min-height:188px}.industry span{font-weight:900;color:var(--red);font-size:12px;letter-spacing:.14em}.industry h3{font-size:22px;color:var(--navy);margin:12px 0 8px}.industry p{color:var(--muted);margin:0}.process{background:var(--lt)}.steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:8px}.step{text-align:center;background:#fff;border-radius:10px;padding:24px 16px;box-shadow:var(--shadow);min-height:190px}.step b{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff}.step h3{color:var(--navy);font-size:19px;margin:10px 0 7px}.step p{color:var(--muted);font-size:14px;margin:0}.arrow{font-size:28px;color:var(--red);font-weight:900}.about-section{background:var(--navy);color:#fff}.about-grid{display:grid;grid-template-columns:46% 54%;min-height:470px}.about-photo{background:linear-gradient(rgba(3,46,82,.18),rgba(3,46,82,.18)),url('assets/hero-machining-clean.jpg') center/cover no-repeat}.about-copy{padding:60px}.about-copy h2{color:#fff}.about-copy p{color:#d7e6f4;font-size:16px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.stats div{border-top:2px solid var(--red);padding-top:10px}.stats strong{display:block;font-size:21px}.stats span{font-size:12px;color:#c7d8e7}.contact-grid{display:grid;grid-template-columns:40% 60%;gap:48px;align-items:start}.contact-copy p{color:var(--muted);font-size:16px}.contact-details{display:grid;gap:8px;margin-top:22px}.contact-details a,.contact-details div{display:flex;justify-content:space-between;gap:20px;text-decoration:none;border-bottom:1px solid var(--line);padding:10px 0;color:var(--navy)}.contact-details span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.request-form{background:var(--lt);padding:28px;border-radius:10px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:grid;gap:6px;font-size:13px;font-weight:800;color:var(--navy);margin-bottom:12px}input,select,textarea{width:100%;padding:11px;border:1px solid #cbd7e2;border-radius:5px;background:#fff;font:inherit;color:var(--ink)}textarea{resize:vertical}.form-note{font-size:12px;color:#7b8794;margin:10px 0 0}.footer{background:#f7f9fb;border-top:1px solid var(--line);padding:30px 0 16px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr .7fr;align-items:center;gap:24px}.footer-brand{display:flex;align-items:center;gap:10px}.footer-brand img{width:62px}.footer-brand div{display:grid}.footer-brand strong{font-size:22px;color:var(--navy)}.footer-brand span{font-size:11px;letter-spacing:.12em;color:var(--navy)}.footer-brand em{font-size:10px;color:var(--navy)}.footer-links{display:flex;gap:14px;flex-wrap:wrap}.footer-call{text-align:right}.footer-call span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.footer-call a{font-size:19px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:22px;padding-top:14px;font-size:11px;color:#6c7a88}
@media(max-width:980px){.header-cta .phone{display:none}.site-nav{gap:14px}.card-grid.five{grid-template-columns:repeat(2,1fr)}.card-grid.five .service-card:last-child{grid-column:span 2}.industry-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:1fr 1fr}.arrow{display:none}.about-grid{grid-template-columns:1fr}.about-photo{min-height:300px}.contact-grid{grid-template-columns:1fr}.split-band{background:var(--navy2)}.split-grid{grid-template-columns:1fr}.brand-panel{background:#eef5fb;padding:46px 28px}.why-panel{padding:52px 20px}}
@media(max-width:760px){body{line-height:1.42}.shell{width:min(100% - 24px,1180px)}.nav-wrap{min-height:64px;flex-wrap:wrap;gap:10px}.brand{min-width:0;flex:1;gap:8px}.brand img{width:72px;height:50px}.brand-copy strong{font-size:21px}.brand-copy small{font-size:7px;letter-spacing:.22em;margin-top:3px}.brand-copy em{display:none}.menu-btn{display:block;padding:7px 10px}.site-nav{display:none;width:100%;order:5;flex-direction:column;gap:0;padding:4px 0 10px}.site-nav.open{display:flex}.site-nav a{padding:10px 2px;border-top:1px solid var(--line)}.header-cta{display:none}.hero{min-height:430px}.hero-image{background-position:68% center}.hero-shade{background:linear-gradient(90deg,rgba(3,36,68,.98),rgba(3,36,68,.82))}.hero-copy{padding:40px 0 42px}.hero .eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:9px}.hero h1{font-size:43px;line-height:.96;margin-bottom:14px}.lede{font-size:15.5px;line-height:1.45;max-width:92%}.hero-actions{flex-direction:row;align-items:center;gap:8px;margin-top:18px}.hero-actions .btn{padding:10px 12px;font-size:13px}.section{padding:44px 0}.section-heading{margin-bottom:24px}.section-heading h2,.about-copy h2,.why-panel h2,.contact-copy h2{font-size:29px;line-height:1.08}.section-heading p{font-size:15px}.card-grid.five{grid-template-columns:1fr 1fr;gap:10px}.card-grid.five .service-card:last-child{grid-column:1 / -1}.service-card{padding:15px 12px;text-align:left;min-height:150px}.service-card .icon{font-size:25px;height:30px}.service-card h3{font-size:16px;margin:6px 0}.service-card p{font-size:12.5px;line-height:1.38}.why-panel{padding:38px 12px}.checks{margin-top:16px}.checks li{margin:8px 0;font-size:14px}.brand-panel{padding:30px 18px}.brand-panel img{width:155px;margin-bottom:10px}.brand-panel h3{font-size:22px;margin-bottom:12px}.sequence{font-size:9px;letter-spacing:.09em;line-height:1.7}.industry-grid{grid-template-columns:1fr 1fr;gap:10px}.industry{min-height:145px;padding:16px}.industry h3{font-size:18px;margin:8px 0 5px}.industry p{font-size:12.5px}.process .section-heading{margin-bottom:18px}.steps{grid-template-columns:1fr 1fr;gap:10px}.step{padding:16px 12px;min-height:150px}.step b{width:34px;height:34px;font-size:14px}.step h3{font-size:17px;margin:8px 0 5px}.step p{font-size:12.5px;line-height:1.35}.about-photo{min-height:210px}.about-copy{padding:34px 18px}.about-copy p{font-size:14px}.stats{grid-template-columns:repeat(3,1fr);gap:8px}.stats strong{font-size:16px}.stats span{font-size:10px}.contact-grid{gap:24px}.contact-copy p{font-size:14px}.contact-details{margin-top:16px}.contact-details a,.contact-details div{padding:8px 0}.request-form{padding:18px}.field-row{grid-template-columns:1fr 1fr;gap:8px}label{font-size:12px;margin-bottom:9px}input,select,textarea{padding:10px;font-size:14px}textarea{min-height:105px}.footer{padding:22px 0 12px}.footer-grid{grid-template-columns:1fr;gap:14px}.footer-brand img{width:52px}.footer-brand strong{font-size:19px}.footer-links{gap:10px}.footer-call{text-align:left}.footer-bottom{flex-direction:column;gap:6px;margin-top:16px;padding-top:12px}.footer-bottom span:last-child{font-size:9px;letter-spacing:.04em}}
@media(max-width:430px){.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}.card-grid.five,.industry-grid,.steps{grid-template-columns:1fr}.card-grid.five .service-card:last-child{grid-column:auto}.service-card{min-height:auto}.industry{min-height:auto}.step{min-height:auto}.stats{grid-template-columns:1fr 1fr}.stats div:last-child{grid-column:1 / -1}.field-row{grid-template-columns:1fr}}

/* V3 polish */
.visual-industries .industry{position:relative;overflow:hidden;padding:0;border-top:0;min-height:230px;background-image:linear-gradient(180deg,rgba(3,36,68,.06),rgba(3,36,68,.9)),url('assets/hero-machining-clean.jpg');background-size:cover;box-shadow:0 10px 28px rgba(4,46,82,.12)}
.industry-manufacturing{background-position:18% center}.industry-power{background-position:42% center;filter:saturate(.75)}.industry-machining{background-position:72% center}.industry-aero{background-position:92% center;filter:contrast(.95)}
.industry-overlay{position:absolute;inset:auto 0 0 0;padding:24px;color:#fff}.visual-industries .industry span{color:#fff;opacity:.86}.visual-industries .industry h3{color:#fff;margin:8px 0 5px}.visual-industries .industry p{color:#e8f2fb;font-size:13px;max-width:25ch}
.about-section{position:relative}.about-section:before{content:"";position:absolute;inset:0 auto 0 46%;width:70px;background:linear-gradient(90deg,rgba(7,53,101,0),var(--navy));z-index:2;pointer-events:none}.about-photo,.about-copy{position:relative;z-index:1}
.request-form .btn{min-width:160px}.message-field textarea{min-height:92px}

@media(max-width:760px){
  .nav-wrap{min-height:58px}.brand img{width:82px;height:54px}.brand-copy strong{font-size:22px}.menu-btn{font-size:12px}
  .hero{min-height:355px}.hero-copy{padding:30px 0 32px}.hero h1{font-size:39px}.lede{font-size:14px;max-width:96%}.hero-actions{margin-top:14px}.hero-actions .btn{padding:9px 11px}
  .section{padding:36px 0}.section-heading{margin-bottom:18px}.section-heading h2,.about-copy h2,.why-panel h2,.contact-copy h2{font-size:27px}.section-heading p{font-size:14px;line-height:1.4}
  .services .section-heading{max-width:34rem}.service-card{padding:13px 11px}.service-card p{font-size:12px}
  .why-panel{padding:32px 12px}.brand-panel{padding:24px 16px}.brand-panel img{width:145px}.brand-panel h3{font-size:20px}.sequence{font-size:8.5px;white-space:normal}
  .visual-industries{display:grid;grid-template-columns:1fr 1fr}.visual-industries .industry{min-height:165px}.industry-overlay{padding:14px}.visual-industries .industry h3{font-size:17px}.visual-industries .industry p{font-size:11.5px;line-height:1.32}
  .process{padding-top:34px}.steps{grid-template-columns:repeat(4,1fr);gap:6px;overflow-x:auto;padding-bottom:6px}.step{min-width:135px;min-height:132px;padding:12px 9px}.step b{width:30px;height:30px}.step h3{font-size:14px}.step p{font-size:11px}.arrow{display:none}
  .about-section:before{display:none}.about-photo{min-height:170px}.about-copy{padding:28px 16px 30px;margin-top:-18px;border-radius:18px 18px 0 0;background:var(--navy)}.about-copy p{font-size:13px;line-height:1.45}.stats{margin-top:16px}.stats strong{font-size:15px}
  .contact-section{padding-top:34px}.contact-grid{gap:16px}.contact-copy p{font-size:13px}.contact-details{margin-top:12px}.contact-details a,.contact-details div{padding:6px 0}.request-form{padding:14px}.field-row{gap:7px}label{margin-bottom:7px}input,select,textarea{padding:8px 9px}.message-field textarea{min-height:78px}.request-form .btn{width:100%;padding:10px 14px}.form-note{font-size:10.5px}
  .footer{padding-top:18px}.footer-grid{gap:10px}.footer-bottom{margin-top:12px}.footer-bottom span:last-child{font-size:8.5px;font-weight:800;color:var(--navy)}
}
@media(max-width:430px){
  .hero{min-height:330px}.hero h1{font-size:36px}.hero .eyebrow{font-size:9px}.lede{font-size:13.2px}.hero-actions{flex-direction:row}.hero-actions .btn{font-size:11px;flex:1;text-align:center;white-space:nowrap}
  .card-grid.five{grid-template-columns:1fr 1fr}.card-grid.five .service-card:last-child{grid-column:1/-1}.service-card h3{font-size:14px}.service-card p{font-size:11px}
  .visual-industries{grid-template-columns:1fr 1fr}.visual-industries .industry{min-height:150px}.industry-overlay{padding:12px}.visual-industries .industry h3{font-size:15px}.visual-industries .industry p{font-size:10.8px}
  .steps{grid-template-columns:repeat(4,132px)}
  .stats{grid-template-columns:repeat(3,1fr)}.stats div:last-child{grid-column:auto}.stats strong{font-size:13px}.stats span{font-size:8.5px}
  .field-row{grid-template-columns:1fr 1fr}.request-form label{font-size:11px}.request-form input,.request-form select,.request-form textarea{font-size:13px}
}

/* V4 About refinements */
.about .section-heading{max-width:820px}
.about-content{max-width:900px}
.about-content p{line-height:1.7}
.about-tagline{margin-top:1.25rem;font-size:1.08em}
@media(max-width:700px){
 .about .section-heading h2{font-size:clamp(1.65rem,7vw,2.15rem)}
 .about-content p{line-height:1.58;margin-bottom:.9rem}
}

/* V6 About layout */
.about-v6 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.about-v6-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 4rem;
  align-items: start;
}
.about-v6-intro h2 {
  margin-top: .45rem;
  max-width: 650px;
}
.about-v6-copy {
  max-width: 760px;
}
.about-v6-copy p {
  line-height: 1.72;
  margin: 0 0 1rem;
}
.about-timeline {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: .9rem;
  align-items: center;
}
.timeline-item {
  border-top: 3px solid currentColor;
  padding-top: .8rem;
}
.timeline-year {
  display: block;
  font-size: clamp(1.55rem, 2.2vw, 2.2rem);
  font-weight: 800;
  line-height: 1;
  margin-bottom: .45rem;
}
.timeline-label {
  display: block;
  font-size: .94rem;
  line-height: 1.35;
}
.timeline-arrow {
  font-size: 1.35rem;
  opacity: .55;
  transform: translateY(-.35rem);
}
@media (max-width: 900px) {
  .about-v6-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .about-v6-copy {
    max-width: none;
  }
}
@media (max-width: 700px) {
  .about-v6 {
    padding-top: 2.7rem;
    padding-bottom: 2.7rem;
  }
  .about-timeline {
    grid-template-columns: 1fr;
    gap: .85rem;
  }
  .timeline-arrow {
    display: none;
  }
  .timeline-item {
    padding: .75rem 0 0;
  }
  .timeline-year {
    font-size: 1.6rem;
  }
}

/* V7 About layout — compact mobile milestones */
.about-v7 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.about-v7-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 3.5rem;
  align-items: start;
}
.about-v7-intro h2 {
  margin-top: .45rem;
  max-width: 650px;
}
.about-milestones {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .85rem;
  margin-top: 1.8rem;
}
.milestone-card {
  border: 1px solid rgba(9, 49, 83, .14);
  border-radius: 10px;
  padding: 1rem;
  background: #fff;
  box-shadow: 0 6px 18px rgba(9,49,83,.05);
}
.milestone-year {
  display: block;
  font-size: 1.55rem;
  line-height: 1;
  font-weight: 800;
  margin-bottom: .45rem;
}
.milestone-card strong {
  display: block;
  margin-bottom: .25rem;
}
.milestone-card span:last-child {
  display: block;
  font-size: .9rem;
  line-height: 1.35;
}
.about-v7-copy {
  max-width: 760px;
}
.about-v7-copy p {
  line-height: 1.68;
  margin: 0 0 1rem;
}

@media (max-width: 900px) {
  .about-v7-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .about-v7-copy {
    max-width: none;
  }
}

@media (max-width: 700px) {
  .about-v7 {
    padding-top: 2.2rem;
    padding-bottom: 2.2rem;
  }
  .about-v7-intro h2 {
    font-size: clamp(1.55rem, 6.2vw, 2rem);
    line-height: 1.08;
    margin-bottom: 1rem;
  }
  .about-milestones {
    grid-template-columns: 1fr;
    gap: .65rem;
    margin-top: 1rem;
  }
  .milestone-card {
    display: grid;
    grid-template-columns: 88px 1fr;
    grid-template-areas:
      "year title"
      "year text";
    column-gap: .8rem;
    align-items: start;
    padding: .8rem .9rem;
  }
  .milestone-year {
    grid-area: year;
    font-size: 1.35rem;
    margin: 0;
  }
  .milestone-card strong {
    grid-area: title;
    margin: 0 0 .15rem;
    font-size: .98rem;
  }
  .milestone-card span:last-child {
    grid-area: text;
    font-size: .84rem;
    line-height: 1.3;
  }
  .about-v7-copy p {
    font-size: .97rem;
    line-height: 1.5;
    margin-bottom: .82rem;
  }
  .about-tagline {
    margin-top: .7rem;
  }
}

/* V8 desktop centering + spacing polish */
.about-v7 {
  padding-top: 3rem;
  padding-bottom: 2.75rem;
}

.about-v7 .container {
  width: min(1180px, calc(100% - 64px));
  margin-left: auto;
  margin-right: auto;
}

.about-v7-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 3rem;
  align-items: start;
}

.about-v7-intro {
  min-width: 0;
}

.about-v7-copy {
  min-width: 0;
  max-width: 620px;
  justify-self: end;
  padding-left: 2rem;
  border-left: 1px solid rgba(9,49,83,.14);
}

.about-v8-subhead {
  margin: .65rem 0 0;
  max-width: 620px;
  font-size: 1.05rem;
  line-height: 1.45;
  opacity: .82;
}

.about-milestones {
  margin-top: 1.45rem;
}

.milestone-card {
  border-top: 4px solid #0b4f8a;
  padding: 1rem 1rem 1.05rem;
}

#contact {
  scroll-margin-top: 96px;
}

.about-v7 + section,
.about-v7 + .section {
  margin-top: 0;
}

@media (min-width: 901px) {
  .about-v7-intro h2 {
    max-width: 650px;
  }
  .about-milestones {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .about-v7 .container {
    width: min(100% - 32px, 760px);
  }
  .about-v7-copy {
    max-width: none;
    justify-self: stretch;
    padding-left: 0;
    border-left: 0;
  }
}

@media (max-width: 700px) {
  .about-v7 {
    padding-top: 2.1rem;
    padding-bottom: 1.9rem;
  }
  .about-v7 .container {
    width: min(100% - 24px, 680px);
  }
  .about-v8-subhead {
    font-size: .95rem;
    margin-top: .45rem;
  }
  .milestone-card {
    border-top-width: 3px;
  }
}

/* V9 hero cleanup and service hierarchy */
.hero,
.hero::before,
.hero::after {
  background-image: none !important;
}
.hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, #082d4d 0%, #0a3559 48%, #0a3559 58%, #0b436f 100%) !important;
}
.hero .container,
.hero-inner {
  position: relative;
  z-index: 2;
}
.hero-media,
.hero-image,
.hero-visual {
  opacity: 1;
}
@media (min-width: 901px) {
  .hero::after {
    content: "";
    display: block;
    position: absolute;
    inset: 0 0 0 52%;
    background:
      linear-gradient(90deg, rgba(8,45,77,.92) 0%, rgba(8,45,77,.48) 18%, rgba(8,45,77,.08) 45%),
      url("assets/hero.jpg") center/cover no-repeat;
    z-index: 1;
  }
}
@media (max-width: 900px) {
  .hero {
    background: linear-gradient(180deg, #082d4d 0%, #0b426c 100%) !important;
  }
  .hero::after {
    display:none !important;
  }
}

.local-phone {
  display:block;
  font-size:.78em;
  font-weight:500;
  margin-top:.1rem;
  opacity:.85;
}

.services-v9 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.lead-services-grid {
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:1.25rem;
  margin-top:1.5rem;
}
.lead-service-card {
  border:1px solid rgba(9,49,83,.14);
  border-top:4px solid #0b4f8a;
  background:#fff;
  border-radius:12px;
  box-shadow:0 8px 22px rgba(9,49,83,.06);
  padding:1.35rem;
}
.service-kicker {
  display:inline-block;
  font-size:.74rem;
  letter-spacing:.08em;
  font-weight:800;
  margin-bottom:.4rem;
}
.lead-service-card h3 {
  margin:.1rem 0 .35rem;
}
.service-subhead {
  font-weight:700;
  margin-bottom:.8rem;
}
.lead-service-card p {
  line-height:1.58;
}
.fluid-approach {
  margin-top:1.35rem;
  padding:1rem 1.1rem;
  border:1px solid rgba(9,49,83,.12);
  border-radius:10px;
  background:rgba(10,70,115,.035);
}
.approach-label {
  display:block;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.06em;
  margin-bottom:.65rem;
}
.approach-steps {
  display:grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap:.55rem;
}
.approach-steps span {
  text-align:center;
  font-weight:700;
  font-size:.9rem;
  padding:.65rem .45rem;
  border-radius:8px;
  background:#fff;
  border:1px solid rgba(9,49,83,.08);
}
@media(max-width:900px){
  .lead-services-grid{grid-template-columns:1fr}
  .approach-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .services-v9{padding-top:2.1rem;padding-bottom:2.1rem}
  .approach-steps{grid-template-columns:1fr}
}

/* V10 definitive hero background fix */
.hero,
.hero::before,
.hero::after,
.hero-section,
.hero-section::before,
.hero-section::after,
.hero-banner,
.hero-banner::before,
.hero-banner::after {
  background-image: none !important;
}

.hero,
.hero-section,
.hero-banner {
  background: linear-gradient(90deg, #082d4d 0%, #0b3e68 100%) !important;
  position: relative;
  overflow: hidden;
}

.hero .container,
.hero-section .container,
.hero-banner .container,
.hero-inner {
  position: relative;
  z-index: 3;
}

/* Keep any actual <img> visual confined to the right side on desktop */
@media (min-width: 901px) {
  .hero-media,
  .hero-image,
  .hero-visual,
  .hero-picture {
    position: absolute !important;
    top: 0;
    right: 0;
    bottom: 0;
    left: 52% !important;
    width: 48% !important;
    height: 100% !important;
    overflow: hidden !important;
    z-index: 1 !important;
    opacity: 1 !important;
  }

  .hero-media img,
  .hero-image img,
  .hero-visual img,
  .hero-picture img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
  }

  .hero-copy,
  .hero-content,
  .hero-text {
    position: relative !important;
    z-index: 4 !important;
    max-width: 50% !important;
  }
}

@media (max-width: 900px) {
  .hero-media,
  .hero-image,
  .hero-visual,
  .hero-picture {
    display: none !important;
  }
  .hero-copy,
  .hero-content,
  .hero-text {
    max-width: 100% !important;
  }
}

/* V11 definitive hero image correction */
.hero {
  background: linear-gradient(90deg,#082d4d 0%,#0a3559 52%,#0b426d 100%) !important;
}

.hero-image {
  background-image: url('assets/hero-machining-clean.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  filter: saturate(.95);
}

@media (min-width: 901px) {
  .hero-image {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 52% !important;
    width: 48% !important;
    height: 100% !important;
    z-index: 1 !important;
  }

  .hero-shade {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(
      90deg,
      rgba(8,45,77,1) 0%,
      rgba(8,45,77,1) 47%,
      rgba(8,45,77,.92) 52%,
      rgba(8,45,77,.28) 69%,
      rgba(8,45,77,.04) 100%
    ) !important;
    z-index: 2 !important;
  }

  .hero-inner {
    position: relative !important;
    z-index: 3 !important;
  }
}

@media (max-width: 900px) {
  .hero-image {
    display: none !important;
  }
  .hero-shade {
    background: linear-gradient(180deg,#082d4d 0%,#0b426d 100%) !important;
  }
}


/* === V14 FINAL CLEANUP / ALIGNMENT NORMALIZATION === */
.service-card h3,
.industry-card h3,
.process-card h3 {
  margin-top: 0;
}

.services-grid,
.industries-grid,
.process-grid {
  align-items: stretch;
}

.service-card,
.industry-card,
.process-card {
  height: 100%;
  box-sizing: border-box;
}

.service-card p:last-child,
.industry-card p:last-child,
.process-card p:last-child {
  margin-bottom: 0;
}

.hero-inner,
.about-grid,
.services-grid,
.industries-grid,
.process-grid,
.contact-grid {
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 900px) {
  .hero-inner,
  .about-grid,
  .services-grid,
  .industries-grid,
  .process-grid,
  .contact-grid {
    width: 100%;
  }
}
/* === END V14 CLEANUP === */

.phone-block{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.phone-block .phone{display:block}
.phone-block .local-phone{display:block;text-decoration:none}
@media (max-width:900px){.phone-block{align-items:flex-start}}


/* === V15 INDUSTRIES IMAGE / ALIGNMENT FIX === */
.industry-card {
  background-image:
    linear-gradient(to bottom, rgba(5, 25, 47, .08) 0%, rgba(5, 25, 47, .34) 45%, rgba(5, 25, 47, .92) 100%),
    url("assets/hero-machining-clean.jpg") !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-color: #0b2744;
  overflow: hidden;
  min-width: 0;
}

.industry-manufacturing { background-position: 18% center !important; }
.industry-power         { background-position: 42% center !important; }
.industry-machining     { background-position: 68% center !important; }
.industry-aerospace     { background-position: 88% center !important; }

.industry-card h3 {
  font-size: clamp(1.35rem, 1.7vw, 2rem);
  line-height: 1.05;
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}

.industry-power h3,
.industry-aerospace h3 {
  font-size: clamp(1.18rem, 1.45vw, 1.72rem);
}

.industries-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

@media (max-width: 1100px) {
  .industries-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .industries-grid {
    grid-template-columns: 1fr;
  }
  .industry-card h3,
  .industry-power h3,
  .industry-aerospace h3 {
    font-size: 1.45rem;
  }
}
/* === END V15 FIX === */


/* === V16 DEFINITIVE INDUSTRIES FIX === */
.visual-industries .industry {
  position: relative !important;
  overflow: hidden !important;
  min-width: 0 !important;
  min-height: 300px !important;
  padding: 0 !important;
  border-top: 0 !important;
  background-image:
    linear-gradient(180deg, rgba(3,36,68,.08) 0%, rgba(3,36,68,.32) 45%, rgba(3,36,68,.94) 100%),
    url("assets/hero-machining-clean.jpg") !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-color: #0b2c4c !important;
}

.visual-industries .industry-manufacturing { background-position: 12% center !important; }
.visual-industries .industry-power         { background-position: 38% center !important; }
.visual-industries .industry-machining     { background-position: 66% center !important; }
.visual-industries .industry-aero          { background-position: 88% center !important; }

.visual-industries .industry-overlay {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding: 24px !important;
  z-index: 2 !important;
}

.visual-industries .industry h3 {
  color: #fff !important;
  margin: 8px 0 8px !important;
  line-height: 1.08 !important;
  max-width: 100% !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  text-wrap: balance !important;
}

.visual-industries .industry-power h3,
.visual-industries .industry-aero h3 {
  font-size: clamp(1.18rem, 1.45vw, 1.7rem) !important;
}

.visual-industries .industry p {
  color: #fff !important;
}

.visual-industries .industry span {
  color: #fff !important;
}

@media (max-width: 980px) {
  .visual-industries {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}

@media (max-width: 620px) {
  .visual-industries {
    grid-template-columns: 1fr !important;
  }
  .visual-industries .industry {
    min-height: 245px !important;
  }
}
/* === END V16 FIX === */


/* === V17 INDUSTRY-SPECIFIC PHOTOS === */
.visual-industries .industry {
  background-image:
    linear-gradient(180deg, rgba(3,36,68,.08) 0%, rgba(3,36,68,.34) 48%, rgba(3,36,68,.95) 100%) !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

.visual-industries .industry-manufacturing {
  background-image:
    linear-gradient(180deg, rgba(3,36,68,.06) 0%, rgba(3,36,68,.30) 48%, rgba(3,36,68,.95) 100%),
    url("assets/industry-manufacturing.jpg") !important;
  background-position: center center !important;
}

.visual-industries .industry-power {
  background-image:
    linear-gradient(180deg, rgba(3,36,68,.06) 0%, rgba(3,36,68,.30) 48%, rgba(3,36,68,.95) 100%),
    url("assets/industry-power.jpg") !important;
  background-position: center center !important;
}

.visual-industries .industry-machining {
  background-image:
    linear-gradient(180deg, rgba(3,36,68,.06) 0%, rgba(3,36,68,.30) 48%, rgba(3,36,68,.95) 100%),
    url("assets/industry-machining.jpg") !important;
  background-position: center center !important;
}

.visual-industries .industry-aero {
  background-image:
    linear-gradient(180deg, rgba(3,36,68,.06) 0%, rgba(3,36,68,.30) 48%, rgba(3,36,68,.95) 100%),
    url("assets/industry-aerospace.jpg") !important;
  background-position: center center !important;
}

/* numbers removed in V17 */
.visual-industries .industry-overlay > span:first-child {
  display: none !important;
}
/* === END V17 INDUSTRY-SPECIFIC PHOTOS === */


/* === V18 MOBILE HERO + SERVICES CLEANUP === */
.hero-summary {
  max-width: 760px;
}

@media (max-width: 700px) {
  header.site-header,
  .site-header {
    min-height: auto !important;
  }

  .hero {
    min-height: 0 !important;
    padding: 34px 0 30px !important;
  }

  .hero-inner {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .hero .eyebrow,
  .hero .hero-kicker,
  .hero .hero-lead,
  .hero .hero-intro {
    display: none !important;
  }

  .hero h1 {
    margin: 0 0 16px !important;
    font-size: clamp(2.55rem, 12vw, 4rem) !important;
    line-height: .98 !important;
    max-width: 100% !important;
  }

  .hero-summary {
    margin: 0 0 22px !important;
    max-width: 100% !important;
    font-size: 1.05rem !important;
    line-height: 1.5 !important;
  }

  .hero-actions,
  .hero-buttons,
  .cta-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 18px !important;
  }

  .hero-actions a,
  .hero-buttons a,
  .cta-row a,
  .hero .btn {
    width: 100% !important;
    min-height: 54px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
  }

  #services,
  .services-section,
  section.services {
    padding-top: 46px !important;
    padding-bottom: 42px !important;
  }

  .services-section .section-head,
  #services .section-head,
  section.services .section-head {
    text-align: left !important;
    margin-bottom: 24px !important;
  }

  .services-section .section-head h2,
  #services .section-head h2,
  section.services .section-head h2 {
    font-size: clamp(2rem, 9vw, 2.75rem) !important;
    line-height: 1.05 !important;
    margin-bottom: 12px !important;
  }

  .services-intro,
  .services-section .section-head p,
  #services .section-head p,
  section.services .section-head p {
    text-align: left !important;
    font-size: 1rem !important;
    line-height: 1.45 !important;
    margin: 0 !important;
    max-width: 100% !important;
  }

  .services-grid {
    gap: 16px !important;
  }

  .service-card {
    padding: 24px 20px !important;
    border-radius: 18px !important;
  }

  .service-card h3 {
    font-size: 1.55rem !important;
    line-height: 1.1 !important;
    margin-bottom: 12px !important;
  }

  .service-card p,
  .service-card li {
    font-size: .98rem !important;
    line-height: 1.45 !important;
  }

  .section-kicker,
  .eyebrow {
    letter-spacing: .14em !important;
  }
}

@media (max-width: 420px) {
  .hero {
    padding-top: 28px !important;
  }

  .hero h1 {
    font-size: 2.7rem !important;
  }

  .hero-summary {
    font-size: 1rem !important;
  }

  .service-card {
    padding: 22px 18px !important;
  }
}
/* === END V18 MOBILE CLEANUP === */


/* === V23 PROMINENT COMPANY NAME === */
.hero-brand-name {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: fit-content;
  margin: 0 0 18px;
  padding: 0 0 12px;
  border-bottom: 3px solid #d51f2b;
  color: #fff;
  text-transform: uppercase;
  text-shadow: 0 2px 12px rgba(0,0,0,.28);
}
.hero-brand-name strong {
  display: block;
  margin: 0;
  font-size: clamp(2.1rem, 4.2vw, 4.3rem);
  line-height: .88;
  letter-spacing: .045em;
  font-weight: 900;
}
.hero-brand-name span {
  display: block;
  margin-top: 8px;
  font-size: clamp(.9rem, 1.35vw, 1.2rem);
  line-height: 1;
  letter-spacing: .24em;
  font-weight: 800;
}
@media (max-width: 700px) {
  .hero-brand-name {
    margin-bottom: 17px;
    padding-bottom: 10px;
  }
  .hero-brand-name strong {
    font-size: clamp(2rem, 11vw, 3.15rem);
    line-height: .9;
  }
  .hero-brand-name span {
    margin-top: 7px;
    font-size: clamp(.72rem, 3.4vw, .92rem);
    letter-spacing: .16em;
  }
  .hero h1 {
    font-size: clamp(2.2rem, 10vw, 3.45rem) !important;
  }
}
/* === END V23 PROMINENT COMPANY NAME === */

/* === V27 CONTACT FORM === */
.hp-field {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.form-success {
  font-weight: 700;
}

.form-error {
  font-weight: 700;
}


/* V31 mobile header / hero cleanup */
@media (max-width: 760px) {
.site-header,
  header.site-header,
  .header-inner,
  .nav-wrap {
    max-width: 100%;
    overflow: hidden;
  }

  .site-header nav,
  header.site-header nav,
  .main-nav,
  .header-nav,
  .header-phone,
  .header-phones,
  .desktop-nav {
    display: none !important;
  }

  .header-inner {
    width: 100%;
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box;
  }

  .brand,
  .site-brand,
  .logo-wrap,
  .header-brand {
    max-width: 100%;
    min-width: 0;
  }

  .brand img,
  .site-brand img,
  .logo-wrap img,
  .header-brand img {
    max-width: 100%;
    height: auto;
  }

  .hero {
    padding-top: 56px !important;
  }
}


/* V33 FINAL MOBILE ABOUT FIX
   Desktop remains a two-column About layout.
   Mobile becomes a true single-column flow: heading -> story -> milestones. */
@media (min-width: 901px) {
  .about-v7-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
      "intro copy"
      "milestones copy";
    column-gap: 3rem;
    row-gap: 1.45rem;
    align-items: start;
  }

  .about-v7-intro {
    grid-area: intro;
  }

  .about-v7-copy {
    grid-area: copy;
    align-self: start;
  }

  .about-milestones {
    grid-area: milestones;
    margin-top: 0;
  }
}

@media (max-width: 900px) {
  .about-v7-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "intro"
      "copy"
      "milestones" !important;
    gap: 1.35rem !important;
    width: min(100% - 32px, 760px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .about-v7-intro {
    grid-area: intro;
    min-width: 0 !important;
    width: 100% !important;
  }

  .about-v7-copy {
    grid-area: copy;
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
    padding-left: 0 !important;
    border-left: 0 !important;
  }

  .about-milestones {
    grid-area: milestones;
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    min-width: 0 !important;
    margin-top: .2rem !important;
    gap: .7rem !important;
  }

  .milestone-card {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 700px) {
  .about-v7 .container {
    width: calc(100% - 28px) !important;
    max-width: 680px !important;
  }

  .about-v7-copy p {
    overflow-wrap: anywhere;
  }

  .milestone-card {
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    grid-template-areas:
      "year title"
      "year text" !important;
    column-gap: .9rem !important;
    padding: .9rem 1rem !important;
  }

  .milestone-year {
    grid-area: year;
  }

  .milestone-card strong {
    grid-area: title;
  }

  .milestone-card span:last-child {
    grid-area: text;
  }
}
