/* Saffa.uz: кремовая бумага, изумруд и золото; тёмные слайды .dark — изумрудные с орнаментом. Цвета — в :root и .dark. */
@font-face{font-family:U;src:url(../fonts/Unbounded-cyrillic.woff2) format('woff2');font-weight:200 900;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:U;src:url(../fonts/Unbounded-latin.woff2) format('woff2');font-weight:200 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212}
/* контурное слово: статичный 900 — у переменного шрифта обводка рисует внутренние перекрытия контуров */
@font-face{font-family:U9;src:url(../fonts/Unbounded900-cyrillic.woff2) format('woff2');font-weight:900;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:U9;src:url(../fonts/Unbounded900-latin.woff2) format('woff2');font-weight:900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:M;src:url(../fonts/Manrope-cyrillic.woff2) format('woff2');font-weight:200 800;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:M;src:url(../fonts/Manrope-latin.woff2) format('woff2');font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212}

:root{
  --bg:#efe8da; --paper:#fbf7ee; --ink:#10241f; --mute:rgba(16,36,31,.6); --line:rgba(16,36,31,.14);
  --accent:#0d5c48;                       /* изумруд — основной акцент */
  --gold:#b8893a; --gold-d:#8f6a2a; --gold-l:#e9cc8a;
  --goldg:linear-gradient(100deg,#8f6a2a 0%,#d9b26a 28%,#f3dfa6 46%,#c49a4a 64%,#8f6a2a 100%);
  --tint:color-mix(in srgb,var(--accent) 12%,var(--paper));
  --pad:clamp(20px,4.4vw,88px);
  --fs:clamp(15px,1.1vw,21px);
  --ease:cubic-bezier(.2,.7,.1,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--ink);font:500 var(--fs)/1.45 M,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.deck{height:100svh;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:none;scrollbar-width:none}
.deck::-webkit-scrollbar{display:none}
.slide{position:relative;height:100svh;min-height:520px;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;padding:calc(var(--pad)*1.35) var(--pad) calc(var(--pad)*1.25);display:grid;grid-template-columns:minmax(0,1fr);align-content:center;gap:calc(var(--pad)*.55);isolation:isolate}
html.js:not(.print):not(.rm) [data-a]{opacity:0}
.slide{background:radial-gradient(90% 70% at 85% 10%,rgba(255,255,255,.55),transparent 60%),radial-gradient(80% 60% at 0% 100%,rgba(184,137,58,.10),transparent 60%),var(--bg)}
.slide::after{content:"";position:absolute;inset:calc(var(--pad)*.28);border:1px solid color-mix(in srgb,var(--gold) 34%,transparent);pointer-events:none;z-index:4}

/* золото: градиентный текст и словесный знак */
.gold{background:var(--goldg);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.wordmark{font:700 clamp(30px,3.2vw,64px)/1 U;letter-spacing:-.03em;width:max-content;padding-bottom:.06em}
.wordmark span{font-weight:400}

/* тёмный слайд: глубокий изумруд, золотые акценты, орнамент-гирих */
.dark{--bg:#0b2a22;--paper:rgba(243,234,216,.05);--ink:#f3ead8;--mute:rgba(243,234,216,.62);--line:rgba(217,178,106,.24);--accent:#d9b26a;--tint:rgba(217,178,106,.12);color:var(--ink);background:radial-gradient(70% 80% at 80% 40%,#14473a 0%,transparent 70%),radial-gradient(60% 60% at 0% 100%,rgba(217,178,106,.10),transparent 60%),linear-gradient(160deg,#0d3328,#071b16)}
.dark::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.10;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23d9b26a' stroke-width='1'%3E%3Cpath d='M60 6 74 46 114 60 74 74 60 114 46 74 6 60 46 46Z'/%3E%3Cpath d='M22 22 60 38 98 22 82 60 98 98 60 82 22 98 38 60Z'/%3E%3Ccircle cx='60' cy='60' r='14'/%3E%3C/g%3E%3C/svg%3E") 0 0/120px 120px;-webkit-mask:radial-gradient(70% 90% at 100% 50%,#000,transparent 75%);mask:radial-gradient(70% 90% at 100% 50%,#000,transparent 75%)}
.dark::after{border-color:rgba(217,178,106,.4)}
.dark .h em,.dark .display em,.dark .seal em{background:var(--goldg);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.dark .tag{background:#f3ead8;color:#10241f;border-color:transparent;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.dark .tag i{color:rgba(16,36,31,.6)}
.dark .tag::after{background:#f3ead8;opacity:.6}
.dark .tag.hot{background:#d9b26a;color:#10241f}
.dark .tag.hot i{color:rgba(16,36,31,.7)}

/* рамка: бренд · номер · подпись */
.chrome{position:absolute;inset:calc(var(--pad)*.5) var(--pad);pointer-events:none;z-index:5;display:grid;grid-template:auto 1fr auto/1fr auto;font:600 clamp(10px,.68vw,12px)/1 M;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.chrome>span:first-child{color:var(--gold-d);font-weight:800;letter-spacing:.2em}
.dark .chrome>span:first-child{color:#d9b26a}
.chrome .num{grid-column:2;color:var(--ink)}
.chrome .num b{color:var(--accent);font-weight:700}
.chrome .sign{grid-row:3;grid-column:1/3;display:flex;justify-content:space-between;gap:2em}
.progress{position:fixed;left:0;bottom:0;height:3px;background:var(--goldg);width:0;z-index:9;transition:width .5s var(--ease)}

/* типографика */
.kicker{font:700 clamp(11px,.78vw,14px)/1.2 M;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-d)}
.dark .kicker{color:#d9b26a}
.h{font:600 clamp(28px,3.5vw,68px)/1.04 U;letter-spacing:-.035em;max-width:20ch;text-wrap:balance}
.h em,.display em{font-style:normal;color:var(--accent)}
.head{display:grid;gap:.9em}
.lead{font:400 clamp(18px,1.6vw,30px)/1.3 M;letter-spacing:-.01em;max-width:34ch}
.note{color:var(--mute);max-width:46ch}
.line{display:block;overflow:hidden;padding-bottom:.08em}
.line>span{display:inline-block}
.big{font:600 clamp(44px,6.4vw,128px)/.92 U;letter-spacing:-.05em;white-space:nowrap}
.big small{font-size:.32em;letter-spacing:-.01em;margin-left:.18em;color:var(--mute);font-weight:500}
.cap{display:block;margin-top:.7em;color:var(--mute);font-size:.92em;line-height:1.35;max-width:24ch}
.todo{display:none;background:#ffd84a;color:#141317;font:700 .74em/1.25 M;padding:.45em .7em;letter-spacing:.02em;width:max-content;max-width:100%}
html.draft .todo{display:inline-block}
.ph{color:var(--mute);letter-spacing:.08em}
.two{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--pad);align-items:center;height:100%}
.cols{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);border-top:1px solid var(--line)}
.cols>div{padding:clamp(14px,1.6vw,32px) clamp(12px,1.4vw,28px) 0 0}
.cols>div+div{padding-left:clamp(12px,1.4vw,28px);border-left:1px solid var(--line)}

/* 3D-сцена и ярлыки */
.stage{position:relative;height:100%;min-height:300px;touch-action:pan-y}
.stage canvas,.stage img{position:absolute;inset:0;width:100%;height:100%;cursor:grab}
.tag{position:absolute;left:0;top:0;margin-top:-12px;display:grid;font:700 clamp(10px,.66vw,12px)/1.15 M;letter-spacing:.1em;text-transform:uppercase;padding:7px 10px;background:var(--paper);color:var(--ink);box-shadow:0 6px 18px rgba(18,20,23,.08);border:1px solid var(--line);white-space:nowrap;pointer-events:none;will-change:transform,opacity;opacity:0}
.tag::after{content:"";position:absolute;left:50%;top:100%;width:1px;height:12px;background:var(--ink);opacity:.35}
.tag i{font-style:normal;font-weight:600;color:var(--mute);letter-spacing:.08em}
.tag.hot{background:var(--accent);color:#fff;border-color:transparent}
.tag.hot i{color:rgba(255,255,255,.75)}
.tag.hot::after{background:var(--accent);opacity:1}
.hint{font-size:.8em;color:var(--mute)}

/* 1. обложка */
.cover{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:stretch;align-items:center}
.cover .stage::before{content:"";position:absolute;inset:8% 6%;border-radius:50%;background:radial-gradient(closest-side,rgba(217,178,106,.22),transparent 70%);pointer-events:none}
.cover .txt{display:grid;gap:calc(var(--pad)*.45);align-self:center}
.display{font:600 clamp(36px,5.2vw,108px)/.98 U;letter-spacing:-.045em;text-wrap:balance}
.meta{display:flex;gap:clamp(16px,2.6vw,52px);flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px;color:var(--mute);font-size:.9em;line-height:1.3}
.meta b{display:block;color:var(--ink);font:600 clamp(18px,1.5vw,30px)/1.2 U;letter-spacing:-.03em;margin-bottom:.2em}
.cover .stage{height:min(78svh,100%)}

/* 2. рынок: месяц, где каждый день расходуются комплекты */
.cal{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:clamp(4px,.5vw,10px)}
.cal i{aspect-ratio:1;font-size:clamp(10px,.9vw,16px)!important;display:grid;place-items:end start;padding:.4em .5em;font:600 clamp(9px,.7vw,13px)/1 M;font-style:normal;color:var(--accent);background:var(--tint);border:1px solid color-mix(in srgb,var(--accent) 18%,transparent)}
.segs{display:grid;gap:.15em;font:600 clamp(26px,3.2vw,64px)/1.08 U;letter-spacing:-.035em}
.segs span:nth-child(2){color:var(--accent)}

/* 3. продукт */
.product .stage{height:min(80svh,100%)}
.items{list-style:none;columns:2;column-gap:2em;font-weight:600}
.items li{padding:.45em 0;border-bottom:1px solid var(--line);break-inside:avoid}
.items li:last-child{color:var(--mute);font-weight:500}
.price{display:flex;align-items:baseline;gap:.4em;flex-wrap:wrap}
.price .big{color:var(--accent)}

/* 4. производство: неделя 7×24 */
.week{display:grid;grid-template-columns:auto repeat(24,minmax(0,1fr));gap:clamp(2px,.25vw,5px);align-items:center;font:600 clamp(9px,.62vw,12px)/1 M;color:var(--mute)}
.week i{aspect-ratio:1;background:var(--paper);border:1px solid var(--line)}
.week i.on{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}
.week b{font-weight:600;padding-right:.8em}
.week .hrs{grid-column:2/-1;display:flex;justify-content:space-between;padding-top:.5em}
.legend{display:flex;gap:1.6em;flex-wrap:wrap;font-size:.9em;color:var(--mute)}
.legend span{display:flex;align-items:center;gap:.6em}
.legend span::before{content:"";width:.9em;height:.9em;background:var(--paper);border:1px solid var(--line)}
.legend span.a::before{background:var(--accent);border-color:var(--accent)}
.legend span.t::before{background:var(--tint);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}

/* 5. цепочка: товар вперёд, деньги назад */
.chain{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr);align-items:center}
.node{background:var(--paper);border:1px solid var(--line);padding:clamp(14px,1.6vw,32px);display:grid;gap:.5em;min-height:clamp(120px,11vw,210px);align-content:space-between}
.node b{font:600 clamp(15px,1.5vw,30px)/1.05 U;letter-spacing:-.035em}
.node span{color:var(--mute);font-size:.9em;line-height:1.3}
.node.me{background:var(--accent);color:#fff;border-color:var(--accent)}
.node.me span{color:rgba(255,255,255,.8)}
.pipe{position:relative;height:64px}
.pipe s{position:absolute;left:0;right:0;height:1px;background:var(--ink);opacity:.25;text-decoration:none}
.pipe s:nth-of-type(1){top:16px}.pipe s:nth-of-type(2){bottom:16px}
.pipe .lane{position:absolute;inset:0;overflow:hidden}
.pipe .run{position:absolute;left:0;width:100%;height:12px}
.pipe .run::before{content:"";position:absolute;left:-6px;top:0;width:12px;height:12px;background:var(--accent);border-radius:2px}
.pipe .run.top{top:10px}.pipe .run.bot{bottom:10px}
.pipe .run.bot::before{background:var(--ink);border-radius:50%}
.pipe em{position:absolute;left:50%;translate:-50% 0;font:700 clamp(9px,.62vw,11px)/1 M;font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);background:var(--bg);padding:0 .4em}
.pipe em:nth-of-type(1){top:-8px}.pipe em:nth-of-type(2){bottom:-8px}
.rules{display:flex;gap:clamp(18px,3vw,60px);flex-wrap:wrap}
.rules p{display:grid;gap:.2em;max-width:26ch}
.rules b{font:600 clamp(16px,1.3vw,26px)/1.2 U;letter-spacing:-.03em}
.rules b em{font-style:normal;color:var(--accent)}

/* 6. кейс Ташкента — тёмный */
.case .big{font-size:clamp(34px,3.6vw,78px)}
.case .cols>div:first-child .big{background:var(--goldg);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.case .proof{display:flex;align-items:center;gap:1em;font:600 clamp(15px,1.15vw,22px)/1.3 M}
.case .proof::before{content:"";width:48px;height:1px;background:currentColor;opacity:.5}

/* 7. карта */
.map{grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);align-items:center;align-content:stretch;gap:calc(var(--pad)*.5)}
.map .stage{height:100%}
.leg{display:grid;gap:1.1em;margin-top:.6em}
.leg div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.2em .8em;align-items:baseline}
.leg i{width:.9em;height:.9em;background:var(--paper);border:1px solid var(--line);translate:0 .1em}
.leg .a i{background:var(--accent);border-color:var(--accent)}
.leg .t i{background:color-mix(in srgb,var(--accent) 38%,#fff);border-color:transparent}
.leg b{font:600 clamp(14px,1.05vw,20px)/1.2 U;letter-spacing:-.02em}
.leg span{grid-column:2;color:var(--mute);font-size:.86em;line-height:1.35}

/* 8. вход 10% */
.tenth{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:clamp(4px,.5vw,10px);height:clamp(40px,6vw,110px)}
.tenth i{background:var(--paper);border:1px solid var(--line)}
.tenth i:first-child{background:var(--accent);border-color:var(--accent)}
.scale-cap{display:flex;justify-content:space-between;color:var(--mute);font-size:.86em;margin-top:.6em}
.scale-cap b{color:var(--accent)}
.flow4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.flow4>div{padding:clamp(14px,1.4vw,28px) clamp(10px,1.2vw,24px) 0 0;position:relative}
.flow4>div+div{padding-left:clamp(10px,1.2vw,24px);border-left:1px solid var(--line)}
.flow4 .big{font-size:clamp(30px,3.6vw,72px)}
.flow4>div:last-child .big{color:var(--accent)}
.thr{display:flex;align-items:center;gap:1.2em;flex-wrap:wrap}
.thr b{font:600 clamp(18px,1.5vw,30px)/1 U;letter-spacing:-.03em;background:var(--accent);color:#fff;padding:.45em .7em}

/* 9. экономика: калькулятор */
.econ .two{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:end}
.ctl{display:grid;gap:1.5em}
.ctl label{display:grid;gap:.5em}
.ctl label span{display:flex;justify-content:space-between;color:var(--mute);font-size:.9em}
.ctl output{color:var(--ink);font:600 1.15em/1 U;letter-spacing:-.02em}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer;touch-action:pan-y}
input[type=range]::-webkit-slider-runnable-track{height:4px;background:linear-gradient(90deg,var(--accent) var(--p,0%),var(--line) var(--p,0%))}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-9px;background:var(--paper);border:3px solid var(--accent);border-radius:50%}
input[type=range]::-moz-range-track{height:4px;background:var(--line)}
input[type=range]::-moz-range-progress{height:4px;background:var(--accent)}
input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--paper);border:3px solid var(--accent);border-radius:50%}
.res{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid var(--line);padding-top:1em;gap:1em}
.res .big{font-size:clamp(28px,3vw,60px)}
.res div:last-child .big{color:var(--accent)}
.chart{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:clamp(4px,.6vw,12px);align-items:end;height:min(52svh,520px);border-bottom:1px solid var(--ink);position:relative}
.chart div{position:relative;height:100%;transform-origin:bottom}
.chart i{position:absolute;inset:0;background:var(--tint);transform-origin:bottom;transform:scaleY(var(--h,0));border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);transition:transform .35s var(--ease),background .25s}
.chart div.on i{background:var(--accent)}
.chart b{position:absolute;bottom:calc(var(--h,0)*100%);transition:bottom .35s var(--ease),opacity .25s;left:50%;translate:-50% -.5em;font:600 clamp(10px,.8vw,15px)/1 U;letter-spacing:-.02em;white-space:nowrap;opacity:0}
.chart div.on b,.chart div:first-child b,.chart div:last-child b{opacity:1}
.chart div.on b{color:var(--accent)}
.xax{display:flex;justify-content:space-between;color:var(--mute);font-size:.82em;padding-top:.6em}

/* 10. логистика: шкала партии */
.track{position:relative;height:clamp(150px,14vw,270px);margin-top:1.5em}
.track .bar{position:absolute;inset:auto 0 0;height:16px;display:grid;grid-template-columns:83.3% 16.7%}
.track .bar i{background:var(--tint);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}
.track .bar i+i{background:var(--accent);border-color:var(--accent)}
.mark{position:absolute;bottom:16px;display:grid;justify-items:start;gap:.3em;padding-left:12px;border-left:1px solid var(--ink);padding-bottom:.4em}
.mark b{font:600 clamp(24px,3vw,64px)/1 U;letter-spacing:-.045em}
.mark span{color:var(--mute);font-size:.86em;white-space:nowrap}
.mark.m1{left:5%;height:calc(100% - 16px);align-content:start}.mark.m2{left:auto;right:16.7%;height:62%;align-content:start;justify-items:end;text-align:right;border-left:0;border-right:1px solid var(--ink);padding:0 12px .4em 0}
.mark.m2 b{color:var(--accent)}
.zones{display:grid;grid-template-columns:83.3% 16.7%;font:700 clamp(10px,.7vw,13px)/1.3 M;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding-top:.8em}
.zones span+span{color:var(--accent);padding-left:.6em}
.car{width:clamp(80px,7vw,130px);color:var(--ink)}

/* 11. защита: три шага */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,40px);position:relative;padding-top:2.2em}
.steps::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--line),var(--accent))}
.steps>div{display:grid;gap:.6em;align-content:start}
.steps em{font:700 clamp(10px,.7vw,13px)/1 M;font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.steps b{font:600 clamp(18px,1.7vw,34px)/1.12 U;letter-spacing:-.035em}
.steps>div:last-child b{color:var(--accent)}
.steps span{color:var(--mute)}
.seal{font:600 clamp(30px,4.6vw,96px)/1 U;letter-spacing:-.05em}
.seal em{font-style:normal;color:var(--accent)}

/* 12. конкурс */
.contest .two{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:stretch}
.contest .lhs{display:grid;gap:calc(var(--pad)*.4);align-content:center}
.contest .rhs{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0}
.tl{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr)) auto;align-items:center;font:700 clamp(10px,.8vw,15px)/1.2 M;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);position:relative;padding-top:20px}
.tl .fill{position:absolute;left:0;right:0;top:0;height:4px;background:var(--accent);transform-origin:left}
.tl .rail{position:absolute;left:0;right:0;top:0;height:4px;background:var(--line)}
.tl span{padding:0 .8em;border-left:1px solid var(--line)}
.tl span:first-child{border:0;padding-left:0}
.tl span:last-child{color:var(--accent)}
.crit{display:grid;gap:.5em}
.crit p{display:flex;gap:.8em;align-items:baseline;font:600 clamp(15px,1.2vw,23px)/1.25 U;letter-spacing:-.025em}
.crit p small{font:700 .6em/1 M;color:var(--accent);letter-spacing:.1em}
.roles{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1em;border-top:1px solid var(--line);padding-top:1em}
.roles b{display:block;font:600 1.05em/1.2 U;letter-spacing:-.02em;margin-bottom:.25em}
.roles div:first-child b{color:var(--accent)}
.roles span{color:var(--mute);font-size:.9em;line-height:1.35}

/* 13. кому подходит */
.who ol{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--pad);counter-reset:w}
.who li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.4em 1.2em;padding:clamp(16px,2vw,40px) 0;border-top:1px solid var(--line);align-items:baseline}
.who li em{font:600 clamp(12px,.9vw,16px)/1 U;font-style:normal;color:var(--accent)}
.who li b{font:600 clamp(20px,2.1vw,42px)/1.08 U;letter-spacing:-.04em}
.who li span{grid-column:2;color:var(--mute);max-width:32ch}

/* 14. расчёт */
.pays{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vw,40px)}
.pay{background:var(--paper);border:1px solid var(--line);padding:clamp(20px,2.6vw,52px);display:grid;gap:1.4em;min-height:clamp(180px,20vw,380px);align-content:space-between}
.pay b{font:600 clamp(24px,2.8vw,56px)/1 U;letter-spacing:-.045em}
.pay span{color:var(--mute);max-width:30ch}
.pay em{font:700 clamp(10px,.72vw,13px)/1 M;font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.order{display:flex;align-items:center;gap:clamp(10px,1.4vw,28px);flex-wrap:wrap;font:600 clamp(26px,3.3vw,64px)/1.1 U;letter-spacing:-.04em}
.order i{width:clamp(30px,5vw,110px);height:2px;background:var(--ink);position:relative}
.order i::after{content:"";position:absolute;right:0;top:-4px;border:4px solid transparent;border-left:7px solid var(--ink);border-right:0}
.order span:first-child{color:var(--accent)}

/* 15. финал */
.final{align-content:center;gap:calc(var(--pad)*.55)}
.final .display{font-size:clamp(34px,5.8vw,124px);max-width:15ch}
.contacts{display:flex;gap:clamp(18px,4vw,80px);flex-wrap:wrap;border-top:1px solid var(--line);padding-top:1.2em}
.contacts div{display:grid;gap:.3em}
.contacts span{font:700 clamp(10px,.7vw,13px)/1 M;letter-spacing:.16em;text-transform:uppercase;color:#d9b26a}
.contacts b{font:600 clamp(18px,1.7vw,34px)/1.1 U;letter-spacing:-.03em}
.contacts .ph{color:var(--mute)}
.final .todo{color:#141317}

/* 16. продвижение: бюджет */
.promo .two{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.budget .big{background:var(--goldg);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.budget .big small{-webkit-text-fill-color:var(--mute)}
.spend{display:grid;gap:1em}
.sbar{display:grid;grid-template-columns:40fr 20fr 20fr 10fr 10fr;height:clamp(22px,2vw,38px);gap:3px}
.sbar i{background:var(--paper);border:1px dashed var(--line)}
.sbar .c{background:#d9b26a;border:0}
.sbar .t{background:#3fa585;border:0}
.sbar .r{background-image:repeating-linear-gradient(135deg,rgba(0,0,0,.22) 0 6px,transparent 6px 12px)}
.sax{position:relative;height:1.2em;color:var(--mute);font:600 clamp(10px,.7vw,13px)/1 M}
.sax span{position:absolute;translate:-50% 0;white-space:nowrap}
.sax span:nth-child(1){left:0;translate:0}.sax span:nth-child(2){left:40%}.sax span:nth-child(3){left:60%}.sax span:nth-child(4){left:80%}.sax span:nth-child(5){left:90%}.sax span:nth-child(6){left:100%;translate:-100% 0}
.it{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.3em 1em;align-items:baseline;padding:clamp(12px,1.2vw,22px) 0 clamp(12px,1.2vw,22px) 1.2em;border-top:1px solid var(--line);position:relative}
.it::before{content:"";position:absolute;left:0;top:clamp(16px,1.5vw,28px);width:.55em;height:.55em;border:1px solid var(--mute)}
.it.c::before{background:#d9b26a;border:0}.it.t::before{background:#3fa585;border:0}
.it em{grid-column:1/-1;font:700 clamp(10px,.7vw,13px)/1 M;font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.it b{font:600 clamp(17px,1.5vw,30px)/1.1 U;letter-spacing:-.03em}
.it .sum{font:600 clamp(20px,1.9vw,38px)/1 U;letter-spacing:-.04em;color:#d9b26a;white-space:nowrap}
.it.t .sum{color:#6cc7a6}
.it .note{grid-column:1/-1;font-size:.92em}

/* 17. тест 10 роликов */
.rl{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:clamp(6px,.7vw,14px)}
.reel{height:min(25svh,270px);background:linear-gradient(170deg,#14473a,#0b2a22);color:#f3ead8;display:grid;align-content:space-between;padding:.7em;position:relative;border:1px solid transparent}
.reel::before{content:"";position:absolute;left:50%;top:50%;translate:-30% -50%;border:.7em solid transparent;border-left:1.1em solid rgba(243,234,216,.75);border-right:0}
.reel b{font:600 clamp(14px,1.2vw,24px)/1 U;letter-spacing:-.03em}
.reel span{font:600 clamp(9px,.62vw,12px)/1 M;letter-spacing:.1em;text-transform:uppercase;color:rgba(243,234,216,.6)}
.reel.win{border-color:#d9b26a;box-shadow:0 0 0 3px rgba(217,178,106,.35),0 14px 30px rgba(143,106,42,.3)}
.reel.win::after{content:"★";position:absolute;right:.6em;top:.55em;color:#d9b26a;font-size:1.1em;line-height:1}
.reel.win b{color:#e9cc8a}
.rl-cap{display:flex;justify-content:space-between;gap:1em;flex-wrap:wrap;color:var(--mute);font-size:.88em;padding-top:.8em}
.rl-cap .w{color:var(--gold-d);font-weight:700}

/* 18. воронка */
.funnel{display:grid;gap:clamp(5px,.6vw,10px);justify-items:center}
.lv{width:var(--w);min-width:min(100%,300px);display:flex;justify-content:space-between;align-items:center;gap:1em;padding:clamp(12px,1.25vw,24px) clamp(14px,1.6vw,30px);background:var(--accent);color:#f3ead8}
.lv:nth-child(2){background:#11705a}.lv:nth-child(3){background:#2a7a5a}.lv:nth-child(4){background:#7c7a44}
.lv:last-child{background:var(--goldg);color:#10241f}
.lv b{font:600 clamp(15px,1.35vw,27px)/1.1 U;letter-spacing:-.03em}
.lv span{font-size:.86em;opacity:.8;text-align:right}

/* телефон и узкие окна: сетки стопкой, 3D — сверху на половину экрана */
@media (max-aspect-ratio:1/1){
  .slide{align-content:center;gap:calc(var(--pad)*.9);padding-top:calc(var(--pad)*2.6);padding-bottom:calc(var(--pad)*2.4)}
  .two,.econ .two,.contest .two{grid-template-columns:minmax(0,1fr);height:auto;align-content:center;gap:calc(var(--pad)*.9)}
  .cover,.map{grid-template-columns:minmax(0,1fr);align-content:center}
  .cover .stage{height:34svh;min-height:0;order:-1}
  .product .stage{height:30svh;min-height:0;order:-1}
  .map .stage{height:44svh;min-height:0}
  .contest .rhs{grid-template-rows:28svh auto;order:-1}
  .contest .note,.roles span,.crit p:nth-child(2) small{display:none}
  .contest .lhs{gap:14px}
  .h{font-size:clamp(24px,7vw,44px)}
  .display{font-size:clamp(30px,9vw,56px)}
  .big{font-size:clamp(36px,11vw,64px)}
  .cols{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}
  .cols>div{padding:14px 0!important;border-left:0!important;border-bottom:1px solid var(--line)}
  .case .big{font-size:clamp(30px,9vw,56px)}
  .cal i{padding:.2em .25em;font-size:9px!important}
  .week b{padding-right:.4em}
  .chain{grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr) 36px minmax(0,1fr)}
  .node{min-height:0;padding:12px 8px}
  .node span,.pipe em{display:none}
  .node b{font-size:clamp(11px,3.3vw,16px)}
  .flow4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flow4>div{padding:12px 0!important;border-left:0!important}
  .flow4 .big{font-size:clamp(26px,8vw,44px)}
  .econ .chart{height:24svh}
  .res .big{font-size:clamp(24px,7vw,40px)}
  .steps{grid-template-columns:minmax(0,1fr);gap:1.2em;padding-top:0;padding-left:1.4em}
  .steps::before{top:0;bottom:0;right:auto;width:2px;height:auto;background:linear-gradient(180deg,var(--line),var(--accent))}
  .who ol{grid-template-columns:minmax(0,1fr)}
  .who li{padding:12px 0}
  .who li span{display:none}
  .pays{grid-template-columns:minmax(0,1fr)}
  .pay{min-height:0;gap:.8em}
  .items{font-size:.9em}
  .items li{padding:.3em 0}
  .product .note{display:none}
  .mark span{font-size:.74em;white-space:normal;max-width:16ch}
  .track{height:200px}
  .leg span{display:none}
  .hint,.lead.opt,.note.opt{display:none}
  .meta{gap:14px 24px}
  .wordmark{font-size:clamp(24px,7vw,40px)}
  .promo .two{grid-template-columns:minmax(0,1fr)}
  .promo .lead,.it .note{display:none}
  .it{padding:8px 0 8px 1.2em}
  .rl{grid-template-columns:repeat(5,minmax(0,1fr))}
  .reel{height:13svh;padding:.45em}
  .rl-cap{flex-direction:column;gap:.3em}
  .reels .steps span{display:none}
  .lv{padding:10px 12px;min-width:min(100%,240px)}
  .lv span{display:none}
  .fun .note{display:none}
}
@media (prefers-reduced-motion:reduce){.progress{transition:none}}

/* печать / PDF: слайд = страница 1920×1080 */
@page{size:1920px 1080px;margin:0}
html.print .deck{height:auto;overflow:visible;scroll-snap-type:none}
html.print .slide{width:1920px;height:1080px;break-after:page;page-break-after:always}
html.print .slide:last-child{break-after:auto;page-break-after:auto}
html.print .progress,html.print .hint{display:none}
html.export .deck{scroll-snap-type:none;scroll-behavior:auto}
.contacts a{color:inherit;text-decoration:none}
