:root{--navy:#061a2e;--navy2:#0a2540;--navy3:#0e2e4d;--teal:#4fd1c5;--teal-dk:#17877c;--teal-bg:#eefbf9;--ink:#182530;--body:#43545f;--mut:#71828d;--line:#e3e9ec;--bg:#fafcfc;--fz:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;--fe:"Manrope","Helvetica Neue",sans-serif}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
body{font-family:var(--fz);color:var(--ink);background:#fff;line-height:1.75;font-size:16px}
img{max-width:100%;display:block}
a{color:var(--teal-dk);text-decoration:none}
a:hover{color:var(--navy2)}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}

/* ===== header ===== */
.site-head{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:10px 26px;min-height:66px;flex-wrap:wrap;padding:8px 0}
.logo{display:flex;align-items:center;gap:10px;margin-right:auto;color:var(--navy)}
.logo .mk{width:36px;height:36px;background:var(--teal);border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--navy);font-size:20px;flex:none}
.logo .nm{font-weight:700;font-size:17px;line-height:1.2}
.logo .nm small{display:block;font-family:var(--fe);font-size:9px;letter-spacing:2.4px;color:var(--mut);font-weight:600}
.nav-links{display:flex;gap:4px;flex-wrap:wrap}
.nav-links a{color:var(--body);font-size:15px;font-weight:500;padding:7px 12px;border-radius:7px}
.nav-links a:hover{background:var(--bg);color:var(--navy)}
.nav-links a.on{color:var(--navy);font-weight:700;background:var(--teal-bg)}
.lang-sw{font-family:var(--fe);font-size:13px;font-weight:700;border:1px solid var(--line);border-radius:7px;padding:6px 12px;color:var(--body);background:#fff;cursor:pointer}
.lang-sw:hover{border-color:var(--teal);color:var(--teal-dk)}
.btn{display:inline-block;background:var(--navy);color:#fff;font-weight:700;font-size:15px;padding:11px 26px;border-radius:8px;border:none;cursor:pointer}
.btn:hover{background:var(--navy3);color:#fff}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.45);color:#fff}
.btn.ghost:hover{border-color:var(--teal);color:var(--teal)}
.btn.teal{background:var(--teal);color:var(--navy)}
.btn.teal:hover{background:#63dccf;color:var(--navy)}
.nav .btn{padding:9px 20px;font-size:14px}

/* ===== hero ===== */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.hero .bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.hero .veil{position:absolute;inset:0;background:linear-gradient(155deg,rgba(6,26,46,.94) 18%,rgba(6,26,46,.55) 65%,rgba(6,26,46,.88))}
.hero .in{position:relative;z-index:2;padding:96px 0 72px}
.hero h1{font-size:clamp(32px,4.6vw,52px);font-weight:800;line-height:1.16;letter-spacing:-.5px;max-width:21em}
.hero h1 .ac{color:var(--teal)}
.hero .lead{font-size:17px;color:rgba(255,255,255,.85);max-width:44em;margin-top:22px}
.hero .cta{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.hero.slim .in{padding:72px 0 56px}

/* ===== section scaffolding ===== */
section{padding:76px 0}
.sec-alt{background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-dark{background:linear-gradient(160deg,var(--navy),var(--navy2));color:#fff}
.sec-dark .eyebrow{color:var(--teal)}
.sec-dark h2{color:#fff}
.sec-dark p{color:rgba(255,255,255,.82)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--fe);font-size:12px;font-weight:700;letter-spacing:2.6px;text-transform:uppercase;color:var(--teal-dk);margin-bottom:14px}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--teal)}
h2{font-size:clamp(26px,3.2vw,36px);font-weight:800;line-height:1.22;letter-spacing:-.4px;color:var(--navy)}
h2 .ac{color:var(--teal-dk)}
.sec-dark h2 .ac{color:var(--teal)}
h3{font-size:20px;font-weight:700;color:var(--navy);line-height:1.35}
.sub{font-size:16.5px;color:var(--body);margin-top:14px;max-width:46em}
.sechead{margin-bottom:40px}
.sechead.center{text-align:center}
.sechead.center .sub{margin-left:auto;margin-right:auto}
.sechead.center .eyebrow{justify-content:center}

/* ===== grids & cards ===== */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px}
.card h3{margin-bottom:8px}
.card p{font-size:14.5px;color:var(--body)}
.card .num{font-family:var(--fe);font-size:15px;font-weight:800;color:var(--teal-dk);letter-spacing:1px;display:block;margin-bottom:12px}
.card.dark{background:linear-gradient(160deg,var(--navy),var(--navy2));border:none;color:#fff}
.card.dark h3{color:#fff}
.card.dark p{color:rgba(255,255,255,.82)}
.card.tint{background:var(--teal-bg);border-color:#c9efe9}
.card .more{display:inline-block;margin-top:14px;font-weight:700;font-size:14px}

/* ===== stats ===== */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat{padding:22px 0;border-top:2px solid var(--teal)}
.stat .v{font-family:var(--fe);font-size:40px;font-weight:800;letter-spacing:-1px;color:var(--navy);line-height:1.05}
.stat .l{font-size:14px;color:var(--body);margin-top:8px;line-height:1.5}
.stat .s{font-size:12px;color:var(--mut);display:block;margin-top:2px}
.sec-dark .stat .v,.hero .stat .v{color:var(--teal)}
.sec-dark .stat .l,.hero .stat .l{color:rgba(255,255,255,.8)}
.sec-dark .stat .s,.hero .stat .s{color:rgba(255,255,255,.55)}
.hero .stats{margin-top:56px;border-top:1px solid rgba(255,255,255,.16);padding-top:8px}
.hero .stat{border-top:none}

/* ===== definition & note blocks ===== */
.defbox{background:var(--teal-bg);border:1px solid #c9efe9;border-radius:12px;padding:28px 32px}
.defbox .t{font-family:var(--fe);font-size:12px;font-weight:800;letter-spacing:2.4px;text-transform:uppercase;color:var(--teal-dk);margin-bottom:10px}
.defbox p{font-size:17px;line-height:1.9;color:var(--ink)}
.note{font-size:13px;color:var(--mut);margin-top:12px}
.srcline{font-size:12.5px;color:var(--mut);margin-top:10px}

/* ===== data tables ===== */
.tbl-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
table.data{width:100%;border-collapse:collapse;font-size:14.5px;min-width:560px}
table.data caption{caption-side:top;text-align:left;font-weight:700;font-size:16px;color:var(--navy);padding:16px 18px 12px;background:#fff}
table.data th{background:var(--navy);color:#fff;font-weight:600;text-align:left;padding:11px 18px;font-size:13.5px;letter-spacing:.3px;white-space:nowrap}
table.data td{padding:11px 18px;border-top:1px solid var(--line);color:var(--body);vertical-align:top;background:#fff}
table.data td:first-child{color:var(--ink);font-weight:500}
table.data tr:nth-child(even) td{background:var(--bg)}
table.data .num{font-family:var(--fe);font-weight:700;color:var(--navy)}
table.data .good{color:var(--teal-dk);font-weight:700}

/* ===== lists ===== */
ul.ticks{list-style:none;display:flex;flex-direction:column;gap:10px}
ul.ticks li{padding-left:26px;position:relative;font-size:15px;color:var(--body)}
ul.ticks li::before{content:"";position:absolute;left:0;top:9px;width:14px;height:8px;border-left:2.5px solid var(--teal);border-bottom:2.5px solid var(--teal);transform:rotate(-45deg)}
ol.steps{list-style:none;counter-reset:st;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
ol.steps li{counter-increment:st;background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px}
ol.steps li::before{content:"0" counter(st);font-family:var(--fe);font-weight:800;font-size:15px;color:var(--teal-dk);letter-spacing:1px;display:block;margin-bottom:10px}
ol.steps li b{display:block;font-size:16.5px;color:var(--navy);margin-bottom:6px}
ol.steps li span{font-size:14px;color:var(--body)}

/* ===== product rows ===== */
.prod{display:grid;grid-template-columns:340px 1fr;gap:40px;align-items:start;padding:44px 0;border-top:1px solid var(--line)}
.prod:first-of-type{border-top:none}
.prod .ph{border-radius:12px;overflow:hidden;background:var(--bg);border:1px solid var(--line)}
.prod .ph img{width:100%;height:100%;object-fit:cover}
.prod h3{font-size:24px}
.prod h2.prodname{font-size:24px;margin-bottom:0;line-height:1.35}
.prod .tag{display:inline-block;font-size:12px;font-weight:700;color:var(--teal-dk);background:var(--teal-bg);border-radius:99px;padding:4px 13px;margin-left:10px;vertical-align:middle}
.prod .en-name{font-family:var(--fe);font-size:12px;letter-spacing:1.6px;color:var(--mut);font-weight:600;text-transform:uppercase;margin-top:4px}
.prod p{margin-top:14px;color:var(--body);font-size:15px}
.kv{display:grid;grid-template-columns:1fr 1fr;gap:2px 30px;margin-top:18px}
.kv div{display:flex;justify-content:space-between;gap:14px;font-size:13.5px;padding:7px 0;border-bottom:1px dotted var(--line)}
.kv div b{font-family:var(--fe);color:var(--navy);font-weight:700;text-align:right}
.kv div span{color:var(--mut)}

/* ===== FAQ ===== */
.faq{display:flex;flex-direction:column;gap:14px}
.faq .qa{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 26px}
.faq .qa h3{font-size:17px;margin-bottom:8px}
.faq .qa p{font-size:15px;color:var(--body)}
.sec-alt .faq .qa{background:#fff}

/* ===== placeholder ===== */
.imgph{border-radius:12px;border:1px dashed #b9c7ce;background:repeating-linear-gradient(45deg,#f4f8f9 0 12px,#eef3f5 12px 24px);display:flex;align-items:center;justify-content:center;min-height:220px;color:var(--mut);font-family:var(--fe);font-size:12px;letter-spacing:1px;text-align:center;padding:20px}
figure.shot{border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#fff}
figure.shot img{width:100%}
figure.shot figcaption{font-size:13px;color:var(--mut);padding:12px 16px;border-top:1px solid var(--line)}

/* ===== contact / footer ===== */
.contact-card{background:rgba(79,209,197,.08);border:1px solid rgba(79,209,197,.35);border-radius:14px;padding:30px 34px}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.contact-grid .c{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:22px}
.contact-grid .c .k{font-family:var(--fe);font-size:11px;letter-spacing:2.2px;color:var(--teal);font-weight:700;text-transform:uppercase}
.contact-grid .c .v{font-size:16.5px;font-weight:700;margin-top:9px;color:#fff;line-height:1.55}
.contact-grid .c .s{font-size:12.5px;color:rgba(255,255,255,.55);margin-top:6px}
.site-foot{background:var(--navy);color:rgba(255,255,255,.72);padding:52px 0 30px;font-size:14px}
.site-foot .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:36px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.12)}
.site-foot h4{color:#fff;font-size:15px;margin-bottom:14px}
.site-foot a{color:rgba(255,255,255,.72);display:block;padding:3px 0}
.site-foot a:hover{color:var(--teal)}
.site-foot .base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;font-size:12.5px;color:rgba(255,255,255,.45)}
.crumbs{font-size:13px;color:var(--mut);padding:18px 0 0}
.crumbs a{color:var(--mut)}
.crumbs a:hover{color:var(--teal-dk)}

/* ===== responsive ===== */
@media(max-width:960px){.grid4{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr;gap:26px 20px}.contact-grid{grid-template-columns:1fr}.prod{grid-template-columns:1fr;gap:24px}.prod .ph{max-width:420px}ol.steps{grid-template-columns:1fr 1fr !important}}
@media(max-width:680px){section{padding:56px 0}.grid2,.grid3,.grid4{grid-template-columns:1fr}ol.steps{grid-template-columns:1fr !important}.kv{grid-template-columns:1fr}.site-foot .cols{grid-template-columns:1fr}.hero .in{padding:64px 0 48px}.nav-links a{padding:6px 9px;font-size:14px}}
