﻿/* =========================================================
   YUCONLASER · 予成激光 — Design System
   Inspired by bodor.cn visual language (cloned style)
   ========================================================= */
:root{
  --orange:#FF4610;
  --orange-2:#ff7a3c;
  --orange-dark:#d8380a;
  --ink:#1D1D1F;
  --ink-2:#1a1b1e;
  --ink-3:#15171c;
  --gray-1:#F3F5F8;
  --gray-2:#F2F4F7;
  --gray-3:#868C9E;
  --line:rgba(151,151,151,.3);
  --white:#fff;
  --radius:14px;
  --maxw:1320px;
  --nav-h:72px;
  --font-en:"Montserrat","Oswald","SF Pro Display",Arial,sans-serif;
  --font-cn:"PingFang SC","Microsoft YaHei","Source Han Sans CN","Noto Sans SC",sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-cn);
  color:var(--ink);
  background:#fff;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  line-height:1.6;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{list-style:none;}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.en{font-family:var(--font-en);}
.section{padding:96px 0;}
.section-head{text-align:center;max-width:760px;margin:0 auto 56px;}
.eyebrow{
  display:inline-block;font-family:var(--font-en);font-weight:600;
  letter-spacing:3px;text-transform:uppercase;font-size:13px;color:var(--orange);
  margin-bottom:14px;
}
.section-head h2{
  font-size:42px;font-weight:700;letter-spacing:-.5px;line-height:1.2;
}
.section-head p{margin-top:16px;color:var(--gray-3);font-size:16px;}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 30px;border-radius:9999px;font-weight:600;font-size:15px;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
  cursor:pointer;border:none;
}
.btn-primary{background:var(--orange);color:#fff;box-shadow:0 10px 30px rgba(255,70,16,.28);}
.btn-primary:hover{background:var(--orange-dark);transform:translateY(-2px);box-shadow:0 16px 40px rgba(255,70,16,.38);}
.btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.3);}
.btn-ghost:hover{background:rgba(255,255,255,.2);}
.btn-dark{background:var(--ink);color:#fff;}
.btn-dark:hover{background:#000;transform:translateY(-2px);}

/* ===================== NAV ===================== */
.nav{
  position:fixed;top:0;left:0;width:100%;height:var(--nav-h);z-index:1000;
  display:flex;align-items:center;
  background:transparent;
  transition:background .4s ease, box-shadow .4s ease, height .3s ease;
}
.nav.scrolled{height:64px;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);box-shadow:0 1px 0 rgba(0,0,0,.06);}
.nav .container{display:flex;align-items:center;justify-content:space-between;}

/* dual logo: logo02 (light) on hero, logo01 (color) on scrolled white bar */
.logo{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:22px;letter-spacing:1px;}
.logo .mark{
  width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--orange),var(--orange-2));
  display:grid;place-items:center;font-family:var(--font-en);font-size:16px;color:#fff;box-shadow:0 6px 18px rgba(255,70,16,.4);
}
.logo .mark-img{height:68px;width:auto;display:block;transition:opacity .35s;}
.logo .logo02{filter:drop-shadow(0 1px 3px rgba(0,0,0,.35));}
.logo small{display:block;font-size:11px;letter-spacing:3px;opacity:.7;font-weight:500;}
.logo .logo01{display:none;}            /* color logo — hidden on hero */
.logo .logo02{display:block;}            /* light logo — shown on hero */
.nav.scrolled .logo{color:var(--ink);}
.nav.scrolled .logo .logo01{display:block;}   /* color logo on white bar */
.nav.scrolled .logo .logo02{display:none;}

.nav-links{display:flex;align-items:center;gap:34px;}
.nav-links a{color:rgba(255,255,255,.9);font-size:15px;font-weight:500;position:relative;padding:6px 0;transition:color .25s;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--orange);transition:width .3s;}
.nav-links a:hover{color:#fff;}
.nav-links a:hover::after{width:100%;}
.nav.scrolled .nav-links a{color:#454850;}
.nav.scrolled .nav-links a:hover{color:var(--orange);}
.nav-cta{display:flex;align-items:center;gap:14px;}
.nav-lang{color:rgba(255,255,255,.75);font-size:14px;font-family:var(--font-en);cursor:pointer;}
.nav.scrolled .nav-lang{color:var(--gray-3);}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;}
.nav-toggle span{width:26px;height:2px;background:#fff;transition:.3s;}
.nav.scrolled .nav-toggle span{background:var(--ink);}

/* ===================== HERO ===================== */
.hero{position:relative;height:100vh;min-height:640px;overflow:hidden;display:flex;align-items:center;}
.hero .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;background:#0b0c0f;}
.hero video,.hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
/* CSS laser ambience — layered above the photo, subtle tint + sweeping beams */
.hero-fx{position:absolute;inset:0;z-index:1;background:
  radial-gradient(120% 90% at 80% 10%,rgba(255,70,16,.28),transparent 55%),
  radial-gradient(100% 80% at 15% 90%,rgba(255,122,60,.18),transparent 50%);
  overflow:hidden;}
.hero-fx::before,.hero-fx::after{content:"";position:absolute;left:-20%;width:140%;height:2px;
  background:linear-gradient(90deg,transparent,rgba(255,70,16,0) 10%,rgba(255,70,16,.85) 50%,rgba(255,122,60,0) 90%,transparent);
  filter:blur(.5px);animation:beam 6s linear infinite;}
.hero-fx::before{top:32%;}
.hero-fx::after{top:68%;animation-duration:8s;animation-delay:1.5s;}
@keyframes beam{0%{transform:translateX(-30%) translateY(0);opacity:0;}20%{opacity:1;}80%{opacity:1;}100%{transform:translateX(30%) translateY(-40px);opacity:0;}}
.hero-video{display:block;}
.hero .overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(100deg,rgba(8,9,11,.82) 0%,rgba(8,9,11,.5) 45%,rgba(8,9,11,.25) 100%);}
.hero .container{position:relative;z-index:2;color:#fff;}
.hero .badge{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:9999px;background:rgba(255,70,16,.16);border:1px solid rgba(255,70,16,.4);color:#ffd9c9;font-size:13px;letter-spacing:1px;margin-bottom:22px;}
.hero .badge .dot{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(255,70,16,.25);}
.hero h1{font-size:clamp(38px,6vw,76px);line-height:1.05;font-weight:700;letter-spacing:-1px;}
.hero h1 .hl{color:var(--orange);}
.hero p.lead{margin-top:22px;font-size:clamp(16px,1.5vw,20px);color:rgba(255,255,255,.82);max-width:620px;}
.hero .actions{margin-top:38px;display:flex;gap:16px;flex-wrap:wrap;}
.hero .scroll-cue{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:2;color:rgba(255,255,255,.6);font-size:12px;letter-spacing:2px;text-align:center;}
.hero .scroll-cue .mouse{width:24px;height:38px;border:2px solid rgba(255,255,255,.5);border-radius:14px;margin:0 auto 8px;position:relative;}
.hero .scroll-cue .mouse::after{content:"";position:absolute;top:7px;left:50%;transform:translateX(-50%);width:4px;height:7px;border-radius:2px;background:#fff;animation:scrollDot 1.6s infinite;}
@keyframes scrollDot{0%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}100%{opacity:0;transform:translate(-50%,12px)}}

/* Hero mini stats */
.hero-stats{position:absolute;z-index:2;bottom:0;left:0;width:100%;background:rgba(8,9,11,.55);backdrop-filter:blur(6px);}
.hero-stats .container{display:flex;gap:0;padding-top:18px;padding-bottom:18px;flex-wrap:wrap;text-align: center;}
.hero-stats .item{flex:1;min-width:140px;color:#fff;padding:0 24px;border-left:1px solid rgba(255,255,255,.12);}
.hero-stats .item:first-child{border-left:none;padding-left:0;}
.hero-stats .num{font-family:var(--font-en);font-size:30px;font-weight:700;color:var(--orange);}
.hero-stats .lab{font-size:13px;color:rgba(255,255,255,.7);margin-top:2px;}

/* ===================== PRODUCT GRID ===================== */
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.product-card{
  position:relative;border-radius:var(--radius);overflow:hidden;background:var(--gray-1);
  display:flex;flex-direction:column;border:1px solid var(--gray-2);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.product-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(0,0,0,.12);border-color:var(--orange);}
.product-card .pc-media{position:relative;aspect-ratio:2/1;background:var(--gray-1);overflow:hidden;}
.product-card .pc-media.empty{background:linear-gradient(135deg,#1d1d1f,#2c2f36);}
.product-card .pc-media img{position:absolute;inset:0;width:100%;height:Auto;object-fit:cover;transition:transform .6s ease;}
.product-card:hover .pc-media img{transform:scale(1.05);}
.product-card .pc-body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:10px;}
.product-card .pc-body h3{font-size:17px;font-weight:700;color:var(--ink);line-height:1.45;}
.product-card .pc-body p{font-size:13.5px;color:var(--gray-3);line-height:1.7;margin:0;}
.product-card .pc-body .more{margin-top:2px;font-size:14px;font-weight:600;color:var(--orange);}
/* dark variant: brand-color card, clean text below image (no overlay) */
.product-card.dark{background:linear-gradient(180deg,#1d1d1f,#2c2f36);border-color:#2c2f36;}
.product-card.dark .pc-media{background:linear-gradient(135deg,#1d1d1f,#2c2f36);}
.product-card.dark .pc-body h3{color:#fff;}
.product-card.dark .pc-body p{color:rgba(255,255,255,.72);}
.product-card.dark .pc-body .more{color:var(--orange-2);}
.product-card .tag{position:absolute;top:16px;left:16px;z-index:2;background:var(--orange);color:#fff;font-size:12px;font-weight:600;padding:5px 12px;border-radius:9999px;}

/* ===================== SOLUTIONS ===================== */
.solution-wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:auto auto;gap:18px;}
.sol-card{position:relative;border-radius:var(--radius);overflow:hidden;min-height:240px;display:flex;align-items:flex-end;color:#fff;background:var(--ink-3);}
.sol-card.big{grid-row:span 2;min-height:498px;}
.sol-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s;}
.sol-card:hover img{transform:scale(1.05);}
.sol-card .mask{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.7));}
.sol-card .body{position:relative;z-index:2;padding:26px;}
.sol-card .body h3{font-size:24px;font-weight:700;}
.sol-card.big .body h3{font-size:30px;}
.sol-card .body p{font-size:14px;color:rgba(255,255,255,.78);margin-top:8px;}
.sol-card .body .arrow{margin-top:14px;color:var(--orange);font-weight:600;}

/* ===================== CASES ===================== */
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.case-card{border-radius:var(--radius);overflow:hidden;background:#fff;border:1px solid var(--gray-2);transition:transform .35s, box-shadow .35s;}
.case-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(0,0,0,.1);}
.case-card img{width:100%;aspect-ratio:3/2;object-fit:cover;}
.case-card .body{padding:22px;}
.case-card .body .tag{color:var(--orange);font-size:12px;font-weight:600;font-family:var(--font-en);letter-spacing:1px;}
.case-card .body h3{font-size:19px;font-weight:700;margin-top:8px;}
.case-card .body p{font-size:14px;color:var(--gray-3);margin-top:8px;}

/* ===================== CLIENTS WALL ===================== */
.clients{background:var(--gray-1);}
/* bodor-style horizontal infinite marquee, logos fully visible (contain, no crop) */
.logo-wall{display:flex;flex-direction:column;gap:14px;overflow:hidden;padding:6px 0;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.logo-marquee{display:flex;width:100%;overflow:hidden;}
.logo-marquee--left .logo-row{animation:logoScrollX 55s linear infinite;}
.logo-marquee--right .logo-row{animation:logoScrollX 55s linear infinite reverse;}
.logo-wall:hover .logo-row{animation-play-state:paused;}
.logo-row{display:flex;flex:0 0 auto;gap:14px;padding-right:14px;}
.logo-row .logo-item{flex:0 0 auto;width:170px;height:100px;background:#fff;border:0px solid var(--gray-2);border-radius:10px;display:grid;place-items:center;padding:10px;overflow:hidden;transition:border-color .3s, transform .3s, box-shadow .3s;}
.logo-row .logo-item img{display:block;width:100%;height:100%;object-fit:contain;filter:grayscale(0);opacity:1;transition:transform .35s;}
.logo-row .logo-item:hover{border-color:var(--orange);transform:translateY(-3px);box-shadow:0 10px 24px rgba(255,70,16,.18);}
.logo-row .logo-item:hover img{transform:scale(1.04);}
@keyframes logoScrollX{from{transform:translateX(0);}to{transform:translateX(-100%);}}

/* ===================== STATS (numbers) ===================== */
.stats{background:var(--ink);color:#fff;}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;}
.stats .num{font-family:var(--font-en);font-size:clamp(40px,5vw,64px);font-weight:700;color:var(--orange);line-height:1;}
.stats .lab{margin-top:12px;color:rgba(255,255,255,.7);font-size:15px;}

/* ===================== BLACK TECH ===================== */
.tech{background:radial-gradient(120% 120% at 70% 10%,#1c1f26 0%,#0b0c0f 60%);color:#fff;}
.tech-split{display:grid;grid-template-columns:1fr 64px 1fr;gap:24px;align-items:stretch;}
.tech-track{border-radius:20px;padding:32px 30px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);position:relative;overflow:hidden;transition:.35s;}
.tech-track::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;}
.track-cut{box-shadow:0 20px 50px rgba(255,70,16,.12);}
.track-cut::before{background:linear-gradient(90deg,var(--orange),var(--orange-2));}
.track-weld{box-shadow:0 20px 50px rgba(34,211,238,.12);}
.track-weld::before{background:linear-gradient(90deg,#22d3ee,#38bdf8);}
.tech-track:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.22);}
.track-head{padding-bottom:22px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1);}
.track-badge{display:inline-block;font-family:var(--font-en);font-size:12px;font-weight:700;letter-spacing:.06em;padding:6px 12px;border-radius:9999px;margin-bottom:14px;}
.track-cut .track-badge{background:rgba(255,70,16,.16);color:var(--orange-2);}
.track-weld .track-badge{background:rgba(34,211,238,.16);color:#22d3ee;}
.track-head h3{font-size:22px;font-weight:700;line-height:1.35;}
.track-head>p{font-size:14px;color:rgba(255,255,255,.6);margin-top:8px;}
.track-stat{display:flex;align-items:baseline;gap:14px;margin-top:18px;}
.track-stat .big{font-family:var(--font-en);font-size:40px;font-weight:800;line-height:1;}
.track-cut .track-stat .big{color:var(--orange);}
.track-weld .track-stat .big{color:#22d3ee;}
.track-stat .big span{font-size:22px;opacity:.8;}
.track-stat .lab{font-size:13px;color:rgba(255,255,255,.6);}
.track-list li{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.08);}
.track-list li:last-child{border-bottom:none;}
.track-list li .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:20px;flex:none;}
.track-cut .track-list li .ic{background:rgba(255,70,16,.16);color:var(--orange);}
.track-weld .track-list li .ic{background:rgba(34,211,238,.16);color:#22d3ee;}
.track-list li h4{font-size:17px;font-weight:600;}
.track-list li p{font-size:13.5px;color:rgba(255,255,255,.62);margin-top:4px;line-height:1.5;}
.track-list li .metric{display:inline-block;margin-top:8px;font-family:var(--font-en);font-size:12px;font-weight:700;padding:3px 10px;border-radius:6px;}
.track-cut .track-list li .metric{background:rgba(255,70,16,.14);color:var(--orange-2);}
.track-weld .track-list li .metric{background:rgba(34,211,238,.14);color:#22d3ee;}
.track-vs{display:grid;place-items:center;}
.track-vs span{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-en);font-weight:800;font-size:16px;color:#fff;background:radial-gradient(circle at 30% 30%,#2a2e37,#15171c);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 24px rgba(0,0,0,.4);}

/* ===================== GLOBAL ===================== */
.global .map-tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:40px;}
.global .map-tab{padding:9px 20px;border-radius:9999px;background:var(--gray-1);color:var(--ink);font-size:14px;font-weight:500;cursor:pointer;transition:.25s;border:1px solid transparent;}
.global .map-tab.active{background:var(--orange);color:#fff;}
.global .regions{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.global .region{border:1px solid var(--gray-2);border-radius:12px;padding:20px;transition:.3s;background:#fff;}
.global .region:hover{border-color:var(--orange);box-shadow:0 12px 30px rgba(255,70,16,.1);}
.global .region h4{font-size:16px;font-weight:700;font-family:var(--font-en);}
.global .region p{font-size:13px;color:var(--gray-3);margin-top:6px;}

/* ===================== NEWS ===================== */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.news-card{border-radius:var(--radius);overflow:hidden;border:1px solid var(--gray-2);transition:.35s;background:#fff;}
.news-card:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(0,0,0,.1);}
.news-card img{width:100%;aspect-ratio:8/5;object-fit:cover;}
.news-card .body{padding:22px;}
.news-card .date{font-family:var(--font-en);color:var(--orange);font-size:13px;letter-spacing:1px;}
.news-card h3{font-size:18px;font-weight:700;margin-top:10px;line-height:1.4;}

/* ===================== CTA ===================== */
.cta{background:linear-gradient(120deg,var(--orange),var(--orange-2));color:#fff;text-align:center;}
.cta h2{font-size:clamp(28px,4vw,46px);font-weight:700;}
.cta p{margin-top:14px;font-size:17px;color:rgba(255,255,255,.9);}
.cta .actions{margin-top:30px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.cta .btn-white{background:#fff;color:var(--orange);}
.cta .btn-white:hover{transform:translateY(-2px);}
.cta .btn-line{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6);}
.cta .btn-line:hover{background:rgba(255,255,255,.12);}

/* ===================== FOOTER ===================== */
.footer{background:var(--ink-2);color:#fff;padding:72px 0 28px;}
.footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:36px 40px;align-items:start;}
.footer .top>div{min-width:0;}
.footer .brand .logo{margin-bottom:18px;}
.footer .brand p{color:rgba(255,255,255,.6);font-size:14px;max-width:300px;line-height:1.7;}
.footer h5{font-size:15px;font-weight:600;margin-bottom:18px;color:#fff;}
.footer ul li{margin-bottom:12px;}
.footer ul li a{color:rgba(255,255,255,.6);font-size:14px;transition:color .25s;}
.footer ul li a:hover{color:var(--orange);}
.footer .contact p{color:rgba(255,255,255,.7);font-size:14px;margin-bottom:10px;}
.footer .contact .tel{font-family:var(--font-en);font-size:22px;font-weight:700;color:var(--orange);}
.footer .bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px 24px;color:rgba(255,255,255,.5);font-size:13px;}
.footer .socials{display:flex;gap:12px;}
.footer .socials a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;transition:.3s;}
.footer .socials a:hover{background:var(--orange);}

/* ===================== ABOUT ===================== */
.about .about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;}
.about h2{font-size:38px;font-weight:700;line-height:1.2;margin:14px 0 18px;letter-spacing:-.5px;}
.about p{color:#3a3d44;font-size:16px;margin-bottom:14px;}
.about p strong{color:var(--ink);}
.about-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.about-tags span{background:var(--gray-1);border:1px solid var(--gray-2);color:var(--ink);font-size:13px;padding:8px 14px;border-radius:9999px;}
.about-img{position:relative;}
.about-img img{width:100%;height:auto;display:block;border-radius:var(--radius);box-shadow:0 20px 50px rgba(0,0,0,.12);}
.about-card{position:absolute;right:-14px;bottom:22px;background:rgba(29,29,31,.92);backdrop-filter:blur(10px);color:#fff;border-radius:14px;padding:18px 24px;box-shadow:0 18px 40px rgba(0,0,0,.3);}
.about-card .num{font-family:var(--font-en);font-size:34px;font-weight:700;color:var(--orange);line-height:1;}
.about-card .lab{font-size:13px;color:rgba(255,255,255,.78);margin-top:6px;}

/* ===================== FLAGSHIP PRODUCT ===================== */
.flagship{display:grid;grid-template-columns:1fr 1.05fr;gap:40px;align-items:stretch;background:var(--gray-1);border-radius:20px;overflow:hidden;margin-bottom:48px;}
.flagship-media{position:relative;min-height:340px;}
.flagship-media img{width:100%;height:auto;object-fit:cover;}
.flagship-media .tag{position:absolute;top:18px;left:18px;background:var(--orange);color:#fff;font-size:12px;font-weight:600;padding:6px 13px;border-radius:9999px;}
.flagship-body{padding:38px 40px 38px 0;display:flex;flex-direction:column;}
.flagship-body .btn{margin-top:24px;align-self:flex-start;}
.flagship-body h3{font-size:28px;font-weight:700;line-height:1.25;}
.flagship-body .en{font-family:var(--font-en);color:var(--gray-3);font-size:13px;margin-top:6px;letter-spacing:.5px;}
.flagship-body>p{color:#3a3d44;font-size:15px;margin-top:14px;}
.flagship-body .lead{color:#3a3d44;font-size:15px;line-height:1.7;margin-top:14px;}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);margin-top:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.stat-row div{padding:16px 4px;text-align:center;border-right:1px solid var(--line);}
.stat-row div:last-child{border-right:none;}
.stat-row b{font-size:22px;font-weight:700;color:var(--ink);line-height:1;}
.stat-row b small{font-size:12px;font-weight:600;color:var(--gray-3);margin-left:2px;}
.stat-row span{display:block;font-size:12px;color:var(--gray-3);margin-top:7px;}
.func-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}
.func-row span{background:#fff;border:1px solid var(--gray-2);border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600;color:var(--ink);}

/* ===================== PRODUCTS · TABS + 2x2 ===================== */
.prod-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:0;margin-bottom:34px;border-bottom:1px solid var(--gray-2);}
.prod-tab{
  position:relative;background:transparent;border:none;cursor:pointer;
  padding:18px 28px;font-size:17px;font-weight:600;color:var(--gray-3);
  transition:color .25s;font-family:inherit;letter-spacing:1px;
}
.prod-tab::after{content:"";position:absolute;left:50%;bottom:-1px;width:0;height:3px;background:var(--orange);transition:width .3s,left .3s;border-radius:2px;}
.prod-tab:hover{color:var(--ink);}
.prod-tab.active{color:var(--ink);}
.prod-tab.active::after{width:60%;left:20%;}

.prod-panel{display:none;}
.prod-panel.active{display:block;}

.prod-panel-grid{display:grid;grid-template-columns:1fr 2fr;gap:24px;align-items:stretch;}

.prod-intro{
  position:relative;display:block;border-radius:18px;overflow:hidden;min-height:520px;
  background:#0d1014;color:#fff;transition:transform .35s,box-shadow .35s;
}
.prod-intro:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(0,0,0,.18);}
.prod-intro img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85;transition:transform .6s,opacity .35s;}
.prod-intro:hover img{transform:scale(1.05);opacity:1;}
.prod-intro::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.75) 75%,rgba(0,0,0,.92) 100%);}
.prod-intro-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:34px 30px;}
.prod-intro-body h3{font-size:30px;font-weight:700;letter-spacing:-.5px;line-height:1.2;}
.prod-intro-body p{margin-top:14px;font-size:15px;color:rgba(255,255,255,.82);line-height:1.7;}
.prod-intro-body .more{display:inline-block;margin-top:20px;color:var(--orange);font-weight:600;font-size:15px;}

.prod-sub-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.prod-sub{
  position:relative;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;
  background:#fff;border:1px solid var(--gray-2);transition:transform .25s,box-shadow .25s,border-color .25s;
}
.prod-sub:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.08);border-color:var(--orange);}
.prod-sub-img{position:relative;aspect-ratio:16/10;background:var(--gray-1);overflow:hidden;}
.prod-sub-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.prod-sub:hover .prod-sub-img img{transform:scale(1.04);}
.prod-sub-body{padding:14px 16px;}
.prod-sub-body h4{font-size:15px;font-weight:600;color:var(--ink);line-height:1.3;}

/* ===================== PRODUCTS · 3x2 GRID ===================== */
.prod-grid-3x2{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.prod-card{
  position:relative;display:flex;flex-direction:column;border-radius:14px;overflow:hidden;
  background:#fff;border:1px solid var(--gray-2);transition:transform .3s,box-shadow .3s,border-color .3s;
}
.prod-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,.08);border-color:var(--orange);}
.prod-card-img{position:relative;aspect-ratio:16/9;background:var(--gray-1);overflow:hidden;}
.prod-card-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.prod-card:hover .prod-card-img img{transform:scale(1.03);}
.prod-card-body{padding:16px 18px 18px;}
.prod-card-body h3{font-size:16px;font-weight:700;color:var(--ink);line-height:1.25;}
.prod-card-body p{margin-top:6px;font-size:12px;color:var(--gray-3);line-height:1.5;}
.prod-card-body .more{display:inline-block;margin-top:8px;color:var(--orange);font-weight:600;font-size:12px;}

/* dark variant: dark image background, white text */
.prod-card.dark{background:linear-gradient(180deg,#0d1014 0%,#1a1f26 100%);border:1px solid #1f242b;color:#fff;}
.prod-card.dark .prod-card-body h3{color:#fff;}
.prod-card.dark .prod-card-body p{color:rgba(255,255,255,.7);}
.prod-card.dark .prod-card-img{background:#0d1014;}

@media (max-width:1100px){
  .prod-panel-grid{grid-template-columns:1fr;}
  .prod-grid-3x2{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:768px){
  .prod-tab{padding:14px 16px;font-size:15px;}
  .prod-sub-grid{grid-template-columns:1fr;}
  .prod-intro{min-height:380px;}
  .prod-intro-body h3{font-size:22px;}
  .prod-grid-3x2{grid-template-columns:1fr;}
}

/* ===================== reveal anim ===================== */

.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.28,.11,.32,1),transform .8s cubic-bezier(.28,.11,.32,1);}
.reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.08s;}
.reveal.d2{transition-delay:.16s;}
.reveal.d3{transition-delay:.24s;}
.reveal.d4{transition-delay:.32s;}

/* ===================== carousel ===================== */
.carousel{position:relative;overflow:hidden;border-radius:var(--radius);}
.carousel-track{display:flex;transition:transform .7s cubic-bezier(.28,.11,.32,1);}
.carousel-slide{min-width:100%;position:relative;aspect-ratio:21/9;background:#000;}
.carousel-slide img{width:100%;height:100%;object-fit:cover;}
.carousel-slide .cap{position:absolute;left:0;bottom:0;width:100%;padding:40px;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent);}
.carousel-slide .cap h3{font-size:24px;font-weight:700;}
.carousel-slide .cap p{font-size:14px;color:rgba(255,255,255,.8);margin-top:6px;}
.carousel-nav{position:absolute;bottom:24px;right:24px;display:flex;gap:10px;z-index:3;}
.carousel-nav button{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.3);color:#fff;cursor:pointer;font-size:18px;transition:.25s;}
.carousel-nav button:hover{background:var(--orange);border-color:var(--orange);}
.carousel-dots{position:absolute;bottom:28px;left:40px;display:flex;gap:8px;z-index:3;}
.carousel-dots span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:.25s;}
.carousel-dots span.active{background:var(--orange);width:26px;border-radius:6px;}

/* ===================== PRODUCT DETAIL / HUB ===================== */
.pbread{font-size:13px;color:var(--gray-3);margin:0 0 18px;font-weight:500;}
.pbread a{color:var(--gray-3);}
.pbread a:hover{color:var(--orange);}
.pbread span{margin:0 8px;opacity:.5;}
.phero{position:relative;padding:140px 0 70px;color:#fff;overflow:hidden;}
.phero .pb-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;background:#0b0c0f;}
.phero .overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(8,9,11,.86) 0%,rgba(8,9,11,.55) 50%,rgba(8,9,11,.2) 100%);}
.phero .container{position:relative;z-index:2;}
.phero .eyebrow{color:var(--orange);}
.phero h1{font-size:clamp(30px,4.4vw,54px);font-weight:700;line-height:1.15;letter-spacing:-.5px;max-width:880px;}
.phero .en{font-family:var(--font-en);color:rgba(255,255,255,.7);font-size:14px;margin-top:12px;letter-spacing:.5px;}
.phero p.lead{margin-top:20px;font-size:17px;color:rgba(255,255,255,.82);max-width:640px;}
.pquick{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}
.pquick .q{flex:1;min-width:150px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:16px 18px;}
.pquick .q b{display:block;font-family:var(--font-en);font-size:22px;font-weight:700;color:var(--orange);}
.pquick .q span{font-size:13px;color:rgba(255,255,255,.72);}
.psec{margin-top:64px;}
.psec h2{font-size:30px;font-weight:700;margin-bottom:8px;}
.psec .sub{color:var(--gray-3);font-size:15px;margin-bottom:28px;}
.feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.feat-grid .f{display:flex;gap:14px;background:var(--gray-1);border:1px solid var(--gray-2);border-radius:12px;padding:20px;}
.feat-grid .f .ic{width:42px;height:42px;border-radius:11px;background:rgba(255,70,16,.12);color:var(--orange);display:grid;place-items:center;font-size:20px;flex:none;}
.feat-grid .f h4{font-size:16px;font-weight:600;}
.feat-grid .f p{font-size:14px;color:var(--gray-3);margin-top:5px;line-height:1.55;}
.pspec{background:var(--gray-1);border-radius:16px;padding:32px;}
.pspec .spec-grid{background:var(--line);}
.pspec .spec-grid div{background:#fff;}
.papps{display:flex;flex-wrap:wrap;gap:12px;}
.papps span{background:var(--gray-1);border:1px solid var(--gray-2);border-radius:9999px;padding:9px 18px;font-size:14px;font-weight:600;}
.pnote{font-size:13px;color:var(--gray-3);margin-top:16px;line-height:1.6;}
.prelate{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.prelate a{display:block;border:1px solid var(--gray-2);border-radius:12px;padding:20px;background:#fff;transition:.3s;}
.prelate a:hover{border-color:var(--orange);transform:translateY(-3px);box-shadow:0 12px 30px rgba(255,70,16,.1);}
.prelate a h4{font-size:16px;font-weight:700;}
.prelate a p{font-size:13px;color:var(--gray-3);margin-top:6px;}
.pcta{background:linear-gradient(120deg,var(--orange),var(--orange-2));color:#fff;padding:54px 0;text-align:center;margin-top:72px;}
.pcta h2{font-size:30px;font-weight:700;}
.pcta p{margin-top:12px;color:rgba(255,255,255,.9);font-size:16px;}
.pcta .actions{margin-top:26px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.pcta .btn-white{background:#fff;color:var(--orange);}
.pcta .btn-line{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6);}

/* ===================== PRODUCT DETAIL · ENHANCE ===================== */
.principle{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.principle .step{position:relative;background:var(--gray-1);border:1px solid var(--gray-2);border-radius:16px;padding:24px 24px 24px 84px;overflow:hidden;}
.principle .step .no{position:absolute;left:22px;top:22px;width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--orange),var(--orange-2));color:#fff;display:grid;place-items:center;font-family:var(--font-en);font-weight:800;font-size:20px;}
.principle .step h4{font-size:17px;font-weight:700;}
.principle .step h4 .tag{font-size:12px;font-weight:600;color:var(--gray-3);margin-left:8px;}
.principle .step p{font-size:14px;color:var(--gray-3);margin-top:6px;line-height:1.6;}
.principle .step .kv{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.principle .step .kv span{font-family:var(--font-en);font-size:12px;font-weight:700;color:var(--orange);background:rgba(255,70,16,.1);padding:3px 9px;border-radius:6px;}

.pcompare,.ptable{overflow-x:auto;border-radius:14px;border:1px solid var(--gray-2);}
.pcompare table,.ptable table{width:100%;border-collapse:collapse;background:#fff;}
.pcompare table{min-width:560px;}
.ptable table{min-width:520px;}
.pcompare th,.pcompare td,.ptable th,.ptable td{padding:13px 16px;font-size:14px;border-bottom:1px solid var(--gray-2);}
.pcompare th,.pcompare td{text-align:center;}
.ptable th,.ptable td{text-align:left;}
.pcompare thead th,.ptable thead th{background:var(--ink);color:#fff;font-weight:600;}
.pcompare tbody th{background:var(--gray-1);font-weight:600;text-align:left;color:var(--ink);}
.ptable tbody th{background:var(--gray-1);font-weight:600;color:var(--ink);width:40%;}
.ptable tbody td{font-family:var(--font-en);font-weight:700;color:var(--orange-dark);}
.pcompare td.hl{background:rgba(255,70,16,.08);color:var(--orange-dark);font-weight:700;}
.pcompare thead td.hl{background:var(--orange);color:#fff;}
.pcompare tbody tr:last-child td,.pcompare tbody tr:last-child th,.ptable tbody tr:last-child th,.ptable tbody tr:last-child td{border-bottom:none;}
.ptable tbody tr:hover th,.ptable tbody tr:hover td{background:rgba(255,70,16,.06);}

.pgallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.pgallery .g{position:relative;border-radius:14px;overflow:hidden;background:var(--gray-1);aspect-ratio:4/3;}
.pgallery .g img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.pgallery .g:hover img{transform:scale(1.06);}
.pgallery .g .cap{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:linear-gradient(0deg,rgba(8,9,11,.78),transparent);color:#fff;font-size:14px;font-weight:600;}
.pgallery .g.wide{grid-column:span 2;}

.pvideo{position:relative;border-radius:18px;overflow:hidden;background:#0b0c0f;aspect-ratio:16/9;box-shadow:0 18px 44px rgba(0,0,0,.18);}
.pvideo video{width:100%;height:100%;object-fit:cover;display:block;}
.pvideo .voverlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,9,11,.55),rgba(8,9,11,.15));pointer-events:none;}
.pvideo .vlabel{position:absolute;left:24px;bottom:22px;color:#fff;}
.pvideo .vlabel .eyebrow{color:var(--orange);font-size:12px;}
.pvideo .vlabel h4{font-size:20px;font-weight:700;margin-top:4px;}

.pcost{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.pcost .c{background:var(--gray-1);border:1px solid var(--gray-2);border-radius:16px;padding:24px;}
.pcost .c .name{font-size:15px;font-weight:600;color:var(--ink);}
.pcost .c .price{font-family:var(--font-en);font-size:30px;font-weight:800;margin-top:8px;}
.pcost .c.trad .price{color:var(--gray-3);}
.pcost .c.laser .price{color:var(--orange);}
.pcost .c .row{display:flex;justify-content:space-between;font-size:13px;color:var(--gray-3);margin-top:8px;border-top:1px dashed var(--gray-2);padding-top:8px;}
.pcost .c .save{margin-top:14px;font-weight:700;color:var(--orange);font-size:15px;}

.pbrand{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.pbrand .b{background:var(--gray-1);border:1px solid var(--gray-2);border-radius:14px;padding:22px;text-align:center;}
.pbrand .b b{display:block;font-family:var(--font-en);font-size:30px;font-weight:800;color:var(--orange);}
.pbrand .b span{font-size:13px;color:var(--gray-3);margin-top:6px;display:block;line-height:1.5;}
.ppatent{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;}
.ppatent span{font-size:13px;background:var(--gray-1);border:1px solid var(--gray-2);border-radius:9999px;padding:8px 16px;color:var(--ink);}

@media (max-width:768px){
  .principle,.pgallery,.pcost{grid-template-columns:1fr;}
  .pgallery .g.wide{grid-column:auto;}
  .pbrand{grid-template-columns:repeat(2,1fr);}
}

/* hub grid */
.hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.hub-card{display:flex;gap:0;border:1px solid var(--gray-2);border-radius:16px;overflow:hidden;background:#fff;transition:.35s;}
.hub-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(0,0,0,.1);border-color:var(--orange);}
.hub-card .pic{width:42%;min-height:200px;position:relative;}
.hub-card .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hub-card .info{padding:24px;flex:1;}
.hub-card .info .idx{font-family:var(--font-en);color:var(--orange);font-weight:700;font-size:14px;}
.hub-card .info h3{font-size:20px;font-weight:700;margin:6px 0 10px;line-height:1.3;}
.hub-card .info p{font-size:13px;color:var(--gray-3);line-height:1.6;}
.hub-card .info .more{margin-top:14px;display:inline-block;color:var(--orange);font-weight:600;font-size:14px;}

/* ===================== COMPANY PROFILE ===================== */
.chero-fx{position:absolute;inset:0;z-index:1;background:radial-gradient(120% 90% at 80% 10%,rgba(255,70,16,.26),transparent 55%),radial-gradient(100% 80% at 15% 90%,rgba(255,122,60,.16),transparent 50%);overflow:hidden;}
.chero-fx::before,.chero-fx::after{content:"";position:absolute;left:-20%;width:140%;height:2px;background:linear-gradient(90deg,transparent,rgba(255,70,16,.85) 50%,transparent);filter:blur(.5px);animation:beam 6s linear infinite;}
.chero-fx::before{top:36%;}.chero-fx::after{top:64%;animation-duration:8s;animation-delay:1.5s;}
.about-lead{font-size:19px;line-height:1.9;color:#3a3d44;}
.about-lead strong{color:var(--ink);}
.milestone{display:grid;grid-template-columns:64px 1fr;gap:22px;align-items:start;padding:26px 0;border-bottom:1px solid var(--gray-2);}
.milestone:last-child{border-bottom:none;}
.milestone .no{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,var(--orange),var(--orange-2));color:#fff;display:grid;place-items:center;font-family:var(--font-en);font-size:24px;font-weight:700;box-shadow:0 10px 24px rgba(255,70,16,.3);}
.milestone h4{font-size:20px;font-weight:700;}
.milestone .en{font-family:var(--font-en);color:var(--gray-3);font-size:13px;margin:2px 0 8px;}
.milestone p{color:#3a3d44;font-size:15px;line-height:1.7;}

/* Timeline (发展历程) */
.timeline{position:relative;margin-top:30px;}
.timeline::before{content:"";position:absolute;left:108px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--orange) 0%,var(--orange-2) 50%,#e6e7ea 100%);border-radius:2px;}
.tl-year{position:relative;display:flex;align-items:center;gap:18px;margin:32px 0 18px;}
.tl-year .lbl{width:96px;text-align:right;font-family:var(--font-en);font-weight:800;font-size:30px;color:var(--ink);letter-spacing:-.5px;line-height:1;}
.tl-year .dot{width:14px;height:14px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px #fff,0 0 0 6px rgba(255,70,16,.22);position:relative;z-index:1;}
.tl-row{position:relative;display:grid;grid-template-columns:108px 24px 1fr;gap:0;align-items:start;padding:14px 0;border-bottom:1px dashed #ececef;}
.tl-row:last-child{border-bottom:none;}
.tl-row .date{font-family:var(--font-en);font-size:14px;color:var(--gray-3);text-align:right;padding-right:16px;font-weight:600;}
.tl-row .pin{width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--orange);margin:6px auto 0;position:relative;z-index:1;box-shadow:0 0 0 4px #fff;}
.tl-row .evt{font-size:15px;line-height:1.7;color:#3a3d44;padding-left:14px;}
.tl-row .evt b{color:var(--ink);font-weight:600;}
.tl-row:hover .pin{background:var(--orange);transform:scale(1.15);transition:.2s;}
.honor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.honor-grid .h{background:#fff;border:1px solid var(--gray-2);border-radius:14px;padding:26px 22px;text-align:center;transition:.3s;}
.honor-grid .h:hover{border-color:var(--orange);transform:translateY(-4px);box-shadow:0 14px 30px rgba(255,70,16,.12);}
.honor-grid .ic{font-size:30px;margin-bottom:12px;}
.honor-grid .h h4{font-size:17px;font-weight:700;color:var(--ink);}
.honor-grid .h p{font-size:13px;color:var(--gray-3);margin-top:4px;font-family:var(--font-en);}
.pnote{margin-top:26px;color:var(--gray-3);font-size:14px;text-align:center;}

/* Cert wall */
.cert-wall .cert-group{margin-top:34px;}
.cert-wall .cert-cat{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:16px;display:flex;align-items:baseline;gap:10px;}
.cert-wall .cert-cat span{font-size:13px;color:var(--orange);font-weight:600;font-family:var(--font-en);}
.cert-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;}
.cert-grid-land .cert-tile{aspect-ratio:4/3;}
.cert-grid-port{grid-template-columns:repeat(4,1fr);}
.cert-grid-port .cert-tile{aspect-ratio:3/4;}
.cert-tile{margin:0;background:#fff;border:1px solid var(--gray-2);border-radius:10px;overflow:hidden;cursor:zoom-in;aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;transition:.25s;}
.cert-tile:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(0,0,0,.14);border-color:var(--orange);}
.cert-tile img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;padding:8px;box-sizing:border-box;}
.lightbox{position:fixed;inset:0;z-index:9999;background:rgba(8,9,11,.92);display:none;align-items:center;justify-content:center;padding:40px;}
.lightbox.open{display:flex;}
.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.lightbox .lb-close{position:absolute;top:24px;right:34px;color:#fff;font-size:40px;cursor:pointer;line-height:1;opacity:.8;}
.lightbox .lb-close:hover{opacity:1;}
@media (max-width:900px){.cert-grid{grid-template-columns:repeat(4,1fr);}.cert-grid-port{grid-template-columns:repeat(3,1fr);}}
@media (max-width:560px){.cert-grid{grid-template-columns:repeat(3,1fr);}.cert-grid-port{grid-template-columns:repeat(2,1fr);}}

.honor-grid .h{background:var(--gray-1);border:1px solid var(--gray-2);border-radius:14px;padding:24px 20px;text-align:center;transition:.3s;}
.honor-grid .h:hover{border-color:var(--orange);transform:translateY(-4px);box-shadow:0 14px 32px rgba(255,70,16,.12);}
.honor-grid .h .ic{font-size:26px;}
.honor-grid .h h4{font-size:15px;font-weight:700;margin-top:12px;line-height:1.4;}
.honor-grid .h p{font-size:12px;color:var(--gray-3);margin-top:6px;}
.std-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.std-list .s{border:1px solid var(--gray-2);border-left:4px solid var(--orange);border-radius:12px;padding:22px 24px;background:#fff;}
.std-list .s .tag{font-family:var(--font-en);font-size:12px;color:var(--orange);font-weight:600;}
.std-list .s h4{font-size:17px;font-weight:700;margin:8px 0 6px;line-height:1.4;}
.std-list .s p{font-size:13px;color:var(--gray-3);}
.uni-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:20px;}
.uni-row .u{background:#fff;border:1px solid var(--gray-2);border-radius:12px;padding:14px 22px;font-weight:600;font-size:15px;display:flex;align-items:center;gap:10px;}
.uni-row .u::before{content:"\1F393";}

/* ===================== NEWS ===================== */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px;}
.news-card{background:#fff;border:1px solid var(--gray-2);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:.35s;}
.news-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(0,0,0,.1);border-color:var(--orange);}
.news-card .pic{height:200px;overflow:hidden;position:relative;}
.news-card .pic img{width:100%;height:100%;object-fit:cover;transition:.5s;}
.news-card:hover .pic img{transform:scale(1.06);}
.news-card .pic .cat{position:absolute;left:16px;top:16px;background:var(--orange);color:#fff;font-size:12px;font-weight:600;padding:5px 12px;border-radius:9999px;}
.news-card .body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1;}
.news-card .date{font-family:var(--font-en);font-size:13px;color:var(--gray-3);}
.news-card h3{font-size:17px;font-weight:700;line-height:1.4;margin:10px 0 10px;}
.news-card p{font-size:13px;color:var(--gray-3);line-height:1.65;flex:1;}
.news-card .more{margin-top:16px;color:var(--orange);font-weight:600;font-size:14px;}

/* ===================== CONTACT ===================== */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;margin-top:36px;align-items:start;}
.contact-info .ci{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--gray-2);}
.contact-info .ci .ic{width:46px;height:46px;border-radius:12px;background:rgba(255,70,16,.12);color:var(--orange);display:grid;place-items:center;font-size:20px;flex:none;}
.contact-info .ci h4{font-size:15px;font-weight:700;}
.contact-info .ci p{font-size:15px;color:#3a3d44;margin-top:4px;line-height:1.5;}
.contact-form{background:var(--gray-1);border:1px solid var(--gray-2);border-radius:18px;padding:32px;}
.contact-form h3{font-size:20px;font-weight:700;margin-bottom:20px;}
.contact-form .field{margin-bottom:16px;}
.contact-form label{display:block;font-size:13px;font-weight:600;margin-bottom:7px;color:#3a3d44;}
.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--gray-2);border-radius:10px;padding:13px 15px;font-size:14px;font-family:inherit;background:#fff;outline:none;transition:.25s;}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,70,16,.12);}
.contact-form textarea{resize:vertical;min-height:110px;}
.contact-form .btn-primary{width:100%;justify-content:center;margin-top:6px;}
.contact-map{margin-top:40px;border-radius:18px;overflow:hidden;border:1px solid var(--gray-2);background:var(--gray-1);}
.contact-map .map-h{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--gray-2);}
.contact-map .map-h h4{font-size:16px;font-weight:700;}
.contact-map .map-h span{font-size:13px;color:var(--gray-3);}
.contact-map .map-box{height:300px;position:relative;background:linear-gradient(135deg,#e9edf3,#dde3ec);}
.contact-map .pin{position:absolute;left:50%;top:46%;transform:translate(-50%,-100%);background:var(--orange);color:#fff;padding:8px 14px;border-radius:10px;font-size:13px;font-weight:600;box-shadow:0 10px 24px rgba(255,70,16,.3);white-space:nowrap;}
.contact-map .pin::after{content:"";position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);border:8px solid transparent;border-top-color:var(--orange);}
@media (max-width:900px){
  .news-grid{grid-template-columns:repeat(2,1fr);}
  .contact-grid{grid-template-columns:1fr;gap:28px;}
}
@media (max-width:600px){.news-grid{grid-template-columns:1fr;}}

@media (max-width:900px){
  .feat-grid,.hub-grid,.prelate{grid-template-columns:1fr;}
  .honor-grid{grid-template-columns:repeat(2,1fr);}
  .std-list{grid-template-columns:1fr;}
  .pquick .q{flex:1 1 45%;}
  .pspec{padding:20px;}
  .hub-card{flex-direction:column;}
  .hub-card .pic{width:100%;min-height:180px;}
}
@media (max-width:1100px){
  .product-grid{grid-template-columns:repeat(2,1fr);}
  .case-grid,.news-grid{grid-template-columns:repeat(2,1fr);}
  .footer .top{grid-template-columns:1fr 1fr;gap:34px 40px;}
  .footer .brand{grid-column:1 / -1;max-width:560px;}
  .solution-wrap{grid-template-columns:1fr 1fr;}
  .sol-card.big{grid-column:span 2;grid-row:auto;min-height:320px;}
  .tech-track{padding:26px 22px;}
  .tech-track .track-stat .big{font-size:34px;}
  .about .about-grid{grid-template-columns:1fr;gap:32px;}
  .flagship{grid-template-columns:1fr;}
  .flagship-media{min-height:280px;}
  .flagship-body{padding:0 28px 32px;}
  .stat-row{grid-template-columns:repeat(2,1fr);}
  .stat-row div:nth-child(2){border-right:none;}
  .stat-row div:nth-child(1),.stat-row div:nth-child(2){border-bottom:1px solid var(--line);}
}
@media (max-width:768px){
  .nav-links{position:fixed;top:var(--nav-h);right:0;height:calc(100vh - var(--nav-h));width:78%;max-width:320px;background:rgba(20,21,24,.96);backdrop-filter:blur(14px);flex-direction:column;align-items:flex-start;gap:0;padding:20px 24px;transform:translateX(100%);transition:transform .35s ease;}
  .nav-links.open{transform:translateX(0);}
  .nav-links a{width:100%;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:17px;color:#fff;}
  .nav-toggle{display:flex;}
  .nav-cta .btn-primary{display:none;}
  .section{padding:64px 0;}
  .section-head h2{font-size:30px;}
  .product-grid,.case-grid,.news-grid{grid-template-columns:1fr;}
  .stats .grid{grid-template-columns:repeat(2,1fr);gap:36px 12px;}
  .solution-wrap{grid-template-columns:1fr;}
  .sol-card.big{grid-column:auto;}
  .regions,  .footer .top{grid-template-columns:1fr 1fr;}
  .footer .brand{grid-column:1 / -1;max-width:none;}
  .hero-stats .item{flex:1 1 45%;border-left:none;padding-left:0;}
  .tech-split{grid-template-columns:1fr;gap:0;}
  .tech-track{border-radius:0;border-bottom:none;}
  .tech-track:first-child{border-radius:20px 20px 0 0;}
  .tech-track:last-child{border-radius:0 0 20px 20px;border-bottom:1px solid rgba(255,255,255,.1);}
  .track-vs{order:0;padding:10px 0;}
  .track-vs span{transform:rotate(90deg);}
}
@media (max-width:480px){
  .footer .top{grid-template-columns:1fr;gap:28px;}
  .footer .bottom{flex-direction:column;align-items:flex-start;gap:14px;}
}
/* =========================================================
   DETAIL PAGES · Cases / Solutions / News (distinct styles)
   ========================================================= */

/* ---- shared media blocks ---- */
.media-figure{margin:34px 0;border-radius:16px;overflow:hidden;background:var(--gray-1);}
.media-figure img{width:100%;display:block;}
.media-figure figcaption{font-size:13px;color:var(--gray-3);padding:12px 16px;background:#fff;border-top:1px solid var(--gray-2);line-height:1.6;}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px;}
.gallery .g{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:var(--gray-1);}
.gallery .g img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.gallery .g:hover img{transform:scale(1.06);}
.video-block{position:relative;border-radius:16px;overflow:hidden;background:#000;margin:34px 0;aspect-ratio:16/9;}
.video-block video{width:100%;height:100%;object-fit:cover;display:block;}
.video-block .vcap{position:absolute;left:0;bottom:0;width:100%;padding:22px 24px;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent);font-size:14px;}

/* ---- meta bar (cases) ---- */
.meta-bar{display:flex;flex-wrap:wrap;background:#fff;border:1px solid var(--gray-2);border-radius:14px;overflow:hidden;margin-top:-42px;position:relative;z-index:3;box-shadow:0 16px 40px rgba(0,0,0,.08);}
.meta-bar .m{flex:1;min-width:150px;padding:18px 22px;border-right:1px solid var(--gray-2);}
.meta-bar .m:last-child{border-right:none;}
.meta-bar .m span{display:block;font-size:11px;color:var(--gray-3);letter-spacing:1px;font-family:var(--font-en);text-transform:uppercase;}
.meta-bar .m b{display:block;margin-top:6px;font-size:16px;font-weight:700;color:var(--ink);}

/* ===================== CASE DETAIL (field-report style) ===================== */
.case-detail .lead-para{font-size:18px;line-height:1.95;color:#2a2d33;margin-top:8px;}
.case-challenge{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:26px;}
.case-challenge .cc{background:var(--gray-1);border-radius:14px;padding:26px;border-top:3px solid var(--orange);}
.case-challenge .cc h4{font-size:18px;font-weight:700;margin-bottom:10px;}
.case-challenge .cc p{font-size:14px;color:var(--gray-3);line-height:1.75;}
.case-quote{position:relative;background:linear-gradient(120deg,#1d1d1f,#2c2f36);color:#fff;border-radius:18px;padding:42px 46px;margin:42px 0;}
.case-quote .q{font-size:22px;font-weight:600;line-height:1.65;}
.case-quote .who{margin-top:20px;color:rgba(255,255,255,.7);font-size:14px;}
.case-quote .who b{color:var(--orange-2);}
.case-tree{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px;}
.case-tree .t{background:#fff;border:1px solid var(--gray-2);border-radius:12px;padding:20px 18px;text-align:center;}
.case-tree .t .ic{font-size:26px;}
.case-tree .t b{display:block;margin-top:10px;font-family:var(--font-en);font-size:26px;font-weight:700;color:var(--orange);line-height:1;}
.case-tree .t span{display:block;margin-top:8px;font-size:13px;color:var(--gray-3);}

/* ===================== SOLUTION DETAIL (blueprint style) ===================== */
.sol-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px;}
.sol-step{position:relative;background:#fff;border:1px solid var(--gray-2);border-radius:16px;padding:30px 26px;overflow:hidden;}
.sol-step .no{font-family:var(--font-en);font-size:54px;font-weight:800;color:rgba(255,70,16,.13);line-height:1;position:absolute;top:10px;right:18px;}
.sol-step h4{font-size:19px;font-weight:700;margin-bottom:10px;position:relative;padding-left:14px;border-left:3px solid var(--orange);}
.sol-step p{font-size:14px;color:var(--gray-3);line-height:1.75;position:relative;}
.sol-products{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px;}
.sol-products a{border:1px solid var(--gray-2);border-radius:14px;overflow:hidden;background:#fff;transition:.3s;display:block;}
.sol-products a:hover{border-color:var(--orange);transform:translateY(-4px);box-shadow:0 14px 32px rgba(255,70,16,.12);}
.sol-products .pimg{aspect-ratio:16/10;background:var(--gray-1);}
.sol-products .pimg img{width:100%;height:100%;object-fit:cover;}
.sol-products .pinfo{padding:16px 18px;}
.sol-products .pinfo h4{font-size:15px;font-weight:700;}
.sol-products .pinfo p{font-size:12px;color:var(--gray-3);margin-top:5px;line-height:1.5;}

/* ===================== NEWS DETAIL (article style) ===================== */
.article-wrap{max-width:860px;margin:0 auto;}
.article-meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;color:var(--gray-3);font-size:14px;margin-bottom:30px;}
.article-meta .cat{background:var(--orange);color:#fff;font-size:12px;font-weight:600;padding:5px 13px;border-radius:9999px;letter-spacing:.5px;}
.article-meta .dot{opacity:.4;}
.article-body{font-size:17px;line-height:1.95;color:#2a2d33;}
.article-body p{margin:20px 0;}
.article-body h3{font-size:23px;font-weight:700;margin:40px 0 12px;color:var(--ink);letter-spacing:-.3px;}
.article-body .pull{font-size:20px;font-weight:600;color:var(--ink);border-left:4px solid var(--orange);padding:8px 0 8px 20px;margin:32px 0;line-height:1.6;}
.article-body ul.ticks{margin:18px 0;padding-left:4px;}
.article-body ul.ticks li{position:relative;padding-left:26px;margin:10px 0;line-height:1.7;}
.article-body ul.ticks li::before{content:"✓";position:absolute;left:0;top:0;color:var(--orange);font-weight:700;}
.related-news{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px;}

@media (max-width:900px){
  .gallery{grid-template-columns:repeat(2,1fr);}
  .case-challenge,.sol-flow,.sol-products,.related-news{grid-template-columns:1fr;}
  .case-tree{grid-template-columns:repeat(2,1fr);}
}

/* ===== 新闻资讯（news.html 动态渲染 / 详情弹层） ===== */
.news-hero{position:relative;padding:150px 0 96px;background:#0c0e13;overflow:hidden;}
.news-hero .pb-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.news-hero .overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(8,9,11,.88) 0%,rgba(8,9,11,.7) 38%,rgba(8,9,11,.35) 72%,rgba(8,9,11,.22) 100%);}
.news-hero .container{position:relative;z-index:2;}
.news-hero .eyebrow{color:var(--orange);font-family:var(--font-en);font-weight:700;letter-spacing:3px;font-size:13px;text-transform:uppercase;}
.news-hero h1{font-size:clamp(30px,5vw,52px);font-weight:700;color:#fff;margin:10px 0 8px;text-shadow:0 2px 24px rgba(0,0,0,.55);}
.news-hero .en{color:rgba(255,255,255,.7);font-family:var(--font-en);letter-spacing:1px;font-size:15px;}
.news-hero p.lead{color:rgba(255,255,255,.82);margin-top:14px;font-size:16px;text-shadow:0 1px 14px rgba(0,0,0,.5);}
.news-card .pic{position:relative;aspect-ratio:8/5;overflow:hidden;background:var(--gray-2);}
.news-card .pic img{width:100%;height:100%;object-fit:cover;display:block;}
.news-card .cat{position:absolute;left:14px;top:14px;background:var(--orange);color:#fff;font-size:12px;font-weight:600;padding:5px 12px;border-radius:999px;box-shadow:0 8px 20px rgba(255,70,16,.35);}
.news-card .body p{margin-top:10px;font-size:13.5px;color:var(--gray-3);line-height:1.65;}
.news-card .more{display:inline-block;margin-top:14px;color:var(--orange);font-weight:700;font-size:14px;}
.news-card:hover h3{color:var(--orange);}
.news-loading,.news-empty{padding:60px 0;text-align:center;color:var(--gray-3);}
.news-empty a{color:var(--orange);font-weight:700;}

/* 详情弹层 */
.news-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:flex-start;justify-content:center;background:rgba(12,14,19,.66);backdrop-filter:blur(3px);overflow-y:auto;padding:56px 16px;}
.news-modal.open{display:flex;}
.news-modal .nm-box{background:#fff;border-radius:18px;max-width:760px;width:100%;position:relative;animation:nmIn .25s ease;}
@keyframes nmIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
.news-modal .nm-hero{position:relative;border-radius:18px 18px 0 0;overflow:hidden;aspect-ratio:16/8;background:var(--gray-2);}
.news-modal .nm-hero img{width:100%;height:100%;object-fit:cover;}
.news-modal .nm-hero .nm-cat{position:absolute;left:18px;top:18px;background:var(--orange);color:#fff;font-size:12px;font-weight:600;padding:5px 12px;border-radius:999px;}
.news-modal .nm-close{position:absolute;right:14px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;font-size:20px;cursor:pointer;line-height:1;z-index:3;}
.news-modal .nm-body{padding:26px 30px 34px;}
.news-modal .nm-date{font-family:var(--font-en);color:var(--orange);font-size:13px;letter-spacing:1px;}
.news-modal .nm-body h2{font-size:24px;font-weight:700;margin:10px 0 18px;line-height:1.35;}
.news-modal .nm-content{font-size:15px;line-height:1.85;color:#3a3d44;}
.news-modal .nm-content img{max-width:100%;border-radius:12px;margin:14px 0;}
