/* ============================================================
   MTL PIPES INDIA LIMITED — Global Stylesheet
   Brand colours: Navy #0B2545 + Red #D00000
   ============================================================ */

:root{
  --red:#D00000;
  --red-dark:#a80000;
  --red-soft:rgba(208,0,0,0.08);
  --navy:#0B2545;
  --navy-dark:#071a33;
  --navy-light:#1a3a6b;
  --navy-soft:rgba(11,37,69,0.06);
  --white:#ffffff;
  --grey-50:#f8f9fb;
  --grey-100:#f0f2f6;
  --grey-200:#e2e6ee;
  --grey-300:#cdd3df;
  --grey-400:#9aa3b2;
  --grey-600:#6b7280;
  --grey-700:#4a5568;
  --grey-900:#1a202c;
  --text:#1a202c;
  --shadow-sm:0 2px 8px rgba(0,0,0,0.06);
  --shadow-md:0 8px 30px rgba(0,0,0,0.09);
  --shadow-lg:0 20px 60px rgba(11,37,69,0.14);
  --radius:6px;
  --maxw:1240px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden;max-width:100vw;}
body{
  font-family:'Roboto','Segoe UI',Arial,sans-serif;
  font-weight:400;
  color:var(--text);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  max-width:100vw;
  position:relative;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;transition:color .2s;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
ul{list-style:none;}

h1,h2,h3,h4,h5{
  font-family:'Oswald','Segoe UI',sans-serif;
  font-weight:700;
  color:var(--navy);
  line-height:1.15;
  letter-spacing:.01em;
  text-transform:uppercase;
  text-wrap:balance;
  -webkit-hyphens:manual;hyphens:manual;
}
p, li, .lead, .hero-desc, .page-head-lead, .card p, .app-item p, .product-body p {
  text-wrap:pretty;
}
.card h3, .app-item h4, .product-body h3, .client-card h4, .cert-card h3 {
  text-wrap:balance;
}

/* ── LAYOUT ── */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
.section{padding:90px 0;}
.section-sm{padding:60px 0;}
.bg-grey{background:var(--grey-50);}
.bg-navy{background:var(--navy);color:#fff;}
.bg-navy h1,.bg-navy h2,.bg-navy h3,.bg-navy h4{color:#fff;}

/* ── UI HELPERS ── */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Roboto',sans-serif;font-weight:700;font-size:11px;
  letter-spacing:.25em;text-transform:uppercase;color:var(--red);
  margin-bottom:16px;
}
.eyebrow::before{content:'';width:32px;height:2px;background:var(--red);display:block;}
.eyebrow.light{color:#ffb3b3;}
.eyebrow.light::before{background:#ffb3b3;}

.h-display{
  font-size:clamp(36px,5.5vw,68px);
  line-height:1.05;
}
.h-section{font-size:clamp(28px,3.6vw,46px);}
.divider{width:52px;height:3px;background:var(--red);margin:18px 0 26px;}
.divider.center{margin-left:auto;margin-right:auto;}

.lead{
  font-size:17px;line-height:1.8;color:var(--grey-700);
  font-weight:300;max-width:640px;
}

.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Oswald',sans-serif;font-weight:600;
  font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  padding:15px 30px;border:2px solid transparent;
  transition:all .25s;cursor:pointer;white-space:nowrap;
}
.btn svg{width:14px;height:14px;}
.btn-red{background:var(--red);color:#fff;border-color:var(--red);}
.btn-red:hover{background:var(--red-dark);border-color:var(--red-dark);transform:translateY(-2px);box-shadow:0 10px 24px rgba(208,0,0,0.3);}
.btn-navy{background:var(--navy);color:#fff;border-color:var(--navy);}
.btn-navy:hover{background:var(--navy-light);transform:translateY(-2px);box-shadow:0 10px 24px rgba(11,37,69,0.3);}
.btn-outline{background:transparent;color:var(--navy);border-color:var(--navy);}
.btn-outline:hover{background:var(--navy);color:#fff;}
.btn-outline-white{background:transparent;color:#fff;border-color:#fff;}
.btn-outline-white:hover{background:#fff;color:var(--navy);}

/* ============================================================
   TOPBAR — premium info strip
   ============================================================ */
.topbar{
  background:linear-gradient(90deg,#050f1f 0%,var(--navy-dark) 50%,#050f1f 100%);
  color:#cfd6e3;font-size:13px;
  border-bottom:1px solid rgba(208,0,0,0.25);
  position:relative;
}
.topbar::after{
  content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent 0%,var(--red) 50%,transparent 100%);
}
.topbar-inner{
  max-width:var(--maxw);margin:0 auto;padding:11px 32px;
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  flex-wrap:wrap;
}
.topbar-info{display:flex;align-items:center;gap:0;flex-wrap:wrap;}
.topbar-info > *{
  display:inline-flex;align-items:center;gap:10px;
  padding:0 22px;color:#cfd6e3;
  position:relative;line-height:1.4;
  font-weight:400;letter-spacing:.01em;
}
.topbar-info > *:first-child{padding-left:0;}
.topbar-info > * + *::before{
  content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:1px;height:14px;background:rgba(255,255,255,0.12);
}
.topbar-info a{color:#cfd6e3;transition:color .2s;}
.topbar-info a:hover{color:#fff;}
.topbar-info .ico{
  width:30px;height:30px;border-radius:50%;
  background:rgba(208,0,0,0.16);
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--red);flex-shrink:0;
  border:1px solid rgba(208,0,0,0.3);
  transition:all .25s;
}
.topbar-info > *:hover .ico{
  background:var(--red);color:#fff;border-color:var(--red);
  box-shadow:0 0 0 4px rgba(208,0,0,0.18);
}
.topbar-info .ico svg{width:13px;height:13px;fill:currentColor;}
.topbar-info .lbl{
  display:block;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  color:#7a869e;font-weight:600;margin-bottom:1px;
}
.topbar-info .val{
  display:block;font-size:13px;font-weight:500;color:#fff;
}

.topbar-badge{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(208,0,0,0.1);border:1px solid rgba(208,0,0,0.35);
  padding:7px 16px;border-radius:30px;
  font-family:'Oswald',sans-serif;font-weight:600;
  font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;
  color:#fff;
}
.topbar-badge .dot{
  width:7px;height:7px;border-radius:50%;background:var(--red);
  box-shadow:0 0 0 0 rgba(208,0,0,0.7);
  animation:pulse-dot 2s infinite;
}
@keyframes pulse-dot{
  0%{box-shadow:0 0 0 0 rgba(208,0,0,0.7);}
  70%{box-shadow:0 0 0 8px rgba(208,0,0,0);}
  100%{box-shadow:0 0 0 0 rgba(208,0,0,0);}
}

@media (max-width:900px){
  .topbar-inner{justify-content:center;padding:10px 20px;gap:12px;}
  .topbar-info{justify-content:center;gap:6px;}
  .topbar-info > *{padding:4px 10px;}
  .topbar-info > * + *::before{display:none;}
  .topbar-info .lbl{display:none;}
}
@media (max-width:600px){
  .topbar-badge{display:none;}
}

/* ============================================================
   HEADER / NAVIGATION
   ============================================================ */
.header{
  background:#fff;
  border-bottom:1px solid var(--grey-200);
  position:sticky;top:0;z-index:100;
  box-shadow:var(--shadow-sm);
}
.header-inner{
  max-width:var(--maxw);margin:0 auto;padding:14px 32px;
  display:flex;align-items:center;justify-content:space-between;gap:32px;
}
.logo{
  display:inline-flex;flex-direction:column;align-items:center;
  gap:4px;line-height:1;text-align:center;
}
.logo img{height:50px;width:auto;background:transparent;display:block;}
.logo-tag{
  font-family:'Oswald',sans-serif;font-weight:600;
  font-size:10px;color:var(--red);
  letter-spacing:.22em;text-transform:uppercase;
  white-space:nowrap;
}

.nav{display:flex;align-items:center;gap:6px;}
.nav a{
  font-family:'Oswald',sans-serif;font-weight:500;font-size:14px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--navy);
  padding:10px 16px;border-bottom:2px solid transparent;
  transition:all .2s;
}
.nav a:hover{color:var(--red);}
.nav a.active{color:var(--red);border-bottom-color:var(--red);}

.header-cta{display:flex;align-items:center;gap:14px;}
.header-cta .btn{padding:12px 22px;font-size:12px;}

/* Mobile toggle */
.menu-toggle{
  display:none;width:42px;height:42px;
  background:var(--navy);color:#fff;
  align-items:center;justify-content:center;border-radius:4px;
}
.menu-toggle svg{width:20px;height:20px;fill:#fff;}

@media (max-width:1024px){
  .nav,.header-cta{display:none;}
  .menu-toggle{display:inline-flex;}
  .nav.open{
    display:flex;flex-direction:column;align-items:stretch;gap:0;
    position:absolute;top:100%;left:0;right:0;
    background:#fff;border-top:1px solid var(--grey-200);
    box-shadow:var(--shadow-md);padding:8px 0;
  }
  .nav.open a{
    padding:14px 32px;border-bottom:1px solid var(--grey-100);
    border-left:3px solid transparent;
  }
  .nav.open a.active{border-bottom-color:var(--grey-100);border-left-color:var(--red);}
}

/* ============================================================
   HERO (HOME)
   ============================================================ */
.hero{
  background:
    linear-gradient(135deg,rgba(11,37,69,0.88) 0%,rgba(11,37,69,0.70) 55%,rgba(208,0,0,0.55) 100%),
    url('../images/mtl-front.webp') center/cover no-repeat;
  color:#fff;position:relative;
  padding:120px 0 110px;
  overflow:hidden;
}
.hero::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle at 20% 30%,rgba(208,0,0,0.25),transparent 50%),
    radial-gradient(circle at 80% 70%,rgba(26,58,107,0.6),transparent 50%);
  pointer-events:none;
}
.hero-inner{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:0 32px;}
.hero-tag{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);
  padding:8px 18px;border-radius:30px;
  font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  margin-bottom:24px;
}
.hero-tag span{width:8px;height:8px;background:var(--red);border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{
  0%,100%{opacity:1;transform:scale(1);}
  50%{opacity:.5;transform:scale(1.4);}
}
.hero h1{
  color:#fff;font-size:clamp(40px,7vw,82px);line-height:1;
  max-width:920px;margin-bottom:24px;
}
.hero h1 em{color:#ff5252;font-style:normal;}
.hero-desc{
  font-size:18px;line-height:1.8;max-width:660px;color:#d6dce8;
  margin-bottom:36px;font-weight:300;
}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;}
.hero-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:32px;
  margin-top:80px;padding-top:50px;border-top:1px solid rgba(255,255,255,0.15);
}
.hero-stat .num{
  font-family:'Oswald',sans-serif;font-size:46px;font-weight:700;color:#fff;line-height:1;
}
.hero-stat .num span{color:var(--red);}
.hero-stat .label{
  font-size:13px;color:#a8b3c7;margin-top:8px;
  letter-spacing:.12em;text-transform:uppercase;font-weight:500;
}
@media (max-width:768px){
  .hero{padding:80px 0 70px;}
  .hero-stats{grid-template-columns:repeat(2,1fr);gap:24px;margin-top:50px;padding-top:32px;}
  .hero-stat .num{font-size:34px;}
}

/* ============================================================
   PAGE HEADER (interior pages)
   ============================================================ */
.page-head{
  background:
    linear-gradient(135deg,rgba(11,37,69,0.92) 0%,rgba(11,37,69,0.80) 100%),
    url('../images/pipe-yard-1.webp') center/cover no-repeat;
  color:#fff;padding:80px 0 70px;position:relative;overflow:hidden;
}
.page-head.head-products{background:linear-gradient(135deg,rgba(11,37,69,0.90) 0%,rgba(11,37,69,0.78) 100%),url('../images/hsaw-yard.webp') center/cover no-repeat;}
.page-head.head-about{background:linear-gradient(135deg,rgba(11,37,69,0.90) 0%,rgba(11,37,69,0.78) 100%),url('../images/plant-line.webp') center/cover no-repeat;}
.page-head.head-contact{background:linear-gradient(135deg,rgba(11,37,69,0.92) 0%,rgba(11,37,69,0.80) 100%),url('../images/pipe-yard-2.webp') center/cover no-repeat;}
.page-head.head-cert{background:linear-gradient(135deg,rgba(11,37,69,0.92) 0%,rgba(11,37,69,0.82) 100%),url('../images/hydrostatic-testing.webp') center/cover no-repeat;}
.page-head::after{
  content:'';position:absolute;right:-150px;bottom:-150px;
  width:500px;height:500px;border-radius:50%;
  background:rgba(208,0,0,0.12);
}
.page-head-inner{
  position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:0 32px;
  display:flex;justify-content:space-between;align-items:center;gap:40px;
  flex-wrap:wrap;
}
.page-head-left{flex:1 1 380px;min-width:280px;}
.page-head h1{
  color:#fff;font-size:clamp(34px,4.6vw,54px);
  margin:8px 0 12px;line-height:1.05;
}
.page-head-lead{
  color:#cfd6e3;font-size:15px;line-height:1.6;
  max-width:520px;font-weight:300;margin-top:6px;
}
.crumbs{
  display:flex;gap:10px;font-size:12px;color:#cfd6e3;
  letter-spacing:.18em;text-transform:uppercase;font-weight:500;
  align-items:center;
}
.crumbs a{color:#cfd6e3;}
.crumbs a:hover{color:#fff;}
.crumbs a:first-child::before{
  content:'';display:inline-block;width:18px;height:1px;
  background:var(--red);margin-right:10px;vertical-align:middle;
}
.crumbs .sep{color:rgba(255,255,255,0.3);}
.crumbs span:last-child{color:#fff;font-weight:600;}

/* Right-side highlight card on page head */
.page-head-right{
  flex:0 0 auto;display:flex;flex-direction:column;gap:10px;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.12);
  border-left:3px solid var(--red);
  padding:22px 28px;border-radius:6px;
  backdrop-filter:blur(6px);
  min-width:260px;
}
.page-head-right .ph-eyebrow{
  font-family:'Oswald',sans-serif;font-weight:600;
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:#ff8a8a;
}
.page-head-right .ph-rows{display:flex;flex-direction:column;gap:8px;margin-top:6px;}
.page-head-right .ph-row{
  display:flex;align-items:baseline;gap:10px;
  color:#fff;font-family:'Oswald',sans-serif;font-weight:500;
  font-size:14px;letter-spacing:.04em;
}
.page-head-right .ph-row strong{
  color:#fff;font-size:22px;font-weight:700;min-width:54px;
}
.page-head-right .ph-row span{color:#cfd6e3;font-size:12px;letter-spacing:.1em;text-transform:uppercase;}
.page-head-right .ph-cta{
  margin-top:6px;display:inline-flex;align-items:center;gap:8px;
  font-family:'Oswald',sans-serif;font-weight:600;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:#fff;padding-top:10px;
  border-top:1px solid rgba(255,255,255,0.15);
}
.page-head-right .ph-cta svg{width:14px;height:14px;fill:var(--red);}
.page-head-right .ph-cta:hover{color:#ff8a8a;}
@media (max-width:780px){
  .page-head-inner{justify-content:center;text-align:left;}
  .page-head-right{width:100%;}
}

/* ============================================================
   INTRO / TWO-COL
   ============================================================ */
.two-col{
  display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;
}
.two-col-img{
  position:relative;border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow-lg);min-height:440px;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);
}
.two-col-img > img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;display:block;}
.two-col-img > svg{width:100%;height:100%;display:block;}
.two-col-img .caption{
  position:absolute;left:0;right:0;bottom:0;
  background:linear-gradient(to top,rgba(7,26,51,0.85),transparent);
  color:#fff;padding:36px 28px 20px;
  font-family:'Oswald',sans-serif;letter-spacing:.18em;font-weight:600;
  font-size:13px;text-transform:uppercase;z-index:2;
}
.two-col-img .caption span{color:#ff5252;display:block;font-size:11px;margin-bottom:4px;letter-spacing:.25em;}
.two-col-img.with-frame::after{
  content:'';position:absolute;inset:-20px;border:3px solid var(--red);
  z-index:-1;border-radius:var(--radius);
}
@media (max-width:900px){
  .two-col{grid-template-columns:1fr;gap:40px;}
  .two-col-img{min-height:300px;}
}

/* ============================================================
   FEATURE / CARD GRID
   ============================================================ */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;}
@media (max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.grid-3,.grid-4,.grid-2{grid-template-columns:1fr;}}

.card{
  background:#fff;padding:36px 30px;border-radius:var(--radius);
  border:1px solid var(--grey-200);transition:all .3s;
  position:relative;overflow:hidden;
}
.card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--red);transform:scaleX(0);transform-origin:left;
  transition:transform .3s;
}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:transparent;}
.card:hover::before{transform:scaleX(1);}
.card-icon{
  width:60px;height:60px;border-radius:50%;
  background:var(--red-soft);color:var(--red);
  display:inline-flex;align-items:center;justify-content:center;
  margin-bottom:22px;
}
.card-icon svg{width:28px;height:28px;}
.card h3{font-size:20px;margin-bottom:12px;}
.card p{color:var(--grey-700);font-size:15px;line-height:1.7;}

/* ============================================================
   PRODUCT CARDS
   ============================================================ */
.product{
  background:#fff;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--grey-200);transition:all .3s;
  display:flex;flex-direction:column;
}
.product:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.product-img{
  aspect-ratio:4/3;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);
  position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;
}
.product-img > img{
  width:100%;height:100%;object-fit:cover;position:absolute;inset:0;
  transition:transform .5s ease;
}
.product:hover .product-img > img{transform:scale(1.06);}
.product-img::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(11,37,69,0.25),transparent 40%);
  pointer-events:none;
}
.product-img > svg{width:80px;height:80px;opacity:.6;position:relative;z-index:1;}
.product-img .tag{
  position:absolute;top:14px;left:14px;
  background:var(--red);color:#fff;padding:6px 12px;
  font-size:11px;font-weight:700;letter-spacing:.15em;
}
.product-body{padding:26px;flex:1;display:flex;flex-direction:column;}
.product-body h3{font-size:19px;margin-bottom:10px;}
.product-body p{color:var(--grey-700);font-size:14px;margin-bottom:18px;flex:1;}
.product-meta{
  display:flex;gap:16px;font-size:12px;color:var(--grey-600);
  border-top:1px solid var(--grey-100);padding-top:14px;
  text-transform:uppercase;letter-spacing:.1em;
}
.product-meta b{color:var(--navy);font-weight:700;}

/* ============================================================
   SPEC TABLE — premium technical data presentation
   ============================================================ */
.spec-wrap{
  margin:24px 0 0;
  background:#fff;border-radius:10px;overflow:hidden;
  box-shadow:0 12px 36px rgba(11,37,69,0.10);
  border:1px solid var(--grey-200);
  position:relative;
}
.spec-wrap::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--red),var(--navy));
  z-index:2;
}
.spec-scroll{overflow-x:auto;}
.spec-table{
  width:100%;border-collapse:separate;border-spacing:0;background:#fff;
  font-size:14.5px;min-width:680px;
}
.spec-table th,.spec-table td{
  padding:16px 22px;text-align:left;border-bottom:1px solid var(--grey-100);
  transition:background .2s;
}
.spec-table thead th{
  background:linear-gradient(180deg,var(--navy) 0%,var(--navy-dark) 100%);
  color:#fff;
  font-family:'Oswald',sans-serif;letter-spacing:.12em;
  text-transform:uppercase;font-size:12px;font-weight:600;
  padding:18px 22px;position:sticky;top:0;
  border-bottom:none;white-space:nowrap;
}
.spec-table thead th:first-child{
  border-left:3px solid var(--red);
}
.spec-table tbody tr:nth-child(even) td{background:#fafbfd;}
.spec-table tbody tr:hover td{
  background:rgba(208,0,0,0.04);
  color:var(--navy);
}
.spec-table td:first-child{
  font-family:'Oswald',sans-serif;font-weight:600;
  color:var(--navy);font-size:15px;letter-spacing:.02em;
}
.spec-table td:first-child::before{
  content:'';display:inline-block;width:6px;height:6px;
  background:var(--red);border-radius:50%;margin-right:10px;
  vertical-align:middle;opacity:0;transition:opacity .2s;
}
.spec-table tbody tr:hover td:first-child::before{opacity:1;}
.spec-table tr:last-child td{border-bottom:none;}
.spec-foot{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;
  padding:14px 22px;background:var(--grey-50);
  border-top:1px solid var(--grey-200);font-size:12.5px;color:var(--grey-700);gap:12px;
}
.spec-foot strong{color:var(--navy);}
.spec-foot a{color:var(--red);font-weight:600;}

/* ============================================================
   COATING CARDS — visual coating-system cards
   ============================================================ */
.coating-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:24px;
}
.coat-card{
  background:#fff;border:1px solid var(--grey-200);border-radius:10px;
  padding:30px 22px 26px;text-align:center;
  position:relative;overflow:hidden;
  transition:all .35s ease;
  display:flex;flex-direction:column;
}
.coat-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:4px;
  background:var(--accent,var(--red));
  transform:scaleX(0);transform-origin:left;transition:transform .4s ease;
}
.coat-card:hover{
  transform:translateY(-8px);
  box-shadow:0 18px 42px rgba(11,37,69,0.18);
  border-color:transparent;
}
.coat-card:hover::before{transform:scaleX(1);}
.coat-badge{
  width:74px;height:74px;border-radius:50%;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-family:'Oswald',sans-serif;font-weight:700;font-size:18px;
  margin:0 auto 18px;letter-spacing:.04em;
  border:3px solid var(--accent,var(--red));
  box-shadow:0 6px 18px rgba(11,37,69,0.25);
}
.coat-badge.small{font-size:11px;letter-spacing:0;text-align:center;line-height:1.1;}
.coat-card h4{
  font-size:15px;color:var(--navy);margin-bottom:6px;
  letter-spacing:.04em;line-height:1.2;
}
.coat-card .coat-type{
  font-size:11px;color:var(--red);font-weight:700;
  text-transform:uppercase;letter-spacing:.18em;
  margin-bottom:18px;
}
.coat-meta{
  display:flex;flex-direction:column;gap:8px;
  padding:14px 0;margin:0 0 14px;
  border-top:1px solid var(--grey-100);
  border-bottom:1px solid var(--grey-100);
  font-size:12px;text-align:left;
}
.coat-meta div{display:flex;justify-content:space-between;gap:8px;}
.coat-meta b{
  color:var(--navy);font-weight:600;text-transform:uppercase;
  letter-spacing:.08em;font-size:10.5px;
}
.coat-meta span{color:var(--grey-700);font-weight:500;}
.coat-use{
  font-size:12.5px;color:var(--grey-700);line-height:1.5;
  margin-top:auto;font-style:italic;
}
@media (max-width:1100px){.coating-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:700px){.coating-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:440px){.coating-grid{grid-template-columns:1fr;}}

/* ============================================================
   STANDARDS GRID — origin-badged compliance cards
   ============================================================ */
.standards-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px;
}
.std-card{
  background:#fff;border:1px solid var(--grey-200);border-radius:10px;
  padding:26px 22px 22px;
  position:relative;overflow:hidden;
  transition:all .3s ease;
  display:flex;flex-direction:column;gap:12px;
}
.std-card::before{
  content:'';position:absolute;top:0;left:0;bottom:0;width:4px;
  background:var(--region-color,var(--red));
  transform:scaleY(0);transform-origin:top;transition:transform .35s ease;
}
.std-card:hover{
  transform:translateY(-5px);
  box-shadow:0 14px 34px rgba(11,37,69,0.14);
  border-color:transparent;
}
.std-card:hover::before{transform:scaleY(1);}
.std-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.std-name{
  font-family:'Oswald',sans-serif;font-weight:700;font-size:20px;
  color:var(--navy);letter-spacing:.04em;line-height:1;
}
.std-flag{
  font-family:'Oswald',sans-serif;font-weight:600;font-size:9.5px;
  letter-spacing:.18em;text-transform:uppercase;
  padding:5px 10px;border-radius:30px;color:#fff;
  background:var(--region-color,var(--navy));white-space:nowrap;
}
.std-card p{
  font-size:13.5px;color:var(--grey-700);line-height:1.6;margin:0;
}
.std-region{
  font-size:11px;color:var(--grey-600);letter-spacing:.12em;
  text-transform:uppercase;font-weight:600;margin-top:auto;padding-top:6px;
}
@media (max-width:1000px){.standards-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:500px){.standards-grid{grid-template-columns:1fr;}}

/* ============================================================
   STATS STRIP
   ============================================================ */
.stats-strip{
  display:grid;grid-template-columns:repeat(4,1fr);
  background:
    linear-gradient(135deg,rgba(11,37,69,0.94) 0%,rgba(11,37,69,0.92) 100%),
    url('../images/pipe-yard-2.webp') center/cover no-repeat;
  color:#fff;
}
.stat-item{
  padding:48px 24px;text-align:center;
  border-right:1px solid rgba(255,255,255,0.08);
}
.stat-item:last-child{border-right:none;}
.stat-item .num{
  font-family:'Oswald',sans-serif;font-size:48px;font-weight:700;
  color:#fff;line-height:1;
}
.stat-item .num span{color:var(--red);}
.stat-item .label{
  font-size:12px;color:#a8b3c7;margin-top:10px;
  text-transform:uppercase;letter-spacing:.18em;font-weight:500;
}
@media (max-width:768px){
  .stats-strip{grid-template-columns:repeat(2,1fr);}
  .stat-item{border-bottom:1px solid rgba(255,255,255,0.08);}
  .stat-item:nth-child(odd){border-right:1px solid rgba(255,255,255,0.08);}
  .stat-item:nth-child(even){border-right:none;}
}

/* ============================================================
   CLIENT LOGO SCROLLER — infinite horizontal marquee
   ============================================================ */
.logo-marquee{
  position:relative;overflow:hidden;
  padding:40px 0;
  background:linear-gradient(180deg,var(--white) 0%,var(--grey-50) 100%);
  border-top:1px solid var(--grey-200);
  border-bottom:1px solid var(--grey-200);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);
  margin:36px 0 0;
}
.logo-track{
  display:flex;align-items:flex-start;gap:36px;
  width:max-content;
  animation:logo-scroll 55s linear infinite;
  will-change:transform;
}
.logo-item{
  flex:0 0 auto;
  display:flex;flex-direction:column;align-items:center;
  width:150px;text-align:center;gap:12px;
  position:relative;
}
.logo-item .logo-circle{
  width:120px;height:120px;border-radius:50%;
  background:#fff;
  border:1px solid var(--grey-200);
  box-shadow:0 4px 14px rgba(11,37,69,0.08);
  overflow:hidden;padding:14px;
  display:flex;align-items:center;justify-content:center;
}
.logo-item img{
  max-width:100%;max-height:100%;width:auto;height:auto;
  object-fit:contain;display:block;
}
.logo-item .name{
  font-family:'Oswald',sans-serif;font-weight:600;
  font-size:12px;letter-spacing:.06em;
  color:var(--navy);line-height:1.3;
  text-transform:uppercase;
}
.logo-item .name small{
  display:block;font-size:10px;font-weight:500;
  color:var(--red);letter-spacing:.12em;
  margin-top:3px;
}
.logo-item .tip{display:none;}

@keyframes logo-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(calc(-50% - 18px));}
}

/* Touch devices: native horizontal swipe instead of auto-scroll */
@media (hover:none){
  .logo-marquee{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .logo-track{animation:none;}
}

@media (max-width:900px){
  .logo-marquee{padding:32px 0;margin:28px 0 0;}
  .logo-track{gap:28px;animation-duration:48s;}
  .logo-item{width:128px;gap:10px;}
  .logo-item .logo-circle{width:100px;height:100px;padding:12px;}
  .logo-item .name{font-size:11px;}
  .logo-item .name small{font-size:9.5px;}
}
@media (max-width:640px){
  .logo-marquee{padding:24px 0;}
  .logo-track{gap:18px;animation-duration:40s;}
  .logo-item{width:110px;gap:8px;}
  .logo-item .logo-circle{width:84px;height:84px;padding:10px;}
  .logo-item .name{font-size:10.5px;letter-spacing:.04em;}
  .logo-item .name small{font-size:9px;}
}

/* ============================================================
   PROCESS FLOW — Manufacturing stages
   ============================================================ */
.process-flow{
  display:grid;grid-template-columns:repeat(6,1fr);gap:14px;
  position:relative;margin-top:20px;
}
.process-step{
  background:#fff;
  border:1px solid var(--grey-200);
  border-radius:var(--radius);
  padding:30px 16px 22px;
  text-align:center;position:relative;
  transition:all .35s ease;
  display:flex;flex-direction:column;align-items:center;
}
.process-step:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 36px rgba(11,37,69,0.15);
  border-color:transparent;
  background:linear-gradient(180deg,#fff 0%,var(--grey-50) 100%);
}
.process-step::after{
  content:'';position:absolute;
  right:-13px;top:50%;transform:translateY(-50%);
  width:0;height:0;
  border-left:9px solid var(--red);
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  z-index:2;
}
.process-step:last-child::after{display:none;}
.process-num{
  width:54px;height:54px;border-radius:50%;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-family:'Oswald',sans-serif;font-weight:700;font-size:18px;
  margin-bottom:14px;
  border:3px solid var(--red);
  box-shadow:0 6px 16px rgba(11,37,69,0.25);
  position:relative;
}
.process-num::before{
  content:'';position:absolute;inset:-7px;border-radius:50%;
  border:1px dashed rgba(208,0,0,0.35);
  opacity:0;transition:opacity .3s;
}
.process-step:hover .process-num::before{opacity:1;}
.process-icon{
  width:42px;height:42px;color:var(--red);margin-bottom:14px;
  display:flex;align-items:center;justify-content:center;
}
.process-icon svg{width:100%;height:100%;}
.process-step h4{
  font-size:15px;color:var(--navy);margin-bottom:8px;
  letter-spacing:.04em;line-height:1.2;
}
.process-step p{
  font-size:13px;color:var(--grey-700);line-height:1.55;
}
@media (max-width:1100px){
  .process-flow{grid-template-columns:repeat(3,1fr);gap:20px;}
  /* hide horizontal arrow on every step, we don't use the rotated arrow trick — too fragile */
  .process-step::after{display:none;}
}
@media (max-width:640px){
  .process-flow{grid-template-columns:repeat(2,1fr);gap:14px;}
}
@media (max-width:380px){
  .process-flow{grid-template-columns:1fr;}
}

/* ============================================================
   CLIENTS — Government & Institutional
   ============================================================ */
.clients-section{
  background:
    linear-gradient(180deg,var(--grey-50) 0%,var(--white) 100%);
  position:relative;
}
.clients-grid{
  display:flex;flex-wrap:wrap;justify-content:center;gap:18px;
}
.client-card{flex:0 0 calc(25% - 14px);}
@media (max-width:1000px){.client-card{flex:0 0 calc(33.333% - 12px);}}
@media (max-width:720px){.client-card{flex:0 0 calc(50% - 9px);}}
@media (max-width:440px){.client-card{flex:0 0 100%;}}

.client-card{
  background:#fff;
  border:1px solid var(--grey-200);
  border-radius:var(--radius);
  padding:26px 18px;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  position:relative;overflow:hidden;
  transition:all .3s ease;
  min-height:180px;justify-content:center;
  box-sizing:border-box;
}
.client-card::before{
  content:'';position:absolute;top:0;left:0;width:100%;height:3px;
  background:linear-gradient(90deg,var(--red),var(--red-dark));
  transform:scaleX(0);transform-origin:center;
  transition:transform .3s ease;
}
.client-card:hover{
  transform:translateY(-5px);
  box-shadow:0 14px 32px rgba(11,37,69,0.14);
  border-color:transparent;
}
.client-card:hover::before{transform:scaleX(1);}

.client-emblem{
  width:54px;height:54px;border-radius:50%;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-family:'Oswald',sans-serif;font-weight:700;
  font-size:14px;letter-spacing:.05em;
  margin-bottom:14px;flex-shrink:0;
  border:2px solid rgba(208,0,0,0.5);
  box-shadow:0 4px 12px rgba(11,37,69,0.18);
  text-align:center;line-height:1;
}
.client-emblem.small{font-size:11px;letter-spacing:0;}
.client-card h4{
  font-family:'Oswald',sans-serif;font-weight:600;
  font-size:14px;color:var(--navy);line-height:1.3;
  letter-spacing:.02em;text-transform:none;margin-bottom:6px;
}
.client-card .region{
  font-size:11px;color:var(--red);font-weight:700;
  text-transform:uppercase;letter-spacing:.16em;
  display:inline-flex;align-items:center;gap:6px;
}
.client-card .region::before{
  content:'';width:5px;height:5px;border-radius:50%;background:var(--red);
}

.clients-marquee{
  margin-top:54px;padding:38px 28px;
  background:linear-gradient(90deg,var(--navy) 0%,var(--navy-light) 50%,var(--navy) 100%);
  color:#fff;border-radius:var(--radius);text-align:center;
  box-shadow:0 14px 38px rgba(11,37,69,0.18);
  position:relative;overflow:hidden;
}
.clients-marquee::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--red),transparent);
}
.cm-headline{
  display:flex;justify-content:center;align-items:center;gap:20px 38px;
  flex-wrap:wrap;
}
.cm-stat{
  display:inline-flex;align-items:baseline;gap:10px;
  font-family:'Oswald',sans-serif;font-size:13px;
  letter-spacing:.16em;text-transform:uppercase;
  color:#cfd6e3;line-height:1;
}
.cm-stat strong{
  color:var(--red);font-size:32px;font-weight:700;
  letter-spacing:.02em;line-height:1;
}
.cm-sep{
  width:6px;height:6px;border-radius:50%;
  background:var(--red);opacity:.55;flex-shrink:0;
}
.cm-sub{
  margin-top:18px;padding-top:18px;
  border-top:1px solid rgba(255,255,255,0.12);
  font-family:'Roboto',sans-serif;font-size:13px;color:#a8b3c7;
  letter-spacing:.14em;text-transform:uppercase;font-weight:500;
}
.cm-sub span{color:#fff;font-weight:600;}
@media (max-width:600px){
  .cm-headline{gap:14px 24px;}
  .cm-stat strong{font-size:26px;}
  .cm-stat{font-size:11px;}
  .cm-sub{font-size:11px;letter-spacing:.1em;}
}

/* ============================================================
   CERTIFICATIONS
   ============================================================ */
.cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
@media (max-width:900px){.cert-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.cert-grid{grid-template-columns:1fr;}}
.cert-card{
  background:#fff;padding:36px 24px;text-align:center;
  border-radius:var(--radius);border:1px solid var(--grey-200);
  transition:all .3s;
}
.cert-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.cert-badge{
  width:84px;height:84px;border-radius:50%;
  background:var(--red-soft);color:var(--red);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px;font-family:'Oswald',sans-serif;
  font-weight:700;font-size:13px;border:2px solid var(--red);
  letter-spacing:.05em;text-align:center;line-height:1.1;
}
.cert-card h3{font-size:18px;margin-bottom:8px;}
.cert-card p{font-size:13px;color:var(--grey-600);margin-bottom:14px;}
.cert-card a{
  font-family:'Oswald',sans-serif;font-size:12px;font-weight:600;
  color:var(--red);letter-spacing:.14em;text-transform:uppercase;
}
.cert-card a:hover{color:var(--red-dark);}

/* ============================================================
   CTA STRIP
   ============================================================ */
.cta-strip{
  background:
    linear-gradient(135deg,rgba(11,37,69,0.94) 0%,rgba(26,58,107,0.88) 60%,rgba(208,0,0,0.75) 130%),
    url('../images/pipe-stack-1.webp') center/cover no-repeat;
  padding:70px 0;text-align:center;color:#fff;
}
.cta-strip h2{color:#fff;margin-bottom:14px;}
.cta-strip p{max-width:600px;margin:0 auto 28px;color:#d6dce8;font-size:17px;}
.cta-strip .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{
  background:var(--navy-dark);color:#a8b3c7;
  padding:70px 0 0;font-size:14px;
}
.footer-grid{
  display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:50px;
  padding-bottom:50px;
}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:36px;}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr;}}
.footer h4{
  font-size:15px;color:#fff;margin-bottom:22px;
  letter-spacing:.1em;
}
.footer-brand img{
  height:60px;width:auto;margin-bottom:18px;
  background:rgba(255,255,255,0.97);
  padding:10px 14px;border-radius:6px;
  box-shadow:0 4px 16px rgba(0,0,0,0.18);
}
.footer-brand p{line-height:1.7;color:#a8b3c7;}
.footer-links li{margin-bottom:10px;}
.footer-links a{color:#a8b3c7;transition:color .2s,padding .2s;display:inline-block;}
.footer-links a:hover{color:var(--red);padding-left:6px;}
.footer-contact li{
  display:flex;gap:12px;margin-bottom:14px;line-height:1.6;
}
.footer-contact svg{width:18px;height:18px;flex-shrink:0;color:var(--red);margin-top:2px;}
.footer-contact a{color:#a8b3c7;}
.footer-contact a:hover{color:#fff;}
.footer-social{display:flex;gap:10px;margin-top:18px;}
.footer-social a{
  width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,0.08);border-radius:50%;transition:background .2s;
}
.footer-social a:hover{background:var(--red);}
.footer-social svg{width:15px;height:15px;fill:#fff;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.08);
  padding:22px 0;text-align:center;
  color:#7a869e;font-size:13px;
}

/* ============================================================
   CONTACT / FORMS
   ============================================================ */
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:40px;}}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
@media (max-width:600px){.form-row{grid-template-columns:1fr;}}
.field{margin-bottom:18px;}
.field label{
  display:block;font-size:12px;font-weight:600;color:var(--navy);
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;
}
.field input,.field textarea,.field select{
  width:100%;padding:14px 16px;
  border:1px solid var(--grey-300);background:#fff;
  font-family:inherit;font-size:15px;color:var(--text);
  border-radius:var(--radius);transition:border-color .2s,box-shadow .2s;
}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(208,0,0,0.12);
}
.field textarea{resize:vertical;min-height:130px;}

.info-card{
  background:#fff;padding:32px;border-radius:var(--radius);
  border:1px solid var(--grey-200);margin-bottom:18px;
}
.info-card h4{font-size:14px;color:var(--red);letter-spacing:.18em;margin-bottom:10px;}
.info-card p{color:var(--grey-700);line-height:1.7;}
.info-card a{color:var(--navy);font-weight:600;}
.info-card a:hover{color:var(--red);}

.map-wrap{
  border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow-md);height:420px;
}
.map-wrap iframe{width:100%;height:100%;border:0;display:block;}

/* ============================================================
   MISC
   ============================================================ */
.text-center{text-align:center;}
.mt-0{margin-top:0;}
.mb-0{margin-bottom:0;}
.mb-40{margin-bottom:40px;}
.mb-60{margin-bottom:60px;}

.heading-wrap{text-align:center;max-width:760px;margin:0 auto 60px;}
.heading-wrap .eyebrow{justify-content:center;}
.heading-wrap .eyebrow::before{display:none;}
.heading-wrap .divider{margin:18px auto 22px;}

/* List with bullets */
.bullet-list{margin:18px 0;}
.bullet-list li{
  position:relative;padding-left:28px;margin-bottom:12px;
  color:var(--grey-700);line-height:1.7;
}
.bullet-list li::before{
  content:'';position:absolute;left:0;top:10px;
  width:14px;height:2px;background:var(--red);
}

/* Accordion / Apps */
.app-item{
  background:#fff;padding:24px 28px;border-radius:var(--radius);
  border:1px solid var(--grey-200);display:flex;gap:20px;align-items:flex-start;
  transition:all .3s;
}
.app-item:hover{box-shadow:var(--shadow-sm);border-color:var(--red);}
.app-num{
  flex-shrink:0;width:44px;height:44px;border-radius:50%;
  background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;
  font-family:'Oswald',sans-serif;font-weight:700;font-size:16px;
}
.app-item h4{font-size:17px;margin-bottom:6px;}
.app-item p{color:var(--grey-700);font-size:14px;line-height:1.6;}

/* Print-friendly */
@media print{
  .topbar,.header,.footer,.cta-strip,.menu-toggle{display:none;}
  body{color:#000;}
}

/* ============================================================
   RESPONSIVE OVERHAUL — Tablet & Mobile
   Comprehensive overrides for screens ≤ 1024px
   ============================================================ */

/* ── TABLET LANDSCAPE & BELOW (≤ 1024px) ───────────────── */
@media (max-width:1024px){
  .wrap{padding:0 28px;}
  .section{padding:70px 0;}
  .section-sm{padding:50px 0;}
  .h-display{font-size:clamp(34px,5vw,52px);}
  .h-section{font-size:clamp(26px,3.4vw,40px);}
  .heading-wrap{margin:0 auto 48px;}

  /* Hero */
  .hero{padding:90px 0 80px;}
  .hero h1{font-size:clamp(38px,6vw,64px);}
  .hero-desc{font-size:16px;}
  .hero-stats{grid-template-columns:repeat(4,1fr);gap:24px;margin-top:60px;padding-top:36px;}
  .hero-stat .num{font-size:36px;}
  .hero-stat .label{font-size:12px;}

  /* Page-head right card stacks under */
  .page-head{padding:60px 0 50px;}
  .page-head-inner{flex-direction:column;align-items:flex-start;gap:28px;}
  .page-head-left{flex:1 1 auto;width:100%;min-width:0;}
  .page-head-right{width:100%;min-width:0;}
}

/* ── TABLET PORTRAIT (≤ 900px) ──────────────────────────── */
@media (max-width:900px){
  .wrap{padding:0 24px;}
  .section{padding:60px 0;}
  .section-sm{padding:45px 0;}
  .heading-wrap{margin:0 auto 40px;}

  /* Topbar — info wraps cleanly, badge already hidden */
  .topbar{font-size:12.5px;}
  .topbar-inner{padding:10px 24px;gap:10px;}
  .topbar-info{justify-content:center;gap:4px;}
  .topbar-info > *{padding:4px 8px;font-size:12px;}
  .topbar-info .ico{width:26px;height:26px;}
  .topbar-info .val{font-size:12px;}

  /* Header logo slightly smaller */
  .header-inner{padding:12px 24px;gap:16px;}
  .logo img{height:44px;}
  .logo-tag{font-size:9px;letter-spacing:.18em;}
  .menu-toggle{width:40px;height:40px;}

  /* Hero — more breathing room */
  .hero{padding:70px 0 60px;}
  .hero-inner{padding:0 24px;}
  .hero h1{font-size:clamp(34px,7.5vw,52px);line-height:1.05;}
  .hero-tag{font-size:10px;padding:7px 14px;margin-bottom:18px;}
  .hero-desc{font-size:15px;margin-bottom:28px;}
  .hero-btns .btn{padding:13px 22px;font-size:12px;}
  .hero-stats{grid-template-columns:repeat(2,1fr);gap:20px;margin-top:44px;padding-top:30px;}
  .hero-stat .num{font-size:32px;}

  /* Two-column → stacked */
  .two-col{gap:32px;}
  .two-col-img{min-height:280px;}

  /* Cards & grids */
  .card{padding:28px 22px;}
  .card h3{font-size:18px;}
  .card-icon{width:52px;height:52px;margin-bottom:18px;}
  .card-icon svg{width:24px;height:24px;}

  /* Process flow — already 3-col handled, ensure no wide arrows */
  .process-step{padding:24px 14px 18px;}
  .process-num{width:48px;height:48px;font-size:16px;}

  /* Coating cards */
  .coat-card{padding:24px 18px 22px;}
  .coat-badge{width:64px;height:64px;font-size:16px;margin-bottom:14px;}

  /* Standards cards */
  .std-card{padding:22px 18px 18px;gap:10px;}
  .std-name{font-size:18px;}
  .std-flag{font-size:9px;padding:4px 9px;}

  /* Cert lightbox cards */
  .cert-card-full{grid-template-columns:1fr !important;text-align:left;padding:24px;gap:22px;}
  .cert-thumb{max-width:380px;margin:0 auto;}

  /* Spec table — slightly tighter */
  .spec-table th,.spec-table td{padding:13px 16px;font-size:13.5px;}
  .spec-table thead th{font-size:11px;padding:14px 16px;}

  /* Page head */
  .page-head{padding:50px 0 44px;}
  .page-head-inner{padding:0 24px;}
  .page-head h1{font-size:clamp(30px,5.5vw,44px);}
  .page-head-lead{font-size:14px;}
  .page-head-right{padding:20px 24px;}

  /* Stats strip */
  .stat-item{padding:36px 18px;}
  .stat-item .num{font-size:36px;}
  .stat-item .label{font-size:11px;letter-spacing:.14em;}

  /* CTA strip */
  .cta-strip{padding:54px 0;}
  .cta-strip p{font-size:15px;}

  /* Clients marquee */
  .clients-marquee{padding:30px 22px;margin-top:42px;}
  .cm-headline{gap:14px 28px;}
  .cm-stat strong{font-size:26px;}
  .cm-stat{font-size:11.5px;letter-spacing:.12em;}
  .cm-sub{font-size:11.5px;letter-spacing:.1em;}

  /* Footer */
  .footer{padding:54px 0 0;}
  .footer-grid{padding-bottom:40px;gap:30px;}

  /* Contact info-card */
  .info-card{padding:24px;}

  /* Forms */
  .field input,.field textarea,.field select{padding:12px 14px;font-size:14px;}
  .field label{font-size:11px;}

  /* Bullet list & app-item */
  .app-item{padding:20px 22px;gap:16px;}
  .app-item h4{font-size:15px;}
  .app-item p{font-size:13.5px;}
  .app-num{width:38px;height:38px;font-size:14px;}
}

/* ── MOBILE (≤ 640px) ───────────────────────────────────── */
@media (max-width:640px){
  .wrap{padding:0 20px;}
  .section{padding:50px 0;}
  .section-sm{padding:36px 0;}
  .heading-wrap{margin:0 auto 32px;}
  .h-display{font-size:clamp(28px,7.5vw,42px);}
  .h-section{font-size:clamp(22px,6.5vw,32px);}

  /* Topbar — even tighter, single-line scroll if needed */
  .topbar{font-size:11.5px;}
  .topbar-inner{padding:8px 18px;gap:6px;}
  .topbar-info{flex-wrap:wrap;justify-content:center;gap:2px 6px;}
  .topbar-info > *{padding:3px 6px;gap:6px;}
  .topbar-info .ico{width:22px;height:22px;}
  .topbar-info .ico svg{width:11px;height:11px;}
  .topbar-info .val{font-size:11.5px;font-weight:600;}
  .topbar-info .lbl{display:none;}

  /* Header */
  .header-inner{padding:10px 20px;gap:10px;}
  .logo img{height:40px;}
  .logo-tag{font-size:8.5px;letter-spacing:.16em;}
  .menu-toggle{width:38px;height:38px;}

  /* Hero */
  .hero{padding:54px 0 50px;}
  .hero-inner{padding:0 20px;}
  .hero h1{font-size:clamp(28px,8vw,40px);line-height:1.08;margin-bottom:18px;}
  .hero-tag{font-size:9.5px;padding:6px 12px;margin-bottom:14px;letter-spacing:.16em;}
  .hero-desc{font-size:14.5px;line-height:1.7;margin-bottom:24px;}
  .hero-btns{gap:10px;}
  .hero-btns .btn{padding:12px 18px;font-size:11px;flex:1 1 auto;justify-content:center;}
  .hero-stats{grid-template-columns:repeat(2,1fr);gap:18px;margin-top:36px;padding-top:24px;}
  .hero-stat .num{font-size:26px;}
  .hero-stat .label{font-size:10px;letter-spacing:.1em;}

  /* Page head */
  .page-head{padding:40px 0 36px;}
  .page-head-inner{padding:0 20px;gap:22px;}
  .page-head h1{font-size:clamp(26px,7vw,36px);}
  .page-head-lead{font-size:13.5px;}
  .page-head-right{padding:18px 20px;min-width:0;}
  .page-head-right .ph-row strong{font-size:18px;min-width:46px;}
  .page-head-right .ph-row span{font-size:11px;}
  .crumbs{font-size:10.5px;letter-spacing:.14em;}
  .crumbs a:first-child::before{width:14px;margin-right:8px;}

  /* Sections — tighten heading wrap */
  .eyebrow{font-size:10px;letter-spacing:.2em;margin-bottom:12px;}
  .divider{width:42px;height:2px;}
  .lead{font-size:15px;line-height:1.7;}

  /* Cards */
  .card{padding:24px 20px;}
  .card h3{font-size:17px;}
  .card p{font-size:14px;}
  .card-icon{width:48px;height:48px;margin-bottom:16px;}

  /* Two-col */
  .two-col{gap:28px;}
  .two-col-img{min-height:240px;}

  /* Stats strip */
  .stat-item{padding:28px 14px;}
  .stat-item .num{font-size:30px;}
  .stat-item .label{font-size:10px;letter-spacing:.12em;margin-top:8px;}

  /* Process flow */
  .process-step{padding:22px 12px 18px;min-height:auto;}
  .process-num{width:44px;height:44px;font-size:14px;margin-bottom:12px;}
  .process-icon{width:34px;height:34px;margin-bottom:10px;}
  .process-step h4{font-size:13.5px;letter-spacing:.02em;}
  .process-step p{font-size:12px;line-height:1.5;}

  /* Coating cards */
  .coat-card{padding:22px 16px 20px;}
  .coat-badge{width:60px;height:60px;font-size:15px;}
  .coat-card h4{font-size:14px;}
  .coat-card .coat-type{font-size:10px;margin-bottom:14px;letter-spacing:.15em;}
  .coat-meta{font-size:11px;padding:12px 0;}
  .coat-meta b{font-size:9.5px;}
  .coat-use{font-size:12px;}

  /* Standards */
  .std-card{padding:20px 16px 16px;}
  .std-name{font-size:16px;}
  .std-flag{font-size:8.5px;letter-spacing:.14em;padding:4px 8px;}
  .std-card p{font-size:12.5px;}
  .std-region{font-size:10px;}

  /* Spec table — reduce visual size, allow horizontal scroll */
  .spec-table{font-size:12.5px;min-width:560px;}
  .spec-table th,.spec-table td{padding:11px 14px;}
  .spec-table thead th{font-size:10.5px;padding:12px 14px;letter-spacing:.08em;}
  .spec-table td:first-child{font-size:13px;}
  .spec-foot{padding:12px 16px;font-size:11.5px;}

  /* Client cards */
  .client-card{padding:22px 16px;min-height:160px;}
  .client-emblem{width:48px;height:48px;font-size:12px;margin-bottom:12px;}
  .client-emblem.small{font-size:9.5px;}
  .client-card h4{font-size:12.5px;}
  .client-card .region{font-size:10px;letter-spacing:.14em;}

  /* Clients marquee — stack stats vertically on very small */
  .clients-marquee{padding:24px 18px;margin-top:32px;}
  .cm-headline{flex-direction:column;gap:12px;}
  .cm-sep{display:none;}
  .cm-stat{font-size:11px;letter-spacing:.1em;}
  .cm-stat strong{font-size:24px;}
  .cm-sub{font-size:10.5px;letter-spacing:.08em;line-height:1.6;}

  /* Facility grid — already 1-col on small */
  .fg-item{height:200px;}
  .fg-item figcaption{font-size:11.5px;padding:24px 14px 12px;letter-spacing:.1em;}

  /* Cert cards */
  .cert-card-full{padding:20px;gap:18px;}
  .cert-card-full h3{font-size:18px;}
  .cert-card-full .scope{font-size:13px;}
  .cert-meta-grid{padding:14px;gap:10px 18px;}
  .cert-meta-grid div b{font-size:9.5px;}
  .cert-meta-grid div span{font-size:12.5px;}
  .cert-actions .btn{padding:10px 16px;font-size:11px;}

  /* Contact */
  .contact-grid{gap:32px;}
  .info-card{padding:22px;}
  .info-card h4{font-size:12px;letter-spacing:.14em;}
  .info-card p{font-size:14px;}

  /* Forms */
  .form-row{gap:14px;margin-bottom:14px;}
  .field{margin-bottom:14px;}
  .field input,.field textarea,.field select{padding:11px 13px;font-size:14px;}

  /* CTA strip */
  .cta-strip{padding:44px 0;}
  .cta-strip p{font-size:14px;line-height:1.6;}
  .cta-strip .btns{gap:10px;}
  .cta-strip .btn{padding:13px 22px;font-size:11.5px;}

  /* Buttons general */
  .btn{padding:13px 22px;font-size:12px;letter-spacing:.12em;}

  /* Footer */
  .footer{padding:44px 0 0;font-size:13px;}
  .footer-grid{padding-bottom:32px;gap:28px;}
  .footer h4{font-size:13.5px;margin-bottom:16px;}
  .footer-brand img{height:50px;}
  .footer-brand p{font-size:13px;line-height:1.6;}
  .footer-contact li{font-size:12.5px;gap:10px;margin-bottom:12px;}
  .footer-bottom{padding:18px 0;font-size:11.5px;}

  /* App-item / process step list */
  .app-item{padding:18px 18px;gap:14px;}
  .app-item h4{font-size:14.5px;}
  .app-item p{font-size:13px;line-height:1.55;}
  .app-num{width:36px;height:36px;font-size:13px;}

  /* Headings inside two-col on mobile shouldn't compete with H1 */
  .two-col h2.h-section{font-size:clamp(22px,5.5vw,30px);}
  .heading-wrap h2.h-section{font-size:clamp(22px,5.5vw,32px);}
}

/* ── SMALL MOBILE (≤ 420px) ─────────────────────────────── */
@media (max-width:420px){
  .wrap{padding:0 16px;}
  .section{padding:42px 0;}

  /* Topbar — hide non-essential, keep just phone + email */
  .topbar-info > *:nth-child(3){display:none;}

  /* Header */
  .header-inner{padding:9px 16px;gap:8px;}
  .logo img{height:36px;}
  .logo-tag{font-size:8px;letter-spacing:.14em;}

  /* Hero buttons stack */
  .hero-btns{flex-direction:column;}
  .hero-btns .btn{width:100%;}

  /* CTA strip buttons stack */
  .cta-strip .btns{flex-direction:column;align-items:stretch;}
  .cta-strip .btn{width:100%;}

  /* Headings inside cards smaller */
  .card h3{font-size:16px;}

  /* Page head right card padding */
  .page-head-right{padding:16px 18px;}
  .page-head-right .ph-cta{font-size:11px;}

  /* Cert thumbnail full width */
  .cert-thumb{max-width:100%;}
}

/* ── DESKTOP NAV CLEANUP ────────────────────────────────── */
@media (min-width:1025px){
  /* Ensure mobile menu can't open on desktop */
  .nav.open{position:static;flex-direction:row;border:none;box-shadow:none;padding:0;}
  .nav.open a{padding:10px 16px;border:none;border-bottom:2px solid transparent;}
  .nav.open a.active{border-bottom-color:var(--red);border-left:none;}
}

/* ============================================================
   MOBILE FIXES — round 2 (screenshot-driven)
   ============================================================ */

/* Anti-overflow safety net */
img,video,iframe,svg,table{max-width:100%;}
section,header,footer,.wrap,.section{max-width:100%;}

/* ── TOPBAR: compact horizontal layout on mobile ─────────── */
@media (max-width:900px){
  .topbar{padding:0;}
  .topbar-inner{
    padding:8px 16px;flex-direction:row;align-items:center;
    justify-content:center;gap:0;
  }
  .topbar-info{
    display:flex;flex-direction:row;flex-wrap:nowrap;
    justify-content:space-around;align-items:center;
    gap:0;width:100%;
  }
  .topbar-info > *{
    flex:1 1 0;min-width:0;padding:6px 4px !important;gap:6px;
    justify-content:center;text-align:center;
  }
  .topbar-info > * + *::before{display:none;}
  .topbar-info .ico{width:28px;height:28px;flex-shrink:0;}
  .topbar-info .lbl{display:none;}
  .topbar-info .val{
    font-size:11.5px;font-weight:600;color:#fff;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    max-width:100%;
  }
}
@media (max-width:640px){
  .topbar-inner{padding:6px 10px;}
  .topbar-info > *{padding:4px 2px !important;gap:5px;}
  .topbar-info .ico{width:24px;height:24px;}
  .topbar-info .ico svg{width:11px;height:11px;}
  .topbar-info .val{font-size:11px;}
  /* Hide values on mobile to show icon-only links — tappable but compact */
  /* Comment out next line if you prefer text visible */
}
@media (max-width:480px){
  /* Show only icons on very small screens to avoid cramping */
  .topbar-info .val{font-size:10px;}
  /* Drop the address text but keep icon link */
  .topbar-info > *:nth-child(3) .val{display:none;}
  .topbar-info > *:nth-child(3){flex:0 0 36px;}
}

/* ── HERO STATS: ensure no wrap on mobile ────────────────── */
@media (max-width:900px){
  .hero-stat .num{font-size:28px;}
  .hero-stat .label{font-size:10.5px;letter-spacing:.1em;line-height:1.3;}
}
@media (max-width:640px){
  .hero-stat .num{font-size:24px;letter-spacing:0;}
  .hero-stat .label{font-size:10px;}
}

/* ── STATS-STRIP: shrink huge numbers on mobile ──────────── */
@media (max-width:900px){
  .stat-item .num{font-size:30px;letter-spacing:0;line-height:1.05;}
  .stat-item .label{font-size:10.5px;line-height:1.3;}
}
@media (max-width:640px){
  .stat-item{padding:24px 10px;}
  .stat-item .num{font-size:24px;}
  .stat-item .label{font-size:9.5px;letter-spacing:.1em;}
}

/* ── PROCESS FLOW: kill ALL arrows on tablet & mobile ───── */
@media (max-width:1100px){
  .process-step::after,
  .process-step:nth-child(1)::after,
  .process-step:nth-child(2)::after,
  .process-step:nth-child(3)::after,
  .process-step:nth-child(4)::after,
  .process-step:nth-child(5)::after,
  .process-step:nth-child(6)::after,
  .process-step:nth-child(3n)::after{
    display:none !important;
  }
}

/* ── PAGE-HEAD: ensure right card doesn't push viewport ── */
@media (max-width:900px){
  .page-head-right{
    width:100% !important;min-width:0 !important;
    max-width:100%;box-sizing:border-box;
  }
  .page-head-right .ph-row strong{font-size:18px;min-width:44px;}
  .page-head-right .ph-row span{font-size:11.5px;letter-spacing:.08em;}
  .page-head-right .ph-row span a{word-break:break-all;}
}

/* ── CLIENTS MARQUEE: clean stacked layout on mobile ───── */
@media (max-width:640px){
  .cm-headline{flex-direction:column;gap:14px;align-items:center;}
  .cm-sep{display:none !important;}
  .cm-stat{justify-content:center;text-align:center;font-size:11px;}
  .cm-stat strong{font-size:22px;}
}

/* ── SPEC TABLE: visible scroll hint ──────────────────── */
@media (max-width:900px){
  .spec-scroll{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;scrollbar-color:var(--red) var(--grey-200);
    border-radius:0;
    position:relative;
  }
  .spec-scroll::-webkit-scrollbar{height:6px;}
  .spec-scroll::-webkit-scrollbar-track{background:var(--grey-100);}
  .spec-scroll::-webkit-scrollbar-thumb{background:var(--red);border-radius:3px;}
  .spec-table{font-size:12px;min-width:600px;}
  .spec-table th,.spec-table td{padding:10px 12px;white-space:nowrap;}
  .spec-table td:first-child{font-size:12.5px;}
  .spec-wrap::after{
    content:'← swipe to view all →';
    display:block;text-align:center;
    font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:.18em;
    color:var(--grey-600);padding:8px 0;text-transform:uppercase;
    background:var(--grey-50);border-top:1px solid var(--grey-200);
  }
}

/* ── CTA strip on mobile: smaller text ────────────────── */
@media (max-width:640px){
  .cta-strip h2{font-size:clamp(22px,5.5vw,30px);}
  .cta-strip p{font-size:14px;margin-bottom:22px;}
}

/* ── Two-col-img don't push viewport ────────────────────── */
@media (max-width:900px){
  .two-col-img{min-height:240px;width:100%;max-width:100%;}
  .two-col-img.with-frame::after{display:none;}
}

/* ── Process step content overflow fix ─────────────────── */
@media (max-width:640px){
  .process-step h4{font-size:13px;}
  .process-step p{font-size:11.5px;line-height:1.45;}
}

/* ── HEADER MOBILE MENU: full width drop-down polish ──── */
@media (max-width:1024px){
  .nav.open{
    position:absolute;top:100%;left:0;right:0;
    background:#fff;border-top:1px solid var(--grey-200);
    box-shadow:var(--shadow-md);padding:8px 0;
    flex-direction:column;align-items:stretch;gap:0;
    z-index:99;
  }
  .header{position:relative;}
  .nav.open a{
    padding:14px 24px !important;
    border-bottom:1px solid var(--grey-100);
    border-left:3px solid transparent;
    font-size:14px;text-align:left;
  }
  .nav.open a.active{
    border-left-color:var(--red);
    background:var(--grey-50);
  }
}

/* ── INFO-CARD on contact responsive ──────────────────── */
@media (max-width:640px){
  .info-card p{font-size:13.5px;word-break:break-word;}
  .info-card a{word-break:break-all;}
}

/* ── Cert thumbnail max width ─────────────────────────── */
@media (max-width:640px){
  .cert-thumb{max-width:100%;width:100%;}
  .cert-meta-grid{grid-template-columns:1fr;}
}

/* ── Standards std-head wrap protection ────────────────── */
@media (max-width:640px){
  .std-head{flex-direction:column;align-items:flex-start;gap:6px;}
  .std-flag{align-self:flex-start;}
}

/* ── FOOTER on mobile ─────────────────────────────────── */
@media (max-width:640px){
  .footer-contact li{word-break:break-word;}
  .footer-contact a{word-break:break-all;}
}
