:root{
  --rose:#D81B60;
  --rose-bright:#FF4081;
  --rose-deep:#AD1457;
  --ink:#0c0c0e;
  --ink-2:#131316;
  --ink-3:#1a1a1e;
  --line:rgba(255,255,255,.08);
  --txt:#f5f6f8;
  --txt-mut:#a7a9b0;
  --metal-black:linear-gradient(135deg,#3a3a40 0%,#101013 28%,#2a2a30 50%,#0a0a0c 72%,#1c1c20 100%);
  --metal-panel:linear-gradient(160deg,#1b1b20 0%,#101013 45%,#16161a 100%);
  --rose-grad:linear-gradient(135deg,#FF4081 0%,#D81B60 45%,#AD1457 100%);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:"Segoe UI","Inter",system-ui,-apple-system,sans-serif;
  background:var(--ink);
  color:var(--txt);
  line-height:1.7;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--rose);color:#fff}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,h4,h5{line-height:1.2;font-weight:800}

/* metallic black gloss text */
.metal-text{
  background:linear-gradient(135deg,#f0f0f2 0%,#9a9aa2 30%,#e6e6ea 48%,#5c5c64 70%,#cfcfd6 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.metal-text-rose{
  background:linear-gradient(135deg,#FF80AB 0%,#D81B60 40%,#880E4F 75%,#FF4081 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.metal-text-rose-white{
  background:linear-gradient(135deg,#FF4081 0%,#D81B60 35%,#F48FB1 68%,#ffffff 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.metal-text-gunmetal{
  background:linear-gradient(135deg,#8a929c 0%,#3a414a 24%,#15181d 46%,#2a3037 60%,#0f1216 76%,#4a525c 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.metal-surface{background:var(--metal-panel);position:relative}
.metal-surface::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,0) 28%,rgba(255,255,255,.04) 52%,rgba(255,255,255,0) 72%,rgba(255,255,255,.07) 100%);
  border-radius:inherit;
}

.container{width:min(1180px,92%);margin:0 auto;position:relative;z-index:2}
section{position:relative}

/* ===== Nav ===== */
header{position:fixed;top:0;left:0;right:0;z-index:100;transition:.35s ease}
header .bar{display:flex;align-items:center;justify-content:space-between;padding:18px 0;transition:.35s ease}
header.scrolled{background:rgba(12,12,14,.82);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
header.scrolled .bar{padding:12px 0}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:22px;letter-spacing:2px;color:#fff}
.logo .mark{width:34px;height:34px;border-radius:9px;background:var(--rose-grad);display:grid;place-items:center;color:#fff;font-weight:900;font-size:15px;box-shadow:0 4px 18px rgba(216,27,96,.45);overflow:hidden}
.logo .mark img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.logo i{font-style:normal;color:#fff}
nav{display:flex;align-items:center;gap:32px}
nav a{font-size:14.5px;color:var(--txt-mut);position:relative;transition:.25s;white-space:nowrap}
nav a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--rose);transition:.25s}
nav a:hover,nav a.active{color:#fff}
nav a:hover::after,nav a.active::after{width:100%}

/* Products dropdown (home nav) */
.nav-item{position:relative}
.nav-item .caret{display:inline-block;font-size:11px;margin-left:4px;transition:.25s}
.nav-item:hover .caret{transform:rotate(180deg)}
.nav-item .dropdown{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,10px);min-width:250px;background:rgba(18,18,22,.98);border:1px solid var(--line);border-radius:12px;padding:8px 0;opacity:0;visibility:hidden;transition:.22s ease;backdrop-filter:blur(14px);box-shadow:0 22px 55px rgba(0,0,0,.5);z-index:120}
.nav-item .dropdown::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.nav-item:hover .dropdown{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav-item .dropdown a{display:block;padding:10px 20px;font-size:14px;color:var(--txt-mut);white-space:nowrap}
.nav-item .dropdown a::after{display:none}
.nav-item .dropdown a:hover{color:#fff;background:rgba(216,27,96,.14)}
.hdr-cta{display:inline-flex;align-items:center;gap:8px;background:var(--rose-grad);color:#fff;font-weight:600;font-size:14px;padding:11px 22px;border-radius:30px;transition:.25s;box-shadow:0 6px 22px rgba(216,27,96,.4);white-space:nowrap}
.hdr-cta:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(216,27,96,.55)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.burger span{width:24px;height:2px;background:#fff;border-radius:2px;transition:.3s}

/* ===== Hero (home) ===== */
.hero{min-height:100vh;display:flex;align-items:center;background:var(--metal-black);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(1100px 600px at 78% -10%,rgba(216,27,96,.34),transparent 60%),radial-gradient(900px 500px at 10% 110%,rgba(216,27,96,.22),transparent 55%),repeating-linear-gradient(115deg,rgba(255,255,255,.028) 0 1px,transparent 1px 90px)}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.09) 0%,transparent 30%,rgba(255,255,255,.03) 55%,transparent 78%)}
.hero .container{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center;padding:130px 0 80px}
.hero-text{transform:translateX(-4%)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;letter-spacing:3px;color:var(--rose-bright);text-transform:uppercase;font-weight:700}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--rose)}
.hero h1{font-size:clamp(40px,6vw,72px);line-height:1.06;font-weight:800;letter-spacing:-1px;margin:22px 0 10px}
.hero h1 .line{display:block}
.hero .sub{font-size:clamp(17px,2.4vw,22px);color:var(--txt-mut);margin:24px 0 8px;max-width:520px}
.hero .sub b{color:#fff;font-weight:600}
.hero p.desc{color:var(--txt-mut);max-width:540px;font-size:15.5px}
.hero-cta{display:flex;gap:16px;margin-top:36px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:9px;padding:15px 30px;border-radius:34px;font-weight:600;font-size:15px;transition:.25s;border:none;cursor:pointer}
.btn-rose{background:var(--rose-grad);color:#fff;box-shadow:0 10px 30px rgba(216,27,96,.42)}
.btn-rose:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(216,27,96,.55)}
.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.22)}
.btn-ghost:hover{border-color:var(--rose);color:var(--rose-bright);transform:translateY(-3px)}

.hero-visual{position:relative}
.hero-visual .ring{position:absolute;inset:-40px;border-radius:50%;border:1px solid rgba(216,27,96,.35);animation:spin 26s linear infinite}
.hero-visual .ring.r2{inset:-80px;border-color:rgba(216,27,96,.16);animation-duration:38s;animation-direction:reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.device-card{position:relative;border-radius:26px;overflow:hidden;background:var(--metal-panel);border:1px solid rgba(255,255,255,.1);padding:34px;text-align:center;box-shadow:0 40px 90px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.06)}
.device-card::before{content:"";position:absolute;inset:0;border-radius:26px;background:linear-gradient(135deg,rgba(255,255,255,.14),transparent 34%,transparent 70%,rgba(255,255,255,.06))}
.device-card .glow{position:absolute;top:-30%;left:-20%;width:80%;height:120%;background:radial-gradient(closest-side,rgba(216,27,96,.55),transparent);filter:blur(30px);opacity:.7}
.device-glyph{width:150px;height:150px;margin:10px auto 22px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#3a3a42,#0e0e11 70%);display:grid;place-items:center;position:relative;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 20px 40px rgba(0,0,0,.5)}
.device-glyph::after{content:"";position:absolute;inset:14px;border-radius:50%;border:1px solid rgba(216,27,96,.6);box-shadow:0 0 30px rgba(216,27,96,.5),inset 0 0 20px rgba(216,27,96,.4)}
.device-glyph span{font-size:34px;font-weight:800;color:var(--rose);letter-spacing:1px}
.device-card h4{font-size:20px;letter-spacing:1px;margin-bottom:6px}
.device-card .tag{font-size:12.5px;color:var(--txt-mut);letter-spacing:2px;text-transform:uppercase}
.device-chips{display:flex;justify-content:center;gap:10px;margin-top:22px;flex-wrap:wrap}
.chip{font-size:12.5px;padding:7px 14px;border-radius:20px;border:1px solid rgba(255,255,255,.14);color:var(--txt-mut);background:rgba(255,255,255,.03)}

/* ===== Hero 轮播橱窗（3 页 自动+手动） ===== */
.hero-rotator{position:relative}
.rotator-viewport{position:relative;overflow:hidden;border-radius:26px;border:1px solid rgba(255,255,255,.1);background:var(--metal-panel);box-shadow:0 40px 90px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.06);aspect-ratio:3/4}
.rotator-track{display:flex;transition:transform .5s ease;height:100%}
.rotator-slide{flex:none;width:100%;position:relative;overflow:hidden;display:flex;align-items:flex-end}
.rotator-slide .rotator-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.rotator-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(12,12,14,.72) 0%,rgba(12,12,14,.16) 32%,transparent 54%);z-index:2}
.rotator-caption{position:relative;z-index:3;padding:30px 28px;text-align:left;width:100%}
.rotator-caption h4{font-size:21px;letter-spacing:1px;margin-bottom:8px;color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.65)}
.rotator-caption .tag{font-size:12.5px;color:var(--rose-bright);letter-spacing:2px;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,0,0,.55)}
.rotator-caption p{color:var(--txt-mut);font-size:14px;margin-top:10px;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.rotator-nav{position:absolute;top:50%;transform:translateY(-50%);width:100%;display:flex;justify-content:space-between;padding:0 14px;pointer-events:none;z-index:5}
.rotator-nav button{pointer-events:auto;width:40px;height:40px;border-radius:50%;background:rgba(12,12,14,.7);border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;font-size:18px;display:grid;place-items:center;transition:.2s}
.rotator-nav button:hover{background:var(--rose);border-color:var(--rose)}
.rotator-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:5}
.rotator-dots button{width:8px;height:8px;border-radius:50%;border:none;background:rgba(255,255,255,.25);cursor:pointer;padding:0;transition:.25s}
.rotator-dots button.active{background:var(--rose);width:22px;border-radius:4px}

/* ===== Page hero (sub pages) ===== */
.page-hero{padding:150px 0 70px;background:var(--metal-black);overflow:hidden;text-align:center}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 480px at 50% -20%,rgba(216,27,96,.30),transparent 60%),repeating-linear-gradient(115deg,rgba(255,255,255,.028) 0 1px,transparent 1px 90px)}
.page-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.08) 0%,transparent 35%)}
.page-hero h1{font-size:clamp(34px,5vw,56px);font-weight:800;letter-spacing:-1px;margin:16px 0 14px}
.page-hero p{color:var(--txt-mut);max-width:680px;margin:0 auto;font-size:16px}
.breadcrumb{font-size:13px;letter-spacing:2px;color:var(--txt-mut);text-transform:uppercase}
.breadcrumb b{color:var(--rose-bright);font-weight:700}

/* ===== Stats ===== */
.stats{background:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:40px 26px;text-align:center;position:relative}
.stat:not(:last-child)::after{content:"";position:absolute;right:0;top:22%;height:56%;width:1px;background:var(--line)}
.stat .num{font-size:clamp(30px,4vw,44px);font-weight:800;letter-spacing:-1px}
.stat .num small{font-size:.55em;color:var(--rose);margin-left:3px}
.stat .lbl{font-size:13px;color:var(--txt-mut);letter-spacing:2px;margin-top:6px;text-transform:uppercase}

/* ===== Sections ===== */
.sec{padding:100px 0}
.sec-head{max-width:640px;margin-bottom:60px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head .kicker{font-size:13px;letter-spacing:3px;color:var(--rose-bright);text-transform:uppercase;font-weight:700}
.sec-head h2{font-size:clamp(28px,4vw,44px);font-weight:800;letter-spacing:-.5px;margin:14px 0 16px;line-height:1.15}
.sec-head p{color:var(--txt-mut);font-size:15.5px}

/* ===== About ===== */
.about{background:var(--ink)}
.about .grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about-copy p{color:var(--txt-mut);margin-bottom:18px;font-size:15.5px}
.about-copy p b{color:#fff}
.about-points{display:grid;gap:14px;margin-top:26px}
.apoint{display:flex;gap:14px;align-items:flex-start}
.apoint .ic{flex:none;width:40px;height:40px;border-radius:11px;background:rgba(216,27,96,.14);display:grid;place-items:center;color:var(--rose-bright);font-weight:800;border:1px solid rgba(216,27,96,.28)}
.apoint h5{font-size:15.5px;margin-bottom:3px;color:#fff}
.apoint p{font-size:14px;color:var(--txt-mut);margin:0}
.about-visual{border-radius:24px;overflow:hidden;position:relative}
.about-visual .ph{aspect-ratio:4/5;display:grid;place-items:center;background:var(--metal-black);position:relative;text-align:center;padding:30px}
.about-visual .ph::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 40%,rgba(255,255,255,.05))}
.cert-row{display:flex;justify-content:center;gap:16px;margin-top:28px;flex-wrap:wrap}
.cert{padding:10px 20px;border-radius:30px;font-weight:700;letter-spacing:1px;font-size:14px;color:#fff;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04)}
.about-visual .about-logo{width:100%;max-width:420px;height:auto;display:block;margin:0 auto;border-radius:14px;box-shadow:0 30px 70px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.06)}

/* ===== Products ===== */
.products{background:var(--ink-2)}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.pcard{border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:var(--metal-panel);transition:.35s;position:relative}
a.pcard{display:block;text-decoration:none;color:inherit}
.pcard:hover{transform:translateY(-8px);border-color:rgba(216,27,96,.45);box-shadow:0 30px 60px rgba(0,0,0,.5)}
.pcard .thumb{aspect-ratio:1/1;position:relative;display:grid;place-items:center;overflow:hidden;background:#fff}
.pcard .thumb::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent 45%);z-index:2;pointer-events:none}
.pcard .thumb .wave{position:absolute;inset:auto -20% -40% -20%;height:70%;background:radial-gradient(closest-side,rgba(216,27,96,.5),transparent);filter:blur(24px)}
.pcard .thumb .mono{font-size:42px;font-weight:800;letter-spacing:3px;position:relative}
.pcard .thumb .pimg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1;display:block}
.pempty{color:var(--txt-mut);font-size:14.5px;padding:26px;border:1px dashed rgba(255,255,255,.15);border-radius:14px;text-align:center;margin:0}
.pcard .body{padding:18px 20px 22px}
.pcard .body .cat{font-size:12px;letter-spacing:2px;color:var(--rose-bright);text-transform:uppercase;font-weight:700}
.pcard h3{font-size:18px;margin:8px 0 10px;letter-spacing:.4px;color:#fff}
.pcard p{color:rgba(255,255,255,.9);font-size:13.5px}
.pcard .feats{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.pcard .feats span{font-size:12px;padding:5px 12px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.88)}
.pcard .link{margin-top:14px;display:inline-flex;align-items:center;gap:6px;color:var(--rose-bright);font-weight:600;font-size:14px}
.pcard .link:hover{gap:10px}

/* category entry grid (home 9-category showcase) */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.cat-card{display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:16px;background:var(--metal-panel);border:1px solid rgba(255,255,255,.08);transition:.25s;text-decoration:none;position:relative;overflow:hidden}
.cat-card::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 45%);pointer-events:none;z-index:0}
.cat-card:hover{border-color:rgba(216,27,96,.45);transform:translateY(-3px)}
.cat-card .cat-thumb{position:relative;z-index:1;width:100%;aspect-ratio:4/3;border-radius:10px;background:var(--metal-black);display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.cat-card .cat-thumb::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 50%)}
.cat-card .cat-thumb span{font-weight:800;font-size:20px;color:var(--rose);letter-spacing:.5px;position:relative;z-index:1}
.cat-card .cat-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cat-card .nm{position:relative;z-index:1;font-size:14px;color:#fff;font-weight:600;line-height:1.35;text-align:center}
.cat-card .en{position:relative;z-index:1;font-size:11.5px;color:var(--txt-mut);text-align:center}
@media(max-width:960px){.cat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cat-grid{grid-template-columns:1fr}}

/* ===== Banner 轮播 ===== */
.banner-slider{overflow:hidden;position:relative;background:var(--ink-2);border-bottom:1px solid var(--line)}
.banner-track{display:flex;width:300%;animation:bannerSlide 18s infinite}
.banner-slide{width:33.3334%;min-height:300px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.banner-slide .banner-bg{position:absolute;inset:0;background:var(--metal-black)}
.banner-slide .banner-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(700px 300px at 50% 120%,rgba(216,27,96,.25),transparent 65%)}
.banner-slide .banner-content{position:relative;z-index:2;text-align:center;padding:48px 20px}
.banner-slide .tag{display:inline-block;padding:5px 16px;border-radius:20px;background:rgba(216,27,96,.18);color:var(--rose-bright);font-size:12px;letter-spacing:2px;text-transform:uppercase;margin-bottom:16px}
.banner-slide h3{font-size:clamp(22px,3.6vw,36px);font-weight:800;margin-bottom:10px}
.banner-slide p{color:#333a42;max-width:620px;margin:0 auto;font-size:15px}
.banner-slide .btn{margin-top:22px}
@keyframes bannerSlide{0%,28%{transform:translateX(0)}33%,61%{transform:translateX(-33.3334%)}66%,94%{transform:translateX(-66.6668%)}100%{transform:translateX(0)}}
@media(max-width:560px){.banner-slide{min-height:240px}}

/* ===== 橱窗位 showcase ===== */
.showcase{background:var(--ink)}
.showcase-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.showcase-card{border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:var(--metal-panel);transition:.3s;position:relative}
.showcase-card:hover{border-color:rgba(216,27,96,.45);transform:translateY(-6px)}
.showcase-media{aspect-ratio:16/10;background:var(--metal-black);position:relative;display:grid;place-items:center;overflow:hidden}
.showcase-media::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent 45%)}
.showcase-media .ph{font-size:40px;font-weight:800;color:rgba(216,27,96,.6);letter-spacing:2px}
.showcase-media .badge{position:absolute;top:14px;left:14px;padding:5px 14px;border-radius:16px;background:rgba(216,27,96,.9);color:#fff;font-size:12px;font-weight:600}
.showcase-body{padding:24px 26px 28px}
.showcase-body h3{font-size:20px;margin-bottom:8px}
.showcase-body p{color:var(--txt-mut);font-size:14.5px}
.showcase-body .link{display:inline-flex;align-items:center;gap:6px;color:var(--rose-bright);font-weight:600;font-size:14px;margin-top:16px}
@media(max-width:960px){.showcase-grid{grid-template-columns:1fr}}

/* ===== footer 联系信息 ===== */
.fcontact{display:grid;gap:10px;margin-top:18px}
.fcontact a{display:inline-flex;align-items:center;gap:10px;color:var(--txt-mut);font-size:14px;transition:.2s}
.fcontact a:hover{color:var(--rose-bright)}
.fcontact svg{width:18px;height:18px;flex:none;fill:currentColor}

/* category nav + sections */
.cat-nav{position:sticky;top:70px;z-index:50;background:rgba(12,12,14,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:14px 0}
.cat-nav .container{display:flex;flex-wrap:wrap;gap:10px}
.cat-pill{flex:none;font-size:13.5px;padding:9px 18px;border-radius:30px;border:1px solid rgba(255,255,255,.14);background:transparent;color:var(--txt-mut);white-space:nowrap;transition:.2s;cursor:pointer;font-family:inherit;line-height:1.2}
.cat-pill:hover{color:#fff;border-color:var(--rose)}
.cat-pill.active{background:var(--rose-grad);color:#fff;border-color:transparent;box-shadow:0 6px 18px rgba(216,27,96,.35)}
.cat-section{padding:70px 0;border-bottom:1px solid var(--line)}
.cat-section:last-child{border-bottom:none}
.cat-section .cat-title{display:flex;align-items:center;gap:16px;margin-bottom:34px}
.cat-section .cat-title .idx{flex:none;font-size:14px;font-weight:800;color:var(--rose);width:44px;height:44px;border-radius:12px;background:rgba(216,27,96,.13);display:grid;place-items:center;border:1px solid rgba(216,27,96,.3)}
.cat-section .cat-title h3{font-size:26px;letter-spacing:-.3px;color:#fff}
.cat-section .cat-title .en{color:var(--txt-mut);font-size:13.5px;letter-spacing:1px;text-transform:uppercase}
.cat-section .cat-title{justify-content:space-between}
.cat-viewall{flex:none;font-size:13.5px;font-weight:600;padding:9px 18px;border-radius:30px;border:1px solid rgba(255,255,255,.14);background:transparent;color:var(--txt-mut);white-space:nowrap;cursor:pointer;font-family:inherit;line-height:1.2;transition:.2s}
.cat-viewall:hover{color:#fff;border-color:var(--rose)}
.cat-section.clamped .pgrid .pcard:nth-child(n+4){display:none}

/* ===== Solutions ===== */
.solutions{background:var(--ink)}
.sol-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.sol{display:flex;gap:20px;padding:30px;border-radius:20px;position:relative;overflow:hidden;background:var(--metal-panel);border:1px solid rgba(255,255,255,.08);transition:.3s}
.sol:hover{border-color:rgba(216,27,96,.4);transform:translateY(-4px)}
.sol .num{flex:none;font-size:15px;font-weight:800;color:var(--rose);width:44px;height:44px;border-radius:12px;background:rgba(216,27,96,.13);display:grid;place-items:center;border:1px solid rgba(216,27,96,.3)}
.sol h4{font-size:17.5px;margin-bottom:8px;color:#fff}
.sol p{color:var(--txt-mut);font-size:14.5px}

/* ===== Certifications ===== */
.badges{background:var(--metal-black);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.badges .row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:34px 0;flex-wrap:wrap}
.badges .row .t{font-size:14px;letter-spacing:2px;color:var(--txt-mut);text-transform:uppercase}
.badge-list{display:flex;gap:14px;flex-wrap:wrap}
.badge{font-size:15px;font-weight:700;letter-spacing:1.5px;padding:12px 24px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#fff}

/* ===== Team ===== */
.team{background:var(--ink-2)}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.tcard{text-align:center;padding:36px 28px;border-radius:22px;position:relative;overflow:hidden;background:var(--metal-panel);border:1px solid rgba(255,255,255,.08);transition:.3s}
.tcard:hover{transform:translateY(-6px);border-color:rgba(216,27,96,.4)}
.avatar{width:160px;height:160px;border-radius:50%;margin:0 auto 22px;position:relative;background:#fff;display:grid;place-items:center;font-size:30px;font-weight:800;box-shadow:inset 0 0 0 2px rgba(216,27,96,.5),0 0 40px rgba(216,27,96,.3);overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.avatar span{background:linear-gradient(135deg,#FF80AB,#D81B60 55%,#AD1457);-webkit-background-clip:text;background-clip:text;color:transparent}
.tcard h4{font-size:19px;margin-bottom:4px;color:#fff}
.tcard .role{color:var(--rose-bright);font-size:13.5px;letter-spacing:1px;margin-bottom:14px}
.tcard p{color:var(--txt-mut);font-size:14px}

/* ===== Testimonials ===== */
.testi{background:var(--ink)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.tcard2{padding:30px;border-radius:20px;background:var(--metal-panel);border:1px solid rgba(255,255,255,.08);position:relative}
.tcard2 .quote{font-size:15px;color:#d8d9de;font-style:italic;margin-bottom:22px}
.tcard2 .who{display:flex;align-items:center;gap:14px}
.tcard2 .who .av{width:46px;height:46px;border-radius:50%;background:var(--metal-black);display:grid;place-items:center;font-weight:700;color:var(--rose);border:1px solid rgba(216,27,96,.35)}
.tcard2 .who b{display:block;font-size:14.5px}
.tcard2 .who small{color:var(--txt-mut);font-size:12.5px}
.stars{color:#ffc85c;letter-spacing:2px;margin-bottom:14px;font-size:14px}

/* ===== Blog ===== */
.blog{background:var(--ink-2)}
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.bcard{border-radius:20px;overflow:hidden;background:var(--metal-panel);border:1px solid rgba(255,255,255,.08);transition:.3s}
.bcard:hover{transform:translateY(-6px);border-color:rgba(216,27,96,.4)}
.bcard .bimg{height:160px;background:var(--metal-black);position:relative;display:grid;place-items:center}
.bcard .bimg::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent 45%)}
.bcard .bimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bcard .bimg .cat{position:absolute;top:14px;left:14px;font-size:11.5px;padding:5px 12px;border-radius:16px;background:rgba(216,27,96,.9);color:#fff;font-weight:600;letter-spacing:1px;z-index:2}
.bcard .bimg span{font-size:26px;font-weight:800;color:rgba(216,27,96,.7);letter-spacing:2px}
.bcard .binfo{padding:24px 24px 28px}
.bcard .binfo time{font-size:12.5px;color:#fff}
.bcard h3{font-size:17.5px;margin:10px 0 10px;line-height:1.4;color:#fff}
.bcard p{color:var(--txt-mut);font-size:14px}
.bcard .link{display:inline-flex;align-items:center;gap:6px;color:var(--rose-bright);font-weight:600;font-size:14px;margin-top:14px}

/* ===== Single post (blog article) ===== */
.post-meta{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;letter-spacing:1px;color:#fff;margin-top:18px}
.post-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--rose)}
.article-wrap{max-width:780px;margin:0 auto}
.article-feature{margin:0 0 36px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 60px rgba(0,0,0,.5)}
.article-feature img{width:100%;height:auto;display:block}
.article-body{color:var(--txt);font-size:16.5px;line-height:1.9}
.article-body p{margin:0 0 26px;color:#fff}
.article-body h2{font-size:26px;margin:56px 0 22px;color:var(--rose-bright);letter-spacing:-.3px}
.article-body h3{font-size:20px;margin:36px 0 16px;color:var(--rose-bright)}
.article-body strong{color:#fff;font-weight:700}
.article-body a{color:var(--rose-bright);border-bottom:1px solid rgba(255,64,129,.4);transition:.2s}
.article-body a:hover{color:#fff;border-color:#fff}
.article-body ul,.article-body ol{margin:0 0 26px;padding-left:22px;color:#fff}
.article-body li{margin:10px 0}
.article-body img{margin:30px 0;border-radius:14px}
.article-body blockquote{margin:26px 0;padding:18px 22px;border-left:3px solid var(--rose);background:rgba(216,27,96,.07);border-radius:0 14px 14px 0;color:#fff}
.article-cta{margin-top:52px;padding:34px;border-radius:20px;border:1px solid rgba(216,27,96,.3);background:linear-gradient(135deg,rgba(216,27,96,.12),rgba(216,27,96,.02));text-align:center}
.article-cta p{color:var(--txt-mut);font-size:15px;margin-bottom:18px}
.article-cta-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.article-nav{display:flex;justify-content:space-between;gap:18px;margin-top:44px;padding-top:26px;border-top:1px solid var(--line);flex-wrap:wrap}
.article-nav a{font-size:14px;color:var(--txt-mut);transition:.2s;max-width:45%}
.article-nav a:hover{color:var(--rose-bright)}

/* ===== Contact ===== */
.contact{background:var(--ink);position:relative;overflow:hidden}
.contact::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 400px at 85% 20%,rgba(216,27,96,.18),transparent 60%)}
.contact .grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.form-card{border-radius:24px;padding:38px;background:var(--metal-panel);border:1px solid rgba(255,255,255,.09);position:relative}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fgroup{margin-bottom:16px}
.fgroup label{display:block;font-size:13px;margin-bottom:7px;letter-spacing:.5px;background:linear-gradient(135deg,#f0f0f2 0%,#9a9aa2 30%,#e6e6ea 48%,#5c5c64 70%,#cfcfd6 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.fgroup input,.fgroup textarea,.fgroup select{width:100%;padding:13px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#fff;font-size:14.5px;font-family:inherit;outline:none;transition:.2s}
.fgroup input:focus,.fgroup textarea:focus,.fgroup select:focus{border-color:var(--rose);box-shadow:0 0 0 3px rgba(216,27,96,.15)}
.fgroup textarea{resize:vertical;min-height:120px}
.fgroup input::placeholder,.fgroup textarea::placeholder{color:#fff;opacity:1}
.fgroup select option{color:#111}
.submit{width:100%;justify-content:center;margin-top:6px;font-size:17px;font-weight:700}
.contact-info{display:grid;gap:18px}
.cinfo{display:flex;gap:16px;align-items:flex-start}
.cinfo .ic{flex:none;width:46px;height:46px;border-radius:13px;background:rgba(216,27,96,.13);border:1px solid rgba(216,27,96,.3);display:grid;place-items:center;color:#fff;font-weight:700}
.cinfo h5{font-size:15px;margin-bottom:3px;color:#fff}
.cinfo p{color:#fff;font-size:14px}
.newsletter{margin-top:34px;padding:26px;border-radius:20px;border:1px solid rgba(216,27,96,.3);background:linear-gradient(135deg,rgba(216,27,96,.12),rgba(216,27,96,.02))}
.newsletter h5{font-size:16px;margin-bottom:8px;color:#fff}
.newsletter p{color:var(--txt-mut);font-size:13.5px;margin-bottom:16px}
.nl-row{display:flex;gap:10px}
.nl-row input{flex:1;padding:12px 16px;border-radius:30px;border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.25);color:#fff;outline:none;font-size:14px}
.nl-row input:focus{border-color:var(--rose)}

/* ===== CTA band ===== */
.cta-band{background:var(--metal-black);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden;text-align:center;padding:80px 0}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 360px at 50% 120%,rgba(216,27,96,.30),transparent 65%)}
.cta-band h2{font-size:clamp(28px,4vw,42px);font-weight:800;margin-bottom:14px}
.cta-band p{color:var(--txt-mut);margin-bottom:30px}

/* ===== Footer ===== */
footer{background:#08080a;border-top:1px solid var(--line);padding:70px 0 0}
.fgrid{display:grid;grid-template-columns:1.5fr 1.4fr 1fr 1fr;gap:40px;padding-bottom:50px}
.fbrand p{color:var(--txt-mut);font-size:14px;margin-top:16px;max-width:300px}
.fcol h5{font-size:14px;letter-spacing:1.5px;color:#fff;margin-bottom:18px;text-transform:uppercase}
.fcol a{display:block;color:var(--txt-mut);font-size:14px;margin-bottom:11px;transition:.2s}
.fcol-products .links{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}
.fcol a:hover{color:var(--rose-bright);padding-left:4px}
.fsocial{display:flex;gap:12px;margin-top:18px}
.fsocial a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#111;font-size:15px}
.fsocial a svg{width:16px;height:16px;fill:#111;display:block}
.fsocial a:hover{color:#fff;border-color:var(--rose);background:var(--rose)}
.fsocial a:hover svg{fill:#fff}
.copyright{border-top:1px solid var(--line);padding:24px 0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.copyright p{color:var(--txt-mut);font-size:13px}

/* ===== Reveal ===== */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}

/* ===== Responsive ===== */
@media(max-width:960px){
  nav{position:fixed;inset:0;background:rgba(10,10,12,.97);flex-direction:column;justify-content:center;gap:28px;transform:translateX(100%);transition:.35s;backdrop-filter:blur(10px)}
  nav.open{transform:none}
  nav a{font-size:20px}
  .nav-item{width:100%;text-align:center}
  .nav-item .caret{display:none}
  .nav-item .dropdown{position:static;transform:none;opacity:1;visibility:visible;min-width:0;background:none;border:none;box-shadow:none;padding:0;margin-top:12px;display:flex;flex-direction:column;gap:4px}
  .nav-item .dropdown::before{display:none}
  .nav-item .dropdown a{font-size:15px;padding:6px 0}
  .nav-item .dropdown a:hover{background:none}
  .burger{display:flex;z-index:110}
  .hero .container{grid-template-columns:1fr;padding-top:120px}
  .hero-visual{max-width:420px;margin:0 auto}
  .stats .grid{grid-template-columns:repeat(2,1fr)}
  .about .grid,.contact .grid{grid-template-columns:1fr}
  .pgrid,.tgrid,.testi-grid,.bgrid{grid-template-columns:1fr}
  .sol-grid{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr 1fr}
  .frow{grid-template-columns:1fr}
  .sec{padding:70px 0}
  .cat-nav{top:58px}
}
@media(max-width:520px){
  .stats .grid{grid-template-columns:1fr 1fr}
  .fgrid{grid-template-columns:1fr}
  .badges .row{justify-content:center;text-align:center}
}

/* ===== 产品详情页 ===== */
.product-single{padding:130px 0 84px;background:var(--ink)}
.ps-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.ps-media{position:relative}
.pgallery{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#fff;aspect-ratio:1/1}
.pgallery-track{display:flex;height:100%;transition:transform .5s ease}
.pgallery-slide{flex:none;width:100%;height:100%;position:relative;display:grid;place-items:center}
.pgallery-slide img{width:100%;height:100%;object-fit:contain;display:block}
.pgallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(12,12,14,.65);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:22px;cursor:pointer;display:grid;place-items:center;transition:.2s;z-index:5;line-height:1;padding:0}
.pgallery-arrow:hover{background:var(--rose);border-color:var(--rose)}
.pgallery-arrow.prev{left:14px}
.pgallery-arrow.next{right:14px}
.pgallery-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:5}
.pgallery-dot{width:8px;height:8px;border-radius:50%;border:none;background:rgba(255,255,255,.3);cursor:pointer;padding:0;transition:.25s}
.pgallery-dot.active{background:var(--rose);width:22px;border-radius:4px}
.pgallery-empty{aspect-ratio:1/1;border-radius:18px;display:grid;place-items:center;background:var(--metal-black);border:1px solid var(--line);color:var(--rose);font-weight:800;font-size:2em;letter-spacing:2px}
.ps-info h1{font-size:34px;letter-spacing:-.5px;margin-bottom:8px}
.ps-model{color:var(--rose-bright);font-weight:600;font-size:14px;letter-spacing:1px;margin-bottom:20px}
.ps-desc{color:var(--txt-mut);font-size:15px;line-height:1.7;margin-bottom:24px}
.ps-descfull{margin-top:40px;max-width:960px;color:#fff;font-size:15px;line-height:1.8}
.ps-descfull h1,.ps-descfull h2,.ps-descfull h3,.ps-descfull h4{color:#fff}
.ps-descfull p{margin:0 0 14px;color:#fff}
.ps-descfull ul{margin:0 0 14px;padding-left:20px;list-style:disc outside}
.ps-descfull li{margin:6px 0;color:#fff}
.ps-descfull strong{color:#fff}
.ps-cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:24px}
.ps-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.ps-spec{width:100%;border-collapse:collapse;margin-bottom:20px;font-size:14.5px}
.ps-spec th,.ps-spec td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line)}
.ps-spec th{width:38%;color:var(--txt-mut);font-weight:500}
.ps-spec td{color:var(--txt)}
.ps-biz{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ps-biz li{color:var(--txt-mut);font-size:14px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.03)}
.ps-biz strong{color:var(--txt);font-weight:600}
@media(max-width:900px){.ps-grid{grid-template-columns:1fr;gap:32px}}
@media(max-width:520px){.ps-biz{grid-template-columns:1fr}.ps-info h1{font-size:26px}}

/* FAQ list - always expanded, dark text on light card */
.faq-sec{background:#f6f6f8}
.faq-list{max-width:860px;margin:0 auto}
.faq-item{border:1px solid rgba(216,27,96,.30);border-radius:14px;margin:14px 0;background:#fdf2f6;overflow:hidden}
.faq-item .faq-q{margin:0;padding:20px 24px 4px;font-weight:600;color:#1a1a1e;font-size:16.5px;line-height:1.5}
.faq-item p{padding:0 24px 22px;color:#3c3c42;line-height:1.85;margin:0;font-size:15.5px}
