/* ==========================================================================
   Hindustan Gaskets and Sheet Metals
   Visual system: navy structure · green material data · cyan interaction
   Devices: rotated rail titles, bolt-hole rows, CAD dimension rules
   ========================================================================== */

:root{
  --navy:#015894;
  --navy-deep:#061626;
  --navy-soft:#123253;
  --blue:#1E6FB8;
  --green:#2C8A4B;
  --green-deep:#1F6C39;
  --cyan:#00A3C4;

  --ink:#132030;
  --muted:#31485c;
  --line:#DCE3EA;
  --line-soft:#EBEFF3;
  --mist:#F3F5F7;
  --paper:#FFFFFF;

  --display:"Poppins", "Roboto",system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:"Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

  --pad:clamp(20px,4vw,56px);
  --gap:clamp(24px,3vw,48px);
  --sec:clamp(64px,9vw,80px);
  --ease:cubic-bezier(.22,.61,.36,1);
  --shell:1360px;
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--body);
  font-size:clamp(15px, .42vw + 14px, 17px);
  line-height:1.68;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;letter-spacing:-.022em;line-height:1.06;margin:0}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}

/* ---------- type scale ---------- */
.t-hero {
    font-size: clamp(2.3rem, 4.1vw, 4.05rem);
    line-height: 1.2;
    letter-spacing: -0.035em;
    text-shadow:
        0 3px 15px rgba(0,0,0,.12);
        color:#fff;
        margin-bottom:20px;
        font-weight:700;
}
.t-xl{font-size:clamp(1.95rem,3vw,3.5rem);line-height:1.08;letter-spacing:-.03em;font-family: var(--display);font-weight: 500;}
.t-lg{font-size:clamp(1.55rem,2.6vw,2.4rem);line-height:1.08}
.t-md{font-size:clamp(1.15rem,1.5vw,1.5rem);line-height:1.2}
.t-sm{font-size:1.02rem;line-height:1.35}
.lede{font-size:clamp(1.02rem,.5vw + .9rem,1.22rem);line-height:1.62;color:var(--muted);max-width:62ch}
.body-w{max-width:66ch}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* ---------- shell ---------- */
.wrap{max-width:var(--shell);margin-inline:auto;padding-inline:var(--pad)}
.sec{position:relative;padding-block:var(--sec)}
.sec--mist{background:var(--mist)}
.sec--navy{background:var(--navy);color:#fff}
.sec--navy .lede{color:#A9BDD1}
.sec--tight{padding-block:clamp(48px,6vw,88px)}

/* rotated rail title — borrowed from the company brochure's side titles */
.rail{
  display:none;position:absolute;left:var(--pad);top:var(--sec);
  writing-mode:vertical-rl;transform:rotate(180deg);transform-origin:center;
  font-family:var(--display);font-weight:700;letter-spacing:-.03em;
  font-size:clamp(30px,3.1vw,52px);color:var(--line);
  user-select:none;pointer-events:none;
}
.sec--navy .rail{color:rgba(255,255,255,.10)}
.sec--mist .rail{color:#E0E5EA}
@media (min-width:1300px){
  .sec--rail .rail{display:block}
  .sec--rail .wrap{padding-left:120px}
}

/* ---------- section heading block ---------- */
.head{margin-bottom:clamp(32px,4vw,64px)}
.head__tag{
  display:inline-flex;align-items:center;gap:10px;
  font-size:.86rem;font-weight:500;color:var(--blue);letter-spacing:.01em;margin-bottom:16px;
}
.sec--navy .head__tag{color:var(--cyan)}
.head__tag::before{content:"";width:26px;height:1px;background:currentColor}
.head h2{max-width:20ch}
.head .lede{margin-top:18px}
.head--split{display:grid;gap:var(--gap);grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){
  .head--split{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:end}
  .head--split .lede{margin-top:0;padding-bottom:6px}
}

/* bolt-hole row — the logo's gasket bolt circle, used as a divider */
.bolts{display:flex;gap:9px;margin:0 0 22px}
.bolts i{width:7px;height:7px;border-radius:50%;background:var(--line);display:block}
.bolts i:first-child{background:var(--green)}
.sec--navy .bolts i{background:rgba(255,255,255,.22)}
.sec--navy .bolts i:first-child{background:var(--cyan)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  padding:15px 28px;font-family:var(--display);font-weight:600;font-size:.96rem;
  letter-spacing:.005em;border-radius:2px;position:relative;
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .25s var(--ease);
}
.btn:active{transform:translateY(1px)}
.btn--solid{background:var(--navy);color:#fff}
.btn--solid:hover{background:var(--blue)}
.btn--green{background:var(--green);color:#fff}
.btn--green:hover{background:var(--green-deep)}
.btn--ghost{border:1px solid var(--line);color:var(--ink);background:transparent}
.btn--ghost:hover{border-color:var(--navy);background:var(--navy);color:#fff}
.btn--onDark{border:1px solid rgba(255,255,255,.34);color:#fff}
.btn--onDark:hover{background:#fff;color:var(--navy);border-color:#fff}
.btn--wide{width:100%}
.chev{width:8px;height:8px;border-right:1.6px solid currentColor;border-top:1.6px solid currentColor;transform:rotate(45deg);flex:none}

.tlink{
  display:inline-flex;align-items:center;gap:10px;font-family:var(--display);
  font-weight:600;font-size:.94rem;color:var(--navy);
  border-bottom:1px solid var(--line);padding-bottom:6px;
  transition:color .25s var(--ease),border-color .25s var(--ease),gap .25s var(--ease);
}
.tlink:hover{color:var(--blue);border-color:var(--blue);gap:16px}
.sec--navy .tlink{color:#fff;border-color:rgba(255,255,255,.3)}
.sec--navy .tlink:hover{color:var(--cyan);border-color:var(--cyan)}

/* ==========================================================================
   HEADER
   ========================================================================== */
.hdr{
  position:fixed;inset:0 0 auto;z-index:120;
  transition:background .38s var(--ease),box-shadow .38s var(--ease),border-color .38s var(--ease);
  border-bottom:1px solid transparent;
}
.hdr::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(6,22,38,.72),rgba(6,22,38,0));
  transition:opacity .38s var(--ease);
}
.hdr__in{display:flex;align-items:center;gap:clamp(18px,2.4vw,44px);height:84px;transition:height .38s var(--ease);background:#fff;}
.hdr.is-stuck{background:#fff;border-bottom-color:var(--line);box-shadow:0 8px 40px -28px rgba(10,37,64,.6)}
.hdr.is-stuck::before{opacity:0}
.hdr.is-stuck .hdr__in{height:72px}

.brand{display:flex;align-items:center;gap:13px;flex:none}
.brand img{width:50px;height:auto;transition:filter .38s var(--ease);padding-top:4px;}
.brand__txt{font-family:var(--display);font-weight:800;letter-spacing:-.03em;line-height:.93;color:#000;transition:color .38s var(--ease)}
.brand__txt b{display:block;font-size:1.02rem}
.brand__txt span{display:block;font-size:.575rem;font-weight:500;letter-spacing:.16em;opacity:.72;margin-top:3px}
.hdr.is-stuck .brand img{filter:none}
.hdr.is-stuck .brand__txt{color:#000;}

.nav{margin-left:auto;display:none}
.nav>ul{display:flex;align-items:center;gap:clamp(12px,1.5vw,26px)}
.nav a{
  display:block;padding:10px 2px;font-size:.845rem;font-weight:500;letter-spacing:.045em;
  text-transform:uppercase;color:var(--muted);position:relative;transition:color .28s var(--ease);
}
.nav a::after{content:"";position:absolute;left:0;bottom:2px;height:1.5px;width:0;background:var(--cyan);transition:width .3s var(--ease)}
.nav a:hover,.nav a[aria-current="page"]{color:var(--navy)}
.nav a:hover::after,.nav a[aria-current="page"]::after{width:100%}
.hdr.is-stuck .nav a{color:var(--muted)}
.hdr.is-stuck .nav a:hover,.hdr.is-stuck .nav a[aria-current="page"]{color:var(--navy)}


@media (min-width:1120px){.nav{display:block}}

.has-drop{position:relative}
.drop{
  position:absolute;top:100%;left:-22px;min-width:290px;background:#fff;
  border:1px solid var(--line);border-top:2px solid var(--green);
  padding:10px;box-shadow:0 30px 60px -30px rgba(10,37,64,.45);
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .26s var(--ease),transform .26s var(--ease),visibility .26s;
}
.has-drop:hover .drop,.has-drop:focus-within .drop{opacity:1;visibility:visible;transform:translateY(0)}
.drop a{
  padding:9px 14px;text-transform:none;letter-spacing:0;font-size:.92rem;color:var(--ink)!important;
  display:flex;justify-content:space-between;align-items:center;border-radius:2px;
}
.drop a::after{display:none}
.drop a:hover{background:var(--mist);color:var(--navy)!important}
.drop a i {
    /* font-style: normal;
    font-family: var(--mono);
    font-size: .72rem;
    color: var(--muted) */
}

.hdr__cta{display:none;flex:none}
@media (min-width:1120px){.hdr__cta{display:inline-flex}}
.hdr__cta.btn{padding:13px 24px;font-size:.86rem;background:var(--green);color:#fff}
.hdr__cta.btn:hover{background:var(--green-deep)}

.burger{margin-left:auto;width:46px;height:46px;display:grid;place-items:center;flex:none}
@media (min-width:1120px){.burger{display:none}}
.burger span{display:block;width:23px;height:1.7px;background:#fff;position:relative;transition:background .3s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:23px;height:1.7px;background:inherit;transition:transform .34s var(--ease)}
.burger span::before{top:-7px}.burger span::after{top:7px}
.hdr.is-stuck .burger span,.hdr.is-stuck .burger span::before,.hdr.is-stuck .burger span::after{background:var(--navy)}
.nav-open .burger span{background:transparent!important}
.nav-open .burger span::before{transform:translateY(7px) rotate(45deg);background:#fff}
.nav-open .burger span::after{transform:translateY(-7px) rotate(-45deg);background:#fff}

/* mobile drawer */
.mnav{
  position:fixed;inset:0;z-index:110;background:var(--navy-deep);
  padding:104px var(--pad) 48px;overflow-y:auto;
  transform:translateY(-100%);transition:transform .5s var(--ease);
}
.nav-open .mnav{transform:translateY(0)}
.mnav a {
    display: block!important;
    color: #fff;
    font-family: var(--display);
    font-weight: 600;
  font-size:1.5rem;letter-spacing:-.02em;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.mnav .sub{padding-left:16px}
.mnav .sub a{font-size:.98rem;font-weight:400;font-family:var(--body);color:#9FB4C8;border-bottom:0;padding:7px 0}
.mnav .btn{margin-top:30px}
.mnav__meta{margin-top:36px;color:#8FA5B9;font-size:.92rem;line-height:1.9}
.mnav__meta a{font-size:.92rem;font-family:var(--body);font-weight:400;padding:0;border:0;display:inline}

/* Mobile Dropdown */



/* =========================
   MAIN PRODUCTS DROPDOWN
========================= */

.nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav > ul {
    display: flex;
    align-items: center;
}

.nav li {
    position: relative;
}

.nav a {
    text-decoration: none;
    display: block;
}

 .nav > ul > li.has-drop {
        position: relative;
    }

/* Products dropdown */
.nav > ul > li.has-drop > .drop {
     top: 100%;
        left: 0;
        width: 300px;
        min-width: 300px;
}

/* Show Products dropdown */
.nav > ul > li.has-drop:hover > .drop {
    display: block;
}


/* =========================
   DROPDOWN ITEMS
========================= */
  /* All dropdowns */
    .nav .drop {
        position: absolute;
        display: none;
        z-index: 99999;

        background: #fff;

        margin: 0;
        padding: 8px 0;

        list-style: none;

        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);

        border-radius: 0;
    }


.nav .drop > li {
    width: 100%;
}

.nav .drop > li > a {
    padding: 10px 18px;
    font-size: 12px;
    line-height: 1.4;
    white-space: nowrap;
    color: #333;

    transition: all 0.2s ease;
}

.nav .drop > li > a:hover {
    background: #f5f5f5;
    color: #000;
}


/* =========================
   SECOND LEVEL SUBMENU
========================= */

.nav .drop li.has-drop > .drop {
    position: absolute;
    top: -8px;
    left: 100%;
    min-width: 263px;
    width: 263px;
    max-width: 450px;
    background: #fff;
    padding: 8px 0;
    margin: 0;
    display: none;
    z-index: 10000;
    box-shadow: 8px 8px 25px rgba(0,0,0,0.12);
    border: 1px solid #eee;
}

/* Show second level */
.nav .drop li.has-drop:hover > .drop {
    display: block;
}


/* =========================
   ARROW
========================= */

.menu-me-icon {
    float: right;
    margin-left: 15px;
    font-size: 14px;
}


/* =========================
   BETTER SPACING
========================= */

.nav .drop li.has-drop > a {
    padding-right: 15px;
}


/* =========================
   LONG TEXT HANDLING
========================= */

.nav .drop li.has-drop > .drop a {
    white-space: normal;
    min-width: 260px;
}

/* ==========================================================================
   HERO — split: navy type panel / full-bleed product panel
   ========================================================================== */
.hero {
   position: relative;
    overflow: hidden;
    isolation: isolate;

    /* premium background */
    background:
        radial-gradient(
            circle at 72% 45%,
            rgba(41, 144, 77, 0.12),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #063d69 0%,
            #075184 48%,
            #062e4d 100%
        );
        width: 100%;
    /* Responsive hero height */
    height: clamp(600px, calc(100vh - 70px), 760px);
    min-height: 600px;

    overflow: hidden;
    
}

@media (max-width:899px){.hero{min-height:auto;padding-top:84px}}
.hero__grid{display:grid;width:100%;grid-template-columns:1fr}
@media (min-width:900px){.hero__grid{grid-template-columns:minmax(0,46fr) minmax(0,54fr)}}

.hero__left {
    position: relative;
    display: flex;
    align-items: center;
    padding: clamp(48px, 7vw, 90px) var(--pad) clamp(60px, 7vw, 86px);
    padding-left: max(var(--pad), calc((100vw - var(--shell))/2 + var(--pad)));
    background: var(--navy)
}
.hero__left::before {
    content: "";
    position: absolute;
    inset: 0;

    pointer-events: none;

   background:
        radial-gradient(
            circle at 85% 25%,
            rgba(35, 160, 92, .10) 0,
            rgba(35, 160, 92, .04) 120px,
            transparent 280px
        ),

        radial-gradient(
            circle at 90% 80%,
            transparent 0,
            transparent 110px,
            rgba(255,255,255,.035) 111px,
            rgba(255,255,255,.035) 112px,
            transparent 113px,
            transparent 170px,
            rgba(255,255,255,.025) 171px,
            rgba(255,255,255,.025) 172px,
            transparent 173px
        ),

        linear-gradient(
            135deg,
            rgba(255,255,255,.025) 25%,
            transparent 25%,
            transparent 50%,
            rgba(255,255,255,.018) 50%,
            rgba(255,255,255,.018) 75%,
            transparent 75%
        );

    background-size:
        auto,
        auto,
        8px 8px;

}
.hero__left::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(120% 90% at 20% 30%,#000,transparent 72%);
          mask-image:radial-gradient(120% 90% at 20% 30%,#000,transparent 72%);
}
.hero__right {
    position: relative;
    background: var(--mist);
     z-index: 2;
    overflow: hidden;
    min-height: 52vw;
}

@media (min-width:900px){.hero__right{min-height:0}}

.hslide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s var(--ease),visibility .9s}
.hslide.is-on{opacity:1;visibility:visible}
.hslide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform:scale(1.06);
     transition:
        transform 1.2s cubic-bezier(.2,.7,.2,1),
        filter 1s ease;
}
.hslide.is-on img{transform:scale(1)}
.hero__right::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(10,37,64,.5),rgba(10,37,64,0) 42%)}
@media (min-width:900px){.hero__right::after{background:linear-gradient(90deg,rgba(10,37,64,.34),rgba(10,37,64,0) 30%)}}

.hero__copy{position:relative;z-index:2;max-width:610px;width:100%}
.hcopy{display:none}
.hcopy.is-on{display:block}
.hcopy__idx{display:flex;align-items:center;gap:14px;margin-bottom:22px;color:var(--cyan);font-family:var(--mono);font-size:.78rem;letter-spacing:.14em}
.hcopy__idx::after{content:"";height:1px;flex:1;max-width:74px;background:rgba(0,163,196,.5)}
.hcopy__kicker{color:#9FBBD4;font-size:.95rem;margin-bottom:14px}
.hero h1{color:#fff;margin-bottom:20px}
.hcopy p.lede{color:#B4C7D8;max-width:44ch}
.hcopy__btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:clamp(28px,3.4vw,42px)}
.is-on .hcopy__idx,.is-on .hcopy__kicker,.is-on h1,.is-on .lede,.is-on .hcopy__btns{animation:riseIn .  s var(--ease) both}
.is-on .hcopy__kicker{animation-delay:.05s}
.is-on h1{animation-delay:.11s}
.is-on .lede{animation-delay:.19s}
.is-on .hcopy__btns{animation-delay:.27s}
@keyframes riseIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

.hero__ui{
  position:absolute;z-index:3;left:0;right:0;bottom:0;
  display:flex;align-items:center;gap:20px;
  padding:0 var(--pad) 26px;
  padding-left:max(var(--pad),calc((100vw - var(--shell))/2 + var(--pad)));
  
}
.hero__ticks{display:flex;gap:8px}
.hero__ticks button{width:34px;height:3px;background:rgba(255,255,255,.24);border-radius:2px;position:relative;overflow:hidden}
.hero__ticks button span{position:absolute;inset:0;background:var(--cyan);transform:scaleX(0);transform-origin:left;border-radius:2px}
.hero__ticks button[aria-selected="true"] span{animation:tick var(--dur,7s) linear forwards}
.hero.is-paused .hero__ticks button[aria-selected="true"] span{animation-play-state:paused}
@keyframes tick{to{transform:scaleX(1)}}
.hero__arrows{display:flex;gap:8px;margin-left:auto;margin-right:var(--pad)}
.hero__arrows button{width:46px;height:46px;border:1px solid rgba(255,255,255,.32);display:grid;place-items:center;
  transition:background .28s var(--ease),border-color .28s var(--ease);border-radius:2px; background: #2b874b;}
.hero__arrows button:hover{background:#fff;border-color:#fff}
.hero__arrows button:hover .chev{color:var(--navy)}
.hero__arrows .chev{color:#fff;transform:rotate(45deg)}
.hero__arrows button:first-child .chev{transform:rotate(-135deg)}
@media (max-width:899px){
  .hero{display:block}
  .hero__grid{display:grid}
  .hero__right{aspect-ratio:4/3}
  .hero__ui{position:static;padding:18px var(--pad) 28px;background:var(--navy)}
  .hero__arrows{margin-right:0}
}


/* ==========================================================================
   TRUST STRIP
   ========================================================================== */
.trust{border-bottom:1px solid var(--line);background:#fff}
.trust ul{display:grid;grid-template-columns:repeat(2,1fr)}
@media (min-width:760px){.trust ul{grid-template-columns:repeat(5,1fr)}}
.trust li{padding:clamp(26px,3vw,44px) clamp(16px,2vw,32px);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust li:last-child{border-right:0}
@media (min-width:760px){.trust li{border-bottom:0}}
.trust b{display:block;font-family:var(--display);font-size:clamp(1.5rem,2.2vw,2.1rem);font-weight:700;letter-spacing:-.03em;color:var(--navy);line-height:1}
.trust span{display:block;margin-top:10px;font-size:.88rem;color:var(--muted);line-height:1.45}
.trust li:first-child b{color:var(--green)}
.trust-strip{
    max-width:100%;
    margin:0 auto;
    padding:35px 20px;

    display:grid;
    grid-template-columns:repeat(4,1fr);

    background:#fff;
    border-bottom:1px solid var(--line-soft);
    position: relative;
}
.trust-strip::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;

    width:100%;
    height:2px;

    background:linear-gradient(
        90deg,
        transparent,
        var(--cyan),
        transparent
    );

    animation:scan 4s linear infinite;
}

@keyframes scan{

    0%{
        transform:translateX(-100%);
    }

    100%{
        transform:translateX(100%);
    }

}

.trust-item{
    text-align:center;
    padding:20px;
    position:relative;
    opacity:0;
    transform:translateY(40px);

    animation:reveal .8s forwards;
}
.trust-item:not(:last-child)::after{

    content:"";

    position:absolute;

    right:0;

    top:15%;

    width:1px;

    height:70%;

    background:#e5e9ee;

}
.trust-item:nth-child(2){
    animation-delay:.15s;
}

.trust-item:nth-child(3){
    animation-delay:.3s;
}

.trust-item:nth-child(4){
    animation-delay:.45s;
}

.trust-item strong{
    display:block;
    font-size:30px;
    font-weight:800;
    color:var(--navy);
    line-height:1;
}

.trust-item span{
    display:block;
    margin-top:10px;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:14px;
    line-height:1.6;
}
/* ICON */

.trust-icon{

    width:70px;

    height:70px;

    margin:0 auto 18px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#f1f5f8;

    border:1px solid #e6edf2;

}



.trust-icon i{

    font-size:30px;

    color:#0b4269;

}
.trust-item strong{

    display:block;

    font-size:34px;

    font-weight:800;

    color:var(--navy);

    line-height:1;

    letter-spacing:-1px;

}



.trust-item .text-value{

    font-size:30px;

}

@keyframes reveal{
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* ==========================================================================
   ABOUT / split media
   ========================================================================== */
.split{display:grid;gap:clamp(32px,5vw,80px);align-items:center;grid-template-columns:minmax(0,1fr)}
@media (min-width:960px){
  .split{grid-template-columns:minmax(0,.95fr) minmax(0,1fr)}
  .split--flip>.split__media{order:2}
}
.split__media{position:relative}
.split__media img{width:100%;object-fit:cover;border-radius:2px}
.frame{position:relative}
.frame::before{content:"";position:absolute;inset:auto auto -18px -18px;width:52%;height:58%;z-index:-1;border-radius:2px}
.frame--blue::before{border-color:var(--blue)}

.stat-strip{display:flex;flex-wrap:wrap;gap:0;margin-top:34px;border-top:1px solid var(--line)}
.stat-strip div{flex:1 1 130px;padding:20px 22px 0 0}
.stat-strip b{display:block;font-family:var(--display);font-size:1.9rem;font-weight:700;color:var(--navy);letter-spacing:-.03em;line-height:1}
.stat-strip span{font-size:.85rem;color:var(--muted)}

.founders{margin-top:26px;padding-left:20px;border-left:2px solid var(--green);color:var(--muted);font-size:.96rem}
.founders b{color:var(--ink);font-weight:600}
.about-premium {
    position: relative;
    padding: 70px 0;
    background: #f5f9fc;
    overflow: hidden;
}

.about-premium::before {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: rgba(18, 58, 92, 0.035);
    right: -250px;
    top: 80px;
    pointer-events: none;
}

.about-premium__container {
    width: min(1280px, calc(100% - 80px));
    margin: auto;

    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 90px;

    align-items: center;
}


/* =========================================
   LEFT VISUAL
========================================= */

.about-premium__visual {
    position: relative;
    min-height: 610px;
    display: flex;
    align-items: center;
}

.about-premium__image-wrap {
    position: relative;
    width: 100%;
    height: 570px;

    overflow: hidden;

    border-radius: 4px;

    background: #edf1f4;

    box-shadow:
        0 30px 70px rgba(8, 30, 48, 0.14);
}

.about-premium__image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            135deg,
            rgba(5, 31, 50, 0.04),
            transparent 55%
        );

    pointer-events: none;
}

.about-premium__image-wrap img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: contain;
    object-position: center;

    transition: transform 0.8s ease;
}

.about-premium__visual:hover
.about-premium__image-wrap img {
    transform: scale(1.035);
}


/* Decorative border */

.about-premium__shape {
    position: absolute;

    width: 100%;
    height: 100%;

    left: 22px;
    top: 22px;

    border: 1px solid #2d8b52;

    border-radius: 4px;

    z-index: -1;
}


/* =========================================
   IMAGE LABEL
========================================= */

.about-premium__label {
    position: absolute;

    left: -18px;
    top: 55px;

    padding: 13px 20px;

    background: #09263d;
    color: #ffffff;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 1.7px;

    display: flex;
    align-items: center;
    gap: 10px;

    box-shadow: 0 12px 30px rgba(0,0,0,0.15);

    z-index: 3;
}

.about-premium__label span {
    width: 7px;
    height: 7px;

    background: #2d9654;
    border-radius: 50%;
}


/* =========================================
   EXPERIENCE CARD
========================================= */

.about-premium__experience {
    position: absolute;

    right: -35px;
    bottom: 35px;

    width: 235px;

    padding: 27px 25px;

    background: #ffffff;

    border-left: 4px solid #2d9654;

    box-shadow:
        0 20px 50px rgba(6, 29, 47, 0.16);

    display: flex;
    align-items: center;
    gap: 17px;

    z-index: 4;
}

.about-premium__experience-number {
    font-size: 42px;
    line-height: 1;

    font-weight: 800;

    color: #09263d;
}

.about-premium__experience-text {
    font-size: 12px;
    line-height: 1.5;

    color: #657586;

    font-weight: 600;
}


/* =========================================
   RIGHT CONTENT
========================================= */

.about-premium__content {
    padding-right: 20px;
}

.about-premium__eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 20px;

    color: var(--blue);

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 2px;
}

.about-premium__eyebrow span {
    width: 35px;
    height: 2px;

    background: var(--blue);
}


.about-premium__content h2 {
    margin: 0;

    max-width: 700px;

    color: #31485c;

    font-size: 16px;

    line-height: 1.85;

    font-weight: 500;

    
   font-family: var(--display);
}

.about-premium__content h2 strong {
    display: block;

    color: #2d9654;

    font-weight: 700;
}


/* Intro */

.about-premium__intro {
    margin: 30px 0 18px;

    max-width: 680px;

    color: #31485c;

    font-size: 18px;
    line-height: 1.75;

    font-weight: 500;
}


/* Normal paragraph */

.about-premium__text {
    max-width: 680px;

    margin: 0 0 14px;

    color: #31485c;

    font-size: 16px;

    line-height: 1.85;
}


/* =========================================
   FOUNDER
========================================= */

.about-premium__founder {
    display: flex;

    gap: 18px;

    margin-top: 30px;
    padding-top: 25px;

    border-top: 1px solid #e2e7eb;
}

.about-premium__founder-line {
    width: 3px;

    flex-shrink: 0;

    background: #2d9654;
}

.about-premium__founder span {
    display: block;

    margin-bottom: 7px;

    color: #2d9654;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1.5px;
}

.about-premium__founder p {
    margin: 0;

    max-width: 620px;

    color: #637588;

    font-size: 16px;

    line-height: 1.7;
}

.about-premium__founder strong {
    color: #1c344a;
}


/* =========================================
   STATS
========================================= */

.about-premium__stats {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    max-width: 680px;

    margin-top: 35px;

    border-top: 1px solid #dfe5e9;
    border-bottom: 1px solid #dfe5e9;
}

.about-premium__stat {
    padding: 22px 20px 22px 0;

    display: flex;
    align-items: center;

    gap: 15px;

    border-right: 1px solid #dfe5e9;
}

.about-premium__stat:not(:first-child) {
    padding-left: 25px;
}

.about-premium__stat:last-child {
    border-right: 0;
}

.about-premium__stat strong {
    color: #09263d;

    font-size: 31px;

    line-height: 1;

    font-weight: 800;
}

.about-premium__stat > span {
    color: #738394;

    font-size: 11px;

    line-height: 1.45;

    font-weight: 600;
}


/* =========================================
   ACTION
========================================= */

.about-premium__action {
    display: flex;

    align-items: center;

    gap: 25px;

    margin-top: 32px;
}

.about-premium__btn {
    display: inline-flex;

    align-items: center;

    gap: 25px;

    padding: 15px 20px;

    color: #ffffff;

    background: var(--green);

    text-decoration: none;

    font-size: 13px;

    font-weight: 700;

    transition: all 0.3s ease;
}

.about-premium__btn i {
    width: 30px;
    height: 30px;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,0.35);

    border-radius: 50%;

    font-style: normal;

    transition: transform 0.3s ease;
}

.about-premium__btn:hover {
    background: var(--green-deep);

    color: #ffffff;
var(--green-deep)
    transform: translateY(-2px);
}

.about-premium__btn:hover i {
    transform: rotate(45deg);
}

.about-premium__trust {
    color: #8a98a5;

    font-size: 10px;

    letter-spacing: 1px;

    text-transform: uppercase;
}
/* ==========================================================================
   MISSION / VISION
   ========================================================================== */
.duo{display:grid;gap:2px;background:var(--line);border:1px solid var(--line)}
@media (min-width:860px){.duo{grid-template-columns:1fr 1fr}}
.duo article{background:#fff;padding:clamp(30px,4vw,58px);position:relative;transition:background .4s var(--ease)}
.duo article::after{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--green);transition:width .55s var(--ease)}
.duo article:hover::after{width:100%}
.duo article:last-child::after{background:var(--blue)}
.duo h3{font-size:clamp(1.5rem,2.4vw,2.15rem);margin-bottom:18px;color:var(--navy)}
.duo .ico{width:40px;height:40px;margin-bottom:26px;color:var(--green)}
.duo article:last-child .ico{color:var(--blue)}
.duo p{color:var(--muted)}
.duo p+p{margin-top:14px}
/* =========================================================
   PURPOSE SECTION
========================================================= */

.purpose-section {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #f3f7f8;
}


/* =========================================================
   MAIN LAYOUT
========================================================= */

.purpose-container {
    display: grid;

    /*
       280px image
       remaining space = Mission + Vision
    */
    grid-template-columns: 280px minmax(0, 1fr) minmax(0, 1fr);

    width: 100%;
    max-width: 1500px;

    margin: 0 auto;

    min-height: 500px;
}


/* =========================================================
   VERTICAL RAIL
========================================================= */

.purpose-rail {
    position: absolute;

    left: 0;
    top: 0;
    bottom: 0;

    width: 72px;

    z-index: 10;

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

    background: #092f4b;
}

.purpose-rail span {
    color: rgba(255,255,255,0.78);

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 3px;

    writing-mode: vertical-rl;
    transform: rotate(180deg);

    white-space: nowrap;
}


/* =========================================================
   IMAGE
========================================================= */

.purpose-image {
    position: relative;

    min-height: 500px;

    overflow: hidden;

    background: #092f4b;
}


/*
   IMPORTANT:
   Keep image visible behind the rail.
*/

.purpose-image img {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center;

    transition: transform 0.7s ease;
}

.purpose-image:hover img {
    transform: scale(1.04);
}


/* =========================================================
   IMAGE OVERLAY
========================================================= */

.purpose-image-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(5,42,66,0.02) 20%,
            rgba(5,42,66,0.88) 100%
        );
}


/* =========================================================
   IMAGE CAPTION
========================================================= */

.purpose-image-caption {
    position: absolute;

    left: 100px;
    right: 20px;
    bottom: 38px;

    z-index: 3;

    color: #ffffff;
}

.purpose-image-caption small {
    display: block;

    margin-bottom: 10px;

    color: #52d493;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 2px;

    white-space: nowrap;
}

.purpose-image-caption strong {
    display: block;

    color: #ffffff;

    font-size: 22px;
    line-height: 1.12;
    font-weight: 700;
}


/* =========================================================
   CONTENT CARDS
========================================================= */

.purpose-card {
    position: relative;

    min-width: 0;

    padding: 58px 52px 55px;

    background: #ffffff;

    border-right: 1px solid #dce6e9;
}

.purpose-card--vision {
    border-right: 0;
}


/* =========================================================
   CARD NUMBER
========================================================= */

.purpose-card-number {
    position: absolute;

    top: 8px;
    right: 22px;

    color: #dce6e9;

    font-size: 12px;
    font-weight: 700;
}


/* =========================================================
   ICON
========================================================= */

.purpose-icon {
    width: 48px;
    height: 48px;

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

    margin-bottom: 25px;

    border-radius: 50%;

    background: #eef9f3;

    color: #08a45d;
}

.purpose-icon svg {
    width: 27px;
    height: 27px;
}

.purpose-icon--vision {
    color: #1477c9;

    background: #eef6fd;
}


/* =========================================================
   LABEL
========================================================= */

.purpose-label {
    display: block;

    margin-bottom: 12px;

    color: #079b59;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 2px;

    text-transform: uppercase;
}


/* =========================================================
   HEADING
========================================================= */

.purpose-card h3 {
    margin: 0 0 22px;

    max-width: 430px;

    color: #092f4b;

    font-size: clamp(28px, 2.5vw, 39px);

    line-height: 1.08;

    font-weight: 700;

    letter-spacing: -1px;
}

.purpose-card h3 span {
    display: block;

    color: #0c9c5a;
}


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

.purpose-card p {
    max-width: 500px;

    margin: 0 0 16px;

    color: #63747d;

    font-size: 13px;

    line-height: 1.75;
}


/* =========================================================
   LINK
========================================================= */

.purpose-link {
    display: inline-flex;

    align-items: center;

    gap: 12px;

    margin-top: 16px;

    color: #092f4b;

    font-size: 12px;

    font-weight: 700;

    text-decoration: none;
}

.purpose-link span {
    width: 28px;
    height: 28px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    border: 1px solid #0c9c5a;

    border-radius: 50%;

    color: #0c9c5a;

    transition: all .3s ease;
}

.purpose-link:hover {
    color: #0c9c5a;
}

.purpose-link:hover span {
    background: #0c9c5a;

    color: #ffffff;

    transform: translateX(3px);
}



/* ==========================================================================
   HORIZONTAL SLIDERS (products, fabrication, industries, gallery strips)
   ========================================================================== */
.slider{position:relative}
.track{
  display:grid;grid-auto-flow:column;gap:20px;
  grid-auto-columns:78vw;
  overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;
  padding-bottom:6px;
}
.track::-webkit-scrollbar{display:none}
.track>*{scroll-snap-align:start}
@media (min-width:640px){.track{grid-auto-columns:44%}}
@media (min-width:1000px){.track{grid-auto-columns:30.5%}}
@media (min-width:1300px){.track--4{grid-auto-columns:22.6%}}

.sldr-ui{display:flex;align-items:center;gap:16px;margin-top:32px}
.sldr-bar{position:relative;flex:1;height:2px;background:var(--line);max-width:340px}
.sldr-bar i{position:absolute;left:0;top:0;height:100%;background:var(--navy);width:20%;transition:width .3s var(--ease),transform .3s var(--ease)}
.sec--navy .sldr-bar{background:rgba(255,255,255,.18)}
.sec--navy .sldr-bar i{background:var(--cyan)}
.sldr-count{font-family:var(--mono);font-size:.8rem;color:var(--muted);letter-spacing:.1em}
.sec--navy .sldr-count{color:#93AABF}
.sldr-nav{display:flex;gap:8px;margin-left:auto}
.sldr-nav button{width:46px;height:46px;border:1px solid var(--line);display:grid;place-items:center;border-radius:2px;
  transition:background .26s var(--ease),border-color .26s var(--ease),color .26s var(--ease)}
.sldr-nav button:hover:not(:disabled){background:var(--navy);border-color:var(--navy);color:#fff}
.sldr-nav button:disabled{opacity:.32;cursor:not-allowed}
.sldr-nav .chev{transform:rotate(45deg)}
.sldr-nav button:first-child .chev{transform:rotate(-135deg)}
.sec--navy .sldr-nav button{border-color:rgba(255,255,255,.3);color:#fff}
.sec--navy .sldr-nav button:hover:not(:disabled){background:#fff;color:var(--navy);border-color:#fff}

/* ---------- product card ---------- */
.pcard{
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:2px;
  position:relative;overflow:hidden;transition:border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease);
}
.pcard::before{content:"";position:absolute;top:0;left:0;height:2px;width:0;background:var(--green);z-index:3;transition:width .5s var(--ease)}
.pcard:hover{border-color:#C3CDD7;transform:translateY(-4px);box-shadow:0 26px 44px -32px rgba(10,37,64,.5)}
.pcard:hover::before{width:100%}
.pcard__img{position:relative;background:var(--mist);aspect-ratio:4/3;overflow:hidden}
.pcard__img img{width:100%;height:100%;object-fit:contain;padding:14px;transition:transform .7s var(--ease)}
.pcard:hover .pcard__img img{transform:scale(1.07)}
.pcard__no{position:absolute;top:12px;left:14px;font-family:var(--mono);font-size:.72rem;color:#9AA8B5;letter-spacing:.08em}
.pcard__b{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1;gap:9px}
.pcard .proheadtext{font-size:1.12rem;letter-spacing:-.018em;color:var(--navy);font-family: var(--display);font-weight: 700;font-size: 20px;}
.pcard p{font-size:.9rem;color:var(--muted);line-height:1.55}
.pcard__go{
  margin-top:auto;padding-top:16px;display:inline-flex;align-items:center;gap:9px;
  font-family:var(--display);font-weight:600;font-size:.86rem;color:var(--navy);
  opacity:.55;transition:opacity .3s var(--ease),gap .3s var(--ease),color .3s var(--ease);
}
.pcard:hover .pcard__go{opacity:1;gap:14px;color:var(--blue)}
.pcard--fab .pcard__img img{object-fit:cover;padding:0}

/* ==========================================================================
   FEATURED PRODUCT SHOWCASE
   ========================================================================== */
.feat{display:grid;gap:0;grid-template-columns:minmax(0,1fr);border:1px solid rgba(255,255,255,.14)}
@media (min-width:960px){.feat{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}}
.feat__media{background:#fff;position:relative;min-height:300px;overflow:hidden}
.feat__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:clamp(24px,4vw,54px);
  opacity:0;transition:opacity .6s var(--ease),transform .9s var(--ease);transform:scale(1.04)}
.feat__media img.is-on{opacity:1;transform:none}
.feat__no{position:absolute;top:18px;left:20px;z-index:2;font-family:var(--mono);font-size:.76rem;color:#9AA8B5;letter-spacing:.1em}
.feat__body{padding:clamp(30px,4.4vw,64px);display:flex;flex-direction:column}
.fpanel{display:none}
.fpanel.is-on{display:block;animation:riseIn .6s var(--ease) both}
.fpanel h3{font-size:clamp(1.7rem,3vw,2.6rem);color:#fff;margin-bottom:14px}
.fpanel>p{color:#B4C7D8;max-width:52ch}
.fspec{margin-top:28px;border-top:1px solid rgba(255,255,255,.16)}
.fspec div{display:grid;grid-template-columns:minmax(110px,.4fr) 1fr;gap:16px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.fspec dt,.fspec .k{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:#7E97AE}
.fspec .v{font-size:.95rem;color:#E4ECF3}

/* ==========================================================================
   SPEC / TECHNICAL BLOCKS
   ========================================================================== */
.tech{display:grid;gap:clamp(28px,4vw,64px);grid-template-columns:minmax(0,1fr)}
@media (min-width:960px){.tech{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}
.dwg{
  border:1px solid var(--line);background:#fff;padding:clamp(18px,2.4vw,34px);position:relative;border-radius:2px;
}
.dwg::before,.dwg::after{content:"";position:absolute;width:11px;height:11px;border:1px solid var(--blue);opacity:.6}
.dwg::before{top:10px;left:10px;border-right:0;border-bottom:0}
.dwg::after{bottom:10px;right:10px;border-left:0;border-top:0}
.dwg img{width:100%}
.dwg figcaption{margin-top:14px;font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;color:#8B98A5;text-transform:uppercase}

.speclist{border-top:1px solid var(--line)}
.speclist div{display:grid;gap:18px;padding:15px 0;}
.speclist .k{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.speclist .v{color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--line);padding:6px 12px;font-size:.82rem;color:var(--ink);border-radius:2px;background:#fff}
.chip--g{border-color:rgba(44,138,75,.35);color:var(--green-deep);background:rgba(44,138,75,.06)}
.sec--navy .chip{border-color:rgba(255,255,255,.24);color:#DCE7F0;background:transparent}

.bullets li{position:relative;padding-left:26px;margin-bottom:12px;color:var(--muted)}
.bullets li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:9px;border:1.5px solid var(--green);border-radius:50%}
.sec--navy .bullets li{color:#B4C7D8}
.sec--navy .bullets li::before{border-color:var(--cyan)}

/* tabs */
.tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--line);margin-bottom:26px}
.tabs button{
  padding:13px 20px;font-family:var(--display);font-weight:600;font-size:.92rem;color:var(--muted);
  border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .26s var(--ease),border-color .26s var(--ease)
}
.tabs button[aria-selected="true"]{color:var(--navy);border-bottom-color:var(--green)}
.tabs button:hover{color:var(--navy)}
.sec--navy .tabs{border-bottom-color:rgba(255,255,255,.16)}
.sec--navy .tabs button{color:#8FA6BB}
.sec--navy .tabs button[aria-selected="true"]{color:#fff;border-bottom-color:var(--cyan)}
.tabpanel[hidden]{display:none}
.tabpanel{animation:riseIn .45s var(--ease) both}

/* material table */
.mtable{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line)}
.mtable caption{text-align:left;padding-bottom:14px;color:var(--muted);font-size:.9rem}
.mtable th{background:var(--green);color:#fff;font-family:var(--display);font-weight:600;font-size:.88rem;
  letter-spacing:.03em;text-align:left;padding:15px 20px}
.mtable td{padding:15px 20px;border-top:1px solid var(--line);font-size:.96rem}
.mtable tbody tr:nth-child(even){background:var(--mist)}
.mtable td:last-child{font-family:var(--mono);color:var(--navy)}
@media (max-width:719px){
  .mtable,.mtable tbody,.mtable tr,.mtable td{display:block;width:100%}
  .mtable thead{display:none}
  .mtable tr{border:1px solid var(--line);margin-bottom:10px;background:#fff!important}
  .mtable td{display:flex;justify-content:space-between;gap:16px;border-top:0;border-bottom:1px solid var(--line-soft)}
  .mtable td:last-child{border-bottom:0}
  .mtable td::before{content:attr(data-l);color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.05em}
}

/* ==========================================================================
   MANUFACTURING PROCESS TIMELINE
   ========================================================================== */
.flow{position:relative;overflow:hidden}
.flow__track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(168px,1fr);gap:0;overflow-x:auto;scrollbar-width:none}
.flow__track::-webkit-scrollbar{display:none}
.flow__line{position:absolute;left:0;right:0;top:38px;height:1px;background:var(--line)}
.flow__line i{position:absolute;left:0;top:0;height:100%;width:0;background:var(--green);transition:width 1.9s var(--ease)}
.reveal.in .flow__line i{width:100%}
.step{position:relative;padding:0 22px 0 0}
.step em{
  display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:#fff;
  border:1px solid var(--line);font-family:var(--mono);font-style:normal;font-size:.9rem;color:var(--navy);
  position:relative;z-index:2;transition:border-color .4s var(--ease),color .4s var(--ease),background .4s var(--ease)
}
.step:hover em{border-color:var(--green);background:var(--green);color:#fff}
.step h4{margin-top:22px;font-size:1.02rem;color:var(--navy);letter-spacing:-.01em}
.step p{margin-top:7px;font-size:.86rem;color:var(--muted);line-height:1.5;max-width:22ch}
/* ================================
   MANUFACTURING PROCESS
================================ */

/* =========================================
   MANUFACTURING PROCESS
========================================= */

.process {
    position: relative;
    overflow: hidden;
}

.process .wrap {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding-left: 5%;
    padding-right: 5%;
}


/* =========================================
   HEADING
========================================= */

.process .head {
    position: relative;
    z-index: 2;
}

.process .head__tag {
    display: flex;
    align-items: center;
    gap: 10px;

    margin: 0 0 14px;

    color: #168bd0;

    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.process .head__tag::before {
    content: "";

    width: 26px;
    height: 1px;

    background: #168bd0;

    flex-shrink: 0;
}

.process .t-xl {
    margin: 0;

    color: #0a2034;

    font-size: clamp(2rem, 3vw, 3.2rem);
    line-height: 1.1;
    font-weight: 600;
}


/* =========================================
   FLOW
========================================= */

.process .flow {
    position: relative;

    margin-top: 70px;
}


/* =========================================
   CONNECTING LINE
========================================= */

.process .flow__line {
    position: absolute;

    top: 19px;
    left: 19px;
    right: 19px;

    height: 1px;

    background: rgba(22, 139, 208, .30);

    z-index: 1;
}

.process .flow__line i {
    display: block;

    width: 100%;
    height: 100%;

    background: #168bd0;
}


/* =========================================
   TRACK
========================================= */

.process .flow__track {
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 45px;

    margin: 0;
    padding: 0;

    list-style: none;
}


/* =========================================
   STEP
========================================= */

.process .step {
    position: relative;

    min-width: 0;

    padding-top: 55px;
}


/* =========================================
   NUMBER
========================================= */

.process .step em {
    position: absolute;

    top: 0;
    left: 0;

    width: 40px;
    height: 40px;

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

    border: 1px solid #168bd0;
    border-radius: 50%;

    background: #eef7f7;

    color: #168bd0;

    font-size: 11px;
    font-style: normal;
    font-weight: 700;

    z-index: 3;
}


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

.process .step__content {
    max-width: 260px;
}

.process .step h4 {
    margin: 0 0 10px;

    color: #0a2034;

    font-size: 20px;
    line-height: 1.25;
    font-weight: 700;

    overflow-wrap: normal;
    word-break: normal;
}

.process .step p {
    margin: 0;

    color: #5d6b76;

    font-size: 14px;
    line-height: 1.65;
}


/* =========================================
   CTA
========================================= */

.process__cta {
    margin-top: 55px;
}

.process__btn {
    display: inline-flex;
    align-items: center;
    gap: 18px;

    padding: 13px 20px;

    background: #0a2034;

    color: #fff;

    font-size: 13px;
    font-weight: 600;

    text-decoration: none;

    transition:
        background .3s ease,
        transform .3s ease;
}

.process__btn span {
    font-size: 18px;
    line-height: 1;

    transition: transform .3s ease;
}

.process__btn:hover {
    background: #168b50;
    transform: translateY(-2px);
}

.process__btn:hover span {
    transform: translateX(4px);
}

/* ==========================================================================
   GALLERY / MASONRY / LIGHTBOX
   ========================================================================== */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px}
.filters button{
  padding:9px 18px;border:1px solid var(--line);font-size:.86rem;color:var(--muted);border-radius:2px;background:#fff;
  transition:all .26s var(--ease)
}
.filters button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.filters button:hover{border-color:var(--navy);color:var(--navy)}
.filters button[aria-pressed="true"]:hover{color:#fff}

.masonry{columns:1;column-gap:16px}
@media (min-width:620px){.masonry{columns:2}}
@media (min-width:1000px){.masonry{columns:3}}
.mitem{break-inside:avoid;margin-bottom:16px;position:relative;border:1px solid var(--line);background:#fff;
  cursor:zoom-in;overflow:hidden;border-radius:2px;display:block;width:100%;padding:0}
.mitem img {
    width: 100%;
    max-width: 400px;
    transition: transform .8s var(--ease);
    height: auto;
  display: block;
  margin: 0 auto;
}
.mitem:hover img{transform:scale(1.06)}
.mitem figcaption{
  position:absolute;inset:auto 0 0;padding:26px 18px 15px;color:#fff;text-align:left;font-size:.88rem;
  background:linear-gradient(transparent,rgba(6,22,38,.86));opacity:0;transform:translateY(8px);
  transition:opacity .35s var(--ease),transform .35s var(--ease)
}
.mitem:hover figcaption,.mitem:focus-visible figcaption{opacity:1;transform:none}
.mitem[hidden]{display:none}

.lb{position:fixed;inset:0;z-index:200;background:rgba(6,22,38,.94);display:none;place-items:center;padding:clamp(16px,4vw,52px)}
.lb.is-on{display:grid}
.lb img{max-width:min(1100px,92vw);max-height:82vh;object-fit:contain;background:#fff;border-radius:2px}
.lb__cap{color:#C6D6E3;text-align:center;margin-top:18px;font-size:.92rem}
.lb__x{position:absolute;top:18px;right:20px;width:48px;height:48px;color:#fff;font-size:1.6rem;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.28);border-radius:2px}
.lb__x:hover{background:#fff;color:var(--navy)}
.lb__nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.28);color:#fff;border-radius:2px}
.lb__nav:hover{background:#fff;color:var(--navy)}
.lb__nav.p{left:16px}.lb__nav.n{right:16px}
.lb__nav .chev{transform:rotate(45deg)}
.lb__nav.p .chev{transform:rotate(-135deg)}

/* ==========================================================================
   WHY / FEATURE GRID
   ========================================================================== */
.why{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
@media (min-width:700px){.why{grid-template-columns:1fr 1fr}}
@media (min-width:1060px){.why{grid-template-columns:repeat(3,1fr)}}
.why article{background:#fff;padding:clamp(28px,3vw,44px);position:relative;transition:background .4s var(--ease)}
.why article:hover{background:var(--mist)}
.why .ico{width:34px;height:34px;color:var(--green);margin-bottom:24px}
.why h3{font-size:1.14rem;color:var(--navy);margin-bottom:10px}
.why p{font-size:.92rem;color:var(--muted)}
.why em{position:absolute;top:26px;right:28px;font-family:var(--mono);font-style:normal;font-size:.74rem;color:#C3CDD7}

/* industries */
.ind{border:1px solid var(--line);background:#fff;padding:clamp(24px,3vw,38px);height:100%;display:flex;flex-direction:column;
  border-radius:2px;transition:border-color .35s var(--ease),background .35s var(--ease)}
.ind:hover{border-color:var(--navy)}
.ind svg{width:100%;height:96px;color:var(--blue);opacity:.9;margin-bottom:26px}
.ind h3{font-size:1.06rem;color:var(--navy);margin-bottom:8px}
.ind p{font-size:.88rem;color:var(--muted)}

/* ==========================================================================
   CTA
   ========================================================================== */
.cta{position:relative;overflow:hidden;background:var(--navy)}
.cta__bg{position:absolute;inset:0;opacity:.14;object-fit:cover;width:100%;height:100%;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 45%);mask-image:linear-gradient(90deg,transparent,#000 45%)}
.cta .wrap{position:relative;z-index:2}
.cta .lede{color:#AEC3D6}
.cta h2{color:#fff;max-width:17ch}
.cta__btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}

/* ==========================================================================
   CERTIFICATE
   ========================================================================== */
.cert{display:grid;gap:clamp(30px,4vw,70px);grid-template-columns:minmax(0,1fr);align-items:center}
@media (min-width:900px){.cert{grid-template-columns:minmax(0,.72fr) minmax(0,1fr)}}
.cert__shot{border:1px solid var(--line);background:#fff;padding:16px;cursor:zoom-in;position:relative;border-radius:2px;
  transition:box-shadow .4s var(--ease),transform .4s var(--ease)}
.cert__shot:hover{box-shadow:0 40px 70px -46px rgba(10,37,64,.7);transform:translateY(-3px)}
.cert__shot span{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;
  font-size:.78rem;padding:8px 16px;letter-spacing:.05em;border-radius:2px;opacity:0;transition:opacity .3s var(--ease)}
.cert__shot:hover span{opacity:1}
.cert dl{border-top:1px solid var(--line);margin:28px 0 0}
.cert dl div{display:grid;grid-template-columns:minmax(150px,.45fr) 1fr;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}
.cert dt{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cert dd{margin:0;color:var(--ink)}

/* ==========================================================================
   CONTACT
   ========================================================================== */
.contact{display:grid;gap:clamp(32px,4vw,72px);grid-template-columns:minmax(0,1fr)}
@media (min-width:980px){.contact{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}}
.cinfo dl{border-top:1px solid var(--line)}
.cinfo dl div{padding:20px 0;border-bottom:1px solid var(--line)}
.cinfo dt{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.cinfo dd{margin:0;font-size:1.02rem;line-height:1.6}
.cinfo dd a:hover{color:var(--blue)}

.form{display:grid;gap:18px;grid-template-columns:1fr}
@media (min-width:640px){.form{grid-template-columns:1fr 1fr}}
.field{display:flex;flex-direction:column;gap:8px}
.field--full{grid-column:1/-1}
.field label{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.field input,.field select,.field textarea{
  border:1px solid var(--line);background:#fff;padding:14px 16px;border-radius:2px;
  transition:border-color .26s var(--ease),box-shadow .26s var(--ease)
}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,111,184,.12)}
.field .err{color:#C0392B;font-size:.8rem;display:none}
.field.is-bad input,.field.is-bad select,.field.is-bad textarea{border-color:#C0392B}
.field.is-bad .err{display:block}
.form__note{grid-column:1/-1;font-size:.86rem;color:var(--muted)}
.form__ok{grid-column:1/-1;border:1px solid rgba(44,138,75,.4);background:rgba(44,138,75,.07);color:var(--green-deep);
  padding:16px 18px;border-radius:2px;display:none}
.form__ok.is-on{display:block}
.map{border:1px solid var(--line);border-radius:2px;overflow:hidden;margin-top:clamp(36px,4vw,60px);background:var(--mist)}
.map iframe{display:block;width:100%;height:clamp(300px,38vw,440px);border:0}

/* ==========================================================================
   PAGE HERO (inner pages)
   ========================================================================== */
.phero{position:relative;background:var(--navy);color:#fff;padding: 150px 0 50px;overflow:hidden}
.phero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.42;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:60px 60px;-webkit-mask-image:radial-gradient(110% 100% at 12% 20%,#000,transparent 70%);mask-image:radial-gradient(110% 100% at 12% 20%,#000,transparent 70%)}
.phero__art{position:absolute;right:-8%;top:50%;transform:translateY(-50%);width:min(680px,56%);opacity:.16;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 40%);mask-image:linear-gradient(90deg,transparent,#000 40%)}
.phero .wrap{position:relative;z-index:2}
.phero h1{color:#fff;max-width:18ch}
.phero .lede{color:#AEC3D6;margin-top:20px}
.crumb{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:.84rem;color:#8AA3B9;margin-bottom:26px}
.crumb a:hover{color:#fff}
.crumb span{color:#5C7793}



/* ==========================================================================
   FOOTER
   ========================================================================== */
.ftr{background:var(--navy-deep);color:#94A9BD;}
.ftr__grid{display:grid;gap:clamp(30px,4vw,54px);grid-template-columns:1fr}
@media (min-width:640px){.ftr__grid{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.ftr__grid{grid-template-columns:1.2fr 1fr 1fr 1.5fr}}
.ftr h4{color:#fff;font-size:.86rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px;font-weight:600}
.ftr li{margin-bottom:11px;font-size:.94rem}
.ftr a:hover{color:#fff}
.ftr .brand__txt{color:#fff}
.ftr .brand img{filter:brightness(0) invert(1)}
.ftr__about{margin-top:22px;font-size:.94rem;max-width:38ch}
.ftr__bar{margin-top:clamp(44px,5vw,70px);border-top:1px solid rgba(255,255,255,.1);padding:22px 0 28px;
  display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;font-size:.86rem}
.ftr__bar nav{margin-left:auto;display:flex;gap:24px;flex-wrap:wrap}
.ftr__iso{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.18);
  padding:7px 14px;border-radius:2px;font-size:.8rem;color:#CFE0EE;margin-top:24px}
.ftr__iso i{width:7px;height:7px;background:var(--cyan);border-radius:50%;display:block}
/* =========================================================
   PREMIUM INDUSTRIAL FOOTER
========================================================= */

.ftr {
    position: relative;
    overflow: hidden;

    background: #023e67;
    color: #fff;
}


/* =========================================================
   BACKGROUND TEXTURE
========================================================= */

.ftr__texture {
    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: .8;

    background:
        radial-gradient(
            circle at 85% 25%,
            rgba(35, 160, 92, .10) 0,
            rgba(35, 160, 92, .04) 120px,
            transparent 280px
        ),

        radial-gradient(
            circle at 90% 80%,
            transparent 0,
            transparent 110px,
            rgba(255,255,255,.035) 111px,
            rgba(255,255,255,.035) 112px,
            transparent 113px,
            transparent 170px,
            rgba(255,255,255,.025) 171px,
            rgba(255,255,255,.025) 172px,
            transparent 173px
        ),

        linear-gradient(
            135deg,
            rgba(255,255,255,.025) 25%,
            transparent 25%,
            transparent 50%,
            rgba(255,255,255,.018) 50%,
            rgba(255,255,255,.018) 75%,
            transparent 75%
        );

    background-size:
        auto,
        auto,
        8px 8px;
}


/* large technical rings */
.ftr__texture::before {
    content: "";

    position: absolute;

    right: -220px;
    bottom: -280px;

    width: 650px;
    height: 650px;

    border-radius: 50%;

    border: 1px solid rgba(255,255,255,.035);

    box-shadow:
        0 0 0 45px rgba(255,255,255,.018),
        0 0 0 90px rgba(255,255,255,.014),
        0 0 0 135px rgba(255,255,255,.010);
}


/* =========================================================
   MAIN
========================================================= */

.ftr-overlay {
    position: relative;
    z-index: 2;
     
    padding: 70px 0 0;
}


.ftr .wrap {
    width: 100%;
    max-width: 1400px;

    margin: 0 auto;

    padding-left: 5%;
    padding-right: 5%;

    box-sizing: border-box;
}


/* =========================================================
   GRID
========================================================= */

.ftr__grid {
    display: grid;

    grid-template-columns:
        .75fr
        2fr
        1fr;

    gap: 70px;
}


/* =========================================================
   HEADING
========================================================= */

.ftr__heading {
    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 13px;
}


.ftr__heading > span {
    color: #2aa45e;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: .08em;
}


.ftr__heading h4 {
    margin: 0;
    color: #fff;
    font-size: 17px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: .10em;
    text-transform: uppercase;
}


.ftr__heading-line {
    width: 100%;
    height: 1px;

    margin-bottom: 24px;

    background: rgba(255,255,255,.09);

    position: relative;
}


.ftr__heading-line::before {
    content: "";

    display: block;

    width: 35px;
    height: 2px;

    background: #2aa45e;
}


/* =========================================================
   QUICK LINKS
========================================================= */

.ftr__quick ul {
    margin: 0;
    padding: 0;

    list-style: none;
}


.ftr__quick li {
    margin-bottom: 12px;
}


.ftr__quick a {
    position: relative;

    display: inline-block;

    padding-left: 15px;

    color: #aebdc7;

    font-size: 15px;

    text-decoration: none;

    transition:
        color .25s ease,
        padding-left .25s ease;
}


/* small premium arrow */
.ftr__quick a::before {
    content: "↗";

    position: absolute;

    left: 0;
    top: 0;

    color: #2aa45e;

    font-size: 11px;

    opacity: .8;
}


.ftr__quick a:hover {
    color: #fff;

    padding-left: 19px;
}


/* =========================================================
   PRODUCTS
========================================================= */

.product-columns {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 20px 50px;
}


.product-columns ul {
    margin: 0;
    padding: 0;

    list-style: none;
}


.product-columns li {
    position: relative;

    margin-bottom: 11px;

    padding-left: 17px;
}


/* ATTRACTIVE PRODUCT BULLET */
.product-columns li::before {
    content: "";

    position: absolute;

    left: 0;
    top: 7px;

    width: 6px;
    height: 6px;

    border: 1px solid #2aa45e;

    transform: rotate(45deg);

    transition:
        background .25s ease,
        transform .25s ease;
}


.product-columns li::after {
    content: "";

    position: absolute;

    left: 3px;
    top: 10px;

    width: 10px;
    height: 1px;

    background: rgba(42,164,94,.35);

    transform: translateX(-100%);

    opacity: 0;

    transition:
        opacity .25s ease,
        transform .25s ease;
}


.product-columns a {
    color: #9eafb9;

    font-size: 11.5px;
    line-height: 1.55;

    text-decoration: none;

    transition: color .25s ease;
}


.product-columns li:hover::before {
    background: #2aa45e;

    transform: rotate(45deg) scale(1.25);
}


.product-columns li:hover a {
    color: #fff;
}


/* =========================================================
   CONTACT
========================================================= */

.contact-list {
    display: flex;

    flex-direction: column;

    gap: 22px;
}


.contact-item {
    display: flex;

    align-items: flex-start;

    gap: 14px;
}


.contact-icon {
    width: 38px;
    height: 38px;

    flex: 0 0 38px;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 1px solid rgba(42,164,94,.45);

    background: rgba(42,164,94,.06);

    color: #2aa45e;
}


.contact-icon svg {
    width: 17px;
    height: 17px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.5;

    stroke-linecap: round;
    stroke-linejoin: round;
}


.contact-text {
    min-width: 0;
}


.contact-text > span {
    display: block;

    margin-bottom: 5px;

    color: #fff;

    font-size: 15px;
    font-weight: 700;

    letter-spacing: .08em;

    text-transform: uppercase;
}


.contact-text p {
    margin: 0;

    color: #aebdc7;

    font-size: 12px;

    line-height: 1.65;
}


.contact-text a {
    color: #aebdc7;

    text-decoration: none;

    transition: color .25s ease;
}


.contact-text a:hover {
    color: #2aa45e;
}


.contact-text b {
    margin: 0 5px;

    color: #647783;

    font-weight: 400;
}


/* =========================================================
   BOTTOM BAR
========================================================= */

.ftr__bar {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 30px;

    padding: 20px 0;

    border-top: 1px solid rgba(255,255,255,.09);
}


.ftr__bar p {
    margin: 0;

    color: #667b87;

    font-size: 14px;

    line-height: 1.6;
}


.ftr__bar a {
    color: #91a3ad;

    text-decoration: none;

    transition: color .25s ease;
}


.ftr__bar a:hover {
    color: #fff;
}


.ftr__credits {
    text-align: right;
}


.ftr__credits span {
    margin: 0 7px;

    color: #435762;
}


/* =========================================
   PRODUCTS
========================================= */

.product-columns {
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    column-gap: 45px;
}

.product-columns ul {
    min-width: 0;
}

.product-columns li {
    margin-bottom: 10px;
}

.product-columns a {
    display: inline;
    color: #b9c7d0;
    font-size: 15px;
    line-height: 1.55;
    text-decoration: none;
    transition: color .25s ease;
}

.product-columns a:hover {
    color: #fff;
}


/* =========================================
   CONTACT
========================================= */

.ftr__contact address {
    margin: 0;

    font-style: normal;
}

.ftr__contact p {
    margin: 0 0 18px;

    color: #b9c7d0;

    font-size: 15px;
    line-height: 1.7;
}

.ftr__contact a {
    color: #d5e0e6;

    text-decoration: none;

    transition: color .25s ease;
}

.ftr__contact a:hover {
    color: #fff;
}

.ftr__phone {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ftr__phone span {
    opacity: .5;
}


/* =========================================
   CTA
========================================= */

.ftr__cta {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;

    min-width: 170px;

    margin-top: 4px;
    padding: 12px 16px;

    background: #1f9b55;

    color: #fff !important;

    font-size: 12px;
    font-weight: 700;

    text-decoration: none;

    transition:
        background .25s ease,
        transform .25s ease;
}

.ftr__cta span {
    margin-left: 20px;

    font-size: 17px;

    transition: transform .25s ease;
}

.ftr__cta:hover {
    background: #168646;

    transform: translateY(-2px);
}

.ftr__cta:hover span {
    transform: translateX(4px);
}


/* =========================================
   BOTTOM BAR
========================================= */

.ftr__bar {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 30px;

    padding: 20px 0;

    border-top: 1px solid rgba(255,255,255,.10);
}

.ftr__bar p {
    margin: 0;

    color: #7f929e;

    font-size: 15   px;
    line-height: 1.5;
}

.ftr__bar a {
    color: #aebdc6;

    text-decoration: none;

    transition: color .25s ease;
}

.ftr__bar a:hover {
    color: #fff;
}

.ftr__credits {
    text-align: right;
}

.ftr__credits span {
    margin: 0 7px;

    opacity: .4;
}

/* ==========================================================================
   MOTION
   ========================================================================== */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.09s}
.reveal[data-d="2"]{transition-delay:.18s}
.reveal[data-d="3"]{transition-delay:.27s}
body.nav-open{overflow:hidden}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
  .hslide img{transform:none}
}
html{scroll-behavior:smooth;scroll-padding-top:96px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}


@media (min-width: 1200px) {

    .ftr__grid {
        display: grid;
        grid-template-columns: 0.75fr 2fr 1fr;
        gap: 50px;
        align-items: start;
    }

    .product-columns {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 35px;
    }

    .ftr__products {
        min-width: 0;
    }

    .ftr__col {
        min-width: 0;
    }

    .ftr__bar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 30px;
    }

    .ftr__bar p {
        margin: 0;
    }
}
/* =========================================================
   LAPTOP / SMALL DESKTOP
   992px - 1199px
========================================================= */

/* TABLET */

@media(max-width:992px){

.trust-strip{

    grid-template-columns:repeat(2,1fr);

}


.trust-item:nth-child(2)::after{

    display:none;

}

}


@media (min-width: 992px) and (max-width: 1199px) {

    
   .ftr__grid {
        grid-template-columns:
            .75fr
            1.8fr
            1fr;

        gap: 40px;
    }

    .product-columns {
        gap: 15px 25px;
    }

}


@media (max-width: 1100px) {

  /* for about us premium */

    .about-premium__container {
        width: min(94%, 1000px);

        gap: 55px;
    }

    .about-premium__visual {
        min-height: 520px;
    }

    .about-premium__image-wrap {
        height: 500px;
    }

    .about-premium__experience {
        right: -15px;
    }

    .about-premium__content h2 {
        font-size: 16px;
    }
/* for about us premium */
.product-bg .tech {
        grid-template-columns: 1fr 1fr;

        gap: 45px;
    }

    .product-bg::before {
        background-size: 135% auto;

        opacity: 0.12;
    }

    .product-visual .mitem img {
        height: 360px;
    }

    .product-content h2 {
        font-size: 27px;
    }

    .product-content .body-w {
        font-size: 16px;
        line-height: 1.75;
    }

}


/* =========================================================
   TABLET
   768px - 991px
========================================================= */

@media (min-width: 768px) and (max-width: 991px) {
    

    .ftr-overlay {
        padding-top: 55px;
    }

    .ftr__grid {
        grid-template-columns: 1fr 1fr;

        gap: 45px 35px;
    }

    .ftr__products {
        grid-column: span 2;
    }

    .ftr__contact {
        grid-column: 2;
    }

    .product-columns {
        gap: 15px 40px;
    }

    .ftr__bar {
        align-items: flex-start;

        flex-direction: column;

        gap: 8px;
    }

    .ftr__credits {
        text-align: left;
    }
    .spiral-types-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .spiral-types-image {
    min-height: auto;
  }

  .spiral-types-image img {
    height: auto;
    min-height: 0;
    max-height: 550px;
    object-fit: cover;
  }
  .trust-strip {
        grid-template-columns: repeat(2, 1fr);
    }

    .trust-item {
        padding: 18px 10px;
    }
    
}


@media (max-width: 767px) {
    
/* for about us premium */
    .about-premium {
        padding: 70px 0;
    }

    .about-premium__container {
        width: calc(100% - 35px);

        display: block;
    }

    .about-premium__visual {
        min-height: auto;

        margin-bottom: 70px;
    }

    .about-premium__image-wrap {
        height: 390px;
    }

    .about-premium__shape {
        left: 12px;
        top: 12px;
    }

    .about-premium__label {
        left: 10px;
        top: 25px;
    }

    .about-premium__experience {
        right: 10px;
        bottom: -30px;

        width: 210px;

        padding: 20px;
    }

    .about-premium__experience-number {
        font-size: 35px;
    }

    .about-premium__content {
        padding-right: 0;
    }

    .about-premium__content h2 {
        font-size: 16px;
        letter-spacing: -1px;
    }

    .about-premium__intro {
        font-size: 16px;
    }

    .about-premium__stats {
        grid-template-columns: 1fr;

        margin-top: 30px;
    }

    .about-premium__stat,
    .about-premium__stat:not(:first-child) {
        padding: 18px 0;

        border-right: 0;
        border-bottom: 1px solid #dfe5e9;
    }

    .about-premium__stat:last-child {
        border-bottom: 0;
    }

    .about-premium__action {
        align-items: flex-start;

        flex-direction: column;

        gap: 18px;
    }

    .about-premium__trust {
        font-size: 9px;
    }
/* for about us premium */

.ftr__inner {
        padding-top: 45px;
    }

    .ftr .wrap {
        padding-left: 20px;
        padding-right: 20px;
    }

    .ftr__grid {
        display: flex;
        flex-direction: column;

        gap: 38px;

        padding-bottom: 40px;
    }

    .ftr__products,
    .ftr__links,
    .ftr__contact {
        width: 100%;
    }

    .product-columns {
        grid-template-columns: 1fr;

        gap: 0;
    }

    .product-columns ul + ul {
        margin-top: 0;
    }

    .ftr__col h4 {
        margin-bottom: 18px;
    }

    .ftr__links li {
        margin-bottom: 9px;
    }

    .product-columns li {
        margin-bottom: 9px;
    }

    .ftr__contact p {
        font-size: 13px;
    }

    .ftr__bar {
        padding: 18px 0;

        gap: 8px;
    }

    .ftr__bar p {
        font-size: 10px;
    }


    /* =========================================
       MANUFACTURER PRODUCTS
    ========================================= */

    .product-columns {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
    }

    .product-columns ul {
        width: 100%;
    }

    .product-columns li {
        margin-bottom: 8px;
    }

    .product-columns a {
        display: block;
        line-height: 1.5;
    }


    /* =========================================
       CONTACT
    ========================================= */

    .contact-list li {
        line-height: 1.6;
        word-break: normal;
    }

    .contact-list a {
        word-break: break-word;
    }


    /* =========================================
       FOOTER BOTTOM
    ========================================= */

    .ftr__bar {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 10px;

        padding-top: 20px;
        padding-bottom: 20px;
    }

    .ftr__bar p {
        margin: 0;
        font-size: 12px;
        line-height: 1.6;
    }

    .ftr__bar span {
        margin: 0 4px;
    }
    .product-to .mitem img {
    width: 320px;
  }
   .image-grid-section .image-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .grid-item {
        height: 220px;
    }
    .process .step h4{
        font-size:18px;
    }
    .hero {
        width: 100%;
        height: auto;
        min-height: 0;
        overflow: hidden;
    }

    .hslide {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: auto;
        min-height: 0;
    }

    /* Text section */
    .hslide-content {
        width: 100%;
        padding: 38px 14px 42px;
        min-height: 345px;
        box-sizing: border-box;
    }

    /* Heading */
    .hslide-content h1 {
        font-size: 25px;
        line-height: 1.15;
        margin-bottom: 16px;
    }

    /* Description */
    .hslide-content p {
        font-size: 13px;
        line-height: 1.55;
        margin-bottom: 22px;
    }

    /* Buttons */
    .hslide-content .btn {
        font-size: 12px;
        padding: 12px 18px;
    }

    /* Image section */
    .hslide-image {
        width: 100%;
        height: 260px;
        min-height: 260px;
        overflow: hidden;
    }

    .hslide img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
    }


    .burger {
        margin-left: auto;
        margin-right: 18px;
        width: 42px;
        height: 42px;
    }
    .trust-strip {
        width: 100%;
        grid-template-columns: repeat(2, 1fr);
    }

    .trust-item {
        padding: 20px 8px;
    }

    .trust-item strong {
        font-size: 24px;
    }
     .product-bg {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .product-bg .tech {
        grid-template-columns: 1fr;

        gap: 40px;
    }

    .product-bg::before {
        background-size: 190% auto;

        background-position: center;

        opacity: 0.09;
    }

    .product-bg .wrap::before {
        display: none;
    }

    .product-visual .mitem {
        padding: 12px;
    }

    .product-visual .mitem img {
        height: 320px;
    }

    .product-content {
        padding: 0;
    }

    .product-content h2 {
        font-size: 23px;

        line-height: 1.45;
    }

    .product-content .body-w {
        font-size: 15px;

        line-height: 1.75;
    }

    .product-content::before {
        margin-bottom: 18px;
    }
    .spiral-types-grid {
        grid-template-columns: 1fr!important;
        gap: 40px;
    }


  
}

@media (max-width: 480px) {

    .ftr .wrap {
        padding-left: 18px;
        padding-right: 18px;
    }

    .ftr-overlay {
        padding-top: 40px;
    }

    .ftr__grid {
        gap: 34px;
    }

    .ftr__heading h4 {
        font-size: 12px;
    }

    .ftr__quick a {
        font-size: 12.5px;
    }

    .product-columns a {
        font-size: 11px;
    }

    .contact-text p {
        font-size: 12px;
    }

    .contact-icon {
        width: 36px;
        height: 36px;

        flex-basis: 36px;
    }

    .ftr__bar p {
        font-size: 9px;
    }

    .ftr__credits {
        line-height: 1.8 !important;
    }
    .burger {
        margin-left: auto;
        margin-right: 25px;
        width: 42px;
        height: 42px;
    }
    .process .step h4 {
    font-size: 14px!important;
  }


}

@media (max-width: 576px) {
    .ftr-overlay {
        padding-top: 45px;
    }

    .ftr .wrap {
        padding-left: 20px;
        padding-right: 20px;
    }

    .ftr__grid {
        display: flex;

        flex-direction: column;

        gap: 38px;

        padding-bottom: 40px;
    }

    .ftr__products,
    .ftr__contact {
        width: 100%;
    }

    .product-columns {
        grid-template-columns: 1fr;

        gap: 0;
    }

    .product-columns li {
        margin-bottom: 10px;
    }

    .contact-list {
        gap: 20px;
    }

    .ftr__bar {
        padding: 18px 0;
    }
    .spiral-types-section {
    padding-top: 45px;
    padding-bottom: 45px;
  }

  .spiral-types-content {
    padding: 22px 18px;
  }

  .spiral-type-item {
    gap: 12px;
    margin-bottom: 18px;
  }

  .spiral-bullet {
    flex-basis: 11px;
    width: 11px;
    height: 11px;
    margin-top: 6px;
  }

  .spiral-type-item h4 {
    font-size: 14px;
  }

  .spiral-type-item p {
    font-size: 14px;
    line-height: 1.55;
  }

  .spiral-types-image {
    border-radius: 4px;
  }
  .trust-strip{

    grid-template-columns:1fr;

    padding:25px 15px;

}


    .trust-item {
        width: 100%;
        padding: 18px 8px;
        text-align: center;
        box-sizing: border-box;
        border-bottom:1px solid #eee;
    }
    .trust-item::after{

     display:none;

    }
    .trust-item strong {
        font-size: 24px;
        line-height: 1.1;
        display: block;
        margin-bottom: 6px;
    }

    .trust-item span {
        font-size: 13px;
        line-height: 1.6;
        display: block;
        margin-top:12px;
        color:var(--muted);
        text-transform:uppercase;
        letter-spacing:.08em;
    }
    .trust-item:last-child{

    border-bottom:0;

}
    .process .step h4 {
    font-size: 16px;
  }
   .product-bg {
        padding-top: 45px;
        padding-bottom: 45px;
    }

    .product-visual .mitem img {
        height: 270px;
    }

    .product-visual .mitem figcaption {
        font-size: 13px;
    }

    .product-content h2 {
        font-size: 21px;
    }

    .product-content .body-w {
        font-size: 14px;
    }

    .product-btn .btn {
        width: 100%;
        max-width: 220px;
    }




}

@media (min-width: 1400px) {

    .process .wrap {
        padding-left: 4%;
        padding-right: 4%;
    }

    .process .flow {
        margin-top: 80px;
    }

    .process .flow__track {
        gap: 60px;
    }

    .process .step h4 {
        font-size: 21px;
    }

    .process .step p {
        font-size: 14px;
    }
    .ftr .wrap {
        padding-left: 4%;
        padding-right: 4%;
    }

    .ftr__grid {
        gap: 80px;
    }

    .product-columns {
        gap: 20px 60px;
    }

    .product-columns {
        column-gap: 60px;
    }
    
}

.process{
  background:#eef5f4;
}
.duo .protext {
    margin: 0;
    max-width: 700px;
    color: #09263d;
    font-size: clamp(1.5rem, 2.4vw, 2.15rem);
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -.022em;
    margin-bottom: 18px;
}
.cta .wrap .text-white{
  color:#fff;
}
.purpose-padding{
    padding:80px 0;
}
.why .whyheadtext {
    font-size: 1.14rem;
    color: var(--navy);
    margin-bottom: 10px;
    font-family: var(--display);
    font-weight: 700;
    line-height: 1.06;
    letter-spacing: -.022em;

}
.reveal h2{
   font-family: var(--body);
    font-size: clamp(15px, .42vw + 14px, 17px);
    line-height: 1.68;
    font-weight: 400;
    color:var(--muted);
    margin-bottom:10px;
}
.image-grid-section {
    width: 100%;
    padding: 0px 5%;
    background: #f5f5f5;
}

.image-grid {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.grid-item {
    width: 100%;
    height: auto;
    overflow: hidden;
    border-radius: 12px;
    background: #fff;
}

.grid-item img {
    width: 100%;
    height: 100%;
    display: block;
}
.sec--mist .manutext{
font-family: var(--display);
  font-weight: 700;
  letter-spacing: -.022em;
  line-height: 1.06;
  margin: 0;
  font-size:18px;
  line-height: 1.25;
  }

  /* =========================================
   SPIRAL WOUND GASKETS - MATERIALS & TYPES
   ========================================= */

.spiral-types-section {
  background: #fff;
  padding-top: 70px;
  padding-bottom: 70px;
}

.spiral-types-section .head {
  margin-bottom: 35px;
}

.spiral-types-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 45px;
  align-items: stretch;
}

/* LEFT CONTENT */
.spiral-types-content {
  border: 1px solid #dce4e8;
  background: #fff;
  padding: 30px 32px;
  border-radius: 4px;
  box-shadow: 0 8px 25px rgba(10, 37, 64, .05);
}

.spiral-type-item {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  margin-bottom: 21px;
}

.spiral-type-item:last-child {
  margin-bottom: 0;
}

.spiral-bullet {
  flex: 0 0 13px;
  width: 13px;
  height: 13px;
  margin-top: 5px;
  border: 3px solid #2c914c;
  border-radius: 50%;
  box-sizing: border-box;
}

.spiral-type-item h4 {
  margin: 0 0 5px;
  color: #29445d;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 600;
}

.spiral-type-item p {
  margin: 0;
  color: #526b80;
  font-size: 15px;
  line-height: 1.65;
}

/* RIGHT IMAGE */
.spiral-types-image {
  min-height: 100%;
  border: 1px solid #dce4e8;
  border-radius: 4px;
  overflow: hidden;
  background: #f5f7f8;
  box-shadow: 0 8px 25px rgba(10, 37, 64, .05);
}

.spiral-types-image img {
  width: 100%;
  height: 100%;
  min-height: 500px;
  display: block;
  object-fit: cover;
}
.space{
    margin-top:80px;
}

.product-intro{
  display: grid;
  grid-template-columns: 1fr;
}


/* =========================================================
   PREMIUM PRODUCT BLUEPRINT BACKGROUND
   ========================================================= */

.product-bg {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,0.98) 0%,
            rgba(255,255,255,0.94) 48%,
            rgba(255,255,255,0.98) 100%
        );

    padding-top: 90px;
    padding-bottom: 90px;
}


/* -----------------------------------------
   MAIN TECHNICAL DRAWING
   ----------------------------------------- */

.product-bg::before {
    content: "";
    position: absolute;
    z-index: -2;

    inset: -8% -5%;

    background-image: url("../img/bg-2.png");

    background-repeat: no-repeat;

    /* Important */
    background-position: center center;

    background-size: 115% auto;

    opacity: 0.17;

    pointer-events: none;

    transform: rotate(0deg);
}


/* -----------------------------------------
   SECOND SOFT TECHNICAL LAYER
   ----------------------------------------- */

.product-bg::after {
    content: "";
    position: absolute;
    z-index: -1;

    inset: 0;

    background:
        radial-gradient(
            circle at 12% 25%,
            rgba(20,55,85,0.035) 0,
            transparent 32%
        ),
        radial-gradient(
            circle at 88% 70%,
            rgba(20,55,85,0.04) 0,
            transparent 35%
        ),
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(255,255,255,0.55) 50%,
            transparent 100%
        );

    pointer-events: none;
}


.productse-bg::before {
    content: "";
    position: absolute;
    z-index: -2;

    inset: -8% -5%;

    background-image: url("../img/bg-shim.png");

    background-repeat: no-repeat;

    /* Important */
    background-position: center center;

    background-size: 115% auto;

    opacity: 0.17;

    pointer-events: none;

    transform: rotate(0deg);
}
/* -----------------------------------------
   SECOND SOFT TECHNICAL LAYER
   ----------------------------------------- */

.productse-bg::after {
    content: "";
    position: absolute;
    z-index: -1;

    inset: 0;

    background:
        radial-gradient(
            circle at 12% 25%,
            rgba(20,55,85,0.035) 0,
            transparent 32%
        ),
        radial-gradient(
            circle at 88% 70%,
            rgba(20,55,85,0.04) 0,
            transparent 35%
        ),
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(255,255,255,0.55) 50%,
            transparent 100%
        );

    pointer-events: none;
}
.cta-padding {
  padding: 20px 0;
}
.sec-margin{
    margin-top: 60px;
    margin-bottom: 60px;
}
.spirbg {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,0.98) 0%,
            rgba(255,255,255,0.96) 48%,
            rgba(255,255,255,0.92) 100%
        );

    opacity:0.8;
    padding-bottom: 90px;
}
.spirbg::before {
    content: "";
    position: absolute;
    z-index: -2;
    top: 0;
    right: 0;
    bottom: 0;

    inset: 0;

    background-image: url("../img/sprial-bg.png");

    background-repeat: no-repeat;

    /* Important */
    

    background-size: 100% auto;
background-position: center center;

    opacity: 0.4;

    pointer-events: none;

   
}

.spirbg::after {
    content: "";
    position: absolute;
    z-index: -1;

    inset: 0;

    background:
        radial-gradient(
            circle at 12% 25%,
            rgba(20,55,85,0.035) 0,
            transparent 32%
        ),
        radial-gradient(
            circle at 88% 70%,
            rgba(20,55,85,0.04) 0,
            transparent 35%
        ),
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(255,255,255,0.55) 50%,
            transparent 100%
        );

    pointer-events: none;
}

.graphite-gaskets-bg {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #fff;
    padding-bottom: 90px;
}

/* Technical drawing background */
.graphite-gaskets-bg::before {
    content: "";
    position: absolute;

    top: 0;
    right: -2%;
    bottom: 0;

    width: 55%;

    background-image: url("../img/graphite-gaskets-bg.png");
    background-repeat: no-repeat;
    background-position: center right;
    background-size: contain;

    opacity: 0.6;

    z-index: -2;
    pointer-events: none;
}

/* Fade the image toward the text */
.graphite-gaskets-bg::after {
    content: "";
    position: absolute;
    inset: 0;

    background: linear-gradient(
        90deg,
        #fff 0%,
        rgba(255,255,255,0.98) 35%,
        rgba(255,255,255,0.80) 60%,
        rgba(255,255,255,0.25) 100%
    );

    z-index: -1;
    pointer-events: none;
}

/* Keep content above background */
.graphite-gaskets-bg .tech,
.graphite-gaskets-bg .reveal {
    position: relative;
    z-index: 2;
}
.space{
    margin-bottom:20px;
}
.hdr .burger span{
    background:#000;
}

/* =========================================
   RESPONSIVE HEADER FIX
========================================= */

html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

header.hdr {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

header.hdr *,
header.hdr *::before,
header.hdr *::after {
    box-sizing: border-box;
}

/* Header inner wrapper */
header.hdr .container,
header.hdr .container-fluid {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

/* Main header flex */
header.hdr .row {
    width: 100%;
    max-width: 100%;
}

header.hdr .header-inner,
header.hdr .header-wrap,
header.hdr .nav-wrap {
    max-width: 100%;
}

/* Navigation should not create page width */
header.hdr nav {
    max-width: 100%;
}

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

@media (max-width: 1199px) {

    header.hdr {
        width: 100%;
        max-width: 100%;
    }

    header.hdr .container,
    header.hdr .container-fluid {
        width: 100%;
        max-width: 100%;
        padding-left: 25px;
        padding-right: 25px;
    }

    header.hdr nav {
        min-width: 0 !important;
        max-width: 100%;
    }

    header.hdr nav ul {
        max-width: 100%;
        margin: 0;
        padding: 0;
    }

    header.hdr nav ul li {
        white-space: nowrap;
    }
}


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

@media (max-width: 991px) {

    header.hdr .container,
    header.hdr .container-fluid {
        padding-left: 20px;
        padding-right: 20px;
    }

    /* Desktop menu */
    header.hdr nav {
        display: none;
    }

    /* Mobile menu */
    #mobile-nav {
        display: block;
        width: 100%;
        max-width: 100%;
    }
}


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

@media (max-width: 767px) {

    header.hdr .container,
    header.hdr .container-fluid {
        padding-left: 15px;
        padding-right: 15px;
    }

    header.hdr {
        overflow: hidden;
    }
}






