:root{
  --ink:#0B0E14;            /* 深墨底 */
  --ink-2:#11151E;          /* 次级深底 */
  --ink-card:#161B26;       /* 深色卡片 */
  --mango:#F5A623;
  --mango-soft:#F7B84B;
  --mango-deep:#C77F12;
  --green:#36B37E;          /* 提亮的辅助绿 */
  --paper:#F6F5F1;          /* 暖白内容区 */
  --paper-2:#FFFFFF;
  --line:#E6E4DD;           /* 浅色描边 */
  --line-d:rgba(255,255,255,0.10); /* 深色描边 */
  --tx:#1A1D24;             /* 正文 */
  --tx-soft:#6A6E78;        /* 次级文字 */
  --tx-dim:rgba(255,255,255,0.62);
  --tx-dimmer:rgba(255,255,255,0.40);
  --r:14px;
  --maxw:1120px;
  --display:"Space Grotesk","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --body:"PingFang SC","Microsoft YaHei","Helvetica Neue",system-ui,sans-serif;
  --mono:"Space Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--body);
  background:var(--paper);
  color:var(--tx);
  line-height:1.72;
  font-size:15px;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}

/* eyebrow / mono label */
.eyebrow{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--mango-deep);
  display:inline-flex;align-items:center;gap:9px;
  margin-bottom:18px;
}
.eyebrow::before{
  content:"";width:22px;height:1px;background:var(--mango);display:inline-block;
}

/* ─────────────────────────  NAV  ───────────────────────── */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px clamp(20px,5vw,48px);
  transition:background .35s ease, padding .35s ease, border-color .35s ease;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(11,14,20,0.72);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-d);
  padding-top:13px;padding-bottom:13px;
}
.brand{display:flex;align-items:center;gap:11px;color:#fff;}
.brand-mark{
  width:34px;height:34px;border-radius:9px;
  background:var(--mango);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-weight:700;font-size:20px;color:var(--ink);
  box-shadow:0 4px 18px rgba(245,166,35,0.35);
}
.brand-name{font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:.3px;white-space:nowrap;}
.nav-links{display:flex;align-items:center;gap:30px;}
.nav-links a{
  font-size:13.5px;color:var(--tx-dim);transition:color .2s;
  font-weight:500;
}
.nav-links a:hover{color:#fff;}
.nav-cta{
  font-family:var(--mono);font-size:12px;letter-spacing:1px;
  color:var(--ink);background:var(--mango);
  padding:9px 18px;border-radius:8px;font-weight:700;
  transition:transform .2s, box-shadow .2s;
}
.nav-cta:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(245,166,35,.4);}
.nav-right{display:flex;align-items:center;gap:14px;}
.lang-switch{display:inline-flex;align-items:center;background:rgba(255,255,255,.06);border:1px solid var(--line-d);border-radius:100px;padding:3px;gap:1px;}
.lang-btn{
  font-family:var(--mono);font-size:12px;line-height:1;color:var(--tx-dim);
  background:transparent;border:none;cursor:pointer;padding:6px 12px;border-radius:100px;
  transition:color .2s, background .2s;
}
.lang-btn:hover{color:#fff;}
.lang-btn.active{background:var(--mango);color:var(--ink);font-weight:700;}
.lang-btn[data-lang="km"]{font-family:"Noto Sans Khmer",var(--mono);font-size:13px;}
body[data-lang="km"]{font-family:"Noto Sans Khmer","PingFang SC","Microsoft YaHei",system-ui,sans-serif;}
@media(max-width:820px){ .nav-links{display:none;} }

/* ─────────────────────────  HERO  ───────────────────────── */
.hero{
  position:relative;
  min-height:100vh;
  background:radial-gradient(120% 90% at 50% 0%, #141A26 0%, var(--ink) 55%, #080A0F 100%);
  color:#fff;
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  text-align:center;
  padding:140px clamp(20px,5vw,48px) 90px;
  overflow:hidden;
}
#dotfield{
  position:absolute;inset:0;width:100%;height:100%;
  z-index:0;
}
.hero-glow{
  position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);
  width:min(720px,90vw);height:min(720px,90vw);
  background:radial-gradient(circle, rgba(245,166,35,0.16) 0%, rgba(245,166,35,0) 62%);
  z-index:0;pointer-events:none;
}
.hero-inner{position:relative;z-index:2;max-width:880px;}
.hero-tag{
  font-family:var(--mono);font-size:12px;letter-spacing:3px;text-transform:uppercase;
  color:var(--mango);
  border:1px solid rgba(245,166,35,0.35);
  background:rgba(245,166,35,0.06);
  padding:7px 16px;border-radius:100px;
  display:inline-block;margin-bottom:30px;
}
.hero h1{
  font-family:var(--display);
  font-size:clamp(34px,6vw,68px);
  font-weight:600;
  line-height:1.06;
  letter-spacing:-1px;
  margin-bottom:22px;
}
.hero h1 .accent{color:var(--mango);}
.hero h1 .en{
  display:block;font-size:.34em;font-weight:400;
  letter-spacing:.5px;color:var(--tx-dimmer);margin-top:18px;
  font-family:var(--display);
}
.hero p.lead{
  font-size:clamp(15px,1.6vw,18px);
  color:var(--tx-dim);
  max-width:620px;margin:0 auto 38px;
  line-height:1.8;
}
.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:46px;}
.btn{
  font-size:14.5px;font-weight:600;
  padding:14px 26px;border-radius:10px;
  display:inline-flex;align-items:center;gap:9px;
  transition:transform .2s, box-shadow .2s, background .2s, border-color .2s;
}
.btn-primary{background:var(--mango);color:var(--ink);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(245,166,35,.4);}
.btn-ghost{border:1px solid var(--line-d);color:#fff;}
.btn-ghost:hover{border-color:rgba(245,166,35,.5);background:rgba(245,166,35,.06);}
.hero-chips{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.chip{
  font-size:12.5px;color:var(--tx-dim);
  border:1px solid var(--line-d);border-radius:100px;
  padding:6px 15px;background:rgba(255,255,255,0.03);
  display:inline-flex;align-items:center;gap:7px;
}
.chip .dot{width:6px;height:6px;border-radius:50%;background:var(--mango);}
.chip .dot.g{background:var(--green);}
.scroll-cue{
  position:absolute;bottom:26px;left:50%;transform:translateX(-50%);
  z-index:2;font-family:var(--mono);font-size:10px;letter-spacing:2px;
  color:var(--tx-dimmer);display:flex;flex-direction:column;align-items:center;gap:8px;
}
.scroll-cue .bar{width:1px;height:34px;background:linear-gradient(var(--mango),transparent);animation:cue 2s ease-in-out infinite;}
@keyframes cue{0%,100%{opacity:.3;transform:scaleY(.6);}50%{opacity:1;transform:scaleY(1);}}

/* ─────────────────────  STATS (deep)  ───────────────────── */
.stats{background:var(--ink-2);border-bottom:1px solid var(--line-d);}
.stats-inner{
  max-width:var(--maxw);margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);
}
.stat{
  padding:38px 26px;text-align:center;color:#fff;
  border-right:1px solid var(--line-d);
}
.stat:last-child{border-right:none;}
.stat .num{font-family:var(--display);font-size:clamp(34px,4vw,46px);font-weight:600;color:var(--mango);line-height:1;}
.stat .num sup{font-size:.45em;vertical-align:super;color:var(--mango-soft);}
.stat .lbl{font-size:13px;color:var(--tx-dim);margin-top:10px;}
.stat .lbl-en{font-family:var(--mono);font-size:10px;letter-spacing:1px;color:var(--tx-dimmer);margin-top:3px;text-transform:uppercase;}
@media(max-width:720px){
  .stats-inner{grid-template-columns:repeat(2,1fr);}
  .stat:nth-child(2){border-right:none;}
  .stat:nth-child(-n+2){border-bottom:1px solid var(--line-d);}
}

/* ─────────────────────  SECTION SHELL  ──────────────────── */
.section{max-width:var(--maxw);margin:0 auto;padding:clamp(64px,9vw,110px) clamp(20px,5vw,48px);}
.section-head{max-width:680px;margin-bottom:54px;}
.section-title{
  font-family:var(--display);font-weight:600;
  font-size:clamp(26px,3.6vw,40px);line-height:1.12;letter-spacing:-.5px;
  color:var(--tx);margin-bottom:14px;
}
.section-title .hl{color:var(--mango-deep);}
.section-desc{color:var(--tx-soft);font-size:15.5px;line-height:1.8;}

/* reveal */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);}
[data-reveal].in{opacity:1;transform:none;}
[data-reveal][data-d="1"]{transition-delay:.07s;}
[data-reveal][data-d="2"]{transition-delay:.14s;}
[data-reveal][data-d="3"]{transition-delay:.21s;}

/* ─────────────────────  SERVICES  ───────────────────────── */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.svc{
  background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);
  padding:30px 26px;position:relative;overflow:hidden;
  transition:transform .25s, box-shadow .25s, border-color .25s;
}
.svc::after{
  content:"";position:absolute;left:0;top:0;height:100%;width:3px;
  background:var(--mango);transform:scaleY(0);transform-origin:top;transition:transform .3s;
}
.svc:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(11,14,20,.10);border-color:transparent;}
.svc:hover::after{transform:scaleY(1);}
.svc.feat{background:linear-gradient(180deg,#1b2230,#141926);border-color:transparent;color:#fff;}
.svc.feat::after{transform:scaleY(1);}
.svc .ico{
  width:46px;height:46px;border-radius:11px;display:flex;align-items:center;justify-content:center;
  font-size:22px;margin-bottom:18px;background:#FBEFD7;
}
.svc.feat .ico{background:rgba(245,166,35,.18);}
.svc .ico.g{background:#E2F4EC;}
.svc .num{
  font-family:var(--mono);font-size:11px;color:var(--mango-deep);letter-spacing:1px;
  position:absolute;top:26px;right:24px;
}
.svc.feat .num{color:var(--mango);}
.svc h3{font-family:var(--display);font-size:18px;font-weight:600;margin-bottom:4px;}
.svc .h-en{font-family:var(--mono);font-size:10.5px;color:var(--tx-soft);letter-spacing:.4px;margin-bottom:13px;text-transform:uppercase;}
.svc.feat .h-en{color:var(--tx-dimmer);}
.svc p{font-size:13.5px;color:var(--tx-soft);line-height:1.7;}
.svc.feat p{color:var(--tx-dim);}
.svc .tags{margin-top:16px;display:flex;gap:7px;flex-wrap:wrap;}
.t{font-size:11px;padding:3px 11px;border-radius:100px;background:var(--paper);color:var(--tx-soft);border:1px solid var(--line);}
.t.m{background:#FBEFD7;color:var(--mango-deep);border-color:rgba(199,127,18,.25);}
.t.g{background:#E2F4EC;color:#1F8055;border-color:rgba(54,179,126,.3);}
.svc.feat .t{background:rgba(255,255,255,.06);color:var(--mango-soft);border-color:rgba(245,166,35,.25);}
@media(max-width:900px){.svc-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.svc-grid{grid-template-columns:1fr;}}

/* —— 服务区入场动效（错落升起 + 图标弹出）—— */
.svc[data-reveal]{opacity:0;transform:translateY(42px) scale(.95);transition:opacity .65s cubic-bezier(.2,.75,.25,1),transform .7s cubic-bezier(.2,.85,.3,1),box-shadow .25s,border-color .25s;}
.svc[data-reveal].in{opacity:1;transform:none;}
.svc[data-reveal].in:hover{transform:translateY(-4px);}
.svc-grid .svc:nth-child(1){transition-delay:.00s;}
.svc-grid .svc:nth-child(2){transition-delay:.08s;}
.svc-grid .svc:nth-child(3){transition-delay:.16s;}
.svc-grid .svc:nth-child(4){transition-delay:.10s;}
.svc-grid .svc:nth-child(5){transition-delay:.18s;}
.svc-grid .svc:nth-child(6){transition-delay:.26s;}
.svc .ico,.svc h3,.svc .h-en,.svc p,.svc .tags{transition:transform .55s cubic-bezier(.34,1.5,.5,1),opacity .55s ease;}
.svc[data-reveal] .ico{transform:scale(.4) rotate(-12deg);opacity:0;}
.svc[data-reveal] h3,.svc[data-reveal] .h-en,.svc[data-reveal] p,.svc[data-reveal] .tags{transform:translateY(12px);opacity:0;}
.svc[data-reveal].in .ico{transform:none;opacity:1;transition-delay:.22s;}
.svc[data-reveal].in h3{transform:none;opacity:1;transition-delay:.28s;}
.svc[data-reveal].in .h-en{transform:none;opacity:1;transition-delay:.33s;}
.svc[data-reveal].in p{transform:none;opacity:1;transition-delay:.38s;}
.svc[data-reveal].in .tags{transform:none;opacity:1;transition-delay:.44s;}
.svc-grid .svc:nth-child(n+4)[data-reveal].in .ico{transition-delay:.30s;}
@media(prefers-reduced-motion:reduce){.svc[data-reveal],.svc[data-reveal] *{transition-duration:.01s!important;transition-delay:0s!important;}}

/* ─────────────────────  CASES  ──────────────────────────── */
.cases-bg{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.case{
  border:1px solid var(--line);border-radius:var(--r);padding:30px;background:var(--paper);
  position:relative;transition:transform .25s,box-shadow .25s;
}
.case:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(11,14,20,.08);}
.case .cnum{
  position:absolute;top:22px;right:28px;font-family:var(--display);
  font-size:46px;font-weight:700;color:var(--line);line-height:1;
}
.badge{display:inline-block;font-size:11px;font-weight:700;padding:4px 13px;border-radius:100px;margin-bottom:15px;letter-spacing:.3px;}
.badge.logi{background:#E8F1FD;color:#1565C0;}
.badge.ec{background:#FBEFD7;color:var(--mango-deep);}
.badge.erp{background:#E2F4EC;color:#1F8055;}
.badge.pay{background:#F1E9FB;color:#7B36C2;}
.case h3{font-family:var(--display);font-size:18px;font-weight:600;margin-bottom:5px;}
.case .h-en{font-family:var(--mono);font-size:10.5px;color:var(--tx-soft);letter-spacing:.3px;margin-bottom:13px;text-transform:uppercase;}
.case p{font-size:13.5px;color:var(--tx-soft);line-height:1.7;margin-bottom:18px;}
.case .en{display:block;font-family:var(--display);font-size:12px;color:#A2A6AE;margin-top:10px;font-style:normal;}
.metrics{display:flex;gap:12px;flex-wrap:wrap;}
.metric{text-align:center;background:var(--paper-2);border:1px solid var(--line);border-radius:9px;padding:9px 15px;min-width:78px;}
.metric .v{font-family:var(--display);font-size:18px;font-weight:600;color:var(--tx);}
.metric .k{font-size:10.5px;color:var(--tx-soft);}
@media(max-width:760px){.case-grid{grid-template-columns:1fr;}}

/* ─────────────────────  PARTNERS (deep)  ────────────────── */
.partners{background:var(--ink);color:#fff;}
.partners .section-title{color:#fff;}
.partners .section-desc{color:var(--tx-dim);}
.p-grid{display:flex;flex-wrap:wrap;gap:11px;}
.p-chip{
  background:rgba(255,255,255,.05);border:1px solid var(--line-d);border-radius:100px;
  padding:11px 20px;font-size:14px;color:var(--tx-dim);font-weight:500;
  display:inline-flex;align-items:center;gap:8px;transition:border-color .2s,color .2s,background .2s;
}
.p-chip:hover{border-color:rgba(245,166,35,.4);color:#fff;}
.p-chip.hot{background:rgba(245,166,35,.10);border-color:rgba(245,166,35,.32);color:var(--mango-soft);}

/* ─────────────────────  TECH  ───────────────────────────── */
.tech-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}
.tech-col h4{
  font-family:var(--mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;
  color:var(--mango-deep);margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid #FBEFD7;
}
.tech-item{font-size:13px;color:var(--tx-soft);padding:6px 0;display:flex;align-items:center;gap:9px;}
.tech-item::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--mango);flex-shrink:0;}
@media(max-width:900px){.tech-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.tech-grid{grid-template-columns:repeat(2,1fr);}}

/* ─────────────────────  TEAM  ───────────────────────────── */
.team-bg{background:var(--paper-2);border-top:1px solid var(--line);}
.team-card{
  display:grid;grid-template-columns:auto 1fr;gap:42px;align-items:start;
  background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:44px;
}
.avatar{
  width:96px;height:96px;border-radius:22px;
  background:linear-gradient(135deg,var(--mango),var(--mango-deep));
  display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-size:42px;font-weight:700;color:#fff;flex-shrink:0;
  box-shadow:0 12px 30px rgba(245,166,35,.3);
}
.team-name{font-family:var(--display);font-size:22px;font-weight:600;margin-bottom:5px;}
.team-role{font-family:var(--mono);font-size:12px;color:var(--mango-deep);letter-spacing:.5px;margin-bottom:18px;}
.team-bio{font-size:14px;color:var(--tx-soft);line-height:1.85;margin-bottom:22px;}
.team-bio .en{display:block;font-family:var(--display);font-size:12.5px;color:#A2A6AE;margin-top:12px;}
.team-tags{display:flex;gap:8px;flex-wrap:wrap;}
.team-tag{font-size:12px;padding:5px 13px;border-radius:100px;background:var(--paper-2);border:1px solid var(--line);}
@media(max-width:680px){.team-card{grid-template-columns:1fr;gap:26px;padding:30px;}}

/* ─────────────────────  CTA  ────────────────────────────── */
.cta{background:radial-gradient(120% 130% at 50% 0%, #1A2230 0%, var(--ink) 70%);color:#fff;position:relative;overflow:hidden;}
.cta .section{text-align:center;}
.cta h2{font-family:var(--display);font-size:clamp(28px,4vw,46px);font-weight:600;letter-spacing:-.5px;margin-bottom:16px;}
.cta h2 .accent{color:var(--mango);}
.cta p{color:var(--tx-dim);max-width:560px;margin:0 auto 36px;font-size:16px;}
.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.cta-card{
  display:flex;align-items:center;gap:12px;
  background:rgba(255,255,255,.04);border:1px solid var(--line-d);border-radius:12px;
  padding:16px 22px;transition:border-color .2s,background .2s,transform .2s;
}
.cta-card:hover{border-color:rgba(245,166,35,.4);background:rgba(245,166,35,.06);transform:translateY(-2px);}
.cta-card .ico{width:38px;height:38px;border-radius:9px;background:rgba(245,166,35,.14);display:flex;align-items:center;justify-content:center;font-size:18px;}
.cta-card .meta{text-align:left;}
.cta-card .meta .k{font-family:var(--mono);font-size:10px;letter-spacing:1px;color:var(--tx-dimmer);text-transform:uppercase;}
.cta-card .meta .v{font-size:15px;font-weight:600;}

/* ─────────────────────  FOOTER  ─────────────────────────── */
footer{background:#070A0F;color:var(--tx-dimmer);padding:40px clamp(20px,5vw,48px);font-size:13px;}
.foot-inner{max-width:var(--maxw);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.foot-brand{display:flex;align-items:center;gap:10px;color:#fff;}
.foot-brand .brand-mark{width:30px;height:30px;font-size:17px;}
footer .meta{text-align:right;line-height:1.7;}
footer .meta span{color:var(--mango);}
@media(max-width:600px){.foot-inner{flex-direction:column;text-align:center;}footer .meta{text-align:center;}}
