/* index.css - Extracted from inline styles */
:root {
      --red: #E60012;
      --red-hover: #CC0010;
      --red-light: rgba(230,0,18,0.08);
      --blue: #003366;
      --blue-light: #0066cc;
      --blue-lighter: #e8f0fa;
      --nav-bg: #0a1628;
      --nav-bg-light: #1a1a2e;
      --body-bg: #ffffff;
      --section-bg: #f5f7fa;
      --text-dark: #333333;
      --text-body: #555555;
      --text-muted: #888888;
      --border-light: #e5e7eb;
      --card-shadow: 0 2px 12px rgba(0,0,0,0.08);
      --card-shadow-hover: 0 8px 30px rgba(0,0,0,0.12);
      --header-h: 72px;
      --font-body: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', system-ui, sans-serif;
      --font-display: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', system-ui, sans-serif;
    }

    * { margin: 0; padding: 0; box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      background: var(--body-bg);
      color: var(--text-dark);
      font-family: var(--font-body);
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    ::-webkit-scrollbar { width: 6px; }
    ::-webkit-scrollbar-track { background: #f0f0f0; }
    ::-webkit-scrollbar-thumb { background: #ccc; border-radius: 3px; }
    ::-webkit-scrollbar-thumb:hover { background: #aaa; }

    /* ===== ANIMATIONS ===== */
    @keyframes fadeInUp {
      from { opacity: 0; transform: translateY(30px); }
      to { opacity: 1; transform: translateY(0); }
    }
    @keyframes fadeIn {
      from { opacity: 0; }
      to { opacity: 1; }
    }
    @keyframes slideInLeft {
      from { opacity: 0; transform: translateX(-30px); }
      to { opacity: 1; transform: translateX(0); }
    }
    @keyframes countUp {
      from { opacity: 0; transform: translateY(20px); }
      to { opacity: 1; transform: translateY(0); }
    }
    @keyframes pulseGlow {
      0%, 100% { box-shadow: 0 0 0 0 rgba(230,0,18,0.3); }
      50% { box-shadow: 0 0 0 8px rgba(230,0,18,0); }
    }

    .animate-on-scroll {
      opacity: 0;
      transform: translateY(30px);
      transition: opacity 0.6s ease, transform 0.6s ease;
    }
    .animate-on-scroll.visible {
      opacity: 1;
      transform: translateY(0);
    }

    /* ===== HEADER ===== */

    
    .logo {
      display: flex;
      align-items: center;
      gap: 12px;
      text-decoration: none;
      flex-shrink: 0;
    }
    .logo-icon {
      width: 42px;
      height: 42px;
      background: var(--red);
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-weight: 800;
      font-size: 18px;
      font-family: var(--font-display);
      letter-spacing: -0.5px;
    }
    .logo-text {
      display: flex;
      flex-direction: column;
    }
    .logo-main {
      font-size: 18px;
      font-weight: 700;
      color: #fff;
      line-height: 1.2;
    }
    .logo-sub {
      font-size: 11px;
      color: rgba(255,255,255,0.5);
      letter-spacing: 1px;
    }
    .logo-tagline {
      font-size: 11px;
      color: rgba(255,255,255,0.4);
      margin-top: 2px;
    }

    /* Nav */
    .main-nav {
      display: flex;
      align-items: center;
      gap: 0;
    }
    .nav-item {
      position: relative;
    }
    
    .nav-arrow {
      font-size: 10px;
      opacity: 0.5;
      transition: transform 0.2s ease;
    }
    .nav-item:hover .nav-arrow {
      transform: rotate(180deg);
    }

    /* Nav dropdown */
    .nav-dropdown {
      position: absolute;
      top: 100%;
      left: 0;
      min-width: 180px;
      background: #fff;
      border-radius: 8px;
      box-shadow: 0 8px 30px rgba(0,0,0,0.15);
      padding: 8px 0;
      opacity: 0;
      visibility: hidden;
      transform: translateY(8px);
      transition: all 0.25s ease;
      z-index: 100;
    }
    .nav-item:hover .nav-dropdown {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }
    .nav-dropdown a {
      display: block;
      padding: 10px 20px;
      color: var(--text-dark);
      text-decoration: none;
      font-size: 14px;
      transition: background 0.2s, color 0.2s;
    }
    .nav-dropdown a:hover {
      background: var(--red-light);
      color: var(--red);
    }



    /* Mobile menu toggle */

    /* ===== HERO BANNER ===== */
    .hero {
      position: relative;
      width: 100%;
      height: 100vh;
      min-height: 600px;
      max-height: 900px;
      overflow: hidden;
      background: #000;
    }
    .hero-slide {
      position: absolute;
      inset: 0;
      opacity: 0;
      transition: opacity 1s ease;
    }
    .hero-slide.active {
      opacity: 1;
    }
    .hero-slide-bg {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    .hero-slide-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(0,30,70,0.45) 0%, rgba(0,15,40,0.3) 40%, rgba(0,51,102,0.2) 100%);
    }
    .hero-content {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      max-width: 1440px;
      margin: 0 auto;
      padding: 0 24px;
      padding-top: var(--header-h);
    }
    .hero-text {
      max-width: 650px;
    }
    .hero-text h1 {
      font-family: var(--font-display);
      font-size: 52px;
      font-weight: 800;
      color: #fff;
      line-height: 1.15;
      margin-bottom: 20px;
      letter-spacing: -0.02em;
    }
    .hero-text h1 .highlight {
      color: var(--red);
    }
    .hero-subtitle {
      font-size: 18px;
      color: rgba(255,255,255,0.75);
      line-height: 1.7;
      margin-bottom: 12px;
    }
    .hero-tags {
      display: flex;
      gap: 12px;
      margin-top: 24px;
      flex-wrap: wrap;
    }
    .hero-tag {
      padding: 8px 20px;
      background: rgba(255,255,255,0.12);
      border: 1px solid rgba(255,255,255,0.2);
      border-radius: 100px;
      color: #fff;
      font-size: 14px;
      font-weight: 500;
      backdrop-filter: blur(10px);
    }
    .hero-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-top: 28px;
      padding: 14px 36px;
      background: var(--red);
      color: #fff;
      border: none;
      border-radius: 6px;
      font-size: 15px;
      font-weight: 600;
      cursor: pointer;
      text-decoration: none;
      transition: background 0.3s, transform 0.2s;
    }
    .hero-btn:hover {
      background: var(--red-hover);
      transform: translateY(-2px);
    }

    /* Hero navigation */
    .hero-nav {
      position: absolute;
      bottom: 40px;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      align-items: center;
      gap: 16px;
      z-index: 10;
    }
    .hero-dots {
      display: flex;
      gap: 10px;
    }
    .hero-dot {
      width: 12px;
      height: 12px;
      border-radius: 50%;
      border: 2px solid rgba(255,255,255,0.5);
      background: transparent;
      cursor: pointer;
      transition: all 0.3s ease;
    }
    .hero-dot.active {
      background: var(--red);
      border-color: var(--red);
    }
    .hero-counter {
      color: rgba(255,255,255,0.6);
      font-size: 14px;
      font-weight: 600;
      font-family: var(--font-display);
    }
    .hero-counter .current {
      color: #fff;
      font-size: 24px;
    }

    /* Hero arrows */
    .hero-arrow {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: rgba(255,255,255,0.1);
      border: 1px solid rgba(255,255,255,0.2);
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      z-index: 10;
      transition: all 0.3s ease;
      backdrop-filter: blur(10px);
    }
    .hero-arrow:hover {
      background: rgba(255,255,255,0.2);
    }
    .hero-arrow-left { left: 24px; }
    .hero-arrow-right { right: 24px; }

    /* ===== STATS SECTION ===== */
    .stats-section {
      background: #fff;
      padding: 60px 0;
      box-shadow: 0 4px 20px rgba(0,0,0,0.06);
      position: relative;
      z-index: 5;
    }
    .stats-grid {
      max-width: 1440px;
      margin: 0 auto;
      padding: 0 24px;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 40px;
    }
    .stat-item {
      text-align: center;
    }
    .stat-number {
      font-size: 48px;
      font-weight: 800;
      color: var(--red);
      line-height: 1;
      margin-bottom: 4px;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }
    .stat-number::after {
      content: '+';
      font-size: 32px;
      font-weight: 700;
      margin-left: 2px;
    }
    .stat-number .unit {
      display: none;
    }
    .stat-label {
      font-size: 15px;
      color: var(--text-body);
      font-weight: 500;
    }

    /* ===== SECTION COMMON ===== */
    .section-header {
      display: flex;
      align-items: flex-end;
      gap: 24px;
      margin-bottom: 48px;
    }
    .section-number {
      font-family: var(--font-display);
      font-size: 64px;
      font-weight: 900;
      color: var(--red);
      opacity: 0.15;
      line-height: 1;
      flex-shrink: 0;
      min-width: 80px;
      text-align: center;
    }
    .section-number span {
      display: block;
      font-size: 14px;
      font-weight: 700;
      color: var(--text-muted);
      letter-spacing: 3px;
      text-transform: uppercase;
      opacity: 1;
      margin-bottom: 6px;
      line-height: 1;
    }
    .section-title {
      font-family: var(--font-display);
      font-size: 32px;
      font-weight: 700;
      color: var(--blue);
      line-height: 1.2;
      margin: 0;
    }
    .section-subtitle {
      font-size: 15px;
      color: var(--text-muted);
      margin-top: 8px;
      margin-bottom: 0;
    }
    .section-container {
      max-width: 1440px;
      margin: 0 auto;
      padding: 0 24px;
    }

    /* ===== SERVICES SECTION ===== */
    .services-section {
      background: var(--section-bg);
      padding: 80px 0 100px;
    }
    .service-tabs {
      display: flex;
      gap: 8px;
      margin-bottom: 36px;
      flex-wrap: wrap;
    }
    .service-tab {
      padding: 10px 24px;
      font-size: 14px;
      font-weight: 600;
      color: var(--text-body);
      background: rgba(0,0,0,0.06);
      border: none;
      border-radius: 6px;
      cursor: pointer;
      transition: all 0.25s ease;
    }
    .service-tab:hover {
      background: rgba(0,0,0,0.1);
      color: var(--text-dark);
    }
    .service-tab.active {
      background: var(--red);
      color: #fff;
      box-shadow: 0 4px 12px rgba(230,0,18,0.3);
    }
    .service-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
    }
    .service-card {
      background: #fff;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: var(--card-shadow);
      transition: transform 0.3s ease, box-shadow 0.3s ease;
      cursor: pointer;
    }
    .service-card:hover {
      transform: translateY(-6px);
      box-shadow: var(--card-shadow-hover);
    }
    .service-card-img {
      width: 100%;
      height: 180px;
      object-fit: cover;
      display: block;
    }
    .service-card-body {
      padding: 20px;
    }
    .service-card-title {
      font-size: 16px;
      font-weight: 700;
      color: var(--blue);
      margin-bottom: 8px;
      line-height: 1.4;
    }
    .service-card-desc {
      font-size: 13px;
      color: var(--text-muted);
      line-height: 1.6;
      margin-bottom: 16px;
    }
    .service-card-link {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 13px;
      font-weight: 600;
      color: var(--red);
      text-decoration: none;
      transition: gap 0.2s;
    }
    .service-card-link:hover {
      gap: 10px;
    }
    .service-card-link svg {
      width: 14px;
      height: 14px;
    }

    /* ===== CASES SECTION ===== */
    .cases-section {
      background: #fff;
      padding: 80px 0 100px;
    }
    .case-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
    }
    .case-card {
      background: #fff;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: var(--card-shadow);
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    .case-card:hover {
      transform: translateY(-6px);
      box-shadow: var(--card-shadow-hover);
    }
    .case-card-img {
      position: relative;
      overflow: hidden;
      height: 220px;
    }
    .case-card-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.5s ease;
    }
    .case-card:hover .case-card-img img {
      transform: scale(1.05);
    }
    .case-tag {
      position: absolute;
      top: 14px;
      left: 14px;
      padding: 4px 12px;
      background: var(--red);
      color: #fff;
      font-size: 12px;
      font-weight: 600;
      border-radius: 4px;
    }
    .case-card-body {
      padding: 22px;
    }
    .case-card-title {
      font-size: 17px;
      font-weight: 700;
      color: var(--blue);
      margin-bottom: 8px;
      line-height: 1.4;
    }
    .case-card-desc {
      font-size: 13px;
      color: var(--text-muted);
      line-height: 1.6;
      margin-bottom: 16px;
    }
    .case-card-link {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 13px;
      font-weight: 600;
      color: var(--red);
      text-decoration: none;
      transition: gap 0.2s;
    }
    .case-card-link:hover { gap: 10px; }

    .btn-more {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 12px 32px;
      background: var(--red);
      color: #fff;
      border: none;
      border-radius: 6px;
      font-size: 14px;
      font-weight: 600;
      cursor: pointer;
      text-decoration: none;
      margin-top: 40px;
      transition: background 0.3s, transform 0.2s;
    }
    .btn-more:hover {
      background: var(--red-hover);
      transform: translateY(-2px);
    }

    /* ===== News Section (Redesigned) ===== */
    .news-section {
      padding: 100px 0;
      background: var(--section-bg);
    }
    .news-tabs-pills {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 40px;
    }
    .nt-pill {
      padding: 8px 20px;
      border-radius: 20px;
      border: 1px solid #e5e7eb;
      background: #fff;
      color: var(--text-body);
      font-size: 14px;
      cursor: pointer;
      transition: all 0.3s ease;
      font-family: inherit;
    }
    .nt-pill:hover {
      border-color: var(--red);
      color: var(--red);
    }
    .nt-pill.active {
      background: var(--red);
      border-color: var(--red);
      color: #fff;
    }
    .news-card-grid {
      display: block;
    }
    .news-card-grid .news-panel {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      width: 100%;
    }
    .news-card {
      background: #fff;
      border-radius: 16px;
      overflow: hidden;
      text-decoration: none;
      color: inherit;
      transition: all 0.4s ease;
      display: block;
      border: 1px solid transparent;
    }
    .news-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 16px 48px rgba(0,0,0,0.1);
      border-color: rgba(230,0,18,0.08);
    }
    .news-card-img {
      position: relative;
      height: 200px;
      overflow: hidden;
    }
    .news-card-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.5s ease;
    }
    .news-card:hover .news-card-img img {
      transform: scale(1.06);
    }
    .news-card-tag {
      position: absolute;
      top: 12px;
      left: 12px;
      background: rgba(230,0,18,0.9);
      color: #fff;
      font-size: 11px;
      padding: 4px 10px;
      border-radius: 4px;
      font-weight: 500;
      backdrop-filter: blur(4px);
    }
    .news-card-body {
      padding: 20px 24px 24px;
    }
    .news-card-date {
      font-size: 12px;
      color: var(--text-muted);
      margin-bottom: 10px;
    }
    .news-card-body h3 {
      font-size: 16px;
      font-weight: 700;
      color: var(--blue);
      margin: 0 0 10px;
      line-height: 1.5;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      transition: color 0.3s ease;
    }
    .news-card:hover .news-card-body h3 {
      color: var(--red);
    }
    .news-card-body p {
      font-size: 13px;
      color: var(--text-body);
      line-height: 1.8;
      margin: 0 0 14px;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    .news-card-more {
      font-size: 13px;
      color: var(--red);
      font-weight: 500;
      transition: gap 0.3s ease;
    }
    .news-card:hover .news-card-more {
      gap: 8px;
    }
    @media (max-width: 1024px) {
      .news-card-grid .news-panel {
        grid-template-columns: repeat(2, 1fr);
      }
    }
    @media (max-width: 768px) {
      .news-section { padding: 60px 0; }
      .news-card-grid .news-panel {
        grid-template-columns: 1fr;
        gap: 16px;
      }
      .news-card-img { height: 180px; }
    }

    /* ===== PARTNERS SECTION ===== */
    .partners-section {
      background: #fff;
      padding: 80px 0 100px;
    }
    .partners-grid {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 20px;
    }
    .partner-item {
      height: 90px;
      background: var(--section-bg);
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 13px;
      font-weight: 600;
      color: var(--text-muted);
      transition: all 0.3s ease;
      border: 1px solid transparent;
    }
    .partner-item:hover {
      border-color: var(--red);
      color: var(--text-dark);
      box-shadow: 0 4px 12px rgba(230,0,18,0.1);
    }

    /* ===== CONTACT CTA SECTION ===== */
    .contact-section {
      background: var(--nav-bg);
      padding: 80px 0;
      position: relative;
      overflow: hidden;
    }
    .contact-section::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse at 20% 50%, rgba(230,0,18,0.06) 0%, transparent 60%),
        radial-gradient(ellipse at 80% 50%, rgba(0,51,102,0.08) 0%, transparent 60%);
    }
    .contact-layout {
      max-width: 1440px;
      margin: 0 auto;
      padding: 0 24px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 60px;
      align-items: center;
      position: relative;
      z-index: 1;
    }
    .contact-info-label {
      font-size: 13px;
      font-weight: 700;
      color: var(--red);
      letter-spacing: 3px;
      text-transform: uppercase;
      margin-bottom: 16px;
    }
    .contact-info-title {
      font-family: var(--font-display);
      font-size: 36px;
      font-weight: 800;
      color: #fff;
      line-height: 1.3;
      margin-bottom: 12px;
    }
    .contact-info-quote {
      font-size: 22px;
      font-weight: 700;
      color: rgba(255,255,255,0.9);
      margin-bottom: 16px;
    }
    .contact-info-desc {
      font-size: 15px;
      color: rgba(255,255,255,0.55);
      line-height: 1.8;
      margin-bottom: 28px;
    }
    .contact-phone {
      display: flex;
      align-items: center;
      gap: 12px;
      color: #fff;
      font-size: 28px;
      font-weight: 700;
      font-family: var(--font-display);
      margin-bottom: 8px;
    }
    .contact-phone svg {
      width: 24px;
      height: 24px;
      color: var(--red);
    }
    .contact-wechat {
      font-size: 14px;
      color: rgba(255,255,255,0.5);
    }

    /* Contact form */
    .contact-form {
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(255,255,255,0.1);
      border-radius: 16px;
      padding: 40px;
      backdrop-filter: blur(20px);
    }
    .form-title {
      font-size: 22px;
      font-weight: 700;
      color: #fff;
      margin-bottom: 28px;
    }
    .form-group {
      margin-bottom: 16px;
    }
    .form-label {
      display: block;
      font-size: 13px;
      font-weight: 600;
      color: rgba(255,255,255,0.6);
      margin-bottom: 8px;
    }
    .form-input {
      width: 100%;
      height: 48px;
      padding: 0 16px;
      background: rgba(255,255,255,0.06);
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 8px;
      color: #fff;
      font-size: 14px;
      font-family: var(--font-body);
      outline: none;
      transition: border-color 0.3s ease, box-shadow 0.3s ease;
      box-sizing: border-box;
    }
    .form-input:focus {
      border-color: var(--red);
      box-shadow: 0 0 0 3px rgba(230,0,18,0.15);
    }
    .form-input::placeholder {
      color: rgba(255,255,255,0.25);
    }
    .form-submit {
      width: 100%;
      height: 50px;
      background: var(--red);
      color: #fff;
      border: none;
      border-radius: 8px;
      font-size: 16px;
      font-weight: 700;
      cursor: pointer;
      transition: background 0.3s, transform 0.2s;
      margin-top: 8px;
    }
    .form-submit:hover {
      background: var(--red-hover);
      transform: translateY(-2px);
    }

    /* ===== FOOTER ===== */
    .site-footer {
      background: #fff;
      border-top: 1px solid var(--border-light);
    }
    .footer-main {
      max-width: 1440px;
      margin: 0 auto;
      padding: 48px 24px 36px;
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 32px;
    }
    .footer-col-title {
      font-size: 16px;
      font-weight: 700;
      color: var(--blue);
      margin-bottom: 20px;
      position: relative;
      padding-bottom: 10px;
    }
    .footer-col-title::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 24px;
      height: 2px;
      background: var(--red);
      border-radius: 1px;
    }
    .footer-links {
      list-style: none;
    }
    .footer-links li {
      margin-bottom: 10px;
    }
    .footer-links a {
      font-size: 13px;
      color: var(--text-muted);
      text-decoration: none;
      transition: color 0.2s;
    }
    .footer-links a:hover {
      color: var(--red);
    }

    /* Footer bottom */
    .footer-bottom {
      border-top: 1px solid var(--border-light);
      background: var(--section-bg);
    }
    .footer-bottom-inner {
      max-width: 1440px;
      margin: 0 auto;
      padding: 20px 24px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 16px;
    }
    .footer-diagnose {
      display: flex;
      align-items: center;
      gap: 12px;
      font-size: 14px;
      color: var(--text-body);
    }
    .footer-diagnose-input {
      height: 38px;
      padding: 0 14px;
      border: 1px solid var(--border-light);
      border-radius: 6px;
      background: #fff;
      font-size: 13px;
      color: var(--text-dark);
      outline: none;
      width: 220px;
      transition: border-color 0.3s;
      box-sizing: border-box;
    }
    .footer-diagnose-input:focus {
      border-color: var(--red);
    }
    .footer-diagnose-btn {
      height: 38px;
      padding: 0 18px;
      background: var(--red);
      color: #fff;
      border: none;
      border-radius: 6px;
      font-size: 13px;
      font-weight: 600;
      cursor: pointer;
      transition: background 0.3s;
      white-space: nowrap;
    }
    .footer-diagnose-btn:hover {
      background: var(--red-hover);
    }
    .footer-copyright {
      font-size: 12px;
      color: var(--text-muted);
    }

    /* Friend links */
    .footer-friend-links {
      border-top: 1px solid var(--border-light);
    }
    .footer-friend-inner {
      max-width: 1440px;
      margin: 0 auto;
      padding: 16px 24px;
      display: flex;
      align-items: center;
      gap: 16px;
      flex-wrap: wrap;
    }
    .friend-label {
      font-size: 12px;
      color: var(--text-muted);
      flex-shrink: 0;
    }
    .friend-links {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }
    .friend-links a {
      font-size: 12px;
      color: var(--text-muted);
      text-decoration: none;
      transition: color 0.2s;
    }
    .friend-links a:hover { color: var(--red); }
    .friend-links a::after {
      content: '|';
      margin-left: 8px;
      color: #ddd;
    }
    .friend-links a:last-child::after { display: none; }

    /* Hot searches */
    .hot-searches {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
    }
    .hot-label {
      font-size: 12px;
      color: var(--text-muted);
      flex-shrink: 0;
    }
    .hot-tag {
      padding: 2px 10px;
      background: #f0f0f0;
      border-radius: 3px;
      font-size: 12px;
      color: var(--text-muted);
      text-decoration: none;
      transition: all 0.2s;
    }
    .hot-tag:hover {
      background: var(--red-light);
      color: var(--red);
    }
    /* ===== FEATURED SERVICES SECTION - THREE COLUMN SHOWCASE ===== */
    .featured-section {
      background: linear-gradient(180deg, #f8f9fb 0%, #ffffff 100%);
      padding: 100px 0 110px;
      position: relative;
      overflow: hidden;
    }
    .featured-section::before {
      content: '';
      position: absolute;
      top: -200px;
      right: -200px;
      width: 500px;
      height: 500px;
      background: radial-gradient(circle, rgba(230,0,18,.04) 0%, transparent 70%);
      border-radius: 50%;
      pointer-events: none;
    }
    .featured-section::after {
      content: '';
      position: absolute;
      bottom: -150px;
      left: -150px;
      width: 400px;
      height: 400px;
      background: radial-gradient(circle, rgba(0,51,102,.03) 0%, transparent 70%);
      border-radius: 50%;
      pointer-events: none;
    }
    .featured-section .section-container {
      position: relative;
      z-index: 1;
    }
    .featured-section .section-header {
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-bottom: 48px;
    }
    .featured-section .section-title {
      font-size: 38px;
      font-weight: 800;
      color: #0a1628;
      letter-spacing: -0.5px;
    }
    .featured-section .section-subtitle {
      font-size: 16px;
      color: #6b7280;
      margin-top: 12px;
      max-width: 600px;
      text-align: center;
      line-height: 1.7;
    }
    .featured-section .section-accent {
      width: 48px;
      height: 4px;
      background: linear-gradient(90deg, #E60012, #ff4d4d);
      border-radius: 2px;
      margin-top: 16px;
    }

    /* Tab bar */
    .feat-tabs {
      display: flex;
      justify-content: center;
      gap: 8px;
      margin-bottom: 32px;
      flex-wrap: wrap;
      padding: 6px;
      background: #f1f3f5;
      border-radius: 14px;
      max-width: fit-content;
      margin-left: auto;
      margin-right: auto;
    }
    .feat-tab {
      padding: 10px 24px;
      border: none;
      background: transparent;
      color: #6b7280;
      font-size: 14px;
      font-weight: 600;
      border-radius: 10px;
      cursor: pointer;
      transition: all 0.3s ease;
      font-family: inherit;
      white-space: nowrap;
    }
    .feat-tab:hover {
      color: #E60012;
    }
    .feat-tab.active {
      background: #fff;
      color: #E60012;
      box-shadow: 0 2px 8px rgba(0,0,0,.06);
    }

    /* Three-column showcase layout */
    .feat-showcase {
      display: grid;
      grid-template-columns: 280px 1fr 380px;
      gap: 12px;
      padding: 12px;
      border-radius: 24px;
      box-shadow: 0 4px 40px rgba(0,0,0,.06);
      background: #fff;
      min-height: 560px;
    }
    .feat-show-nav,
    .feat-show-visual,
    .feat-show-detail {
      border-radius: 16px;
      overflow: hidden;
    }

    /* === LEFT COLUMN: Numbered Navigation === */
    .feat-show-nav {
      display: flex;
      flex-direction: column;
      background: #f5f7fa;
      padding: 20px 0;
      position: relative;
    }
    .feat-show-nav::after {
      content: '';
      position: absolute;
      top: 12px;
      right: 0;
      width: 1px;
      height: calc(100% - 24px);
      background: rgba(0,0,0,.08);
      border-radius: 1px;
    }
    .feat-nav-item {
      display: flex;
      align-items: center;
      gap: 16px;
      padding: 22px 28px;
      cursor: pointer;
      transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      position: relative;
      border-left: 3px solid transparent;
    }
    .feat-nav-item:hover {
      background: rgba(0,0,0,.03);
    }
    .feat-nav-item.active {
      background: var(--red-light);
      border-left-color: var(--red);
    }
    .feat-nav-item.active::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: linear-gradient(90deg, rgba(230,0,18,.12) 0%, transparent 100%);
      pointer-events: none;
    }
    .feat-nav-num {
      font-family: var(--font-display);
      font-size: 28px;
      font-weight: 800;
      color: rgba(16,24,40,.15);
      line-height: 1;
      transition: all 0.35s ease;
      flex-shrink: 0;
      min-width: 36px;
    }
    .feat-nav-item.active .feat-nav-num {
      color: var(--red);
      text-shadow: 0 0 20px rgba(230,0,18,.3);
    }
    .feat-nav-item:hover .feat-nav-num {
      color: rgba(16,24,40,.35);
    }
    .feat-nav-item.active:hover .feat-nav-num {
      color: var(--red);
    }
    .feat-nav-text {
      display: flex;
      flex-direction: column;
      gap: 4px;
    }
    .feat-nav-title {
      font-size: 16px;
      font-weight: 700;
      color: var(--text-body);
      transition: color 0.35s ease;
      line-height: 1.3;
    }
    .feat-nav-sub {
      font-size: 12px;
      color: var(--text-muted);
      transition: color 0.35s ease;
    }
    .feat-nav-item.active .feat-nav-title {
      color: var(--red);
    }
    .feat-nav-item.active .feat-nav-sub {
      color: var(--text-muted);
    }
    .feat-nav-item:hover .feat-nav-title {
      color: var(--text-dark);
    }
    .feat-nav-item:hover .feat-nav-sub {
      color: var(--text-body);
    }

    /* === MIDDLE COLUMN: Visual Display === */
    .feat-show-visual {
      position: relative;
      background: #0c1424;
      overflow: hidden;
      min-height: 520px;
    }
    .feat-visual-panel {
      position: absolute;
      inset: 0;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.5s ease, visibility 0.5s ease;
      display: flex;
      flex-direction: column;
    }
    .feat-visual-panel.active {
      opacity: 1;
      visibility: visible;
    }
    .feat-visual-tag {
      position: absolute;
      top: 24px;
      left: 24px;
      z-index: 3;
      padding: 8px 18px;
      background: rgba(255,255,255,.12);
      backdrop-filter: blur(12px);
      border: 1px solid rgba(255,255,255,.15);
      border-radius: 100px;
      color: #fff;
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 1.5px;
      text-transform: uppercase;
    }
    .feat-visual-img {
      position: absolute;
      inset: 0;
      overflow: hidden;
    }
    .feat-visual-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.8s ease;
    }
    .feat-visual-panel.active .feat-visual-img img {
      transform: scale(1.05);
    }
    .feat-visual-panel.active:hover .feat-visual-img img {
      transform: scale(1.1);
    }
    .feat-visual-img::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(12,20,36,.28) 0%, rgba(12,20,36,.08) 42%, rgba(8,14,26,.74) 100%);
    }
    .feat-visual-cta {
      position: absolute;
      bottom: 24px;
      left: 24px;
      z-index: 3;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 10px 22px;
      background: rgba(255,255,255,.15);
      backdrop-filter: blur(12px);
      border: 1px solid rgba(255,255,255,.2);
      border-radius: 8px;
      color: #fff;
      font-size: 13px;
      font-weight: 600;
      text-decoration: none;
      transition: all 0.3s ease;
    }
    .feat-visual-cta:hover {
      background: var(--red);
      border-color: var(--red);
      transform: translateX(4px);
    }

    /* === RIGHT COLUMN: Detail Panel === */
    .feat-show-detail {
      background: #fff;
      padding: 40px 36px;
      position: relative;
      overflow: hidden;
    }
    .feat-show-detail::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 1px;
      height: 100%;
      background: var(--border-light);
    }
    .feat-detail-panel {
      display: none;
      flex-direction: column;
      height: 100%;
      animation: featDetailFadeIn 0.5s ease forwards;
    }
    .feat-detail-panel.active {
      display: flex;
    }
    @keyframes featDetailFadeIn {
      from { opacity: 0; transform: translateX(20px); }
      to { opacity: 1; transform: translateX(0); }
    }
    .feat-detail-label {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 12px;
      font-weight: 700;
      color: var(--text-muted);
      letter-spacing: 2px;
      margin-bottom: 16px;
    }
    .feat-detail-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--red);
      box-shadow: 0 0 12px rgba(230,0,18,.4);
    }
    .feat-detail-title {
      position: relative;
      padding-left: 16px;
      font-family: var(--font-display);
      font-size: 24px;
      font-weight: 800;
      color: var(--blue);
      line-height: 1.25;
      margin-bottom: 14px;
      letter-spacing: -0.3px;
    }
    .feat-detail-title::before {
      content: '';
      position: absolute;
      left: 0;
      top: 4px;
      bottom: 4px;
      width: 4px;
      border-radius: 4px;
      background: var(--red);
    }
    .feat-detail-accent {
      color: var(--red);
    }
    .feat-detail-desc {
      font-size: 13.5px;
      color: var(--text-body);
      line-height: 1.8;
      margin-bottom: 20px;
    }
    .feat-detail-features {
      list-style: none;
      padding: 0;
      margin: 0 0 24px 0;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .feat-detail-features li {
      font-size: 13px;
      color: var(--text-dark);
      font-weight: 500;
      padding-left: 24px;
      position: relative;
      line-height: 1.5;
    }
    .feat-detail-features li::before {
      content: '';
      position: absolute;
      left: 0;
      top: 6px;
      width: 14px;
      height: 14px;
      background: var(--red-light);
      border-radius: 4px;
    }
    .feat-detail-features li::after {
      content: '';
      position: absolute;
      left: 4px;
      top: 9px;
      width: 6px;
      height: 3px;
      border-left: 2px solid var(--red);
      border-bottom: 2px solid var(--red);
      transform: rotate(-45deg);
    }
    .feat-detail-metrics {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
      margin-bottom: 24px;
      padding: 20px 16px;
      background: linear-gradient(180deg, #fafbfc 0%, #f4f6f9 100%);
      border-radius: 12px;
      border: 1px solid #eef0f3;
      border-top: 3px solid var(--red);
    }
    .feat-metric {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      gap: 4px;
    }
    .feat-metric-num {
      font-family: var(--font-display);
      font-size: 22px;
      font-weight: 800;
      color: var(--red);
      line-height: 1;
    }
    .feat-metric-label {
      font-size: 11px;
      color: var(--text-muted);
      font-weight: 500;
    }
    .feat-detail-cta {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 12px 28px;
      background: var(--blue);
      color: #fff;
      border-radius: 8px;
      font-size: 14px;
      font-weight: 600;
      text-decoration: none;
      transition: all 0.3s ease;
      align-self: flex-start;
      margin-top: auto;
    }
    .feat-detail-cta:hover {
      background: var(--red);
      transform: translateX(4px);
    }

    /* === RESPONSIVE: Three-column showcase === */
    @media (max-width: 1200px) {
      .feat-showcase {
        grid-template-columns: 240px 1fr 340px;
      }
      .feat-show-detail { padding: 32px 28px; }
      .feat-detail-title { font-size: 21px; }
    }
    @media (max-width: 968px) {
      .feat-tabs { gap: 4px; padding: 4px; }
      .feat-tab { padding: 8px 16px; font-size: 13px; }
      .feat-showcase {
        grid-template-columns: 1fr;
        min-height: auto;
      }
      .feat-show-nav {
        flex-direction: row;
        overflow-x: auto;
        padding: 8px;
        gap: 4px;
      }
      .feat-nav-item {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 14px 16px;
        border-left: none;
        border-bottom: 3px solid transparent;
        min-width: 140px;
        gap: 8px;
      }
      .feat-nav-item.active {
        border-left-color: transparent;
        border-bottom-color: var(--red);
      }
      .feat-nav-item.active::before { display: none; }
      .feat-nav-num { font-size: 22px; }
      .feat-nav-title { font-size: 14px; }
      .feat-nav-sub { font-size: 11px; }
      .feat-show-visual {
        min-height: 320px;
      }
      .feat-show-detail {
        padding: 32px 24px;
      }
      .feat-show-detail::before { display: none; }
    }
    @media (max-width: 640px) {
      .featured-section { padding: 60px 0 70px; }
      .featured-section .section-title { font-size: 28px; }
      .feat-tabs { gap: 2px; padding: 3px; margin-bottom: 20px; }
      .feat-tab { padding: 7px 12px; font-size: 12px; }
      .feat-show-nav { padding: 6px; }
      .feat-nav-item { min-width: 110px; padding: 12px 10px; }
      .feat-nav-num { font-size: 18px; }
      .feat-nav-title { font-size: 13px; }
      .feat-nav-sub { font-size: 10px; }
      .feat-show-visual { min-height: 240px; }
      .feat-show-detail { padding: 24px 20px; }
      .feat-detail-title { font-size: 19px; }
      .feat-detail-desc { font-size: 13px; }
      .feat-detail-metrics {
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
        padding: 14px;
      }
      .feat-metric-num { font-size: 18px; }
      .feat-metric-label { font-size: 10px; }
    }

    /* ===== FEATURED SHOWCASE FOOTER (查看全部服务) ===== */
    .feat-showcase-footer {
      display: flex;
      justify-content: center;
      margin-top: 48px;
    }
    .feat-all-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 14px 36px;
      border: 1px solid var(--red);
      border-radius: 999px;
      font-size: 15px;
      font-weight: 500;
      color: #fff;
      background: var(--red);
      transition: all .25s ease;
    }
    .feat-all-btn svg { transition: transform .25s ease; }
    .feat-all-btn:hover {
      color: #fff;
      background: var(--red-hover);
      border-color: var(--red-hover);
      box-shadow: 0 8px 24px rgba(230, 0, 18, .25);
    }
    .feat-all-btn:hover svg { transform: translateX(4px); }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 1440px) {
      .hero-text h1 { font-size: 40px; }
      .stats-grid { gap: 24px; }
      .stat-number { font-size: 38px; }
      .service-grid { grid-template-columns: repeat(3, 1fr); }
      .case-grid { grid-template-columns: repeat(2, 1fr); }
      .partners-grid { grid-template-columns: repeat(4, 1fr); }
      .footer-main { grid-template-columns: repeat(3, 1fr); }
      .contact-layout { gap: 40px; }
    }

    @media (max-width: 768px) {
      :root { --header-h: 60px; }
      .main-nav { display: none; }

      .hero-text h1 { font-size: 30px; }
      .hero-subtitle { font-size: 15px; }
      .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
      .stat-number { font-size: 32px; }
      .section-header { flex-direction: column; align-items: flex-start; gap: 12px; }
      .section-number { font-size: 48px; }
      .section-title { font-size: 24px; }
      .service-grid { grid-template-columns: repeat(2, 1fr); }
      .case-grid { grid-template-columns: 1fr; }
      .partners-grid { grid-template-columns: repeat(3, 1fr); }
      .contact-layout { grid-template-columns: 1fr; }
      .footer-main { grid-template-columns: repeat(2, 1fr); }
      .footer-bottom-inner { flex-direction: column; align-items: flex-start; }
      .hero-arrow { display: none; }
    }

    @media (max-width: 480px) {
      .service-grid { grid-template-columns: 1fr; }
      .partners-grid { grid-template-columns: repeat(2, 1fr); }
      .footer-main { grid-template-columns: 1fr; }
    }
  
    /* ===== Hero scroll hint (enhanced) ===== */
    .hero-scroll-hint {
      position: absolute;
      bottom: 20px;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 8px;
      z-index: 10;
      animation: scrollHintBounce 2s ease-in-out infinite;
    }
    .hero-scroll-hint span {
      font-size: 12px;
      color: rgba(255,255,255,0.7);
      letter-spacing: 2px;
    }
    .hero-scroll-hint .scroll-line {
      width: 1px;
      height: 40px;
      background: linear-gradient(to bottom, rgba(255,255,255,0.6), transparent);
    }
    @keyframes scrollHintBounce {
      0%, 100% { transform: translateX(-50%) translateY(0); }
      50% { transform: translateX(-50%) translateY(8px); }
    }

    /* ===== Hero CTA button group ===== */
    .hero-btn-group {
      display: flex;
      gap: 16px;
      margin-top: 28px;
      flex-wrap: wrap;
    }
    .hero-btn {
      margin-top: 0;
    }
    .hero-btn-outline {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 14px 36px;
      background: transparent;
      color: #fff;
      border: 2px solid rgba(255,255,255,0.4);
      border-radius: 6px;
      font-size: 15px;
      font-weight: 600;
      cursor: pointer;
      text-decoration: none;
      transition: all 0.3s ease;
    }
    .hero-btn-outline:hover {
      border-color: #fff;
      background: rgba(255,255,255,0.1);
      transform: translateY(-2px);
    }

    /* ===== Core Advantages Section ===== */
    .advantage-section {
      padding: 100px 0;
      background: #fff;
    }
    .advantage-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      margin-top: 48px;
    }
    .adv-card {
      background: #f8fafc;
      border-radius: 16px;
      padding: 36px 28px;
      transition: all 0.4s ease;
      border: 1px solid transparent;
      position: relative;
      overflow: hidden;
    }
    .adv-card::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 3px;
      background: linear-gradient(90deg, var(--red), var(--blue));
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 0.4s ease;
    }
    .adv-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 40px rgba(0,0,0,0.08);
      border-color: rgba(230,0,18,0.1);
      background: #fff;
    }
    .adv-card:hover::before {
      transform: scaleX(1);
    }
    .adv-icon {
      width: 56px;
      height: 56px;
      border-radius: 14px;
      background: var(--red-light);
      color: var(--red);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 20px;
      transition: all 0.3s ease;
    }
    .adv-card:hover .adv-icon {
      background: var(--red);
      color: #fff;
      transform: scale(1.05);
    }
    .adv-card h3 {
      font-size: 18px;
      font-weight: 700;
      color: var(--blue);
      margin: 0 0 12px;
    }
    .adv-card p {
      font-size: 14px;
      color: var(--text-body);
      line-height: 1.8;
      margin: 0;
    }

    /* ===== Service Process Section ===== */
    .process-section {
      padding: 100px 0;
      background: var(--section-bg);
    }
    .process-track {
      display: flex;
      justify-content: space-between;
      margin-top: 56px;
      position: relative;
      padding: 0 20px;
    }
    .process-track::before {
      content: '';
      position: absolute;
      top: 36px;
      left: 60px;
      right: 60px;
      height: 2px;
      background: linear-gradient(90deg, var(--red) 0%, #e5e7eb 100%);
    }
    .process-step {
      flex: 1;
      text-align: center;
      position: relative;
      padding: 0 8px;
    }
    .step-num {
      font-size: 13px;
      font-weight: 700;
      color: var(--red);
      background: #fff;
      border: 2px solid var(--red);
      width: 28px;
      height: 28px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 16px;
      position: relative;
      z-index: 2;
    }
    .step-dot {
      width: 12px;
      height: 12px;
      background: var(--red);
      border-radius: 50%;
      margin: 0 auto 20px;
      position: relative;
      z-index: 2;
      box-shadow: 0 0 0 4px rgba(230,0,18,0.15);
    }
    .process-step h3 {
      font-size: 16px;
      font-weight: 700;
      color: var(--blue);
      margin: 0 0 8px;
    }
    .process-step p {
      font-size: 13px;
      color: var(--text-body);
      line-height: 1.7;
      margin: 0;
    }

    /* ===== Testimonials Section ===== */
    .testimonial-section {
      padding: 100px 0;
      background: #fff;
    }
    .testi-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      margin-top: 48px;
    }
    .testi-card {
      background: #f8fafc;
      border-radius: 16px;
      padding: 32px 28px;
      position: relative;
      transition: all 0.3s ease;
    }
    .testi-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 40px rgba(0,0,0,0.08);
    }
    .testi-stars {
      color: #f59e0b;
      font-size: 16px;
      letter-spacing: 2px;
      margin-bottom: 16px;
    }
    .testi-text {
      font-size: 14px;
      color: var(--text-dark);
      line-height: 1.9;
      margin: 0 0 24px;
      position: relative;
      padding-left: 16px;
      border-left: 3px solid var(--red);
    }
    .testi-author {
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .testi-avatar {
      width: 44px;
      height: 44px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 18px;
      font-weight: 700;
      flex-shrink: 0;
    }
    .testi-name {
      font-size: 15px;
      font-weight: 700;
      color: var(--blue);
    }
    .testi-title {
      font-size: 12px;
      color: var(--text-muted);
      margin-top: 2px;
    }

    /* ===== FAQ Section ===== */
    .faq-section {
      padding: 100px 0;
      background: var(--section-bg);
    }
    .faq-list {
      max-width: 100%;
      margin: 48px auto 0;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 12px 24px;
    }
    .faq-item {
      background: #fff;
      border-radius: 12px;
      margin-bottom: 12px;
      overflow: hidden;
      transition: box-shadow 0.3s ease;
    }
    .faq-item:hover {
      box-shadow: 0 4px 20px rgba(0,0,0,0.05);
    }
    .faq-q {
      width: 100%;
      padding: 20px 24px;
      background: none;
      border: none;
      text-align: left;
      font-size: 15px;
      font-weight: 600;
      color: var(--blue);
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
      font-family: inherit;
    }
    .faq-icon {
      width: 28px;
      height: 28px;
      border-radius: 50%;
      background: var(--red-light);
      color: var(--red);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      font-weight: 300;
      flex-shrink: 0;
      transition: all 0.3s ease;
    }
    .faq-item.open .faq-icon {
      background: var(--red);
      color: #fff;
      transform: rotate(45deg);
    }
    .faq-a {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s ease, padding 0.4s ease;
    }
    .faq-item.open .faq-a {
      max-height: 300px;
    }
    .faq-a p {
      padding: 0 24px 20px;
      margin: 0;
      font-size: 14px;
      color: var(--text-body);
      line-height: 1.8;
    }

    /* ===== Partners trust badges ===== */
    .trust-badges {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 32px;
      margin-top: 48px;
      padding-top: 40px;
      border-top: 1px solid #e5e7eb;
    }
    .badge-item {
      display: flex;
      align-items: center;
      gap: 8px;
      color: var(--text-muted);
      font-size: 14px;
    }
    .badge-item svg {
      color: var(--red);
    }

    /* ===== Responsive additions ===== */
    @media (max-width: 768px) {
      .advantage-grid {
        grid-template-columns: 1fr;
        gap: 16px;
      }
      .advantage-section {
        padding: 60px 0;
      }
      .process-section { padding: 60px 0; }
      .process-track {
        flex-direction: column;
        gap: 32px;
        padding: 0;
      }
      .process-track::before {
        top: 0; bottom: 0;
        left: 20px;
        right: auto;
        width: 2px;
        height: auto;
        background: linear-gradient(180deg, var(--red) 0%, #e5e7eb 100%);
      }
      .process-step {
        text-align: left;
        padding-left: 52px;
      }
      .step-num, .step-dot {
        position: absolute;
        left: 0;
        margin: 0;
      }
      .step-num { top: 0; }
      .step-dot { top: 38px; left: 8px; }
      .testimonial-section { padding: 60px 0; }
      .testi-grid {
        grid-template-columns: 1fr;
        gap: 16px;
      }
      .faq-section { padding: 60px 0; }
      .faq-q { padding: 16px 20px; font-size: 14px; }
      .faq-a p { padding: 0 20px 16px; }
      .faq-list {
        grid-template-columns: 1fr;
      }
      
      .hero-btn-group {
        gap: 10px;
      }
      .hero-btn, .hero-btn-outline {
        padding: 12px 24px;
        font-size: 14px;
      }
    }

    /* ============================================================
       2K+ 大屏适配（首页专属部分）
       说明：内容容器宽度对齐头/底由 unified.css 全局统一处理
       （1800/2000px，与 .uh-inner/.uf-inner 一致，左右 64px 对齐）。
       网格保持默认「整除列数」：服务 4 / 案例 3 / 资讯 3 / 优势 3 /
       评价 3 / FAQ 2 / 伙伴 6 / 统计 4，恰好整行打满，避免加列导致稀疏。
       这里只处理首页特有的三栏特色模块与字号节奏。
       ============================================================ */
    @media (min-width: 1920px) {
      /* 首页专属容器：与全局 1800px 对齐（这些类名不以 -inner 结尾，全局规则未覆盖） */
      .stats-grid, .contact-layout { max-width: 1800px; }

      /* 特色业务三栏：加宽左右栏与中部大图（保持 3 列结构，不增加列数） */
      .feat-showcase {
        grid-template-columns: 320px 1fr 460px;
        min-height: 600px;
      }
      .feat-show-visual { min-height: 600px; }

      /* 首页字号节奏（共享类由全局统一放大，这里只放大首页特大型标题） */
      .hero-text { max-width: 720px; }
      .hero-text h1 { font-size: 58px; }
      .featured-section .section-title { font-size: 46px !important; }
      .stat-number { font-size: 54px; }

      /* 区块上下留白更舒展 */
      .stats-section,
      .services-section,
      .advantage-section,
      .featured-section,
      .process-section,
      .cases-section,
      .testimonial-section,
      .news-section,
      .faq-section,
      .partners-section,
      .contact-section {
        padding-top: 120px;
        padding-bottom: 130px;
      }
    }

    @media (min-width: 2560px) {
      .stats-grid, .contact-layout { max-width: 2000px; }

      .feat-showcase {
        grid-template-columns: 340px 1fr 520px;
        min-height: 680px;
      }
      .feat-show-visual { min-height: 680px; }

      .hero-text { max-width: 800px; }
      .hero-text h1 { font-size: 66px; }
      .featured-section .section-title { font-size: 54px !important; }
      .stat-number { font-size: 60px; }

      .stats-section,
      .services-section,
      .advantage-section,
      .featured-section,
      .process-section,
      .cases-section,
      .testimonial-section,
      .news-section,
      .faq-section,
      .partners-section,
      .contact-section {
        padding-top: 140px;
        padding-bottom: 150px;
      }
    }