@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;600&display=swap');

:root {
    --accent: #AAFF00;
    --accent-dim: rgba(170,255,0,0.12);
    --accent-border: rgba(170,255,0,0.35);
    --accent-hover: #88CC00;
    --bg: #000;
    --bg-card: #0d0d0d;
    --bg-card2: #111;
    --border: rgba(255,255,255,0.08);
    --text: #fff;
    --text-muted: rgba(255,255,255,0.5);
    --header-h: 58px;
    --radius: 14px;
    --radius-lg: 20px;
    --tr: 0.3s cubic-bezier(0.4,0,0.2,1);
}
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--bg); color: var(--text); font-family: 'Montserrat', sans-serif; overflow-x: hidden; -webkit-font-smoothing: antialiased; }

/* PRELOADER */
.preloader { position: fixed; inset: 0; background: #000; z-index: 9999; display: flex; align-items: center; justify-content: center; transition: opacity .6s ease, visibility .6s ease; }
.preloader.hidden { opacity: 0; visibility: hidden; }
.preloader__inner { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.preloader__circle { animation: circle-draw 1s ease forwards .2s; }
.preloader__check  { animation: check-draw .4s ease forwards 1.1s; }
@keyframes circle-draw { to { stroke-dashoffset: 0; } }
@keyframes check-draw  { to { stroke-dashoffset: 0; } }
.preloader__text { font-size: 17px; font-weight: 700; letter-spacing: .15em; color: var(--text-muted); opacity: 0; animation: fadein .6s ease forwards .5s; }
@keyframes fadein { to { opacity: 1; } }

/* REVEAL */
.reveal-up, .reveal-left, .reveal-right { opacity: 0; transform: translateY(28px); transition: opacity .65s ease var(--delay,0s), transform .65s ease var(--delay,0s); }
.reveal-left  { transform: translateX(-36px); }
.reveal-right { transform: translateX(36px); }
.revealed { opacity: 1 !important; transform: none !important; }

/* UTILS */
.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.section-header { text-align: center; margin-bottom: 52px; }
.section-tag { display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--accent); background: var(--accent-dim); border: 1px solid var(--accent-border); border-radius: 100px; padding: 4px 13px; margin-bottom: 14px; }

/* ═══ HEADER ═══ */
.header {
    position: fixed; top: 0; left: 0; width: 100%; z-index: 500;
    height: var(--header-h);
    background: rgba(0,0,0,.85);
    backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--border);
}
.header__inner {
    height: 100%; max-width: 1400px; margin: 0 auto;
    display: flex; align-items: center; gap: 10px; padding: 0 20px;
}
.header__logo { flex-shrink: 0; display: flex; align-items: center; }
.logo-img { height: 30px; width: auto; display: block; }
.header__nav { flex: 1; display: flex; justify-content: center; overflow: hidden; }
.nav__list { list-style: none; display: flex; gap: 20px; align-items: center; flex-wrap: nowrap; }
.nav__link { color: var(--text-muted); text-decoration: none; font-size: 12.5px; font-weight: 500; white-space: nowrap; transition: color var(--tr); position: relative; }
.nav__link::after { content: ''; position: absolute; bottom: -3px; left: 0; right: 0; height: 1px; background: var(--accent); transform: scaleX(0); transition: transform var(--tr); transform-origin: left; }
.nav__link:hover { color: var(--text); }
.nav__link:hover::after { transform: scaleX(1); }
.header__btn { flex-shrink: 0; background: var(--accent); color: #000; padding: 7px 16px; border-radius: 7px; font-size: 12.5px; font-weight: 700; text-decoration: none; white-space: nowrap; transition: background var(--tr), box-shadow var(--tr), transform var(--tr); }
.header__btn:hover { background: var(--accent-hover); transform: translateY(-1px); box-shadow: 0 6px 18px rgba(170,255,0,.25); }
.hamburger { display: none; background: none; border: none; cursor: pointer; padding: 6px; flex-shrink: 0; flex-direction: column; gap: 5px; margin-left: 2px; }
.hamburger span { display: block; width: 22px; height: 2px; background: var(--text); border-radius: 2px; transition: all var(--tr); }
.hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

/* ═══ LEFT DRAWER ═══ */
.drawer-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.65); backdrop-filter: blur(6px); z-index: 600; opacity: 0; pointer-events: none; transition: opacity var(--tr); }
.drawer-overlay.open { opacity: 1; pointer-events: all; }
.drawer { position: fixed; top: 0; left: 0; bottom: 0; width: 270px; background: #0a0a0a; border-right: 1px solid var(--border); z-index: 700; transform: translateX(-100%); transition: transform var(--tr); display: flex; flex-direction: column; }
.drawer-overlay.open .drawer { transform: translateX(0); }
.drawer__header { display: flex; align-items: center; justify-content: space-between; padding: 0 18px; border-bottom: 1px solid var(--border); height: var(--header-h); flex-shrink: 0; }
.drawer__logo { height: 26px; }
.drawer__close { background: none; border: none; color: var(--text-muted); font-size: 22px; cursor: pointer; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 8px; transition: background var(--tr), color var(--tr); }
.drawer__close:hover { background: var(--border); color: var(--text); }
.drawer__nav { flex: 1; overflow-y: auto; padding: 14px 10px; }
.drawer__list { list-style: none; display: flex; flex-direction: column; gap: 2px; }
.drawer__link { display: block; color: var(--text-muted); text-decoration: none; font-size: 14.5px; font-weight: 500; padding: 10px 14px; border-radius: 10px; transition: color var(--tr), background var(--tr); }
.drawer__link:hover { color: var(--text); background: rgba(255,255,255,.05); }
.drawer__footer { padding: 14px 10px; border-top: 1px solid var(--border); flex-shrink: 0; }
.drawer__buy { display: block; text-align: center; background: var(--accent); color: #000; padding: 11px; border-radius: 10px; font-size: 14px; font-weight: 700; text-decoration: none; transition: background var(--tr); }
.drawer__buy:hover { background: var(--accent-hover); }

/* ═══ HERO ═══ */
.hero { position: relative; padding: 110px 0 60px; min-height: 100vh; display: flex; align-items: center; overflow: hidden; }
.hero__bg-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(170,255,0,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(170,255,0,.04) 1px, transparent 1px); background-size: 60px 60px; mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, black 40%, transparent 100%); }
.hero__inner { display: flex; align-items: center; gap: 56px; position: relative; z-index: 1; }
.hero__text { flex: 1; }
.hero__badge { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 600; color: var(--accent); background: var(--accent-dim); border: 1px solid var(--accent-border); border-radius: 100px; padding: 5px 13px; margin-bottom: 20px; }
.hero__badge-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); animation: pulse 2s ease-in-out infinite; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.6;transform:scale(.8)} }
.hero__title { font-size: clamp(32px,5vw,60px); font-weight: 800; line-height: 1.1; margin-bottom: 20px; }
.hero__title-highlight { color: var(--accent); }
.hero__subtitle { font-size: 15px; color: var(--text-muted); line-height: 1.7; max-width: 450px; margin-bottom: 34px; }
.hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 40px; }
.hero__btn-primary { display: inline-flex; align-items: center; gap: 8px; background: var(--accent); color: #000; padding: 13px 26px; border-radius: 10px; font-size: 14px; font-weight: 700; text-decoration: none; transition: background var(--tr), transform var(--tr), box-shadow var(--tr); }
.hero__btn-primary:hover { background: var(--accent-hover); transform: translateY(-2px); box-shadow: 0 10px 28px rgba(170,255,0,.3); }
.hero__btn-secondary { display: inline-flex; align-items: center; color: var(--text); padding: 13px 26px; border-radius: 10px; border: 1px solid var(--border); font-size: 14px; font-weight: 600; text-decoration: none; transition: border-color var(--tr), background var(--tr); }
.hero__btn-secondary:hover { border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.04); }
.hero__stats { display: flex; align-items: center; gap: 20px; }
.hero__stat { display: flex; flex-direction: column; }
.hero__stat-num { font-size: 26px; font-weight: 800; color: var(--accent); line-height: 1; }
.hero__stat-label { font-size: 10px; color: var(--text-muted); font-weight: 500; margin-top: 3px; text-transform: uppercase; letter-spacing: .08em; }
.hero__stat-divider { width: 1px; height: 32px; background: var(--border); }
.hero__image { flex: 1; position: relative; display: flex; align-items: center; justify-content: center; }
.hero__image-glow { position: absolute; width: 360px; height: 360px; background: radial-gradient(circle, rgba(170,255,0,.11) 0%, transparent 70%); border-radius: 50%; pointer-events: none; }
.phone-img { position: relative; z-index: 1; width: 100%; max-width: 520px; height: auto; border-radius: 14px; }

/* ═══ PRICING ═══ */
.pricing { padding: 90px 0; }
.pricing__title { font-size: clamp(24px,4vw,44px); font-weight: 800; }
.pricing__cards { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-bottom: 40px; }
.pricing__card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-lg); width: 280px; position: relative; overflow: hidden; transition: transform var(--tr), border-color var(--tr), box-shadow var(--tr); }
.pricing__card:hover { transform: translateY(-4px); border-color: rgba(255,255,255,.18); box-shadow: 0 16px 48px rgba(0,0,0,.4); }
.pricing__card--featured { border-color: var(--accent); box-shadow: 0 0 36px rgba(170,255,0,.1); }
.pricing__card--featured:hover { box-shadow: 0 16px 56px rgba(170,255,0,.2); }
.pricing__card-badge { position: absolute; top: 0; right: 20px; background: var(--accent); color: #000; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 4px 11px; border-radius: 0 0 10px 10px; }
.pricing__card-inner { padding: 26px 24px; }
.pricing__card-title { font-size: 18px; font-weight: 700; margin-bottom: 10px; }
.pricing__card-devices { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--text-muted); margin-bottom: 18px; }
.pricing__card-price { margin-bottom: 5px; }
.pricing__card-price-current { font-size: 32px; font-weight: 800; }
.pricing__card-period { font-size: 13px; color: var(--text-muted); font-weight: 500; margin-left: 4px; }
.pricing__card-price-old { display: inline-block; font-size: 13px; color: var(--text-muted); text-decoration: line-through; margin-left: 7px; }
.pricing__card-saving { font-size: 11px; color: var(--accent); font-weight: 600; margin-bottom: 20px; height: 16px; }
.pricing__card-btn { display: block; text-align: center; background: var(--accent); color: #000; padding: 10px; border-radius: 10px; font-size: 13px; font-weight: 700; text-decoration: none; transition: background var(--tr), transform var(--tr); }
.pricing__card-btn:hover { background: var(--accent-hover); transform: translateY(-1px); }
.pricing__features { display: flex; gap: 16px; flex-wrap: wrap; }
.pricing__feature { flex: 1; min-width: 250px; display: flex; align-items: center; gap: 16px; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 20px 24px; transition: border-color var(--tr); }
.pricing__feature:hover { border-color: var(--accent-border); }
.pricing__feature-img { width: 42px; height: 42px; object-fit: contain; flex-shrink: 0; }
.pricing__feature-text h3 { font-size: 16px; font-weight: 700; margin-bottom: 6px; }
.pricing__feature-text p { font-size: 13px; color: var(--text-muted); line-height: 1.6; }

/* ═══ WHY US ═══ */
.why-us { padding: 90px 0; }
.why-us__title { font-size: clamp(24px,4vw,44px); font-weight: 800; }
.grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; max-width: 1200px; margin: 0 auto; }
.card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 24px; overflow: hidden; display: flex; flex-direction: column; gap: 11px; transition: border-color var(--tr), transform var(--tr), box-shadow var(--tr); }
.card:hover { border-color: rgba(255,255,255,.14); transform: translateY(-2px); box-shadow: 0 10px 36px rgba(0,0,0,.3); }
.icon { color: var(--accent); flex-shrink: 0; }
.card__title { font-weight: 700; font-size: 18px; }
.card__text { font-size: 14px; color: var(--text-muted); line-height: 1.6; }
.tall-card { grid-row: span 2; justify-content: space-between; }
.tall-card img { width: 100%; border-radius: 12px; margin-top: 10px; object-fit: contain; }
.wide-card { grid-column: span 2; flex-direction: row; align-items: center; gap: 0; }
.wide-card__image { width: 180px; flex-shrink: 0; margin: -24px 0 -24px -24px; overflow: hidden; border-radius: var(--radius-lg) 0 0 var(--radius-lg); }
.wide-card__image img { width: 100%; height: 100%; object-fit: cover; }
.wide-card__content { padding: 24px; flex: 1; display: flex; flex-direction: column; gap: 11px; }

/* ═══ FAQ ═══ */
.faq { padding: 90px 0; }
.faq__title { font-size: clamp(24px,4vw,44px); font-weight: 800; line-height: 1.2; }
.faq__items { display: flex; flex-direction: column; gap: 8px; max-width: 800px; margin: 0 auto; }
.faq__item { background: var(--bg-card2); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; transition: border-color var(--tr), box-shadow var(--tr); }
.faq__item[open] { border-color: var(--accent-border); box-shadow: 0 0 18px rgba(170,255,0,.07); }
.faq__question { font-size: 15px; font-weight: 600; color: var(--text); padding: 17px 20px 17px 50px; cursor: pointer; position: relative; list-style: none; text-align: left; transition: background var(--tr); user-select: none; }
.faq__question::-webkit-details-marker, .faq__question::marker { display: none; content: ''; }
.faq__question:hover { background: rgba(255,255,255,.02); }
.faq__question::before { content: ''; position: absolute; left: 17px; top: 50%; width: 9px; height: 9px; border-right: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: translateY(-70%) rotate(45deg); transition: transform var(--tr); }
.faq__item[open] .faq__question::before { transform: translateY(-30%) rotate(-135deg); }
.faq__answer { font-size: 14px; color: var(--text-muted); max-height: 0; overflow: hidden; padding: 0 20px; transition: max-height .4s ease, padding .3s ease; line-height: 1.7; }
.faq__item[open] .faq__answer { max-height: 300px; padding: 0 20px 16px; }
.faq__answer p { opacity: 0; transform: translateY(-6px); transition: opacity .3s ease .1s, transform .3s ease .1s; }
.faq__item[open] .faq__answer p { opacity: 1; transform: translateY(0); }

/* ═══ CTA ═══ */
.cta { padding: 70px 0; }
.cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; background: linear-gradient(135deg,#0d0d0d 0%,#111 100%); border: 1px solid var(--accent-border); border-radius: var(--radius-lg); padding: 42px 50px; box-shadow: 0 0 70px rgba(170,255,0,.07); flex-wrap: wrap; }
.cta__content h2 { font-size: 28px; font-weight: 800; margin-bottom: 7px; }
.cta__content p { font-size: 14px; color: var(--text-muted); }
.cta__btn { display: inline-flex; align-items: center; gap: 9px; background: var(--accent); color: #000; padding: 13px 26px; border-radius: 11px; font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; flex-shrink: 0; transition: background var(--tr), transform var(--tr), box-shadow var(--tr); }
.cta__btn:hover { background: var(--accent-hover); transform: translateY(-2px); box-shadow: 0 10px 28px rgba(170,255,0,.3); }
.cta__btn-icon { width: 18px; height: 18px; }

/* ═══ FOOTER ═══ */
.footer { background: var(--bg); padding: 36px 0; border-top: 1px solid var(--border); font-size: 13px; }
.footer__inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; }
.footer__left { display: flex; flex-direction: column; gap: 8px; }
.footer__logo { width: 110px; height: auto; }
.footer__copyright { color: var(--text-muted); line-height: 1.5; }
.footer__copyright span { color: rgba(255,255,255,.28); font-size: 11px; }
.footer__center { flex: 2; display: flex; justify-content: center; }
.footer__nav { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 20px; padding: 0; margin: 0; justify-content: center; }
.footer__nav li a { color: var(--text-muted); text-decoration: none; font-size: 13px; transition: color var(--tr); }
.footer__nav li a:hover { color: var(--text); }
.footer__right { display: flex; align-items: center; }
.footer__telegram { display: flex; align-items: center; gap: 7px; color: var(--accent); font-weight: 600; text-decoration: none; transition: opacity var(--tr); }
.footer__telegram:hover { opacity: .72; }
.footer__telegram-icon { width: 20px; height: 20px; }

/* ═══ RESPONSIVE ═══ */
@media (max-width: 960px) {
    .header__nav { display: none; }
    .hamburger { display: flex; }
}
@media (max-width: 900px) {
    .grid { grid-template-columns: 1fr 1fr; }
    .tall-card { grid-row: span 1; }
    .wide-card { grid-column: span 2; }
    .wide-card__image { display: none; }
}
@media (max-width: 680px) {
    .hero { padding: 96px 0 48px; min-height: auto; }
    .hero__inner { flex-direction: column; text-align: center; }
    .hero__subtitle { max-width: 100%; }
    .hero__actions { justify-content: center; }
    .hero__stats { justify-content: center; }
    .phone-img { max-width: 100%; }
    .grid { grid-template-columns: 1fr; }
    .wide-card { flex-direction: column; grid-column: span 1; }
    .pricing__features { flex-direction: column; }
    .cta__inner { flex-direction: column; text-align: center; padding: 30px 22px; }
    .footer__inner { flex-direction: column; align-items: center; text-align: center; }
    .footer__left { align-items: center; }
}
@media (max-width: 420px) {
    .hero__title { font-size: 28px; }
    .hero__btn-primary, .hero__btn-secondary { width: 100%; justify-content: center; }
    .pricing__card { width: 100%; max-width: 340px; }
    .cta__btn { width: 100%; justify-content: center; }
}
