/* ПРОХОДКА — витрина по концепту R21: светлая студия, игровые подписки как
   голографические ламинированные пропуска на цветных тканевых шнурках.
   Шрифты: Google Sans (текст), Noto Sans Display узкий (крупные надписи на пропусках),
   Ubuntu Sans Mono (подписи-«штампы») — локально, static/fonts/theme.css.
   Движок (style.css) тёмный; здесь его переменные переписаны на светлую студию.
   Пропуск (.pz-*) — CSS концепта почти без изменений; физику ведёт static/js/theme.js. */

:root {
  --bg: #EEEFEC; --bg2: #E7E9E5; --card: #FFFFFF; --card2: #F7F7F5;
  --line: rgba(18, 20, 23, .14); --line2: rgba(18, 20, 23, .24);
  --text: #121417; --mut: #55585E; --acc: #121417; --acc-deep: #2A2D33; --acc-ink: #FFFFFF;
  --warn: #9A5B00; --c-red: #B3261E; --c-blue: #1F4FD8; --ok: #11733A;
  --ink: #121417; --ink2: #2A2D33; --t2: #4E5157; --t3: #55585E; --t4: #3E4147; --strike: #6A6D73;
  --sh-card: 0 1px 0 rgba(18, 20, 23, .04), 0 18px 40px rgba(40, 44, 52, .08);
  --sh-soft: 0 1px 0 rgba(18, 20, 23, .04), 0 14px 34px rgba(40, 44, 52, .07);
  --f-ui: 'Google Sans', 'Segoe UI', Roboto, Arial, sans-serif;
  --f-disp: 'Noto Sans Display', 'Helvetica Neue', 'Arial Narrow', sans-serif;
  --f-mono: 'Ubuntu Sans Mono', ui-monospace, Menlo, monospace;
  --font-body: var(--f-ui); --font-disp: var(--f-ui);
  --gut: 64px; --head-h: 84px; --radius: 18px;
  --holo: linear-gradient(100deg, hsl(350,85%,74%) 0%, hsl(40,95%,68%) 14%, hsl(95,70%,64%) 28%, hsl(180,75%,66%) 42%, hsl(225,90%,74%) 56%, hsl(290,70%,76%) 70%, hsl(350,85%,74%) 84%, hsl(40,95%,68%) 100%);
  --holo-soft: linear-gradient(100deg, hsl(350,85%,80%) 0%, hsl(40,95%,76%) 12%, hsl(95,70%,76%) 24%, hsl(180,75%,78%) 36%, hsl(225,90%,82%) 48%, hsl(290,70%,82%) 60%, hsl(350,85%,80%) 72%, hsl(40,95%,76%) 84%, hsl(95,70%,76%) 100%);
  --woven: linear-gradient(90deg, rgba(0,0,0,.22), rgba(255,255,255,.18) 35%, rgba(0,0,0,0) 60%, rgba(0,0,0,.25)), repeating-linear-gradient(0deg, rgba(255,255,255,.12) 0 1px, rgba(0,0,0,0) 1px 3px);
}

/* ---------------------------------------------------------------- база */
[hidden] { display: none !important; }
body.pk-page { background: var(--bg); color: var(--ink); font: 400 16px/1.55 var(--f-ui); }
.pk-page a { color: var(--ink); }
.pk-page a:hover { color: #000; }
.pk-page :focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.pk-page ::selection { background: hsl(225 90% 82%); color: var(--ink); }
#pageload { background: var(--holo); box-shadow: none; height: 3px; }
.pk-wrap { width: min(1312px, calc(100% - 2 * var(--gut))); margin-inline: auto; }
.pk-main { padding: 34px 0 0; flex: 1; }
.pk-main-home { flex: 1; width: 100%; }
.pk-skip { position: absolute; left: 12px; top: -60px; z-index: 300; padding: 12px 18px; border-radius: 999px; background: var(--ink); color: #fff !important; font-weight: 500; }
.pk-skip:focus { top: 12px; }
.pk-sr, .pk-sr-m { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mut { color: var(--t3); }
.fine { color: var(--t3); font-size: 13px; }

/* подписи-штампы и заголовки */
.pk-eb { font: 500 12px/1.2 var(--f-mono); letter-spacing: .2em; color: var(--t3); text-transform: uppercase; }
.pk-lab { font: 500 11px/1.3 var(--f-mono); letter-spacing: .16em; color: var(--t3); text-transform: uppercase; }
.pk-lab-ink { color: var(--t4); }
.pk-h1 { margin: 22px 0 0; font: 600 clamp(46px, 6.8vw, 98px)/1 var(--f-ui); letter-spacing: -.048em; }
.pk-h2 { margin: 18px 0 0; font: 600 clamp(38px, 4.45vw, 64px)/1.02 var(--f-ui); letter-spacing: -.04em; }
.pk-h2-s { font-size: clamp(36px, 3.6vw, 52px); }
.pk-h3 { font: 600 clamp(24px, 2.2vw, 28px)/1.1 var(--f-ui); letter-spacing: -.025em; }
.pk-fine { margin: 12px 0 0; font: 400 13px/1.5 var(--f-ui); color: var(--t3); }
.pk-fine a, .pk-doc a, .pk-form a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(18,20,23,.35); }

/* кинетика заголовка: слова выезжают из-под маски, «проходка» подчёркнута голограммой */
.pk-w { display: inline-block; overflow: hidden; vertical-align: top; padding: 0 .04em .16em; margin: 0 -.04em -.16em; }
.pk-w > span { display: inline-block; animation: pkRise 1.15s cubic-bezier(.16,.84,.24,1) both; }
@keyframes pkRise { from { transform: translateY(112%); } to { transform: translateY(0); } }
.pk-ul { position: relative; }
.pk-ul::after { content: ''; position: absolute; left: .04em; right: .03em; bottom: -.085em; height: .075em; border-radius: 999px; background: var(--holo); background-size: 200% 100%; animation: pkHolo 9s linear infinite; box-shadow: inset 0 1px 0 rgba(255,255,255,.6); }
.pk-holo { background: var(--holo-soft); background-size: 200% 100%; animation: pkHolo 14s linear infinite; }
@keyframes pkHolo { from { background-position: 0% 50%; } to { background-position: 200% 50%; } }

/* знак: маленький голографический пропуск с прорезью */
.pk-mark { position: relative; display: block; width: 24px; height: 32px; border-radius: 6px; overflow: hidden; flex-shrink: 0;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.8), 0 2px 8px rgba(18,20,23,.16);
  background: repeating-linear-gradient(115deg, hsl(350,90%,78%) 0%, hsl(45,95%,74%) 9%, hsl(140,75%,72%) 18%, hsl(200,95%,76%) 27%, hsl(275,85%,80%) 36%, hsl(350,90%,78%) 45%);
  background-size: 300% 300%; animation: pkShimmer 7s ease-in-out infinite alternate; }
.pk-mark::before { content: ''; position: absolute; left: 7px; top: 4px; width: 10px; height: 3px; border-radius: 2px; background: #EEEFEC; box-shadow: inset 0 1px 1px rgba(0,0,0,.3); }
.pk-mark::after { content: ''; position: absolute; left: 3px; right: 3px; bottom: 3px; height: 7px; border-radius: 2px; background: #121417; }
@keyframes pkShimmer { from { background-position: 0% 40%; } to { background-position: 100% 60%; } }

/* ---------------------------------------------------------------- кнопки */
.pk-btn { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 26px;
  border-radius: 999px; font: 500 16px/1.1 var(--f-ui); cursor: pointer; white-space: nowrap; text-align: center;
  transition: background .2s, border-color .2s, color .2s, transform .2s; }
.pk-ink, .pk-page a.pk-ink { background: var(--ink); color: #fff; border: 1px solid var(--ink); }
.pk-ink:hover, .pk-page a.pk-ink:hover { background: var(--ink2); color: #fff; }
.pk-ghost, .pk-page a.pk-ghost { background: transparent; color: var(--ink); border: 1px solid rgba(18,20,23,.24); }
.pk-ghost:hover, .pk-page a.pk-ghost:hover { border-color: var(--ink); color: var(--ink); }
.pk-sm { min-height: 46px; padding: 0 20px; font-size: 15px; }
.pk-ico { width: 46px; min-height: 46px; padding: 0; }
.pk-ico svg { width: 19px; height: 19px; }
.pk-wide { flex: 1; }
.pk-btn[disabled] { opacity: .55; cursor: default; }
.pk-btns { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }

/* ---------------------------------------------------------------- шапка — светлый карниз */
.ld-head { position: sticky; top: 0; z-index: 60; height: var(--head-h);
  background: linear-gradient(180deg, #F8F8F6 0%, #F2F2EF 100%);
  box-shadow: 0 1px 0 rgba(18,20,23,.08), 0 16px 34px rgba(40,44,52,.06); }
.pk-head-row { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.pk-logo { display: flex; align-items: center; gap: 12px; color: var(--ink); flex-shrink: 0; min-height: 44px; }
.pk-word { font: 700 18px/1 var(--f-ui); letter-spacing: .26em; }
.pk-nav { display: flex; gap: 22px; min-width: 0; }
.pk-nav a { position: relative; display: inline-block; font: 500 15px/1 var(--f-ui); color: var(--ink); padding: 15px 2px; white-space: nowrap; }
.pk-nav a:hover { color: #4A4D53; }
.pk-nav a.on::after { content: ''; position: absolute; left: 2px; right: 2px; bottom: 7px; height: 3px; border-radius: 999px; background: var(--holo); background-size: 200% 100%; animation: pkHolo 9s linear infinite; }
.pk-head-actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.pk-cart { gap: 12px; padding: 0 9px 0 20px; }
.pk-page .cart-badge { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 28px; padding: 0 8px;
  border-radius: 999px; background: #fff; color: var(--ink); font: 600 13px/1 var(--f-mono); }
.pk-cart.is-bump .cart-badge { animation: pkBump .5s cubic-bezier(.2,.8,.2,1); }
@keyframes pkBump { 0% { transform: scale(1); } 40% { transform: scale(1.32); } 100% { transform: scale(1); } }
.pk-burger { position: relative; display: none; }
.pk-burger > summary { list-style: none; }
.pk-burger > summary::-webkit-details-marker { display: none; }
.pk-burger-panel { position: absolute; right: 0; top: calc(100% + 10px); width: min(360px, calc(100vw - 32px)); z-index: 80; padding: 18px; border-radius: 22px;
  background: #fff; box-shadow: 0 1px 0 rgba(18,20,23,.06), 0 24px 60px rgba(40,44,52,.18); display: grid; gap: 12px; }
.pk-burger-panel nav { display: grid; gap: 2px; }
.pk-burger-panel nav a { display: flex; justify-content: space-between; gap: 12px; align-items: center; min-height: 46px; padding: 6px 10px; border-radius: 12px; }
.pk-burger-panel nav a:hover { background: var(--bg); }
.pk-burger-panel nav b { font-weight: 600; }
.pk-burger-panel nav span { font: 500 12px/1 var(--f-mono); color: var(--t3); }
.pk-burger-links { display: flex; flex-wrap: wrap; gap: 6px; border-top: 1px solid var(--line); padding-top: 12px; }
.pk-burger-links a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--line); font-size: 14px; }

/* всплывающее «в корзине» */
.pk-toast { position: fixed; left: 50%; bottom: 22px; z-index: 120; transform: translateX(-50%); width: max-content; max-width: calc(100vw - 32px);
  display: flex; align-items: center; gap: 16px; padding: 12px 12px 12px 20px; border-radius: 16px; background: var(--ink); color: #fff;
  font: 500 14px/1.35 var(--f-ui); box-shadow: 0 18px 50px rgba(18,20,23,.3); animation: pkToast .45s cubic-bezier(.2,.8,.2,1) both; }
.pk-toast a { color: #fff !important; white-space: nowrap; padding: 10px 14px; border-radius: 999px; background: rgba(255,255,255,.12); }
.pk-toast a:hover { background: rgba(255,255,255,.2); }
@keyframes pkToast { from { opacity: 0; transform: translate(-50%, 10px); } to { opacity: 1; transform: translate(-50%, 0); } }

/* флеш-сообщения движка */
.pk-page .flashes { margin-top: 16px; display: grid; gap: 8px; }
.pk-page .flash { background: #fff; color: var(--ink); border: 0; border-left: 4px solid var(--ink); border-radius: 14px; padding: 13px 18px; box-shadow: var(--sh-soft); font-size: 15px; }
.pk-page .flash-warn { border-left-color: #C77700; }
/* на главной первый экран заходит под шапку — сообщения плавают поверх, не сдвигая страницу */
.pk-home .flashes { position: fixed; z-index: 70; top: calc(var(--head-h) + 12px); left: 50%; transform: translateX(-50%); width: min(560px, calc(100% - 32px)); margin: 0; }
.pk-home .flash { box-shadow: 0 18px 50px rgba(18,20,23,.18); }

/* ---------------------------------------------------------------- подвал: тканый шнурок */
.ld-foot { margin-top: 110px; background: transparent; border: 0; }
.pk-woven { position: relative; height: 64px; overflow: hidden; background-color: #15171B;
  background-image: repeating-linear-gradient(90deg, rgba(255,255,255,.045) 0 1px, rgba(255,255,255,0) 1px 3px), repeating-linear-gradient(0deg, rgba(0,0,0,.3) 0 1px, rgba(0,0,0,0) 1px 3px), linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,0) 30%, rgba(0,0,0,0) 70%, rgba(0,0,0,.35)); }
.pk-woven::before, .pk-woven::after { content: ''; position: absolute; left: 0; right: 0; border-top: 1px dashed rgba(255,255,255,.32); }
.pk-woven::before { top: 8px; } .pk-woven::after { bottom: 8px; }
.pk-woven-t { position: absolute; left: 0; top: 25px; white-space: pre; font: 700 13px/1 var(--f-ui); letter-spacing: .34em; color: rgba(255,255,255,.9); animation: pkWeave 60s linear infinite; }
@keyframes pkWeave { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.pk-foot-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(auto-fit, minmax(180px, 1fr)); gap: 40px; padding: 46px 0 30px; }
.pk-foot-brand p { margin: 16px 0 0; max-width: 440px; color: var(--t2); font-size: 14px; line-height: 1.6; }
.pk-foot-pay { margin-top: 18px; }
.paylogos { display: inline-flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.paylogo { display: inline-flex; }
.paylogo svg { width: 52px; height: 32px; display: block; border-radius: 7px; box-shadow: 0 0 0 1px rgba(18,20,23,.12), 0 2px 6px rgba(40,44,52,.06); }
.pk-foot-contacts { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 14px; color: var(--t3); }
.pk-foot-contacts a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 3px; }
.pk-foot-col { display: grid; align-content: start; gap: 2px; }
.pk-foot-col .pk-lab { margin-bottom: 8px; }
.pk-foot-col a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; line-height: 1.3; color: var(--t4); }
.pk-foot-col a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.pk-foot-bottom { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 28px; padding: 22px 0 40px; border-top: 1px solid var(--line); color: var(--t3); font-size: 13px; }
.pk-foot-mark { display: inline-flex; align-items: center; gap: 12px; font: 500 15px/1 var(--f-mono); color: var(--ink); }
.pk-foot-fine { flex-basis: 100%; font-size: 12px; }

/* ================================================================ ПРОПУСК (концепт R21)
   всё в em (1em = 10px → пропуск 240×352) */
.pz-rig { position: absolute; left: 0; top: 0; width: 0; height: 0; transform-style: preserve-3d; pointer-events: none; }
.pz-str { position: absolute; top: 0; width: 3.4em; margin-left: -1.7em; transform-origin: 50% 0; overflow: hidden; background-color: var(--lan);
  background-image: linear-gradient(90deg, rgba(0,0,0,.26) 0%, rgba(255,255,255,.13) 15%, rgba(255,255,255,.04) 42%, rgba(0,0,0,0) 64%, rgba(0,0,0,.3) 100%), repeating-linear-gradient(0deg, rgba(255,255,255,.08) 0 1px, rgba(0,0,0,.07) 1px 2px, rgba(0,0,0,0) 2px 3px), repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, rgba(0,0,0,0) 1px 3px);
  transition: background-color .5s ease; }
.pz-str::before { content: ''; position: absolute; top: 0; bottom: 0; left: .3em; right: .3em; border-left: 1px dashed rgba(255,255,255,.36); border-right: 1px dashed rgba(255,255,255,.36); }
.pz-str-t { position: absolute; left: 50%; top: 0; margin-left: -.5em; writing-mode: vertical-rl; white-space: pre; font: 700 1.1em/1 var(--f-ui); letter-spacing: .34em; color: var(--lnk, #fff); opacity: .94; }
.pz-str-b .pz-str-t { transform: rotate(180deg); }
.pz-crimp { position: absolute; left: -2.2em; width: 4.4em; height: 2em; border-radius: .4em;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0 28%, rgba(0,0,0,.14) 29% 33%, rgba(0,0,0,0) 34% 62%, rgba(0,0,0,.14) 63% 67%, rgba(0,0,0,0) 68%), linear-gradient(90deg, #7B818A 0%, #EEF1F4 17%, #B6BBC2 37%, #F8F9FA 55%, #888E97 79%, #CDD1D6 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), inset 0 -1px 0 rgba(0,0,0,.3), 0 .2em .4em rgba(0,0,0,.2); }
.pz-brig { position: absolute; left: 0; width: 0; height: 0; transform-style: preserve-3d; }
.pz-hook { position: absolute; left: -2em; top: -.2em; width: 4em; height: 4.4em; overflow: visible; transform: translateZ(.5em); }
.pz-pass { position: absolute; left: -12em; top: 1.3em; width: 24em; height: 35.2em; transform-style: preserve-3d; color: #121417;
  --ang: 112deg; --bx: 50%; --by: 50%; --gx: 40%; --gy: 20%; --mx: 40%; --my: 20%; --fo: .7; --sh: 0; --lt: .6; --gxb: 50%; --gyb: 30%; --shb: .1; }
.pz-holed {
  -webkit-mask: linear-gradient(#000 0 0), linear-gradient(#000 0 0) 9.625em 1.3em / 4.75em 1.25em no-repeat, radial-gradient(closest-side, #000 96%, transparent) 9em 1.3em / 1.25em 1.25em no-repeat, radial-gradient(closest-side, #000 96%, transparent) 13.75em 1.3em / 1.25em 1.25em no-repeat;
  -webkit-mask-composite: source-out, source-over, source-over, source-over;
  mask: linear-gradient(#000 0 0), linear-gradient(#000 0 0) 9.625em 1.3em / 4.75em 1.25em no-repeat, radial-gradient(closest-side, #000 96%, transparent) 9em 1.3em / 1.25em 1.25em no-repeat, radial-gradient(closest-side, #000 96%, transparent) 13.75em 1.3em / 1.25em 1.25em no-repeat;
  mask-composite: subtract, add, add, add; }
.pz-edge { position: absolute; inset: 0; border-radius: 1.8em; }
.pz-pass .e1 { transform: translateZ(-.15em); background: #9EA6AF; }
.pz-pass .e2 { transform: translateZ(-.05em); background: #BCC3CA; }
.pz-pass .e3 { transform: translateZ(.05em); background: #D8DDE2; }
.pz-face { position: absolute; inset: 0; border-radius: 1.8em; overflow: hidden; -webkit-backface-visibility: hidden; backface-visibility: hidden; isolation: isolate; }
.pz-front { transform: translateZ(.15em); background: linear-gradient(160deg, rgba(248,250,252,.66), rgba(206,213,220,.5)); }
.pz-back { transform: rotateY(180deg) translateZ(.15em); background: linear-gradient(200deg, rgba(248,250,252,.66), rgba(206,213,220,.5)); }
.pz-face::after { content: ''; position: absolute; inset: 0; border-radius: 1.8em; box-shadow: inset 0 0 0 1px rgba(255,255,255,.8), inset 0 .16em 0 rgba(255,255,255,.7), inset 0 -.1em 0 rgba(0,0,0,.1); pointer-events: none; }
.pz-card { position: absolute; left: .7em; top: .7em; right: .7em; bottom: .7em; border-radius: 1.2em; overflow: hidden; box-shadow: 0 0 0 1px rgba(0,0,0,.07); }
.pz-base, .pz-guil, .pz-ct { position: absolute; inset: 0; }
.pz-row1 { position: absolute; left: 1.1em; right: 1.1em; top: .95em; display: flex; justify-content: space-between; }
.pz-row1 > span { font: 500 .64em/1 var(--f-mono); letter-spacing: .14em; opacity: .72; white-space: nowrap; }
.pz-brand { position: absolute; left: 1.5em; right: 5.4em; top: 3.4em; display: flex; align-items: center; gap: .7em; }
.pz-logo { width: 2.3em; height: 2.3em; display: block; flex-shrink: 0; fill: currentColor; }
.pz-brand > span:not(.pz-mono) { font: 600 1.42em/1.05 var(--f-ui); letter-spacing: -.01em; white-space: nowrap; }
.pz-brand.b-m > span:not(.pz-mono) { font-size: 1.2em; }
.pz-brand.b-s > span:not(.pz-mono) { font-size: 1.02em; white-space: normal; }
.pz-mono { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-width: 2.3em; height: 2.3em; padding: 0 .4em; border-radius: .5em;
  background: currentColor; font: 800 1em/1 var(--f-disp); font-stretch: 62.5%; letter-spacing: .04em; flex-shrink: 0; }
.pz-mono { color: inherit; }
.pz-brand .pz-mono { background: #121417; color: #fff; }
.v-graphite .pz-brand .pz-mono { background: #F2F2EE; color: #121417; }
.pz-tier { position: absolute; left: 1.4em; right: 1.2em; top: 6.9em; height: 4.4em; display: flex; align-items: flex-end; }
.pz-tier > span { font: 800 4.5em/.86 var(--f-disp); font-stretch: 62.5%; text-transform: uppercase; letter-spacing: .004em; white-space: nowrap; }
.pz-tier.t-l > span { font-size: 3.7em; }
.pz-tier.t-m > span { font-size: 2.85em; }
.pz-tier.t-s > span { font-size: 2.05em; }
.pz-term { position: absolute; left: 1.15em; right: 1em; top: 11.7em; display: flex; align-items: flex-end; gap: .7em; }
.pz-num { font: 800 10.4em/.76 var(--f-disp); font-stretch: 62.5%; letter-spacing: -.02em; }
.pz-unit { display: flex; flex-direction: column; gap: .55em; padding-bottom: .25em; }
.pz-unit b { font: 800 1.95em/.9 var(--f-disp); font-stretch: 62.5%; letter-spacing: .02em; }
.pz-unit i { font: 500 .66em/1 var(--f-mono); font-style: normal; letter-spacing: .14em; opacity: .8; }
.pz-acc { position: absolute; left: 1.5em; top: 21.4em; display: flex; align-items: center; gap: .8em; }
.pz-acc > span { font: 500 .64em/1 var(--f-mono); letter-spacing: .14em; padding: .6em .95em .55em; border-radius: 999px; border: 1px solid currentColor; white-space: nowrap; }
.pz-micro { position: absolute; left: 1.5em; right: 1.4em; top: 23.7em; overflow: hidden; }
.pz-micro > span { display: block; font: 500 .5em/1 var(--f-mono); letter-spacing: .22em; white-space: nowrap; opacity: .55; }
.pz-band { position: absolute; left: 0; right: 0; bottom: 0; height: 8.5em; box-sizing: border-box; padding: 1.3em 1.3em 1.25em 1.5em; display: flex; justify-content: space-between; align-items: flex-end; background-color: var(--lan); color: var(--lnk, #fff); transition: background-color .5s ease; }
.pz-band::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(135deg, rgba(255,255,255,.07) 0 .25em, rgba(255,255,255,0) .25em .6em); }
.pz-bl { position: relative; display: flex; flex-direction: column; gap: .5em; min-width: 0; }
.pz-bl b { font: 800 2.3em/.82 var(--f-disp); font-stretch: 62.5%; letter-spacing: .03em; }
.pz-bl i { font: 500 .6em/1.2 var(--f-mono); font-style: normal; letter-spacing: .2em; opacity: .85; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 22em; }
.pz-bar { position: relative; width: 7em; height: 4.6em; box-sizing: border-box; padding: .55em .6em .5em; border-radius: .5em; background: #FFFFFF; color: #121417; display: flex; flex-direction: column; gap: .3em; flex-shrink: 0; }
.pz-bar svg { display: block; width: 100%; height: 2.9em; }
.pz-bar > span { font: 500 .5em/1 var(--f-mono); letter-spacing: .16em; text-align: center; }
.pz-seal { position: absolute; right: 1.3em; top: 2.95em; width: 3.5em; height: 3.5em; border-radius: 50%; overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.75), 0 .1em .15em rgba(0,0,0,.22);
  background: repeating-radial-gradient(circle at 50% 50%, rgba(255,255,255,.55) 0 1px, rgba(255,255,255,0) 1px 2.6px), conic-gradient(from var(--ang), hsl(350,90%,74%), hsl(45,95%,70%), hsl(140,80%,68%), hsl(200,95%,72%), hsl(275,85%,76%), hsl(350,90%,74%)), #C9CDD3; }
.pz-seal::after { content: 'П'; position: absolute; inset: 0; display: grid; place-items: center; font: 800 1.7em/1 var(--f-disp); font-stretch: 62.5%; color: rgba(255,255,255,.92); text-shadow: 0 1px 0 rgba(0,0,0,.28); }
.pz-foil, .pz-grat, .pz-glit, .pz-spec, .pz-glare, .pz-shade, .pz-glareb, .pz-shadeb { position: absolute; inset: 0; pointer-events: none; }
.pz-foil {
  background-image: repeating-linear-gradient(var(--ang), hsl(2,100%,73%) 0%, hsl(53,100%,69%) 2.6%, hsl(93,100%,69%) 5.2%, hsl(176,100%,76%) 7.8%, hsl(228,100%,74%) 10.4%, hsl(283,100%,73%) 13%, hsl(2,100%,73%) 15.6%), linear-gradient(calc(var(--ang) + 70deg), hsl(330,90%,76%) 0%, hsl(45,95%,72%) 25%, hsl(150,80%,72%) 50%, hsl(205,95%,75%) 75%, hsl(285,80%,77%) 100%);
  background-size: 240% 240%, 220% 220%; background-position: var(--bx) var(--by), var(--by) var(--bx); background-repeat: no-repeat; background-blend-mode: overlay;
  -webkit-mask-image: linear-gradient(calc(var(--ang) - 90deg), rgba(0,0,0,.3) 0%, #000 40%, #000 60%, rgba(0,0,0,.3) 100%); mask-image: linear-gradient(calc(var(--ang) - 90deg), rgba(0,0,0,.3) 0%, #000 40%, #000 60%, rgba(0,0,0,.3) 100%);
  -webkit-mask-size: 280% 280%; mask-size: 280% 280%; -webkit-mask-position: var(--mx) var(--my); mask-position: var(--mx) var(--my); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
.pz-grat {
  background-image: repeating-radial-gradient(circle at 24% 16%, rgba(255,255,255,0) 0 .42em, rgba(255,255,255,.9) .42em .5em, rgba(255,255,255,0) .5em .62em), conic-gradient(from var(--ang) at var(--bx) var(--by), hsl(0,100%,72%), hsl(60,100%,68%), hsl(120,100%,68%), hsl(180,100%,72%), hsl(240,100%,76%), hsl(300,100%,74%), hsl(360,100%,72%));
  background-blend-mode: multiply;
  -webkit-mask-image: radial-gradient(60% 46% at var(--gx) var(--gy), #000 0%, rgba(0,0,0,.35) 55%, rgba(0,0,0,0) 100%); mask-image: radial-gradient(60% 46% at var(--gx) var(--gy), #000 0%, rgba(0,0,0,.35) 55%, rgba(0,0,0,0) 100%); }
.pz-glit { background-image: radial-gradient(circle, rgba(255,255,255,.95) 0 .6px, transparent 1.1px), radial-gradient(circle, rgba(255,255,255,.8) 0 .5px, transparent 1px), radial-gradient(circle, rgba(255,255,255,.9) 0 .7px, transparent 1.2px);
  background-size: 13px 11px, 17px 19px, 23px 29px; background-position: 0 3px, 5px 0, 11px 7px; mix-blend-mode: overlay; opacity: calc(var(--fo) * .5);
  -webkit-mask-image: radial-gradient(70% 80% at var(--gx) var(--gy), #000 0%, rgba(0,0,0,.12) 70%); mask-image: radial-gradient(70% 80% at var(--gx) var(--gy), #000 0%, rgba(0,0,0,.12) 70%); }
.pz-spec { background: linear-gradient(calc(var(--ang) - 30deg), rgba(255,255,255,0) 44%, rgba(255,255,255,.8) 49.5%, rgba(255,255,255,0) 55%); background-size: 300% 300%; background-position: var(--bx) var(--by); background-repeat: no-repeat; mix-blend-mode: soft-light; }
.pz-glare { background: radial-gradient(farthest-corner circle at var(--gx) var(--gy), rgba(255,255,255,calc(var(--lt) * .9)) 0%, rgba(255,255,255,calc(var(--lt) * .28)) 26%, rgba(0,0,0,.16) 84%); mix-blend-mode: soft-light; }
.pz-shade { background: rgba(14,16,20,var(--sh)); mix-blend-mode: multiply; }
.pz-glareb { background: radial-gradient(farthest-corner circle at var(--gxb) var(--gyb), rgba(255,255,255,.6) 0%, rgba(255,255,255,.18) 28%, rgba(0,0,0,.14) 84%); mix-blend-mode: soft-light; }
.pz-shadeb { background: rgba(14,16,20,var(--shb)); mix-blend-mode: multiply; }
.pz-hit { position: absolute; left: -12em; top: 1.3em; width: 24em; height: 35.2em; box-sizing: border-box; padding: 0; margin: 0; border: 0; border-radius: 1.8em; background: transparent; cursor: grab; pointer-events: auto; transform: translateZ(.6em); }
.pz-hit:active { cursor: grabbing; }
/* жемчуг */
.v-pearl .pz-base { background: linear-gradient(162deg, #FFFFFF 0%, #F5F6F3 46%, #E6E8E4 100%); }
.v-pearl .pz-guil, .pz-backcard .pz-guil { background: repeating-radial-gradient(circle at 115% 122%, transparent 0 .6em, rgba(18,20,23,.045) .6em .66em), repeating-radial-gradient(circle at -15% -20%, transparent 0 .6em, rgba(18,20,23,.03) .6em .66em); }
.v-pearl .pz-ct { color: #121417; }
.v-pearl .pz-foil { mix-blend-mode: multiply; filter: saturate(.8) brightness(1.08); opacity: calc(var(--fo) * .36); }
.v-pearl .pz-grat { mix-blend-mode: multiply; opacity: calc(var(--fo) * .32); }
/* серебро */
.v-silver .pz-base { background: repeating-linear-gradient(90deg, rgba(255,255,255,.09) 0 1px, rgba(0,0,0,.04) 1px 2px, transparent 2px 3px), linear-gradient(118deg, #A9AFB8 0%, #ECEEF1 22%, #8D949E 46%, #DDE0E5 68%, #9AA1AA 100%); }
.v-silver .pz-guil, .v-holo .pz-guil { background: repeating-radial-gradient(circle at 112% 128%, transparent 0 .6em, rgba(20,21,25,.07) .6em .67em), repeating-radial-gradient(circle at -14% -30%, transparent 0 .6em, rgba(255,255,255,.22) .6em .67em); }
.v-silver .pz-ct, .v-holo .pz-ct { color: #15161A; }
.v-silver .pz-foil { mix-blend-mode: hard-light; opacity: calc(var(--fo) * .56); }
.v-silver .pz-grat { mix-blend-mode: hard-light; opacity: calc(var(--fo) * .5); }
/* голограмма */
.v-holo .pz-base { background: repeating-linear-gradient(90deg, rgba(255,255,255,.09) 0 1px, rgba(0,0,0,.04) 1px 2px, transparent 2px 3px), linear-gradient(118deg, #B4BAC2 0%, #F1F3F5 22%, #959CA6 46%, #E6E9ED 68%, #A2A9B2 100%); }
.v-holo .pz-foil { mix-blend-mode: hard-light; opacity: calc(var(--fo) * .64); }
.v-holo .pz-grat { mix-blend-mode: hard-light; opacity: calc(var(--fo) * .55); }
/* графит */
.v-graphite .pz-base { background: radial-gradient(130% 150% at 0% 0%, #3A3D45 0%, #1C1D22 45%, #0D0E11 100%); }
.v-graphite .pz-guil { background: repeating-radial-gradient(circle at 112% 128%, transparent 0 .6em, rgba(255,255,255,.05) .6em .67em), repeating-radial-gradient(circle at -14% -30%, transparent 0 .6em, rgba(255,255,255,.035) .6em .67em); }
.v-graphite .pz-ct { color: #F2F2EE; }
.v-graphite .pz-foil { mix-blend-mode: screen; opacity: calc(var(--fo) * .3); filter: brightness(.9); }
.v-graphite .pz-grat { mix-blend-mode: color-dodge; opacity: calc(var(--fo) * .42); filter: brightness(.75); }
.v-graphite .pz-num, .v-graphite .pz-tier > span { text-shadow: 0 1px 0 rgba(0,0,0,.85), 0 -1px 0 rgba(255,255,255,.12); }
.v-silver .pz-num, .v-holo .pz-num, .v-pearl .pz-num { text-shadow: 0 1px 0 rgba(255,255,255,.7), 0 -1px 0 rgba(0,0,0,.12); }
/* оборот */
.pz-backcard .pz-base { background: linear-gradient(200deg, #FFFFFF 0%, #F3F4F1 50%, #E6E8E4 100%); }
.pz-backcard .pz-ct { color: #121417; }
.pz-bk-w { position: absolute; left: 1.5em; top: 3.6em; }
.pz-bk-w b { font: 800 3.3em/.85 var(--f-disp); font-stretch: 62.5%; letter-spacing: .04em; }
.pz-bk-t { position: absolute; left: 1.5em; right: 1.5em; top: 7.6em; }
.pz-bk-t p { margin: 0 0 .8em; font: 400 1.12em/1.36 var(--f-ui); }
.pz-bk-q { position: absolute; left: 1.5em; bottom: 2.6em; width: 7.4em; height: 7.4em; padding: .5em; box-sizing: border-box; border-radius: .5em; background: #FFFFFF; box-shadow: inset 0 0 0 1px rgba(18,20,23,.12); }
.pz-bk-q svg { display: block; width: 100%; height: 100%; }
.pz-bk-d { position: absolute; right: 1.5em; bottom: 3em; left: 10em; text-align: right; }
.pz-bk-d > span { display: block; font: 500 .66em/1.5 var(--f-mono); letter-spacing: .14em; opacity: .75; }
.pz-bk-s { position: absolute; left: 0; right: 0; bottom: 0; height: 1.3em; background-color: var(--lan); transition: background-color .5s ease; }
.pz-bk-ink { background-color: #121417; }
/* правила на обороте */
.pz-rl-h { position: absolute; left: 1.5em; right: 1.5em; top: 3.3em; display: flex; align-items: baseline; justify-content: space-between; }
.pz-rl-h b { font: 600 1.55em/1 var(--f-ui); letter-spacing: -.02em; }
.pz-rl-h i { font: 500 .6em/1 var(--f-mono); font-style: normal; letter-spacing: .16em; opacity: .7; }
.pz-rl { position: absolute; left: 1.5em; right: 1.5em; top: 6.1em; display: flex; flex-direction: column; }
.pz-rl-i { display: grid; grid-template-columns: 2.1em 1fr; padding: .5em 0 .56em; border-top: 1px solid rgba(18,20,23,.12); }
.pz-rl-i u { text-decoration: none; font: 500 .62em/1.9 var(--f-mono); letter-spacing: .1em; opacity: .7; }
.pz-rl-i b { display: block; font: 600 .98em/1.2 var(--f-ui); letter-spacing: -.005em; }
.pz-rl-i > div > span { display: block; margin-top: .22em; font: 400 .84em/1.32 var(--f-ui); color: #44474D; }
.pz-csh { position: absolute; left: 0; top: 0; border-radius: 2.6em; background: rgba(32,36,44,.34); filter: blur(22px); transform-origin: 50% 50%; pointer-events: none; }

/* сцены: холст стены за пропусками и перспектива */
.pk-scene { position: relative; overflow: hidden; }
.pk-wall { position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: block; }
.pk-persp { position: absolute; inset: 0; perspective: 1800px; perspective-origin: 50% 38%; }
.pk-scene.is-off .pz-hit { pointer-events: none; }

/* ================================================================ мини-пропуск (строки корзины, заказа, кабинета) */
.pm { position: relative; display: inline-block; flex-shrink: 0; font-size: 4px; width: 16em; height: 27.5em; color: #121417; }
.pm-str { position: absolute; left: 50%; top: 0; width: 3.4em; height: 5em; margin-left: -1.7em; background-color: var(--lan); background-image: var(--woven); border-radius: 0 0 .4em .4em; }
.pm-crimp { position: absolute; left: 50%; top: 4em; width: 4.6em; height: 1.8em; margin-left: -2.3em; border-radius: .4em; background: linear-gradient(90deg, #7B818A 0%, #EEF1F4 17%, #B6BBC2 37%, #F8F9FA 55%, #888E97 79%, #CDD1D6 100%); box-shadow: 0 .2em .4em rgba(0,0,0,.2); }
.pm-card { position: absolute; left: 0; right: 0; top: 6.2em; bottom: 0; border-radius: 1.6em; overflow: hidden; box-shadow: inset 0 0 0 1px rgba(255,255,255,.8), 0 .6em 1.6em rgba(18,20,23,.18), 0 0 0 1px rgba(18,20,23,.08); }
.pm-base { position: absolute; inset: 0; background: linear-gradient(162deg, #FFFFFF 0%, #F5F6F3 46%, #E6E8E4 100%); }
.v-silver .pm-base { background: linear-gradient(118deg, #A9AFB8 0%, #ECEEF1 22%, #8D949E 46%, #DDE0E5 68%, #9AA1AA 100%); }
.v-holo .pm-base { background: linear-gradient(118deg, #B4BAC2 0%, #F1F3F5 22%, #959CA6 46%, #E6E9ED 68%, #A2A9B2 100%); }
.v-graphite .pm-base { background: radial-gradient(130% 150% at 0% 0%, #3A3D45 0%, #1C1D22 45%, #0D0E11 100%); }
.v-graphite.pm { color: #F2F2EE; }
.pm-foil { position: absolute; inset: 0; background: repeating-linear-gradient(115deg, hsl(2,100%,73%) 0%, hsl(53,100%,69%) 5%, hsl(150,90%,70%) 10%, hsl(210,100%,74%) 15%, hsl(283,100%,73%) 20%, hsl(2,100%,73%) 25%); mix-blend-mode: soft-light; opacity: .55; }
.v-pearl .pm-foil { opacity: .25; mix-blend-mode: multiply; }
.pm-top { position: absolute; left: 1.5em; top: 1.6em; display: flex; }
.pm-top svg { width: 3.8em; height: 3.8em; fill: currentColor; }
.pm-mono { display: inline-flex; align-items: center; justify-content: center; height: 3.4em; padding: 0 .6em; border-radius: .6em; background: #121417; color: #fff; font: 800 2em/1 var(--f-disp); font-stretch: 62.5%; }
.v-graphite .pm-mono { background: #F2F2EE; color: #121417; }
.pm-tier { position: absolute; left: 1.5em; right: 1.2em; top: 7.2em; font: 800 2.4em/.9 var(--f-disp); font-stretch: 62.5%; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: clip; }
.pm-term { position: absolute; left: 1.4em; top: 10.2em; display: flex; align-items: flex-end; gap: .5em; }
.pm-term b { font: 800 6.2em/.8 var(--f-disp); font-stretch: 62.5%; }
.pm-term i { font: 800 1.6em/1 var(--f-disp); font-stretch: 62.5%; font-style: normal; padding-bottom: .2em; }
.pm-band { position: absolute; left: 0; right: 0; bottom: 0; height: 4.2em; background-color: var(--lan); background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.08) 0 .25em, rgba(255,255,255,0) .25em .6em); }

/* ================================================================ билетик каталога */
.pk-tk { position: relative; box-sizing: border-box; min-height: 136px; display: flex; border-radius: 18px; background: #FFFFFF; box-shadow: var(--sh-soft); overflow: hidden; transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s; }
.pk-tk:hover { transform: translateY(-3px); box-shadow: 0 1px 0 rgba(18,20,23,.04), 0 22px 44px rgba(40,44,52,.12); }
.pk-tk-lan { position: absolute; left: 0; top: 0; bottom: 0; width: 8px; background-color: var(--lan); background-image: var(--woven); }
.pk-tk-lan::after { content: ''; position: absolute; left: 0; right: 0; top: 50%; height: 22px; margin-top: -11px; background: linear-gradient(90deg, #7B818A 0%, #EEF1F4 30%, #B6BBC2 55%, #888E97 100%); border-radius: 0 3px 3px 0; opacity: .9; }
.pk-tk-l { flex: 1; min-width: 0; box-sizing: border-box; padding: 18px 14px 16px 26px; display: flex; flex-direction: column; gap: 10px; color: var(--ink); }
.pk-page a.pk-tk-l:hover { color: var(--ink); }
.pk-tk-n { display: flex; align-items: center; gap: 9px; font: 600 15px/1.2 var(--f-ui); letter-spacing: -.01em; }
.pk-tk-n svg { width: 20px; height: 20px; flex-shrink: 0; display: block; fill: currentColor; }
.pk-tk-mono { flex-shrink: 0; box-sizing: border-box; min-width: 20px; height: 20px; padding: 0 3px; border-radius: 5px; background: var(--ink); color: #fff; display: inline-flex; align-items: center; justify-content: center; font: 800 10px/1 var(--f-disp); font-stretch: 62.5%; letter-spacing: .04em; }
.pk-tk-t { font: 800 30px/.86 var(--f-disp); font-stretch: 62.5%; text-transform: uppercase; letter-spacing: .01em; margin-top: auto; }
.pk-tk-lab { font: 500 10px/1.35 var(--f-mono); letter-spacing: .12em; color: var(--t3); text-transform: uppercase; }
.pk-tk-r { position: relative; width: 112px; flex-shrink: 0; box-sizing: border-box; padding: 18px 10px 14px; border-left: 2px dashed rgba(18,20,23,.16); display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 10px; background: var(--card2); }
.pk-tk-r::before, .pk-tk-r::after { content: ''; position: absolute; left: -11px; width: 20px; height: 20px; border-radius: 50%; background: var(--bg); }
.pk-tk-r::before { top: -10px; } .pk-tk-r::after { bottom: -10px; }
.pk-tk-p { font: 600 16px/1.15 var(--f-ui); text-align: center; white-space: nowrap; display: flex; flex-direction: column; align-items: center; gap: 3px; }
.pk-tk-p s { font: 400 12px/1 var(--f-ui); color: var(--strike); }
.pk-tk-in { font: 500 10px/1 var(--f-mono); letter-spacing: .08em; color: var(--t3); text-transform: uppercase; min-height: 10px; }
.pk-add { box-sizing: border-box; width: 48px; height: 48px; border-radius: 50%; cursor: pointer; display: grid; place-items: center; background: var(--ink); color: #fff; border: 1px solid var(--ink); transition: background .2s, color .2s, transform .2s; }
.pk-add svg { width: 20px; height: 20px; grid-area: 1 / 1; }
.pk-add .i-ok { opacity: 0; transform: scale(.6); transition: opacity .2s, transform .2s; }
.pk-add:hover { background: var(--ink2); transform: scale(1.05); }
.pk-add.is-on { background: #fff; color: var(--ink); border: 1.5px solid var(--ink); }
.pk-add.is-on .i-plus { opacity: 0; transform: scale(.6); }
.pk-add.is-on .i-ok { opacity: 1; transform: none; }
.pk-add .i-plus { transition: opacity .2s, transform .2s; }
.pk-tks { margin-top: 30px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.pk-tk-note { box-sizing: border-box; min-height: 136px; border-radius: 18px; background: var(--ink); color: #fff; padding: 20px 24px; display: flex; flex-direction: column; justify-content: space-between; gap: 12px; font: 500 16px/1.4 var(--f-ui); }
.pk-tk-note .pk-lab { color: #B9BCC2; }

/* ================================================================ ГЛАВНАЯ */
.pk-sec { margin-top: 120px; }
.pk-sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.pk-sec-head > p { margin: 0 0 6px; max-width: 470px; font: 400 16px/1.55 var(--f-ui); color: var(--t2); }

/* герой: стена студии и шнурки уходят под карниз шапки */
.pk-hero { position: relative; --stage-h: min(664px, 46.11vw); margin-top: calc(-1 * var(--head-h)); padding-top: var(--stage-h); padding-bottom: 36px; overflow: hidden; background: #EEEFEC; }
.pk-hero-stage { position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: 1; }
.pk-hero-stage .pk-wall { background: #EEEFEC; }
/* низ стены мягко уходит в цвет страницы — без шва под первым экраном */
.pk-hero-stage::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 140px; z-index: 2; pointer-events: none; background: linear-gradient(180deg, rgba(238,239,236,0), #EEEFEC 85%); }
.pk-hero-text { position: relative; z-index: 3; pointer-events: none; }
.pk-hero-text a, .pk-hero-text button { pointer-events: auto; }
.pk-hero-eb { display: flex; justify-content: space-between; gap: 20px; }
.pk-hero-row { margin-top: 46px; display: grid; grid-template-columns: minmax(0, 540px) minmax(0, 724px); justify-content: space-between; gap: 48px; }
.pk-hero-lead p { margin: 0; font: 400 17px/1.55 var(--f-ui); color: var(--t2); }
.pk-lots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; align-content: start; }
.pk-lot { box-sizing: border-box; display: flex; align-items: center; gap: 14px; min-height: 74px; padding: 12px 16px 12px 0; border-top: 1px solid rgba(18,20,23,.14); transition: background .2s, padding .25s; color: var(--ink); border-radius: 0 0 12px 12px; }
.pk-page a.pk-lot:hover { background: rgba(255,255,255,.6); padding-left: 10px; color: var(--ink); }
.pk-lot-sw { width: 7px; height: 44px; border-radius: 2px; flex-shrink: 0; background-color: var(--lan); background-image: var(--woven); box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
.pk-lot-lg { width: 22px; height: 22px; flex-shrink: 0; display: block; fill: currentColor; }
.pk-lot-tx { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 7px; }
.pk-lot-t { font: 600 15px/1.15 var(--f-ui); letter-spacing: -.005em; }
.pk-lot-p { font: 500 14px/1.2 var(--f-ui); color: var(--ink); }
.pk-lot-p s { margin-left: 8px; font-weight: 400; color: var(--strike); }
.pk-arr { width: 34px; height: 34px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(18,20,23,.2); display: grid; place-items: center; flex-shrink: 0; }
.pk-arr svg { width: 15px; height: 15px; display: block; }

/* конструктор */
.pk-build-grid { margin-top: 44px; display: grid; grid-template-columns: minmax(0, 640fr) minmax(0, 624fr); gap: 48px; align-items: stretch; }
.pk-booth { position: relative; align-self: start; position: sticky; top: calc(var(--head-h) + 24px); }
.pk-booth-stage { aspect-ratio: 640 / 820; border-radius: 32px; background: #E7E9E5; box-shadow: inset 0 0 0 1px rgba(18,20,23,.06); }
.pk-booth-stage .pk-persp { perspective: 1500px; perspective-origin: 50% 30%; }
.pk-booth-cap { position: absolute; left: 32px; right: 32px; bottom: 26px; z-index: 3; display: grid; gap: 14px; pointer-events: none; }
.pk-booth-row { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; }
.pk-pick { display: flex; flex-direction: column; min-width: 0; }
.pk-pick > .pk-lab { margin-top: 30px; }
.pk-pick > .pk-lab:first-child { margin-top: 0; }
.pk-svcs { margin-top: 14px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.pk-svc { box-sizing: border-box; display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 0 14px 0 12px; border-radius: 16px; font: 500 15px/1.1 var(--f-ui); cursor: pointer; text-align: left;
  background: rgba(255,255,255,.55); color: var(--ink); border: 1px solid rgba(18,20,23,.12); transition: background .2s, border-color .2s, color .2s; }
.pk-svc:hover { background: #fff; border-color: rgba(18,20,23,.35); }
.pk-svc svg { width: 21px; height: 21px; display: block; flex-shrink: 0; fill: currentColor; }
.pk-svc-sw { width: 5px; height: 30px; border-radius: 3px; flex-shrink: 0; background-color: var(--lan); box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); }
.pk-svc.on, .pk-chip.on, .pk-term.on { background: var(--ink); color: #fff; border-color: var(--ink); }
.pk-chips { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 8px; }
.pk-chip { box-sizing: border-box; min-height: 46px; padding: 0 20px; border-radius: 999px; font: 500 15px/1 var(--f-ui); cursor: pointer; background: rgba(255,255,255,.55); color: var(--ink); border: 1px solid rgba(18,20,23,.12); transition: background .2s, border-color .2s; }
.pk-chip:hover { background: #fff; border-color: rgba(18,20,23,.35); }
.pk-terms { margin-top: 14px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.pk-term { box-sizing: border-box; min-height: 92px; padding: 14px 16px 13px; border-radius: 16px; display: flex; flex-direction: column; justify-content: space-between; gap: 10px; text-align: left; cursor: pointer;
  background: rgba(255,255,255,.55); color: var(--ink); border: 1px solid rgba(18,20,23,.12); transition: background .2s, border-color .2s; }
.pk-term:hover { background: #fff; border-color: rgba(18,20,23,.35); }
.pk-term-m { display: block; font: 800 31px/.86 var(--f-disp); font-stretch: 62.5%; text-transform: uppercase; letter-spacing: .005em; }
.pk-term-m small { font: 600 14px/1 var(--f-ui); letter-spacing: 0; text-transform: none; margin-left: 4px; }
.pk-term-p { display: block; font: 600 15px/1.2 var(--f-ui); white-space: nowrap; }
.pk-term-p s { font-weight: 400; font-size: 12px; margin-left: 6px; opacity: .72; }
.pk-pick-gap { flex: 1; min-height: 24px; }
.pk-sum { position: relative; border-radius: 24px; background: #FFFFFF; padding: 26px 26px 24px; box-shadow: var(--sh-card); }
.pk-sum.is-flash { animation: pkFlash .9s ease; }
@keyframes pkFlash { 0% { box-shadow: 0 0 0 0 rgba(31,79,216,.35), var(--sh-card); } 100% { box-shadow: 0 0 0 18px rgba(31,79,216,0), var(--sh-card); } }
.pk-sum-top { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.pk-sum-sub { font: 400 14px/1.3 var(--f-ui); color: var(--t3); text-align: right; }
.pk-sum-title { margin-top: 14px; font: 600 20px/1.2 var(--f-ui); letter-spacing: -.01em; }
.pk-sum-price { margin-top: 12px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 14px; }
.pk-sum-big { font: 600 56px/1 var(--f-ui); letter-spacing: -.04em; }
.pk-sum-price s { font: 400 19px/1 var(--f-ui); color: var(--strike); }
.pk-sum-off { font: 600 13px/1 var(--f-mono); letter-spacing: .06em; padding: 6px 9px; border-radius: 999px; background: var(--ink); color: #fff; }
.pk-sum-note { margin: 16px 0 0; font: 400 15px/1.5 var(--f-ui); color: var(--t4); }
.pk-sum-form { margin-top: 18px; display: flex; gap: 10px; }
.pk-sum-form .pk-btn { min-height: 58px; font-size: 17px; }
.pk-sum-more { display: inline-flex; align-items: center; min-height: 44px; margin-top: 4px; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(18,20,23,.35); }
.pk-sum-toast { position: absolute; left: 26px; right: 26px; top: -62px; box-sizing: border-box; min-height: 48px; padding: 0 18px; border-radius: 14px; background: var(--ink); color: #FFFFFF; display: flex; align-items: center; gap: 12px; font: 500 14px/1.3 var(--f-ui); animation: pkToastIn .5s cubic-bezier(.2,.8,.2,1) both; }
.pk-sum-toast svg { width: 18px; height: 18px; flex-shrink: 0; }
@keyframes pkToastIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* что даёт проходка: оборот + таблица цен */
.pk-what-grid { margin-top: 36px; display: grid; grid-template-columns: minmax(0, 470px) minmax(0, 1fr); gap: 56px; align-items: start; }
.pk-rules-stage { aspect-ratio: 470 / 760; }
.pk-rules-stage .pk-persp { perspective: 1500px; perspective-origin: 50% 20%; }
.pk-rules-list { display: none; }
.pk-mx-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 20px; }
.pk-mx-head h3 { margin: 0; font: 600 28px/1.1 var(--f-ui); letter-spacing: -.025em; }
.pk-mx-t { margin-top: 22px; }
.pk-mx-r { display: grid; grid-template-columns: 6px minmax(0, 200px) minmax(0, 122px) repeat(4, minmax(0, 1fr)); align-items: center; column-gap: 10px; min-height: 56px; border-top: 1px solid rgba(18,20,23,.1); }
.pk-mx-hr { min-height: 40px; border-top: 0; }
.pk-mx-ch { padding-left: 10px; }
.pk-mx-g { border-top: 1px solid rgba(18,20,23,.26); }
.pk-mx-r > .pk-lot-sw { height: 36px; width: 6px; }
.pk-mx-svc { display: flex; align-items: center; gap: 10px; font: 600 15px/1.15 var(--f-ui); }
.pk-mx-svc svg { width: 20px; height: 20px; display: block; flex-shrink: 0; fill: currentColor; }
.pk-mx-svc.is-cont > * { opacity: 0; }
.pk-mx-tier { font: 500 14px/1.2 var(--f-ui); color: var(--t4); }
.pk-mx-c { box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; gap: 4px; min-height: 46px; padding: 6px 10px; border-radius: 12px; font: 600 15px/1 var(--f-ui); color: var(--ink); transition: background .2s, color .2s; white-space: nowrap; }
.pk-page a.pk-mx-c:hover { background: #fff; color: var(--ink); }
.pk-mx-c s { font: 400 12px/1 var(--f-ui); color: var(--strike); }
.pk-mx-m { display: none; }
.pk-mx-cells { display: contents; }
.pk-page a.pk-mx-on, .pk-page a.pk-mx-on:hover { background: var(--ink); color: #fff; }
.pk-mx-on s { color: #C9CBCF; }
.pk-mx-none { color: var(--strike); font-weight: 400; }

/* как получить: три корешка */
.pk-stubs { position: relative; margin-top: 44px; border-radius: 26px; background: #FFFFFF; box-shadow: 0 1px 0 rgba(18,20,23,.04), 0 24px 60px rgba(40,44,52,.08); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; }
.pk-stubs-line { position: absolute; left: 0; right: 0; top: 0; height: 10px; }
.pk-stub { position: relative; box-sizing: border-box; padding: 44px 44px 40px; }
.pk-perf { border-left: 2px dashed rgba(18,20,23,.18); }
.pk-perf::before, .pk-perf::after { content: ''; position: absolute; left: -15px; width: 28px; height: 28px; border-radius: 50%; background: var(--bg); }
.pk-perf::before { top: -14px; box-shadow: inset 0 -1px 2px rgba(18,20,23,.12); }
.pk-perf::after { bottom: -14px; box-shadow: inset 0 1px 2px rgba(18,20,23,.12); }
.pk-stub-top { display: flex; align-items: flex-start; justify-content: space-between; }
.pk-stub-no { font: 800 112px/.8 var(--f-disp); font-stretch: 62.5%; letter-spacing: -.01em; color: transparent; -webkit-text-stroke: 1.4px var(--ink); }
.pk-stub h3 { margin: 34px 0 0; font: 600 26px/1.15 var(--f-ui); letter-spacing: -.02em; }
.pk-stub p { margin: 12px 0 0; font: 400 16px/1.55 var(--f-ui); color: var(--t2); }
.pk-stub .pk-lab { margin-top: 26px; }

/* ================================================================ ВНУТРЕННИЕ СТРАНИЦЫ */
.pk-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font: 500 12px/1.3 var(--f-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--t3); }
.pk-crumbs a { color: var(--t3); display: inline-flex; align-items: center; min-height: 44px; }
.pk-crumbs a:hover { color: var(--ink); }
.pk-crumbs span[aria-hidden] { opacity: .5; }
.pk-pagehead { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px 48px; align-items: end; padding-bottom: 8px; }
.pk-pagehead-tx { min-width: 0; }
.pk-pagehead .pk-eb { margin-top: 26px; }
.pk-h1-page { margin: 16px 0 0; font: 600 clamp(40px, 5vw, 72px)/1 var(--f-ui); letter-spacing: -.045em; }
.pk-lead { margin: 18px 0 0; max-width: 620px; font: 400 17px/1.55 var(--f-ui); color: var(--t2); }
.pk-head-scene { width: 300px; height: 360px; border-radius: 28px; background: #E7E9E5; box-shadow: inset 0 0 0 1px rgba(18,20,23,.06); }
.pk-head-scene .pk-persp { perspective: 1400px; perspective-origin: 50% 20%; }

/* раздел: таблица тарифов, сортировка, подбор по сумме, сетка билетиков */
.pk-cat-mx { margin-top: 40px; padding: 24px 26px 18px; border-radius: 24px; background: rgba(255,255,255,.55); box-shadow: inset 0 0 0 1px rgba(18,20,23,.06); }
.pk-tools { margin-top: 40px; display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 16px 24px; }
.pk-tools .pricepick { flex: 0 1 560px; }
.pk-sort { display: flex; flex-wrap: wrap; gap: 8px; }
.pk-sort a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1px solid rgba(18,20,23,.12); background: rgba(255,255,255,.55); font-size: 15px; }
.pk-sort a:hover { background: #fff; border-color: rgba(18,20,23,.35); }
.pk-sort a.on { background: var(--ink); color: #fff; border-color: var(--ink); }
.pk-page .pricepick { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
.pk-pricepick-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }
.pk-pricepick-row label { font: 500 11px/1.3 var(--f-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--t3); }
.pk-page .pricepick-input { display: inline-flex; align-items: center; height: 46px; padding: 0 16px; border-radius: 999px; background: #fff; border: 1px solid rgba(18,20,23,.18); max-width: 180px; }
.pk-page .pricepick-input input { width: 110px; border: 0; outline: 0; background: transparent; font: 500 16px/1 var(--f-ui); color: var(--ink); padding: 0; }
.pk-page .pricepick-cur { color: var(--t3); font-weight: 500; }
.pk-page .pricepick-range { display: block; width: 100%; max-width: 560px; margin-top: 12px; margin-left: auto; accent-color: var(--ink); height: 28px; }
.pk-page .pricepick-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.pk-page .chip-price { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid rgba(18,20,23,.12); color: var(--ink); background: rgba(255,255,255,.55); font-size: 14px; }
.pk-page .chip-price.on { background: var(--ink); color: #fff; }
.pk-pick-title { margin: 36px 0 0; font: 600 24px/1.2 var(--f-ui); letter-spacing: -.02em; }
.pk-pick-title span { color: var(--t3); font-weight: 400; }
.pk-grid { margin-top: 24px; display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 16px; }
.pk-more-wrap { display: flex; justify-content: center; margin-top: 24px; }
.pk-empty { margin-top: 34px; padding: 40px; border-radius: 26px; background: #fff; box-shadow: var(--sh-card); display: grid; justify-items: start; gap: 12px; }
.pk-empty b { font: 600 22px/1.25 var(--f-ui); letter-spacing: -.02em; }
.pk-empty p { margin: 0; color: var(--t2); max-width: 560px; }
.pk-othercats { margin-top: 56px; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.pk-othercat { position: relative; display: flex; flex-direction: column; gap: 6px; min-height: 84px; padding: 16px 18px 14px 26px; border-radius: 16px; background: rgba(255,255,255,.55); border: 1px solid rgba(18,20,23,.08); }
.pk-othercat::before { content: ''; position: absolute; left: 10px; top: 16px; bottom: 16px; width: 5px; border-radius: 3px; background-color: var(--lan, #121417); background-image: var(--woven); }
.pk-page a.pk-othercat:hover { background: #fff; color: var(--ink); }
.pk-othercat b { font: 600 16px/1.2 var(--f-ui); }
.pk-othercat span { font: 500 11px/1.3 var(--f-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--t3); }

/* поиск */
.pk-bigsearch { position: relative; margin-top: 26px; display: flex; align-items: center; gap: 10px; max-width: 760px; padding: 6px 6px 6px 20px; border-radius: 999px; background: #fff; box-shadow: var(--sh-soft); }
.pk-bigsearch > svg { width: 20px; height: 20px; color: var(--t3); flex-shrink: 0; }
.pk-bigsearch input { flex: 1; min-width: 0; height: 46px; border: 0; outline: 0; background: transparent; font: 400 17px/1 var(--f-ui); color: var(--ink); }
.pk-page .ld-suggest { position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 40; padding: 8px; border-radius: 20px; background: #fff; box-shadow: 0 1px 0 rgba(18,20,23,.06), 0 24px 60px rgba(40,44,52,.18); display: grid; gap: 2px; }
.pk-page .ld-suggest a { display: flex; align-items: center; gap: 14px; padding: 8px 12px; border-radius: 14px; color: var(--ink); }
.pk-page .ld-suggest a:hover, .pk-page .ld-suggest a.is-active { background: var(--bg); }
.pk-page .ld-suggest a > span:nth-child(2) { flex: 1; min-width: 0; display: grid; gap: 2px; font-size: 15px; }
.pk-page .ld-suggest small { font: 500 11px/1.2 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--t3); }
.pk-page .ld-suggest b { white-space: nowrap; font-weight: 600; }
.pk-page .ld-suggest .pm { font-size: 2.2px; }
.pk-page .ld-suggest .ld-suggest-all { justify-content: center; min-height: 44px; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }

/* карточка товара: большой пропуск на шнурке и правила с оборота */
.pk-pdp { margin-top: 18px; display: grid; grid-template-columns: minmax(0, 600fr) minmax(0, 664fr); gap: 48px; align-items: start; }
.pk-pdp-stage { aspect-ratio: 600 / 720; border-radius: 32px; background: #E7E9E5; box-shadow: inset 0 0 0 1px rgba(18,20,23,.06); }
.pk-pdp-stage .pk-persp { perspective: 1500px; perspective-origin: 50% 28%; }
.pk-pdp-left { position: relative; position: sticky; top: calc(var(--head-h) + 16px); }
.pk-pdp-cap { position: absolute; left: 28px; right: 28px; bottom: 22px; z-index: 3; display: flex; justify-content: space-between; align-items: center; gap: 16px; pointer-events: none; }
.pk-pdp-cap .pk-btn { pointer-events: auto; background: rgba(255,255,255,.82); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.pk-pdp-info { min-width: 0; padding-top: 6px; }
.pk-pdp-info h1 { margin: 16px 0 0; font: 600 clamp(36px, 3.9vw, 56px)/1.02 var(--f-ui); letter-spacing: -.04em; }
.pk-tags { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 8px; }
.pk-tag { display: inline-flex; align-items: center; gap: 8px; min-height: 34px; padding: 0 14px; border-radius: 999px; background: rgba(255,255,255,.7); border: 1px solid rgba(18,20,23,.1); font: 500 14px/1.2 var(--f-ui); color: var(--t4); }
.pk-tag-lan::before { content: ''; width: 5px; height: 18px; border-radius: 2px; background-color: var(--lan); background-image: var(--woven); }
.pk-pdp-price { margin-top: 26px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 16px; }
.pk-pdp-price .price { font: 600 56px/1 var(--f-ui); letter-spacing: -.04em; color: var(--ink); }
.pk-pdp-price s { font: 400 20px/1 var(--f-ui); color: var(--strike); }
.pk-pdp-price .pk-sum-off { align-self: center; }
.pk-pdp-buy { margin-top: 22px; display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; }
.pk-qty { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 8px 0 18px; border-radius: 999px; background: #fff; border: 1px solid rgba(18,20,23,.18); }
.pk-qty span { font: 500 11px/1 var(--f-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--t3); }
.pk-qty input { width: 54px; height: 40px; border: 0; outline: 0; background: transparent; font: 600 17px/1 var(--f-ui); color: var(--ink); text-align: center; }
.pk-facts { margin: 28px 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
.pk-facts > div { padding: 14px 0; border-top: 1px solid var(--line); }
.pk-facts dt { font: 500 11px/1.3 var(--f-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--t3); }
.pk-facts dd { margin: 6px 0 0; font: 500 16px/1.4 var(--f-ui); }
.pk-pdp-desc { margin-top: 26px; padding: 24px 26px; border-radius: 22px; background: #fff; box-shadow: var(--sh-soft); }
.pk-pdp-desc h2 { margin: 0; font: 600 20px/1.2 var(--f-ui); letter-spacing: -.01em; }
.pk-pdp-desc p { margin: 10px 0 0; color: var(--t2); }
.pk-pdp-ask { padding: 12px 14px; border-radius: 14px; background: var(--bg); color: var(--ink) !important; }
.pk-out { margin-top: 22px; padding: 16px 18px; border-radius: 16px; background: #fff; color: var(--t2); }
.pk-pdp-rules { margin-top: 96px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
.pk-rules-ol { margin: 24px 0 0; padding: 0; list-style: none; counter-reset: r; display: grid; }
.pk-rules-ol li { counter-increment: r; display: grid; grid-template-columns: 52px 1fr; gap: 4px; padding: 16px 0; border-top: 1px solid var(--line); }
.pk-rules-ol li::before { content: counter(r, decimal-leading-zero); font: 500 13px/1.6 var(--f-mono); letter-spacing: .1em; color: var(--t3); }
.pk-rules-ol b { display: block; font: 600 17px/1.3 var(--f-ui); }
.pk-rules-ol span { display: block; margin-top: 4px; color: var(--t2); }
.pk-timeline { margin: 24px 0 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.pk-timeline li { position: relative; display: grid; gap: 4px; padding: 18px 20px 18px 66px; border-radius: 18px; background: #fff; box-shadow: var(--sh-soft); }
.pk-timeline li::before { content: attr(data-n); position: absolute; left: 20px; top: 16px; font: 800 30px/1 var(--f-disp); font-stretch: 62.5%; color: transparent; -webkit-text-stroke: 1.1px var(--ink); }
.pk-timeline b { font: 600 17px/1.3 var(--f-ui); }
.pk-timeline span { color: var(--t2); }
.pk-reviews { margin-top: 72px; }
.pk-review { padding: 16px 0; border-top: 1px solid var(--line); }
.pk-review p { margin: 6px 0 0; color: var(--t2); }
.pk-page .stars-static span { color: rgba(18,20,23,.22); }
.pk-page .stars-static span.on { color: #C98A00; }
.pk-related { margin-top: 80px; }
.pk-related-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }

/* корзина */
.pk-cart-wrap { margin-top: 30px; display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; align-items: start; }
.pk-lines { display: grid; gap: 12px; }
.pk-line { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 22px; padding: 18px 24px 18px 22px; border-radius: 22px; background: #fff; box-shadow: var(--sh-soft); }
.pk-line .pm { font-size: 4.4px; }
.pk-line-info { min-width: 0; display: grid; gap: 6px; }
.pk-line-title { font: 600 18px/1.25 var(--f-ui); letter-spacing: -.01em; }
.pk-line-sub { color: var(--t3); font-size: 14px; }
.pk-line-time { font: 500 11px/1.3 var(--f-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--t4); }
.pk-line-ctrl { margin-top: 6px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pk-line-ctrl form { display: flex; align-items: center; gap: 8px; }
.pk-line-ctrl input[type=number] { width: 64px; height: 44px; padding: 0 10px; border-radius: 12px; border: 1px solid rgba(18,20,23,.18); background: #fff; font: 600 16px/1 var(--f-ui); color: var(--ink); text-align: center; }
.pk-rm { min-height: 44px; padding: 0 14px; border: 0; background: none; color: var(--t3); font: 500 14px/1 var(--f-ui); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.pk-rm:hover { color: var(--c-red); }
.pk-line-sum { font: 600 20px/1 var(--f-ui); white-space: nowrap; letter-spacing: -.01em; }
.pk-total { position: sticky; top: calc(var(--head-h) + 16px); display: grid; gap: 12px; padding: 26px; border-radius: 24px; background: #fff; box-shadow: var(--sh-card); }
.pk-total-sum { font: 600 48px/1 var(--f-ui); letter-spacing: -.04em; }
.pk-total-meta { color: var(--t3); font-size: 14px; }
.pk-total .pk-btn { width: 100%; }

/* оформление: «пропускной пункт» */
.pk-co { margin-top: 30px; display: grid; grid-template-columns: minmax(0, 460px) minmax(0, 1fr); gap: 32px; align-items: start; }
.pk-co-side { display: grid; gap: 14px; padding: 26px; border-radius: 26px; background: #fff; box-shadow: var(--sh-card); }
.pk-co-ring { display: flex; gap: 14px; padding: 6px 0 14px; overflow: hidden; }
.pk-co-ring .pm { font-size: 4px; }
.pk-co-list { list-style: none; margin: 0; padding: 0; display: grid; }
.pk-co-list li { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px solid var(--line); }
.pk-co-list li span { display: grid; gap: 3px; font-weight: 500; }
.pk-co-list small { font: 500 11px/1.3 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--t3); }
.pk-co-list b { white-space: nowrap; }
.pk-co-total { display: flex; justify-content: space-between; align-items: baseline; padding-top: 14px; border-top: 1px solid var(--line2); }
.pk-co-total b { font: 600 32px/1 var(--f-ui); letter-spacing: -.03em; }
.pk-co-edit { font-size: 14px; text-decoration: underline; text-underline-offset: 3px; justify-self: start; display: inline-flex; min-height: 44px; align-items: center; }
.pk-co-main { display: grid; gap: 16px; padding: 30px; border-radius: 26px; background: #fff; box-shadow: var(--sh-card); }
.pk-co-email { margin: 0; font-size: 17px; }
.pk-co-hint { margin: -6px 0 0; color: var(--t3); font-size: 14px; }
.pk-terms-box { display: grid; gap: 8px; padding: 18px 20px; border-radius: 18px; background: var(--bg); font-size: 14px; line-height: 1.55; color: var(--t4); }
.pk-terms-box p { margin: 0; }
.pk-co-next { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; counter-reset: s; }
.pk-co-next li { counter-increment: s; display: flex; gap: 12px; color: var(--t2); font-size: 14px; }
.pk-co-next li::before { content: counter(s, decimal-leading-zero); font: 500 12px/1.7 var(--f-mono); color: var(--t3); }
.pk-page .fld { display: grid; gap: 8px; }
.pk-page .fld span { font: 500 11px/1.3 var(--f-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--t3); }
.pk-page .fld input, .pk-page .fld textarea, .pk-page .fld select { box-sizing: border-box; width: 100%; min-height: 54px; padding: 0 18px; border-radius: 14px; border: 1px solid rgba(18,20,23,.18); background: #fff; color: var(--ink); font: 400 16px/1.3 var(--f-ui); outline: none; }
.pk-page .fld textarea { padding: 14px 18px; }
.pk-page .fld input:focus, .pk-page .fld textarea:focus { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(18,20,23,.08); }
.pk-page .fld input::placeholder { color: #75787E; }
.pk-page .fld-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pk-page .fld-consent { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border-radius: 16px; border: 1px solid rgba(18,20,23,.14); font-size: 14px; line-height: 1.5; color: var(--t4); cursor: pointer; }
.pk-page .fld-consent input { width: 22px; height: 22px; margin-top: 1px; accent-color: var(--ink); flex-shrink: 0; }
.pk-page .fld-consent a { text-decoration: underline; text-underline-offset: 2px; }

/* заказ */
.pk-order-tl { margin: 26px 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.pk-order-tl li { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 18px 0 8px; border-radius: 999px; background: rgba(255,255,255,.55); border: 1px solid rgba(18,20,23,.1); color: var(--t3); }
.pk-order-tl li b { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; font: 600 12px/1 var(--f-mono); background: #fff; color: var(--t3); box-shadow: inset 0 0 0 1px rgba(18,20,23,.14); }
.pk-order-tl li.now { color: var(--ink); background: #fff; border-color: rgba(18,20,23,.3); }
.pk-order-tl li.now b { background: var(--ink); color: #fff; box-shadow: none; }
.pk-order-tl li.done { color: var(--ink); }
.pk-order-tl li.done b { background: var(--holo); color: var(--ink); box-shadow: none; }
.pk-page .order-wrap { max-width: none; margin: 30px 0 0; display: grid; grid-template-columns: minmax(0, 440px) minmax(0, 1fr); gap: 32px; align-items: start; }
.pk-receipt-side { display: grid; gap: 4px; padding: 24px; border-radius: 26px; background: #fff; box-shadow: var(--sh-card); }
.pk-receipt-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 10px; }
.pk-page .order-product { display: flex; align-items: center; gap: 16px; padding: 12px 0; border: 0; border-top: 1px solid var(--line); background: none; border-radius: 0; box-shadow: none; }
.pk-page .order-product .pm { font-size: 3.4px; }
.pk-page .order-product .pcard-title { font-weight: 600; font-size: 15px; line-height: 1.3; }
.pk-page .order-product .price { margin-left: auto; font-weight: 600; white-space: nowrap; color: var(--ink); }
.pk-page .order-bill { display: grid; place-items: center; width: 54px; height: 64px; border-radius: 12px; background: var(--bg); color: var(--t3); flex-shrink: 0; }
.pk-page .order-bill svg { width: 28px; height: 28px; }
.pk-page .order-total { display: flex; justify-content: space-between; padding: 14px 0 4px; border-top: 1px solid var(--line2); font-size: 18px; }
.pk-receipt-meta { margin: 10px 0 0; display: grid; gap: 0; }
.pk-receipt-meta > div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-top: 1px solid var(--line); font-size: 14px; }
.pk-receipt-meta dt { color: var(--t3); }
.pk-receipt-meta dd { margin: 0; font-weight: 500; text-align: right; overflow-wrap: anywhere; }
.pk-receipt-main { display: grid; gap: 18px; }
.pk-page .status { display: inline-flex; align-items: center; min-height: 30px; padding: 0 12px; border-radius: 999px; font: 500 11px/1 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; border: 1px solid; background: #fff; }
.pk-page .status-new { color: #8A5300; border-color: #E2B45A; background: #FFF7E6; }
.pk-page .status-reported, .pk-page .status-paid { color: #1A45B8; border-color: #9DB5F2; background: #EEF3FF; }
.pk-page .status-done { color: #11733A; border-color: #94D3AC; background: #EDF8F1; }
.pk-page .status-cancelled { color: var(--t3); border-color: var(--line2); }
.pk-page .pay, .pk-page .pay-none, .pk-page .wait, .pk-page .review-box, .pk-page .claim-card { margin: 0; padding: 28px; border-radius: 26px; background: #fff; border: 0; box-shadow: var(--sh-card); color: var(--ink); }
.pk-page .pay { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 28px; align-items: start; }
.pk-page .qr-box { padding: 14px; border-radius: 20px; background: #fff; box-shadow: inset 0 0 0 1px rgba(18,20,23,.12); }
.pk-page .steps > li::before { background: var(--ink); color: #fff; font-family: var(--f-mono); }
.pk-page .amount { font: 600 34px/1 var(--f-ui); letter-spacing: -.03em; }
.pk-page .btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0 22px; border-radius: 999px; background: var(--ink); color: #fff; border: 1px solid var(--ink); font: 500 15px/1 var(--f-ui); }
.pk-page .btn:hover { filter: none; transform: none; background: var(--ink2); }
.pk-page .btn-ghost { background: transparent; color: var(--ink); border: 1px solid rgba(18,20,23,.24); }
.pk-page .btn-ghost:hover { background: #fff; border-color: var(--ink); }
.pk-page .btn-lg { min-height: 56px; width: 100%; font-size: 17px; }
.pk-page .btn-block { width: 100%; }
.pk-page .linklike { color: var(--t3); font: 500 14px/1.3 var(--f-ui); min-height: 44px; }
.pk-page .cancel-box { margin-top: -6px; }
.pk-page .cancel-box summary { display: inline-flex; align-items: center; min-height: 44px; cursor: pointer; }
.pk-page .cancel-form textarea, .pk-page .review-box textarea, .pk-page .review-author { background: #fff; color: var(--ink); border: 1px solid rgba(18,20,23,.18); border-radius: 14px; font: 400 15px/1.4 var(--f-ui); }
.pk-page .btn-cancel-big { background: #fff; color: var(--c-red); border: 1px solid rgba(179,38,30,.4); }
.pk-page .wait h2, .pk-page .pay-none h2, .pk-page .review-box h2 { font: 600 24px/1.2 var(--f-ui); letter-spacing: -.02em; }
.pk-page .pulse { background: var(--holo); }
.pk-page .bigmark { background: var(--ink); color: #fff; }
.pk-page .delivery-letter { margin-top: 18px; padding: 18px; border-radius: 18px; background: var(--bg); border: 0; }
.pk-page .dl-body { color: var(--ink); font: 500 13px/1.6 var(--f-mono); }
.pk-pay-wait { display: flex; gap: 6px; margin-bottom: 14px; }
.pk-pay-wait span { width: 10px; height: 10px; border-radius: 50%; background: var(--ink); animation: pkDot 1.2s ease-in-out infinite; }
.pk-pay-wait span:nth-child(2) { animation-delay: .15s; } .pk-pay-wait span:nth-child(3) { animation-delay: .3s; }
@keyframes pkDot { 0%, 100% { opacity: .2; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-4px); } }
.pk-pay-contacts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }

/* вход, регистрация */
.pk-auth { margin-top: 30px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 520px); gap: 48px; align-items: center; }
.pk-auth-aside { position: relative; min-height: 540px; border-radius: 32px; background: #E7E9E5; overflow: hidden; }
.pk-auth-aside .pk-scene { position: absolute; inset: 0; }
.pk-auth-aside .pk-persp { perspective: 1500px; perspective-origin: 50% 24%; }
.pk-auth-points { position: absolute; left: 28px; right: 28px; bottom: 24px; z-index: 3; margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.pk-auth-points li { font: 500 11px/1.4 var(--f-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--t4); }
.pk-auth-main h1 { margin: 14px 0 0; font: 600 clamp(40px, 4.4vw, 60px)/1 var(--f-ui); letter-spacing: -.04em; }
.pk-auth-lead { margin: 14px 0 0; color: var(--t2); font-size: 17px; }
.pk-form { margin-top: 26px; display: grid; gap: 14px; padding: 28px; border-radius: 26px; background: #fff; box-shadow: var(--sh-card); }
.pk-form-alt { margin: 0; color: var(--t3); font-size: 15px; }
.pk-form-alt a { font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* кабинет */
.pk-cab-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px; }
.pk-cab-head h1 { margin: 14px 0 0; font: 600 clamp(36px, 4.2vw, 56px)/1 var(--f-ui); letter-spacing: -.04em; }
.pk-cab-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pk-cab-actions form { display: inline-flex; }
.pk-page .cab-stats { margin-top: 30px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.pk-page .cab-stat { display: grid; gap: 6px; padding: 22px; border-radius: 22px; background: #fff; border: 0; box-shadow: var(--sh-soft); }
.pk-page .cab-stat b { font: 600 32px/1 var(--f-ui); letter-spacing: -.03em; }
.pk-page .cab-stat-label { font: 500 11px/1.3 var(--f-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--t3); }
.pk-page .cab-stat-main { background: var(--ink); color: #fff; }
.pk-page .cab-stat-main .cab-stat-label, .pk-page .cab-stat-main .fine { color: #C9CBCF; }
.pk-page .cab-stat-main b { color: #fff; }
.pk-orows { margin-top: 18px; display: grid; gap: 10px; }
.pk-orow { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 18px; padding: 14px 22px 14px 18px; border-radius: 20px; background: #fff; box-shadow: var(--sh-soft); color: var(--ink); }
.pk-page a.pk-orow:hover { color: var(--ink); box-shadow: 0 1px 0 rgba(18,20,23,.04), 0 18px 40px rgba(40,44,52,.12); }
.pk-orow .pm { font-size: 3px; }
.pk-orow-main { display: grid; gap: 4px; min-width: 0; }
.pk-orow-main b { font: 600 16px/1.3 var(--f-ui); }
.pk-orow-main span { font: 500 12px/1.3 var(--f-mono); letter-spacing: .06em; color: var(--t3); }
.pk-orow .price { font-weight: 600; white-space: nowrap; }
.pk-page .tbl-bill { display: grid; place-items: center; width: 48px; height: 58px; border-radius: 10px; background: var(--bg); color: var(--t3); }
.pk-page .tbl-bill svg { width: 24px; height: 24px; }

/* документы, вопросы, контакты, оплата */
.pk-doc { max-width: 860px; margin-top: 26px; }
.pk-doc h1 { margin: 14px 0 0; font: 600 clamp(38px, 4.4vw, 60px)/1.02 var(--f-ui); letter-spacing: -.04em; }
.pk-doc h2 { margin: 36px 0 0; font: 600 22px/1.25 var(--f-ui); letter-spacing: -.015em; }
.pk-doc p, .pk-doc li { color: var(--t4); font-size: 16px; line-height: 1.65; }
.pk-doc p { margin: 12px 0 0; }
.pk-doc ul, .pk-doc ol { margin: 12px 0 0; padding-left: 22px; display: grid; gap: 6px; }
.pk-doc .mut, .pk-doc-lead { color: var(--t2); font-size: 17px; }
.pk-doc details { margin-top: 10px; border-radius: 20px; background: #fff; box-shadow: var(--sh-soft); }
.pk-doc summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; padding: 0 24px; cursor: pointer; list-style: none; font: 600 17px/1.3 var(--f-ui); }
.pk-doc summary::-webkit-details-marker { display: none; }
.pk-doc summary::after { content: '+'; display: grid; place-items: center; flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(18,20,23,.2); font: 400 20px/1 var(--f-ui); transition: transform .25s; }
.pk-doc details[open] summary::after { transform: rotate(45deg); }
.pk-doc details p { margin: 0; padding: 0 24px 22px; }
.pk-doc-cta { margin-top: 34px; }
.pk-page .pay-logos-row { margin-top: 20px; }
.pk-page .contact-grid { margin-top: 26px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.pk-page .ccard { padding: 26px; border-radius: 24px; background: #fff; border: 0; box-shadow: var(--sh-soft); }
.pk-page .ccard h2 { margin: 0 0 12px; font-size: 20px; }
.pk-page .contact-big { font: 600 26px/1.2 var(--f-ui); color: var(--ink); }
.pk-page .req-row { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px solid var(--line); }
.pk-page .req-label { color: var(--t3); font-size: 14px; }
.pk-page .req-value { font-weight: 500; text-align: right; }
.pk-page .btn-xs { min-height: 32px; padding: 0 10px; font-size: 12px; }

/* 404 */
.pk-404 { margin-top: 20px; display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: 40px; align-items: center; }
.pk-404-stage { height: 520px; border-radius: 32px; background: #E7E9E5; }
.pk-404-stage .pk-persp { perspective: 1500px; perspective-origin: 50% 20%; }

/* ================================================================ адаптив */
@media (max-width: 1320px) {
  .pk-nav { gap: 16px; }
  .pk-nav a { font-size: 14px; }
}
@media (max-width: 1260px) {
  .pk-nav { display: none; }
  .pk-burger { display: block; }
}
@media (max-width: 1100px) {
  :root { --gut: 32px; }
  .pk-hero-row { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .pk-build-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; }
  .pk-svcs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pk-terms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pk-what-grid { grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 32px; }
  .pk-mx-r { grid-template-columns: 6px minmax(0, 150px) minmax(0, 100px) repeat(4, minmax(0, 1fr)); }
  .pk-tks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pk-stub { padding: 36px 30px 32px; }
  .pk-pdp, .pk-co, .pk-auth { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; }
  .pk-cart-wrap { grid-template-columns: minmax(0, 1fr) 320px; }
  .pk-page .order-wrap { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
  :root { --head-h: 64px; }
  .pk-hero { --stage-h: min(540px, 92.3vw); }
  .pk-sec { margin-top: 84px; }
  .pk-sec-head { flex-direction: column; align-items: flex-start; gap: 14px; }
  .pk-build-grid, .pk-what-grid, .pk-pdp, .pk-co, .pk-auth, .pk-404, .pk-pdp-rules { grid-template-columns: minmax(0, 1fr); }
  .pk-booth { position: relative; top: 0; }
  .pk-booth-stage { aspect-ratio: auto; height: min(118vw, 520px); }
  .pk-svcs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pk-terms { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pk-rules-stage { aspect-ratio: auto; height: min(166vw, 760px); max-width: 520px; margin-inline: auto; }
  .pk-pdp-left { position: relative; top: 0; }
  .pk-pdp-stage { aspect-ratio: auto; height: min(112vw, 560px); }
  .pk-pdp-rules { margin-top: 64px; }
  .pk-cart-wrap { grid-template-columns: minmax(0, 1fr); }
  .pk-total { position: relative; top: 0; }
  .pk-head-scene { display: none; }
  .pk-pagehead { grid-template-columns: minmax(0, 1fr); }
  .pk-auth-aside { min-height: 380px; }
  .pk-404-stage { height: 420px; }
}
@media (max-width: 720px) {
  :root { --gut: 16px; }
  .pk-word { font-size: 15px; letter-spacing: .22em; }
  .pk-mark { width: 21px; height: 28px; }
  .pk-hide-s { display: none !important; }
  .pk-head-actions { gap: 6px; }
  .pk-cart { padding: 0 6px 0 14px; gap: 8px; }
  .pk-cart-lbl { display: none; }
  .pk-cart::before { content: ''; width: 18px; height: 18px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h12l-1 13H7z'/%3E%3Cpath d='M9 7a3 3 0 0 1 6 0'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h12l-1 13H7z'/%3E%3Cpath d='M9 7a3 3 0 0 1 6 0'/%3E%3C/svg%3E") center / contain no-repeat; }
  .pk-h1 { font-size: clamp(38px, 11.4vw, 60px); letter-spacing: -.05em; }
  .pk-hero-row { margin-top: 26px; }
  .pk-hero-lead p { font-size: 16px; }
  .pk-lots { grid-template-columns: minmax(0, 1fr); }
  .pk-lot { min-height: 68px; }
  .pk-svcs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pk-svc { min-height: 54px; font-size: 14px; gap: 9px; padding: 0 10px; }
  .pk-terms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pk-term { min-height: 84px; }
  .pk-sum { padding: 22px 18px 20px; border-radius: 22px; }
  .pk-sum-big { font-size: 44px; }
  .pk-sum-form { flex-direction: column; }
  .pk-sum-toast { left: 12px; right: 12px; }
  .pk-booth-cap { left: 18px; right: 18px; bottom: 16px; }
  .pk-booth-stage, .pk-pdp-stage { border-radius: 24px; }
  /* таблица цен на телефоне — карточками: тариф, под ним сроки */
  .pk-mx-hr { display: none; }
  .pk-mx-r { grid-template-columns: 6px minmax(0, 1fr); grid-template-areas: "sw svc" "sw tier" "sw cells"; column-gap: 12px; padding: 12px 0; }
  .pk-mx-r > .pk-lot-sw { grid-area: sw; height: 100%; min-height: 36px; align-self: stretch; }
  .pk-mx-svc { grid-area: svc; }
  .pk-mx-svc.is-cont { display: none; }
  .pk-mx-tier { grid-area: tier; margin-top: 2px; }
  .pk-mx-cells { grid-area: cells; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin-top: 8px; }
  .pk-mx-c { min-height: 54px; padding: 6px 8px; background: rgba(255,255,255,.6); white-space: normal; }
  .pk-mx-none { background: rgba(255,255,255,.3); }
  .pk-mx-m { display: block; font: 500 10px/1 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--t3); }
  .pk-mx-on .pk-mx-m { color: #C9CBCF; }
  .pk-tks { grid-template-columns: minmax(0, 1fr); }
  .pk-stubs { grid-template-columns: minmax(0, 1fr); }
  .pk-perf { border-left: 0; border-top: 2px dashed rgba(18,20,23,.18); }
  .pk-perf::before { left: -14px; top: -15px; } .pk-perf::after { left: auto; right: -14px; top: -15px; bottom: auto; }
  .pk-stub { padding: 30px 22px 26px; }
  .pk-stub-no { font-size: 84px; }
  .pk-stub h3 { margin-top: 22px; font-size: 22px; }
  .pk-grid { grid-template-columns: minmax(0, 1fr); }
  .pk-line { grid-template-columns: auto minmax(0, 1fr); padding: 16px; gap: 14px; }
  .pk-line-sum { grid-column: 2; }
  .pk-line .pm { font-size: 3.4px; }
  .pk-facts { grid-template-columns: minmax(0, 1fr); }
  .pk-pdp-price .price, .pk-total-sum { font-size: 44px; }
  .pk-pdp-buy .pk-btn { flex: 1 1 100%; }
  .pk-qty { flex: 1 1 100%; justify-content: space-between; }
  .pk-co-main, .pk-co-side, .pk-form { padding: 20px; }
  .pk-page .fld-row { grid-template-columns: minmax(0, 1fr); }
  .pk-page .pay { grid-template-columns: minmax(0, 1fr); justify-items: center; padding: 22px; }
  .pk-page .pay-steps { justify-self: stretch; }
  .pk-orow { grid-template-columns: auto minmax(0, 1fr); gap: 12px; padding: 12px 14px; }
  .pk-orow .status, .pk-orow .price { grid-column: 2; justify-self: start; }
  .pk-page .cab-stats { grid-template-columns: minmax(0, 1fr); }
  .pk-page .contact-grid { grid-template-columns: minmax(0, 1fr); }
  .pk-foot-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px 16px; }
  .pk-foot-brand { grid-column: 1 / -1; }
  .pk-tools { flex-direction: column; align-items: stretch; }
  .pk-tools .pricepick { flex: none; }                 /* в колонке 560px основы стали бы высотой */
  .pk-cat-mx { padding: 16px 16px 10px; }
  .pk-auth-aside { min-height: 280px; order: 2; }
  .pk-auth-points { display: none; }
  .pk-doc summary { padding: 14px 18px; min-height: 58px; font-size: 16px; }
  .pk-doc details p { padding: 0 18px 18px; }
}
@media (max-width: 400px) {
  .pk-word { letter-spacing: .16em; }
  .pk-svcs { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .pk-sum-big { font-size: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .pk-mark, .pk-holo, .pk-woven-t, .pk-w > span, .pk-toast, .pk-sum-toast, .pk-ul::after, .pk-nav a.on::after, .pk-pay-wait span { animation: none; }
  .pk-btn, .pk-lot, .pk-svc, .pk-mx-c, .pk-tk, .pk-add { transition: none; }
  .pk-tk:hover { transform: none; }
}
