/* ============================================================
   home-v3 — Figma 还原版（body.home-v3 作用域）
   ============================================================ */

/* DM Sans 本地字体（CSP: font-src 'self'，不可引外部 CDN）
   woff2/woff 来源：@fontsource/dm-sans@5.3.0（内网 npm 镜像拉取解包） */
@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../../fonts/dmsans/dm-sans-latin-400-normal.woff2') format('woff2'),
         url('../../fonts/dmsans/dm-sans-latin-400-normal.woff') format('woff');
}
@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../../fonts/dmsans/dm-sans-latin-500-normal.woff2') format('woff2'),
         url('../../fonts/dmsans/dm-sans-latin-500-normal.woff') format('woff');
}
@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../../fonts/dmsans/dm-sans-latin-600-normal.woff2') format('woff2'),
         url('../../fonts/dmsans/dm-sans-latin-600-normal.woff') format('woff');
}

:root {
    --blue: #2155D9;
    --blue-grad: linear-gradient(138deg, #1657F0 0%, #1941C3 100%);
    --blue-pill: rgba(33, 97, 249, 0.1);
    --ink: #171717;
    --ink-2: #292929;
    --text: #343D48;
    --text-2: rgba(0, 0, 0, 0.6);
    --text-3: #666666;
    --muted: #999999;
    --line: #E9EDF5;
    --bg-alt: #F9FBFD;
    --card-radius: 16px;
    --card-shadow: 0 15px 50px rgba(91, 132, 193, 0.1);
    --eyebrow-line: linear-gradient(90deg, #1657F0 0%, rgba(25, 65, 195, 0.2) 100%);
}

body.home-v3 {
    font-family: 'Inter', 'Open Sans', 'helvetica neue', arial, 'microsoft yahei', sans-serif;
    color: #0F2137;
}

/* Home-v3 视觉基线：Header 白底固定 → Hero 主图顶到视口顶、白隙藏在 header 之下。
   .nav.nav-main 90px 高度由 home-v3.css 统一控制，这里只把 #container 顶到 0。 */
body.home-v3 #container {
    margin-top: 0;
}

/* ---------- HERO ---------- */
body.home-v3 .v3-hero {
    min-height: 42rem;
    background-color: #F9FBFD;
    border-radius: 0 0 2rem 2rem;
    color: #FFFFFF;
}

body.home-v3 .v3-hero-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center top -5.625rem;  /* hero-banner-2 顶部 90px 为 header 白隙，插到 fixed header 下 */
    -o-background-size: cover;
    background-size: cover;
}

body.home-v3 .v3-hero-inner {
    position: relative;
    z-index: 2;
    padding-top: 11.5rem;                       /* 避开 hero-banner-2 顶部 header 白隙 */
    padding-bottom: 5rem;
    max-width: 1440px;
}

/* 右上装饰箭头 */
body.home-v3 .v3-hero-arrow {
    position: absolute;
    right: 2rem;
    top: 32%;
    width: 6rem;
    height: 8rem;
    z-index: 1;
    opacity: 0.9;
    pointer-events: none;
}
body.home-v3 .v3-hero-arrow svg { width: 100%; height: 100%; display: block; }

/* Hero 文字块与其他模块对齐（用户反馈 #1）
   hero-inner 与 block-inner 都带 max-wd-ctrl pd-lr-m（padding 天然一致），
   真正病根是缺 margin:0 auto —— 超宽屏下 hero 文字贴左、区块内容居中 */
body.home-v3 .v3-hero-inner {
    margin: 0 auto;
}

body.home-v3 .v3-hero-tagline {
    font-size: 1rem;
    line-height: 2.625rem;
    letter-spacing: 0.2em;
    color: #E7E9FA;
    margin-bottom: 1.5rem;
    text-transform: uppercase;
}

body.home-v3 .v3-hero-title {
    font-size: 4.5rem;
    line-height: 5rem;
    font-weight: 700;
    letter-spacing: -0.0139em;
    color: #FFFFFF;
    margin: 0 0 1rem 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 0.5rem;
}
body.home-v3 .v3-hero-title span { display: inline-block; }

/* TaaS 金盒（252×110 radius 8，底 rgba(23,42,70,.2)，描边 #FFEAC8 1px） */
body.home-v3 .v3-taas-box {
    display: inline-block;
    margin: 0 0.125rem;
    padding: 0.25rem 0.25rem 0.3rem;
    background-color: rgba(23, 42, 70, 0.2);
    border: 1px solid rgba(255, 234, 200, 0.65);
    border-radius: 0.5rem;
    line-height: 1;
}
body.home-v3 .v3-taas {
    display: inline-block;
    font-size: 5rem;
    background: linear-gradient(180deg, #FFEDC3 0%, #E5B844 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

body.home-v3 .v3-hero-eyebrow.v3-gold {
    font-family: 'DM Sans', 'Inter', 'Open Sans', arial, sans-serif;
    font-size: 2.25rem;
    font-weight: 500;
    letter-spacing: -0.0278em;
    color: #FAE192;
    margin-bottom: 1rem;
}

body.home-v3 .v3-hero-sub {
    font-family: 'DM Sans', 'Inter', 'Open Sans', arial, sans-serif;
    font-size: 1rem;
    line-height: 2.25rem;
    color: #E7E9FA;
    margin: 0 0 1.5rem 0;
    max-width: 43.25rem;
}

/* chips：Figma 宽 254 / 337 / 304，高 56；文字 20px/500 金色（Figma style_d1d168a2）
   立体还原（Figma banner #21:25554 组，自下而上）：
     1. Subtract 金色渐变胶囊轮廓 #E4BD61（右/下缘略超矩形）→ ::before 用 mask 抠边
     2. 外层矩形 rgba(46,89,134,0.2) + 白描边 #F4F4F4
     3. 内层矩形 4px 内缩 + 灰描边 rgba(188,188,188,0.2)
     4. 深蓝玻璃底渐变 + 顶部高光 + 底部投影 + 金色外发光 → 立体科技感
     5. 文字 #FAE192 */
body.home-v3 .v3-hero-chips {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 2.5rem;
    align-items: center;
    gap: 0 0.75rem;
}
body.home-v3 .v3-chip {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 3.5rem;
    margin: 0 0.75rem 0.75rem 0;
    padding: 0 1rem;                          /* 文字起点约 20px，贴近 Figma 23px；防止 20px 长文字溢出 */
    border-radius: 100px;
    border: 1px solid #F4F4F4;                /* Figma 外层矩形白描边 #19:25525 */
    background:
        linear-gradient(180deg, rgba(46, 89, 134, 0.42) 0%, rgba(46, 89, 134, 0.16) 100%);  /* 深蓝玻璃底 */
    box-shadow:
        inset 0 0 0 4px rgba(188, 188, 188, 0.22),    /* Figma 内层矩形灰描边 #19:25526 */
        inset 0 2px 4px rgba(255, 255, 255, 0.30),    /* 顶部玻璃高光 */
        0 14px 28px rgba(6, 18, 50, 0.35);            /* 底部投影 → 立体 */
    filter: drop-shadow(0 0 10px rgba(228, 189, 97, 0.35));  /* 金色外发光 → 科技感 */
    overflow: visible;
}
/* Subtract 金色渐变胶囊轮廓：比 chip 略大一圈，右/下缘轻微溢出，mask 抠出 ~2.5px 描边 */
body.home-v3 .v3-chip::before {
    content: "";
    position: absolute;
    inset: -3px -5px -6px -3px;
    border-radius: 100px;
    padding: 2.5px;
    background: linear-gradient(180deg, #FFEDC3 0%, #E4BD61 55%, #B9923C 100%);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask-composite: exclude;
    z-index: 0;
    pointer-events: none;
}
body.home-v3 .v3-chip-text {
    position: relative;
    z-index: 1;
    font-family: 'Inter', 'DM Sans', 'Open Sans', arial, sans-serif;
    font-size: 1.25rem;         /* Figma style_d1d168a2：20px */
    font-weight: 500;
    letter-spacing: -0.05em;    /* Figma */
    line-height: 3rem;
    color: #FAE192;             /* Figma fill_55d30488 */
    white-space: nowrap;
}
/* 固定宽度对齐 Figma */
body.home-v3 .v3-chip-1 { width: 15.875rem; }      /* 254px */
body.home-v3 .v3-chip-2 { width: 21.0625rem; }     /* 337px */
body.home-v3 .v3-chip-3 { width: 19rem; }          /* 304px */

/* stats：x 坐标 4/282/538/805（以 hero-inner 左缘为 0） */
body.home-v3 .v3-hero-stats {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 2.5rem;
}
@media (min-width: 1025px) {
    body.home-v3 .v3-stat-1 { margin-right: 3.5rem; }
    body.home-v3 .v3-stat-2 { width: 16.875rem; }   /* 接近 270px */
    body.home-v3 .v3-stat-3 { width: 16.875rem; }
    body.home-v3 .v3-stat-4 { width: auto; }
}
body.home-v3 .v3-stat {
    display: inline-block;
}
body.home-v3 .v3-stat-num {
    font-size: 3rem;
    line-height: 5rem;
    font-weight: 600;
    letter-spacing: -0.0208em;
    color: #E5B844;
    display: inline-block;
}
body.home-v3 .v3-stat-unit {
    font-size: 3rem;
    line-height: 5rem;
    font-weight: 600;
    color: #E5B844;
    margin-left: 0.25rem;
    display: inline-block;
}
body.home-v3 .v3-stat-label {
    display: block;
    font-size: 1.25rem;
    line-height: 2.25rem;
    color: #FFFFFF;
    margin-top: -0.75rem;
}
body.home-v3 .v3-stat-sep {
    width: 1px;
    height: 3.8125rem;   /* 61px */
    margin-right: 3.5rem;
    background-color: #344768;
    display: inline-block;
}

/* ---------- HEADER CTA（148×40，Figma 7:11987：渐变底 + 圆角8 + "Contact  Us" Bold） ----------
   完整样式在下方 base 区 .v3-nav-cta，此处仅保留占位避免重复 */

/* ---------- AI P0：blue-pill ---------- */
body.home-v3 .v3-ai-pill {
    display: inline-block;
    padding: 0 1.25rem;
    height: 2.5rem;
    line-height: 2.5rem;
    border-radius: 100px;
    background-color: #2161F9;
    border: none;
    font-size: 1rem;
    font-weight: 500;
    color: #FFFFFF;
}
/* 6 个 pill 统一蓝底白字（Figma 一致，用户反馈 #3 修正） */

/* ---------- AWARDS P0 ---------- */
body.home-v3 .v3-award,
body.home-v3 .v3-award-wide {
    border: 1px solid rgba(255, 255, 255, 0.85);
    background-color: rgba(255, 255, 255, 0.35);
}
/* Awards 2 列 grid（Figma：左列 CB/Davos + 右列 KPMG/Cyberport + OASES 全宽跨列，用户反馈 #5） */
body.home-v3 .v3-award-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    max-width: 65.5rem;
    margin-bottom: 3rem;
}
body.home-v3 .v3-award {
    width: auto;
    margin-bottom: 0;
}
body.home-v3 .v3-award-wide {
    grid-column: 1 / -1;
    width: auto;
    margin-bottom: 0;
}
/* Certifications：标题+pills 同一行顶部、描述换行全宽（Figma banner 66:26411） */
body.home-v3 .v3-cert-banner {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas:
        "title pills"
        "desc  desc";
    column-gap: 2.25rem;            /* 36px 标题↔pills（Figma 235-199） */
    align-items: center;
    max-width: 65.5rem;             /* 1048px，Figma banner 宽 */
    min-height: 8.9375rem;          /* 143px */
}
body.home-v3 .v3-cert-title {
    grid-area: title;
    margin: 0;
    white-space: nowrap;
}
body.home-v3 .v3-cert-pills {
    grid-area: pills;
    justify-self: start;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 1.5rem;                    /* Figma pills gap 24px */
}
body.home-v3 .v3-cert-pill {
    border-radius: 100px;
    background-color: rgba(33, 97, 249, 0.1);   /* Figma 淡蓝底 */
    border: none;
    font-size: 1rem;                /* 16px，Figma 文字 */
    font-weight: 500;
    color: #2155D9;
    padding: 0 0.8125rem;           /* Figma 13px */
    height: 2.5rem;                 /* 40px */
    line-height: 2.5rem;
    white-space: nowrap;
}
body.home-v3 .v3-cert-banner-desc {
    grid-area: desc;
    margin: 0.9375rem 0 0;          /* Figma 标题底49 → 描述顶64 = 15px */
}

/* ---------- NEWS P0：Read More ---------- */
body.home-v3 .v3-news-card {
    position: relative;
    display: flex;
    flex-direction: column;
}
body.home-v3 .v3-news-more {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    position: absolute;
    left: 1.5rem;
    bottom: 1.5rem;
    font-family: 'DM Sans', 'Inter', 'Open Sans', arial, sans-serif;
    font-size: 1rem;
    font-weight: 600;
    color: #2155D9;
    white-space: nowrap;
}
body.home-v3 .v3-news-more-text { display: inline-block; }
body.home-v3 .v3-news-more-arrow {
    width: 1rem;
    height: 1rem;
    display: inline-block;
    vertical-align: middle;
}
body.home-v3 .v3-news-more-arrow svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* ---------- 全页强制左对齐（Figma 靠左；覆盖 main.css body{text-align:center} 全局继承） ---------- */
body.home-v3 { text-align: left; }
body.home-v3 .v3-hero-inner,
body.home-v3 .v3-hero-title,
body.home-v3 .v3-hero-sub,
body.home-v3 .v3-hero-tagline,
body.home-v3 .v3-hero-eyebrow,
body.home-v3 .v3-block-inner .v3-section-title,
body.home-v3 .v3-block-inner .v3-section-desc,
body.home-v3 .v3-block-inner .v3-eyebrow,
body.home-v3 .v3-ai-banner-title,
body.home-v3 .v3-ai-banner-desc,
body.home-v3 .v3-card-title,
body.home-v3 .v3-news-title,
body.home-v3 .v3-news-summary,
body.home-v3 .v3-award-title,
body.home-v3 .v3-award-sub { text-align: left; }
/* 保留 Figma 明确居中的 */
body.home-v3 .v3-team-title,
body.home-v3 .v3-milestones-title,
body.home-v3 .v3-cta-btn,
body.home-v3 .global-map .map-point-text { text-align: center; }

/* ---------- Lifecycle P0：4 个自适应胶囊卡片 + 卡间单个箭头（Figma 44:25931，用户反馈）
   用户确认：回退自适应布局（不固定宽度）；icon 与标题同行同高；
   箭头 = 每两个卡片之间的单个箭头（不是横贯长线） */
body.home-v3 .v3-lifecycle {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    margin-bottom: 3rem;
    position: relative;
}
body.home-v3 .v3-lifecycle-item {
    flex: 1;
    min-width: 14rem;
    margin: 0;
    /* Figma 卡片透明无底、无边框、无圆角：内容顶部 3px，左右 12px 防贴边，底部 24px */
    padding: 0.1875rem 0.75rem 1.5rem 0.75rem;
    position: relative;
    z-index: 1;
}
body.home-v3 .v3-lc-head {
    display: flex;
    align-items: center;              /* icon 与标题同一行、垂直居中 */
    gap: 0.75rem;                     /* 48 - 36 = 12px */
    margin-bottom: 0.6875rem;         /* Figma 标题底33 / 描述顶44 = 11px */
}
body.home-v3 .v3-lc-ic {
    flex-shrink: 0;
    display: inline-block;
    width: 2.25rem;                   /* 36px */
    height: 2.25rem;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;         /* 真实 SVG 36×36，等比显示 */
}
body.home-v3 .v3-lc-ic-onboarding { background-image: url('../../media/images/home/lifecycle/lc-onboarding.svg'); }
body.home-v3 .v3-lc-ic-underwriting { background-image: url('../../media/images/home/lifecycle/lc-underwriting.svg'); }
body.home-v3 .v3-lc-ic-engagement { background-image: url('../../media/images/home/lifecycle/lc-engagement.svg'); }
body.home-v3 .v3-lc-ic-growth { background-image: url('../../media/images/home/lifecycle/lc-growth.svg'); }
body.home-v3 .v3-lc-title { margin: 0; font-size: 1.25rem; line-height: 1.875rem; font-weight: 700; color: #0F2137; }
body.home-v3 .v3-lc-desc { font-size: 0.875rem; line-height: 1.625rem; color: #343D48; margin: 0; }
/* 卡间箭头：flex 布局下位于两张卡之间，垂直对齐卡片头部（标题行高度） */
body.home-v3 .v3-lc-arrow {
    flex-shrink: 0;
    width: 2.125rem;
    height: 1.5rem;
    align-self: center;
    margin: 0 0.5rem;
    z-index: 2;
}
body.home-v3 .v3-lc-arrow img { width: 100%; height: 100%; display: block; }

/* ---------- ABOUT P0：team position + gradient underline ---------- */
body.home-v3 .v3-team-position {
    display: block;
    font-family: 'Inter', 'DM Sans', 'Open Sans', arial, sans-serif;
    font-size: 1rem;                 /* Figma style_d0e8b0f4：16px */
    line-height: 2.125rem;           /* 34px = 渐变条高度 → 文字垂直居中于渐变条（Figma EL-7bed32aa） */
    letter-spacing: -0.0625em;       /* Figma */
    color: #373D40;                  /* Figma fill_3249667f */
    margin: 0;
    position: relative;
    z-index: 1;                      /* 职位文字在渐变条之上 */
}
body.home-v3 .v3-team-card {
    position: relative;
}
/* Figma EL-7bed32aa：渐变横条衬在职位行（名字下方），高 34px、宽 54.4%（避开头像）
   top = 卡 padding 24px + 名字行高 48px = 72px，即名字文本底 */
body.home-v3 .v3-team-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 4.5rem;              /* 72px */
    width: 54.4%;             /* Figma 245.75/452 */
    height: 2.125rem;         /* 34px */
    background: linear-gradient(90deg, #EEF6FF 0%, rgba(242, 248, 255, 0) 100%);
    pointer-events: none;
    z-index: 0;               /* 渐变条衬在职位文字下方，不遮挡文字 */
}
/* Core Team 卡头：名字（24px）第 1 行、职位（16px）第 2 行，渐变条衬职位行 */
body.home-v3 .v3-team-head {
    display: block;
    margin-bottom: 0.75rem;
}
body.home-v3 .v3-team-name {
    display: block;
    font-size: 1.5rem;              /* Figma style_fc0d63e0：24px Medium 500 */
    line-height: 3rem;              /* 48px 名字行高 */
    letter-spacing: -0.0417em;
    font-weight: 500;
    color: #171717;                 /* Figma fill_d6eab79f */
    margin: 0;
}
/* 右上角头像占位（Figma Mask group 69.56×69.56，含红色 mask BG #BC6E6E + 人像图，
   真实头像待人工导入，先用统一灰色圆 + 姓名首字母占位） */
body.home-v3 .v3-team-avatar {
    position: absolute;
    right: 0;
    top: 0;
    display: block;
    width: 4.3475rem;               /* 69.56px，Figma Mask group */
    height: 4.3475rem;
    border-radius: 50%;
    background-image: url('../../media/images/home/team/team-icon.svg');  /* 统一 icon（人工导入） */
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    z-index: 2;
}
/* Core Team 卡描述：16px/26px #666666（Figma style_a853afa0），右列头像下不挤 */
body.home-v3 .v3-team-bio {
    font-size: 1rem;                /* Figma style_a853afa0：16px */
    line-height: 1.625rem;
    color: #666666;                 /* Figma fill_6763ac18 */
    margin: 0;
    padding-right: 4.5rem;          /* 避开头像占位 */
}

/* ---------- ABOUT P0：Milestones 2015 大卡 + divider + 5 dots + 5 years（用户反馈 #8） ---------- */
body.home-v3 .v3-milestones {
    position: relative;
    margin-bottom: 3rem;
}
body.home-v3 .v3-milestones-media {
    position: relative;
    /* 全宽横幅背景，无卡片圆角/阴影（Figma 92:26953 无白底卡片） */
}
body.home-v3 .v3-milestones-media img { width: 100%; height: auto; display: block; }body.home-v3 .v3-milestones-title {
    position: absolute;
    top: 16%;                 /* Figma 84:26912 距横幅顶 85px/525 */
    left: 0;
    right: 0;
    text-align: center;
    font-size: 1.5rem;
    line-height: 5rem;        /* Figma 80px 行高 */
    font-weight: 500;
    letter-spacing: -0.0417em;
    color: #171717;
    margin: 0;
    z-index: 2;
}
/* time 组：横幅图顶部 39% 处开始（Figma 92:26954 y=205/525） */
body.home-v3 .v3-timeline {
    position: absolute;
    left: 0;
    right: 0;
    top: 39%;
    z-index: 2;
}
/* 图+文字直接浮于横幅背景，无白底卡片（Figma 84:26918 无圆角白卡容器） */
body.home-v3 .v3-tl-card {
    margin-left: 7.14%;           /* 100/1400 */
    width: 71.14%;                /* 996/1400 */
    aspect-ratio: 996 / 238;
    display: flex;
    align-items: stretch;
}
body.home-v3 .v3-tl-card-media {
    width: 52.6%;                 /* 524/996 图区 */
    flex-shrink: 0;
    border: 1px solid #E0E2E4;    /* Figma 图块描边 #117:27149 */
}
body.home-v3 .v3-tl-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
body.home-v3 .v3-tl-card-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2rem 1.25rem;
    min-width: 0;
}
/* 卡内右上文字组（Figma 84:26930：2015 36px Bold 蓝 #2155D9 / Founded 24px / 描述 16px #666） */
body.home-v3 .v3-tl-year-big {
    display: block;
    font-size: 2.25rem;      /* 36px */
    line-height: 2.25rem;
    font-weight: 700;
    color: #2155D9;          /* Figma fill_b73ad3f0 蓝色 */
}
body.home-v3 .v3-tl-founded {
    display: block;
    font-size: 1.5rem;       /* 24px */
    line-height: 2rem;
    font-weight: 500;
    color: #0F2137;          /* Figma fill_4f72295e */
    margin-top: 0.25rem;
}
body.home-v3 .v3-tl-desc {
    display: block;
    font-size: 1rem;
    line-height: 1.625rem;
    color: #666666;
    margin-top: 0.75rem;
}
body.home-v3 .v3-tl-track {
    position: relative;
    height: 1.5rem;
    margin: 0.75rem 7.14% 0;
}
body.home-v3 .v3-tl-divider {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 1px;
    background-color: #E9EDF5;   /* Figma fill_078fe3af */
}
body.home-v3 .v3-tl-dot {
    position: absolute;
    top: 50%;
    width: 0.5rem;               /* 其余 4 点 8px 灰 */
    height: 0.5rem;
    margin: -0.25rem 0 0 -0.25rem;
    border-radius: 50%;
    background-color: #999999;   /* Figma fill_7025a8b3 */
}
body.home-v3 .v3-tl-dot-active {
    width: 1rem;                 /* 2015 16px 蓝（Figma 103:27018） */
    height: 1rem;
    margin: -0.5rem 0 0 -0.5rem;
    background-color: #2155D9;
}
body.home-v3 .v3-tl-years {
    position: relative;
    height: 2rem;
    margin: 0.375rem 7.14% 1rem;
}
body.home-v3 .v3-tl-year {
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    font-size: 1rem;
    line-height: 1.625rem;
    font-weight: 500;
    color: #666666;              /* Figma 年份灰 */
    cursor: pointer;
    transition: color 0.15s;
    white-space: nowrap;
}
body.home-v3 .v3-tl-year:hover { color: #2155D9; }
body.home-v3 .v3-tl-year-active { color: #2155D9; font-weight: 700; }

/* ---------- 移动端回退 ---------- */
@media (max-width: 1024px) {
    body.home-v3 .v3-chip-1, body.home-v3 .v3-chip-2, body.home-v3 .v3-chip-3 { width: auto; padding: 0 1.25rem; }
    body.home-v3 .v3-hero-arrow { display: none; }
    body.home-v3 .v3-cert-banner { grid-template-columns: 1fr; grid-template-areas: "title" "pills" "desc"; }
    body.home-v3 .v3-cert-pills { flex-wrap: wrap; }
    body.home-v3 .v3-tl-card { width: 90%; }
    body.home-v3 .v3-tl-card-media { display: none; }
}
@media (max-width: 767px) {
    body.home-v3 .v3-hero-inner { padding-top: 4rem; padding-bottom: 3rem; }
    body.home-v3 .v3-hero-arrow { display: none; }
    body.home-v3 .v3-taas-box { padding: 0.15rem 0.25rem; }
    body.home-v3 .v3-taas { font-size: 3.25rem; }
    body.home-v3 .v3-chip-1, body.home-v3 .v3-chip-2, body.home-v3 .v3-chip-3 { width: auto; }
    body.home-v3 .v3-cert-banner { grid-template-columns: 1fr; grid-template-areas: "title" "pills" "desc"; }
    body.home-v3 .v3-cert-pills { flex-wrap: wrap; }
    body.home-v3 .v3-stat-sep { display: none; }
    body.home-v3 .v3-stat-1, body.home-v3 .v3-stat-2, body.home-v3 .v3-stat-3, body.home-v3 .v3-stat-4 { margin-right: 2rem; width: auto; }
    body.home-v3 .v3-lc-arrow { display: none; }
body.home-v3 .v3-lifecycle { gap: 1rem; }
body.home-v3 .v3-lifecycle-item { flex: 1 1 calc(50% - 1rem); min-width: 14rem; }
    body.home-v3 .v3-award-list { grid-template-columns: 1fr; }
    body.home-v3 .v3-milestones-media { background-color: #FFFFFF; }
    body.home-v3 .v3-timeline { position: relative; top: auto; padding-bottom: 1.25rem; }
    body.home-v3 .v3-tl-card { position: relative; left: auto; top: auto; width: auto; margin: 0 1rem 1rem; }
    body.home-v3 .v3-tl-card-media { display: none; }
    body.home-v3 .v3-tl-track { margin: 0 0.5rem; }
    body.home-v3 .v3-tl-years { margin-left: 0.5rem; margin-right: 0.5rem; }
}
/* 桌面端 hero-banner-2：整图已含 header 白隙与渐变，hero 底透明即可；箭头 & chips 走图内叠层 */

/* ---------- header / 导航 ---------- */
body.home-v3 .nav.nav-main {
    background-color: #FFFFFF;
    height: 5.625rem;
    line-height: 5.625rem;
    border-bottom: 1px solid #E9EDF5;
    box-shadow: none;
}

body.home-v3 .nav.nav-main.ontop { background-color: #FFFFFF; }
body.home-v3 .nav.nav-main .nav-inner { height: 100%; line-height: 5.625rem; }

body.home-v3 .nav .logo.logo-v3 {
    display: flex;
    align-items: center;
    height: 3rem;
    margin-top: 1.3125rem;
    /* icon = logo-v3.png 金色原图；文字用 HTML 文本渲染，颜色为品牌蓝 #2155D9（同 Contact 按钮） */
    background-image: none;
    background-color: transparent;
}
body.home-v3 .nav .logo.logo-v3 .v3-logo-icon {
    display: block;
    height: 3rem;
    width: auto;
}
body.home-v3 .nav .logo.logo-v3 .v3-logo-text {
    font-family: 'Times New Roman', Georgia, serif;
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1;
    color: #02073E;              /* 黑色，匹配 header 菜单文字色 */
    margin-left: 0.375rem;
    white-space: nowrap;
}

body.home-v3 .nav.nav-main .v3-menu { margin-left: 2.5rem; height: 100%; }
body.home-v3 .nav.nav-main .v3-menu .menu-item { height: 100%; }

body.home-v3 .nav.nav-main .v3-menu .menu-item .menu-button {
    padding: 0 1.5rem;
    line-height: 5.625rem;
    font-size: 1.125rem;
    font-weight: 500;
    color: #02073E;
}

body.home-v3 .nav.nav-main .v3-menu .menu-item .menu-button:hover { color: #2155D9; }
body.home-v3 .nav.nav-main .v3-menu > .menu-item.menu-item-active > .menu-button { color: #2155D9; }

body.home-v3 .nav.nav-main .v3-nav-cta {
    width: 9.25rem;    /* 148px，Figma 148×40 */
    height: 2.5rem;
    margin-top: 0.8125rem;   /* 13px：90 高 header 内垂直居中（(90-40)/2=25，panel padding-top 12） */
    line-height: 2.5rem;
    padding: 0;
    border-radius: 0.5rem;    /* 8px，Figma 圆角 8 */
    background-image: linear-gradient(138deg, #1657F0 2%, #1941C3 100%);
    font-family: 'DM Sans', 'Inter', 'Open Sans', arial, sans-serif;
    font-size: 1rem;
    font-weight: 700;
}

body.home-v3 .nav.nav-main .v3-nav-cta span { line-height: 2.5rem; }
body.home-v3 .nav.nav-main .v3-nav-cta::after { background-image: linear-gradient(138deg, #1657F0 2%, #1941C3 100%); }

body.home-v3 .nav.nav-simple {
    height: 3.75rem;
    line-height: 3.75rem;
    padding: 0 0 0 1rem;
    background-color: #FFFFFF;
    border-bottom: 1px solid #E9EDF5;
}

body.home-v3 .nav.nav-simple.nav-simple-white,
body.home-v3 .nav.nav-simple.nav-simple-black,
body.home-v3 .nav.nav-simple.nav-simple-black.nav-simple-white { background-color: #FFFFFF; }

body.home-v3 .nav.nav-simple .v3-mobile-logo { height: 3.75rem; display: block; position: relative; }
body.home-v3 .nav.nav-simple .v3-mobile-logo img { height: 2rem; margin-top: 0.875rem; display: block; }
body.home-v3 .nav.nav-simple .sub-icon { color: #02073E; }
body.home-v3 .nav.nav-simple .icon-line { border-top-color: #02073E; }
body.home-v3 .nav.nav-simple.nav-simple-black .sub-icon,
body.home-v3 .nav.nav-simple.nav-simple-black .icon-line { color: #fff; border-top-color: #fff; }

/* 移动端展开菜单（白底版） */
body.home-v3 .screen-s .nav.nav-main,
body.home-v3 .screen-x .nav.nav-main { background-color: #FFFFFF; padding-top: 4.5rem; }
body.home-v3 .nav.nav-main .v3-menu .menu-item .menu-button { color: #0F2137; }
body.home-v3 .screen-s .nav.nav-main .menu .menu-item .menu-button,
body.home-v3 .screen-x .nav.nav-main .menu .menu-item .menu-button { color: #0F2137; line-height: 3rem; }
body.home-v3 .screen-s .nav.nav-main .nav-cld-panel,
body.home-v3 .screen-x .nav.nav-main .nav-cld-panel { background-color: #F4F6FB; }
body.home-v3 .screen-s .nav.nav-main .nav-cld-panel .nav-contact,
body.home-v3 .screen-x .nav.nav-main .nav-cld-panel .nav-contact { margin: 0 auto; }
body.home-v3 .screen-s .nav.nav-main .v3-menu .menu-item .menu-button { display: block; float: none; }
body.home-v3 .screen-s .nav.nav-main .v3-menu > .menu-item,
body.home-v3 .screen-x .nav.nav-main .v3-menu > .menu-item {
    width: 100%;
    float: none;
    text-align: left;
    border-bottom: 1px solid #E9EDF5;
    height: auto;
}
body.home-v3 .screen-s .nav.nav-main .v3-menu > .menu-item .menu-button,
body.home-v3 .screen-x .nav.nav-main .v3-menu > .menu-item .menu-button {
    line-height: 3.25rem;
    font-size: 1.25rem;
    padding: 0 2rem;
    display: block;
}
body.home-v3 .screen-s .nav.nav-main .v3-menu > .menu-item,
body.home-v3 .screen-x .nav.nav-main .v3-menu > .menu-item { position: relative; float: none; display: block; }

/* ---------- 通用区块结构 ---------- */
.v3-block { width: 100%; position: relative; display: block; clear: both; overflow: hidden; }
.v3-block-inner { margin: 0 auto; padding-top: 4.5rem; padding-bottom: 4.5rem; position: relative; }

.v3-eyebrow {
    display: inline-block;
    font-size: 2rem;
    line-height: 5rem;
    font-weight: 600;
    letter-spacing: -0.0313em;
    color: #171717;
    position: relative;
}

.v3-eyebrow::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 12.875rem;          /* 206px，AI PRODUCT 用 */
    height: 0.75rem;           /* 12px */
    background: linear-gradient(90deg, #1657F0 0%, rgba(25, 65, 195, 0.2) 100%);
}

.v3-section-title {
    font-size: 3rem;
    line-height: 5rem;
    font-weight: 600;
    letter-spacing: -0.0208em;
    color: #171717;
    margin: 0.5rem 0 1.5rem 0;
    display: block;
}

.v3-section-desc {
    font-family: 'DM Sans', 'Inter', 'Open Sans', arial, sans-serif;
    font-size: 1.25rem;
    line-height: 2rem;
    color: rgba(0, 0, 0, 0.6);
    max-width: 60rem;
    margin-bottom: 2.5rem;
}

/* ---------- HERO ---------- */
.v3-hero {
    min-height: 42rem;
    background-color: #F9FBFD;
    border-radius: 0 0 3rem 3rem;
    color: #FFFFFF;
}

.v3-hero-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center top;
    -o-background-size: cover;
    background-size: cover;
}

.v3-hero-inner {
    position: relative;
    z-index: 2;
    padding-top: 6.5rem;
    padding-bottom: 5rem;
    max-width: 1440px;
}

.v3-hero-eyebrow {
    font-size: 2.25rem;
    font-weight: 500;
    letter-spacing: -0.0278em;
    color: #FAE192;
    margin-bottom: 1rem;
}

.v3-hero-title {
    font-size: 4.5rem;
    line-height: 5rem;
    font-weight: 700;
    letter-spacing: -0.0139em;
    color: #FFFFFF;
    margin: 0 0 1rem 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 0.5rem;
}

.v3-hero-title span { display: inline-block; }

.v3-taas {
    display: inline-block;
    font-size: 5rem;
    background: linear-gradient(180deg, #FFEDC3 0%, #E5B844 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.v3-hero-tagline {
    font-size: 1rem;
    line-height: 2.625rem;
    letter-spacing: 0.2em;
    color: #E7E9FA;
    margin-bottom: 1.5rem;
}

.v3-hero-sub {
    font-family: 'DM Sans', 'Inter', 'Open Sans', arial, sans-serif;
    font-size: 1rem;
    line-height: 2.25rem;
    color: #E7E9FA;
    margin: 0 0 1.5rem 0;
    max-width: 43.25rem;
}

.v3-hero-chips {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 2.5rem;
}

.v3-chip {
    display: inline-block;
    padding: 0 1.25rem;
    height: 3.5rem;
    line-height: 3.5rem;
    margin: 0 0.75rem 0.75rem 0;
    border-radius: 100px;
    background-color: rgba(46, 89, 134, 0.2);
    border: 1px solid rgba(188, 188, 188, 0.2);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
    font-size: 1.25rem;
    font-weight: 500;
    color: #FAE192;
}

.v3-hero-stats {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 2.5rem;
}

.v3-stat {
    margin-right: 3.5rem;
    display: inline-block;
}

.v3-stat-num {
    font-size: 3rem;
    line-height: 5rem;
    font-weight: 600;
    letter-spacing: -0.0208em;
    color: #E5B844;
    display: inline-block;
}

.v3-stat-unit {
    font-size: 3rem;
    line-height: 5rem;
    font-weight: 600;
    color: #E5B844;
    margin-left: 0.25rem;
    display: inline-block;
}

.v3-stat-label {
    display: block;
    font-size: 1.25rem;
    line-height: 2.25rem;
    color: #FFFFFF;
    margin-top: -0.75rem;
}

.v3-stat-sep {
    width: 1px;
    height: 3.8125rem;   /* 61px */
    margin-right: 3.5rem;
    background-color: #344768;
    display: inline-block;
}

/* ---------- AI PRODUCT ---------- */
.v3-ai { background-color: #F9FBFD; }

/* banner 大卡 */
.v3-ai-banner {
    display: flex;
    align-items: stretch;
    background-color: #FFFFFF;
    border-radius: 1rem;
    box-shadow: var(--card-shadow);
    margin-bottom: 3rem;
    overflow: hidden;
}

.v3-ai-banner-text {
    flex: 1;
    padding: 3rem 0 3rem 3rem;
    min-width: 0;
}

.v3-ai-banner-title {
    font-size: 2rem;
    line-height: 3.0625rem;
    font-weight: 600;
    letter-spacing: -0.0313em;
    color: #292929;
    margin: 0 0 0.75rem 0;
}

.v3-ai-banner-desc {
    font-family: 'DM Sans', 'Inter', 'Open Sans', arial, sans-serif;
    font-size: 1.125rem;
    line-height: 2rem;
    color: #666666;
    margin: 0 0 2rem 0;
}

.v3-ai-banner-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.v3-ai-pill {
    display: inline-block;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    background-color: #F9FBFD;
    border: 1px solid #E9EDF5;
    font-size: 0.9375rem;
    color: #344768;
}

.v3-ai-banner-media {
    width: 35%;
    min-height: 20rem;
    position: relative;
    flex-shrink: 0;
    overflow: hidden;
}

.v3-ai-banner-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 图片上叠加文字层（Figma #44:25924：Raw Data / TaaS Assetization / Millisecond Decisioning）
   实测（get_figma_data 44:25924）：文字区 x=34.83(7%) y=44.41(16%)，宽 54.5%，行顶距 66.61px，
   每行高 50px（18px 标题 + 16px 副行），色 #1D2333，标题 letterSpacing -0.0556em */
.v3-ai-overlay {
    position: absolute;
    left: 7%;
    top: 16%;
    width: 54.5%;
    pointer-events: none;
}
.v3-ai-overlay-line {
    margin-bottom: 1.25rem;        /* 组高约 46px，补到 Figma 66.61px 行顶距 */
    font-family: 'Inter', 'DM Sans', 'Open Sans', arial, sans-serif;
    color: #1D2333;                /* Figma ts1/ts2/fill_e008254f */
}
.v3-ai-overlay-line:last-child { margin-bottom: 0; }
.v3-ai-overlay-line strong {
    display: block;
    font-size: 1.125rem;            /* Figma style_4ac734f7：18px Medium 500 */
    font-weight: 700;
    letter-spacing: -0.0556em;      /* Figma */
    line-height: 1.4;
}
.v3-ai-overlay-line span {
    display: block;
    font-size: 1rem;                /* Figma ts2：16px */
    font-weight: 400;
    line-height: 1.3;
}

/* 2×2 产品卡 */
.v3-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
    margin-bottom: 3rem;
}

.v3-card {
    background-color: #FFFFFF;
    border-radius: 1rem;
    box-shadow: var(--card-shadow);
    padding: 3rem;
    display: flex;
    flex-direction: column;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.v3-card:hover {
    -webkit-transform: translateY(-0.25rem);
    -moz-transform: translateY(-0.25rem);
    -ms-transform: translateY(-0.25rem);
    -o-transform: translateY(-0.25rem);
    transform: translateY(-0.25rem);
    box-shadow: 0 20px 55px rgba(91, 132, 193, 0.18);
}

.v3-card-head { display: flex; align-items: center; margin-bottom: 1.5rem; }

.v3-card-ic {
    width: 4.375rem;   /* 70px */
    height: 4.375rem;
    border-radius: 50%;            /* 真实 SVG 为圆形 tile（rx=35） */
    margin-right: 1.25rem;
    flex-shrink: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;         /* 70×70 原尺寸等比填满 */
}

.v3-card-ic-system { background-image: url('../../media/images/home/ai-card/system.svg'); }
.v3-card-ic-agent { background-image: url('../../media/images/home/ai-card/agent.svg'); }
.v3-card-ic-model { background-image: url('../../media/images/home/ai-card/model.svg'); }
.v3-card-ic-data { background-image: url('../../media/images/home/ai-card/data.svg'); }

.v3-card-head-text { min-width: 0; }

.v3-card-title {
    font-size: 1.25rem;
    line-height: 1.875rem;
    font-weight: 700;
    color: #0F2137;
    margin: 0;
}

.v3-card-sub {
    display: block;
    font-size: 0.875rem;
    letter-spacing: 0.15em;
    color: #999999;
    margin-top: 0.25rem;
}

.v3-card-features {
    list-style: none;
    margin: 0;
    padding: 0;
}

.v3-card-features li {
    display: flex;
    align-items: flex-start;
    font-size: 1rem;
    line-height: 1.5rem;
    color: #343D48;
    padding: 0.375rem 0;
}

.v3-fdot {
    width: 0.375rem;
    height: 0.375rem;
    margin: 0.5rem 0.75rem 0 0;
    border-radius: 50%;
    background-color: #FFC059;
    flex-shrink: 0;
}

/* Lifecycle 4 列 */
.v3-lifecycle {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 3rem;
}

/* Lifecycle 4 列（base 兼容层，body.home-v3 前缀规则优先覆盖） */
.v3-lifecycle-item { flex: 1; min-width: 14rem; padding: 1.5rem 1.25rem; position: relative; }

.v3-lc-ic {
    display: inline-block;
    width: 2.25rem;
    height: 2.25rem;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.v3-lc-ic-onboarding { background-image: url('../../media/images/home/lifecycle/lc-onboarding.svg'); }
.v3-lc-ic-underwriting { background-image: url('../../media/images/home/lifecycle/lc-underwriting.svg'); }
.v3-lc-ic-engagement { background-image: url('../../media/images/home/lifecycle/lc-engagement.svg'); }
.v3-lc-ic-growth { background-image: url('../../media/images/home/lifecycle/lc-growth.svg'); }

.v3-lc-title {
    font-size: 1.25rem;
    line-height: 1.875rem;
    font-weight: 700;
    color: #0F2137;
    margin: 0;
}

.v3-lc-desc {
    font-size: 0.875rem;
    line-height: 1.625rem;
    color: #343D48;
    margin: 0;
}

.v3-lc-arrow {
    width: 2.125rem;
    height: 1.5rem;
    flex-shrink: 0;
}

/* ---------- AWARDS ---------- */
.v3-awards { background-color: #FFFFFF; }

.v3-awards-bg {
    position: absolute;
    right: 0;
    top: 0;
    width: 50%;
    height: 100%;
    opacity: 0.8;
    overflow: hidden;
    z-index: 0;
}

.v3-awards-bg img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: 0.22; }

.v3-awards .v3-block-inner { position: relative; z-index: 1; }
.v3-awards .v3-eyebrow::after { width: 9.125rem; }        /* 146px */
.v3-awards .v3-section-desc { max-width: 52.3125rem; }    /* 837px */

.v3-award-list {
    max-width: 65.5rem;    /* 1048px */
    margin-bottom: 3rem;
}

.v3-award {
    display: flex;
    align-items: center;
    width: 31.5rem;        /* 504px */
    min-height: 6.75rem;   /* 108px */
    padding: 1.25rem 1.5rem;
    margin-bottom: 1rem;
    background-color: rgba(255, 255, 255, 0.4);
    border-radius: 1rem;
    box-shadow: var(--card-shadow);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}

.v3-award-ic {
    width: 6rem;           /* 96px 人工要求：至少 96×96 */
    height: 6rem;
    margin-right: 1.25rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.v3-award-ic img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}
.v3-award-ic-sm {
    width: 5rem;           /* 80px 人工要求：Cyberport 单独调小 */
    height: 5rem;
}

.v3-award-text { min-width: 0; }
.v3-award-title { font-size: 1.5rem; line-height: 2.25rem; font-weight: 600; color: #0F2137; margin: 0; }
.v3-award-sub { font-size: 1.25rem; line-height: 1.75rem; color: #343D48; margin: 0; }

.v3-award-wide {
    width: 65.5rem;
    background-color: rgba(255, 255, 255, 0.4);
    box-shadow: var(--card-shadow);
    margin-bottom: 0;
}

/* Certifications */
.v3-cert-banner {
    max-width: 65.5rem;
}

.v3-cert-title {
    font-size: 2rem;
    line-height: 3.0625rem;
    font-weight: 600;
    letter-spacing: -0.0313em;
    color: #292929;
    margin: 0 0 0.75rem 0;
}

.v3-cert-banner-desc {
    font-family: 'DM Sans', 'Inter', 'Open Sans', arial, sans-serif;
    font-size: 1.125rem;
    line-height: 2rem;
    color: #333333;
    margin: 0 0 1.25rem 0;
}

.v3-cert-pills { display: flex; flex-wrap: wrap; gap: 1rem; }

.v3-cert-pill {
    display: inline-block;
    padding: 0.5rem 1.5rem;
    border-radius: 100px;
    background-color: rgba(33, 97, 249, 0.1);
    font-size: 1rem;
    font-weight: 500;
    color: #2155D9;
}

/* ---------- NEWS ---------- */
.v3-news { background-color: #F9FBFD; }

.v3-news .v3-eyebrow::after { width: 5.5rem; }           /* 88px */

.v3-news-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}

.v3-news-card {
    display: block;
    background-color: #FFFFFF;
    border-radius: 1.25rem;      /* 20px */
    box-shadow: var(--card-shadow);
    overflow: hidden;
    color: inherit;
    text-decoration: none;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.v3-news-card:hover {
    -webkit-transform: translateY(-0.25rem);
    -moz-transform: translateY(-0.25rem);
    -ms-transform: translateY(-0.25rem);
    -o-transform: translateY(-0.25rem);
    transform: translateY(-0.25rem);
    box-shadow: 0 20px 55px rgba(91, 132, 193, 0.18);
}

.v3-news-thumb {
    display: block;
    height: 14.875rem;           /* 238px */
    background-repeat: no-repeat;
    background-position: center;
    -o-background-size: cover;
    background-size: cover;
}

.v3-news-title {
    display: block;
    font-size: 1.5rem;
    line-height: 1.875rem;
    font-weight: 700;
    color: #0F2137;
    padding: 0 1.5rem;
    margin-top: 1rem;
}

.v3-news-summary {
    display: block;
    font-size: 1rem;
    line-height: 1.625rem;
    color: #343D48;
    padding: 0 1.5rem;
    margin-top: 0.5rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.v3-news-meta {
    display: block;
    font-size: 0.875rem;
    color: #999999;
    padding: 0.75rem 1.5rem 1.5rem 1.5rem;
}

/* ---------- GLOBAL ---------- */
.v3-global { background-color: #FFFFFF; }

.v3-global .v3-block-inner { padding-bottom: 3rem; }
.v3-global .v3-eyebrow::after { width: 8rem; }           /* 128px */
.v3-global .v3-section-desc { max-width: 61.25rem; }     /* 980px */

/* 搬自 home.css —— global map 结构与动效 */
.v3-global .global-map-wrap {
    width: 100%;
    height: 40rem;
    margin-top: 1rem;
    display: block;
    position: relative;
    overflow: hidden;
    z-index: 10;
    -webkit-mask-image: -webkit-linear-gradient(top, rgba(255,255,255,0) 5%, #fff 30%, #fff 100%);
    mask-image: linear-gradient(top, rgba(255,255,255,0) 5%, #fff 30%, #fff 100%);
    -webkit-mask-repeat: repeat-x;
    mask-repeat: repeat-x;
    -webkit-mask-position: bottom;
    mask-position: bottom;
}

.v3-global .global-map {
    width: 90rem;
    height: 50rem;
    top: 0;
    left: 50%;
    margin-top: -6rem;
    margin-left: -45rem;
    display: block;
    position: absolute;
    -o-background-size: 100% auto;
    background-size: 100% auto;
    background-repeat: no-repeat;
    z-index: 10;
}

.v3-global .global-map .map-point {
    width: 1px;
    height: 1px;
    overflow: visible;
    display: block;
    position: absolute;
    z-index: 20;
}

.v3-global .global-map .map-point .map-point-dot {
    width: 0.75rem;
    height: 0.75rem;
    top: -0.375rem;
    margin-left: -0.375rem;
    border-radius: 50%;
    border: 2px solid #fff;
    background-color: #2155D9;
    -webkit-box-shadow: 1px 3px 8px rgba(0, 0, 0, 0.7);
    box-shadow: 1px 3px 8px rgba(0, 0, 0, 0.7);
    display: block;
    position: absolute;
    z-index: 25;
    cursor: pointer;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

.v3-global .global-map .map-point:hover { z-index: 60; }

.v3-global .global-map .map-point:hover .map-point-dot {
    border: 1px solid #fff;
    background-color: #8c52e4;
    z-index: 50;
    -webkit-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -ms-transform: scale(1.5);
    -o-transform: scale(1.5);
    transform: scale(1.5);
}

.v3-global .global-map .map-point .map-point-explode {
    width: 0.75rem;
    height: 0.75rem;
    top: -0.375rem;
    margin-left: -0.375rem;
    border-radius: 50%;
    background-color: #5600ff;
    display: block;
    position: absolute;
    -webkit-animation: v3-explode 5s;
    -moz-animation: v3-explode 5s;
    -o-animation: v3-explode 5s;
    animation: v3-explode 5s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    z-index: 22;
}

.v3-global .global-map .map-point .map-point-text {
    width: auto;
    padding: 0.25rem;
    top: -2rem;
    left: 0.25rem;
    color: rgba(0, 0, 0, 0.6);
    background-color: rgba(255, 255, 255, 0.7);
    -webkit-box-shadow: 1px 3px 20px rgba(0, 0, 0, 0.1);
    box-shadow: 1px 3px 20px rgba(0, 0, 0, 0.1);
    font-size: 0.875rem;
    text-align: center;
    display: block;
    white-space: nowrap;
    position: absolute;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-pointer-events: none;
    -moz-pointer-events: none;
    -ms-pointer-events: none;
    -o-pointer-events: none;
    pointer-events: none;
    z-index: 30;
}

.v3-global .global-map .map-point:hover .map-point-dot ~ .map-point-text {
    color: #000;
    z-index: 51;
}

/* 泰国 / 越南点位相邻（水平间距仅约 1% 地图宽），名称文字分列点位左右两侧避免重叠（用户反馈）：
   .map-point-text-left  → 文字右对齐锚点，向点位左侧延伸（泰国）
   .map-point-text-right → 文字左对齐锚点，向点位右侧延伸（越南） */
.v3-global .global-map .map-point .map-point-text-left {
    left: auto;
    right: 0.25rem;
    text-align: right;
}

.v3-global .global-map .map-point .map-point-text-right {
    left: 0.25rem;
    text-align: left;
}

@keyframes v3-explode {
    0% { transform: scale(1); opacity: 1; }
    30% { transform: scale(4); opacity: 0; }
    100% { transform: scale(4); opacity: 0; }
}

@-moz-keyframes v3-explode {
    0% { -moz-transform: scale(1); opacity: 1; }
    30% { -moz-transform: scale(4); opacity: 0; }
    100% { -moz-transform: scale(4); opacity: 0; }
}

@-webkit-keyframes v3-explode {
    0% { -webkit-transform: scale(1); opacity: 1; }
    30% { -webkit-transform: scale(4); opacity: 0; }
    100% { -webkit-transform: scale(4); opacity: 0; }
}

@-o-keyframes v3-explode {
    0% { -o-transform: scale(1); opacity: 1; }
    30% { -o-transform: scale(4); opacity: 0; }
    100% { -o-transform: scale(4); opacity: 0; }
}

/* ---------- ABOUT ---------- */
.v3-about { background-color: #F9FBFD; }

.v3-about-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
}

.v3-about-bg img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: 0.35; }

.v3-about .v3-block-inner { position: relative; z-index: 1; }
.v3-about .v3-eyebrow::after { width: 6.125rem; }        /* 98px */
.v3-about .v3-section-desc { max-width: 61.25rem; }      /* 980px */

/* Milestones */
.v3-milestones {
    position: relative;
    margin-bottom: 3rem;
}

.v3-milestones-media {
    position: relative;
}

.v3-milestones-media img { width: 100%; height: auto; display: block; }

.v3-milestones-title {
    position: absolute;
    top: 1.5rem;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 1.5rem;
    line-height: 5rem;
    font-weight: 500;
    letter-spacing: -0.0417em;
    color: #171717;
    margin: 0;
}

/* Milestones 时间轴：结构由 P0 区（body.home-v3 .v3-tl-*）接管，
   旧 flex 时间轴规则不再使用，仅保留容器占位避免残留 margin/::before 覆盖 */
.v3-timeline { position: relative; }

/* Key Differentiators / Talent */
.v3-about-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    margin-bottom: 3rem;
}

.v3-about-col {
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 1rem;
    box-shadow: var(--card-shadow);
    padding: 2rem;
    position: relative;
    overflow: hidden;
}

.v3-about-col-bg {
    position: absolute;
    right: 0;
    top: 0;
    width: 60%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
}
.v3-about-col-bg img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: 0.25; }

.v3-about-col h3, .v3-about-col ul { position: relative; z-index: 1; }

.v3-col-title {
    font-size: 1.5rem;
    line-height: 3rem;
    font-weight: 500;
    letter-spacing: -0.0417em;
    color: #171717;
    margin: 0 0 1rem 0;
}

.v3-col-list { list-style: none; margin: 0; padding: 0; }

.v3-col-list li {
    display: flex;
    align-items: flex-start;
    font-size: 1rem;
    line-height: 1.625rem;
    color: #343D48;
    padding: 0.375rem 0;
}

.v3-dot {
    width: 0.375rem;
    height: 0.375rem;
    margin: 0.625rem 0.75rem 0 0;
    border-radius: 50%;
    background-color: #2155D9;
    flex-shrink: 0;
}

/* Core Team */
.v3-team { margin-bottom: 3rem; }

.v3-team-title {
    text-align: center;
    font-size: 1.5rem;
    line-height: 5rem;
    font-weight: 500;
    letter-spacing: -0.0417em;
    color: #171717;
    margin: 0 0 1.5rem 0;
}

.v3-team-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}

.v3-team-card {
    background-color: #FFFFFF;
    border-radius: 1rem;
    box-shadow: var(--card-shadow);
    padding: 1.5rem;
    position: relative;             /* 头像绝对定位基准 */
}

.v3-team-avatar {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 4.3475rem;               /* 69.56px，Figma Mask group */
    height: 4.3475rem;
    border-radius: 50%;
    background-image: url('../../media/images/home/team/team-icon.svg');  /* 统一 icon（人工导入） */
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    z-index: 2;
}

.v3-team-head {
    display: block;
    margin-bottom: 0.75rem;
}

.v3-team-name {
    font-size: 1.5rem;              /* Figma style_fc0d63e0：24px Medium 500 */
    line-height: 3rem;
    letter-spacing: -0.0417em;
    font-weight: 500;
    color: #171717;                 /* Figma fill_d6eab79f */
    margin: 0;
}

.v3-team-position {
    display: block;
    font-family: 'Inter', 'DM Sans', 'Open Sans', arial, sans-serif;
    font-size: 1rem;                 /* Figma style_d0e8b0f4：16px */
    line-height: 2.125rem;           /* 34px = 渐变条高度 → 文字垂直居中于渐变条（Figma EL-7bed32aa） */
    letter-spacing: -0.0625em;       /* Figma */
    color: #373D40;                  /* Figma fill_3249667f */
    margin: 0;
    position: relative;
    z-index: 1;                      /* 职位文字在渐变条之上 */
}

.v3-team-bio {
    font-size: 1rem;                /* Figma style_a853afa0：16px */
    line-height: 1.625rem;
    color: #666666;                 /* Figma fill_6763ac18 */
    margin: 0;
    padding-right: 4.5rem;          /* 避开头像占位 */
}

/* CTA 横幅 */
.v3-cta {
    display: flex;
    align-items: center;
    background: linear-gradient(180deg, #E8F3FF 0%, #E8F3FF 100%);
    border-radius: 2.5rem;
    box-shadow: var(--card-shadow);
    overflow: hidden;
}

.v3-cta-text {
    flex: 1;
    padding: 3rem;
    min-width: 0;
}

.v3-cta-title {
    font-size: 3rem;
    line-height: 5rem;
    font-weight: 600;
    letter-spacing: -0.0208em;
    color: #171717;
    margin: 0 0 0.75rem 0;
}

.v3-cta-desc {
    font-family: 'DM Sans', 'Inter', 'Open Sans', arial, sans-serif;
    font-size: 1.25rem;
    line-height: 2rem;
    color: rgba(0, 0, 0, 0.6);
    margin: 0 0 1.5rem 0;
}

.v3-cta-btn {
    display: inline-block;
    height: 2.5rem;
    line-height: 2.5rem;
    padding: 0 1.5rem;
    border-radius: 100px;
    background-color: #2161F9;
    color: #FFFFFF;
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
}

.v3-cta-btn:hover { background-color: #1941C3; }

.v3-cta-media { width: 40%; flex-shrink: 0; }

.v3-cta-media img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---------- FOOTER ---------- */
.v3-footer { background-color: #222222; color: #FFFFFF; }
.v3-footer .block-inner { padding-top: 2.5rem; padding-bottom: 2.5rem; }

.v3-footer-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
    margin-bottom: 0.75rem;
}

.v3-footer-logo {
    display: flex;
    align-items: center;
    white-space: nowrap;
}
.v3-footer-logo-icon {
    display: block;
    height: 2.25rem;               /* icon 金色原图，高 36px（对齐原 logo 全高） */
    width: auto;
    object-fit: contain;
}
.v3-footer-logo-text {
    font-family: 'Times New Roman', Georgia, serif;
    font-size: 1.375rem;           /* 22px，匹配原 logo 文字显示大小 */
    font-weight: 700;
    line-height: 1;
    color: #FFFFFF;                /* footer 其他文字一致的白色 */
    margin-left: 0.375rem;
    white-space: nowrap;
}

/* copyright 紧随 logo（Figma bottom 组内 x=189.96），链接靠右（Figma x=1056 右对齐） */
.v3-footer-copy {
    font-family: 'DM Sans', 'Inter', 'Open Sans', arial, sans-serif;
    font-size: 0.875rem;           /* Figma 14px */
    line-height: 1.125rem;
    color: #FFFFFF;
    opacity: 0.6;                  /* Figma 0.6 */
    white-space: nowrap;
}

.v3-footer-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.25rem;
    margin-left: auto;
}

.v3-footer-links .link {
    font-family: 'DM Sans', 'Inter', 'Open Sans', arial, sans-serif;
    font-size: 0.9375rem;
    line-height: 2.0625rem;
    color: #FFFFFF;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.v3-footer-links .link:hover { color: #FAE192; }

.v3-footer-meta {
    font-family: 'DM Sans', 'Inter', 'Open Sans', arial, sans-serif;
    font-size: 0.875rem;
    line-height: 1.875rem;
    letter-spacing: -0.0357em;
    color: #FFFFFF;
    opacity: 0.5;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;   /* Figma menu 组：4 段文字横向分散占满整行，段间间隙均匀 87px */
    row-gap: 0.25rem;
}

.v3-footer-meta .link { color: inherit; text-decoration: none; }
.v3-footer-meta .link:hover { color: #FAE192; }



@media (max-width: 767px) {
    .v3-footer-row { flex-direction: column; align-items: flex-start; }
}

/* ---------- 响应式 ---------- */
@media (max-width: 1200px) {
    .v3-card { padding: 2rem; }
    .v3-ai-banner-media { width: 40%; }
    .v3-team-grid { grid-template-columns: repeat(2, 1fr); }
    .v3-cta-media { width: 45%; }
}

@media (max-width: 1024px) {
    .v3-ai-banner { flex-direction: column; }
    .v3-ai-banner-text { padding: 2rem; }
    .v3-ai-banner-media { width: 100%; min-height: auto; }
    .v3-ai-banner-media img { height: auto; }        /* 移动端图片自适应高度 */
    .v3-ai-overlay { top: 12%; }                     /* 移动端文字层略上移避免遮图过度 */
    .v3-cards { grid-template-columns: 1fr; }
    .v3-about-cols { grid-template-columns: 1fr; }
    .v3-news-cards { grid-template-columns: repeat(2, 1fr); }
    .v3-award { width: 100%; }
    .v3-award-wide { width: 100%; }
    .v3-stat { margin-right: 2rem; }
    .v3-stat-sep { margin-right: 2rem; }
}

@media (max-width: 767px) {
    .v3-hero-inner { padding-top: 4rem; padding-bottom: 3rem; }
    .v3-hero-title { font-size: 3rem; line-height: 3.5rem; }
    .v3-taas { font-size: 3.25rem; }
    .v3-hero-eyebrow { font-size: 1.5rem; }
    .v3-chip { height: auto; line-height: 1.4; padding: 0.625rem 1.25rem; font-size: 1rem; }
    .v3-stat-num, .v3-stat-unit { font-size: 2rem; line-height: 3rem; }
    .v3-stat-sep { display: none; }
    .v3-news-cards { grid-template-columns: 1fr; }
    .v3-team-grid { grid-template-columns: 1fr; }
    .v3-cta { flex-direction: column; }
    .v3-cta-media { width: 100%; }
    .v3-cta-title { font-size: 2rem; line-height: 3rem; }
    .v3-card-head { flex-wrap: wrap; }
    .v3-lifecycle-item { min-width: 100%; padding: 1rem 0; }
    .v3-lc-arrow { display: none; }
    .v3-award { width: 100%; }
    .v3-award-wide { width: 100%; }

    .v3-global .global-map-wrap { height: 16.5rem; margin-top: -2rem; }
    .v3-global .global-map { width: 40.5rem; height: 22.5rem; margin-left: -20.25rem; margin-top: -7rem; }
    .v3-global .global-map .map-point .map-point-text { font-size: 0.75rem; }
}
