
:root{
  --navy:#0A1F3D;
  --navy-2:#123259;
  --navy-3:#173C6B;
  --steel:#5B7089;
  --steel-light:#AFC0D2;
  --bg:#F4F7FB;
  --bg-2:#EBF0F7;
  --white:#FFFFFF;
  --red:#C8281F;
  --orange:#E1620F;
  --light-blue: #eef4ff;
  --ink:#0A1F3D;
  --muted:#5C6C82;
  --line:#DCE4EE;
  --shadow: 0 20px 60px -25px rgba(10,31,61,0.35);
  --radius: 14px;
  --maxw: 1240px;
}
/* about us hero */

* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: Arial, Helvetica, sans-serif; background: #ffffff; color: #0b234b; } /* Main Section */ .highlights-section { width: 100%; padding: 10px 32px; } .highlights-container { width: 70%; max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: repeat(6, 1fr); border: 1px solid #dce1e8; border-radius: 8px; background: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02); overflow: hidden; } /* Individual Item */ .highlight-item { position: relative; padding: 14px 18px 12px; min-height: 105px; display: flex; flex-direction: column; } /* Vertical divider */ .highlight-item:not(:last-child)::after { content: ""; position: absolute; right: 0; top: 16px; bottom: 16px; width: 1px; background: #d7dde5; } /* Top Row */ .highlight-top { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; } /* Icon */ .highlight-icon { width: 36px; height: 36px; flex: 0 0 36px; color: #0b2857; } .highlight-icon svg { width: 100%; height: 100%; display: block; } /* Heading */ .highlight-title { color: #0a2554; font-size: 11px; line-height: 1.35; font-weight: 700; letter-spacing: 0.15px; text-transform: uppercase; } /* Description */ .highlight-description { color: #17294a; font-size: 11px; line-height: 1.45; font-weight: 400; } /* ========================= TABLET ========================= */ @media (max-width: 1100px) { .highlights-section { padding: 10px 20px; } .highlights-container { grid-template-columns: repeat(3, 1fr); } .highlight-item:nth-child(3)::after { display: none; } .highlight-item:nth-child(-n+3) { border-bottom: 1px solid #d7dde5; } } /* ========================= MOBILE ========================= */ @media (max-width: 700px) { .highlights-section { padding: 10px 15px; } .highlights-container { grid-template-columns: 1fr; border-radius: 8px; } .highlight-item { min-height: auto; padding: 18px 20px; } /* Remove desktop vertical separators */ .highlight-item:not(:last-child)::after { display: none; } /* Horizontal separators */ .highlight-item:not(:last-child) { border-bottom: 1px solid #d7dde5; } .highlight-top { gap: 12px; margin-bottom: 8px; } .highlight-icon { width: 40px; height: 40px; flex-basis: 40px; } .highlight-title { font-size: 12px; } .highlight-description { font-size: 12px; line-height: 1.5; } } /* ========================= SMALL MOBILE ========================= */ @media (max-width: 400px) { .highlights-section { padding: 8px 10px; } .highlight-item { padding: 15px; } .highlight-icon { width: 36px; height: 36px; flex-basis: 36px; } .highlight-title { font-size: 11px; } .highlight-description { font-size: 11px; } }

.fitting-card .icon img { width: 80px; height: 80px; object-fit: contain; display: block; }
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',sans-serif;
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif;letter-spacing:-0.01em;color:var(--navy);}
.eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(#082467);
  font-weight:600;
  display:flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--red);display:inline-block;}
.section{padding:96px 0;}
.section-tight{padding:64px 0;}
@media(max-width:768px){
  .section{padding:64px 0;}
  .wrap{padding:0 20px;}
}

.tech-description { margin: 10px 0 18px; color: #5f6b7a; font-size: 15px; line-height: 1.7; }
/* ====== installationvideo ====== */

* { box-sizing: border-box; }

    body {
      margin: 0;
      font-family: Arial, Helvetica, sans-serif;
      color: var(--text);
      background:
        radial-gradient(circle at 35% 0%, rgba(214,226,244,.65), transparent 23%),
        linear-gradient(180deg, #fbfcff 0%, #f7f9fc 100%);
    }

    .container {
      width: min(1180px, calc(100% - 32px));
      margin: 0 auto;
    }

    .hero-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.18fr) minmax(360px, 1fr);
      gap: 14px;
      padding: 14px 0;
      align-items: stretch;
    }

    .panel {
      background: rgba(255,255,255,.88);
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 14px 16px;
      box-shadow: var(--shadow);
      overflow: hidden;
    }

    .eyebrow {
      margin: 0 0 5px;
      font-size: clamp(15px, 1.7vw, 18px);
      line-height: 1.15;
      font-weight: 800;
      letter-spacing: .15px;
      text-transform: uppercase;
    }

    .product-title {
      margin: 0 0 5px;
      font-size: clamp(21px, 2.3vw, 26px);
      line-height: 1.15;
      font-weight: 800;
    }

    .red-line {
      width: 29px;
      height: 3px;
      background: var(--red);
      margin: 4px 0 9px;
      border-radius: 2px;
    }

    /* VIDEO */
    .video-wrap {
      position: relative;
      width: 100%;
      aspect-ratio: 542 / 279;
      min-height: 220px;
      overflow: hidden;
      border-radius: 8px;
      background: #18222b;
    }

    .video-wrap video {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      background: #18222b;
    }

    .video-overlay {
      position: absolute;
      inset: 0;
      display: grid;
      place-items: center;
      pointer-events: none;
      transition: opacity .25s ease;
    }

    .play-button {
      width: 68px;
      height: 68px;
      border: 3px solid #fff;
      border-radius: 50%;
      background: rgba(0,0,0,.48);
      display: grid;
      place-items: center;
      box-shadow: 0 3px 12px rgba(0,0,0,.3);
    }

    .play-button::after {
      content: "";
      width: 0;
      height: 0;
      margin-left: 5px;
      border-top: 12px solid transparent;
      border-bottom: 12px solid transparent;
      border-left: 18px solid #fff;
    }

    .video-wrap.is-playing .video-overlay {
      opacity: 0;
    }

    .watch-btn {
      position: absolute;
      left: 14px;
      bottom: 14px;
      z-index: 3;
      border: 0;
      border-radius: 5px;
      padding: 11px 17px;
      color: #fff;
      background: #063d9e;
      font-size: 14px;
      font-weight: 800;
      letter-spacing: .2px;
      cursor: pointer;
      box-shadow: 0 5px 12px rgba(0,0,0,.22);
      transition: transform .2s, background .2s;
    }

    .watch-btn:hover {
      background: #052f7d;
      transform: translateY(-1px);
    }

    .watch-btn::before {
      content: "▶";
      font-size: 10px;
      margin-right: 8px;
    }

    .video-help {
      margin: 8px 0 0;
      font-size: 11px;
      color: var(--muted);
    }

    /* PRODUCT CARDS */
    .material-row {
      display: grid;
      grid-template-columns: 44% 56%;
      min-height: 50px;
      margin-bottom: 6px;
      border: 1px solid #d9dee7;
      border-radius: 6px;
      overflow: hidden;
      background: #fff;
    }

    .material-name {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      text-align: center;
      padding: 4px 8px;
      background: linear-gradient(90deg, #d7d7d7, #f1f1f1);
    }

    .material-name strong {
      font-size: 25px;
      line-height: 1;
    }

    .material-name span {
      margin-top: 2px;
      font-size: 12px;
      font-weight: 700;
    }

    .standard {
      display: flex;
      align-items: center;
      padding: 7px 20px;
      font-size: 13px;
      line-height: 1.35;
    }

    .standard b {
      font-size: 13px;
    }

    .size-card {
      display: grid;
      grid-template-columns: 62px 1fr;
      gap: 15px;
      align-items: center;
      min-height: 70px;
      padding: 8px 12px;
      margin-top: 8px;
      border: 1px solid #d9dee7;
      border-radius: 6px;
      background: linear-gradient(90deg, #fafcff, #f5f7fa);
    }

    .pipe-icon {
      width: 55px;
      height: 55px;
      border: 2px solid var(--navy);
      border-radius: 50%;
      display: grid;
      place-items: center;
      font-size: 25px;
      transform: rotate(-25deg);
    }

    .size-content {
      display: grid;
      grid-template-columns: 120px 1fr;
      gap: 5px 12px;
      align-items: center;
      font-size: 13px;
    }

    .size-label {
      font-weight: 800;
    }

    .size-value {
      font-weight: 800;
      font-size: 14px;
    }

    .size-note {
      grid-column: 1 / -1;
      margin-top: -2px;
      font-size: 12px;
    }

    .features {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      margin-top: 10px;
    }

    .feature {
      position: relative;
      min-height: 65px;
      display: flex;
      align-items: center;
      flex-direction: column;
      text-align: center;
      padding: 3px 10px;
    }

    .feature + .feature {
      border-left: 1px solid #d8dee8;
    }

    .feature-icon {
      width: 32px;
      height: 32px;
      margin-bottom: 3px;
      display: grid;
      place-items: center;
      font-size: 28px;
      line-height: 1;
    }

    .feature strong {
      font-size: 11px;
      line-height: 1.3;
    }

    /* TABLET */
    @media (max-width: 900px) {
      .hero-grid {
        grid-template-columns: 1fr;
      }

      .product-panel {
        min-width: 0;
      }
    }

    /* MOBILE */
    @media (max-width: 560px) {
      .container {
        width: min(100% - 20px, 1180px);
      }

      .hero-grid {
        padding: 10px 0;
        gap: 10px;
      }

      .panel {
        padding: 12px;
        border-radius: 10px;
      }

      .video-wrap {
        min-height: 190px;
        aspect-ratio: 16 / 9;
      }

      .play-button {
        width: 58px;
        height: 58px;
      }

      .watch-btn {
        left: 10px;
        bottom: 10px;
        padding: 9px 12px;
        font-size: 12px;
      }

      .material-row {
        grid-template-columns: 42% 58%;
      }

      .material-name strong {
        font-size: 21px;
      }

      .material-name span,
      .standard {
        font-size: 11px;
      }

      .standard {
        padding: 7px 10px;
      }

      .size-card {
        grid-template-columns: 50px 1fr;
        gap: 10px;
      }

      .pipe-icon {
        width: 46px;
        height: 46px;
        font-size: 21px;
      }

      .size-content {
        grid-template-columns: 95px 1fr;
        font-size: 11px;
        gap: 4px 8px;
      }

      .size-value {
        font-size: 12px;
      }

      .size-note {
        font-size: 10px;
      }

      .feature {
        padding: 3px 4px;
      }

      .feature-icon {
        font-size: 23px;
        height: 28px;
      }

      .feature strong {
        font-size: 9px;
      }
    }

/* ===== BUTTONS ===== */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 28px;border-radius:999px;
  font-weight:600;font-size:15px;
  border:1.5px solid transparent;
  cursor:pointer;transition:all .25s ease;
  white-space:nowrap;
}
.btn-primary{background:var(--navy);color:#fff;}
.btn-primary:hover{background:var(--red);transform:translateY(-2px);}
.btn-ghost{border-color:rgba(10,31,61,0.25);color:var(--navy);}
.btn-ghost:hover{border-color:var(--navy);background:rgba(10,31,61,0.04);}
.btn-light{background:#fff;color:var(--navy);}
.btn-light:hover{background:var(--red);color:#fff;}

/* ===== HEADER ===== */
header{
  position:sticky;top:0;z-index:100;
  background:rgba(244,247,251,0.88);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  transition:padding .3s ease;
}
/*==== logo ===*/
.logo-image { width: 180px; height: auto; display: block; }
.nav-inner{
  max-width:var(--maxw);margin:0 auto;padding:18px 32px;
  display:flex;align-items:center;justify-content:space-between;
}
.logo{display:flex;flex-direction:column;line-height:1;}
.logo-mark{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:24px;color:var(--navy);letter-spacing:-0.02em;}
.logo-mark span{color:var(--red);}
.logo-sub{font-size:10px;letter-spacing:0.08em;color:var(--muted);text-transform:uppercase;margin-top:3px;font-weight:600;}
nav.mainnav ul{display:flex;gap:34px;}
nav.mainnav a{
  font-size:14px;font-weight:600;color:var(--navy-2);
  position:relative;padding:6px 0;
}
nav.mainnav a::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--red);
  transition:width .25s ease;
}
nav.mainnav a:hover::after,nav.mainnav a.active::after{width:100%;}
.nav-right{display:flex;align-items:center;gap:18px;}
.since-tag{font-size:12px;color:var(--muted);text-align:right;line-height:1.4;}
.since-tag b{display:block;color:var(--navy);font-family:'IBM Plex Mono',monospace;font-size:13px;}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px;}
.burger span{width:24px;height:2px;background:var(--navy);display:block;}
@media(max-width:980px){
  nav.mainnav{position:fixed;top:73px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);
    max-height:0;overflow:hidden;transition:max-height .35s ease;}
  nav.mainnav.open{max-height:420px;}
  nav.mainnav ul{flex-direction:column;gap:0;padding:8px 24px 20px;}
  nav.mainnav a{display:block;padding:14px 0;border-bottom:1px solid var(--line);}
  .since-tag{display:none;}
  .burger{display:flex;}
  .nav-right .btn{display:none;}
}

/* ===== HERO ===== */
.hero{
  position:relative;
  padding:88px 0 60px;
  background:
    radial-gradient(1100px 500px at 85% -10%, rgba(23,60,107,0.55), transparent 60%),
    linear-gradient(180deg,#0A1F3D 0%, #0E294D 55%, #123259 100%);
  color:#fff;overflow:hidden;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:
    repeating-linear-gradient(115deg, rgba(255,255,255,0.035) 0px, rgba(255,255,255,0.035) 1px, transparent 1px, transparent 64px);
  pointer-events:none;
}
.hero-grid{
  display:grid;grid-template-columns:1.05fr 0.95fr;gap:80px;align-items:center;
  position:relative;z-index:2;
}
.hero-tag{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid rgba(255,255,255,0.22);border-radius:999px;
  padding:7px 16px;font-size:12px;font-weight:600;letter-spacing:0.06em;
  color:#CFE0F5;margin-bottom:26px;font-family:'IBM Plex Mono',monospace;
}
.hero-tag .dot{width:7px;height:7px;border-radius:50%;background:#39D98A;box-shadow:0 0 0 4px rgba(57,217,138,0.18);}
.hero h1{
  font-size:clamp(36px,4.6vw,58px);line-height:1.06;color:#fff;font-weight:700;margin-bottom:22px;
}
.hero h1 em{font-style:normal;color:#FF6A4D;}
.hero p.lead{font-size:18px;color:#C6D4E8;max-width:520px;line-height:1.65;margin-bottom:34px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:42px;}
.hero-stats{display:flex;gap:0;border-top:1px solid rgba(255,255,255,0.14);padding-top:26px;}
.hero-stats div{flex:1;padding-right:20px;}
.hero-stats b{display:block;font-family:'Space Grotesk',sans-serif;font-size:26px;color:#fff;}
.hero-stats span{font-size:12.5px;color:#9FB4CF;}

/* hero joint diagram - signature element */
.joint-diagram{position:relative;}
.joint-card{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.14);
  border-radius:20px;padding:28px;backdrop-filter:blur(6px);
}
.joint-card h4{color:#fff;font-size:13px;letter-spacing:0.08em;text-transform:uppercase;font-weight:600;margin-bottom:4px;font-family:'IBM Plex Mono',monospace;}
.joint-card p.small{color:#93A7C3;font-size:12.5px;margin-bottom:18px;}
.joint-svg-wrap{background:radial-gradient(circle at 50% 30%,rgba(255,255,255,0.08),transparent 65%);border-radius:14px;padding:8px 0;}
.joint-legend{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;}
.joint-legend li{display:flex;align-items:center;gap:8px;font-size:12px;color:#C6D4E8;}
.legend-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0;}
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-stats{flex-wrap:wrap;gap:20px;}
  .hero-stats div{flex:1 1 40%;padding-right:0;}
}

/* ===== TRUST STRIP ===== */
.trust{background:var(--navy);padding:20px 0;border-top:1px solid rgba(255,255,255,0.08);}
.trust .wrap{display:flex;align-items:center;gap:40px;overflow-x:auto;}
.trust span.label{color:#8FA4C2;font-size:12px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;font-family:'IBM Plex Mono',monospace;}
.trust .logos{display:flex;gap:34px;align-items:center;}
.trust .logos span{color:#DCE6F3;font-weight:700;font-size:15px;font-family:'Space Grotesk',sans-serif;white-space:nowrap;opacity:0.85;}

/* ===== FEATURES ===== */
.features-grid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-top:44px;
}
.feature-card{background:#fff;padding:28px 22px;transition:background .25s ease;}
.feature-card:hover{background:var(--bg-2);}
.feature-icon{width:42px;height:42px;margin-bottom:16px;color:var(--navy);}
.feature-card h4{font-size:15px;margin-bottom:8px;}
.feature-card p{font-size:13px;color:var(--muted);line-height:1.55;}
@media(max-width:980px){.features-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:600px){.features-grid{grid-template-columns:repeat(2,1fr);}}

/* ===== SECTION HEAD ===== */
.section-head{max-width:640px;margin-bottom:48px;}
.section-head h2{font-size:clamp(28px,3.4vw,42px);margin:14px 0 16px;}
.section-head p{color:var(--muted);font-size:16px;line-height:1.65;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head.center .eyebrow{justify-content:center;}
.section-head.center .eyebrow::before{display:none;}

/* ===== ABOUT ===== */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.about-copy p{color:var(--muted);font-size:15.5px;line-height:1.75;margin-bottom:16px;}
.about-copy .pull{
  border-left:3px solid var(--red);padding-left:18px;margin:26px 0;
  font-family:'Space Grotesk',sans-serif;font-size:19px;color:var(--navy);font-weight:600;line-height:1.4;
}
.pipe-visual{
  aspect-ratio:4/3.4;border-radius:20px;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,0.5), transparent 40%),
    linear-gradient(135deg,#26456F 0%,#0E2A50 60%,#0A1F3D 100%);
  position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.pipe-visual svg{width:78%;height:auto;}
.pipe-visual::after{
  content:"";position:absolute;inset:0;
  background-image:repeating-linear-gradient(100deg, rgba(255,255,255,0.045) 0 2px, transparent 2px 40px);
}

.industries{margin-top:88px;}
.industries-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:14px;margin-top:36px;}
.industry-card{
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 12px;text-align:center;
  transition:all .25s ease;
}
.industry-card:hover{border-color:var(--navy);transform:translateY(-4px);box-shadow:var(--shadow);}
.industry-card svg{width:30px;height:30px;margin:0 auto 12px;color:var(--navy);}
.industry-card span{font-size:11.5px;font-weight:700;letter-spacing:0.04em;color:var(--navy-2);text-transform:uppercase;}
@media(max-width:980px){.industries-grid{grid-template-columns:repeat(4,1fr);} .about-grid{grid-template-columns:1fr;gap:40px;}}
@media(max-width:600px){.industries-grid{grid-template-columns:repeat(2,1fr);}}

.vm-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:88px;}
.vm-card{
  background:var(--navy);color:#fff;border-radius:20px;padding:40px;position:relative;overflow:hidden;
}
.vm-card:nth-child(2){background:linear-gradient(135deg,var(--red),#8E1913);}
.vm-card svg{width:34px;height:34px;margin-bottom:22px;}
.vm-card h3{color:#fff;font-size:22px;margin-bottom:14px;}
.vm-card p{color:rgba(255,255,255,0.82);font-size:14.5px;line-height:1.7;}
@media(max-width:768px){.vm-grid{grid-template-columns:1fr;}}

/* ===== PRODUCTS ===== */
.tabs{display:flex;gap:10px;margin-bottom:40px;flex-wrap:wrap;}
.tab-btn{
  padding:11px 22px;border-radius:999px;border:1.5px solid var(--line);background:#fff;
  font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .2s ease;
}
.tab-btn.active,.tab-btn:hover{border-color:var(--navy);color:var(--navy);background:var(--bg-2);}
.tab-panel{display:none;}
.tab-panel.active{display:block;animation:fadeUp .4s ease;}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}

.pipes-panel{display:grid;grid-template-columns:1.1fr 0.9fr;gap:48px;align-items:center;}
.spec-list{display:flex;flex-direction:column;gap:0;margin-top:24px;}
.spec-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px;}
.spec-row b{color:var(--navy);}
.spec-row span{color:var(--muted);font-family:'IBM Plex Mono',monospace;font-size:13px;}

.fittings-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
.fitting-card{
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 10px;text-align:center;
  transition:all .2s ease;
}
.fitting-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--navy-3);}
.fitting-card .icon{width:100%;height:56px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.fitting-card svg{width:44px;height:44px;color:var(--navy-3);}
.fitting-card span{font-size:11.5px;font-weight:600;color:var(--navy-2);}
@media(max-width:980px){.fittings-grid{grid-template-columns:repeat(3,1fr);} .pipes-panel{grid-template-columns:1fr;}}
@media(max-width:560px){.fittings-grid{grid-template-columns:repeat(2,1fr);}}

.tool-panel{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.tool-panel .pipe-visual{aspect-ratio:4/3;}
.chiplist{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;}
.chip{background:var(--bg-2);border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:12.5px;font-weight:600;color:var(--navy-2);}
@media(max-width:768px){.tool-panel{grid-template-columns:1fr;}}

/* ===== TECHNICAL ===== */
.tech-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:56px;}
.tech-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;}
.tech-card h4{font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--red);font-family:'IBM Plex Mono',monospace;margin-bottom:16px;}
table.data-table{width:100%;border-collapse:collapse;font-size:13.5px;}
.data-table th{
  background:var(--navy);color:#fff;text-align:left;padding:10px 12px;font-weight:600;font-size:12px;
  text-transform:uppercase;letter-spacing:0.04em;
}
.data-table td{padding:10px 12px;border-bottom:1px solid var(--line);color:var(--navy-2);}
.data-table tr:nth-child(even) td{background:var(--bg-2);}
.table-scroll{overflow-x:auto;border-radius:12px;border:1px solid var(--line);}
.ring-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);}
.ring-row:last-child{border-bottom:none;}
.ring-dot{width:18px;height:18px;border-radius:50%;border:3px solid;flex-shrink:0;}
.ring-info b{display:block;font-size:13.5px;color:var(--navy);}
.ring-info span{font-size:12px;color:var(--muted);}
.pressure-box{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);}
.pressure-box:last-child{border-bottom:none;}
.pressure-box svg{width:30px;height:30px;color:var(--navy);flex-shrink:0;}
.pressure-box b{display:block;font-family:'Space Grotesk',sans-serif;font-size:20px;color:var(--navy);}
.pressure-box span{font-size:12px;color:var(--muted);}
@media(max-width:980px){.tech-cards{grid-template-columns:1fr;}}

.dims-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;}
@media(max-width:900px){.dims-grid{grid-template-columns:1fr;}}

.steps-strip{
  display:grid;grid-template-columns:repeat(9,1fr);gap:2px;margin-top:44px;background:var(--line);
  border:1px solid var(--line);border-radius:14px;overflow:hidden;
}
.step-cell{background:#fff;padding:20px 14px;text-align:center;}
.step-num{
  width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:12px;font-weight:700;
  display:flex;align-items:center;justify-content:center;margin:0 auto 10px;font-family:'IBM Plex Mono',monospace;
}
.step-cell p{font-size:11.5px;color:var(--muted);line-height:1.4;}
@media(max-width:980px){.steps-strip{grid-template-columns:repeat(3,1fr);}}
@media(max-width:600px){.steps-strip{grid-template-columns:repeat(2,1fr);}}

/* ===== PROJECTS ===== */
.proj-tabs{display:flex;gap:10px;margin-bottom:32px;flex-wrap:wrap;}
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.proj-card{
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;
  display:flex;gap:14px;align-items:flex-start;transition:all .2s ease;
}
.proj-card:hover{border-color:var(--navy-3);transform:translateY(-2px);box-shadow:var(--shadow);}
.proj-card svg{width:26px;height:26px;color:var(--red);flex-shrink:0;margin-top:2px;}
.proj-card b{display:block;font-size:14px;color:var(--navy);margin-bottom:4px;line-height:1.35;}
.proj-card span{font-size:12px;color:var(--muted);}
@media(max-width:980px){.proj-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.proj-grid{grid-template-columns:1fr;}}

/* ===== CTA / CONTACT ===== */
.contact{
  background:linear-gradient(135deg,var(--navy) 0%, #0E2A50 100%);
  border-radius:28px;padding:64px;color:#fff;
  display:grid;grid-template-columns:1fr 1fr;gap:56px;position:relative;overflow:hidden;
}
.contact::before{
  content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle, rgba(232,89,12,0.28), transparent 70%);
}
.contact h2{color:#fff;font-size:clamp(26px,3vw,36px);margin-bottom:16px;}
.contact p{color:#B9C9E0;font-size:15px;line-height:1.7;margin-bottom:28px;max-width:420px;}
.contact-list{display:flex;flex-direction:column;gap:18px;}
.contact-list li{display:flex;gap:14px;align-items:flex-start;}
.contact-list svg{width:20px;height:20px;color:#FF6A4D;flex-shrink:0;margin-top:2px;}
.contact-list b{display:block;font-size:13.5px;color:#fff;}
.contact-list span{font-size:13px;color:#9FB4CF;}
form.qform{display:flex;flex-direction:column;gap:14px;position:relative;z-index:2;}
form.qform input,form.qform textarea{
  background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.18);border-radius:10px;
  padding:14px 16px;color:#fff;font-family:'Inter',sans-serif;font-size:14px;
}
form.qform input::placeholder,form.qform textarea::placeholder{color:#8FA4C2;}
form.qform textarea{resize:vertical;min-height:90px;}
form.qform .btn{margin-top:6px;justify-content:center;}
@media(max-width:900px){.contact{grid-template-columns:1fr;padding:40px 26px;border-radius:20px;}}

/* ===== FOOTER ===== */
footer{background:#08182F;color:#8FA4C2;padding:64px 0 28px;margin-top:96px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px;}
.footer-grid h5{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:18px;font-family:'IBM Plex Mono',monospace;}
.footer-grid ul li{margin-bottom:10px;font-size:14px;}
.footer-grid ul li a:hover{color:#fff;}
.footer-logo{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:22px;color:#fff;margin-bottom:10px;}
.footer-logo span{color:var(--red);}
.footer-grid p{font-size:13.5px;line-height:1.65;max-width:280px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.08);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12.5px;}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr;}}

/* ===== PAGE BANNER (inner pages) ===== */
.page-banner{
  position:relative;padding:150px 0 70px;color:#fff;overflow:hidden;
  background:
    radial-gradient(1000px 460px at 88% -10%, rgba(23,60,107,0.55), transparent 60%),
    linear-gradient(180deg,#0A1F3D 0%, #0E294D 55%, #123259 100%);
}
.page-banner::before{
  content:"";position:absolute;inset:0;
  background-image:repeating-linear-gradient(115deg, rgba(255,255,255,0.035) 0px, rgba(255,255,255,0.035) 1px, transparent 1px, transparent 64px);
  pointer-events:none;
}
.crumbs{position:relative;z-index:2;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.06em;color:#8FA4C2;text-transform:uppercase;margin-bottom:18px;}
.crumbs a{color:#8FA4C2;}
.crumbs a:hover{color:#fff;}
.page-banner h1{position:relative;z-index:2;color:#fff;font-size:clamp(32px,4.4vw,52px);line-height:1.08;margin-bottom:14px;}
.page-banner h1 em{font-style:normal;color:#FF6A4D;}
.page-banner p{position:relative;z-index:2;color:#C6D4E8;font-size:16.5px;max-width:560px;line-height:1.6;}

/* home teaser cards linking to other pages */
.teaser-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:44px;}
.teaser-card{
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px 26px;
  transition:all .25s ease;display:block;
}
.teaser-card:hover{border-color:var(--navy);transform:translateY(-5px);box-shadow:var(--shadow);}
.teaser-card svg{width:32px;height:32px;color:var(--red);margin-bottom:18px;}
.teaser-card h4{font-size:17px;margin-bottom:8px;}
.teaser-card p{font-size:13.5px;color:var(--muted);line-height:1.55;margin-bottom:16px;}
.teaser-card .go{font-size:13px;font-weight:700;color:var(--navy);display:inline-flex;align-items:center;gap:6px;}
.teaser-card:hover .go{color:var(--red);}
@media(max-width:980px){.teaser-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.teaser-grid{grid-template-columns:1fr;}}

/* reveal animation */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

/* focus visibility */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:2px solid var(--red);outline-offset:3px;
}
/* our client*/
* {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: Arial, Helvetica, sans-serif;
            background: #ffffff;
            color: #09245f;
        }

        /* =========================
           OUR CLIENTS SECTION
        ========================== */

        .clients-section {
            width: 100%;
            padding: 8px 3.4%;
            background:
                linear-gradient(
                    90deg,
                    rgba(255,255,255,0.96),
                    rgba(248,251,255,0.92)
                );
        }

        .clients-wrapper {
            width: 75%;
            max-width: 1450px;
            margin: 0 auto;
            padding: 12px 16px 10px;
            border: 1px solid #e1e5eb;
            border-radius: 10px;
            background: rgba(255,255,255,0.82);

            display: grid;
            grid-template-columns: 230px 1fr;
            gap: 25px;

            box-shadow: 0 2px 8px rgba(0,0,0,0.02);
        }

        /* =========================
           LEFT CONTENT
        ========================== */

        .clients-intro {
            border-right: 1px solid #cfd5dd;
            padding: 0 18px 0 0;

            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .clients-intro h2 {
            font-size: 18px;
            line-height: 1.2;
            color: #09245f;
            margin-bottom: 10px;
            font-weight: 700;
        }

        .clients-intro p {
            font-size: 13px;
            line-height: 1.55;
            color: #09245f;
        }

        /* =========================
           CLIENT LOGOS
        ========================== */

        .clients-content {
            min-width: 0;
        }

        .clients-list {
            display: grid;
            grid-template-columns: repeat(8, 1fr);
            align-items: center;
            width: 100%;
        }

        .client {
            min-height: 68px;
            padding: 2px 14px;

            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;

            border-right: 1px solid #d0d5dc;
            text-align: center;
        }

        .client:last-child {
            border-right: none;
        }

        .client img {
            width: 65px;
            height: 45px;
            object-fit: contain;
            margin-bottom: 5px;
        }

        .client-name {
            font-size: 12px;
            line-height: 1.15;
            font-weight: 700;
            color: #09245f;
        }

        /* =========================
           BOTTOM DESCRIPTION
        ========================== */

        .clients-footer {
            text-align: center;
            margin-top: 7px;
            font-size: 13px;
            line-height: 1.4;
            color: #09245f;
            font-weight: 500;
        }

        /* =========================
           TABLET
        ========================== */

        @media (max-width: 1100px) {

            .clients-wrapper {
                grid-template-columns: 190px 1fr;
                gap: 15px;
            }

            .clients-list {
                grid-template-columns: repeat(4, 1fr);
                row-gap: 8px;
            }

            .client:nth-child(4) {
                border-right: none;
            }

            .client:nth-child(5) {
                border-top: 1px solid #d0d5dc;
                padding-top: 8px;
            }

            .client:nth-child(6),
            .client:nth-child(7),
            .client:nth-child(8) {
                border-top: 1px solid #d0d5dc;
                padding-top: 8px;
            }
        }

        /* =========================
           MOBILE
        ========================== */

        @media (max-width: 768px) {

            .clients-section {
                padding: 10px;
            }

            .clients-wrapper {
                display: block;
                padding: 18px 14px;
                border-radius: 10px;
            }

            .clients-intro {
                border-right: none;
                border-bottom: 1px solid #d0d5dc;
                padding: 0 0 15px;
                margin-bottom: 15px;
            }

            .clients-intro h2 {
                font-size: 18px;
                margin-bottom: 8px;
            }

            .clients-intro p {
                font-size: 13px;
                line-height: 1.5;
            }

            .clients-list {
                grid-template-columns: repeat(2, 1fr);
                row-gap: 0;
            }

            .client {
                min-height: 90px;
                padding: 10px 8px;
                border-right: 1px solid #d0d5dc;
                border-bottom: 1px solid #d0d5dc;
            }

            .client:nth-child(2n) {
                border-right: none;
            }

            .client:nth-child(7),
            .client:nth-child(8) {
                border-bottom: none;
            }

            .client img {
                width: 65px;
                height: 42px;
            }

            .client-name {
                font-size: 11px;
            }

            .clients-footer {
                font-size: 12px;
                margin-top: 15px;
                line-height: 1.5;
            }
        }

        /* =========================
           SMALL MOBILE
        ========================== */

        @media (max-width: 420px) {

            .clients-wrapper {
                padding: 15px 10px;
            }

            .clients-intro h2 {
                font-size: 17px;
            }

            .clients-intro p {
                font-size: 12px;
            }

            .client {
                min-height: 85px;
            }

            .client img {
                width: 58px;
                height: 38px;
            }

            .client-name {
                font-size: 10px;
            }

            .clients-footer {
                font-size: 11px;
            }
        }


@media (prefers-reduced-motion: reduce){
  *{animation:none !important;transition:none !important;}
  html{scroll-behavior:auto;}
}
