/* roulang page: index */
:root {
      --color-brand-primary: #0F766E;
      --color-brand-dark: #042F2E;
      --color-accent: #F59E0B;
      --color-bg-base: #F8FAFC;
      --color-text-main: #1E293B;
      --color-text-muted: #64748B;
      --color-border: #E2E8F0;
      --radius-box: 1rem;
      --shadow-smooth: 0 4px 20px -2px rgba(15, 118, 110, 0.08);
      --shadow-hover: 0 16px 32px -4px rgba(15, 118, 110, 0.16);
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    body {
      background-color: var(--color-bg-base);
      color: var(--color-text-main);
      font-family: "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
      line-height: 1.75;
      -webkit-font-smoothing: antialiased;
    }

    a {
      text-decoration: none;
      color: inherit;
      transition: all 0.25s ease-in-out;
    }

    img {
      max-width: 100%;
      height: auto;
      display: block;
    }

    .container-wide {
      width: 100%;
      max-width: 1280px;
      margin-left: auto;
      margin-right: auto;
      padding-left: 1.25rem;
      padding-right: 1.25rem;
    }

    /* 标题层级行高规范 */
    h1, h2, h3, h4 {
      line-height: 1.3;
      font-weight: 700;
      color: #0F172A;
    }

    /* 交互动效与阴影阶梯 */
    .card-lift {
      transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
      box-shadow: var(--shadow-smooth);
    }
    .card-lift:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-hover);
    }

    /* 抽屉导航及遮罩动画 */
    #mobileMenu.open {
      transform: translateX(0);
    }
    #menuOverlay.open {
      opacity: 1;
      pointer-events: auto;
    }

    /* FAQ 手风琴展开样式控制 */
    .faq-answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .faq-item.active .faq-answer {
      max-height: 280px;
    }
    .faq-item.active .faq-icon {
      transform: rotate(180deg);
    }

    /* 输入框交互聚焦 */
    .form-control:focus {
      outline: none;
      border-color: var(--color-brand-primary);
      box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.15);
    }
