:root{
  --bg:#0b0d10;
  --bg-alt:#111418;
  --panel:#151a20;
  --line:#242b33;
  --line-soft:#1c2128;
  --text:#e8eaed;
  --text-dim:#9aa3ad;
  --text-faint:#6b7480;
  --amber:#f5a623;
  --amber-deep:#d98c0f;
  --max-w:1240px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:"Segoe UI","Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--max-w);margin:0 auto;padding:0 32px;}

/* ---------- nav ---------- */
header.nav{
  position:sticky;top:0;z-index:100;
  background:rgba(11,13,16,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-soft);
}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;}
.logo{display:flex;align-items:center;gap:10px;}
.logo-img{
  height:40px;width:auto;display:block;
  background:#fff;border-radius:8px;padding:5px;box-sizing:border-box;
}
.logo-text{font-size:20px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;}
.logo-text span{color:inherit;}
nav.menu{display:flex;gap:36px;}
nav.menu a{
  font-size:13px;letter-spacing:1.2px;text-transform:uppercase;
  color:var(--text-dim);padding:6px 0;position:relative;
}
nav.menu a::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:2px;
  background:var(--amber);transition:width .25s;
}
nav.menu a:hover{color:var(--text);}
nav.menu a:hover::after{width:100%;}
.btn{
  display:inline-block;
  padding:12px 28px;
  font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;
  border:1px solid var(--amber);
  color:var(--amber);
  transition:all .2s;
  cursor:pointer;
}
.btn:hover{background:var(--amber);color:#0b0d10;}
.btn-solid{background:var(--amber);color:#0b0d10;}
.btn-solid:hover{background:var(--amber-deep);border-color:var(--amber-deep);color:#0b0d10;}

/* ---------- home hero ---------- */
.hero{
  position:relative;
  padding:140px 0 120px;
  background:
    linear-gradient(180deg, rgba(11,13,16,.55) 0%, rgba(11,13,16,.92) 78%),
    url("https://images.pexels.com/photos/356036/pexels-photo-356036.jpeg?auto=compress&cs=tinysrgb&w=1920") center/cover no-repeat;
  border-bottom:1px solid var(--line-soft);
}
.hero-kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;letter-spacing:3px;text-transform:uppercase;
  color:var(--amber);
  border:1px solid rgba(245,166,35,.4);
  padding:8px 16px;margin-bottom:28px;
}
.hero-kicker::before{content:"";width:8px;height:8px;background:var(--amber);}
.hero h1{
  font-size:56px;line-height:1.12;font-weight:800;
  max-width:820px;letter-spacing:-.5px;margin-bottom:24px;
}
.hero h1 em{font-style:normal;color:var(--amber);}
.hero p.lead{
  font-size:18px;color:var(--text-dim);max-width:640px;margin-bottom:40px;
}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}
.hero-stats{
  display:grid;grid-template-columns:repeat(4,1fr);
  margin-top:90px;border-top:1px solid var(--line);
}
.stat{
  padding:28px 24px 0 0;
  border-left:2px solid var(--amber);
  padding-left:20px;margin-top:-2px;
}
.stat b{display:block;font-size:34px;font-weight:800;color:var(--text);}
.stat b i{font-style:normal;color:var(--amber);font-size:22px;}
.stat span{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-faint);}

/* ---------- section basics ---------- */
section{padding:100px 0;}
.sec-head{margin-bottom:56px;}
.sec-tag{
  font-size:12px;letter-spacing:3px;text-transform:uppercase;
  color:var(--amber);display:flex;align-items:center;gap:12px;margin-bottom:16px;
}
.sec-tag::before{content:"";width:36px;height:2px;background:var(--amber);}
.sec-head h2{font-size:38px;font-weight:800;letter-spacing:-.3px;line-height:1.2;}
.sec-head p{color:var(--text-dim);max-width:680px;margin-top:14px;font-size:16px;}

/* ---------- products ---------- */
#products{background:var(--bg-alt);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);}
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.prod-card{
  background:var(--panel);
  border:1px solid var(--line);
  transition:border-color .25s, transform .25s;
  display:flex;flex-direction:column;
}
.prod-card:hover{border-color:var(--amber);transform:translateY(-4px);}
.prod-body{padding:26px 26px 30px;display:flex;flex-direction:column;flex:1;}
.prod-code{font-size:12px;letter-spacing:2px;color:var(--amber);text-transform:uppercase;margin-bottom:8px;}
.prod-body h3{font-size:22px;font-weight:700;margin-bottom:6px;}
.prod-body h3 a:hover{color:var(--amber);}
.prod-body .prod-sub{font-size:13px;color:var(--text-faint);margin-bottom:18px;}
.prod-specs{
  list-style:none;border-top:1px solid var(--line);margin-bottom:20px;
}
.prod-specs li{
  display:flex;justify-content:space-between;
  padding:9px 0;border-bottom:1px solid var(--line-soft);
  font-size:13px;
}
.prod-specs li span:first-child{color:var(--text-faint);}
.prod-specs li span:last-child{color:var(--text);font-weight:600;}
.prod-link{
  margin-top:auto;font-size:12px;letter-spacing:2px;text-transform:uppercase;
  color:var(--amber);display:inline-flex;align-items:center;gap:8px;
}
.prod-link::after{content:"→";transition:transform .2s;}
.prod-card:hover .prod-link::after{transform:translateX(4px);}

/* ---------- why / capability ---------- */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.feat{
  border:1px solid var(--line);padding:34px 30px;background:var(--bg);
  position:relative;
}
.feat::before{
  content:"";position:absolute;top:0;left:0;width:36px;height:3px;background:var(--amber);
}
.feat .num{
  font-size:13px;color:var(--text-faint);letter-spacing:2px;margin-bottom:18px;display:block;
}
.feat h3{font-size:18px;font-weight:700;margin-bottom:10px;}
.feat p{font-size:14px;color:var(--text-dim);}

/* ---------- global ---------- */
#global{background:var(--bg-alt);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);}
.office-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.office{
  background:var(--panel);border:1px solid var(--line);padding:30px 26px;
  transition:border-color .25s;
}
.office:hover{border-color:var(--amber);}
.office .o-region{
  font-size:12px;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--amber);margin-bottom:14px;display:block;
}
.office h3{font-size:19px;font-weight:700;margin-bottom:6px;}
.office p{font-size:13px;color:var(--text-dim);}
.global-note{
  margin-top:32px;font-size:13px;color:var(--text-faint);
  border-left:2px solid var(--line);padding-left:16px;
}

/* ---------- certifications strip ---------- */
.certs{display:flex;gap:16px;flex-wrap:wrap;}
.cert{
  border:1px solid var(--line);padding:14px 26px;
  font-size:13px;font-weight:600;letter-spacing:2px;color:var(--text-dim);
  text-transform:uppercase;background:var(--bg);
}
.cert:hover{color:var(--amber);border-color:var(--amber);}

/* ---------- contact ---------- */
#contact{background:var(--bg-alt);border-top:1px solid var(--line-soft);}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;}
.c-info h3{font-size:24px;font-weight:700;margin-bottom:10px;}
.c-info>p{color:var(--text-dim);font-size:15px;margin-bottom:32px;}
.c-line{
  display:flex;gap:14px;align-items:flex-start;
  padding:16px 0;border-top:1px solid var(--line);
}
.c-line:last-child{border-bottom:1px solid var(--line);}
.c-line .ico{
  width:38px;height:38px;flex:none;border:1px solid var(--amber);
  display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--amber);
}
.c-line .ico svg{width:18px;height:18px;}
.c-line .ico.letter{font-weight:800;font-size:14px;letter-spacing:0;}
.c-offices{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.c-offices .office{padding:22px 20px;}
.c-offices .office p{font-size:13px;}
.form-block{margin-top:72px;border-top:1px solid var(--line);padding-top:56px;}
.form-block>h3{font-size:24px;font-weight:700;margin-bottom:6px;}
.form-block>p{color:var(--text-dim);font-size:15px;margin-bottom:28px;}
.c-line b{display:block;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--text-faint);margin-bottom:2px;}
.c-line a, .c-line span.val{font-size:15px;color:var(--text);}
.c-line a:hover{color:var(--amber);}
form.inquiry{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
form.inquiry .full{grid-column:1/-1;}
.field label{
  display:block;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--text-faint);margin-bottom:8px;
}
.field input,.field select,.field textarea{
  width:100%;background:#0d1014;border:1px solid var(--line);
  color:var(--text);padding:13px 14px;font-size:14px;font-family:inherit;
  transition:border-color .2s;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--amber);
}
.field textarea{resize:vertical;min-height:130px;}
.form-note{grid-column:1/-1;font-size:12px;color:var(--text-faint);}

/* ---------- footer ---------- */
footer{
  background:#08090b;border-top:1px solid var(--line-soft);
  padding:64px 0 0;
}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-bottom:56px;}
.f-grid h4{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--text-faint);margin-bottom:18px;}
.f-grid ul{list-style:none;}
.f-grid li{margin-bottom:10px;}
.f-grid a{font-size:14px;color:var(--text-dim);}
.f-grid a:hover{color:var(--amber);}
.f-links{display:flex;gap:10px;margin-top:22px;}
.f-links a{
  width:34px;height:34px;border:1px solid var(--line);
  color:var(--text-dim);display:flex;align-items:center;justify-content:center;
  transition:border-color .2s,color .2s;
}
.f-links a:hover{border-color:var(--amber);color:var(--amber);}
.f-links svg{width:16px;height:16px;}
.f-links .letter{font-size:12px;font-weight:800;}
ul.f-offices{list-style:none;}
ul.f-offices li{margin-bottom:14px;}
ul.f-offices b{display:block;font-size:13px;font-weight:700;color:var(--text);}
ul.f-offices span{font-size:12px;color:var(--text-faint);}
.f-brand p{font-size:13px;color:var(--text-faint);margin-top:16px;max-width:300px;}
.f-bottom{
  border-top:1px solid var(--line-soft);
  padding:22px 0;
  display:flex;justify-content:space-between;align-items:center;
  font-size:12px;color:var(--text-faint);
}
.f-social{display:flex;gap:20px;}
.f-social a{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;}

/* ---------- product detail pages ---------- */
.breadcrumb{
  display:flex;gap:10px;align-items:center;
  font-size:12px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--text-faint);padding:28px 0 0;
}
.breadcrumb a:hover{color:var(--amber);}
.breadcrumb .sep{color:var(--line);}
.breadcrumb .cur{color:var(--amber);}
.prod-hero{
  padding:64px 0 88px;
}
.prod-hero h1{font-size:50px;font-weight:800;letter-spacing:-.5px;line-height:1.1;margin-bottom:14px;}
.prod-hero .prod-sub-lg{font-size:18px;color:var(--text-dim);margin-bottom:32px;max-width:520px;}
.chip-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:36px;}
.chip{
  border:1px solid var(--line);padding:10px 18px;font-size:13px;color:var(--text-dim);
  background:var(--panel);
}
.chip b{color:var(--amber);font-weight:700;}
.spec-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 56px;}
.spec-row{
  display:flex;justify-content:space-between;gap:24px;
  padding:13px 0;border-bottom:1px solid var(--line-soft);font-size:14px;
}
.spec-row span:first-child{color:var(--text-faint);}
.spec-row span:last-child{color:var(--text);font-weight:600;text-align:right;}
.app-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.app-item{
  border:1px solid var(--line);padding:26px 24px;background:var(--bg-alt);
}
.app-item h3{font-size:15px;font-weight:700;margin-bottom:8px;color:var(--text);}
.app-item p{font-size:13px;color:var(--text-dim);}
.series-cta{
  background:var(--panel);border:1px solid var(--line);
  padding:44px 48px;
  display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
}
.series-cta h3{font-size:24px;font-weight:800;margin-bottom:4px;}
.series-cta p{font-size:14px;color:var(--text-dim);}
.other-series{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;}
.os-link{
  border:1px solid var(--line);padding:16px 14px;text-align:center;
  font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);
  transition:border-color .2s,color .2s;background:var(--bg);
}
.os-link:hover{border-color:var(--amber);color:var(--amber);}
.os-link.active{border-color:var(--amber);color:var(--amber);background:var(--panel);}

/* ---------- responsive ---------- */
@media(max-width:1000px){
  .hero h1{font-size:40px;}
  .prod-grid,.feat-grid{grid-template-columns:repeat(2,1fr);}
  .office-grid{grid-template-columns:repeat(2,1fr);}
  .hero-stats{grid-template-columns:repeat(2,1fr);row-gap:32px;}
  .contact-grid{grid-template-columns:1fr;}
  .f-grid{grid-template-columns:1fr 1fr;}
  nav.menu{display:none;}
  .prod-hero{padding:48px 0 64px;}
  .prod-hero h1{font-size:38px;}
  .spec-cols{grid-template-columns:1fr;}
  .app-grid{grid-template-columns:repeat(2,1fr);}
  .other-series{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:620px){
  section{padding:70px 0;}
  .prod-grid,.feat-grid,.office-grid,.app-grid{grid-template-columns:1fr;}
  form.inquiry{grid-template-columns:1fr;}
  .c-offices{grid-template-columns:1fr;}
  .hero{padding:90px 0 80px;}
  .hero h1{font-size:32px;}
  .other-series{grid-template-columns:repeat(2,1fr);}
  .series-cta{padding:32px 26px;}
}
