/* roulang page: index */
:root {
      --deep-moss: #1A3C2A;
      --bronze-gold: #B49450;
      --ivory-white: #FBF7F0;
      --dark-forest: #0F2819;
      --soft-gray: #F0EDE6;
      --text-primary: #3A3A3A;
      --text-muted: #6B6B6B;
      --border-light: #E0DCD3;
      --shadow-card: 0 4px 20px rgba(0,0,0,0.04);
      --shadow-card-hover: 0 12px 32px rgba(0,0,0,0.08);
      --radius-card: 12px;
      --radius-btn: 8px;
      --radius-pill: 24px;
      --font-sans: 'Inter', 'SF Pro Display', 'PingFang SC', 'Microsoft YaHei', sans-serif;
    }
    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }
    body {
      font-family: var(--font-sans);
      background-color: var(--ivory-white);
      color: var(--text-primary);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }
    img {
      max-width: 100%;
      height: auto;
      display: block;
    }
    a {
      color: inherit;
      text-decoration: none;
    }
    button, input {
      font-family: inherit;
    }
    .container {
      max-width: 1280px;
      margin-left: auto;
      margin-right: auto;
      padding-left: 1.5rem;
      padding-right: 1.5rem;
    }
    @media (min-width: 1024px) {
      .container {
        padding-left: 2rem;
        padding-right: 2rem;
      }
    }
    /* 导航搜索框焦点 */
    .search-input:focus {
      border-color: var(--bronze-gold);
      box-shadow: 0 0 0 3px rgba(180,148,80,0.15);
    }
    /* 斜切背景分隔 */
    .skew-divider {
      clip-path: polygon(0 8%, 100% 0, 100% 92%, 0 100%);
      background-color: var(--soft-gray);
    }
    @media (max-width: 768px) {
      .skew-divider {
        clip-path: polygon(0 3%, 100% 0, 100% 97%, 0 100%);
      }
    }
    /* 手风琴左侧竖线 */
    .faq-answer {
      border-left: 3px solid var(--bronze-gold);
      padding-left: 1.25rem;
      background-color: #FAF8F5;
    }
    /* 计数器动画 */
    .counter {
      font-variant-numeric: tabular-nums;
    }
    /* 自定义下划线动画 */
    .nav-link {
      position: relative;
    }
    .nav-link::after {
      content: '';
      position: absolute;
      bottom: -4px;
      left: 0;
      width: 0;
      height: 2px;
      background-color: var(--bronze-gold);
      transition: width 0.25s ease;
    }
    .nav-link:hover::after {
      width: 100%;
    }
    /* 卡片悬停平移 */
    .hover-lift {
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    .hover-lift:hover {
      transform: translateY(-6px);
      box-shadow: var(--shadow-card-hover);
    }
    /* 移动端菜单覆盖层 */
    .mobile-menu {
      background-color: var(--deep-moss);
      color: var(--ivory-white);
    }
    /* 脉冲阴影按钮 */
    .pulse-btn {
      box-shadow: 0 0 0 0 rgba(26,60,42,0.5);
      animation: pulse-ring 2s infinite;
    }
    @keyframes pulse-ring {
      0% { box-shadow: 0 0 0 0 rgba(26,60,42,0.5); }
      70% { box-shadow: 0 0 0 15px rgba(26,60,42,0); }
      100% { box-shadow: 0 0 0 0 rgba(26,60,42,0); }
    }
    /* 速度线背景纹样 */
    .speed-lines-bg {
      background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 30 L60 30' stroke='%231A3C2A' stroke-width='0.5' stroke-opacity='0.08'/%3E%3Cpath d='M10 0 L30 60' stroke='%231A3C2A' stroke-width='0.3' stroke-opacity='0.05'/%3E%3C/svg%3E");
      background-repeat: repeat;
    }
