/* ============================================================================
   InsightLex 明鉴智律 · 首页样式
   ----------------------------------------------------------------------------
   本文件由首页原先内联的 12 个 <style> 块合并而来，按「基础层 + 历次改版补丁层」
   的原始顺序排列。

   ⚠ 分节顺序不可调整
     CSS 层叠中位置靠后者胜出，后面几节依赖「排在基础层之后」才能生效。把某节
     前移会静默改变渲染结果。改样式时请就地修改对应声明，不要靠追加新的覆盖层
     —— 那正是本文件一度膨胀到 12 层、同一个属性被写 7 遍的原因。

   资源路径相对本文件所在目录 assets/css/，故写作 ../images/、../icons/。

   改动后请跑回归校验（会逐元素比对计算样式，覆盖 11 个断点视口）：
     node tools/style-snapshot.mjs index.html /tmp/before.json
     # 改动 CSS
     node tools/style-snapshot.mjs index.html /tmp/after.json
     node tools/style-diff.mjs /tmp/before.json /tmp/after.json
   加 --states 可一并覆盖 .scrolled / .open / [data-city] 等 JS 状态分支。

   目录
      1. 基础层
      2. 产品组合评审后的细化
      3. Hero 浅色时期遗留
      4. 中文排版细化与创始团队卡片
      5. 中文断行控制与正文行宽
      6. 创始团队并入「关于」区
      7. 产品生命周期卡片与执行层
      8. 执行层补充说明
      9. Hero 操作区与「关于」区块合并
     10. 锚点滚动偏移
     11. 摄影 Hero（深色）与深色导航
     12. v18 内容改版
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. 基础层
   设计变量 · 重置 · 通用组件 · 各区块基础样式 · 响应式断点
   --------------------------------------------------------------------------- */
:root{
  --ink:#0b0c0c;
  --ink-2:#151716;
  --paper:#f4f2ec;
  --paper-2:#faf9f6;
  --white:#ffffff;
  --muted:#696b68;
  --line:#d9d7d0;
  --line-dark:rgba(255,255,255,.18);
  --signal:#c9dcf4;
  --signal-2:#e5edf8;
  --serif:"Iowan Old Style","Songti SC","STSong","Noto Serif CJK SC",Georgia,serif;
  --sans:"SF Pro Display","PingFang SC","Microsoft YaHei",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --container:1280px;
  --header-h:76px;
  --notice-h:34px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:118px}
    body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
img,svg{display:block;max-width:100%}
.container{width:min(calc(100% - 64px),var(--container));margin-inline:auto}
    .eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.section{padding:132px 0;border-top:1px solid var(--line)}
.section-title{font-family:var(--serif);font-size:clamp(48px,6vw,88px);font-weight:400;margin:20px 0 26px}
.section-lead{max-width:720px;margin:0;color:var(--muted);font-size:18px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:49px;padding:0 20px;border:1px solid transparent;border-radius:4px;font-size:14px;font-weight:650;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}
.btn:hover{transform:translateY(-1px)}
.btn-light{background:#fff;color:#0b0c0c;border-color:#fff}
.btn-light:hover{background:var(--signal);border-color:var(--signal)}
.btn-dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-dark:hover{background:#2a2c2a;border-color:#2a2c2a}
                .arrow{font-size:18px;line-height:1;transition:transform .2s}.btn:hover .arrow,.text-link:hover .arrow{transform:translateX(4px)}
.text-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:750;border-bottom:1px solid currentColor;padding-bottom:3px}

/* Announcement and navigation */
.announcement{position:fixed;z-index:1100;top:0;left:0;right:0;height:var(--notice-h);display:flex;align-items:center;justify-content:center;background:#f7f7f5;color:#171817;border-bottom:1px solid #d9d9d5;font-size:12px;letter-spacing:.02em}
.announcement strong{font-weight:760;margin-right:10px}.announcement-close{position:absolute;right:20px;top:50%;transform:translateY(-50%);border:0;background:transparent;font-size:18px;line-height:1;cursor:pointer}
.site-header{position:fixed;z-index:1050;top:var(--notice-h);left:0;right:0;height:var(--header-h);border-bottom:1px solid rgba(255,255,255,.16);transition:background .25s,border-color .25s,color .25s,top .25s}
.site-header.scrolled{backdrop-filter:blur(16px)}
.site-header.notice-hidden{top:0}
.nav-wrap{height:100%;display:flex;align-items:center;gap:34px}
.brand{display:flex;white-space:nowrap}
    .brand-cn{font-size:11px;letter-spacing:.14em;opacity:.7;font-weight:650}
.desktop-nav{display:flex;align-items:center;gap:28px;margin-left:18px}
.desktop-nav a{position:relative;font-size:13px;font-weight:600;opacity:.9;padding:28px 0}
.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:21px;height:1px;background:currentColor;transition:right .25s}
.desktop-nav a:hover::after{right:0}
.nav-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.nav-actions .btn{min-height:40px;padding:0 15px;font-size:13px}
.mobile-toggle{display:none;width:42px;height:42px;border:1px solid rgba(255,255,255,.55);border-radius:3px;font-size:20px;cursor:pointer}
.mobile-menu{display:none;position:fixed;z-index:1040;inset:calc(var(--notice-h) + var(--header-h)) 0 0;background:var(--ink);color:#fff;padding:36px 28px;overflow:auto}
.mobile-menu.notice-hidden{inset:var(--header-h) 0 0}
.mobile-menu.open{display:block}
.mobile-menu a{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.18);font-family:var(--serif);font-size:30px}
.mobile-menu a span{font-family:var(--sans);font-size:11px;opacity:.5}
.mobile-menu .mobile-cta{margin-top:34px;font-family:var(--sans);font-size:15px;justify-content:center;border:1px solid #fff;padding:15px}

/* Hero */
.hero{position:relative;min-height:820px;height:100svh;overflow:hidden}
.hero-photo{position:absolute;inset:0;background-size:cover}
        .hero-inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column}
        .hero h1{font-family:var(--serif);font-size:clamp(68px,7.8vw,118px);font-weight:400;margin:0 0 34px}
.hero p{margin:0}
    .hero-audience{margin-top:auto}
.audience-item{font-family:var(--serif);font-size:19px;white-space:nowrap;text-align:center}

/* Intro */
.intro{padding:142px 0 0;background:var(--paper)}
.intro-statement{text-align:center;max-width:1110px;margin:auto}
.intro-statement .section-title{font-size:clamp(58px,7vw,108px)}
.intro-statement .section-lead{margin-inline:auto;max-width:1110px;font-size:21px}
.capability-rail{margin-top:112px;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-2)}
.capability-track{display:flex;width:max-content;animation:rail 32s linear infinite}
        @keyframes rail{to{transform:translateX(-50%)}}

/* Platform */
.platform{background:var(--paper-2)}
        .workspace-shell{border:1px solid #b9b9b4;background:#d5d4cf;padding:10px;border-radius:16px;box-shadow:0 40px 90px rgba(20,20,20,.14)}
.workspace-window{overflow:hidden;border-radius:10px;background:#f8f8f5;border:1px solid #b7b7b1}
.workspace-top{height:52px;display:flex;align-items:center;gap:10px;padding:0 18px;background:#161817;color:#fff;border-bottom:1px solid rgba(255,255,255,.13)}
.window-dots{display:flex;gap:6px}.window-dots i{width:9px;height:9px;border-radius:50%;background:#626360}.window-dots i:first-child{background:#ddd}.workspace-name{font-family:var(--serif);font-size:18px;margin-left:9px}.workspace-status{margin-left:auto;font-size:10px;letter-spacing:.11em;text-transform:uppercase;opacity:.62}
.workspace-tabs{display:flex;gap:0;border-bottom:1px solid #c7c6c0;background:#efefeb;overflow:auto}
.workspace-tab{border:0;background:transparent;padding:15px 16px;text-align:left;cursor:pointer;font-size:12px;font-weight:700;transition:background .2s}
.workspace-tab small{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#777872;margin-bottom:4px}.workspace-tab:hover{background:#f9f9f6}
.workspace-body{display:grid;grid-template-columns:205px minmax(0,1fr) 330px;min-height:570px}
.workspace-sidebar{background:#e8e8e3;border-right:1px solid #c9c8c2;padding:21px 14px}.side-title{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#777872;margin:0 8px 13px}.side-item{display:flex;align-items:center;gap:9px;padding:10px 9px;border-radius:4px;font-size:12px;color:#4d4e4a}.side-item.active{background:#fff;color:#111;font-weight:700;box-shadow:0 1px 0 rgba(0,0,0,.05)}.side-icon{width:19px;height:19px;border:1px solid #a8a8a3;border-radius:3px;display:grid;place-items:center;font-size:9px}.side-sep{height:1px;background:#cbcac5;margin:18px 8px}
.document-pane{padding:31px 34px;background:#fdfdfb}.document-breadcrumb{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#777872}.document-title{font-family:var(--serif);font-size:32px;font-weight:400;line-height:1.15;letter-spacing:-.035em;margin:15px 0 8px}.document-meta{font-size:11px;color:#858681;margin-bottom:29px}.doc-rule{height:1px;background:#deddd7;margin-bottom:26px}.doc-heading{font-family:var(--serif);font-size:19px;margin:0 0 14px}.doc-paragraph{font-family:var(--serif);font-size:14px;line-height:1.9;color:#3f403d;margin:0 0 17px}.doc-highlight{background:linear-gradient(transparent 56%,#dce8f5 56%);padding:0 1px}.doc-note b{font-size:11px;letter-spacing:.06em;text-transform:uppercase}.doc-lines span{display:block;height:7px;background:#e6e5df;margin:11px 0;border-radius:5px}.doc-lines span:nth-child(2){width:93%}.doc-lines span:nth-child(3){width:82%}.doc-lines span:nth-child(4){width:96%}.doc-lines span:nth-child(5){width:72%}
.findings-pane{background:#efefeb;border-left:1px solid #c9c8c2;padding:22px 18px}.findings-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.findings-head h3{font-size:12px;margin:0}.count-badge{font-size:10px;padding:3px 7px;border:1px solid #aaa9a3;border-radius:99px}.finding-card{padding:14px;background:#fff;border:1px solid #d3d2cc;border-radius:5px;margin-bottom:10px}.finding-card-top{display:flex;align-items:center;justify-content:space-between;gap:9px}.finding-card b{font-size:12px}.severity{font-size:9px;letter-spacing:.09em;text-transform:uppercase;padding:3px 5px;background:#e9eef5;color:#35506d}.finding-source{display:flex;align-items:center;gap:6px;font-size:10px;color:#4d5d6f}.finding-source::before{content:"↳"}.analysis-box{margin-top:17px;padding:14px;background:#171817;color:#fff;border-radius:5px}.analysis-label{font-size:9px;letter-spacing:.12em;text-transform:uppercase;opacity:.6}.analysis-progress{height:2px;background:rgba(255,255,255,.16);overflow:hidden}.analysis-progress i{display:block;width:68%;height:100%;background:#fff}
    
/* Work / use cases */
            
/* Quote / philosophy */
                    
/* Outcomes */
            
/* Security */
.security{background:#dfe8f1}
.security-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:80px;align-items:start}.security-copy{position:sticky;top:150px}.security-copy .section-title{font-size:clamp(52px,6vw,86px)}.security-copy .section-lead{color:#4f5962}.frameworks{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}.frameworks span{padding:8px 10px;border:1px solid #7d8a96;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.security-stack{border-top:1px solid #77828c}.security-item{display:grid;grid-template-columns:55px 1fr;gap:24px;padding:30px 0;border-bottom:1px solid #98a3ad}.security-item span{font-family:var(--serif);font-size:18px}.security-item h3{font-family:var(--serif);font-size:32px;font-weight:400;letter-spacing:-.035em;margin:0 0 9px}.security-item p{font-size:14px;color:#4d5861;line-height:1.7;margin:0}
/* Offices */
.offices{position:relative;background:#111;color:#fff;overflow:hidden;border-color:#292b29}
        .offices .container{position:relative;z-index:2}
.offices-head{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end;margin-bottom:68px}.offices-head .section-title{margin-bottom:0}.offices-head p{max-width:620px;justify-self:end;color:rgba(255,255,255,.62);font-size:18px;line-height:1.7;margin:0}
.office-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,255,255,.34);border-left:1px solid rgba(255,255,255,.34)}
.office-card{min-height:280px;padding:24px;border-right:1px solid rgba(255,255,255,.34);border-bottom:1px solid rgba(255,255,255,.34);display:flex;flex-direction:column;transition:background .24s,color .24s}.office-card:hover{background:#fff;color:#111}.office-no{font-size:10px;letter-spacing:.13em;text-transform:uppercase;opacity:.55}.office-card h3{font-family:var(--serif);font-size:37px;font-weight:400;line-height:.98;letter-spacing:-.04em;margin:auto 0 10px}.office-card p{font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin:0;opacity:.55}

/* About */
.about{background:var(--paper)}
    
/* Contact */
.contact{background:var(--ink);color:#fff;border-color:#292b29;padding-bottom:0}
.contact-top{display:grid;gap:80px;align-items:start;padding-bottom:116px}.contact-copy .section-title{margin-bottom:32px}.contact-copy>p{color:rgba(255,255,255,.58);font-size:17px;line-height:1.75}    .contact-form{background:#f4f2ec;color:#111;padding:34px;border-radius:3px}.form-title{font-family:var(--serif);font-size:34px;font-weight:400;margin:0 0 26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:750}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #979790;background:transparent;padding:12px 2px;color:#111;outline:none;border-radius:0}.field input:focus,.field select:focus,.field textarea:focus{border-color:#111}.field textarea{min-height:112px;resize:vertical}.form-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:27px}.privacy{max-width:330px;font-size:10px;color:#74756f;line-height:1.55}    footer{border-top:1px solid rgba(255,255,255,.16);padding:58px 0 26px}
.footer-grid{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:42px}.footer-brand p{max-width:350px;color:rgba(255,255,255,.48);font-size:13px;line-height:1.65;margin-top:18px}.footer-col h3{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.43);margin:0 0 15px}.footer-col a,.footer-col span{display:block;font-size:13px;padding:5px 0;color:rgba(255,255,255,.72)}.footer-col a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:48px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:10px;color:rgba(255,255,255,.38)}.footer-links{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}.back-top{position:fixed;z-index:900;right:22px;bottom:22px;width:46px;height:46px;border:1px solid #bbb;background:#fff;color:#111;display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.back-top.show{opacity:1;visibility:visible;transform:none}

/* Reveal */
[data-reveal]{opacity:1;transform:none}

/* Responsive */
@media(max-width:1120px){
  .desktop-nav{display:none}.mobile-toggle{display:grid;place-items:center}      .audience-item:nth-child(n+5){display:none}
  .offices-head,.contact-top{grid-template-columns:1fr}.offices-head p{justify-self:start}
  .workspace-body{grid-template-columns:180px minmax(0,1fr) 285px}      .security-layout{grid-template-columns:1fr}.security-copy{position:static}.office-grid{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-col:last-child{grid-column:2/4}
}
@media(max-width:860px){
  :root{--header-h:70px}.container{width:min(calc(100% - 40px),var(--container))}.section{padding:96px 0}
  .announcement{font-size:10px;justify-content:flex-start;padding-left:16px}.announcement strong{display:none}
  .hero{height:auto;min-height:780px}.hero h1{font-size:clamp(61px,13vw,86px)}.audience-item{display:none}.audience-item:nth-child(2),.audience-item:nth-child(3){display:block}
  .intro{padding-top:98px}.capability-rail{margin-top:72px}      .workspace-shell{padding:6px}.workspace-body{grid-template-columns:1fr}.workspace-sidebar{display:none}.findings-pane{border-left:0;border-top:1px solid #c9c8c2}.document-pane{min-height:500px}.workspace-tabs{scrollbar-width:none}.workspace-tab{width:170px}
                          .office-grid{grid-template-columns:1fr 1fr}.office-card{min-height:220px}
        .contact-top{gap:48px}.footer-grid{grid-template-columns:1fr 1fr}.footer-col:last-child{grid-column:auto}.footer-bottom{flex-direction:column}.footer-links{justify-content:flex-start}
}
@media(max-width:560px){
  .container{width:min(calc(100% - 28px),var(--container))}.announcement{padding-right:38px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .nav-actions .btn-light{display:none}.mobile-toggle{width:40px;height:40px}
  .hero{min-height:740px}.hero-actions .btn{width:100%}.audience-item{display:none}.audience-item:nth-child(2){display:block;text-align:left;font-size:17px}      .section-lead{font-size:16px}.intro-statement .section-title{font-size:52px}.intro-statement .section-lead{font-size:17px}
  .offices-head{gap:26px;margin-bottom:46px}.document-pane{padding:25px 20px}.document-title{font-size:27px}.findings-pane{padding:18px 14px}                        .security-item{grid-template-columns:36px 1fr;gap:15px}.security-item h3{font-size:27px}
  .office-grid{grid-template-columns:1fr}.office-card{min-height:178px}.office-card h3{font-size:33px}
        .contact-form{padding:24px 18px}.form-grid{grid-template-columns:1fr}.form-foot{align-items:stretch;flex-direction:column}.form-foot .btn{width:100%}
  .footer-grid{grid-template-columns:1fr}.mobile-menu a{font-size:27px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}[data-reveal]{opacity:1;transform:none}}

/* Product architecture refresh */
    .family-head{display:grid;grid-template-columns:150px 1.12fr .88fr;gap:52px;align-items:end;margin-bottom:76px}
.family-index{font-family:var(--serif);font-size:112px;line-height:.72;letter-spacing:-.07em;color:#b8b7b1}
.family-head .section-lead{justify-self:end}
                                                                                                                        
.platform.product-platform{background:var(--paper-2)}
.product-platform .workspace-tab{min-width:172px}

.organization{background:var(--ink);color:#fff;border-color:#292b29}
.organization .family-index{color:#40423f}
.organization .section-lead{color:rgba(255,255,255,.58)}
.organization .family-head{margin-bottom:66px}
.org-grid{display:grid;grid-template-columns:.86fr 1.14fr}
.org-card{min-height:590px;padding:42px;display:flex;flex-direction:column}
    .org-card.light{background:var(--paper);color:var(--ink)}
.org-no{font-size:10px;letter-spacing:.15em;text-transform:uppercase;opacity:.55}
.org-card h3{font-family:var(--serif);font-size:54px;font-weight:400;line-height:.98;letter-spacing:-.05em;margin:70px 0 22px;max-width:520px}
.org-card>p{font-size:15px;line-height:1.75;color:rgba(255,255,255,.58);max-width:620px;margin:0}
.org-card.light>p{color:var(--muted)}
            .org-card .text-link{align-self:flex-start}
.framework-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:auto;border-top:1px solid rgba(255,255,255,.28);border-left:1px solid rgba(255,255,255,.28)}
.framework-card{min-height:170px;padding:18px;border-right:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.28)}
.framework-card small{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.42)}
.framework-card strong{display:block;font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.1;margin:26px 0 8px}
.framework-card p{font-size:11px;line-height:1.55;color:rgba(255,255,255,.54);margin:0}
.org-disclaimer{margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.22);font-size:10px;line-height:1.7;color:rgba(255,255,255,.43)}

    


@media(max-width:1120px){
  .family-head{grid-template-columns:120px 1fr}.family-head .section-lead{grid-column:2;justify-self:start}.family-index{font-size:88px}
        .org-grid{grid-template-columns:1fr}.org-card{min-height:auto}.framework-grid{margin-top:58px}
}
@media(max-width:860px){
  .family-head{grid-template-columns:1fr;gap:24px}.family-head .section-lead{grid-column:auto}.family-index{font-size:72px}
              .org-card{padding:34px}.org-card h3{font-size:48px;margin-top:52px}.framework-card{min-height:155px}
}
@media(max-width:560px){
  .family-index{font-size:62px}            .org-card{padding:28px 20px}.org-card h3{font-size:43px}.framework-grid{grid-template-columns:1fr}.framework-card{min-height:140px}
}

/* Chinese typography, client band and three-domain product architecture */
html[lang^="zh"]{text-autospace:normal}
html[lang^="zh"] :where(h1,h2,h3,h4,blockquote,p,li){line-break:strict;word-break:normal;overflow-wrap:break-word}
html[lang^="zh"] :where(h1,h2,h3,h4,blockquote,.section-title){text-wrap:balance}
html[lang^="zh"] :where(p,li,.section-lead){text-wrap:pretty}
@supports (word-break:auto-phrase){html[lang^="zh"] :where(h1,h2,h3,h4,blockquote,p,li){word-break:auto-phrase}}

body{margin:0;background:var(--paper-2);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.72}
    .section-lead{line-height:1.88}
.hero h1{line-height:1.01;letter-spacing:-.05em;max-width:930px}
.hero p{font-size:18px;line-height:1.86;max-width:760px}
.intro-statement .section-lead{line-height:1.9}
.family-head .section-title{margin-bottom:0;font-size:clamp(46px,5.2vw,76px);line-height:1.1;max-width:780px}
.family-head .section-lead{line-height:1.9}
.org-card>p,.framework-card p,.security-item p,.offices-head p,.contact-copy>p,.footer-brand p{line-height:1.82}
.org-card h3,.framework-card strong,.security-item h3,.office-card h3,.form-title{line-height:1.14;letter-spacing:-.025em}
        .finding-card p{font-size:11px;color:#666762;margin:9px 0;line-height:1.72}.analysis-box p{font-family:var(--serif);font-size:15px;margin:8px 0 12px;line-height:1.68}.doc-note{display:grid;grid-template-columns:27px 1fr;gap:11px;margin:25px 0;padding:15px;border-left:2px solid #6f8eae;background:#eff4f9;font-size:12px;color:#3e4a56;line-height:1.72}

                                                                        
.compliance-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.compliance-domain{--domain:#10232e;display:flex;flex-direction:column;min-width:0;background:#fff;overflow:hidden}
.compliance-domain.software{--domain:#287f75}.compliance-domain.supply{--domain:#68764e}
.domain-header{display:flex;align-items:center}
.domain-header small{white-space:nowrap}
.domain-question{text-align:center;padding:27px 22px 22px}
    .domain-question h3{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.15;letter-spacing:-.035em;margin:0 0 7px}
.domain-question p{font-size:11px;line-height:1.5;color:var(--muted);margin:0}
.regulatory-paths{padding:2px 20px 15px}
.regulatory-row{display:grid;grid-template-columns:47px minmax(0,1fr);gap:13px;align-items:start;padding:17px 0;border-bottom:1px solid #e4e1d9}
.regulatory-row:last-child{border-bottom:0}
.region-badge{display:inline-grid;place-items:center;width:44px;height:23px;border-radius:4px;color:#fff;font-size:9px;font-weight:800;letter-spacing:.04em;margin-top:2px}
.region-badge.eu{background:#27867d}.region-badge.us{background:#b96a3a}
.regulatory-row strong{display:block;font-size:12px;line-height:1.55;margin-bottom:3px}
.regulatory-row p{font-size:12px;line-height:1.7;color:#343733;margin:0}
.domain-products{margin-top:auto;min-height:249px;padding:18px 20px 15px}
.domain-products-label{font-size:9px;font-weight:760;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.domain-product{display:grid;grid-template-columns:26px minmax(0,1fr) 18px;gap:10px;align-items:start;padding:13px 0;border-top:1px solid #cbc7bc;transition:padding .2s,background .2s}
    .domain-product>span{font-family:var(--serif);font-size:14px;line-height:1.4;color:var(--muted)}
.domain-product strong{display:block;font-size:13px;line-height:1.55;margin-bottom:3px}
.domain-product small{display:block;font-size:11px;line-height:1.72;color:var(--muted)}
.domain-product b{font-size:17px;font-weight:400;line-height:1.4;text-align:right}
.domain-product.featured{padding-top:18px}    .architecture-note{max-width:980px;margin:25px 0 0;color:var(--muted);font-size:11px;line-height:1.82}

.workspace-tab.group-physical{box-shadow:inset 0 3px 0 #10232e}.workspace-tab.group-software{box-shadow:inset 0 3px 0 #287f75}.workspace-tab.group-supply{box-shadow:inset 0 3px 0 #68764e}
.workspace-tab.active{box-shadow:inset 0 4px 0 var(--ink);background:#fff}

@media(max-width:1120px){
        .domain-header{padding-inline:12px}.domain-question h3{font-size:27px}.domain-products{min-height:272px}
}
@media(max-width:920px){
        .compliance-map{grid-template-columns:1fr}.compliance-domain{max-width:760px;width:100%;margin-inline:auto}.domain-products{min-height:0}
}
@media(max-width:680px){
  .domain-header{flex-wrap:wrap;align-content:center;row-gap:1px}.domain-header small{width:100%}
  .domain-question{padding:24px 18px 20px}.domain-question h3{font-size:27px}.regulatory-paths,.domain-products{padding-inline:16px}.regulatory-row{grid-template-columns:45px minmax(0,1fr)}
}
@media(max-width:560px){
  .hero p{font-size:15px;line-height:1.88;max-width:100%}
  .section-lead{line-height:1.92}
  .org-card h3{line-height:1.14}          }

/* Final Chinese phrase wrapping refinements */
.hero-line{display:block;white-space:nowrap}
.hero p,.section-lead,.org-card>p,.framework-card p,.security-copy .section-lead,.security-item p,.security-note,.offices-head p,.contact-copy>p,.architecture-note{line-break:strict;word-break:normal;overflow-wrap:anywhere;text-wrap:pretty}
@supports (word-break:auto-phrase){
  .hero p,.section-lead,.org-card>p,.framework-card p,.security-copy .section-lead,.security-item p,.security-note,.offices-head p,.contact-copy>p,.architecture-note{word-break:auto-phrase}
}

/* Chinese editorial rhythm */
.hero p,.section-lead,.org-card>p,.framework-card p,.security-copy .section-lead,.security-item p,.offices-head p,.contact-copy>p{line-height:1.86}

@media(max-width:560px){
  .hero h1{font-size:clamp(34px,11.2vw,46px);line-height:1.12;letter-spacing:-.025em}
  .family-head .section-title{font-size:clamp(35px,11.3vw,45px)}
  .section-title{font-size:clamp(38px,11vw,47px)}
}

/* Client trust band: placed directly after the hero for early social proof. */
.client-band{position:relative;overflow:hidden;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--ink)}
            .client-marquee{position:relative;width:100%;overflow:hidden}
.client-logo-track{display:flex;width:max-content;will-change:transform}.client-logo-track.is-ready{transform:translateX(-50%);animation:client-flow-right 36s linear infinite}
.client-logo-group{display:flex;flex:none}
.client-logo{flex:0 0 224px;display:grid;place-items:center;border-right:1px solid var(--line)}
.client-logo img{display:block;width:auto;height:auto;max-width:168px;object-fit:contain;user-select:none;-webkit-user-drag:none}
.client-logo.chipmunk img{max-width:181px;max-height:55px}
.client-logo.hireez img{max-width:148px;max-height:49px}
.client-logo.decrypt img{max-width:157px}
.client-logo.deepreach img{max-width:155px;max-height:58px}
.client-logo.chargergogo img{max-width:179px;max-height:54px}
.client-logo.deffai img{max-width:151px;max-height:55px}
.client-logo.lenovo img{max-width:145px;max-height:52px}
.client-logo.ubiquant img{max-width:165px}
.client-marquee:hover .client-logo-track.is-ready,.client-marquee:focus-within .client-logo-track.is-ready{animation-play-state:paused}
@keyframes client-flow-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(max-width:820px){
  .client-band{padding-top:37px}      .client-logo img{max-width:148px}.client-logo-track.is-ready{animation-duration:31s}
  .client-logo.chipmunk img{max-width:155px}.client-logo.chargergogo img{max-width:158px}.client-logo.ubiquant img{max-width:150px}
}
@media(max-width:520px){
  .client-band{padding-top:31px}      .client-logo img{max-width:135px}.client-logo-track.is-ready{animation-duration:28s}
  .client-logo.chipmunk img{max-width:142px}.client-logo.hireez img{max-width:126px}.client-logo.decrypt img{max-width:129px}.client-logo.chargergogo img{max-width:142px}.client-logo.ubiquant img{max-width:136px}
}
@media(prefers-reduced-motion:reduce){
  .client-marquee{overflow-x:auto;scrollbar-width:thin}.client-logo-track.is-ready{animation:none!important;transform:none!important}.client-logo-group[aria-hidden="true"]{display:none}
}

  
/* v9 targeted adjustments */
.offices-bg{position:absolute;inset:0;background-image:url('../images/about-visual.webp');background-size:cover;background-position:center;background:none !important;opacity:1 !important;filter:none !important;display:flex;align-items:stretch;justify-content:center}
.offices-bg svg{width:100%;height:100%;display:block;opacity:.96}
    .offices-head,.office-grid{position:relative;z-index:2}
    .security-note strong{color:inherit;font-weight:600}

/* v10 — light office hero */
                                            
                    
/* ---------------------------------------------------------------------------
   2. 产品组合评审后的细化
   品牌标识 · 客户 logo 条 · 卡片轮廓弱化 · 组织区产品栈
   --------------------------------------------------------------------------- */
.brand{align-items:center}

/* Keep the original hero composition, but reveal more of the photograph */

/* Selected clients: visual spacing instead of divider boxes */
.client-marquee{border-top:0}
.client-logo-group{gap:22px;padding:0 11px;align-items:center}
.client-logo{border:0;background:transparent}

/* Keep the three-domain layout while reducing hard card outlines */
.compliance-domain{border:0;border-radius:12px;box-shadow:0 17px 44px rgba(22,23,21,.08)}
.compliance-domain.physical .domain-products{min-height:430px}
.compliance-domain.software .domain-products{min-height:430px}
.compliance-domain.supply .domain-products{min-height:430px}

.lifecycle-record{display:grid;grid-template-columns:72px minmax(260px,.9fr) minmax(320px,1.25fr) auto;gap:26px;align-items:center;margin-top:28px;padding:28px 30px;border-radius:12px}
.lifecycle-record-index{font-family:var(--serif);font-size:52px;line-height:1}
.lifecycle-record-copy>span{font-size:9px;font-weight:760;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.lifecycle-record-copy h3{font-family:var(--serif);font-size:29px;font-weight:400;line-height:1.08;letter-spacing:-.035em;margin:8px 0 6px}
.lifecycle-record-copy small{font-size:10px;line-height:1.45;color:var(--muted)}
.lifecycle-record>p{font-size:13px;line-height:1.82;color:#4d504c;margin:0}
.lifecycle-record .text-link{white-space:nowrap}

.workspace-tab{min-width:155px;flex:0 0 155px;border-right:0;margin-right:1px}
.workspace-tab.group-continuous{box-shadow:inset 0 3px 0 #6f7890}

.org-grid{border:0;gap:18px}
.org-card{border-radius:10px;overflow:hidden;box-shadow:0 17px 42px rgba(0,0,0,.08)}
.org-card+.org-card{border-left:0}
.org-product-stack{display:grid;gap:14px;margin-top:auto;padding-top:34px}
.org-product-item{padding:20px 0 0;border-top:1px solid rgba(22,23,21,.22)}
.org-product-item small{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.org-product-item strong{display:block;font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.13;letter-spacing:-.025em;margin:10px 0 9px}
.org-product-item p{font-size:12px;line-height:1.72;color:var(--muted);margin:0 0 15px}
.framework-grid{border:0;gap:1px;background:rgba(255,255,255,.18)}
.framework-card{border:0;background:rgba(255,255,255,.045)}

.contact-top{grid-template-columns:.82fr 1.18fr}
.contact-copy>p{max-width:560px}

@media(max-width:1120px){
.compliance-domain.physical .domain-products,.compliance-domain.software .domain-products,.compliance-domain.supply .domain-products{min-height:0}
  .lifecycle-record{grid-template-columns:64px 1fr 1.3fr}.lifecycle-record .text-link{grid-column:2/4;justify-self:start}
  .org-grid{gap:0}.org-card+.org-card{border-top:0;margin-top:18px}
}
@media(max-width:860px){
  .client-logo-group{gap:10px}  .lifecycle-record{grid-template-columns:52px 1fr;gap:18px}.lifecycle-record>p,.lifecycle-record .text-link{grid-column:1/-1}.lifecycle-record-index{font-size:42px}
  .contact-top{grid-template-columns:1fr}
}
@media(max-width:560px){
  .domain-header small{width:100%;text-align:center;padding-bottom:9px}
  .lifecycle-record{padding:24px 20px}.lifecycle-record-copy h3{font-size:25px}
  .org-product-item strong{font-size:23px}
}

/* ---------------------------------------------------------------------------
   3. Hero 浅色时期遗留
   仅剩伪元素定位与受众项配色，主体已被第 11 节的深色 Hero 取代
   --------------------------------------------------------------------------- */
.hero-photo::before{content:"";position:absolute;inset:0}
.hero-photo::after{content:"";position:absolute;inset:0}
.audience-item{color:rgba(11,12,12,.78)}
/* ---------------------------------------------------------------------------
   4. 中文排版细化与创始团队卡片
   断行策略、标题行高，以及 founder-card 的初始样式
   --------------------------------------------------------------------------- */
.section-title{line-height:1.07;letter-spacing:-.022em;text-wrap:balance}
.title-line{display:block}
.hero h1,.section-title,.org-card h3,.founder-name{line-break:strict;word-break:normal;text-wrap:balance}
@supports (word-break:auto-phrase){
  .hero h1,.section-title,.org-card h3,.founder-name{word-break:auto-phrase}
}
.security-note{margin-top:14px;padding:0;border:0;background:transparent;font-size:12.5px;line-height:1.82;max-width:780px;color:#5b6874}
.domain-product.featured strong{font-family:var(--serif);font-size:24px;font-weight:400;line-height:1.22}

/* Founding team */
.founders{background:var(--paper);border-color:var(--line)}
.founders-head{display:grid;grid-template-columns:.82fr 1.18fr;gap:72px;align-items:end;margin-bottom:54px}
.founders-head .section-title{margin-bottom:0}
.founders-head .section-lead{justify-self:end;max-width:650px}
.founder-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.founder-card{position:relative;display:flex;flex-direction:column;padding:38px;border-radius:12px;overflow:hidden}
.founder-header{position:relative;z-index:1;display:grid;grid-template-columns:96px minmax(0,1fr);gap:23px;align-items:center;margin-bottom:31px}
.founder-photo{width:96px;height:96px;border-radius:50%;object-fit:cover;box-shadow:0 12px 28px rgba(22,23,21,.12)}
.founder-name{font-family:var(--serif);font-size:36px;font-weight:400;line-height:1.05;letter-spacing:-.025em;margin:0 0 8px}
.founder-role{font-size:13px;line-height:1.6;margin:0;font-weight:650}
.founder-points{position:relative;z-index:1;display:grid;gap:17px;margin:0;padding:0;list-style:none}
.founder-points li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:11px;font-size:14px;line-height:1.86;line-break:strict;word-break:normal}
.founder-tags{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:28px}

/* Mobile map should show geography and points; office cards carry the labels. */
@media(max-width:980px){
  .founders-head{grid-template-columns:1fr;gap:18px;margin-bottom:42px}
  .founders-head .section-lead{justify-self:start}
  .founder-grid{grid-template-columns:1fr}
  }
@media(max-width:600px){
  .section-title{line-height:1.12;letter-spacing:-.014em}
  .domain-product.featured strong{font-size:20px;line-height:1.28}
  .offices-bg svg text,.offices-bg svg rect,.offices-bg svg g[filter] path{display:none}
  .founder-card{padding:27px 22px}
  .founder-header{grid-template-columns:78px minmax(0,1fr);gap:17px;margin-bottom:25px}
  .founder-photo{width:78px;height:78px}
  .founder-name{font-size:31px}
  .founder-role{font-size:12px}
  .founder-points{gap:14px}
  .founder-points li{font-size:13px;line-height:1.84}
}
/* Final anchor and contact-title tuning */
.founders,.contact{scroll-margin-top:118px}
.contact-copy .section-title{font-size:clamp(54px,5.65vw,82px);line-height:1.04;letter-spacing:-.018em}
@media(max-width:600px){
  .contact-copy .section-title{font-size:clamp(43px,13vw,56px);line-height:1.08}
}

/* ---------------------------------------------------------------------------
   5. 中文断行控制与正文行宽
   keep-together / copy-line 等排版工具类
   --------------------------------------------------------------------------- */
.keep-together{white-space:nowrap}
.copy-line{display:block}
.copy-line+.copy-line{margin-top:.52em}

/* Give each product/organization statement enough measure to avoid orphaned punctuation. */
@media(min-width:921px){
  .intro-statement{max-width:1240px}
  .intro-statement .section-lead{max-width:1240px;font-size:19px}
}

@media(max-width:600px){
  .org-card h3{font-size:34px;line-height:1.14}
}

/* ---------------------------------------------------------------------------
   6. 创始团队并入「关于」区
   把 founders 从独立区块改为 about 的子区，并改配色
   --------------------------------------------------------------------------- */
.about{padding-bottom:132px}
.founders-in-about{margin-top:88px;padding-top:58px;border-top:1px solid rgba(22,23,21,.14)}
.founders-in-about .founders-head{margin-bottom:38px}
.founders-in-about .eyebrow{color:var(--ink)}
.founders-in-about .section-lead{color:var(--muted)}
.founder-card{background:linear-gradient(145deg,#ffffff 0%,#f7f6f1 100%);border:1px solid rgba(22,23,21,.085);box-shadow:0 16px 42px rgba(22,23,21,.07)}
.founder-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,#0b0c0c 0%,#626b70 54%,#c9dcf4 100%)}
.founder-card::after{content:"";position:absolute;width:230px;height:230px;right:-105px;top:-118px;border-radius:50%;pointer-events:none;background:rgba(201,220,244,.18)}
.founder-name{color:var(--ink)}
.founder-role{color:#5a6265}
.founder-points li{color:#565a58}
.founder-points li::before{content:"→";font-size:17px;line-height:1.52;color:#50585d}
.founder-tags span{display:inline-flex;align-items:center;min-height:30px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:650;background:#edf2f6;color:#3f4850;border:1px solid #dbe4ea}
@media(max-width:980px){
  .founders-in-about{margin-top:64px;padding-top:46px}
}
@media(max-width:600px){
  .about{padding-bottom:92px}
  .founders-in-about{margin-top:52px;padding-top:38px}
  .founders-in-about .founders-head{margin-bottom:28px}
}

/* ---------------------------------------------------------------------------
   7. 产品生命周期卡片与执行层
   compliance-domain 三域卡片、regulatory-row、execution-flow
   --------------------------------------------------------------------------- */

/* Hero: global markets, connected jurisdictions and evidence — not literal transport imagery. */

/* Product lifecycle cards: one restrained editorial system rather than three saturated themes. */
.product-family{background:#faf9f6}
.compliance-map{gap:18px}
.compliance-domain,
.compliance-domain.software,
.compliance-domain.supply{--domain:#1c2022;position:relative;border:1px solid rgba(22,23,21,.10);border-radius:10px;background:#fff;box-shadow:0 14px 34px rgba(22,23,21,.055)}
.compliance-domain::before{content:"";position:absolute;z-index:2;left:0;right:0;top:0;height:3px;background:#667683}
.domain-header{min-height:68px;justify-content:flex-start;padding:0 22px;gap:10px;background:#f1f0ec;color:var(--ink);border-bottom:1px solid rgba(22,23,21,.10);text-align:left}
.domain-header span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#e2e8ec;color:#3e4d58;font-family:var(--sans);font-size:12px;font-weight:750}
.domain-header span::after{content:""}
.domain-header strong{white-space:normal;font-size:14px;letter-spacing:.02em;color:var(--ink)}
.domain-header small{margin-left:auto;color:#6a6d69;opacity:1;font-size:9px;letter-spacing:.10em}
.domain-question{background:#fff;border-bottom:1px solid rgba(22,23,21,.08)}
.domain-question small{display:block;font-size:9px;font-weight:760;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;color:#777a76}
.domain-question h3{color:var(--ink)}
.regulatory-paths{background:#fff}
.region-badge,
.region-badge.eu,
.region-badge.us{background:#edf0f2;color:#46525b;border:1px solid #d6dde2;box-shadow:none}
.regulatory-row{border-bottom-color:rgba(22,23,21,.09)}
.domain-products{background:#f5f4ef;border-top:0}
.domain-product{border-top-color:rgba(22,23,21,.11)}
.domain-product:hover{padding-inline:8px;background:#fff}
.lifecycle-record{background:#efeee9;border:1px solid rgba(22,23,21,.09);box-shadow:none}
.lifecycle-record-index{color:#586874}

/* One concise execution-layer section replaces three repeated sections. */
.execution-layer{background:#f4f2ec}
.execution-head{display:grid;grid-template-columns:1.03fr .97fr;gap:84px;align-items:end;margin-bottom:48px}
.execution-head .section-title{margin-bottom:0;font-size:clamp(52px,5.6vw,82px)}
.execution-summary{max-width:610px;justify-self:end}
.execution-summary p{margin:0;color:var(--muted);font-size:15px;line-height:1.86}
.execution-summary .execution-principle{margin-bottom:15px;color:var(--ink);font-family:var(--serif);font-size:27px;line-height:1.35;letter-spacing:-.018em}
.execution-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:0 0 42px;border-top:1px solid rgba(22,23,21,.18);border-bottom:1px solid rgba(22,23,21,.18);background:rgba(255,255,255,.40)}
.execution-step{position:relative;min-height:122px;padding:20px 18px 18px;border-right:1px solid rgba(22,23,21,.12)}
.execution-step:last-child{border-right:0}
.execution-step span{display:block;color:#6a747b;font-family:var(--serif);font-size:17px;line-height:1}
.execution-step small{display:block;margin:20px 0 5px;color:#777a76;font-size:9px;line-height:1.35;letter-spacing:.10em;text-transform:uppercase}
.execution-step strong{display:block;color:var(--ink);font-size:13px;line-height:1.45}
.execution-layer .workspace-shell{margin-top:0;box-shadow:0 30px 72px rgba(20,20,20,.11)}

@media(max-width:980px){
  .execution-head{grid-template-columns:1fr;gap:22px;margin-bottom:36px}
  .execution-summary{justify-self:start;max-width:760px}
  .execution-flow{grid-template-columns:repeat(3,1fr)}
  .execution-step:nth-child(3){border-right:0}
  .execution-step:nth-child(-n+3){border-bottom:1px solid rgba(22,23,21,.12)}
  .domain-header small{margin-left:0;width:100%;padding-bottom:9px;text-align:left}
  .domain-header{flex-wrap:wrap;align-content:center;row-gap:2px}
}
@media(max-width:600px){
  .execution-head .section-title{font-size:clamp(42px,12vw,54px)}
  .execution-summary .execution-principle{font-size:23px}
  .execution-flow{grid-template-columns:1fr 1fr}
  .execution-step{min-height:112px}
  .execution-step:nth-child(3){border-right:1px solid rgba(22,23,21,.12)}
  .execution-step:nth-child(even){border-right:0}
  .execution-step:nth-child(-n+4){border-bottom:1px solid rgba(22,23,21,.12)}
  .domain-header small{width:100%;text-align:left;padding-bottom:8px}
}

/* ---------------------------------------------------------------------------
   8. 执行层补充说明
   execution-note 单条
   --------------------------------------------------------------------------- */
.execution-note{max-width:780px;margin:20px 0 0;color:var(--muted);font-size:11px;line-height:1.82}
@media(min-width:981px){.execution-head .title-line{white-space:nowrap}.execution-head .section-title{font-size:clamp(50px,5vw,74px)}}
@media(max-width:980px){.execution-head .title-line{white-space:normal}}

/* ---------------------------------------------------------------------------
   9. Hero 操作区与「关于」区块合并
   about-combined / about-offices
   --------------------------------------------------------------------------- */
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.about-combined{background:var(--paper);padding-bottom:132px}
.about-offices{margin-top:86px;padding:92px 0 88px;border-radius:18px;border:1px solid rgba(22,23,21,.14);overflow:hidden}
.about-offices .container{position:relative;z-index:2}
.about-offices .offices-bg{border-radius:18px}
.about-offices .offices-bg::after{border-radius:18px}
@media(max-width:980px){
.about-offices{margin-top:64px;padding:76px 0 72px;border-radius:14px}
}
@media(max-width:600px){
    .about-combined{padding-bottom:92px}
.about-offices{margin-top:54px;padding:64px 0 58px;border-radius:12px}
}

/* ---------------------------------------------------------------------------
   10. 锚点滚动偏移
   避免固定头部遮挡锚点目标
   --------------------------------------------------------------------------- */
#about,#offices{scroll-margin-top:118px}

/* ---------------------------------------------------------------------------
   11. 摄影 Hero（深色）与深色导航
   当前生效的 Hero 配色，覆盖第 3 节的浅色方案
   --------------------------------------------------------------------------- */
.hero{color:#fff;background:#40556a}
.hero-photo{background-image:url('https://images.unsplash.com/photo-1774112168796-69c896af2730?auto=format&fit=crop&fm=jpg&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&ixlib=rb-4.1.0&q=60&w=3000') !important;background-position:center 48%;filter:saturate(.88) contrast(1.05) brightness(.76);transform:scale(1.01)}
.hero-photo::before{background:linear-gradient(90deg,rgba(36,50,65,.91) 0%,rgba(43,59,76,.78) 37%,rgba(54,72,91,.48) 62%,rgba(57,76,95,.25) 100%)}
.hero-photo::after{background:linear-gradient(180deg,rgba(31,45,60,.22) 0%,rgba(31,45,60,.05) 48%,rgba(35,48,61,.72) 100%)}
.hero-kicker{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:22px;color:rgba(255,255,255,.76);opacity:1}
.hero p{color:rgba(255,255,255,.84)}
.hero .btn-light{background:#fff;color:#1b2937;border-color:#fff}
.hero .btn-light:hover{background:#e8eef3;border-color:#e8eef3}
.hero-audience{grid-template-columns:1.18fr repeat(4,minmax(0,auto));border-top-color:rgba(255,255,255,.24)}

.site-header{color:#fff;background:rgba(34,48,62,.20);border-bottom-color:rgba(255,255,255,.20);backdrop-filter:blur(14px)}
.site-header.scrolled{color:#fff;background:rgba(43,57,71,.95);border-color:rgba(255,255,255,.14);box-shadow:0 8px 28px rgba(18,28,38,.16)}
.site-header .btn-light{background:#fff;color:#223344;border-color:#fff}
.site-header .btn-light:hover{background:#e8eef3;border-color:#e8eef3}
.mobile-toggle{border-color:rgba(255,255,255,.60);background:rgba(35,49,63,.34);color:#fff}

/* About consists only of founders and Global offices. */
.about-combined .founders-in-about{margin-top:0;padding-top:0;border-top:0}

/* Keep the restored client-adjacent statement visually concise. */
.client-band + .intro{padding-top:116px}
.client-band + .intro .capability-rail{margin-top:84px}

@media(max-width:980px){
  .hero-audience{grid-template-columns:1fr}
  .about-combined .founders-in-about{margin-top:0;padding-top:0}
}
@media(max-width:600px){
  .hero-photo{background-position:61% center;filter:saturate(.86) contrast(1.04) brightness(.70)}
  .hero-photo::before{background:linear-gradient(90deg,rgba(38,53,69,.93) 0%,rgba(45,62,80,.83) 64%,rgba(55,74,93,.62) 100%)}
  .hero-photo::after{background:linear-gradient(180deg,rgba(30,44,59,.20) 0%,rgba(30,44,59,.08) 48%,rgba(34,47,60,.78) 100%)}
.client-band + .intro{padding-top:86px}
  .client-band + .intro .capability-rail{margin-top:58px}
}

/* ---------------------------------------------------------------------------
   12. v18 内容改版
   Hero 受众行降级为脚注 · 客户条 · 办公室线稿 · 能力关键词条
   --------------------------------------------------------------------------- */
.intro-statement .copy-line.intro-emphasis{margin-top:6px;color:var(--ink);font-weight:650}
.org-product-item p.org-product-emphasis{margin-top:-4px;padding-left:13px;border-left:2px solid rgba(40,127,117,.55);color:#3c4744;font-style:normal}
.founder-en{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.075em;text-transform:uppercase;color:#7c8481;line-height:1.5}
.founder-points li b{font-weight:700;color:#1f2725}
.founder-card{min-height:640px}
@media(min-width:861px){.intro-statement .section-title{font-size:clamp(52px,5.9vw,86px)}}
/* hero-audience: demoted from a plated component to a quiet footnote line —
   no background plate, no blur, smaller sans type, aligned to the hero text edge */
.hero-audience{display:flex;flex-wrap:wrap;align-items:center;gap:9px 20px;min-height:0;padding:16px 0 20px;justify-content:space-between;background:none;backdrop-filter:none;border-top:0}
.audience-label{text-transform:uppercase;opacity:1;font-size:10px;letter-spacing:.15em;color:rgba(255,255,255,.5);margin-right:auto}
.hero-audience .audience-item{display:inline-flex;align-items:center;font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.01em;color:rgba(255,255,255,.74);text-align:left;white-space:nowrap}
.hero-audience .audience-item+.audience-item::before{content:"";width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.32);margin-right:20px}
@media(max-width:860px){
  /* the line is compact enough to keep every item; let it wrap instead of hiding two */
  .hero-audience{gap:8px 16px;padding:14px 0 18px;justify-content:flex-start}
  .audience-label{display:block;width:100%;margin:0}
  .hero-audience .audience-item{display:inline-flex;font-size:12.5px}
  .hero-audience .audience-item+.audience-item::before{margin-right:16px}
  /* hero switches to height:auto here, so hero-inner no longer fills it and the
 band floated mid-hero with dead space beneath — make it stretch again */
  .hero{display:flex;flex-direction:column}
  .hero-inner{flex:1 1 auto}
}
/* client-caption: bring it onto the same eyebrow + Chinese-title pattern the
   other sections use, and close the gap to the caption line */
/* Trust strip reduced to one line: scrolling logos + a small pill label at the
   end of the row. No heading block, no rules — the colour change does the work. */
.client-band{padding:16px 0;border:0}
.client-strip{display:flex;align-items:center;gap:26px}
.client-marquee{flex:1 1 auto;min-width:0;padding:0}
.client-badge{flex:none;margin:0;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--ink);padding:9px 17px;border:1px solid #cfcdc6;border-radius:999px;white-space:nowrap}
.client-logo{flex-basis:186px;width:186px;height:66px;padding:10px 20px}
.client-logo img{max-height:38px}
.client-logo.decrypt img{max-height:42px}
.client-logo.ubiquant img{max-height:44px}
@media(max-width:820px){
  .client-band{padding:14px 0}
  .client-strip{flex-direction:column;align-items:flex-start;gap:10px}
  .client-marquee{width:100%}
  .client-logo{flex-basis:158px;width:158px;height:60px;padding:8px 16px}
  .client-logo img{max-height:34px}
  .client-logo.decrypt img,.client-logo.ubiquant img{max-height:38px}
}
/* the marquee used to paint its own cream gradient, which split the white band
   into two tones — drop it and fade the logos with a mask instead */
.client-marquee{background:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 88%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 88%,transparent 100%)}
/* wordmark logo replaces the built lockup (white artwork, and every surface it
   sits on — header, mobile menu, footer — is dark) */
.brand-logo{height:25px;width:auto;display:block}
.footer-brand .brand-logo{height:27px}
.brand{gap:11px}
.brand-cn{display:none}
@media(max-width:860px){.brand-logo{height:22px}}
/* Global offices: hovering a city card cross-fades its landmark into the
   background. Scenes are inline vector line art, so they stay weightless. */
/* the abstract map is gone, so this veil no longer covers anything except the
   landmarks themselves — drop it and let the line art sit above the office grid
   instead of being clipped by it */
.offices-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%, rgba(201,220,244,.08), transparent 26%),linear-gradient(90deg,#111 0%,rgba(17,17,17,.82) 44%,rgba(17,17,17,.56) 100%),linear-gradient(180deg,#111 0%,transparent 26%,transparent 74%,#111 100%);display:none}
.offices-bg svg.office-scene{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .55s ease;pointer-events:none}
.offices[data-city="siliconvalley"] .offices-bg svg.office-scene[data-city="siliconvalley"],
.offices[data-city="singapore"] .offices-bg svg.office-scene[data-city="singapore"],
.offices[data-city="shenzhen"] .offices-bg svg.office-scene[data-city="shenzhen"],
.offices[data-city="wuhan"] .offices-bg svg.office-scene[data-city="wuhan"],
.offices[data-city="nanjing"] .offices-bg svg.office-scene[data-city="nanjing"]{opacity:.88}
/* the scenes draw themselves in: pathLength="1" normalises every path so one
   keyframe works for all of them, and --i staggers the strokes */
.offices-bg svg.office-scene path{stroke-dasharray:1}
.offices-bg svg.office-scene path.wave{stroke-dasharray:inherit}
@keyframes office-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes office-wave{from{opacity:0}to{opacity:1}}
.offices[data-city="siliconvalley"] .offices-bg svg.office-scene[data-city="siliconvalley"] path,
.offices[data-city="singapore"] .offices-bg svg.office-scene[data-city="singapore"] path,
.offices[data-city="shenzhen"] .offices-bg svg.office-scene[data-city="shenzhen"] path,
.offices[data-city="wuhan"] .offices-bg svg.office-scene[data-city="wuhan"] path,
.offices[data-city="nanjing"] .offices-bg svg.office-scene[data-city="nanjing"] path{animation:office-draw .62s cubic-bezier(.33,.9,.42,1) both;animation-delay:calc(var(--i,0) * 11ms)}
.offices[data-city="siliconvalley"] .offices-bg svg.office-scene[data-city="siliconvalley"] path.wave,
.offices[data-city="singapore"] .offices-bg svg.office-scene[data-city="singapore"] path.wave,
.offices[data-city="shenzhen"] .offices-bg svg.office-scene[data-city="shenzhen"] path.wave,
.offices[data-city="wuhan"] .offices-bg svg.office-scene[data-city="wuhan"] path.wave,
.offices[data-city="nanjing"] .offices-bg svg.office-scene[data-city="nanjing"] path.wave{animation:office-wave .5s ease both;animation-delay:calc(var(--i,0) * 11ms)}
/* the cards read as places, so hovering one hands you a map pin */
.office-card{cursor:url('../icons/cursor-pin.png') 18 43,pointer;outline:none}
.offices .office-card:hover,.offices .office-card:focus-visible{background:rgba(255,255,255,.09);color:#fff;backdrop-filter:blur(1px)}
.offices .office-card:hover .office-no,.offices .office-card:focus-visible .office-no{opacity:.72}
.offices .office-card:hover p,.offices .office-card:focus-visible p{opacity:.72}
@media(prefers-reduced-motion:reduce){
  .offices-bg svg.office-scene{transition:none}
  .offices-bg svg.office-scene path{animation:none!important;stroke-dashoffset:0}
}
/* hero: copy was pinned under the header, leaving a growing void on tall
   viewports — centre it between the header clearance and the audience line */
.hero-inner{padding-top:calc(var(--notice-h) + var(--header-h) + 28px)}
.hero-copy{max-width:860px;margin-block:auto}
/* capability rail: it is a keyword band, not a heading — at 29px only ~5 terms
   fit on screen, which undercuts the breadth it is meant to show */
.capability-track span{display:flex;align-items:center;white-space:nowrap;font-family:var(--serif);font-size:19px;gap:20px;padding:20px 18px;letter-spacing:-.015em;color:#33352f}
.capability-track span::after{content:"";border-radius:50%;background:var(--ink);width:5px;height:5px;opacity:.5}
@media(max-width:860px){
  .capability-track span{font-size:17px;gap:16px;padding:17px 14px}
  .founder-card{min-height:auto}
}

