:root{
  /* 1RED — dark red theme */
  --bg:#12090b;        /* deep near-black with red tint */
  --card:#1a0e10;      /* card surface */
  --text:#f5f2f3;      /* primary text */
  --muted:#c7b9bd;     /* secondary text */
  --brand:#ff2b2f;     /* main red */
  --brand-2:#ff5a4e;   /* warm red/orange accent */
  --brand-dark:#3a0b0e;/* deep red overlay */
  --radius:16px;
  --shadow:0 10px 30px rgba(0,0,0,.35);
  --max:1160px;

  /* Mobile gutters */
  --gx: clamp(22px, 6vw, 28px);
}

/* Base */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;
  color:var(--text);
  background:var(--bg);
  line-height:1.55;
}
img,video,svg{max-width:100%;height:auto}
a{color:var(--brand);text-decoration:none}

/* Container: mobile gutters always on; desktop = 16px */
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gx)}
@media (min-width:720px){ .wrap{padding-inline:16px} }

/* Header */
header{
  position:sticky;top:0;z-index:50;
  backdrop-filter:saturate(140%) blur(8px);
  background:linear-gradient(to bottom, rgba(24,9,12,.95), rgba(24,9,12,.7));
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding-block:12px; /* только вертикаль, чтобы не затирать .wrap */
}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.2px}
.logo__mark{
  width:28px;height:28px;border-radius:9px;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  box-shadow:0 6px 18px rgba(255,90,78,.35)
}

/* nav links (desktop only) */
.nav__links{display:none;gap:16px}
.nav__links a{color:var(--text);opacity:.9}
@media (min-width:900px){ .nav__links{display:flex} }

.btn{
  display:inline-flex;align-items:center;gap:8px;padding:10px 16px;
  border-radius:999px;font-weight:700;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  color:#2a0406;
  box-shadow:0 10px 22px rgba(255,42,46,.28);
  transition:transform .15s ease, box-shadow .2s ease, opacity .2s ease;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(255,42,46,.35)}
.btn--ghost{background:transparent;border:1px solid rgba(255,255,255,.14);color:var(--text)}

/* Hero */
.hero{
  position:relative;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(1000px 500px at 12% -10%, rgba(255,42,46,.12), transparent 55%),
    radial-gradient(800px 420px at 80% -20%, rgba(255,90,78,.10), transparent 60%),
    var(--bg);
}
.hero .wrap{ /* гарантированные боковые поля внутри hero */
  padding-inline:var(--gx);
}
@media (min-width:720px){
  .hero .wrap{padding-inline:16px}
}
.hero__inner{
  display:grid;gap:22px;padding-block:22px 28px; /* только вертикаль */
}
.hero__badge{
  display:inline-flex;gap:8px;align-items:center;padding:6px 10px;
  border:1px solid rgba(255,255,255,.16);border-radius:999px;font-size:12px;color:var(--muted)
}
.hero__title{font-size:clamp(26px,6vw,44px);line-height:1.15;margin:6px 0 12px}
.hero__lead{color:var(--muted);font-size:15px}
.hero__cta{display:flex;gap:10px;flex-wrap:wrap}

.hero__art{
  position:relative;border-radius:var(--radius);
  background:
    linear-gradient(180deg, rgba(255,42,46,.18), rgba(58,11,14,.35)),
    url('/img/1red-hero-mobile.jpg') center/cover no-repeat;
  box-shadow:var(--shadow);
  border:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}
@media (min-width:900px){
  .hero__inner{grid-template-columns:1.1fr .9fr;align-items:center}
  .hero__art{background-image:
    linear-gradient(180deg, rgba(255,42,46,.18), rgba(58,11,14,.35)),
    url('/img/1red-hero-desktop.jpg')}
}

/* Icons grid */
.icons{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:16px; padding-block:32px;
}
.icon-card{
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;padding:12px;text-align:center;
  box-shadow:var(--shadow);
  transition:transform .12s ease, box-shadow .2s ease, border-color .2s ease;
}
.icon-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(255,42,46,.25);
  border-color:rgba(255,42,46,.35);
}
.icon-card img{width:100%;height:100%;object-fit:cover;border-radius:8px;margin-bottom:8px}
.icon-card span{font-size:14px;color:var(--text)}
@media (max-width:640px){ .icon-card img{height:100%} }

/* Content sections */
section{padding-block:28px} /* только вертикаль, чтобы не убить .wrap */
.h2{font-size:clamp(20px,4.8vw,32px);margin:0 0 12px}
.muted{color:var(--muted)}
.grid{display:grid;gap:12px}
.card{
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  border:1px solid rgba(255,255,255,.08); border-radius:var(--radius);
  padding:16px; box-shadow:var(--shadow)
}
.features{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.feature{padding:14px;border:1px dashed rgba(255,255,255,.12);border-radius:14px}
.feature b{display:block;font-size:14px;margin-bottom:4px}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{font-size:13px;padding:8px 12px;border-radius:999px;background:rgba(255,42,46,.12);border:1px solid rgba(255,42,46,.4)}

@media (min-width:900px){
  .features{grid-template-columns:repeat(4,1fr)}
}

/* Tables — safe on mobile */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.table{
  width:100%; border-collapse:collapse; margin:0 0 16px;
  min-width:560px; /* readable columns; horizontal scroll on narrow screens */
  background:transparent;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
}
.table th,.table td{
  padding:10px 12px; border-bottom:1px solid rgba(255,255,255,.1); white-space:nowrap;
}
.table th{text-align:left;color:var(--muted)}
.table tr:last-child td{border-bottom:0}

/* FAQ */
.faq details{
  border:1px solid rgba(255,255,255,.08); border-radius:12px;
  padding:12px 14px; margin-bottom:8px; background:rgba(255,255,255,.02)
}
.faq summary{cursor:pointer;list-style:none;font-weight:600}
.faq summary::-webkit-details-marker{display:none}

/* Footer */
footer{
  border-top:1px solid rgba(255,255,255,.08);
  padding-block:18px 28px;
  color:var(--muted)
}
.footer__grid{display:grid;gap:6px}
@media (min-width:900px){ .footer__grid{grid-template-columns:1fr auto} }
