:root {
    --green-50: #f0f7f1; --green-100: #dcefe0; --green-200: #b9dfc0;
    --green-300: #86c792; --green-400: #5aab6a; --green-500: #397F43;
    --green-600: #2e6636; --green-700: #234d29; --green-800: #1a3a1f;
    --green-900: #112615; --green-950: #081a0b;
    --white: #ffffff; --off-white: #f8faf9;
    --gray-50: #f9fafb; --gray-100: #f3f4f6; --gray-200: #e5e7eb;
    --gray-300: #d1d5db; --gray-400: #9ca3af; --gray-500: #6b7280;
    --gray-600: #4b5563; --gray-700: #374151; --gray-800: #1f2937;
    --gray-900: #111827;
    --red-500: #ef4444; --red-600: #dc2626;
    --orange-500: #f97316;
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06);
    --shadow-md: 0 4px 6px rgba(0,0,0,0.07), 0 2px 4px rgba(0,0,0,0.06);
    --shadow-lg: 0 10px 15px rgba(0,0,0,0.1), 0 4px 6px rgba(0,0,0,0.05);
    --shadow-xl: 0 20px 25px rgba(0,0,0,0.1), 0 10px 10px rgba(0,0,0,0.04);
    --shadow-green: 0 4px 14px rgba(57,127,67,0.25);
    --radius-sm: 6px; --radius: 10px; --radius-lg: 14px; --radius-xl: 20px;
    --radius-full: 9999px;
    --transition: all 0.2s ease;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{
    font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
    background:var(--off-white);color:var(--gray-800);
    line-height:1.6;-webkit-font-smoothing:antialiased;
    overflow-x:hidden;
}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
.container-sm{max-width:800px;margin:0 auto;padding:0 20px}
.container-xs{max-width:600px;margin:0 auto;padding:0 20px}

/* Navbar */
.navbar{
    position:fixed;top:0;left:0;right:0;z-index:1000;
    background:rgba(255,255,255,0.97);backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(57,127,67,0.1);padding:0;
    transition:var(--transition)
}
.navbar.scrolled{box-shadow:var(--shadow-md)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--gray-900)}
.logo img{height:50px;width:auto}
.nav-links{display:flex;align-items:center;gap:24px;list-style:none}
.nav-links a{
    text-decoration:none;color:var(--gray-600);font-weight:500;font-size:.9rem;
    transition:var(--transition);position:relative;padding:4px 0;
}
.nav-links a::after{
    content:'';position:absolute;bottom:0;left:0;width:0;height:2px;
    background:var(--green-500);transition:width 0.3s;
}
.nav-links a:hover{color:var(--green-600)}
.nav-links a:hover::after{width:100%}

.btn{
    display:inline-flex;align-items:center;gap:8px;padding:10px 20px;
    border-radius:var(--radius-full);font-weight:600;font-size:.9rem;
    text-decoration:none;cursor:pointer;border:none;transition:var(--transition);
    white-space:nowrap;line-height:1.4;
}
.btn-primary{background:var(--green-500);color:#fff}
.btn-primary:hover{background:var(--green-600);transform:translateY(-1px);box-shadow:var(--shadow-green)}
.btn-outline{background:transparent;border:2px solid var(--green-500);color:var(--green-600)}
.btn-outline:hover{background:var(--green-500);color:#fff}
.btn-white{background:#fff;color:var(--green-700);box-shadow:var(--shadow-sm)}
.btn-white:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}
.btn-lg{padding:14px 28px;font-size:1rem}
.btn-sm{padding:8px 16px;font-size:.8rem}
.btn-nav{background:var(--green-500);color:#fff !important;padding:10px 20px;font-size:.85rem}
.btn-nav::after{display:none !important}
.btn-nav:hover{background:var(--green-600);transform:translateY(-1px);box-shadow:var(--shadow-green)}

/* Mobile Toggle */
.mobile-toggle{
    display:none;flex-direction:column;gap:5px;background:none;border:none;
    cursor:pointer;padding:8px;z-index:1001;
}
.mobile-toggle span{
    display:block;width:26px;height:2.5px;background:var(--gray-700);
    border-radius:2px;transition:var(--transition);
}
.mobile-toggle.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.mobile-toggle.open span:nth-child(2){opacity:0}
.mobile-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* Hero */
.hero{padding:120px 0 80px;position:relative;overflow:hidden}
.hero::before{
    content:'';position:absolute;top:-300px;right:-300px;width:700px;height:700px;
    border-radius:50%;background:radial-gradient(circle,rgba(57,127,67,0.06) 0%,transparent 70%)
}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;position:relative;z-index:1}
.hero-text h1{font-size:clamp(2.2rem,5vw,3.2rem);font-weight:900;line-height:1.15;color:var(--gray-900);margin-bottom:18px;letter-spacing:-1px}
.hero-text h1 .hl{color:var(--green-500)}
.hero-text p{font-size:1.1rem;color:var(--gray-500);margin-bottom:28px;max-width:480px;line-height:1.7}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px}
.hero-visual{display:flex;justify-content:center}

/* Badge */
.badge{display:inline-flex;align-items:center;gap:6px;background:var(--green-100);color:var(--green-700);padding:5px 12px;border-radius:var(--radius-full);font-size:.78rem;font-weight:600;margin-bottom:14px}
.badge-dot{width:7px;height:7px;background:var(--green-500);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* Sections */
.section{padding:80px 0}
.section-dark{background:var(--gray-900);color:#fff}
.section-header{text-align:center;margin-bottom:50px}
.section-header h2{font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:800;color:var(--gray-900);margin-bottom:10px;letter-spacing:-.5px}
.section-dark .section-header h2{color:#fff}
.section-header p{color:var(--gray-500);font-size:1.05rem}
.section-dark .section-header p{color:var(--gray-400)}

/* Cards */
.card{background:var(--white);border-radius:var(--radius-lg);padding:28px;border:1px solid var(--gray-100);transition:var(--transition)}
.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}

/* Gateway Card */
.gateway-container{max-width:550px;margin:0 auto}
.gateway-card{background:var(--white);border-radius:var(--radius-xl);padding:32px;border:1px solid var(--gray-100);box-shadow:var(--shadow-lg)}
.gateway-header{text-align:center;margin-bottom:24px}
.gateway-header h2{font-weight:800;font-size:1.5rem}
.gateway-amount{font-size:2.5rem;font-weight:900;color:var(--green-600);text-align:center;margin:16px 0}
.gateway-amount .original{font-size:1rem;color:var(--gray-400);text-decoration:line-through;margin-right:8px}

.crypto-options{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}
.crypto-opt{text-align:center;padding:14px 8px;border:2px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;transition:var(--transition)}
.crypto-opt:hover{border-color:var(--green-300)}
.crypto-opt.active{border-color:var(--green-500);background:var(--green-50)}
.crypto-opt i{font-size:1.6rem;margin-bottom:6px;display:block}
.crypto-opt .name{font-size:.75rem;font-weight:600;color:var(--gray-600)}

.address-box{background:var(--gray-50);border-radius:var(--radius);padding:20px;text-align:center;margin:16px 0;border:1px dashed var(--green-300)}
.address-box .addr{font-family:'SF Mono','Courier New',monospace;font-size:.8rem;color:var(--gray-700);word-break:break-all;background:var(--white);padding:10px;border-radius:var(--radius-sm);margin:8px 0}

.status-bar{text-align:center;padding:16px;border-radius:var(--radius);margin:16px 0;font-weight:600;font-size:.9rem}
.status-pending{background:#fef3c7;color:#92400e}
.status-detecting{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}
.status-processing{background:#e0e7ff;color:#3730a3}
.status-confirmed{background:var(--green-100);color:var(--green-700)}
.status-failed{background:#fee2e2;color:#991b1b}

/* Coupon */
.coupon-box{display:flex;gap:8px;margin:12px 0}
.coupon-box input{flex:1;padding:10px 14px;border:2px solid var(--gray-200);border-radius:var(--radius);font-family:inherit;font-size:.9rem}
.coupon-box input:focus{outline:none;border-color:var(--green-500)}
.coupon-discount{background:var(--green-50);color:var(--green-700);padding:8px 14px;border-radius:var(--radius);font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:6px}

/* Form */
.form-group{margin-bottom:16px}
.form-group label{display:block;font-weight:600;font-size:.85rem;color:var(--gray-700);margin-bottom:5px}
.form-group input,.form-group select{
    width:100%;padding:12px 14px;border:2px solid var(--gray-200);
    border-radius:var(--radius);font-size:.95rem;font-family:inherit;transition:var(--transition)
}
.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--green-500);box-shadow:0 0 0 3px rgba(57,127,67,0.08)}

/* License Display */
.license-display{background:var(--green-50);border:2px solid var(--green-400);border-radius:var(--radius-lg);padding:24px;text-align:center;margin:20px 0}
.license-display .key{font-family:'SF Mono','Courier New',monospace;font-size:1.2rem;font-weight:700;color:var(--green-700);letter-spacing:1px}

/* Video Library */
.video-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.video-filter{padding:8px 16px;border:2px solid var(--gray-200);border-radius:var(--radius-full);font-size:.85rem;font-weight:500;cursor:pointer;transition:var(--transition);background:var(--white);color:var(--gray-600)}
.video-filter:hover{border-color:var(--green-300)}
.video-filter.active{background:var(--green-500);color:#fff;border-color:var(--green-500)}
.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.video-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--gray-100);transition:var(--transition);cursor:pointer}
.video-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.video-thumb{position:relative;aspect-ratio:16/9;background:var(--gray-900);display:flex;align-items:center;justify-content:center;overflow:hidden}
.video-thumb video{width:100%;height:100%;object-fit:cover}
.video-play-btn{position:absolute;width:56px;height:56px;border-radius:50%;background:rgba(57,127,67,0.9);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem;transition:var(--transition)}
.video-card:hover .video-play-btn{transform:scale(1.1)}
.video-info{padding:16px}
.video-info h4{font-weight:600;font-size:.95rem;margin-bottom:4px}
.video-info .meta{font-size:.8rem;color:var(--gray-500)}

/* Modal */
.modal{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,0.85);display:none;align-items:center;justify-content:center;padding:20px}
.modal.show{display:flex}
.modal-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,0.2);color:#fff;border:none;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:var(--transition)}
.modal-close:hover{background:rgba(255,255,255,0.3)}
.modal-content{width:100%;max-width:800px;border-radius:var(--radius-lg);overflow:hidden}
.modal-content video{width:100%;display:block;border-radius:var(--radius-lg)}

/* Toast */
.toast{
    position:fixed;top:20px;right:20px;z-index:9999;
    background:var(--white);border-radius:var(--radius);padding:14px 18px;
    box-shadow:var(--shadow-xl);display:flex;align-items:center;gap:10px;
    transform:translateX(120%);transition:transform .3s;min-width:280px;max-width:400px
}
.toast.show{transform:translateX(0)}
.toast-success{border-left:4px solid var(--green-500)}
.toast-error{border-left:4px solid var(--red-500)}

/* Footer */
.footer{background:var(--green-800);color:rgba(255,255,255,0.85);padding:50px 0 24px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px;margin-bottom:32px}
.footer-col h4{color:#fff;margin-bottom:14px;font-size:.95rem;opacity:1}
.footer-col a{color:rgba(255,255,255,0.75);text-decoration:none;font-size:.85rem;display:block;margin-bottom:8px;transition:var(--transition)}
.footer-col a:hover{color:#fff}
.footer-col p{font-size:.85rem;color:rgba(255,255,255,0.7);line-height:1.7}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.15);padding-top:20px;text-align:center;font-size:.8rem;color:rgba(255,255,255,0.6)}
.social-links{display:flex;gap:12px;margin-top:14px}
.social-links a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.15);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.7);text-decoration:none;transition:var(--transition)}
.social-links a:hover{background:#fff;color:var(--green-700)}

/* Card input */
.card-input-wrapper{position:relative}
.card-input-wrapper input{padding-right:60px}
.card-type-indicator{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:1.4rem;opacity:.4;transition:var(--transition)}
.card-type-indicator.detected{opacity:1}

/* Confirmation progress */
.confirmation-progress{width:100%;height:6px;background:var(--gray-200);border-radius:3px;margin-top:8px;overflow:hidden}
.confirmation-progress .bar{height:100%;background:linear-gradient(90deg,var(--green-500),var(--green-600));border-radius:3px;transition:width 0.5s ease}
.timer-box{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fef3c7;border-radius:var(--radius);margin-top:12px;font-size:.85rem;font-weight:600;color:#92400e}
.timer-box i{animation:spin 2s linear infinite}
@keyframes spin{100%{transform:rotate(360deg)}}
.btn-cancel{background:transparent;border:1px solid #ef4444;color:#ef4444;padding:8px 16px;border-radius:var(--radius-full);font-size:.8rem;cursor:pointer;transition:var(--transition)}
.btn-cancel:hover{background:#fef2f2}

/* Payment methods */
.payment-methods{display:flex;flex-direction:column;gap:12px}
.payment-method-card{display:flex;align-items:center;gap:16px;padding:18px;border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);background:var(--white)}
.payment-method-card:hover{border-color:var(--green-400);background:var(--green-50)}
.pm-icon{font-size:2rem;min-width:50px;text-align:center}
.pm-info{flex:1}
.pm-title{font-weight:700;font-size:1rem;color:var(--gray-800)}
.pm-desc{font-size:.8rem;color:var(--gray-500)}

/* Plan cards */
.plan-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}
.plan-card{padding:16px 12px;border:2px solid var(--gray-200);border-radius:var(--radius);text-align:center;cursor:pointer;transition:var(--transition);background:var(--white)}
.plan-card:hover{border-color:var(--green-300)}
.plan-card.active{border-color:var(--green-500);background:var(--green-50)}
.plan-card input{display:none}
.plan-name{font-weight:700;font-size:.95rem;margin-bottom:4px;color:var(--gray-800)}
.plan-price{font-size:1.6rem;font-weight:900;color:var(--green-600)}
.plan-savings{font-size:.7rem;color:var(--green-600);font-weight:600;background:var(--green-100);display:inline-block;padding:2px 10px;border-radius:var(--radius-full);margin-top:4px}

/* Step indicator */
.step-indicator{display:flex;justify-content:center;gap:8px;margin-bottom:28px;flex-wrap:wrap}
.step-dot{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:500;color:var(--gray-400)}
.step-dot .num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;background:var(--gray-200);color:var(--gray-500)}
.step-dot.active .num{background:var(--green-500);color:#fff}
.step-dot.done .num{background:var(--green-200);color:var(--green-700)}
.step-line{width:30px;height:2px;background:var(--gray-200);margin-top:13px}
.pro-badge{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:6px 16px;border-radius:var(--radius-full);font-size:.8rem;font-weight:700;display:inline-block;margin-bottom:8px}

/* Responsive */
@media (max-width: 968px) {
    .hero-grid{grid-template-columns:1fr;text-align:center}
    .hero-text p{margin:0 auto 24px}
    .hero-btns{justify-content:center}
    .hero-visual{display:none}
}

@media (max-width: 768px) {
    .mobile-toggle{display:flex}
    .nav-links{
        position:fixed;top:0;right:-100%;width:280px;height:100vh;
        background:var(--white);flex-direction:column;padding:90px 24px 30px;
        gap:8px;box-shadow:var(--shadow-xl);transition:right 0.35s cubic-bezier(0.4,0,0.2,1);
        z-index:999;overflow-y:auto;
    }
    .nav-links.open{right:0}
    .nav-links a{
        font-size:1rem;padding:12px 16px;display:block;width:100%;
        border-radius:var(--radius);font-weight:500;
    }
    .nav-links a:hover{background:var(--green-50)}
    .nav-links a::after{display:none}
    .nav-links .btn-nav{text-align:center;margin-top:8px}
    
    .crypto-options{grid-template-columns:repeat(2,1fr)}
    .plan-grid{grid-template-columns:1fr 1fr}
    .section{padding:60px 0}
    .hero{padding:100px 0 50px}
}

/* Overlay when mobile menu open */
.mobile-overlay{
    position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:998;
    opacity:0;visibility:hidden;transition:all 0.3s;
}
.mobile-overlay.show{opacity:1;visibility:visible}



@media (max-width: 968px) {
    .hero-bg-icon {
        width: 200px;
        height: 200px;
        right: -50px;
        top: 30%;
        opacity: 0.06;
    }
}

@media (max-width: 480px) {
    .hero-bg-icon {
        width: 150px;
        height: 150px;
        right: -40px;
        top: 20%;
        opacity: 0.05;
    }
}

/* Spinning icon behind hero text */
.hero-spin-icon {
    position: absolute;
    top: 50%;
    left: 25%;
    transform: translate(-50%, -50%);
    width: 500px;
    height: 500px;
    z-index: 0;
    pointer-events: none;
    animation: rotateBall 15s linear infinite;
}
.hero-spin-icon img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    opacity: 0.06;
}
@keyframes rotateBall {
    0% { transform: translate(-50%, -50%) rotate(0deg) scale(1); }
    25% { transform: translate(-50%, -50%) rotate(90deg) scale(1.05); }
    50% { transform: translate(-50%, -50%) rotate(180deg) scale(1); }
    75% { transform: translate(-50%, -50%) rotate(270deg) scale(1.05); }
    100% { transform: translate(-50%, -50%) rotate(360deg) scale(1); }
}

@media (max-width: 968px) {
    .hero-spin-icon {
        width: 300px;
        height: 300px;
        left: 50%;
        top: 40%;
    }
    .hero-spin-icon img {
        opacity: 0.05;
    }
}

@media (max-width: 480px) {
    .hero-spin-icon {
        width: 250px;
        height: 250px;
        left: 50%;
        top: 35%;
    }
    .hero-spin-icon img {
        opacity: 0.04;
    }
}

/* Spinning icon overlay behind hero text */
.hero-spin-icon {
    position: absolute;
    top: 50%;
    left: 30%;
    transform: translate(-50%, -50%);
    width: 450px;
    height: 450px;
    z-index: 0;
    pointer-events: none;
    animation: heroSpin 20s linear infinite;
}
.hero-spin-icon img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    opacity: 0.06;
    filter: grayscale(30%);
}
@keyframes heroSpin {
    0%   { transform: translate(-50%, -50%) rotate(0deg) scale(0.95); }
    25%  { transform: translate(-50%, -50%) rotate(90deg) scale(1.05); }
    50%  { transform: translate(-50%, -50%) rotate(180deg) scale(0.95); }
    75%  { transform: translate(-50%, -50%) rotate(270deg) scale(1.05); }
    100% { transform: translate(-50%, -50%) rotate(360deg) scale(0.95); }
}
@media (max-width: 968px) {
    .hero-spin-icon { width: 300px; height: 300px; left: 40%; top: 35%; }
    .hero-spin-icon img { opacity: 0.04; }
}
@media (max-width: 480px) {
    .hero-spin-icon { width: 220px; height: 220px; left: 50%; top: 30%; }
    .hero-spin-icon img { opacity: 0.03; }
}
