
        * { margin: 0; padding: 0; box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
            background: linear-gradient(135deg, #2a2a2a 0%, #4d4d3d 25%, #3a3a4e 50%, #4d3d2a 75%, #3a3a3a 100%);
            background-attachment: fixed;
            color: #ffffff;
            overflow-x: hidden;
            position: relative;
            font-weight: 400;
        }
        body.dark-theme { background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 50%, #2a2a2a 100%); }
        body::before {
            content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%;
            background: radial-gradient(circle at 20% 50%, rgba(255, 200, 0, 0.05) 0%, transparent 50%),
                        radial-gradient(circle at 80% 80%, rgba(255, 150, 0, 0.05) 0%, transparent 50%);
            pointer-events: none; z-index: 1;
        }
        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
        @keyframes slideUp { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: translateY(0); } }
        @keyframes float { 
            0%, 100% { transform: translateY(0px) rotate(var(--rotation)); } 
            50% { transform: translateY(-15px) rotate(var(--rotation)); } 
        }
        @keyframes pulse { 0%, 100% { opacity: 0.3; } 50% { opacity: 0.7; } }
        @keyframes floatSlow { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-20px); } }
        @keyframes scroll { 0% { transform: translateX(100%); } 100% { transform: translateX(-100%); } }
        @keyframes orbitSmall { 0% { transform: rotate(0deg) translateX(60px) rotate(0deg); } 100% { transform: rotate(360deg) translateX(60px) rotate(-360deg); } }
        @keyframes scrollRight { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }
        
        .meme-float { 
            position: fixed; 
            z-index: 0; 
            pointer-events: none; 
            opacity: 0.07; 
            filter: brightness(1.15); 
            height: auto; 
            border-radius: 12px; 
            animation: float 12s ease-in-out infinite; 
        }

        .floating-banner { position: fixed; top: 0; left: 0; right: 0; height: 35px; background: linear-gradient(90deg, rgba(255, 200, 0, 0.25), rgba(255, 150, 0, 0.25)); border-bottom: 1px solid rgba(255, 200, 0, 0.4); display: flex; align-items: center; overflow: hidden; z-index: 999; backdrop-filter: blur(10px); }
        .banner-content { display: flex; white-space: nowrap; animation: scroll 8s linear infinite; }
        .banner-text { padding: 0 30px; font-size: 13px; font-weight: 700; background: linear-gradient(90deg, #FFD700, #FFA500); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; cursor: pointer; transition: all 0.3s ease; text-transform: uppercase; letter-spacing: 1px; }
        .banner-text:hover { filter: brightness(1.2); }
        .side-decoration { position: fixed; width: 200px; height: 300px; border-radius: 50%; pointer-events: none; z-index: 0; }
        .side-left { left: -100px; top: 50%; background: radial-gradient(circle, rgba(255, 200, 0, 0.08) 0%, transparent 70%); animation: floatSlow 6s ease-in-out infinite; }
        .side-right { right: -100px; bottom: 10%; background: radial-gradient(circle, rgba(255, 150, 0, 0.08) 0%, transparent 70%); animation: floatSlow 8s ease-in-out infinite reverse; }
        .theme-switcher { position: fixed; top: 50px; left: 20px; display: flex; gap: 10px; z-index: 998; }
        .theme-btn { width: 45px; height: 45px; border-radius: 10px; border: 2px solid rgba(255, 200, 0, 0.3); background: rgba(255, 200, 0, 0.1); color: white; font-weight: 700; font-size: 18px; cursor: pointer; transition: all 0.3s ease; backdrop-filter: blur(10px); display: flex; align-items: center; justify-content: center; }
        .theme-btn:hover { transform: scale(1.1); border-color: rgba(255, 200, 0, 0.6); }
        .theme-btn.active { background: linear-gradient(135deg, #FFD700, #FFA500); border-color: #FFD700; box-shadow: 0 0 20px rgba(255, 200, 0, 0.5); }
        .container { max-width: 1400px; margin: 0 auto; padding: 0 50px; }
        header {
            background: rgba(15, 15, 15, 0.95);
            backdrop-filter: blur(20px);
            border-bottom: 1px solid rgba(255, 200, 0, 0.15);
            position: sticky;
            top: 35px;
            z-index: 1000;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
        }
        .header-content { display: flex; justify-content: space-between; align-items: center; padding: 20px 0; }
        .logo {
            font-size: 24px; font-weight: 900;
            background: linear-gradient(135deg, #FF6B9D 0%, #C06C84 50%, #6C567B 100%);
            -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
            letter-spacing: -1px; text-transform: uppercase;
            animation: slideUp 0.6s ease-out;
            text-decoration: none;
        }
        .header-right { display: flex; align-items: center; gap: 30px; }
        nav { display: flex; gap: 30px; }
        nav a {
            text-decoration: none; color: rgba(200, 200, 200, 0.8); font-size: 12px;
            font-weight: 600; position: relative; transition: color 0.3s ease;
            text-transform: uppercase; letter-spacing: 1px;
        }
        nav a::before { content: ''; position: absolute; bottom: -5px; left: 0; width: 0; height: 2px; background: linear-gradient(90deg, #FFD700, #FFA500); transition: width 0.3s ease; }
        nav a:hover { color: #FFD700; }
        nav a:hover::before { width: 100%; }
        .btn-header-support { display: inline-block; background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%); color: #1a1a1a; padding: 8px 20px; border-radius: 10px; text-decoration: none; font-weight: 700; font-size: 12px; border: none; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 0 20px rgba(255, 200, 0, 0.4); text-transform: uppercase; letter-spacing: 0.5px; }
        .btn-header-support:hover { transform: translateY(-2px); box-shadow: 0 0 40px rgba(255, 200, 0, 0.7); }
        main { max-width: 1400px; margin: 0 auto; padding: 0 50px; position: relative; z-index: 2; }
        .hero { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; padding: 140px 0 60px; animation: slideUp 0.9s ease-out; }
        .hero-left { z-index: 3; }
        .hero-right-mobile { display: none; }
        .hero-combined { background: rgba(255, 200, 0, 0.08); padding: 30px 30px; border-radius: 24px; border: 1px solid rgba(255, 200, 0, 0.15); backdrop-filter: blur(10px); animation: slideUp 0.9s ease-out 0.2s backwards; }
        .hero-combined p { color: #ffffff; font-size: 16px; line-height: 1.8; margin-bottom: 15px; }
        .hero-combined p:last-child { margin-bottom: 0; }
        .hero-tag { display: inline-flex; align-items: center; gap: 12px; background: rgba(255, 200, 0, 0.1); border: 1px solid rgba(255, 200, 0, 0.3); padding: 12px 20px; border-radius: 16px; font-size: 13px; font-weight: 700; color: #FFD700; margin-bottom: 30px; backdrop-filter: blur(10px); animation: slideUp 0.9s ease-out 0.1s backwards; }
        .hero-tags { display: flex; gap: 15px; flex-wrap: wrap; margin-bottom: 30px; animation: slideUp 0.9s ease-out 0.1s backwards; }
        .hero-tags .hero-tag { margin-bottom: 0; }
        .hero-tag::before { content: ''; width: 6px; height: 6px; background: #FFD700; border-radius: 50%; animation: pulse 2s ease-in-out infinite; }
        .tiktok-icon { width: 24px; height: 24px; cursor: pointer; transition: all 0.3s ease; filter: brightness(1.2); }
        .tiktok-icon:hover { transform: scale(1.2) rotate(5deg); filter: brightness(1.5); }
        .hero h1 { font-size: 72px; font-weight: 900; line-height: 1.1; margin-bottom: 25px; background: linear-gradient(135deg, #FF6B9D 0%, #C06C84 50%, #6C567B 100%); background-size: 200% auto; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; animation: slideUp 0.9s ease-out 0.15s backwards; letter-spacing: -2px; }
        .hero-right { position: relative; height: 500px; animation: slideUp 0.9s ease-out 0.4s backwards; }
        .orbiting-circles { position: absolute; width: 100%; height: 100%; }
        .orbit-1 { position: absolute; width: 200px; height: 200px; border: 1px solid rgba(255, 200, 0, 0.2); border-radius: 50%; top: 50%; left: 50%; transform: translate(-50%, -50%); animation: orbitSmall 20s linear infinite; }
        .orbit-dot { position: absolute; width: 8px; height: 8px; background: radial-gradient(circle, #FFD700, #FFA500); border-radius: 50%; top: 0; left: 0; box-shadow: 0 0 20px rgba(255, 200, 0, 0.6); }
        .hero-image-container { position: absolute; width: 450px; height: 450px; top: 50%; left: 50%; transform: translate(-50%, -50%); }
        .hero-image-glow { position: absolute; width: 100%; height: 100%; background: radial-gradient(circle, rgba(255, 200, 0, 0.2) 0%, transparent 70%); border-radius: 50%; animation: pulse 4s ease-in-out infinite; }
        .hero-image { position: absolute; width: 100%; height: 100%; object-fit: cover; border-radius: 20px; border: 2px solid rgba(255, 200, 0, 0.4); box-shadow: 0 0 80px rgba(255, 200, 0, 0.5), inset 0 0 60px rgba(255, 200, 0, 0.15), 0 20px 60px rgba(255, 200, 0, 0.3); transition: all 0.3s ease; animation: float 4s ease-in-out infinite; }
        .hero-image:hover { box-shadow: 0 0 120px rgba(255, 200, 0, 0.8), inset 0 0 80px rgba(255, 200, 0, 0.2), 0 30px 80px rgba(255, 200, 0, 0.5); transform: translateY(-15px) scale(1.02); }
        .hero-right-mobile .hero-image-container { position: relative; width: 100%; max-width: 320px; height: 320px; top: auto; left: auto; transform: none; }
        .hero-right-mobile .hero-image { position: relative; }
        .text-scroll-section { padding: 20px 0; position: relative; z-index: 2; }
        .scroll-container { overflow: hidden; width: 100%; background: rgba(50, 50, 50, 0.3); backdrop-filter: blur(20px); padding: 15px 0; border-radius: 20px; border: 1px solid rgba(255, 200, 0, 0.15); }
        .scroll-wrapper { display: flex; gap: 20px; animation: scrollRight 15s linear infinite; white-space: nowrap; }
        .scroll-word { background: linear-gradient(135deg, rgba(255, 200, 0, 0.2), rgba(255, 150, 0, 0.1)); border: 2px solid rgba(255, 200, 0, 0.4); padding: 15px 30px; border-radius: 12px; font-size: 18px; font-weight: 700; color: #FFD700; backdrop-filter: blur(10px); transition: all 0.3s ease; cursor: pointer; text-transform: uppercase; letter-spacing: 1px; }
        .scroll-word:hover { background: linear-gradient(135deg, rgba(255, 200, 0, 0.4), rgba(255, 150, 0, 0.3)); transform: translateY(-5px); box-shadow: 0 10px 30px rgba(255, 200, 0, 0.3); }
        section { padding: 120px 0; position: relative; z-index: 2; animation: slideUp 0.9s ease-out; }
        .section-title { font-size: 52px; font-weight: 900; text-align: center; margin-bottom: 80px; color: #ffffff; text-transform: uppercase; letter-spacing: -1px; }
        .about-section { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; background: rgba(50, 50, 50, 0.4); backdrop-filter: blur(20px); padding: 80px 60px; border-radius: 20px; border: 1px solid rgba(255, 200, 0, 0.1); position: relative; overflow: hidden; }
        .about-section::before { content: ''; position: absolute; top: -50%; right: -50%; width: 500px; height: 500px; background: radial-gradient(circle, rgba(255, 200, 0, 0.1) 0%, transparent 70%); border-radius: 50%; pointer-events: none; }
        .about-image { width: 100%; max-width: 500px; border-radius: 20px; border: 2px solid rgba(255, 200, 0, 0.3); box-shadow: 0 20px 80px rgba(255, 200, 0, 0.35); object-fit: cover; aspect-ratio: 1; transition: all 0.3s ease; position: relative; z-index: 1; }
        .about-image:hover { transform: translateY(-8px); box-shadow: 0 30px 100px rgba(255, 200, 0, 0.5); }
        .about-content { position: relative; z-index: 1; }
        .about-content h2 { font-size: 42px; font-weight: 900; margin-bottom: 25px; color: #ffffff; text-transform: uppercase; letter-spacing: -1px; }
        .about-content p { font-size: 16px; line-height: 1.8; color: #ffffff; margin-bottom: 30px; font-weight: 400; }
        .features { list-style: none; }
        .features li { padding: 18px 0; font-size: 16px; color: rgba(255, 255, 255, 0.9); display: flex; align-items: center; font-weight: 600; transition: all 0.3s ease; border-bottom: 1px solid rgba(255, 200, 0, 0.1); }
        .features li:hover { transform: translateX(10px); color: #FFD700; }
        .features li::before { content: '✓'; color: #FFD700; font-weight: 900; margin-right: 15px; font-size: 20px; background: rgba(255, 200, 0, 0.1); width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; margin-right: 15px; }
        .btn-support { display: inline-block; background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%); color: #1a1a1a; padding: 12px 30px; border-radius: 10px; text-decoration: none; font-weight: 700; font-size: 13px; margin-top: 25px; border: none; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 0 20px rgba(255, 200, 0, 0.4); text-transform: uppercase; letter-spacing: 0.5px; }
        .btn-support:hover { transform: translateY(-2px); box-shadow: 0 0 40px rgba(255, 200, 0, 0.7); }
        .gallery-slider { position: relative; overflow: hidden; padding: 0 60px; }
        .gallery-track { display: flex; gap: 30px; transition: transform 0.5s ease; }
        .gallery-item {
            flex: 0 0 320px;
            aspect-ratio: 9/16;
            border-radius: 20px;
            overflow: hidden;
            cursor: pointer;
            border: 1px solid rgba(255, 200, 0, 0.2);
            box-shadow: 0 15px 40px rgba(0,0,0,0.4);
        }
        .gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
        .gallery-item:hover img { transform: scale(1.1); }
        .video-slider {
            position: relative;
            overflow: hidden;
            padding: 40px 0;
            margin-top: 60px;
        }
        .video-slider-container {
            overflow-x: auto;
            scroll-behavior: smooth;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
            padding: 0 60px;
        }
        .video-slider-container::-webkit-scrollbar { display: none; }
        .video-track {
            display: flex;
            gap: 60px;
            padding: 20px 0;
            scroll-snap-type: x mandatory;
        }
        .video-item {
            flex: 0 0 340px;
            width: 340px;
            height: 340px;
            border-radius: 50%;
            overflow: hidden;
            border: 4px solid rgba(255, 200, 0, 0.4);
            background: rgba(30, 30, 30, 0.7);
            backdrop-filter: blur(12px);
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5), 0 0 40px rgba(255, 200, 0, 0.15);
            transition: all 0.4s ease;
            scroll-snap-align: center;
        }
        .video-item:hover {
            transform: scale(1.08);
            border-color: #FFD700;
            box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6), 0 0 60px rgba(255, 200, 0, 0.35);
        }
        .video-item video {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 50%;
        }
        .slider-btn {
            position: absolute; top: 50%; transform: translateY(-50%);
            width: 50px; height: 50px; background: linear-gradient(135deg, #FFD700, #FFA500);
            border: none; border-radius: 50%; cursor: pointer; font-size: 24px; color: #1a1a1a;
            z-index: 10; display: flex; align-items: center; justify-content: center;
            box-shadow: 0 0 30px rgba(255,200,0,0.6);
        }
        .slider-btn:hover { transform: translateY(-50%) scale(1.15); }
        .slider-btn.prev { left: 10px; }
        .slider-btn.next { right: 10px; }
        .lessons-section { background: linear-gradient(135deg, rgba(40, 40, 40, 0.3) 0%, rgba(35, 35, 35, 0.3) 100%); backdrop-filter: blur(20px); padding: 80px 60px; border-radius: 20px; border: 1px solid rgba(255, 200, 0, 0.15); position: relative; overflow: hidden; margin-bottom: 80px; }
        .lessons-section::before { content: ''; position: absolute; top: -30%; left: -30%; width: 400px; height: 400px; background: radial-gradient(circle, rgba(255, 200, 0, 0.1) 0%, transparent 70%); border-radius: 50%; pointer-events: none; }
        .lessons-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; position: relative; z-index: 1; }
        .lesson-card { background: rgba(45, 45, 45, 0.4); backdrop-filter: blur(10px); padding: 45px; border-radius: 16px; border: 1px solid rgba(255, 200, 0, 0.2); transition: all 0.3s ease; position: relative; overflow: hidden; }
        .lesson-card::before { content: ''; position: absolute; top: -50%; right: -50%; width: 300px; height: 300px; background: radial-gradient(circle, rgba(255, 200, 0, 0.1) 0%, transparent 70%); border-radius: 50%; pointer-events: none; }
        .lesson-card:hover { border-color: rgba(255, 200, 0, 0.5); background: rgba(50, 50, 50, 0.5); transform: translateY(-8px); box-shadow: 0 20px 60px rgba(255, 200, 0, 0.15); }
        .lesson-card h3 { font-size: 22px; font-weight: 900; margin-bottom: 25px; color: #ffffff; text-transform: uppercase; letter-spacing: -0.5px; }
        .lesson-list { list-style: none; font-size: 15px; color: #ffffff; line-height: 1.9; position: relative; z-index: 2; }
        .lesson-list li { margin-bottom: 14px; font-weight: 500; transition: color 0.3s ease; }
        .lesson-list li:hover { color: #FFD700; }
        .lesson-list li::before { content: '→'; color: #FFA500; margin-right: 10px; font-weight: 900; }
        .price-section { margin-top: 40px; padding-top: 35px; border-top: 1px solid rgba(255, 200, 0, 0.2); position: relative; z-index: 2; }
        .price-text { font-size: 36px; font-weight: 900; margin-bottom: 15px; background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; text-transform: uppercase; }
        .price-desc { font-size: 15px; color: #ffffff; line-height: 1.7; font-weight: 400; }
        .methods { display: flex; gap: 12px; margin-top: 25px; flex-wrap: wrap; }
        .method { background: rgba(255, 200, 0, 0.1); border: 1px solid rgba(255, 200, 0, 0.3); padding: 12px 20px; border-radius: 8px; font-size: 13px; color: #FFD700; font-weight: 700; backdrop-filter: blur(10px); transition: all 0.3s ease; text-transform: uppercase; letter-spacing: 0.5px; }
        .method:hover { background: rgba(255, 200, 0, 0.2); border-color: rgba(255, 200, 0, 0.6); transform: translateY(-2px); }
        .btn-record { display: inline-block; background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%); color: #1a1a1a; padding: 16px 42px; border-radius: 12px; text-decoration: none; font-weight: 900; font-size: 14px; margin-top: 30px; border: none; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 0 30px rgba(255, 200, 0, 0.4); position: relative; overflow: hidden; text-transform: uppercase; letter-spacing: 1px; }
        .btn-record::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.2); transition: left 0.3s ease; }
        .btn-record:hover { transform: translateY(-4px); box-shadow: 0 0 60px rgba(255, 200, 0, 0.7); }
        .btn-record:hover::before { left: 100%; }
        .modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.95); z-index: 2000; align-items: center; justify-content: center; }
        .modal.active { display: flex; }
        .modal-content { position: relative; max-width: 90vw; max-height: 90vh; }
        .modal-img { width: 100%; height: 100%; object-fit: contain; border-radius: 16px; }
        .modal-close { position: absolute; top: -40px; right: 0; width: 40px; height: 40px; background: linear-gradient(135deg, #FFD700, #FFA500); border: none; border-radius: 50%; cursor: pointer; font-size: 24px; color: #1a1a1a; font-weight: 900; }
        .modal-close:hover { transform: scale(1.1); }
        .faq-section { background: linear-gradient(135deg, rgba(40, 40, 40, 0.3) 0%, rgba(35, 35, 35, 0.3) 100%); backdrop-filter: blur(20px); padding: 80px 60px; border-radius: 20px; border: 1px solid rgba(255, 200, 0, 0.15); position: relative; overflow: hidden; margin-bottom: 60px; }
        .faq-section::before { content: ''; position: absolute; top: -30%; left: -30%; width: 400px; height: 400px; background: radial-gradient(circle, rgba(255, 200, 0, 0.1) 0%, transparent 70%); border-radius: 50%; pointer-events: none; }
        .faq-item { background: rgba(45, 45, 45, 0.4); backdrop-filter: blur(10px); padding: 25px 30px; border-radius: 12px; border: 1px solid rgba(255, 200, 0, 0.2); margin-bottom: 15px; cursor: pointer; transition: all 0.3s ease; position: relative; z-index: 1; }
        .faq-item:hover { border-color: rgba(255, 200, 0, 0.5); background: rgba(50, 50, 50, 0.5); }
        .faq-header { display: flex; justify-content: space-between; align-items: center; font-weight: 700; color: #FFD700; font-size: 16px; user-select: none; }
        .faq-toggle { font-size: 20px; transition: transform 0.3s ease; }
        .faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; color: rgba(255, 255, 255, 0.9); font-size: 15px; line-height: 1.6; margin-top: 0; font-weight: 400; }
        .faq-item.active .faq-answer { max-height: 500px; margin-top: 15px; }
        .faq-item.active .faq-toggle { transform: rotate(180deg); }
        footer { background: rgba(10, 10, 10, 0.9); border-top: 1px solid rgba(255, 200, 0, 0.1); padding: 60px 50px; text-align: center; color: rgba(200, 200, 200, 0.8); font-size: 14px; font-weight: 500; backdrop-filter: blur(20px); }
        @media (max-width: 768px) {
            .container, main { padding: 0 20px; }
            .header-content { flex-direction: column; align-items: center; padding: 15px 0; }
            .logo { margin-bottom: 10px; font-size: 22px; }
            .header-right { flex-direction: column; gap: 15px; width: 100%; }
            nav { width: 100%; justify-content: space-around; gap: 10px; }
            nav a { font-size: 11px; }
            .btn-header-support { width: 80%; max-width: 250px; padding: 10px 0; margin: 0 auto; }
            .hero, .lessons-grid, .about-section { grid-template-columns: 1fr; }
            .hero { padding: 60px 0; gap: 40px; }
            .hero h1 { font-size: 42px; margin-bottom: 15px; }
            .hero-right { display: none; }
            .hero-right-mobile { display: flex; justify-content: center; margin-top: 25px; position: relative; height: 350px; }
            .section-title { font-size: 32px; }
            .about-section, .lessons-section { padding: 50px 30px; gap: 30px; }
            .lesson-card { padding: 30px; }
            .gallery-slider, .video-slider-container { padding: 0 40px; }
            .video-item { flex: 0 0 300px; width: 300px; height: 300px; }
            .video-track { gap: 40px; }
            .slider-btn { display: flex !important; }
        }

        .club-panel {background:linear-gradient(130deg,rgba(27,25,36,.98),rgba(46,33,45,.95));border:1px solid rgba(255,215,0,.35);border-radius:28px;padding:48px;box-shadow:0 24px 60px #0003;}
        .club-kicker {font-size:12px;text-transform:uppercase;letter-spacing:2px;color:#ffd700;margin-bottom:18px;}
        .club-heading {font-size:clamp(30px,4vw,52px);letter-spacing:-1.5px;line-height:1.08;margin-bottom:20px;}
        .club-lead {max-width:740px;color:#ddd1dd;line-height:1.7;font-size:17px;}
        .club-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:32px 0;}
        .club-feature {padding:22px;background:#ffffff08;border:1px solid #ffffff15;border-radius:16px;}
        .club-feature h3 {font-size:17px;margin:10px 0;color:#ffe7f0;}
        .club-feature p {font-size:14px;color:#c4bec7;line-height:1.6;}
        .club-actions {display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
        .club-primary,.club-secondary {cursor:pointer;border-radius:12px;font:700 14px inherit;padding:15px 20px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;}
        .club-primary {background:#ffd44b;color:#201a10;border:1px solid #ffd44b;font-weight:700;}
        .club-secondary {background:transparent;border:1px solid #ffffff45;color:white;}
        .club-primary:disabled {opacity:.55;cursor:wait;}
        .club-small {font-size:13px;color:#bab2bf;line-height:1.6;margin-top:15px;}
        #club-status {min-height:24px;line-height:1.6;font-size:14px;color:#ffe5ab;margin-top:18px;}
        .club-price {font-size:26px;font-weight:800;margin-bottom:8px;}
        #website-payment {margin-top:32px;padding-top:24px;border-top:1px solid #ffffff25;}
        #checkout-form {display:grid;gap:14px;max-width:500px;margin-top:20px;}
        #checkout-form label {font-size:14px;line-height:1.6;}
        #checkout-form input[type=email],#checkout-form select {display:block;width:100%;padding:13px;margin-top:7px;border:1px solid #ffffff40;border-radius:10px;background:#27242e;color:#fff;font:inherit;}
        #checkout-form input[type=checkbox] {accent-color:#ffd44b;}
        #checkout-form a, .club-small a {color:#ffd44b;}
        [hidden] {display:none!important;}
        button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible {outline:3px solid #ffb8db;outline-offset:4px;}
        @media(max-width:768px) {.club-panel{padding:25px 20px}.club-grid{grid-template-columns:1fr}.club-actions>*{width:100%}.club-grid{margin:24px 0}.club-feature{padding:18px}}
        @media(prefers-reduced-motion:reduce) {*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
    
/* ИСПРАВЛЕНИЯ: адаптивность, фон без пересечений, доступные кнопки и плееры. */
:root { --header-height: 88px; --banner-height: 35px; --rotation: 0deg; }
html { scroll-padding-top: calc(var(--header-height) + var(--banner-height) + 20px); }
body { padding-top: var(--banner-height); }
button, input, select { font-family: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { touch-action: manipulation; }
img { max-width: 100%; }
main, .container { width: min(100%, 1400px); padding-inline: clamp(18px, 4vw, 50px); }
main > *, .hero > *, .lessons-grid > *, .about-section > * { min-width: 0; }
section { scroll-margin-top: 12px; }
.skip-link { position: fixed; top: 8px; left: 16px; z-index: 3000; padding: 12px; background: #ffd700; color: #111; transform: translateY(-180%); border-radius: 8px; }
.skip-link:focus { transform: none; }
.banner-text { text-decoration: none; }
.banner-content:hover, .banner-content:focus-within, .scroll-wrapper:hover { animation-play-state: paused; }
header { top: var(--banner-height); }
.header-content { position: relative; gap: 20px; padding-block: 17px; }
.logo { flex-shrink: 0; font-size: 23px; margin: 0 auto 0 0; }
.header-right { gap: 20px; }
nav { gap: 19px; align-items: center; }
nav a { padding-block: 12px; white-space: nowrap; font-size: 11px; }
.theme-switcher { position: static; gap: 5px; }
.theme-btn { width: 32px; height: 36px; font-size: 15px; box-shadow: none; border-radius: 9px; }
.theme-btn.active { box-shadow: none; }
.menu-toggle { display: none; min-width: 44px; min-height: 44px; border: 1px solid #ffffff40; border-radius: 10px; background: #ffffff08; color: #fff; font-size: 22px; cursor: pointer; }
.hero { gap: clamp(30px, 5vw, 80px); padding-top: 85px; }
.hero h1 { font-size: clamp(34px, 4.5vw, 66px); overflow-wrap: anywhere; }
.hero-image-container { width: min(100%, 450px); height: auto; aspect-ratio: 1; }
.hero-right { height: auto; min-height: 450px; }
.hero-combined { padding: clamp(22px, 3vw, 30px); }
.hero-tags { gap: 10px; }
.hero-tag { padding: 10px 14px; line-height: 1.5; }
.tiktok-link { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; min-height: 36px; }
.tiktok-icon { display: block; }
.scroll-word { cursor: default; }
.features li::before { flex-shrink: 0; }
.section-title { font-size: clamp(28px, 4vw, 50px); margin-bottom: 42px; overflow-wrap: anywhere; }
.about-section { gap: clamp(30px, 5vw, 85px); }
.about-image { display: block; }
.lessons-section, .about-section, .faq-section { padding: clamp(24px, 4.5vw, 64px); }
.lesson-card { padding: clamp(22px, 3.5vw, 42px); }
.price-text { font-size: clamp(25px, 3vw, 36px); overflow-wrap: anywhere; }
.btn-record, .btn-support, .btn-header-support { text-align: center; line-height: 1.5; }
.club-primary, .club-secondary { font: inherit; font-size: 14px; font-weight: 700; line-height: 1.5; }
.club-panel { padding: clamp(24px, 4vw, 48px); }
.club-heading { overflow-wrap: anywhere; }
.club-price { overflow-wrap: anywhere; }
.gallery-slider, .video-slider { padding: 0 0 68px; overflow: visible; margin-top: 0; }
.gallery-viewport, .video-slider-container { overflow-x: auto; overflow-y: hidden; padding: 4px 2px 18px; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #ffd44b66 #ffffff0a; border-radius: 18px; }
.gallery-track, .video-track { display: flex; gap: 24px; padding: 0; transform: none !important; transition: none; scroll-snap-type: none; }
.gallery-item { flex: 0 0 calc((100% - 48px) / 3); min-width: 0; max-width: 100%; aspect-ratio: 4 / 3; background: #242329; padding: 0; display: block; scroll-snap-align: start; position: relative; }
.gallery-item img { display: block; object-fit: contain; }
.gallery-item:focus-visible { outline-offset: -5px; }
.slider-btn { top: auto; bottom: 0; transform: none; width: 46px; height: 46px; font-size: 27px; box-shadow: none; }
.slider-btn.prev { left: calc(50% - 55px); }
.slider-btn.next { right: calc(50% - 55px); }
.slider-btn:hover { transform: scale(1.05); }
.slider-btn:disabled { opacity: .35; cursor: default; }
.video-item { flex: 0 0 calc((100% - 24px) / 2); width: auto; height: auto; min-width: 0; max-width: 100%; border-radius: 18px; border-width: 1px; background: #19181d; backdrop-filter: none; box-shadow: 0 10px 24px #0003; overflow: hidden; }
.video-item:hover { transform: none; }
.video-frame { aspect-ratio: 4 / 3; position: relative; background: #100f14; }
.video-item video, .video-item iframe { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 0; border: 0; }
.video-caption { padding: 18px; display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; gap: 10px; line-height: 1.5; font-size: 14px; }
.video-caption a, .media-notice a { color: #ffd44b; text-underline-offset: 4px; }
.video-caption a { padding-block: 6px; }
.video-error { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; padding: 22px; background: #17151e; color: #e3dce7; font-size: 14px; line-height: 1.65; }
.youtube-play { width: 100%; height: 100%; min-height: 120px; background: radial-gradient(ellipse at center, #44283f, #19141e); color: #fff; border: 0; cursor: pointer; font-size: 16px; line-height: 1.7; }
.youtube-play span { display: block; color: #ffd44b; font-size: 40px; }
.media-notice { margin-bottom: 24px; line-height: 1.7; color: #d4ccd7; text-align: center; font-size: 14px; }
.image-fallback { width: 100%; height: 100%; min-height: 160px; padding: 24px; display: flex; align-items: center; justify-content: center; color: #d9cdda; background: #24212b; text-align: center; line-height: 1.6; }
.faq-header { width: 100%; padding: 0; border: 0; background: transparent; text-align: left; font-family: inherit; line-height: 1.55; cursor: pointer; gap: 15px; }
.faq-header:focus-visible { outline-offset: 8px; }
.faq-toggle { flex-shrink: 0; }
.faq-item { cursor: default; }
.faq-item.active .faq-answer { max-height: none; }
.modal-content { width: auto; max-width: min(90vw, 900px); }
.modal-img { display: block; width: auto; height: auto; max-width: 90vw; max-height: 78dvh; object-fit: contain; }
.modal-close { top: -52px; width: 44px; height: 44px; }
.modal-original { display: inline-block; color: #ffd44b; padding: 12px 0; font-size: 14px; text-underline-offset: 4px; }
body.modal-open { overflow: hidden; }
.back-to-top { position: fixed; right: max(20px, env(safe-area-inset-right)); bottom: max(20px, env(safe-area-inset-bottom)); z-index: 1100; display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 12px 17px; border: 1px solid #ffe59d; border-radius: 14px; background: #ffd44b; color: #241d0f; font-size: 14px; font-weight: 800; text-decoration: none; box-shadow: 0 6px 24px #0005; }
.back-to-top span:first-child { font-size: 21px; }
footer { padding-bottom: 95px; }
/* ФОН: координаты и интервалы рассчитываются в layoutBackground() в site.js. */
#meme-container { position: fixed; inset: 125px 12px 18px; z-index: 0; pointer-events: none; overflow: hidden; }
@keyframes backgroundDrift { 0%, 100% { transform: translateY(0) rotate(var(--rotation)); } 50% { transform: translateY(-8px) rotate(var(--rotation)); } }
.meme-float { position: absolute; display: block; max-width: none; max-height: none; object-fit: contain; opacity: var(--meme-alpha, .042); filter: grayscale(.7) saturate(.3) contrast(.75); border-radius: 10px; transform: rotate(var(--rotation)); animation: backgroundDrift 20s ease-in-out infinite; --rotation: 0deg; }
@media (max-width: 1200px) {
  .header-content { gap: 12px; }
  nav { gap: 12px; }
  .header-right { gap: 12px; }
  .logo { font-size: 21px; }
  .theme-switcher { gap: 3px; }
  .theme-btn { width: 29px; }
}
@media (max-width: 1100px) {
  .menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .header-content { flex-direction: row; align-items: center; padding-block: 10px; }
  .header-right { display: contents; }
  .site-nav { display: none; position: absolute; top: calc(100% + 1px); left: calc(-1 * clamp(18px, 4vw, 50px)); right: calc(-1 * clamp(18px, 4vw, 50px)); width: auto; padding: 18px clamp(18px, 4vw, 50px) 24px; background: #18171cf5; border-bottom: 1px solid #ffd44b40; backdrop-filter: blur(20px); grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; box-shadow: 0 18px 24px #0004; }
  .site-nav.is-open { display: grid; }
  .site-nav a { padding: 12px 9px; border-radius: 8px; background: #ffffff07; text-align: center; }
  .site-nav .theme-switcher { grid-column: 1 / -1; justify-content: center; padding-top: 8px; gap: 12px; }
  .theme-btn { width: 44px; height: 44px; }
  .btn-header-support { width: auto; max-width: none; margin: 0; padding: 10px 16px; }
  .hero { gap: 35px; }
  .hero-right { min-height: 340px; }
  .hero-image-container { max-width: 360px; }
  .hero h1 { font-size: clamp(34px, 4.7vw, 52px); }
}
@media (max-width: 768px) {
  body { background-attachment: scroll; }
  .site-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero, .about-section, .lessons-grid { grid-template-columns: minmax(0, 1fr); }
  .hero { padding: 44px 0 40px; gap: 34px; }
  .hero h1 { font-size: clamp(33px, 8.7vw, 57px); letter-spacing: -1.6px; }
  .hero-right { display: block; min-height: 0; width: min(100%, 360px); aspect-ratio: 1; margin-inline: auto; }
  .hero-image-container { position: relative; top: auto; left: auto; transform: none; width: 100%; max-width: none; }
  .hero-image { animation: none; }
  .orbiting-circles { display: none; }
  .hero-tags { margin-bottom: 25px; }
  .hero-tag { font-size: 12px; }
  .hero-combined p { font-size: 15px; }
  section { padding-block: 60px; }
  .about-section, .lessons-section, .faq-section { padding: 28px 22px; margin-bottom: 35px; }
  .about-image { max-width: 440px; margin-inline: auto; }
  .about-content h2 { font-size: 32px; }
  .lessons-grid { gap: 22px; }
  .lesson-card { padding: 24px 20px; }
  .btn-record { padding-inline: 24px; }
  .section-title { margin-bottom: 28px; }
  .club-heading { font-size: 34px; letter-spacing: -1px; }
  .club-grid { grid-template-columns: 1fr; }
  .gallery-item { flex-basis: calc((100% - 24px) / 2); }
  .video-item { flex-basis: 88%; }
  .faq-item { padding: 20px 16px; }
  .faq-header { font-size: 15px; }
  .back-to-top { right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); }
  #meme-container { inset: 115px 10px 20px; }
  .meme-float { animation: none; }
}
@media (max-width: 480px) {
  .logo { font-size: 20px; letter-spacing: -.8px; }
  .header-content { gap: 9px; }
  .btn-header-support { padding: 10px 12px; font-size: 10px; }
  .hero-tags { gap: 8px; }
  .hero-tag { padding: 8px 10px; }
  .hero-combined { padding: 22px 20px; }
  .hero-combined .btn-support { width: 100%; padding: 13px 12px; font-size: 12px; }
  .gallery-item { flex-basis: 87%; }
  .gallery-track, .video-track { gap: 16px; }
  .video-item { flex-basis: 100%; }
  .club-heading { font-size: 30px; }
  .club-price { font-size: 25px; }
  .club-lead { font-size: 15px; }
  .back-to-top { width: 48px; padding: 10px; justify-content: center; }
  .back-to-top span:last-child { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (max-width: 360px) {
  .btn-header-support { display: none; }
}

/* СВЕТЛАЯ ТЕМА: кремовый фон, сливочные карточки, тёмный текст и мягкий золотой акцент. */
body.light-theme { color-scheme: light; color: #302b35; background: linear-gradient(135deg, #faf6ee, #f4eef4 55%, #f8f1df); }
body.light-theme::before { background: radial-gradient(circle at 15% 35%, #e8c68816, transparent 55%); }
body.light-theme header { background: #fffdf8f5; border-color: #d9cfc1; box-shadow: 0 5px 22px #5944310c; }
body.light-theme .floating-banner { background: #f1e5c9; border-color: #d8c291; }
body.light-theme .banner-text { background: none; color: #6c4b1c; -webkit-text-fill-color: currentColor; }
body.light-theme .logo, body.light-theme .hero h1 { background-image: linear-gradient(135deg, #af416a, #754a72); }
body.light-theme nav a { color: #55495b; }
body.light-theme nav a:hover { color: #8a5a12; }
body.light-theme .menu-toggle, body.light-theme .theme-btn { color: #403444; background: #f5edde; border-color: #d7cbb8; }
body.light-theme .theme-btn.active { background: #f6cc65; border-color: #be933e; }
body.light-theme .site-nav { background-color: #fffdf8fa; border-color: #d9cfc1; }
body.light-theme .site-nav a { background: #f3ede533; }
body.light-theme .hero-tag, body.light-theme .method, body.light-theme .scroll-word { color: #755018; background: #f3e8cdcc; border-color: #dac594; }
body.light-theme .hero-tag::before { background: #a2762b; }
body.light-theme .hero-combined, body.light-theme .about-section, body.light-theme .lessons-section, body.light-theme .faq-section { background: #fffdf8dc; border-color: #ded4c6; box-shadow: 0 16px 44px #66503908; }
body.light-theme .lesson-card, body.light-theme .faq-item { background: #f8f4eddd; border-color: #ded4c6; }
body.light-theme .lesson-card:hover, body.light-theme .faq-item:hover { background: #fffaf1; border-color: #b89c68; }
body.light-theme .hero-combined p, body.light-theme .section-title, body.light-theme .about-content h2, body.light-theme .about-content p, body.light-theme .features li, body.light-theme .lesson-card h3, body.light-theme .lesson-list, body.light-theme .price-desc, body.light-theme .faq-answer { color: #38313e; }
body.light-theme .hero-combined p span { background: none !important; color: #963d62; -webkit-text-fill-color: currentColor !important; }
body.light-theme .price-text { background: none; color: #826019; -webkit-text-fill-color: currentColor; }
body.light-theme .features li, body.light-theme .price-section { border-color: #dfd4bf; }
body.light-theme .features li::before, body.light-theme .lesson-list li::before { color: #8a631d; }
body.light-theme .features li::before { background: #f1e5c9; }
body.light-theme .faq-header { color: #76511d; }
body.light-theme .club-panel { background: linear-gradient(130deg, #fffdf7f5, #f3eaf2f5); border-color: #d9c8b2; box-shadow: 0 18px 48px #5944310b; }
body.light-theme .club-kicker { color: #886322; }
body.light-theme .club-heading, body.light-theme .club-price { color: #3e3045; }
body.light-theme .club-lead, body.light-theme .club-small, body.light-theme .club-feature p, body.light-theme .media-notice { color: #625868; }
body.light-theme .club-price span { color: #625868 !important; }
body.light-theme .club-feature { background: #ffffffa8; border-color: #dfd4e0; }
body.light-theme .club-feature h3 { color: #5e3d60; }
body.light-theme .club-secondary { color: #5e3d60; border-color: #baa6be; background: #fffcf6; }
body.light-theme #club-status { color: #76511d; }
body.light-theme #website-payment { border-color: #d9c8b2; }
body.light-theme #checkout-form input[type=email], body.light-theme #checkout-form select { color: #38313e; background: #fffdf8; border-color: #bdae97; }
body.light-theme .club-small a, body.light-theme #checkout-form a, body.light-theme .video-caption a, body.light-theme .media-notice a { color: #825514; }
body.light-theme .gallery-item { background: #e9e1d7; border-color: #d5c7b3; box-shadow: 0 12px 28px #59443110; }
body.light-theme .video-item { background: #fffcf6; color: #38313e; border-color: #d5c7b3; box-shadow: 0 12px 28px #59443110; }
body.light-theme .scroll-container { background: #fffaf0b3; border-color: #dfd0b5; }
body.light-theme .hero-image, body.light-theme .about-image { border-color: #cdb57e; box-shadow: 0 18px 50px #a37c3f23; }
body.light-theme .hero-image-glow { opacity: .35; }
body.light-theme .btn-support, body.light-theme .btn-record, body.light-theme .btn-header-support { box-shadow: 0 5px 16px #c59c3a23; }
body.light-theme .back-to-top { box-shadow: 0 6px 20px #73522020; }
body.light-theme footer { background: #f5eddf; color: #655b6b; border-color: #ded1bd; }
body.light-theme .meme-float { opacity: calc(var(--meme-alpha, .042) * 1.1); filter: grayscale(.8) saturate(.2) contrast(.7); }
body.light-theme :is(button,a,input,select):focus-visible { outline-color: #92577a; }
