
:root{
  --bg:#070b14;
  --panel:rgba(15,22,35,.6);
  --panel-strong:#0e1525;
  --text:#e5e7eb;
  --muted:#9aa4b2;
  --brand:#6366f1;
  --brand-2:#8b5cf6;
  --ring:#293246;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Inter',system-ui,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.55}

.container{max-width:1120px;margin:0 auto;padding:0 16px}
.shadow{box-shadow:0 30px 60px rgba(0,0,0,.45), 0 4px 16px rgba(0,0,0,.35)}
img{max-width:100%;display:block}

.nav{position:sticky;top:0;z-index:50;background:rgba(9,13,23,.75);backdrop-filter:blur(10px);border-bottom:1px solid #0e1628}
.nav__inner{display:flex;justify-content:space-between;align-items:center;height:64px}
.logo{font-weight:800;color:#f8fafc;text-decoration:none;letter-spacing:.03em}
.menu{display:flex;gap:20px;align-items:center}
.menu a{color:#c7d2fe;text-decoration:none;opacity:.9}
.menu a.btn{color:#fff}

.hero{position:relative;padding:72px 0}
.hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center}
.eyebrow{letter-spacing:.25em;color:#a5b4fc;font-weight:700;font-size:12px;text-transform:uppercase}
h1{font-family:'Marcellus SC',serif;margin:.25rem 0 0;font-size:44px;letter-spacing:.02em}
.hero__text p{color:#cbd5e1}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:14px;border:1px solid var(--ring);text-decoration:none;color:#e5e7eb}
.btn--primary{border:none;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff}
.btn--ghost:hover{border-color:#64748b}
.note{color:#93a3b8;font-size:14px}

.hero__cover{border-radius:24px;overflow:hidden;border:1px solid #162033}
.hero__cover img{width:100%;height:auto;object-fit:cover}

.stars{position:absolute;inset:0;pointer-events:none;
background:
radial-gradient(800px 380px at 50% -10%,#0c1220,transparent 65%),
radial-gradient(1200px 600px at 50% 110%,#0b1020,transparent 70%),
radial-gradient(1px 1px at 20% 30%,#dbeafe,transparent),
radial-gradient(1px 1px at 40% 60%,#c7d2fe,transparent),
radial-gradient(1px 1px at 70% 20%,#bfdbfe,transparent),
radial-gradient(1px 1px at 85% 75%,#e0e7ff,transparent);
opacity:.8}

.section{padding:72px 0}
.section--tinted{background:linear-gradient(180deg,rgba(13,20,36,.6),rgba(5,9,18,.9))}
.grid-2{display:grid;gap:28px;grid-template-columns:1.1fr .9fr;align-items:start}
.card{background:var(--panel);border:1px solid #172338;border-radius:20px;overflow:hidden}
.card figcaption{padding:10px 14px;color:#bcd; font-size:14px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:14px}
.card--link{display:block;padding:18px;border-radius:18px;text-decoration:none;color:var(--text);border:1px solid #22314b;background:rgba(19,29,49,.55)}
.card--link:hover{border-color:#3b4967}
.card--link.primary{background:linear-gradient(145deg,#4f46e5 0%,#7c3aed 100%);border:none;color:#fff}
.card__title{font-weight:700}
.card__price{margin-top:6px;color:#e8e9ff;opacity:.9}
.card__cta{margin-top:10px;font-weight:600;opacity:.95}

.badge{display:inline-block;background:#fbbf24;color:#1b1305;border:1px solid #f59e0b;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;letter-spacing:.12em}

.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}

.footer{background:#040813;border-top:1px solid #0e1628;padding:32px 0 12px}
.footer__grid{display:grid;gap:16px;grid-template-columns:2fr 1fr;align-items:start}
.brand{font-weight:800;margin-bottom:6px}
.links{display:flex;flex-wrap:wrap;gap:12px}
.links a{color:#c7d2fe;text-decoration:none}
.copyright{max-width:1120px;margin:10px auto 0;padding:8px 16px;color:#7e8aa0;font-size:13px;border-top:1px solid #131c2e}

@media (max-width: 920px){
  .hero__grid, .grid-2{grid-template-columns:1fr}
  h1{font-size:34px}
}

/* === Animated background & nebula layers === */
.parallax{position:absolute;inset:-10vh 0 0 0;overflow:hidden;pointer-events:none}
.nebula{position:absolute;filter:blur(60px);opacity:.35;mix-blend-mode:screen}
.nebula--a{width:60vmax;height:60vmax;left:-10vmax;top:-8vmax;
  background:radial-gradient(closest-side, rgba(99,102,241,.55), transparent 70%);
  animation: drift 26s ease-in-out infinite alternate;
}
.nebula--b{width:50vmax;height:50vmax;right:-12vmax;top:0;
  background:radial-gradient(closest-side, rgba(56,189,248,.45), transparent 70%);
  animation: drift 34s ease-in-out infinite alternate-reverse;
}
.nebula--c{width:70vmax;height:70vmax;left:10vmax;bottom:-20vmax;
  background:radial-gradient(closest-side, rgba(236,72,153,.25), transparent 70%);
  animation: drift 40s ease-in-out infinite;
}
@keyframes drift{to{transform:translate3d(2vw, -2vh, 0) scale(1.05)}}

/* Tiny star specks inside hero */
.hero .stars{opacity:.9}
/* Subtle floating of cta buttons */
.btn--primary{transition:transform .2s ease, box-shadow .2s ease}
.btn--primary:hover{transform:translateY(-1px);box-shadow:0 8px 30px rgba(99,102,241,.35)}

.hero__cover[data-tilt], [data-tilt]{transform-style:preserve-3d;transition:transform .2s ease}
/* Shine effect */
.hero__cover::after{
  content:"";position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(120deg, transparent 30%, rgba(255,255,255,.06) 50%, transparent 70%);
  transform:translateX(-100%);transition:transform .9s ease;mix-blend-mode:screen;
}
.hero__cover:hover::after{transform:translateX(100%)}

/* Scroll reveal */
[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .7s ease, transform .7s ease}
[data-reveal].is-visible{opacity:1;transform:none}

/* Card hover lift */
.card--link:hover{transform:translateY(-2px)}

/* Wordmark header */
.wordmark{
  font-family:'Marcellus SC',serif;
  font-size:22px; letter-spacing:.18em;
  color:#f8fafc; text-decoration:none;
  padding:6px 10px; border-radius:12px;
  background:linear-gradient(120deg, rgba(99,102,241,.18), rgba(139,92,246,.12));
  border:1px solid #1a2540;
  box-shadow:inset 0 0 0 1px rgba(148,163,184,.05);
}
.nav{position:sticky;top:0;z-index:70;background:rgba(9,13,23,.75);
     backdrop-filter:blur(10px);
     border-bottom:1px solid #0f1a2c}
/* Burger for mobile */
.burger{display:none; background:transparent;border:0; padding:8px; border-radius:10px}
.burger span{display:block;width:22px;height:2px;background:#c7d2fe;margin:4px 0;transition:.2s}
.menu{display:flex;gap:18px;align-items:center}
.btn--small{padding:8px 12px;border-radius:12px}

/* Animated buttons */
.btn{position:relative;overflow:hidden}
.btn::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(120px 80px at var(--mx, -10%) 50%, rgba(255,255,255,.12), transparent 60%);
  transform:translateZ(0); transition:opacity .2s;
  opacity:0;
}
.btn:hover::before{opacity:1}
.btn.btn--primary{background:linear-gradient(135deg,#6d5ef6,#8b5cf6);}
.btn.btn--primary:hover{filter:brightness(1.03) saturate(1.05)}

/* Footer credit */
.credit{opacity:.8;margin-right:8px}

/* MOBILE tweaks */
@media (max-width: 920px){
  .burger{display:block}
  .menu{display:none; position:absolute; top:64px; right:16px; left:16px;
        background:#0a1020; border:1px solid #18233a; border-radius:16px; padding:14px;
        flex-direction:column; gap:10px}
  .menu.is-open{display:flex}
  .hero{padding:56px 0 28px}
  .hero__grid{gap:18px}
  .hero__text p{font-size:15px}
  .hero__cover{max-width:520px;margin:0 auto}
  .cards{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr}
  h1{font-size:30px}
}

/* FIX: убрать пустое место под фото в .gallery */
.gallery .card{display:grid; grid-template-rows: 1fr auto; align-content:stretch;}
.gallery .card img{width:100%; height:100%; object-fit:cover; display:block;}