/* ==========================================================================
   云飞工贸 YUNFEI — 全站样式表
   由 5 个页面内联样式合并去重而来（原先每个子页面各复制一份 78KB）
   ========================================================================== */

/* --- 1. 核心：全站通用 + 首页 --------------------------------------------- */

  :root{
    /* ===== BLUE & WHITE PALETTE ===== */
    --bg: #F2F5FA;             /* main background — cool off-white */
    --bg-deep: #E4EBF5;        /* secondary surface */
    --paper: #FFFFFF;          /* pure white */
    --ink: #0A1730;            /* deepest navy — text & dark surfaces */
    --ink-soft: #1B3360;       /* softer navy */
    --ink-mute: #5E708C;       /* muted blue-gray */
    --line: #0A1730;
    --line-soft: rgba(10,23,48,0.10);
    --line-blueprint: rgba(20,82,204,0.18);
    --accent: #1452CC;         /* sapphire — primary brand blue */
    --accent-deep: #0D3B99;    /* depth accent */
    --accent-light: #4179DD;   /* lighter blue */
    --copper: #B17A3A;         /* rare warm accent (only used as stamp ink) */
    /* 字体栈：Web 字体在前，系统中文字体在后。
       即使 assets/fonts/ 为空或网络受限，中文显示依然完好。
       详见 README.md「字体」一节。 */
    --serif-en: 'Cormorant Garamond', 'Times New Roman', Georgia, serif;
    --serif-cn: 'Noto Serif SC', 'Source Han Serif SC', 'Songti SC', 'STSong',
                'SimSun', 'Noto Serif CJK SC', serif;
    --sans-cn: 'Noto Sans SC', 'PingFang SC', 'HarmonyOS Sans SC', 'Hiragino Sans GB',
               'Microsoft YaHei', 'Noto Sans CJK SC', -apple-system, sans-serif;
    --mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:var(--sans-cn);
    font-weight:300;
    line-height:1.6;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  ::selection{background:var(--accent);color:var(--paper);}

  /* Subtle grain — keeps editorial paper feel */
  body::before{
    content:'';
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:1000;
    opacity:0.03;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    mix-blend-mode:multiply;
  }

  /* Faint blueprint grid overlay on body — extremely subtle */
  body::after{
    content:'';
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:0;
    background-image:
      linear-gradient(to right, var(--line-blueprint) 1px, transparent 1px),
      linear-gradient(to bottom, var(--line-blueprint) 1px, transparent 1px);
    background-size:80px 80px;
    opacity:0.25;
    mask-image:radial-gradient(ellipse at center, black 0%, transparent 80%);
  }

  /* ========== NAVIGATION ========== */
  nav{
    position:fixed;
    top:0;left:0;right:0;
    z-index:100;
    padding:24px 48px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    transition:all .4s ease;
    backdrop-filter:blur(0);
  }
  nav.scrolled{
    padding:16px 48px;
    background:rgba(242,245,250,0.88);
    backdrop-filter:blur(20px);
    border-bottom:1px solid var(--line-soft);
  }
  .logo{
    display:flex;
    align-items:baseline;
    gap:12px;
    font-family:var(--serif-en);
    font-size:24px;
    font-weight:500;
    letter-spacing:0.02em;
    color:var(--ink);
    text-decoration:none;
  }
  .logo-mark{
    height:34px;
    padding:0 10px;
    border:1.5px solid var(--ink);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-family:var(--serif-cn);
    font-size:15px;
    font-weight:600;
    letter-spacing:0.05em;
    transform:translateY(4px);
    transition:all .3s;
    background:var(--paper);
  }
  .logo:hover .logo-mark{background:var(--ink);color:var(--paper);}
  .logo-cn{font-family:var(--serif-cn);font-size:14px;color:var(--ink-mute);letter-spacing:0.3em;font-weight:400;}

  .nav-links{
    display:flex;
    gap:36px;
    list-style:none;
    align-items:center;
  }
  .nav-links a{
    color:var(--ink);
    text-decoration:none;
    font-size:13px;
    letter-spacing:0.08em;
    position:relative;
    padding:6px 0;
    font-weight:400;
  }
  .nav-links a::after{
    content:'';
    position:absolute;
    bottom:0;left:0;
    width:0;height:1px;
    background:var(--accent);
    transition:width .35s ease;
  }
  .nav-links a:hover::after{width:100%;}
  .nav-cta{
    background:var(--ink);
    color:var(--paper) !important;
    padding:10px 22px !important;
    border-radius:0;
    font-size:12px !important;
    letter-spacing:0.15em !important;
    transition:background .3s;
  }
  .nav-cta::after{display:none;}
  .nav-cta:hover{background:var(--accent);}

  /* ========== HERO ========== */
  .hero{
    min-height:100vh;
    position:relative;
    padding:150px 48px 70px;
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    gap:64px;
    align-items:center;
    z-index:1;
  }
  /* 右侧大幅实拍影像卡 */
  .hero-visual{
    position:relative;
    align-self:stretch;
    margin-top:96px;
    margin-bottom:8px;
    min-height:460px;
    border:1px solid var(--line-soft);
    overflow:hidden;
    background:var(--ink);
    opacity:0;
    animation:fadeUp 1.2s .5s forwards;
  }
  .hero-slides{
    position:absolute;
    inset:0;
  }
  .hero-slide{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    filter:saturate(.6) brightness(.82) contrast(1.05);
    opacity:0;
    transform:scale(1.0);
    transition:opacity 1.4s ease-in-out;
    z-index:0;
  }
  .hero-slide.active{
    opacity:1;
    z-index:1;
    animation:heroKenBurns 7s ease-out forwards;
  }
  @keyframes heroKenBurns{
    from{transform:scale(1.0);}
    to{transform:scale(1.08);}
  }
  /* 轮播指示圆点 */
  .hero-dots{
    position:absolute;
    top:28px;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    gap:8px;
    z-index:4;
  }
  .hero-dot{
    width:24px;
    height:3px;
    background:rgba(255,255,255,.35);
    cursor:pointer;
    transition:background .4s;
  }
  .hero-dot.active{
    background:var(--accent-light);
  }
  .hero-visual::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(150deg, rgba(20,82,204,.22) 0%, rgba(10,23,48,.55) 100%);
  }
  .hero-visual-corners span{
    position:absolute;
    width:20px;height:20px;
    border:1px solid var(--accent-light);
    z-index:3;
  }
  .hero-visual-corners span:nth-child(1){top:14px;left:14px;border-right:0;border-bottom:0;}
  .hero-visual-corners span:nth-child(2){top:14px;right:14px;border-left:0;border-bottom:0;}
  .hero-visual-corners span:nth-child(3){bottom:14px;left:14px;border-right:0;border-top:0;}
  .hero-visual-corners span:nth-child(4){bottom:14px;right:14px;border-left:0;border-top:0;}
  .hero-visual-top{
    position:absolute;
    top:28px;left:28px;right:28px;
    z-index:3;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:.18em;
    color:rgba(255,255,255,.72);
    text-transform:uppercase;
  }
  .hero-visual-top .tag{
    background:var(--accent);
    color:#fff;
    padding:5px 11px;
    letter-spacing:.16em;
  }
  .hero-visual-cap{
    position:absolute;
    left:28px;right:28px;bottom:28px;
    z-index:3;
    color:#fff;
  }
  .hero-visual-cap .big{
    font-family:var(--serif-cn);
    font-weight:500;
    font-size:26px;
    line-height:1.4;
    margin-bottom:14px;
  }
  .hero-visual-cap .big em{font-style:normal;color:var(--accent-light);}
  .hero-visual-cap .row{
    display:flex;
    gap:28px;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.22);
  }
  .hero-visual-cap .row .n{
    font-family:var(--serif-en);
    font-size:30px;
    font-weight:500;
    line-height:1;
  }
  .hero-visual-cap .row .l{
    font-family:var(--mono);
    font-size:9.5px;
    letter-spacing:.14em;
    color:rgba(255,255,255,.62);
    margin-top:6px;
    text-transform:uppercase;
  }
  .hero-visual-scan{
    position:absolute;
    left:0;right:0;
    height:1px;
    background:linear-gradient(90deg, transparent, var(--accent-light), transparent);
    z-index:3;
    opacity:.6;
    animation:heroScan 5s ease-in-out infinite;
  }
  @keyframes heroScan{
    0%,100%{top:8%;opacity:0;}
    10%{opacity:.7;}
    50%{top:92%;opacity:.7;}
    60%{opacity:0;}
  }
  .hero-meta{
    position:absolute;
    top:120px;
    left:48px;
    display:flex;
    flex-direction:column;
    gap:10px;
    font-family:var(--mono);
    font-size:11px;
    color:var(--ink-mute);
    letter-spacing:0.15em;
  }
  .hero-meta span:first-child{color:var(--accent);}
  
  .hero-left{
    grid-column:1;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .hero-visual{
    grid-column:2;
  }
  .hero-title{
    margin-top:0;
  }
  .hero-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:14px;
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.3em;
    color:var(--ink-mute);
    text-transform:uppercase;
    margin-bottom:32px;
    opacity:0;
    animation:fadeUp 1s .2s forwards;
  }
  .hero-eyebrow::before{
    content:'';width:40px;height:1px;background:var(--accent);
  }
  .hero-headline{
    font-family:var(--serif-cn);
    font-weight:300;
    font-size:clamp(48px, 6.5vw, 104px);
    line-height:0.98;
    letter-spacing:-0.02em;
    color:var(--ink);
    margin-bottom:8px;
  }
  .hero-headline .line{
    display:block;
    overflow:hidden;
  }
  .hero-headline .line span{
    display:inline-block;
    transform:translateY(110%);
    animation:rise 1.2s cubic-bezier(.2,.8,.2,1) forwards;
  }
  .hero-headline .line:nth-child(2) span{animation-delay:.15s;}
  .hero-headline .line:nth-child(3) span{animation-delay:.3s;}
  .hero-headline em{
    font-family:var(--serif-en);
    font-style:italic;
    font-weight:400;
    color:var(--accent);
  }
  @keyframes rise{to{transform:translateY(0);}}
  @keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}

  .hero-bottom{
    display:flex;
    align-items:center;
    gap:36px;
    margin-top:44px;
    padding-top:36px;
    border-top:1px solid var(--line-soft);
  }
  .hero-desc{
    font-size:15px;
    line-height:1.8;
    color:var(--ink-soft);
    max-width:440px;
    font-weight:300;
    opacity:0;
    animation:fadeUp 1s .8s forwards;
  }
  .hero-desc strong{
    color:var(--ink);
    font-weight:500;
    border-bottom:1px solid var(--accent);
  }
  
  .hero-stamp{
    text-align:left;
    flex-shrink:0;
    padding-left:36px;
    border-left:1px solid var(--line-soft);
    opacity:0;
    animation:fadeUp 1s 1s forwards;
  }
  .hero-stamp .year{
    font-family:var(--serif-en);
    font-size:52px;
    font-weight:300;
    font-style:italic;
    line-height:1;
    color:var(--ink);
    letter-spacing:-0.02em;
  }
  .hero-stamp .year em{color:var(--accent);font-style:italic;}
  .hero-stamp .label{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.25em;
    color:var(--ink-mute);
    margin-top:8px;
    text-transform:uppercase;
  }

  /* Decorative side text */
  .hero-side{
    position:absolute;
    right:24px;
    top:50%;
    transform:translateY(-50%) rotate(90deg);
    transform-origin:right center;
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:0.4em;
    color:var(--ink-mute);
    white-space:nowrap;
  }

  /* Decorative blueprint coordinates overlay in hero */
  .hero-coords{
    position:absolute;
    bottom:60px;
    left:48px;
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:0.2em;
    color:var(--ink-mute);
    display:flex;
    gap:32px;
    opacity:0.7;
  }
  .hero-coords span::before{
    content:'';
    display:inline-block;
    width:6px;height:6px;
    background:var(--accent);
    margin-right:8px;
    transform:translateY(-1px);
  }

  /* ========== STATS ========== */
  .stats{
    background:var(--ink);
    color:var(--paper);
    padding:120px 48px;
    position:relative;
    overflow:hidden;
    z-index:1;
  }
  /* Blueprint grid pattern in dark sections */
  .stats::before{
    content:'';
    position:absolute;
    inset:0;
    background:
      linear-gradient(to right, rgba(65,121,221,0.07) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(65,121,221,0.07) 1px, transparent 1px);
    background-size:60px 60px;
    pointer-events:none;
  }
  .stats::after{
    content:'';
    position:absolute;
    top:0;right:0;
    width:280px;height:280px;
    background:radial-gradient(circle, rgba(20,82,204,0.25) 0%, transparent 70%);
    pointer-events:none;
  }
  .stats-header{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    margin-bottom:80px;
    border-bottom:1px solid rgba(255,255,255,0.15);
    padding-bottom:30px;
    position:relative;
    z-index:1;
  }
  .stats-label{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.3em;
    color:rgba(255,255,255,0.5);
    text-transform:uppercase;
  }
  .stats-title{
    font-family:var(--serif-cn);
    font-size:42px;
    font-weight:300;
    letter-spacing:0.05em;
  }
  .stats-title em{
    font-family:var(--serif-en);
    font-style:italic;
    color:var(--accent-light);
    font-weight:400;
  }
  .stats-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:48px;
    position:relative;
    z-index:1;
  }
  .stat{
    position:relative;
    padding-top:24px;
  }
  .stat::before{
    content:attr(data-num);
    position:absolute;
    top:-8px;
    right:0;
    font-family:var(--mono);
    font-size:10px;
    color:rgba(255,255,255,0.3);
    letter-spacing:0.2em;
  }
  .stat-value{
    font-family:var(--serif-en);
    font-size:80px;
    font-weight:300;
    line-height:1;
    margin-bottom:8px;
    display:flex;
    align-items:baseline;
    gap:6px;
  }
  .stat-value .num{
    transition:all .6s;
  }
  .stat-value .suffix{
    font-size:22px;
    color:var(--accent-light);
    font-style:italic;
  }
  .stat-label{
    font-family:var(--sans-cn);
    font-size:13px;
    color:rgba(255,255,255,0.7);
    letter-spacing:0.05em;
  }
  .stat-divider{
    width:30px;
    height:1px;
    background:var(--accent-light);
    margin:16px 0;
  }

  /* ========== ABOUT ========== */
  .about{
    padding:160px 48px;
    display:grid;
    grid-template-columns:1fr 1.15fr;
    gap:100px;
    align-items:start;
    position:relative;
    z-index:1;
  }
  .section-eyebrow{
    display:flex;
    align-items:center;
    gap:14px;
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.3em;
    color:var(--ink-mute);
    text-transform:uppercase;
    margin-bottom:32px;
  }
  .section-eyebrow::before{
    content:'';
    width:40px;height:1px;
    background:var(--accent);
  }
  .section-eyebrow .num{
    color:var(--accent);
    font-weight:500;
  }
  .about-title{
    font-family:var(--serif-cn);
    font-size:60px;
    font-weight:300;
    line-height:1.1;
    letter-spacing:-0.01em;
    margin-bottom:40px;
  }
  .about-title em{
    font-family:var(--serif-en);
    font-style:italic;
    color:var(--accent);
    display:block;
    font-size:44px;
    margin-top:8px;
  }
  .about-text{
    font-size:16px;
    line-height:1.85;
    color:var(--ink-soft);
    margin-bottom:24px;
    font-weight:300;
  }
  .about-text:first-of-type::first-letter{
    font-family:var(--serif-cn);
    font-size:52px;
    font-weight:500;
    float:left;
    line-height:0.85;
    margin:8px 14px 0 0;
    color:var(--accent);
  }

  /* Mini milestone strip inside about */
  .about-milestones{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    margin-top:48px;
    border-top:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);
  }
  .milestone{
    padding:24px 16px 24px 0;
    border-right:1px solid var(--line-soft);
    position:relative;
  }
  .milestone:last-child{border-right:none;padding-right:0;padding-left:16px;}
  .milestone:not(:first-child){padding-left:24px;}
  .milestone-year{
    font-family:var(--serif-en);
    font-size:32px;
    font-style:italic;
    color:var(--accent);
    line-height:1;
    margin-bottom:8px;
  }
  .milestone-label{
    font-size:13px;
    color:var(--ink-soft);
    font-weight:400;
  }
  .milestone-meta{
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:0.2em;
    color:var(--ink-mute);
    margin-top:6px;
    text-transform:uppercase;
  }

  .about-visual{
    position:relative;
    aspect-ratio:4/5;
    background:var(--paper);
    overflow:hidden;
    border:1px solid var(--line-soft);
  }
  .about-visual::before{
    content:'';
    position:absolute;
    inset:0;
    background:
      linear-gradient(135deg, rgba(20,82,204,0.06) 0%, transparent 50%),
      repeating-linear-gradient(45deg, transparent 0, transparent 20px, rgba(10,23,48,0.025) 20px, rgba(10,23,48,0.025) 21px);
  }
  /* Corner marks on visual — technical drawing detail */
  .about-visual::after{
    content:'';
    position:absolute;
    top:16px;left:16px;right:16px;bottom:16px;
    border:1px dashed var(--line-blueprint);
    pointer-events:none;
  }
  .visual-corners{
    position:absolute;inset:8px;pointer-events:none;
  }
  .visual-corners span{
    position:absolute;
    width:18px;height:18px;
    border-color:var(--accent);
    border-style:solid;
    border-width:0;
  }
  .visual-corners span:nth-child(1){top:0;left:0;border-top-width:1px;border-left-width:1px;}
  .visual-corners span:nth-child(2){top:0;right:0;border-top-width:1px;border-right-width:1px;}
  .visual-corners span:nth-child(3){bottom:0;left:0;border-bottom-width:1px;border-left-width:1px;}
  .visual-corners span:nth-child(4){bottom:0;right:0;border-bottom-width:1px;border-right-width:1px;}

  .visual-tag{
    position:absolute;
    bottom:32px;
    left:32px;
    right:32px;
    display:flex;
    justify-content:space-between;
    align-items:end;
    color:var(--ink);
    z-index:2;
  }
  .visual-tag .big{
    font-family:var(--serif-en);
    font-size:52px;
    line-height:0.9;
    font-style:italic;
    font-weight:400;
  }
  .visual-tag .big strong{font-weight:500;color:var(--accent);font-style:normal;font-family:var(--serif-cn);font-size:36px;display:block;}
  .visual-tag .small{
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:0.2em;
    text-align:right;
    color:var(--ink-mute);
    line-height:1.8;
  }
  /* Industrial line drawing inside visual */
  .blueprint{
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
    width:68%;
    opacity:0.55;
  }
  /* Title-block label inside visual */
  .visual-titleblock{
    position:absolute;
    top:32px;
    left:32px;
    right:32px;
    display:flex;
    justify-content:space-between;
    font-family:var(--mono);
    font-size:9px;
    letter-spacing:0.2em;
    color:var(--ink-mute);
    z-index:2;
  }
  .visual-titleblock .lbl{color:var(--accent);}

  /* ========== CAPABILITIES ========== */
  .capabilities{
    background:var(--bg-deep);
    padding:140px 48px;
    border-top:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);
    position:relative;
    z-index:1;
  }
  .cap-header{
    display:flex;
    justify-content:space-between;
    align-items:end;
    margin-bottom:80px;
  }
  .cap-title{
    font-family:var(--serif-cn);
    font-size:56px;
    font-weight:300;
    line-height:1;
    max-width:620px;
  }
  .cap-title em{
    font-family:var(--serif-en);
    font-style:italic;
    color:var(--accent);
  }
  .cap-subtitle{
    font-size:14px;
    color:var(--ink-mute);
    max-width:320px;
    text-align:right;
    line-height:1.7;
  }
  .cap-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:0;
    border-top:1px solid var(--line);
  }
  .cap-card{
    padding:48px 28px;
    border-right:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);
    position:relative;
    transition:all .5s cubic-bezier(.2,.8,.2,1);
    cursor:pointer;
    overflow:hidden;
    background:var(--paper);
  }
  .cap-card:last-child{border-right:none;}
  .cap-card::before{
    content:'';
    position:absolute;
    inset:0;
    background:var(--ink);
    transform:translateY(100%);
    transition:transform .5s cubic-bezier(.2,.8,.2,1);
    z-index:0;
  }
  .cap-card > *{position:relative;z-index:1;transition:color .4s;}
  .cap-card:hover::before{transform:translateY(0);}
  .cap-card:hover *{color:var(--paper);}
  .cap-card:hover .cap-num{color:var(--accent-light) !important;}
  .cap-num{
    font-family:var(--mono);
    font-size:11px;
    color:var(--accent);
    letter-spacing:0.2em;
    margin-bottom:32px;
  }
  .cap-icon{
    width:44px;
    height:44px;
    margin-bottom:32px;
    stroke:var(--ink);
    stroke-width:1;
    fill:none;
    transition:stroke .4s;
  }
  .cap-card:hover .cap-icon{stroke:var(--paper);}
  .cap-card-title{
    font-family:var(--serif-cn);
    font-size:22px;
    font-weight:500;
    margin-bottom:16px;
    line-height:1.3;
  }
  .cap-card-desc{
    font-size:12.5px;
    line-height:1.75;
    color:var(--ink-mute);
    font-weight:300;
  }

  /* ========== CERTIFICATIONS TIMELINE — NEW ========== */
  .certifications{
    background:var(--paper);
    padding:160px 48px 140px;
    position:relative;
    overflow:hidden;
    z-index:1;
  }
  .certifications::before{
    content:'CERTIFIED';
    position:absolute;
    top:60px;
    right:-30px;
    font-family:var(--serif-en);
    font-size:220px;
    font-weight:300;
    font-style:italic;
    letter-spacing:-0.02em;
    color:rgba(20,82,204,0.04);
    white-space:nowrap;
    pointer-events:none;
    line-height:1;
  }
  .cert-header{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    margin-bottom:100px;
    align-items:end;
    position:relative;
    z-index:1;
  }
  .cert-title{
    font-family:var(--serif-cn);
    font-size:72px;
    font-weight:300;
    line-height:1;
    letter-spacing:-0.01em;
  }
  .cert-title em{
    font-family:var(--serif-en);
    font-style:italic;
    color:var(--accent);
    font-weight:400;
  }
  .cert-intro{
    font-size:15px;
    color:var(--ink-mute);
    line-height:1.8;
    max-width:440px;
  }
  .cert-intro strong{
    color:var(--ink);
    font-weight:500;
  }
  
  .cert-timeline{
    position:relative;
    padding:0 0 0 0;
  }
  .cert-line{
    position:absolute;
    top:42px;
    left:5%;
    right:5%;
    height:1px;
    background:linear-gradient(to right,transparent 0%, var(--line) 8%, var(--line) 92%, transparent 100%);
  }
  .cert-line::before, .cert-line::after{
    content:'';
    position:absolute;
    top:-3px;
    width:7px;height:7px;
    border-radius:50%;
    background:var(--accent);
  }
  .cert-line::before{left:0;}
  .cert-line::after{right:0;}

  .cert-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:0;
    position:relative;
  }
  .cert-item{
    text-align:center;
    padding:0 16px;
    position:relative;
  }
  .cert-node{
    width:84px;height:84px;
    border:1px solid var(--line);
    border-radius:50%;
    margin:0 auto 28px;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    background:var(--paper);
    transition:all .5s cubic-bezier(.2,.8,.2,1);
    cursor:default;
  }
  .cert-node::before{
    content:'';
    position:absolute;
    inset:-8px;
    border:1px dashed var(--line-blueprint);
    border-radius:50%;
    opacity:0;
    transition:opacity .4s;
  }
  .cert-item:hover .cert-node{
    background:var(--accent);
    border-color:var(--accent);
    transform:translateY(-4px);
  }
  .cert-item:hover .cert-node::before{opacity:1;}
  .cert-item:hover .cert-node svg{stroke:var(--paper);}
  .cert-node svg{
    width:36px;height:36px;
    stroke:var(--ink);
    stroke-width:1.2;
    fill:none;
    transition:stroke .4s;
  }
  .cert-year{
    font-family:var(--serif-en);
    font-size:36px;
    font-style:italic;
    color:var(--accent);
    font-weight:400;
    line-height:1;
    margin-bottom:14px;
  }
  .cert-name{
    font-family:var(--serif-cn);
    font-size:16px;
    font-weight:500;
    margin-bottom:6px;
    color:var(--ink);
  }
  .cert-code{
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:0.2em;
    color:var(--ink-mute);
    text-transform:uppercase;
    margin-bottom:14px;
  }
  .cert-desc{
    font-size:11.5px;
    line-height:1.7;
    color:var(--ink-mute);
    font-weight:300;
    max-width:170px;
    margin:0 auto;
  }

  /* ========== PRODUCTS ========== */
  .products{
    padding:160px 48px;
    position:relative;
    z-index:1;
  }
  .prod-header{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    margin-bottom:80px;
    align-items:end;
  }
  .prod-title{
    font-family:var(--serif-cn);
    font-size:88px;
    font-weight:300;
    line-height:0.95;
    letter-spacing:-0.02em;
  }
  .prod-title em{
    font-family:var(--serif-en);
    font-style:italic;
    color:var(--accent);
    font-weight:400;
  }
  .prod-meta{
    font-size:15px;
    color:var(--ink-mute);
    line-height:1.7;
    max-width:440px;
  }
  .prod-grid{
    display:grid;
    grid-template-columns:repeat(12,1fr);
    gap:24px;
  }
  .prod-card{
    position:relative;
    overflow:hidden;
    aspect-ratio:4/5;
    background:var(--bg-deep);
    cursor:pointer;
    transition:transform .6s cubic-bezier(.2,.8,.2,1);
    display:block;
    text-decoration:none;
    color:inherit;
  }
  .prod-card.large{grid-column:span 7;aspect-ratio:auto;min-height:600px;}
  .prod-card.small{grid-column:span 5;}
  .prod-card.wide{grid-column:span 6;aspect-ratio:1;}
  
  .prod-card::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(to top, rgba(10,23,48,0.92) 0%, rgba(10,23,48,0.4) 45%, transparent 70%);
    z-index:1;
  }
  
  .prod-bg{
    position:absolute;
    inset:0;
    z-index:0;
    background-size:cover;
    background-position:center;
    transition:transform 1s cubic-bezier(.2,.8,.2,1);
  }
  .prod-card:hover .prod-bg{transform:scale(1.05);}

  /* Blueprint-themed backgrounds for products */
  .bg-air{
    background:
      radial-gradient(circle at 30% 40%, rgba(65,121,221,0.35) 0%, transparent 55%),
      linear-gradient(135deg, #1B3360 0%, #0A1730 100%);
  }
  .bg-auto{
    background:
      radial-gradient(circle at 70% 60%, rgba(20,82,204,0.30) 0%, transparent 55%),
      linear-gradient(135deg, #163055 0%, #08152E 100%);
  }
  .bg-stamp{
    background:
      radial-gradient(circle at 20% 80%, rgba(65,121,221,0.20) 0%, transparent 50%),
      linear-gradient(135deg, #1F3A6B 0%, #0B1B3A 100%);
  }
  .bg-mold{
    background:
      radial-gradient(circle at 50% 50%, rgba(20,82,204,0.18) 0%, transparent 60%),
      linear-gradient(135deg, #142848 0%, #060F22 100%);
  }
  
  .prod-content{
    position:absolute;
    bottom:0;left:0;right:0;
    padding:40px;
    z-index:2;
    color:var(--paper);
  }
  .prod-num{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.25em;
    color:var(--accent-light);
    margin-bottom:12px;
    display:flex;
    align-items:center;
    gap:10px;
  }
  .prod-num::before{
    content:'';width:24px;height:1px;background:var(--accent-light);
  }
  .prod-name{
    font-family:var(--serif-cn);
    font-size:32px;
    font-weight:400;
    margin-bottom:8px;
    line-height:1.2;
  }
  .prod-card.large .prod-name{font-size:52px;}
  .prod-en{
    font-family:var(--serif-en);
    font-style:italic;
    font-size:18px;
    color:rgba(255,255,255,0.6);
    margin-bottom:20px;
  }
  .prod-tag{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    letter-spacing:0.05em;
    border-top:1px solid rgba(255,255,255,0.2);
    padding-top:16px;
    color:rgba(255,255,255,0.8);
    width:100%;
  }
  .prod-tag::after{
    content:'→';
    margin-left:auto;
    transition:transform .4s;
    color:var(--accent-light);
  }
  .prod-card:hover .prod-tag::after{transform:translateX(8px);}

  /* Decorative SVG inside products */
  .prod-deco{
    position:absolute;
    top:24px;
    right:24px;
    width:120px;
    height:120px;
    opacity:0.28;
    z-index:1;
  }
  .prod-card.large .prod-deco{width:300px;height:300px;opacity:0.2;top:48px;right:48px;}

  /* Product card spec corner — adds technical feel */
  .prod-spec{
    position:absolute;
    top:24px;
    left:24px;
    z-index:2;
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:0.2em;
    color:rgba(255,255,255,0.5);
  }
  .prod-card.large .prod-spec{top:48px;left:48px;}

  /* ========== INDUSTRIES — NEW ========== */
  .industries{
    background:var(--bg-deep);
    padding:140px 48px;
    border-top:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);
    position:relative;
    z-index:1;
  }
  .ind-header{
    text-align:center;
    margin-bottom:80px;
  }
  .ind-eyebrow{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.3em;
    color:var(--ink-mute);
    text-transform:uppercase;
    margin-bottom:24px;
    display:inline-flex;
    align-items:center;
    gap:14px;
  }
  .ind-eyebrow::before, .ind-eyebrow::after{
    content:'';
    width:40px;height:1px;
    background:var(--accent);
  }
  .ind-title{
    font-family:var(--serif-cn);
    font-size:52px;
    font-weight:300;
    line-height:1.2;
    margin-bottom:24px;
    letter-spacing:-0.01em;
  }
  .ind-title em{
    font-family:var(--serif-en);
    font-style:italic;
    color:var(--accent);
  }
  .ind-subtitle{
    font-size:15px;
    color:var(--ink-mute);
    max-width:580px;
    margin:0 auto;
    line-height:1.8;
  }
  .ind-grid{
    display:grid;
    grid-template-columns:repeat(8,1fr);
    gap:0;
    border-top:1px solid var(--line-soft);
    border-left:1px solid var(--line-soft);
    background:var(--paper);
  }
  .ind-cell{
    padding:40px 16px;
    border-right:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);
    text-align:center;
    transition:all .4s;
    cursor:default;
    position:relative;
  }
  .ind-cell::before{
    content:'';
    position:absolute;
    top:0;left:0;right:0;
    height:2px;
    background:var(--accent);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .4s;
  }
  .ind-cell:hover::before{transform:scaleX(1);}
  .ind-cell:hover{
    background:var(--bg);
  }
  .ind-icon{
    width:42px;height:42px;
    stroke:var(--ink);
    stroke-width:1.1;
    fill:none;
    margin:0 auto 20px;
    transition:all .4s;
  }
  .ind-cell:hover .ind-icon{stroke:var(--accent);transform:translateY(-2px);}
  .ind-name{
    font-family:var(--serif-cn);
    font-size:15px;
    font-weight:500;
    color:var(--ink);
    margin-bottom:6px;
  }
  .ind-en{
    font-family:var(--mono);
    font-size:9.5px;
    letter-spacing:0.18em;
    color:var(--ink-mute);
    text-transform:uppercase;
  }

  /* ========== CLIENTS ========== */
  .clients{
    padding:120px 48px;
    background:var(--paper);
    border-top:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);
    text-align:center;
    position:relative;
    z-index:1;
  }
  .clients-eyebrow{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.3em;
    color:var(--ink-mute);
    text-transform:uppercase;
    margin-bottom:24px;
  }
  .clients-title{
    font-family:var(--serif-cn);
    font-size:48px;
    font-weight:300;
    margin-bottom:80px;
    line-height:1.2;
  }
  .clients-title em{
    font-family:var(--serif-en);
    font-style:italic;
    color:var(--accent);
  }
  .clients-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:0;
    border-top:1px solid var(--line-soft);
    border-left:1px solid var(--line-soft);
  }
  .client{
    padding:48px 24px;
    border-right:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:var(--serif-en);
    font-size:24px;
    font-weight:400;
    color:var(--ink-soft);
    letter-spacing:0.05em;
    transition:all .4s;
    cursor:default;
    min-height:120px;
  }
  .client:hover{
    background:var(--ink);
    color:var(--paper);
  }
  .client .cn{
    font-family:var(--serif-cn);
    font-size:18px;
    margin-right:8px;
  }

  /* ========== NEWS ========== */
  .news{
    padding:160px 48px;
    position:relative;
    z-index:1;
  }
  .news-header{
    display:flex;
    justify-content:space-between;
    align-items:end;
    margin-bottom:64px;
    padding-bottom:32px;
    border-bottom:1px solid var(--line);
  }
  .news-title{
    font-family:var(--serif-cn);
    font-size:72px;
    font-weight:300;
    line-height:1;
  }
  .news-title em{
    font-family:var(--serif-en);
    font-style:italic;
    color:var(--accent);
  }
  .news-view-all{
    font-family:var(--mono);
    font-size:12px;
    letter-spacing:0.2em;
    color:var(--ink);
    text-decoration:none;
    border-bottom:1px solid var(--ink);
    padding-bottom:4px;
    text-transform:uppercase;
    transition:all .3s;
  }
  .news-view-all:hover{color:var(--accent);border-color:var(--accent);}
  
  .news-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    border-top:1px solid var(--line-soft);
  }
  .news-card{
    padding:40px 24px 40px 0;
    border-right:1px solid var(--line-soft);
    cursor:pointer;
    transition:all .3s;
    position:relative;
    display:block;
    text-decoration:none;
    color:inherit;
  }
  .news-card:last-child{border-right:none;}
  .news-card:hover{padding-left:16px;padding-right:8px;}
  .news-date{
    font-family:var(--mono);
    font-size:11px;
    color:var(--accent);
    letter-spacing:0.15em;
    margin-bottom:24px;
  }
  .news-category{
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:0.2em;
    color:var(--ink-mute);
    text-transform:uppercase;
    margin-bottom:14px;
    display:flex;
    align-items:center;
    gap:8px;
  }
  .news-category::before{
    content:'';
    width:6px;height:6px;
    background:var(--accent);
  }
  .news-card-title{
    font-family:var(--serif-cn);
    font-size:21px;
    font-weight:500;
    line-height:1.4;
    margin-bottom:20px;
    color:var(--ink);
    transition:color .3s;
  }
  .news-card:hover .news-card-title{color:var(--accent);}
  .news-card-excerpt{
    font-size:13px;
    color:var(--ink-mute);
    line-height:1.7;
    margin-bottom:32px;
    font-weight:300;
  }
  .news-card-link{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.2em;
    color:var(--ink);
    text-transform:uppercase;
    display:inline-flex;
    align-items:center;
    gap:8px;
  }
  .news-card-link::after{
    content:'→';
    transition:transform .3s;
    color:var(--accent);
  }
  .news-card:hover .news-card-link::after{transform:translateX(6px);}

  /* ========== CONTACT BLOCK — NEW ========== */
  .contact-block{
    background:var(--paper);
    padding:140px 48px;
    border-top:1px solid var(--line-soft);
    position:relative;
    z-index:1;
  }
  .contact-grid{
    display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:100px;
    align-items:start;
  }
  .contact-title{
    font-family:var(--serif-cn);
    font-size:64px;
    font-weight:300;
    line-height:1.1;
    margin-bottom:32px;
    letter-spacing:-0.01em;
  }
  .contact-title em{
    font-family:var(--serif-en);
    font-style:italic;
    color:var(--accent);
    display:block;
    font-size:44px;
    margin-top:8px;
  }
  .contact-desc{
    font-size:15px;
    color:var(--ink-mute);
    line-height:1.85;
    margin-bottom:40px;
    max-width:440px;
  }
  .contact-stamp{
    display:inline-flex;
    align-items:center;
    gap:14px;
    padding:14px 22px;
    border:1px solid var(--line-soft);
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.2em;
    color:var(--ink-soft);
    text-transform:uppercase;
  }
  .contact-stamp::before{
    content:'';
    width:8px;height:8px;
    background:var(--accent);
    border-radius:50%;
    animation:pulse 2s ease-in-out infinite;
  }
  @keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.4;}}

  .contact-info{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    border-top:1px solid var(--line);
    border-left:1px solid var(--line-soft);
  }
  .contact-info-item{
    padding:36px 28px;
    border-right:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);
    position:relative;
    transition:background .3s;
  }
  .contact-info-item:hover{background:var(--bg);}
  .contact-info-item.full{grid-column:span 2;}
  .info-num{
    position:absolute;
    top:20px;right:24px;
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:0.2em;
    color:var(--ink-mute);
  }
  .info-label{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.25em;
    color:var(--accent);
    text-transform:uppercase;
    margin-bottom:14px;
  }
  .info-value{
    font-family:var(--serif-cn);
    font-size:24px;
    font-weight:500;
    color:var(--ink);
    line-height:1.4;
  }
  .info-value.en{
    font-family:var(--serif-en);
    font-style:italic;
    font-size:32px;
    font-weight:400;
  }
  .info-sub{
    font-size:12px;
    color:var(--ink-mute);
    margin-top:8px;
    font-family:var(--mono);
    letter-spacing:0.1em;
  }

  /* ========== CTA ========== */
  .cta-section{
    background:var(--ink);
    color:var(--paper);
    padding:140px 48px;
    text-align:center;
    position:relative;
    overflow:hidden;
    z-index:1;
  }
  .cta-section::before{
    content:'YUNFEI · 1969';
    position:absolute;
    bottom:-60px;
    left:50%;
    transform:translateX(-50%);
    font-family:var(--serif-en);
    font-size:280px;
    font-weight:300;
    letter-spacing:-0.02em;
    color:rgba(255,255,255,0.04);
    white-space:nowrap;
    pointer-events:none;
  }
  .cta-section::after{
    content:'';
    position:absolute;
    inset:0;
    background:
      linear-gradient(to right, rgba(65,121,221,0.05) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(65,121,221,0.05) 1px, transparent 1px);
    background-size:80px 80px;
    pointer-events:none;
  }
  .cta-eyebrow{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.3em;
    color:var(--accent-light);
    text-transform:uppercase;
    margin-bottom:32px;
    position:relative;
    z-index:2;
  }
  .cta-title{
    font-family:var(--serif-cn);
    font-size:clamp(48px, 7vw, 96px);
    font-weight:300;
    line-height:1.05;
    margin-bottom:48px;
    position:relative;
    z-index:2;
  }
  .cta-title em{
    font-family:var(--serif-en);
    font-style:italic;
    color:var(--accent-light);
  }
  .cta-btn{
    display:inline-block;
    padding:20px 48px;
    background:var(--accent);
    color:var(--paper);
    text-decoration:none;
    font-size:13px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    position:relative;
    overflow:hidden;
    transition:all .4s;
    z-index:2;
  }
  .cta-btn::before{
    content:'';
    position:absolute;
    inset:0;
    background:var(--paper);
    transform:translateY(100%);
    transition:transform .4s;
    z-index:0;
  }
  .cta-btn span{position:relative;z-index:1;transition:color .4s;}
  .cta-btn:hover::before{transform:translateY(0);}
  .cta-btn:hover span{color:var(--ink);}
  .cta-phone{
    margin-top:48px;
    font-family:var(--serif-en);
    font-size:32px;
    font-style:italic;
    color:var(--paper);
    position:relative;
    z-index:2;
  }
  .cta-phone small{
    display:block;
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.3em;
    color:rgba(255,255,255,0.5);
    margin-bottom:8px;
    font-style:normal;
  }

  /* ========== FOOTER ========== */
  footer{
    background:var(--bg-deep);
    padding:80px 48px 32px;
    border-top:1px solid var(--line);
    position:relative;
    z-index:1;
  }
  .footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr 1.5fr;
    gap:60px;
    margin-bottom:64px;
  }
  .footer-brand .logo{font-size:32px;margin-bottom:24px;}
  .footer-brand p{
    font-size:13px;
    color:var(--ink-mute);
    line-height:1.7;
    max-width:280px;
  }
  .footer-cert-strip{
    display:flex;
    gap:10px;
    margin-top:24px;
    flex-wrap:wrap;
  }
  .footer-cert-strip span{
    font-family:var(--mono);
    font-size:9.5px;
    letter-spacing:0.15em;
    padding:4px 10px;
    border:1px solid var(--line-soft);
    color:var(--ink-mute);
    background:var(--paper);
  }
  .footer-col h4{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.25em;
    color:var(--ink);
    text-transform:uppercase;
    margin-bottom:24px;
    font-weight:500;
  }
  .footer-col ul{list-style:none;}
  .footer-col li{margin-bottom:12px;}
  .footer-col a{
    color:var(--ink-mute);
    text-decoration:none;
    font-size:14px;
    transition:color .3s;
  }
  .footer-col a:hover{color:var(--accent);}
  .footer-contact p{
    font-size:14px;
    color:var(--ink-mute);
    line-height:1.7;
    margin-bottom:8px;
  }
  .footer-contact strong{color:var(--ink);font-weight:500;}
  .footer-bottom{
    border-top:1px solid var(--line-soft);
    padding-top:32px;
    display:flex;
    justify-content:space-between;
    font-family:var(--mono);
    font-size:11px;
    color:var(--ink-mute);
    letter-spacing:0.1em;
  }

  /* ========== ANIMATIONS ========== */
  .reveal{
    opacity:0;
    transform:translateY(40px);
    transition:opacity 1s cubic-bezier(.2,.8,.2,1), transform 1s cubic-bezier(.2,.8,.2,1);
  }
  .reveal.in-view{opacity:1;transform:translateY(0);}

  /* ========== RESPONSIVE ========== */
  @media (max-width: 1200px){
    .cap-grid{grid-template-columns:repeat(3,1fr);}
    .cap-card:nth-child(3n){border-right:none;}
    .cert-grid{grid-template-columns:repeat(3,1fr);gap:60px 20px;}
    .cert-line{display:none;}
    .ind-grid{grid-template-columns:repeat(4,1fr);}
    .stats-grid{grid-template-columns:repeat(3,1fr);gap:40px;}
  }
  @media (max-width: 968px){
    nav{padding:16px 24px;}
    nav.scrolled{padding:12px 24px;}
    .nav-links{display:none;}
    .hero{padding:120px 24px 60px;grid-template-columns:1fr;}
    .hero-meta{display:none;}
    .hero-side{display:none;}
    .hero-coords{display:none;}
    .hero-left{grid-column:1;}
    .hero-visual{grid-column:1;margin-top:24px;min-height:340px;}
    .hero-bottom{grid-template-columns:1fr;gap:48px;}
    .hero-stamp{text-align:left;}
    .stats,.about,.capabilities,.products,.news,.clients,.cta-section,.certifications,.industries,.contact-block{padding-left:24px;padding-right:24px;}
    .stats-grid{grid-template-columns:1fr 1fr;gap:36px;}
    .stat-value{font-size:60px;}
    .about{grid-template-columns:1fr;gap:60px;padding-top:100px;padding-bottom:100px;}
    .about-milestones{grid-template-columns:1fr;}
    .milestone{border-right:none !important;border-bottom:1px solid var(--line-soft);padding:20px 0 !important;}
    .milestone:last-child{border-bottom:none;}
    .cap-grid{grid-template-columns:1fr 1fr;}
    .cap-card:nth-child(2n){border-right:none;}
    .cap-card:nth-child(3n){border-right:1px solid var(--line-soft);}
    .cert-header{grid-template-columns:1fr;gap:24px;}
    .cert-title{font-size:48px;}
    .cert-grid{grid-template-columns:1fr 1fr;gap:48px 20px;}
    .prod-header{grid-template-columns:1fr;}
    .prod-grid{grid-template-columns:1fr;}
    .prod-card.large,.prod-card.small,.prod-card.wide{grid-column:span 1;}
    .ind-grid{grid-template-columns:repeat(2,1fr);}
    .ind-title{font-size:36px;}
    .clients-grid{grid-template-columns:repeat(2,1fr);}
    .news-grid{grid-template-columns:1fr;}
    .news-card{border-right:none;border-bottom:1px solid var(--line-soft);padding-right:0;}
    .contact-grid{grid-template-columns:1fr;gap:48px;}
    .contact-title{font-size:44px;}
    .contact-info{grid-template-columns:1fr;}
    .contact-info-item{border-right:none !important;}
    .footer-grid{grid-template-columns:1fr 1fr;gap:40px;}
    .footer-bottom{flex-direction:column;gap:12px;}
    .stats-header,.news-header,.cap-header{flex-direction:column;align-items:flex-start;gap:24px;}
    .stats-title,.news-title,.cap-title{font-size:36px;}
    .prod-title{font-size:56px;}
    .cta-section::before{font-size:120px;}
    .certifications::before{font-size:120px;}
  }

  /* ==================== SUBPAGE STYLES ==================== */

  /* ========== PAGE HEADER (smaller hero for subpages) ========== */
  .page-header{
    padding:160px 48px 90px;
    position:relative;
    z-index:1;
    border-bottom:1px solid var(--line-soft);
  }
  .page-header::before{
    content:'';
    position:absolute;
    top:120px;right:48px;
    width:140px;height:140px;
    border:1px dashed var(--line-blueprint);
    border-radius:50%;
    pointer-events:none;
  }
  .page-header-grid{
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:60px;
    align-items:end;
    position:relative;
    z-index:1;
  }
  .page-breadcrumb{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.25em;
    color:var(--ink-mute);
    text-transform:uppercase;
    margin-bottom:40px;
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
  }
  .page-breadcrumb a{
    color:var(--ink-mute);
    text-decoration:none;
    transition:color .3s;
  }
  .page-breadcrumb a:hover{color:var(--accent);}
  .page-breadcrumb .sep{color:var(--accent);}
  .page-breadcrumb .current{color:var(--ink);}

  .page-title{
    font-family:var(--serif-cn);
    font-size:clamp(56px, 8vw, 108px);
    font-weight:300;
    line-height:0.95;
    letter-spacing:-0.02em;
    color:var(--ink);
    margin-bottom:14px;
  }
  .page-title em{
    font-family:var(--serif-en);
    font-style:italic;
    font-weight:400;
    color:var(--accent);
  }
  .page-subtitle{
    font-family:var(--serif-en);
    font-style:italic;
    font-size:30px;
    font-weight:400;
    color:var(--ink-mute);
    margin-bottom:24px;
  }
  .page-intro{
    font-size:16px;
    line-height:1.85;
    color:var(--ink-soft);
    max-width:520px;
    font-weight:300;
  }
  .page-intro strong{
    color:var(--ink);
    font-weight:500;
    border-bottom:1px solid var(--accent);
  }
  .page-meta{
    display:flex;
    flex-direction:column;
    gap:14px;
    align-items:flex-end;
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.2em;
    color:var(--ink-mute);
    text-transform:uppercase;
    padding-bottom:8px;
  }
  .page-meta span:first-child{color:var(--accent);}
  .page-meta-stamp{
    border:1px solid var(--line-soft);
    padding:10px 18px;
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:var(--paper);
  }
  .page-meta-stamp::before{
    content:'';
    width:7px;height:7px;
    background:var(--accent);
    border-radius:50%;
  }

  /* Active nav link */
  .nav-links a.active{color:var(--accent);}
  .nav-links a.active::after{width:100%;}

  /* ========== SUBPAGE SECTION ========== */
  .subpage-section{
    padding:120px 48px;
    position:relative;
    z-index:1;
  }
  .subpage-section.alt{
    background:var(--bg-deep);
    border-top:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);
  }
  .subpage-section.white{
    background:var(--paper);
    border-top:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);
  }
  .subpage-section.dark{
    background:var(--ink);
    color:var(--paper);
  }
  .subpage-section.dark::before{
    content:'';
    position:absolute;inset:0;
    background:
      linear-gradient(to right, rgba(65,121,221,0.07) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(65,121,221,0.07) 1px, transparent 1px);
    background-size:60px 60px;
    pointer-events:none;
  }

  .subsec-header{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    margin-bottom:80px;
    align-items:end;
  }
  .subsec-title{
    font-family:var(--serif-cn);
    font-size:60px;
    font-weight:300;
    line-height:1.05;
    letter-spacing:-0.01em;
  }
  .subsec-title em{
    font-family:var(--serif-en);
    font-style:italic;
    color:var(--accent);
    font-weight:400;
  }
  .subsec-intro{
    font-size:15px;
    line-height:1.8;
    color:var(--ink-mute);
    max-width:460px;
  }
  .subsec-intro strong{color:var(--ink);font-weight:500;}

  /* ========== PRODUCT DETAILS (product.html) ========== */
  .product-detail-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:0;
    border-top:1px solid var(--line);
    border-left:1px solid var(--line-soft);
  }
  .product-detail{
    padding:56px 48px;
    border-right:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);
    background:var(--paper);
    position:relative;
    display:block;
    text-decoration:none;
    color:inherit;
    transition:all .4s;
    overflow:hidden;
  }
  .product-detail:hover{background:var(--bg);}
  .product-detail::before{
    content:'';
    position:absolute;
    top:0;left:0;right:0;
    height:2px;
    background:var(--accent);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .4s;
  }
  .product-detail:hover::before{transform:scaleX(1);}
  .pd-num{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.25em;
    color:var(--accent);
    margin-bottom:32px;
    display:flex;
    align-items:center;
    gap:12px;
  }
  .pd-num::after{
    content:'';
    flex:1;
    height:1px;
    background:var(--line-soft);
  }
  .pd-icon{
    width:64px;height:64px;
    stroke:var(--ink);
    stroke-width:1;
    fill:none;
    margin-bottom:32px;
  }
  .pd-name{
    font-family:var(--serif-cn);
    font-size:32px;
    font-weight:500;
    margin-bottom:6px;
    line-height:1.2;
  }
  .pd-en{
    font-family:var(--serif-en);
    font-style:italic;
    font-size:22px;
    color:var(--ink-mute);
    margin-bottom:24px;
  }
  .pd-desc{
    font-size:14px;
    line-height:1.85;
    color:var(--ink-soft);
    margin-bottom:28px;
    font-weight:300;
  }
  .pd-features{
    list-style:none;
    margin-bottom:32px;
  }
  .pd-features li{
    font-size:13px;
    color:var(--ink-soft);
    padding:10px 0 10px 26px;
    border-bottom:1px dashed var(--line-soft);
    position:relative;
  }
  .pd-features li:last-child{border-bottom:none;}
  .pd-features li::before{
    content:'';
    position:absolute;
    left:0;
    top:50%;
    width:14px;
    height:1px;
    background:var(--accent);
  }
  .pd-link{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.2em;
    color:var(--ink);
    text-transform:uppercase;
    display:inline-flex;
    align-items:center;
    gap:10px;
    border-bottom:1px solid var(--ink);
    padding-bottom:4px;
    transition:all .3s;
  }
  .product-detail:hover .pd-link{
    color:var(--accent);
    border-color:var(--accent);
  }
  .pd-link::after{
    content:'→';
    transition:transform .3s;
  }
  .product-detail:hover .pd-link::after{transform:translateX(6px);}

  /* ========== PROCESS FLOW (product.html) ========== */
  .process-flow{
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:0;
    position:relative;
  }
  .process-step{
    text-align:center;
    padding:0 16px;
    position:relative;
  }
  .process-step:not(:last-child)::after{
    content:'';
    position:absolute;
    top:38px;
    right:-6%;
    width:12%;
    height:1px;
    background:var(--line);
  }
  .process-circle{
    width:76px;height:76px;
    border:1px solid var(--ink);
    border-radius:50%;
    margin:0 auto 24px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:var(--serif-en);
    font-style:italic;
    font-size:26px;
    color:var(--accent);
    background:var(--paper);
    position:relative;
    z-index:1;
  }
  .process-circle::before{
    content:'';
    position:absolute;
    inset:-6px;
    border:1px dashed var(--line-blueprint);
    border-radius:50%;
  }
  .process-name{
    font-family:var(--serif-cn);
    font-size:17px;
    font-weight:500;
    margin-bottom:8px;
  }
  .process-desc{
    font-size:12px;
    color:var(--ink-mute);
    line-height:1.7;
  }

  /* ========== CASE GRID (case.html) ========== */
  .case-filters{
    display:flex;
    gap:0;
    margin-bottom:64px;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line-soft);
  }
  .case-filter{
    padding:24px 28px;
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.2em;
    color:var(--ink-mute);
    text-transform:uppercase;
    cursor:pointer;
    border-right:1px solid var(--line-soft);
    background:var(--paper);
    transition:all .3s;
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
  }
  .case-filter:hover{color:var(--accent);}
  .case-filter.active{
    background:var(--ink);
    color:var(--paper);
  }
  .case-filter.active::before{
    content:'';
    width:8px;
    height:8px;
    background:var(--accent);
  }
  .case-filter .count{
    font-family:var(--serif-en);
    font-style:italic;
    font-size:14px;
  }
  .case-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
  }
  .case-card{
    background:var(--paper);
    border:1px solid var(--line-soft);
    position:relative;
    overflow:hidden;
    cursor:pointer;
    transition:all .4s cubic-bezier(.2,.8,.2,1);
    display:block;
    text-decoration:none;
    color:inherit;
  }
  .case-card:hover{
    transform:translateY(-4px);
    border-color:var(--accent);
    box-shadow:0 20px 40px -20px rgba(20,82,204,0.18);
  }
  .case-visual{
    aspect-ratio:16/10;
    position:relative;
    overflow:hidden;
    background:linear-gradient(135deg, #1B3360 0%, #0A1730 100%);
  }
  /* 案例卡背景照片 */
  .case-photo{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    filter:saturate(.5) brightness(.55) contrast(1.05);
    z-index:0;
    transition:transform 1s cubic-bezier(.2,.8,.2,1), filter .5s;
  }
  .case-card:hover .case-photo{
    transform:scale(1.06);
    filter:saturate(.75) brightness(.7) contrast(1.05);
  }
  /* 深蓝蒙版叠在照片上,保持品牌色调 */
  .case-visual{
    background:#0A1730;
  }
  .case-visual.v2{background:linear-gradient(135deg, #163055 0%, #08152E 100%);}
  .case-visual.v3{background:linear-gradient(135deg, #1F3A6B 0%, #0B1B3A 100%);}
  .case-visual.v4{background:linear-gradient(135deg, #142848 0%, #060F22 100%);}
  .case-visual.v5{background:linear-gradient(135deg, #1B3360 0%, #102448 100%);}
  .case-visual::before{
    content:'';
    position:absolute;inset:0;
    background:
      radial-gradient(circle at 70% 30%, rgba(65,121,221,0.25) 0%, transparent 60%),
      linear-gradient(135deg, rgba(27,51,96,0.55) 0%, rgba(10,23,48,0.78) 100%);
    z-index:1;
  }
  .case-visual svg{
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%, -50%);
    width:55%;
    height:55%;
    opacity:0.35;
    stroke:var(--paper);
    fill:none;
    stroke-width:0.6;
    z-index:2;
  }
  .case-tag{
    position:absolute;
    top:16px;left:16px;
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:0.2em;
    color:var(--paper);
    background:rgba(20,82,204,0.92);
    padding:5px 11px;
    z-index:1;
  }
  .case-content{
    padding:28px 28px 32px;
  }
  .case-num{
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:0.2em;
    color:var(--accent);
    margin-bottom:12px;
    text-transform:uppercase;
  }
  .case-name{
    font-family:var(--serif-cn);
    font-size:22px;
    font-weight:500;
    line-height:1.3;
    margin-bottom:14px;
    color:var(--ink);
  }
  .case-desc{
    font-size:13px;
    line-height:1.75;
    color:var(--ink-mute);
    margin-bottom:24px;
    font-weight:300;
  }
  .case-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-top:16px;
    border-top:1px solid var(--line-soft);
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:0.15em;
    color:var(--ink-mute);
    text-transform:uppercase;
  }
  .case-footer .arrow{
    color:var(--accent);
    font-size:13px;
  }

  /* ========== ARTICLE LIST (article.html) ========== */
  .article-featured{
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:60px;
    margin-bottom:80px;
    padding-bottom:80px;
    border-bottom:1px solid var(--line-soft);
    text-decoration:none;
    color:inherit;
  }
  .article-featured-visual{
    aspect-ratio:16/10;
    background:#0A1730;
    position:relative;
    overflow:hidden;
  }
  .article-featured-photo{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    filter:saturate(.5) brightness(.5) contrast(1.05);
    z-index:0;
    transition:transform 1s cubic-bezier(.2,.8,.2,1), filter .5s;
  }
  .article-featured:hover .article-featured-photo{
    transform:scale(1.05);
    filter:saturate(.75) brightness(.62);
  }
  .article-featured-visual::before{
    content:'';
    position:absolute;inset:0;
    background:
      radial-gradient(circle at 30% 40%, rgba(65,121,221,0.30) 0%, transparent 50%),
      linear-gradient(135deg, rgba(27,51,96,0.5) 0%, rgba(10,23,48,0.78) 100%);
    z-index:1;
  }
  .article-featured-visual svg{
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%, -50%);
    width:60%;
    height:60%;
    opacity:0.3;
    stroke:var(--paper);
    fill:none;
    z-index:2;
  }
  .article-featured-tag{
    position:absolute;
    top:24px;left:24px;
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:0.2em;
    color:var(--paper);
    background:var(--accent);
    padding:6px 12px;
    z-index:1;
  }
  .article-featured-content{
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .article-featured-date{
    font-family:var(--mono);
    font-size:11px;
    color:var(--accent);
    letter-spacing:0.15em;
    margin-bottom:18px;
  }
  .article-featured-title{
    font-family:var(--serif-cn);
    font-size:36px;
    font-weight:500;
    line-height:1.25;
    margin-bottom:20px;
    color:var(--ink);
    transition:color .3s;
  }
  .article-featured:hover .article-featured-title{color:var(--accent);}
  .article-featured-excerpt{
    font-size:15px;
    line-height:1.8;
    color:var(--ink-soft);
    margin-bottom:32px;
    font-weight:300;
  }
  .article-featured-link{
    font-family:var(--mono);
    font-size:12px;
    letter-spacing:0.2em;
    color:var(--ink);
    text-transform:uppercase;
    display:inline-flex;
    align-items:center;
    gap:10px;
    align-self:flex-start;
    border-bottom:1px solid var(--ink);
    padding-bottom:4px;
    transition:all .3s;
  }
  .article-featured:hover .article-featured-link{
    color:var(--accent);
    border-color:var(--accent);
  }

  .article-list{
    display:flex;
    flex-direction:column;
    gap:0;
    border-top:1px solid var(--line);
  }
  .article-row{
    display:grid;
    grid-template-columns:130px 160px 1fr 100px;
    gap:40px;
    padding:32px 16px 32px 0;
    border-bottom:1px solid var(--line-soft);
    align-items:center;
    cursor:pointer;
    transition:all .3s;
    text-decoration:none;
    color:inherit;
    position:relative;
  }
  .article-row::before{
    content:'';
    position:absolute;
    inset:0;
    background:var(--paper);
    opacity:0;
    transition:opacity .3s;
    z-index:-1;
  }
  .article-row:hover{padding-left:20px;}
  .article-row:hover::before{opacity:1;}
  .article-row:hover .article-row-arrow{
    transform:translateX(8px);
    color:var(--accent);
  }
  .article-row:hover .article-row-title{color:var(--accent);}
  .article-row-date{
    font-family:var(--mono);
    font-size:13px;
    color:var(--accent);
    letter-spacing:0.1em;
  }
  .article-row-cat{
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:0.2em;
    color:var(--ink-mute);
    text-transform:uppercase;
    display:flex;
    align-items:center;
    gap:8px;
  }
  .article-row-cat::before{
    content:'';
    width:6px;
    height:6px;
    background:var(--accent);
    flex-shrink:0;
  }
  .article-row-title{
    font-family:var(--serif-cn);
    font-size:19px;
    font-weight:500;
    color:var(--ink);
    line-height:1.4;
    transition:color .3s;
  }
  .article-row-arrow{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.2em;
    color:var(--ink);
    text-align:right;
    transition:all .3s;
    text-transform:uppercase;
  }

  /* ========== PAGINATION ========== */
  .pagination{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:4px;
    margin-top:80px;
  }
  .pagination a, .pagination span{
    font-family:var(--mono);
    font-size:12px;
    letter-spacing:0.1em;
    color:var(--ink-mute);
    padding:12px 18px;
    text-decoration:none;
    transition:all .3s;
    border:1px solid transparent;
    min-width:44px;
    text-align:center;
  }
  .pagination a:hover{color:var(--accent);border-color:var(--accent);}
  .pagination .current{
    background:var(--ink);
    color:var(--paper);
  }
  .pagination .arrow{
    letter-spacing:0.05em;
    font-size:13px;
  }

  /* ========== CONTACT FORM ========== */
  .contact-form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:32px;
    background:var(--paper);
    padding:56px 48px;
    border:1px solid var(--line-soft);
    position:relative;
  }
  .contact-form::before{
    content:'FORM · YF-CONTACT';
    position:absolute;
    top:24px;right:32px;
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:0.25em;
    color:var(--accent);
  }
  .form-full{grid-column:span 2;}
  .form-group{display:flex;flex-direction:column;}
  .form-label{
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:0.25em;
    color:var(--accent);
    text-transform:uppercase;
    margin-bottom:12px;
  }
  .form-input, .form-textarea, .form-select{
    border:none;
    border-bottom:1px solid var(--line-soft);
    padding:12px 0;
    font-size:15px;
    font-family:var(--sans-cn);
    color:var(--ink);
    background:transparent;
    outline:none;
    transition:border-color .3s;
    font-weight:300;
  }
  .form-input:focus, .form-textarea:focus, .form-select:focus{border-color:var(--accent);}
  .form-textarea{
    resize:vertical;
    min-height:120px;
  }
  .form-actions{
    grid-column:span 2;
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:20px;
    padding-top:24px;
    border-top:1px solid var(--line-soft);
  }
  .form-note{
    font-size:12px;
    color:var(--ink-mute);
    font-family:var(--mono);
    letter-spacing:0.1em;
  }
  .form-submit{
    padding:18px 40px;
    background:var(--ink);
    color:var(--paper);
    border:none;
    font-family:var(--mono);
    font-size:12px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    cursor:pointer;
    transition:background .3s;
    position:relative;
    overflow:hidden;
  }
  .form-submit:hover{background:var(--accent);}

  /* ========== MAP PLACEHOLDER ========== */
  .map-placeholder{
    aspect-ratio:21/9;
    background:var(--ink);
    position:relative;
    overflow:hidden;
    border:1px solid var(--line);
  }
  .map-placeholder::before{
    content:'';
    position:absolute;inset:0;
    background:
      linear-gradient(to right, rgba(65,121,221,0.10) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(65,121,221,0.10) 1px, transparent 1px);
    background-size:40px 40px;
  }
  .map-placeholder::after{
    content:'';
    position:absolute;inset:0;
    background:radial-gradient(ellipse at 50% 50%, transparent 0%, rgba(10,23,48,0.6) 80%);
  }
  .map-pin{
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%, -50%);
    text-align:center;
    color:var(--paper);
    z-index:2;
  }
  .map-pin .pin-dot{
    width:14px;
    height:14px;
    background:var(--accent);
    border-radius:50%;
    margin:0 auto 20px;
    position:relative;
    box-shadow:0 0 0 4px rgba(20,82,204,0.2);
  }
  .map-pin .pin-dot::before, .map-pin .pin-dot::after{
    content:'';
    position:absolute;
    inset:-10px;
    border:1px solid var(--accent-light);
    border-radius:50%;
    opacity:0.5;
    animation:ping 2.4s ease-out infinite;
  }
  .map-pin .pin-dot::after{animation-delay:1.2s;}
  @keyframes ping{
    0%{transform:scale(0.8);opacity:0.8;}
    100%{transform:scale(2.8);opacity:0;}
  }
  .map-pin .pin-name{
    font-family:var(--serif-cn);
    font-size:22px;
    font-weight:500;
    margin-bottom:8px;
  }
  .map-pin .pin-addr{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.2em;
    color:rgba(255,255,255,0.6);
  }
  .map-coords{
    position:absolute;
    bottom:24px;right:32px;
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:0.2em;
    color:rgba(255,255,255,0.5);
    text-transform:uppercase;
    z-index:2;
  }
  .map-actions{
    position:absolute;
    bottom:28px;left:50%;
    transform:translateX(-50%);
    display:flex;
    gap:14px;
    z-index:3;
  }
  .map-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:13px 24px;
    font-family:var(--mono);
    font-size:12px;
    letter-spacing:0.12em;
    text-decoration:none;
    background:rgba(20,82,204,0.92);
    color:#fff;
    border:1px solid rgba(255,255,255,0.18);
    transition:all .3s;
    backdrop-filter:blur(4px);
  }
  .map-btn:hover{
    background:var(--accent-light);
    transform:translateY(-2px);
  }
  .map-btn-arrow{font-size:13px;transition:transform .3s;}
  .map-btn:hover .map-btn-arrow{transform:translate(2px,-2px);}
  @media(max-width:768px){
    .map-actions{flex-direction:column;width:calc(100% - 48px);bottom:20px;}
    .map-btn{justify-content:center;}
    .map-coords{display:none;}
  }
  .map-title{
    position:absolute;
    top:24px;left:32px;
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:0.2em;
    color:rgba(255,255,255,0.5);
    text-transform:uppercase;
    z-index:2;
  }
  .map-title::before{
    content:'';
    display:inline-block;
    width:24px;height:1px;
    background:var(--accent);
    margin-right:10px;
    transform:translateY(-3px);
  }

  /* ========== FULL TIMELINE (about.html) ========== */
  .timeline-full{
    position:relative;
    padding:0 0 0 100px;
  }
  .timeline-full::before{
    content:'';
    position:absolute;
    top:0;bottom:0;
    left:48px;
    width:1px;
    background:linear-gradient(to bottom, transparent 0%, var(--line) 5%, var(--line) 95%, transparent 100%);
  }
  .timeline-event{
    position:relative;
    padding:36px 0 36px 0;
    border-bottom:1px solid var(--line-soft);
  }
  .timeline-event:last-child{border-bottom:none;}
  .timeline-event::before{
    content:'';
    position:absolute;
    left:-56px;
    top:48px;
    width:9px;
    height:9px;
    background:var(--accent);
    border-radius:50%;
    border:3px solid var(--bg);
    box-shadow:0 0 0 1px var(--line);
  }
  .te-year{
    font-family:var(--serif-en);
    font-size:56px;
    font-style:italic;
    color:var(--accent);
    font-weight:400;
    line-height:1;
    position:absolute;
    left:-100px;
    top:30px;
  }
  .te-title{
    font-family:var(--serif-cn);
    font-size:24px;
    font-weight:500;
    margin-bottom:10px;
    color:var(--ink);
  }
  .te-desc{
    font-size:14px;
    color:var(--ink-mute);
    line-height:1.85;
    max-width:640px;
    font-weight:300;
  }
  .te-tag{
    display:inline-block;
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:0.2em;
    color:var(--accent);
    text-transform:uppercase;
    padding:3px 10px;
    border:1px solid var(--accent);
    margin-bottom:14px;
  }

  /* ========== CERT DETAIL CARDS (about.html) ========== */
  .cert-detail-grid{
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:0;
    border-top:1px solid var(--line);
    border-left:1px solid var(--line-soft);
  }
  .cert-detail{
    padding:36px 24px;
    border-right:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);
    background:var(--paper);
    text-align:left;
    transition:background .3s;
  }
  .cert-detail:hover{background:var(--bg);}
  .cd-year{
    font-family:var(--serif-en);
    font-size:40px;
    font-style:italic;
    color:var(--accent);
    line-height:1;
    margin-bottom:18px;
  }
  .cd-code{
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:0.25em;
    color:var(--ink-mute);
    margin-bottom:10px;
    text-transform:uppercase;
  }
  .cd-name{
    font-family:var(--serif-cn);
    font-size:18px;
    font-weight:500;
    margin-bottom:12px;
    color:var(--ink);
  }
  .cd-desc{
    font-size:12px;
    color:var(--ink-mute);
    line-height:1.7;
    font-weight:300;
  }

  /* Inline page-content responsive */
  @media (max-width: 1200px){
    .case-grid{grid-template-columns:repeat(2, 1fr);}
    .cert-detail-grid{grid-template-columns:repeat(3, 1fr);}
    .process-flow{grid-template-columns:repeat(3, 1fr);gap:40px 16px;}
    .process-step::after{display:none;}
  }
  @media (max-width: 968px){
    .page-header{padding:100px 24px 60px;}
    .page-header::before{display:none;}
    .page-header-grid{grid-template-columns:1fr;gap:24px;}
    .page-meta{align-items:flex-start;}
    .subpage-section{padding:80px 24px;}
    .subsec-header{grid-template-columns:1fr;gap:24px;}
    .subsec-title{font-size:40px;}
    .product-detail-grid{grid-template-columns:1fr;}
    .product-detail{padding:36px 24px;}
    .process-flow{grid-template-columns:1fr;gap:32px;}
    .case-grid{grid-template-columns:1fr;}
    .case-filters{flex-wrap:wrap;}
    .article-featured{grid-template-columns:1fr;gap:32px;}
    .article-featured-title{font-size:28px;}
    .article-row{grid-template-columns:1fr;gap:10px;padding:24px 0;}
    .article-row-title{font-size:17px;}
    .article-row-arrow{display:none;}
    .contact-form{grid-template-columns:1fr;padding:32px 24px;}
    .form-full, .form-actions{grid-column:span 1;}
    .form-actions{flex-direction:column;gap:16px;align-items:stretch;}
    .timeline-full{padding-left:32px;}
    .timeline-full::before{left:8px;}
    .timeline-event::before{left:-28px;}
    .te-year{
      position:static;
      font-size:36px;
      margin-bottom:8px;
    }
    .cert-detail-grid{grid-template-columns:1fr 1fr;}
  }


  /* ==================== VIVIDNESS ADDITIONS ==================== */

  /* --- Hero rotating gears (background decoration) --- */
  .hero{overflow:hidden;}
  .hero > *{position:relative;z-index:2;}
  .hero-gear{
    position:absolute;
    bottom:-280px;right:-260px;
    top:auto;
    width:620px;height:620px;
    transform:none;
    opacity:0.04;
    pointer-events:none;
    z-index:0;
    animation:gearSpin 80s linear infinite;
  }
  .hero-gear-2{
    position:absolute;
    bottom:40px;right:44%;
    top:auto;left:auto;
    width:240px;height:240px;
    opacity:0.04;
    pointer-events:none;
    z-index:0;
    animation:gearSpin 60s linear infinite reverse;
  }
  @keyframes gearSpin{
    from{transform:rotate(0deg);}
    to{transform:rotate(360deg);}
  }
  .hero-gear-2{
    animation-name:gearSpinB;
  }
  @keyframes gearSpinB{
    from{transform:rotate(0deg);}
    to{transform:rotate(-360deg);}
  }

  /* --- About visual photo backdrop --- */
  .about-visual{position:relative;}
  .about-visual::before{display:none;}
  .about-photo{
    position:absolute;
    inset:0;
    background-image:
      linear-gradient(135deg, rgba(10,23,48,0.55) 0%, rgba(20,82,204,0.25) 100%),
      url('img/bg-about.jpg');
    background-size:cover;
    background-position:center;
    filter:grayscale(0.45) contrast(1.05);
    z-index:0;
  }
  .about-photo::after{
    content:'';
    position:absolute;inset:0;
    background:repeating-linear-gradient(45deg, transparent 0, transparent 20px, rgba(255,255,255,0.04) 20px, rgba(255,255,255,0.04) 21px);
  }
  .about-visual .blueprint{
    opacity:0.85;
    z-index:1;
    filter:drop-shadow(0 2px 8px rgba(0,0,0,0.3));
  }
  .about-visual .blueprint *{stroke:#FFFFFF;}
  .about-visual .blueprint text{fill:#FFFFFF !important;stroke:none;}
  .about-visual .visual-titleblock,
  .about-visual .visual-tag,
  .about-visual .visual-corners,
  .about-visual::after{z-index:2;}
  .about-visual .visual-titleblock{color:rgba(255,255,255,0.7);}
  .about-visual .visual-titleblock .lbl{color:#4179DD !important;}
  .about-visual .visual-tag{color:#FFFFFF;}
  .about-visual .visual-tag .big strong{color:#4179DD;}
  .about-visual .visual-tag .small{color:rgba(255,255,255,0.7) !important;}
  .about-visual::after{border-color:rgba(255,255,255,0.3) !important;}

  /* --- Animated blueprint draw-in --- */
  .about-visual .blueprint path,
  .about-visual .blueprint rect,
  .about-visual .blueprint line,
  .about-visual .blueprint circle{
    stroke-dasharray:1200;
    stroke-dashoffset:1200;
    transition:stroke-dashoffset 2.5s cubic-bezier(.45,.05,.55,.95);
  }
  .about-visual.in-view .blueprint path,
  .about-visual.in-view .blueprint rect,
  .about-visual.in-view .blueprint line,
  .about-visual.in-view .blueprint circle{
    stroke-dashoffset:0;
  }

  /* --- Product card photo backgrounds --- */
  .prod-bg.bg-air{
    background:
      linear-gradient(135deg, rgba(27,51,96,0.78) 0%, rgba(10,23,48,0.92) 100%),
      url('img/bg-prod-air.jpg') center/cover;
  }
  .prod-bg.bg-auto{
    background:
      linear-gradient(135deg, rgba(22,48,85,0.75) 0%, rgba(8,21,46,0.95) 100%),
      url('img/bg-prod-auto.jpg') center/cover;
  }
  .prod-bg.bg-stamp{
    background:
      linear-gradient(135deg, rgba(31,58,107,0.78) 0%, rgba(11,27,58,0.95) 100%),
      url('img/bg-prod-stamp.jpg') center/cover;
  }
  .prod-bg.bg-mold{
    background:
      linear-gradient(135deg, rgba(20,40,72,0.80) 0%, rgba(6,15,34,0.95) 100%),
      url('img/bg-prod-mold.jpg') center/cover;
  }

  /* --- Product card 3D tilt --- */
  .prod-grid{perspective:1200px;}
  .prod-card{
    transform-style:preserve-3d;
    transition:transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s;
  }
  .prod-card:hover{
    box-shadow:0 40px 80px -40px rgba(20,82,204,0.5);
  }

  /* --- Video tour section --- */
  .video-tour{
    padding:140px 48px;
    background:var(--paper);
    border-top:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);
    position:relative;
    z-index:1;
  }
  .video-tour-header{
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:60px;
    margin-bottom:60px;
    align-items:end;
  }
  .video-tour-poster{
    display:block;
    position:relative;
    aspect-ratio:16/9;
    overflow:hidden;
    cursor:pointer;
    background-image:
      linear-gradient(135deg, rgba(10,23,48,0.50) 0%, rgba(20,82,204,0.30) 100%),
      url('img/bg-video-poster.jpg');
    background-size:cover;
    background-position:center;
    border:1px solid var(--line);
    transition:transform .6s cubic-bezier(.2,.8,.2,1);
  }
  .video-tour-poster:hover{transform:scale(1.005);}
  .play-btn{
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%, -50%);
    width:110px;height:110px;
    border-radius:50%;
    background:var(--accent);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:3;
    transition:transform .4s, background .3s;
  }
  .video-tour-poster:hover .play-btn{
    transform:translate(-50%, -50%) scale(1.1);
    background:var(--accent-deep);
  }
  .play-btn::before, .play-btn::after{
    content:'';
    position:absolute;
    inset:0;
    border-radius:50%;
    border:1px solid var(--accent-light);
    animation:pingPlay 2.4s ease-out infinite;
  }
  .play-btn::after{animation-delay:1.2s;}
  @keyframes pingPlay{
    0%{transform:scale(1);opacity:0.8;}
    100%{transform:scale(1.8);opacity:0;}
  }
  .play-icon{
    width:0;height:0;
    border-left:24px solid white;
    border-top:14px solid transparent;
    border-bottom:14px solid transparent;
    margin-left:8px;
  }
  .video-tour-info{
    position:absolute;
    bottom:24px;left:32px;
    color:white;
    z-index:2;
  }
  .video-tour-info .duration{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.2em;
    color:var(--accent-light);
    margin-bottom:8px;
    display:flex;
    align-items:center;
    gap:8px;
  }
  .video-tour-info .duration::before{
    content:'';
    width:6px;height:6px;
    background:var(--accent-light);
    border-radius:50%;
    animation:pulse 2s ease-in-out infinite;
  }
  .video-tour-info .title{
    font-family:var(--serif-cn);
    font-size:30px;
    font-weight:500;
    letter-spacing:0.02em;
    max-width:520px;
    line-height:1.3;
  }
  .video-tour-spec{
    position:absolute;
    top:24px;right:32px;
    color:rgba(255,255,255,0.65);
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:0.25em;
    z-index:2;
    text-transform:uppercase;
  }
  .video-tour-spec::after{
    content:'';
    display:inline-block;
    width:24px;height:1px;
    background:var(--accent-light);
    margin-left:10px;
    transform:translateY(-3px);
  }

  /* --- Factory gallery --- */
  .gallery-section{
    padding:140px 48px;
    background:var(--bg-deep);
    border-top:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);
    position:relative;
    z-index:1;
  }
  .gallery-grid{
    display:grid;
    grid-template-columns:repeat(12, 1fr);
    grid-auto-rows:140px;
    gap:16px;
  }
  .gallery-item{
    position:relative;
    overflow:hidden;
    background:var(--ink);
    cursor:pointer;
  }
  .gallery-item img{
    width:100%;height:100%;
    object-fit:cover;
    filter:grayscale(0.5) brightness(0.85) contrast(1.05);
    transition:transform 1.2s cubic-bezier(.2,.8,.2,1), filter .5s;
    display:block;
  }
  .gallery-item:hover img{
    transform:scale(1.05);
    filter:grayscale(0) brightness(1) contrast(1.05);
  }
  .gallery-item::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(135deg, rgba(20,82,204,0.18) 0%, rgba(10,23,48,0.42) 100%);
    z-index:1;
    pointer-events:none;
    transition:opacity .5s;
  }
  .gallery-item:hover::before{opacity:0.3;}
  .gi-tag{
    position:absolute;
    bottom:18px;left:18px;
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:0.2em;
    color:rgba(255,255,255,0.95);
    text-transform:uppercase;
    z-index:2;
    text-shadow:0 1px 6px rgba(0,0,0,0.6);
    display:flex;
    align-items:center;
    gap:10px;
  }
  .gi-tag::before{
    content:'';
    width:20px;height:1px;
    background:var(--accent-light);
  }
  .gi-1{grid-column:span 7;grid-row:span 3;}
  .gi-2{grid-column:span 5;grid-row:span 2;}
  .gi-3{grid-column:span 5;grid-row:span 1;}
  .gi-4{grid-column:span 4;grid-row:span 2;}
  .gi-5{grid-column:span 4;grid-row:span 2;}
  .gi-text{
    grid-column:span 4;
    grid-row:span 2;
    background:var(--ink);
    color:var(--paper);
    padding:32px 28px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    position:relative;
    overflow:hidden;
  }
  .gi-text::before{
    content:'';
    position:absolute;inset:0;
    background:
      linear-gradient(to right, rgba(65,121,221,0.10) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(65,121,221,0.10) 1px, transparent 1px);
    background-size:30px 30px;
    pointer-events:none;
  }
  .gi-text > *{position:relative;z-index:1;}
  .gi-text-num{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.25em;
    color:var(--accent-light);
  }
  .gi-text-title{
    font-family:var(--serif-cn);
    font-size:26px;
    line-height:1.3;
    margin-top:auto;
    margin-bottom:12px;
    font-weight:500;
  }
  .gi-text-title em{
    font-family:var(--serif-en);
    font-style:italic;
    color:var(--accent-light);
    font-weight:400;
  }
  .gi-text-meta{
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:0.2em;
    color:rgba(255,255,255,0.5);
  }

  /* --- Process flow traveling dot --- */
  .process-flow{position:relative;}
  .process-flow-dot{
    position:absolute;
    top:33px;
    width:11px;height:11px;
    background:var(--accent);
    border-radius:50%;
    box-shadow:0 0 0 5px rgba(20,82,204,0.25), 0 0 12px rgba(20,82,204,0.6);
    animation:travelDot 12s ease-in-out infinite;
    z-index:2;
    pointer-events:none;
  }
  @keyframes travelDot{
    0%, 4%   {left:10%;opacity:0;}
    8%       {left:10%;opacity:1;}
    20%      {left:30%;}
    24%      {left:30%;}
    36%      {left:50%;}
    40%      {left:50%;}
    52%      {left:70%;}
    56%      {left:70%;}
    72%, 80% {left:90%;opacity:1;}
    85%      {left:90%;opacity:0;}
    100%     {left:10%;opacity:0;}
  }

  /* --- Clients marquee --- */
  .clients-marquee-wrap{
    position:relative;
    margin-top:40px;
    overflow:hidden;
    padding:20px 0;
  }
  .clients-marquee-wrap::before, .clients-marquee-wrap::after{
    content:'';
    position:absolute;
    top:0;bottom:0;
    width:140px;
    z-index:2;
    pointer-events:none;
  }
  .clients-marquee-wrap::before{
    left:0;
    background:linear-gradient(to right, var(--paper) 0%, transparent 100%);
  }
  .clients-marquee-wrap::after{
    right:0;
    background:linear-gradient(to left, var(--paper) 0%, transparent 100%);
  }
  .marquee-track{
    display:flex;
    gap:80px;
    width:max-content;
    animation:marqueeScroll 45s linear infinite;
  }
  .marquee-track:hover{animation-play-state:paused;}
  .m-item{
    display:flex;
    align-items:center;
    gap:14px;
    font-family:var(--serif-en);
    font-size:34px;
    color:var(--ink-soft);
    white-space:nowrap;
    font-weight:400;
    letter-spacing:0.05em;
    transition:color .3s;
    cursor:default;
  }
  .m-item:hover{color:var(--accent);}
  .m-item .cn{
    font-family:var(--serif-cn);
    font-size:22px;
    color:var(--ink);
    font-weight:500;
  }
  .m-item .sep{
    color:var(--accent);
    font-size:14px;
    margin:0 4px;
  }
  @keyframes marqueeScroll{
    0%{transform:translateX(0);}
    100%{transform:translateX(calc(-50% - 40px));}
  }

  /* --- Responsive overrides for vividness additions --- */
  @media (max-width: 1200px){
    .gi-1{grid-column:span 8;grid-row:span 2;}
    .gi-2{grid-column:span 4;grid-row:span 2;}
    .gi-3{grid-column:span 8;grid-row:span 1;}
    .gi-4{grid-column:span 4;grid-row:span 2;}
    .gi-5{grid-column:span 6;grid-row:span 2;}
    .gi-text{grid-column:span 6;grid-row:span 2;}
  }
  @media (max-width: 968px){
    .hero-gear{width:400px;height:400px;right:-180px;}
    .hero-gear-2{display:none;}
    .video-tour{padding:80px 24px;}
    .video-tour-header{grid-template-columns:1fr;gap:24px;}
    .video-tour-info .title{font-size:22px;}
    .play-btn{width:80px;height:80px;}
    .play-icon{border-left-width:18px;border-top-width:10px;border-bottom-width:10px;}
    .gallery-section{padding:80px 24px;}
    .gallery-grid{grid-template-columns:repeat(2, 1fr);grid-auto-rows:160px;gap:12px;}
    .gi-1,.gi-2,.gi-3,.gi-4,.gi-5,.gi-text{grid-column:span 2;grid-row:span 1;}
    .gi-1{grid-row:span 2;}
    .gi-text{grid-row:span 1;padding:24px 20px;}
    .gi-text-title{font-size:20px;}
    .m-item{font-size:24px;}
    .m-item .cn{font-size:16px;}
    .process-flow-dot{display:none;}
    .prod-card{transform:none !important;}
  }



/* --- 2. 子页面框架（.ph-*） ---------------------------------------------- */

  /* ===== 产品分支页专用样式 ===== */
  .ph-hero{
    position:relative; padding:160px 48px 100px;
    background:var(--ink); color:var(--paper); overflow:hidden;
  }
  .ph-hero-bg{
    position:absolute; inset:0; z-index:0;
    background-image:linear-gradient(115deg,rgba(10,23,48,0.88) 0%,rgba(10,23,48,0.55) 100%),
      url('img/bg-about.jpg');
    background-size:cover; background-position:center;
    filter:saturate(0.85);
  }
  .ph-hero-grid-overlay{
    position:absolute; inset:0; z-index:1; pointer-events:none;
    background-image:linear-gradient(rgba(65,121,221,.08) 1px,transparent 1px),
      linear-gradient(90deg,rgba(65,121,221,.08) 1px,transparent 1px);
    background-size:64px 64px;
  }
  .ph-hero-inner{position:relative; z-index:2; max-width:1180px; margin:0 auto;}
  .ph-breadcrumb{
    font-family:var(--mono); font-size:12px; letter-spacing:.14em;
    color:var(--accent-light); margin-bottom:40px;
  }
  .ph-breadcrumb a{color:var(--accent-light); text-decoration:none;}
  .ph-breadcrumb a:hover{text-decoration:underline;}
  .ph-breadcrumb span{color:rgba(255,255,255,.4); margin:0 10px;}
  .ph-eyebrow{
    font-family:var(--mono); font-size:13px; letter-spacing:.32em;
    color:var(--accent-light); text-transform:uppercase; margin-bottom:24px;
  }
  .ph-title{
    font-family:var(--serif-cn); font-weight:600;
    font-size:clamp(44px,6vw,82px); line-height:1.05; letter-spacing:-.01em;
    margin-bottom:28px;
  }
  .ph-title em{font-style:normal; color:var(--accent-light);}
  .ph-sub{
    font-size:17px; line-height:1.9; color:rgba(255,255,255,.7);
    max-width:620px; font-weight:300;
  }
  .ph-hero-meta{
    display:flex; gap:48px; margin-top:48px; flex-wrap:wrap;
  }
  .ph-hero-meta div{border-left:2px solid var(--accent); padding-left:16px;}
  .ph-hero-meta .n{
    font-family:var(--serif-en); font-size:38px; font-weight:500;
    color:var(--paper); line-height:1;
  }
  .ph-hero-meta .l{
    font-family:var(--mono); font-size:11px; letter-spacing:.14em;
    color:rgba(255,255,255,.55); margin-top:8px;
  }
  /* 区块通用 */
  .ph-sec{max-width:1180px; margin:0 auto; padding:110px 48px;}
  .ph-sec-label{
    font-family:var(--mono); font-size:12px; letter-spacing:.3em;
    color:var(--accent); text-transform:uppercase; margin-bottom:20px;
  }
  .ph-sec-title{
    font-family:var(--serif-cn); font-weight:600;
    font-size:clamp(30px,3.6vw,46px); line-height:1.2; margin-bottom:28px;
  }
  .ph-sec-title em{font-style:normal; color:var(--accent);}
  .ph-lead{
    font-size:16px; line-height:1.95; color:var(--ink-soft);
    max-width:760px; font-weight:300; margin-bottom:8px;
  }
  /* 产品项网格 */
  .ph-items{
    display:grid; grid-template-columns:repeat(2,1fr); gap:28px; margin-top:56px;
  }
  .ph-item{
    position:relative; border:1px solid var(--line-soft);
    background:var(--paper); overflow:hidden;
    transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s;
    display:flex; flex-direction:column;
  }
  .ph-item:hover{transform:translateY(-6px); box-shadow:0 30px 60px -30px rgba(20,82,204,.35);}
  .ph-item-img{
    position:relative; height:240px; overflow:hidden;
    background:var(--ink);
  }
  .ph-item-img img{
    width:100%; height:100%; object-fit:cover;
    filter:saturate(.55) brightness(.92) contrast(1.05);
    transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s;
  }
  .ph-item:hover .ph-item-img img{transform:scale(1.06); filter:saturate(.9) brightness(1) contrast(1);}
  .ph-item-img::after{
    content:''; position:absolute; inset:0;
    background:linear-gradient(160deg,rgba(20,82,204,.18) 0%,rgba(10,23,48,.42) 100%);
  }
  .ph-item-tag{
    position:absolute; top:16px; left:16px; z-index:2;
    font-family:var(--mono); font-size:10px; letter-spacing:.16em;
    background:var(--accent); color:var(--paper);
    padding:6px 12px; text-transform:uppercase;
  }
  .ph-item-body{padding:32px 32px 36px;}
  .ph-item-name{
    font-family:var(--serif-cn); font-weight:600; font-size:24px;
    margin-bottom:12px;
  }
  .ph-item-en{
    font-family:var(--mono); font-size:11px; letter-spacing:.16em;
    color:var(--ink-mute); text-transform:uppercase; margin-bottom:18px;
  }
  .ph-item-desc{
    font-size:14px; line-height:1.85; color:var(--ink-soft);
    font-weight:300; margin-bottom:22px;
  }
  .ph-item-specs{display:flex; flex-wrap:wrap; gap:8px;}
  .ph-item-specs span{
    font-family:var(--mono); font-size:10px; letter-spacing:.1em;
    border:1px solid var(--line-soft); color:var(--ink-mute);
    padding:5px 10px;
  }
  /* 工艺/特性条 */
  .ph-feat{background:var(--bg-deep);}
  .ph-feat-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:0;
    margin-top:56px; border-top:1px solid var(--line);
  }
  .ph-feat-cell{
    padding:40px 28px; border-right:1px solid var(--line-soft);
  }
  .ph-feat-cell:last-child{border-right:none;}
  .ph-feat-num{
    font-family:var(--serif-en); font-size:42px; font-weight:500;
    color:var(--accent); line-height:1; margin-bottom:16px;
  }
  .ph-feat-h{
    font-family:var(--serif-cn); font-weight:600; font-size:18px;
    margin-bottom:10px;
  }
  .ph-feat-p{
    font-size:13px; line-height:1.8; color:var(--ink-mute); font-weight:300;
  }
  /* 应用领域 */
  .ph-apps{display:flex; flex-wrap:wrap; gap:14px; margin-top:44px;}
  .ph-app{
    display:flex; align-items:center; gap:12px;
    border:1px solid var(--line-soft); padding:16px 22px;
    font-family:var(--serif-cn); font-size:15px; font-weight:500;
    transition:all .3s;
  }
  .ph-app:hover{background:var(--ink); color:var(--paper); border-color:var(--ink);}
  .ph-app i{
    width:7px; height:7px; background:var(--accent);
    border-radius:50%; display:block; flex-shrink:0;
  }
  /* 大图展示带 */
  .ph-showcase{
    position:relative; height:480px; overflow:hidden; margin-top:0;
  }
  .ph-showcase img{
    width:100%; height:100%; object-fit:cover;
    filter:saturate(.7) brightness(.78);
  }
  .ph-showcase-cap{
    position:absolute; inset:0; z-index:2;
    display:flex; flex-direction:column; justify-content:center;
    padding:0 48px; max-width:1180px; margin:0 auto; left:0; right:0;
  }
  .ph-showcase-cap h3{
    font-family:var(--serif-cn); font-weight:600; color:var(--paper);
    font-size:clamp(28px,3.4vw,44px); line-height:1.2; margin-bottom:18px;
    max-width:620px;
  }
  .ph-showcase-cap p{
    font-size:15px; line-height:1.85; color:rgba(255,255,255,.78);
    max-width:520px; font-weight:300;
  }
  .ph-showcase::before{
    content:''; position:absolute; inset:0; z-index:1;
    background:linear-gradient(100deg,rgba(10,23,48,.85) 0%,rgba(10,23,48,.3) 70%);
  }
  /* CTA 区 */
  .ph-cta{
    background:var(--ink); color:var(--paper);
    text-align:center; padding:100px 48px;
  }
  .ph-cta h2{
    font-family:var(--serif-cn); font-weight:600;
    font-size:clamp(30px,3.6vw,46px); margin-bottom:20px;
  }
  .ph-cta h2 em{font-style:normal; color:var(--accent-light);}
  .ph-cta p{
    font-size:15px; color:rgba(255,255,255,.65);
    margin-bottom:36px; font-weight:300;
  }
  .ph-cta-btns{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
  .ph-btn{
    font-family:var(--mono); font-size:13px; letter-spacing:.14em;
    padding:18px 38px; text-decoration:none; text-transform:uppercase;
    transition:all .3s; display:inline-block;
  }
  .ph-btn-primary{background:var(--accent); color:var(--paper);}
  .ph-btn-primary:hover{background:var(--accent-light);}
  .ph-btn-ghost{border:1px solid rgba(255,255,255,.3); color:var(--paper);}
  .ph-btn-ghost:hover{background:var(--paper); color:var(--ink);}
  /* 返回链接条 */
  .ph-backbar{
    max-width:1180px; margin:0 auto; padding:28px 48px;
    border-bottom:1px solid var(--line-soft);
  }
  .ph-backbar a{
    font-family:var(--mono); font-size:12px; letter-spacing:.12em;
    color:var(--ink-mute); text-decoration:none;
  }
  .ph-backbar a:hover{color:var(--accent);}
  @media(max-width:860px){
    .ph-hero{padding:120px 24px 70px;}
    .ph-sec{padding:70px 24px;}
    .ph-items{grid-template-columns:1fr;}
    .ph-feat-grid{grid-template-columns:1fr 1fr;}
    .ph-feat-cell:nth-child(2){border-right:none;}
    .ph-feat-cell{border-bottom:1px solid var(--line-soft);}
    .ph-showcase-cap{padding:0 24px;}
    .ph-hero-meta{gap:24px;}
  }


/* --- 3. 新闻 / 案例卡片 --------------------------------------------------- */

  .case-grid2{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px;}
  .case-card2{position:relative;background:var(--paper);border:1px solid var(--line-soft);
    overflow:hidden;text-decoration:none;color:inherit;
    transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s;display:flex;flex-direction:column;}
  .case-card2:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(20,82,204,.32);}
  /* 案例筛选：hidden 必须压过上面的 display 规则 */
  .case-card[hidden], .case-card2[hidden]{display:none !important;}
  .case-card2-img{position:relative;height:220px;overflow:hidden;background:var(--ink);}
  .case-card2-img img{width:100%;height:100%;object-fit:cover;
    filter:saturate(.6) brightness(.85) contrast(1.05);transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s;}
  .case-card2:hover .case-card2-img img{transform:scale(1.07);filter:saturate(.9) brightness(1);}
  .case-card2-img::after{content:'';position:absolute;inset:0;
    background:linear-gradient(160deg,rgba(20,82,204,.2) 0%,rgba(10,23,48,.45) 100%);}
  .case-card2-tag{position:absolute;top:14px;left:14px;z-index:2;font-family:var(--mono);
    font-size:10px;letter-spacing:.14em;background:var(--accent);color:var(--paper);padding:5px 11px;text-transform:uppercase;}
  .case-card2-no{position:absolute;top:14px;right:14px;z-index:2;font-family:var(--serif-en);
    font-size:30px;font-style:italic;color:rgba(255,255,255,.5);line-height:1;}
  .case-card2-body{padding:28px 28px 32px;flex:1;display:flex;flex-direction:column;}
  .case-card2-date{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--ink-mute);margin-bottom:12px;}
  .case-card2-name{font-family:var(--serif-cn);font-weight:600;font-size:21px;margin-bottom:12px;line-height:1.35;}
  .case-card2-desc{font-size:13.5px;line-height:1.8;color:var(--ink-soft);font-weight:300;margin-bottom:20px;flex:1;}
  .case-card2-link{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--accent);
    text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;}
  .case-card2:hover .case-card2-link{gap:14px;}
  .case-card2-link::after{content:'→';transition:transform .3s;}
  .news-list{margin-top:56px;border-top:1px solid var(--line);}
  .news-row{display:grid;grid-template-columns:180px 1fr auto;gap:32px;align-items:center;
    padding:32px 8px;border-bottom:1px solid var(--line-soft);text-decoration:none;color:inherit;transition:background .3s,padding .3s;}
  .news-row:hover{background:var(--bg-deep);padding-left:20px;padding-right:20px;}
  .news-row-date{font-family:var(--mono);font-size:13px;color:var(--accent);letter-spacing:.06em;}
  .news-row-date .cat{display:block;color:var(--ink-mute);font-size:11px;margin-top:6px;letter-spacing:.12em;}
  .news-row-title{font-family:var(--serif-cn);font-weight:500;font-size:20px;line-height:1.5;}
  .news-row-arrow{font-family:var(--mono);font-size:12px;color:var(--ink-mute);letter-spacing:.1em;white-space:nowrap;}
  .news-row:hover .news-row-arrow{color:var(--accent);}
  .news-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:0;margin-top:56px;
    border:1px solid var(--line-soft);overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .4s;}
  .news-hero:hover{box-shadow:0 30px 60px -30px rgba(20,82,204,.3);}
  .news-hero-img{position:relative;min-height:340px;overflow:hidden;background:var(--ink);}
  .news-hero-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;
    filter:saturate(.65) brightness(.82);transition:transform .9s;}
  .news-hero:hover .news-hero-img img{transform:scale(1.06);}
  .news-hero-img::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(10,23,48,.5),rgba(20,82,204,.2));}
  .news-hero-tag{position:absolute;top:18px;left:18px;z-index:2;font-family:var(--mono);
    font-size:10px;letter-spacing:.16em;background:var(--accent);color:#fff;padding:6px 12px;text-transform:uppercase;}
  .news-hero-body{padding:48px 44px;display:flex;flex-direction:column;justify-content:center;background:var(--paper);}
  .news-hero-date{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.1em;margin-bottom:18px;}
  .news-hero-title{font-family:var(--serif-cn);font-weight:600;font-size:30px;line-height:1.4;margin-bottom:18px;}
  .news-hero-excerpt{font-size:14px;line-height:1.9;color:var(--ink-soft);font-weight:300;margin-bottom:26px;}
  .news-hero-link{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--accent);
    text-transform:uppercase;display:inline-flex;align-items:center;gap:10px;}
  @media(max-width:860px){.case-grid2{grid-template-columns:1fr;}.news-hero{grid-template-columns:1fr;}
    .news-row{grid-template-columns:1fr;gap:8px;}.news-row-arrow{display:none;}
    .news-row-date{display:flex;gap:16px;align-items:center;}.news-row-date .cat{margin-top:0;}}


/* --- 4. 文章正文 ---------------------------------------------------------- */

  .article-body{max-width:780px;margin:0 auto;}
  .article-body h3{font-family:var(--serif-cn);font-weight:600;font-size:22px;
    margin:40px 0 18px;color:var(--ink);padding-left:16px;border-left:3px solid var(--accent);}
  .article-body p{font-size:15.5px;line-height:2;color:var(--ink-soft);
    font-weight:300;margin-bottom:20px;}
  .article-meta{font-family:var(--mono);font-size:12px;color:var(--ink-mute);
    letter-spacing:.1em;margin-bottom:40px;padding-bottom:24px;border-bottom:1px solid var(--line-soft);}
  .article-meta .cat{color:var(--accent);}


/* --- 5. 产品线卡片 -------------------------------------------------------- */

  .pl-grid{
    display:grid; grid-template-columns:repeat(2,1fr); gap:2px;
    background:var(--line-soft); margin-top:56px;
    border:1px solid var(--line-soft);
  }
  .pl-card{
    position:relative; background:var(--paper); overflow:hidden;
    min-height:420px; display:flex; flex-direction:column;
    justify-content:flex-end; text-decoration:none; color:inherit;
  }
  .pl-card-img{position:absolute; inset:0; z-index:0;}
  .pl-card-img img{
    width:100%; height:100%; object-fit:cover;
    filter:saturate(.55) brightness(.62);
    transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .5s;
  }
  .pl-card:hover .pl-card-img img{transform:scale(1.07); filter:saturate(.85) brightness(.7);}
  .pl-card-img::after{
    content:''; position:absolute; inset:0;
    background:linear-gradient(to top,rgba(10,23,48,.94) 0%,rgba(10,23,48,.35) 55%,rgba(10,23,48,.15) 100%);
  }
  .pl-card-body{position:relative; z-index:2; padding:44px 40px 46px;}
  .pl-card-idx{
    font-family:var(--mono); font-size:12px; letter-spacing:.2em;
    color:var(--accent-light); margin-bottom:16px;
  }
  .pl-card-name{
    font-family:var(--serif-cn); font-weight:600; font-size:30px;
    color:var(--paper); margin-bottom:8px;
  }
  .pl-card-en{
    font-family:var(--mono); font-size:11px; letter-spacing:.16em;
    color:rgba(255,255,255,.55); text-transform:uppercase; margin-bottom:18px;
  }
  .pl-card-desc{
    font-size:14px; line-height:1.85; color:rgba(255,255,255,.78);
    font-weight:300; margin-bottom:22px; max-width:440px;
  }
  .pl-card-link{
    font-family:var(--mono); font-size:12px; letter-spacing:.14em;
    color:var(--accent-light); text-transform:uppercase;
    display:inline-flex; align-items:center; gap:10px;
  }
  .pl-card:hover .pl-card-link{gap:16px;}
  .pl-card-link::after{content:'→'; transition:transform .3s;}
  @media(max-width:860px){.pl-grid{grid-template-columns:1fr;}}


/* ==========================================================================
   6. 字体：完全自托管，无外部请求
   拉丁字体（Cormorant Garamond / JetBrains Mono）本地加载，共 236KB。
   中文一律使用系统字体（苹方 / 微软雅黑 / 思源黑体），
   不再下载数 MB 的中文字体包 —— 这是首屏速度提升最大的一项。
   ========================================================================== */
@font-face{
  font-family:'Cormorant Garamond';
  src:url('fonts/CormorantGaramond-var.woff2') format('woff2-variations'),
      url('fonts/CormorantGaramond-var.woff2') format('woff2');
  font-weight:300 700;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Cormorant Garamond';
  src:url('fonts/CormorantGaramond-Italic-var.woff2') format('woff2-variations'),
      url('fonts/CormorantGaramond-Italic-var.woff2') format('woff2');
  font-weight:300 700;
  font-style:italic;
  font-display:swap;
}
@font-face{
  font-family:'JetBrains Mono';
  src:url('fonts/JetBrainsMono-Regular.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

/* ==========================================================================
   7. 新增：跳转到主内容（键盘/读屏用户）
   ========================================================================== */
.skip-link{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--ink); color:var(--paper);
  padding:14px 24px;
  font-family:var(--mono); font-size:12px; letter-spacing:0.1em;
  text-decoration:none;
}
.skip-link:focus{left:0;}

/* ==========================================================================
   8. 新增：移动端导航
   原先 .nav-links 在 968px 以下直接 display:none，手机上没有任何导航。
   ========================================================================== */
.nav-toggle{
  display:none;
  width:44px; height:44px;
  padding:0;
  background:none;
  border:1px solid var(--line-soft);
  cursor:pointer;
  position:relative;
  flex-shrink:0;
}
.nav-toggle:hover{border-color:var(--accent);}
.nav-toggle span{
  position:absolute;
  left:12px; right:12px;
  height:1.5px;
  background:var(--ink);
  transition:transform .35s ease, opacity .2s ease;
}
.nav-toggle span:nth-child(1){top:15px;}
.nav-toggle span:nth-child(2){top:21px;}
.nav-toggle span:nth-child(3){top:27px;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

.nav-scrim{
  position:fixed; inset:0;
  background:rgba(10,23,48,0.45);
  backdrop-filter:blur(2px);
  opacity:0; pointer-events:none;
  transition:opacity .35s ease;
  z-index:98;
}
body.nav-open .nav-scrim{opacity:1; pointer-events:auto;}
body.nav-open{overflow:hidden;}

@media (max-width: 968px){
  .nav-toggle{display:block;}

  /* 覆盖原有的 display:none */
  nav .nav-links{
    display:flex !important;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    position:fixed;
    top:0; right:0; bottom:0;
    width:min(82vw, 340px);
    padding:96px 32px 40px;
    margin:0;
    background:var(--paper);
    border-left:1px solid var(--line-soft);
    box-shadow:-24px 0 60px rgba(10,23,48,0.10);
    transform:translateX(100%);
    transition:transform .42s cubic-bezier(.22,.61,.36,1);
    overflow-y:auto;
    z-index:99;
    list-style:none;
  }
  body.nav-open nav .nav-links{transform:translateX(0);}

  nav .nav-links li{width:100%; border-bottom:1px solid var(--line-soft);}
  nav .nav-links li:last-child{border-bottom:none; margin-top:24px;}
  nav .nav-links a{
    display:block;
    width:100%;
    padding:18px 0;
    font-family:var(--sans-cn);
    font-size:17px;
    font-weight:400;
    letter-spacing:0.02em;
  }
  nav .nav-links a::after{display:none;}
  nav .nav-links .nav-cta{
    padding:16px 24px;
    text-align:center;
    background:var(--ink);
    color:var(--paper);
    border:1px solid var(--ink);
  }
  nav .nav-links .nav-cta:hover{background:var(--accent); border-color:var(--accent);}

  /* 抽屉页脚：电话直拨 */
  .nav-drawer-foot{
    margin-top:auto;
    padding-top:32px;
    width:100%;
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.12em;
    color:var(--ink-mute);
    line-height:2;
  }
  .nav-drawer-foot a{color:var(--ink); font-size:15px; letter-spacing:0.04em;}
}
@media (min-width: 969px){
  .nav-drawer-foot{display:none;}
}

/* ==========================================================================
   9. 新增：键盘焦点可见
   原先全站没有任何 :focus 样式，键盘用户完全看不到光标在哪。
   ========================================================================== */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
}
.form-input:focus-visible,
.form-textarea:focus-visible,
.form-select:focus-visible{outline-offset:0;}

/* ==========================================================================
   10. 新增：表单状态
   ========================================================================== */
.form-field-error{
  display:none;
  margin-top:8px;
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.06em;
  color:#B3261E;
}
.form-group.has-error .form-field-error{display:block;}
.form-group.has-error .form-input,
.form-group.has-error .form-textarea,
.form-group.has-error .form-select{border-color:#B3261E;}

.form-submit[disabled]{opacity:.55; cursor:progress;}

.form-status{
  grid-column:1/-1;
  margin-top:24px;
  padding:20px 24px;
  border:1px solid var(--line-soft);
  border-left:2px solid var(--accent);
  background:var(--paper);
  font-size:15px;
  line-height:1.7;
  display:none;
}
.form-status.is-visible{display:block;}
.form-status.is-error{border-left-color:#B3261E;}
.form-status strong{
  display:block;
  font-family:var(--serif-cn);
  font-weight:600;
  font-size:17px;
  margin-bottom:6px;
}
.form-status a{color:var(--accent); text-decoration:underline;}

/* 蜜罐字段：机器人会填，真人看不见 */
.form-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}

/* ==========================================================================
   11. 新增：图片占位与加载失败降级
   原先 onerror 直接 display:none，图挂了就是一片空白。
   现在退化成带标注的蓝图底纹占位块，版式不塌。
   ========================================================================== */
.img-frame{
  position:relative;
  overflow:hidden;
  background:var(--bg-deep);
  background-image:
    linear-gradient(to right, var(--line-blueprint) 1px, transparent 1px),
    linear-gradient(to bottom, var(--line-blueprint) 1px, transparent 1px);
  background-size:24px 24px;
}
img.is-broken{
  opacity:0;
}
.img-frame::after{
  content:attr(data-fallback);
  position:absolute; inset:0;
  display:none;
  align-items:center; justify-content:center;
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.14em;
  color:var(--ink-mute);
  text-align:center;
  padding:16px;
}
.img-frame.has-broken::after{display:flex;}

/* ==========================================================================
   12. 新增：技术参数表（设备 / 产能 / 公差）
   给采购与工艺工程师看的硬指标区。
   ========================================================================== */
.spec-wrap{overflow-x:auto; margin-top:48px;}
.spec-table{
  width:100%;
  min-width:640px;
  border-collapse:collapse;
  font-size:15px;
}
.spec-table caption{
  text-align:left;
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.16em;
  color:var(--ink-mute);
  padding-bottom:16px;
}
.spec-table th,
.spec-table td{
  text-align:left;
  padding:16px 20px 16px 0;
  border-bottom:1px solid var(--line-soft);
  vertical-align:top;
}
.spec-table thead th{
  font-family:var(--mono);
  font-size:11px;
  font-weight:500;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--ink-mute);
  border-bottom:1px solid var(--ink);
  padding-bottom:12px;
}
.spec-table tbody th{
  font-family:var(--serif-cn);
  font-weight:500;
  color:var(--ink);
  white-space:nowrap;
}
.spec-table td.num{
  font-family:var(--mono);
  font-variant-numeric:tabular-nums;
  color:var(--ink-soft);
}
.spec-table tbody tr:hover{background:rgba(20,82,204,0.03);}
.spec-note{
  margin-top:20px;
  font-size:13px;
  color:var(--ink-mute);
  line-height:1.8;
}

/* ==========================================================================
   13. 新增：尊重「减少动态效果」系统设置
   ========================================================================== */
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  html{scroll-behavior:auto;}
  .reveal{opacity:1 !important; transform:none !important;}
  .hero-slide{transition:none;}
}

/* ==========================================================================
   14. 新增：打印样式
   采购常把产品页打出来或转 PDF 存档。
   ========================================================================== */
@media print{
  nav, .nav-scrim, .nav-toggle, .skip-link,
  .cta-section, .contact-form, .video-tour-poster,
  .hero-gear, .hero-gear-2, .map-actions{display:none !important;}
  body::before, body::after{display:none !important;}
  body{background:#fff; color:#000; font-size:11pt;}
  .reveal{opacity:1 !important; transform:none !important;}
  a[href^="http"]::after{content:" (" attr(href) ")"; font-size:9pt; color:#555;}
  section{page-break-inside:avoid; padding:24px 0 !important;}
  .spec-table{min-width:0;}
}


/* 仅供读屏软件读取，视觉上隐藏 */
.sr-only{
  position:absolute; width:1px; height:1px;
  padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}


/* ==========================================================================
   15. 知识产权 / 专利
   ========================================================================== */

/* --- 概览指标条 --- */
.ip-summary{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:0;
  margin:56px 0 8px;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--line-soft);
}
.ip-sum-cell{
  padding:28px 24px 26px 0;
  border-right:1px solid var(--line-soft);
}
.ip-sum-cell:last-child{border-right:none;}
.ip-sum-n{
  font-family:var(--serif-en);
  font-size:56px;
  font-weight:500;
  line-height:1;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
}
.ip-sum-n em{font-style:normal; color:var(--accent);}
.ip-sum-l{
  margin-top:10px;
  font-size:14px;
  color:var(--ink-mute);
  line-height:1.5;
}
.ip-sum-l b{display:block; color:var(--ink); font-weight:500; font-size:15px;}

/* --- 分类筛选 --- */
.ip-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:56px 0 8px;
}
.ip-filter{
  padding:10px 18px;
  border:1px solid var(--line-soft);
  background:none;
  font-family:var(--sans-cn);
  font-size:14px;
  color:var(--ink-mute);
  cursor:pointer;
  transition:all .25s ease;
  line-height:1.4;
}
.ip-filter:hover{border-color:var(--accent); color:var(--accent);}
.ip-filter[aria-pressed="true"]{
  background:var(--ink);
  border-color:var(--ink);
  color:var(--paper);
}
.ip-filter .c{
  font-family:var(--mono);
  font-size:11px;
  opacity:.65;
  margin-left:6px;
}

/* --- 专利行 --- */
.ip-group{margin-top:64px;}
.ip-group-head{
  display:flex;
  align-items:baseline;
  gap:16px;
  padding-bottom:14px;
  border-bottom:1px solid var(--ink);
}
.ip-group-title{
  font-family:var(--serif-cn);
  font-size:22px;
  font-weight:600;
  color:var(--ink);
}
.ip-group-en{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.14em;
  color:var(--ink-mute);
  text-transform:uppercase;
}
.ip-group-n{
  margin-left:auto;
  font-family:var(--mono);
  font-size:12px;
  color:var(--accent);
}

.ip-row{
  display:grid;
  grid-template-columns:64px 1fr 220px 128px;
  gap:24px;
  align-items:start;
  padding:22px 0;
  border-bottom:1px solid var(--line-soft);
}
.ip-row:hover{background:rgba(20,82,204,0.025);}
.ip-idx{
  font-family:var(--mono);
  font-size:12px;
  color:var(--ink-mute);
  padding-top:4px;
  font-variant-numeric:tabular-nums;
}
.ip-name{
  font-family:var(--serif-cn);
  font-size:17px;
  font-weight:500;
  line-height:1.55;
  color:var(--ink);
}
.ip-meta{
  font-family:var(--mono);
  font-size:12px;
  line-height:1.9;
  color:var(--ink-mute);
  font-variant-numeric:tabular-nums;
}
.ip-meta b{color:var(--ink-soft); font-weight:400;}
.ip-badge{
  display:inline-block;
  padding:5px 10px;
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:0.1em;
  border:1px solid var(--line-soft);
  color:var(--ink-mute);
  white-space:nowrap;
}
.ip-badge.is-invention{
  border-color:var(--accent);
  color:var(--accent);
  background:rgba(20,82,204,0.05);
}
.ip-inventors{
  margin-top:8px;
  font-size:13px;
  color:var(--ink-mute);
}

.ip-note{
  margin-top:48px;
  padding:24px 28px;
  border:1px solid var(--line-soft);
  border-left:2px solid var(--accent);
  background:var(--paper);
  font-size:14px;
  line-height:1.85;
  color:var(--ink-mute);
}
.ip-note b{color:var(--ink); font-weight:500;}

/* --- 首页摘要区块 --- */
.ip-home-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:20px;
  margin-top:48px;
}
.ip-card{
  padding:32px 26px 30px;
  border:1px solid var(--line-soft);
  background:var(--paper);
  transition:border-color .3s ease, transform .3s ease;
}
.ip-card:hover{border-color:var(--accent); transform:translateY(-3px);}
.ip-card-n{
  font-family:var(--serif-en);
  font-size:48px;
  font-weight:500;
  line-height:1;
  color:var(--accent);
  font-variant-numeric:tabular-nums;
}
.ip-card-t{
  margin-top:14px;
  font-family:var(--serif-cn);
  font-size:17px;
  font-weight:500;
  color:var(--ink);
}
.ip-card-d{
  margin-top:8px;
  font-size:13px;
  line-height:1.7;
  color:var(--ink-mute);
}

@media (max-width: 1200px){
  .ip-row{grid-template-columns:52px 1fr 200px;}
  .ip-row .ip-badge-cell{grid-column:2/-1; margin-top:-8px;}
}
@media (max-width: 968px){
  .ip-summary{grid-template-columns:1fr 1fr;}
  .ip-sum-cell{padding:22px 18px 20px 0;}
  .ip-sum-cell:nth-child(2n){border-right:none;}
  .ip-sum-cell:nth-child(1),.ip-sum-cell:nth-child(2){border-bottom:1px solid var(--line-soft);}
  .ip-sum-n{font-size:42px;}
  .ip-home-grid{grid-template-columns:1fr 1fr;}
  .ip-row{grid-template-columns:36px 1fr; gap:12px; padding:20px 0;}
  .ip-row .ip-meta{grid-column:2; margin-top:6px;}
  .ip-row .ip-badge-cell{grid-column:2; margin-top:8px;}
  .ip-name{font-size:16px;}
  .ip-group-head{flex-wrap:wrap; gap:8px;}
  .ip-group-n{margin-left:0; width:100%;}
}
@media (max-width: 560px){
  .ip-home-grid{grid-template-columns:1fr;}
}
