/* Квиз на заказ (/kviz-na-zakaz/) и «Как мы обращаемся с данными» (/privacy/): концепция A «Вечер в вашу честь»
   от Codex (design-archive/2026-10-20/quiz-offer-concepts, выбрана владельцем 2026-10-20) — тёмная витрина сайта,
   праздничная сцена заказа во весь первый экран, настоящие кадры игры. Шрифты — /fonts/fonts.css.
   Автор: AlmazNurmukhametov */
:root{
  color-scheme:dark;
  --bg:#0b0b10;        /* витрина сайта (web/landing.css) */
  --card:#17151d;
  --ink:#faf5e9;
  --ink-2:#ccc6d3;     /* лид */
  --mute:#a9a3b3;      /* подписи, 7:1 на фоне */
  --line:#ffffff20;
  --gold:#ffc84a;      /* одно действие: заказать */
  --gold-ink:#17120a;
  --warm:#e6d6bb;      /* свет свечей сцены */
  --f-display:'Unbounded','Golos Text',system-ui,"Segoe UI",Roboto,Arial,sans-serif;
  --f-text:'Golos Text',system-ui,"Segoe UI",Roboto,Arial,sans-serif;
  --gut:max(24px,calc((100vw - 1264px) / 2));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body.offer{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 var(--f-text)}
.offer a{color:inherit;text-decoration:none}
.offer img{display:block;max-width:100%;height:auto}
.offer h1,.offer h2,.offer h3,.offer p{margin-top:0}
.offer figure{margin:0}
.offer :focus-visible{outline:3px solid var(--gold);outline-offset:4px}

/* шапка */
.top{height:88px;max-width:1312px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:relative;z-index:2}
.brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:750;letter-spacing:-.8px}
.brand img{width:32px;height:32px}
.pill{color:#bcb9c8;font-size:14px;border:1px solid #ffffff24;border-radius:30px;padding:10px 18px;display:inline-block}
.pill:hover{color:var(--ink);border-color:#ffffff55}

/* общие */
.eyebrow{text-transform:uppercase;letter-spacing:2.4px;font-size:12px;font-weight:700;color:var(--gold);margin:0 0 20px}
.offer h1{font:46px/1.12 var(--f-display);letter-spacing:-2px;margin-bottom:24px;text-wrap:balance}
.offer h2{font:30px/1.22 var(--f-display);letter-spacing:-1px;text-wrap:balance}
.lead{font-size:18px;line-height:1.65;color:var(--ink-2);max-width:550px}
.cta{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:15px 26px;border-radius:14px;border:1px solid transparent;
  background:var(--gold);color:var(--gold-ink);font:750 16px var(--f-text);white-space:nowrap;cursor:pointer;
  box-shadow:0 6px 30px #ffc84a15;transition:transform .15s cubic-bezier(.2,.8,.2,1),box-shadow .15s}
.offer .cta,.offer .cta:hover{color:var(--gold-ink)}
.cta:hover{transform:translateY(-1px);box-shadow:0 10px 36px #ffc84a33}
.cta:active{transform:translateY(1px)}
.cta[disabled]{opacity:.55;cursor:default;transform:none}
.buy{display:flex;gap:24px;align-items:center;margin-top:32px}
.price{margin:0}
.price b{display:block;white-space:nowrap;font:26px/1.2 var(--f-display);font-variant-numeric:tabular-nums}
.price small{display:block;max-width:280px;font-size:12px;line-height:1.5;color:#b9b2c2;margin-top:7px;text-wrap:balance}
.caption{font-size:12px;line-height:1.5;color:var(--mute);margin:14px 0 0}

/* первый экран: праздничная сцена заказа во весь экран */
.hero{position:relative;min-height:638px;isolation:isolate;padding:55px var(--gut) 70px}
.hero::before{content:"";position:absolute;inset:-88px 0 0;z-index:-2;background:var(--stage) center/cover} /* --stage — из разметки: тот же адрес, что у preload */
.hero::after{content:"";position:absolute;inset:-88px 0 0;z-index:-1;
  background:linear-gradient(90deg,#0b0b10f5 0%,#0b0b10d9 32%,#0b0b1066 58%,#0b0b1010 100%),linear-gradient(0deg,#0b0b10,transparent 30%)}
.copy{width:620px;max-width:100%}
.room-tag{position:absolute;right:6%;top:30px;color:var(--warm);border-top:1px solid #e6d6bb66;padding-top:12px;font-size:12px;margin:0}
.sample{position:absolute;width:440px;right:5%;bottom:40px;transform:rotate(-2deg)}
.game{display:block;width:100%;height:auto;aspect-ratio:16/9;border:6px solid #1a1821;border-radius:14px;box-shadow:0 16px 70px #000c;background:#1a1821}
.watch{display:inline-block;margin-top:18px;font-size:15px;color:var(--warm);border-bottom:1px solid #e6d6bb66;padding-bottom:2px}
.watch:hover{color:var(--ink);border-color:var(--ink)}
.sample .caption{color:#e8d7c0}
.tube{position:relative;aspect-ratio:16/9;border:5px solid #1a1821;border-radius:13px;box-shadow:0 12px 60px #000a;overflow:hidden;background:#1a1821}
.tube .frame,.tube .frame img{position:absolute;inset:0;width:100%;height:100%}
.tube .frame img{object-fit:cover}
.tube .frame{opacity:0;transition:opacity .6s cubic-bezier(.2,.8,.2,1)}
.tube[data-state=q] .q,.tube[data-state=r] .r{opacity:1}

/* шаги */
.steps{max-width:1264px;margin:0 auto;padding:35px 0 70px;border-top:1px solid var(--line)}
.steps-head,.block-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:28px}
.steps-head p,.block-head p{font-size:14px;color:var(--mute);margin:0;max-width:420px;text-align:right}
.steps-row{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.step{position:relative;padding-left:44px}
.step>span{position:absolute;left:0;top:2px;color:var(--gold);font:14px var(--f-display)}
.step h3{font-size:18px;margin:0 0 8px}
.step p{color:#aaa5b7;font-size:14px;max-width:310px;margin:0}

/* блоки ниже */
.block{max-width:1264px;margin:0 auto;padding:64px 0;border-top:1px solid var(--line)}
.block-cta{display:flex;align-items:center;gap:20px;margin-top:32px;flex-wrap:wrap}
.block-cta span{font-size:14px;color:var(--mute)}

/* «А вы бы угадали?» */
.try-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.try-card{background:var(--card);border:1px solid #ffffff14;border-radius:18px;padding:22px}
.try-q{font:17px/1.35 var(--f-display);letter-spacing:-.3px;margin-bottom:16px}
.try-opts{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.try-opts button{width:100%;display:flex;align-items:center;gap:12px;text-align:left;min-height:46px;padding:10px 14px;border-radius:12px;
  border:1px solid #ffffff1c;background:#ffffff08;color:var(--ink);font:600 15px var(--f-text);cursor:pointer;transition:background .2s,border-color .2s,opacity .3s}
.try-opts button:hover{background:#ffffff12}
.try-opts i{width:16px;height:16px;flex:none}
.try-opts .tri{background:#3ec9a7;clip-path:polygon(50% 0,100% 100%,0 100%)}
.try-opts .dia{background:#ff8a65;transform:rotate(45deg) scale(.8)}
.try-opts .cir{background:#a98bff;border-radius:50%}
.try-opts .sq{background:#ffd166;border-radius:3px}
.try-ans{margin:14px 0 0;font-size:14px;color:var(--mute)}
.js .try-ans{visibility:hidden}
.js .try-card.revealed .try-ans{visibility:visible}
.try-card.revealed button{opacity:.45}
.try-card.revealed button.ok{opacity:1;border-color:#3ec9a7;background:#3ec9a71f}
.try-card.revealed button.picked:not(.ok){border-color:#ff8a65}
.try-card.revealed .try-ans{color:var(--ink)}

/* экраны праздника */
.screens-row{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,3fr) minmax(0,3fr);gap:28px;align-items:start}
.screens figcaption{margin-top:14px;font-size:14px;line-height:1.5;color:var(--mute);max-width:34ch}
.screens figcaption b{display:block;font:600 18px var(--f-text);color:var(--ink);margin-bottom:4px}
.scr-tv img,.scr-tv video{display:block;width:100%;height:auto;aspect-ratio:16/9;border:6px solid #1a1821;border-radius:14px;background:#1a1821}
.phone{background:#1a1821;padding:7px;border-radius:28px;max-width:250px;border:1px solid #ffffff14}
.phone img{border-radius:22px;aspect-ratio:520/960;object-fit:cover;object-position:top}

/* кто делает */
.author-in{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start;max-width:880px}
.author-name{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:0;background:var(--gold);color:var(--gold-ink);font:30px var(--f-display)}
.author p{color:var(--ink-2);max-width:62ch;margin-bottom:12px}
.author .author-note{color:var(--mute);font-size:14px}

/* без риска */
.safe-row{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.safe-row li{border-top:2px solid var(--gold);padding-top:16px;font-size:14px;line-height:1.55;color:#bdb6c8}
.safe-row b{display:block;font:600 17px var(--f-text);color:var(--ink);margin-bottom:6px}

/* заявка */
.order{max-width:1264px;margin:0 auto 64px;display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:48px;
  background:var(--card);border:1px solid #ffffff14;border-radius:24px;padding:48px}
.order-lead{color:var(--ink-2)}
.form{position:relative;margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.f{display:grid;gap:6px}
.f>span{font-size:14px;font-weight:600}
.f i{font-style:normal;font-weight:400;color:var(--mute);margin-left:4px}
.f input,.f select,.f textarea{width:100%;font:16px/1.4 var(--f-text);color:var(--ink);background:#0f0e14;border:1px solid #ffffff2a;border-radius:12px;padding:12px 14px;min-height:50px}
.f textarea{resize:vertical}
.f input:focus-visible,.f select:focus-visible,.f textarea:focus-visible{outline:2px solid var(--gold);outline-offset:0;border-color:transparent}
.f input[aria-invalid=true],.f select[aria-invalid=true]{border-color:#ff8a65;box-shadow:inset 0 0 0 1px #ff8a65}
.wide{grid-column:1 / -1}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.45;color:var(--ink-2)}
.consent input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--gold);flex:none}
.consent a{text-decoration:underline;text-underline-offset:3px}
.submit{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.status{font-size:14px;font-weight:600;margin:0}
.status.err{color:#ff9d80}
.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.done{margin-top:24px;border-top:2px solid var(--gold);padding-top:20px}
.done b{display:block;font:26px/1.2 var(--f-display);margin-bottom:8px}
.fine{font-size:14px;color:var(--mute);align-self:start;padding-top:64px}
.fine p{margin:0;padding:12px 0;border-bottom:1px solid var(--line)}
.fine p:first-child{border-top:1px solid var(--line)}
.fine a{text-decoration:underline;text-underline-offset:3px;color:var(--ink-2)}

/* образец анкеты */
.sample-form{margin-top:28px;border-top:1px solid var(--line);padding-top:18px;color:var(--ink-2);font-size:15px}
.sample-form summary{cursor:pointer;font-weight:600;color:var(--ink);list-style-position:inside}
.sample-form ul{margin:12px 0 0;padding-left:20px;display:grid;gap:6px}
.sample-form p{margin:12px 0 0;color:var(--mute);font-size:14px}

/* кнопка снизу на телефоне: появляется после первого экрана, прячется у формы (offer.js) */
.sticky{display:none}

/* подвал */
.foot{border-top:1px solid var(--line)}
.foot-in{max-width:1312px;margin:0 auto;padding:28px 24px 40px;display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.foot .logo{font-weight:750}
.foot nav{display:flex;flex-wrap:wrap;gap:8px 24px;margin-left:auto;font-size:14px;color:var(--mute)}
.foot nav a{padding:6px 0}
.foot nav a:hover{color:var(--ink)}

/* «Как мы обращаемся с данными» */
.docbody{max-width:760px;margin:0 auto;padding:24px 24px 96px}
.docbody h1{font-size:40px}
.docbody h2{font:600 20px var(--f-text);letter-spacing:0;margin:40px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.docbody p{margin:12px 0 0;max-width:65ch;color:var(--ink-2);line-height:1.6}
.docbody .lead{font-size:18px;color:var(--ink)}
.docbody a{text-decoration:underline;text-underline-offset:3px}

@media (max-width:1100px){
  .steps,.block,.order{margin-left:24px;margin-right:24px}
  .sample{right:3%;width:320px}
  .copy{width:58%}
  .offer h1{font-size:38px}
  .buy{flex-wrap:wrap}
  .try-row{grid-template-columns:1fr 1fr}
  .safe-row{grid-template-columns:1fr 1fr}
  .order{grid-template-columns:1fr;gap:0}
  .fine{padding-top:28px}
}
@media (max-width:600px){
  .top{height:70px;padding:0 20px}
  .brand{font-size:18px}.brand img{width:27px;height:27px}
  .pill{font-size:12px;padding:8px 12px}
  .offer h1{font-size:32px;line-height:1.14;letter-spacing:-1px;margin-bottom:18px}
  .offer h2{font-size:24px}
  .eyebrow{font-size:11px;letter-spacing:1.8px;margin-bottom:16px}
  .lead{font-size:16px;line-height:1.55}
  .hero{padding:24px 20px 20px;min-height:0}
  .hero::before{inset:-70px 0 0;background-position:68% top;opacity:.48}
  .hero::after{inset:-70px 0 0;background:linear-gradient(#0b0b10b3,#0b0b10de 55%,#0b0b10)}
  .copy{width:100%}
  .room-tag{display:none}
  .buy{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-top:24px}
  .price{display:flex;align-items:center;gap:14px}
  .cta{min-height:54px;padding:13px 22px}
  .price b{font-size:23px}
  .price small{font-size:12px;max-width:none;margin:0}
  .sample{position:relative;right:auto;bottom:auto;transform:none;width:100%;margin-top:36px}
  .game{border-width:3px;border-radius:10px}
  .watch{margin-top:16px}
  .author-in{grid-template-columns:1fr;gap:16px}
  .author-name{width:56px;height:56px;font-size:24px}
  .tube{border-width:3px;border-radius:10px}
  .caption{margin-top:8px;font-size:11px}
  .steps,.block{margin:0 20px}
  .steps{padding:30px 0 40px}
  .block{padding:40px 0}
  .steps-head,.block-head{display:block}
  .steps-head p,.block-head p{text-align:left;margin-top:8px}
  .steps-row,.try-row,.safe-row{grid-template-columns:1fr;gap:18px}
  .step p{max-width:100%}
  .screens-row{grid-template-columns:1fr 1fr;gap:18px}
  .scr-tv{grid-column:1 / -1}
  .phone{max-width:none}
  .block-cta{flex-direction:column;align-items:stretch;text-align:center}
  .order{margin:0 12px 40px;padding:28px 18px;border-radius:18px}
  .form{grid-template-columns:1fr}
  .submit .cta{width:100%}
  .sticky{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:20;justify-content:center;align-items:center;
    min-height:54px;border-radius:14px;background:var(--gold);color:var(--gold-ink);font-weight:750;box-shadow:0 10px 30px #000b;
    transform:translateY(160%);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
  .offer .sticky{color:var(--gold-ink)}
  .sticky.on{transform:none}
  .foot-in{padding-bottom:96px}
}
@media (max-width:360px){.offer h1{font-size:26px;letter-spacing:-.5px}.cta{white-space:normal;text-align:center}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tube .frame,.sticky,.cta{transition:none}}
@media (forced-colors:active){.cta,.sticky,.try-opts button{border:1px solid ButtonText}}
