/* roulang page: index */
:root {
      --primary-dark-green: #0B3B2F;
      --accent-gold: #D4AF37;
      --bg-warm-black: #1A1A1A;
      --card-bg-deep-green: #0F2A24;
      --text-ivory: #F5F0E8;
      --text-muted-green: #A3B5AD;
      --accent-red: #C0392B;
      --border-radius-card: 12px;
      --border-radius-btn: 8px;
      --border-radius-tag: 6px;
      --card-shadow: 0 4px 20px rgba(0,0,0,0.5);
      --card-shadow-hover: 0 8px 32px rgba(0,0,0,0.7);
      --gold-gradient: linear-gradient(135deg, #D4AF37 0%, #B8962E 100%);
    }
    
    * {
      box-sizing: border-box;
    }
    
    body {
      background-color: var(--bg-warm-black);
      color: var(--text-ivory);
      font-family: 'Noto Sans SC', 'Inter', sans-serif;
      font-size: 16px;
      line-height: 1.7;
      margin: 0;
      overflow-x: hidden;
    }
    
    h1, h2, h3, h4 {
      font-weight: 700;
      letter-spacing: -0.02em;
    }
    
    h1 {
      font-size: 48px;
      line-height: 1.2;
      color: var(--text-ivory);
    }
    
    h2 {
      font-size: 36px;
      margin-bottom: 1.5rem;
      color: var(--text-ivory);
    }
    
    h3 {
      font-size: 22px;
      color: var(--text-ivory);
    }
    
    .text-muted-custom {
      color: var(--text-muted-green) !important;
    }
    
    .accent-gold {
      color: var(--accent-gold) !important;
    }
    
    .accent-red {
      color: var(--accent-red) !important;
    }
    
    .bg-primary-dark {
      background-color: var(--primary-dark-green);
    }
    
    .bg-card {
      background-color: var(--card-bg-deep-green);
    }
    
    .btn {
      font-family: 'Inter', 'Noto Sans SC', sans-serif;
      font-weight: 600;
      border-radius: var(--border-radius-btn);
      padding: 12px 28px;
      transition: all 0.3s ease;
    }
    
    .btn-primary-gold {
      background: var(--gold-gradient);
      color: var(--primary-dark-green);
      border: none;
      font-weight: 700;
    }
    
    .btn-primary-gold:hover {
      background: linear-gradient(135deg, #E5C34B 0%, #C9A42C 100%);
      transform: scale(1.03);
      box-shadow: 0 0 18px rgba(212, 175, 55, 0.6);
      color: var(--primary-dark-green);
    }
    
    .btn-outline-gold {
      background: transparent;
      border: 2px solid var(--accent-gold);
      color: var(--text-ivory);
      font-weight: 600;
    }
    
    .btn-outline-gold:hover {
      border-color: var(--accent-red);
      color: var(--accent-red);
      background: rgba(192, 57, 43, 0.08);
    }
    
    .btn-accent-red {
      background-color: var(--accent-red);
      color: var(--text-ivory);
      border: none;
      border-radius: 20px;
      padding: 10px 24px;
      font-weight: 700;
      transition: 0.3s;
    }
    
    .btn-accent-red:hover {
      background-color: #E0453A;
      color: white;
      animation: pulse-red 1.5s infinite;
    }
    
    @keyframes pulse-red {
      0% { box-shadow: 0 0 0 0 rgba(192, 57, 43, 0.6); }
      70% { box-shadow: 0 0 0 12px rgba(192, 57, 43, 0); }
      100% { box-shadow: 0 0 0 0 rgba(192, 57, 43, 0); }
    }
    
    .card-custom {
      background: var(--card-bg-deep-green);
      border-radius: var(--border-radius-card);
      box-shadow: var(--card-shadow);
      border: 1px solid rgba(212, 175, 55, 0.15);
      transition: all 0.35s ease;
      padding: 28px;
      height: 100%;
    }
    
    .card-custom:hover {
      box-shadow: var(--card-shadow-hover);
      border-color: var(--accent-gold);
      transform: translateY(-4px);
    }
    
    .section-padding {
      padding: 100px 0;
    }
    
    @media (max-width: 768px) {
      .section-padding {
        padding: 60px 0;
      }
      h1 {
        font-size: 32px;
      }
      h2 {
        font-size: 28px;
      }
      .card-custom {
        padding: 20px;
      }
    }
    
    /* 导航 */
    .navbar {
      background: rgba(26, 26, 26, 0.85);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--accent-gold);
      padding: 0.8rem 0;
    }
    .navbar-brand {
      font-family: 'Noto Sans SC', sans-serif;
      font-weight: 700;
      color: var(--text-ivory) !important;
      font-size: 1.6rem;
      display: flex;
      align-items: center;
    }
    .logo-icon {
      font-size: 2rem;
      color: var(--accent-gold);
      margin-right: 8px;
      display: flex;
    }
    .nav-link {
      color: var(--text-muted-green) !important;
      font-weight: 500;
      margin: 0 0.5rem;
      transition: 0.3s;
      position: relative;
    }
    .nav-link:hover, .nav-link.active {
      color: var(--accent-gold) !important;
    }
    .nav-link.active::after {
      content: '';
      position: absolute;
      bottom: -4px;
      left: 0;
      width: 100%;
      height: 2px;
      background: var(--accent-gold);
    }
    .search-icon {
      color: var(--text-muted-green);
      cursor: pointer;
      font-size: 1.2rem;
      transition: 0.3s;
    }
    .search-icon:hover {
      color: var(--accent-gold);
    }
    .navbar-toggler {
      border-color: var(--accent-gold);
    }
    .navbar-toggler-icon {
      background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(212, 175, 55, 0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    }
    
    @media (max-width: 768px) {
      .navbar-collapse {
        background: var(--primary-dark-green);
        padding: 1.5rem;
        border-radius: 12px;
        margin-top: 1rem;
      }
    }
    
    /* Hero */
    .hero-image {
      background: url('/assets/images/backpic/back-1.webp') center/cover no-repeat;
      min-height: 420px;
      border-radius: 24px;
      position: relative;
      box-shadow: 0 12px 28px rgba(0,0,0,0.7);
    }
    .hero-overlay {
      background: linear-gradient(180deg, rgba(11,59,47,0.6) 0%, rgba(10,30,22,0.9) 100%);
      border-radius: 24px;
    }
    .trust-badge i {
      color: var(--accent-gold);
      margin-right: 6px;
    }
    
    /* 亮点图标 */
    .icon-gold-circle {
      font-size: 2.2rem;
      color: var(--accent-gold);
      margin-bottom: 1rem;
    }
    
    /* 案例瀑布 */
    .case-card {
      background: var(--card-bg-deep-green);
      border-radius: var(--border-radius-card);
      overflow: hidden;
      box-shadow: var(--card-shadow);
      transition: 0.3s;
      margin-bottom: 24px;
      break-inside: avoid;
    }
    .case-card img {
      width: 100%;
      display: block;
    }
    .case-body {
      padding: 20px;
    }
    .case-card:hover {
      transform: translateY(-6px);
      box-shadow: var(--card-shadow-hover);
    }
    .case-card:hover .case-btn {
      opacity: 1;
    }
    .case-btn {
      opacity: 0;
      transition: 0.3s;
      background: var(--accent-red);
      color: white;
      border: none;
      padding: 8px 18px;
      border-radius: 6px;
      font-weight: 600;
    }
    
    /* 方案对比 */
    .compare-col {
      background: var(--card-bg-deep-green);
      border-radius: 16px;
      padding: 32px 20px;
      text-align: center;
      transition: 0.3s;
      border: 1px solid transparent;
    }
    .compare-col.recommended {
      border: 2px solid var(--accent-gold);
      position: relative;
    }
    .popular-tag {
      background: var(--accent-red);
      color: white;
      border-radius: 20px;
      padding: 4px 16px;
      font-size: 0.8rem;
      font-weight: 700;
      position: absolute;
      top: -14px;
      left: 50%;
      transform: translateX(-50%);
    }
    
    /* FAQ */
    .accordion-button {
      background-color: var(--card-bg-deep-green);
      color: var(--text-ivory);
      font-weight: 600;
      border: none;
      box-shadow: none;
    }
    .accordion-button:not(.collapsed) {
      background-color: var(--primary-dark-green);
      color: var(--accent-gold);
    }
    .accordion-button::after {
      filter: brightness(0) invert(1);
    }
    .accordion-item {
      background: transparent;
      border: 1px solid rgba(212,175,55,0.2);
      margin-bottom: 12px;
      border-radius: 10px;
    }
    
    /* CTA 横幅 */
    .cta-banner {
      background: var(--primary-dark-green);
      position: relative;
      overflow: hidden;
    }
    .cta-banner::before {
      content: '';
      position: absolute;
      width: 300px;
      height: 300px;
      background: radial-gradient(circle, rgba(212,175,55,0.15) 0%, transparent 70%);
      top: -50px;
      right: -50px;
    }
    
    /* 页脚 */
    .footer-link {
      color: var(--text-muted-green);
      text-decoration: none;
      transition: 0.2s;
    }
    .footer-link:hover {
      color: var(--accent-gold);
    }
    .social-icon {
      font-size: 1.4rem;
      color: var(--accent-gold);
      margin-right: 15px;
      transition: 0.2s;
    }
    .social-icon:hover {
      color: var(--text-ivory);
    }

@media (max-width: 768px) {
        #cases .row {
          column-count: 1;
        }
      }
