
/* ── RESET & TOKENS ─────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#1b3a5c;
  --navy-dark:#24517f;
  --navy-mid:#24517f;
  --heading-navy:#0f2236;
  --silver:#26538d;
  --silver-light:#7894b8;
  --white:#ffffff;
  --off-white:#f8f8fa;
  --gray-bg:#f2f4f7;
  --gray-200:#e5e7eb;
  --gray-400:#9ca3af;
  --gray-600:#4b5563;
  --ink:#000000;
  --radius:14px;
  --radius-sm:8px;
  --shadow-sm:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);
  --shadow-md:0 4px 16px rgba(0,0,0,.10),0 2px 6px rgba(0,0,0,.06);
  --shadow-lg:0 12px 40px rgba(0,0,0,.14),0 4px 12px rgba(0,0,0,.08);
  --shadow-xl:0 24px 64px rgba(0,0,0,.18);
  --transition:250ms cubic-bezier(.4,0,.2,1);
}
html{scroll-behavior:smooth;font-size:14px}
html.scale16{font-size:16px}
body{font-family:'General Sans',sans-serif;color:var(--ink);background:var(--white);overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6,.section-title,.section-tag{font-family:'General Sans',sans-serif}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
ul{list-style:none}

/* ── UTILITIES ──────────────────────────────────────────────────────── */
.container{width:100%;max-width:1600px;margin-inline:auto;padding-inline:40px}
.section-tag{display:inline-block;font-size:1rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--silver);margin-bottom:12px}
.section-title{font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.1;letter-spacing:-.03em;color:var(--heading-navy)}
.section-sub{font-size:15px;color:var(--gray-600);line-height:1.7;max-width:560px;margin-top:14px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:50px;font-size:.92rem;font-weight:600;letter-spacing:.01em;cursor:pointer;border:none;transition:var(--transition);position:relative}
.btn-primary{background:var(--navy);color:var(--white)}
.btn-primary:hover{background:var(--navy-mid);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn-silver{background:var(--silver);color:var(--ink)}
.btn-silver:hover{background:var(--silver-light);transform:translateY(-1px);box-shadow:0 8px 24px rgba(38,83,141,.4)}
.btn-outline{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.35)}
.btn-outline:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.7)}
.btn-light{background:var(--white);color:var(--heading-navy)}
.btn-light:hover{background:#f0f2f5;transform:translateY(-1px);box-shadow:var(--shadow-md)}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.reveal.visible{opacity:1;transform:none}
.reveal.no-anim{transition:none!important}
.stagger .reveal:nth-child(1){transition-delay:.04s}
.stagger .reveal:nth-child(2){transition-delay:.12s}
.stagger .reveal:nth-child(3){transition-delay:.20s}
.stagger .reveal:nth-child(4){transition-delay:.28s}
.stagger .reveal:nth-child(5){transition-delay:.36s}
.stagger .reveal:nth-child(6){transition-delay:.44s}
.stagger .reveal:nth-child(7){transition-delay:.52s}
.stagger .reveal:nth-child(8){transition-delay:.60s}

@keyframes spin-ring{to{transform:rotate(360deg)}}

/* ── SCROLL PROGRESS BAR ────────────────────────────────────────────── */
#scroll-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--silver),var(--silver-light));z-index:10001;width:0%;transition:width .1s linear}

/* ── BACK TO TOP FLOATING BUTTON ───────────────────────── */
.float-btn{position:fixed;right:24px;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);cursor:pointer;z-index:900;transition:transform .25s ease,opacity .25s ease;border:none}
#totop-float{bottom:24px;background:var(--navy);opacity:0;pointer-events:none;transform:translateY(8px)}
#totop-float.show{opacity:1;pointer-events:all;transform:none}
#totop-float:hover{background:var(--navy-mid);transform:translateY(-2px)}

/* ── NAVIGATION ─────────────────────────────────────────────────────── */
#nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(10,16,30,.83);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:background var(--transition),box-shadow var(--transition)}
#nav::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(to top,rgba(8,13,24,0) 0%,rgba(8,13,24,.88) 100%)}
#nav.scrolled{background:rgba(8,13,26,.72);box-shadow:0 4px 20px rgba(0,0,0,.28)}
.nav-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;height:100px}
.nav-logo{display:flex;align-items:center}
.nav-logo-img{height:100px;width:200px;display:block;object-fit:contain;flex-shrink:0}
.nav-links{display:flex;align-items:center;gap:6px}
.nav-links a{padding:8px 14px;border-radius:8px;font-size:16px;font-weight:600;color:rgba(255,255,255,.8);transition:var(--transition)}
.nav-links a:hover{color:var(--white);background:rgba(255,255,255,.18)}
.nav-home-icon{display:flex!important;align-items:center;justify-content:center;padding:8px 10px!important;margin-right:2px}
.nav-home-icon svg{width:18px;height:18px;display:block}
.nav-cta{padding:9px 20px;background:var(--silver);color:var(--ink);border-radius:50px;font-weight:700;font-size:.85rem;transition:var(--transition);letter-spacing:.01em}
.nav-cta:hover{background:var(--silver-light);transform:translateY(-1px);box-shadow:0 4px 16px rgba(38,83,141,.35)}
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;cursor:pointer;padding:4px}
.hamburger span{display:block;width:24px;height:2px;background:var(--white);border-radius:2px;transition:var(--transition)}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
#mobile-drawer{position:fixed;top:0;right:-100%;width:min(320px,80vw);height:100dvh;background:rgba(10,16,30,.97);backdrop-filter:blur(24px);z-index:999;padding:116px 28px 40px;transition:right .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:4px}
#mobile-drawer.open{right:0}
#mobile-drawer a{padding:14px 0;font-size:1rem;font-weight:500;color:rgba(255,255,255,.8);border-bottom:1px solid rgba(255,255,255,.07);transition:var(--transition)}
#mobile-drawer a:hover{color:var(--silver)}
#mobile-drawer .drawer-cta{margin-top:20px;background:var(--silver);color:var(--ink);text-align:center;border-radius:50px;padding:15px;font-weight:700;border:none}
#drawer-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:998;backdrop-filter:blur(2px)}
#drawer-overlay.open{display:block}

/* ── HERO ───────────────────────────────────────────────────────────── */
#hero{position:relative;height:100dvh;display:flex;align-items:center;overflow:hidden;background:#060e1c}
#hero-particles{position:absolute;inset:0;z-index:2;pointer-events:none}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.4s cubic-bezier(.4,0,.2,1);transform:scale(1.06);z-index:0;will-change:opacity,transform}
.hero-slide.active{opacity:1;z-index:1;animation:hero-zoom 8s linear forwards}
@keyframes hero-zoom{from{transform:scale(1.06)}to{transform:scale(1)}}
.hero-slide::before{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(3,8,20,0.32) 0%,rgba(3,8,20,0.38) 45%,rgba(3,8,20,0.58) 100%)}
.hero-noise{position:absolute;inset:0;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");background-size:200px;z-index:3;pointer-events:none}
.hero-slide-content{position:absolute;inset:0;display:flex;align-items:center;z-index:4;pointer-events:none}
.hero-slide-content .container{pointer-events:auto;width:100%}
.slide-text{opacity:0;transform:translateY(24px);transition:opacity .95s .65s cubic-bezier(.4,0,.2,1),transform .95s .65s cubic-bezier(.4,0,.2,1)}
.hero-slide.active .slide-text{opacity:1;transform:translateY(0)}
.s1-wrap{text-align:center;width:100%}
.s1-h1{font-family:'General Sans',sans-serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:800;line-height:1.15;color:#ffffff;text-align:center;width:100%;margin:0 auto;text-shadow:0 2px 24px rgba(0,0,0,0.45)}
.s1-dividers{display:block;font-size:clamp(1.2rem,2.8vw,2rem);font-weight:500;color:#ffffff;letter-spacing:.1em;margin-top:20px;text-shadow:0 2px 12px rgba(0,0,0,0.5)}
.s2-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}
.s2-tag{font-size:clamp(3rem,9vw,7.5rem);font-weight:900;line-height:1;letter-spacing:-.04em;background:linear-gradient(135deg,#ffffff 0%,var(--silver-light) 45%,var(--silver) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.s3-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 18px;background:rgba(38,83,141,.18);border:1px solid rgba(38,83,141,.4);border-radius:50px;font-size:.78rem;font-weight:700;color:var(--silver);letter-spacing:.1em;text-transform:uppercase;margin-bottom:24px}
.s3-badge::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--silver);animation:pulse-dot 2s ease infinite}
.s3-h1{font-size:clamp(2rem,4.8vw,3.6rem);font-weight:900;line-height:1.08;letter-spacing:-.04em;color:var(--white);margin-bottom:18px}
.s3-h1 em{font-style:normal;background:linear-gradient(135deg,var(--silver) 0%,var(--silver-light) 60%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.s3-p{font-size:1.08rem;color:rgba(255,255,255,.72);line-height:1.75;max-width:580px;margin-bottom:32px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
.slider-controls{position:absolute;bottom:44px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:16px;z-index:10}
.slider-dots{display:flex;gap:9px;align-items:center}
.slider-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.32);border:none;cursor:pointer;transition:all .45s ease;padding:0;flex-shrink:0}
.slider-dot.active{width:30px;border-radius:4px;background:var(--silver)}
.slider-arrow{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.75);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);line-height:1;flex-shrink:0}
.slider-arrow:hover{background:rgba(255,255,255,.18);color:var(--white)}
.hero-scroll{position:absolute;bottom:40px;right:48px;display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.35);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;z-index:10}
.scroll-mouse{width:22px;height:36px;border:2px solid rgba(255,255,255,.2);border-radius:11px;position:relative;overflow:hidden}
.scroll-mouse::after{content:'';position:absolute;top:6px;left:50%;transform:translateX(-50%);width:3px;height:8px;background:rgba(255,255,255,.5);border-radius:2px;animation:scroll-bob 2s ease infinite}
@keyframes scroll-bob{0%{opacity:1;transform:translateX(-50%) translateY(0)}100%{opacity:0;transform:translateX(-50%) translateY(14px)}}

/* ── 3D PIPE CENTERPIECE ────────────────────────────────────────────── */
.pipe3d-wrap{display:flex;flex-direction:column;align-items:center;gap:18px;perspective:900px;user-select:none}
.pipe3d-stage{width:260px;height:260px;position:relative;cursor:grab}
.pipe3d-stage:active{cursor:grabbing}
.pipe3d-model{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .15s ease-out}
.pipe3d-ring{position:absolute;border-radius:50%;border:2px solid rgba(38,83,141,.5);box-shadow:inset 0 0 30px rgba(38,83,141,.25),0 0 24px rgba(38,83,141,.18)}
.pipe3d-hint{font-size:.72rem;color:var(--gray-600);letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.pipe3d-hint svg{opacity:.6}

/* ── STATS / GLOBAL NUMBERS BAR ─────────────────────────────────────── */
#stats{background:var(--navy-dark);padding:48px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.brand-quote{max-width:780px;margin:0 auto;text-align:center;font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:400;line-height:1.5;color:#ffffff;letter-spacing:.01em;white-space:normal}
.brand-quote cite{display:block;margin-top:8px;font-style:normal;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.stat-item{text-align:center;padding:20px 16px;position:relative}
.stat-item+.stat-item::before{content:'';position:absolute;left:0;top:20%;height:60%;width:1px;background:rgba(255,255,255,.1)}
.stat-num{font-size:clamp(2rem,4vw,3rem);font-weight:900;color:var(--white);letter-spacing:-.04em;line-height:1}
.stat-num span{color:var(--silver)}
#stats .stat-num span{color:var(--silver-light)}
.stat-label{font-size:.78rem;color:rgba(255,255,255,.5);font-weight:500;letter-spacing:.06em;text-transform:uppercase;margin-top:6px}

/* ── ABOUT ──────────────────────────────────────────────────────────── */
#about{padding:60px 0;background:var(--off-white)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.about-image-wrap{position:relative}
.about-img-card{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%);border-radius:20px;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;box-shadow:var(--shadow-xl)}
.about-badge{position:absolute;bottom:-20px;right:-20px;background:var(--white);border-radius:16px;padding:18px 22px;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:12px}
.about-badge-icon{width:44px;height:44px;background:linear-gradient(135deg,var(--silver),var(--silver-light));border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.3rem}
.about-badge-text{font-size:.82rem;font-weight:700;color:var(--ink);line-height:1.3}
.about-badge-sub{font-size:.7rem;color:var(--gray-600);font-weight:400}
.about-list{margin-top:28px;display:flex;flex-direction:column;gap:14px}
.about-list-item{display:flex;align-items:flex-start;gap:14px}
.about-list-icon{flex-shrink:0;width:36px;height:36px;background:linear-gradient(135deg,rgba(38,83,141,.15),rgba(38,83,141,.05));border:1px solid rgba(38,83,141,.3);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:.95rem;margin-top:1px}
.about-list-text{font-size:.93rem;color:var(--gray-600);line-height:1.6}
.about-list-text strong{display:block;color:var(--ink);font-weight:600;margin-bottom:2px}

/* ── MISSION (case-study style grid) ──────────────────────────────────── */
.mission-eyebrow{display:flex;align-items:center;gap:10px;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);margin-bottom:16px}
.mission-eyebrow::before{content:"";width:22px;height:2px;background:var(--navy);display:inline-block}
.mission-heading{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:800;line-height:1.15;letter-spacing:-.02em;color:var(--heading-navy);margin:0 0 30px}
.mission-heading em{font-style:normal;color:var(--navy)}
.mission-sub-label{display:flex;align-items:center;gap:14px;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);margin-bottom:18px}
.mission-sub-label::after{content:"";flex:1;height:1px;background:var(--gray-200)}
.mission-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mission-gcard{border-radius:16px;padding:22px;display:flex;flex-direction:column;min-height:210px;box-shadow:var(--shadow-sm)}
.mission-gcard.is-dark{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff}
.mission-gcard.is-light{background:var(--white);border:1px solid var(--gray-200);color:var(--ink)}
.mission-gcard-icon{width:34px;height:34px;margin-bottom:16px}
.mission-gcard-icon svg{width:100%;height:100%}
.mission-gcard-title{font-size:.98rem;font-weight:700;line-height:1.4;margin:0 0 auto}
.mission-gcard.is-light .mission-gcard-title{color:var(--heading-navy)}
.mission-gcard-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;padding-top:14px}
.mission-gcard-meta{font-size:.72rem;font-weight:600;letter-spacing:.04em;opacity:.7}
.mission-gcard-btn{flex-shrink:0;width:36px;height:36px;border-radius:9px;background:var(--white);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}
.mission-gcard-btn svg{width:15px;height:15px}
.mission-gcard:nth-child(4){grid-column:1/2}
.mission-gcard:nth-child(5){grid-column:2/4}
@media(max-width:900px){.mission-cards-grid{grid-template-columns:1fr 1fr}.mission-gcard:nth-child(4){grid-column:1/2}.mission-gcard:nth-child(5){grid-column:2/3}}
@media(max-width:600px){.mission-cards-grid{grid-template-columns:1fr}.mission-gcard:nth-child(4),.mission-gcard:nth-child(5){grid-column:1/2}}
.cert-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
.cert-chip{padding:8px 16px;background:var(--white);border:1.5px solid var(--gray-200);border-radius:50px;font-size:.75rem;font-weight:700;color:var(--navy);letter-spacing:.05em}
.about-3d-row{margin-top:36px;display:flex;justify-content:center}

/* ── PROCESS (STEPPER) ─────────────────────────────────────────────── */
#process{padding:120px 0;background:var(--navy-dark);position:relative;overflow:hidden}
#process::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(58,143,209,.16) 0%,transparent 65%);z-index:0}
#process>.container{position:relative;z-index:1}
.process-header{text-align:center;margin-bottom:48px}
.process-header .section-title{color:#fff}
.process-header .section-sub{color:rgba(255,255,255,.55);margin-inline:auto}
.process-progress{display:flex;align-items:center;gap:4px;margin-bottom:44px;overflow-x:auto;padding-bottom:6px}
.proc-step-btn{flex:1;min-width:84px;display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:10px 4px;position:relative}
.proc-step-num{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.18);color:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;transition:var(--transition)}
.proc-step-btn.active .proc-step-num{background:var(--silver);border-color:var(--silver);color:var(--ink)}
.proc-step-btn.done .proc-step-num{background:rgba(38,83,141,.25);border-color:rgba(38,83,141,.6);color:var(--silver)}
.proc-step-label{font-size:.66rem;color:rgba(255,255,255,.4);text-align:center;letter-spacing:.02em;line-height:1.3}
.proc-step-btn.active .proc-step-label{color:#fff;font-weight:700}
.proc-track-line{position:absolute;top:27px;left:50%;right:-50%;height:2px;background:rgba(255,255,255,.12);z-index:-1}
.proc-step-btn:last-child .proc-track-line{display:none}
.proc-step-btn.done .proc-track-line{background:rgba(38,83,141,.5)}
.process-stage{display:none;animation:pageFadeIn .4s ease}
.process-stage.active{display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:center;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:20px;padding:40px}
.proc-svg-wrap{display:flex;justify-content:center}
.proc-stage-num{font-size:.7rem;font-weight:800;letter-spacing:.18em;color:#5ba3d9;text-transform:uppercase;margin-bottom:8px}
.proc-stage-title{font-size:1.7rem;font-weight:800;color:#fff;margin-bottom:14px}
.proc-stage-desc{font-size:.96rem;color:rgba(255,255,255,.6);line-height:1.75;max-width:480px}
.proc-nav-btns{display:flex;gap:12px;margin-top:24px}
.proc-nav-btn{padding:10px 20px;border-radius:50px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;transition:var(--transition)}
.proc-nav-btn:hover{background:rgba(255,255,255,.16)}
.proc-nav-btn:disabled{opacity:.3;cursor:not-allowed}
@media(max-width:768px){.process-stage.active{grid-template-columns:1fr;text-align:center}.proc-stage-desc{margin-inline:auto}}

/* ── PRODUCTS ───────────────────────────────────────────────────────── */
#products{padding:60px 0;background:var(--white)}
.products-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;flex-wrap:wrap;gap:20px}
.product-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px;margin-top:15px;}
.pf-btn{padding:9px 18px;border-radius:50px;border:1.5px solid var(--gray-200);background:var(--white);font-size:.8rem;font-weight:600;color:var(--gray-600);cursor:pointer;transition:var(--transition);font-family:'General Sans',sans-serif}
.pf-btn:hover{border-color:var(--navy)}
.pf-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:900px){.product-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.product-grid{grid-template-columns:1fr}}
.product-card{border-radius:var(--radius);overflow:hidden;border:1.5px solid var(--gray-200);transition:transform .12s ease,box-shadow .25s ease,border-color .25s ease;cursor:pointer;background:var(--white);will-change:transform;position:relative;display:flex;flex-direction:column}
.product-card.hide{display:none}
.product-card:hover{border-color:var(--navy);box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.product-img-wrap{height:190px;overflow:hidden;position:relative}
.product-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.product-card:hover .product-img-wrap img{transform:scale(1.07)}
.product-badge{position:absolute;top:14px;left:14px;z-index:2;background:rgba(15,34,54,.88);color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 13px;border-radius:50px}
.product-body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.product-body h3{font-size:18px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.product-body p{font-size:15px;color:var(--gray-600);line-height:1.55;margin:0}
.product-specs{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:8px}
.product-specs li{font-size:10px;font-weight:600;color:var(--ink);background:var(--off-white);border:1px solid var(--gray-200);padding:6px 12px;border-radius:50px}
.btn-outline-navy{background:transparent;color:var(--ink);border:2px solid var(--gray-200)}
.btn-outline-navy:hover{border-color:var(--navy);background:rgba(27,58,92,.05)}
.products-more-cta{grid-column:1/-1;text-align:center;padding:32px 0;margin:8px 0;border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200)}
.products-more-cta p{font-size:.95rem;color:var(--gray-600);margin-bottom:18px}
.product-cta-card{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%);border-radius:var(--radius);padding:32px 28px;display:flex;flex-direction:column;justify-content:center;border:none}
.product-cta-card .section-title{color:var(--white);font-size:1.5rem}
.product-cta-card h3{color:var(--white);font-size:1.3rem;margin:0}
.product-cta-card p{color:rgba(255,255,255,.6);font-size:15px;margin:10px 0 22px;line-height:1.6}

/* ── PRODUCTS DETAIL PAGE ───────────────────────────────────────────── */
.prod-detail{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.prod-detail.rev .prod-detail-img{order:2}
.prod-detail-img{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);aspect-ratio:7/5;background:#1c4c8e}
.prod-detail-img.auto-ratio{aspect-ratio:auto;background:none}
.prod-detail-img.auto-ratio img{height:auto}
.prod-detail-img img{width:100%;height:100%;display:block;object-fit:contain}
.prod-detail-text h3{font-size:1.6rem;font-weight:800;color:var(--heading-navy);letter-spacing:-.02em;margin-bottom:12px}
.prod-detail-text>p{font-size:.95rem;color:var(--gray-600);line-height:1.75;margin-bottom:18px}
.prod-spec-table{width:100%;border-collapse:collapse;font-size:1rem;margin-bottom:18px}
.prod-spec-table tr{border-bottom:1px solid var(--gray-200)}
.prod-spec-table tr:last-child{border-bottom:none}
.prod-spec-table td{padding:10px 0;color:var(--gray-600);vertical-align:top;line-height:1.5}
.prod-spec-table td:first-child{font-weight:700;color:var(--ink);width:200px;flex-shrink:0;white-space:nowrap}
.prod-app-label{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--silver);margin-bottom:10px;display:block}
.prod-app-tags{display:flex;flex-wrap:wrap;gap:8px}
.prod-app-tags span{font-size:12px;font-weight:600;color:var(--ink);background:var(--off-white);border:1px solid var(--gray-200);padding:6px 14px;border-radius:50px}
.prod-section{position:relative;overflow:hidden}
.prod-section>.container{position:relative;z-index:1}

.prod-detail-text .section-tag{position:relative;padding-bottom:11px}
.prod-detail-text .section-tag::after{content:"";position:absolute;left:0;bottom:0;width:34px;height:2px;background:var(--silver)}
.prod-request-link{display:inline-flex;align-items:center;gap:6px;margin-top:20px;font-size:.8rem;font-weight:700;color:var(--navy);text-decoration:none;border-bottom:1.5px solid transparent;padding-bottom:2px;transition:var(--transition)}
.prod-request-link svg{width:13px;height:13px;transition:transform var(--transition)}
.prod-request-link:hover{border-bottom-color:var(--navy)}
.prod-request-link:hover svg{transform:translateX(3px)}
@media (max-width:900px){.prod-detail{grid-template-columns:1fr}.prod-detail.rev .prod-detail-img{order:0}}

/* ── QUALITY TESTING ────────────────────────────────────────────────── */
.quality-banner{width:100%;aspect-ratio:3.5/1;overflow:hidden;display:block;margin-top:82px}
.quality-banner img{width:100%;height:100%;object-fit:cover;display:block}
.about-hero.with-banner{padding-top:60px}
.quality-hero{padding:60px 0 90px;background:var(--navy-dark);position:relative;overflow:hidden}
.quality-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(58,143,209,.18) 0%,transparent 65%),repeating-linear-gradient(90deg,rgba(255,255,255,.022) 0px,rgba(255,255,255,.022) 1px,transparent 1px,transparent 60px),repeating-linear-gradient(0deg,rgba(255,255,255,.022) 0px,rgba(255,255,255,.022) 1px,transparent 1px,transparent 60px);z-index:0}
.quality-hero>.container{position:relative;z-index:1}
.quality-hero .section-tag{color:#5ba3d9}
.quality-hero .section-title{color:#ffffff}
.quality-hero .section-sub{color:rgba(255,255,255,.55);margin-inline:auto}
.quality-body{background:var(--navy-dark);position:relative;overflow:hidden;padding:0 0 100px}
.quality-body::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.022) 0px,rgba(255,255,255,.022) 1px,transparent 1px,transparent 60px),repeating-linear-gradient(0deg,rgba(255,255,255,.022) 0px,rgba(255,255,255,.022) 1px,transparent 1px,transparent 60px);z-index:0}
.quality-body>.container{position:relative;z-index:1}
.quality-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.qstat-item{background:rgba(255,255,255,.06);border:1px solid rgba(91,163,217,.25);border-radius:var(--radius);padding:26px;text-align:center;position:relative;overflow:hidden}
.qstat-item::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#5ba3d9,transparent)}
.qstat-num{font-size:2.4rem;font-weight:900;color:#ffffff;letter-spacing:-.04em;line-height:1}
.qstat-label{font-size:.74rem;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.09em;margin-top:8px}
.qcat-head{display:flex;align-items:center;gap:20px;margin:0 0 28px;padding-top:64px}
.quality-body .qcat-head:first-child{padding-top:0}
.qcat-label{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#5ba3d9;white-space:nowrap;flex-shrink:0}
.qcat-line{flex:1;height:1px;background:linear-gradient(90deg,rgba(91,163,217,.5),rgba(255,255,255,.08))}
.qt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.qtest-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:26px 22px;display:flex;flex-direction:column;transition:border-color .3s ease,background .3s ease,transform .3s ease}
.qtest-card:hover{background:rgba(255,255,255,.07);border-color:rgba(91,163,217,.4);transform:translateY(-3px)}
.qtest-icon{width:56px;height:56px;border-radius:13px;background:linear-gradient(135deg,#2d6fa8 0%,#0f2f52 100%);border:1px solid rgba(91,163,217,.35);box-shadow:0 4px 14px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;margin-bottom:16px;flex-shrink:0}
.qtest-icon svg{width:26px;height:26px;color:#fff}
.qtest-card h3{font-size:.95rem;font-weight:700;color:#ffffff;margin-bottom:8px;line-height:1.3}
.qtest-card p{font-size:.8rem;color:rgba(255,255,255,.65);line-height:1.6;margin:0}
.qt-certs-link{text-align:center;margin-top:64px}
.qsearch-input{width:240px;padding:10px 16px 10px 16px;border-radius:50px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);color:#fff;font-size:.82rem;font-family:'General Sans',sans-serif}
.qsearch-input::placeholder{color:rgba(255,255,255,.4)}
.qsearch-input:focus{outline:none;border-color:#5ba3d9}
@media(max-width:1024px){.qt-grid{grid-template-columns:repeat(3,1fr)}.quality-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.qt-grid{grid-template-columns:repeat(2,1fr)}.quality-stats{grid-template-columns:1fr}.qcat-head{flex-wrap:wrap}.qsearch-input{width:100%}}

/* ── MANUFACTURING SHOWCASE ─────────────────────────────────────────── */
#mfg-showcase{padding:60px 0;background:var(--navy-dark);position:relative;overflow:hidden}
#mfg-showcase::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(27,58,92,.25) 0%,transparent 70%);pointer-events:none}
.mfg-header{text-align:center;margin-bottom:52px;position:relative;z-index:1}
.mfg-header .section-title{color:var(--white)}
.mfg-header .section-sub{color:rgba(255,255,255,.5);margin-inline:auto}
.ticker-wrap{overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%)}
.ticker-track{display:flex;gap:20px;width:max-content;animation:ticker-scroll 48s linear infinite}
.ticker-track:hover{animation-play-state:paused}
.ticker-item{width:380px;height:268px;border-radius:var(--radius);overflow:hidden;position:relative;flex-shrink:0;cursor:default}
.ticker-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.4,0,.2,1)}
.ticker-item:hover img{transform:scale(1.07)}
.ticker-item-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,14,26,.82) 0%,rgba(7,14,26,.1) 50%,transparent 100%);display:flex;align-items:flex-end;padding:18px 22px}
.ticker-item-label{font-size:.73rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(200,224,240,.9);border-top:1.5px solid rgba(38,83,141,.4);padding-top:8px;width:100%}
@keyframes ticker-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── CERTIFICATES ──────────────────────────────────────────────────── */
#certificates{padding:110px 0;background:var(--white);position:relative;overflow:hidden}
#certificates::before{content:'';position:absolute;top:-80px;right:-80px;width:400px;height:400px;background:radial-gradient(circle,rgba(38,83,141,.07) 0%,transparent 70%);pointer-events:none}
.certs-inner{display:grid;grid-template-columns:auto 1fr;gap:80px;align-items:start}
.certs-feature{display:flex;flex-direction:column;gap:20px;align-items:center;width:280px}
.certs-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:48px auto 0;max-width:1040px}
.cert-card{cursor:pointer;border-radius:var(--radius);overflow:hidden;border:1.5px solid var(--gray-200);background:var(--white);box-shadow:var(--shadow-sm);transition:var(--transition)}
.cert-card:hover,.cert-card:focus-visible{border-color:var(--navy);box-shadow:var(--shadow-md);transform:translateY(-4px)}
.cert-card-img{position:relative;aspect-ratio:3/4;background:var(--off-white);overflow:hidden}
.cert-card-img img{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;user-select:none}
.cert-card-zoom{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(15,30,50,0);opacity:0;transition:background .25s ease,opacity .25s ease}
.cert-card-zoom svg{width:30px;height:30px;color:#fff;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}
.cert-card:hover .cert-card-zoom,.cert-card:focus-visible .cert-card-zoom{opacity:1;background:rgba(15,30,50,.45)}
.cert-card-label{padding:14px 12px;text-align:center;font-size:.78rem;font-weight:600;color:var(--ink);line-height:1.4}
.cert-card-doc{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(160deg,var(--off-white),#e8edf3)}
.cert-card-doc svg{width:54px;height:54px;color:var(--navy);opacity:.85}
.cert-card-pdf-tag{position:absolute;top:10px;right:10px;background:var(--navy);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.04em;padding:3px 8px;border-radius:4px;z-index:2}
.cert-card-zoom.cert-card-zoom-link svg{width:26px;height:26px}
.cert-lightbox{position:fixed;inset:0;background:rgba(4,10,20,.94);z-index:5000;display:none;align-items:center;justify-content:center;flex-direction:column}
.cert-lightbox.open{display:flex}
.cert-lightbox-stage{max-width:88vw;max-height:74vh;display:flex;align-items:center;justify-content:center}
.cert-lightbox-stage img{max-width:88vw;max-height:74vh;object-fit:contain;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.5);-webkit-user-select:none;user-select:none}
.cert-lightbox-close{position:absolute;top:24px;right:28px;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}
.cert-lightbox-close:hover{background:rgba(255,255,255,.18)}
.cert-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:1.8rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}
.cert-lightbox-nav:hover{background:rgba(255,255,255,.18)}
.cert-lightbox-prev{left:28px}
.cert-lightbox-next{right:28px}
.cert-lightbox-nav.hide{display:none}
.cert-lightbox-label{margin-top:22px;padding:12px 28px;background:var(--navy);color:#fff;font-size:.85rem;font-weight:700;letter-spacing:.02em;border-radius:50px;text-align:center}
@media(max-width:900px){.certs-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.certs-gallery{grid-template-columns:1fr}}
@media(max-width:520px){.cert-lightbox-nav{width:38px;height:38px;font-size:1.4rem}.cert-lightbox-prev{left:10px}.cert-lightbox-next{right:10px}.cert-lightbox-close{top:14px;right:16px}}

.certs-right{display:flex;flex-direction:column;gap:0}
.certs-right-header{margin-bottom:36px}
.certs-right-header .section-title{margin-bottom:8px}
.std-list{display:flex;flex-direction:column;gap:14px}
.standards-heading{font-size:1.6rem;font-weight:900;color:var(--heading-navy);text-align:center;margin:80px 0 32px;letter-spacing:-.01em}
.standards-list{display:flex;flex-direction:column;gap:14px;max-width:760px;margin:0 auto}
.std-item{background:var(--off-white);border:1.5px solid var(--gray-200);border-radius:var(--radius);padding:18px 22px;transition:var(--transition);cursor:pointer}
.std-item:hover{border-color:var(--navy);box-shadow:var(--shadow-sm);background:var(--white)}
.std-item-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.std-item-head h3{font-size:.95rem;font-weight:800;color:var(--heading-navy);letter-spacing:-.01em}
.std-org{font-size:.68rem;font-weight:700;letter-spacing:.04em;color:var(--navy);background:rgba(27,58,92,.08);padding:4px 10px;border-radius:50px;white-space:nowrap;flex-shrink:0}
.std-item-detail{max-height:0;overflow:hidden;transition:max-height .35s ease,margin-top .35s ease}
.std-item-detail p{font-size:.82rem;color:var(--gray-600);line-height:1.6;padding-top:2px}
.std-item.expanded .std-item-detail{max-height:120px;margin-top:10px}
@media(max-width:1024px){.certs-inner{grid-template-columns:1fr;gap:40px}.certs-feature{width:100%}}

/* ── GLOBAL REACH ───────────────────────────────────────────────────── */
#global{padding:120px 0;background:var(--off-white)}
.global-header{text-align:center;margin-bottom:50px}
.global-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.gs-card{background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius);padding:28px;text-align:center;box-shadow:var(--shadow-sm)}
.gs-num{font-size:2.4rem;font-weight:900;color:var(--navy);letter-spacing:-.04em}
.gs-num span{color:var(--silver)}
.gs-label{font-size:.8rem;color:var(--gray-600);font-weight:500;margin-top:4px;letter-spacing:.04em;text-transform:uppercase}

/* ── CONTACT ────────────────────────────────────────────────────────── */
#contact{padding:120px 0;background:var(--white)}
.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:start}
.contact-info .section-title{margin-bottom:16px}
.contact-info .section-sub{margin-bottom:32px}
.contact-detail{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}
.contact-detail-icon{width:40px;height:40px;flex-shrink:0;background:linear-gradient(135deg,rgba(27,58,92,.1),rgba(27,58,92,.05));border:1px solid rgba(27,58,92,.15);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1rem}
.contact-detail-text{font-size:.88rem;color:var(--gray-600);line-height:1.6}
.contact-detail-text strong{display:block;color:var(--ink);font-weight:600;margin-bottom:1px}
.contact-form{background:var(--off-white);border-radius:20px;padding:40px;border:1px solid var(--gray-200)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}
.fl-group{position:relative;margin-bottom:22px}
.fl-group input,.fl-group textarea,.fl-group select{width:100%;padding:18px 16px 8px;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font-family:'General Sans',sans-serif;font-size:.88rem;color:var(--ink);background:var(--white);transition:border-color var(--transition),box-shadow var(--transition)}
.fl-group label{position:absolute;left:16px;top:16px;font-size:.86rem;color:var(--gray-400);transition:all .18s ease;pointer-events:none;background:var(--white);padding:0 4px}
.fl-group input:focus,.fl-group textarea:focus,.fl-group select:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(27,58,92,.1)}
.fl-group input:focus + label,.fl-group input:not(:placeholder-shown) + label,
.fl-group textarea:focus + label,.fl-group textarea:not(:placeholder-shown) + label,
.fl-group select:focus + label,.fl-group select.has-value + label{
  top:-8px;font-size:.68rem;font-weight:700;color:var(--navy);letter-spacing:.03em}
.fl-group textarea{resize:vertical;min-height:110px}
.fl-group.invalid input,.fl-group.invalid select,.fl-group.invalid textarea{border-color:var(--gray-200)}
.fl-error{display:none!important}
.fl-group.invalid .fl-error{display:none!important}
.form-full{grid-column:1/-1}
.char-counter{font-size:.7rem;color:var(--gray-400);text-align:right;margin-top:4px}
.char-counter.warn{color:#ef4444}
.form-submit{width:100%;padding:15px;background:var(--navy);color:var(--white);border:none;border-radius:50px;font-family:'General Sans',sans-serif;font-size:.95rem;font-weight:700;cursor:pointer;transition:var(--transition);margin-top:6px}
.form-submit:hover{background:var(--navy-mid);transform:translateY(-1px);box-shadow:0 8px 24px rgba(27,58,92,.3)}
.form-submit:disabled{opacity:.6;cursor:not-allowed}
#form-status{text-align:center;font-size:.85rem;margin-top:12px;min-height:24px;font-weight:500}
.social-row{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.social-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:50px;font-size:.82rem;font-weight:600;border:1.5px solid var(--gray-200);transition:var(--transition)}
.social-btn:hover{border-color:var(--navy);background:var(--gray-bg)}
.social-btn svg{width:18px;height:18px}
.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:start;margin-top:48px}
.contact-info{background:var(--off-white);border:1px solid var(--gray-200);border-radius:20px;padding:36px}
.ci-item{display:flex;align-items:flex-start;gap:14px;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--gray-200)}
.ci-item-icon{width:42px;height:42px;border-radius:50%;background:rgba(38,83,141,.1);color:var(--navy);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ci-item-icon svg{width:19px;height:19px}
.ci-item-body{flex:1;min-width:0}
.contact-map-wrap{margin-top:36px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--gray-200)}
.contact-map-wrap iframe{width:100%;height:420px;display:block;border:0}
.contact-single-frame{background:var(--white);border:1px solid var(--gray-200);border-radius:24px;padding:48px;box-shadow:var(--shadow-md);margin-top:48px}
.contact-single-frame .contact-layout{margin-top:0;grid-template-columns:1fr 1fr;gap:36px}
.contact-single-frame .contact-form{background:none;border:none;padding:0}
.contact-single-frame .contact-map-col{display:flex;flex-direction:column;gap:14px}
.contact-single-frame .contact-map-col .contact-map-wrap{margin-top:0;flex:1}
.contact-single-frame .contact-map-col .contact-map-wrap iframe{height:100%;min-height:340px}
.contact-single-frame .contact-info{background:none;border:none;padding:32px 0 0;margin-top:40px;border-top:1px solid var(--gray-200);
display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.contact-single-frame .contact-info .ci-item{border-bottom:none;margin-bottom:0;padding-bottom:0}
.contact-single-frame .contact-info .ci-socials{grid-column:1/-1;margin-top:4px}
@media(max-width:1100px){.contact-single-frame .contact-layout{grid-template-columns:1fr}.contact-single-frame .contact-info{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.contact-single-frame{padding:28px}.contact-single-frame .contact-info{grid-template-columns:1fr}}
/* ── REQUEST-A-QUOTE: composite everything into one viewport slide frame ── */
#page-contact .contact-hero{min-height:100vh;display:flex;align-items:center;padding:128px 0 34px;overflow:hidden}
#page-contact .contact-hero>.container{width:100%}
#page-contact .section-head{margin-bottom:20px}
#page-contact .section-head .section-title{font-size:clamp(1.7rem,3vw,2.4rem)}
#page-contact .section-head .section-tag{margin-bottom:8px}
#page-contact .section-sub{margin-top:8px;font-size:15px}
#page-contact .contact-single-frame{margin-top:0;padding:30px 40px}
#page-contact .contact-single-frame .contact-layout{gap:32px;align-items:stretch}
#page-contact .contact-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;align-content:start}
#page-contact .contact-form .fl-group{margin-bottom:0}
#page-contact .contact-form .fl-group.fl-textarea,
#page-contact .contact-form .form-submit,
#page-contact .contact-form #form-status{grid-column:1/-1}
#page-contact .contact-form .form-submit{margin-top:2px;padding:13px}
#page-contact .fl-group input,#page-contact .fl-group select,#page-contact .fl-group textarea{padding:15px 14px 6px;font-size:.84rem}
#page-contact .fl-group label{top:14px}
#page-contact .fl-group.fl-textarea textarea{min-height:62px}
#page-contact #form-status{margin-top:6px;min-height:0}
#page-contact .contact-single-frame .contact-map-col{gap:10px}
#page-contact .contact-single-frame .contact-map-col .contact-map-wrap iframe{min-height:230px}
#page-contact .contact-single-frame .contact-info{margin-top:20px;padding-top:18px;gap:20px}
#page-contact .contact-single-frame .ci-item{gap:12px}
#page-contact .contact-single-frame .ci-item p{font-size:15px}
#page-contact .contact-single-frame .ci-socials{margin-top:0}
@media(max-width:1100px){#page-contact .contact-hero{min-height:0;padding:120px 0 60px}#page-contact .contact-form{grid-template-columns:1fr}}
.ci-item:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}
.ci-item h3{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);margin-bottom:8px}
.ci-item p{font-size:.92rem;color:var(--gray-600);line-height:1.6}
.ci-item p a{color:var(--gray-600);text-decoration:none;transition:color var(--transition);font-size:15px;}
.ci-item p a:hover{color:var(--navy)}
.ci-socials{display:flex;gap:12px;margin-top:28px}
.ci-socials a{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1.5px solid var(--gray-200);color:var(--navy);transition:var(--transition)}
.ci-socials a:hover{background:var(--navy);border-color:var(--navy);color:var(--white);transform:translateY(-2px)}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:40px}}

.mission-gcard-body{font-size:.88rem;line-height:1.65;margin:10px 0 0;opacity:.72}
.made-block .section-tag{display:inline-block;margin-bottom:12px}
.made-block p+p{margin-top:16px}

/* PRODUCTS: overview + detail pages */
.prod-intro-para{font-size:1.02rem;line-height:1.85;color:var(--gray-600);max-width:860px;margin:0 0 26px}
.prod-card-link{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-size:.84rem;font-weight:700;color:var(--navy);letter-spacing:.01em}
.prod-card-link svg{width:15px;height:15px;transition:transform var(--transition)}
.prod-card-link:hover svg{transform:translateX(4px)}
.cap-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 40px;margin-top:44px;padding:22px 26px;border-top:1px solid rgba(27,58,92,.14);border-bottom:1px solid rgba(27,58,92,.14)}
.cap-strip span{font-size:.9rem;font-weight:600;color:var(--navy);letter-spacing:.01em}
.grades-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px;margin-top:34px}
.grade-block{padding:22px 24px;border:1px solid rgba(27,58,92,.14);border-radius:14px;background:#fff}
.grade-block h4{font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--silver);margin:0 0 10px}
.grade-block p{font-size:.9rem;line-height:1.7;color:var(--gray-600);margin:0}
.made-block{max-width:860px}
.made-block h2{margin-bottom:16px}
.made-block p{font-size:1rem;line-height:1.55;color:var(--gray-600);margin:0}
@media(max-width:768px){.cap-strip{flex-direction:column;align-items:flex-start;gap:10px}}

/* ── FOOTER ─────────────────────────────────────────────────────────── */
#site-footer{background:var(--heading-navy);padding:46px 0 0;border-top:1px solid rgba(255,255,255,.06)}
#site-footer .container{max-width:1760px}
.footer-grid{display:grid;grid-template-columns:1.15fr 1fr 1.2fr 1fr 1fr;gap:44px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.07);align-items:start}
.footer-col{display:flex;flex-direction:column;gap:8px}
.footer-col h4{display:inline-block;font-size:16px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;padding-bottom:9px;margin-bottom:5px;border-bottom:1px solid rgba(255,255,255,.18)}
.footer-col a,.footer-col span{font-size:14px;color:#fff;line-height:1.5}
.footer-col a{transition:color var(--transition)}
.footer-col a:hover{color:var(--silver)}
.footer-col a.footer-download{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;margin-top:6px;padding:8px 16px;border-radius:50px;background:#fff;color:var(--heading-navy);font-weight:700;letter-spacing:.01em;box-shadow:0 4px 14px rgba(0,0,0,.28);transition:var(--transition)}
.footer-col a.footer-download::before{content:"";width:15px;height:15px;flex-shrink:0;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3Cpath d='M12 15V3'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3Cpath d='M12 15V3'/%3E%3C/svg%3E") center/contain no-repeat}
.footer-col a.footer-download:hover{background:var(--silver);color:var(--heading-navy);transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.34)}
.footer-address p{font-size:14px;color:#fff;line-height:1.65;margin:0}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding-left:48px}
.footer-logo-img{display:block;height:56px;width:auto;max-width:100%;margin:0 0 14px}
.footer-socials{display:flex;gap:10px;margin-top:6px}
.footer-socials a{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.6);transition:var(--transition)}
.footer-socials a:hover{background:var(--silver);border-color:var(--silver);color:var(--ink)}
.footer-site-link{display:inline-block;margin-top:10px;font-size:.82rem;font-weight:600;color:rgba(200,224,240,.85);transition:color var(--transition)}
.footer-site-link:hover{color:var(--silver)}
.footer-bottom{display:flex;justify-content:center;align-items:center;padding:16px 35px;font-size:14px;color:rgba(255,255,255,.35);flex-wrap:wrap;gap:10px}
.footer-bottom p{margin:0}

/* ── RESPONSIVE ─────────────────────────────────────────────────────── */
@media(max-width:1024px){
  .about-grid,.contact-grid{grid-template-columns:1fr;gap:48px}
  .products-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:repeat(2,1fr);gap:36px 28px}
  .footer-brand{grid-column:1/-1;padding-left:0}
}
@media(max-width:768px){
  .nav-links,.nav-cta{display:none}
  .hamburger{display:flex}
  .stats-grid{grid-template-columns:1fr}
  .products-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .global-stats{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;text-align:center}
  .footer-col h4{align-self:center}
  .footer-brand{align-items:center}
  .footer-bottom{flex-direction:column;text-align:center}
}

/* ── PAGE ROUTER ─────────────────────────────────────────────────────── */
.page{display:none}
.page.active{display:block;animation:pageFadeIn .35s ease}
@keyframes pageFadeIn{from{opacity:0}to{opacity:1}}
#nav.page-nav{background:rgba(10,16,30,.95)!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;box-shadow:0 1px 0 rgba(255,255,255,.07)!important}
.nav-links a.nav-active{color:#fff!important;background:var(--silver)!important;box-shadow:0 2px 10px rgba(38,83,141,.5)}
.nav-dropdown{position:relative;display:inline-flex;align-items:center}
.nav-dropdown-btn{padding:8px 14px;border-radius:8px;font-size:16px;font-weight:600;color:rgba(255,255,255,.8);transition:var(--transition);background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:5px;font-family:'General Sans',sans-serif;letter-spacing:.01em}
.nav-dropdown-btn:hover,.nav-dropdown:hover .nav-dropdown-btn{color:var(--white);background:rgba(255,255,255,.18)}
.nav-dropdown-btn.nav-active{color:#fff!important;background:var(--silver)!important;box-shadow:0 2px 10px rgba(38,83,141,.5)}
.nav-dropdown-chevron{transition:transform .22s ease}
.nav-dropdown:hover .nav-dropdown-chevron{transform:rotate(180deg)}
.nav-dropdown-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(-4px);background:rgba(8,14,28,.97);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:6px;padding-top:14px;min-width:178px;z-index:2000;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 20px 50px rgba(0,0,0,.65);display:flex;flex-direction:column;gap:2px;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.nav-dropdown-menu::before{content:'';position:absolute;top:-12px;left:-10px;right:-10px;height:14px}
.nav-dropdown:hover .nav-dropdown-menu{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0)}
.nav-dropdown-item{padding:10px 14px;border-radius:8px;font-size:.82rem;color:rgba(255,255,255,.75);cursor:pointer;display:block;transition:var(--transition);font-weight:500;white-space:nowrap;text-decoration:none;font-family:'General Sans',sans-serif}
#nav.nav-on-light .nav-links a{color:var(--navy)}
#nav.nav-on-light .nav-links a:hover{color:var(--ink);background:rgba(27,58,92,.12)}
#nav.nav-on-light .nav-links a.nav-active{color:#fff!important;background:var(--navy)!important;box-shadow:0 2px 10px rgba(27,58,92,.35)}
#nav.nav-on-light .hamburger span{background:var(--navy)}
#nav.nav-on-light .nav-dropdown-btn{color:var(--navy)}
#nav.nav-on-light .nav-dropdown-btn:hover,#nav.nav-on-light .nav-dropdown:hover .nav-dropdown-btn{color:var(--ink);background:rgba(27,58,92,.12)}
#nav.nav-on-light .nav-dropdown-btn.nav-active{color:#fff!important;background:var(--navy)!important;box-shadow:0 2px 10px rgba(27,58,92,.35)}
.nav-dropdown-item:hover{background:rgba(255,255,255,.12);color:#fff}
.nav-dropdown-item.nav-active{color:#fff!important;background:var(--silver)!important;font-weight:700}
#nav .nav-dropdown-btn.nav-dropdown-cta{padding:9px 20px;background:var(--silver);color:var(--ink);border-radius:50px;font-weight:700;font-size:.85rem;letter-spacing:.01em}
#nav .nav-dropdown-btn.nav-dropdown-cta:hover,#nav .nav-dropdown:hover .nav-dropdown-btn.nav-dropdown-cta{background:var(--silver-light);color:var(--ink);transform:translateY(-1px);box-shadow:0 4px 16px rgba(38,83,141,.35)}
#nav .nav-dropdown-btn.nav-dropdown-cta.nav-active{color:var(--ink)!important;background:var(--silver-light)!important}
.nav-dropdown-menu.nav-dropdown-menu-cta{left:auto;right:0;transform:translateY(-4px)}
.nav-dropdown:hover .nav-dropdown-menu.nav-dropdown-menu-cta{transform:translateY(0)}

/* ── LANGUAGE SWITCHER ─────────────────────────────────────────────── */
.nav-lang-btn{display:flex;align-items:center;gap:7px}
.nav-lang-flag{display:inline-block;width:20px;height:15px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.15);flex-shrink:0}
.nav-lang-item{display:flex!important;align-items:center;gap:9px}
.nav-lang-menu{min-width:150px}
.nav-lang-dropdown .nav-dropdown-menu{left:auto;right:0;transform:translateY(-4px)}
.nav-lang-dropdown:hover .nav-dropdown-menu{transform:translateY(0)}
.drawer-lang{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}
.drawer-lang-label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:10px}
.drawer-lang-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.drawer-lang-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.85);font-size:.85rem;font-weight:500;font-family:'General Sans',sans-serif;cursor:pointer;transition:var(--transition);text-align:left}
.drawer-lang-item:hover{background:rgba(255,255,255,.12)}
.drawer-lang-item.nav-active{background:rgba(38,83,141,.35);border-color:var(--silver);color:#fff;font-weight:700}
/* Hide Google Translate default chrome so only our custom UI shows */
body{top:0!important;position:static!important}
.goog-te-banner-frame.skiptranslate{display:none!important}
.goog-te-gadget{height:0;overflow:hidden;line-height:0}
.goog-tooltip,.goog-tooltip:hover{display:none!important}
.goog-text-highlight{background:none!important;box-shadow:none!important}
#goog-gt-tt,.goog-te-balloon-frame{display:none!important}
.goog-te-spinner-pos{display:none!important}
.qt-certs-link{text-align:center;margin-top:44px}

/* ── CAREERS PAGE ────────────────────────────────────────────────── */
.careers-hero{padding:120px 0;background:var(--off-white)}
.careers-banner{width:100%;overflow:hidden;background:#eceef1;margin-top:88px}
.careers-banner img{width:100%;height:auto;display:block}
.about-hero{padding:120px 0 0}
.certs-hero{padding:120px 0 60px}
.global-hero{padding:120px 0}
.contact-hero{padding:120px 0;position:relative;overflow:hidden;background:var(--off-white)}
.contact-hero::before{content:"";position:absolute;top:-180px;right:-140px;width:540px;height:540px;border-radius:50%;background:radial-gradient(circle,rgba(38,83,141,.16) 0%,rgba(38,83,141,0) 70%);pointer-events:none;z-index:0}
.contact-hero::after{content:"";position:absolute;bottom:-220px;left:-160px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(27,58,92,.12) 0%,rgba(27,58,92,0) 70%);pointer-events:none;z-index:0}
.contact-hero>.container{position:relative;z-index:1}
.about-page-body{padding:60px 0}
.about-mission-list{display:flex;flex-direction:column;gap:18px;max-width:760px;margin-top:36px}
/* ── GLOBAL REACH: FULL-BLEED IMMERSIVE GLOBE COMPOSITION ─────────────── */
.global-map-hero{padding:150px 0 90px}
.global-map-hero.global-dark{position:relative;padding:0;min-height:100dvh;height:100dvh;display:block;background:#05070d;color:#fff;overflow:hidden}
.global-globe-wrap{position:absolute;inset:0;width:100%;height:100%;margin:0}
.global-globe-viz{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;cursor:grab}
.global-globe-viz canvas{display:block!important;width:100%!important;height:100%!important}
.global-globe-viz:active{cursor:grabbing}
.globe-marker{position:relative;width:12px;height:12px;cursor:pointer;pointer-events:auto}
.globe-marker-dot{display:block;width:9px;height:9px;margin:1.5px;border-radius:50%;background:#5ba3d9;border:1.5px solid #fff;box-shadow:0 0 6px rgba(0,0,0,.6);transition:background .25s ease,box-shadow .25s ease}
.globe-marker:hover .globe-marker-dot{background:#ff6a3d}
.globe-marker.marker-active .globe-marker-dot{background:#ff6a3d;box-shadow:0 0 11px rgba(255,106,61,.95)}
.globe-marker-name{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:4px;white-space:nowrap;color:#fff;font-family:'General Sans',sans-serif;font-weight:700;font-size:12px;letter-spacing:.01em;text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 7px rgba(0,0,0,.75);pointer-events:none;display:none}
.globe-marker.marker-active .globe-marker-name{display:block}
.globe-hub{position:relative;width:38px;height:38px;pointer-events:auto;cursor:pointer;display:flex;align-items:center;justify-content:center}
.globe-hub::before{content:"";position:absolute;top:50%;left:50%;width:150%;height:150%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.55) 0%,rgba(255,255,255,.22) 42%,rgba(255,255,255,0) 70%);pointer-events:none}
.globe-hub-img{position:relative;width:38px;height:38px;object-fit:contain;display:block;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}
.global-globe-viz::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,rgba(5,7,13,0) 45%,rgba(5,7,13,.55) 100%)}

.global-dark-container{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:110px 0 26px;pointer-events:none}
.global-dark-container>*{pointer-events:auto}
.global-dark-head{max-width:440px;width:fit-content;align-self:flex-start;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:rgba(5,7,13,.42);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:22px 26px}
.global-dark-head .section-tag{color:rgba(255,255,255,.7);border-color:rgba(255,255,255,.25)}
.global-map-hero-title{font-family:'General Sans',sans-serif;font-size:clamp(1.5rem,3vw,2.3rem);font-weight:800;line-height:1.16;color:#fff;letter-spacing:-.01em}
.global-map-hero-sub{font-size:.9rem;color:rgba(255,255,255,.65);max-width:480px;line-height:1.6}

.global-dark-stage{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;width:100%}
.global-dark-stats{display:flex;flex-direction:row;gap:22px;min-width:170px;background:rgba(5,7,13,.42);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:18px 22px;flex-wrap:wrap}
.global-dark-stat{border-left:2px solid rgba(255,255,255,.28);padding-left:14px}
.gds-num{font-size:1.5rem;font-weight:800;color:#fff;line-height:1}
.gds-num span{font-size:.95rem;font-weight:700;opacity:.65}
.gds-label{font-size:.64rem;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}
.global-dark-cta{margin-top:14px;align-self:flex-start}

.global-globe-active{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);background:rgba(255,255,255,.95);border-radius:20px;padding:6px 16px;font-size:.76rem;font-weight:600;color:var(--heading-navy);box-shadow:var(--shadow-md);white-space:nowrap;z-index:3}
.global-globe-active span{color:var(--gray-600);font-weight:500;margin-right:5px}

.global-country-list{width:100%;max-width:280px;background:rgba(5,7,13,.42);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:18px 20px}
.global-country-list-title{font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:12px}
.global-country-chip-grid{display:flex;flex-wrap:wrap;gap:7px;max-height:220px;overflow-y:auto}
.global-country-chip{padding:6px 12px;border-radius:20px;border:1.5px solid rgba(255,255,255,.22);background:transparent;font-size:.72rem;font-weight:600;color:rgba(255,255,255,.75);cursor:pointer;transition:var(--transition);font-family:'General Sans',sans-serif}
.global-country-chip:hover{border-color:#fff;color:#fff}
.global-country-chip.active{background:#fff;border-color:#fff;color:#05070d}
/* IMPORTANT */
.global-country-list {
    margin-left: auto;
    flex-shrink: 0;
}

@media(max-width:900px){.global-dark-stage{flex-direction:column;align-items:stretch}.global-dark-stats{order:1}.global-country-list{order:2;max-width:100%}}
@media(max-width:760px){.global-map-hero.global-dark{min-height:100dvh;height:auto}.global-dark-container{padding:100px 16px 20px;gap:16px}.global-dark-head{padding:16px 18px}.global-dark-stats{padding:14px 16px;gap:14px}.global-dark-stat{padding-left:10px}.global-country-list{padding:14px 16px}}
.industries-list{display:flex;flex-direction:column}
.industry-row{display:grid;grid-template-columns:64px 1fr;gap:24px;padding:30px 0;border-bottom:1px solid var(--gray-200)}
.industry-row:last-child{border-bottom:none}
.industry-row-num{font-family:'General Sans',sans-serif;font-weight:800;font-size:1.5rem;color:var(--gray-400)}
.industry-row-body h3{font-size:1.15rem;font-weight:700;color:var(--heading-navy);margin-bottom:8px}
.industry-row-body p{font-size:.9rem;color:var(--gray-600);line-height:1.65;margin-bottom:14px;max-width:760px}
@media(max-width:560px){.industry-row{grid-template-columns:1fr;gap:8px}}
.about-cta{background:var(--navy-mid);color:#fff;text-align:center;padding:64px 0}
.about-cta h2{font-size:1.6rem;font-weight:800;letter-spacing:.01em}
.about-cta p{margin-top:10px;color:rgba(255,255,255,.6)}
.about-cta .btn{margin-top:26px}
.careers-hero .section-sub{max-width:900px}
.careers-intro{max-width:900px;margin:0 0 48px;text-align:left;color:#3d5a80;font-size:.6875rem;line-height:1.6}
.careers-intro em{font-style:italic}
.careers-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:880px;margin:0 auto}
.career-card{background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius);padding:26px 28px;transition:var(--transition)}
.career-card:hover{border-color:var(--navy);box-shadow:var(--shadow-sm);transform:translateY(-3px)}
.career-card h3{font-size:1.05rem;font-weight:700;color:var(--heading-navy);margin-bottom:8px}
.career-card p{font-size:.85rem;color:var(--gray-600);line-height:1.55}
.careers-cta{max-width:880px;margin:36px auto 0;background:var(--navy);color:var(--white);border-radius:var(--radius);padding:40px;text-align:center}
.careers-cta h3{font-size:1.3rem;font-weight:700;margin-bottom:10px;color:var(--white)}
.careers-cta p{font-size:.9rem;color:rgba(255,255,255,.75);margin-bottom:22px}
@media(max-width:720px){.careers-grid{grid-template-columns:1fr}}

/* ── INDUSTRY FLIP CARDS ────────────────────────────────────────────── */
.industry-flip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.industry-flip-card{aspect-ratio:3/4;perspective:1600px;cursor:pointer}
.industry-flip-card:focus{outline:none}
.industry-flip-card:focus-visible .industry-flip-inner{box-shadow:0 0 0 3px var(--silver)}
.industry-flip-inner{position:relative;width:100%;height:100%;border-radius:var(--radius);transition:transform .7s cubic-bezier(.4,.2,.2,1);transform-style:preserve-3d;box-shadow:var(--shadow-md)}
.industry-flip-card.flipped .industry-flip-inner{transform:rotateY(180deg)}
.industry-flip-front,.industry-flip-back{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:var(--radius);overflow:hidden}
.industry-flip-front{background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:space-between}
.industry-flip-hint{position:absolute;top:14px;right:16px;z-index:2;font-size:.65rem;font-weight:700;letter-spacing:.02em;color:#fff;background:rgba(15,34,54,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.28);border-radius:20px;padding:5px 10px;display:inline-flex;align-items:center;gap:4px;animation:industryHintPulse 2.2s ease-in-out infinite}
@keyframes industryHintPulse{0%,100%{opacity:1}50%{opacity:.5}}
.industry-flip-front::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,34,54,.15) 0%,rgba(15,34,54,.05) 40%,rgba(15,34,54,.92) 100%)}
.industry-flip-num{position:relative;font-family:'General Sans',sans-serif;font-weight:800;font-size:3.2rem;color:rgba(255,255,255,.85);padding:18px 0 0 20px;letter-spacing:-.02em}
.industry-flip-front-bottom{position:relative;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;color:var(--white);font-weight:600;font-size:calc(.95rem + 3pt)}
.industry-flip-arrow{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;transition:var(--transition)}
.industry-flip-card:hover .industry-flip-arrow{background:var(--silver)}
.industry-flip-back{background:var(--heading-navy);color:var(--white);transform:rotateY(180deg);padding:26px 24px;display:flex;flex-direction:column;overflow-y:auto}
.industry-flip-back .section-tag{color:var(--silver-light)}
.industry-flip-back h3{color:var(--white);font-size:1.25rem;font-weight:700;margin:6px 0 12px}
.industry-flip-back p{font-size:.85rem;line-height:1.6;color:rgba(255,255,255,.78);margin-bottom:16px}
.industry-flip-back .prod-app-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:rgba(255,255,255,.55);margin-bottom:8px;display:block}
.industry-flip-back .prod-app-tags span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:var(--white)}
.industry-flip-back .industry-flip-close{margin-top:auto;align-self:flex-start;font-size:.78rem;font-weight:700;color:var(--silver-light);display:flex;align-items:center;gap:6px;padding-top:14px}
@media(max-width:900px){.industry-flip-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.industry-flip-grid{grid-template-columns:1fr}.industry-flip-card{aspect-ratio:4/3}}


/* =========================================================
   RATNATECH BLOG DETAIL PAGE
   60% article + 40% related-blog sidebar
========================================================= */

.rt-blog-detail-page {
    padding-top: 116px;
    background: #ffffff;
    color: #0f2236;
}

.rt-blog-detail-page *,
.rt-blog-detail-page *::before,
.rt-blog-detail-page *::after {
    box-sizing: border-box;
}

/* PAGE BANNER */
.rt-blog-detail-banner {
    position: relative;
    overflow: hidden;
    padding: 82px 0 88px;
    background:
        linear-gradient(115deg, rgba(7, 18, 33, 0.98), rgba(27, 70, 111, 0.94)),
        #0c2035;
    color: #ffffff;
}

.rt-blog-detail-banner-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.08;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255,255,255,.55) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.55) 1px, transparent 1px);
    background-size: 54px 54px;
}

.rt-blog-detail-banner::before,
.rt-blog-detail-banner::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
}

.rt-blog-detail-banner::before {
    width: 470px;
    height: 470px;
    right: -130px;
    top: -235px;
}

.rt-blog-detail-banner::after {
    width: 300px;
    height: 300px;
    right: 190px;
    bottom: -220px;
}

.rt-blog-detail-banner-inner {
    position: relative;
    z-index: 2;
}

.rt-detail-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 34px;
    color: rgba(255,255,255,.62);
    font-size: 13px;
}

.rt-detail-breadcrumb a {
    color: #ffffff;
}

.rt-detail-banner-tag {
    display: inline-flex;
    margin-bottom: 17px;
    padding: 8px 13px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 50px;
    background: rgba(255,255,255,.08);
    color: #dce8f7;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.rt-blog-detail-banner h1 {
    max-width: 930px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(38px, 5vw, 68px);
    font-weight: 820;
    line-height: 1.08;
    letter-spacing: -.045em;
}

.rt-detail-banner-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 25px;
    color: rgba(255,255,255,.68);
    font-size: 13px;
    font-weight: 500;
}

.rt-detail-meta-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #7894b8;
}

/* 60 / 40 LAYOUT */
.rt-blog-detail-section {
    padding: 90px 0 110px;
    background:
        radial-gradient(circle at 100% 0%, rgba(38,83,141,.055), transparent 25%),
        #ffffff;
}

.rt-blog-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(330px, 2fr);
    align-items: start;
    gap: clamp(34px, 5vw, 72px);
}

/* CURRENT BLOG */
.rt-blog-article {
    min-width: 0;
}

.rt-blog-main-image,
.rt-blog-inline-image {
    overflow: hidden;
    margin: 0;
    border-radius: 20px;
    background: #eef2f6;
    box-shadow: 0 18px 45px rgba(15, 34, 54, .12);
}

.rt-blog-main-image {
    margin-bottom: 38px;
}

.rt-blog-main-image img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.rt-blog-intro {
    margin-bottom: 34px;
    padding-left: 24px;
    border-left: 4px solid #26538d;
    color: #334a61;
    font-size: 20px;
    font-weight: 520;
    line-height: 1.72;
}

.rt-blog-article h2 {
    margin: 44px 0 15px;
    color: #0f2236;
    font-size: clamp(26px, 3vw, 36px);
    line-height: 1.18;
    letter-spacing: -.03em;
}

.rt-blog-article p {
    margin: 0 0 19px;
    color: #586b7e;
    font-size: 16px;
    line-height: 1.85;
}

.rt-blog-highlight {
    margin: 32px 0;
    padding: 24px 26px;
    border: 1px solid #d8e3ef;
    border-radius: 15px;
    background: linear-gradient(135deg, #f5f9fd, #edf4fb);
    color: #3c5268;
    font-size: 15px;
    line-height: 1.7;
}

.rt-blog-highlight strong {
    color: #173b63;
}

.rt-grade-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 26px 0 12px;
}

.rt-grade-item {
    padding: 22px;
    border: 1px solid #e0e7ef;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 7px 22px rgba(15,34,54,.055);
}

.rt-grade-item span {
    display: block;
    margin-bottom: 9px;
    color: #26538d;
    font-size: 16px;
    font-weight: 800;
}

.rt-grade-item p {
    margin: 0;
    font-size: 14px;
    line-height: 1.67;
}

.rt-blog-inline-image {
    margin: 38px 0;
}

.rt-blog-inline-image img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 8.2;
    object-fit: cover;
}

.rt-blog-inline-image figcaption {
    padding: 15px 18px;
    background: #f5f8fb;
    color: #6a7c8e;
    font-size: 12px;
    line-height: 1.55;
}

.rt-blog-checklist {
    display: grid;
    gap: 12px;
    margin: 24px 0 35px;
    padding: 0;
    list-style: none;
}

.rt-blog-checklist li {
    position: relative;
    padding: 16px 18px 16px 50px;
    border: 1px solid #e2e8ef;
    border-radius: 12px;
    background: #fbfcfd;
    color: #4f6377;
    font-size: 15px;
    line-height: 1.65;
}

.rt-blog-checklist li::before {
    content: "✓";
    position: absolute;
    top: 15px;
    left: 17px;
    display: grid;
    width: 23px;
    height: 23px;
    place-items: center;
    border-radius: 50%;
    background: #26538d;
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
}

.rt-blog-conclusion {
    margin-top: 38px;
    padding: 29px;
    border-radius: 17px;
    background: linear-gradient(125deg, #15395f, #286093);
    color: #ffffff;
}

.rt-blog-conclusion > span {
    display: block;
    margin-bottom: 10px;
    color: #bdd2e8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.rt-blog-conclusion p {
    margin: 0;
    color: rgba(255,255,255,.82);
    font-size: 15px;
}

.rt-blog-article-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 34px;
    padding-top: 28px;
    border-top: 1px solid #e0e7ef;
}

.rt-article-footer-label {
    display: block;
    margin-bottom: 5px;
    color: #8795a5;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.rt-blog-article-footer > div a {
    color: #26538d;
    font-size: 14px;
    font-weight: 750;
}

.rt-article-enquiry-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 20px;
    border-radius: 50px;
    background: #26538d;
    color: #ffffff;
    font-size: 13px;
    font-weight: 750;
    transition: transform .25s ease, box-shadow .25s ease;
}

.rt-article-enquiry-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 11px 24px rgba(38,83,141,.28);
}

/* RELATED BLOG SIDEBAR */
.rt-related-sidebar {
    min-width: 0;
}

.rt-related-sticky {
    position: sticky;
    top: 145px;
}

.rt-related-heading {
    margin-bottom: 24px;
}

.rt-related-heading > span {
    display: block;
    margin-bottom: 8px;
    color: #26538d;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.rt-related-heading h2 {
    margin: 0;
    color: #0f2236;
    font-size: 32px;
    letter-spacing: -.03em;
}

.rt-related-heading p {
    margin: 10px 0 0;
    color: #6a7c8e;
    font-size: 14px;
    line-height: 1.65;
}

.rt-related-list {
    display: grid;
    gap: 20px;
}

.rt-related-card {
    display: grid;
    grid-template-columns: 142px minmax(0, 1fr);
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e0e7ef;
    border-radius: 15px;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(15,34,54,.06);
    transition:
        transform .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}

.rt-related-card:hover {
    transform: translateY(-5px);
    border-color: rgba(38,83,141,.4);
    box-shadow: 0 18px 35px rgba(15,34,54,.12);
}

.rt-related-image {
    position: relative;
    min-height: 130px;
    overflow: hidden;
}

.rt-related-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(7,22,38,.58), transparent 65%);
}

.rt-related-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

.rt-related-card:hover .rt-related-image img {
    transform: scale(1.07);
}

.rt-related-image > span {
    position: absolute;
    z-index: 2;
    left: 10px;
    bottom: 10px;
    padding: 6px 8px;
    border-radius: 40px;
    background: rgba(5,19,33,.65);
    color: #ffffff;
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.rt-related-content {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 17px 16px;
}

.rt-related-content time {
    color: #7d8c9b;
    font-size: 11px;
    font-weight: 600;
}

.rt-related-content h3 {
    margin: 9px 0 14px;
    color: #12283e;
    font-size: 16px;
    line-height: 1.38;
    letter-spacing: -.015em;
}

.rt-related-link {
    display: flex;
    align-items: center;
    gap: 7px;
    /* margin-top: auto; */
    color: #26538d;
    font-size: 12px;
    font-weight: 750;
}

.rt-related-link span {
    transition: transform .25s ease;
}

.rt-related-card:hover .rt-related-link span {
    transform: rotate(45deg);
}

.rt-view-all-blogs {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 22px;
    width:150px;
    padding: 15px 18px;
    border: 1px solid #cfdbe7;
    border-radius: 50px;
    color: #173b63;
    font-size: 13px;
    font-weight: 750;
    transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.rt-view-all-blogs:hover {
    border-color: #26538d;
    background: #26538d;
    color: #ffffff;
}

/* BOTTOM CTA */
.rt-detail-cta {
    padding: 68px 0;
    background: linear-gradient(105deg, #173c64, #295f92);
    color: #ffffff;
}

.rt-detail-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 34px;
}

.rt-detail-cta-inner > div > span {
    color: rgba(255,255,255,.66);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.rt-detail-cta h2 {
    max-width: 760px;
    margin: 9px 0 0;
    color: #ffffff;
    font-size: clamp(27px, 4vw, 43px);
    line-height: 1.14;
    letter-spacing: -.03em;
}

.rt-detail-cta-inner > a {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 11px;
    padding: 15px 23px;
    border-radius: 50px;
    background: #ffffff;
    color: #10253b;
    font-size: 13px;
    font-weight: 780;
    box-shadow: 0 12px 25px rgba(0,0,0,.16);
}

/* RESPONSIVE */
@media (max-width: 1199px) {
    .rt-blog-detail-layout {
        grid-template-columns: minmax(0, 1.55fr) minmax(310px, 1fr);
        gap: 40px;
    }

    .rt-related-card {
        grid-template-columns: 120px minmax(0, 1fr);
    }
}

@media (max-width: 991px) {
    .rt-blog-detail-page {
        padding-top: 92px;
    }

    .rt-blog-detail-banner {
        padding: 68px 0 72px;
    }

    .rt-blog-detail-section {
        padding: 70px 0 85px;
    }

    .rt-blog-detail-layout {
        grid-template-columns: 1fr;
    }

    .rt-related-sticky {
        position: static;
    }

    .rt-related-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .rt-related-card {
        display: flex;
        flex-direction: column;
    }

    .rt-related-image {
        min-height: 180px;
    }

    .rt-detail-cta-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 767px) {
    .rt-blog-detail-page {
        padding-top: 78px;
    }

    .rt-blog-detail-banner {
        padding: 52px 0 58px;
    }

    .rt-blog-detail-section {
        padding: 54px 0 68px;
    }

    .rt-blog-intro {
        padding-left: 18px;
        font-size: 17px;
    }

    .rt-grade-grid {
        grid-template-columns: 1fr;
    }

    .rt-related-list {
        grid-template-columns: 1fr;
    }

    .rt-related-card {
        display: grid;
        grid-template-columns: 125px minmax(0, 1fr);
    }

    .rt-related-image {
        min-height: 155px;
    }

    .rt-blog-article-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .rt-detail-cta {
        padding: 50px 0;
    }
}

.nav-products-menu {
    min-width: 320px;
}

.nav-products-menu .nav-dropdown-item {
    white-space: normal;
    line-height: 1.4;
    font-size:12px;
}

.nav-quality-menu {
    min-width: 200px;
}

.nav-quality-menu .nav-dropdown-item {
    white-space: normal;
    line-height: 1.4;
    font-size:12px;
}



/* QUALITY page prose blocks */
.q-lede{font-size:1.05rem;line-height:1.9;color:rgba(255,255,255,.72);max-width:900px;margin:0 auto 56px;text-align:center}
.q-section-head{margin:56px 0 26px;max-width:820px}
.q-section-head .section-title{color:#fff;margin-bottom:10px}
.q-section-head p{font-size:.95rem;line-height:1.7;color:rgba(255,255,255,.6);margin:0}
.q-prose{margin:64px 0 0;max-width:880px}
.q-prose .section-title{color:#fff;margin-bottom:14px}
.q-prose p{font-size:.97rem;line-height:1.85;color:rgba(255,255,255,.66);margin:0 0 14px}
.q-prose p:last-child{margin-bottom:0}

/* CERTIFICATES page */
.cert-group-head .qcat-label{color:var(--silver)}
.cert-group-head .qcat-line{flex:1;height:1px;background:linear-gradient(90deg,rgba(38,83,141,.45),rgba(27,58,92,.06))}
.cert-group-head{display:flex;align-items:center;gap:16px;margin:48px 0 20px}
.cert-group-head .qcat-label{white-space:nowrap}
.cert-note{font-size:.92rem;line-height:1.7;color:var(--gray-600);max-width:680px;margin:26px 0 0}
.q-prose-light{margin:60px 0 0;max-width:880px}
.q-prose-light .section-title{margin-bottom:14px}
.q-prose-light p{font-size:.97rem;line-height:1.85;color:var(--gray-600);margin:0}

/* ===== INDUSTRY NEWS ===== */
.news-hero{padding:120px 0 64px;background:var(--navy);position:relative;overflow:hidden}
.news-hero::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:52px 52px;pointer-events:none}
.news-hero .container{position:relative;z-index:1}
.news-hero .section-tag{color:var(--silver-light)}
.news-hero .section-title{color:#fff}
.news-hero .section-sub{color:rgba(255,255,255,.72);max-width:640px;margin-top:14px}
.news-live{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.66)}
.news-live-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;animation:newsPulse 2.4s infinite}
@keyframes newsPulse{0%{box-shadow:0 0 0 0 rgba(74,222,128,.6)}70%{box-shadow:0 0 0 9px rgba(74,222,128,0)}100%{box-shadow:0 0 0 0 rgba(74,222,128,0)}}
.news-body{padding:64px 0 96px;background:#fff}
.news-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--gray-200);margin-bottom:8px}
.news-head h2{font-family:'General Sans',sans-serif;font-size:1.3rem;font-weight:700;color:var(--heading-navy);letter-spacing:-.01em;margin:0}
.news-head-meta{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-400)}
.news-list{max-width:1040px;margin:0 auto}


/* =========================================================
   RATNATECH - MOBILE RESPONSIVE OVERRIDES
   IMPORTANT:
   This block only overrides mobile/tablet behaviour.
   Existing desktop CSS remains unchanged.
========================================================= */


/* ---------------------------------------------------------
   GLOBAL MOBILE FIXES
--------------------------------------------------------- */

@media (max-width: 767px) {

    html {
        font-size: 14px;
        overflow-x: hidden;
    }

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

    .container {
        width: 100%;
        max-width: 100%;
        padding-left: 18px;
        padding-right: 18px;
    }

    img {
        max-width: 100%;
        height: auto;
    }

    .section-title {
        font-size: clamp(1.65rem, 8vw, 2.2rem);
        line-height: 1.15;
    }

    .section-sub {
        font-size: .92rem;
        line-height: 1.65;
    }

    .section-tag {
        font-size: .68rem;
        margin-bottom: 9px;
    }

    .btn {
        padding: 12px 20px;
        font-size: .84rem;
    }

    /* Prevent long text from breaking layout */
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    a,
    span {
        overflow-wrap: break-word;
    }
}


/* ---------------------------------------------------------
   NAVIGATION
--------------------------------------------------------- */

@media (max-width: 767px) {

    #nav {
        width: 100%;
    }

    .nav-inner {
        height: 76px;
        padding-left: 18px;
        padding-right: 18px;
    }

    .nav-logo-img {
        width: 150px;
        height: 70px;
    }

    .hamburger {
        display: flex;
        width: 42px;
        height: 42px;
        align-items: center;
        justify-content: center;
    }

    .hamburger span {
        width: 25px;
    }

    #mobile-drawer {
        width: min(340px, 88vw);
        padding: 94px 22px 30px;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
    }

    #mobile-drawer a {
        font-size: .95rem;
        padding: 13px 0;
    }

    #mobile-drawer .drawer-cta {
        margin-top: 14px;
    }

    .drawer-lang {
        margin-top: 14px;
        padding-top: 14px;
    }

    .drawer-lang-grid {
        grid-template-columns: 1fr 1fr;
    }

    .drawer-lang-item {
        min-height: 42px;
    }
}


/* ---------------------------------------------------------
   HERO
--------------------------------------------------------- */

@media (max-width: 767px) {

    #hero {
        /*min-height: 100svh;*/
        height: 60vh !important;
    }

    .hero-slide {
        background-position: center center;
    }

    .hero-slide-content {
        align-items: center;
    }

    .hero-slide-content .container {
        padding-left: 18px;
        padding-right: 18px;
    }

    .s1-wrap {
        padding: 0 8px;
    }

    .s1-h1 {
        font-size: clamp(1.65rem, 8vw, 2.35rem);
        line-height: 1.18;
    }

    .s1-dividers {
        font-size: 1rem;
        line-height: 1.5;
        margin-top: 14px;
    }

    .s2-wrap {
        min-height: auto;
        padding: 0 10px;
    }

    .s2-tag {
        font-size: clamp(3rem, 19vw, 3.5rem) !important;
    }

    .s3-badge {
        font-size: .62rem;
        padding: 6px 13px;
        margin-bottom: 16px;
    }

    .s3-h1 {
        font-size: clamp(1.75rem, 8vw, 2rem) !important;
        line-height: 1.12;
        margin-bottom: 14px;
    }

    .s3-p {
        font-size: .78rem !important;
        line-height: 1.65;
        margin-bottom: 24px;
    }

    .hero-actions {
        justify-content: center;
        gap: 10px;
    }

    .hero-actions .btn {
        width: auto;
        min-height: 34px !important;
    }

    .slider-controls {
        bottom: 24px;
        gap: 10px;
    }

    .slider-arrow {
        width: 34px;
        height: 34px;
    }

    .slider-dots {
        gap: 7px;
    }

    .slider-dot {
        width: 7px;
        height: 7px;
    }

    .slider-dot.active {
        width: 24px;
    }

    .hero-scroll {
        display: none;
    }
}


/* ---------------------------------------------------------
   STATS
--------------------------------------------------------- */

@media (max-width: 767px) {

    #stats {
        padding: 30px 0;
    }

    .brand-quote {
        font-size: .92rem;
        line-height: 1.55;
        padding: 0 8px;
    }

    .brand-quote cite {
        font-size: .62rem;
        margin-top: 7px;
    }

    .stats-grid {
        grid-template-columns: 1fr;
        margin-top: 18px;
    }

    .stat-item {
        padding: 16px 10px;
    }

    .stat-item + .stat-item::before {
        left: 15%;
        right: 15%;
        top: 0;
        width: auto;
        height: 1px;
    }

    .stat-num {
        font-size: 2rem;
    }

    .stat-label {
        font-size: .68rem;
    }
}


/* ---------------------------------------------------------
   ABOUT
--------------------------------------------------------- */

@media (max-width: 767px) {

    #about {
        padding: 65px 0;
    }

    .about-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .about-img-card {
        aspect-ratio: 4 / 3;
        border-radius: 16px;
    }

    .about-badge {
        right: 10px;
        bottom: -16px;
        padding: 13px 15px;
        border-radius: 13px;
    }

    .about-badge-icon {
        width: 38px;
        height: 38px;
        font-size: 1rem;
    }

    .about-badge-text {
        font-size: .72rem;
    }

    .about-badge-sub {
        font-size: .62rem;
    }

    .about-list {
        margin-top: 22px;
        gap: 12px;
    }

    .about-list-item {
        gap: 10px;
    }

    .about-list-icon {
        width: 32px;
        height: 32px;
        font-size: .8rem;
    }

    .about-list-text {
        font-size: .84rem;
        line-height: 1.55;
    }
}


/* ---------------------------------------------------------
   MISSION CARDS
--------------------------------------------------------- */

@media (max-width: 767px) {

    .mission-eyebrow {
        font-size: .68rem;
        margin-bottom: 12px;
    }

    .mission-heading {
        font-size: 1.65rem;
        margin-bottom: 22px;
    }

    .mission-cards-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .mission-gcard,
    .mission-gcard:nth-child(4),
    .mission-gcard:nth-child(5) {
        grid-column: 1 / -1;
        min-height: 180px;
        padding: 20px;
    }

    .mission-gcard-title {
        font-size: .92rem;
    }

    .mission-gcard-body {
        font-size: .82rem;
    }
}


/* ---------------------------------------------------------
   MANUFACTURING PROCESS
--------------------------------------------------------- */

@media (max-width: 767px) {

    #process {
        padding: 65px 0;
    }

    .process-header {
        margin-bottom: 30px;
    }

    .process-progress {
        gap: 2px;
        margin-bottom: 26px;
        padding-bottom: 8px;

        /* Important: allow horizontal scrolling */
        overflow-x: auto;
        overflow-y: hidden;

        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .process-progress::-webkit-scrollbar {
        display: none;
    }

    .proc-step-btn {
        flex: 0 0 76px;
        min-width: 76px;
        padding: 7px 3px;
    }

    .proc-step-num {
        width: 31px;
        height: 31px;
        font-size: .7rem;
    }

    .proc-step-label {
        font-size: .58rem;
    }

    .proc-track-line {
        top: 24px;
    }

    .process-stage.active {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 24px 18px;
        border-radius: 15px;
    }

    .proc-stage-title {
        font-size: 1.35rem;
    }

    .proc-stage-desc {
        font-size: .84rem;
        line-height: 1.65;
    }

    .proc-nav-btns {
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px;
    }

    .proc-nav-btn {
        padding: 9px 16px;
        font-size: .76rem;
    }
}


/* ---------------------------------------------------------
   PRODUCTS
--------------------------------------------------------- */

@media (max-width: 767px) {

    #products {
        padding: 65px 0;
    }

    .products-header {
        display: block;
        margin-bottom: 26px;
    }

    .product-filters {
        gap: 7px;
        margin-bottom: 20px;
        margin-top: 10px;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 6px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .product-filters::-webkit-scrollbar {
        display: none;
    }

    .pf-btn {
        flex: 0 0 auto;
        padding: 8px 14px;
        font-size: .72rem;
    }

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

    .product-img-wrap {
        height: 205px;
    }

    .product-body {
        padding: 17px 18px 20px;
    }

    .product-body h3 {
        font-size: .98rem;
    }

    .product-body p {
        font-size: .8rem;
    }

    .product-specs {
        gap: 6px;
    }

    .product-specs li {
        font-size: .64rem;
        padding: 5px 9px;
    }

    .product-cta-card {
        padding: 25px 20px;
    }
}


/* ---------------------------------------------------------
   PRODUCT DETAIL
--------------------------------------------------------- */

@media (max-width: 767px) {

    .prod-detail {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .prod-detail.rev .prod-detail-img {
        order: 0;
    }

    .prod-detail-img {
        aspect-ratio: 7 / 5;
        border-radius: 13px;
    }

    .prod-detail-text h3 {
        font-size: 1.35rem;
    }

    .prod-detail-text > p {
        font-size: .85rem;
        line-height: 1.7;
    }

    .prod-spec-table {
        font-size: .76rem;
    }

    .prod-spec-table td {
        padding: 8px 0;
    }

    .prod-spec-table td:first-child {
        width: 105px;
        white-space: normal;
        padding-right: 10px;
    }

    .prod-app-tags {
        gap: 6px;
    }

    .prod-app-tags span {
        font-size: .65rem;
        padding: 5px 10px;
    }
}


/* ---------------------------------------------------------
   QUALITY
--------------------------------------------------------- */

@media (max-width: 767px) {

    .quality-banner {
        margin-top: 60px;
        aspect-ratio: 2 / 1;
    }

    .quality-hero {
        padding: 45px 0 55px;
    }

    .quality-body {
        padding-bottom: 65px;
    }

    .quality-stats {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 30px;
    }

    .qstat-item {
        padding: 20px;
    }

    .qstat-num {
        font-size: 2rem;
    }

    .qcat-head {
        gap: 10px;
        margin-bottom: 20px;
        padding-top: 40px;
    }

    .qcat-label {
        font-size: .66rem;
        white-space: normal;
    }

    .qt-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .qtest-card {
        padding: 20px 18px;
    }

    .qtest-icon {
        width: 48px;
        height: 48px;
        margin-bottom: 12px;
    }

    .qtest-icon svg {
        width: 22px;
        height: 22px;
    }

    .qtest-card h3 {
        font-size: .9rem;
    }

    .qtest-card p {
        font-size: .76rem;
    }

    .q-lede {
        font-size: .88rem;
        line-height: 1.7;
        margin-bottom: 35px;
    }

    .q-section-head {
        margin: 40px 0 20px;
    }

    .q-prose {
        margin-top: 40px;
    }

    .q-prose p,
    .q-prose-light p {
        font-size: .86rem;
        line-height: 1.75;
    }
}


/* ---------------------------------------------------------
   MANUFACTURING SHOWCASE / TICKER
--------------------------------------------------------- */

@media (max-width: 767px) {

    #mfg-showcase {
        padding: 60px 0;
    }

    .mfg-header {
        margin-bottom: 32px;
    }

    .ticker-wrap {
        -webkit-mask-image: none;
        mask-image: none;
    }

    .ticker-track {
        gap: 12px;
        animation-duration: 60s;
    }

    .ticker-item {
        width: 270px;
        height: 190px;
        border-radius: 12px;
    }

    .ticker-item-overlay {
        padding: 13px 15px;
    }

    .ticker-item-label {
        font-size: .62rem;
    }
}


/* ---------------------------------------------------------
   CERTIFICATES
--------------------------------------------------------- */

@media (max-width: 767px) {

    #certificates {
        padding: 65px 0;
    }

    .certs-inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .certs-feature {
        width: 100%;
    }

    .certs-gallery {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-top: 30px;
    }

    .cert-card-label {
        padding: 11px;
        font-size: .72rem;
    }

    .standards-heading {
        font-size: 1.3rem;
        margin: 50px 0 22px;
    }

    .standards-list {
        gap: 10px;
    }

    .std-item {
        padding: 15px 16px;
    }

    .std-item-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .std-item-head h3 {
        font-size: .85rem;
    }

    .std-org {
        font-size: .62rem;
    }

    .cert-lightbox-stage {
        max-width: 94vw;
        max-height: 75vh;
    }

    .cert-lightbox-stage img {
        max-width: 94vw;
        max-height: 75vh;
    }
}


/* ---------------------------------------------------------
   GLOBAL REACH
--------------------------------------------------------- */

@media (max-width: 767px) {

    #global {
        padding: 65px 0;
    }

    .global-stats {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 30px;
    }

    .gs-card {
        padding: 22px;
    }

    .gs-num {
        font-size: 2rem;
    }

    .global-map-hero.global-dark {
        min-height: 100svh;
        height: auto;
    }

    .global-dark-container {
        padding: 92px 18px 20px;
        gap: 14px;
    }

    .global-dark-head {
        width: 100%;
        max-width: 100%;
        padding: 16px;
        border-radius: 14px;
    }

    .global-map-hero-title {
        font-size: 1.4rem;
    }

    .global-map-hero-sub {
        font-size: .8rem;
    }

    .global-dark-stage {
        gap: 14px;
    }

    .global-dark-stats {
        width: 100%;
        min-width: 0;
        padding: 13px 14px;
        gap: 10px;
    }

    .global-dark-stat {
        flex: 1 1 80px;
        padding-left: 9px;
    }

    .gds-num {
        font-size: 1.25rem;
    }

    .gds-label {
        font-size: .56rem;
    }

    .global-country-list {
        width: 100%;
        max-width: none;
        padding: 14px;
    }

    .global-country-chip-grid {
        max-height: 180px;
    }

    .global-country-chip {
        font-size: .64rem;
        padding: 5px 9px;
    }

    .global-globe-active {
        max-width: calc(100% - 36px);
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: .68rem;
        padding: 6px 12px;
    }
}


/* ---------------------------------------------------------
   INDUSTRIES
--------------------------------------------------------- */

@media (max-width: 767px) {

    .industry-row {
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 22px 0;
    }

    .industry-row-num {
        font-size: 1.2rem;
    }

    .industry-row-body h3 {
        font-size: 1rem;
    }

    .industry-row-body p {
        font-size: .82rem;
        line-height: 1.6;
    }

    .industry-flip-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .industry-flip-card {
        aspect-ratio: 4 / 3;
    }

    .industry-flip-front-bottom {
        padding: 13px 15px;
        font-size: .9rem;
    }

    .industry-flip-num {
        font-size: 2.5rem;
    }

    .industry-flip-back {
        padding: 20px 18px;
    }

    .industry-flip-back h3 {
        font-size: 1.1rem;
    }

    .industry-flip-back p {
        font-size: .78rem;
    }
}


/* ---------------------------------------------------------
   CAREERS
--------------------------------------------------------- */

@media (max-width: 767px) {

    .careers-hero {
        padding: 85px 0 60px;
    }

    .careers-banner {
        margin-top: 65px;
    }

    .careers-intro {
        font-size: .78rem;
        line-height: 1.65;
        margin-bottom: 30px;
    }

    .careers-grid {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    .career-card {
        padding: 20px;
    }

    .career-card h3 {
        font-size: .95rem;
    }

    .career-card p {
        font-size: .8rem;
    }

    .careers-cta {
        margin-top: 25px;
        padding: 28px 20px;
    }

    .careers-cta h3 {
        font-size: 1.1rem;
    }

    .careers-cta p {
        font-size: .8rem;
    }
}


/* ---------------------------------------------------------
   CONTACT / REQUEST QUOTE
--------------------------------------------------------- */

@media (max-width: 767px) {

    #contact {
        padding: 65px 0;
    }

    .contact-grid,
    .contact-layout {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .contact-info {
        padding: 24px 20px;
        border-radius: 15px;
    }

    .contact-form {
        padding: 22px 18px;
        border-radius: 15px;
    }

    .form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .fl-group {
        margin-bottom: 17px;
    }

    .fl-group input,
    .fl-group textarea,
    .fl-group select {
        min-height: 52px;
        padding: 17px 14px 7px;
        font-size: .82rem;
        margin-bottom:10px;
    }

    .fl-group textarea {
        min-height: 120px;
    }

    .contact-detail {
        gap: 10px;
        margin-bottom: 16px;
    }

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

    .contact-detail-text {
        font-size: .8rem;
    }

    .contact-single-frame {
        padding: 20px 16px;
        border-radius: 16px;
        margin-top: 30px;
    }

    .contact-single-frame .contact-layout {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .contact-single-frame .contact-info {
        grid-template-columns: 1fr;
        padding: 20px 0 0;
        margin-top: 20px;
    }

    .contact-single-frame .contact-map-col .contact-map-wrap iframe {
        min-height: 280px;
        height: 280px;
    }

    #page-contact .contact-hero {
        min-height: 0;
        padding: 95px 0 45px;
    }

    #page-contact .contact-single-frame {
        padding: 20px 16px;
    }

    #page-contact .contact-form {
        grid-template-columns: 1fr;
        gap: 0;
    }

    #page-contact .contact-form .fl-group.fl-textarea,
    #page-contact .contact-form .form-submit,
    #page-contact .contact-form #form-status {
        grid-column: 1;
    }

    #page-contact .contact-single-frame .contact-info {
        grid-template-columns: 1fr;
    }

    .social-row,
    .ci-socials {
        flex-wrap: wrap;
    }

    .form-submit {
        min-height: 48px;
    }
}


/* ---------------------------------------------------------
   BLOG DETAIL
--------------------------------------------------------- */

@media (max-width: 767px) {

    .rt-blog-detail-page {
        padding-top: 76px;
    }

    .rt-blog-detail-banner {
        padding: 42px 0 48px;
    }

    .rt-detail-breadcrumb {
        gap: 6px;
        margin-bottom: 24px;
        font-size: 11px;
    }

    .rt-detail-banner-tag {
        font-size: 9px;
        padding: 6px 10px;
        margin-bottom: 13px;
    }

    .rt-blog-detail-banner h1 {
        font-size: clamp(27px, 8vw, 40px);
        line-height: 1.1;
        letter-spacing: -.035em;
    }

    .rt-detail-banner-meta {
        gap: 7px;
        margin-top: 18px;
        font-size: 11px;
    }

    .rt-blog-detail-section {
        padding: 42px 0 58px;
    }

    .rt-blog-detail-layout {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .rt-blog-main-image {
        margin-bottom: 25px;
        border-radius: 13px;
    }

    .rt-blog-main-image img {
        aspect-ratio: 16 / 10;
    }

    .rt-blog-intro {
        margin-bottom: 25px;
        padding-left: 14px;
        border-left-width: 3px;
        font-size: 16px;
        line-height: 1.65;
    }

    .rt-blog-article h2 {
        margin: 34px 0 12px;
        font-size: 1.45rem;
    }

    .rt-blog-article p {
        font-size: .9rem;
        line-height: 1.75;
        margin-bottom: 16px;
    }

    .rt-blog-highlight {
        margin: 25px 0;
        padding: 18px;
        font-size: .82rem;
        line-height: 1.65;
    }

    .rt-grade-grid {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 20px;
    }

    .rt-grade-item {
        padding: 17px;
    }

    .rt-grade-item span {
        font-size: .88rem;
    }

    .rt-grade-item p {
        font-size: .78rem;
    }

    .rt-blog-inline-image {
        margin: 28px 0;
        border-radius: 13px;
    }

    .rt-blog-inline-image img {
        aspect-ratio: 16 / 10;
    }

    .rt-blog-inline-image figcaption {
        padding: 11px 13px;
        font-size: 10px;
    }

    .rt-blog-checklist {
        gap: 9px;
        margin: 20px 0 28px;
    }

    .rt-blog-checklist li {
        padding: 13px 14px 13px 43px;
        font-size: .8rem;
    }

    .rt-blog-checklist li::before {
        left: 13px;
        top: 13px;
        width: 21px;
        height: 21px;
    }

    .rt-blog-conclusion {
        margin-top: 28px;
        padding: 21px 18px;
    }

    .rt-blog-conclusion p {
        font-size: .8rem;
        line-height: 1.65;
    }

    .rt-blog-article-footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
        margin-top: 25px;
        padding-top: 22px;
    }

    .rt-article-enquiry-btn {
        width: 100%;
        justify-content: center;
    }

    .rt-related-sticky {
        position: static;
    }

    .rt-related-heading h2 {
        font-size: 1.5rem;
    }

    .rt-related-heading p {
        font-size: .8rem;
    }

    .rt-related-list {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    .rt-related-card {
        grid-template-columns: 110px minmax(0, 1fr);
    }

    .rt-related-image {
        min-height: 105px;
    }

    .rt-related-content {
        padding: 13px;
    }

    .rt-related-content h3 {
        font-size: .82rem;
        margin: 6px 0 10px;
    }

    .rt-related-link {
        font-size: .68rem;
    }

    .rt-view-all-blogs {
        width: 145px;
        padding: 12px 15px;
        font-size: .72rem;
    }

    .rt-detail-cta {
        padding: 45px 0;
    }

    .rt-detail-cta-inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 22px;
    }

    .rt-detail-cta h2 {
        font-size: 1.55rem;
    }

    .rt-detail-cta-inner > a {
        width: 100%;
        justify-content: center;
    }
}


/* ---------------------------------------------------------
   FOOTER
--------------------------------------------------------- */

@media (max-width: 767px) {

    #site-footer {
        padding-top: 38px;
    }

    #site-footer .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 28px;
        text-align: center;
        padding-bottom: 26px;
    }

    .footer-brand {
        align-items: center;
        padding-left: 0;
    }

    .footer-logo-img {
        height: 48px;
    }

    .footer-col {
        align-items: center;
        gap: 7px;
    }

    .footer-col h4 {
        font-size: .78rem;
        margin-bottom: 5px;
    }

    .footer-col a,
    .footer-col span,
    .footer-address p {
        font-size: .75rem;
    }

    .footer-socials {
        justify-content: center;
    }

    .footer-bottom {
        padding: 14px 18px;
        font-size: .7rem;
        gap: 6px;
    }
}


/* ---------------------------------------------------------
   VERY SMALL PHONES
   320px - 374px
--------------------------------------------------------- */

@media (max-width: 374px) {

    .container {
        padding-left: 14px;
        padding-right: 14px;
    }

    .nav-inner {
        padding-left: 14px;
        padding-right: 14px;
    }

    .nav-logo-img {
        width: 135px;
    }

    #mobile-drawer {
        width: 88vw;
        padding-left: 18px;
        padding-right: 18px;
    }

    .s1-h1 {
        font-size: 1.55rem;
    }

    .s3-h1 {
        font-size: 1.6rem;
    }

    .hero-actions {
        flex-direction: column;
        width: 100%;
        align-items: center;
    }

    .hero-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .product-img-wrap {
        height: 180px;
    }

    .contact-form {
        padding: 18px 14px;
    }
}


/* ---------------------------------------------------------
   TABLET
--------------------------------------------------------- */

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

    .container {
        padding-left: 28px;
        padding-right: 28px;
    }

    .nav-inner {
        height: 86px;
    }

    .nav-logo-img {
        width: 170px;
        height: 86px;
    }

    .about-grid {
        gap: 40px;
    }

    .mission-cards-grid {
        gap: 14px;
    }

    .product-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .prod-detail {
        gap: 35px;
    }

    .industry-flip-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .contact-grid {
        gap: 40px;
    }

    .footer-grid {
        gap: 28px;
    }
}


/* ---------------------------------------------------------
   MOBILE TOUCH / INTERACTION IMPROVEMENTS
--------------------------------------------------------- */

@media (max-width: 767px) {

    button,
    .btn,
    a,
    .pf-btn,
    .proc-step-btn,
    .industry-flip-card,
    .std-item,
    .cert-card {
        -webkit-tap-highlight-color: transparent;
    }

    button,
    .btn,
    .pf-btn,
    .proc-step-btn {
        touch-action: manipulation;
    }

    .industry-flip-card {
        touch-action: manipulation;
    }

    /* Remove hover transforms on touch devices */
    .product-card:hover,
    .cert-card:hover,
    .career-card:hover,
    .std-item:hover,
    .rt-related-card:hover {
        transform: none;
    }
}


/* ---------------------------------------------------------
   FINAL OVERFLOW PROTECTION
--------------------------------------------------------- */

@media (max-width: 767px) {

    .page,
    section,
    header,
    footer,
    main {
        max-width: 100%;
        overflow-x: hidden;
    }

    .row,
    .grid {
        max-width: 100%;
    }

    table {
        max-width: 100%;
    }

    pre,
    code {
        max-width: 100%;
        overflow-x: auto;
    }
}

@media (max-width: 767px) {

    .footer-grid {
        text-align: left;
    }

    .footer-col {
        align-items: flex-start;
    }

    .footer-col h4 {
        align-self: flex-start;
    }

    .footer-brand {
        align-items: flex-start;
    }

    .footer-socials {
        justify-content: flex-start;
    }

    .footer-bottom {
        align-items: flex-start;
        text-align: left;
    }
}

@media (max-width:567px) {
    .about-page-body{
        padding:45px 0;
    }
    
    .about-cta {
        padding:40px 0;
    }
    
    .certs-hero,.contact-hero {padding:80px 0};
    .about-hero{padding:60px 0 0};
}

/* =========================================================
   GLOBAL REACH - MOBILE
   Globe first, content/cards below
========================================================= */

@media (max-width: 767px) {

    /* -----------------------------------------
       MAIN GLOBAL SECTION
    ----------------------------------------- */

    .global-map-hero.global-dark {
        position: relative;
        height: auto;
        min-height: 0;
        overflow: hidden;
        background: #05070d;
    }


    /* -----------------------------------------
       GLOBE
       Give globe its own visible section
    ----------------------------------------- */

    .global-globe-wrap {
        position: relative;
        inset: auto;

        width: 100%;
        height: 330px;

        z-index: 1;
    }

    .global-globe-viz {
        position: relative;
        inset: auto;

        width: 100%;
        height: 330px;

        overflow: hidden;
    }

    .global-globe-viz canvas {
        width: 100% !important;
        height: 100% !important;
    }


    /* -----------------------------------------
       REMOVE GLOBE OVERLAY FROM CONTENT AREA
    ----------------------------------------- */

    .global-globe-viz::after {
        background:
            radial-gradient(
                ellipse at center,
                rgba(5,7,13,0) 35%,
                rgba(5,7,13,.55) 100%
            );
    }


    /* -----------------------------------------
       CONTENT COMES AFTER GLOBE
    ----------------------------------------- */

    .global-dark-container {
        position: relative;

        z-index: 5;

        width: 100%;
        height: auto;
        min-height: 0;

        padding: 20px 18px 35px;

        display: flex;
        flex-direction: column;

        gap: 16px;

        pointer-events: auto;
    }


    /* -----------------------------------------
       GLOBAL TITLE CARD
    ----------------------------------------- */

    .global-dark-head {
        width: 100%;
        max-width: none;

        padding: 18px 16px;

        border-radius: 15px;

        background: rgba(5,7,13,.96);

        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }

    .global-dark-head .section-tag {
        font-size: .62rem;
    }

    .global-map-hero-title {
        font-size: 1.45rem;
        line-height: 1.18;
    }

    .global-map-hero-sub {
        font-size: .8rem;
        line-height: 1.6;
    }


    /* -----------------------------------------
       STAGE
    ----------------------------------------- */

    .global-dark-stage {
        width: 100%;

        display: flex;
        flex-direction: column;

        gap: 16px;

        align-items: stretch;
    }


    /* -----------------------------------------
       3 STAT CARDS
    ----------------------------------------- */

    .global-dark-stats {
        width: 100%;

        display: grid;
        grid-template-columns: 1fr;

        gap: 12px;

        padding: 0;

        background: transparent;
        border: none;

        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .global-dark-stat {
        width: 100%;

        padding: 18px;

        border: 1px solid rgba(255,255,255,.12);
        border-left: 2px solid rgba(91,163,217,.55);

        border-radius: 14px;

        background: rgba(5,7,13,.94);

        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }

    .global-dark-stat:first-child {
        padding-left: 18px;
        border-left: 2px solid rgba(91,163,217,.55);
    }

    .gds-num {
        font-size: 1.5rem;
    }

    .gds-num span {
        font-size: .85rem;
    }

    .gds-label {
        font-size: .6rem;
        margin-top: 6px;
    }


    /* -----------------------------------------
       QUOTE BUTTON
    ----------------------------------------- */

    .global-dark-cta {
        width: fit-content;

        margin-top: 2px;

        padding: 12px 21px;

        font-size: .8rem;
    }


    /* -----------------------------------------
       COUNTRY LIST
    ----------------------------------------- */

    .global-country-list {
        width: 100%;
        max-width: none;

        padding: 18px 15px;

        border-radius: 15px;

        background: rgba(5,7,13,.96);

        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }

    .global-country-list-title {
        font-size: .63rem;
        margin-bottom: 13px;
    }

    .global-country-chip-grid {
        display: flex;

        flex-wrap: wrap;

        gap: 7px;

        max-height: none;

        overflow: visible;
    }

    .global-country-chip {
        padding: 6px 10px;

        font-size: .62rem;

        white-space: nowrap;
    }


    /* -----------------------------------------
       NOW VIEWING
    ----------------------------------------- */

    .global-globe-active {
        position: absolute;

        z-index: 20;

        bottom: 12px;

        left: 50%;

        transform: translateX(-50%);

        max-width: calc(100% - 36px);

        padding: 7px 13px;

        font-size: .68rem;

        white-space: nowrap;
    }
}


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

.hamburger {
    display: none;

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

    gap: 5px;

    width: 42px;
    height: 42px;

    padding: 4px;

    background: transparent;
    border: none;
    outline: none;

    cursor: pointer;

    -webkit-appearance: none;
    appearance: none;

    touch-action: manipulation;

    z-index: 1001;
}

.hamburger span {
    display: block;

    width: 25px;
    height: 2px;

    background: var(--white);

    border-radius: 2px;

    transition: var(--transition);
}


/* Hamburger → X */

.hamburger.open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.hamburger.open span:nth-child(2) {
    opacity: 0;
}

.hamburger.open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}


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

#mobile-drawer {
    position: fixed;

    top: 0;
    right: -100%;

    width: min(340px, 88vw);
    height: 100dvh;

    padding: 94px 22px 30px;

    background: rgba(10, 16, 30, 0.98);

    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);

    z-index: 999;

    display: flex;
    flex-direction: column;

    gap: 4px;

    overflow-y: auto;
    overflow-x: hidden;

    -webkit-overflow-scrolling: touch;

    transition:
        right 0.35s cubic-bezier(.4, 0, .2, 1);
}


/* Drawer open */

#mobile-drawer.open {
    right: 0;
}


/* Drawer links */

#mobile-drawer .drawer-link {
    display: block;

    padding: 13px 0;

    font-size: 0.95rem;
    font-weight: 500;

    color: rgba(255, 255, 255, 0.8);

    text-decoration: none;

    border-bottom: 1px solid rgba(255, 255, 255, 0.07);

    transition: var(--transition);

    cursor: pointer;
}

#mobile-drawer .drawer-link:hover {
    color: var(--silver);
}


/* Contact button */

#mobile-drawer .drawer-cta {
    margin-top: 14px;

    padding: 15px;

    text-align: center;

    background: var(--silver);

    color: var(--ink);

    border-radius: 50px;

    border: none;

    font-weight: 700;
}

#mobile-drawer .drawer-cta:hover {
    background: var(--silver-light);
    color: var(--ink);
}


/* =========================================================
   DRAWER OVERLAY
========================================================= */

#drawer-overlay {
    display: none;

    position: fixed;

    inset: 0;

    background: rgba(0, 0, 0, 0.5);

    z-index: 998;

    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}

#drawer-overlay.open {
    display: block;
}


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

.drawer-lang {
    margin-top: 14px;

    padding-top: 14px;

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

.drawer-lang-label {
    display: block;

    margin-bottom: 10px;

    font-size: 0.72rem;

    font-weight: 700;

    letter-spacing: 0.08em;

    text-transform: uppercase;

    color: rgba(255, 255, 255, 0.5);
}

.drawer-lang-grid {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 8px;
}

.drawer-lang-item {
    display: flex !important;

    align-items: center;

    gap: 8px;

    min-height: 42px;

    padding: 10px 12px;

    border-radius: 8px;

    background: rgba(255, 255, 255, 0.06);

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

    color: rgba(255, 255, 255, 0.85);

    font-size: 0.85rem;

    font-weight: 500;

    text-decoration: none;

    cursor: pointer;

    transition: var(--transition);
}

.drawer-lang-item:hover {
    background: rgba(255, 255, 255, 0.12);

    color: #fff;
}

.drawer-lang-item.nav-active {
    background: rgba(38, 83, 141, 0.35);

    border-color: var(--silver);

    color: #fff;

    font-weight: 700;
}

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

@media (max-width: 767px) {

    #nav {
        width: 100%;
    }

    .nav-inner {
        height: 76px;

        padding-left: 18px;
        padding-right: 18px;
    }

    .nav-logo-img {
        width: 150px;
        height: 70px;
    }


    /* Show hamburger */

    .hamburger {
        display: flex;

        width: 42px;
        height: 42px;

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


    .hamburger span {
        width: 25px;
    }


    /* Drawer */

    #mobile-drawer {
        width: min(340px, 88vw);

        padding:
            94px
            22px
            30px;

        overflow-y: auto;
        overflow-x: hidden;

        -webkit-overflow-scrolling: touch;
    }


    #mobile-drawer .drawer-link {
        font-size: 0.95rem;

        padding: 13px 0;
    }


    #mobile-drawer .drawer-cta {
        margin-top: 14px;
    }


    /* Language */

    .drawer-lang {
        margin-top: 14px;

        padding-top: 14px;
    }

    .drawer-lang-grid {
        grid-template-columns: 1fr 1fr;
    }

    .drawer-lang-item {
        min-height: 42px;
    }
}

/* =========================================================
   MOBILE DRAWER DROPDOWNS
========================================================= */

.drawer-dropdown {
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}


/* Dropdown button */

.drawer-dropdown-btn {
    width: 100%;

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

    padding: 13px 0;

    background: transparent;
    border: none;
    outline: none;

    color: rgba(255, 255, 255, 0.8);

    font-family: inherit;
    font-size: 0.95rem;
    font-weight: 500;

    text-align: left;

    cursor: pointer;

    -webkit-appearance: none;
    appearance: none;

    touch-action: manipulation;
}


/* Chevron */

.drawer-dropdown-chevron {
    flex-shrink: 0;

    transition:
        transform 0.25s ease;
}


/* Open chevron */

.drawer-dropdown.open
.drawer-dropdown-chevron {
    transform: rotate(180deg);
}


/* Dropdown menu */

.drawer-dropdown-menu {
    display: none;

    width: 100%;

    padding: 3px 0 8px 14px;
}


/* Open dropdown */

.drawer-dropdown.open
.drawer-dropdown-menu {
    display: block;
}


/* Sub links */

.drawer-sub-link {
    display: block;

    padding: 10px 12px;

    color: rgba(255, 255, 255, 0.62);

    font-size: 0.82rem;
    font-weight: 400;

    line-height: 1.4;

    text-decoration: none;

    border-left: 1px solid rgba(255, 255, 255, 0.12);

    transition:
        color 0.2s ease,
        background 0.2s ease,
        border-color 0.2s ease;
}


.drawer-sub-link:hover {
    color: #fff;

    background: rgba(255, 255, 255, 0.05);

    border-left-color: var(--silver);
}


/* Active sub-link */

.drawer-sub-link.nav-active {
    color: #fff;

    background: rgba(255, 255, 255, 0.06);

    border-left-color: var(--silver);

    font-weight: 600;
}


/* =========================================================
   PRODUCT PAGE
   70% MAIN CONTENT + 30% RELATED PRODUCTS
========================================================= */

.product-layout {
    display: grid;

    grid-template-columns: minmax(0, 7fr) minmax(260px, 3fr);

    gap: 30px;

    width: 100%;

    align-items: start;
}


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

.product-main-content {
    width: 100%;

    min-width: 0;
}


/* =========================================================
   PRODUCT IMAGE - CONTROLLED SIZE
========================================================= */

.product-main-content .prod-detail-img {
    width: 70%;
    height: 400px;

    margin-bottom: 32px;

    overflow: hidden;

    border-radius: 14px;

    background: #f5f6f8;
}

.product-main-content .prod-detail-img img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;
}

/* =========================================================
   PRODUCT TEXT
========================================================= */

.product-main-content .prod-detail-text {
    width: 100%;
}


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

.related-products {
    width: 100%;

    min-width: 0;

    position: sticky;

    /*top: 110px;*/
}


.related-products-box {
    width: 100%;

    padding: 28px 26px;

    background: #ffffff;

    border: 1px solid #e2e7ed;

    border-radius: 16px;

    box-shadow:
        0 12px 35px rgba(11, 28, 48, 0.06);
}


/* =========================================================
   RELATED PRODUCTS HEADING
========================================================= */

.related-products-heading {
    /*margin-bottom: 24px;*/

    padding-bottom: 18px;

    border-bottom: 1px solid #e2e7ed;
}


.related-products-tag {
    display: block;

    margin-bottom: 7px;

    color: #285b99;

    font-size: 14px;

    font-weight: 800;

    letter-spacing: 0.12em;

    text-transform: uppercase;
}


.related-products-heading h2 {
    margin: 0;

    color: #0b1c30;

    font-size: 1.5rem;

    font-weight: 800;

    line-height: 1.25;
}


/* =========================================================
   RELATED PRODUCTS LIST
========================================================= */

.related-products-list {
    display: flex;

    flex-direction: column;

    width: 100%;
}


/* =========================================================
   RELATED PRODUCT ITEM
========================================================= */

.related-product-item {
    position: relative;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 15px;

    width: 100%;

    padding: 13px 4px;

    color: #26394d;

    text-decoration: none;

    font-size: 0.88rem;

    font-weight: 600;

    line-height: 1.4;

    border-bottom: 1px solid #e8ecf0;

    transition:
        color 0.25s ease,
        padding-left 0.25s ease;
}


.related-product-item:last-child {
    border-bottom: none;
}


.related-product-item:hover {
    color: #285b99;

    padding-left: 8px;
}


.related-product-item svg {
    width: 18px;
    height: 18px;

    flex-shrink: 0;

    transition: transform 0.25s ease;
}


.related-product-item:hover svg {
    transform: translateX(4px);
}


/* =========================================================
   PRODUCT SECTION SPACING
========================================================= */

.prod-section {
    padding-top: 30px;
    padding-bottom: 80px;
}


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

@media (max-width: 991px) {

    .product-layout {
        grid-template-columns: minmax(0, 1fr) 280px;

        gap: 30px;
    }


    .related-products-box {
        padding: 24px 20px;
    }


    .related-products-heading h2 {
        font-size: 1.2rem;
    }


    .related-product-item {
        font-size: 0.82rem;

        padding: 15px 2px;
    }

}


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

@media (max-width: 767px) {

    .prod-section {
        padding-top: 45px;
        padding-bottom: 55px;
    }


    /* -----------------------------------------
       STACK EVERYTHING
    ----------------------------------------- */

    .product-layout {
        display: flex;

        flex-direction: column;

        gap: 40px;

        width: 100%;
    }


    /* -----------------------------------------
       PRODUCT CONTENT
    ----------------------------------------- */

    .product-main-content {
        width: 100%;
    }


    /* -----------------------------------------
       IMAGE
    ----------------------------------------- */

    .product-main-content .prod-detail-img {
        margin-bottom: 28px;

        border-radius: 12px;
    }


    .product-main-content .prod-detail-img img {
        width: 100%;
        height: auto;
    }


    /* -----------------------------------------
       RELATED PRODUCTS
    ----------------------------------------- */

    .related-products {
        position: static;

        width: 100%;
    }


    .related-products-box {
        padding: 22px 18px;

        border-radius: 14px;
    }


    .related-products-heading {
        margin-bottom: 12px;

        padding-bottom: 14px;
    }


    .related-products-heading h2 {
        font-size: 1.2rem;
    }


    .related-product-item {
        padding: 15px 2px;

        font-size: 0.82rem;
    }


    .related-product-item svg {
        width: 17px;
        height: 17px;
    }

}


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

@media (max-width: 480px) {

    .prod-section {
        padding-top: 35px;
        padding-bottom: 45px;
    }


    .product-layout {
        gap: 30px;
    }


    .product-main-content .prod-detail-img {
        margin-bottom: 22px;
        height: 190px;
        border-radius: 10px;
    }


    .related-products-box {
        padding: 20px 16px;
    }


    .related-products-heading h2 {
        font-size: 1.1rem;
    }


    .related-product-item {
        padding: 14px 2px;

        font-size: 0.78rem;
    }

}


/* =========================================================
   FOOTER LINK HOVER AND CONTACT ICONS
   Add after the existing footer CSS
========================================================= */

/* Quick Links and Product Lines */

.footer-quicklinks > a:not(.footer-download),
.footer-products > a {
    position: relative;

    width: fit-content;

    padding-left: 0;
    padding-bottom: 2px;

    background-image: linear-gradient(
        var(--silver-light),
        var(--silver-light)
    );
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 0 1px;

    transition:
        color var(--transition),
        padding-left var(--transition),
        background-size var(--transition);
}

.footer-quicklinks > a:not(.footer-download)::before,
.footer-products > a::before {
    content: "→";

    position: absolute;
    top: 30%;
    left: -4px;

    color: var(--silver-light);
    font-size:20px;
    opacity: 0;
    visibility: hidden;

    transform: translate(-8px, -50%);

    transition:
        opacity var(--transition),
        visibility var(--transition),
        transform var(--transition);
}

.footer-quicklinks > a:not(.footer-download):hover,
.footer-products > a:hover {
    padding-left: 21px;

    color: var(--silver-light);

    background-size: 100% 1px;
}

.footer-quicklinks > a:not(.footer-download):hover::before,
.footer-products > a:hover::before {
    opacity: 1;
    visibility: visible;

    transform: translate(0, -50%);
}


/* Address icon */

.footer-address p {
    position: relative;

    padding-left: 26px;
}

.footer-address p::before {
    content: "";

    position: absolute;
    top: 4px;
    left: 0;

    width: 17px;
    height: 17px;

    background-color: var(--silver-light);

    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")
        center / contain no-repeat;

    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")
        center / contain no-repeat;
}


/* Contact link icons */

.footer-contact > a {
    position: relative;

    width: fit-content;

    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.footer-contact > a::before {
    content: "";

    width: 16px;
    height: 16px;
    flex: 0 0 16px;

    background-color: var(--silver-light);

    transition:
        background-color var(--transition),
        transform var(--transition);
}


/* Phone icon */

.footer-contact > a[href^="tel:"]::before {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.9.33 1.78.62 2.63a2 2 0 0 1-.45 2.11L8 9.73a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.85.29 1.73.5 2.63.62A2 2 0 0 1 22 16.92Z'/%3E%3C/svg%3E")
        center / contain no-repeat;

    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.9.33 1.78.62 2.63a2 2 0 0 1-.45 2.11L8 9.73a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.85.29 1.73.5 2.63.62A2 2 0 0 1 22 16.92Z'/%3E%3C/svg%3E")
        center / contain no-repeat;
}


/* Email icon */

.footer-contact > a[href^="mailto:"]::before {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E")
        center / contain no-repeat;

    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E")
        center / contain no-repeat;
}


/* Contact hover */

.footer-contact > a:hover::before {
    background-color: var(--silver);
    transform: scale(1.12);
}


/* Mobile alignment */

@media (max-width: 767px) {

    .footer-quicklinks > a:not(.footer-download),
    .footer-products > a,
    .footer-contact > a {
        width: auto;
    }

    .footer-address p {
        max-width: 320px;
        text-align: left;
    }
}