/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Aug 11 2026 | 10:09:44 */
  :root{
    --navy:#0d2340;
    --navy-light:#173863;
    --red:#1C63B8;
    --red-dark:#154d92;
    --gray-border:#e2e4e8;
    --gray-bg:#fafafa;
    --text-muted:#5b6472;
  }

  *{margin:0;padding:0;box-sizing:border-box;}

  html{
    scroll-behavior:smooth;
  }

  body, button, input{
    font-family: "Poppins", Sans-serif !important;
    background:#ffffff;
  }

  /* ===== HEADER ===== */
  .site-header{
    background:#fff;
    border-bottom:1px solid var(--gray-border);
    position:sticky;
    top:0;
    z-index:1000;
    transition:box-shadow .35s ease, border-color .35s ease;
  }

  .site-header.scrolled{
    box-shadow:0 8px 28px rgba(13,35,64,0.1);
    border-bottom-color:transparent;
  }

  .header-inner{
    max-width:1340px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 32px;
    gap:24px;
    transition:padding .35s ease;
  }

  .site-header.scrolled .header-inner{
    padding:9px 32px;
  }

  /* ===== LOGO ===== */
  .logo{
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    flex-shrink:0;
  }

  .logo-img{
    height:56px;
    width:auto;
    display:block;
    transition:height .35s ease;
  }

  .site-header.scrolled .logo-img{
    height:42px;
  }


  /* ===== NAV ===== */
  .main-nav{
    display:flex;
    align-items:center;
    gap:8px;
    flex:1;
    justify-content:center;
  }

  .nav-item{
    position:relative;
  }

  .nav-link{
    display:flex;
    align-items:center;
    gap:6px;
    padding:10px 14px;
    font-size:14px;
    font-weight:700;
    color:var(--navy);
    text-decoration:none;
    letter-spacing:0.3px;
    background:none;
    border:none;
    cursor:pointer;
    white-space:nowrap;
    border-radius:4px;
    transition:background .15s ease, color .15s ease;
  }

  .nav-link:hover{
    background:var(--gray-bg);
    color:var(--red);
  }

  .nav-link .caret{
    width:10px;
    height:10px;
    transition:transform .2s ease;
  }

  .nav-item.open .nav-link .caret{
    transform:rotate(180deg);
  }

  .dropdown{
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    min-width:220px;
    background:#fff;
    border:1px solid var(--gray-border);
    border-radius:8px;
    box-shadow:0 12px 28px rgba(13,35,64,0.14);
    padding:8px;
    opacity:0;
    visibility:hidden;
    transform:translateY(-6px);
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  }

  .nav-item.open .dropdown{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }

  .dropdown a{
    display:block;
    padding:9px 12px;
    font-size:13.5px;
    font-weight:600;
    color:var(--navy);
    text-decoration:none;
    border-radius:6px;
  }

  .dropdown a:hover{
    background:var(--gray-bg);
    color:var(--red);
  }

  /* ===== CTA ===== */
  .header-actions{
    display:flex;
    align-items:center;
    gap:16px;
    flex-shrink:0;
  }

  .quote-btn{
    background:var(--red);
    color:#fff;
    border:none;
    padding:12px 22px;
    font-size:13.5px;
    font-weight:700;
    letter-spacing:0.4px;
    border-radius:6px;
    cursor:pointer;
    white-space:nowrap;
    text-decoration:none;
    display:inline-block;
    transition:background .15s ease;
  }

  .quote-btn:hover{
    background:var(--red-dark);
  }

  /* ===== MOBILE TOGGLE ===== */
  .mobile-toggle{
    display:none;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:32px;
    height:32px;
    background:none;
    border:none;
    cursor:pointer;
    flex-shrink:0;
    position:relative;
    z-index:1002;
  }

  .mobile-toggle span{
    display:block;
    height:2.5px;
    width:100%;
    background:var(--navy);
    border-radius:2px;
    transition:transform .25s ease, opacity .25s ease;
  }

  .mobile-toggle.active span:nth-child(1){
    transform:translateY(7.5px) rotate(45deg);
  }
  .mobile-toggle.active span:nth-child(2){
    opacity:0;
  }
  .mobile-toggle.active span:nth-child(3){
    transform:translateY(-7.5px) rotate(-45deg);
  }

  .mobile-search{
    display:none;
  }

  /* ===================== TABLET ===================== */
  @media (max-width:1100px){
    .header-inner{padding:12px 20px;}
    .main-nav{gap:2px;}
    .nav-link{padding:10px 10px; font-size:13px;}
    .quote-btn{padding:11px 16px; font-size:12.5px;}
    .logo-img{height:46px;}
  }

  /* ===================== MOBILE / SMALL TABLET ===================== */
  @media (max-width:900px){
    .main-nav{
      position:fixed;
      top:0;
      right:-100%;
      width:82%;
      max-width:340px;
      height:100vh;
      background:#fff;
      flex-direction:column;
      align-items:stretch;
      justify-content:flex-start;
      padding:90px 20px 24px;
      gap:2px;
      box-shadow:-8px 0 30px rgba(0,0,0,0.15);
      transition:right .3s ease;
      overflow-y:auto;
    }

    .main-nav.mobile-open{
      right:0;
    }

    .nav-item{width:100%;}

    .nav-link{
      width:100%;
      justify-content:space-between;
      padding:14px 12px;
      font-size:15px;
      border-bottom:1px solid var(--gray-border);
      border-radius:0;
    }

    .nav-link:hover{background:none;color:var(--navy);}

    .dropdown{
      position:static;
      opacity:1;
      visibility:visible;
      transform:none;
      box-shadow:none;
      border:none;
      display:none;
      background:var(--gray-bg);
      margin-bottom:4px;
      border-radius:6px;
    }

    .nav-item.open .dropdown{
      display:block;
    }

    .quote-btn{
      display:none;
    }

    .mobile-quote{
      display:block;
      margin-top:18px;
      text-align:center;
      width:100%;
    }

    .mobile-toggle{
      display:flex;
    }

    .nav-overlay{
      display:none;
      position:fixed;
      inset:0;
      background:rgba(13,35,64,0.4);
      z-index:998;
    }

    .nav-overlay.active{display:block;}

    .main-nav{z-index:999;}
  }

  @media (min-width:901px){
    .mobile-quote{display:none;}
  }

  @media (max-width:480px){
    .header-inner{padding:10px 14px;}
    .logo-img{height:38px;}
    .main-nav{width:88%;padding-top:80px;}
  }

  /* ===================== HERO ===================== */
  .hero{
    position:relative;
    background:
      linear-gradient(100deg, rgba(6,16,32,0.94) 0%, rgba(8,24,46,0.88) 30%, rgba(10,32,58,0.55) 55%, rgba(12,38,66,0.35) 100%),
      radial-gradient(ellipse at 78% 55%, #24507c 0%, #16324f 35%, #0a1c30 65%, #060f1e 100%);
    background-size:cover;
    background-position:center;
    overflow:hidden;
  }

  /* Real hero product photo layer, with navy gradient overlay kept on top for text legibility */
  .hero-photo-layer{
    position:absolute;
    inset:0;
    z-index:0;
    background-image:url('https://pioneerfitting.com/wp-content/uploads/2026/08/hero.png');
    background-size:cover;
    background-position:center right;
    background-repeat:no-repeat;
  }

  .hero-photo-layer::after{
    content:'';
    position:absolute;
    inset:0;
    background:
      linear-gradient(100deg, rgba(6,16,32,0.94) 0%, rgba(8,24,46,0.88) 30%, rgba(10,32,58,0.55) 55%, rgba(12,38,66,0.3) 78%, rgba(12,38,66,0.12) 100%);
  }

  .hero-inner{
    position:relative;
    z-index:2;
    max-width:1340px;
    margin:0 auto;
    padding:64px 32px 0;
  }

  .hero-label{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:26px;
  }

  .hero-label .bar{
    width:4px;
    height:20px;
    background:var(--red);
    border-radius:2px;
    flex-shrink:0;
  }

  .hero-label span{
    color:#fff;
    font-size:14px;
    font-weight:700;
    letter-spacing:2px;
  }

  .hero-label .sep{
    color:var(--red);
    font-size:18px;
    line-height:0;
  }

  .hero-content{
    max-width:640px;
  }

  .hero-content h1{
    color:#fff;
    font-size:46px;
    font-weight:800;
    line-height:1.18;
    letter-spacing:-0.5px;
    margin-bottom:22px;
  }

  .hero-content p{
    color:#c9d2de;
    font-size:16px;
    line-height:1.7;
    max-width:520px;
    margin-bottom:34px;
  }

  .hero-cta{
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:56px;
  }

  .hero-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:16px 26px;
    font-size:14px;
    font-weight:700;
    letter-spacing:0.5px;
    text-decoration:none;
    border-radius:6px;
    transition:background .15s ease, transform .15s ease, border-color .15s ease;
  }

  .hero-btn svg{
    width:16px;
    height:16px;
    transition:transform .15s ease;
  }

  .hero-btn:hover svg{
    transform:translateX(3px);
  }

  .hero-btn.primary{
    background:var(--red);
    color:#fff;
  }

  .hero-btn.primary:hover{
    background:var(--red-dark);
  }

  .hero-btn.outline{
    background:transparent;
    color:#fff;
    border:1.5px solid rgba(255,255,255,0.55);
  }

  .hero-btn.outline:hover{
    border-color:#fff;
    background:rgba(255,255,255,0.08);
  }

  .hero-visual{
    display:none;
  }

  .hero-divider{
    border:none;
    border-top:1px solid rgba(255,255,255,0.18);
    margin:0;
  }

  .hero-features{
    position:relative;
    z-index:2;
    max-width:1340px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    padding:30px 32px 34px;
  }

  .feature{
    display:flex;
    align-items:center;
    gap:16px;
    padding:0 24px;
    position:relative;
  }

  .feature:not(:last-child)::after{
    content:'';
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    width:1px;
    height:38px;
    background:rgba(255,255,255,0.18);
  }

  .feature .icon-circle{
    width:56px;
    height:56px;
    border-radius:50%;
    border:1.5px solid rgba(255,255,255,0.55);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
  }

  .feature .icon-circle svg{
    width:26px;
    height:26px;
  }

  .feature-text{
    color:#fff;
    font-size:15.5px;
    font-weight:600;
    line-height:1.4;
  }

  /* ===================== HERO RESPONSIVE ===================== */
  @media (max-width:1100px){
    .hero-content h1{font-size:38px;}
    .hero-inner{padding:52px 24px 0;}
    .hero-features{padding:26px 24px 30px;}
    .feature{gap:12px;padding:0 12px;}
    .feature .icon-circle{width:48px;height:48px;}
    .feature .icon-circle svg{width:22px;height:22px;}
    .feature-text{font-size:14px;}
  }

  @media (max-width:900px){
    .hero-content h1{font-size:32px;}
    .hero-content p{font-size:15px;}
    .hero-btn{padding:14px 20px;font-size:13px;}
    .hero-features{
      grid-template-columns:repeat(2, 1fr);
      row-gap:26px;
    }
    .feature:nth-child(2)::after{display:none;}
    .feature:nth-child(2n)::after{display:none;}
    .feature:not(:last-child)::after{display:block;}
    .feature:nth-child(even)::after{display:none;}
  }

  @media (max-width:600px){
    .hero-inner{padding:40px 18px 0;}
    .hero-content h1{font-size:26px;}
    .hero-cta{margin-bottom:40px;}
    .hero-btn{width:100%;justify-content:space-between;}
    .hero-cta{flex-direction:column;align-items:stretch;}
    .hero-features{
      grid-template-columns:1fr;
      padding:24px 20px 28px;
      row-gap:22px;
    }
    .feature::after{display:none !important;}
  }

  /* ===================== PRODUCT RANGE ===================== */
  .product-range{
    background:#fff;
    padding:88px 32px 96px;
  }

  .pr-inner{
    max-width:1340px;
    margin:0 auto;
  }

  .pr-header{
    text-align:center;
    max-width:760px;
    margin:0 auto 52px;
  }

  .pr-eyebrow{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-bottom:18px;
  }

  .pr-eyebrow .line{
    width:36px;
    height:2px;
    background:var(--red);
  }

  .pr-eyebrow span{
    color:var(--red);
    font-size:13px;
    font-weight:700;
    letter-spacing:2.5px;
  }

  .pr-header h2{
    color:var(--navy);
    font-size:40px;
    font-weight:800;
    line-height:1.25;
    letter-spacing:-0.5px;
    margin-bottom:18px;
  }

  .pr-header p{
    color:var(--text-muted);
    font-size:16px;
    line-height:1.7;
  }

  .pr-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:24px;
  }

  .pr-card{
    background:#fff;
    border:1px solid var(--gray-border);
    border-radius:12px;
    overflow:hidden;
    text-decoration:none;
    display:block;
    opacity:0;
    transform:translateY(28px);
    transition:opacity .6s ease, transform .6s ease,
               box-shadow .3s ease, border-color .3s ease, translate .3s ease;
  }

  .pr-card.in-view{
    opacity:1;
    transform:translateY(0);
  }

  .pr-card:hover{
    box-shadow:0 20px 40px rgba(13,35,64,0.14);
    border-color:transparent;
    transform:translateY(-8px);
  }

  .pr-card-media{
    position:relative;
   height: 157px;
    background:linear-gradient(135deg, #eef2f7 0%, #e3e9f1 100%);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
  }
.pr-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* fills container without distortion */
}
  .pr-card-media svg{
    width:72px;
    height:72px;
    color:var(--navy);
    transition:transform .45s cubic-bezier(.2,.8,.2,1);
    position:relative;
    z-index:2;
  }

  .pr-card-media::after{
    content:'';
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 30% 30%, rgba(28,99,184,0.14), transparent 60%);
    opacity:0;
    transition:opacity .4s ease;
  }

  .pr-card:hover .pr-card-media::after{
    opacity:1;
  }

  .pr-card:hover .pr-card-media svg{
    transform:scale(1.12) rotate(-4deg);
    color:var(--red);
  }

  .pr-card-body{
    padding:22px 22px 24px;
  }

  .pr-card-body h3{
    color:var(--navy);
    font-size:17px;
    font-weight:700;
    line-height:1.35;
    margin-bottom:10px;
  }

  .pr-card-body p{
    color:var(--text-muted);
    font-size:13.5px;
    line-height:1.6;
    margin-bottom:16px;
    min-height:42px;
  }

  .pr-card-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--navy);
    font-size:13px;
    font-weight:700;
    letter-spacing:0.4px;
  }

  .pr-card-link svg{
    width:15px;
    height:15px;
    color:var(--red);
    transition:transform .25s ease;
  }

  .pr-card:hover .pr-card-link{
    color:var(--red);
  }

  .pr-card:hover .pr-card-link svg{
    transform:translateX(5px);
  }

  .pr-cta{
    display:flex;
    justify-content:center;
    margin-top:44px;
  }

  .pr-cta-btn{
    display:inline-flex;
    align-items:center;
    gap:12px;
    padding:16px 30px;
    border:1.5px solid var(--red);
    border-radius:8px;
    color:var(--navy);
    text-decoration:none;
    font-size:14px;
    font-weight:700;
    letter-spacing:0.5px;
    background:#fff;
    transition:background .25s ease, color .25s ease, box-shadow .25s ease, transform .2s ease;
  }

  .pr-cta-btn svg.grid-icon{
    width:16px;
    height:16px;
    color:var(--red);
    transition:color .25s ease;
  }

  .pr-cta-btn svg.arrow-icon{
    width:15px;
    height:15px;
    transition:transform .25s ease;
  }

  .pr-cta-btn:hover{
    background:var(--red);
    color:#fff;
    box-shadow:0 14px 28px rgba(28,99,184,0.28);
    transform:translateY(-3px);
  }

  .pr-cta-btn:hover svg.grid-icon{
    color:#fff;
  }

  .pr-cta-btn:hover svg.arrow-icon{
    transform:translateX(4px);
  }

  /* ===================== PRODUCT RANGE RESPONSIVE ===================== */
  @media (max-width:1100px){
    .product-range{padding:68px 24px 76px;}
    .pr-header h2{font-size:32px;}
    .pr-grid{gap:18px;}
    .pr-card-media{height:150px;}
    .pr-card-media svg{width:58px;height:58px;}
  }

  @media (max-width:900px){
    .pr-grid{grid-template-columns:repeat(2, 1fr);}
    .pr-header h2{font-size:28px;}
    .pr-header p{font-size:14.5px;}
  }

  @media (max-width:600px){
    .product-range{padding:56px 18px 64px;}
    .pr-header{margin-bottom:36px;}
    .pr-header h2{font-size:24px;}
    .pr-eyebrow .line{width:24px;}
    .pr-grid{grid-template-columns:1fr;gap:16px;}
    .pr-card-media{height:170px;}
    .pr-cta-btn{width:100%;justify-content:center;padding:15px 20px;font-size:13px;}
  }

  
  /* ===================== WHY PIONEER FITTINGS ===================== */
  .why-us{
    background:#fcfcfc;
    padding:100px 0;
  }
 
  .why-inner{
    max-width:1340px;
    margin:0 auto;
    padding:0 32px;
    display:grid;
    grid-template-columns:0.92fr 1.08fr;
    gap:64px;
    align-items:center;
  }
 
  .why-eyebrow{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:22px;
  }
 
  .why-eyebrow .eyebrow-line{
    width:0;
    height:2px;
    background:var(--red);
    border-radius:2px;
    transition:width .7s cubic-bezier(.2,.8,.2,1);
  }
 
  .why-content.in-view .why-eyebrow .eyebrow-line{
    width:32px;
  }
 
  .why-eyebrow span{
    color:var(--red);
    font-size:13px;
    font-weight:700;
    letter-spacing:2.5px;
  }
 
  .why-content h2{
    color:var(--navy);
    font-size:40px;
    font-weight:800;
    line-height:1.22;
    letter-spacing:-0.5px;
    margin-bottom:22px;
  }
 
  .why-underline{
    width:0;
    height:3px;
    background:var(--red);
    border-radius:2px;
    margin-bottom:26px;
    transition:width .8s cubic-bezier(.2,.8,.2,1) .15s;
  }
 
  .why-content.in-view .why-underline{
    width:64px;
  }
 
  .why-content p{
    color:var(--text-muted);
    font-size:15.5px;
    line-height:1.85;
    max-width:480px;
    margin-bottom:34px;
  }
 
  .why-cta{
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
  }
 
  .why-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:16px 26px;
    font-size:13.5px;
    font-weight:700;
    letter-spacing:0.4px;
    text-decoration:none;
    border-radius:6px;
    transition:background .25s ease, color .25s ease, border-color .25s ease, transform .2s ease, box-shadow .25s ease;
  }
 
  .why-btn svg{
    width:15px;
    height:15px;
    transition:transform .3s ease;
  }
 
  .why-btn:hover svg{
    transform:translateX(5px);
  }
 
  .why-btn.primary{
    background:var(--red);
    color:#fff;
    border:1.5px solid var(--red);
  }
 
  .why-btn.primary:hover{
    background:var(--red-dark);
    border-color:var(--red-dark);
    box-shadow:0 14px 28px rgba(28,99,184,0.28);
    transform:translateY(-3px);
  }
 
  .why-btn.outline{
    background:transparent;
    color:var(--navy);
    border:1.5px solid var(--navy);
  }
 
  .why-btn.outline:hover{
    background:var(--navy);
    color:#fff;
    transform:translateY(-3px);
    box-shadow:0 14px 28px rgba(13,35,64,0.18);
  }
 
  .why-content{
    opacity:0;
    transform:translateY(30px);
    transition:opacity .7s ease, transform .7s ease;
  }
 
  .why-content.in-view{
    opacity:1;
    transform:translateY(0);
  }
 
  .why-media{
    opacity:0;
    transform:translateY(30px) scale(0.97);
    transition:opacity .8s ease, transform .8s ease;
  }
 
  .why-media.in-view{
    opacity:1;
    transform:translateY(0) scale(1);
  }
 
  .why-img-wrap{
    position:relative;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 30px 60px rgba(13,35,64,0.18);
    aspect-ratio:16/10.5;
  }
 
  /* Add your real factory photo here: background-image:url('your-photo.jpg'); */
  .why-img-placeholder{
    position:relative;
    width:100%;
    height:100%;
    background:
      linear-gradient(120deg, rgba(13,35,64,0.85) 0%, rgba(28,99,184,0.55) 100%),
      linear-gradient(135deg, #1c3b60 0%, #0d2340 60%, #081527 100%);
    display:flex;
	  background-image:url('https://pioneerfitting.com/wp-content/uploads/2026/08/ab.jpg');
    align-items:center;
    justify-content:center;
    transition:transform .6s ease;
  }
 
  .why-img-wrap:hover .why-img-placeholder{
    transform:scale(1.05);
  }
 
  .why-img-placeholder svg{
    width:110px;
    height:110px;
    color:rgba(255,255,255,0.85);
    position:relative;
    z-index:1;
  }
 
  .why-img-placeholder::before{
    content:'';
    position:absolute;
    inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,0.06) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,0.06) 1px, transparent 1px);
    background-size:36px 36px;
  }
 
  .why-badge{
    position:absolute;
    bottom:22px;
    left:22px;
    z-index:2;
    background:rgba(255,255,255,0.96);
    backdrop-filter:blur(6px);
    border-radius:10px;
    padding:14px 18px;
    display:flex;
    align-items:center;
    gap:12px;
    box-shadow:0 14px 30px rgba(13,35,64,0.22);
  }
 
  .why-badge .badge-icon{
    width:38px;
    height:38px;
    border-radius:50%;
    background:var(--red);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
  }
 
  .why-badge .badge-icon svg{
    width:18px;
    height:18px;
    color:#fff;
  }
 
  .why-badge .badge-text strong{
    display:block;
    color:var(--navy);
    font-size:16px;
    font-weight:800;
    line-height:1.2;
  }
 
  .why-badge .badge-text span{
    color:var(--text-muted);
    font-size:11.5px;
    font-weight:600;
    letter-spacing:0.3px;
  }
 
  /* ===================== WHY US RESPONSIVE ===================== */
  @media (max-width:1100px){
    .why-us{padding:80px 0;}
    .why-inner{grid-template-columns:1fr;gap:44px;padding:0 24px;}
    .why-content h2{font-size:32px;}
    .why-content p{max-width:100%;}
    .why-media{order:-1;}
    .why-img-wrap{aspect-ratio:16/10;}
  }
 
  @media (max-width:600px){
    .why-us{padding:60px 0;}
    .why-inner{padding:0 18px;gap:34px;}
    .why-content h2{font-size:26px;}
    .why-btn{width:100%;justify-content:space-between;}
    .why-cta{flex-direction:column;align-items:stretch;}
    .why-img-wrap{aspect-ratio:4/3;border-radius:14px;}
    .why-badge{left:14px;bottom:14px;padding:11px 14px;}
    .why-badge .badge-icon{width:32px;height:32px;}
    .why-badge .badge-text strong{font-size:14px;}
  }

  /* ===================== INDUSTRIES WE SERVE ===================== */
  .industries{
    background:#fcfcfc;
    padding:100px 0 104px;
  }

  .industries-inner{
    max-width:1340px;
    margin:0 auto;
    padding:0 32px;
  }

  .industry-carousel{
    position:relative;
  }

  .industry-track{
    display:flex;
    gap:28px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    padding:6px 4px 22px;
    margin:0 -4px;
    -ms-overflow-style:none;
    scrollbar-width:none;
  }

  .industry-track::-webkit-scrollbar{
    display:none;
  }

  .industry-card{
    flex:0 0 calc((100% - 56px)/3);
    scroll-snap-align:start;
    background:#fff;
    border:1px solid var(--gray-border);
    border-radius:14px;
    overflow:hidden;
    opacity:0;
    transform:translateY(32px);
    transition:opacity .65s ease, transform .65s ease, box-shadow .4s ease, border-color .4s ease;
  }

  .industry-card.in-view{
    opacity:1;
    transform:translateY(0);
  }

  .industry-card:hover{
    box-shadow:0 26px 48px rgba(13,35,64,0.16);
    border-color:rgba(28,99,184,0.3);
    transform:translateY(-8px);
  }

  .industry-media{
    position:relative;
    height:190px;
    overflow:hidden;
    background-size:cover;
    background-position:center;
  }

  .industry-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .6s ease;
  }

  .industry-card:hover .industry-media img{
    transform:scale(1.08);
  }

  .industry-media::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(13,35,64,0) 55%, rgba(13,35,64,0.35) 100%);
  }

  .industry-body{
    padding:24px 26px 26px;
  }

  .industry-body h3{
    color:var(--navy);
    font-size:19px;
    font-weight:700;
    margin-bottom:10px;
  }

  .industry-body p{
    color:var(--text-muted);
    font-size:13.8px;
    line-height:1.7;
    margin-bottom:18px;
    min-height:46px;
  }

  .industry-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--red);
    font-size:13px;
    font-weight:700;
    letter-spacing:0.4px;
    text-decoration:none;
  }

  .industry-link svg{
    width:15px;
    height:15px;
    transition:transform .3s ease;
  }

  .industry-link:hover svg{
    transform:translateX(6px);
  }

  /* carousel arrows */
  .carousel-btn{
    position:absolute;
    top:80px;
    width:48px;
    height:48px;
    border-radius:50%;
    background:#fff;
    border:1px solid var(--gray-border);
    box-shadow:0 12px 26px rgba(13,35,64,0.14);
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    z-index:6;
    transition:background .25s ease, border-color .25s ease, transform .2s ease;
  }

  .carousel-btn svg{
    width:19px;
    height:19px;
    color:var(--navy);
    transition:color .25s ease;
  }

  .carousel-btn:hover{
    background:var(--red);
    border-color:var(--red);
    transform:translateY(-2px);
  }

  .carousel-btn:hover svg{
    color:#fff;
  }

  .carousel-btn.prev{left:-24px;}
  .carousel-btn.next{right:-24px;}

  .carousel-btn.disabled{
    opacity:0.35;
    pointer-events:none;
  }

  /* carousel dots */
  .carousel-dots{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin-top:8px;
  }

  .carousel-dots button{
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--gray-border);
    border:none;
    padding:0;
    cursor:pointer;
    transition:background .25s ease, width .25s ease;
  }

  .carousel-dots button.active{
    background:var(--red);
    width:24px;
    border-radius:5px;
  }

  /* ===================== INDUSTRIES RESPONSIVE ===================== */
  @media (max-width:1100px){
    .industries{padding:80px 0 84px;}
    .industry-card{flex:0 0 calc((100% - 22px)/2);}
    .industry-track{gap:22px;}
  }

  @media (max-width:900px){
    .carousel-btn{display:none;}
  }

  @media (max-width:600px){
    .industries{padding:60px 0 64px;}
    .industries-inner{padding:0 18px;}
    .industry-card{flex:0 0 86%;}
    .industry-body{padding:22px 20px 22px;}
    .industry-body p{min-height:0;}
  }

  /* ===================== TECHNICAL RESOURCES ===================== */
  .tech-resources{
    background:#fff;
    padding:80px 0 96px;
  }

  .tr-inner{
    max-width:1340px;
    margin:0 auto;
    padding:0 32px;
  }

  .tr-eyebrow{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-bottom:36px;
  }

  .tr-eyebrow .line{
    width:0;
    height:2px;
    background:var(--red);
    border-radius:2px;
    transition:width .7s cubic-bezier(.2,.8,.2,1);
  }

  .tr-eyebrow.in-view .line{
    width:36px;
  }

  .tr-eyebrow span{
    color:var(--navy);
    font-size:16px;
    font-weight:800;
    letter-spacing:1.5px;
  }

  .tr-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    border:1px solid var(--gray-border);
    border-radius:14px;
    background:#fafbfc;
    overflow:hidden;
  }

  .tr-item{
    position:relative;
    padding:32px 28px;
    text-decoration:none;
    display:block;
    opacity:0;
    transform:translateY(24px);
    transition:opacity .6s ease, transform .6s ease, background .3s ease;
  }

  .tr-item.in-view{
    opacity:1;
    transform:translateY(0);
  }

  .tr-item:not(:last-child)::after{
    content:'';
    position:absolute;
    top:0;
    right:0;
    width:1px;
    height:100%;
    background:var(--gray-border);
  }

  .tr-item:hover{
    background:#fff;
  }

  .tr-icon{
    width:64px;
    height:64px;
    border-radius:50%;
    background:#eef0f3;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:18px;
    transition:background .35s ease, transform .35s ease;
  }

  .tr-item:hover .tr-icon{
    background:#e3e8f0;
    transform:scale(1.06);
  }

  .tr-icon svg{
    width:30px;
    height:30px;
    color:var(--navy);
  }

  .tr-icon.pdf{
    background:var(--red);
  }

  .tr-icon.pdf svg{
    color:#fff;
  }

  .tr-item:hover .tr-icon.pdf{
    background:var(--red-dark);
  }

  .tr-item h3{
    color:var(--navy);
    font-size:17px;
    font-weight:700;
    line-height:1.35;
    margin-bottom:10px;
  }

  .tr-item p{
    color:var(--text-muted);
    font-size:13.5px;
    line-height:1.65;
    margin-bottom:26px;
    min-height:66px;
  }

  .tr-arrow{
    display:flex;
    justify-content:flex-end;
  }

  .tr-arrow svg{
    width:20px;
    height:20px;
    color:var(--red);
    transition:transform .3s ease;
  }

  .tr-item:hover .tr-arrow svg{
    transform:translateX(6px);
  }

  /* ===================== TECHNICAL RESOURCES RESPONSIVE ===================== */
  @media (max-width:1100px){
    .tech-resources{padding:64px 0 76px;}
    .tr-grid{grid-template-columns:repeat(2, 1fr);}
    .tr-item:nth-child(2)::after{background:var(--gray-border);}
    .tr-item:nth-child(2n)::after{display:none;}
    .tr-item:nth-child(1)::after, .tr-item:nth-child(3)::after{display:block;}
    .tr-item{border-bottom:1px solid var(--gray-border);}
    .tr-item:nth-last-child(-n+2){border-bottom:none;}
  }

  @media (max-width:600px){
    .tech-resources{padding:52px 0 60px;}
    .tr-inner{padding:0 18px;}
    .tr-eyebrow span{font-size:14px;}
    .tr-grid{grid-template-columns:1fr;}
    .tr-item::after{display:none !important;}
    .tr-item{border-bottom:1px solid var(--gray-border);}
    .tr-item:last-child{border-bottom:none;}
    .tr-item p{min-height:0;}
  }

  /* ===================== FAQ + GET A QUOTE ===================== */
  .faq-quote-section{
    background:#fcfcfc;
    padding:96px 0;
  }

  .fq-inner{
    max-width:1340px;
    margin:0 auto;
    padding:0 32px;
    display:grid;
    grid-template-columns:1.15fr 0.85fr;
    gap:56px;
    align-items:start;
  }

  /* ---- FAQ column ---- */
  .fq-eyebrow{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:18px;
  }

  .fq-eyebrow .line{
    width:0;
    height:2px;
    background:var(--red);
    border-radius:2px;
    transition:width .7s cubic-bezier(.2,.8,.2,1);
  }

  .fq-col.in-view .fq-eyebrow .line{
    width:32px;
  }

  .fq-eyebrow span{
    color:var(--red);
    font-size:13px;
    font-weight:700;
    letter-spacing:2.5px;
  }

  .fq-col h2{
    color:var(--navy);
    font-size:34px;
    font-weight:800;
    line-height:1.25;
    letter-spacing:-0.5px;
    margin-bottom:14px;
  }

  .fq-col > p{
    color:var(--text-muted);
    font-size:15px;
    line-height:1.7;
    margin-bottom:30px;
    max-width:520px;
  }

  .faq-list{
    display:flex;
    flex-direction:column;
    gap:14px;
    margin-bottom:30px;
  }

  .faq-item{
    background:#fff;
    border:1px solid var(--gray-border);
    border-radius:10px;
    overflow:hidden;
    opacity:0;
    transform:translateY(20px);
    transition:opacity .55s ease, transform .55s ease, border-color .3s ease, box-shadow .3s ease;
  }

  .faq-item.in-view{
    opacity:1;
    transform:translateY(0);
  }

  .faq-item.active{
    border-color:rgba(28,99,184,0.35);
    box-shadow:0 14px 30px rgba(13,35,64,0.1);
  }

  .faq-q{
    display:flex;
    align-items:center;
    gap:16px;
    width:100%;
    background:none;
    border:none;
    padding:18px 20px;
    cursor:pointer;
    text-align:left;
    font-family:inherit;
  }

  .faq-num{
    flex:0 0 30px;
    width:30px;
    height:30px;
    border-radius:50%;
    background:var(--navy);
    color:#fff;
    font-size:13px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    transition:background .3s ease;
  }

  .faq-item.active .faq-num{
    background:var(--red);
  }

  .faq-text{
    flex:1;
    color:var(--navy);
    font-size:15.5px;
    font-weight:700;
    line-height:1.4;
  }

  .faq-chevron{
    width:20px;
    height:20px;
    color:var(--navy);
    flex-shrink:0;
    transition:transform .35s ease;
  }

  .faq-item.active .faq-chevron{
    transform:rotate(180deg);
    color:var(--red);
  }

  .faq-a{
    max-height:0;
    overflow:hidden;
    transition:max-height .4s ease;
  }

  .faq-a-inner{
    padding:0 20px 20px 66px;
    color:var(--text-muted);
    font-size:14px;
    line-height:1.75;
  }

  .fq-view-all{
    display:inline-flex;
    align-items:center;
    gap:12px;
    border:1.5px solid var(--red);
    color:var(--red);
    font-weight:700;
    font-size:13.5px;
    letter-spacing:0.4px;
    padding:15px 26px;
    border-radius:8px;
    text-decoration:none;
    transition:background .3s ease, color .3s ease, transform .2s ease, box-shadow .3s ease;
  }

  .fq-view-all svg{
    width:16px;
    height:16px;
    transition:transform .3s ease;
  }

  .fq-view-all:hover{
    background:var(--red);
    color:#fff;
    transform:translateY(-3px);
    box-shadow:0 14px 28px rgba(28,99,184,0.25);
  }

  .fq-view-all:hover .arrow{
    transform:translateX(5px);
  }

  /* ---- Get a Quote column ---- */
  .quote-col{
    position:relative;
    background:#fff;
    border:1px solid var(--gray-border);
    border-radius:16px;
    padding:40px 36px;
    overflow:hidden;
    opacity:0;
    transform:translateY(30px);
    transition:opacity .7s ease, transform .7s ease;
  }

  .quote-col.in-view{
    opacity:1;
    transform:translateY(0);
  }

  .quote-decor{
    position:absolute;
    top:-30px;
    right:-30px;
    width:180px;
    height:180px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(28,99,184,0.09) 0%, rgba(28,99,184,0) 70%);
    z-index:0;
  }

  .quote-icon-wrap{
    position:relative;
    z-index:1;
    width:100%;
    display:flex;
    justify-content:flex-end;
    margin-bottom:-18px;
  }

  .quote-icon-wrap svg{
    width:104px;
    height:104px;
    color:rgba(13,35,64,0.08);
  }

  .quote-col .gq-eyebrow{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:18px;
  }

  .quote-col .gq-eyebrow .line{
    width:0;
    height:2px;
    background:var(--red);
    border-radius:2px;
    transition:width .7s cubic-bezier(.2,.8,.2,1);
  }

  .quote-col.in-view .gq-eyebrow .line{
    width:28px;
  }

  .quote-col .gq-eyebrow span{
    color:var(--red);
    font-size:12.5px;
    font-weight:700;
    letter-spacing:2.5px;
  }

  .quote-col h3{
    position:relative;
    z-index:1;
    color:var(--navy);
    font-size:27px;
    font-weight:800;
    line-height:1.28;
    letter-spacing:-0.4px;
    margin-bottom:18px;
  }

  .quote-underline{
    position:relative;
    z-index:1;
    width:0;
    height:3px;
    background:var(--red);
    border-radius:2px;
    margin-bottom:20px;
    transition:width .8s cubic-bezier(.2,.8,.2,1) .15s;
  }

  .quote-col.in-view .quote-underline{
    width:52px;
  }

  .quote-col p{
    position:relative;
    z-index:1;
    color:var(--text-muted);
    font-size:14.5px;
    line-height:1.8;
    margin-bottom:30px;
  }

  .quote-cta{
    position:relative;
    z-index:1;
    display:flex;
    flex-wrap:wrap;
    gap:14px;
  }

  .quote-btn2{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:15px 22px;
    font-size:13px;
    font-weight:700;
    letter-spacing:0.3px;
    text-decoration:none;
    border-radius:6px;
    transition:background .25s ease, color .25s ease, border-color .25s ease, transform .2s ease, box-shadow .25s ease;
  }

  .quote-btn2 svg{
    width:15px;
    height:15px;
    transition:transform .3s ease;
  }

  .quote-btn2:hover svg{
    transform:translateX(5px);
  }

  .quote-btn2.solid{
    background:var(--red);
    color:#fff;
    border:1.5px solid var(--red);
  }

  .quote-btn2.solid:hover{
    background:var(--red-dark);
    border-color:var(--red-dark);
    box-shadow:0 14px 28px rgba(28,99,184,0.25);
    transform:translateY(-3px);
  }

  .quote-btn2.ghost{
    background:transparent;
    color:var(--red);
    border:1.5px solid var(--red);
  }

  .quote-btn2.ghost:hover{
    background:var(--red);
    color:#fff;
    transform:translateY(-3px);
    box-shadow:0 14px 28px rgba(28,99,184,0.25);
  }

  /* ===================== FAQ + QUOTE RESPONSIVE ===================== */
  @media (max-width:1100px){
    .faq-quote-section{padding:76px 0;}
    .fq-inner{grid-template-columns:1fr;gap:44px;padding:0 24px;}
    .fq-col h2{font-size:28px;}
  }

  @media (max-width:600px){
    .faq-quote-section{padding:56px 0;}
    .fq-inner{padding:0 18px;gap:34px;}
    .fq-col h2{font-size:24px;}
    .faq-q{padding:15px 14px;gap:12px;}
    .faq-q span{font-size:14px;}
    .faq-a-inner{padding:0 14px 18px 56px;}
    .fq-view-all{width:100%;justify-content:center;}
    .quote-col{padding:30px 22px;}
    .quote-col h3{font-size:22px;}
    .quote-cta{flex-direction:column;align-items:stretch;}
    .quote-btn2{justify-content:space-between;}
  }

  /* ===================== FOOTER ===================== */
  .site-footer{
    background:#fff;
    border-top:1px solid var(--gray-border);
    padding:80px 0 0;
  }

  .footer-inner{
    max-width:1340px;
    margin:0 auto;
    padding:0 32px;
    display:grid;
    grid-template-columns:1.3fr 1fr 0.9fr 1fr 1.2fr;
    gap:40px;
    padding-bottom:56px;
  }

  .footer-brand .footer-logo{
    height:42px;
    margin-bottom:20px;
  }

  .footer-brand p{
    color:var(--text-muted);
    font-size:13.8px;
    line-height:1.85;
    max-width:280px;
  }

  .footer-col h4{
    color:var(--navy);
    font-size:14px;
    font-weight:800;
    letter-spacing:1px;
    margin-bottom:14px;
  }

  .footer-col .heading-bar{
    width:28px;
    height:2.5px;
    background:var(--red);
    border-radius:2px;
    margin-bottom:22px;
  }

  .footer-links{
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:13px;
  }

  .footer-links a{
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--text-muted);
    font-size:13.8px;
    text-decoration:none;
    transition:color .25s ease, transform .25s ease, gap .25s ease;
  }

  .footer-links a svg{
    width:13px;
    height:13px;
    color:var(--red);
    flex-shrink:0;
    transition:transform .25s ease;
  }

  .footer-links a:hover{
    color:var(--navy);
    gap:12px;
  }

  .footer-links a:hover svg{
    transform:translateX(2px);
  }

  .footer-contact{
    display:flex;
    flex-direction:column;
    gap:18px;
  }

  .footer-contact-item{
    display:flex;
    align-items:flex-start;
    gap:12px;
  }

  .fc-icon{
    width:34px;
    height:34px;
    border-radius:50%;
    border:1.5px solid var(--red);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
  }

  .fc-icon svg{
    width:15px;
    height:15px;
    color:var(--red);
  }

  .footer-contact-item .fc-text{
    color:var(--text-muted);
    font-size:13.5px;
    line-height:1.65;
    padding-top:6px;
  }

  .footer-contact-item .fc-text strong{
    display:block;
    color:var(--navy);
    font-weight:700;
    margin-bottom:2px;
  }

  /* footer bottom bar */
  .footer-bottom{
    border-top:1px solid var(--gray-border);
    padding:22px 32px;
  }

  .footer-bottom-inner{
    max-width:1340px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:16px;
  }

  .footer-copy{
    color:var(--text-muted);
    font-size:13px;
  }

  .footer-legal{
    display:flex;
    align-items:center;
    gap:22px;
  }

  .footer-legal a{
    color:var(--text-muted);
    font-size:13px;
    text-decoration:none;
    transition:color .25s ease;
  }

  .footer-legal a:hover{
    color:var(--red);
  }

  .footer-social{
    display:flex;
    align-items:center;
    gap:10px;
  }

  .footer-social a{
    width:36px;
    height:36px;
    border-radius:50%;
    border:1.5px solid var(--gray-border);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--navy);
    transition:background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
  }

  .footer-social a svg{
    width:16px;
    height:16px;
  }

  .footer-social a:hover{
    background:var(--red);
    border-color:var(--red);
    color:#fff;
    transform:translateY(-3px);
  }

  /* ===================== FOOTER RESPONSIVE ===================== */
  @media (max-width:1100px){
    .footer-inner{
      grid-template-columns:repeat(2, 1fr);
      gap:36px 28px;
      padding:0 24px 48px;
    }
    .footer-brand{grid-column:1 / -1;}
    .footer-brand p{max-width:420px;}
  }

  @media (max-width:600px){
    .site-footer{padding:56px 0 0;}
    .footer-inner{
      grid-template-columns:1fr;
      padding:0 18px 40px;
      gap:32px;
    }
    .footer-bottom{padding:18px 18px;}
    .footer-bottom-inner{flex-direction:column;align-items:flex-start;}
    .footer-legal{flex-wrap:wrap;gap:14px;}
  }