:root{--primary:#1e3a8a;--accent:#fbbf24;--danger:#ef4444;--success:#22c55e;--bg:#f8fafc}*{margin:0;padding:0;box-sizing:border-box;font-family:'Plus Jakarta Sans',sans-serif}body{background:var(--bg);color:#222;line-height:1.5}.container{max-width:480px;margin:auto;padding:40px 20px}.is-invalid{border-color:#dc3545}small.text-danger{color:#dc3545;font-size:12px;margin-top:4px;display:block;margin:0 5px}.hero{position:relative;background:url(../img/bg-hero.jpg) center/cover;color:#fff;text-align:center;padding:90px 20px 70px}.hero-overlay{position:absolute;inset:0;background:rgb(0 0 0 / .65)}.hero-content{position:relative;z-index:2}.badge{background:var(--accent);color:#000;padding:6px 14px;border-radius:999px;font-size:.7rem;font-weight:800}h1{font-size:2rem;margin:15px 0;font-weight:800}.btn-hero{display:inline-block;margin-top:20px;background:var(--accent);color:#000;padding:14px 22px;border-radius:12px;font-weight:800;text-decoration:none}.agitation{background:#fff;text-align:center}.agitation img.siswa{width:100%;margin-top:25px;border-radius:0 20px}.pain-list{list-style:none;padding:0;margin:0;display:grid;gap:14px}.pain-list li{position:relative;padding:14px;padding-left:40px;font-size:.95rem;line-height:1.6;color:#334155;text-align:left;background:#fee2e2;border-radius:12px;border:1px dashed var(--danger)}.pain-list li::before{content:"";position:absolute;left:7px;top:11px;width:32px;height:32px;background:#fee2e2;color:#dc2626;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;background-image:url(../img/sad.png);background-size:60%;background-repeat:no-repeat;background-position:center;border-radius:50%;display:flex;align-items:center;justify-content:center}.solution img{width:100%;margin-bottom:10px}.solution h2{margin-bottom:20px}.solution-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.solution-item{background:#eef2ff;padding:20px 10px;border-radius:12px;text-align:center;font-weight:700;font-size:.85rem}.promo-box{border:2px dashed #facc15;border-radius:16px;padding:24px 20px;text-align:center;background:#fff}.promo-badge{display:inline-block;background:#f59e0b;color:#3b1d00;font-weight:800;font-size:.7rem;padding:6px 14px;border-radius:999px;margin-bottom:12px;letter-spacing:.5px}.promo-title{font-size:1.15rem;margin-bottom:10px;line-height:1.45;font-weight:700}.promo-title span{color:#ef4444;font-weight:900}.promo-desc{font-size:.9rem;color:#444}.promo-note{margin-top:8px;font-size:.75rem;color:#b91c1c;font-weight:700}.promo-timer{margin-top:12px;display:inline-flex;align-items:center;gap:8px;background:#fee2e2;color:#991b1b;padding:6px 14px;border-radius:999px;font-size:.75rem;font-weight:700}.promo-timer #promo-timer{font-variant-numeric:tabular-nums;letter-spacing:.5px}.promo-micro-bridge{display:block;margin-top:16px;font-size:.75rem;color:#64748b;font-style:italic;opacity:.9}.promo-box{animation:fadeUp .6s ease both}@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.section-title{text-align:center;font-weight:800;margin-bottom:20px}.prog-content h3{color:var(--primary)}.prog-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 6px 20px rgb(0 0 0 / .08);margin-bottom:25px}.prog-img{width:100%;height:170px;object-fit:cover}.prog-content{padding:20px}.prog-desc{font-size:.9rem;margin-bottom:10px}.start-date-note{font-size:.9rem;margin-bottom:10px}.benefit-list{list-style:none;font-size:.85rem;margin-bottom:10px}.benefit-list li::before{content:'✅ ';color:var(--success);font-weight:700;margin-right:5px}.benefit-list-detail{padding:0 20px;list-style:none}.benefit-list-detail li::before{content:'🔥 ';color:var(--success);font-weight:700;margin-right:5px}.price-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:17px 0 7px}.price-item{border:1px solid #e5e7eb;border-radius:14px;padding:12px 10px 10px 10px;text-align:center;background:#f9fafb;position:relative}.price-item .price-normal{display:block;font-size:.75rem;font-weight:700;color:var(--danger);margin-top:4px;text-decoration:line-through}.price-item .price{font-size:1rem;font-weight:900;color:#111827}.price-item.active{border-color:#c7d2fe;background:#f8fafc;box-shadow:0 4px 14px rgb(30 58 138 / .08)}.price-item.active .price{color:var(--primary)}.badge-best{position:absolute;top:-11px;right:8px;background:var(--accent);color:#3b1d00;font-size:.6rem;font-weight:800;padding:4px 8px;border-radius:999px}.price-single{margin-bottom:5px;font-weight:800;font-size:1.2rem;display:flex;gap:10px;align-items:center}.price-old{color:var(--danger);font-size:.9rem;text-decoration:line-through}.price-now{color:var(--primary);font-size:1.3rem}.highlight{border:3px solid var(--accent);position:relative;transform:scale(1.02)}.best-badge{position:absolute;top:12px;right:12px;background:var(--accent);padding:6px 10px;font-size:.7rem;font-weight:800;border-radius:6px}.installment{margin-top:10px;font-size:.85rem;font-weight:800;color:var(--success)}.btn-join{display:block;width:fit-content;margin:12px auto 0;background:var(--primary);color:#fff;padding:12px 18px;border-radius:12px;font-weight:800;text-decoration:none;font-size:.85rem}.google-header{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:15px}.g-logo{width:120px}.stars{color:var(--accent);font-weight:800}.rating-num{color:#666;font-size:.9rem;margin-left:5px}.review-scroll{display:flex;gap:15px;overflow-x:auto;padding-bottom:15px;scrollbar-width:none;margin-bottom:25px}.review-scroll::-webkit-scrollbar{display:none}.review-card{min-width:280px;background:#fff;padding:20px;border-radius:15px;border:1px solid #eee;box-shadow:0 4px 10px rgb(0 0 0 / .03)}.user-info{display:flex;align-items:center;gap:10px;margin-bottom:10px}.user-info img{width:40px;height:40px;border-radius:50%}.stars-small{color:#fbbf24;font-size:.8rem;margin-bottom:8px}.google-reviews img.siswa{width:100%;border-radius:0 20px}.registration{background:linear-gradient(rgb(0 0 0 / .7),rgb(0 0 0 / .7)),url(../img/bg-form.jpg);background-size:cover}.registration h2{text-align:center}.form-box{background:#fff;padding:28px 20px;border-radius:20px}.scarcity{color:var(--danger);font-weight:800;text-align:center;margin-bottom:20px;font-size:.9rem;border:1px dashed var(--danger);padding:10px;border-radius:10px}form .form-group{margin-bottom:12px}form input,form select{width:100%;padding:14px;border-radius:10px;border:1px solid #ddd;margin-bottom:0}.btn-submit{width:100%;padding:16px;background:var(--success);border:none;color:#fff;font-weight:800;border-radius:12px;font-size:1.05rem}.form-note,.guarantee{text-align:center;font-size:.7rem;margin-top:10px;color:#666}#submit-loader{display:none;position:fixed;inset:0;background:rgb(15 23 42 / .7);z-index:9998;justify-content:center;align-items:center}#submit-loader.active{display:flex}.submit-loader-content{background:#fff;padding:25px 30px;border-radius:16px;text-align:center;box-shadow:0 10px 30px rgb(0 0 0 / .25)}.submit-spinner{width:45px;height:45px;border:4px solid #e5e7eb;border-top:4px solid var(--primary);border-radius:50%;margin:0 auto 12px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}#submit-loader p{font-size:.9rem;font-weight:700;color:#334155}@supports (-webkit-touch-callout:none){form input,form select{-webkit-appearance:none;appearance:none;width:100%;min-height:48px;padding:14px 16px;border-radius:10px;border:1px solid #ddd;background-color:#fff;font-size:16px;line-height:1.3}form select{padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg fill='none' stroke='%239ca3af' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px}form select:focus,form input:focus{outline:none;border-color:#1e3a8a}}.sticky-cta{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:12px;box-shadow:0 -6px 20px rgb(0 0 0 / .15);z-index:1000}.btn-primary{display:block;text-align:center;background:var(--danger);color:#fff;padding:15px;border-radius:12px;font-weight:800;text-decoration:none}.pulse{animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.04)}100%{transform:scale(1)}}footer{text-align:center;padding:40px 0 120px;padding-top:0;font-size:.75rem;color:#94a3b8}.faq h2{text-align:center;margin-bottom:20px;font-weight:800}.faq-item{background:#fff;border-radius:14px;margin-bottom:12px;overflow:hidden;box-shadow:0 4px 12px rgb(0 0 0 / .05)}.faq-question{width:100%;background:none;border:none;padding:16px 18px;font-weight:800;font-size:.9rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-align:left;color:#333;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:#fff0}.faq-question .icon{font-size:1.2rem;font-weight:900;transition:0.3s}.faq-answer{max-height:0;overflow:hidden;padding:0 18px;font-size:.85rem;color:#555;transition:max-height 0.35s ease}.faq-item.active .faq-answer{max-height:200px;padding-bottom:16px}.faq-item.active .icon{transform:rotate(45deg)}.faq-question{-webkit-tap-highlight-color:#fff0;outline:none}.faq-question:focus{outline:none}#btn-konfirmasi{display:inline-block;background:#25d366;color:#fff;font-weight:700;font-size:.85rem;padding:5px 12px;border-radius:8px;text-decoration:none;transition:all 0.2s ease;box-shadow:0 3px 8px rgb(0 0 0 / .12)}#btn-konfirmasi:hover{background:#20b858;transform:translateY(-1px);box-shadow:0 4px 12px rgb(0 0 0 / .15)}#btn-konfirmasi:active{transform:translateY(0);box-shadow:0 2px 6px rgb(0 0 0 / .12)}#btn-konfirmasi::before{content:'📲';margin-right:6px;display:inline-block}.seo-hidden{position:absolute;left:-9999px;height:1px;overflow:hidden}.popup-overlay{display:none;position:fixed;inset:0;background:rgb(0 0 0 / .6);z-index:9999;justify-content:center;align-items:center;padding:20px;opacity:0;visibility:hidden;transition:opacity 0.3s ease}.popup-overlay.active{display:flex;opacity:1;visibility:visible}.popup-content{background:#fff;padding:30px 20px;border-radius:15px;max-width:400px;width:100%;text-align:center;position:relative;animation:popupShow 0.3s ease-out;box-shadow:0 8px 20px rgb(0 0 0 / .25)}.popup-close{position:absolute;top:10px;right:15px;font-size:1.5rem;font-weight:700;cursor:pointer}.popup-content .btn-ok{margin-top:20px;background:var(--success);color:#fff;border:none;padding:12px 20px;border-radius:10px;font-weight:700;cursor:pointer}.popup-price{margin:20px 0;font-weight:600}.popup-price .price-old{text-decoration:line-through;color:#888;margin-right:10px}.popup-price .price-now{color:var(--danger);font-weight:800;font-size:1.3rem}@keyframes popupShow{0%{transform:scale(.8);opacity:0}100%{transform:scale(1);opacity:1}}.consultation{background:linear-gradient(135deg,#ecfeff,#f0f9ff);text-align:center;margin-bottom:20px}.consultation h2{font-size:1.4rem;font-weight:800;margin-bottom:12px;color:#0f172a}.consultation p{font-size:1rem;color:#475569;line-height:1.6;margin-bottom:24px}.consultation .btn-consultation{display:block;width:fit-content;margin:12px auto 0;background:var(--success);color:#fff;padding:12px 18px;border-radius:12px;font-weight:800;text-decoration:none;font-size:.85rem}.consultation .note{display:block;margin-top:14px;font-size:.85rem;color:#64748b}.consultation img{width:13px;top:2px;position:relative}.payment-box{margin:20px 0;padding:15px;border:2px dashed var(--accent);border-radius:12px;background:#fffbe6}.payment-title{font-weight:800;margin-bottom:10px;font-size:.9rem}.bank-item{display:flex;justify-content:space-between;align-items:center;gap:10px}.bank-info{text-align:left;font-size:.85rem}.bank-info span{display:block;font-size:1rem;font-weight:800;letter-spacing:1px;margin:4px 0}.bank-info small{color:#555}.btn-copy{background:var(--primary);color:#fff;border:none;padding:8px 12px;font-size:.75rem;font-weight:800;border-radius:8px;cursor:pointer;white-space:nowrap}.btn-copy.copied{background:var(--success)}.payment-amount{margin:15px 0 20px;padding:15px;background:#ecfeff;border-radius:12px;text-align:center}.amount-label{font-size:.85rem;font-weight:700;color:#065f46}.amount-value{font-size:1.6rem;font-weight:900;color:var(--success);margin:0}.amount-note{font-size:.7rem;color:#555}.slot-timer{margin:12px 0;padding-top:10px;text-align:center;border-top:1px dashed #fecaca;border-bottom:1px dashed #fecaca}.timer-label{font-size:.85rem;font-weight:700;color:#7f1d1d}.timer-value{font-size:1.5rem;font-weight:900;color:var(--danger);letter-spacing:1px;margin:6px 0}.timer-note{font-size:.7rem;color:#555}.btn-wa{display:block;margin-top:15px;background:#25d366;color:#fff;text-align:center;padding:12px;border-radius:12px;font-weight:800;text-decoration:none;font-size:.95rem}#page-loader{position:fixed;inset:0;background:#0f172a;z-index:99999;display:flex;justify-content:center;align-items:center;transition:opacity 0.4s,visibility 0.4s}#page-loader.hide{opacity:0;visibility:hidden}.loader-content{text-align:center;color:#fff;font-weight:700;font-size:.9rem}.spinner{width:50px;height:50px;border:4px solid rgb(255 255 255 / .2);border-top:4px solid #fbbf24;border-radius:50%;margin:0 auto 15px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:1024px){.container{max-width:700px;padding:60px 24px}h1{font-size:3rem}h2{font-size:2.1rem}p{font-size:1rem}.hero{padding:140px 20px 120px;text-align:left}.hero-content{max-width:720px}.hero-content p{font-size:1.1rem;margin-top:10px}.btn-hero{font-size:1rem;padding:16px 30px}.agitation .container{width:800px}.agitation img.siswa{margin-bottom:30px}.programs .container{max-width:1200px}.programs .container>.prog-card{margin-bottom:0}.programs .container{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.section-title{grid-column:1 / -1;margin-bottom:40px}.prog-card{transition:0.3s ease}.prog-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgb(0 0 0 / .12)}.price{font-size:1.3rem}.registration{padding:80px 0}.form-box{max-width:520px;margin:auto;padding:40px}.form-box h2{font-size:2rem}form input,form select{padding:16px;font-size:.95rem}.btn-submit{font-size:1.1rem;padding:18px}.faq .container{max-width:800px}.faq-question{font-size:1rem}.faq-answer{font-size:.95rem}.sticky-cta{display:none}footer{padding:60px 0 40px;font-size:.85rem}}