:root{
  --ink:#0A0A0B;
  --graphite:#17181A;
  --graphite-2:#232427;
  --graphite-3:#2E3034;
  --steel:#8A8D95;
  --steel-light:#B7B9BF;
  --red:#E8505A;
  --red-bright:#FF6F61;
  --red-dim:#C23A44;
  --off:#F3F2EE;
  --white:#FFFFFF;
  --line: rgba(243,242,238,0.12);
  --line-dark: rgba(10,10,11,0.10);
  --maxw: 1320px;
  --ease: cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Manrope',sans-serif;
  background:var(--off);
  color:var(--ink);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
ul{list-style:none;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
h1,h2,h3,h4{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:0.01em;line-height:1.05;}
.mono{font-family:'JetBrains Mono',monospace;}
.eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:12.5px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--red);
  display:flex;align-items:center;gap:10px;
  margin-bottom:18px;
}
.eyebrow::before{content:'';width:26px;height:2px;background:var(--red);display:inline-block;}
.coord{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;color:var(--steel);}
@media(prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
}

/* ---------- Flow progress bar (signature) ---------- */
#flowbar{position:fixed;top:0;left:0;width:100%;height:3px;background:rgba(0,0,0,0.08);z-index:9999;}
#flowbar-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--red-dim),var(--red),var(--red-bright));transition:width .08s linear;position:relative;}
#flowbar-fill::after{content:'';position:absolute;right:-3px;top:-3px;width:9px;height:9px;border-radius:50%;background:var(--red-bright);box-shadow:0 0 10px 2px var(--red-bright);}

/* ---------- Header ---------- */
header{position:fixed;top:0;left:0;width:100%;z-index:900;transition:background .35s var(--ease),box-shadow .35s var(--ease), border-color .35s;padding-top:3px;}
header.solid{background:rgba(10,10,11,0.96);backdrop-filter:blur(10px);box-shadow:0 8px 30px rgba(0,0,0,0.25);border-bottom:1px solid var(--line);}
.nav-inner{max-width:1720px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;height:84px;}
.logo{display:flex;flex-direction:column;line-height:1;color:var(--white);position:relative;align-self:flex-start;margin-top:8px;z-index:2;flex-shrink:0;}
.logo .logo-mark{height:144px;width:auto;max-width:none;display:block;}
nav.mainnav{display:flex;align-items:center;gap:0;flex-wrap:nowrap;}
nav.mainnav a.navlink{
  color:var(--off);font-family:'Oswald';font-size:13px;letter-spacing:.03em;
  padding:10px 12px;position:relative;text-transform:uppercase;font-weight:500;opacity:.88;
  white-space:nowrap;
  transition:opacity .2s;
}
nav.mainnav a.navlink:hover, nav.mainnav a.navlink.active{opacity:1;}
nav.mainnav a.navlink.active::after{content:'';position:absolute;left:15px;right:15px;bottom:3px;height:2px;background:var(--red);}
.navright{display:flex;align-items:center;gap:18px;flex-shrink:0;}
.langtoggle{display:flex;border:1.5px solid rgba(255,255,255,.45);border-radius:22px;overflow:hidden;background:rgba(255,255,255,.07);flex-shrink:0;}
.langtoggle a{padding:8px 16px;font-family:'JetBrains Mono';font-size:12.5px;font-weight:700;color:var(--off);letter-spacing:.06em;transition:.2s;}
.langtoggle a:hover{background:rgba(255,255,255,.14);}
.langtoggle a.active{background:var(--red);color:#fff;}
.langtoggle a.active:hover{background:var(--red-bright);}
.cta-btn{
  background:var(--red);color:#fff;font-family:'Oswald';font-size:13px;letter-spacing:.05em;
  padding:12px 22px;text-transform:uppercase;font-weight:600;border-radius:2px;
  transition:background .2s, transform .2s;white-space:nowrap;
}
.cta-btn:hover{background:var(--red-bright);transform:translateY(-1px);}
.cta-btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.4);}
.cta-btn.ghost:hover{background:rgba(255,255,255,.08);}
.hamburger{display:none;flex-direction:column;gap:5px;width:26px;}
.hamburger span{height:2px;background:#fff;width:100%;transition:.3s;}

/* Mobile / off-canvas nav — narrow right-anchored drawer, not a full-screen
   overlay. Width scales between a comfortable desktop panel (380px) and
   ~90% of very narrow viewports, so it always stays a slim vertical panel
   rather than covering the screen. */
.mobilenav{position:fixed;top:0;right:0;bottom:0;left:auto;width:min(380px,90vw);max-width:92vw;background:var(--ink);z-index:1200;display:flex;flex-direction:column;padding:100px 26px 40px;transform:translateX(100%);transition:transform .4s var(--ease);overflow-y:auto;box-shadow:-24px 0 60px rgba(0,0,0,.35);}
.mobilenav.open{transform:translateX(0);}
.mobilenav a{color:#fff;font-family:'Oswald';font-size:26px;text-transform:uppercase;padding:14px 0;border-bottom:1px solid var(--line);}
.mobilenav .closebtn{position:absolute;top:28px;right:26px;color:#fff;font-size:28px;}
.mobile-langtoggle{display:flex;gap:8px;margin-bottom:18px;}
.mobile-langtoggle a{flex:1;text-align:center;border:1.5px solid rgba(255,255,255,.45);border-radius:22px;padding:12px 8px;font-family:'JetBrains Mono';font-size:11.5px;font-weight:700;letter-spacing:.03em;color:var(--off);background:rgba(255,255,255,.06);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mobile-langtoggle a.active{background:var(--red);border-color:var(--red);color:#fff;}

@media(max-width:480px){
  .mobilenav{width:88vw;padding:90px 20px 32px;}
  .mobilenav a{font-size:23px;}
  .mobile-langtoggle a{font-size:10px;padding:11px 4px;letter-spacing:.01em;}
}

/* ---------- Hero Slider ---------- */
.hero{position:relative;height:100vh;min-height:640px;overflow:hidden;background:var(--ink);}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;}
.slide.active{opacity:1;}
.slide .bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 7s linear;}
.slide.active .bgimg{transform:scale(1);}
.slide::before{content:'';position:absolute;inset:0;background:
  linear-gradient(180deg, rgba(10,10,11,.55) 0%, rgba(10,10,11,.35) 40%, rgba(10,10,11,.85) 100%),
  linear-gradient(90deg, rgba(10,10,11,.75) 0%, rgba(232,80,90,.18) 55%, rgba(10,10,11,.55) 100%);
  z-index:1;}
.hero-content{position:absolute;left:0;bottom:0;z-index:3;width:100%;padding:0 32px 110px;max-width:var(--maxw);margin:0 auto;right:0;}
.hero-content .eyebrow{color:var(--red-bright);}
.hero-title{color:#fff;font-size:clamp(34px,5vw,72px);max-width:1180px;opacity:0;transform:translateY(30px);transition:all .9s var(--ease) .2s;}
.slide.active .hero-title{opacity:1;transform:translateY(0);}
.hero-sub{color:var(--off);font-size:17px;max-width:560px;margin-top:22px;line-height:1.6;opacity:0;transform:translateY(20px);transition:all .9s var(--ease) .4s;}
.slide.active .hero-sub{opacity:1;transform:translateY(0);}
.hero-ctas{display:flex;gap:16px;margin-top:34px;flex-wrap:wrap;opacity:0;transform:translateY(20px);transition:all .9s var(--ease) .55s;}
.slide.active .hero-ctas{opacity:1;transform:translateY(0);}
.hero-controls{position:absolute;bottom:40px;right:32px;z-index:5;display:flex;align-items:center;gap:18px;}
.hero-arrows{display:flex;gap:10px;}
.hero-arrows button{width:44px;height:44px;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;transition:.2s;}
.hero-arrows button:hover{background:var(--red);border-color:var(--red);}
.hero-progress{display:flex;gap:8px;position:absolute;left:32px;bottom:40px;z-index:5;align-items:center;}
.hero-progress .dash{width:34px;height:3px;background:rgba(255,255,255,.25);position:relative;overflow:hidden;cursor:pointer;}
.hero-progress .dash i{position:absolute;left:0;top:0;height:100%;width:0%;background:var(--red);}
.hero-progress .dash.active i{animation:fillbar 6s linear forwards;}
@keyframes fillbar{from{width:0%}to{width:100%}}
.hero-num{position:absolute;left:32px;bottom:66px;z-index:5;color:#fff;font-family:'JetBrains Mono';font-size:12px;letter-spacing:.1em;}
.scrollcue{position:absolute;right:32px;top:50%;transform:translateY(-50%) rotate(90deg);color:rgba(255,255,255,.55);font-family:'JetBrains Mono';font-size:10.5px;letter-spacing:.25em;z-index:5;}

/* ---------- Page hero (internal) ---------- */
.pagehero{position:relative;height:56vh;min-height:380px;overflow:hidden;background:var(--ink);}
.pagehero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.pagehero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,11,.55),rgba(10,10,11,.55) 55%, rgba(10,10,11,.94)), linear-gradient(100deg, rgba(232,80,90,.22), transparent 60%);z-index:1;}
.pagehero-inner{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 32px 46px;max-width:var(--maxw);margin:0 auto;}
.breadcrumb{font-family:'JetBrains Mono';font-size:11.5px;color:var(--steel-light);letter-spacing:.08em;margin-bottom:18px;text-transform:uppercase;}
.breadcrumb .sep{color:var(--red);margin:0 6px;}
.pagehero h1{color:#fff;font-size:clamp(32px,5vw,60px);opacity:0;transform:translateY(24px);animation:riseIn .8s var(--ease) .15s forwards;}
.pagehero p{color:var(--off);max-width:620px;margin-top:16px;font-size:16.5px;line-height:1.6;opacity:0;transform:translateY(24px);animation:riseIn .8s var(--ease) .3s forwards;}
@keyframes riseIn{to{opacity:1;transform:translateY(0);}}

/* ---------- Sections ---------- */
section{padding:110px 0;position:relative;}
section.tight{padding:80px 0;}
.section-dark{background:var(--ink);color:var(--off);}
.section-graphite{background:var(--graphite);color:var(--off);}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal.in{opacity:1;transform:translateY(0);}

/* Intro split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.split img{width:100%;height:520px;object-fit:cover;}
.imgwrap{position:relative;overflow:hidden;}
.imgwrap::after{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--red);}
.imgwrap .tag{position:absolute;bottom:0;left:0;right:0;background:rgba(10,10,11,.82);color:#fff;padding:14px 20px;font-family:'JetBrains Mono';font-size:11px;letter-spacing:.08em;}
h2.h-lg{font-size:clamp(28px,3.6vw,46px);margin-bottom:22px;}
p.lead{font-size:17px;line-height:1.75;color:#333;margin-bottom:16px;}
.section-dark p.lead, .section-graphite p.lead{color:var(--steel-light);}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:10px;}
.stat{background:var(--ink);padding:42px 30px;text-align:center;}
.stat .num{font-family:'Oswald';font-size:clamp(36px,4vw,58px);color:var(--red);font-weight:600;}
.stat .lbl{font-family:'JetBrains Mono';font-size:11.5px;letter-spacing:.1em;color:var(--steel-light);text-transform:uppercase;margin-top:8px;}

/* Business cards */
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:50px;}
.bcard{background:#fff;border:1px solid #e4e2db;padding:34px 26px;position:relative;overflow:hidden;transition:transform .35s var(--ease), box-shadow .35s;}
.bcard:hover{transform:translateY(-8px);box-shadow:0 22px 40px rgba(0,0,0,.12);}
.bcard .bnum{font-family:'JetBrains Mono';font-size:11px;color:var(--red);letter-spacing:.1em;}
.bcard .icon{width:46px;height:46px;margin:18px 0;}
.bcard h4{font-size:19px;margin-bottom:10px;}
.bcard p{font-size:14.5px;color:#555;line-height:1.6;}
.bcard::before{content:'';position:absolute;left:0;bottom:0;width:100%;height:0;background:var(--red);transition:height .3s;z-index:0;}
.bcard:hover::before{height:4px;}

/* Value chain */
.chain{display:flex;align-items:center;justify-content:space-between;margin-top:60px;position:relative;flex-wrap:wrap;gap:26px 0;}
.chain-line{position:absolute;top:34px;left:0;right:0;height:2px;background:var(--line);z-index:0;}
.chain-line-fill{position:absolute;top:0;left:0;height:100%;width:0%;background:linear-gradient(90deg,var(--red-dim),var(--red-bright));transition:width 1.6s var(--ease);}
.chain-node{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;width:12.5%;min-width:110px;text-align:center;}
.chain-dot{width:68px;height:68px;border-radius:50%;background:var(--graphite-2);border:2px solid var(--line);display:flex;align-items:center;justify-content:center;transition:.3s;}
.chain-node:hover .chain-dot{border-color:var(--red);background:var(--red-dim);}
.chain-dot svg{width:26px;height:26px;stroke:var(--red-bright);}
.chain-lbl{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.05em;color:var(--steel-light);margin-top:12px;text-transform:uppercase;}

/* Approach numbered */
.approach{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);margin-top:50px;border:1px solid var(--line);}
.apitem{background:var(--ink);padding:40px 24px;transition:background .3s;cursor:default;}
.apitem:hover{background:var(--graphite-2);}
.apitem .apnum{font-family:'Oswald';font-size:34px;color:var(--red);}
.apitem h4{font-size:15.5px;margin:16px 0 10px;color:#fff;}
.apitem p{font-size:13.5px;color:var(--steel-light);line-height:1.55;}

/* Dark feature (HSSE) */
.feature-dark{position:relative;min-height:560px;display:flex;align-items:center;overflow:hidden;}
.feature-dark img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.feature-dark::before{content:'';position:absolute;inset:0;background:linear-gradient(100deg, rgba(10,10,11,.92) 30%, rgba(232,80,90,.35));z-index:1;}
.feature-inner{position:relative;z-index:2;max-width:620px;}
.feature-inner h2{color:#fff;font-size:clamp(30px,4vw,50px);margin-bottom:22px;}
.pillgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px;}
.pill{border:1px solid rgba(255,255,255,.25);padding:14px 12px;text-align:center;font-family:'JetBrains Mono';font-size:11.5px;letter-spacing:.06em;color:#fff;text-transform:uppercase;transition:.25s;}
.pill:hover{background:var(--red);border-color:var(--red);}

/* Quality flow */
.qflow{display:flex;overflow-x:auto;gap:0;margin-top:50px;padding-bottom:6px;}
.qstep{flex:1;min-width:150px;padding:26px 20px;border:1px solid #e4e2db;border-left:none;position:relative;background:#fff;}
.qstep:first-child{border-left:1px solid #e4e2db;}
.qstep .qn{font-family:'JetBrains Mono';font-size:10.5px;color:var(--red);letter-spacing:.08em;}
.qstep h4{font-size:14.5px;margin-top:10px;}
.qstep::after{content:'→';position:absolute;right:-11px;top:50%;transform:translateY(-50%);color:var(--red);font-size:18px;z-index:2;background:var(--off);width:20px;text-align:center;}
.qstep:last-child::after{content:'';}

/* CTA band */
.ctaband{background:linear-gradient(120deg, var(--ink) 0%, var(--red-dim) 130%);color:#fff;padding:100px 0;text-align:center;position:relative;overflow:hidden;}
.ctaband h2{font-size:clamp(28px,4vw,48px);max-width:760px;margin:0 auto 18px;}
.ctaband p{color:var(--steel-light);max-width:560px;margin:0 auto 34px;font-size:16px;line-height:1.6;}

/* Grid generic content */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.infocard{background:#fff;border:1px solid #e4e2db;padding:28px 24px;transition:.3s;}
.infocard:hover{border-color:var(--red);box-shadow:0 14px 30px rgba(0,0,0,.08);}
.infocard h4{font-size:16px;margin-bottom:10px;}
.infocard p{font-size:14px;color:#555;line-height:1.6;}
.section-dark .infocard, .section-graphite .infocard{background:var(--graphite-2);border-color:var(--line);}
.section-dark .infocard p, .section-graphite .infocard p{color:var(--steel-light);}
.section-dark .infocard h4, .section-graphite .infocard h4{color:#fff;}

/* Timeline */
.timeline{position:relative;margin-top:60px;padding-left:36px;border-left:2px solid var(--line);}
.tlitem{position:relative;padding-bottom:52px;}
.tlitem:last-child{padding-bottom:0;}
.tlitem::before{content:'';position:absolute;left:-43px;top:2px;width:16px;height:16px;border-radius:50%;background:var(--red);border:3px solid var(--off);}
.tlitem .yr{font-family:'Oswald';font-size:26px;color:var(--red);}
.tlitem h4{margin:6px 0 10px;font-size:17px;}
.tlitem p{color:#555;font-size:14.5px;line-height:1.6;max-width:600px;}

/* Values cards flip-ish */
.valcards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px;}
.valcard{background:var(--graphite-2);border:1px solid var(--line);padding:30px 20px;text-align:center;transition:.3s;}
.valcard:hover{background:var(--red-dim);border-color:var(--red);}
.valcard h4{color:#fff;font-size:15px;margin-top:14px;}

/* Placeholder box */
.placeholder{border:1.5px dashed var(--steel);background:rgba(232,80,90,.05);padding:10px 14px;font-family:'JetBrains Mono';font-size:12.5px;color:var(--red);display:inline-block;}

/* Product cards */
.prodgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:50px;}
.prodcard{background:#fff;border:1px solid #e4e2db;overflow:hidden;transition:.3s;cursor:pointer;}
.prodcard:hover{box-shadow:0 20px 40px rgba(0,0,0,.1);transform:translateY(-6px);}
.prodcard .pimg{height:160px;background:linear-gradient(135deg,var(--graphite),var(--ink));position:relative;overflow:hidden;}
.prodcard .pimg svg{position:absolute;inset:0;margin:auto;width:60px;height:60px;stroke:var(--red-bright);}
.prodcard .pbody{padding:22px;}
.prodcard h4{font-size:17px;margin-bottom:8px;}
.prodcard p{font-size:13.5px;color:#555;line-height:1.55;margin-bottom:14px;}
.prodcard .plink{font-family:'JetBrains Mono';font-size:11.5px;color:var(--red);letter-spacing:.06em;text-transform:uppercase;}

/* Product detail modal */
.pmodal-bg{position:fixed;inset:0;background:rgba(10,10,11,.72);z-index:2000;display:none;align-items:center;justify-content:center;padding:26px;}
.pmodal-bg.open{display:flex;}
.pmodal{background:#fff;max-width:720px;width:100%;max-height:86vh;overflow-y:auto;padding:44px;position:relative;}
.pmodal .pclose{position:absolute;top:18px;right:20px;font-size:26px;color:var(--steel);}
.pmodal h3{font-size:26px;margin-bottom:6px;}
.pmodal .grade{font-family:'JetBrains Mono';color:var(--red);font-size:12.5px;margin-bottom:22px;}
.spectable{width:100%;border-collapse:collapse;margin-top:16px;}
.spectable td{padding:10px 0;border-bottom:1px solid #eee;font-size:14px;}
.spectable td:first-child{color:#777;width:45%;}
.tablewrap{overflow-x:auto;margin-top:36px;border:1px solid var(--line-dark);border-radius:2px;}
.specsgrid{width:100%;border-collapse:collapse;min-width:920px;font-size:13.5px;}
.specsgrid thead th{text-align:left;padding:14px 16px;background:var(--ink);color:var(--off);font-family:'Oswald';font-weight:600;letter-spacing:.02em;font-size:12px;text-transform:uppercase;white-space:nowrap;}
.specsgrid tbody td{padding:14px 16px;border-bottom:1px solid var(--line-dark);vertical-align:top;line-height:1.55;}
.specsgrid tbody td:first-child{font-weight:600;color:var(--ink);white-space:nowrap;}
.specsgrid tbody td:nth-child(2),.specsgrid tbody td:nth-child(3),.specsgrid tbody td:nth-child(4){white-space:nowrap;color:#444;}
.specsgrid tbody td:last-child{color:#666;min-width:320px;}
.specsgrid tbody tr:nth-child(even){background:rgba(10,10,11,0.02);}
.specsgrid tbody tr:hover{background:rgba(232,80,90,0.04);}
.tablefoot{font-size:12.5px;color:#888;margin-top:10px;font-style:italic;}

/* Careers vacancy */
.vacrow{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;border:1px solid #e4e2db;margin-bottom:12px;background:#fff;flex-wrap:wrap;gap:12px;}
.vacrow .vtitle{font-family:'Oswald';font-size:17px;}
.vacrow .vmeta{font-family:'JetBrains Mono';font-size:11.5px;color:var(--steel);margin-top:4px;letter-spacing:.05em;}
.novac{border:1.5px dashed var(--steel);padding:40px;text-align:center;color:var(--steel);font-family:'JetBrains Mono';font-size:13.5px;}

/* Career area cards */
.careerarea{background:#fff;border:1px solid #e4e2db;padding:26px;transition:.3s;}
.careerarea:hover{border-color:var(--red);}
.careerarea h4{margin-bottom:12px;font-size:16.5px;}
.careerarea ul li{font-size:13.5px;color:#555;padding:4px 0;position:relative;padding-left:16px;}
.careerarea ul li::before{content:'';position:absolute;left:0;top:12px;width:6px;height:2px;background:var(--red);}

/* Forms */
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:36px;}
.formgrid.full{grid-template-columns:1fr;}
.field{display:flex;flex-direction:column;gap:8px;}
.field.span2{grid-column:1/-1;}
.field label{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--steel);}
.field input, .field select, .field textarea{
  border:1px solid #d8d6cf;background:#fff;padding:13px 14px;font-family:'Manrope';font-size:14.5px;color:var(--ink);transition:border .2s;
}
.section-dark .field input, .section-dark .field select, .section-dark .field textarea,
.section-graphite .field input, .section-graphite .field select, .section-graphite .field textarea{background:var(--graphite-2);border-color:var(--line);color:#fff;}
.field input:focus, .field select:focus, .field textarea:focus{outline:none;border-color:var(--red);}
.field textarea{resize:vertical;min-height:110px;}
.checkfield{display:flex;align-items:flex-start;gap:10px;grid-column:1/-1;}
.checkfield input{width:auto;margin-top:3px;}
.checkfield label{font-family:'Manrope';font-size:13px;color:var(--steel);text-transform:none;letter-spacing:0;}
.submitbtn{margin-top:26px;background:var(--red);color:#fff;padding:16px 34px;font-family:'Oswald';letter-spacing:.05em;text-transform:uppercase;font-size:14px;font-weight:600;transition:.2s;}
.submitbtn:hover{background:var(--red-bright);}
.formnote{margin-top:16px;font-size:13px;color:var(--steel);display:none;}
.formnote.show{display:block;color:var(--red);}

/* Contact */
.contactgrid{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;}
.ccard{border-left:2px solid var(--red);padding:6px 0 6px 20px;margin-bottom:26px;}
.ccard h4{font-size:13px;letter-spacing:.08em;color:var(--steel);margin-bottom:6px;font-family:'JetBrains Mono';text-transform:uppercase;}
.ccard p{font-size:15.5px;}
.mapbox{height:100%;min-height:320px;background:var(--graphite);position:relative;overflow:hidden;margin-top:30px;}
.mapbox svg{width:100%;height:100%;}

/* Footer */
footer{background:var(--ink);color:var(--steel-light);padding:80px 0 30px;}
.footgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:50px;}
.footgrid h5{font-family:'JetBrains Mono';font-size:12px;letter-spacing:.1em;color:#fff;text-transform:uppercase;margin-bottom:18px;}
.footgrid li{padding:6px 0;font-size:14px;}
.footgrid li a:hover{color:var(--red-bright);}
footer .flogo-mark{height:76px;width:auto;max-width:none;display:block;}
footer .ftag{margin-top:16px;font-size:14px;max-width:280px;line-height:1.6;}
.footbottom{margin-top:60px;padding-top:26px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:12.5px;flex-wrap:wrap;gap:10px;font-family:'JetBrains Mono';}

/* utility */
.center{text-align:center;}
.mt60{margin-top:60px;}
.page{display:none;}
.page.active{display:block;}
.hidden{display:none !important;}
.toast{position:fixed;bottom:26px;right:26px;background:var(--ink);color:#fff;padding:16px 22px;font-family:'JetBrains Mono';font-size:13px;z-index:3000;border-left:3px solid var(--red);transform:translateY(20px);opacity:0;transition:.3s;}
.toast.show{transform:translateY(0);opacity:1;}
.backdrop-pattern{position:absolute;inset:0;opacity:.06;background-image:repeating-linear-gradient(90deg, var(--red) 0 1px, transparent 1px 90px);pointer-events:none;}

/* Responsive */
/* Collapse the full nav to the hamburger menu before it has room to wrap
   onto a second line — the desktop nav must always render as one straight
   row, never broken across two lines. Threshold is set high enough to
   cover the longest translated nav labels (Kazakh runs noticeably longer
   than English), not just the English copy. */
@media(max-width:1500px){
  nav.mainnav{display:none;}
  .hamburger{display:flex;}
  .navright .cta-btn.desktop-only{display:none;}
}
@media(max-width:1100px){
  .cards4{grid-template-columns:repeat(2,1fr);}
  .stats{grid-template-columns:repeat(2,1fr);}
  .approach{grid-template-columns:repeat(2,1fr);}
  .grid4{grid-template-columns:repeat(2,1fr);}
  .prodgrid{grid-template-columns:repeat(2,1fr);}
  .split{grid-template-columns:1fr;gap:36px;}
  .split img{height:360px;}
  .chain{display:grid;grid-template-columns:repeat(4,1fr);}
  .chain-line{display:none;}
  .contactgrid{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .cards4{grid-template-columns:1fr;}
  .grid3{grid-template-columns:1fr;}
  .grid4{grid-template-columns:1fr;}
  .grid2{grid-template-columns:1fr;}
  .prodgrid{grid-template-columns:1fr;}
  .stats{grid-template-columns:repeat(2,1fr);}
  .approach{grid-template-columns:1fr;}
  .footgrid{grid-template-columns:1fr 1fr;}
  .formgrid{grid-template-columns:1fr;}
  .chain{grid-template-columns:repeat(2,1fr);}
  .valcards{grid-template-columns:repeat(2,1fr);}
  section{padding:70px 0;}
  .wrap{padding:0 20px;}
  .hero-content{padding:0 20px 130px;}
  .qflow{flex-direction:column;}
  .qstep{border-left:1px solid #e4e2db;}
  .qstep::after{content:'↓';right:auto;left:20px;top:auto;bottom:-11px;transform:none;}
}