/* roulang page: index */
:root {
      --primary: #0e7490;
      --primary-dark: #155e75;
      --secondary: #0369a1;
      --accent-green: #059669;
      --dark-navy: #0f172a;
      --bg-light: #f8fafc;
      --text-main: #1e293b;
      --text-muted: #64748b;
      --border-color: #e2e8f0;
    }
    html {
      scroll-behavior: smooth;
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
    }
    body {
      background-color: var(--bg-light);
      color: var(--text-main);
      overflow-x: hidden;
      line-height: 1.65;
    }
    .custom-container {
      max-width: 1240px;
      margin-left: auto;
      margin-right: auto;
      padding-left: 1.25rem;
      padding-right: 1.25rem;
    }
    .header-sticky {
      position: sticky;
      top: 0;
      z-index: 50;
      backdrop-filter: blur(12px);
      background-color: rgba(255, 255, 255, 0.96);
      box-shadow: 0 2px 12px -2px rgba(15, 23, 42, 0.06);
    }
    .hero-bg {
      background: linear-gradient(135deg, rgba(14, 116, 144, 0.05) 0%, rgba(3, 105, 161, 0.08) 100%), url('/assets/images/1ef6f288a3be9b28.webp') center/cover no-repeat;
    }
    .card-hover {
      transition: all 0.25s ease-in-out;
    }
    .card-hover:hover {
      transform: translateY(-4px);
      box-shadow: 0 14px 30px -4px rgba(14, 116, 144, 0.12);
    }
    .timeline-dot::before {
      content: '';
      position: absolute;
      left: -29px;
      top: 4px;
      width: 14px;
      height: 14px;
      border-radius: 50%;
      background: #0e7490;
      border: 3px solid #e0f2fe;
    }
    details > summary {
      list-style: none;
    }
    details > summary::-webkit-details-marker {
      display: none;
    }
    details[open] summary svg {
      transform: rotate(180deg);
    }
