/* 7k3491.casino — lace-bobbin / коклюшечное кружево. namespace: lbn */

:root{
  --lbn-bg:#0e0f14;
  --lbn-surface:#171923;
  --lbn-accent:#dcd6ee;
  --lbn-accent2:#8f7bd6;
  --lbn-text:#e9e9f2;
  --lbn-dim:#9a9ab0;
  --lbn-line:rgba(220,214,238,.16);
  --lbn-thread:rgba(143,123,214,.45);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:
    radial-gradient(circle at 18% 6%, rgba(143,123,214,.14), transparent 46%),
    radial-gradient(circle at 84% 22%, rgba(220,214,238,.07), transparent 40%),
    var(--lbn-bg);
  color:var(--lbn-text);
  font-family:"Balsamiq Sans", "Trebuchet MS", sans-serif;
  font-size:16.5px;
  line-height:1.72;
  overflow-x:hidden;
}

.lbn-shell{max-width:1120px;margin:0 auto;padding:0 20px}

/* ——— кружевная нить-разделитель ——— */
.lbn-thread{
  height:22px;
  margin:44px 0;
  background-image:
    repeating-linear-gradient(48deg, var(--lbn-thread) 0 1px, transparent 1px 18px),
    repeating-linear-gradient(-48deg, var(--lbn-thread) 0 1px, transparent 1px 18px);
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
  opacity:.85;
}

/* ——— ажурный угол карточки ——— */
.lbn-openwork{
  position:relative;
  background:var(--lbn-surface);
  border:1px solid var(--lbn-line);
  border-radius:2px;
  padding:26px 24px;
  clip-path:polygon(
    16px 0, calc(100% - 16px) 0, 100% 16px,
    100% calc(100% - 16px), calc(100% - 16px) 100%,
    16px 100%, 0 calc(100% - 16px), 0 16px);
}
.lbn-openwork::before{
  content:"";
  position:absolute;inset:6px;
  border:1px dashed rgba(220,214,238,.14);
  border-radius:2px;
  pointer-events:none;
}

/* ——— шапка ——— */
.lbn-top{
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;
  padding:20px 0 14px;border-bottom:1px solid var(--lbn-line);
}
.lbn-mark{
  font-family:"Alumni Sans Pinstripe", "Balsamiq Sans", sans-serif;
  font-size:40px;letter-spacing:.09em;line-height:1;color:var(--lbn-accent);
  display:flex;align-items:center;gap:10px;
}
.lbn-mark svg{flex:0 0 auto}
.lbn-topnav{display:flex;flex-wrap:wrap;gap:16px;font-size:14px;color:var(--lbn-dim)}
.lbn-topnav span{white-space:nowrap}

/* ——— герой ——— */
.lbn-hero{padding:38px 0 8px}
.lbn-hero h1{
  font-family:"Alumni Sans Pinstripe", "Balsamiq Sans", sans-serif;
  font-size:clamp(40px,7.4vw,78px);
  line-height:1.02;
  letter-spacing:.015em;
  margin:0 0 18px;
  color:var(--lbn-accent);
}
.lbn-lead{font-size:18px;max-width:74ch;margin:0 0 26px;color:#d6d6e4}

.lbn-kpi{
  display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:0 0 28px;
}
.lbn-tile{
  background:linear-gradient(180deg, rgba(143,123,214,.13), rgba(23,25,35,.9));
  border:1px solid var(--lbn-line);
  padding:16px 14px;
  clip-path:polygon(0 0, calc(100% - 13px) 0, 100% 13px, 100% 100%, 13px 100%, 0 calc(100% - 13px));
}
.lbn-tile dt{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--lbn-dim);margin:0 0 6px}
.lbn-tile dd{
  margin:0;
  font-family:"Alumni Sans Pinstripe", "Balsamiq Sans", sans-serif;
  font-size:34px;line-height:1.05;color:var(--lbn-accent);
}
.lbn-tile dd small{display:block;font-size:13px;font-family:"Balsamiq Sans",sans-serif;color:var(--lbn-dim);letter-spacing:0}

.lbn-act{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:0 0 10px}
.lbn-go{
  display:inline-block;
  padding:15px 34px;
  background:var(--lbn-accent2);
  color:#12101c;
  text-decoration:none;
  font-size:17px;
  letter-spacing:.02em;
  border:1px solid rgba(220,214,238,.5);
  clip-path:polygon(14px 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%, 0 14px);
}
.lbn-go:hover{background:var(--lbn-accent);color:#171923}
.lbn-act p{margin:0;font-size:14px;color:var(--lbn-dim);max-width:44ch}

/* ——— секции ——— */
.lbn-sec{padding:6px 0 4px}
.lbn-sec h2{
  font-family:"Alumni Sans Pinstripe", "Balsamiq Sans", sans-serif;
  font-size:clamp(30px,4.4vw,48px);
  line-height:1.08;
  margin:34px 0 14px;
  color:var(--lbn-accent);
  padding-left:20px;
  border-left:3px double var(--lbn-accent2);
}
.lbn-sec h3{
  font-size:19px;margin:24px 0 8px;color:#cfc8e8;font-weight:700;letter-spacing:.01em;
}
.lbn-sec p{margin:0 0 14px;max-width:88ch}
.lbn-sec ul{margin:0 0 16px;padding-left:0;list-style:none}
.lbn-sec ul li{position:relative;padding-left:24px;margin-bottom:9px}
.lbn-sec ul li::before{
  content:"";position:absolute;left:4px;top:.72em;width:9px;height:9px;
  border:1px solid var(--lbn-accent2);transform:rotate(45deg);
}
.lbn-em{color:var(--lbn-accent2);font-style:normal}
.lbn-num{
  font-family:"Alumni Sans Pinstripe", "Balsamiq Sans", sans-serif;
  font-size:1.22em;color:var(--lbn-accent);letter-spacing:.02em;
}

/* ——— сетка карточек ——— */
.lbn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0 22px}
.lbn-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:18px 0 22px}
.lbn-grid h4,.lbn-grid-2 h4{margin:0 0 8px;font-size:16px;color:var(--lbn-accent);letter-spacing:.02em}
.lbn-grid p,.lbn-grid-2 p{margin:0;font-size:15px;color:#d2d2e0}

/* ——— ступени клуба ——— */
.lbn-club{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:20px 0 24px}
.lbn-step{
  background:var(--lbn-surface);
  border:1px solid var(--lbn-line);
  border-top:2px solid var(--lbn-accent2);
  padding:16px 12px;
}
.lbn-step span{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--lbn-dim)}
.lbn-step .lbn-stepname{
  font-family:"Alumni Sans Pinstripe","Balsamiq Sans",sans-serif;font-size:29px;color:var(--lbn-accent);line-height:1.1
}
.lbn-step .lbn-stepval{font-size:14.5px;color:#cdc6e6}

/* ——— таблицы ——— */
.lbn-scroll{overflow-x:auto;margin:16px 0 22px;border:1px solid var(--lbn-line)}
table.lbn-tbl{border-collapse:collapse;width:100%;min-width:560px;font-size:15px;background:var(--lbn-surface)}
table.lbn-tbl caption{
  caption-side:top;text-align:left;padding:12px 14px;font-size:13.5px;color:var(--lbn-dim);
  background:rgba(143,123,214,.08);
}
table.lbn-tbl th,table.lbn-tbl td{padding:11px 13px;text-align:left;border-bottom:1px solid rgba(220,214,238,.1)}
table.lbn-tbl thead th{
  font-size:12.5px;letter-spacing:.055em;text-transform:uppercase;color:var(--lbn-accent2);
  border-bottom:1px solid var(--lbn-thread);white-space:nowrap;
}
table.lbn-tbl tbody tr:nth-child(even){background:rgba(220,214,238,.032)}
table.lbn-tbl tfoot td{color:var(--lbn-accent);border-top:1px solid var(--lbn-thread);border-bottom:none}

/* ——— отзыв ——— */
.lbn-quote{
  margin:20px 0 24px;padding:22px 24px;
  background:linear-gradient(120deg, rgba(143,123,214,.12), rgba(23,25,35,.85));
  border-left:3px double var(--lbn-accent2);
}
.lbn-quote p{margin:0 0 10px;font-size:16.5px;color:#dedcec}
.lbn-quote cite{font-style:normal;font-size:13.5px;color:var(--lbn-dim);letter-spacing:.04em}

/* ——— FAQ ——— */
.lbn-faq details{
  background:var(--lbn-surface);
  border:1px solid var(--lbn-line);
  margin:0 0 9px;
  padding:0 16px;
}
.lbn-faq summary{
  cursor:pointer;padding:14px 0;font-size:16.5px;color:var(--lbn-accent);list-style:none;
  display:flex;gap:12px;align-items:flex-start;
}
.lbn-faq summary::-webkit-details-marker{display:none}
.lbn-faq summary::before{
  content:"";flex:0 0 auto;margin-top:.55em;width:10px;height:10px;
  border:1px solid var(--lbn-accent2);transform:rotate(45deg);
}
.lbn-faq details[open] summary::before{background:var(--lbn-accent2)}
.lbn-faq details p{margin:0 0 15px;padding-left:22px;font-size:15.5px;color:#d3d3e1}

/* ——— источники ——— */
.lbn-src{margin:22px 0 10px;padding:22px 24px;border:1px dashed rgba(220,214,238,.22);background:rgba(23,25,35,.6)}
.lbn-src h3{margin-top:0}
.lbn-src ul li::before{border-color:var(--lbn-accent)}

/* ——— подвал ——— */
.lbn-foot{
  margin-top:48px;padding:28px 0 46px;border-top:1px solid var(--lbn-line);
  font-size:14px;color:var(--lbn-dim);
}
.lbn-foot p{margin:0 0 9px;max-width:92ch}
.lbn-foot .lbn-age{color:var(--lbn-accent);font-size:14.5px;letter-spacing:.015em}

@media (max-width:640px){
  body{font-size:16px;line-height:1.66}
  .lbn-shell{padding:0 16px}
  .lbn-kpi{grid-template-columns:repeat(2,1fr)}
  .lbn-kpi .lbn-tile:last-child{grid-column:1 / -1}
  .lbn-club{grid-template-columns:1fr 1fr}
  .lbn-grid,.lbn-grid-2{grid-template-columns:1fr}
  .lbn-hero h1{font-size:clamp(32px,9vw,46px)}
  .lbn-sec h2{font-size:27px;padding-left:14px}
  .lbn-mark{font-size:32px}
  .lbn-go{width:100%;text-align:center;padding:15px 18px}
  .lbn-thread{margin:32px 0}
  .lbn-openwork{padding:20px 16px}
}
