/* v30 — телефон (< 768): отдельная вёрстка. Свята — лента со свайпом (scroll-snap),
   3D на всю ширину, выбор надписи и протокол — ниже, липкая плашка «Посилання / Умови». */
body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
.client { padding-bottom: 0; }
.top { padding: 8px 16px; }
.hero { padding: 18px 16px 28px; }
.mono { max-width: 300px; margin: 0 auto 18px; }
.kt { font-size: clamp(27px, 8vw, 36px); }
.hero .kt { font-size: clamp(28px, 8.4vw, 38px); }
.lead { font-size: 16px; }
.hero-cta .btn { flex: 1 1 100%; }

.cab { padding: 22px 0 18px; }
.cab-head, .work, .panel, .client-act { margin-inline: 16px; }
.events { margin-bottom: 14px; }
.events .col-k, .events .note { margin-inline: 16px; }
/* лента свят: свайп по любой карточке листает */
.ev-list { position: relative; display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 2px 16px 6px;
  scrollbar-width: none; overscroll-behavior-x: contain; touch-action: pan-x pan-y; }
.ev-list::-webkit-scrollbar { display: none; }
.ev-list li { flex: 0 0 82%; scroll-snap-align: center; display: flex; }
.ev { height: 100%; }
.stage { aspect-ratio: auto; height: min(96vw, 430px); border-radius: 20px; }
.prods { overflow-x: auto; scrollbar-width: none; margin-inline: -16px; padding: 0 16px; }
.prods::-webkit-scrollbar { display: none; }
.prod { flex: none; }
.sw { gap: 10px; }
.swatch { width: 36px; height: 36px; }
.panel { margin-top: 16px; }
.opt { min-width: 64px; min-height: 48px; }

.roles, .fears, .join { padding: 34px 16px; }

.mbar { position: fixed; z-index: 40; left: 0; right: 0; bottom: 0; display: flex; gap: 8px;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
  background: color-mix(in srgb, var(--paper) 92%, transparent); backdrop-filter: blur(10px); border-top: 1px solid var(--line); }
.mbar .btn { flex: 1; min-height: 48px; padding: 0 8px; font-size: 15px; }
