/* Banda Casino / Банда Казино — online-banda.casino — концепт «аметистовый ночной квартал банды»: лилово-фиолетовый неон над кварталом + сиреневый блик на тёмной фиалково-чёрной базе, БЕЗ scarlet/индиго/денежной-зелени/бирюзы/янтаря (отстроен от indigo go7co, scarlet go9si, money-green go1ci, teal leki1/goki9 и amber-brass play7 — фиолет/аметист единственная свободная полоса кластера ~289°) · vio- set · Saira Semi Condensed + Cousine · мотив: неоновая вывеска квартала после заката */
:root{
  --ink:#0d0716; --panel:#160d22; --panel2:#1e122e; --line:#2f1f47;
  --vio:#b32dd6; --glow:#e08cff; --deep:#08040f; --edge:#3d2a59;
  --pearl:#efe7f7; --mid:#9a8cb5; --plat:#cdb6e6;
  --sheen:linear-gradient(135deg,#e8a6ff 0%,#b32dd6 52%,#7d1aa6 100%);
  --pane:linear-gradient(168deg,#190f28 0%,#0b0613 100%);
  --rad:18px; --rad2:11px;
  --hf:"Saira Semi Condensed",Impact,system-ui,sans-serif;
  --bf:"Cousine","Courier New",ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(1200px 560px at 80% -14%, rgba(179,45,214,.22), transparent 60%),
    radial-gradient(820px 480px at 1% 5%, rgba(224,140,255,.08), transparent 58%),
    var(--ink);
  color:var(--pearl); font-family:var(--bf); font-size:15.5px; line-height:1.64;
  -webkit-font-smoothing:antialiased;
}
.vio-wrap{max-width:1140px;margin:0 auto;padding:0 20px}
h1,h2,h3,h4{font-family:var(--hf);font-weight:700;line-height:1.1;color:#f6effb;letter-spacing:.3px}
h1{font-size:clamp(33px,5.6vw,55px);font-weight:700}
h2{font-size:clamp(27px,4vw,40px);font-weight:600}
h3{font-size:22px;color:var(--glow);font-weight:600;letter-spacing:.2px}
a{color:var(--glow);text-decoration:none}
p{margin:.5em 0}

/* header */
.vio-head{position:sticky;top:0;z-index:30;backdrop-filter:blur(12px);
  background:rgba(13,7,22,.86);border-bottom:1px solid var(--line)}
.vio-head .vio-wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.vio-logo{display:flex;align-items:center;gap:11px;font-family:var(--hf);font-size:26px;font-weight:700;color:#f6effb;letter-spacing:.6px}
.vio-logo svg{width:34px;height:34px;flex:0 0 auto}
.vio-logo .vio-mark{color:var(--vio)}
.vio-nav{display:flex;gap:23px;font-size:15px}
.vio-nav a{color:var(--mid)}
.vio-nav a:hover{color:var(--glow)}
@media(max-width:820px){.vio-nav{display:none}}

/* buttons */
.vio-btn,.vio-btn2{display:inline-block;font-family:var(--hf);font-weight:700;
  font-size:16px;letter-spacing:.5px;padding:13px 27px;border-radius:var(--rad2);cursor:pointer;
  transition:transform .15s,box-shadow .15s;border:1px solid transparent;text-transform:uppercase}
.vio-btn{background:var(--sheen);color:#160320;box-shadow:0 9px 28px rgba(179,45,214,.34)}
.vio-btn:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(179,45,214,.48)}
.vio-btn2{background:transparent;color:var(--glow);border-color:var(--edge)}
.vio-btn2:hover{border-color:var(--vio);background:rgba(179,45,214,.12)}

/* hero */
.vio-hero{padding:56px 0 32px;position:relative}
.vio-hero .vio-ov{color:var(--glow);font-size:13px;letter-spacing:3.2px;text-transform:uppercase;margin-bottom:14px}
.vio-hero p.lead{color:var(--pearl);max-width:68ch;font-size:17px;margin:18px 0 26px}
.vio-cta{display:flex;gap:13px;flex-wrap:wrap;margin-bottom:32px}
.vio-quad{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
@media(max-width:880px){.vio-quad{grid-template-columns:repeat(2,1fr)}}
@media(max-width:470px){.vio-quad{grid-template-columns:1fr}}
.vio-xcard{background:var(--pane);border:1px solid var(--line);border-radius:var(--rad);
  padding:18px 17px;position:relative;overflow:hidden}
.vio-xcard::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;width:100%;background:var(--sheen)}
.vio-xcard .t{font-size:12.5px;color:var(--mid);text-transform:uppercase;letter-spacing:1.1px}
.vio-xcard .v{font-family:var(--hf);font-weight:600;font-size:21px;color:#f6effb;margin:7px 0}
.vio-xcard a{font-size:14px;color:var(--glow)}
.vio-xcard a:hover{text-decoration:underline}

/* aggregate strip */
.vio-agg{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--rad);overflow:hidden;margin:6px 0 2px}
.vio-agg div{background:var(--deep);padding:19px 13px;text-align:center}
.vio-agg .n{font-family:var(--hf);font-weight:600;font-size:clamp(22px,3vw,31px);color:var(--glow)}
.vio-agg .c{font-size:12px;color:var(--mid);margin-top:4px;text-transform:uppercase;letter-spacing:.7px}
@media(max-width:760px){.vio-agg{grid-template-columns:repeat(2,1fr)}.vio-agg div:last-child{grid-column:1/-1}}

/* sections */
.vio-sec{padding:42px 0;border-top:1px solid var(--line)}
.vio-ov{font-size:12px;letter-spacing:2.8px;text-transform:uppercase;color:var(--glow)}
.vio-sec h2{margin:10px 0 7px}
.vio-sec .sub{color:var(--mid);max-width:78ch;margin-bottom:22px}

/* grids */
.vio-grid{display:grid;gap:15px}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.g2,.g3,.g4{grid-template-columns:1fr}}
.vio-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);padding:21px}
.vio-card h3{margin-bottom:8px}
.vio-card p{font-size:14.5px;color:var(--pearl)}
.vio-mark{color:var(--vio)}

/* rail */
.vio-rail{background:var(--pane);border:1px solid var(--line);border-radius:var(--rad);padding:5px 0}
.vio-rail .row{display:flex;justify-content:space-between;gap:13px;padding:15px 21px;border-top:1px solid var(--line);flex-wrap:wrap}
.vio-rail .row:first-child{border-top:0}
.vio-rail .dom{font-family:var(--hf);font-weight:600;font-size:19px;color:#f6effb}
.vio-rail .st{font-size:13.5px;color:var(--glow)}
.vio-rail .st.dim{color:var(--mid)}

/* welcome */
.vio-depo{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
@media(max-width:760px){.vio-depo{grid-template-columns:1fr}}
.vio-depo .d{background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);padding:21px;position:relative;overflow:hidden}
.vio-depo .d::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--sheen)}
.vio-depo .d .step{font-size:12px;letter-spacing:1.1px;color:var(--mid);text-transform:uppercase}
.vio-depo .d .big{font-family:var(--hf);font-weight:600;font-size:30px;color:var(--glow);margin:7px 0}
.vio-depo .d .fs{color:var(--pearl);font-size:14px}

/* steps */
.vio-steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
@media(max-width:760px){.vio-steps{grid-template-columns:1fr}}
.vio-steps .s{background:var(--panel2);border:1px solid var(--line);border-radius:var(--rad);padding:23px 21px;position:relative}
.vio-steps .s::before{counter-increment:s;content:counter(s);font-family:var(--hf);font-weight:700;
  font-size:40px;color:var(--vio);display:block;margin-bottom:7px;line-height:1}

/* catalog */
.vio-slot{background:var(--panel);border:1px solid var(--line);border-radius:var(--rad2);padding:16px}
.vio-slot .nm{font-family:var(--hf);font-weight:600;font-size:19px;color:#f6effb}
.vio-slot .pr{font-size:13px;color:var(--mid)}
.vio-slot .rt{font-size:12.5px;color:var(--glow);margin-top:9px;display:inline-block;
  border:1px solid var(--edge);border-radius:30px;padding:2px 12px}

/* VIP ladder */
.vio-vip{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}
@media(max-width:900px){.vio-vip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.vio-vip{grid-template-columns:repeat(2,1fr)}}
.vio-rung{background:linear-gradient(180deg,var(--panel2),var(--deep));border:1px solid var(--line);
  border-radius:var(--rad2);padding:17px 11px;text-align:center}
.vio-rung .lv{font-family:var(--hf);font-weight:600;color:var(--glow);font-size:18px}
.vio-rung .cb{font-size:23px;color:#f6effb;font-family:var(--hf);font-weight:600;margin-top:6px}
.vio-rung .cb span{font-size:11.5px;color:var(--mid)}

/* reviews */
.vio-rev .q{font-size:14.5px;color:var(--pearl)}
.vio-rev .who{margin-top:12px;font-size:13.5px;color:var(--mid)}
.vio-rev .stars{color:var(--vio);letter-spacing:2px;font-size:13px}

/* cashier table */
.vio-tbl{width:100%;border-collapse:collapse;font-size:14.5px;
  background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);overflow:hidden}
.vio-tbl th,.vio-tbl td{padding:14px 16px;text-align:left;border-top:1px solid var(--line)}
.vio-tbl th{background:var(--deep);color:var(--glow);font-family:var(--hf);font-weight:600;font-size:18px;letter-spacing:.3px}
.vio-tbl td{color:var(--pearl)}
.vio-tbl tr td:first-child{color:#f6effb}
.vio-tbl-wrap{overflow-x:auto}

/* prefooter */
.vio-pre{background:var(--pane);border:1px solid var(--line);border-radius:var(--rad);padding:36px;text-align:center}
.vio-pre h2{margin-bottom:11px}
.vio-pre p{color:var(--mid);max-width:64ch;margin:0 auto 20px}

/* faq */
.vio-faq details{border:1px solid var(--line);border-radius:var(--rad2);margin-bottom:9px;background:var(--panel);overflow:hidden}
.vio-faq summary{padding:16px 19px;cursor:pointer;font-family:var(--hf);font-weight:600;font-size:20px;color:var(--glow);list-style:none;letter-spacing:.2px}
.vio-faq summary::-webkit-details-marker{display:none}
.vio-faq summary::after{content:"+";float:right;color:var(--vio)}
.vio-faq details[open] summary::after{content:"\2013"}
.vio-faq .ans{padding:0 19px 17px;color:var(--pearl);font-size:14.5px}

/* author */
.vio-author{background:var(--deep);border:1px solid var(--line);border-radius:var(--rad);padding:31px}
.vio-author .vio-ov{color:var(--glow)}
.vio-author p{color:var(--mid);font-size:14.5px}
.vio-age{display:inline-block;border:1px solid var(--edge);border-radius:30px;padding:1px 10px;color:var(--glow);font-size:12px}

/* footer */
.vio-foot{border-top:1px solid var(--line);padding:36px 0 52px;color:var(--mid);font-size:14px}
.vio-foot .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:23px;margin-bottom:24px}
@media(max-width:760px){.vio-foot .cols{grid-template-columns:1fr}}
.vio-foot a{color:var(--mid);display:block;margin:5px 0}
.vio-foot a:hover{color:var(--glow)}
.vio-foot .fine{font-size:12.5px;line-height:1.72;border-top:1px solid var(--line);padding-top:18px}
