@font-face{font-family:"Golos Text";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/GolosText-normal-cyrillic.woff2) format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/GolosText-normal-latin.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:"Literata";font-style:italic;font-weight:400 700;font-display:swap;src:url(fonts/Literata-italic-cyrillic.woff2) format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:"Literata";font-style:italic;font-weight:400 700;font-display:swap;src:url(fonts/Literata-italic-latin.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:"Literata";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/Literata-normal-cyrillic.woff2) format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:"Literata";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/Literata-normal-latin.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:"PT Mono";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/PTMono-normal-cyrillic.woff2) format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:"PT Mono";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/PTMono-normal-latin.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}
/* Сцена за сценой — стили. Оливковая стена, фиолетовые панели, коралловый реквизит. */
:root{
  --bg:#191a10;--bg2:#212218;--card:#241f2e;--card2:#2d2739;
  --olive:#6c6e2e;--olive-l:#7c7f3c;--olive-d:#4f5226;
  --violet:#5a4a82;--violet-d:#3d3159;--lav:#b6a8dd;--lav-l:#d6ccf3;
  --coral:#ec8a74;--coral-d:#9c4536;--chart:#d7db62;--bone:#ede4cd;--paper:#f3ecda;--ink:#1a1420;--ink2:#4c4354;
  --text:#ede7d3;--soft:#cec7d6;--mute:#9d97a5;--line:rgba(237,231,211,.12);--line2:rgba(237,231,211,.22);
  --ok:#4f9a72;--bad:#e0705c;
  --stage-bg:#1d1b14;--ceil1:#5f5c48;--ceil2:#908b73;--wall1:#666a2e;--wall2:#555926;--wall3:#45481f;--side1:#2b2d16;--side2:#454820;--sidefl:#3b3058;
  --floor-c:#3b3d1f;--check-a:#d9d3bd;--check-b:#6a6b3a;--wfl1:#5a4a82;--wfl2:#463a68;--wfl-hi:#7a69a8;--lav-dep:#6d5ca3;
  --cur1:#3e3260;--cur2:#4b3d74;--cur3:#352a52;--cur4:#2c2346;--cur-top:#2a2140;
  --fd:"Literata",Georgia,serif;--f:"Golos Text",system-ui,-apple-system,"Segoe UI",sans-serif;--fm:"PT Mono",ui-monospace,monospace;
  --gut:20px;--max:1180px;--r:18px;--ease:cubic-bezier(.16,1,.3,1);--safe-b:env(safe-area-inset-bottom,0px);
  --noise:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  color-scheme:dark;
}
@view-transition{navigation:auto}
::view-transition-old(root){animation:vtOut .22s ease-in both}
::view-transition-new(root){animation:vtIn .45s var(--ease) both}
@keyframes vtOut{to{opacity:0}}
@keyframes vtIn{from{opacity:0;transform:translateY(10px)}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100svh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-family:var(--f);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
body::after{content:"";position:fixed;inset:0;z-index:300;pointer-events:none;background-image:var(--noise);opacity:.08;mix-blend-mode:overlay}
main{flex:1}
::selection{background:var(--lav);color:var(--ink)}
img,svg{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
h1,h2,h3{font-family:var(--fd);font-weight:500;line-height:1.08;letter-spacing:-.015em;margin:0;text-wrap:balance;overflow-wrap:break-word}
h1 em,h2 em,h3 em{font-style:italic;font-weight:400}
p{margin:0;text-wrap:pretty}
:focus-visible{outline:2px solid var(--lav);outline-offset:3px;border-radius:8px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{color:var(--mute)}
.mono{font-family:var(--fm)}
[hidden]{display:none!important}

/* ---------- полоса демо и предупреждение без скриптов ---------- */
.demo{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:6px var(--gut);background:var(--lav);color:var(--ink);font-family:var(--fm);font-size:12.5px;text-align:center;line-height:1.4}
.demo button{text-decoration:underline;text-underline-offset:3px}
.nojs{padding:10px var(--gut);background:var(--chart);color:var(--ink);font-size:14px;text-align:center}

/* ---------- шапка ---------- */
.hd{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hd .wrap{display:flex;align-items:center;gap:14px;height:64px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--fd);font-style:italic;font-size:19px;white-space:nowrap;text-decoration:none;margin-right:auto}
.logo i{width:24px;height:24px;flex:none;border-radius:50%;background:radial-gradient(circle at 38% 35%,#f6d9a2,#e2a35f 60%,#b8723f);box-shadow:inset -3px -3px 0 rgba(150,90,40,.35)}
.nav{display:none;gap:4px;font-size:15px}
.nav a{padding:8px 12px;border-radius:999px;color:var(--soft);text-decoration:none;transition:color .2s,background .2s}
.nav a:hover{color:var(--text);background:rgba(237,231,211,.06)}
.nav a[aria-current=page]{color:var(--ink);background:var(--lav)}
.auth{display:flex;align-items:center;gap:8px}
.hd-link{display:inline-flex;align-items:center;min-height:42px;padding:0 10px;font-size:15px;color:var(--soft);text-decoration:none}
.hd-link:hover{color:var(--text)}
.ava{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--violet);color:var(--text);font-weight:600;font-size:13px;flex:none}
/* мобильное меню — на <details>, работает и без скриптов */
.mnav{position:static}
.mnav summary{list-style:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line2);display:grid;place-items:center;cursor:pointer}
.mnav summary::-webkit-details-marker{display:none}
.mnav .x{display:none}
.hd:has(.mnav[open]){background:var(--bg)}
.mnav[open] .x{display:block}
.mnav[open] .b{display:none}
.mnav-panel{position:absolute;left:0;right:0;top:64px;background:var(--bg);border-bottom:1px solid var(--line);padding:10px var(--gut) 22px;box-shadow:0 30px 40px -20px rgba(0,0,0,.7);animation:drop .3s var(--ease)}
@keyframes drop{from{opacity:0;transform:translateY(-8px)}}
.mnav-panel a{display:flex;justify-content:space-between;align-items:center;padding:15px 4px;border-bottom:1px solid var(--line);font-family:var(--fd);font-size:24px;text-decoration:none}
.mnav-panel a[aria-current=page]{color:var(--lav)}
.mnav-panel .btn{margin-top:18px;width:100%;justify-content:center;padding:0 24px;border-bottom:0;font-family:var(--f);font-size:16px}

/* ---------- кнопки: «игровые», нажимаются физически ---------- */
.btn{--dep:var(--coral-d);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 24px;border-radius:16px;background:var(--coral);color:var(--ink);font-weight:600;font-size:16px;line-height:1.2;text-decoration:none;white-space:nowrap;box-shadow:0 5px 0 var(--dep);transform:translateY(0);transition:transform .14s var(--ease),box-shadow .14s var(--ease),background .2s;margin-bottom:5px;-webkit-tap-highlight-color:transparent;user-select:none}
.btn .ic{transition:transform .25s var(--ease)}
.btn:hover{background:#f29c87;transform:translateY(-2px);box-shadow:0 7px 0 var(--dep)}
.btn:hover .ic{transform:translateX(3px)}
.btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--dep)}
.btn.v2{--dep:var(--lav-dep);background:var(--lav);color:var(--ink)}
.btn.v2:hover{background:var(--lav-l)}
.btn.ghost{--dep:var(--violet-d);background:var(--card);color:var(--text);box-shadow:0 5px 0 var(--dep),inset 0 0 0 1.5px color-mix(in srgb,var(--lav) 45%,transparent)}
.btn.ghost:hover{background:var(--card2);box-shadow:0 7px 0 var(--dep),inset 0 0 0 1.5px var(--lav)}
.btn.ghost:active{box-shadow:0 1px 0 var(--dep),inset 0 0 0 1.5px var(--lav)}
.btn.ink{--dep:#000;background:var(--ink);color:var(--paper)}
.btn.ink:hover{background:#2a2232}
.btn.sm{min-height:42px;padding:0 16px;font-size:15px;border-radius:13px;box-shadow:0 4px 0 var(--dep);margin-bottom:4px}
.btn.sm:hover{box-shadow:0 6px 0 var(--dep)}
.btn.wide{width:100%}
.btn[disabled],.btn.busy{opacity:.65;pointer-events:none}
.tlink{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;color:var(--lav);text-decoration:none;border-bottom:1.5px solid color-mix(in srgb,var(--lav) 40%,transparent)}
.tlink:hover{color:var(--lav-l);border-color:var(--lav-l)}
.tlink .ic{transition:transform .25s var(--ease)}
.tlink:hover .ic{transform:translateX(3px)}
.spin{width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(26,20,32,.25);border-top-color:currentColor;animation:sp .8s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}

/* ---------- сцена-диорама ---------- */
.stage{--side:20px;--ceil:28px;--floor:92px;position:relative;isolation:isolate;padding:var(--ceil) var(--side) var(--floor);background:var(--stage-bg);overflow:hidden;border-radius:0}
.stage>.ceil,.stage>.lw,.stage>.rw,.stage>.floor{position:absolute;z-index:-1}
.stage>.ceil{left:0;right:0;top:0;height:var(--ceil);background:linear-gradient(var(--ceil1),var(--ceil2));clip-path:polygon(0 0,100% 0,calc(100% - var(--side)) 100%,var(--side) 100%)}
.stage>.lw,.stage>.rw{top:0;bottom:0;width:var(--side)}
.stage>.lw{left:0;background:linear-gradient(to bottom,transparent 64%,var(--sidefl) 64%),linear-gradient(90deg,var(--side1),var(--side2));clip-path:polygon(0 0,100% var(--ceil),100% calc(100% - var(--floor)),0 100%)}
.stage>.rw{right:0;background:linear-gradient(to bottom,transparent 64%,var(--sidefl) 64%),linear-gradient(270deg,var(--side1),var(--side2));clip-path:polygon(0 var(--ceil),100% 0,100% 100%,0 calc(100% - var(--floor)))}
.stage>.floor{left:0;right:0;bottom:0;height:var(--floor);overflow:hidden;background:var(--floor-c);clip-path:polygon(var(--side) 0,calc(100% - var(--side)) 0,100% 100%,0 100%)}
.checks{position:absolute;left:-80%;right:-80%;bottom:0;height:520%;transform-origin:50% 100%;transform:perspective(260px) rotateX(68deg);background:repeating-conic-gradient(var(--check-a) 0 25%,var(--check-b) 0 50%) 50% 100%/64px 64px}
.floor::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(10,8,14,.55),transparent 60%)}
.wall{position:relative;z-index:0;padding:28px 20px 130px;background:radial-gradient(ellipse at 40% 18%,var(--wall1),var(--wall2) 62%,var(--wall3));box-shadow:inset 0 0 90px rgba(0,0,0,.36)}
.wall::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.2) 0 1.5px,transparent 1.5px) 0 0/25% 100%,linear-gradient(var(--wfl1),var(--wfl2));box-shadow:inset 0 5px 0 var(--wfl-hi)}
.wall>*{position:relative;z-index:2}
.spot{position:absolute;inset:0;z-index:4;pointer-events:none;background:radial-gradient(circle at var(--sx) var(--sy),rgba(255,236,190,.2),rgba(255,236,190,.06) 22%,transparent 42%);mix-blend-mode:screen;animation:sweep 14s ease-in-out infinite alternate}
.spot.follow{animation:none}
@property --sx{syntax:'<percentage>';inherits:false;initial-value:35%}
@property --sy{syntax:'<percentage>';inherits:false;initial-value:40%}
@keyframes sweep{0%{--sx:28%;--sy:38%}50%{--sx:62%;--sy:52%}100%{--sx:44%;--sy:30%}}
/* маленькая сцена — шапка внутренних страниц */
.stage.sm{--side:12px;--ceil:14px;--floor:42px}
.stage.sm .wall{padding:24px 18px 34px}
.stage.sm .wall::after{height:24%}

/* ---------- первый экран ---------- */
.hero{padding:16px 0 0}
.hero .stage{margin:0 calc(var(--gut) * -1)}
.hero h1{font-size:clamp(34px,10vw,72px);max-width:13ch;color:#f7efdc}
.hero h1 em{color:var(--lav-l)}
.lede{margin-top:16px;max-width:36ch;font-size:17px;color:#ebe3cf}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.frame{display:none;position:absolute;top:26px;right:26px;width:110px;margin:0;z-index:3}
.frame svg{width:100%;height:auto;filter:drop-shadow(0 10px 14px rgba(0,0,0,.4))}
.sheet{margin-top:28px;max-width:420px;background:var(--paper);color:var(--ink);font-family:var(--fm);font-size:13.5px;line-height:1.55;padding:22px 20px 24px;border-radius:3px;transform:rotate(-1.4deg);box-shadow:0 18px 30px -12px rgba(0,0,0,.55);position:relative}
.sheet::before{content:"";position:absolute;top:-8px;left:50%;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ff9d86,#c9473a);box-shadow:0 3px 4px rgba(0,0,0,.35)}
.sl{min-height:1.55em;white-space:pre-wrap;overflow-wrap:anywhere}
.sl.h{font-weight:700;text-transform:uppercase}
.sheet.phone{max-width:350px;padding:30px 20px 24px;border-radius:30px;border:8px solid #1a1420;box-shadow:0 0 0 2px #3a3340,0 22px 34px -14px rgba(0,0,0,.6);transform:rotate(-1.6deg)}
.sl.t{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--violet)}
.sl.d{font-size:14px}
.sl.gap{margin-top:14px}
.caret{display:inline-block;width:.55em;height:1.05em;margin-left:1px;vertical-align:-2px;background:var(--ink);animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.props{position:absolute;left:0;right:0;bottom:0;height:180px;pointer-events:none;z-index:3}
.waves{position:absolute;left:3%;bottom:4px;width:min(58%,330px);animation:bob 6s ease-in-out infinite;transform-origin:50% 100%}
.waves .back{animation:bob2 5s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}
@keyframes bob{50%{transform:translateY(-5px) rotate(-1deg)}}
@keyframes bob2{50%{transform:translateY(4px) rotate(1.4deg)}}
.lamp{position:absolute;right:6%;bottom:8px;width:min(15%,74px)}

/* ---------- факты ---------- */
.facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:26px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.facts div{background:var(--bg);padding:16px 16px 18px}
.facts small{display:block;font-family:var(--fm);font-size:12px;color:var(--mute);text-transform:uppercase;letter-spacing:.06em}
.facts b{display:block;margin-top:4px;font-family:var(--fd);font-weight:500;font-size:21px;line-height:1.2}

/* ---------- секции ---------- */
.sec{padding:64px 0 0}
.sec>h2,.sec-h h2{font-size:clamp(30px,6.4vw,48px)}
.sec>h2+p,.sec-h p{margin-top:12px;color:var(--soft);max-width:58ch}
.sec-h{display:grid;gap:12px;align-items:end}
.sec-h .tlink{justify-self:start}
.list2{display:grid;gap:0 32px;margin-top:22px;border-top:1px solid var(--line)}
.list2>div{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line)}
.list2 svg{width:40px;height:40px}
.list2 b{display:block;font-weight:600}
.list2 span{display:block;margin-top:2px;color:var(--soft);font-size:15.5px;line-height:1.5}

/* ---------- игры: «кто вы», «соберите рилс», «свайп или досмотр» ---------- */
.game{margin-top:26px;display:grid;gap:22px}
.lgf{display:grid;gap:12px}
.fld{display:block}
.fld>span{display:block;font-family:var(--fm);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);margin-bottom:6px}
.fld input,.fld textarea{width:100%;min-height:52px;padding:13px 16px;border-radius:14px;border:1.5px solid rgba(237,231,211,.16);background:var(--card);color:var(--text);font:inherit;font-size:16px;line-height:1.45;transition:border-color .2s,background .2s}
.fld textarea{min-height:130px;resize:vertical}
.fld textarea.s{min-height:78px}
.fld input:focus,.fld textarea:focus{outline:0;border-color:var(--lav);background:var(--card2)}
.fld input[aria-invalid=true],.fld textarea[aria-invalid=true]{border-color:var(--bad)}
.fld input::placeholder{color:var(--mute)}
.meter{display:flex;gap:8px;margin-top:14px;align-items:center;font-family:var(--fm);font-size:12px;color:var(--ink2)}
.meter i{flex:1;height:6px;border-radius:3px;background:rgba(26,20,32,.12);overflow:hidden}
.meter i::after{content:"";display:block;height:100%;width:var(--w,0%);background:var(--ok);transition:width .4s var(--ease)}
/* кто вы: радиокнопки-«фишки», панели переключает CSS (работает и без скриптов) */
.fit{display:grid;gap:18px;margin-top:24px}
.fit-opts{display:flex;flex-wrap:wrap;gap:10px}
.chip{position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{display:inline-flex;align-items:center;min-height:46px;padding:0 18px;margin-bottom:4px;border-radius:14px;background:var(--card);color:var(--soft);font-weight:600;font-size:15px;line-height:1.25;box-shadow:0 4px 0 #18141f,inset 0 0 0 1.5px color-mix(in srgb,var(--lav) 30%,transparent);transition:transform .14s var(--ease),box-shadow .14s,background .2s,color .2s}
.chip:hover span{transform:translateY(-2px);box-shadow:0 6px 0 #18141f,inset 0 0 0 1.5px var(--lav);color:var(--text)}
.chip input:checked+span{background:var(--lav);color:var(--ink);transform:translateY(3px);box-shadow:0 1px 0 var(--lav-dep)}
.chip input:focus-visible+span{outline:2px solid var(--lav);outline-offset:3px}
.fit-pan{display:none;position:relative;max-width:640px;background:var(--paper);color:var(--ink);border-radius:6px;padding:24px 22px 22px;box-shadow:0 22px 36px -18px rgba(0,0,0,.7);transform:rotate(-.5deg);animation:pan .4s var(--ease)}
@keyframes pan{from{opacity:0;transform:translateY(8px) rotate(-.5deg)}}
.fit-pan small{display:block;font-family:var(--fm);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.fit-task{margin:6px 0 18px;font-family:var(--fd);font-size:21px;line-height:1.35}
.fit-pan .tk-list{margin:10px 0 0}
.fit:has(input[value=expert]:checked) [data-who=expert],.fit:has(input[value=client]:checked) [data-who=client],.fit:has(input[value=copy]:checked) [data-who=copy],
.fit:has(input[value=novice]:checked) [data-who=novice],.fit:has(input[value=pro]:checked) [data-who=pro]{display:block}
@supports not selector(:has(*)){.fit-pan{display:block}}
/* соберите рилс: телефон со сценарием */
.reel{position:relative;width:100%;max-width:420px;justify-self:center;background:var(--paper);color:var(--ink);border:8px solid #1a1420;border-radius:30px;padding:28px 20px 18px;box-shadow:0 0 0 2px #3a3340,0 26px 40px -18px rgba(0,0,0,.7)}
.reel::before,.sheet.phone::before{content:"";position:absolute;top:8px;left:50%;width:64px;height:8px;margin-left:-32px;border-radius:5px;background:#1a1420;box-shadow:none}
.ph-bars{display:flex;gap:5px;margin-bottom:14px}
.ph-bars i{flex:1;height:4px;border-radius:2px;background:rgba(26,20,32,.14);overflow:hidden}
.ph-bars i::after{content:"";display:block;height:100%;width:100%;background:var(--coral)}
.typing .ph-bars i::after{width:0}
.typing .ph-bars i.on::after{width:100%;transition:width 2.4s linear}
.reel-h{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px;font-family:var(--fm);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}
.reel-b{min-height:13em;font-family:var(--fm);font-size:14.5px;line-height:1.55;overflow-wrap:anywhere}
.reel-b p+p{margin-top:12px}
.reel-b i{display:block;font-style:normal;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--violet)}
.reel-b b{font-weight:700;background:linear-gradient(transparent 62%,color-mix(in srgb,var(--lav) 55%,transparent) 62%)}
.reel-b .roll{background:linear-gradient(transparent 62%,rgba(236,138,116,.55) 62%)}
.reel .acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
/* свайп или досмотр */
.swipe{margin-top:24px;max-width:780px;padding:22px 20px;border-radius:20px;background:var(--card)}
.sw-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:var(--fm);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--lav)}
.sw-dots{display:flex;gap:6px}
.sw-dots i{width:22px;height:6px;border-radius:3px;background:rgba(237,231,211,.14)}
.sw-dots i.done{background:var(--chart)}
.sw-dots i.cur{background:var(--lav)}
.swipe h3{margin-top:10px;font-size:23px}
.qopts{display:grid;gap:10px;margin-top:16px}
.qo{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:center;text-align:left;padding:14px 16px;border-radius:14px;background:var(--card2);box-shadow:0 4px 0 #18141f;transition:transform .14s var(--ease),box-shadow .14s,background .2s;font-size:16px;line-height:1.45}
.qo:hover{transform:translateY(-2px);box-shadow:0 6px 0 #18141f}
.qo:active{transform:translateY(3px);box-shadow:0 1px 0 #18141f}
.qo:disabled{cursor:default;transform:none}
.qo i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-family:var(--fm);font-size:13px;background:rgba(237,231,211,.08)}
.qo.right{background:#2f4f3c;box-shadow:0 4px 0 #1d3326}
.qo.right i{background:var(--ok);color:#fff}
.qo.wrong{background:#4f2a26;box-shadow:0 4px 0 #331a17;animation:shake .4s}
.qo.wrong i{background:var(--bad);color:#fff}
@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.qwhy{margin-top:14px;padding:12px 14px;border-radius:12px;background:rgba(237,231,211,.06);color:var(--soft);font-size:15px;line-height:1.5}
.qwhy b{color:var(--text)}
.sw-next{margin-top:14px}
.sw-end{text-align:center;padding:6px 0}
.sw-end h3{margin-top:2px;font-size:clamp(24px,5vw,32px)}
.sw-end p{margin:10px auto 0;max-width:46ch;color:var(--soft)}
.sw-end .ctas{justify-content:center}

/* ---------- главы на главной ---------- */
.posters{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:26px calc(var(--gut) * -1) 0;padding:4px var(--gut) 14px;scrollbar-width:none}
.posters::-webkit-scrollbar{display:none}
.poster{flex:none;width:250px;scroll-snap-align:start;padding:20px;border-radius:14px;background:var(--card);border:1px solid var(--line);text-decoration:none;display:flex;flex-direction:column;gap:12px;transition:transform .25s var(--ease),border-color .2s}
.poster:hover{transform:translateY(-4px);border-color:var(--lav)}
.poster small{font-family:var(--fm);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--lav)}
.poster b{font-family:var(--fd);font-weight:500;font-size:23px;line-height:1.15}
.poster.bonus{background:var(--lav);color:var(--ink);border-color:transparent}
.poster.bonus small{color:var(--violet-d)}

/* ---------- автор ---------- */
.author{display:grid;gap:22px;align-items:center;margin-top:24px}
.pf{width:min(220px,58vw);justify-self:center}
.author h2,.author h3{font-size:34px;font-style:italic;font-weight:400}
.author p{margin-top:10px;color:var(--soft)}
.ph{display:block;margin-top:14px;padding:13px 16px;border:1.5px dashed color-mix(in srgb,var(--lav) 50%,transparent);border-radius:14px;color:var(--lav);font-size:15px;line-height:1.5}

/* ---------- занавес ---------- */
.curtain{position:relative;margin-top:80px;padding:84px 0 80px;text-align:center;overflow:hidden;isolation:isolate;background:repeating-linear-gradient(90deg,var(--cur1) 0 26px,var(--cur2) 40px,var(--cur1) 56px,var(--cur3) 70px)}
.curtain::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 120%,rgba(215,219,98,.2),transparent 60%),linear-gradient(color-mix(in srgb,var(--bg) 55%,transparent),color-mix(in srgb,var(--bg) 10%,transparent) 40%,color-mix(in srgb,var(--bg) 50%,transparent))}
.curtain::after{content:"";position:absolute;left:0;right:0;top:0;height:30px;background:radial-gradient(circle at 50% 0,var(--cur-top) 68%,transparent 70%) 0 0/44px 30px repeat-x}
.luna{display:block;width:170px;height:170px;margin:0 auto 18px;overflow:visible;cursor:pointer;filter:drop-shadow(0 0 40px rgba(242,190,120,.35))}
.lu-body{transform-origin:100px 100px}
.lu-rk{opacity:0;transform:translate(-200px,-30px) rotate(-8deg)}
.luna.go .lu-rk{animation:rkFly 1.1s cubic-bezier(.45,0,.8,.55) forwards}
.luna.hit .lu-rk{opacity:1;transform:translate(71px,92px) rotate(30deg)}
.lu-wake,.lu-splash{opacity:0}
.lu-splash{transform-origin:71px 92px}
.luna.hit .lu-sleep{opacity:0}
.luna.hit .lu-wake{opacity:1}
.luna.hit .lu-splash{opacity:1;animation:luPop .4s var(--ease)}
.luna.hit .lu-body{animation:luWob .7s ease}
@keyframes rkFly{0%{opacity:1;transform:translate(-200px,-30px) rotate(-8deg)}55%{opacity:1;transform:translate(-20px,40px) rotate(16deg)}100%{opacity:1;transform:translate(71px,92px) rotate(30deg)}}
@keyframes luPop{from{transform:scale(.2)}}
@keyframes luWob{25%{transform:rotate(-5deg) scale(1.03)}55%{transform:rotate(3deg)}80%{transform:rotate(-1deg)}}
.curtain h2{font-size:clamp(30px,7vw,58px);max-width:16ch;margin:0 auto}
.curtain p{margin:14px auto 26px;max-width:44ch;color:#e8dcd8}

/* ---------- шапка внутренних страниц ---------- */
.ph-head{padding:16px 0 0}
.ph-head .stage{margin:0 calc(var(--gut) * -1)}
.crumbs{font-family:var(--fm);font-size:12.5px;letter-spacing:.04em;color:rgba(237,231,211,.85)}
.crumbs a{color:var(--paper);text-decoration:underline;text-decoration-color:rgba(243,236,218,.4);text-underline-offset:3px}
.ph-head h1{margin-top:10px;font-size:clamp(34px,8vw,64px);color:#f7efdc;max-width:16ch}
.ph-head h1 em{color:var(--lav-l)}
.ph-head .lede{max-width:46ch}
.head-prop{display:none;position:absolute;right:28px;bottom:30px;width:120px;z-index:3}

/* ---------- что внутри ---------- */
.toc{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid var(--line)}
.toc li{display:grid;gap:6px 24px;padding:22px 2px;border-bottom:1px solid var(--line);scroll-margin-top:90px}
.toc li:target{background:linear-gradient(90deg,color-mix(in srgb,var(--lav) 10%,transparent),transparent 70%)}
.toc-n{font-family:var(--fm);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--lav)}
.toc li.bonus .toc-n{color:var(--coral)}
.toc h3{font-size:clamp(23px,4.4vw,30px)}
.toc p{margin-top:6px;color:var(--soft);max-width:60ch}
.note-line{display:flex;gap:10px;align-items:flex-start;margin-top:18px;color:var(--soft);font-size:15px}
.note-line .ic{color:var(--chart);margin-top:2px}
.who{display:grid;gap:12px;margin-top:22px}
.who div{padding:20px;border-radius:var(--r);background:var(--card)}
.who h3{font-size:21px}
.who p{margin-top:6px;color:var(--soft);font-size:15.5px}
.pm{width:36px;height:36px;border-radius:50%;border:1px solid var(--line2);display:grid;place-items:center;transition:transform .3s var(--ease),background .2s}
details[open]>summary .pm{transform:rotate(45deg);background:var(--lav);color:var(--ink);border-color:var(--lav)}

/* ---------- билет и тарифы ---------- */
.tiers{position:relative;display:grid;gap:18px;margin-top:26px}
.ticket.tk-stub{position:absolute;margin:0;z-index:3;pointer-events:none}
.ticket{--cut:200px;position:relative;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);border-radius:18px;padding:24px 22px 20px;-webkit-mask:radial-gradient(circle 12px at 0 var(--cut),#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 12px at 100% var(--cut),#0000 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 12px at 0 var(--cut),#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 12px at 100% var(--cut),#0000 98%,#000) right/51% 100% no-repeat}
.ticket::after{content:"";position:absolute;left:22px;right:22px;top:var(--cut);border-top:2px dashed rgba(26,20,32,.22)}
.ticket.hot{background:var(--lav-l)}
.tk-top{display:flex;justify-content:space-between;gap:10px;font-family:var(--fm);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.ticket h2{margin-top:12px;font-size:28px}
.ticket .sub{margin-top:6px;font-size:15px;color:var(--ink2);min-height:2.9em}
.price{display:flex;align-items:baseline;gap:10px;margin-top:14px;font-family:var(--fd)}
.price b{font-size:44px;font-weight:500;letter-spacing:-.02em;line-height:1}
.price s{color:var(--ink2);font-size:18px}
.tk-list{list-style:none;margin:40px 0 20px;padding:0;display:grid;gap:9px;font-size:15px;line-height:1.45}
.tk-list li{display:grid;grid-template-columns:20px 1fr;gap:10px}
.tk-list svg{width:18px;height:18px;margin-top:2px;color:#2f7a58}
.ticket .btn{margin-top:auto}
.ticket .note{margin-top:8px;font-size:13px;color:var(--ink2);text-align:center}
.after{display:grid;gap:12px;margin-top:22px}
.after div{padding:18px;border-radius:var(--r);background:var(--card)}
.after b{display:block;font-family:var(--fd);font-weight:500;font-size:20px}
.after span{display:block;margin-top:4px;color:var(--soft);font-size:15px}

/* ---------- вопросы ---------- */
.faq-g{margin-top:34px}
.faq-g h2{font-family:var(--fm);font-weight:400;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--lav)}
.faq{margin-top:10px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 2px;font-weight:600;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{flex:none}
.faq p{padding:0 2px 20px;color:var(--soft);max-width:62ch}

/* ---------- карточки форм (вход, касса, вопрос) ---------- */
.narrow{max-width:540px;margin:0 auto;padding:40px var(--gut) 80px}
.door{position:relative;background:var(--card);border-radius:22px;padding:30px 22px 26px;overflow:hidden}
.door h1{font-size:clamp(32px,8vw,46px)}
.door h1+p{margin-top:10px;color:var(--soft)}
.form{display:grid;gap:14px;margin-top:22px}
.err{min-height:20px;font-size:14px;color:#ff9e88}
.hint{margin-top:14px;font-size:13.5px;color:var(--mute);text-align:center;line-height:1.5}
.hint a,.legal a{color:var(--lav)}
.legal{font-size:13.5px;color:var(--mute);line-height:1.5}
.check{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;font-size:14.5px;color:var(--soft);line-height:1.5;cursor:pointer}
.check input{width:22px;height:22px;margin:0;accent-color:var(--coral)}
.check a{color:var(--lav)}
.checks2{display:grid;gap:12px;margin-top:16px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.checks2+.legal{margin-top:12px}
.sent{text-align:center}
.sent .env{width:84px;margin:4px auto 16px}
.sent h2{font-size:32px}
.sent p{margin-top:10px;color:var(--soft)}
.sent b{color:var(--text)}
.opts{display:grid;gap:10px;margin-top:20px}
.opt{display:grid;grid-template-columns:24px 1fr auto;gap:12px;align-items:center;padding:16px;border-radius:16px;border:1.5px solid var(--line2);cursor:pointer;transition:border-color .2s,background .2s}
.opt input{width:20px;height:20px;margin:0;accent-color:var(--coral)}
.opt b{display:block;font-weight:600}
.opt small{display:block;color:var(--mute);font-size:13.5px}
.opt strong{font-family:var(--fd);font-weight:500;font-size:20px;white-space:nowrap}
.opt.one{grid-template-columns:44px 1fr auto;cursor:default;border-color:var(--lav);background:color-mix(in srgb,var(--lav) 8%,transparent)}
.opt.one svg{width:44px;height:44px}
.opt:has(input:checked){border-color:var(--lav);background:color-mix(in srgb,var(--lav) 8%,transparent)}
.sum{display:grid;gap:10px;margin-top:20px;padding:18px;border-radius:16px;background:var(--bg);border:1px solid var(--line);font-size:15px}
.sum div{display:flex;justify-content:space-between;gap:12px}
.sum span{color:var(--mute)}
.sum b{text-align:right;overflow-wrap:anywhere}
.sum .tot{padding-top:10px;border-top:1px solid var(--line);font-weight:600;font-size:17px}
.stub{margin-top:14px;padding:13px 16px;border-radius:14px;border:1.5px dashed color-mix(in srgb,var(--lav) 50%,transparent);color:var(--lav);font-size:14px;line-height:1.5}
.stamp{display:inline-block;margin:6px auto 18px;padding:10px 22px;border:3px solid var(--coral);border-radius:10px;color:var(--coral);font-family:var(--fm);font-weight:700;font-size:22px;letter-spacing:.12em;transform:rotate(-6deg);animation:stamp .55s var(--ease) both}
@keyframes stamp{from{transform:rotate(-16deg) scale(1.9);opacity:0}}
.ok{text-align:center}
.ok h1{margin-top:4px}
.ok p{margin-top:10px;color:var(--soft)}
.ok .btn{margin-top:22px}

/* ---------- кабинет ---------- */
.kb{padding-top:30px;padding-bottom:70px}
.kb-top h1{font-size:clamp(32px,7vw,52px)}
.kb-top p{margin-top:8px;color:var(--soft)}
.gfile{position:relative;display:grid;gap:22px;align-items:center;margin-top:26px;padding:28px 22px;border-radius:22px;background:var(--wall2);overflow:hidden;isolation:isolate}
.gfile::after{content:"";position:absolute;left:0;right:0;bottom:0;height:26%;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.2) 0 1.5px,transparent 1.5px) 0 0/25% 100%,var(--violet);box-shadow:inset 0 4px 0 var(--wfl-hi)}
.cover{width:132px;filter:drop-shadow(0 14px 18px rgba(0,0,0,.45));transform:rotate(-4deg)}
.gf-tx small{font-family:var(--fm);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:rgba(237,231,211,.85)}
.gf-tx h2{margin-top:6px;font-size:clamp(30px,6vw,44px);font-style:italic;font-weight:400;color:#f7efdc}
.gf-tx p{margin-top:8px;color:#ebe3cf;max-width:46ch}
.cont{position:relative;display:grid;gap:14px;padding:24px 22px;border-radius:20px;background:var(--wall2);overflow:hidden;isolation:isolate}
.cont::after{content:"";position:absolute;left:0;right:0;bottom:0;height:30%;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.2) 0 1.5px,transparent 1.5px) 0 0/25% 100%,var(--violet);box-shadow:inset 0 4px 0 var(--wfl-hi)}
.cont small{font-family:var(--fm);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:rgba(237,231,211,.85)}
.cont h2{font-size:clamp(24px,5vw,34px);color:#f7efdc;max-width:32ch}
.cont .btn{justify-self:start}
.kb h2.t{margin-top:44px;font-size:clamp(26px,5vw,36px)}
.acts-map{display:grid;gap:10px;margin-top:18px}
.am{display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center;padding:16px 18px;border-radius:16px;background:var(--card);text-decoration:none;border:1.5px solid transparent;transition:border-color .2s,transform .25s var(--ease)}
.am:hover{border-color:var(--lav);transform:translateY(-2px)}
.am small{font-family:var(--fm);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--lav)}
.am b{display:block;font-family:var(--fd);font-weight:500;font-size:21px;line-height:1.15}
.am .ic{color:var(--lav)}
.nobuy{margin-top:26px;padding:24px 22px;border-radius:20px;background:var(--card);border:1.5px dashed color-mix(in srgb,var(--lav) 45%,transparent)}
.nobuy h2{font-size:28px}
.nobuy h2 .spin{display:inline-block;vertical-align:-1px;margin-right:6px;border-color:rgba(237,231,211,.25);border-top-color:currentColor}
.nobuy p{margin-top:8px;color:var(--soft)}
.nobuy .ctas{margin-top:18px}
.kb-foot{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;margin-top:44px;padding-top:20px;border-top:1px solid var(--line);font-size:14.5px;color:var(--mute)}
.kb-foot button{color:var(--lav);text-decoration:underline;text-underline-offset:3px}

/* ---------- фрагмент и бумага ---------- */
.narrow-read{max-width:820px}
.narrow-read>.ph{margin-top:28px}
.paper{margin-top:22px;background:var(--paper);color:var(--ink);border-radius:8px;padding:28px 20px 30px;box-shadow:0 24px 40px -22px rgba(0,0,0,.8)}
.paper .lead{font-family:var(--fd);font-size:21px;line-height:1.45}
.paper h2{margin-top:26px;font-family:var(--fm);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.paper p:not(.lead){margin-top:8px;line-height:1.6}
.script{margin:12px 0 0;padding:18px 16px 20px;background:#fbf7ea;color:var(--ink);border:1px solid rgba(26,20,32,.12);border-radius:4px;font-family:var(--fm);font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-x:auto}
.intro-script{margin:0;transform:rotate(.6deg);box-shadow:0 18px 30px -14px rgba(0,0,0,.6);font-size:13.5px}
.author .intro-script+p{margin-top:20px}
.box{margin-top:22px;padding:18px 18px 20px;border-radius:14px}
.box>b{display:flex;align-items:center;gap:8px;font-family:var(--fm);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase}
.box>p{margin-top:8px;line-height:1.55}
.box.tip{background:#e7e0f5}
.box.tip>b{color:#4a3d6b}
.box.prompt{background:var(--card);color:var(--text)}
.box.prompt>b{color:var(--lav)}
.paper .box.prompt .pr{margin-top:10px;font-family:var(--fm);font-size:14px;line-height:1.6;color:var(--paper)}
.box.prompt .btn{margin-top:14px}
.more{margin-top:34px;padding:26px 22px;border-radius:20px;background:var(--card);border:1.5px dashed color-mix(in srgb,var(--lav) 45%,transparent)}
.more h2{font-size:clamp(26px,5vw,34px)}
.more p{margin-top:8px;color:var(--soft);max-width:56ch}
.skel{height:18px;margin-top:12px;border-radius:6px;background:linear-gradient(90deg,rgba(237,231,211,.05),rgba(237,231,211,.12),rgba(237,231,211,.05));background-size:200% 100%;animation:sk 1.2s linear infinite}
@keyframes sk{to{background-position:-200% 0}}

/* ---------- всплывашка ---------- */
.toast{position:fixed;left:50%;bottom:calc(20px + var(--safe-b));z-index:200;display:flex;align-items:center;gap:12px;max-width:min(92vw,420px);padding:12px 18px 12px 12px;border-radius:16px;background:var(--paper);color:var(--ink);box-shadow:0 20px 40px -12px rgba(0,0,0,.7);transform:translate(-50%,140%);transition:transform .45s var(--ease)}
.toast.on{transform:translate(-50%,0)}
.toast svg{width:44px;height:44px;flex:none}
.toast b{display:block;font-size:15px}
.toast span{display:block;font-size:13.5px;color:var(--ink2)}

/* ---------- вступительный занавес (только главная, один раз за визит) ---------- */
.intro-c{display:none}
html.intro .intro-c{display:block;position:fixed;inset:0;z-index:250;pointer-events:none;animation:introGone 0s 2.2s forwards}
.intro-c::before,.intro-c::after{content:"";position:absolute;top:0;bottom:0;width:50.5%;background:repeating-linear-gradient(90deg,var(--cur1) 0 26px,var(--cur2) 40px,var(--cur1) 56px,var(--cur4) 70px);box-shadow:inset 0 -40px 60px rgba(0,0,0,.35)}
.intro-c::before{left:0;animation:cL 1.3s .55s var(--ease) forwards}
.intro-c::after{right:0;animation:cR 1.3s .55s var(--ease) forwards}
.intro-c span{position:absolute;inset:0;z-index:2;display:grid;place-items:center;font-family:var(--fd);font-style:italic;font-size:clamp(28px,6vw,46px);color:var(--paper);animation:introT .5s .4s ease forwards}
@keyframes cL{to{transform:translateX(-102%)}}
@keyframes cR{to{transform:translateX(102%)}}
@keyframes introT{to{opacity:0}}
@keyframes introGone{to{visibility:hidden}}

/* ---------- подвал ---------- */
.ft{margin-top:70px;padding:30px 0 calc(30px + var(--safe-b));border-top:1px solid var(--line);font-size:14px;color:var(--mute)}
.ft .wrap{display:grid;gap:14px}
.ft nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.ft-brand{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-bottom:4px}
.ft-brand .logo{margin-right:0;color:var(--text)}
.ft-brand span{font-size:13.5px;color:var(--mute)}
.ft .ft-legal{font-size:13.5px}
.ft a{text-decoration:none}
.ft a:hover{color:var(--text)}
.curtain+.ft{margin-top:0}

/* ---------- текстовые страницы ---------- */
.doc{max-width:720px;margin:0 auto;padding:30px var(--gut) 40px}
.doc h2{margin-top:30px;font-size:26px}
.doc p,.doc li{color:var(--soft)}
.doc p{margin-top:10px}
/* юридические страницы (собираются из Word-файлов) */
.legal-doc h1{margin-top:10px;font-size:clamp(28px,6vw,42px)}
.legal-doc .crumbs{color:var(--mute)}
.legal-doc h2{margin-top:34px;font-size:22px;scroll-margin-top:90px}
.legal-doc h3{margin-top:28px;font-size:20px;scroll-margin-top:90px}
.legal-doc .lead-l{margin-top:12px;color:var(--soft)}
.offer-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.offer{margin-top:44px;padding-top:28px;border-top:1px solid var(--line);scroll-margin-top:80px}
.offer>h2{margin-top:0;font-size:clamp(24px,4.6vw,32px)}
details.toc-mini summary{cursor:pointer;font-family:var(--fm);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
details.toc-mini[open] summary{margin-bottom:6px}
.legal-doc p,.legal-doc li{font-size:16px;line-height:1.6}
.legal-doc ul,.legal-doc ol{margin:10px 0 0;padding-left:22px;color:var(--soft)}
.legal-doc li+li{margin-top:6px}
.legal-doc a{color:var(--lav)}
mark.fill{padding:0 3px;border-radius:4px;background:rgba(215,219,98,.18);color:var(--chart)}
.toc-mini{margin-top:22px;padding:16px 20px;border-radius:14px;background:var(--card)}
.toc-mini b{font-family:var(--fm);font-weight:400;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.toc-mini ol{margin:8px 0 0;padding-left:20px;columns:2 220px;column-gap:28px}
.toc-mini li{font-size:15px;break-inside:avoid}
.toc-mini li+li{margin-top:4px}
.tbl{margin-top:14px;overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.lt{width:100%;min-width:560px;border-collapse:collapse;font-size:14.5px;line-height:1.45}
.lt th,.lt td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.lt th{font-family:var(--fm);font-weight:400;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--mute);background:var(--bg2)}
.lt td{color:var(--soft)}
.lt tr:last-child td{border-bottom:0}
.req-list{margin:22px 0 0;border-top:1px solid var(--line)}
.req-list div{display:grid;gap:2px 20px;padding:12px 0;border-bottom:1px solid var(--line)}
.req-list dt{font-family:var(--fm);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.req-list dd{margin:0;color:var(--text)}
.req-list a{color:var(--lav)}
@media (min-width:700px){.req-list div{grid-template-columns:240px 1fr}}
@media (max-width:699px){.lt{font-size:13.5px}.lt th,.lt td{padding:8px 10px}}

/* ---------- адаптив ---------- */
/* телефон: в шапке только логотип, «Купить» и меню — «Войти» живёт в меню */
@media (max-width:599px){
  .hd .wrap{gap:8px}
  .hd-link{display:none}
  .auth .btn.sm{padding:0 14px}
  .auth .ava{display:none}
}
@media (max-width:359px){
  .logo{font-size:17px;gap:8px}
  .logo i{width:20px;height:20px}
  .auth .btn.sm{padding:0 11px;font-size:14px}
  :root{--gut:16px}
  .btn{padding:0 18px;font-size:15px}
  .hero h1{font-size:33px}
  .facts b{font-size:19px}
  .chip span{padding:0 14px;font-size:14.5px}
}
@media (min-width:700px){
  :root{--gut:32px}
  .hero .stage,.ph-head .stage{margin:0;border-radius:22px}
  .stage{--side:64px;--ceil:44px;--floor:124px}
  .stage.sm{--side:36px;--ceil:24px;--floor:58px}
  .wall{padding:44px 44px 150px}
  .stage.sm .wall{padding:38px 40px 46px}
  .frame{display:block}
  .head-prop{display:block}
  .ph-head .wall>*:not(.head-prop){max-width:calc(100% - 150px)}
  .facts{grid-template-columns:repeat(4,1fr)}
  .list2{grid-template-columns:1fr 1fr}
  .author{grid-template-columns:auto 1fr;gap:40px}
  .pf{justify-self:start}
  .tiers{grid-template-columns:1fr 1fr;align-items:stretch}
  .after{grid-template-columns:repeat(3,1fr)}
  .paper{padding:40px 44px 44px}
  .sec-h{grid-template-columns:1fr auto}
  .sec-h .tlink{justify-self:end}
  .posters{display:grid;grid-template-columns:repeat(2,1fr);overflow:visible;margin:26px 0 0;padding:0}
  .poster{width:auto}
  .toc li{grid-template-columns:130px 1fr;align-items:baseline}
  .who{grid-template-columns:1fr 1fr}
  .acts-map{grid-template-columns:1fr 1fr}
  .gfile{grid-template-columns:auto 1fr;gap:40px;padding:34px 40px}
  .cont{grid-template-columns:1fr auto;align-items:center;padding:30px 32px}
  .cont .btn{justify-self:end}
  .swipe{padding:26px 28px}
  .qopts.sw-opts{grid-template-columns:1fr 1fr}
}
@media (min-width:1024px){
  .stage{--side:110px;--ceil:64px;--floor:150px}
  .hero .wall{display:grid;grid-template-columns:1.3fr 1fr;gap:36px;align-items:start;padding:56px 56px 150px}
  .hero h1{font-size:clamp(50px,4.7vw,70px)}
  .hero .frame{position:relative;top:auto;right:auto;width:130px;margin:0 0 -8px auto;grid-column:2}
  .hero .sheet{grid-column:2;margin-top:0;justify-self:end;width:100%}
  .hero-tx{grid-row:1/3}
  .props{height:220px}
  .game{grid-template-columns:1fr 1fr;align-items:start}
  .posters{grid-template-columns:repeat(3,1fr)}
  .who{grid-template-columns:repeat(3,1fr)}
  .fit{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start}
  .fit-opts{flex-direction:column;align-items:stretch}
  .chip span{width:100%}
}
@media (min-width:1080px){
  .nav{display:flex}
  .mnav{display:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html.intro .intro-c{display:none}}

/* ---------- «Красный бархат»: второй цвет сайта, включается шнуром на сцене ---------- */
html[data-theme="velvet"]{
  --bg:#170b0d;--bg2:#21100f;--card:#2c141a;--card2:#381a22;
  --violet:#7a5a22;--violet-d:#4f3a14;--lav:#efc9b8;--lav-l:#f7e2d8;--lav-dep:#b8806a;
  --coral:#e8b64e;--coral-d:#8f6516;--chart:#f2d47e;--soft:#e0cfc9;--mute:#ab979a;
  --stage-bg:#140809;--ceil1:#4a1a20;--ceil2:#7a3a3a;--wall1:#93293a;--wall2:#7c2030;--wall3:#5a1723;--side1:#360d15;--side2:#5a1723;--sidefl:#5e451a;
  --floor-c:#3a2a10;--check-a:#ead9b5;--check-b:#6b4f1d;--wfl1:#7a5a22;--wfl2:#5e441a;--wfl-hi:#a98236;
  --cur1:#7d1d2b;--cur2:#9a2636;--cur3:#64161f;--cur4:#4f1119;--cur-top:#3f0e15;
}
.cord{position:absolute;top:var(--ceil);right:calc(var(--side) + 4px);z-index:6;width:32px;height:118px;padding:0;border:0;background:none;cursor:grab;transform-origin:50% 0;animation:cordSway 5s ease-in-out infinite}
.cord i{position:absolute;left:50%;top:0;width:2px;height:84px;margin-left:-1px;background:linear-gradient(90deg,#b8a073,#e9d8a8,#b8a073)}
.cord svg{position:absolute;left:4px;top:78px;width:24px;height:38px}
.cord:focus-visible{outline:2px solid var(--lav);outline-offset:2px;border-radius:8px}
.cord.pull{animation:cordPull .7s var(--ease)}
@keyframes cordSway{50%{transform:rotate(2.5deg)}}
@keyframes cordPull{30%{transform:translateY(26px)}65%{transform:translateY(-6px)}}
.swap-c{position:fixed;inset:0;z-index:250;pointer-events:none}
.swap-c::before,.swap-c::after{content:"";position:absolute;top:0;bottom:0;width:50.5%;background:repeating-linear-gradient(90deg,var(--cur1) 0 26px,var(--cur2) 40px,var(--cur1) 56px,var(--cur4) 70px);box-shadow:inset 0 -40px 60px rgba(0,0,0,.35)}
.swap-c::before{left:0;transform:translateX(-102%);animation:swL 1.6s var(--ease) forwards}
.swap-c::after{right:0;transform:translateX(102%);animation:swR 1.6s var(--ease) forwards}
@keyframes swL{40%,55%{transform:none}100%{transform:translateX(-102%)}}
@keyframes swR{40%,55%{transform:none}100%{transform:translateX(102%)}}

/* маска в игре «Свайп или досмотр»: грустит в начале, улыбается от удачных хуков */
.sw-mask{width:46px;height:54px;flex:none}
.sw-mask .mk{fill:var(--paper);stroke:var(--ink);stroke-width:1.6}
.sw-mask .mh{fill:var(--ink)}
.sw-mask .mb,.sw-mask .mm{fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linecap:round}
.sw-mask.boing{animation:boing .5s var(--ease)}
.sw-end .sw-mask{display:block;width:84px;height:98px;margin:0 auto 8px}
@keyframes boing{30%{transform:scale(1.18) rotate(-6deg)}}
@media (prefers-reduced-motion: reduce){.cord,.cord.pull,.sw-mask.boing,.luna.hit .lu-body,.luna.hit .lu-splash{animation:none}}
