:root{
  --bg:#0A0A0B; --panel:#0F1115; --panel-2:#11131a;
  --text:#fff; --muted:#b9bcc6; --ring:rgba(255,255,255,.08);
  --primary:#E42023; --primary-2:#ff4a40;
}

/* reset/base */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);
     font-family:'Manrope',system-ui,-apple-system,Segoe UI,Roboto,sans-serif}

/* layout */
.container{max-width:1120px;margin:0 auto;padding:0 22px}
.section{padding:96px 0}
.section.alt{background:linear-gradient(180deg,rgba(255,255,255,.02),transparent)}
.h2{font-size:34px;font-weight:800;margin:0 0 14px;letter-spacing:-.2px}
.lead{opacity:.9;line-height:1.65;max-width:820px}

/* nav */
.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px);
  background:linear-gradient(180deg,rgba(10,10,11,.85),rgba(10,10,11,.55));
  border-bottom:1px solid var(--ring)}
.nav-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}
.brand-logo{width:40px;height:40px;object-fit:contain;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.5)}
.brand-name{font-weight:900;letter-spacing:.2px}
.links{display:none;gap:24px;align-items:center}
.links a{color:var(--text);text-decoration:none;opacity:.85;font-weight:700}
.links a:hover{opacity:1}
@media (min-width:760px){.links{display:flex}}

/* hero */
.hero{position:relative;overflow:hidden}
.grid-bg{position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(1200px 520px at 50% -10%,rgba(228,32,35,.28),transparent 60%),
    radial-gradient(800px 340px at 85% 0%,rgba(255,74,64,.18),transparent 60%),
    linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0))}
.mesh{position:absolute;inset:0;opacity:.06;pointer-events:none;
  background-image:linear-gradient(transparent 95%,rgba(255,255,255,.25) 95%),
                   linear-gradient(90deg,transparent 95%,rgba(255,255,255,.25) 95%);
  background-size:28px 28px,28px 28px}
.hero-inner{text-align:center;padding:130px 0 96px;position:relative}
.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;
  font-weight:800;font-size:12px;background:rgba(255,255,255,.06);border:1px solid var(--ring);color:#dfe4ef}
.title{margin:10px 0 16px;font-size:56px;font-weight:900;letter-spacing:-.6px;text-shadow:0 8px 30px rgba(228,32,35,.18)}
.gradient-text{background:linear-gradient(180deg,#fff,#e7ebf5);-webkit-background-clip:text;background-clip:text;color:transparent}
.subtitle{margin:0 auto 28px;font-size:20px;color:#D7DBE3;max-width:820px}
@media (min-width:880px){.title{font-size:72px}}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* grid cards */
.grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:22px}
@media (min-width:860px){.grid{grid-template-columns:repeat(2,1fr)}}
.card{background:var(--panel-2);border:1px solid var(--ring);border-radius:18px;
  padding:20px 18px 18px;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.glass{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));backdrop-filter:blur(10px)}
.card-title{font-weight:900;margin-bottom:8px}

/* bullets (если вдруг понадобятся) */
.bullets{margin:14px 0 0;padding-left:18px;opacity:.92}
.bullets li{margin:8px 0}

/* buttons */
.btn{border:none;cursor:pointer;font-weight:900;border-radius:14px;padding:12px 18px}
.btn-lg{padding:14px 22px;font-size:16px}
.btn-primary{color:#fff;background:linear-gradient(180deg,var(--primary),#b8181b);
  box-shadow:0 18px 36px rgba(228,32,35,.38),0 0 0 1px rgba(255,255,255,.06) inset;
  transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}
.btn-primary:hover{transform:translateY(-1px);filter:saturate(1.04);
  box-shadow:0 22px 42px rgba(228,32,35,.48),0 0 0 1px rgba(255,255,255,.08) inset}
.btn-ghost{background:rgba(255,255,255,.09);color:#fff;border:1px solid rgba(255,255,255,.14)}

/* social buttons */
.btn-social{display:inline-flex;align-items:center;gap:10px;
  padding:12px 18px;border-radius:999px;font-weight:900;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);color:#fff;text-decoration:none;
  transition:transform .14s ease,box-shadow .14s ease,background .14s ease,color .14s ease}
.btn-social .icon{display:inline-block}
.btn-social:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.35)}
.btn-x{background:linear-gradient(180deg,#0d0d10,#111218)}
.btn-x:hover{background:#000;color:#fff;box-shadow:0 14px 28px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.06) inset}
.btn-mail{background:linear-gradient(180deg,#151721,#121420)}
.btn-mail:hover{background:#171923;color:#fff}

/* footer */
.footer{padding:28px 22px;text-align:center;color:#bfc4cf;border-top:1px solid var(--ring);
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.02))}

/* modal */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.78);display:none;align-items:center;justify-content:center;z-index:100}
.overlay.open{display:flex}
.modal{width:min(94vw,520px);background:#0f1116;border:1px solid var(--ring);border-radius:20px;padding:22px;box-shadow:0 20px 56px rgba(0,0,0,.6)}
.modal h3{margin:0 0 14px;font-weight:900}
.input{width:100%;padding:12px 14px;border-radius:12px;margin:8px 0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#fff;outline:none}
.input:focus{border-color:rgba(255,255,255,.32);box-shadow:0 0 0 3px rgba(255,255,255,.1)}
.close{margin-top:10px;background:none;border:none;color:#bfc4cf;text-decoration:underline;cursor:pointer}
