/* 27.10.2026 Claude - финальная доводка: мобильная шапка и меню, типографика,
   форма, ссылка на официальный сайт, передача линза/курсор, вылетающие конфетти перфорации.
   Подключается последним. Предыдущее состояние: ../_old/2026-10-27-claude-audit-start/ */

/* --- Заголовки: хвосты Д и Щ больше не цепляют следующую строку --- */
.h2{line-height:.98}
@media(max-width:900px){.h2{line-height:1.05}}

/* --- Пробитые кружки перфорации (летят из билета) --- */
html,body{overflow-x:clip}
.vz-chad{position:absolute;z-index:70;display:block;border-radius:50%;pointer-events:none;background:#eef2f3;
  box-shadow:inset -.6px -.9px 0 rgba(4,38,58,.3),0 1.5px 2.5px rgba(0,0,0,.45);will-change:transform;backface-visibility:visible}
.vz-chad--dark{background:#1d252d;box-shadow:inset .6px .9px 0 rgba(182,230,245,.4),0 1.5px 2.5px rgba(0,0,0,.6)}

/* --- Линза и маленький курсор: мягкая передача --- */
html.lens-cursor .k-hero .kh,html.lens-cursor .k-hero .kh *{cursor:none!important}
.site-cursor.is-melt{opacity:0!important;transition:opacity .38s ease!important}
.site-cursor.is-melt>.cursor-glyph{transform:scale(2.4)!important;transition:transform .38s cubic-bezier(.2,.8,.2,1)!important}
.site-cursor.is-arriving>.cursor-glyph{animation:vz-arrive .6s cubic-bezier(.16,1,.3,1)}
@keyframes vz-arrive{0%{transform:scale(2.6);opacity:0}55%{opacity:1}100%{transform:scale(1);opacity:1}}

/* --- Форма: кнопка отправки как остальные кнопки приглашения --- */
.rsvp-submit{clip-path:none;border-radius:8px;grid-template-columns:minmax(0,1fr) 40px;min-height:56px;padding:8px 8px 8px 20px;font-size:13px;transition:background .25s,color .25s}
.rsvp-submit__arrow{width:40px;height:40px;border-radius:5px;background:rgba(4,38,58,.1)}
.rsvp-submit:hover{background:#101820;color:var(--acc)}
.rsvp-submit:hover .rsvp-submit__arrow{background:rgba(41,197,255,.14)}
@media(max-width:820px){.rsvp-submit{width:100%;justify-self:stretch}}

/* --- Официальный сайт в подвале --- */
.ft__site{padding-bottom:22px}
.ft__official{display:inline-flex;align-items:center;gap:14px;min-height:52px;padding:8px 8px 8px 18px;border:1px solid rgba(41,197,255,.38);border-radius:8px;color:var(--paper);transition:background .25s,border-color .25s,color .25s}
.ft__official-text{display:inline-flex;align-items:baseline;gap:inherit}
.ft__official-k{font:400 11px/1.2 var(--f-d);letter-spacing:.2em;text-transform:uppercase;color:rgba(242,243,241,.6)}
.ft__official-v{font:500 18px/1 var(--f-d);letter-spacing:.04em;color:var(--acc)}
.ft__official svg{width:36px;height:36px;padding:10px;border-radius:5px;background:rgba(41,197,255,.12);fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .45s var(--ease-exp)}
.ft__official:hover{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}
.ft__official:hover .ft__official-k,.ft__official:hover .ft__official-v{color:var(--acc-ink)}
.ft__official:hover svg{background:rgba(4,38,58,.12);transform:translate(2px,-2px)}

/* --- Мобильная шапка: мини-билет, «Ответить» - отрывной корешок --- */
@media(max-width:900px){
  .head__bar{--r:10px;min-height:58px;gap:0;background:none;border:0;border-radius:0;filter:drop-shadow(0 10px 18px rgba(0,0,0,.38))}
  .head__pl,.head__cta{
    -webkit-mask:radial-gradient(circle at 0 0,#0000 var(--r),#000 calc(var(--r) + .5px)) 0 0/51% 51% no-repeat,radial-gradient(circle at 100% 0,#0000 var(--r),#000 calc(var(--r) + .5px)) 100% 0/51% 51% no-repeat,radial-gradient(circle at 0 100%,#0000 var(--r),#000 calc(var(--r) + .5px)) 0 100%/51% 51% no-repeat,radial-gradient(circle at 100% 100%,#0000 var(--r),#000 calc(var(--r) + .5px)) 100% 100%/51% 51% no-repeat;
            mask:radial-gradient(circle at 0 0,#0000 var(--r),#000 calc(var(--r) + .5px)) 0 0/51% 51% no-repeat,radial-gradient(circle at 100% 0,#0000 var(--r),#000 calc(var(--r) + .5px)) 100% 0/51% 51% no-repeat,radial-gradient(circle at 0 100%,#0000 var(--r),#000 calc(var(--r) + .5px)) 0 100%/51% 51% no-repeat,radial-gradient(circle at 100% 100%,#0000 var(--r),#000 calc(var(--r) + .5px)) 100% 100%/51% 51% no-repeat}
  .head__pl{padding:0 6px 0 16px;gap:6px;background:#10161c url(../images/card-black.webp) center/512px;box-shadow:inset 0 1px 0 rgba(242,243,241,.07)}
  .head__pl::after{content:'';position:absolute;left:14px;right:14px;bottom:6px;height:1px;background:rgba(41,197,255,.22);pointer-events:none}
  .head__logo{font-size:12px;letter-spacing:.1em}
  .head__burger{flex:0 0 44px;width:44px;height:44px;padding:0 11px;align-items:flex-end;border:0;border-radius:0;background:none}
  .head__burger i{width:22px}
  .head__burger i:nth-child(2){width:14px}
  .menu-open .head__burger i{width:22px}
  .head__cta{position:relative;align-self:stretch;min-height:0;margin:0;padding:0 18px 0 20px;gap:9px;border-radius:0;clip-path:none;font-size:11.5px;letter-spacing:.12em}
  .head__cta::before{content:'';position:absolute;left:-1px;top:14px;bottom:14px;border-left:2px dotted rgba(4,38,58,.4)}
  .head__cta:hover,.head__cta:focus-visible{background:var(--paper)}
  .menu-open .head__bar{background:none}
}
@media(max-width:360px){
  .head__pl{padding-left:12px}
  .head__cta{padding:0 13px 0 15px;font-size:10.5px;letter-spacing:.09em}
  .head__burger{flex-basis:40px;width:40px;padding-inline:9px}
}

/* --- Мобильное меню: два билета без нахлёста, пункты дышат --- */
@media(max-width:900px){
  .mnav__inner{gap:12px}
  .mnav__route{justify-content:flex-start;padding:26px 22px 18px}
  .mnav__list{flex:1 1 auto;justify-content:space-evenly;margin-top:18px}
  .mnav.mnav .mnav__sec{min-height:0;padding-block:16px}
  .mnav__foot{margin-top:0}
  .mnav__official{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:13px;border-top:1px dashed rgba(11,111,153,.32);font:400 13px/1.3 var(--f-t);color:#235a73}
  .mnav__official b{font-weight:600;color:#0b6f99}
  .mnav__official svg{flex:0 0 18px;width:18px;height:18px;fill:none;stroke:#0b6f99;stroke-width:1.8}
}
@media(max-height:700px) and (max-width:900px){
  .mnav__route{padding:18px 20px 12px}
  .mnav__list{margin-top:10px}
  .mnav.mnav .mnav__sec{padding-block:10px}
  .mnav__official{margin-top:10px;padding-top:10px}
}

/* --- Карточки ценностей: номер, заголовок и иконка не налезают друг на друга --- */
@media(max-width:480px){
  .value-ticket__head{grid-template-columns:44px minmax(0,1fr) 22px;gap:12px;padding:16px 18px}
  .value-ticket__number{width:44px;height:44px;font-size:21px}
  .value-tickets .value-ticket h3{font-size:clamp(20px,6.3vw,26px);line-height:1.08}
  .value-ticket__head>svg{width:22px;height:22px}
}
@media(max-width:360px){
  .value-ticket__head{grid-template-columns:40px minmax(0,1fr) 20px;gap:10px;padding:14px 16px}
  .value-ticket__number{width:40px;height:40px;font-size:19px}
  .value-tickets .value-ticket h3{font-size:20px}
  .value-ticket__head>svg{width:20px;height:20px}
}

/* --- След курсора: поверхность шире, хвост гаснет сам, а не обрубается --- */
.cursor-magic-layer{width:300px;height:300px}

/* --- Планшет: в корешке шапки помещается полная подпись --- */
@media(min-width:600px) and (max-width:900px){.head__cta-full{display:inline}.head__cta-short{display:none}}

/* ================= Проход 2, 27.10 ================= */

/* --- Мобильное меню: печати 01-03 ровно по центру номера, отступ от гравировки --- */
.mnav .mnav__sec .mnav__num[data-ticket-seal]>svg{inset:-3px;width:calc(100% + 6px);height:calc(100% + 6px);max-width:none;max-height:none}
@media(max-width:900px){
  .mnav__route{padding-inline:28px;background:rgba(242,243,241,.025)}
  .mnav__foot{padding-inline:28px}
  .mnav.mnav .mnav__official{font:400 13px/1.3 var(--f-t);letter-spacing:0;text-transform:none;color:#235a73}
  .mnav.mnav .mnav__official b{font:600 13px/1.3 var(--f-t);letter-spacing:0;color:#0b6f99}
}
@media(max-height:700px) and (max-width:900px){.mnav__route{padding-inline:26px}}
@media(max-width:360px){.mnav__route,.mnav__foot{padding-inline:20px}}

/* --- Модалка: цифра 17 и подписи целиком внутри печати --- */
@media(min-width:681px){
  .rsvp-stub__date{width:178px;height:178px;gap:3px}
  .rsvp-stub__seal{inset:0;opacity:.34}
  .rsvp-stub__seal svg{width:178px;height:178px}
  .rsvp-stub__date b{font-size:48px;line-height:.95}
  .rsvp-stub__date>span:not(.rsvp-stub__seal){font-size:10px;letter-spacing:.12em}
  .rsvp-stub__date strong{font-size:18px}
}
@media(max-width:680px){
  .rsvp-stub{grid-template-columns:minmax(0,1fr) 118px}
  .rsvp-stub__date{width:118px;height:118px;gap:2px}
  .rsvp-stub__seal svg{width:118px;height:118px}
  .rsvp-stub__date b{font-size:34px}
  .rsvp-stub__date>span:not(.rsvp-stub__seal){font-size:8px;letter-spacing:.06em}
  .rsvp-stub__date strong{font-size:13px}
}
.mnav.mnav .mnav__official span{font:400 13px/1.3 var(--f-t);letter-spacing:0;text-transform:none;color:inherit}
@media(max-height:700px) and (max-width:900px){.mnav__route{padding-top:24px}}
@media(max-width:680px){.rsvp-dialog .rsvp-stub{padding-right:58px}}
@media(max-width:360px){.rsvp-dialog .rsvp-stub{padding-right:50px;grid-template-columns:minmax(0,1fr) 104px}.rsvp-stub__date,.rsvp-stub__seal svg{width:104px;height:104px}.rsvp-stub__date b{font-size:30px}}

/* ================= Правки заказчика 27.10 (v2: раскладка под объём текста) ================= */
/* Hero: подложка под подзаголовком */
.kh__sub{max-width:34em;margin-top:10px;font:400 clamp(14px,1.05vw,17px)/1.55 var(--f-t);color:rgba(244,245,246,.74)}
@media(max-width:640px){.kh__sub{font-size:14px;margin-top:8px}}

/* О мероприятии: заголовок по размеру остальных блоков, карточка гостя на всю высоту колонки */
.ki__lbl{margin-bottom:14px;color:#0b6f99}
.ki__h{font-size:clamp(40px,4.6vw,80px);line-height:.95;max-width:9.5em}
.ki__top{align-items:stretch}
.ki__lead{max-width:22em}
.ki__guest{display:flex;flex-direction:column;justify-content:flex-end;gap:12px;min-height:100%}
.ki__guest .kc__lbl{margin-bottom:auto}
.ki__gname{max-width:12em}
.ki__gtx{font-size:clamp(16px,1.2vw,19px);line-height:1.4;color:#04263a}
.ki__th .h3{font-size:clamp(22px,1.8vw,30px)}
.ki__th p{font-size:clamp(15px,1.05vw,17px);max-width:26ch}

/* Место: адрес */
.kp__addr{display:grid;gap:4px;margin-bottom:16px}
.kp__addr b{font:500 clamp(20px,1.6vw,26px)/1.15 var(--f-d);letter-spacing:.02em;text-transform:uppercase;color:var(--paper)}
.kp__addr span{font:400 14px/1.4 var(--f-t);color:rgba(244,245,246,.6)}

/* Программа: билет = корешок | содержание | фото на всю высоту */
.kq--x{display:grid;grid-template-columns:clamp(96px,8.4vw,132px) minmax(0,1fr) clamp(280px,27vw,430px);align-items:stretch}
.kq--x .kq__stub{display:grid;place-items:center;align-content:center;gap:10px;min-height:100%}
.kq--x .kq__stk{position:relative;font:500 10px/1.2 var(--f-d);font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:rgba(4,38,58,.72)}
.kq__body{display:grid;align-content:start;gap:18px;min-width:0;padding:clamp(26px,2.6vw,42px) clamp(22px,2.6vw,44px) clamp(28px,2.8vw,46px)}
.kq__hd{display:grid;gap:8px}
.kq__k{font:500 12px/1.3 var(--f-d);font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:#0b6f99}
.kq__h.h3{max-width:20em;font-size:clamp(22px,1.9vw,32px);line-height:1.08;text-transform:uppercase;letter-spacing:.01em}
.kq__txt{display:grid;gap:10px}
.kq__txt p{max-width:46em;font-size:var(--tx-card);line-height:1.6;color:var(--ink-70)}
.kq__cap{display:flex;align-items:center;gap:14px;margin-top:4px;font:500 12px/1.2 var(--f-d);letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.kq__cap::after{content:'';flex:1;height:0;border-top:2px dotted rgba(11,111,153,.3)}
.kq__facts{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.kq__facts--4{grid-template-columns:repeat(2,minmax(0,1fr))}
.kq__facts--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.kq__facts li{position:relative;display:grid;align-content:start;gap:6px;padding:16px 18px 18px 58px;background:#f3f8fa;border:1px solid rgba(11,111,153,.14);
  clip-path:polygon(9px 0,calc(100% - 9px) 0,100% 9px,100% calc(100% - 9px),calc(100% - 9px) 100%,9px 100%,0 calc(100% - 9px),0 9px)}
.kq__facts i{position:absolute;left:16px;top:15px;display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(11,111,153,.45);border-radius:50%;
  font:500 12px/1 var(--f-d);font-style:normal;color:#0b6f99;box-shadow:inset 0 0 0 3px #f3f8fa,inset 0 0 0 4px rgba(41,197,255,.35)}
.kq__facts b{font:500 16px/1.2 var(--f-d);letter-spacing:.03em;text-transform:uppercase;color:var(--ink)}
.kq__facts span{font-size:14.5px;line-height:1.5;color:var(--ink-70)}
.kq__facts--3 li span{color:var(--ink)}
.kq__sp{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;align-items:center;max-width:46em;padding:14px 18px;background:#e9f7fd;border-left:3px solid var(--acc)}
.kq__sp-ph{position:relative;display:grid;place-items:center;width:72px;height:72px;border-radius:50%;object-fit:cover}
.kq__sp-ph svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#0b6f99;stroke-width:.8;opacity:.6}
.kq__sp-ph b{position:relative;font:600 22px/1 var(--f-d);color:#0b6f99}
.kq__sp p{font-size:14px;line-height:1.5;color:var(--ink-70)}
.kq__sp p b{display:block;margin-bottom:3px;font:500 18px/1.2 var(--f-d);letter-spacing:.03em;text-transform:uppercase;color:var(--ink)}
.kq__ph.ph{position:relative;align-self:stretch;min-height:260px;height:auto;aspect-ratio:auto;margin:clamp(14px,1.3vw,20px) clamp(14px,1.3vw,20px) clamp(14px,1.3vw,20px) 0;overflow:hidden}
.kq__ph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:1180px){
  .kq--x{grid-template-columns:clamp(84px,9vw,110px) minmax(0,1fr);grid-template-rows:auto auto}
  .kq--x .kq__stub{grid-row:1 / span 2}
  .kq--x .kq__ph{grid-column:2;margin:0 clamp(22px,2.6vw,44px) clamp(22px,2.6vw,40px);min-height:0;aspect-ratio:16/8}
  .kq__body{padding-bottom:22px}
}
@media(max-width:820px){.kq__facts--3{grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){
  .kq--x{grid-template-columns:52px minmax(0,1fr)}
  .kq--x .kq__stub b{font-size:26px}
  .kq--x .kq__stk{display:none}
  .kq__body{padding:22px 16px 18px;gap:14px}
  .kq--x .kq__ph{margin:0 16px 18px;aspect-ratio:4/3}
  .kq__h.h3{font-size:20px}
  .kq__facts--4{grid-template-columns:minmax(0,1fr)}
  .kq__facts li{padding:14px 14px 15px 52px}
  .kq__facts i{left:12px;top:13px}
  .kq__sp{grid-template-columns:56px minmax(0,1fr);gap:12px;padding:12px}
  .kq__sp-ph{width:56px;height:56px}
  .kq__sp-ph b{font-size:17px}
  .ki__h{font-size:clamp(38px,11vw,50px)}
}
/* пункты: номер в строку с заголовком, текст на всю ширину плашки */
.kq__facts li{grid-template-columns:30px minmax(0,1fr);column-gap:12px;row-gap:8px;align-items:center;padding:16px 18px 18px}
.kq__facts i{position:static;grid-row:1}
.kq__facts b{grid-column:2}
.kq__facts span{grid-column:1 / -1}
.kq__facts--3 li span{grid-column:1 / -1}
.kq__facts--3 li{align-content:start}
@media(max-width:640px){.kq__facts li{padding:14px 14px 15px}}

/* --- Мобилка: корешок программы сверху полосой, вырезы по бокам --- */
@media(max-width:640px){
  .kq--x{grid-template-columns:minmax(0,1fr);grid-template-rows:auto}
  .kq--x .kq__stub{grid-row:auto;display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:0;padding:12px 20px}
  .kq--x .kq__stub b{font-size:30px}
  .kq--x .kq__stk{display:block;font-size:11px}
  .kq--x .kq__stub::after{left:16px;right:16px;top:auto;bottom:-1px;border-right:0;border-bottom:2px dotted rgba(8,9,11,.35)}
  .kq--x .kq__stub>svg{opacity:.5}
  .kq--x .kq__ph{grid-column:auto}
  .kq__sp{grid-template-columns:48px minmax(0,1fr);align-items:start}
  .kq__sp-ph{width:48px;height:48px}
  .kq__sp-ph b{font-size:15px}
  .ki__h{font-size:40px}
  .ki__lead{font-size:19px;line-height:1.3}
  /* карточки «О мероприятии»: иконка слева, текст справа */
  .ki__th .kc{grid-template-columns:64px minmax(0,1fr);column-gap:14px;row-gap:4px;align-items:start}
  .ki__th .kc>img{grid-row:1 / span 2;width:64px;margin:0}
  .ki__th .kc>.h3,.ki__th .kc>p{grid-column:2}
  .ki__th .h3{font-size:21px;padding-right:40px}
  .ki__th .kc__n{font-size:28px}
}

/* ================= 28.10: «О мероприятии» - заголовок на всю ширину, ниже текст | карточка гостя ================= */
.ki__top{grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-areas:"lbl lbl" "h h" "body guest";align-items:start;row-gap:0}
.ki__txt{display:contents}
.ki__lbl{grid-area:lbl;margin-top:clamp(10px,1.6vw,26px)}
.ki__h{grid-area:h;max-width:none;font-size:clamp(40px,4.4vw,78px);margin-bottom:clamp(20px,2vw,32px)}
.ki__body{grid-area:body}
.ki__guest{grid-area:guest;align-self:start;min-height:0;justify-content:flex-start}
.ki__guest .kc__lbl{margin-bottom:8px}
/* три карточки: текст на всю ширину, без лишней высоты */
.ki__th p{max-width:none}
.ki__th img{width:clamp(64px,5vw,88px)}
@media(max-width:900px){
  .ki__top{grid-template-columns:minmax(0,1fr);grid-template-areas:"lbl" "h" "body" "guest";row-gap:0}
  .ki__guest{margin-top:22px}
}

/* 28.10: гравированная печать напротив заголовка «Время встретиться вживую», как у «Места» и «Программы» */
.ki__top{grid-template-areas:"lbl seal" "h seal" "body guest"}
.ki__seal{grid-area:seal;width:clamp(96px,8vw,120px);justify-self:end;align-self:center;margin-right:clamp(0px,2vw,40px)}
@media(max-width:900px){.ki__seal{display:none}.ki__top{grid-template-areas:"lbl" "h" "body" "guest"}}

/* 28.10: телефон - карточки на всю ширину, иконка едва заметным водяным знаком справа внизу (как у агентов Вертикали) */
@media(max-width:640px){
  .ki__th .kc{display:grid;grid-template-columns:minmax(0,1fr);row-gap:8px;position:relative;overflow:hidden;padding:20px 20px 24px}
  .ki__th .kc>img{position:absolute!important;z-index:0!important;right:-14px;bottom:-18px;width:132px;margin:0;opacity:.1;pointer-events:none}
  .ki__th .kc>.h3,.ki__th .kc>p{grid-column:1}
  .ki__th .h3{font-size:22px;padding-right:56px}
  .ki__th p{font-size:15px}
  .ki__th .kc__n{font-size:30px}
  .kq__sp{display:block;position:relative;overflow:hidden;padding:16px 18px}
  .kq__sp-ph{position:absolute;right:-14px;bottom:-14px;width:120px;height:120px;opacity:.12}
  .kq__sp-ph b{font-size:36px}
  .kq__sp p{position:relative}
}

/* 28.10: портрет Татьяны Барановой - круг с голубым кантом; на телефоне слева у имени, текст обтекает */
.kq__sp{grid-template-columns:88px minmax(0,1fr)}
.kq__sp-img{width:88px;height:88px;border-radius:50%;object-fit:cover;object-position:50% 20%;border:2px solid #fff;box-shadow:0 0 0 1px rgba(11,111,153,.45),0 6px 14px rgba(4,38,58,.18)}
@media(max-width:640px){
  .kq__sp-img{position:static;float:left;width:64px;height:64px;margin:2px 14px 8px 0;opacity:1}
  .kq__sp p b{padding-top:8px}
}

/* Approved programme times; preserve the order and existing coupon layout. */
.kq--x .kq__time{position:relative;display:flex;align-items:center;justify-content:center;gap:5px;margin-top:8px;padding:12px 3px 0;border-top:1px solid rgba(4,38,58,.28);font:500 clamp(14px,1.1vw,18px)/1.25 var(--f-d);font-variant-numeric:tabular-nums;letter-spacing:.01em;white-space:nowrap}
@media(max-width:640px){.kq--x .kq__stub{flex-wrap:wrap}.kq--x .kq__time{margin:0 0 0 auto;padding:0 0 0 12px;border-top:0;border-left:1px solid rgba(4,38,58,.28);font-size:16px}}
@media(max-width:480px){.kq--x .kq__time{flex-basis:100%;justify-content:flex-start;margin:0;padding:8px 0 0;border-left:0;border-top:1px solid rgba(4,38,58,.28)}}

/* Document order, 30.10.2026 */
#program .kg__head{grid-template-columns:minmax(0,1fr)}
#program .kq__closing,#baranova .kq__closing{max-width:none}
#baranova .kq--repeat{grid-template-columns:minmax(0,1fr) minmax(260px,.65fr)}
#baranova .kq__stub{display:none}
@media(max-width:900px){#baranova .kq--repeat{grid-template-columns:minmax(0,1fr)}}
#idea .ki__top{display:block}
#idea .ki__body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px clamp(24px,4vw,72px)}
#idea .ki__lead{grid-row:span 2;max-width:24em}
#idea .ki__body>.tx{max-width:none}
@media(max-width:760px){#idea .ki__body{grid-template-columns:minmax(0,1fr)}#idea .ki__lead{grid-row:auto}}
#idea .ki__seal{position:absolute;right:var(--P);top:clamp(90px,9vw,130px);margin:0}
@media(max-width:760px){#idea .ki__seal{display:none}}
@media(max-width:360px){#idea .ki__h,#program .kg__h{font-size:36px}}

/* 03.11: программа из шести блоков - короткие билеты без фото (тексты от заказчика придут позже) */
.kq.kq--x.kq--mini{grid-template-columns:clamp(96px,8.4vw,132px) minmax(0,1fr);grid-template-rows:auto}
.kq--mini .kq__body{align-content:center;padding-top:clamp(20px,2vw,30px);padding-bottom:clamp(20px,2vw,30px)}
.kq--mini .kq__h.h3{max-width:none}
.kq--mini .kq__stub{grid-row:auto}
@media(max-width:640px){.kq.kq--x.kq--mini{grid-template-columns:minmax(0,1fr)}.kq--mini .kq__body{padding:18px 16px 20px}}

/* 05.11: контакты организаторов - подвал и экран «Спасибо» */
.ft__site{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}
.vz-contacts{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px}
.vz-contacts__k{flex:0 0 100%;font:400 11px/1.2 var(--f-d);letter-spacing:.2em;text-transform:uppercase;color:rgba(242,243,241,.6)}
.vz-contacts a{display:grid;gap:2px;color:var(--paper);transition:color .25s}
.vz-contacts a b{font:500 18px/1.15 var(--f-d);letter-spacing:.03em;color:var(--acc)}
.vz-contacts a span{font:400 13px/1.3 var(--f-t);color:rgba(242,243,241,.7)}
.vz-contacts a:hover b{color:var(--paper)}
.vz-contacts--ok{margin:18px 0 6px;padding:14px 16px;border:1px solid rgba(11,111,153,.22);border-radius:8px;background:#f3f8fa}
.vz-contacts--ok .vz-contacts__k{color:#0b6f99}
.vz-contacts--ok a b{color:#0b6f99}
.vz-contacts--ok a span{color:#52616b}
.vz-contacts--ok a:hover b{color:var(--ink)}
@media(max-width:640px){.ft__site{flex-direction:column;align-items:flex-start}.vz-contacts a b{font-size:17px}}

/* 05.11: тематические иконки в коротких билетах: тонкое кольцо + вращающийся пунктир, рисунок внутри */
.kq--mini .kq__body{position:relative;padding-right:clamp(150px,13vw,210px)}
.kq__ico{position:absolute;right:clamp(30px,3.6vw,64px);top:50%;display:grid;place-items:center;width:clamp(92px,7.4vw,116px);aspect-ratio:1;margin-top:calc(clamp(92px,7.4vw,116px) / -2);color:#0b6f99;opacity:.42;pointer-events:none}
.kq__ring{position:absolute;inset:0;width:100%;height:100%;max-width:none;overflow:visible;fill:none;stroke:currentColor;stroke-width:.75}
.kq__ring .thin{stroke-width:.4}
.kq__ring .band{stroke-width:.32}
.kq__ring .dots{stroke-width:1.3;stroke-linecap:round;stroke-dasharray:.01 2.9}
.kq__ring .gem{fill:currentColor;stroke:none}
.kq__spin{transform-origin:50px 50px;animation:kqTurn 60s linear infinite}
.kq__spin--back{animation-duration:40s;animation-direction:reverse}
.kq--mini:has(.kq__k) .kq__spin{animation-direction:reverse}
.kq--mini:has(.kq__k) .kq__spin--back{animation-direction:normal}
.kq__glyph{position:relative;width:44%;height:44%;max-width:none;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.kq__glyph .d{stroke-dasharray:.6 2.4;stroke-width:1.5}
.kq__glyph .f{fill:currentColor;fill-opacity:.18}
.kq--gift .kq__ico{opacity:.62}
.kq--gift .kq__glyph .spk{transform-box:fill-box;transform-origin:center;animation:kqSpk 3.6s ease-in-out infinite}
.kq--gift .kq__glyph .spk--2{animation-delay:1.2s}.kq--gift .kq__glyph .spk--3{animation-delay:2.4s}
@keyframes kqSpk{0%,100%{opacity:.15;transform:scale(.55)}50%{opacity:1;transform:scale(1)}}
@keyframes kqTurn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.kq--gift .kq__glyph .spk,.kq__spin{animation:none}}
@media(max-width:640px){.kq--mini .kq__body{padding-right:88px}.kq__ico{width:66px;right:12px;margin-top:-33px;opacity:.34}.kq--gift .kq__ico{opacity:.5}}
.ft__official{margin-left:auto}
@media(max-width:640px){.ft__official{margin-left:0}}

/* 05.11: обводка карточек фактов идет и по срезанным углам (раньше border обрезался clip-path) */
.kq__facts li{border:0;background:#d6e7ee;isolation:isolate}
.kq__facts li::before{content:"";position:absolute;inset:1px;z-index:-1;background:#f3f8fa;clip-path:polygon(8.4px 0,calc(100% - 8.4px) 0,100% 8.4px,100% calc(100% - 8.4px),calc(100% - 8.4px) 100%,8.4px 100%,0 calc(100% - 8.4px),0 8.4px)}
