    /* 全局重置与基础样式 */
    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; background-color: #faf9f7; color-scheme: light; }
    body { background-color: #faf9f7; color: #1c1a17; font-family: 'Inter', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
    h1, h2, h3, h4 { font-family: 'Cormorant Garamond', Georgia, serif; }

    /* 导航下拉菜单动画 */
    .dropdown-panel {
      opacity: 0;
      transform: translateY(-8px);
      pointer-events: none;
      transition: opacity 0.2s ease, transform 0.2s ease;
    }
    .dropdown-wrapper:hover .dropdown-panel,
    .dropdown-panel.open {
      opacity: 1;
      transform: translateY(0);
      pointer-events: auto;
    }
    .dropdown-arrow {
      transition: transform 0.2s ease;
    }
    .dropdown-wrapper:hover .dropdown-arrow {
      transform: rotate(180deg);
      color: #b08d57;
    }

    /* FAQ 手风琴 */
    .faq-answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.35s ease, padding 0.2s ease;
    }
    .faq-answer.open {
      max-height: 400px;
    }
    .faq-icon { transition: transform 0.25s ease; }
    .faq-item.open .faq-icon { transform: rotate(45deg); }

    /* 移动端菜单 */
    #mobile-menu {
      max-height: 0;
      overflow: hidden;
      opacity: 0;
      transition: max-height 0.3s ease, opacity 0.25s ease;
    }
    #mobile-menu.open {
      max-height: 560px;
      opacity: 1;
    }
    #mobile-services-sub {
      max-height: 0;
      overflow: hidden;
      opacity: 0;
      transition: max-height 0.3s ease, opacity 0.2s ease;
    }
    #mobile-services-sub.open {
      max-height: 420px;
      opacity: 1;
    }
    #mobile-services-arrow { transition: transform 0.2s ease; }
    #mobile-services-arrow.open { transform: rotate(180deg); color: #b08d57; }

    /* 移动端"客户案例"手风琴（8个子栏目，比核心业务多留一些高度） */
    #mobile-case-sub {
      max-height: 0;
      overflow: hidden;
      opacity: 0;
      transition: max-height 0.3s ease, opacity 0.2s ease;
    }
    #mobile-case-sub.open {
      max-height: 420px;
      opacity: 1;
    }
    #mobile-case-arrow { transition: transform 0.2s ease; }
    #mobile-case-arrow.open { transform: rotate(180deg); color: #b08d57; }

    /* 移动端"关于我们"手风琴（3个子栏目） */
    #mobile-about-sub {
      max-height: 0;
      overflow: hidden;
      opacity: 0;
      transition: max-height 0.3s ease, opacity 0.2s ease;
    }
    #mobile-about-sub.open {
      max-height: 200px;
      opacity: 1;
    }
    #mobile-about-arrow { transition: transform 0.2s ease; }
    #mobile-about-arrow.open { transform: rotate(180deg); color: #b08d57; }

    /* 服务侧边栏按钮激活样式 */
    .service-tab { border-left: 2px solid transparent; transition: all 0.2s; }
    .service-tab.active {
      border-left-color: #b08d57;
      background-color: #f5f3ef;
      color: #1c1a17;
    }
    .service-tab.active .tab-num { color: #b08d57; }
    .service-tab:not(.active):hover {
      border-left-color: rgba(176,141,87,0.4);
      background-color: rgba(245,243,239,0.6);
      color: #1c1a17;
    }

    /* 服务内容面板 */
    .service-panel { display: none; }
    .service-panel.active { display: block; }

    /* Hamburger 动画 */
    .ham-line { transition: all 0.3s ease; }
    .ham-open .ham-line-1 { transform: rotate(45deg) translateY(6px); }
    .ham-open .ham-line-2 { opacity: 0; transform: scaleX(0); }
    .ham-open .ham-line-3 { transform: rotate(-45deg) translateY(-6px); }

    /* Header 滚动状态 */
    #site-header.scrolled {
      background-color: rgba(250,249,247,0.96);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid rgba(28,26,23,0.1);
      box-shadow: 0 1px 8px rgba(0,0,0,0.06);
    }

    /* 按钮 hover 过渡 */
    .btn-gold { transition: background-color 0.2s, color 0.2s; }
    .btn-gold:hover { background-color: #9a7a47; }
    .btn-outline { transition: border-color 0.2s, color 0.2s; }
    .btn-outline:hover { border-color: #b08d57; color: #b08d57; }

    /* 图片角装饰 */
    .img-corner::before, .img-corner::after {
      content: '';
      position: absolute;
      width: 24px;
      height: 24px;
      border-color: rgba(176,141,87,0.6);
      border-style: solid;
    }
    .img-corner::before { top: 12px; left: 12px; border-width: 1px 0 0 1px; }
    .img-corner::after { bottom: 12px; right: 12px; border-width: 0 1px 1px 0; }

    /* 无障碍跳转链接 */
    .skip-link {
      position: absolute;
      top: -40px;
      left: 0;
      background: #b08d57;
      color: white;
      padding: 8px 16px;
      z-index: 100;
      font-size: 13px;
    }
    .skip-link:focus { top: 0; }

    /* 桌面导航下拉（class版） */
    .nav-dropdown { pointer-events: none; opacity: 0; transform: translateY(-6px); transition: opacity 0.2s, transform 0.2s; }
    .nav-dropdown.open { pointer-events: auto; opacity: 1; transform: translateY(0); }

    /* 移动端菜单（class版） */
    .mobile-menu { max-height: 0; overflow: hidden; opacity: 0; transition: max-height 0.35s ease, opacity 0.25s ease; }
    .mobile-menu.open { max-height: 540px; opacity: 1; }

    /* 手风琴通用面板 */
    .accordion-panel { max-height: 0; overflow: hidden; opacity: 0; transition: max-height 0.32s ease, opacity 0.25s ease; }
    .accordion-panel.open { max-height: 420px; opacity: 1; }

    /* FAQ 面板（class版） */
    .faq-panel { max-height: 0; overflow: hidden; opacity: 0; transition: max-height 0.32s ease, opacity 0.25s ease; }
    .faq-panel.open { max-height: 360px; opacity: 1; }

    /* 文字截断 */
    .line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    .line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

    /* Header 过渡（配合已有的 #site-header.scrolled） */
    #site-header { transition: background 0.4s, border-color 0.4s, box-shadow 0.4s; }

    /* 移动端子菜单（通用class版，配合已有的各专属ID版本） */
    .mobile-sub { max-height:0; overflow:hidden; transition:max-height .3s ease, opacity .3s ease; opacity:0; }
    .mobile-sub.open { max-height:320px; opacity:1; }

    /* 文章正文排版 */
    .prose-article p { color: rgba(28,26,23,0.8); font-size:15px; line-height:1.85; }
    .prose-article h2 { font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:300; color:#1c1a17; padding-top:1.5rem; padding-bottom:0.5rem; border-bottom:1px solid rgba(28,26,23,0.12); margin-bottom:1rem; }
    .prose-article blockquote { border-left:4px solid #b08d57; background:#f5f3ef; padding:1rem 1.5rem; margin:2rem 0; }
    .prose-article blockquote p { font-family:'Cormorant Garamond',serif; font-size:1.1rem; font-style:italic; color:rgba(28,26,23,0.9); }
    .prose-article figure { margin:2rem 0; }
    .prose-article figcaption { font-size:12px; color:rgba(28,26,23,0.5); text-align:center; margin-top:0.75rem; }
    .prose-article ul li { display:flex; gap:0.75rem; color:rgba(28,26,23,0.8); font-size:15px; line-height:1.75; margin-bottom:0.5rem; }
    .prose-article ul li::before { content:''; display:block; width:6px; height:6px; border-radius:50%; background:#b08d57; flex-shrink:0; margin-top:8px; }
    .prose-article ul { list-style:none; padding:0; }

    /* FAQ icon 展开态（配合已有的 .faq-icon transition） */
    .faq-icon.open { transform:rotate(45deg); }

    /* sr-only */
    .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border-width: 0; }

    /* Mobile accordion（通用class，区别于已有的 .accordion-panel） */
    .mobile-accordion { max-height: 0; opacity: 0; overflow: hidden; transition: max-height 0.3s ease, opacity 0.3s ease; }
    .mobile-accordion.open { max-height: 300px; opacity: 1; }

    /* Hamburger nth-child 写法（区别于已有的 .ham-open .ham-line-1/2/3） */
    .ham.open .ham-line:nth-child(1) { transform: rotate(45deg) translateY(6px); }
    .ham.open .ham-line:nth-child(2) { opacity: 0; transform: scaleX(0); }
    .ham.open .ham-line:nth-child(3) { transform: rotate(-45deg) translateY(-6px); }

    /* Header scrolled（class版，区别于已有的 #site-header.scrolled） */
    .header-scrolled { background-color: rgba(250,249,247,0.95) !important; backdrop-filter: blur(12px); border-bottom: 1px solid rgba(28,26,23,0.12); box-shadow: 0 1px 8px rgba(0,0,0,0.04); }

    /* Chevron rotate */
    .chevron-open { transform: rotate(180deg); color: #b08d57; }

    /* QR image contain */
    .qr-img { object-fit: contain; width: 100%; height: 100%; }

    /* Category card hover overlay */
    .cat-overlay { background: rgba(28,26,23,0); transition: background 0.4s ease; }
    .cat-card:hover .cat-overlay { background: rgba(28,26,23,0.55); }
    .cat-hover-label { opacity: 0; transform: translateY(8px); transition: opacity 0.3s ease, transform 0.3s ease; }
    .cat-card:hover .cat-hover-label { opacity: 1; transform: translateY(0); }
    .cat-img { transition: transform 0.5s ease; }
    .cat-card:hover .cat-img { transform: scale(1.05); }
    .cat-title { transition: color 0.2s ease; }
    .cat-card:hover .cat-title { color: #b08d57; }

    /* Featured card hover */
    .feat-img { transition: transform 0.5s ease; }
    .feat-card:hover .feat-img { transform: scale(1.04); }
    .feat-link { opacity: 0; transition: opacity 0.3s ease; }
    .feat-card:hover .feat-link { opacity: 1; }

    /* Masonry grid */
    .masonry-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
    @media (min-width: 768px) {
      .masonry-grid { grid-template-columns: 1fr 1fr; }
    }
    @media (min-width: 1024px) {
      .masonry-grid { grid-template-columns: 1fr 1fr 1fr; grid-auto-rows: 260px; }
      .feat-tall { grid-row: span 2; }
    }

    /* Hover overlay on case cards */
    .case-card-overlay {
      position: absolute; inset: 0;
      background: rgba(18,16,13,0.0);
      display: flex; flex-direction: column;
      align-items: center; justify-content: center;
      gap: 10px;
      transition: background 0.35s ease;
      padding: 16px;
      text-align: center;
    }
    .case-card:hover .case-card-overlay,
    .case-card:focus-within .case-card-overlay,
    .case-card.touched .case-card-overlay {
      background: rgba(18,16,13,0.62);
    }
    .case-card-overlay-title {
      color: rgba(255,255,255,0);
      font-family: 'Noto Sans SC', sans-serif;
      font-size: 15px;
      font-weight: 500;
      line-height: 1.4;
      transition: color 0.35s ease;
      padding: 0 8px;
    }
    .case-card:hover .case-card-overlay-title,
    .case-card:focus-within .case-card-overlay-title,
    .case-card.touched .case-card-overlay-title {
      color: rgba(255,255,255,1);
    }
    .case-card-overlay-link {
      color: rgba(184,151,90,0);
      font-family: 'Inter', sans-serif;
      font-size: 11px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      transition: color 0.35s ease;
      border-bottom: 1px solid transparent;
      padding-bottom: 1px;
    }
    .case-card:hover .case-card-overlay-link,
    .case-card:focus-within .case-card-overlay-link,
    .case-card.touched .case-card-overlay-link {
      color: #b8975a;
      border-bottom-color: rgba(184,151,90,0.5);
    }

    /* Thumbnail fade-in */
    .thumb-img { transition: transform 0.5s ease; }
    .case-card:hover .thumb-img { transform: scale(1.04); }

    @media (prefers-reduced-motion: reduce) {
      .thumb-img, .case-card-overlay, .case-card-overlay-title, .case-card-overlay-link { transition: none !important; }
    }

    /* Gold gradient overlay for hero */
    .hero-overlay {
      background: linear-gradient(to top,
        rgba(20,18,15,0.85) 0%,
        rgba(20,18,15,0.40) 50%,
        rgba(20,18,15,0.15) 100%);
    }

    /* Gallery image hover subtle zoom */
    .gallery-img { transition: transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94); }
    .gallery-figure:hover .gallery-img { transform: scale(1.02); }

    /* Related card hover overlay */
    .related-card .overlay {
      opacity: 0;
      transition: opacity 0.3s ease;
      background: rgba(20,18,15,0.55);
    }
    .related-card:hover .overlay { opacity: 1; }
    .related-card .overlay-text {
      opacity: 0;
      transition: opacity 0.3s ease 0.05s;
    }
    .related-card:hover .overlay-text { opacity: 1; }
    .related-card .card-img { transition: transform 0.5s ease; }
    .related-card:hover .card-img { transform: scale(1.04); }
    .related-card:hover .card-title { color: #b5924c; }

    /* Mobile touch for related cards */
    .related-card.touched .overlay { opacity: 1; }
    .related-card.touched .overlay-text { opacity: 1; }

    /* Dropdown menus */
    .dropdown-menu { display: none; }
    .dropdown-menu.open { display: block; }

    /* Mobile nav */
    #mobile-nav { display: none; }
    #mobile-nav.open { display: block; }
    .mobile-submenu { display: none; }
    .mobile-submenu.open { display: block; }

    /* ── 字体辅助类 ── */
    .font-serif { font-family: 'Cormorant Garamond', ui-serif, Georgia, serif; }
    .font-sans  { font-family: 'Inter', ui-sans-serif, system-ui, sans-serif; }

    /* ── 桌面下拉菜单（dd-* 版） ── */
    .dd-panel { opacity:0; transform:translateY(-6px); pointer-events:none;
                transition:opacity .2s ease, transform .2s ease; }
    .dd-wrap:hover .dd-panel,
    .dd-wrap:focus-within .dd-panel { opacity:1; transform:translateY(0); pointer-events:auto; }

    /* ── 移动端手风琴（acc-* 版） ── */
    .acc-body { max-height:0; overflow:hidden; transition:max-height .3s ease, opacity .25s ease; opacity:0; }
    .acc-body.open { max-height:400px; opacity:1; }
    .acc-btn[aria-expanded="true"] .acc-arrow { transform:rotate(180deg); }
    .acc-arrow { transition: transform .25s ease; }

    /* ── 精选案例 c-overlay / c-label hover ── */
    .case-card .c-overlay { opacity:0; transition:opacity .3s ease; }
    .case-card .c-label   { opacity:1; transition:opacity .3s ease; }
    .case-card:hover .c-overlay { opacity:1; }
    .case-card:hover .c-label   { opacity:0; }

    /* ── 服务矩阵 hover ── */
    .svc-cell { transition: background .2s; }
    .svc-cell:hover { background: #f5f3ef; }
    .svc-cell:hover .svc-name { color: #b08d57; }
    .svc-more { color: transparent; transition: color .2s; }
    .svc-cell:hover .svc-more { color: #b08d57; }

    /* ── 新闻卡片 hover ── */
    .news-card img { transition: transform .5s ease; }
    .news-card:hover img { transform: scale(1.04); }
    .news-card:hover .news-title { color: #b08d57; }
    .news-title { transition: color .2s; }

    /* ── 品牌网格 hover ── */
    .brand-cell:hover { background: #f5f3ef !important; }
    .brand-cell:hover img { opacity: .8 !important; }
    .brand-cell img { transition: opacity .3s; }
