/* roulang page: index */
@layer base {
      :root {
        --stone-warm-bg: #FAF7F2;
        --ochre-brown: #B86B3A;
        --deep-warm-black: #2C241A;
        --light-khaki: #E8DCCF;
        --marble-white: #F5F0E8;
        --accent-gold: #C49A6C;
        --soft-shadow: 0 2px 12px rgba(44, 36, 26, 0.06);
        --hover-shadow: 0 8px 24px rgba(44, 36, 26, 0.10);
        --radius-card: 12px;
        --radius-btn: 8px;
        --radius-tag: 6px;
        --border-light: #D4C8B8;
      }
      * {
        box-sizing: border-box;
      }
      body {
        margin: 0;
        font-family: 'PingFang SC', 'Microsoft YaHei', system-ui, -apple-system, sans-serif;
        background-color: var(--stone-warm-bg);
        color: var(--deep-warm-black);
        line-height: 1.75;
        font-size: 16px;
        -webkit-font-smoothing: antialiased;
      }
      h1, h2, h3 {
        font-family: 'Noto Serif SC', 'Times New Roman', '宋体', SimSun, serif;
        font-weight: 700;
        line-height: 1.25;
        color: var(--deep-warm-black);
      }
      h2 {
        font-size: 2.2rem;
        letter-spacing: -0.01em;
        margin-bottom: 1.5rem;
      }
      h3 {
        font-family: 'PingFang SC', 'Microsoft YaHei', system-ui, sans-serif;
        font-weight: 600;
        font-size: 1.4rem;
      }
      .section-title-label {
        font-size: 0.875rem;
        font-weight: 500;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--ochre-brown);
        margin-bottom: 0.5rem;
        display: block;
      }
      a {
        color: inherit;
        text-decoration: none;
        transition: all 0.2s ease;
      }
      img {
        max-width: 100%;
        height: auto;
        display: block;
      }
      button, input, textarea {
        font-family: inherit;
      }
      .container-main {
        max-width: 1280px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 24px;
        padding-right: 24px;
      }
      @media (max-width: 768px) {
        .container-main {
          padding-left: 16px;
          padding-right: 16px;
        }
        h2 {
          font-size: 1.9rem;
        }
      }
      .btn-primary {
        background-color: var(--ochre-brown);
        color: white;
        border-radius: var(--radius-btn);
        padding: 0.8rem 2.2rem;
        font-weight: 600;
        display: inline-block;
        text-align: center;
        transition: background 0.2s, box-shadow 0.2s;
        border: none;
        cursor: pointer;
        box-shadow: 0 4px 10px rgba(184, 107, 58, 0.2);
      }
      .btn-primary:hover {
        background-color: #9A572E;
        box-shadow: 0 6px 14px rgba(184, 107, 58, 0.3);
      }
      .btn-outline {
        border: 2px solid var(--ochre-brown);
        color: var(--ochre-brown);
        background: transparent;
        border-radius: var(--radius-btn);
        padding: 0.7rem 2rem;
        font-weight: 600;
        display: inline-block;
        transition: all 0.2s;
      }
      .btn-outline:hover {
        background-color: var(--light-khaki);
        border-color: #9A572E;
        color: #9A572E;
      }
      .text-link {
        color: var(--ochre-brown);
        font-weight: 500;
        transition: all 0.2s;
        position: relative;
        text-decoration: none;
      }
      .text-link::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: -2px;
        width: 0;
        height: 1.5px;
        background: var(--ochre-brown);
        transition: width 0.2s;
      }
      .text-link:hover::after {
        width: 100%;
      }
      .card {
        background: #FFFFFF;
        border-radius: var(--radius-card);
        box-shadow: var(--soft-shadow);
        transition: box-shadow 0.25s, transform 0.2s;
      }
      .card:hover {
        box-shadow: var(--hover-shadow);
      }
      .nav-active {
        color: var(--ochre-brown) !important;
        font-weight: 600;
        opacity: 1 !important;
      }
      .hamburger-line {
        display: block;
        width: 24px;
        height: 2px;
        background: var(--deep-warm-black);
        margin: 5px 0;
        transition: 0.3s;
      }
      .mobile-menu-open .hamburger-line:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
      .mobile-menu-open .hamburger-line:nth-child(2) { opacity: 0; }
      .mobile-menu-open .hamburger-line:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }
