:root{
  --bg:#08090B; --bg-2:#0C0E11; --surface:#0E1013;
  --border:rgba(255,255,255,.10); --border-strong:rgba(61,107,255,.5);
  --text:#F4F5F7; --text-dim:#8D95A3; --text-faint:#565F6C;
  --accent:#3D6BFF; --accent-bright:#6C8CFF; --signal:#33D17A; --warn:#F5A623;
  --service:#B91C1C;
  --light-bg:#F6F5F3; --light-surface:#FFFFFF; --light-border:rgba(10,12,20,.10);
  --light-text:#0B0D10; --light-dim:#5B6270;
  --font-sans:'General Sans',-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei','Helvetica Neue',Arial,sans-serif;
  --font-mono:'JetBrains Mono','SF Mono',Consolas,monospace;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:var(--font-sans);line-height:1.6;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1240px;margin:0 auto;padding:0 40px;}
section{position:relative;}
.mono{font-family:var(--font-mono);}
::selection{background:var(--accent);color:#fff;}



.brk{position:relative;}
.brk::before,.brk::after{content:"";position:absolute;width:12px;height:12px;border-color:var(--accent);opacity:0;transition:opacity .3s;}
.brk::before{top:-1px;left:-1px;border-top:1px solid;border-left:1px solid;}
.brk::after{bottom:-1px;right:-1px;border-bottom:1px solid;border-right:1px solid;}
.brk:hover::before,.brk:hover::after{opacity:1;}

.hook::before{content:"↳ ";color:var(--text-faint);}
.light .hook::before{color:var(--light-dim);}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:0;font-size:13px;font-weight:600;letter-spacing:.2px;cursor:pointer;border:1px solid transparent;transition:all .25s ease;white-space:nowrap;}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{background:var(--accent-bright);}
.btn-ghost{border-color:var(--border);color:var(--text);background:transparent;}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent-bright);}
.btn-dark{background:#000;color:#fff;border-color:#000;}
.btn-dark:hover{background:#1a1a1a;}
.btn-sm{padding:9px 16px;font-size:12px;}

/* ---------- ANNOUNCEMENT BAR ---------- */

/* ---------- NAV ---------- */
.nav{position:sticky;top:0;left:0;right:0;z-index:150;background:rgba(8,9,11,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:66px;}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:17px;letter-spacing:-.3px;font-family:var(--font-mono);}
.brand-lockup{height:34px;width:auto;display:block;object-fit:contain;}
/* Footer logo: same mark + per-language wordmark as the nav, 24px tall. */
.footer-logo{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.footer-mark,.footer-word{height:24px;width:auto;display:block;}
.nav-links{display:flex;align-items:center;gap:8px;}
.nav-item{position:relative;}
.nav-item>a{font-size:13px;color:var(--text-dim);transition:color .2s;padding:10px 14px;display:block;font-weight:500;}
.nav-item:hover>a{color:var(--text);}
.mega{position:absolute;top:100%;left:0;background:var(--surface);border:1px solid var(--border);min-width:260px;padding:10px;opacity:0;visibility:hidden;transform:translateY(6px);transition:all .2s;box-shadow:0 20px 50px rgba(0,0,0,.5);}
.nav-item:hover .mega{opacity:1;visibility:visible;transform:translateY(0);}
.mega a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:0;font-size:13px;color:var(--text);}
.mega a:hover{background:rgba(61,107,255,.1);}
.mega.mega-products{min-width:620px;padding:18px 0;left:50%;margin-left:-310px;}
.mega-products .mega-found{flex:1.25;}
.mega-found a{position:relative;padding:14px;margin-bottom:6px;background:rgba(255,255,255,.025);gap:4px;}
.mega-found a span{font-family:var(--font-mono);font-size:19px;font-weight:800;letter-spacing:-.4px;color:var(--fc);}
.mega-found a small{font-size:11px;color:var(--text-dim);}
.mega-found a:hover,.mega-found a.current{background:rgba(255,255,255,.07);}
.mega-found .fc-blue{--fc:#008CE2;}
.mega-found .fc-green{--fc:#5FA004;}
.mega-found .fc-amber{--fc:#DB7800;}
.mega-apps a{padding:7px 12px;}
.mega-apps a span{font-size:12.5px;color:var(--text-dim);}
.mega-apps a:hover span{color:var(--text);}
.mega-apps a small{font-size:10px;}
.mega a.mega-all{margin-top:4px;border-top:1px solid var(--border);padding-top:12px;}
.mega a.mega-all span{font-size:12.5px;color:var(--accent-bright);}
.mega a small{font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint);letter-spacing:.5px;}.mega-2col{display:flex;gap:0;min-width:480px;padding:14px 0;}.mega-col{display:flex;flex-direction:column;padding:0 8px;flex:1;}.mega-col+.mega-col{border-left:1px solid var(--border);}.mega-col-title{font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint);letter-spacing:1px;padding:6px 12px 8px;text-transform:uppercase;}.mega a.svc small{color:var(--signal);}
.nav-actions{display:flex;align-items:center;gap:10px;}
.lang-btn{font-family:var(--font-mono);font-size:11.5px;color:var(--text-dim);border:1px solid var(--border);padding:7px 12px;border-radius:0;cursor:pointer;background:transparent;letter-spacing:.5px;}
.lang-btn:hover{border-color:var(--accent);color:var(--accent-bright);}
.nav-actions .btn{height:30px;padding:0 16px;line-height:28px;}
.menu-toggle{display:none;background:none;border:none;color:var(--text);font-size:20px;cursor:pointer;padding:4px 6px;}

/* ---------- HERO ---------- */
.hero{min-height:92vh;display:flex;flex-direction:column;justify-content:center;padding-top:60px;padding-bottom:56px;z-index:1;position:relative;overflow:hidden;}
.hero-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;background:var(--bg);}
.hero-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease;}
.hero-bg video.active{opacity:.68;}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,9,11,.08) 0%,rgba(8,9,11,.45) 58%,var(--bg) 100%);}
.hero-grid{display:grid;grid-template-columns:1fr;gap:56px;align-items:center;}
.hero h1{font-size:clamp(34px,4.6vw,58px);font-weight:800;letter-spacing:-1.6px;line-height:1.12;margin-bottom:24px;}
.hero h1 .ac{color:var(--accent-bright);}
.hero p.sub{font-size:15px;color:var(--text-dim);line-height:1.9;margin-bottom:34px;max-width:560px;}
.hero p.sub b{color:var(--text);font-weight:600;}
.hero-ctas{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}

/* isometric stack visual */
.iso-wrap{position:relative;height:520px;display:flex;align-items:center;justify-content:center;}
.iso-svg{width:100%;max-width:440px;overflow:visible;}
.iso-layer{fill:rgba(61,107,255,.06);stroke:var(--accent-bright);stroke-width:1;}
.iso-layer.dim{fill:rgba(255,255,255,.02);stroke:var(--border);}
.iso-node{fill:var(--accent-bright);}
.iso-line{stroke:rgba(108,140,255,.55);stroke-width:1;}
.iso-label{font-family:var(--font-mono);font-size:10px;fill:var(--text-faint);letter-spacing:1px;}

/* ---------- STAT STRIP ---------- */
.trust{padding:0;z-index:1;border-top:1px solid var(--border);}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);}
.stat-cell{background:var(--bg);padding:32px 36px;}
.stat-num{font-family:var(--font-mono);font-size:clamp(24px,2.4vw,32px);font-weight:600;color:var(--text);}
.stat-label{font-size:11px;color:var(--text-faint);margin-top:8px;letter-spacing:.3px;}

/* ---------- SECTION HEADERS ---------- */
.sec{padding:120px 0;z-index:1;}
.sec-tight{padding:88px 0;}
.kicker{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:1.5px;color:var(--accent-bright);margin-bottom:16px;}
.kicker .dt{width:6px;height:6px;border-radius:50%;background:var(--accent-bright);}
.light .kicker{color:#4B5FE0;}
.light .kicker .dt{background:#4B5FE0;}
.sec-title{font-size:clamp(26px,3.4vw,42px);font-weight:800;letter-spacing:-1px;margin-bottom:18px;max-width:820px;line-height:1.25;}
.sec-title .ac{color:var(--accent-bright);}
.light .sec-title .ac{color:#4B5FE0;}
.sec-sub{font-size:14.5px;color:var(--text-dim);max-width:620px;line-height:1.85;}
.light .sec-sub{color:var(--light-dim);}
.sec-head{margin-bottom:56px;}
.stack-cue{margin-top:64px;padding-bottom:32px;display:flex;flex-direction:column;align-items:center;gap:24px;}
.stack-cue-arrow{width:38px;height:38px;border:1px solid var(--light-border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#4B5FE0;font-size:15px;background:var(--light-surface);flex-shrink:0;}
.stack-cue-line{width:100%;height:1px;background:rgba(10,12,20,.16);}
.light{background:var(--light-bg);color:var(--light-text);}
.light .text-dim{color:var(--light-dim);}

/* ---------- TSAN EVOLUTION THEORY (dark) ---------- */
.evo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);position:relative;}
.evo-card{background:var(--bg);padding:34px 30px;position:relative;}
.evo-stage{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--accent-bright);letter-spacing:1.5px;margin-bottom:16px;}
.evo-name{font-size:19px;font-weight:700;color:var(--text);margin-bottom:6px;}
.evo-tag{font-size:12.5px;font-weight:600;color:var(--text-dim);margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--border);}
.evo-desc{font-size:12.5px;color:var(--text-dim);line-height:1.85;}
.evo-arrow{position:absolute;top:50%;right:-11px;transform:translateY(-50%);width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:var(--bg-2);border:1px solid var(--border);border-radius:50%;color:var(--text-faint);font-family:var(--font-mono);font-size:12px;z-index:2;}
.evo-note{margin-top:32px;padding:22px 30px;background:rgba(61,107,255,.08);border:1px solid rgba(61,107,255,.25);font-family:var(--font-mono);font-size:12.5px;color:var(--accent-bright);line-height:1.8;}
@media (max-width:960px){
  .evo-grid{grid-template-columns:1fr;}
  .evo-arrow{display:none;}
}

/* ---------- PLATFORM MATRIX ---------- */
.plat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--border);border:1px solid var(--border);}
.plat-card{background:var(--bg);padding:30px 26px;transition:background .3s;display:flex;flex-direction:column;min-height:280px;}
.plat-card:hover{background:var(--bg-2);}
.plat-lv{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);margin-bottom:20px;}
.plat-en{font-family:var(--font-mono);font-size:19px;font-weight:700;color:var(--accent-bright);margin-bottom:6px;}
.plat-zh{font-size:14px;font-weight:600;color:var(--text);margin-bottom:16px;}
.plat-desc{font-size:12.5px;color:var(--text-dim);line-height:1.8;flex:1;}
.plat-more{margin-top:18px;font-family:var(--font-mono);font-size:11px;color:var(--text-faint);}
.plat-card:hover .plat-more{color:var(--accent-bright);}

/* ---------- DEEP DIVE (LIGHT, PALANTIR STYLE) ---------- */
.dive{padding:110px 0;}
.dive-head{max-width:880px;margin-bottom:64px;}
.dive-def{font-size:clamp(17px,2vw,25px);font-weight:600;letter-spacing:-.3px;line-height:1.6;}
.dive-def b{color:#4B5FE0;font-weight:700;}
.dive-brand{font-family:var(--font-mono);font-size:clamp(42px,5.5vw,68px);font-weight:800;letter-spacing:-1.5px;line-height:1.05;color:var(--light-text);margin-bottom:16px;}
.dive-brand-alt{font-size:15px;font-weight:600;color:var(--light-dim);letter-spacing:.2px;margin:-8px 0 16px;}
.dive-head-inline .dive-brand-alt{margin:8px 0 0;}
.dive-head-inline{max-width:none;}
.dive-head-inline .dive-title-row{display:grid;grid-template-columns:340px 1fr;align-items:flex-start;gap:32px;margin-bottom:16px;}
.dive-head-inline .dive-brand{margin-bottom:0;padding-top:2px;font-size:clamp(38px,4.2vw,50px);}
.dive-head-inline .dive-title-row .dive-brand{color:#4B5FE0;min-width:0;}
.dive-head-inline .dive-title-row .dive-def{margin-bottom:0;padding-left:28px;border-left:1px solid var(--light-border);font-size:clamp(14px,1.4vw,17px);min-width:0;}
.dive-head-inline .dive-title-row .dive-def-col{margin-bottom:0;padding-left:28px;border-left:1px solid var(--light-border);min-width:0;}
.dive-head-inline .dive-title-row .dive-def-col .dive-def{padding-left:0;border-left:none;max-width:100%;margin-bottom:0;}
.dive-feat-icons{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;margin-top:24px;}
.dive-feat-icon{display:flex;align-items:flex-start;gap:12px;text-align:left;}
.dive-feat-icon .card-icon{width:40px;height:40px;border-radius:10px;background:rgba(75,95,224,.08);color:#4B5FE0;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.dive-feat-icon .card-icon svg{width:20px;height:20px;display:block;}
.dive-feat-icon-text{display:flex;flex-direction:column;gap:4px;min-width:0;}
.dive-feat-icon span{font-size:12.5px;font-weight:700;color:var(--light-text);line-height:1.4;}
.dive-feat-icon p{font-size:11.5px;color:var(--light-dim);line-height:1.6;margin:0;}
.dive-cta-row{margin-top:26px;}
.dive-cta-row .hook::before{color:#fff;}
@media (max-width:900px){
  .dive-head-inline .dive-title-row{grid-template-columns:1fr;gap:14px;}
  .dive-head-inline .dive-title-row .dive-def{padding-left:14px;}
  .dive-head-inline .dive-title-row .dive-def-col{padding-left:14px;}
}
@media (max-width:640px){
  .dive-feat-icons{grid-template-columns:1fr;}
}
.dive-panel{border:1px solid var(--light-border);background:var(--light-surface);border-radius:0;padding:44px;display:grid;grid-template-columns:1fr;gap:48px;align-items:center;margin-bottom:1px;}
.dive-feats{display:flex;flex-direction:column;}
.dive-feat{display:flex;gap:16px;padding:18px 0;border-top:1px solid var(--light-border);}
.dive-feat:first-child{border-top:none;padding-top:0;}
.dive-feat b{display:block;font-size:14px;font-weight:700;margin-bottom:5px;}
.dive-feat span{font-size:12.5px;color:var(--light-dim);line-height:1.8;}
.dive-num{font-family:var(--font-mono);font-size:11px;color:#4B5FE0;flex-shrink:0;width:20px;padding-top:2px;}
.dive-visual{position:relative;border:1px solid var(--light-border);border-radius:0;background:linear-gradient(160deg,#EFEEFF,#F6F5F3);min-height:320px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.dive-cta{padding:24px 44px;border:1px solid var(--light-border);border-top:none;background:var(--light-surface);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.dive-cta span{font-family:var(--font-mono);font-size:12px;color:var(--light-dim);}

/* ---------- FDE: "service layer" distinction (people, not software) ---------- */
.mega a.svc small{color:var(--signal);}
.plat-card.svc{border-top:2px solid var(--signal);}
.plat-card.svc .plat-en{color:var(--signal);}
.plat-card.svc:hover .plat-more{color:var(--signal);}
.iso-layer.svc{fill:rgba(51,209,122,.10);stroke:var(--signal);}
.iso-label.svc{fill:var(--signal);}
.dive.service .kicker{color:var(--service);}
.dive.service .kicker .dt{background:var(--service);}
.dive.service .dive-num{color:var(--service);}
.dive.service .dive-def b{color:var(--service);}

/* ---------- FLYWHEEL (dark) ---------- */
.flywheel{border:1px solid var(--border);}
.fw-row{display:flex;flex-wrap:wrap;}
.fw-step{flex:1;min-width:160px;padding:26px 20px;border-right:1px solid var(--border);}
.fw-step:last-child{border-right:none;}
.fw-idx{font-family:var(--font-mono);font-size:11px;color:var(--accent-bright);margin-bottom:10px;}
.fw-step h4{font-size:13.5px;font-weight:700;margin-bottom:8px;}
.fw-step p{font-size:11.5px;color:var(--text-dim);line-height:1.7;}
.fw-loop{padding:18px 26px;border-top:1px solid var(--border);background:rgba(51,209,122,.05);font-family:var(--font-mono);font-size:12px;color:var(--signal);}

/* ---------- IMPACT STUDIES ---------- */
.impact-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.impact-nav-group{display:flex;gap:10px;flex-shrink:0;padding-bottom:6px;}
.impact-scroll{display:flex;gap:24px;overflow-x:auto;padding-bottom:16px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;}
.impact-scroll::-webkit-scrollbar{height:6px;}
.impact-scroll::-webkit-scrollbar-track{background:transparent;}
.impact-scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px;}
.impact-nav{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;cursor:pointer;transition:background .2s,border-color .2s,color .2s;flex-shrink:0;}
.impact-nav:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
.impact-nav:active{transform:scale(.94);}
.impact-card{display:block;flex:0 0 calc((100% - 48px)/3);min-width:300px;scroll-snap-align:start;border:1px solid var(--border);transition:border-color .25s,background .25s;}
.impact-card:hover{border-color:var(--border-strong);background:var(--bg-2);}
.impact-visual{height:auto;aspect-ratio:16/10;background:var(--bg-2);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.impact-visual img{width:100%;height:100%;object-fit:cover;display:block;}
.impact-card:hover .impact-visual{background:var(--surface);}
.impact-body{padding:26px 26px 28px;}
.impact-tag{font-family:var(--font-mono);font-size:11px;color:var(--accent-bright);letter-spacing:.5px;}
.impact-h{font-size:17px;font-weight:700;margin-top:10px;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:51px;}
.impact-stats{display:flex;gap:28px;margin-top:20px;}
.impact-stat b{display:block;font-family:var(--font-mono);font-size:20px;color:var(--text);}
.impact-stat span{font-size:10.5px;color:var(--text-faint);}

/* ---------- OFFERINGS CHIPS ---------- */
.chip-wall{display:flex;flex-wrap:wrap;gap:10px;}
.chip{font-size:12.5px;color:var(--text-dim);border:1px solid var(--border);padding:9px 18px;border-radius:0;transition:all .3s;font-weight:500;}
.chip:hover{border-color:var(--accent);color:var(--accent-bright);}
.client-wall{margin-bottom:34px;}
.client-wall-label{font-family:var(--font-mono);font-size:12px;color:var(--accent-bright);letter-spacing:.5px;margin-bottom:18px;font-weight:600;}
.client-chip{font-size:13px;padding:9px 18px;color:var(--text);border-color:var(--border-strong);background:rgba(108,140,255,.05);}
.client-chip:hover{color:var(--accent-bright);border-color:var(--accent);background:rgba(108,140,255,.1);}

/* ---------- CAREERS / FDE ---------- */
.careers{background:var(--accent);color:#fff;padding:90px 0;position:relative;overflow:hidden;}
.careers .wrap{position:relative;z-index:1;}
.careers-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center;}
.careers h2{font-size:clamp(24px,3vw,36px);font-weight:800;letter-spacing:-.8px;margin-bottom:20px;line-height:1.35;}
.careers p{font-size:14.5px;opacity:.92;line-height:1.9;max-width:520px;}
.careers-stats{display:flex;flex-direction:column;gap:22px;}
.careers-stat{border-left:2px solid rgba(255,255,255,.4);padding-left:18px;}
.careers-stat b{display:block;font-family:var(--font-mono);font-size:26px;}
.careers-stat span{font-size:11.5px;opacity:.85;}

/* ---------- NEWS ---------- */
.news-list{border:1px solid var(--border);}
.news-row{display:grid;grid-template-columns:120px 1fr auto;gap:24px;align-items:center;padding:22px 24px;border-bottom:1px solid var(--border);transition:background .2s;}
.news-row:last-child{border-bottom:none;}
.news-row:hover{background:var(--bg-2);}
.news-date{font-family:var(--font-mono);font-size:11.5px;color:var(--text-faint);}
.news-row h4{font-size:13.5px;font-weight:500;line-height:1.6;}
.news-arrow{color:var(--text-faint);font-family:var(--font-mono);font-size:13px;}


/* ---------- CONTACT ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;}
.contact-title{font-size:clamp(22px,2.8vw,30px);font-weight:800;line-height:1.5;margin-bottom:24px;letter-spacing:-.5px;}
.form-panel{border:1px solid var(--border);padding:32px;background:var(--surface);}
.form-row{margin-bottom:20px;}
.form-row label{display:block;font-family:var(--font-mono);font-size:11.5px;color:var(--text-dim);margin-bottom:9px;letter-spacing:.3px;font-weight:600;}
.form-row input,.form-row textarea{width:100%;padding:12px 14px;border:1px solid rgba(255,255,255,.20);background:rgba(255,255,255,.045);color:var(--text);font-size:14px;font-family:inherit;border-radius:0;}
.form-row input::placeholder,.form-row textarea::placeholder{color:var(--text-faint);}
.form-row input:focus,.form-row textarea:focus{outline:none;border-color:var(--accent-bright);background:rgba(255,255,255,.07);}
.form-row textarea{resize:vertical;min-height:70px;}

/* ---------- FOOTER ---------- */
footer{padding:56px 0 32px;border-top:1px solid var(--border);z-index:1;}
.footer-grid{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:32px;margin-bottom:40px;}
.footer-brand{font-size:15px;font-weight:800;margin-bottom:10px;font-family:var(--font-mono);}
.footer-addr{font-size:12px;color:var(--text-faint);line-height:2;font-family:var(--font-mono);}
.footer-links{display:flex;gap:48px;flex-wrap:wrap;}
.footer-col h6{font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint);margin-bottom:14px;letter-spacing:.8px;}
.footer-col a{display:block;font-size:12.5px;color:var(--text-dim);margin-bottom:10px;}
.footer-col a:hover{color:var(--accent-bright);}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:24px;border-top:1px solid var(--border);font-size:11px;color:var(--text-faint);font-family:var(--font-mono);}
.footer-bottom a{color:var(--text-dim);}
.footer-bottom a:hover{color:var(--accent-bright);}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in-view{opacity:1;transform:translateY(0);}

@media (max-width:960px){
  .wrap{padding:0 22px;}
  .nav-links{display:none;}
  .nav-links.open{display:flex;position:absolute;top:66px;left:0;right:0;flex-direction:column;background:rgba(8,9,11,.98);border-bottom:1px solid var(--border);padding:12px 22px 20px;gap:0;}
  .nav-links.open .nav-item{width:100%;}
  .nav-links.open .nav-item>a{padding:13px 0;border-bottom:1px solid var(--border);}
  .nav-links.open .mega{position:static;opacity:1;visibility:visible;transform:none;border:none;background:transparent;box-shadow:none;padding:0 0 10px 14px;display:none;}
  .nav-links.open .nav-item.mega-open .mega{display:flex;flex-direction:column;}
  .nav-links.open .mega-products{min-width:0;margin-left:0;left:auto;}
  .nav-links.open .mega-col{padding:0;}
  .nav-links.open .mega-col+.mega-col{border-left:none;margin-top:6px;}
  .menu-toggle{display:block;}
  .trust-grid{grid-template-columns:repeat(2,1fr);}
  .plat-grid{grid-template-columns:repeat(2,1fr);}
  .dive-panel{grid-template-columns:1fr;padding:28px;}
  .impact-card{flex-basis:82%;min-width:240px;}
  .careers-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;gap:36px;}
  .sec{padding:80px 0;}
  .dive{padding:72px 0;}
}

/* ---------- #tsanclaw DEEP-DIVE: BLUE -> GREEN, matching the tsanClaw product page ---------- */
#tsanclaw{background-image:none;}
#tsanclaw .kicker{color:#5FA004;}
#tsanclaw .kicker .dt{background:#5FA004;}
#tsanclaw .dive-def b{color:#5FA004;}
#tsanclaw .dive-title-row .dive-brand{color:#5FA004;}
#tsanclaw .dive-num{color:#5FA004;}
#tsanclaw .dive-feat-icon .card-icon{background:rgba(95,160,4,.08);color:#5FA004;}
#tsanclaw .btn-primary{background:#5FA004;}
#tsanclaw .btn-primary:hover{background:#528A03;}

/* ---------- #tsanforge DEEP-DIVE: BLUE -> LOGO GOLD/YELLOW (warm), matching the tsanCode product page ---------- */
#tsanforge{background-image:none;}
#tsanforge .kicker{color:#DB7800;}
#tsanforge .kicker .dt{background:#DB7800;}
#tsanforge .dive-def b{color:#DB7800;}
#tsanforge .dive-title-row .dive-brand{color:#DB7800;}
#tsanforge .dive-num{color:#DB7800;}
#tsanforge .dive-visual{background:linear-gradient(160deg,#FBF2E6,#F6F5F3);}
#tsanforge .dive-feat-icon .card-icon{background:rgba(219,120,0,.08);color:#DB7800;}
#tsanforge .btn-primary{background:#DB7800;color:#fff;}
#tsanforge .btn-primary:hover{background:#BF6900;color:#fff;}

/* ---------- HERO -> SERVICES ENTRY LINK ---------- */
.hero-service-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--accent-bright);margin:-14px 0 26px;letter-spacing:.2px;}
.hero-service-link:hover{color:#fff;}
.hero-service-link span{transition:transform .2s;}
.hero-service-link:hover span{transform:translateX(3px);}

/* ---------- CARDS: no gray borders; separate cards from the page by background ---------- */
:root{--card-dark:rgba(255,255,255,.045);--card-shadow:0 10px 30px rgba(10,12,20,.08);}
.fw-step{border-right:none;}
.evo-grid{gap:2px;background:transparent;border:none;overflow:visible;}
.evo-card{background:var(--card-dark);}
.evo-arrow{right:-12px;}
.plat-grid{gap:2px;background:transparent;border:none;}
.plat-card{background:var(--card-dark);}
.plat-card:hover{background:rgba(255,255,255,.07);}
.dive-panel{border:none;}
.dive-visual{border:none;}
.dive-cta{border:none;}
.impact-card{border:none;background:var(--card-dark);}
.impact-card:hover{border:none;background:rgba(255,255,255,.07);}
.impact-visual{border-bottom:none;}
.news-list{border:none;display:flex;flex-direction:column;gap:8px;}
.news-row{border-bottom:none;background:var(--card-dark);}
.news-row:hover{background:rgba(255,255,255,.07);}
.light .news-row{background:var(--light-surface);}
.light .news-row:hover{background:var(--light-surface);box-shadow:var(--card-shadow);}
@media (max-width:640px){.news-row{grid-template-columns:1fr auto;grid-template-areas:"date arrow" "title title";gap:6px 16px;padding:18px 20px;}.news-date{grid-area:date;}.news-row h4{grid-area:title;}.news-arrow{grid-area:arrow;}}
.form-panel{border:none;background:var(--card-dark);}
.light .form-panel{background:var(--light-surface);}
.prod-hero-visual{border:none;}
.stack-mini{gap:2px;background:transparent;border:none;overflow:visible;}
.cap-grid{gap:2px;background:transparent;border:none;overflow:visible;}
.evo-quote{border:none;}
.cta-banner{border:none;background:var(--card-dark);}
.flow-row{gap:2px;background:transparent;border:none;overflow:visible;}
.flow-arrow{right:-10px;}
.level-table{gap:6px;background:transparent;border:none;overflow:visible;}
.team-grid{gap:2px;background:transparent;border:none;overflow:visible;}
.split-2col{gap:2px;background:transparent;border:none;overflow:visible;}
.prod-found-card{border:none;border-top:3px solid var(--pc);transition:box-shadow .2s;}
.prod-found-card:hover{box-shadow:var(--card-shadow);}
.prod-app-card{border:none;transition:box-shadow .2s;}
.prod-app-card:hover{box-shadow:var(--card-shadow);}
.impact-scroll{gap:2px;}
@media (min-width:961px){.impact-card{flex-basis:calc((100% - 4px)/3);}}

/* ---------- HOMEPAGE PRODUCTS: card layout (product card + 2x2 feature cards, 2px seams) ---------- */
#tsancenter{--pc-name:#008CE2;--pc-strip:#008CE2;--pc:#008CE2;--pc-text:#008CE2;--pc-hover:#0079C4;--pc-tint:rgba(0,140,226,.08);background-image:none;}
#tsanclaw{--pc:#5FA004;--pc-text:#5FA004;--pc-hover:#528A03;--pc-tint:rgba(95,160,4,.08);}
#tsanforge{--pc:#DB7800;--pc-text:#DB7800;--pc-hover:#BF6900;--pc-tint:rgba(219,120,0,.08);}
.dive{padding-bottom:48px !important;}
.dive .kicker{margin-bottom:22px;}
.dive .kicker{color:var(--pc-text);}
.dive .kicker .dt{background:var(--pc-text);}
.dive-head-inline .dive-title-row{grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);gap:2px;align-items:stretch;margin-bottom:0;}
.dive-card{display:flex;flex-direction:column;gap:0;background:var(--light-surface);padding:38px 36px 34px;min-width:0;container-type:inline-size;}
.dive-head-inline .dive-title-row .dive-card .dive-brand{color:var(--pc-name,var(--pc-text));padding-top:0;font-size:clamp(40px,16cqi,76px);letter-spacing:-2px;line-height:1;}
.dive-head-inline .dive-title-row .dive-card .dive-def{padding-left:0;border-left:none;margin-top:36px;font-size:15.5px;font-weight:500;line-height:2;color:var(--light-dim);}
.dive-card .dive-cta-row{margin-top:auto;padding-top:22px;}
#tsancenter .dive-card .btn{background:none;border:none;padding:0;height:auto;color:var(--pc-text);font-size:14px;font-weight:600;letter-spacing:.2px;}
#tsancenter .dive-card .btn:hover{background:none;color:var(--pc-text);text-decoration:underline;text-underline-offset:4px;}
#tsancenter .dive-card .btn.hook::before{content:none;}
#tsancenter .dive-card .btn::after{content:"\2192";margin-left:-2px;transition:transform .2s;}
#tsancenter .dive-card .btn:hover::after{transform:translateX(3px);}
#tsanclaw .dive-card .btn{background:none;border:none;padding:0;height:auto;color:var(--pc-text);font-size:14px;font-weight:600;letter-spacing:.2px;}
#tsanclaw .dive-card .btn:hover{background:none;color:var(--pc-text);text-decoration:underline;text-underline-offset:4px;}
#tsanclaw .dive-card .btn.hook::before{content:none;}
#tsanclaw .dive-card .btn::after{content:"\2192";margin-left:-2px;transition:transform .2s;}
#tsanclaw .dive-card .btn:hover::after{transform:translateX(3px);}
#tsanforge .dive-card .btn{background:none;border:none;padding:0;height:auto;color:var(--pc-text);font-size:14px;font-weight:600;letter-spacing:.2px;}
#tsanforge .dive-card .btn:hover{background:none;color:var(--pc-text);text-decoration:underline;text-underline-offset:4px;}
#tsanforge .dive-card .btn.hook::before{content:none;}
#tsanforge .dive-card .btn::after{content:"\2192";margin-left:-2px;transition:transform .2s;}
#tsanforge .dive-card .btn:hover::after{transform:translateX(3px);}
.dive-feat-icons{grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:2px;margin-top:0;}
.dive-feat-icon{background:var(--light-surface);padding:26px 26px;gap:14px;}
.dive-feat-icon .card-icon,#tsanclaw .dive-feat-icon .card-icon,#tsanforge .dive-feat-icon .card-icon{background:var(--pc-tint);color:var(--pc-text);}
.dive-feat-icon span{font-size:14px;}
.dive-feat-icon p{font-size:12.5px;}
@media (max-width:900px){
  .dive-head-inline .dive-title-row{grid-template-columns:1fr;gap:2px;}
  .dive-head-inline .dive-title-row .dive-card .dive-def{padding-left:0;}
}
@media (max-width:640px){
  .dive-feat-icons{grid-template-columns:1fr;}
  .dive-card{padding:32px 24px;}
  .dive-feat-icon{padding:24px 22px;}
  .dive-head-inline .dive-title-row .dive-card .dive-def{margin-top:24px;}
  .dive-card .dive-cta-row{padding-top:28px;}
}
@media (min-width:1200px){html[lang="zh-CN"] .dive-head-inline .dive-title-row{min-height:312px;}html[lang="en"] .dive-head-inline .dive-title-row{min-height:374px;}}
@media (min-width:901px) and (max-width:1199px){html[lang="zh-CN"] .dive-head-inline .dive-title-row{min-height:356px;}html[lang="en"] .dive-head-inline .dive-title-row{min-height:394px;}}

/* ---------- HOMEPAGE PRODUCTS: product card filled with the product color ---------- */
/* Silk-gradient fill after x.ai/stories, built from the logo ring's colors:
   --silk-hi (light), --silk-mid, --silk-lo (deep) from the product's own
   segment, plus a hint of the neighbouring segment (--silk-near). */
#tsancenter{--silk-hi:#00B7E9;--silk-mid:#0097DA;--silk-lo:#0D4C84;--silk-near:#9DC91B;}
#tsanclaw{--silk-hi:#B7D827;--silk-mid:#769E1F;--silk-lo:#3F6512;--silk-near:#FDCE2C;}
#tsanforge{--silk-hi:#FFDD33;--silk-mid:#E27A00;--silk-lo:#BE0A0E;--silk-near:#FF3737;}
.dive-head-inline .dive-title-row .dive-card{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(150deg,var(--silk-mid) 0%,var(--silk-lo) 100%);}
.dive-head-inline .dive-title-row .dive-card::before{content:"";position:absolute;inset:-30%;z-index:-1;pointer-events:none;filter:blur(28px);transform:rotate(-14deg);
  background:
    radial-gradient(38% 26% at 26% 22%,var(--silk-hi) 0%,transparent 72%),
    radial-gradient(70% 16% at 58% 50%,rgba(255,255,255,.34) 0%,transparent 70%),
    radial-gradient(62% 22% at 52% 62%,color-mix(in srgb,var(--silk-lo) 85%,#000) 0%,transparent 72%),
    radial-gradient(30% 24% at 88% 88%,color-mix(in srgb,var(--silk-near) 70%,transparent) 0%,transparent 70%),
    radial-gradient(46% 34% at 12% 92%,var(--silk-lo) 0%,transparent 70%);}
.dive-head-inline .dive-title-row .dive-card::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.22;mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");}
.dive-head-inline .dive-title-row .dive-card .dive-brand,
#tsancenter .dive-card .dive-brand,#tsanclaw .dive-card .dive-brand,#tsanforge .dive-card .dive-brand{color:#fff;}
#tsancenter .dive-card .dive-def b,#tsanclaw .dive-card .dive-def b,#tsanforge .dive-card .dive-def b{color:#fff;}
.dive-head-inline .dive-title-row .dive-card .dive-def{color:rgba(255,255,255,.92);}
#tsancenter .dive-card .btn,#tsanclaw .dive-card .btn,#tsanforge .dive-card .btn,
#tsancenter .dive-card .btn:hover,#tsanclaw .dive-card .btn:hover,#tsanforge .dive-card .btn:hover{color:#fff;}

/* Nav logo: ring mark + wordmark as separate images (proportions of logo.svg:
   gap = 89.5/271 of the height); phones show the mark only. */
.brand-mark{height:34px;width:34px;display:block;}
.brand-word{height:34px;width:auto;display:block;margin-left:2px;} /* + .brand gap 9px = 11px */
@media (max-width:640px){.brand-word{display:none;}}

/* ---------- FDE DELIVERY LOOP (flywheel section) ----------
   Four steps in a row with arrows between them; the last card points back
   to the first to show the loop. Stats follow under a small label. */
.fde-loop{list-style:none;margin:0 0 40px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap-in,4px);}
.fde-loop li{position:relative;background:var(--card-dark);border-radius:var(--r-md,12px);padding:26px 24px 28px;}
.fde-loop li:not(:last-child)::after{content:"→";position:absolute;right:-13px;top:50%;transform:translateY(-50%);z-index:2;width:22px;height:22px;border-radius:50%;background:var(--accent-bright);color:#fff;font-size:12px;line-height:22px;text-align:center;}
.fde-loop li:last-child::after{content:"↺";position:absolute;right:18px;top:22px;color:var(--accent-bright);font-size:18px;line-height:1;}
.fde-step{display:block;font-family:var(--font-mono);font-size:12px;color:var(--accent-bright);margin-bottom:14px;}
.fde-loop h3{font-size:17px;color:var(--text);margin-bottom:8px;}
.fde-loop p{font-size:13.5px;line-height:1.8;color:var(--text-dim);}
.fde-stats-label{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.5px;color:var(--text-dim);margin-bottom:14px;}
/* ---------- FDE HIRING (the standalone careers band, merged in here) ----------
   A single horizontal card below the four-step loop, styled after .evo-note
   (tinted blue panel, hairline border, mono copy) and carrying the apply
   button on the right. */
.fde-join{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:32px;padding:22px 30px;background:rgba(61,107,255,.08);border:1px solid rgba(61,107,255,.25);}
.fde-join p{font-family:var(--font-mono);font-size:12.5px;line-height:1.8;color:var(--accent-bright);text-wrap:pretty;}
.fde-join .btn{flex:none;}
@media (max-width:640px){.fde-join{flex-direction:column;align-items:flex-start;gap:16px;}}
@media (max-width:900px){
  .fde-loop{grid-template-columns:repeat(2,minmax(0,1fr));}
  .fde-loop li:nth-child(2)::after{display:none;}
}
@media (max-width:560px){
  .fde-loop{grid-template-columns:1fr;}
  .fde-loop li:not(:last-child)::after{display:block;content:"↓";right:auto;left:24px;top:auto;bottom:-13px;transform:none;}
}

/* Homepage hero height: shorter so the client pain points (main.css) show in the first screen. */
.hero{min-height:clamp(460px,68vh,660px);}

/* ---------- CLIENT PAIN POINTS (second screen) ----------
   Homepage second screen and the services page: four questions, each linking to its service.
   Large faint number, accent icon, the pain as the headline, the symptom
   below, whole card links to the matching service. */
.pains{padding-top:72px;}
.pain-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap-in,4px);}
.pain-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:30px 26px 30px;background:var(--card-dark);border-radius:var(--r-md,12px);overflow:hidden;transition:background .25s,transform .25s;}
.pain-card::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--accent-bright),transparent 70%);opacity:0;transition:opacity .25s;}
.pain-card:hover{background:rgba(255,255,255,.075);transform:translateY(-3px);}
.pain-card:hover::before{opacity:1;}
.pain-num{position:absolute;right:20px;top:14px;font-family:var(--font-mono);font-size:44px;line-height:1;color:rgba(255,255,255,.06);letter-spacing:-1px;}
.pain-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:rgba(108,140,255,.12);color:var(--accent-bright);}
.pain-card h3{font-size:18px;line-height:1.45;color:var(--text);margin-top:6px;}
.pain-card p{font-size:13.5px;line-height:1.85;color:var(--text-dim);flex:1;}
@media (max-width:1000px){.pain-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:600px){.pain-grid{grid-template-columns:1fr;}.pains{padding-top:56px;}}

/* ---------- CERTIFICATIONS (trust block, lower homepage) ----------
   The 权威认可 双重保障 block: seven qualification marks on one continuously
   scrolling row, each flanked by a designer wheat ear (src/assets/wheat-left.svg
   / wheat-right.svg) and carrying a soft reflection. */
.cert-marquee{position:relative;overflow:hidden;padding:2px 0 52px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.cert-marquee + .cert-marquee{margin-top:6px;}
/* Two rows at different speeds; the second runs the other way. */
.cert-track{display:flex;width:max-content;animation:cert-scroll 120s linear infinite;}
.cert-track.reverse{animation-name:cert-scroll-rev;animation-duration:160s;}
.cert-marquee:hover .cert-track{animation-play-state:paused;}
@keyframes cert-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes cert-scroll-rev{from{transform:translateX(-50%);}to{transform:translateX(0);}}
/* Fixed-size cards (170×100). Each card carries its own right margin so the two
   duplicated halves of the track tile exactly for the -50% loop. */
.cert-qual{position:relative;flex:0 0 auto;width:170px;height:100px;margin-right:14px;background:#FCF8EC;border-radius:var(--r-md,12px);padding:14px 40px;display:flex;align-items:center;justify-content:center;text-align:center;}
/* Nudged inward so each ear sits flush with the label box, and a little below centre. */
.cert-qual::before,.cert-qual::after{content:"";position:absolute;top:calc(50% + 6px);width:34px;height:53px;transform:translateY(-50%);}
.cert-qual::before{left:11px;background:url("../assets/wheat-left.svg") no-repeat center/contain;}
.cert-qual::after{right:11px;background:url("../assets/wheat-right.svg") no-repeat center/contain;}
/* Reflection strip below each card: the card background fading out, with no text
   and no ears. `-webkit-box-reflect` would mirror the whole card, content included.
   Sits 6px below the card and is rounded on all corners. */
.cert-qual-refl{position:absolute;left:0;right:0;top:calc(100% + 6px);height:44px;background:linear-gradient(#FCF8EC,rgba(252,248,236,.08));border-radius:var(--r-md,12px);}
/* Chinese labels wrap at six characters per line (6em = six 13px glyphs), which
   puts the longer ones on two lines. `pre-line` keeps the line breaks authored in
   the data — that is how ISO / AAA prefixes are put on a line of their own.
   English runs far longer per word, so it keeps the full width of the label box. */
.cert-qual-name{max-width:6em;font-size:13px;line-height:1.35;font-weight:400;color:#4A3520;white-space:pre-line;}
html:lang(en) .cert-qual-name{max-width:none;}
/* Key figures band. The shared .trust-grid / .stat-cell rules are built for the
   dark sections (dark cell, light text) and are also used by the careers and
   product pages, so they get overridden here — scoped to .cert-stats — for this
   white band. */
.cert-stats{margin-bottom:44px;}
.cert-stats .fde-stats-label{color:#7A6750;}
.cert-stats .trust-grid{gap:14px;background:transparent;}
.cert-stats .stat-cell{background:#FCF8EC;border-radius:var(--r-md,12px);}
.cert-stats .stat-num{color:#4A3520;}
.cert-stats .stat-label{color:#7A6750;}
@media (prefers-reduced-motion:reduce){.cert-track{animation:none;}}
