.brand {
  gap: 18px;
}

.group-label {
  max-width: none;
  white-space: nowrap;
}

.logo-box {
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  border: 1px solid #7f9db4;
}

.brand-logo {
  width: 46px;
  height: 46px;
}

@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap");

:root{
  --copper:#c7793f;
  --copper-deep:#a85d29;
  --copper-wash:#f5ebe3;
}

body{font-family:"Poppins","Segoe UI",Arial,Helvetica,sans-serif;letter-spacing:-.005em}
body h1,body h2,body h3,body h4,body h5,body h6,body p,body a,body span,body strong,body li,body label,body button,body input,body select,body textarea{font-family:"Poppins","Segoe UI",Arial,Helvetica,sans-serif!important}
.section{padding:50px 0}
.hero h1,.page-hero h1,.intro h2,.heading h2,.cta h2,.card h3,.cap h3,.step h3,.quote p,.processing-focus h2,.processing-service h3,.service h2,.panel h2{font-family:"Poppins","Segoe UI",Arial,Helvetica,sans-serif;font-weight:600;letter-spacing:-.035em}
.hero h1,.page-hero h1{line-height:1.02}
.hero .eyebrow,.processing-focus .eyebrow,.intro .eyebrow,.heading .eyebrow{color:var(--copper)!important}
.processing-focus__link,.card a,.intro a{color:var(--copper-deep)!important}
.processing-focus__link:hover,.card a:hover,.intro a:hover{color:#77401d!important}
.make-cards .card-body:before,.card:before{background:var(--copper)}
.step{border-top-color:var(--copper)}
.step-icon{stroke:var(--copper-deep)}
.processing-service--copper{background:var(--copper-wash);box-shadow:inset 0 3px 0 var(--copper)}
.processing-photo:first-child figcaption{border-top:3px solid var(--copper)}
.stats{border-top:3px solid var(--copper)}
.btn:hover{background:var(--copper);border-color:var(--copper);color:#071b2d}
.page-hero{height:360px;padding:72px 0;display:flex;align-items:center;background-color:#0b2b44;background-size:cover;background-position:center;border-bottom:1px solid #34536a}
.page-hero .wrap{position:relative;z-index:1}
.page-hero .wrap>*{max-width:760px}
.page-hero--fabrication{background-image:linear-gradient(90deg,rgba(5,23,38,.96) 0%,rgba(5,23,38,.78) 48%,rgba(5,23,38,.18) 78%),url('/assets/fabrication-hero.png');background-position:center 46%}
.page-hero--processing{background-image:linear-gradient(90deg,rgba(5,23,38,.96) 0%,rgba(5,23,38,.78) 48%,rgba(5,23,38,.18) 78%),url('/assets/copper-busbar-production.webp');background-position:center 54%}
.page-hero--materials{background-image:linear-gradient(90deg,rgba(5,23,38,.96) 0%,rgba(5,23,38,.78) 48%,rgba(5,23,38,.18) 78%),url('/assets/processed-metals.webp');background-position:center 52%}
.page-hero--about{background-image:linear-gradient(90deg,rgba(5,23,38,.96) 0%,rgba(5,23,38,.78) 48%,rgba(5,23,38,.18) 78%),url('/assets/workshop.png');background-position:center 48%}
.page-hero--contact{background-image:linear-gradient(90deg,rgba(5,23,38,.96) 0%,rgba(5,23,38,.78) 48%,rgba(5,23,38,.18) 78%),url('/assets/general-structural-fabrication.png');background-position:center 45%}
.page-hero p{max-width:720px;margin:14px 0 0;color:#d4dfe6;font-size:1.08rem}
.card,.cap,.step,.service,.panel,.quote,.processing-focus__services,.processing-service,.intro-img img,.form input,.form textarea,.form select{border-radius:7px}
.card,.service,.step{box-shadow:0 9px 28px rgba(7,27,45,.06)}
.step-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.step-icon{width:46px;height:46px;fill:none;stroke:#17486c;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.step .num{line-height:1;color:#7893a7}
.step h3{margin-top:0}
.card:before{border-radius:3px}.btn{border-radius:4px}
.make-cards .card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.make-cards .card:before{display:none}
.make-cards .card-image{width:100%;height:245px;object-fit:cover}
.make-cards .card-body{padding:30px 34px 34px;display:flex;flex:1;flex-direction:column}
.make-cards .card-body:before{content:"";display:block;width:42px;height:3px;background:#315c7c;margin-bottom:20px}
.make-cards .card-body p{margin-bottom:22px}
.make-cards .card-body a{margin-top:auto}
.inner-heading{max-width:840px;margin-bottom:42px}.inner-heading h2{margin:0 0 12px;font-size:clamp(2rem,3.2vw,3.1rem);line-height:1.08}.inner-heading p{max-width:700px;font-size:1.06rem}
.list-columns{columns:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding:1px;list-style:none;background:#cbd3d9;border-radius:7px;overflow:hidden}
.list-columns li{margin:0;padding:18px 20px 18px 48px;background:#eef1f3;position:relative}.list-columns li:before{content:"✓";position:absolute;left:20px;color:#17486c;font-weight:700}
.compact-footer{padding-top:38px}.compact-footer .footer-grid{grid-template-columns:1.3fr 1fr 1fr}
.contact-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:56px;align-items:start}
.contact-details{display:grid;gap:14px}.contact-card{padding:25px;background:#eef1f3;border:1px solid #d2d9de;border-radius:7px}.contact-card h3{margin:0 0 6px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#48647a}.contact-card p{margin:0}.contact-card a{color:#0d4166;font-size:1.08rem;font-weight:700}
.enquiry-panel{padding:38px;background:#fff;border:1px solid #d2d9de;border-radius:8px;box-shadow:0 15px 40px rgba(7,27,45,.07)}.enquiry-panel h2{margin:0 0 8px;font-size:2rem}.enquiry-panel>p{margin:0 0 25px}.form input,.form textarea,.form select{margin-top:6px}.form .btn{border:1px solid #17486c}.form-note{margin:12px 0 0;color:#61707b;font-size:.82rem}
.processing-gallery-section{padding:0 0 84px;background:#fff}
.processing-gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.processing-photo{margin:0;position:relative;overflow:hidden;border-radius:7px;background:#071b2d;box-shadow:0 10px 30px rgba(7,27,45,.1)}
.processing-photo img{width:100%;aspect-ratio:2.2/1;object-fit:cover}
.processing-photo figcaption{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 22px;color:#fff;background:#0b2b44}
.processing-photo figcaption strong{font-size:1rem}.processing-photo figcaption span{color:#b9cad5;font-size:.8rem;text-align:right}

.processing-focus {
  padding: 84px 0;
  background: #fff;
}

.processing-focus__grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 78px;
  align-items: start;
}

.processing-focus h2 {
  margin: .22em 0 .42em;
  font: 400 clamp(2.1rem, 4vw, 3.5rem)/1.08 "Poppins", "Segoe UI", Arial, Helvetica, sans-serif;
}

.processing-focus__lead {
  max-width: 650px;
  font-size: 1.08rem;
}

.processing-focus__services {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(180px, 1fr));
  gap: 18px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.processing-service {
  min-height: 180px;
  padding: 28px;
  background: #eef1f3;
  border: 1px solid #cbd3d9;
  border-radius: 10px;
  box-shadow: none;
}

.processing-service--copper {
  background: #eef1f3;
  color: inherit;
  box-shadow: none;
}

.processing-service h3 {
  margin: 0 0 10px;
  font: 1.35rem/1.2 "Poppins", "Segoe UI", Arial, Helvetica, sans-serif;
}

.processing-service p {
  margin: 0;
}

.processing-service--copper p {
  color: inherit;
}

.processing-focus__link {
  display: inline-block;
  margin-top: 24px;
  color: #17486c;
  font-weight: 700;
}

.combined-cta {
  background: #315c7c;
  padding: 64px 0;
}

.combined-cta .wrap {
  gap: 56px;
}

.combined-cta h2 {
  max-width: 920px;
  margin: 0 0 10px;
}

.combined-cta p {
  max-width: 820px;
  margin: 0;
  color: #e2ebf1;
}

/* Keep the complete site heading hierarchy consistently mid-weight. */
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
.quote p,
.stat strong {
  font-family: "Poppins", "Segoe UI", Arial, Helvetica, sans-serif !important;
  font-weight: 600 !important;
}

/* Keep the desktop hero confident without letting the copy dominate the image. */
@media (min-width: 1101px) {
  .hero {
    min-height: 550px;
  }

  .hero-copy {
    max-width: 680px;
  }

  .hero h1 {
    max-width: 650px;
    margin: .2em 0 .28em;
    font-size: clamp(2.8rem, 4.15vw, 4.65rem);
    line-height: 1.04;
  }

  .hero p {
    max-width: 600px;
    margin: 0;
    font-size: 1.06rem;
    line-height: 1.6;
  }

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

  .hero .btn {
    min-height: 47px;
    padding-inline: 21px;
    font-size: .94rem;
  }
}

@media (max-width: 900px) {
  .processing-focus__grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .list-columns{grid-template-columns:repeat(2,1fr)}
  .contact-layout{grid-template-columns:1fr}
  .processing-gallery{grid-template-columns:1fr}
}

@media (max-width: 1100px) {
  .nav {
    position: relative;
    z-index: 20;
  }

  .nav .links.is-open {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 30;
    display: flex;
    margin: 0;
    padding: 22px max(24px, calc((100vw - var(--max)) / 2));
    gap: 0;
    align-items: stretch;
    flex-direction: column;
    background: #071b2d;
    border-top: 1px solid #31516a;
    box-shadow: 0 18px 30px rgba(3,15,25,.3);
  }

  .nav .links.is-open a {
    width: 100%;
    padding: 13px 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
  }

  .nav .links.is-open .btn {
    margin-top: 14px;
    padding: 0 20px;
    border-bottom: 1px solid #fff;
  }
}

@media (max-width: 700px) {
  .section{padding:34px 0}
  .logo-box {
    width: 60px;
    height: 60px;
    flex-basis: 60px;
  }

  .brand-logo {
    width: 38px;
    height: 38px;
  }

  .processing-focus {
    padding: 60px 0;
  }

  .processing-focus__services {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .processing-service {
    min-height: 0;
  }
  .page-hero{height:320px;padding:48px 0}
  .list-columns{grid-template-columns:1fr}
  .compact-footer .footer-grid{grid-template-columns:1fr}
  .enquiry-panel{padding:25px}
  .processing-gallery-section{padding-bottom:60px}
  .processing-photo figcaption{display:block}.processing-photo figcaption span{display:block;margin-top:4px;text-align:left}
  .make-cards .card-image{height:230px}
  .make-cards .card-body{padding:26px}
}

/* PR Group cross-site footer links */
.footer-grid,
.compact-footer .footer-grid{grid-template-columns:1.25fr .9fr 1fr .8fr}
.group-links a{display:inline-block;margin-bottom:5px}
.group-links a:hover{color:var(--copper)}
@media(max-width:700px){
  .footer-grid,
  .compact-footer .footer-grid{grid-template-columns:1fr}
}
