/* roulang page: index */
:root {
      --color-pine: #1A4331;
      --color-sage: #3E6B56;
      --color-amber: #D97706;
      --color-cream: #F9FAF7;
      --color-deep: #0A1F16;
      --radius-box: 16px;
      --shadow-soft: 0 4px 20px -2px rgba(26, 67, 49, 0.08);
      --shadow-hover: 0 10px 30px -4px rgba(26, 67, 49, 0.16);
    }
    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }
    body {
      background-color: var(--color-cream);
      color: #1F2937;
      font-family: 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
    }
    .custom-container {
      width: 100%;
      max-width: 1280px;
      margin-left: auto;
      margin-right: auto;
      padding-left: 1.25rem;
      padding-right: 1.25rem;
    }
    @media (min-width: 640px) {
      .custom-container { padding-left: 1.5rem; padding-right: 1.5rem; }
    }
    @media (min-width: 1024px) {
      .custom-container { padding-left: 2rem; padding-right: 2rem; }
    }
    .hero-card-stack {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      min-height: 480px;
    }
    @media (min-width: 1024px) {
      .side-card-left {
        transform: translate(-140px, 30px) rotate(-4deg);
        z-index: 10;
        transition: transform 0.4s ease;
      }
      .side-card-right {
        transform: translate(140px, 30px) rotate(4deg);
        z-index: 10;
        transition: transform 0.4s ease;
      }
      .center-main-card {
        z-index: 25;
        transform: translateY(0);
        box-shadow: 0 25px 50px -12px rgba(10, 31, 22, 0.25);
      }
      .hero-card-stack:hover .side-card-left {
        transform: translate(-180px, 20px) rotate(-6deg);
      }
      .hero-card-stack:hover .side-card-right {
        transform: translate(180px, 20px) rotate(6deg);
      }
    }
    details summary::-webkit-details-marker {
      display: none;
    }
    details[open] summary .faq-icon {
      transform: rotate(180deg);
    }
    .tab-active {
      background-color: #1A4331;
      color: #FFFFFF;
      box-shadow: 0 4px 12px rgba(26, 67, 49, 0.2);
    }
    .tag-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.375rem;
      padding: 0.25rem 0.75rem;
      font-size: 0.75rem;
      font-weight: 600;
      letter-spacing: 0.05em;
      border-radius: 9999px;
    }
