/* Слайди AIPrezentasiya: теми, макети, масштаб через cqw. Потрібні і кабінету, і головній. */

/* =========================================================
   Слайд: один рендер для мініатюр, редактора, показу й PDF.
   Розміри — у cqw (частки ширини слайда), тож слайд масштабується сам.
   ========================================================= */
.slide {
  --s-pad: 6.2cqw;
  /* Панелі (картки, колонки, цифри) — кожна тема перевизначає */
  --s-panel: color-mix(in srgb, var(--s-bg2) 85%, transparent);
  --s-line: color-mix(in srgb, var(--s-ink) 12%, transparent);
  --s-bw: 0.12cqw;
  --s-bs: solid;
  --s-radius: 1.6cqw;
  --s-shadow: none;
  --s-shade: var(--s-ink);
  /* Кольори серій діаграм */
  --c0: var(--s-accent);
  --c1: var(--s-accent2);
  --c2: color-mix(in srgb, var(--s-accent) 50%, var(--s-bg));
  --c3: color-mix(in srgb, var(--s-accent2) 50%, var(--s-bg));
  --c4: color-mix(in srgb, var(--s-ink) 55%, var(--s-bg));
  --c5: color-mix(in srgb, var(--s-ink) 25%, var(--s-bg));
  position: relative; overflow: hidden;
  width: 100%; aspect-ratio: 16 / 9;
  container-type: inline-size;
  background: var(--s-bg); color: var(--s-ink);
  font-family: var(--s-body);
  /* Dela Gothic One має одне накреслення — без штучного жирного */
  font-synthesis-weight: none;
  border-radius: 0;
  isolation: isolate;
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
}
.slide__in { position: absolute; inset: 0; padding: var(--s-pad) var(--s-pad) calc(var(--s-pad) * 0.9); display: flex; flex-direction: column; }
.slide [contenteditable] { outline: none; border-radius: 0.4cqw; transition: box-shadow 150ms ease, background-color 150ms ease; cursor: text; }
.slide [contenteditable]:hover { box-shadow: 0 0 0 0.25cqw color-mix(in srgb, var(--s-accent) 45%, transparent); }
.slide [contenteditable]:focus { box-shadow: 0 0 0 0.3cqw var(--s-accent); background: color-mix(in srgb, var(--s-accent) 8%, transparent); }
.slide [contenteditable]:empty::before { content: "…"; opacity: 0.4; }

/* =========================================================
   Візерунки тем
   ========================================================= */
/* Зошит */
.slide[data-pattern="grid"] { --s-panel: var(--s-bg); --s-line: var(--s-ink); --s-bw: 0.2cqw; --s-radius: 1.2cqw; --s-shadow: 0.6cqw 0.6cqw 0 var(--s-ink); background-image: linear-gradient(color-mix(in srgb, var(--s-accent) 9%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--s-accent) 9%, transparent) 1px, transparent 1px); background-size: 1.7cqw 1.7cqw; }
.slide[data-pattern="grid"]::before { content: ""; position: absolute; left: 7.8%; top: 0; bottom: 0; width: 0.16cqw; background: #e5484d; opacity: 0.35; z-index: -1; }
/* Дошка */
.slide[data-pattern="chalk"] { --s-panel: rgba(255, 255, 255, 0.04); --s-line: color-mix(in srgb, var(--s-ink) 45%, transparent); --s-bw: 0.2cqw; --s-bs: dashed; --s-shade: var(--s-bg); background: radial-gradient(110% 120% at 20% 0%, var(--s-bg2), var(--s-bg) 70%); box-shadow: inset 0 0 0 1.9cqw #5b3d24, inset 0 0 0 2.1cqw rgba(0, 0, 0, 0.3); }
.slide[data-pattern="chalk"] .slide__in { padding: calc(var(--s-pad) + 1cqw); }
.slide[data-pattern="chalk"]::after { content: ""; position: absolute; left: 6%; right: 6%; bottom: 2.6cqw; height: 0.8cqw; border-radius: 1cqw; background: rgba(255, 255, 255, 0.07); z-index: -1; }
/* Неон */
.slide[data-pattern="glow"] { --s-panel: color-mix(in srgb, var(--s-bg2) 65%, transparent); --s-line: color-mix(in srgb, var(--s-accent) 35%, transparent); --s-shadow: 0 0 2.4cqw color-mix(in srgb, var(--s-accent) 14%, transparent); --s-shade: var(--s-bg); background: radial-gradient(55% 70% at 88% 8%, color-mix(in srgb, var(--s-accent2) 42%, transparent), transparent 70%), radial-gradient(50% 70% at 5% 100%, color-mix(in srgb, var(--s-accent) 32%, transparent), transparent 70%), var(--s-bg); }
/* Пастель */
.slide[data-pattern="blobs"] { --s-panel: #ffffff; --s-line: transparent; --s-radius: 2.4cqw; --s-shadow: 0 1.2cqw 3cqw color-mix(in srgb, var(--s-accent2) 14%, transparent); }
.slide[data-pattern="blobs"]::before { content: ""; position: absolute; width: 34cqw; height: 34cqw; right: -9cqw; top: -11cqw; border-radius: 50%; background: var(--s-bg2); z-index: -1; }
.slide[data-pattern="blobs"]::after { content: ""; position: absolute; width: 20cqw; height: 20cqw; left: -6cqw; bottom: -8cqw; border-radius: 50%; background: color-mix(in srgb, var(--s-accent) 16%, transparent); z-index: -1; }
/* Бізнес */
.slide[data-pattern="band"] { --s-panel: color-mix(in srgb, var(--s-accent) 6%, var(--s-bg)); --s-line: color-mix(in srgb, var(--s-accent) 18%, transparent); --s-radius: 1cqw; }
.slide[data-pattern="band"]::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1.2cqw; background: var(--s-bg2); }
.slide[data-pattern="band"]::after { content: ""; position: absolute; left: 0; top: 1.2cqw; width: 22cqw; height: 0.55cqw; background: var(--s-accent2); }
/* Вишиванка: льон, орнамент хрестиком угорі (колір акценту) і пунктир-стібок унизу. Мотив той самий, що в PPTX (STITCH у server/studio/slides.js) */
.slide[data-pattern="stitch"] {
  --stitch: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9'%3E%3Cpath d='M0.1 0.1h.8v.8h-.8zM0.1 8.1h.8v.8h-.8zM2.1 0.1h.8v.8h-.8zM2.1 8.1h.8v.8h-.8zM4.1 0.1h.8v.8h-.8zM4.1 8.1h.8v.8h-.8zM6.1 0.1h.8v.8h-.8zM6.1 8.1h.8v.8h-.8zM8.1 0.1h.8v.8h-.8zM8.1 8.1h.8v.8h-.8zM10.1 0.1h.8v.8h-.8zM10.1 8.1h.8v.8h-.8zM12.1 0.1h.8v.8h-.8zM12.1 8.1h.8v.8h-.8zM14.1 0.1h.8v.8h-.8zM14.1 8.1h.8v.8h-.8zM0.1 2.1h.8v.8h-.8zM0.1 6.1h.8v.8h-.8zM1.1 3.1h.8v.8h-.8zM1.1 5.1h.8v.8h-.8zM2.1 4.1h.8v.8h-.8zM5.1 4.1h.8v.8h-.8zM6.1 3.1h.8v.8h-.8zM6.1 5.1h.8v.8h-.8zM7.1 2.1h.8v.8h-.8zM7.1 4.1h.8v.8h-.8zM7.1 6.1h.8v.8h-.8zM8.1 1.1h.8v.8h-.8zM8.1 3.1h.8v.8h-.8zM8.1 4.1h.8v.8h-.8zM8.1 5.1h.8v.8h-.8zM8.1 7.1h.8v.8h-.8zM9.1 2.1h.8v.8h-.8zM9.1 4.1h.8v.8h-.8zM9.1 6.1h.8v.8h-.8zM10.1 3.1h.8v.8h-.8zM10.1 5.1h.8v.8h-.8zM11.1 4.1h.8v.8h-.8zM14.1 4.1h.8v.8h-.8zM15.1 3.1h.8v.8h-.8zM15.1 5.1h.8v.8h-.8z'/%3E%3C/svg%3E");
  --s-panel: color-mix(in srgb, var(--s-accent) 5%, var(--s-bg)); --s-line: color-mix(in srgb, var(--s-accent) 22%, transparent); --s-radius: 0.5cqw;
}
.slide[data-pattern="stitch"]::before { content: ""; position: absolute; left: 0; right: 0; top: 1.3cqw; height: 2.7cqw; background: var(--s-accent); -webkit-mask: var(--stitch) 0 0 / 4.8cqw 2.7cqw repeat-x; mask: var(--stitch) 0 0 / 4.8cqw 2.7cqw repeat-x; z-index: -1; }
.slide[data-pattern="stitch"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: 1.3cqw; height: 0.55cqw; background: repeating-linear-gradient(90deg, var(--s-accent2) 0 0.55cqw, transparent 0.55cqw 1.1cqw); opacity: 0.5; z-index: -1; }
.slide[data-layout="section"][data-pattern="stitch"]::before { background: var(--s-on-accent); opacity: 0.4; }
.slide[data-layout="section"][data-pattern="stitch"]::after { background: repeating-linear-gradient(90deg, var(--s-on-accent) 0 0.55cqw, transparent 0.55cqw 1.1cqw); }
/* Мінімал */
.slide[data-pattern="none"] { --s-panel: var(--s-bg2); --s-line: transparent; --s-radius: 0; }
/* Журнал: папір, лінійки, шапка-«мачта» */
.slide[data-pattern="editorial"] { --s-panel: transparent; --s-line: var(--s-ink); --s-radius: 0; background: radial-gradient(120% 90% at 0% 0%, color-mix(in srgb, #ffffff 45%, transparent), transparent 60%), var(--s-bg); }
.sl-mast { position: absolute; left: var(--s-pad); right: var(--s-pad); top: 2.3cqw; display: flex; align-items: center; gap: 1.4cqw; font-size: 0.92cqw; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: var(--s-muted); z-index: 1; pointer-events: none; }
.sl-mast b { font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 60%; }
.sl-mast i { flex: 1; height: 0.1cqw; background: var(--s-ink); opacity: 0.55; }
.slide:has(.sl-img, .sl-full) .sl-mast { display: none; }
/* Аврора: північне сяйво й скло */
.slide[data-pattern="aurora"] { --s-panel: rgba(255, 255, 255, 0.07); --s-line: rgba(255, 255, 255, 0.16); --s-radius: 1.8cqw; --s-shade: var(--s-bg); --c4: #45dfc0; --c5: color-mix(in srgb, var(--s-ink) 40%, var(--s-bg)); background: radial-gradient(55% 75% at 6% 0%, color-mix(in srgb, var(--s-accent) 55%, transparent), transparent 70%), radial-gradient(45% 70% at 100% 22%, color-mix(in srgb, var(--s-accent2) 48%, transparent), transparent 70%), radial-gradient(60% 60% at 55% 118%, rgba(69, 223, 192, 0.36), transparent 70%), var(--s-bg); }
.slide[data-pattern="aurora"]::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(255, 255, 255, 0.55) 0.08cqw, transparent 0.12cqw), radial-gradient(circle, rgba(255, 255, 255, 0.35) 0.06cqw, transparent 0.1cqw); background-size: 9cqw 7cqw, 13cqw 11cqw; background-position: 2cqw 3cqw, 7cqw 1cqw; mask-image: linear-gradient(to bottom, #000, transparent 55%); opacity: 0.7; z-index: -1; }
/* Поп-арт: растр, смуги, жорсткі тіні */
.slide[data-pattern="pop"] { --s-panel: #ffffff; --s-line: var(--s-ink); --s-bw: 0.3cqw; --s-radius: 1.2cqw; --s-shadow: 0.7cqw 0.7cqw 0 var(--s-ink); --c2: #ffffff; --c3: var(--s-ink); }
.slide[data-pattern="pop"]::before { content: ""; position: absolute; right: -5cqw; bottom: -6cqw; width: 46cqw; height: 46cqw; background-image: radial-gradient(circle, var(--s-ink) 0.32cqw, transparent 0.38cqw); background-size: 1.5cqw 1.5cqw; mask-image: radial-gradient(circle at 100% 100%, #000 18%, transparent 68%); opacity: 0.2; z-index: -1; }
.slide[data-pattern="pop"]::after { content: ""; position: absolute; left: 0; top: 0; width: 15cqw; height: 15cqw; background: repeating-linear-gradient(-45deg, var(--s-accent2) 0 0.9cqw, transparent 0.9cqw 1.9cqw); mask-image: linear-gradient(135deg, #000 42%, transparent 42.5%); opacity: 0.9; z-index: -1; }
/* Природа: пісок, топографічні лінії, листок */
.slide[data-pattern="organic"] { --s-panel: color-mix(in srgb, var(--s-bg2) 72%, transparent); --s-line: transparent; --s-radius: 2.6cqw; }
.slide[data-pattern="organic"]::before { content: ""; position: absolute; right: -9cqw; bottom: -14cqw; width: 50cqw; height: 50cqw; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%232e6b47' stroke-width='0.7' stroke-opacity='0.45'%3E%3Cpath d='M100 12C140 10 186 40 188 92C190 140 150 186 98 188C50 190 14 150 12 104C10 56 56 14 100 12Z'/%3E%3Cpath d='M102 30C136 30 170 54 168 94C166 132 136 168 98 166C60 164 32 136 32 100C32 62 66 30 102 30Z'/%3E%3Cpath d='M104 50C130 48 152 70 150 98C148 126 126 148 100 146C72 144 52 124 54 98C56 72 78 52 104 50Z'/%3E%3Cpath d='M106 70C122 68 136 82 134 100C132 118 118 130 100 128C84 126 72 114 74 98C76 82 90 72 106 70Z'/%3E%3Cpath d='M108 88C116 88 122 94 120 102C118 110 110 114 102 112C94 110 90 104 92 98C94 92 100 88 108 88Z'/%3E%3C/svg%3E") center / contain no-repeat; z-index: -1; }
.slide[data-pattern="organic"]::after { content: ""; position: absolute; right: -3cqw; top: -5cqw; width: 17cqw; height: 17cqw; border-radius: 0 100% 0 100%; background: color-mix(in srgb, var(--s-accent2) 26%, transparent); transform: rotate(18deg); z-index: -1; }

/* =========================================================
   Типографіка
   ========================================================= */
.sl-title { font-family: var(--s-head); font-weight: 600; font-size: 3.3cqw; line-height: 1.12; letter-spacing: -0.02em; text-wrap: balance; margin: 0; }
.sl-title--xl { font-size: 5.2cqw; line-height: 1.04; }
.slide[data-pattern="chalk"] .sl-title { font-weight: 700; font-size: 4.2cqw; letter-spacing: 0; }
.slide[data-pattern="chalk"] .sl-title--xl { font-size: 6.6cqw; }
.slide[data-pattern="none"] .sl-title, .slide[data-pattern="band"] .sl-title { font-weight: 800; letter-spacing: -0.035em; }
.slide[data-pattern="editorial"] .sl-title { font-weight: 700; font-size: 3.8cqw; letter-spacing: -0.01em; line-height: 1.08; }
.slide[data-pattern="editorial"] .sl-title--xl { font-size: 6.2cqw; line-height: 1; }
.slide[data-pattern="aurora"] .sl-title { font-weight: 800; letter-spacing: -0.04em; }
.slide[data-pattern="pop"] .sl-title { font-weight: 800; letter-spacing: -0.03em; }
.slide[data-pattern="organic"] .sl-title { font-weight: 600; font-size: 3.7cqw; letter-spacing: -0.01em; line-height: 1.08; }
.slide[data-pattern="organic"] .sl-title--xl { font-size: 6cqw; font-style: italic; line-height: 1.02; }

.sl-kicker { font-size: 1.15cqw; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--s-accent); margin: 0 0 1.4cqw; }
.slide[data-pattern="chalk"] .sl-kicker, .slide[data-pattern="glow"] .sl-kicker, .slide[data-pattern="organic"] .sl-kicker { color: var(--s-accent2); }
.slide[data-pattern="aurora"] .sl-kicker { background: linear-gradient(90deg, var(--s-accent), var(--s-accent2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.slide[data-pattern="pop"] .sl-kicker { display: inline-block; align-self: flex-start; color: var(--s-ink); background: #ffffff; border: 0.22cqw solid var(--s-ink); padding: 0.5cqw 1.1cqw; border-radius: 99cqw; letter-spacing: 0.1em; }
.slide[data-pattern="editorial"] .sl-kicker { color: var(--s-accent); letter-spacing: 0.2em; }

.sl-sub { font-size: 1.9cqw; line-height: 1.35; color: var(--s-muted); margin: 0; }
.slide[data-pattern="editorial"] .sl-sub, .slide[data-pattern="organic"] .sl-sub { font-size: 2cqw; }
.sl-lead { font-size: 1.85cqw; line-height: 1.45; color: var(--s-muted); margin: 0 0 1.6cqw; }

.sl-bar { display: block; flex: none; width: 8cqw; height: 0.75cqw; margin: 1.6cqw 0 2.2cqw; border-radius: 1cqw; background: var(--s-accent2); }
.slide[data-pattern="none"] .sl-bar, .slide[data-pattern="band"] .sl-bar, .slide[data-pattern="stitch"] .sl-bar { background: var(--s-accent); height: 0.5cqw; }
.slide[data-pattern="grid"] .sl-bar { box-shadow: 0.25cqw 0.25cqw 0 var(--s-ink); }
.slide[data-pattern="editorial"] .sl-bar { width: 5cqw; height: 0.25cqw; border-radius: 0; background: var(--s-accent); }
.slide[data-pattern="aurora"] .sl-bar { height: 0.45cqw; width: 10cqw; background: linear-gradient(90deg, var(--s-accent), var(--s-accent2), #45dfc0); }
.slide[data-pattern="pop"] .sl-bar { width: 9cqw; height: 1.1cqw; border-radius: 0; background: var(--s-accent); border: 0.25cqw solid var(--s-ink); box-shadow: 0.4cqw 0.4cqw 0 var(--s-ink); }
.slide[data-pattern="organic"] .sl-bar { width: 7cqw; height: 0.6cqw; background: linear-gradient(90deg, var(--s-accent), var(--s-accent2)); }
.sl-bar--center { margin-inline: auto; }

.sl-bullets { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.5cqw; font-size: 2.05cqw; line-height: 1.35; }
.sl-bullets li { position: relative; padding-left: 2.6cqw; }
.sl-bullets li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 1.05cqw; height: 1.05cqw; border-radius: 0.3cqw; background: var(--s-accent); transform: translateY(-50%) rotate(45deg); }
.slide[data-pattern="grid"] .sl-bullets li::before { border-radius: 50%; transform: translateY(-50%); background: var(--s-accent2); box-shadow: 0 0 0 0.2cqw var(--s-ink); }
.slide[data-pattern="editorial"] .sl-bullets li::before { width: 1.5cqw; height: 0.2cqw; border-radius: 0; transform: none; top: 0.7em; }
.slide[data-pattern="aurora"] .sl-bullets li::before { border-radius: 50%; transform: translateY(-50%); background: linear-gradient(135deg, var(--s-accent), var(--s-accent2)); box-shadow: 0 0 1.2cqw color-mix(in srgb, var(--s-accent2) 70%, transparent); }
.slide[data-pattern="pop"] .sl-bullets li::before { width: 1.2cqw; height: 1.2cqw; border-radius: 0.2cqw; transform: translateY(-50%) rotate(8deg); background: var(--s-accent2); border: 0.2cqw solid var(--s-ink); }
.slide[data-pattern="organic"] .sl-bullets li::before { width: 1.25cqw; height: 1.25cqw; border-radius: 0 75% 0 75%; transform: translateY(-50%); }
.slide[data-pattern="blobs"] .sl-bullets li::before { border-radius: 50%; transform: translateY(-50%); background: var(--s-accent2); }
.sl-bullets b { font-weight: 800; color: var(--s-ink); }
.slide[data-pattern="glow"] .sl-bullets b, .slide[data-pattern="chalk"] .sl-bullets b, .slide[data-pattern="editorial"] .sl-bullets b, .slide[data-pattern="organic"] .sl-bullets b { color: var(--s-accent); }
.slide[data-pattern="aurora"] .sl-bullets b { color: #ffffff; }

.sl-num { position: absolute; right: 2.6cqw; bottom: 2cqw; font-size: 1.15cqw; font-weight: 750; color: var(--s-muted); font-variant-numeric: tabular-nums; z-index: 3; }
.sl-num i { font-style: normal; opacity: 0.55; }
.slide[data-frame="bleed"]:is([data-layout="bullets"], [data-layout="big-number"]):has(.sl-img) .sl-num { color: #ffffff; text-shadow: 0 0 0.8cqw rgba(0, 0, 0, 0.55); }

/* Панелі: пункти плану, колонки, цифри, картки — вигляд задає тема */
.sl-agenda li, .sl-col, .sl-stat, .sl-card { background: var(--s-panel); border: var(--s-bw) var(--s-bs) var(--s-line); border-radius: var(--s-radius); box-shadow: var(--s-shadow); }
.slide[data-pattern="editorial"] :is(.sl-agenda li, .sl-col, .sl-stat, .sl-card) { border-width: 0.2cqw 0 0; padding-left: 0; padding-right: 0; }

/* =========================================================
   Ілюстрації та їхні рамки
   ========================================================= */
.sl-img { position: relative; overflow: hidden; border-radius: 1.6cqw; background: var(--s-bg2); }
.sl-img__pic { display: block; width: 100%; height: 100%; object-fit: cover; }
.sl-img--empty { background: linear-gradient(135deg, color-mix(in srgb, var(--s-accent) 75%, var(--s-bg)), color-mix(in srgb, var(--s-accent2) 80%, var(--s-bg))); }
.sl-img__deco { position: absolute; inset: 22%; border-radius: 50%; border: 0.5cqw solid color-mix(in srgb, var(--s-bg) 60%, transparent); box-shadow: 0 0 0 4cqw color-mix(in srgb, var(--s-bg) 14%, transparent); }

/* Полароїд: біла рамка, нахил, скотч */
.slide[data-frame="polaroid"] .sl-img { overflow: visible; background: #ffffff; padding: 1cqw 1cqw 3.6cqw; border-radius: 0.3cqw; box-shadow: 0 1.4cqw 2.6cqw rgba(0, 0, 0, 0.2), 0 0.2cqw 0.5cqw rgba(0, 0, 0, 0.14); transform: rotate(2.4deg); }
.slide[data-frame="polaroid"] .sl-img__pic { border-radius: 0.15cqw; }
.slide[data-frame="polaroid"] .sl-img--empty { background: #ffffff; }
.slide[data-frame="polaroid"] .sl-img--empty .sl-img__deco { inset: 1cqw 1cqw 3.6cqw; border-radius: 0.15cqw; border: 0; box-shadow: none; background: linear-gradient(135deg, var(--s-accent), var(--s-accent2)); }
.slide[data-frame="polaroid"] .sl-img::after { content: ""; position: absolute; left: 50%; top: -1.3cqw; width: 10cqw; height: 2.8cqw; transform: translateX(-50%) rotate(-5deg); background: color-mix(in srgb, var(--s-accent2) 72%, transparent); box-shadow: 0 0.15cqw 0.3cqw rgba(0, 0, 0, 0.08); }
.slide[data-pattern="chalk"][data-frame="polaroid"] .sl-img::after { width: 2.6cqw; height: 2.6cqw; top: -1cqw; border-radius: 50%; transform: translateX(-50%); background: radial-gradient(circle at 35% 35%, #fff6b0, var(--s-accent) 55%, #c9a800); box-shadow: 0 0.3cqw 0.5cqw rgba(0, 0, 0, 0.35); }
.slide[data-pattern="pop"][data-frame="polaroid"] .sl-img { padding: 0.8cqw; border: 0.3cqw solid var(--s-ink); border-radius: 1cqw; box-shadow: 0.9cqw 0.9cqw 0 var(--s-ink); transform: rotate(-2deg); }
.slide[data-pattern="pop"][data-frame="polaroid"] .sl-img__pic { border-radius: 0.4cqw; }
.slide[data-pattern="pop"][data-frame="polaroid"] .sl-img::after { display: none; }
.slide[data-pattern="pop"][data-frame="polaroid"] .sl-img--empty .sl-img__deco { inset: 0.8cqw; border-radius: 0.4cqw; }
/* Арка */
.slide[data-frame="arch"] .sl-img { border-radius: 99cqw 99cqw 2cqw 2cqw; }
/* Коло */
.slide[data-frame="circle"] .sl-img { border-radius: 50%; aspect-ratio: 1; box-shadow: 0 0 0 1cqw var(--s-bg), 0 0 0 1.25cqw var(--s-accent2); }

/* =========================================================
   Обкладинка
   ========================================================= */
.sl-cover { flex: 1; display: flex; align-items: center; gap: 4cqw; min-height: 0; position: relative; }
.sl-cover__text { flex: 1; min-width: 0; position: relative; z-index: 1; }
.sl-cover .sl-img { flex: none; }
/* До краю слайда */
.slide[data-frame="bleed"] .sl-cover.has-img { margin: calc(var(--s-pad) * -1) calc(var(--s-pad) * -1) calc(var(--s-pad) * -0.9) 0; }
.slide[data-frame="bleed"] .sl-cover.has-img .sl-img { align-self: stretch; width: 44%; border-radius: 0; }
.slide[data-pattern="editorial"] .sl-cover.has-img .sl-img { width: 40%; }
/* У рамці */
.slide[data-frame="polaroid"] .sl-cover .sl-img { width: 29cqw; aspect-ratio: 4 / 5; margin-right: 2.4cqw; }
.slide[data-frame="arch"] .sl-cover .sl-img { width: 28cqw; align-self: stretch; margin: 0 2cqw calc(var(--s-pad) * -0.9) 0; border-radius: 99cqw 99cqw 0 0; }
.slide[data-frame="arch"] .sl-cover.has-img::after { content: ""; position: absolute; right: -2cqw; top: 4cqw; width: 18cqw; height: 18cqw; border-radius: 50%; background: color-mix(in srgb, var(--s-accent) 70%, transparent); z-index: -1; }
.slide[data-frame="circle"] .sl-cover .sl-img { width: 40cqw; margin-right: -9cqw; }

/* Декор обкладинки без ілюстрації */
.sl-orb { position: relative; flex: none; width: 24cqw; height: 24cqw; margin-right: -2cqw; border-radius: 50%; background: conic-gradient(from 200deg, var(--s-accent), var(--s-accent2), var(--s-accent)); opacity: 0.9; mask: radial-gradient(circle, transparent 43%, #000 44%); }
.sl-orb i { display: none; }
.slide[data-pattern="grid"] .sl-orb { mask: none; border-radius: 3cqw; transform: rotate(-8deg); background: var(--s-accent2); box-shadow: 0.9cqw 0.9cqw 0 var(--s-ink); opacity: 1; width: 18cqw; height: 18cqw; margin-right: 4cqw; }
.slide[data-pattern="chalk"] .sl-orb { mask: none; background: none; border: 0.5cqw dashed var(--s-accent2); opacity: 0.5; }
.slide[data-pattern="none"] .sl-orb { mask: none; border-radius: 0; width: 14cqw; height: 14cqw; background: var(--s-accent); margin-right: 3cqw; }
.slide[data-pattern="band"] .sl-orb { mask: none; border-radius: 1.5cqw; background: linear-gradient(135deg, var(--s-accent), var(--s-accent2)); width: 18cqw; height: 18cqw; margin-right: 3cqw; }
.slide[data-pattern="stitch"] .sl-orb { -webkit-mask: var(--stitch) center / contain no-repeat; mask: var(--stitch) center / contain no-repeat; border-radius: 0; opacity: 1; width: 32cqw; height: 18cqw; margin-right: 1cqw; background: var(--s-accent); }
.slide[data-pattern="editorial"] .sl-orb { mask: none; opacity: 1; border-radius: 0; width: 21cqw; height: 29cqw; margin-right: 2cqw; background: var(--s-accent); box-shadow: -1.6cqw 1.6cqw 0 var(--s-bg2); }
.slide[data-pattern="editorial"] .sl-orb i { display: block; position: absolute; inset: 1.4cqw; border: 0.12cqw solid rgba(255, 255, 255, 0.55); }
.slide[data-pattern="aurora"] .sl-orb { mask: none; opacity: 1; width: 22cqw; height: 22cqw; margin-right: 3cqw; background: radial-gradient(circle at 32% 28%, rgba(255, 255, 255, 0.7), transparent 32%), linear-gradient(145deg, var(--s-accent), var(--s-accent2) 60%, #45dfc0); box-shadow: 0 0 9cqw color-mix(in srgb, var(--s-accent2) 55%, transparent); }
.slide[data-pattern="aurora"] .sl-orb i { display: block; position: absolute; inset: -3.2cqw; border-radius: 50%; border: 0.12cqw solid rgba(255, 255, 255, 0.28); }
.slide[data-pattern="pop"] .sl-orb { mask: none; opacity: 1; background: none; width: 25cqw; height: 25cqw; margin-right: 1cqw; filter: drop-shadow(0.8cqw 0.8cqw 0 var(--s-ink)); }
.slide[data-pattern="pop"] .sl-orb::before { content: ""; position: absolute; inset: 0; background: var(--s-accent); clip-path: polygon(50% 0%, 60.35% 11.36%, 75% 6.7%, 78.28% 21.72%, 93.3% 25%, 88.64% 39.65%, 100% 50%, 88.64% 60.35%, 93.3% 75%, 78.28% 78.28%, 75% 93.3%, 60.35% 88.64%, 50% 100%, 39.65% 88.64%, 25% 93.3%, 21.72% 78.28%, 6.7% 75%, 11.36% 60.35%, 0% 50%, 11.36% 39.65%, 6.7% 25%, 21.72% 21.72%, 25% 6.7%, 39.65% 11.36%); }
.slide[data-pattern="pop"] .sl-orb i { display: block; position: absolute; inset: 29%; border-radius: 50%; background: var(--s-accent2); border: 0.3cqw solid var(--s-ink); }
.slide[data-pattern="organic"] .sl-orb { mask: none; opacity: 1; width: 22cqw; height: 22cqw; margin-right: 4cqw; border-radius: 0 100% 0 100%; background: var(--s-accent); transform: rotate(-12deg); }
.slide[data-pattern="organic"] .sl-orb::after { content: ""; position: absolute; left: 50%; top: 8%; bottom: 8%; width: 0.25cqw; background: rgba(255, 255, 255, 0.4); transform: rotate(45deg); }
.slide[data-pattern="organic"] .sl-orb i { display: block; position: absolute; width: 11cqw; height: 11cqw; left: -5cqw; top: -4cqw; border-radius: 50%; background: var(--s-accent2); z-index: -1; }

/* =========================================================
   Розділ і фінал
   ========================================================= */
.sl-section { flex: 1; display: flex; flex-direction: column; justify-content: center; }
.sl-section__n { font-family: var(--s-head); font-weight: 700; font-size: 9cqw; line-height: 1; color: var(--s-accent); margin-bottom: 1.4cqw; }
.sl-section .sl-sub { margin-top: 1.6cqw; }
/* Розділ — кольоровий «перебивач» ритму (крім дошки) */
.slide[data-layout="section"]:not([data-pattern="chalk"]) { background: var(--s-accent); color: var(--s-on-accent); }
.slide[data-layout="section"]:not([data-pattern="chalk"]) .sl-section__n { color: var(--s-on-accent); opacity: 0.35; font-size: 13cqw; }
.slide[data-layout="section"]:not([data-pattern="chalk"]) .sl-sub, .slide[data-layout="section"]:not([data-pattern="chalk"]) .sl-num { color: color-mix(in srgb, var(--s-on-accent) 78%, transparent); }
.slide[data-layout="section"][data-pattern="pop"] { background: var(--s-accent2); }
.slide[data-layout="section"][data-pattern="aurora"] { background: radial-gradient(70% 90% at 100% 0%, var(--s-accent2), transparent 70%), linear-gradient(135deg, var(--s-accent), #3b4fd6); color: #ffffff; }
.slide[data-layout="section"][data-pattern="editorial"] { background: var(--s-ink); color: var(--s-bg); }
.slide[data-layout="section"][data-pattern="editorial"] .sl-section__n { color: var(--s-accent); opacity: 1; font-style: italic; }
.slide[data-layout="section"][data-pattern="grid"]::before, .slide[data-layout="section"][data-pattern="band"]::after { opacity: 0; }
.sl-closing { flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.sl-closing .sl-bullets { margin-top: 2.6cqw; text-align: left; font-size: 1.75cqw; gap: 1cqw; }

/* =========================================================
   План
   ========================================================= */
.sl-agenda { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.5cqw; flex: 1; align-content: center; }
.sl-agenda--2 { grid-template-columns: 1fr 1fr; column-gap: 2.2cqw; }
.sl-agenda li { display: flex; align-items: center; gap: 2cqw; padding: 2cqw 2.4cqw; font-size: 2.15cqw; line-height: 1.3; min-height: 8.4cqw; }
.sl-agenda__n { font-family: var(--s-head); font-weight: 700; font-size: 2.8cqw; color: var(--s-accent); flex: none; }
.slide[data-pattern="editorial"] .sl-agenda__n, .slide[data-pattern="organic"] .sl-agenda__n { font-style: italic; font-size: 2.8cqw; }

/* =========================================================
   Текст + ілюстрація (тези з картинкою, «Ілюстрація», «Велике число»)
   ========================================================= */
.sl-split { flex: 1; display: flex; gap: 4.5cqw; min-height: 0; }
.sl-split__text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.sl-split > .sl-img, .sl-hero > .sl-img { flex: none; width: 36%; align-self: stretch; }
.slide[data-layout="image"] .sl-split > .sl-img { order: -1; }
.slide[data-layout="image"] .sl-split__text { justify-content: center; }
.slide[data-layout="image"] .sl-bullets { font-size: 1.75cqw; gap: 1cqw; }
/* Рамка «до краю»: ілюстрація займає всю висоту слайда */
.slide[data-frame="bleed"][data-layout="image"] .sl-split { margin: calc(var(--s-pad) * -1) 0 calc(var(--s-pad) * -0.9) calc(var(--s-pad) * -1); }
.slide[data-frame="bleed"][data-layout="image"] .sl-split > .sl-img { width: 46%; border-radius: 0; }
.slide[data-frame="bleed"][data-layout="image"] .sl-split__text { padding: var(--s-pad) var(--s-pad) var(--s-pad) 0; }
.slide[data-frame="bleed"]:is([data-layout="bullets"], [data-layout="big-number"]) :is(.sl-split, .sl-hero):has(> .sl-img) { margin: calc(var(--s-pad) * -1) calc(var(--s-pad) * -1) calc(var(--s-pad) * -0.9) 0; }
.slide[data-frame="bleed"]:is([data-layout="bullets"], [data-layout="big-number"]) :is(.sl-split, .sl-hero) > .sl-img { width: 38%; border-radius: 0; }
.slide[data-frame="bleed"][data-layout="bullets"] .sl-split:has(> .sl-img) > .sl-split__text { padding: var(--s-pad) 0 calc(var(--s-pad) * 0.9); }
.slide[data-frame="bleed"][data-layout="big-number"] .sl-hero:has(> .sl-img) > .sl-hero__main { padding: var(--s-pad) 0 calc(var(--s-pad) * 0.9); }
/* Рамки-форми: картинка в межах полів */
.slide[data-frame="polaroid"] :is(.sl-split, .sl-hero) > .sl-img { width: 30%; aspect-ratio: 4 / 5; align-self: center; margin: 0 1.5cqw; }
.slide[data-frame="polaroid"][data-layout="image"] .sl-split > .sl-img { width: 33%; transform: rotate(-2.4deg); }
.slide[data-frame="arch"] :is(.sl-split, .sl-hero) > .sl-img { width: 32%; }
.slide[data-frame="arch"][data-layout="image"] .sl-split > .sl-img { width: 38%; margin-bottom: calc(var(--s-pad) * -0.9); border-radius: 99cqw 99cqw 0 0; }
.slide[data-frame="circle"] :is(.sl-split, .sl-hero) > .sl-img { width: 34%; align-self: center; }
.slide[data-frame="circle"][data-layout="image"] .sl-split > .sl-img { width: 42%; margin-left: -3cqw; }

/* =========================================================
   Фото на весь слайд і обкладинка-постер
   ========================================================= */
.sl-full { position: absolute; inset: 0; display: flex; align-items: flex-end; overflow: hidden; color: #ffffff; background: var(--s-shade); }
.slide[data-pattern="chalk"] .sl-full { inset: 2.1cqw; }
.sl-full__pic { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sl-full::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, color-mix(in srgb, var(--s-shade) 88%, #000) 0%, color-mix(in srgb, var(--s-shade) 45%, transparent) 42%, transparent 72%), linear-gradient(to right, color-mix(in srgb, var(--s-shade) 55%, transparent), transparent 65%); }
.sl-full__text { position: relative; z-index: 1; padding: var(--s-pad); max-width: 72%; }
.sl-full .sl-title { color: #ffffff; text-shadow: 0 0.2cqw 1.6cqw rgba(0, 0, 0, 0.3); }
.sl-full__x { font-size: 1.95cqw; line-height: 1.42; color: rgba(255, 255, 255, 0.88); margin: 1.4cqw 0 0; max-width: 56cqw; }
.sl-full--empty { background: linear-gradient(135deg, var(--s-accent), var(--s-accent2)); }
.sl-full--empty::after { background: linear-gradient(to top, rgba(0, 0, 0, 0.35), transparent 60%); }
.sl-full__deco { position: absolute; right: -8cqw; top: -10cqw; width: 50cqw; height: 50cqw; border-radius: 50%; border: 0.4cqw solid rgba(255, 255, 255, 0.35); box-shadow: 0 0 0 6cqw rgba(255, 255, 255, 0.08), 0 0 0 12cqw rgba(255, 255, 255, 0.05); }
.sl-full--cover .sl-full__text { max-width: 78%; padding-bottom: calc(var(--s-pad) * 1.1); }
.sl-full--cover .sl-kicker { color: var(--s-accent); }
.sl-full--cover .sl-sub { color: rgba(255, 255, 255, 0.85); }
.slide:has(.sl-full) .sl-num { color: rgba(255, 255, 255, 0.8); }
/* Журнал: підпис на «паперовій» плашці, без затемнення */
.slide[data-pattern="editorial"] .sl-full::after { display: none; }
.slide[data-pattern="editorial"] .sl-full__text { margin: var(--s-pad); padding: 2.6cqw 3cqw; max-width: 52%; background: var(--s-bg); color: var(--s-ink); }
.slide[data-pattern="editorial"] .sl-full .sl-title { color: var(--s-ink); text-shadow: none; }
.slide[data-pattern="editorial"] .sl-full__x { color: var(--s-muted); }
/* Поп-арт: підпис у «бульбашці» коміксу */
.slide[data-pattern="pop"] .sl-full::after { display: none; }
.slide[data-pattern="pop"] .sl-full__text { margin: var(--s-pad); padding: 2.4cqw 2.8cqw; max-width: 56%; background: #ffffff; color: var(--s-ink); border: 0.35cqw solid var(--s-ink); border-radius: 1.4cqw; box-shadow: 0.9cqw 0.9cqw 0 var(--s-ink); }
.slide[data-pattern="pop"] .sl-full .sl-title { color: var(--s-ink); text-shadow: none; }
.slide[data-pattern="pop"] .sl-full__x { color: var(--s-muted); }

/* =========================================================
   Картки з іконками
   ========================================================= */
.sl-cards { flex: 1; display: grid; grid-template-columns: repeat(var(--n), 1fr); gap: 2cqw; align-content: center; min-height: 0; }
.sl-card { display: flex; flex-direction: column; padding: 2.8cqw 2.5cqw; min-height: 25cqw; min-width: 0; position: relative; }
.sl-card__icon { flex: none; display: grid; place-items: center; width: 5.8cqw; height: 5.8cqw; border-radius: 50%; background: var(--s-accent); color: var(--s-on-accent); margin-bottom: 2.2cqw; }
.sl-card__icon svg { width: 3cqw; height: 3cqw; }
.sl-card__icon[data-icon-pick] { cursor: pointer; transition: transform 150ms ease, box-shadow 150ms ease; }
.sl-card__icon[data-icon-pick]:hover, .sl-card__icon[data-icon-pick]:focus-visible { transform: scale(1.08); box-shadow: 0 0 0 0.35cqw color-mix(in srgb, var(--s-accent) 35%, transparent); outline: none; }
.sl-card__t { font-family: var(--s-head); font-weight: 700; font-size: 2.35cqw; line-height: 1.15; margin: 0 0 1.1cqw; letter-spacing: -0.01em; }
.sl-card__x { font-size: 1.8cqw; line-height: 1.4; color: var(--s-muted); margin: 0; }
/* Чотири картки — сітка 2×2, іконка ліворуч */
.sl-cards--4 { grid-template-columns: 1fr 1fr; gap: 2cqw 2.2cqw; }
.sl-cards--4 .sl-card { min-height: 15cqw; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto 1fr; column-gap: 2cqw; align-items: start; padding: 2.4cqw 2.4cqw; }
.sl-cards--4 .sl-card__icon { grid-row: span 2; margin: 0; width: 5.2cqw; height: 5.2cqw; }
.sl-cards--4 .sl-card__t { margin: 0.4cqw 0 0.8cqw; font-size: 2.15cqw; }
.sl-cards--4 .sl-card__x { font-size: 1.7cqw; }
.sl-cards--2 .sl-card__t { font-size: 2.6cqw; }
.sl-cards--2 .sl-card__x { font-size: 2cqw; }
/* Теми */
.slide[data-pattern="grid"] .sl-card { background: color-mix(in srgb, var(--s-accent2) 88%, #fff); border: 0; box-shadow: 0.3cqw 0.9cqw 1.6cqw rgba(29, 27, 46, 0.16); border-radius: 0.3cqw; transform: rotate(-1deg); }
.slide[data-pattern="grid"] .sl-card:nth-child(2n) { background: color-mix(in srgb, var(--s-accent) 16%, #fff); transform: rotate(1.2deg); }
.slide[data-pattern="grid"] .sl-card__icon { background: transparent; color: var(--s-ink); border: 0.22cqw solid var(--s-ink); }
.slide[data-pattern="grid"] .sl-card__x { color: var(--s-ink); }
.slide[data-pattern="pop"] .sl-card:nth-child(2n) .sl-card__icon { background: var(--s-accent2); }
.slide[data-pattern="pop"] .sl-card__icon { border: 0.25cqw solid var(--s-ink); color: #ffffff; }
.slide[data-pattern="aurora"] .sl-card__icon { background: linear-gradient(135deg, var(--s-accent), var(--s-accent2)); color: #ffffff; box-shadow: 0 0 2.4cqw color-mix(in srgb, var(--s-accent2) 55%, transparent); }
.slide[data-pattern="editorial"] .sl-card { padding-top: 2cqw; }
.slide[data-pattern="editorial"] .sl-card__icon { background: none; color: var(--s-accent); width: auto; height: auto; justify-content: start; margin-bottom: 1.4cqw; }
.slide[data-pattern="editorial"] .sl-card__icon svg { width: 3.4cqw; height: 3.4cqw; }
.slide[data-pattern="none"] .sl-card__icon { border-radius: 0; background: var(--s-ink); color: #ffffff; }
.slide[data-pattern="none"] .sl-card:first-child .sl-card__icon { background: var(--s-accent); }
.slide[data-pattern="chalk"] .sl-card__icon { background: none; color: var(--s-accent); border: 0.22cqw dashed var(--s-accent); }
.slide[data-pattern="glow"] .sl-card__icon { box-shadow: 0 0 2cqw color-mix(in srgb, var(--s-accent) 60%, transparent); }
.slide[data-pattern="blobs"] .sl-card:nth-child(2n) .sl-card__icon { background: var(--s-accent2); }
.slide[data-pattern="organic"] .sl-card__icon { border-radius: 0 60% 0 60%; }
.slide[data-pattern="organic"] .sl-card:nth-child(2n) .sl-card__icon { background: var(--s-accent2); }
.slide[data-pattern="band"] .sl-card, .slide[data-pattern="stitch"] .sl-card { border-top: 0.5cqw solid var(--s-accent); }

/* =========================================================
   Велике число
   ========================================================= */
.sl-hero { flex: 1; display: flex; gap: 4cqw; min-height: 0; }
.sl-hero__main { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.sl-hero__t { font-size: 2.5cqw; color: var(--s-muted); font-weight: 700; }
.slide[data-pattern] .sl-hero__t { font-size: 2.5cqw; letter-spacing: -0.01em; }
.sl-hero__v { font-family: var(--s-head); font-weight: 800; font-size: 17cqw; line-height: 0.92; letter-spacing: -0.05em; color: var(--s-accent); margin: 1.4cqw 0 1.6cqw; white-space: nowrap; }
.sl-hero__v--m { font-size: 12.5cqw; }
.sl-hero__v--l { font-size: 8.6cqw; }
.sl-hero__v--xs { font-size: 6.2cqw; letter-spacing: -0.03em; }
.sl-hero.has-img .sl-hero__v { font-size: 13cqw; }
.sl-hero.has-img .sl-hero__v--m { font-size: 9.5cqw; }
.sl-hero.has-img .sl-hero__v--l { font-size: 6.6cqw; }
.sl-hero.has-img .sl-hero__v--xs { font-size: 4.8cqw; }
.sl-hero__l { font-size: 2.5cqw; font-weight: 750; line-height: 1.25; margin: 0 0 1.2cqw; max-width: 58cqw; text-wrap: balance; }
.sl-hero__x { font-size: 1.75cqw; line-height: 1.45; color: var(--s-muted); margin: 0; max-width: 54cqw; }
.sl-hero__deco { flex: none; align-self: center; width: 24cqw; height: 24cqw; margin-right: 1cqw; border-radius: 50%; border: 2.4cqw solid color-mix(in srgb, var(--s-accent2) 70%, transparent); box-shadow: inset 0 0 0 2.6cqw color-mix(in srgb, var(--s-accent) 12%, transparent); }
.slide[data-pattern="grid"] .sl-hero__v { background: linear-gradient(transparent 64%, var(--s-accent2) 64%, var(--s-accent2) 90%, transparent 90%); align-self: flex-start; padding: 0 0.6cqw; }
.slide[data-pattern="pop"] .sl-hero__v { color: var(--s-accent); text-shadow: 0.6cqw 0.6cqw 0 var(--s-ink); -webkit-text-stroke: 0.2cqw var(--s-ink); }
.slide[data-pattern="glow"] .sl-hero__v { text-shadow: 0 0 3cqw color-mix(in srgb, var(--s-accent) 70%, transparent); }
.slide[data-pattern="aurora"] .sl-hero__v { background: linear-gradient(100deg, #ffffff, var(--s-accent) 45%, var(--s-accent2)); -webkit-background-clip: text; background-clip: text; color: transparent; align-self: flex-start; padding-right: 1cqw; }
.slide[data-pattern="editorial"] .sl-hero__v, .slide[data-pattern="organic"] .sl-hero__v { font-style: italic; font-weight: 700; letter-spacing: -0.03em; line-height: 1; margin-bottom: 2.2cqw; }
.slide[data-pattern="chalk"] .sl-hero__v { font-weight: 700; letter-spacing: 0; }
.slide[data-pattern="none"] .sl-hero__v { color: var(--s-ink); letter-spacing: -0.07em; }
.slide[data-pattern="editorial"] .sl-hero__deco { border: 0.15cqw solid var(--s-ink); box-shadow: inset 0 0 0 2.4cqw var(--s-bg), inset 0 0 0 30cqw var(--s-accent); }
.slide[data-pattern="none"] .sl-hero__deco { border-radius: 0; border: 0; width: 16cqw; height: 16cqw; background: var(--s-accent); box-shadow: none; }
.slide[data-pattern="pop"] .sl-hero__deco { border-color: var(--s-accent2); box-shadow: 0.8cqw 0.8cqw 0 var(--s-ink), inset 0 0 0 0.3cqw var(--s-ink); }
.slide[data-pattern="organic"] .sl-hero__deco { border: 0; border-radius: 0 100% 0 100%; background: color-mix(in srgb, var(--s-accent) 85%, transparent); box-shadow: none; transform: rotate(-12deg); width: 20cqw; height: 20cqw; }

/* =========================================================
   Діаграми
   ========================================================= */
.sl-chart { flex: 1; display: grid; grid-template-columns: 1.65fr 1fr; gap: 4cqw; min-height: 0; }
.sl-chart--solo { grid-template-columns: 1fr; }
.sl-chart__plot { display: flex; min-height: 0; min-width: 0; }
.sl-chart__note { align-self: center; padding-left: 2.2cqw; border-left: 0.4cqw solid var(--s-accent2); }
.sl-chart__note .sl-lead { margin: 0; font-size: 1.9cqw; color: var(--s-ink); }
.slide[data-pattern="none"] .sl-chart__note, .slide[data-pattern="band"] .sl-chart__note, .slide[data-pattern="stitch"] .sl-chart__note, .slide[data-pattern="editorial"] .sl-chart__note { border-left-color: var(--s-accent); }
.sl-chart small { font-size: 0.62em; font-weight: 700; margin-left: 0.12em; opacity: 0.8; }
/* Стовпці */
.sl-bars { flex: 1; display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 1.6cqw; min-height: 0; background: linear-gradient(to top, var(--s-line) 0.12cqw, transparent 0.12cqw) 0 calc(100% - 4.6cqw) / 100% 100% no-repeat; }
.slide[data-pattern="editorial"] .sl-bars, .slide[data-pattern="pop"] .sl-bars { background-image: linear-gradient(to top, var(--s-ink) 0.2cqw, transparent 0.2cqw); }
.sl-bars__col { display: flex; flex-direction: column; justify-content: flex-end; align-items: stretch; min-width: 0; height: 100%; }
.sl-bars__v { font-family: var(--s-head); font-weight: 800; font-size: 1.9cqw; text-align: center; margin-bottom: 0.8cqw; white-space: nowrap; letter-spacing: -0.02em; }
.sl-bars__bar { display: block; height: calc(var(--h) * 0.72); min-height: 0.6cqw; border-radius: 0.9cqw 0.9cqw 0 0; background: color-mix(in srgb, var(--s-accent) 38%, var(--s-bg)); }
.sl-bars__col.is-top .sl-bars__bar { background: var(--s-accent); }
.sl-bars__col.is-top .sl-bars__v { color: var(--s-accent); }
.sl-bars__l { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; height: 4.6cqw; padding-top: 0.9cqw; font-size: 1.35cqw; line-height: 1.3; text-align: center; color: var(--s-muted); }
.slide[data-pattern="pop"] .sl-bars__bar { border: 0.25cqw solid var(--s-ink); border-bottom: 0; border-radius: 0.4cqw 0.4cqw 0 0; background: #ffffff; }
.slide[data-pattern="pop"] .sl-bars__col.is-top .sl-bars__bar { background: var(--s-accent); }
.slide[data-pattern="aurora"] .sl-bars__bar { background: linear-gradient(to top, color-mix(in srgb, var(--s-accent) 35%, transparent), color-mix(in srgb, var(--s-accent) 70%, transparent)); }
.slide[data-pattern="aurora"] .sl-bars__col.is-top .sl-bars__bar { background: linear-gradient(to top, var(--s-accent), var(--s-accent2)); box-shadow: 0 0 3cqw color-mix(in srgb, var(--s-accent2) 50%, transparent); }
.slide[data-pattern="glow"] .sl-bars__col.is-top .sl-bars__bar { box-shadow: 0 0 2.6cqw color-mix(in srgb, var(--s-accent) 60%, transparent); }
.slide[data-pattern="grid"] .sl-bars__bar { border: 0.2cqw solid var(--s-ink); border-bottom: 0; border-radius: 0.3cqw 0.3cqw 0 0; background: var(--s-bg); background-image: repeating-linear-gradient(-45deg, color-mix(in srgb, var(--s-accent) 40%, transparent) 0 0.25cqw, transparent 0.25cqw 0.9cqw); }
.slide[data-pattern="grid"] .sl-bars__col.is-top .sl-bars__bar { background: var(--s-accent2); }
.slide[data-pattern="chalk"] .sl-bars__bar { background: none; border: 0.25cqw dashed color-mix(in srgb, var(--s-ink) 70%, transparent); border-bottom: 0; }
.slide[data-pattern="chalk"] .sl-bars__col.is-top .sl-bars__bar { background: color-mix(in srgb, var(--s-accent) 30%, transparent); border-color: var(--s-accent); border-style: solid; }
.slide[data-pattern="editorial"] .sl-bars__bar, .slide[data-pattern="none"] .sl-bars__bar { border-radius: 0; }
/* Лінія */
.sl-line { flex: 1; display: flex; min-height: 0; padding: 4cqw 3.4cqw 5.4cqw; }
.sl-line__plot { position: relative; flex: 1; background: linear-gradient(var(--s-line) 0.1cqw, transparent 0.1cqw) 0 0 / 100% 33.333%; border-bottom: 0.15cqw solid color-mix(in srgb, var(--s-ink) 30%, transparent); }
.slide[data-pattern="editorial"] .sl-line__plot, .slide[data-pattern="organic"] .sl-line__plot, .slide[data-pattern="none"] .sl-line__plot { background-image: linear-gradient(color-mix(in srgb, var(--s-ink) 12%, transparent) 0.1cqw, transparent 0.1cqw); }
.sl-line__plot svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.sl-line__area { fill: color-mix(in srgb, var(--s-accent) 16%, transparent); }
.sl-line__path { fill: none; stroke: var(--s-accent); stroke-width: 0.45cqw; stroke-linejoin: round; stroke-linecap: round; }
.sl-line__pt { position: absolute; width: 1.7cqw; height: 1.7cqw; border-radius: 50%; background: var(--s-bg); border: 0.42cqw solid var(--s-accent); transform: translate(-50%, -50%); z-index: 1; }
.sl-line__pt.is-top { background: var(--s-accent); box-shadow: 0 0 0 0.6cqw color-mix(in srgb, var(--s-accent) 22%, transparent); }
.sl-line__v { position: absolute; left: 50%; bottom: calc(100% + 0.7cqw); transform: translateX(-50%); white-space: nowrap; font-family: var(--s-head); font-weight: 800; font-size: 1.6cqw; letter-spacing: -0.02em; }
.sl-line__pt.is-top .sl-line__v { color: var(--s-accent); font-size: 1.9cqw; }
.sl-line__lw { position: absolute; top: calc(100% + 1.1cqw); transform: translateX(-50%); width: max-content; max-width: 14cqw; text-align: center; }
.sl-line__l { font-size: 1.35cqw; line-height: 1.25; color: var(--s-muted); }
.slide[data-pattern="aurora"] .sl-line__path { stroke: var(--s-accent2); filter: drop-shadow(0 0 1cqw color-mix(in srgb, var(--s-accent2) 70%, transparent)); }
.slide[data-pattern="glow"] .sl-line__path { filter: drop-shadow(0 0 0.8cqw var(--s-accent)); }
.slide[data-pattern="pop"] .sl-line__path { stroke: var(--s-ink); stroke-width: 0.55cqw; }
.slide[data-pattern="pop"] .sl-line__area { fill: color-mix(in srgb, var(--s-accent2) 30%, transparent); }
.slide[data-pattern="pop"] .sl-line__pt { border-color: var(--s-ink); background: #ffffff; }
.slide[data-pattern="pop"] .sl-line__pt.is-top { background: var(--s-accent); }
/* Кільце */
.sl-donut { flex: 1; display: flex; align-items: center; justify-content: center; gap: 4.4cqw; min-width: 0; }
.sl-donut__wrap { position: relative; flex: none; width: 27cqw; aspect-ratio: 1; }
.sl-chart:not(.sl-chart--solo) .sl-donut__wrap { width: 23cqw; }
.sl-donut__ring { position: absolute; inset: 0; border-radius: 50%; mask: radial-gradient(circle, transparent 55%, #000 55.5%); }
.slide[data-pattern="pop"] .sl-donut__wrap { border-radius: 50%; border: 0.3cqw solid var(--s-ink); box-shadow: 0.7cqw 0.7cqw 0 var(--s-ink); }
.slide[data-pattern="pop"] .sl-donut__wrap::after { content: ""; position: absolute; inset: 22%; border-radius: 50%; border: 0.3cqw solid var(--s-ink); }
.slide[data-pattern="aurora"] .sl-donut__wrap, .slide[data-pattern="glow"] .sl-donut__wrap { filter: drop-shadow(0 0 2cqw color-mix(in srgb, var(--s-accent) 40%, transparent)); }
.sl-donut__c { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 0 22%; }
.sl-donut__c b { font-family: var(--s-head); font-weight: 800; font-size: 4.6cqw; line-height: 1; letter-spacing: -0.04em; color: var(--s-ink); }
.sl-donut__c i { font-style: normal; font-size: 1.25cqw; line-height: 1.2; color: var(--s-muted); margin-top: 0.6cqw; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.sl-legend { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.1cqw; min-width: 0; flex: 1; max-width: 34cqw; }
.sl-legend li { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.1cqw; font-size: 1.6cqw; line-height: 1.25; padding-bottom: 1cqw; border-bottom: 0.1cqw solid var(--s-line); }
.slide[data-pattern="pop"] .sl-legend li, .slide[data-pattern="editorial"] .sl-legend li { border-bottom-color: color-mix(in srgb, var(--s-ink) 25%, transparent); }
.sl-legend__sw { width: 1.5cqw; height: 1.5cqw; border-radius: 0.4cqw; }
.slide[data-pattern="pop"] .sl-legend__sw { border: 0.2cqw solid var(--s-ink); }
.sl-legend__l { min-width: 0; }
.sl-legend__v { font-family: var(--s-head); font-weight: 800; letter-spacing: -0.02em; }

/* =========================================================
   Дві колонки
   ========================================================= */
.sl-cols { flex: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 2.4cqw; min-height: 0; }
.sl-col { padding: 2.4cqw 2.6cqw; }
.sl-col--right { background: color-mix(in srgb, var(--s-accent) 12%, var(--s-bg)); border-color: color-mix(in srgb, var(--s-accent) 50%, transparent); }
.slide[data-pattern="aurora"] .sl-col--right { background: color-mix(in srgb, var(--s-accent) 18%, transparent); }
.slide[data-pattern="glow"] .sl-col--right { background: color-mix(in srgb, var(--s-accent) 10%, transparent); }
.slide[data-pattern="pop"] .sl-col--right { background: color-mix(in srgb, var(--s-accent2) 14%, #ffffff); border-color: var(--s-ink); }
.slide[data-pattern="editorial"] .sl-col--right { background: transparent; border-color: var(--s-accent); }
.slide[data-pattern="grid"] .sl-col--right { border-color: var(--s-ink); }
.sl-col__h { font-family: var(--s-head); font-weight: 700; font-size: 2.5cqw; margin: 0 0 2cqw; padding-bottom: 1.4cqw; border-bottom: 0.12cqw solid color-mix(in srgb, currentColor 22%, transparent); }
.sl-col--right .sl-col__h { color: var(--s-accent); }
.slide[data-pattern="pop"] .sl-col--right .sl-col__h { color: var(--s-accent2); }
.sl-col .sl-bullets { font-size: 1.95cqw; gap: 1.4cqw; }
.sl-col { padding: 2.8cqw 3cqw; }

/* =========================================================
   Цифри
   ========================================================= */
.sl-stats { flex: 1; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 2cqw; align-items: center; }
.sl-stat { height: 100%; max-height: 26cqw; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 2cqw; }
.sl-stat__v { font-family: var(--s-head); font-weight: 700; font-size: 5.4cqw; line-height: 1; letter-spacing: -0.03em; color: var(--s-accent); margin: 0 0 1.4cqw; }
.sl-stats--4 .sl-stat__v { font-size: 4.2cqw; }
.sl-stat__l { font-size: 1.65cqw; line-height: 1.3; margin: 0; }
.slide[data-pattern="editorial"] .sl-stat, .slide[data-pattern="none"] .sl-stat { align-items: flex-start; text-align: left; }
.slide[data-pattern="editorial"] .sl-stat__v, .slide[data-pattern="organic"] .sl-stat__v { font-style: italic; }
.slide[data-pattern="pop"] .sl-stat:nth-child(2n) .sl-stat__v { color: var(--s-accent2); }
.slide[data-pattern="aurora"] .sl-stat__v { background: linear-gradient(100deg, #ffffff, var(--s-accent) 50%, var(--s-accent2)); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* =========================================================
   Хронологія
   ========================================================= */
.sl-timeline { flex: 1; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n), 1fr); align-content: center; position: relative; }
.sl-timeline::before { content: ""; position: absolute; left: calc(50% / var(--n)); right: calc(50% / var(--n)); top: calc(50% - 0.2cqw); height: 0.4cqw; border-radius: 1cqw; background: var(--s-accent); }
.slide[data-pattern="aurora"] .sl-timeline::before { background: linear-gradient(90deg, var(--s-accent), var(--s-accent2), #45dfc0); }
.slide[data-pattern="pop"] .sl-timeline::before { height: 0.6cqw; background: var(--s-ink); }
.slide[data-pattern="chalk"] .sl-timeline::before { background: none; border-top: 0.35cqw dashed var(--s-accent); height: 0; }
.sl-timeline li { display: grid; grid-template-rows: 1fr auto 1fr; justify-items: center; text-align: center; padding: 0 1cqw; height: 100%; }
.sl-tl__t { align-self: end; font-family: var(--s-head); font-weight: 700; font-size: 2.1cqw; line-height: 1.15; margin: 0 0 1.6cqw; }
.sl-tl__dot { width: 2.2cqw; height: 2.2cqw; border-radius: 50%; background: var(--s-accent); box-shadow: 0 0 0 0.6cqw var(--s-bg), 0 0 0 0.85cqw var(--s-accent); position: relative; z-index: 1; }
.slide[data-pattern="pop"] .sl-tl__dot { border-radius: 0.3cqw; background: var(--s-accent); border: 0.25cqw solid var(--s-ink); box-shadow: 0.35cqw 0.35cqw 0 var(--s-ink); transform: rotate(45deg); }
.slide[data-pattern="pop"] li:nth-child(2n) .sl-tl__dot { background: var(--s-accent2); }
.slide[data-pattern="organic"] .sl-tl__dot { border-radius: 0 70% 0 70%; box-shadow: none; }
.sl-tl__x { align-self: start; font-size: 1.5cqw; line-height: 1.35; color: var(--s-muted); margin: 1.8cqw 0 0; }

/* =========================================================
   Цитата
   ========================================================= */
.sl-quote { flex: 1; display: flex; flex-direction: column; justify-content: center; margin: 0; padding: 0 6cqw; position: relative; }
.sl-quote__mark { position: absolute; left: 0; top: 2cqw; font-family: Georgia, serif; font-size: 16cqw; line-height: 1; color: var(--s-accent); opacity: 0.9; }
.sl-quote__text { margin: 0; font-family: var(--s-head); font-size: 3.2cqw; line-height: 1.3; font-weight: 500; text-wrap: balance; }
.slide[data-pattern="none"] .sl-quote__text, .slide[data-pattern="band"] .sl-quote__text { font-family: Georgia, serif; font-style: italic; }
.slide[data-pattern="editorial"] .sl-quote__text, .slide[data-pattern="organic"] .sl-quote__text { font-style: italic; font-size: 3.9cqw; line-height: 1.22; }
.slide[data-pattern="editorial"] .sl-quote__mark { font-family: "Playfair Display", Georgia, serif; font-size: 22cqw; top: -1cqw; }
.slide[data-pattern="pop"] .sl-quote { padding: 3.4cqw 4.4cqw; margin: 0 4cqw; flex: none; align-self: center; margin-block: auto; background: #ffffff; border: 0.35cqw solid var(--s-ink); border-radius: 2cqw; box-shadow: 1cqw 1cqw 0 var(--s-ink); }
.slide[data-pattern="pop"] .sl-quote__mark { left: -2cqw; top: -5.4cqw; font-size: 13cqw; color: var(--s-accent2); -webkit-text-stroke: 0.25cqw var(--s-ink); }
.slide[data-pattern="aurora"] .sl-quote__mark { background: linear-gradient(135deg, var(--s-accent), var(--s-accent2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sl-quote figcaption { margin-top: 2.4cqw; font-size: 1.8cqw; font-weight: 750; color: var(--s-muted); }

/* =========================================================
   Тези: з ілюстрацією — по центру вільного місця; без неї — нумеровані рядки
   ========================================================= */
.slide[data-layout="bullets"] .sl-split__text > .sl-bullets { margin-block: auto; }
.slide .sl-split--text .sl-bullets { counter-reset: b; gap: 0; font-size: 2.5cqw; line-height: 1.32; }
.slide .sl-split--text .sl-bullets li { counter-increment: b; padding: 2.1cqw 0 2.1cqw 7.4cqw; border-top: 0.12cqw solid color-mix(in srgb, var(--s-ink) 16%, transparent); }
.slide .sl-split--text .sl-bullets li:last-child { border-bottom: 0.12cqw solid color-mix(in srgb, var(--s-ink) 16%, transparent); }
.slide .sl-split--text .sl-bullets li::before { content: counter(b, decimal-leading-zero); top: 50%; left: 0; width: auto; height: auto; transform: translateY(-50%); border: 0; border-radius: 0; box-shadow: none; background: none; font-family: var(--s-head); font-weight: 800; font-size: 2.9cqw; line-height: 1; letter-spacing: -0.02em; color: var(--s-accent); }
.slide[data-pattern="aurora"] .sl-split--text .sl-bullets li::before { background: linear-gradient(135deg, var(--s-accent), var(--s-accent2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.slide[data-pattern="editorial"] .sl-split--text .sl-bullets li::before, .slide[data-pattern="organic"] .sl-split--text .sl-bullets li::before { font-style: italic; font-weight: 700; }
.slide[data-pattern="pop"] .sl-split--text .sl-bullets li::before { -webkit-text-stroke: 0.15cqw var(--s-ink); color: var(--s-accent); text-shadow: 0.3cqw 0.3cqw 0 var(--s-ink); }
.slide[data-pattern="chalk"] .sl-split--text .sl-bullets li { border-color: color-mix(in srgb, var(--s-ink) 25%, transparent); border-top-style: dashed; border-bottom-style: dashed; }
