/* Шрифты сайта клиента для модулей: Oswald 500–700 и IBM Plex Mono 600, свои файлы вместо Google Fonts (OFL, см. fonts/LICENSE-fonts.txt).
   Manrope и IBM Plex Mono 400/500 уже подключены в common.css. */
@font-face{font-family:'Oswald';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/oswald-cyrillic-500-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Oswald';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/oswald-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Oswald';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/oswald-cyrillic-600-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Oswald';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/oswald-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Oswald';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/oswald-cyrillic-700-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Oswald';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/oswald-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-mono-cyrillic-600-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Страйкер · живые модули кейса на ai-dentika.pro
   Токены взяты из strykerball.ru/assets/style.css: фон, хром, фольга плиток, шрифты и изинг.
   Все классы начинаются с .st-, переменные лежат внутри .st и не трогают страницу кейса. */

.st{
  --st-bg:#06060F;--st-surface:#0A0A16;--st-surface2:#0E0E1E;
  --st-cl:#D5DAE2;--st-cm:#B7BEC9;--st-cd:#8B93A3;
  --st-white:#EDEDEF;--st-muted:#52526A;--st-soft:#8A8FA3;
  --st-line:rgba(213,218,226,.1);--st-line2:rgba(213,218,226,.18);
  --st-grad:linear-gradient(135deg,#D5DAE2 0%,#B7BEC9 45%,#8B93A3 100%);
  --st-foil:conic-gradient(from 210deg at 42% 38%,#aeb9cc,#e8edf4,#93a0b5,#d4dce6,#7f8a9d,#eef2f7,#b3bfd2,#aeb9cc);
  --st-ink:#0B0F1A;
  --st-ease:cubic-bezier(.16,1,.3,1);
  --st-flip:cubic-bezier(.4,.1,.2,1);
  --st-disp:'Oswald','Arial Narrow',Arial,sans-serif;
  --st-body:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --st-mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;
  position:relative;display:flex;flex-direction:column;justify-content:center;gap:clamp(20px,3vw,36px);
  width:100%;max-width:100%;box-sizing:border-box;
  padding:clamp(20px,4.2vw,56px);
  background:var(--st-bg);color:var(--st-white);
  border:1px solid var(--st-line);border-radius:4px;
  font-family:var(--st-body);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
.st *,.st *::before,.st *::after{box-sizing:border-box}
@media(min-width:1024px){.st{aspect-ratio:3/2}}

/* шапка модуля: как .sec-tag и .sec-h на сайте клиента */
.st-head{display:flex;flex-direction:column;gap:14px}
.st-tag{display:flex;align-items:center;gap:14px;margin:0;
  font-family:var(--st-mono);font-size:12px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--st-muted)}
.st-tag b{color:var(--st-cm);font-weight:500}
.st-tag::after{content:'';flex:1;height:1px;background:var(--st-line)}
.st-title{margin:0;font-family:var(--st-disp);font-weight:700;text-transform:uppercase;letter-spacing:1px;
  font-size:clamp(26px,3.4vw,46px);line-height:1;text-wrap:balance;
  background:var(--st-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--st-cl)}
.st-note{margin:0;font-family:var(--st-mono);font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--st-muted);line-height:1.6}
.st-hint{font-family:var(--st-mono);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--st-cd)}
.st :focus-visible{outline:2px solid var(--st-cl);outline-offset:3px}

/* ─── 03 · Главная как разговор ─── */
.st-talk{display:grid;grid-template-columns:minmax(120px,30%) 1fr;gap:clamp(18px,4vw,56px);align-items:stretch}
.st-talk-page{position:relative;display:flex;flex-direction:column;gap:5px;padding:10px;
  border:1px solid var(--st-line2);border-radius:6px;background:var(--st-surface)}
.st-talk-page::before{content:'';height:8px;border-radius:2px;background:var(--st-line);margin-bottom:3px}
.st-talk-blk{flex:var(--h) 1 0;min-height:22px;position:relative;border-radius:3px;
  background:var(--st-surface2);border:1px solid var(--st-line);
  display:flex;align-items:flex-start;justify-content:space-between;gap:6px;padding:6px 7px;
  font-family:var(--st-mono);font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--st-muted);
  transition:background .5s var(--st-ease),border-color .5s var(--st-ease),color .5s var(--st-ease)}
.st-talk-blk span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.st-talk-blk.is-on{border-color:var(--st-line2);color:var(--st-cm)}
.st-talk-blk.is-hot{background:rgba(213,218,226,.09);border-color:var(--st-cl);color:var(--st-white)}
.st-talk-scan{position:absolute;left:4px;right:4px;height:2px;top:0;border-radius:2px;background:var(--st-grad);
  box-shadow:0 0 18px rgba(213,218,226,.55);opacity:0;pointer-events:none}
.st-talk-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;justify-content:space-between;gap:6px;min-width:0}
.st-talk-li{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--st-line);
  cursor:default;transition:opacity .5s var(--st-ease),transform .5s var(--st-ease)}
.st-talk-li:last-child{border-bottom:0}
.st-talk-n{font-family:var(--st-mono);font-size:12px;color:var(--st-muted)}
.st-talk-q{font-family:var(--st-disp);font-weight:600;font-size:clamp(16px,1.6vw,21px);letter-spacing:.5px;text-transform:uppercase;line-height:1.15;color:var(--st-white)}
.st-talk-a{font-size:14px;color:var(--st-soft);line-height:1.45;margin-top:2px}
.st-talk-li.is-off{opacity:.28}
.st-talk-li.is-hot .st-talk-n{color:var(--st-cl)}
.st-talk-li:focus-visible{outline-offset:2px}

/* ─── 04 · Документы: голографические плитки, как .holo на сайте ─── */
.st-docs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,2vw,24px);perspective:900px}
.st-holo{position:relative;aspect-ratio:1;border-radius:5px;overflow:hidden;
  display:flex;flex-direction:column;justify-content:space-between;padding:clamp(12px,1.6vw,18px);
  background:var(--st-foil);color:var(--st-ink);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.3),0 5px 16px rgba(0,0,0,.32);
  transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .8s var(--st-ease),opacity .8s var(--st-ease);
  --sx:110%;cursor:default;outline-offset:4px}
.st-holo::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.7) 46%,rgba(190,225,255,.4) 52%,transparent 66%);
  background-size:260% 100%;background-position:var(--sx) 0}
.st-holo-std{position:relative;font-family:var(--st-disp);font-weight:700;font-size:clamp(16px,1.9vw,26px);line-height:1.02;letter-spacing:.5px;text-transform:uppercase}
.st-holo-doc{position:relative;display:flex;flex-direction:column;gap:4px}
.st-holo-num{font-family:var(--st-mono);font-weight:600;font-size:clamp(10px,1vw,13px);line-height:1.3;color:#1C2434}
.st-holo-exp{font-family:var(--st-mono);font-size:clamp(9px,.85vw,11px);line-height:1.3;color:#3A4558;letter-spacing:.3px}
.st-holo.is-pre{opacity:0;transform:translateY(18px) rotateX(18deg)}

/* ─── 05 · Клубы: карточки переворачиваются к настоящему мячу ─── */
.st-clubs{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:clamp(10px,1.6vw,18px)}
.st-club{appearance:none;border:0;padding:0;margin:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;
  aspect-ratio:1248/1344;perspective:1000px;display:block;width:100%;border-radius:4px}
.st-club-flip{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .9s var(--st-flip)}
.st-club[aria-pressed="true"] .st-club-flip{transform:rotateY(180deg)}
.st-club-face{position:absolute;inset:0;border-radius:4px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  border:1px solid var(--st-line)}
.st-club-front{background:var(--st-surface2)}
.st-club-bg{position:absolute;inset:0;opacity:.92}
.st-club-front::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,6,15,0) 30%,rgba(6,6,15,.88) 100%)}
.st-club-body{position:absolute;left:12px;right:12px;bottom:12px;z-index:1}
.st-club-n{font-family:var(--st-disp);font-weight:700;font-size:clamp(14px,1.6vw,20px);line-height:1.05;letter-spacing:1px;text-transform:uppercase;color:#fff}
.st-club-s{font-family:var(--st-mono);font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--st-cl);margin-top:6px}
.st-club-back{transform:rotateY(180deg);background:#0A0A14}
.st-club-ph{position:absolute;inset:0;background-size:cover;background-position:center}
.st-club-tag{position:absolute;left:10px;bottom:10px;font-family:var(--st-mono);font-size:10px;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--st-cl);background:rgba(6,6,15,.62);border:1px solid var(--st-line);border-radius:4px;padding:4px 8px;backdrop-filter:blur(4px)}
.st-clubs-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;align-items:baseline}

/* ─── 07 · Протокол против нормы ─── */
.st-proto-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.st-seg{display:inline-flex;border:1px solid var(--st-line2);border-radius:100px;padding:3px;gap:2px}
.st-seg button{appearance:none;border:0;border-radius:100px;padding:8px 16px;cursor:pointer;
  font-family:var(--st-disp);font-weight:600;font-size:14px;letter-spacing:2px;text-transform:uppercase;
  background:none;color:var(--st-cd);transition:color .25s,background .25s}
.st-seg button[aria-pressed="true"]{background:var(--st-grad);color:var(--st-bg)}
.st-proto{display:flex;flex-direction:column;gap:clamp(10px,1.6vw,18px)}
.st-row{display:grid;grid-template-columns:minmax(150px,22%) 1fr 96px;gap:clamp(12px,2vw,28px);align-items:center}
.st-row-l{display:flex;flex-direction:column;gap:2px;min-width:0}
.st-row-name{font-family:var(--st-disp);font-weight:600;font-size:16px;letter-spacing:1px;text-transform:uppercase;color:var(--st-white)}
.st-row-norm{font-family:var(--st-mono);font-size:11px;letter-spacing:.6px;color:var(--st-muted)}
.st-bar{position:relative;height:34px}
.st-bar-track{position:absolute;left:0;right:0;top:15px;height:1px;background:var(--st-line2)}
.st-bar-band{position:absolute;top:9px;height:13px;border-radius:2px;background:linear-gradient(90deg,rgba(213,218,226,.10),rgba(213,218,226,.22));
  border:1px solid rgba(213,218,226,.28);transform-origin:left center}
.st-bar-lim{position:absolute;top:24px;font-family:var(--st-mono);font-size:10px;color:var(--st-muted);transform:translateX(-50%);white-space:nowrap}
.st-bar-mark{position:absolute;top:2px;width:2px;height:28px;margin-left:-1px;border-radius:1px;background:var(--st-cl);
  box-shadow:0 0 12px rgba(213,218,226,.7)}
.st-bar-mark::after{content:'';position:absolute;left:50%;top:9px;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:var(--st-cl)}
.st-row-v{font-family:var(--st-mono);font-weight:600;font-size:clamp(18px,2vw,24px);color:var(--st-cl);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.st-row-v small{font-size:11px;font-weight:400;color:var(--st-muted);margin-left:4px}

/* ─── 08 · Карта сайта ─── */
.st-map{display:flex;flex-direction:column;align-items:stretch;gap:0}
.st-map-root{align-self:center;font-family:var(--st-mono);font-weight:600;font-size:14px;letter-spacing:2px;text-transform:uppercase;
  padding:9px 18px;border:1px solid var(--st-line2);border-radius:100px;color:var(--st-cl);background:var(--st-surface)}
.st-map-stem{align-self:center;width:1px;height:22px;background:var(--st-line2);transform-origin:top}
.st-map-cols{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2.2vw,28px);padding-top:22px}
.st-map-rail{position:absolute;top:0;left:16.66%;right:16.66%;height:1px;background:var(--st-line2);transform-origin:center}
.st-map-col{position:relative;display:flex;flex-direction:column;gap:10px;min-width:0}
.st-map-col::before{content:'';position:absolute;left:50%;top:-22px;height:22px;width:1px;background:var(--st-line2);transform-origin:top;transform:scaleY(var(--stub,1))}
.st-map-who{text-align:center;padding:4px 0 6px}
.st-map-who b{display:block;font-family:var(--st-disp);font-weight:700;font-size:clamp(17px,1.8vw,24px);letter-spacing:1px;text-transform:uppercase;
  background:var(--st-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--st-cl)}
.st-map-who span{font-family:var(--st-mono);font-size:11px;letter-spacing:1px;color:var(--st-muted);text-transform:uppercase}
.st-map-page{border:1px solid var(--st-line);border-radius:4px;background:var(--st-surface);padding:12px 14px;
  transition:opacity .7s var(--st-ease),transform .7s var(--st-ease),border-color .3s}
.st-map-page:hover{border-color:var(--st-line2)}
.st-map-page b{display:block;font-family:var(--st-disp);font-weight:600;font-size:17px;letter-spacing:1px;text-transform:uppercase;color:var(--st-white)}
.st-map-page span{display:block;font-family:var(--st-mono);font-size:11px;color:var(--st-cd);margin-top:3px;line-height:1.45}
.st-map-down{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2.2vw,28px)}
.st-map-down i{justify-self:center;width:1px;height:26px;background:var(--st-line2);transform-origin:top}
.st-map-form{position:relative;overflow:hidden;align-self:stretch;text-align:center;border-radius:100px;padding:13px 20px;
  font-family:var(--st-disp);font-weight:600;font-size:clamp(14px,1.5vw,18px);letter-spacing:2px;text-transform:uppercase;
  background:var(--st-grad);color:var(--st-bg)}
.st-map-form small{font-family:var(--st-mono);font-weight:500;font-size:11px;letter-spacing:1.4px;margin-left:10px;opacity:.75}
.st-pre{opacity:0;transform:translateY(12px)}

/* ─── 13 · 32 панели ─── */
.st-panels{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(18px,4vw,56px);align-items:center}
.st-panels-cv{position:relative;width:100%;aspect-ratio:1;max-width:560px;justify-self:center;touch-action:pan-y;cursor:grab}
.st-panels-cv:active{cursor:grabbing}
.st-panels-cv canvas{position:absolute;inset:0;width:100%;height:100%}
.st-panels-info{display:flex;flex-direction:column;gap:18px;min-width:0}
.st-big{font-family:var(--st-mono);font-weight:600;font-size:clamp(72px,10vw,150px);line-height:.9;font-variant-numeric:tabular-nums;
  background:var(--st-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--st-cl)}
.st-big-l{font-family:var(--st-disp);font-weight:600;font-size:clamp(18px,2vw,26px);letter-spacing:3px;text-transform:uppercase;color:var(--st-cm)}
.st-legend{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}
.st-legend li{display:grid;grid-template-columns:18px 42px 1fr;gap:10px;align-items:center;font-family:var(--st-mono);font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--st-cm)}
.st-legend b{font-weight:600;font-size:20px;color:var(--st-cl);font-variant-numeric:tabular-nums}
.st-sw{width:18px;height:18px;border-radius:3px;border:1px solid var(--st-line2)}
.st-sw--pent{background:var(--st-grad)}
.st-sw--hex{background:var(--st-surface2)}
.st-panels-cap{margin:0;font-size:15px;color:var(--st-soft);line-height:1.6;max-width:44ch}

/* ─── 14 · Цифры проекта ─── */
.st-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--st-line)}
.st-num{padding:clamp(16px,2.4vw,30px) clamp(10px,1.6vw,22px) clamp(16px,2.4vw,30px) 0;border-bottom:1px solid var(--st-line)}
.st-num-v{font-family:var(--st-mono);font-weight:600;font-size:clamp(46px,5.6vw,84px);line-height:1;font-variant-numeric:tabular-nums;
  background:var(--st-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--st-cl)}
.st-num-l{font-size:14px;color:var(--st-soft);margin-top:10px;line-height:1.45;max-width:24ch}

/* ─── телефон ─── */
@media(max-width:860px){
  .st-docs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .st-clubs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .st-row{grid-template-columns:1fr 84px;row-gap:4px}
  .st-row-l{grid-column:1/-1;flex-direction:row;align-items:baseline;justify-content:space-between;gap:10px}
  .st-map-cols{grid-template-columns:1fr;padding-top:0;gap:18px}
  .st-map-rail,.st-map-col::before,.st-map-down{display:none}
  .st-map-stem{height:18px}
  .st-map-form{margin-top:18px;border-radius:24px}
  .st-map-form small{display:block;margin:4px 0 0}
  .st-panels{grid-template-columns:1fr}
  .st-panels-cv{max-width:380px}
  .st-nums{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .st-talk{grid-template-columns:96px 1fr;gap:14px}
  .st-talk-blk span:last-child{display:none}
  .st-talk-a{font-size:13px}
  .st-talk-li{grid-template-columns:26px 1fr;gap:6px}
}
@media(prefers-reduced-motion:reduce){
  .st *{transition-duration:.01ms!important}
}

/* без JS модуль остаётся пустым: не показываем пустую рамку */
.st:empty{display:none}
