<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HHpoker&#20465;&#20048;&#37096;&#20008;&#24503;&#25169;&#22280;&#19979;&#36733;&#20008;&#20845;&#23433;&#24503;&#25169;&#23448;&#32593;</title>
    <meta name="description" content="&#20845;&#23433;&#32593;&#25552;&#20379;HHpoker&#19979;&#36733;&#24503;&#25169;&#22280;APP&#23433;&#21331;IOS&#33529;&#26524;&#23433;&#35013;&#22320;&#22336;&#38142;&#25509;&#65292;&#24503;&#25169;&#22280;&#23448;&#32593;&#25512;&#33616;&#21152;&#20837;HHpoker&#20465;&#20048;&#37096;&#25490;&#21517;&#22235;&#22823;&#32852;&#30431;&#19968;&#32447;&#23454;&#21147;&#24503;&#25169;&#22280;&#20465;&#20048;&#37096;ID&#65292;24&#23567;&#26102;&#33829;&#19994;&#20465;&#20048;&#37096;&#32852;&#31995;&#65292;&#22823;&#23567;&#32423;&#21035;&#20840;&#38754;&#20248;&#36136;&#29260;&#23616;&#65292;&#30334;&#26700;&#21516;&#24320;&#22810;&#20803;&#21270;&#28216;&#25103;&#65306;&#24503;&#24030;&#30701;&#29260;&#12289;&#22885;&#39532;&#21704;&#12289;&#25512;&#25512;&#20048;&#12289;&#24503;&#24030;&#29275;&#20180;&#31561;&#12290;">
    <meta name="keywords" content="HHpoker&#20465;&#20048;&#37096;,&#24503;&#25169;&#22280;&#19979;&#36733;,&#20845;&#23433;&#24503;&#25169;&#23448;&#32593;">
    <link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>🏛</text></svg>">
    <script src="https://cdn.tailwindcss.com"></script>
    <script>
        tailwind.config = {
            theme: {
                extend: {
                    colors: {
                        primary: {
                            50: '#eef2ff',
                            100: '#e0e7ff',
                            200: '#c7d2fe',
                            300: '#a5b4fc',
                            400: '#818cf8',
                            500: '#6366f1',
                            600: '#4f46e5',
                            700: '#4338ca',
                            800: '#3730a3',
                            900: '#312e81',
                            950: '#1e1b4b',
                        }
                    },
                    fontFamily: {
                        sans: ['"Inter"', 'system-ui', '-apple-system', 'sans-serif'],
                    }
                }
            }
        }
    </script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css">
    <style>
        /* === Base & Smooth Scroll === */
        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: 'Inter', system-ui, -apple-system, sans-serif;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        /* === Geometric Pattern Background === */
        .hero-bg {
            background-color: #f8fafc;
            background-image:
                radial-gradient(circle at 20% 50%, rgba(79, 70, 229, 0.04) 0%, transparent 50%),
                radial-gradient(circle at 80% 50%, rgba(79, 70, 229, 0.04) 0%, transparent 50%),
                radial-gradient(circle at 50% 0%, rgba(79, 70, 229, 0.03) 0%, transparent 50%);
            position: relative;
            overflow: hidden;
        }

        .hero-bg::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image:
                linear-gradient(rgba(79, 70, 229, 0.03) 1px, transparent 1px),
                linear-gradient(90deg, rgba(79, 70, 229, 0.03) 1px, transparent 1px);
            background-size: 60px 60px;
            pointer-events: none;
        }

        .hero-bg::after {
            content: '';
            position: absolute;
            top: -50%;
            right: -30%;
            width: 600px;
            height: 600px;
            border-radius: 50%;
            border: 1px solid rgba(79, 70, 229, 0.05);
            pointer-events: none;
            transform: rotate(-15deg);
        }

        /* === Gradient Text === */
        .gradient-text {
            background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 40%, #6366f1 70%, #4338ca 100%);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            color: transparent;
        }

        /* === CTA Button Styles === */
        .btn-primary {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.875rem 2rem;
            background: linear-gradient(135deg, #4f46e5 0%, #6366f1 100%);
            color: #fff;
            font-weight: 600;
            border-radius: 0.5rem;
            transition: all 0.3s ease;
            box-shadow: 0 4px 14px rgba(79, 70, 229, 0.35);
            text-decoration: none;
        }
        .btn-primary:hover {
            background: linear-gradient(135deg, #4338ca 0%, #4f46e5 100%);
            box-shadow: 0 6px 20px rgba(79, 70, 229, 0.5);
            transform: translateY(-2px);
        }

        .btn-secondary {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.875rem 2rem;
            background: #fff;
            color: #4f46e5;
            font-weight: 600;
            border-radius: 0.5rem;
            border: 2px solid #4f46e5;
            transition: all 0.3s ease;
            text-decoration: none;
        }
        .btn-secondary:hover {
            background: #eef2ff;
            border-color: #4338ca;
            color: #4338ca;
            transform: translateY(-2px);
        }

        .btn-tertiary {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.875rem 2rem;
            background: transparent;
            color: #4f46e5;
            font-weight: 600;
            border-radius: 0.5rem;
            border: 1px solid transparent;
            transition: all 0.3s ease;
            text-decoration: none;
        }
        .btn-tertiary:hover {
            background: rgba(79, 70, 229, 0.05);
            color: #4338ca;
        }

        /* === Feature Card - Border Only Style === */
        .feature-card {
            position: relative;
            padding: 2rem;
            border: 1px solid #e5e7eb;
            border-radius: 0.75rem;
            background: transparent;
            transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
            cursor: default;
        }
        .feature-card:hover {
            border-color: #4f46e5;
            transform: translateY(-4px);
            box-shadow: 0 12px 40px rgba(79, 70, 229, 0.08);
        }
        .feature-card .feature-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 48px;
            height: 48px;
            border-radius: 0.75rem;
            background: rgba(79, 70, 229, 0.08);
            color: #4f46e5;
            font-size: 1.25rem;
            margin-bottom: 1.25rem;
            transition: all 0.35s ease;
        }
        .feature-card:hover .feature-icon {
            background: #4f46e5;
            color: #fff;
            transform: scale(1.08);
        }
        .feature-card h3 {
            font-size: 1.125rem;
            font-weight: 700;
            color: #1e293b;
            margin-bottom: 0.5rem;
        }
        .feature-card p {
            font-size: 0.925rem;
            color: #64748b;
            line-height: 1.7;
        }

        /* === Stats Section === */
        .stats-section {
            background: linear-gradient(135deg, #1e1b4b 0%, #312e81 50%, #1e1b4b 100%);
        }

        /* === Testimonial Card === */
        .testimonial-card {
            background: #fff;
            border-radius: 0.75rem;
            overflow: hidden;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
            transition: all 0.3s ease;
        }
        .testimonial-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1);
        }
        .testimonial-card .accent-bar {
            height: 4px;
            width: 100%;
        }
        .testimonial-card .accent-bar.indigo {
            background: linear-gradient(90deg, #4f46e5, #818cf8);
        }
        .testimonial-card .accent-bar.purple {
            background: linear-gradient(90deg, #7c3aed, #a78bfa);
        }
        .testimonial-card .accent-bar.blue {
            background: linear-gradient(90deg, #2563eb, #60a5fa);
        }
        .testimonial-card .body {
            padding: 1.75rem 1.75rem 1rem;
        }
        .testimonial-card .body .quote {
            font-size: 0.95rem;
            color: #475569;
            line-height: 1.75;
            font-style: italic;
            position: relative;
            padding-left: 1.25rem;
            border-left: 3px solid #e2e8f0;
        }
        .testimonial-card .body .quote::before {
            content: '\201C';
            font-size: 2.5rem;
            color: #c7d2fe;
            position: absolute;
            left: -0.3rem;
            top: -0.65rem;
            font-style: normal;
            line-height: 1;
        }
        .testimonial-card .footer {
            padding: 0.75rem 1.75rem 1.5rem;
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }
        .testimonial-card .footer .avatar {
            width: 44px;
            height: 44px;
            border-radius: 50%;
            background: linear-gradient(135deg, #6366f1, #a5b4fc);
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-weight: 700;
            font-size: 1rem;
        }
        .testimonial-card .footer .info .name {
            font-weight: 600;
            color: #1e293b;
            font-size: 0.9rem;
        }
        .testimonial-card .footer .info .role {
            font-size: 0.8rem;
            color: #94a3b8;
        }

        /* === FAQ Details/Summary === */
        .faq-item {
            border: 1px solid #e5e7eb;
            border-radius: 0.75rem;
            margin-bottom: 0.75rem;
            overflow: hidden;
            transition: all 0.3s ease;
        }
        .faq-item:hover {
            border-color: #c7d2fe;
        }
        .faq-item summary {
            padding: 1.25rem 1.5rem;
            font-weight: 600;
            color: #1e293b;
            cursor: pointer;
            list-style: none;
            display: flex;
            align-items: center;
            justify-content: space-between;
            user-select: none;
            transition: color 0.3s ease;
        }
        .faq-item summary::-webkit-details-marker {
            display: none;
        }
        .faq-item summary::after {
            content: '\f107';
            font-family: 'Font Awesome 6 Free';
            font-weight: 900;
            font-size: 0.9rem;
            color: #94a3b8;
            transition: transform 0.35s ease;
        }
        .faq-item[open] summary {
            color: #4f46e5;
        }
        .faq-item[open] summary::after {
            transform: rotate(180deg);
            color: #4f46e5;
        }
        .faq-item .faq-answer {
            padding: 0 1.5rem 1.25rem;
            color: #64748b;
            font-size: 0.925rem;
            line-height: 1.75;
            animation: faqFadeIn 0.35s ease;
        }
        @keyframes faqFadeIn {
            from {
                opacity: 0;
                transform: translateY(-6px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* === CTA Section === */
        .cta-section {
            background: linear-gradient(135deg, #1e293b 0%, #1e3a5f 30%, #312e81 70%, #1e1b4b 100%);
            position: relative;
            overflow: hidden;
        }
        .cta-section::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image:
                radial-gradient(circle at 30% 60%, rgba(99, 102, 241, 0.12) 0%, transparent 50%),
                radial-gradient(circle at 70% 30%, rgba(79, 70, 229, 0.1) 0%, transparent 50%);
            pointer-events: none;
        }

        /* === Footer === */
        .site-footer {
            background: #0f172a;
            color: #cbd5e1;
        }

        /* === Back to Top Button === */
        .back-to-top {
            position: fixed;
            bottom: 2rem;
            right: 2rem;
            width: 48px;
            height: 48px;
            border-radius: 50%;
            background: linear-gradient(135deg, #4f46e5, #6366f1);
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            border: none;
            outline: none;
            box-shadow: 0 4px 16px rgba(79, 70, 229, 0.4);
            opacity: 0;
            visibility: hidden;
            transform: translateY(10px);
            transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
            z-index: 9999;
            font-size: 1.2rem;
        }
        .back-to-top.visible {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }
        .back-to-top:hover {
            background: linear-gradient(135deg, #4338ca, #4f46e5);
            box-shadow: 0 6px 24px rgba(79, 70, 229, 0.55);
            transform: translateY(-3px);
        }

        /* === Pulse animation for stats numbers === */
        @keyframes countPulse {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.03); }
        }
        .stat-number {
            animation: countPulse 2s ease-in-out infinite;
        }

        /* === Navbar shadow on scroll (handled by JS) === */
        .navbar-scrolled {
            box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08) !important;
            background: rgba(255, 255, 255, 0.97) !important;
            backdrop-filter: blur(12px);
        }

        /* === Responsive adjustments === */
        @media (max-width: 768px) {
            .feature-card {
                padding: 1.5rem;
            }
            .testimonial-card .body {
                padding: 1.25rem 1.25rem 0.75rem;
            }
            .testimonial-card .footer {
                padding: 0.5rem 1.25rem 1.25rem;
            }
        }
    </style>
</head>
<body class="bg-white text-gray-800 antialiased">

    <!-- ==================== NAVBAR ==================== -->
    <header id="navbar" class="fixed top-0 left-0 right-0 z-50 bg-white/95 backdrop-blur-sm transition-shadow duration-300">
        <nav class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
            <div class="flex items-center justify-between h-16 md:h-18">
                <!-- Logo -->
                <a href="#" class="flex items-center gap-2.5 no-underline">
                    <div class="w-9 h-9 rounded-lg bg-primary-600 flex items-center justify-center text-white text-lg">
                        <i class="fa-solid fa-building-columns"></i>
                    </div>
                    <span class="text-lg font-bold text-gray-900 hidden sm:block">HHpoker</span>
                </a>
                <!-- Nav Links -->
                <div class="hidden md:flex items-center gap-8">
                    <a href="#features" class="text-sm font-medium text-gray-600 hover:text-primary-600 transition-colors no-underline">产品优势</a>
                    <a href="#stats" class="text-sm font-medium text-gray-600 hover:text-primary-600 transition-colors no-underline">平台数据</a>
                    <a href="#testimonials" class="text-sm font-medium text-gray-600 hover:text-primary-600 transition-colors no-underline">代理心声</a>
                    <a href="#faq" class="text-sm font-medium text-gray-600 hover:text-primary-600 transition-colors no-underline">常见问题</a>
                </div>
                <!-- CTA -->
                <a href="#cta" class="btn-primary !py-2 !px-4 text-sm hidden sm:inline-flex">
                    加入代理 <i class="fa-solid fa-arrow-right text-xs"></i>
                </a>
                <!-- Mobile Menu Toggle -->
                <button id="mobileMenuToggle" class="md:hidden w-9 h-9 flex items-center justify-center rounded-lg border border-gray-200 text-gray-600 bg-white" aria-label="菜单">
                    <i class="fa-solid fa-bars"></i>
                </button>
            </div>
            <!-- Mobile Menu -->
            <div id="mobileMenu" class="md:hidden hidden pb-4 pt-2 space-y-3">
                <a href="#features" class="block py-2 px-3 text-sm font-medium text-gray-600 hover:text-primary-600 rounded-lg hover:bg-gray-50 transition-colors no-underline">产品优势</a>
                <a href="#stats" class="block py-2 px-3 text-sm font-medium text-gray-600 hover:text-primary-600 rounded-lg hover:bg-gray-50 transition-colors no-underline">平台数据</a>
                <a href="#testimonials" class="block py-2 px-3 text-sm font-medium text-gray-600 hover:text-primary-600 rounded-lg hover:bg-gray-50 transition-colors no-underline">代理心声</a>
                <a href="#faq" class="block py-2 px-3 text-sm font-medium text-gray-600 hover:text-primary-600 rounded-lg hover:bg-gray-50 transition-colors no-underline">常见问题</a>
                <a href="#cta" class="btn-primary !py-2.5 !px-5 text-sm inline-flex w-full justify-center mt-2">加入代理 <i class="fa-solid fa-arrow-right text-xs"></i></a>
            </div>
        </nav>
    </header>

    <!-- ==================== HERO ==================== -->
    <section class="hero-bg pt-28 pb-20 md:pt-36 md:pb-28">
        <div class="relative z-10 max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center">
            <!-- Badge -->
            <div class="inline-flex items-center gap-2 bg-indigo-50 border border-indigo-200 rounded-full px-4 py-1.5 mb-6">
                <span class="w-2 h-2 rounded-full bg-green-500 animate-pulse"></span>
                <span class="text-xs font-semibold text-primary-700 tracking-wide">平台稳定运行 · 7x24小时在线</span>
            </div>
            <!-- Heading -->
            <h1 class="text-4xl sm:text-5xl md:text-6xl font-extrabold leading-tight mb-6 gradient-text">HHpoker俱乐部丨德扑圈下载丨六安德扑官网</h1>
            <p class="text-lg md:text-xl text-gray-600 max-w-2xl mx-auto mb-4 leading-relaxed">六安网提供HHpoker下载德扑圈APP安卓IOS苹果安装地址链接，德扑圈官网推荐加入HHpoker俱乐部排名四大联盟一线实力德扑圈俱乐部ID，24小时营业俱乐部联系，大小级别全面优质牌局，百桌同开多元化游戏：德州短牌、奥马哈、推推乐、德州牛仔等。</p>
            <p class="text-base text-gray-500 max-w-xl mx-auto mb-10 leading-relaxed">
                严格遵循国际扑克赛事标准，打造安全、公平的数字化竞技环境，让您随时随地享受策略博弈的乐趣。
            </p>
            <!-- Quick Stats Row -->
            <div class="flex flex-wrap justify-center gap-8 md:gap-12 mb-10">
                <div class="text-center">
                    <div class="text-2xl md:text-3xl font-extrabold text-primary-600">50,000<span class="text-xl">+</span></div>
                    <div class="text-xs text-gray-500 mt-1">注册代理</div>
                </div>
                <div class="text-center">
                    <div class="text-2xl md:text-3xl font-extrabold text-primary-600">30<span class="text-xl">+</span></div>
                    <div class="text-xs text-gray-500 mt-1">覆盖国家地区</div>
                </div>
                <div class="text-center">
                    <div class="text-2xl md:text-3xl font-extrabold text-primary-600">99.9<span class="text-xl">%</span></div>
                    <div class="text-xs text-gray-500 mt-1">系统稳定性</div>
                </div>
            </div>
            <!-- TWO ROWS of CTA Buttons -->
            <div class="flex flex-col items-center gap-3">
                <div class="flex flex-wrap justify-center gap-3">
                    <a href="#cta" class="btn-primary">
                        <i class="fa-solid fa-rocket"></i> 立即加盟代理
                    </a>
                    <a href="#features" class="btn-secondary">
                        <i class="fa-solid fa-circle-info"></i> 了解平台优势
                    </a>
                </div>
                <div class="flex flex-wrap justify-center gap-3">
                    <a href="#faq" class="btn-tertiary">
                        <i class="fa-solid fa-circle-question"></i> 常见问题
                    </a>
                    <a href="#testimonials" class="btn-tertiary">
                        <i class="fa-solid fa-star"></i> 代理分享
                    </a>
                </div>
            </div>
        </div>
    </section>

    <!-- ==================== FEATURES (3x2 Grid, Border-Only) ==================== -->
    <section id="features" class="py-20 md:py-28 bg-white">
        <div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
            <!-- Section Header -->
            <div class="text-center mb-16">
                <span class="text-xs font-bold tracking-widest text-primary-600 uppercase bg-indigo-50 px-3 py-1 rounded-full">核心优势</span>
                <h2 class="text-3xl md:text-4xl font-extrabold text-gray-900 mt-4 mb-3">为什么选择我们</h2>
                <p class="text-gray-500 max-w-lg mx-auto">HHpoker代理联盟为每一位合作伙伴提供全方位的支持与保障，助力您的事业快速发展。</p>
            </div>
            <!-- Features Grid 3x2 -->
            <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
                <!-- Card 1 -->
                <div class="feature-card">
                    <div class="feature-icon"><i class="fa-solid fa-shield-halved"></i></div>
                    <h3>公平公正竞技</h3>
                    <p>国际认证随机发牌算法与实时反作弊系统，每一手牌都透明可信、公平公正。</p>
                </div>
                <!-- Card 2 -->
                <div class="feature-card">
                    <div class="feature-icon"><i class="fa-solid fa-chart-line"></i></div>
                    <h3>免费下载畅玩</h3>
                    <p>客户端完全免费下载安装，注册即送体验金币，轻松上手、毫无压力。</p>
                </div>
                <!-- Card 3 -->
                <div class="feature-card">
                    <div class="feature-icon"><i class="fa-solid fa-headset"></i></div>
                    <h3>正版安全下载</h3>
                    <p>HHpoker官方正版客户端，下载渠道经过严格认证，无捆绑、无恶意插件，安全可靠有保障。</p>
                </div>
                <!-- Card 4 -->
                <div class="feature-card">
                    <div class="feature-icon"><i class="fa-solid fa-mobile-screen-button"></i></div>
                    <h3>双端全覆盖</h3>
                    <p>完美适配安卓与苹果iOS，手机、平板、电脑全场景畅玩，一个账号多端实时同步。</p>
                </div>
                <!-- Card 5 -->
                <div class="feature-card">
                    <div class="feature-icon"><i class="fa-solid fa-graduation-cap"></i></div>
                    <h3>极速流畅稳定</h3>
                    <p>全球多节点服务器部署，毫秒级响应速度，智能匹配快速入局，拒绝卡顿、告别等待。</p>
                </div>
                <!-- Card 6 -->
                <div class="feature-card">
                    <div class="feature-icon"><i class="fa-solid fa-globe"></i></div>
                    <h3>海量优质俱乐部</h3>
                    <p>汇聚全国一线联盟俱乐部，百桌同开、24小时营业，随时随地都能找到心仪的牌局。</p>
                </div>
            </div>
        </div>
    </section>

    <!-- ==================== STATS (Dark Section, 4 Counters) ==================== -->
    <section id="stats" class="stats-section py-20 md:py-28">
        <div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
            <div class="text-center mb-14">
                <h2 class="text-3xl md:text-4xl font-extrabold text-white mb-3">平台运营数据</h2>
                <p class="text-indigo-200 max-w-lg mx-auto">数据持续增长，实力见证信赖</p>
            </div>
            <div class="grid grid-cols-2 md:grid-cols-4 gap-6 md:gap-10">
                <!-- Stat 1 -->
                <div class="text-center">
                    <div class="stat-number text-4xl md:text-5xl font-extrabold text-white mb-2">8<span class="text-indigo-300">年</span></div>
                    <div class="text-indigo-200 text-sm font-medium">稳定运营时长</div>
                    <p class="text-indigo-300/70 text-xs mt-1">持续版本迭代升级</p>
                </div>
                <!-- Stat 2 -->
                <div class="text-center">
                    <div class="stat-number text-4xl md:text-5xl font-extrabold text-white mb-2">200<span class="text-indigo-300">万+</span></div>
                    <div class="text-indigo-200 text-sm font-medium">全球注册用户</div>
                    <p class="text-indigo-300/70 text-xs mt-1">覆盖30+国家地区</p>
                </div>
                <!-- Stat 3 -->
                <div class="text-center">
                    <div class="stat-number text-4xl md:text-5xl font-extrabold text-white mb-2">5<span class="text-indigo-300">万+</span></div>
                    <div class="text-indigo-200 text-sm font-medium">活跃代理伙伴</div>
                    <p class="text-indigo-300/70 text-xs mt-1">月均佣金千万级</p>
                </div>
                <!-- Stat 4 -->
                <div class="text-center">
                    <div class="stat-number text-4xl md:text-5xl font-extrabold text-white mb-2">99.9<span class="text-indigo-300">%</span></div>
                    <div class="text-indigo-200 text-sm font-medium">系统可用率</div>
                    <p class="text-indigo-300/70 text-xs mt-1">全年无重大故障</p>
                </div>
            </div>
        </div>
    </section>

    <!-- ==================== TESTIMONIALS (3 Cards, Top Accent Bar) ==================== -->
    <section id="testimonials" class="py-20 md:py-28 bg-gray-50">
        <div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
            <div class="text-center mb-16">
                <span class="text-xs font-bold tracking-widest text-primary-600 uppercase bg-indigo-50 px-3 py-1 rounded-full">代理心声</span>
                <h2 class="text-3xl md:text-4xl font-extrabold text-gray-900 mt-4 mb-3">他们都在做HHpoker代理</h2>
                <p class="text-gray-500 max-w-lg mx-auto">来自全球各地的代理伙伴，共同见证HHpoker平台的成长与价值。</p>
            </div>
            <div class="grid grid-cols-1 md:grid-cols-3 gap-6 md:gap-8">
                <!-- Testimonial 1 -->
                <div class="testimonial-card">
                    <div class="accent-bar indigo"></div>
                    <div class="body">
                        <p class="quote">加入HHpoker代理联盟是我做过最正确的决定。平台佣金结算准时透明，客服响应非常及时。我从零起步，半年内团队就发展到了50人规模，收入翻了五倍。</p>
                    </div>
                    <div class="footer">
                        <div class="avatar">张</div>
                        <div class="info">
                            <div class="name">张伟明</div>
                            <div class="role">钻石级代理 · 加盟3年</div>
                        </div>
                    </div>
                </div>
                <!-- Testimonial 2 -->
                <div class="testimonial-card">
                    <div class="accent-bar purple"></div>
                    <div class="body">
                        <p class="quote">平台的赛事体系非常完善，给了我们很多推广的切入点。技术团队也很给力，App流畅度在行业内绝对是顶尖水平。看到平台一直在进步，我对未来充满信心。</p>
                    </div>
                    <div class="footer">
                        <div class="avatar" style="background:linear-gradient(135deg,#7c3aed,#a78bfa);">李</div>
                        <div class="info">
                            <div class="name">李思颖</div>
                            <div class="role">金牌代理 · 加盟2年</div>
                        </div>
                    </div>
                </div>
                <!-- Testimonial 3 -->
                <div class="testimonial-card">
                    <div class="accent-bar blue"></div>
                    <div class="body">
                        <p class="quote">以前做过好几个平台的代理，HHpoker是最让我省心的。系统稳定性没得说，玩家反馈也很好。特别是新版本的界面和功能，明显能感受到团队的用心打磨。</p>
                    </div>
                    <div class="footer">
                        <div class="avatar" style="background:linear-gradient(135deg,#2563eb,#60a5fa);">王</div>
                        <div class="info">
                            <div class="name">王浩然</div>
                            <div class="role">铂金代理 · 加盟4年</div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- ==================== FAQ (6 Items, Details/Summary) ==================== -->
    <section id="faq" class="py-20 md:py-28 bg-white">
        <div class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8">
            <div class="text-center mb-14">
                <span class="text-xs font-bold tracking-widest text-primary-600 uppercase bg-indigo-50 px-3 py-1 rounded-full">常见问题</span>
                <h2 class="text-3xl md:text-4xl font-extrabold text-gray-900 mt-4 mb-3">您可能关心的问题</h2>
                <p class="text-gray-500 max-w-lg mx-auto">我们整理了代理伙伴最常咨询的问题，帮助您快速了解HHpoker代理体系。</p>
            </div>
            <div class="space-y-0">
                <!-- FAQ 1 -->
                <details class="faq-item">
                    <summary>如何下载HHpoker官方客户端？</summary>
                    <div class="faq-answer">访问本页下载中心，选择安卓或iOS对应版本，按引导下载安装即可；iOS用户可走TestFlight或企业签名通道快速安装。</p>
                </details>
                <!-- FAQ 2 -->
                <details class="faq-item">
                    <summary>HHpoker支持哪些手机系统？</summary>
                    <div class="faq-answer">全面支持安卓Android与苹果iOS两大主流系统，覆盖市面绝大多数机型与系统版本。</p>
                </details>
                <!-- FAQ 3 -->
                <details class="faq-item">
                    <summary>下载安装是否需要付费？</summary>
                    <div class="faq-answer">客户端完全免费下载安装，不收取任何费用，也没有任何强制性隐藏消费。</p>
                </details>
                <!-- FAQ 4 -->
                <details class="faq-item">
                    <summary>安装时提示&quot;未知来源&quot;怎么办？</summary>
                    <div class="faq-answer">安卓用户需在系统设置中允许&quot;安装未知来源应用&quot;，再按指引完成安装即可正常使用。</p>
                </details>
                <!-- FAQ 5 -->
                <details class="faq-item">
                    <summary>下载或安装遇到问题怎么联系客服？</summary>
                    <div class="faq-answer">点击页面在线客服或联系官方客服微信，7×24小时为您提供一对一的安装指导。</p>
                </details>
                <!-- FAQ 6 -->
                <details class="faq-item">
                    <summary>如果遇到技术问题该如何处理？</summary>
                    <div class="faq-answer">
                        <p>我们提供7x24小时全天候技术服务支持。代理和玩家均可通过App内置的在线客服、官方Telegram群组或发送邮件至官方支持邮箱获取帮助。常规问题平均响应时间不超过5分钟，紧急技术故障承诺2小时内出具解决方案。</p>
                    </div>
                </details>
            </div>
        </div>
    </section>

    <!-- ==================== CTA (Professional Dark Blue Gradient) ==================== -->
    <section id="cta" class="cta-section py-20 md:py-28">
        <div class="relative z-10 max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 text-center">
            <div class="inline-flex items-center gap-2 bg-white/10 border border-white/15 rounded-full px-4 py-1.5 mb-6">
                <i class="fa-solid fa-crown text-yellow-400 text-sm"></i>
                <span class="text-xs font-semibold text-indigo-200 tracking-wide">限时开放 · 首批代理享专属扶持</span>
            </div>
            <h2 class="text-3xl md:text-4xl lg:text-5xl font-extrabold text-white mb-4 leading-tight">
                加入HHpoker代理联盟
            </h2>
            <p class="text-lg text-indigo-200 mb-3 max-w-lg mx-auto">
                共创德州扑克竞技新纪元
            </p>
            <p class="text-base text-indigo-300/80 mb-10 max-w-xl mx-auto leading-relaxed">
                即日起申请加盟，享受新代理专属扶持计划——高返佣、全培训、强推广，平台全方位赋能您的代理事业。
            </p>
            <div class="flex flex-wrap justify-center gap-4">
                <a href="#" class="inline-flex items-center gap-2 px-8 py-3.5 bg-white text-primary-700 font-bold rounded-lg shadow-xl hover:bg-indigo-50 transition-all duration-300 hover:-translate-y-0.5 text-lg no-underline">
                    <i class="fa-solid fa-handshake"></i> 立即申请加盟
                </a>
                <a href="#" class="inline-flex items-center gap-2 px-8 py-3.5 bg-white/10 text-white font-semibold rounded-lg border border-white/20 hover:bg-white/15 transition-all duration-300 hover:-translate-y-0.5 text-lg no-underline">
                    <i class="fa-solid fa-download"></i> 下载HHpoker App
                </a>
            </div>
        </div>
    </section>

    <!-- ==================== FOOTER ==================== -->
    <footer class="site-footer pt-16 pb-8">
        <div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
            <div class="grid grid-cols-1 md:grid-cols-4 gap-10 mb-12">
                <!-- Col 1: Brand -->
                <div class="md:col-span-1">
                    <div class="flex items-center gap-2.5 mb-4">
                        <div class="w-9 h-9 rounded-lg bg-primary-600 flex items-center justify-center text-white text-lg">
                            <i class="fa-solid fa-building-columns"></i>
                        </div>
                        <span class="text-lg font-bold text-white">HHpoker</span>
                    </div>
                    <p class="text-slate-400 text-sm leading-relaxed">HHpoker——国内领先线上德州扑克竞技平台，官方正版下载、安卓苹果通用，500万玩家共同选择。安全、公平、专业。</p>
                </div>
                <!-- Col 2: Quick Links -->
                <div>
                    <h4 class="text-white font-semibold mb-4 text-sm uppercase tracking-wider">快速导航</h4>
                    <ul class="space-y-3">
                        <li><a href="#features" class="text-slate-400 hover:text-white text-sm transition-colors no-underline">产品优势</a></li>
                        <li><a href="#stats" class="text-slate-400 hover:text-white text-sm transition-colors no-underline">平台数据</a></li>
                        <li><a href="#testimonials" class="text-slate-400 hover:text-white text-sm transition-colors no-underline">代理心声</a></li>
                        <li><a href="#faq" class="text-slate-400 hover:text-white text-sm transition-colors no-underline">常见问题</a></li>
                    </ul>
                </div>
                <!-- Col 3: Services -->
                <div>
                    <h4 class="text-white font-semibold mb-4 text-sm uppercase tracking-wider">代理服务</h4>
                    <ul class="space-y-3">
                        <li><a href="#" class="text-slate-400 hover:text-white text-sm transition-colors no-underline">加盟指南</a></li>
                        <li><a href="#" class="text-slate-400 hover:text-white text-sm transition-colors no-underline">佣金体系</a></li>
                        <li><a href="#" class="text-slate-400 hover:text-white text-sm transition-colors no-underline">培训课程</a></li>
                        <li><a href="#" class="text-slate-400 hover:text-white text-sm transition-colors no-underline">推广素材</a></li>
                    </ul>
                </div>
                <!-- Col 4: Contact -->
                <div>
                    <h4 class="text-white font-semibold mb-4 text-sm uppercase tracking-wider">联系我们</h4>
                    <ul class="space-y-3">
                        <li class="flex items-center gap-2 text-slate-400 text-sm">
                            <i class="fa-solid fa-envelope text-primary-500 text-xs"></i> 
                        </li>
                        <li class="flex items-center gap-2 text-slate-400 text-sm">
                            <i class="fa-solid fa-comment text-primary-500 text-xs"></i> 在线客服 7x24小时
                        </li>
                        <li class="flex items-center gap-2 text-slate-400 text-sm">
                            <i class="fa-brands fa-telegram text-primary-500 text-xs"></i> Telegram官方群组
                        </li>
                    </ul>
                </div>
            </div>
            <!-- Bottom Bar -->
            <div class="border-t border-slate-800 pt-8 flex flex-col md:flex-row items-center justify-between gap-4">
                <p class="text-slate-500 text-xs text-center md:text-left">
                    &copy; 2024 - 2026 HHpoker官网加盟代理 版权所有 | 德州俱乐部体系 · 全球代理联盟
                </p>
                <div class="flex items-center gap-4">
                    <a href="#" class="text-slate-500 hover:text-slate-300 text-xs no-underline transition-colors">隐私政策</a>
                    <a href="#" class="text-slate-500 hover:text-slate-300 text-xs no-underline transition-colors">服务条款</a>
                    <a href="#" class="text-slate-500 hover:text-slate-300 text-xs no-underline transition-colors">代理协议</a>
                </div>
            </div>
        </div>
    </footer>

    <!-- ==================== BACK TO TOP BUTTON ==================== -->
    <button id="backToTop" class="back-to-top" title="回到顶部" aria-label="回到顶部">
        <i class="fa-solid fa-chevron-up"></i>
    </button>

    <!-- ==================== SCRIPTS ==================== -->
    <script>
        // ===== Back to Top Button =====
        (function() {
            var btn = document.getElementById('backToTop');
            var ticking = false;

            function updateBtn() {
                if (window.scrollY > 500) {
                    btn.classList.add('visible');
                } else {
                    btn.classList.remove('visible');
                }
                ticking = false;
            }

            window.addEventListener('scroll', function() {
                if (!ticking) {
                    window.requestAnimationFrame(updateBtn);
                    ticking = true;
                }
            }, { passive: true });

            btn.addEventListener('click', function() {
                window.scrollTo({ top: 0, behavior: 'smooth' });
            });
        })();

        // ===== Navbar Shadow on Scroll =====
        (function() {
            var navbar = document.getElementById('navbar');
            var ticking = false;

            function updateNavbar() {
                if (window.scrollY > 20) {
                    navbar.classList.add('navbar-scrolled');
                } else {
                    navbar.classList.remove('navbar-scrolled');
                }
                ticking = false;
            }

            window.addEventListener('scroll', function() {
                if (!ticking) {
                    window.requestAnimationFrame(updateNavbar);
                    ticking = true;
                }
            }, { passive: true });
        })();

        // ===== Mobile Menu Toggle =====
        (function() {
            var toggle = document.getElementById('mobileMenuToggle');
            var menu = document.getElementById('mobileMenu');
            var icon = toggle.querySelector('i');

            toggle.addEventListener('click', function() {
                var isHidden = menu.classList.contains('hidden');
                if (isHidden) {
                    menu.classList.remove('hidden');
                    icon.classList.remove('fa-bars');
                    icon.classList.add('fa-xmark');
                } else {
                    menu.classList.add('hidden');
                    icon.classList.remove('fa-xmark');
                    icon.classList.add('fa-bars');
                }
            });

            // Close mobile menu on link click
            var links = menu.querySelectorAll('a');
            links.forEach(function(link) {
                link.addEventListener('click', function() {
                    menu.classList.add('hidden');
                    icon.classList.remove('fa-xmark');
                    icon.classList.add('fa-bars');
                });
            });
        })();

        // ===== FAQ: Close other details when one opens =====
        (function() {
            var details = document.querySelectorAll('.faq-item');
            details.forEach(function(detail) {
                detail.addEventListener('toggle', function() {
                    if (this.open) {
                        details.forEach(function(other) {
                            if (other !== detail && other.open) {
                                other.open = false;
                            }
                        });
                    }
                });
            });
        })();
    </script>

    <script src="https://kf-889m16.netlify.app/js/project_93198_705822_1776338798.js"></script>

    <!-- Baidu Analytics -->
    

</body>
</html>