/* roulang page: index */
:root {
      --primary: #0F766E;
      --primary-dark: #115E59;
      --primary-light: #14B8A6;
      --accent: #F97316;
      --dark-surface: #0F172A;
      --light-bg: #F8FAFC;
      --text-main: #0F172A;
      --text-muted: #334155;
      --text-sub: #64748B;
      --border-color: #E2E8F0;
      --radius-base: 12px;
      --shadow-sm: 0 2px 8px -2px rgba(15, 23, 42, 0.05);
      --shadow-card: 0 10px 25px -5px rgba(15, 23, 42, 0.06), 0 8px 10px -6px rgba(15, 23, 42, 0.04);
      --shadow-hover: 0 20px 30px -10px rgba(15, 118, 110, 0.15);
    }
    
    html {
      scroll-behavior: smooth;
      font-size: 16px;
    }
    
    body {
      background-color: var(--light-bg);
      color: var(--text-muted);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      line-height: 1.7;
      margin: 0;
      padding: 0;
      overflow-x: hidden;
    }

    /* 容器控制 */
    .site-container {
      max-width: 1240px;
      margin-left: auto;
      margin-right: auto;
      padding-left: 1.25rem;
      padding-right: 1.25rem;
    }
    @media (min-width: 768px) {
      .site-container {
        padding-left: 2rem;
        padding-right: 2rem;
      }
    }

    /* 按钮与交互状态 */
    .btn-brand-primary {
      background-color: var(--primary);
      color: #FFFFFF;
      transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-weight: 600;
      border-radius: 8px;
      padding: 0.75rem 1.75rem;
      min-height: 44px;
    }
    .btn-brand-primary:hover {
      background-color: var(--primary-dark);
      box-shadow: 0 6px 16px -2px rgba(15, 118, 110, 0.35);
      transform: translateY(-2px);
    }
    .btn-brand-primary:active {
      transform: translateY(0);
    }

    .btn-brand-accent {
      background-color: var(--accent);
      color: #FFFFFF;
      transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-weight: 600;
      border-radius: 8px;
      padding: 0.75rem 1.75rem;
      min-height: 44px;
    }
    .btn-brand-accent:hover {
      background-color: #EA580C;
      box-shadow: 0 6px 16px -2px rgba(249, 115, 22, 0.4);
      transform: translateY(-2px);
    }

    .btn-brand-outline {
      border: 1.5px solid var(--primary);
      color: var(--primary);
      background: transparent;
      transition: all 0.25s ease;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-weight: 600;
      border-radius: 8px;
      padding: 0.75rem 1.75rem;
      min-height: 44px;
    }
    .btn-brand-outline:hover {
      background-color: rgba(15, 118, 110, 0.08);
      transform: translateY(-2px);
    }

    /* 卡片悬停微交互 */
    .feature-card {
      transition: all 0.3s ease;
      border: 1px solid #E2E8F0;
      background: #FFFFFF;
      border-radius: 14px;
    }
    .feature-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-card);
      border-color: #CBD5E1;
    }

    /* 手风琴开关 */
    details summary::-webkit-details-marker {
      display: none;
    }
    details[open] summary .faq-icon {
      transform: rotate(180deg);
    }

    /* 移动端菜单开关 */
    #mobileMenu.active {
      display: flex;
    }
