    :root{
      /* Brand */
      --primary-blue:#002D5E;
      --gold:#C5A059;

      /* Text */
      --text:#111827;
      --muted:#6B7280;

      /* Section backgrounds */
      --area-gray:#F5F5F5;

      /* Header sizing */
      --topnav-h: 34px;
      --mainnav-h: 60px;
      --header-h: calc(var(--topnav-h) + var(--mainnav-h));

      /* Header micro offsets */
      --topbar-shift-y: 10px;
      --topbar-shift-x: -1em;

      /* Layout */
      --edge-pad: 40px;
      --header-max: 1600px;

      /* Motion */
      --ease-smooth: cubic-bezier(.4, 0, .2, 1);

      /* Shadow */
      --shadow: 
        0 4px 6px -1px rgba(0, 0, 0, 0.05), 
        0 10px 15px -3px rgba(0, 0, 0, 0.05),
        0 25px 50px -12px rgba(0, 0, 0, 0.1);

      /* Logo anchor position */
      --logo-lock-x: 0px;
      --logo-lock-y: 10px;

      /* Reserved space */
      --logo-reserve: 260px;

      /* NEWS motion */
      --news-move: 920ms;
      --news-fade: 760ms;
      --news-zoom: 380ms;
      --news-enter-x: 110px;
      --news-content-shift: 1em;
      --news-text-shift-y: -0.5em;

      /* Header colors condensed */
      --nav-deep-blue: rgba(0, 20, 50, .96);
      --nav-hover-blue: rgba(0,45,94,.92);
    }

    *{margin:0;padding:0;box-sizing:border-box;}
    html{scroll-behavior:smooth;}
    body{
      /* 【修改】强制指定 Noto Sans SC 为首选字体 */
      font-family: "Noto Sans SC", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI",
                    Roboto, "Helvetica Neue", Arial, "Microsoft YaHei", sans-serif;
      line-height:1.7;
      color:var(--text);
      overflow-x:hidden;
      background:#fff;
      font-size: 16px; 
    }
    h1,h2,h3,h4{
      /* 【修改】强制指定 Noto Serif SC 为首选标题字体 */
      font-family: "Noto Serif SC", "Times New Roman","Songti SC",serif;
      letter-spacing:.3px;
    }
    a{color:inherit;text-decoration:none;}
    section{scroll-margin-top: calc(var(--header-h) + 16px);}

    /* ===========================
       HEADER
    =========================== */
    header{
      position:fixed;
      inset:0 0 auto 0;
      z-index:1000;
      height: var(--header-h);
      background: transparent;
      border-bottom: 1px solid transparent;
      will-change: height;
      transition:
        height 420ms var(--ease-smooth),
        border-color 420ms var(--ease-smooth),
        box-shadow 420ms var(--ease-smooth);
    }

    header::before{
      content:"";
      position:absolute;
      inset:0;
      background: linear-gradient(
        180deg,
        rgba(0,0,0,.28) 0%,
        rgba(0,0,0,.14) 44%,
        rgba(0,0,0,.05) 74%,
        rgba(0,0,0,0) 100%
      );
      opacity: 1;
      pointer-events:none;
      transition: opacity 420ms var(--ease-smooth);
    }

    header::after{
      content:"";
      position:absolute;
      inset:0;
      background: rgba(255,255,255,.92);
      backdrop-filter: blur(14px) saturate(160%);
      -webkit-backdrop-filter: blur(14px) saturate(160%);
      opacity: 0;
      pointer-events:none;
      transition: opacity 420ms var(--ease-smooth);
    }

    header.condensed{
      height: var(--mainnav-h);
      border-bottom-color: rgba(17,24,39,.05);
      box-shadow: 0 4px 20px rgba(0,0,0,0.03); 
    }
    header.condensed::before{ opacity: 0; }
    header.condensed::after{ opacity: 1; }

    .header-inner{
      padding: 0 var(--edge-pad);
      max-width: var(--header-max);
      margin: 0 auto;
      position: relative;
      z-index: 1;
      height: 100%;
    }

    .logo-fixed{
      position:absolute;
      left: 0;
      top: 0;
      transform: translate(var(--logo-lock-x), var(--logo-lock-y));
      z-index: 3;
      user-select:none;
      display:flex;
      align-items:flex-start;
      justify-content:flex-start;
    }
    .logo-fixed img{
      display:block;
      width:auto;
      height: calc(var(--header-h) - 22px);
      transform-origin: left top;
      transition:
        height 420ms var(--ease-smooth),
        transform 420ms var(--ease-smooth),
        filter 420ms var(--ease-smooth);
      filter: drop-shadow(0 10px 18px rgba(0,0,0,.20));
    }

    header.condensed .logo-fixed img{
      height: calc(var(--mainnav-h) - 16px);
      filter:
        brightness(0) saturate(100%)
        invert(12%) sepia(39%) saturate(2120%) hue-rotate(186deg) brightness(92%) contrast(98%)
        drop-shadow(0 8px 14px rgba(0,0,0,.14));
    }

    .header-clip{
      height: 100%;
      overflow: hidden;
      position: relative;
    }

    .nav-stack{
      display:flex;
      flex-direction: column;
      transform: translateY(0);
      will-change: transform;
      transition: transform 420ms var(--ease-smooth);
    }
    header.condensed .nav-stack{
      transform: translateY(calc(-1 * var(--topnav-h)));
    }

    .topbar{
      height: var(--topnav-h);
      display:flex;
      align-items:center;
      justify-content:flex-end;
      position: relative;
      z-index: 2;

      transform: translateY(var(--topbar-shift-y));
      transition:
        transform 420ms var(--ease-smooth),
        padding-left 420ms var(--ease-smooth);

      pointer-events: none;
      padding-left: var(--logo-reserve);
    }
    header.condensed .topbar{ transform: translateY(0); }

    ul.top-links{
      list-style:none;
      display:flex;
      align-items:center;
      white-space:nowrap;
      gap: 1.4em;
      transform: translateX(var(--topbar-shift-x));
      pointer-events: auto;
    }
    .top-links a{
      font-family: "Noto Sans SC", sans-serif;
      font-weight: 400;
      font-size: 13px;
      letter-spacing: .18px;
      line-height: 1;
      padding: 6px 0;
      color: rgba(255,255,255,.86);
      text-shadow: 0 2px 14px rgba(0,0,0,.30);
      transition: opacity .18s ease, color 420ms var(--ease-smooth), text-shadow 420ms var(--ease-smooth);
      display:inline-block;
    }
    .top-links a:hover{opacity:.92;}
    .top-links a::after{ content:none !important; }

    .mainbar{
      height: var(--mainnav-h);
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap: 14px;
      position: relative;
      z-index: 1;
      padding-left: var(--logo-reserve);
      transition: padding-left 420ms var(--ease-smooth);
    }

    .right{
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap: 14px;
      min-width: 0;
    }

    ul.nav-links{
      list-style:none;
      display:flex;
      align-items:center;
      white-space:nowrap;
      gap: 2.1em;
    }

    .nav-links a{
      font-family: "Noto Sans SC", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Microsoft YaHei", sans-serif;
      font-weight: 400;
      font-size: 17px;
      letter-spacing: .15px;
      line-height: 1;
      padding: 10px 2px;
      color: rgba(255,255,255,.93);
      text-shadow: 0 2px 16px rgba(0,0,0,.28);
      transition:
        opacity .18s ease,
        color 420ms var(--ease-smooth),
        text-shadow 420ms var(--ease-smooth);
      position: relative;
      display: inline-block;
    }
    .nav-links a:hover{opacity:.95;}

    .nav-links a::after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:-3px;
      height: 1px;
      border-radius: 999px;
      background: rgba(245,245,245,.55);
      opacity: 0;
      transition: opacity 380ms var(--ease-smooth), background-color 420ms var(--ease-smooth);
      pointer-events:none;
    }
    .nav-links a:hover::after{ opacity: 1; }

    header.condensed .nav-links a{
      color: var(--nav-deep-blue);
      text-shadow: none;
    }
    header.condensed .nav-links a:hover{
      color: var(--nav-hover-blue);
      opacity: 1;
    }
    header.condensed .nav-links a::after{
      background: rgba(0,45,94,.25);
    }
    header.condensed .nav-links a:hover::after{
      background: rgba(0,45,94,.55);
    }

    header.condensed .top-links a{
      color: rgba(0,20,50,.70);
      text-shadow: none;
    }
    header.condensed .top-links a:hover{
      color: var(--nav-hover-blue);
      opacity: 1;
    }

    .search-btn{
      width: 40px;
      height: 40px;
      border-radius: 999px;
      border: none;
      background: transparent;
      cursor:pointer;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      transition: transform 260ms var(--ease-smooth), opacity 200ms ease, color 420ms var(--ease-smooth);
      color: #fff;
      padding: 0;
      opacity: .92;
      position: relative;
      flex: 0 0 auto;
    }
    .search-btn:hover{transform: translateY(-1px); opacity: 1;}
    .search-btn:focus-visible{
      outline: 2px solid rgba(255,255,255,.45);
      outline-offset: 2px;
      border-radius: 999px;
    }
    header.condensed .search-btn{
      color: rgba(0,45,94,.92);
    }
    header.condensed .search-btn:focus-visible{
      outline: 2px solid rgba(0,45,94,.28);
    }

    .search-btn svg{
      width:20px;height:20px;display:block;
      position:absolute;
      inset:0;
      margin:auto;
      transition:
        opacity 260ms ease,
        transform 420ms var(--ease-smooth);
      will-change: opacity, transform;
    }
    .search-btn .icon-search{ opacity: 1; transform: scale(1) rotate(0deg); }
    .search-btn .icon-close { opacity: 0; transform: scale(.88) rotate(-10deg); }
    header.search-open .search-btn .icon-search{ opacity: 0; transform: scale(.88) rotate(10deg); }
    header.search-open .search-btn .icon-close { opacity: 1; transform: scale(1) rotate(0deg); }

    .dropbar{
      position:absolute;
      left:0;
      top: 100%;
      width: 100vw;
      background: transparent;
      border: none;
      box-shadow: none;
      opacity: 0;
      transform: translateY(-10px);
      pointer-events:none;
      will-change: transform, opacity;
      transition:
        transform 360ms var(--ease-smooth),
        opacity 240ms var(--ease-smooth);
      z-index: 2;
    }
    header.search-open .dropbar{
      opacity: 1;
      transform: translateY(0);
      pointer-events:auto;
    }

    .dropbar .inner{
      padding: 12px var(--edge-pad);
      max-width: var(--header-max);
      margin: 0 auto;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap: 8px;
    }

    .search-field{
      position: relative;
      width: min(288px, calc(100vw - (var(--edge-pad) * 2) - 110px));
      flex: 0 0 auto;
      cursor: text;
      -webkit-tap-highlight-color: transparent;
    }
    .dropbar input{
      width: 100%;
      height: 40px;
      border-radius: 999px;
      border: 1px solid rgba(17,24,39,.12);
      background:#fff;
      padding: 0 50px 0 14px;
      outline:none;
      font-size: 14px;
      color: var(--text);
      -webkit-appearance: none;
      appearance: none;
      cursor: text;
    }

    .dropbar input:focus{
      border-color: rgba(0,45,94,.62);
      box-shadow:
        0 0 0 1px rgba(0,45,94,.42),
        0 0 22px rgba(0,45,94,.22),
        0 10px 28px rgba(0,45,94,.16);
    }

    .clear-btn{
      position:absolute;
      right: 6px;
      top: 50%;
      transform: translateY(-50%);
      width: 30px;
      height: 30px;
      border-radius: 999px;
      border: 1px solid rgba(0,45,94,.28);
      background: rgba(255,255,255,.85);
      display:flex;
      align-items:center;
      justify-content:center;
      cursor:pointer;
      opacity: 0;
      pointer-events: none;
      transition: opacity 200ms var(--ease-smooth), transform 240ms var(--ease-smooth);
    }
    .search-field.has-value .clear-btn{ opacity: 1; pointer-events: auto; }
    .clear-btn:hover{ transform: translateY(-50%) scale(1.02); }

    .btn{
      height: 40px;
      padding: 0 14px;
      border-radius: 999px;
      border: 1px solid transparent;
      cursor:pointer;
      font-weight: 600;
      letter-spacing:.2px;
      transition: transform 260ms var(--ease-smooth);
      white-space:nowrap;
      font-family: "Noto Sans SC", sans-serif;
    }
    .btn:hover{transform: translateY(-1px);}
    .btn-ghost{
      background: rgba(245,245,245,.92);
      border: 1px solid rgba(17,24,39,.10);
      color: rgba(17,24,39,.72);
    }
    .btn-icon{
      width: 40px;
      padding: 0;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      cursor:pointer;
      margin-left: 12px;
    }
    .btn-icon svg{ width:18px; height:18px; display:block; pointer-events:none; }

    .search-hit{
      outline: 2px solid rgba(197,160,89,.70);
      outline-offset: 6px;
      border-radius: 10px;
      transition: outline-color 260ms var(--ease-smooth);
    }

    /* ===========================
       HERO (FIXED & CENTERED)
    =========================== */
    .hero{
      position:relative;
      width:100%;
      aspect-ratio: 5973 / 3024;
      overflow:hidden;
      background:#000;
    }

    .hero-media{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit: cover;
      object-position: center center;
    }

    .hero-overlay{
      position:absolute;
      inset:0;
      background:
        radial-gradient(900px 580px at 18% 70%, rgba(0,0,0,.25), transparent 62%),
        linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.09)),
        linear-gradient(90deg, rgba(0,0,0,.06), rgba(0,0,0,.02));
      pointer-events:none;
    }

    .hero-caption{
      position:absolute;
      left: var(--edge-pad);
      bottom: 15%; /* 稍微抬高 */
      z-index:2;
      max-width: min(920px, calc(100vw - var(--edge-pad) * 2));
      color:#fff;
      text-shadow: 0 12px 40px rgba(0,0,0,.30);
    }
    .hero-title{
      font-family: "Noto Serif SC", serif;
      font-weight: 900;
      /* Font Size: 更有冲击力的大标题 */
      font-size: clamp(42px, 5.2vw, 84px);
      line-height: 1.1;
      letter-spacing: 2px;
      white-space: nowrap;
    }
    .hero-sub{
      margin-top: 32px;
      font-family: "Noto Sans SC", sans-serif;
      font-weight: 700;
      /* Font Size: 副标题稍大，增加可读性 */
      font-size: clamp(16px, 1.4vw, 22px);
      letter-spacing: 3px;
      color: rgba(255,255,255,.95);
      display:flex;
      align-items:center;
      gap: 16px;
    }
    .hero-sub::before{
      content:"";
      width: 72px;
      height: 2px;
      background: rgba(197,160,89,.92);
      border-radius: 999px;
      box-shadow: 0 10px 26px rgba(0,0,0,.14);
      flex: 0 0 auto;
    }

    /* ===========================
       SECTIONS
    =========================== */
    section{padding: 100px var(--edge-pad);}
    .section-title{text-align:center;margin-bottom:64px;}
    .section-title h3{
      /* Font Size: 章节标题更醒目 */
      font-size: 34px;
      color: var(--primary-blue);
      display:inline-block;
      position:relative;
      padding-bottom: 14px;
      font-weight: 800;
      /* 【修改】间距拉大到 2px (增加1px) */
      letter-spacing: 2px;
    }

    /* Alternating backgrounds */
    #news { background: #fff; }
    #areas { background: var(--area-gray); }
    #about { background: #fff; }
    #partners { background: var(--area-gray); }

    /* ===========================
       ABOUT
    =========================== */
    #about {
      padding: 120px var(--edge-pad);
      background: #fff;
    }

    .about-main-layout {
      max-width: 1280px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 5fr 7fr;
      gap: 60px;
      align-items: flex-start;
    }

    /* Left Visual */
    .about-visual {
      position: relative;
    }

    .about-visual img {
      width: 90%;
      margin: 0 auto;
      height: auto;
      aspect-ratio: 4/5;
      object-fit: cover;
      display: block;
      box-shadow: 0 20px 40px rgba(0,0,0,0.1); 
      position: relative;
      z-index: 2;
    }
    /* Simple decorative lines */
    .about-visual::before {
      content: "";
      position: absolute;
      top: -15px;
      left: calc(5% - 15px);
      width: 40%; height: 40%;
      border-top: 2px solid var(--gold);
      border-left: 2px solid var(--gold);
      z-index: 1;
    }

    /* Right Content */
    .about-content {
      padding-top: 4px;
      display: flex;
      flex-direction: column;
    }

    /* Title Design */
    .about-header-design {
      display: flex;
      flex-direction: row;
      align-items: baseline;
      gap: 12px;
      margin-bottom: 36px;
    }
    .about-en-tag {
      font-family: "Noto Sans SC", sans-serif;
      font-weight: 700;
      /* Font Size: 小标签 */
      font-size: 14px;
      letter-spacing: 2px;
      color: #999;
    }
    .about-cn-title {
      font-family: "Noto Serif SC", serif;
      /* 【修改】改为 36px */
      font-size: 36px;
      line-height: 1.25;
      font-weight: 900;
      color: var(--primary-blue);
      /* 【修改】增加字间距 */
      letter-spacing: 2px;
    }

    /* Text Re-layout */
    .about-paragraphs {
      margin-bottom: 36px;
    }
    .about-paragraphs p {
      /* Font Size: 正文加大到 17px 更显专业 */
      font-size: 17px;
      line-height: 1.9;
      color: #333;
      margin-bottom: 26px;
      text-align: justify;
      letter-spacing: 0.2px;
    }
    .about-paragraphs p:last-child {
      margin-bottom: 0;
    }

    /* Award Section */
    .award-box-gradient {
      margin-top: 20px;
      padding: 30px 40px;
      background: linear-gradient(90deg, rgba(197, 160, 89, 0.15) 0%, rgba(255, 255, 255, 0) 100%);
      border-left: 4px solid var(--gold);
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .aw-line1 {
      font-family: "Noto Serif SC", serif;
      font-weight: 800;
      /* Font Size: 获奖标题 */
      font-size: 22px;
      color: var(--primary-blue);
      letter-spacing: 0.5px;
    }
    .aw-line2 {
      font-family: "Noto Sans SC", sans-serif;
      /* Font Size: 愿景描述 */
      font-size: 15px;
      line-height: 1.6;
      color: #555;
    }

    /* Offices */
    .offices-original-wrapper {
      max-width: 1280px;
      margin: 80px auto 0;
      border-top: 1px solid rgba(0,0,0,0.08);
      padding-top: 60px;
    }
    .offices-wrap{
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      column-gap: 56px;
      row-gap: 34px;
      align-items: start;
    }
    .office-col{
      position: relative;
      padding-left: 22px;
      min-width: 0;
    }
    .office-col::before{
      content:"";
      position:absolute;
      left:0;
      top: 6px;
      bottom: 4px;
      width: 2px;
      background: rgba(0,45,94,.78);
    }
    .office-name{
      font-family: "Noto Sans SC", sans-serif;
      font-weight: 600;
      /* Font Size: 办事处名称 */
      font-size: 19px;
      letter-spacing: .5px;
      color: rgba(17,24,39,.9);
      line-height: 1.6;
      margin-bottom: 8px;
    }
    .office-lines{
      font-family: "Noto Sans SC", sans-serif;
      font-weight: 400;
      /* Font Size: 地址细节 */
      font-size: 15px;
      line-height: 2.1;
      color: #444;
      word-break: break-word;
    }
    .office-lines .k{
      font-weight: 600;
      color: #222;
    }
    .office-lines a{
      color: rgba(0,45,94,.92);
      border-bottom: 1px solid rgba(0,45,94,.18);
      transition: border-color 320ms var(--ease-smooth), color 320ms var(--ease-smooth);
    }
    .office-lines a:hover{
      color: rgba(0,45,94,1);
      border-bottom-color: rgba(0,45,94,.45);
    }

    /* Responsive for About */
    @media (max-width: 1060px) {
      .about-main-layout {
        grid-template-columns: 1fr;
        gap: 60px;
      }
      .about-visual {
        max-width: 600px;
        margin: 0 auto;
      }
      .about-visual img {
        aspect-ratio: 16/9;
      }
      .offices-wrap {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 40px;
      }
    }
    @media (max-width: 760px) {
      #about { padding: 80px var(--edge-pad); }
      .about-cn-title { font-size: 28px; }
      .about-header-design {
        /* 手机端由于屏幕窄，可能需要恢复为纵向 */
        flex-direction: column;
        align-items: flex-start;
      }
      .offices-wrap { grid-template-columns: 1fr; }
      .about-visual::before { display: none; }
    }


    /* ===========================
       NEW PRACTICE AREAS (Accordion)
    =========================== */
    .areas-container {
      display: flex;
      width: 100%;
      max-width: var(--header-max);
      margin: 0 auto;
      height: 600px; /* 稍微增高以容纳大字体 */
      gap: 0;
      overflow: hidden;
      box-shadow: 0 20px 40px rgba(0,0,0,0.08);
    }

    .area-item {
      position: relative;
      flex: 1;
      min-width: 0;
      border-right: 1px solid rgba(255,255,255,0.15);
      cursor: pointer;
      transition: flex 0.6s cubic-bezier(0.25, 1, 0.5, 1);
      overflow: hidden;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      user-select: none;
    }
    .area-item:last-child { border-right: none; }
    .area-item:hover, .area-item:focus-within { flex: 3; }

    .area-bg {
      position: absolute;
      inset: 0;
      background-size: cover;
      background-position: center;
      /* 保留电影感背景缩放优化 */
      transition: transform 1.2s cubic-bezier(0.25, 1, 0.5, 1), filter 0.8s ease;
      z-index: 1;
      filter: grayscale(100%);
    }
    .area-item:hover .area-bg { transform: scale(1.08); filter: grayscale(0%); }

    .area-overlay {
      position: absolute; inset: 0;
      background: rgba(0, 25, 50, 0.6);
      z-index: 2;
      transition: background 0.6s ease;
    }
    .area-item:hover .area-overlay {
       background: rgba(0, 25, 50, 0.0);
    }

    .area-overlay::after {
      content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 70%;
      background: linear-gradient(to top, rgba(0,20,50,0.95), transparent); pointer-events: none;
    }

    .area-content {
      position: relative; z-index: 3;
      padding: 40px 36px; color: #fff;
      transform: translateY(0); transition: all 0.5s ease;
    }

    .area-icon {
      margin-bottom: 24px; opacity: 0.7; transform: translateY(0); transition: all 0.5s ease;
    }
    .area-icon svg { width: 52px; height: 52px; color: var(--gold); display: block; }
    .area-item:hover .area-icon { opacity: 1; transform: translateY(-10px); }

    .area-title-group { margin-bottom: 20px; position: relative; }
    .area-title-group::before {
      content: ""; position: absolute; left: 0; top: 6px; bottom: 6px; width: 3px;
      background: var(--gold); transform: scaleY(0); transition: transform 0.4s ease;
    }
    .area-item:hover .area-title-group::before { transform: scaleY(1); }

    .area-head-cn {
      font-family: "Noto Serif SC", serif;
      /* Font Size: 业务领域中文标题 */
      font-size: 32px;
      font-weight: 800;
      line-height: 1.2;
      letter-spacing: 1.5px;
      transition: transform 0.4s ease; padding-left: 0;
    }
    .area-item:hover .area-head-cn { transform: translateX(16px); }

    .area-head-en {
      font-family: "Noto Sans SC", sans-serif;
      /* Font Size: 业务领域英文 */
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: rgba(255,255,255,0.7);
      margin-top: 8px; padding-left: 0; transition: transform 0.4s ease;
    }
    .area-item:hover .area-head-en { transform: translateX(16px); }

    .area-details {
      max-height: 0; opacity: 0; overflow: hidden;
      transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1); padding-left: 16px;
    }
    .area-item:hover .area-details { max-height: 240px; opacity: 1; margin-top: 14px; }

    .area-list {
      list-style: none; font-family: "Noto Sans SC", sans-serif;
      /* Font Size: 业务列表详情 */
      font-size: 16px;
      line-height: 2.2;
      color: rgba(255,255,255,0.9);
      font-weight: 400;
    }
    .area-list li { display: flex; align-items: center; gap: 10px; }
    .area-list li::before { content: ""; width: 5px; height: 5px; background: var(--gold); border-radius: 50%; }

    .area-action {
      margin-top: 28px; display: flex; align-items: center; gap: 10px;
      /* Font Size: 按钮文字 */
      font-size: 14px;
      font-weight: 600;
      color: var(--gold);
      opacity: 0; transform: translateY(20px); transition: all 0.5s ease 0.1s;
    }
    .area-item:hover .area-action { opacity: 1; transform: translateY(0); }

    /* Premium Button for Areas */
    .areas-footer-bar { margin-top: 60px; text-align: center; }
    .btn-premium {
      display: inline-flex; align-items: center; justify-content: center;
      padding: 0 48px; height: 56px;
      background: #fff;
      color: var(--primary-blue);
      border: 1px solid var(--primary-blue);
      border-radius: 999px;
      font-size: 16px; font-weight: 600; letter-spacing: 1px;
      transition: all 0.3s ease;
      text-decoration: none;
    }
    .btn-premium span { display: flex; align-items: center; gap:10px; }
    .btn-premium svg { transition: transform 0.3s ease; }
    .btn-premium:hover {
      background: var(--primary-blue);
      color: #fff;
      border-color: var(--primary-blue);
    }
    .btn-premium:hover svg { transform: translateX(2px); }

    /* ===========================
       JOIN
    =========================== */
    #join{
      background: #fff;
      padding: 0;
    }
    .join-banner{
      position: relative;
      width: 100%;
      min-height: 700px;
      overflow:hidden;
      /* 【修改】图片路径增加 ../images/ */
      background: url("../images/jiaru.png") left center / cover no-repeat;
      display:flex;
      align-items: stretch;
      border-top: 1px solid rgba(17,24,39,.10);
      border-bottom: 1px solid rgba(17,24,39,.10);
    }
    .join-banner::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(900px 580px at 18% 60%, rgba(0,0,0,.28), rgba(0,0,0,0) 60%),
        linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.12));
      opacity: 1;
      pointer-events:none;
    }
    .join-banner::after{
      content:"";
      position:absolute;
      inset:0;
      background: linear-gradient(
        90deg,
        rgba(26,22,18,0) 36%,
        rgba(42,36,31,.74) 62%,
        rgba(42,36,31,.90) 82%,
        rgba(42,36,31,.95) 100%
      );
      pointer-events:none;
    }

    .join-panel{
      position: relative;
      z-index: 2;
      margin-left: auto;
      /* 【修改】恢复宽度到 ~660px，确保它靠右显示 */
      width: min(660px, 46vw);
      padding: 84px clamp(30px, 4vw, 80px);
      display:flex;
      flex-direction: column;
      justify-content: center;
      gap: 20px;
      color: rgba(255,255,255,.92);
      text-shadow: 0 10px 28px rgba(0,0,0,.28);
    }

    .join-title-cn{
      font-family: "Noto Serif SC", serif;
      font-weight: 900;
      /* Font Size: 加入我们大标题 */
      font-size: clamp(40px, 4vw, 56px);
      letter-spacing: 2px;
      line-height: 1.1;
    }
    .join-title-en{
      margin-top: 4px;
      font-family: "Noto Sans SC", sans-serif;
      font-weight: 700;
      font-size: 14px;
      letter-spacing: 4px;
      text-transform: uppercase;
      color: rgba(255,255,255,.70);
    }
    .join-rule{
      margin-top: 12px;
      width: 80px;
      height: 3px;
      background: rgba(197,160,89,.92);
      border-radius: 999px;
      box-shadow: 0 12px 24px rgba(0,0,0,.18);
    }

    .join-slogan{
      margin-top: 24px;
      font-family: "Noto Sans SC", sans-serif;
      font-weight: 700;
      /* Font Size: 口号 */
      font-size: 24px;
      letter-spacing: 1px;
      color: rgba(255,255,255,.95);
    }

    .join-body{
      margin-top: 12px;
      font-family: "Noto Sans SC", sans-serif;
      font-weight: 400;
      /* 【修改】字号稍微减小，确保在较窄的容器内也能放下 */
      font-size: 16px;
      line-height: 1.9;
      letter-spacing: .3px;
      color: rgba(255,255,255,.85);
      /* 【修改】允许占满容器 */
      max-width: 100%;
    }
    .join-body a{
      color: rgba(255,255,255,.92);
      border-bottom: 1px solid rgba(255,255,255,.28);
      transition: border-color 320ms var(--ease-smooth), color 320ms var(--ease-smooth), opacity 320ms var(--ease-smooth);
    }
    .join-body a:hover{
      border-bottom-color: rgba(255,255,255,.55);
      opacity: .96;
    }

    /* ===========================
       PARTNERS (RE-DESIGNED - NO BACKGROUND CARDS)
    =========================== */
    .partners-wrap{
      max-width: 1360px;
      margin: 0 auto;
    }

    .partners-grid-modern {
      display: grid;
      /* 5 Columns as requested */
      grid-template-columns: repeat(5, 1fr);
      gap: 40px; /* Spacious gap for atmosphere */
      align-items: center; /* Vertically center logos */
    }

    /* The "card" is now transparent and borderless */
    .partner-card {
      background: transparent;
      border: none;
      border-radius: 0;
      height: 140px; /* Fixed height for consistent vertical rhythm */
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      box-shadow: none;
      /* We move transition to the img itself for smoother hover effects */
    }

    /* The Image IS the visual focus now */
    .partner-card img {
      display: block;
      /* Allow image to be large but contained */
      max-width: 100%;
      max-height: 100%;
      width: auto;
      height: auto;
      object-fit: contain;

      /* NO GRAYSCALE - Original Color */
      opacity: 0.9; /* Slight transparency for "sitting back" */
      filter: drop-shadow(0 2px 4px rgba(0,0,0,0.05)); /* Subtle base shadow */

      /* Smooth transitions */
      transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1);
      user-select:none;
      -webkit-user-drag:none;
    }

    /* Hover Effects: Lift + Stronger Drop Shadow */
    .partner-card:hover img {
      /* 减小上浮和缩放幅度 */
      transform: translateY(-5px) scale(1.04);
      opacity: 1;
      /* 减弱投影，使其不那么突出 */
      filter: drop-shadow(0 10px 20px rgba(0,0,0,0.1));
    }

    /* Responsive Adjustments */
    @media (max-width: 1060px) {
      .partners-grid-modern { grid-template-columns: repeat(4, 1fr); gap: 30px; }
      .partner-card { height: 120px; }
    }
    @media (max-width: 860px) {
      .partners-grid-modern { grid-template-columns: repeat(3, 1fr); gap: 24px; }
      .partner-card { height: 110px; }
    }
    @media (max-width: 600px) {
      .partners-grid-modern { grid-template-columns: repeat(2, 1fr); gap: 20px; }
      .partner-card { height: 100px; }
    }

    /* ===========================
       NEWS
    =========================== */
    #news{
      padding-left: 0;
      padding-right: 0;
      padding-top: 110px;
      padding-bottom: 120px;
    }
    #news .section-title{ margin-bottom: 60px; padding: 0 var(--edge-pad); }

    .jwnews-wrap{
      width: 100%;
      max-width: none;
      margin: 0;
      padding-left: var(--edge-pad);
      position: relative;
    }

    .jwnews-stage{
      position: relative;
      width: calc(100vw - var(--edge-pad));
      max-width: none;
    }

    .jwnews-slide{
      position: relative;
      display: none;
      grid-template-columns: minmax(540px, calc(50vw - 80px - var(--edge-pad))) 1fr;
      align-items: stretch;
      background:#fff;
      border: none;
      box-shadow: none;
      overflow: hidden;
      min-height: 480px;
    }
    .jwnews-slide.is-active{ display:grid; }

    .jwnews-left{
      padding: 54px 54px 44px calc(54px + var(--news-content-shift));
      display:flex;
      flex-direction: column;
      gap: 20px;
      position: relative;
      z-index: 2;
      min-width: 0;
    }

    .jwnews-title{
      display:-webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      overflow:hidden;

      font-family: "Noto Sans SC", sans-serif;
      font-weight: 700;
      /* 【修改】恢复为 30px */
      font-size: 30px;
      line-height: 1.35;
      color: rgba(17,24,39,.94);
      letter-spacing: 1px;

      width: 100%;
      max-width: 100%;
      min-width: 0;

      opacity: 1;
      transform: translate(0, var(--news-text-shift-y));
      transition: transform var(--news-move) var(--ease-smooth), opacity var(--news-fade) var(--ease-smooth);
      will-change: transform, opacity;

      margin-top: -6px;
    }

    .jwnews-excerpt{
      display:-webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 4;
      overflow:hidden;

      /* Font Size: 焦点新闻摘要加大 */
      font-size: 17px;
      line-height: 1.85;
      color: rgba(17,24,39,.75);

      width: 100%;
      max-width: 100%;
      min-width: 0;

      text-align: justify;
      text-justify: inter-ideograph;
      text-align-last: left;

      opacity: 1;
      transform: translate(0, var(--news-text-shift-y));
      transition: transform var(--news-move) var(--ease-smooth), opacity var(--news-fade) var(--ease-smooth);
      will-change: transform, opacity;

      margin-top: .5em;
      min-height: 7.4em;
    }

    .jwnews-text{ display:inline; }

    .jwnews-controls{
      margin-top: auto;
      padding-top: 24px;
      padding-left: 14px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      gap: 16px;
      flex-wrap: nowrap;
      width: 100%;
      max-width: 100%;
      min-width: 0;
    }

    .jwnews-dots{
      display:flex;
      align-items:center;
      gap: 10px;
      flex: 0 0 auto;
    }

    .jwnews-dot{
      appearance:none;
      border: none;
      cursor:pointer;

      height: 18px;
      width: 34px;
      border-radius: 999px;
      background: transparent;
      position: relative;

      transition: width var(--news-move) var(--ease-smooth), transform var(--news-move) var(--ease-smooth);
    }
    .jwnews-dot::after{
      content:"";
      position:absolute;
      left:0; right:0;
      top:50%;
      transform: translateY(-50%);
      height: 3px;
      border-radius: 999px;

      background: rgba(0,45,94,.30);
      transition: background-color var(--news-move) var(--ease-smooth), opacity var(--news-fade) var(--ease-smooth);
      opacity: .92;
      pointer-events:none;
    }
    .jwnews-dot.is-active{ width: 66px; }
    .jwnews-dot.is-active::after{
      background: var(--primary-blue);
      opacity: 1;
    }
    .jwnews-dot:hover{ transform: translateY(-1px); }
    .jwnews-dot:focus-visible{
      outline: 2px solid rgba(0,45,94,.22);
      outline-offset: 2px;
    }

    .jwnews-arrows{
      display:flex;
      align-items:center;
      gap: 10px;
      flex: 0 0 auto;
    }
    .jwnews-arrow{
      width: 44px;
      height: 44px;
      border-radius: 999px;
      border: 1px solid rgba(17,24,39,.12);
      background: rgba(255,255,255,.92);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      cursor:pointer;
      transition:
        transform 520ms var(--ease-smooth),
        border-color 520ms var(--ease-smooth),
        box-shadow 520ms var(--ease-smooth);
      color: rgba(0,45,94,.92);
    }
    .jwnews-arrow:hover{
      transform: translateY(-1px);
      border-color: rgba(0,45,94,.28);
      box-shadow: 0 14px 28px rgba(0,0,0,.10);
    }
    .jwnews-arrow:active{ transform: translateY(0); }
    .jwnews-arrow:focus-visible{
      outline: 2px solid rgba(0,45,94,.26);
      outline-offset: 2px;
    }
    .jwnews-arrow svg{ width: 18px; height: 18px; display:block; }

    .jwnews-right{
      position: relative;
      display:block;
      min-height: 480px;
      margin-right: 0;
      background: #fff;
      overflow:hidden;
      text-decoration:none;
    }
    .jwnews-media{
      position:absolute;
      inset:0;
      overflow:hidden;
      background:#fff;
    }

    .jwnews-media-shift{
      position:absolute;
      inset:0;
      opacity: 1;
      transform: translateX(0);
      transition: transform var(--news-move) var(--ease-smooth), opacity var(--news-fade) var(--ease-smooth);
      will-change: transform, opacity;
      z-index: 1;
    }
    .jwnews-media-shift img{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit: cover;
      transform: scale(1);
      transition: transform var(--news-zoom) var(--ease-smooth);
      will-change: transform;
    }
    .jwnews-slide.is-zoom:not(.is-enter) .jwnews-media-shift img{
      transform: scale(1.045);
    }
    .jwnews-slide.is-enter .jwnews-title,
    .jwnews-slide.is-enter .jwnews-excerpt{
      opacity: 0;
      transform: translate(var(--news-enter-x), var(--news-text-shift-y));
    }
    .jwnews-slide.is-enter .jwnews-media-shift{
      opacity: 0;
      transform: translateX(var(--news-enter-x));
    }

    .jwnews-moregrid{
      width: 100vw;
      margin-top: 108px;
      margin-left: calc(-1 * var(--edge-pad));
      padding: 0 var(--edge-pad);
    }

    .jwnews-moregrid-inner{
      width: fit-content;
      max-width: 100%;
      margin: 0 auto;
    }

    .jwnews-moregrid .grid4{
      display:grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 36px;
      align-items: stretch;
      justify-content: center;
    }

    /* 【改回】恢复原本的 News 卡片效果 (上浮 + 投影) */
    a.jwnews-mini{
      display:flex;
      flex-direction: column;
      background:#fff;
      border: 1px solid transparent;
      border-radius: 0; /* 商务直角 */
      overflow:hidden;
      text-decoration:none;

      height: 480px; 
      min-height: 480px;

      width: 100%;
      justify-self: stretch;

      transition: transform 320ms var(--ease-smooth), box-shadow 320ms var(--ease-smooth), border-color 320ms var(--ease-smooth);
    }
    
    a.jwnews-mini:hover{
      transform: translateY(-8px); /* 恢复上浮 */
      box-shadow: var(--shadow); /* 使用全局阴影 */
      border-color: rgba(17,24,39,.10);
    }

    .jwnews-mini-media{
      width: 100%;
      aspect-ratio: 4 / 3;
      overflow:hidden;
      background:#fff;
      flex: 0 0 auto;
    }
    .jwnews-mini-media img{
      width:100%;
      height:100%;
      object-fit: cover;
      display:block;
    }

    .jwnews-mini-body{
      padding: 22px 20px 24px 20px;
      display:flex;
      flex-direction: column;
      gap: 12px;
      min-width:0;
      flex: 1 1 auto;
    }

    .jwnews-mini-title{
      margin-top: 0;
      font-family: "Noto Sans SC", sans-serif;
      font-weight: 700;
      /* Font Size: 小新闻标题加大 */
      font-size: 18px;
      line-height: 1.5;
      color: rgba(17,24,39,.9);

      /* OPTIMIZED: CSS Line Clamp with Min-Height Protection */
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      overflow: hidden;
      /* Removed rigid min-height for better flow */

      min-width: 0;
    }

    .jwnews-mini-excerpt{
      font-family: "Noto Sans SC", sans-serif;
      font-weight: 400;
      /* Font Size: 小新闻摘要加大 */
      font-size: 15px;
      line-height: 1.7;
      color: rgba(17,24,39,.65);

      /* OPTIMIZED: CSS Line Clamp with Min-Height Protection */
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 4;
      overflow: hidden;

      min-width: 0;
    }

    .jwnews-moreline{
      margin-top: 24px;
      display:flex;
      justify-content:flex-end;
    }
    .jwnews-morelink{
      display:inline-flex;
      align-items:center;
      gap: 10px;
      font-family: "Noto Sans SC", sans-serif;
      font-weight: 500;
      /* Font Size: 查看更多 */
      font-size: 15px;
      letter-spacing: .2px;
      color: rgba(0,0,0,.80);
      transition: color 360ms var(--ease-smooth);
      -webkit-tap-highlight-color: transparent;
    }
    .jwnews-morelink .circle{
      width: 36px;
      height: 36px;
      border-radius: 999px;
      border: 1px solid rgba(0,0,0,.80);
      background: transparent;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      transition:
        background-color 360ms var(--ease-smooth),
        border-color 360ms var(--ease-smooth);
    }
    .jwnews-morelink .circle svg{
      width: 16px;
      height: 16px;
      display:block;
      color: rgba(0,0,0,.80);
      transition: color 360ms var(--ease-smooth);
    }
    .jwnews-morelink:hover{ color: var(--primary-blue); }
    .jwnews-morelink:hover .circle{
      background: var(--primary-blue);
      border-color: var(--primary-blue);
    }
    .jwnews-morelink:hover .circle svg{ color: #fff; }
    .jwnews-morelink:focus-visible{
      outline: 2px solid rgba(0,45,94,.26);
      outline-offset: 4px;
      border-radius: 10px;
    }

    @media (min-width: 1061px){
      .jwnews-moregrid .grid4{
        grid-template-columns: repeat(4, auto);
        justify-content: center;
        column-gap: 36px;
        row-gap: 36px;
      }
      a.jwnews-mini{
        width: clamp(260px, 20vw, 320px);
        justify-self: center;
      }
    }

    /* ===========================
       FOOTER
    =========================== */
    footer#contact{
      background: linear-gradient(180deg, #23201c 0%, #151310 100%);
      color:#fff;
      padding: 60px var(--edge-pad) 12px;
      position: relative;
    }

    .footer-inner{
      max-width: var(--header-max);
      margin: 0 auto;
      display:grid;
      grid-template-columns: 3fr 2fr;
      gap: 50px;
      align-items:start;
    }

    .footer-brand{
      padding-top: 4px;
      display:flex;
      flex-direction: column;
      align-items:flex-start;
      min-width: 0;
    }

    .footer-logo{
      display:inline-flex;
      align-items:flex-start;
      justify-content:flex-start;
      -webkit-tap-highlight-color: transparent;
      margin-bottom: 24px;
    }
    .footer-logo img{
      display:block;
      width:auto;
      height: 64px;
      filter: drop-shadow(0 10px 18px rgba(0,0,0,.22));
      user-select:none;
      -webkit-user-drag:none;
    }

    .footer-contact{
      margin-top: 0;
      font-family: "Noto Sans SC", sans-serif;
      font-weight: 400;
      /* Font Size: 页脚联系方式清晰化 */
      font-size: 15px;
      line-height: 2.2;
      letter-spacing: .3px;
      color: rgba(255,255,255,.75);
    }

    .footer-right{
      position: relative;
      padding-top: 10px;
      padding-right: 180px;
      padding-bottom: 70px;
      min-width: 0;
    }

    .footer-nav{
      display:grid;
      grid-template-columns: 1fr 1fr;
      column-gap: 60px;
      row-gap: 0;
      align-items:start;
    }
    .footer-nav-col{
      display:flex;
      flex-direction: column;
      align-items:flex-start;
    }
    .footer-nav a{
      color: rgba(255,255,255,.86);
      font-family: "Noto Sans SC", sans-serif;
      font-weight: 400;
      /* Font Size: 页脚链接 */
      font-size: 15px;
      letter-spacing: .2px;
      line-height: 2.2;
      transition: opacity 220ms var(--ease-smooth), color 320ms var(--ease-smooth);
      -webkit-tap-highlight-color: transparent;
      white-space: nowrap;
    }
    .footer-nav a:hover{ opacity: .75; }
    .footer-nav a:focus-visible{
      outline: 2px solid rgba(255,255,255,.28);
      outline-offset: 4px;
      border-radius: 10px;
    }

    .footer-actions{
      position:absolute;
      right: 0;
      bottom: 8px;
      display:flex;
      align-items:center;
      gap: 12px;
    }

    /* UPDATED: Footer Social Container
       - Moved left by 4px (transform: translateX(-4px))
    */
    .footer-social{
      margin-top: 0;
      display:flex;
      align-items:center;
      gap: 12px;
      transform: translateX(-4px); /* NEW: Move entire group left 4px */
    }

    /* UPDATED: QR Trigger (Social Icons) with IMG support */
    .qr-trigger{

      position: relative;
      width: 44px; /* Slightly larger touch target */
      height: 44px;
      border-radius: 12px;
      border: none; /* CHANGED: No border for PNG icons */
      background: transparent;
      color: rgba(255,255,255,.92);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      cursor: pointer;
      -webkit-tap-highlight-color: transparent;
      transition:
        transform 260ms var(--ease-smooth),
        color 320ms var(--ease-smooth),
        opacity 260ms var(--ease-smooth);
      user-select:none;
    }

    /* Support for IMG icon inside trigger */
    .qr-trigger img.icon-sm {
      width: 30px; /* Bigger icons */
      height: 30px;
      display: block;
      object-fit: contain;
      transition: transform 260ms var(--ease-smooth), opacity 260ms ease;
    }

    /* Support for IMG icon inside trigger: VIDEO CHANNEL SPECIFIC (27px) */
    .qr-trigger img.icon-video {
      width: 29px;
      height: 29px;
    }

    .qr-trigger svg{
      width: 28px;
      height: 28px;
      display:block;
      opacity: 1;
      transition: opacity 220ms var(--ease-smooth), transform 260ms var(--ease-smooth);
    }

    .qr-trigger:hover{
      background: transparent;
      color: #fff;
      transform: translateY(1px);
    }
    .qr-trigger:active{
      transform: translateY(2px) scale(.985);
    }

    .qr-trigger:focus-visible{
      outline: 2px solid rgba(255,255,255,.35);
      outline-offset: 3px;
    }

    .qr-pop{
      position:absolute;
      left: 50%;
      bottom: calc(100% + 12px);
      transform: translate(-50%, 10px);
      opacity: 0;
      pointer-events:none;
      transition: opacity 220ms var(--ease-smooth), transform 260ms var(--ease-smooth);
      z-index: 5;
    }
    .qr-pop::after{
      content:"";
      position:absolute;
      left:50%;
      top: 100%;
      transform: translateX(-50%);
      width: 0; height: 0;
      border-left: 7px solid transparent;
      border-right: 7px solid transparent;
      border-top: 8px solid rgba(255,255,255,.96);
      filter: drop-shadow(0 10px 18px rgba(0,0,0,.18));
    }

    .qr-card{
      background: rgba(255,255,255,.96);
      border-radius: 16px;
      padding: 10px 10px 8px 10px;
      box-shadow: 0 18px 56px rgba(0,0,0,.22);
      border: 1px solid rgba(17,24,39,.08);
    }
    .qr-card img{
      width: 160px;
      height: 160px;
      display:block;
      border-radius: 10px;
      background:#fff;
    }
    .qr-label{
      margin-top: 8px;
      text-align:center;
      font-family: "Noto Sans SC", sans-serif;
      font-weight: 600;
      font-size: 13px;
      letter-spacing: .2px;
      color: rgba(17,24,39,.72);
      white-space: nowrap;
    }

    .qr-trigger:hover .qr-pop,
    .qr-trigger:focus-visible .qr-pop{
      opacity: 1;
      transform: translate(-50%, 0);
      pointer-events:auto;
    }

    .back-top{
      width: 48px;
      height: 48px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.78);
      background: transparent;

      color: rgba(255,255,255,.92);

      display:inline-flex;
      align-items:center;
      justify-content:center;
      transition:
        transform 260ms var(--ease-smooth),
        background-color 320ms var(--ease-smooth),
        border-color 320ms var(--ease-smooth),
        color 320ms var(--ease-smooth),
        opacity 260ms var(--ease-smooth);
      -webkit-tap-highlight-color: transparent;
    }
    .back-top svg{
      width: 22px;
      height: 22px;
      display:block;
    }
    .back-top:hover{
      background: rgba(255,255,255,.92);
      border-color: rgba(255,255,255,.92);
      color: var(--primary-blue);
      transform: translateY(-2px);
    }
    .back-top:active{ transform: translateY(-1px) scale(.985); }
    .back-top:focus-visible{
      outline: 2px solid rgba(255,255,255,.35);
      outline-offset: 3px;
    }

    .bottom-bar{
      text-align:center;
      margin-top: 32px;
      font-size: 13px;
      color: rgba(255,255,255,.5);
      border-top: 1px solid rgba(255,255,255,.12);
      padding-top: 20px;
    }

    /* ===========================
       RESPONSIVE
    =========================== */
    @media (max-width: 1060px){
      :root{
        /* --edge-pad: 26px; --header-max: 100%; ... (Retained original responsive vars) */
        --edge-pad: 26px;
        --header-max: 100%;
        --topnav-h: 32px;
        --mainnav-h: 58px;
        --topbar-shift-y: 9px;
        --logo-reserve: 220px;
        --logo-lock-y: 9px;
      }
      .grid{grid-template-columns:repeat(2,1fr);}
      ul.top-links{gap: 1.2em;}
      ul.nav-links{gap: 1.9em;}

      .jwnews-left{ padding: 46px 40px 38px calc(40px + var(--news-content-shift)); }
      .jwnews-slide{ min-height: 450px; }
      .jwnews-right{ min-height: 450px; }

      .jwnews-moregrid .grid4{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 36px;
        justify-content: center;
      }
      a.jwnews-mini{
        width: 100%;
        height: 460px;
        min-height: 460px;
      }

      .jwnews-moregrid-inner{ width: 100%; }

      .partners-grid{ grid-template-columns: repeat(3, max-content); }
      .partners-grid img{ width: clamp(170px, 24vw, 240px); }

      .join-banner{ min-height: 640px; }
      .join-panel{
        width: min(640px, 52vw);
        padding: 74px clamp(24px, 4vw, 56px);
      }

      .footer-inner{ gap: 28px; }
      .footer-nav{ column-gap: 44px; }
      .footer-right{
        padding-right: 160px;
        padding-bottom: 64px;
      }

      /* Specific About Responsive moved to About section above */
    }

    @media (max-width: 860px){
      .jwnews-wrap{ padding-right: var(--edge-pad); }
      .jwnews-stage{ width: 100%; }
      .jwnews-slide{ grid-template-columns: 1fr; }
      .jwnews-right{ min-height: 320px; }

      .jwnews-moregrid{
        width: 100%;
        margin-left: 0;
        padding: 0;
      }
      .jwnews-moregrid-inner{ width: 100%; }

      .partners-grid{ grid-template-columns: repeat(2, max-content); }
      .partners-grid img{ width: min(240px, 42vw); }

      .join-panel{
        width: 100%;
        margin-left: 0;
        padding: 64px var(--edge-pad);
      }
      .join-banner::after{
        background: linear-gradient(
          180deg,
          rgba(42,36,31,0) 0%,
          rgba(42,36,31,.72) 40%,
          rgba(42,36,31,.92) 100%
        );
      }

      .footer-inner{
        grid-template-columns: 1fr;
        gap: 30px;
      }
      .footer-right{
        padding-top: 0;
        padding-right: 0;
        padding-bottom: 76px;
        min-height: 110px;
      }
      .footer-actions{
        right: 0;
        bottom: 0;
      }

      .areas-container {
        flex-direction: column;
        height: auto;
        box-shadow: none;
      }
      .area-item {
        height: 280px;
        flex: none;
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,0.2);
      }
      .area-item:hover,
      .area-item:focus-within {
        flex: none;
      }
      .area-bg { filter: grayscale(20%); }
      .area-overlay { background: rgba(0,45,94,0.6); }
      .area-details {
        display: none;
      }
      .area-action {
        opacity: 1;
        transform: translateY(0);
      }
      .area-title-group::before { display: none; }
      .area-head-cn, .area-head-en { transform: none !important; }
    }

    @media (max-width: 760px){
      :root{
        --edge-pad: 16px;
        --header-max: 100%;
        --topnav-h: 0px;
        --mainnav-h: 62px;
        --topbar-shift-y: 0px;
        --logo-reserve: 0px;
        --logo-lock-y: 8px;
      }
      ul.nav-links{display:none;}
      ul.top-links{display:none;}
      .grid{grid-template-columns:1fr;}
      section{padding: 84px var(--edge-pad);}
      footer{padding: 56px var(--edge-pad) 20px;}
      .hero-title{ white-space: normal; }

      .hero-caption{
        /* 移动端文字位置也锁定 */
        bottom: 12%;
        max-width: calc(100vw - var(--edge-pad) * 2);
      }
      .hero-sub::before{width: 48px;}

      #news{ padding-top: 92px; padding-bottom: 96px; }
      #news .section-title{ padding: 0 var(--edge-pad); }
      .jwnews-wrap{ padding-left: var(--edge-pad); padding-right: var(--edge-pad); }
      .jwnews-stage{ width: 100%; }
      .jwnews-left{ padding: 40px 20px 30px calc(20px + var(--news-content-shift)); }
      /* Font Size: 移动端标题适配 */
      .jwnews-title{ font-size: 26px; line-height: 1.35; }
      .jwnews-controls{ flex-wrap: wrap; }

      .jwnews-moregrid .grid4{ grid-template-columns: 1fr; gap: 36px; }
      a.jwnews-mini{
        height: 480px;
        min-height: 480px;
      }
      .jwnews-moreline{ margin-top: 16px; }

      #join{ padding: 0; }
      .join-banner{ min-height: 560px; }
      .join-panel{ padding: 52px var(--edge-pad); }
      .join-title-cn{ font-size: 34px; }
      .join-body{ font-size: 15px; line-height: 2.0; }

      footer#contact{ padding: 56px var(--edge-pad) 12px; }
      .footer-nav{ column-gap: 36px; }
      .qr-card img{ width: 150px; height: 150px; }
    }

    @media (prefers-reduced-motion: reduce){
      *{transition:none !important; scroll-behavior:auto;}
    }