/* ===== 酒红暖灰 · 设计种子 9812 ===== */
    :root {
      --ggf-primary: #9f1239;
      --ggf-accent: #e11d48;
      --ggf-bg: #fafafa;
      --ggf-text: #3f0a1a;
      --ggf-card-bg: #ffffff;
      --ggf-border-light: #f0d9de;
      --ggf-soft-shadow: 0 18px 40px -12px rgba(159, 18, 57, 0.12);
      --ggf-hover-shadow: 0 28px 50px -12px rgba(225, 29, 72, 0.20);
      --ggf-radius-xl: 24px;
      --ggf-radius-lg: 20px;
      --ggf-radius-md: 16px;
      --ggf-font-display: 'Inter', 'Segoe UI', system-ui, sans-serif;
      --ggf-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    }
    * { margin: 0; padding: 0; box-sizing: border-box; }
    body {
      background-color: var(--ggf-bg);
      color: var(--ggf-text);
      font-family: var(--ggf-font-body);
      line-height: 1.6;
      overflow-x: hidden;
    }
    /* 细微噪点纹理 */
    body::before {
      content: "";
      position: fixed;
      top: 0; left: 0; width: 100vw; height: 100vh;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");
      pointer-events: none;
      z-index: 0;
    }
    /* 所有卡片、区块圆角柔和 */
    .ggf-card, .accordion-item, .hero, .feature-card, .stat-badge {
      border-radius: var(--ggf-radius-xl) !important;
    }
    /* 标题字重反差大 */
    h1, h2, h3 {
      font-weight: 800;
      letter-spacing: -0.02em;
    }
    .display-lead {
      font-size: clamp(3.5rem, 10vw, 6.5rem);
      font-weight: 900;
      line-height: 1;
      color: var(--ggf-primary);
    }
    /* 导航栏 */
    .navbar-ggf {
      background-color: rgba(250, 250, 250, 0.85);
      backdrop-filter: blur(14px);
      border-bottom: 1px solid rgba(159, 18, 57, 0.1);
      border-radius: 0 0 28px 28px;
      padding: 12px 0;
    }
    .navbar-ggf .navbar-brand {
      font-weight: 800;
      font-size: 1.9rem;
      color: var(--ggf-primary);
      letter-spacing: -0.5px;
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    .navbar-ggf .nav-link {
      font-weight: 500;
      color: var(--ggf-text);
      margin: 0 8px;
      border-radius: 40px;
      padding: 8px 16px !important;
      transition: all 0.2s ease;
    }
    .navbar-ggf .nav-link:hover {
      background: rgba(159, 18, 57, 0.06);
      color: var(--ggf-primary);
    }
    .navbar-ggf .btn-outline-ggf {
      border: 1.5px solid var(--ggf-primary);
      color: var(--ggf-primary);
      border-radius: 40px;
      font-weight: 600;
      padding: 8px 20px;
    }
    .navbar-ggf .btn-outline-ggf:hover {
      background: var(--ggf-primary);
      color: white;
    }
    /* 视差 hero */
    .hero {
      background: linear-gradient(145deg, #fff5f7 0%, #f8e8ec 100%);
      padding: 90px 0 70px;
      position: relative;
      z-index: 1;
      border-radius: 0 0 48px 48px;
      box-shadow: inset 0 -1px 0 rgba(0,0,0,0.02);
    }
    .hero-parallax {
      background-image: radial-gradient(circle at 10% 20%, rgba(225,29,72,0.06) 0%, transparent 40%),
                        radial-gradient(circle at 90% 70%, rgba(159,18,57,0.08) 0%, transparent 45%);
      background-attachment: fixed;
      background-position: center;
    }
    .stat-badge {
      background: white;
      padding: 14px 22px;
      border-radius: 60px;
      box-shadow: var(--ggf-soft-shadow);
      font-weight: 700;
      color: var(--ggf-primary);
      display: inline-block;
    }
    .big-stat {
      font-size: 3.8rem;
      font-weight: 900;
      line-height: 1;
      color: var(--ggf-accent);
    }
    /* 特色卡片 */
    .feature-card {
      background: var(--ggf-card-bg);
      padding: 28px 22px;
      border-radius: var(--ggf-radius-xl);
      transition: transform 0.25s ease, box-shadow 0.25s ease, border 0.2s ease;
      border: 1.5px solid transparent;
      box-shadow: var(--ggf-soft-shadow);
      height: 100%;
    }
    .feature-card:hover {
      transform: scale(1.01);
      border-color: rgba(225, 29, 72, 0.4);
      box-shadow: var(--ggf-hover-shadow);
    }
    .feature-icon {
      width: 52px;
      height: 52px;
      background: #fff0f3;
      border-radius: 18px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.8rem;
      color: var(--ggf-primary);
      margin-bottom: 18px;
    }
    /* 对比表格 */
    .compare-table-wrap {
      background: white;
      border-radius: var(--ggf-radius-xl);
      box-shadow: var(--ggf-soft-shadow);
      padding: 20px 10px;
    }
    .table-ggf {
      border-collapse: separate;
      border-spacing: 0 10px;
      width: 100%;
    }
    .table-ggf th {
      font-weight: 800;
      background: #fdf0f3;
      padding: 16px;
      border-radius: 16px 16px 0 0;
      font-size: 1.1rem;
    }
    .table-ggf td {
      padding: 18px 16px;
      background: white;
      border-bottom: 1px solid #f5e1e6;
    }
    .table-ggf tr:last-child td:first-child { border-radius: 0 0 0 16px; }
    .table-ggf tr:last-child td:last-child { border-radius: 0 0 16px 0; }
    .table-ggf .accent-text {
      color: var(--ggf-accent);
      font-weight: 800;
    }
    /* 手风琴 */
    .accordion-ggf .accordion-item {
      border: none;
      background: white;
      box-shadow: var(--ggf-soft-shadow);
      margin-bottom: 16px;
      border-radius: var(--ggf-radius-lg) !important;
      overflow: hidden;
    }
    .accordion-ggf .accordion-button {
      background: white;
      font-weight: 700;
      color: var(--ggf-text);
      padding: 22px 26px;
      font-size: 1.15rem;
      border: none;
      box-shadow: none;
    }
    .accordion-ggf .accordion-button:not(.collapsed) {
      background: #fff4f6;
      color: var(--ggf-primary);
    }
    .accordion-ggf .accordion-body {
      background: white;
      padding: 10px 26px 24px;
      color: #4d2a35;
    }
    /* CTA 区块 */
    .cta-block {
      background: linear-gradient(115deg, #9f1239 0%, #e11d48 80%);
      border-radius: 40px;
      padding: 60px 40px;
      color: white;
      box-shadow: 0 25px 40px -15px rgba(159,18,57,0.4);
    }
    .cta-block .btn-light {
      background: white;
      border-radius: 60px;
      padding: 12px 30px;
      font-weight: 700;
      color: var(--ggf-primary);
    }
    /* 回到顶部 */
    #backTop {
      position: fixed;
      bottom: 2rem;
      right: 2rem;
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: var(--ggf-primary);
      color: white;
      border: none;
      font-size: 1.4rem;
      opacity: 0;
      visibility: hidden;
      transition: 0.3s;
      box-shadow: 0 8px 18px rgba(159,18,57,0.3);
      z-index: 999;
    }
    #backTop.show {
      opacity: 1;
      visibility: visible;
    }
    /* 页脚 & 友链 */
    .footer-ggf {
      background: #2b0f18;
      color: #c9a3ae;
      border-radius: 40px 40px 0 0;
      padding: 50px 0 20px;
    }
    .footer-ggf a {
      color: #efc8d2;
      text-decoration: none;
    }
    .friend-links {
      background: rgba(255,255,255,0.05);
      border-radius: 40px;
      padding: 18px 28px;
      margin: 30px 0 10px;
      font-size: 0.95rem;
    }

/* --- 子页面追加 --- */
.about-hero { padding: 5rem 0 3rem; background: linear-gradient(135deg, var(--ggf-bg) 0%, #ffeef2 100%); }
.about-hero h1 { font-family: var(--ggf-font-display); font-weight: 800; color: var(--ggf-primary); }
.about-hero .lead { color: #7a4a5a; font-size: 1.1rem; max-width: 720px; margin: 0 auto; }
.about-section { padding: 3.5rem 0; }
.about-section h2 { font-family: var(--ggf-font-display); font-weight: 700; color: var(--ggf-primary); margin-bottom: 1.8rem; font-size: 1.8rem; }
.about-section h3 { font-family: var(--ggf-font-display); font-weight: 600; color: var(--ggf-accent); font-size: 1.3rem; margin-bottom: 1rem; }
.about-section p, .about-section li { color: #5a2a3a; line-height: 1.9; font-size: 1.02rem; }
.about-section .ggf-card { padding: 2rem; }
.about-intro-card { background: var(--ggf-card-bg); border: 1px solid var(--ggf-border-light); border-radius: var(--ggf-radius-lg); padding: 2rem; box-shadow: var(--ggf-soft-shadow); }
.about-intro-card i { color: var(--ggf-accent); }
.timeline { position: relative; padding-left: 2rem; }
.timeline::before { content: ''; position: absolute; left: 8px; top: 10px; bottom: 10px; width: 2px; background: var(--ggf-border-light); }
.timeline-item { position: relative; margin-bottom: 2rem; padding-left: 1.5rem; }
.timeline-item::before { content: ''; position: absolute; left: -1.9rem; top: 6px; width: 14px; height: 14px; border-radius: 50%; background: var(--ggf-accent); box-shadow: 0 0 0 4px rgba(225,29,72,.15); }
.value-card { transition: transform .3s ease, box-shadow .3s ease; }
.value-card:hover { transform: translateY(-6px); box-shadow: var(--ggf-hover-shadow); }
.value-card i { font-size: 2rem; }
.stat-inline { display: inline-flex; align-items: center; gap: .5rem; background: rgba(159,18,57,.08); border-radius: 50px; padding: .4rem 1rem; font-weight: 600; color: var(--ggf-primary); font-size: .9rem; }
.cta-about { background: linear-gradient(135deg, var(--ggf-primary), var(--ggf-accent)); border-radius: var(--ggf-radius-xl); padding: 3rem 2rem; color: #fff; text-align: center; }
.cta-about h3 { color: #fff; font-weight: 700; }
.cta-about a { background: #fff; color: var(--ggf-primary); border-radius: 50px; padding: .6rem 1.6rem; font-weight: 600; text-decoration: none; transition: transform .2s; display: inline-block; }
.cta-about a:hover { transform: scale(1.05); }
.about-hero { padding: 3.5rem 0 2rem; }
.about-section h2 { font-size: 1.5rem; }

/* --- 子页面追加 --- */
/* 本页专属样式：观影指南页的步骤卡片、时间线等 */
    .guide-step-card {
      background: var(--ggf-card-bg);
      border-radius: var(--ggf-radius-lg);
      padding: 2rem 1.75rem;
      height: 100%;
      border: 1px solid var(--ggf-border-light);
      box-shadow: var(--ggf-soft-shadow);
      transition: transform .25s ease, box-shadow .25s ease;
    }
.guide-step-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--ggf-hover-shadow);
    }
.guide-step-num {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 48px;
      height: 48px;
      border-radius: 14px;
      background: linear-gradient(135deg, var(--ggf-primary), var(--ggf-accent));
      color: #fff;
      font-weight: 800;
      font-size: 1.25rem;
      margin-bottom: 1.25rem;
    }
.guide-tip-box {
      background: rgba(159, 18, 57, 0.06);
      border-left: 4px solid var(--ggf-accent);
      border-radius: 0 12px 12px 0;
      padding: 1.25rem 1.5rem;
      margin: 1.5rem 0;
    }
.guide-tip-box p:last-child { margin-bottom: 0; }
.quality-badge {
      display: inline-block;
      padding: .2rem .7rem;
      border-radius: 50px;
      font-size: .8rem;
      font-weight: 600;
      background: rgba(159, 18, 57, 0.08);
      color: var(--ggf-primary);
      border: 1px solid var(--ggf-border-light);
    }
.timeline-ggf {
      position: relative;
      padding-left: 2rem;
    }
.timeline-ggf::before {
      content: '';
      position: absolute;
      left: 8px;
      top: 4px;
      bottom: 4px;
      width: 2px;
      background: linear-gradient(180deg, var(--ggf-primary), var(--ggf-accent), transparent);
    }
.table-ggf td, .table-ggf th {
      padding: .8rem 1rem;
      border-color: var(--ggf-border-light);
    }

/* --- 子页面追加 --- */
/* 本页专属微调 */
        .disclaimer-hero {
            padding: 4rem 0 2rem;
        }
.disclaimer-section {
            background: var(--ggf-card-bg);
            border-radius: var(--ggf-radius-lg);
            padding: 2rem 2.5rem;
            margin-bottom: 1.5rem;
            box-shadow: var(--ggf-soft-shadow);
            border: 1px solid var(--ggf-border-light);
        }
.disclaimer-section h2 {
            color: var(--ggf-primary);
            font-weight: 700;
            font-size: 1.35rem;
            margin-bottom: 1rem;
            display: flex;
            align-items: center;
            gap: 0.6rem;
        }
.disclaimer-section h2 i {
            color: var(--ggf-accent);
            font-size: 1.2rem;
        }
.disclaimer-section p,
        .disclaimer-section li {
            color: var(--ggf-text);
            font-size: 0.95rem;
            line-height: 1.8;
        }
.disclaimer-section ul {
            padding-left: 1.2rem;
            margin-bottom: 1rem;
        }
.disclaimer-section ul li {
            margin-bottom: 0.5rem;
        }
.disclaimer-section strong {
            color: var(--ggf-primary);
        }
.disclaimer-note {
            background: #fdf2f4;
            border-left: 4px solid var(--ggf-accent);
            padding: 1rem 1.5rem;
            border-radius: 0 var(--ggf-radius-md) var(--ggf-radius-md) 0;
            margin-top: 1.5rem;
        }
.disclaimer-note p {
            margin-bottom: 0.3rem;
        }
.contact-list {
            list-style: none;
            padding-left: 0;
        }
.contact-list li {
            padding: 0.4rem 0;
            display: flex;
            align-items: center;
            gap: 0.8rem;
        }
.contact-list li i {
            color: var(--ggf-accent);
            width: 1.4rem;
            text-align: center;
        }
.disclaimer-section {
                padding: 1.5rem 1.2rem;
            }

/* --- 子页面追加 --- */
/* 站点地图页面专属样式 */
        .sitemap-hero {
            background: linear-gradient(135deg, rgba(159,18,57,0.08) 0%, rgba(225,29,72,0.04) 50%, rgba(240,217,222,0.1) 100%);
            padding: 3rem 0 2rem;
            border-bottom: 1px solid var(--ggf-border-light);
        }
.sitemap-section {
            margin-top: 2.5rem;
            padding-bottom: 1rem;
            border-bottom: 2px solid var(--ggf-border-light);
        }
.sitemap-section h2 {
            font-weight: 800;
            color: var(--ggf-primary);
            font-size: 1.6rem;
            margin-bottom: 1rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
.sitemap-section h2 i {
            color: var(--ggf-accent);
            font-size: 1.3rem;
        }
.sitemap-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
            gap: 1.25rem;
            margin-bottom: 1.5rem;
        }
.sitemap-item {
            background: var(--ggf-card-bg);
            border: 1px solid var(--ggf-border-light);
            border-radius: var(--ggf-radius-md);
            padding: 1.25rem 1.25rem 1rem;
            transition: box-shadow 0.3s ease, transform 0.2s ease;
            box-shadow: 0 2px 8px rgba(159,18,57,0.04);
        }
.sitemap-item:hover {
            box-shadow: var(--ggf-soft-shadow);
            transform: translateY(-2px);
        }
.sitemap-item h3 {
            font-size: 1.05rem;
            font-weight: 700;
            color: var(--ggf-text);
            margin-bottom: 0.5rem;
            display: flex;
            align-items: center;
            gap: 0.4rem;
        }
.sitemap-item h3 i {
            color: var(--ggf-accent);
            font-size: 0.9rem;
            width: 1.2rem;
        }
.sitemap-item p {
            font-size: 0.85rem;
            color: rgba(63,10,26,0.75);
            margin-bottom: 0.75rem;
            line-height: 1.5;
        }
.sitemap-item a {
            font-size: 0.82rem;
            font-weight: 600;
            color: var(--ggf-primary);
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 0.25rem;
            transition: color 0.2s;
        }
.sitemap-item a:hover {
            color: var(--ggf-accent);
            text-decoration: underline;
        }
.sitemap-note {
            background: rgba(159,18,57,0.05);
            border-left: 4px solid var(--ggf-accent);
            border-radius: 0 var(--ggf-radius-md) var(--ggf-radius-md) 0;
            padding: 1rem 1.25rem;
            font-size: 0.9rem;
            color: var(--ggf-text);
            margin-top: 1.5rem;
            margin-bottom: 0.5rem;
        }
.breadcrumb-ggf {
            font-size: 0.85rem;
            color: rgba(63,10,26,0.6);
            margin-bottom: 0.5rem;
        }
.breadcrumb-ggf a {
            color: var(--ggf-primary);
            text-decoration: none;
        }
.breadcrumb-ggf a:hover {
            color: var(--ggf-accent);
            text-decoration: underline;
        }
.list-unstyled-ggf {
            list-style: none;
            padding-left: 0;
        }
.list-unstyled-ggf li {
            margin-bottom: 0.5rem;
        }

/* --- Bootstrap 组件配色适配(程序自动补,避免白底黑字) --- */
.form-control { background:#fff !important; color:#3f0a1a !important; border-color:rgba(0,0,0,.12) !important; }
.table { color:#3f0a1a !important; border-color:rgba(0,0,0,.12) !important; --bs-table-bg:transparent !important; --bs-table-color:#3f0a1a !important; }
.accordion-header { background:transparent !important; }
.form-control::placeholder { color: rgba(0,0,0,.4) !important; }
