/* ============================================================
   元仓云新首页样式（home.jsp）—— 浅色高级版
   设计语言：纸面编辑部风格
   - 暖白底 + 墨色文字 + 单一青色实色强调（全程无渐变）
   - 衬线大标题（Noto Serif SC）+ 无衬线正文
   - 细线分隔代替卡片，编号列表代替网格卡片
   - 动效：标题遮罩入场 / 滚动渐显 / 数字滚动 / 悬浮位移
   ============================================================ */
:root {
    --bg: #FAF9F6;              /* 暖白纸面底色 */
    --bg-soft: #F3F1EC;         /* 次级底色（区块交替） */
    --ink: #16181D;             /* 墨色主文字 */
    --ink-soft: #3D4149;        /* 次级文字 */
    --muted: #8A8F98;           /* 弱化文字 */
    --line: #E4E1DA;            /* 细线 */
    --accent: #0E7490;          /* 单一强调色：深青（实色，无渐变） */
    --accent-ink: #0B5C73;      /* 强调色深阶（hover 用） */
    --serif: "Noto Serif SC", "Source Han Serif SC", "SimSun", serif;
    --sans: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    font-family: var(--sans);
    background: var(--bg);
    color: var(--ink);
    line-height: 1.75;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

::selection { background: var(--accent); color: #fff; }

/* 顶部信息栏 / 主导航 / 页脚样式已抽取至 site-common.css（全站公共） */

/* ============ Hero：纸面海报式（左文右资讯双栏） ============ */
.home-hero {
    position: relative;
    padding: 100px 32px 100px;
    max-width: 1240px; margin: 0 auto;
    display: grid;
    grid-template-columns: 1.25fr 0.75fr;   /* 左：主张 / 右：最新发布 */
    gap: 70px;
    align-items: center;
}
/* 巨型轮廓字改为居右底衬（双栏后不再需要网格装饰） */
@keyframes gridFloat {
    from { transform: translateY(0); }
    to   { transform: translateY(-16px); }
}
.home-hero-badge {
    display: inline-flex; align-items: center; gap: 10px;
    border: 1px solid var(--ink);
    color: var(--ink);
    padding: 6px 18px;
    font-size: 12.5px; letter-spacing: 3px;
    margin-bottom: 36px;
}
.home-hero-badge i { font-size: 11px; color: var(--accent); }
/* 大标题：衬线 + 逐行遮罩入场 */
.home-hero h1 {
    font-family: var(--serif);
    font-size: clamp(40px, 6.4vw, 78px);
    font-weight: 900;
    line-height: 1.28;
    letter-spacing: 2px;
}
.home-hero h1 .line {
    display: block;
    overflow: hidden;
}
.home-hero h1 .line > span {
    display: inline-block;
    transform: translateY(110%);
    animation: lineUp 1s cubic-bezier(.22,1,.36,1) forwards;
}
.home-hero h1 .line:nth-child(2) > span { animation-delay: .12s; }
@keyframes lineUp {
    to { transform: translateY(0); }
}
.home-hero h1 .hl { color: var(--accent); }
/* 副标题：打字机容器（文本由 JS 注入，不做整段淡入避免冲突） */
.home-hero-sub {
    margin-top: 30px;
    max-width: 560px;
    color: var(--ink-soft);
    font-size: 17px;
    min-height: 2em;     /* 打字开始前预留高度，避免布局跳动 */
}
/* 关键词：横排细线分隔（非胶囊），延迟逐个入场 */
.home-hero-keywords {
    margin-top: 44px;
    display: flex; align-items: center; flex-wrap: wrap; gap: 0;
    opacity: 0;
    animation: fadeUp .9s ease .7s forwards;
}
.home-hero-keywords .kw {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 15px; color: var(--ink-soft);
    padding: 0 22px;
    letter-spacing: 1px;
}
.home-hero-keywords .kw:first-child { padding-left: 0; }
.home-hero-keywords .kw i { color: var(--accent); font-size: 12px; }
.home-hero-keywords .kw-sep {
    width: 1px; height: 16px; background: var(--line);
}
.home-hero-actions {
    margin-top: 56px;
    display: flex; gap: 18px; flex-wrap: wrap;
    opacity: 0;
    animation: fadeUp .9s ease .85s forwards;
}
/* 主按钮：实色墨块，hover 位移 + 投影展开 */
.home-btn-primary {
    background: var(--ink); color: var(--bg);
    text-decoration: none;
    padding: 16px 42px;
    font-size: 15px; letter-spacing: 2px;
    position: relative;
    transition: background .3s, transform .3s, box-shadow .3s;
}
.home-btn-primary:hover {
    background: var(--accent);
    transform: translateY(-2px);
    box-shadow: 0 18px 36px -14px rgba(14,116,144,0.45);
    color: var(--bg);
}
/* 次按钮：细线描边 */
.home-btn-ghost {
    border: 1px solid var(--ink);
    color: var(--ink); text-decoration: none;
    padding: 16px 42px;
    font-size: 15px; letter-spacing: 2px;
    transition: all .3s;
}
.home-btn-ghost:hover {
    background: var(--ink); color: var(--bg);
    transform: translateY(-2px);
}
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(26px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ============ 通用区块 ============ */
.home-section {
    max-width: 1240px; margin: 0 auto;
    padding: 100px 32px;
}
.home-section.tight { padding: 60px 32px; }
/* 区块标题行：编号 + 标题 + 右侧说明，编辑部式 */
.home-section-head {
    display: flex; align-items: baseline; gap: 26px;
    border-bottom: 1px solid var(--ink);
    padding-bottom: 22px;
    margin-bottom: 0;
}
.home-section-no {
    font-family: var(--serif);
    font-size: 15px; color: var(--accent);
    letter-spacing: 2px;
    white-space: nowrap;
}
.home-section-head h2 {
    font-family: var(--serif);
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 700; letter-spacing: 1px;
    white-space: nowrap;
}
.home-section-head .head-note {
    margin-left: auto;
    font-size: 13.5px; color: var(--muted);
    letter-spacing: 1px;
    white-space: nowrap;
}

/* ============ 产品线：编号大行（去卡片化） ============ */
/* 每个产品一行：巨大编号 + 标题 + 特性 + 箭头，悬浮整行位移 */
.home-product-row {
    display: grid;
    grid-template-columns: 120px 1fr auto;
    gap: 32px;
    align-items: center;
    padding: 46px 12px;
    border-bottom: 1px solid var(--line);
    text-decoration: none; color: var(--ink);
    position: relative;
    transition: background .35s, padding-left .35s cubic-bezier(.22,1,.36,1);
}
.home-product-row:hover {
    background: var(--bg-soft);
    padding-left: 32px; /* 悬浮整行右移，产生"拉开抽屉"感 */
    color: var(--ink);
}
/* 巨大编号：衬线淡色，hover 滑动切换（新版实现见文件末尾 .row-no 伪元素方案） */
.home-product-row .row-no {
    font-family: var(--serif);
    font-size: 58px; font-weight: 900;
    color: var(--line);
}
.home-product-row.primary .row-no { color: #C9C4B8; }
/* 行主体 */
.home-product-row .row-body h3 {
    font-family: var(--serif);
    font-size: 25px; font-weight: 700; letter-spacing: 1px;
    display: flex; align-items: center; gap: 14px;
}
.home-product-row .row-tagline {
    font-size: 13.5px; color: var(--accent);
    letter-spacing: 2px; margin-top: 6px;
}
.home-product-row .row-desc {
    margin-top: 12px;
    color: var(--ink-soft); font-size: 15px;
    max-width: 640px;
}
.home-product-row .row-features {
    margin-top: 14px;
    display: flex; flex-wrap: wrap; gap: 8px 0;
    list-style: none;
}
.home-product-row .row-features li {
    font-size: 13px; color: var(--muted);
    padding: 0 14px;
    border-left: 1px solid var(--line);
    letter-spacing: 0.5px;
}
.home-product-row .row-features li:first-child { padding-left: 0; border-left: none; }
/* 右侧箭头：悬浮时圆圈放大 + 箭头位移 */
.home-product-row .row-arrow {
    width: 58px; height: 58px;
    border: 1px solid var(--line);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 18px; color: var(--muted);
    transition: all .35s cubic-bezier(.22,1,.36,1);
    flex-shrink: 0;
}
.home-product-row:hover .row-arrow {
    background: var(--ink); border-color: var(--ink);
    color: var(--bg);
    transform: rotate(-45deg) scale(1.06); /* 箭头旋转指向上前 */
}

/* ============ 最新洞察：编辑部文章列表 ============ */
#insights { background: var(--bg-soft); } /* 换底色制造节奏 */
#insights .home-section { padding-left: 0; padding-right: 0; }
#insights .home-section-head,
#insights .home-article-row,
#insights .home-articles-more { margin-left: 32px; margin-right: 32px; }
.home-article-row {
    display: grid;
    grid-template-columns: 110px 1fr auto;
    gap: 30px;
    align-items: baseline;
    padding: 30px 12px;
    border-bottom: 1px solid var(--line);
    text-decoration: none; color: var(--ink);
    transition: background .3s, padding-left .3s cubic-bezier(.22,1,.36,1);
}
.home-article-row:hover {
    background: var(--bg);
    padding-left: 28px;
    color: var(--ink);
}
/* 文章日期：衬线竖排数字风 */
.home-article-row .ar-date {
    font-family: var(--serif);
    font-size: 14px; color: var(--muted);
    letter-spacing: 1px;
    line-height: 1.5;
}
.home-article-row .ar-date b {
    display: block;
    font-size: 26px; font-weight: 700; color: var(--ink);
}
.home-article-row .ar-body {
    display: flex; align-items: flex-start; gap: 14px;
}
.home-article-row .ar-cat {
    font-size: 11.5px; color: var(--accent);
    border: 1px solid currentColor;
    padding: 2px 10px; letter-spacing: 2px;
    white-space: nowrap;
    margin-top: 5px;
}
.home-article-row h3 {
    font-family: var(--serif);
    font-size: 19px; font-weight: 700; line-height: 1.55;
    transition: color .25s;
}
.home-article-row:hover h3 { color: var(--accent); }
.home-article-row .ar-summary {
    margin-top: 8px;
    font-size: 13.5px; color: var(--muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.home-article-row .ar-meta {
    font-size: 12.5px; color: var(--muted);
    white-space: nowrap; letter-spacing: 1px;
}
.home-article-row .ar-meta i { color: var(--accent); margin-right: 5px; }
.home-empty {
    margin: 40px 32px 0;
    text-align: center; padding: 60px 0;
    color: var(--muted);
    font-size: 14px; letter-spacing: 2px;
}
.home-empty i { display: block; font-size: 30px; margin-bottom: 16px; color: var(--line); }
.home-articles-more { padding-top: 36px; }
.home-articles-more a {
    color: var(--ink); text-decoration: none;
    font-size: 14px; letter-spacing: 2px;
    display: inline-flex; align-items: center; gap: 10px;
    border-bottom: 1px solid var(--ink);
    padding-bottom: 4px;
    transition: color .25s, border-color .25s;
}
.home-articles-more a:hover { color: var(--accent); border-color: var(--accent); }
.home-articles-more a i { transition: transform .3s; }
.home-articles-more a:hover i { transform: translateX(6px); }

/* ============ 信任数据：大数字行 + 滚动增长动画 ============ */
.home-trust {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}
.home-trust-item {
    text-align: left;
    padding: 34px 36px;
    border-left: 1px solid var(--line);
}
.home-trust-item:first-child { border-left: none; padding-left: 12px; }
.home-trust-item .num {
    font-family: var(--serif);
    font-size: 52px; font-weight: 900;
    color: var(--ink);
    line-height: 1.1;
    font-variant-numeric: tabular-nums; /* 等宽数字，滚动时不跳动 */
}
.home-trust-item .num .unit { font-size: 24px; color: var(--accent); }
.home-trust-item .label {
    margin-top: 8px;
    font-size: 13.5px; color: var(--muted);
    letter-spacing: 2px;
}

/* ============ 转化区：整块墨色（反差收尾，无渐变） ============ */
.home-cta {
    background: var(--ink);
    padding: 110px 32px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
/* 装饰：细线同心圆（纯描边，缓慢旋转） */
.home-cta::before {
    content: ''; position: absolute;
    top: 50%; left: 50%;
    width: 640px; height: 640px;
    transform: translate(-50%, -50%);
    border: 1px solid rgba(250,249,246,0.08);
    border-radius: 50%;
    animation: ringSpin 40s linear infinite;
}
.home-cta::after {
    content: ''; position: absolute;
    top: 50%; left: 50%;
    width: 460px; height: 460px;
    transform: translate(-50%, -50%);
    border: 1px dashed rgba(250,249,246,0.1);
    border-radius: 50%;
    animation: ringSpin 60s linear infinite reverse;
}
@keyframes ringSpin { to { transform: translate(-50%, -50%) rotate(360deg); } }
.home-cta > * { position: relative; z-index: 1; }
.home-cta h2 {
    font-family: var(--serif);
    font-size: clamp(28px, 3.6vw, 42px);
    font-weight: 700; color: var(--bg);
    letter-spacing: 2px;
}
.home-cta p {
    color: rgba(250,249,246,0.6);
    margin-top: 16px; font-size: 15px; letter-spacing: 1px;
}
.home-cta-contacts {
    margin-top: 40px;
    display: flex; justify-content: center; gap: 48px; flex-wrap: wrap;
}
.home-cta-contacts div {
    display: flex; align-items: center; gap: 12px;
    font-size: 15px; color: rgba(250,249,246,0.85);
    letter-spacing: 1px;
}
.home-cta-contacts i { color: var(--accent); filter: brightness(1.8); font-size: 18px; }
.home-cta .home-btn-primary { margin-top: 48px; display: inline-block; }
.home-cta .home-btn-primary:hover {
    background: var(--bg); color: var(--ink);
    box-shadow: 0 18px 36px -14px rgba(0,0,0,0.5);
}

/* ============ 滚动渐显 ============ */
.reveal {
    opacity: 0;
    transform: translateY(34px);
    transition: opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1);
}
.reveal.in { opacity: 1; transform: translateY(0); }
/* 行级元素错峰延迟 */
.reveal.d1 { transition-delay: .1s; }
.reveal.d2 { transition-delay: .2s; }
.reveal.d3 { transition-delay: .3s; }

/* ============ 响应式 ============ */
@media (max-width: 960px) {
    /* Hero 双栏在窄屏堆叠：左主张在上，最新发布在下 */
    .home-hero {
        grid-template-columns: 1fr;
        gap: 44px;
        padding: 70px 24px 70px;
    }
    .home-hero::before { display: none; }
    .home-section { padding: 70px 24px; }
    .home-product-row { grid-template-columns: 64px 1fr; }
    .home-product-row .row-no { font-size: 38px; }
    .home-product-row .row-arrow { display: none; }
    .home-trust { grid-template-columns: 1fr 1fr; }
    .home-trust-item:nth-child(3) { border-left: none; padding-left: 12px; }
    .home-trust-item { padding: 24px 20px; }
    .home-trust-item .num { font-size: 38px; }
    .home-article-row { grid-template-columns: 1fr; gap: 10px; }
    .home-article-row .ar-meta { margin-left: 0; }
    .home-section-head { flex-wrap: wrap; }
    .home-section-head .head-note { display: none; }
}
@media (max-width: 600px) {
    .home-hero-keywords .kw { padding: 0 12px; font-size: 13px; }
    .home-trust { grid-template-columns: 1fr 1fr; }
    .home-cta-contacts { gap: 24px; }
    /* ---- 手机端细化（<600px）---- */
    .home-hero { padding: 56px 18px 56px; gap: 36px; }
    .home-hero h1 { font-size: clamp(30px, 8.5vw, 38px); letter-spacing: 1px; }
    .home-hero-badge { font-size: 11px; letter-spacing: 2px; padding: 5px 14px; margin-bottom: 24px; }
    .home-hero-sub { font-size: 15px; margin-top: 20px; }
    /* 最新发布面板：字号收紧 */
    .hero-news-head .hn-label { font-size: 14px; }
    .hn-date b { font-size: 18px; }
    .hn-body h4 { font-size: 13.5px; }
    /* 信任数据数字缩小 */
    .home-trust-item .num { font-size: 30px; }
    .home-trust-item .num small { font-size: 14px; }
    /* 区块标题缩小 */
    .home-section-head h2 { font-size: 24px; }
    .home-section-head .head-note { display: none; }
    /* CTA 区 */
    .home-cta h2 { font-size: 24px; letter-spacing: 1px; }
}

/* 动效降级：用户偏好减少动画时关闭 */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; }
    .reveal { opacity: 1; transform: none; }
    .home-hero h1 .line > span { transform: none; }
    .home-hero-sub, .home-hero-keywords, .home-hero-actions, .hero-news { opacity: 1; }
    .cursor-ring, .hero-scroll-hint { display: none !important; }
}

/* ============================================================
   增强动效（第二版）：进度条 / 光标环 / 巨字视差 / 打字机 / 编号滑动
   ============================================================ */

/* ============ 顶部阅读进度细线：贴在最顶部，青色实色 ============ */
.scroll-progress {
    position: fixed; top: 0; left: 0; z-index: 200;
    width: 0; height: 2px;
    background: var(--accent);
    pointer-events: none;
}

/* ============ 鼠标跟随印章环：缓动拖尾 + 点击暗示 ============ */
.cursor-ring {
    position: fixed; top: 0; left: 0; z-index: 199;
    width: 34px; height: 34px;
    margin: -17px 0 0 -17px;           /* 中心对准鼠标 */
    border: 1.5px solid var(--accent);
    border-radius: 50%;
    pointer-events: none;
    transition: width .25s, height .25s, margin .25s, background-color .25s, border-color .25s;
    will-change: transform;
}
/* 悬浮可点击元素时：收缩变实心青块（印章按下感） */
.cursor-ring.on {
    width: 14px; height: 14px;
    margin: -7px 0 0 -7px;
    background: var(--accent);
}
/* 触屏设备隐藏 */
@media (pointer: coarse) { .cursor-ring { display: none; } }

/* ============ Hero 巨型轮廓背景字：印刷海报感 ============ */
.hero-ghost {
    position: absolute;
    top: 50%; right: -30px;
    transform: translateY(-50%);
    font-family: var(--serif);
    font-size: clamp(160px, 20vw, 300px);
    font-weight: 900;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1px rgba(22,24,29,0.06); /* 纯描边轮廓字 */
    letter-spacing: 16px;
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
    z-index: 0;
    will-change: transform; /* 由 JS 做滚动视差 */
}
.home-hero > *:not(.hero-ghost) { position: relative; z-index: 1; }

/* ============ Hero 右栏：最新发布文章面板（第一屏可见） ============ */
.hero-news {
    border-top: 2px solid var(--ink);
    background: rgba(250,249,246,0.85);
    padding: 4px 0 8px;
    opacity: 0;
    animation: fadeUp .9s ease .6s forwards;  /* 左栏打字机完成后淡入 */
}
.hero-news-head {
    display: flex; justify-content: space-between; align-items: center;
    padding: 16px 4px 14px;
    border-bottom: 1px solid var(--line);
}
.hero-news-head .hn-label {
    font-family: var(--serif);
    font-size: 16px; font-weight: 700;
    letter-spacing: 2px; color: var(--ink);
}
.hero-news-head .hn-label i {
    font-size: 12px; color: var(--accent); margin-right: 8px;
}
.hero-news-head .hn-more {
    font-size: 12px; color: var(--muted); text-decoration: none;
    letter-spacing: 1px;
    display: inline-flex; align-items: center; gap: 6px;
    transition: color .25s;
}
.hero-news-head .hn-more:hover { color: var(--accent); }
.hero-news-head .hn-more:hover i { font-size: 10px; transition: transform .3s; }
.hero-news-head .hn-more:hover i { transform: translateX(4px); }
/* 最新发布面板列表区：最多8条，超出部分面板内部滚动（固定第一屏高度不撑破Hero） */
.hero-news-scroll {
    max-height: 420px;          /* 约5条可见，其余滚动查看 */
    overflow-y: auto;
    overscroll-behavior: contain; /* 滚动到底不带动整页 */
    scrollbar-width: thin;        /* Firefox 细滚动条 */
    scrollbar-color: rgba(0,59,77,0.25) transparent;
}
/* WebKit 细滚动条美化 */
.hero-news-scroll::-webkit-scrollbar { width: 4px; }
.hero-news-scroll::-webkit-scrollbar-thumb { background: rgba(0,59,77,0.25); border-radius: 2px; }
.hero-news-scroll::-webkit-scrollbar-track { background: transparent; }
/* 文章条目：日期 + 标题，悬浮右移 */
.hero-news-item {
    display: flex; align-items: flex-start; gap: 16px;
    padding: 16px 4px;
    border-bottom: 1px solid var(--line);
    text-decoration: none; color: var(--ink);
    transition: background .25s, padding-left .25s cubic-bezier(.22,1,.36,1);
}
.hero-news-item:last-child { border-bottom: none; }
.hero-news-item:hover { background: var(--bg-soft); padding-left: 14px; }
.hn-date {
    font-family: var(--serif);
    font-size: 12px; color: var(--muted);
    letter-spacing: 1px; line-height: 1.4;
    white-space: nowrap; padding-top: 2px;
}
.hn-date b {
    display: block;
    font-size: 22px; font-weight: 700; color: var(--ink);
}
.hn-body h4 {
    font-size: 14.5px; font-weight: 600; line-height: 1.6;
    transition: color .25s;
    display: -webkit-box;
    -webkit-line-clamp: 2;   /* 标题最多 2 行 */
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.hero-news-item:hover h4 { color: var(--accent); }
.hn-meta {
    margin-top: 6px;
    display: inline-flex; align-items: center; gap: 10px;
    font-size: 11.5px; color: var(--muted);
}
.hn-meta i { color: var(--accent); font-size: 11px; }
.hn-cat {
    border: 1px solid var(--accent);
    color: var(--accent);
    padding: 1px 8px; letter-spacing: 1px;
    font-size: 10.5px;
}
/* 空态 */
.hero-news-empty {
    text-align: center; padding: 44px 10px 36px;
    color: var(--muted);
}
.hero-news-empty i { font-size: 26px; color: var(--line); display: block; margin-bottom: 12px; }
.hero-news-empty p { font-size: 13.5px; letter-spacing: 2px; }
.hero-news-empty .sub { font-size: 12px; margin-top: 4px; }

/* ============ 打字机光标：细竖线闪烁 ============ */
.tw-cursor {
    display: inline-block;
    width: 2px; height: 1.1em;
    background: var(--accent);
    margin-left: 3px;
    vertical-align: text-bottom;
    animation: twBlink .8s steps(1) infinite;
}
@keyframes twBlink { 50% { opacity: 0; } }

/* ============ Hero 滚动提示：SCROLL 竖排 + 呼吸细线 ============ */
.hero-scroll-hint {
    position: absolute;
    right: 32px; bottom: 40px;
    display: flex; flex-direction: column; align-items: center; gap: 10px;
    opacity: 0;
    animation: fadeUp .8s ease 1.6s forwards; /* 页面加载完成后淡入 */
}
.hero-scroll-hint span {
    font-size: 10px; letter-spacing: 4px;
    color: var(--muted);
    writing-mode: vertical-rl;   /* 竖排文字 */
}
.hero-scroll-hint i {
    display: block;
    width: 1px; height: 48px;
    background: var(--muted);
    animation: hintPulse 2s ease-in-out infinite;
}
/* 细线呼吸：上下伸缩循环 */
@keyframes hintPulse {
    0%, 100% { transform: scaleY(0.4); transform-origin: top; opacity: .4; }
    50%      { transform: scaleY(1);   transform-origin: top; opacity: 1; }
}
@media (max-width: 960px) { .hero-scroll-hint { display: none; } }

/* ============ 产品行编号：hover 时巨字编号上下滑动切换 ============ */
.home-product-row .row-no {
    position: relative;
    overflow: hidden;
    height: 62px;          /* 固定高度做遮罩 */
}
.home-product-row .row-no::before,
.home-product-row .row-no::after {
    display: block;
    line-height: 62px;
    transition: transform .45s cubic-bezier(.22,1,.36,1);
}
/* 伪元素渲染编号文本（data 属性注入） */
.home-product-row .row-no::before { content: attr(data-no); }
.home-product-row .row-no::after  { content: attr(data-no); }
/* 默认显示 before，hover 时两行一起上移，露出 after（青色） */
.home-product-row .row-no::after {
    position: absolute; top: 100%; left: 0;
    color: var(--accent);
}
.home-product-row:hover .row-no::before,
.home-product-row:hover .row-no::after {
    transform: translateY(-100%);
}

/* 页脚（完整备案信息版）样式已抽取至 site-common.css（全站公共） */
