/* Капитал Принт — стили сайта. Палитра и типографика из дизайн-платформы. */
@font-face{font-family:"Golos Text";src:url(/assets/fonts/golos-cyrillic.woff2) format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";src:url(/assets/fonts/golos-latin.woff2) format("woff2");font-weight:400 700;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+20BD,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";src:url(/assets/fonts/jbmono-cyrillic.woff2) format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"JetBrains Mono";src:url(/assets/fonts/jbmono-latin.woff2) format("woff2");font-weight:400 700;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+20BD,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Dela Gothic One";src:url(/assets/fonts/dela-cyrillic.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Dela Gothic One";src:url(/assets/fonts/dela-latin.woff2) format("woff2");font-weight:400;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+20BD,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --paper:#fdf7f0;--paper-deep:#f6ece0;--paper-raised:#fffdfa;--ink:#1c130c;--ink-muted:#6b5442;--line:#eadbc9;
  --ochre:#e07a45;--ochre-soft:#f7d9c4;--on-ochre:#1c130c;--cyan:#00aeef;--magenta:#e0007f;--on-magenta:#fff;--yellow:#ffe600;
  --ok:#1f7a3f;--warn:#b35b00;--bad:#b3122e;
  --font-display:"Dela Gothic One","Arial Black","Segoe UI Black",system-ui,sans-serif;
  --font-body:"Golos Text","Segoe UI",Roboto,"Helvetica Neue",Arial,system-ui,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:140px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.55 var(--font-body);overflow-x:hidden}
img,svg{max-width:100%}
a{color:var(--ink)}a:hover{color:#a84a17}
h1,h2,h3{text-wrap:balance}
@media (max-width:480px){h1,h2,h3{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}}
:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:8px;top:-60px;background:var(--ink);color:var(--paper);padding:10px 14px;z-index:100}
.skip:focus{top:8px}
.wrap{max-width:1280px;margin:0 auto;padding-inline:24px}
.sec{padding-block:72px}
.band{background:var(--paper-deep);border-block:2px solid var(--ink)}
.band-ink{background:var(--ink);color:var(--paper)}
.band-ink a{color:var(--paper)}
.band-yellow{background:var(--yellow);border-block:2px solid var(--ink)}
.band-soft{background:var(--ochre-soft);border-block:2px solid var(--ink)}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.lbl{font:600 12px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}
.muted{color:var(--ink-muted)}
.h1{margin:0;font:400 clamp(38px,5.6vw,84px)/1.03 var(--font-display);letter-spacing:-.01em}
.h2{margin:0;font:400 clamp(28px,3.6vw,50px)/1.04 var(--font-display)}
.h3{margin:0;font:700 21px/1.25 var(--font-body)}
.lead{margin:0;font-size:19px;line-height:1.5;max-width:58ch}
.sub{margin:0;font-size:18px;line-height:1.5;max-width:62ch;color:var(--ink-muted)}
.mark{background:linear-gradient(transparent 62%,var(--ochre-soft) 62%,var(--ochre-soft) 92%,transparent 92%)}
.stack{display:flex;flex-direction:column;gap:16px}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.between{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--min,260px)),1fr))}
.split{display:grid;gap:48px;align-items:center;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr))}
.split.top{align-items:start}
.minw0{min-width:0}

/* Шапка */
.hdr{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:2px solid var(--ink)}
.hdr-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;padding-block:10px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);margin-right:auto}
.logo img{height:52px;width:auto}
.logo span{font:400 20px/1 var(--font-display)}
.fact{display:flex;flex-direction:column;line-height:1.3}
.fact b{font:600 15px/1.3 var(--font-mono)}
.fact span{font-size:12px;color:var(--ink-muted)}
.fact a{text-decoration:none}
.chips{display:flex;gap:8px}
.nav{border-top:1px solid var(--line)}
.nav-in{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding-block:8px;font-size:13.5px;font-weight:600}
.nav-in a{text-decoration:none;padding:4px 0}
.nav-in a.hot{background:var(--ink);color:var(--paper);padding:6px 12px}
.nav-in a.diy{box-shadow:inset 0 -3px 0 var(--ochre)}
.nav-in a[aria-current=page]{box-shadow:inset 0 -3px 0 var(--ink)}

/* Кнопки, чипы, ярлыки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border:0;border-radius:0;font:600 16px/1.2 var(--font-body);cursor:pointer;text-decoration:none;text-align:center;color:var(--ink);background:transparent}
.btn-primary{background:var(--ochre);color:var(--on-ochre)}
.band-ink .btn-primary,.band-ink .btn-primary:hover{color:var(--on-ochre)}
.band-ink .btn-ghost,.band-ink .btn-ghost:hover{background:transparent;color:var(--paper);box-shadow:inset 0 0 0 2px var(--paper)}
.btn-primary:hover{box-shadow:inset 0 -4px 0 var(--ink);color:var(--on-ochre)}
.btn-dark{background:var(--ink);color:var(--paper)}
.btn-dark:hover{color:var(--paper);box-shadow:inset 0 -4px 0 var(--ochre)}
.btn-ghost{box-shadow:inset 0 0 0 2px var(--ink);background:var(--paper-raised)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.btn-light{box-shadow:inset 0 0 0 2px var(--paper);color:var(--paper)}
.btn-sm{min-height:40px;padding:0 16px;font-size:14px}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 16px;border-radius:999px;background:var(--paper-raised);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);font:600 14px/1 var(--font-body);text-decoration:none}
.chip:hover{box-shadow:inset 0 0 0 2px var(--ink);color:var(--ink)}
.tag{display:inline-flex;align-items:center;padding:4px 8px;border-radius:2px;font:600 12px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-self:flex-start}
.tag-dtf{background:var(--cyan);color:var(--ink)}
.tag-uv{background:var(--magenta);color:var(--on-magenta)}
.tag-st{background:var(--yellow);color:var(--ink)}
.tag-diy{background:var(--ochre);color:var(--on-ochre)}
.tag-plain{box-shadow:inset 0 0 0 1px var(--ink)}
.tag-ink{background:var(--ink);color:var(--paper)}

/* Карточки */
.card{background:var(--paper-raised);border:2px solid var(--ink);padding:22px;display:flex;flex-direction:column;gap:10px}
.card p{margin:0}
.shadow{box-shadow:8px 8px 0 var(--ink)}
.shadow-c{box-shadow:8px 8px 0 var(--cyan)}
.shadow-m{box-shadow:8px 8px 0 var(--magenta)}
.lift{transition:transform .2s ease}.lift:hover{transform:translateY(-4px)}
a.card{text-decoration:none;color:var(--ink)}
.svc{min-height:420px;padding:24px;border:2px solid var(--ink);display:flex;flex-direction:column;gap:12px;text-decoration:none}
.svc .h3x{margin:auto 0 0;font:400 30px/1 var(--font-display)}
.svc p{margin:0;font-size:15px}
.svc .foot{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:2px solid currentColor;padding-top:12px;font-weight:700}
.svc-dtf{background:var(--cyan);color:var(--ink)}
.svc-uv{background:var(--magenta);color:#fff}
.svc-uv:hover{color:#fff}
.svc-st{background:var(--yellow);color:var(--ink)}
.svc .art{height:170px;align-self:flex-end;margin-top:-56px}
.svc .art svg,.svc .art img{height:100%;width:auto;display:block}
.minor{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));border-top:2px solid var(--ink)}
.minor>div{display:flex;gap:16px;align-items:center;padding:18px 16px 18px 0;border-bottom:1px solid var(--line)}
.minor img,.minor svg{height:80px;width:auto;flex:none}
.minor p{margin:0;font-size:14px;color:var(--ink-muted)}
.ico{width:100%;height:auto;display:block}
.use{background:var(--paper-raised);border:2px solid var(--ink);padding:14px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.use svg{width:72%;max-width:120px}
.use b{font-size:15px}.use span{font-size:12px;color:var(--ink-muted)}

/* Таблицы */
.tbl{width:100%;border-collapse:collapse;font:400 15px/1.4 var(--font-mono);font-variant-numeric:tabular-nums}
.tbl th{text-align:left;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-weight:600;padding:8px 12px 8px 0;border-bottom:2px solid var(--ink)}
.tbl td{padding:11px 12px 11px 0;border-bottom:1px solid var(--line);vertical-align:top}
.tbl td:last-child,.tbl th:last-child{text-align:right;padding-right:0}
.tbl.left td:last-child,.tbl.left th:last-child{text-align:left}
.tbl tr.best td{font-weight:700}
.tbl tr.best td:last-child span{background:var(--ochre);color:var(--on-ochre);padding:2px 8px}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.price-box{background:var(--paper-raised);border:2px solid var(--ink);padding:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.price-box>.head{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}

/* Числа, шаги */
.num{font:700 40px/1 var(--font-mono)}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.steps li{background:var(--paper-raised);border:2px solid var(--ink);padding:20px;display:flex;flex-direction:column;gap:8px}
.steps li span.d{font-size:15px;color:var(--ink-muted)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2px;background:var(--ink);border:2px solid var(--ink)}
.facts>div{background:var(--paper-raised);padding:20px;display:flex;flex-direction:column;gap:6px}
.facts .num{font-size:30px}
.facts span{font-size:14px;color:var(--ink-muted)}
.path{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.path li{display:grid;grid-template-columns:56px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--ink)}
.path p{margin:4px 0 0;font-size:15px}

/* Вкладки */
.tabs{display:flex;flex-wrap:wrap;box-shadow:inset 0 0 0 2px var(--ink);align-self:flex-start;background:var(--paper-raised)}
.tabs button{border:0;padding:10px 16px;min-height:44px;font:600 15px/1 var(--font-body);cursor:pointer;background:transparent;color:var(--ink)}
.tabs button[aria-selected=true],.tabs button[aria-checked=true]{background:var(--ink);color:var(--paper)}
.tabs button[data-tone=dtf][aria-selected=true],.tabs button[data-tone=dtf][aria-checked=true]{background:var(--cyan);color:var(--ink)}
.tabs button[data-tone=uv][aria-selected=true],.tabs button[data-tone=uv][aria-checked=true]{background:var(--magenta);color:#fff}
[hidden]{display:none!important}

/* Калькулятор (быстрый) */
.qc{position:relative;background:var(--paper-raised);border:2px solid var(--ink);box-shadow:10px 10px 0 var(--ink);padding:26px;display:flex;flex-direction:column;gap:16px}
.cmyk{height:6px;display:grid;grid-template-columns:repeat(4,1fr);margin:-26px -26px 4px}
.cmyk span:nth-child(1){background:var(--cyan)}.cmyk span:nth-child(2){background:var(--magenta)}.cmyk span:nth-child(3){background:var(--yellow)}.cmyk span:nth-child(4){background:var(--ink)}
.inp{display:flex;align-items:stretch;border-radius:2px;box-shadow:inset 0 0 0 2px var(--ink);background:var(--paper-raised)}
.inp input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:600 24px/1 var(--font-mono);padding:12px 16px;font-variant-numeric:tabular-nums}
.inp input:focus{outline:none}
.inp:focus-within{box-shadow:inset 0 0 0 2px var(--ink),0 0 0 3px var(--cyan)}
.inp span{display:flex;align-items:center;padding:0 16px;color:var(--ink-muted);font:600 14px var(--font-mono)}
.stepper{display:flex;gap:8px}
.stepper button{width:56px;border:2px solid var(--ink);background:var(--paper);font:700 24px/1 var(--font-mono);cursor:pointer;color:var(--ink)}
.presets{display:flex;flex-wrap:wrap;gap:6px}
.presets button{border:0;cursor:pointer;padding:8px 12px;min-height:36px;font:600 13px/1 var(--font-mono);background:var(--paper-deep);color:var(--ink)}
.total{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;border-top:2px dashed var(--line);padding-top:14px}
.total .sum{font:700 46px/1 var(--font-mono)}
.bar{height:10px;background:var(--paper-deep);position:relative}
.bar i{position:absolute;left:0;top:0;bottom:0;background:var(--ochre);transition:width .3s}
.bar.done i{background:var(--cyan)}

/* Главный экран */
.hero{position:relative;padding-block:48px 56px}
.spiral{position:absolute;left:-60px;top:-40px;width:340px;height:340px;opacity:.22;pointer-events:none}
.scene{position:relative;background:var(--paper-deep);border:2px solid var(--ink);min-height:380px;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;padding:28px 24px 0}
.film{position:absolute;left:-10%;right:-10%;top:96px;height:132px;transform:rotate(-7deg);background-color:#fffdfa;background-image:linear-gradient(45deg,#f1e6d8 25%,transparent 25%,transparent 75%,#f1e6d8 75%),linear-gradient(45deg,#f1e6d8 25%,transparent 25%,transparent 75%,#f1e6d8 75%);background-size:16px 16px;background-position:0 0,8px 8px;border-block:2px solid var(--ink);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 13% 0 12%}
.film .dot{width:70px;height:70px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 5px #fff}
.film .merch{font:400 24px/1 var(--font-display);background:var(--yellow);padding:10px 12px;box-shadow:0 0 0 5px #fff;transform:rotate(-4deg)}
.scene .prices{position:absolute;right:14px;top:44px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;z-index:2}
.scene .lbl{position:absolute;left:16px;top:14px;color:var(--ink)}
.scene .okh-box{position:relative;z-index:1;height:300px}
.acts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:12px}
.act{border:2px solid var(--ink);padding:16px;display:flex;flex-direction:column;gap:6px;text-decoration:none;min-height:132px;background:var(--paper-raised);color:var(--ink)}
.act.dark{background:var(--ink);color:var(--paper)}
.act.dark:hover{color:var(--paper)}
.act b{font-size:17px}.act span{font-size:13px;color:var(--ink-muted)}.act.dark span{color:#f1dcc7}
.marquee-wrap{background:var(--ink);color:var(--paper);overflow:hidden}
.marquee{display:flex;width:max-content;animation:kp-marquee 40s linear infinite;padding:14px 0;font:600 15px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.marquee span{padding-right:28px}
.marquee b{padding-right:28px;font-weight:400}

/* Хоровод */
.dance-row{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap;padding-top:28px}
.dance-row img{height:120px;width:auto}

/* Контакты и карта */
.map{border:2px solid var(--ink);width:100%;height:420px;display:block;background:var(--paper-deep)}

/* Статьи */
.crumbs{font-size:14px;color:var(--ink-muted);margin:0 0 18px}
.crumbs a{color:var(--ink-muted)}
.prose{max-width:760px}
.prose p,.prose li{font-size:18px;line-height:1.65}
.prose h2{font:400 clamp(24px,2.6vw,32px)/1.1 var(--font-display);margin:40px 0 14px}
.prose ul,.prose ol{padding-left:22px;display:flex;flex-direction:column;gap:8px;margin:0}
.prose .note{background:var(--paper-deep);border:2px solid var(--ink);padding:14px 16px;font-size:16px}
.prose .tbl-wrap{margin:16px 0}
.prose .tbl{font-size:14px}
.prose .tbl td:last-child,.prose .tbl th:last-child{text-align:left}
.art-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;align-items:start}
.art-side{position:sticky;top:120px;display:flex;flex-direction:column;gap:16px}
.cta-box{background:var(--ink);color:var(--paper);padding:22px;display:flex;flex-direction:column;gap:12px}
.cta-box a:not(.btn){color:var(--paper)}
.updated{font:400 13px/1.4 var(--font-mono);color:var(--ink-muted)}
.kb-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:12px}
.kb-list a{background:var(--paper-raised);border:2px solid var(--ink);padding:20px;text-decoration:none;display:flex;flex-direction:column;gap:8px}

/* FAQ */
.faq{border-top:2px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{display:flex;justify-content:space-between;gap:16px;font-weight:600;font-size:18px;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:700 24px/1 var(--font-mono);color:var(--ochre);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{margin:12px 0 0;max-width:62ch}

/* Подвал */
.ftr{background:var(--ink);color:#f1dcc7;font-size:14px}
.ftr a{color:#f1dcc7}
.ftr .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px;padding-block:48px 28px}
.ftr .cols>div{display:flex;flex-direction:column;gap:8px}
.ftr b{color:#fdf7f0}
.ftr .brand{font:400 22px/1.1 var(--font-display);color:#fdf7f0}
.ftr .legal{border-top:1px solid #3a2a1f;padding-block:16px 28px;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px}

/* Полоса cookie */
.ck{position:fixed;left:16px;bottom:16px;z-index:40;max-width:560px;background:var(--paper-raised);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink);padding:16px;display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:1.45}
.ck[hidden]{display:none}

/* Мобильная панель */
.mbar{display:none}

/* Иллюстрации Охрика */
.okh{overflow:visible;height:100%;width:auto;display:block;max-width:100%}
.okh g{transform-box:view-box}
.okh-all{animation:okh-bob 1.4s ease-in-out infinite}
.okh-main .okh-legL,.okh-stickers .okh-legL{transform-origin:68px 190px;animation:okh-step 1.4s ease-in-out infinite}
.okh-main .okh-legR,.okh-stickers .okh-legR{transform-origin:108px 181px;animation:okh-step 1.4s ease-in-out infinite;animation-delay:-.7s}
.okh-main .okh-arm,.okh-stickers .okh-arm{transform-origin:118px 127px;animation:okh-wave 1.4s ease-in-out infinite}
.okh-main .okh-head,.okh-stickers .okh-head{transform-origin:84px 104px;animation:okh-nod 1.4s ease-in-out infinite}
.okh-main .okh-front,.okh-stickers .okh-front,.okh-stickers .okh-sheet{transform-origin:46px 92px;animation:okh-hold 1.4s ease-in-out infinite}
.okh-stickers .okh-peel{animation:okh-peel 2.8s ease-in-out infinite}
.okh-dtf .okh-head{transform-origin:142px 88px;animation:okh-nod 1.4s ease-in-out infinite}
.okh-dtf .okh-shirt{transform-origin:106px 76px;animation:okh-shake 1.4s ease-in-out infinite}
.okh-dtf .okh-back{transform-origin:92px 122px;animation:okh-swing 1.4s ease-in-out infinite}
.dance{transform-origin:50% 100%;animation:kp-dance 3.2s ease-in-out infinite}
.d2{animation-duration:3.6s;animation-delay:-1.2s}.d3{animation-duration:2.9s;animation-delay:-.6s}
.hop{transform-origin:50% 100%;animation:kp-hop 3s ease-in-out infinite}
.spin{animation:kp-spin 60s linear infinite}
@keyframes okh-bob{0%,50%,100%{transform:translateY(0)}25%,75%{transform:translateY(-2.5px)}}
@keyframes okh-step{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
@keyframes okh-wave{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(12deg)}}
@keyframes okh-nod{0%,100%{transform:rotate(-2.5deg)}50%{transform:rotate(3deg)}}
@keyframes okh-hold{0%,100%{transform:rotate(0)}50%{transform:rotate(-2deg)}}
@keyframes okh-shake{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(6deg)}}
@keyframes okh-swing{0%,100%{transform:rotate(10deg)}50%{transform:rotate(-12deg)}}
@keyframes okh-peel{0%,60%,100%{transform:translate(32px,-12px) scale(1.25) rotate(0)}75%{transform:translate(33px,-15px) scale(1.25) rotate(-14deg)}}
@keyframes kp-dance{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(1.5deg)}}
@keyframes kp-hop{0%,55%,100%{transform:translateY(0)}65%{transform:translateY(-14px)}75%{transform:translateY(0)}82%{transform:translateY(-4px)}90%{transform:translateY(0)}}
@keyframes kp-marquee{to{transform:translateX(-50%)}}
@keyframes kp-spin{to{transform:rotate(360deg)}}
/* Охрик с калькулятором (страница калькулятора) */
.okh-box-calc{height:440px;flex:none;margin-left:auto}
.okh-calc .okh-legL{transform-origin:68px 190px;animation:okh-step 1.4s ease-in-out infinite}
.okh-calc .okh-legR{transform-origin:108px 181px;animation:okh-step 1.4s ease-in-out infinite;animation-delay:-.7s}
.okh-calc .okh-head{transform-origin:84px 104px;animation:okh-nod 2.4s ease-in-out infinite}
.okh-calc .okc-tap{transform-origin:138px 156px;animation:okc-tap 2.4s ease-in-out infinite}
.okh-calc .okc-n2,.okh-calc .okc-n3{opacity:0}
.okh-calc .okc-n1{animation:okc-n1 2.4s linear infinite}
.okh-calc .okc-n2{animation:okc-n2 2.4s linear infinite}
.okh-calc .okc-n3{animation:okc-n3 2.4s linear infinite}
.okh-calc .okc-k1{animation:okc-k1 2.4s linear infinite}
.okh-calc .okc-k2{animation:okc-k2 2.4s linear infinite}
.okh-calc .okc-k3{animation:okc-k3 2.4s linear infinite}
@keyframes okc-tap{0%{transform:rotate(0)}6%{transform:rotate(0) translate(-1.5px,.6px)}12%{transform:rotate(0)}28%{transform:rotate(17.6deg)}35%{transform:rotate(17.6deg) translate(-1.5px,.6px)}42%{transform:rotate(17.6deg)}58%{transform:rotate(-17.9deg)}67%{transform:rotate(-17.9deg) translate(-1.5px,.6px)}75%{transform:rotate(-17.9deg)}100%{transform:rotate(0)}}
@keyframes okc-k2{0%,3.9%,10.1%,100%{fill:#fffdfa}4%,10%{fill:#e0007f}}
@keyframes okc-k1{0%,32.9%,39.1%,100%{fill:#fffdfa}33%,39%{fill:#e0007f}}
@keyframes okc-k3{0%,64.9%,71.1%,100%{fill:#fffdfa}65%,71%{fill:#e0007f}}
@keyframes okc-n1{0%,5.9%{opacity:0}6%,34.9%{opacity:1}35%,100%{opacity:0}}
@keyframes okc-n2{0%,34.9%{opacity:0}35%,66.9%{opacity:1}67%,100%{opacity:0}}
@keyframes okc-n3{0%,5.9%{opacity:1}6%,66.9%{opacity:0}67%,100%{opacity:1}}
@media (min-width:641px) and (max-width:1180px){.okh-box-calc{height:220px}}
@media (max-width:640px){.okh-box-calc{height:120px;margin-top:-62px}}

/* Ролик «Как мы работаем» и фото производства */
.proc-video{width:100%;max-width:440px;margin-inline:auto;aspect-ratio:4/5;background:var(--ink);border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ochre)}
.proc-video video{display:block;width:100%;height:100%;object-fit:cover}
.prod-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}
.prod-grid figure{margin:0;border:2px solid var(--ink);background:var(--paper-raised);display:flex;flex-direction:column}
.prod-grid img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.prod-grid figcaption{padding:10px 12px;font-weight:600;font-size:15px;line-height:1.35;border-top:2px solid var(--ink)}
@media (max-width:900px){.prod-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.prod-grid figcaption{font-size:13px;padding:8px 10px}}
/* Ролик в первом экране услуги и маленький маскот в углу */
.hero-vwrap{position:relative;max-width:440px;margin-inline:auto}
.hero-mascot{position:absolute;right:-64px;bottom:-28px;height:170px;z-index:2;pointer-events:none}
.hero-mascot>svg,.hero-mascot>img{height:100%;width:auto;display:block}
.hero-mascot>svg{overflow:visible}
@media (max-width:1180px){.hero-mascot{right:-8px}}
@media (max-width:640px){.hero-mascot{right:-8px;bottom:-34px;height:88px}}
.memo-dl{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;text-decoration:none;border-bottom:2px solid var(--ochre);padding:2px 0}
.memo-dl::before{content:"↓";font-family:var(--font-mono);color:var(--ochre)}
.memo-dl span{font:400 12px/1 var(--font-mono);color:var(--ink-muted)}
/* Посадочные страницы (изделия, города, EN) */
.page-prose{max-width:860px}
.page-prose>:first-child{margin-top:0}
.page-prose p{margin:0 0 14px}
.page-prose h3{margin:24px 0 10px}
.page-prose ul,.page-prose ol{margin:0 0 16px}
.page-prose .note{margin:8px 0 16px}
.band .page-prose .note{background:var(--paper-raised)}
/* Мобильное меню, подвал, крупные зоны нажатия (WCAG 2.2, 24 px) */
.nav-tg{display:none}
.nav-in a{padding:6px 0;min-height:24px}
.crumbs a{display:inline-block;padding:3px 0}
.ftr .cols a,.ftr .legal a{display:inline-block;padding:3px 0}
.ftr .f-cities{display:flex;flex-wrap:wrap;gap:0 4px;line-height:1.4}
.ftr .f-cities a{padding:3px 0}
/* Нижние блоки отрисовываются, только когда до них доходит прокрутка: быстрее первый экран на телефоне */
main>section:nth-of-type(n+4){content-visibility:auto;contain-intrinsic-size:auto 900px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Адаптив: телефон — для руководителей, которые согласуют; большие мониторы — для цехов */
@media (max-width:960px){.art-grid{grid-template-columns:minmax(0,1fr)}.art-side{position:static}}
@media (max-width:760px){
  body{font-size:16px}
  .hfact,.chips.top{display:none!important}
  .logo img{height:40px}.logo span{font-size:16px}
  .nav-in{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .nav-in::-webkit-scrollbar{display:none}
  .nav-tg{display:inline-flex;align-items:center;gap:8px;margin-left:auto;min-height:40px;padding:0 14px;border:2px solid var(--ink);background:var(--paper-raised);color:var(--ink);font:700 14px/1 var(--font-body);cursor:pointer}
  .nav-tg::before{content:"";width:16px;height:10px;border-block:2px solid currentColor;box-shadow:inset 0 4px 0 -2px var(--paper-raised),inset 0 6px 0 -2px currentColor}
  .nav.open .nav-in{display:grid;grid-template-columns:1fr 1fr;white-space:normal;overflow:visible;gap:0 12px;padding-block:8px 14px;font-size:15px}
  .nav.open .nav-in a{padding:10px 0;min-height:44px;display:flex;align-items:center}
  .nav.open .nav-in a.hot{grid-column:1/-1;justify-content:center;margin-bottom:6px}
  .sec{padding-block:48px}
  .sticky-md{position:static!important}
  .dance-row img{height:64px}
  .mbar{display:grid;grid-template-columns:1fr 1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--ink);padding-bottom:env(safe-area-inset-bottom,0px)}
  .mbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;color:#fdf7f0;text-decoration:none;font:600 12px/1.2 var(--font-body)}
  .mbar a.main{background:var(--ochre);color:var(--on-ochre)}
  body{padding-bottom:60px}
  .tbl{font-size:14px}
  .ck{left:8px;right:8px;bottom:64px;max-width:none}
  .qc{padding:20px;box-shadow:6px 6px 0 var(--ink)}.cmyk{margin:-20px -20px 4px}
  .total .sum{font-size:38px}
  .scene{min-height:320px}.scene .okh-box{height:250px}
  .svc{min-height:0}.svc .art{height:140px;margin-top:-40px}
  .map{height:320px}
}
@media (min-width:1800px){html{zoom:1.15}}
@media (min-width:2400px){html{zoom:1.35}}

/* Печать (КП из калькулятора) */
@media print{
  .hdr,.ftr,.mbar,.ck,.no-print,.marquee-wrap{display:none!important}
  body{background:#fff;font-size:12pt;padding:0}
  .print-only{display:block!important}
  .qc,.card{box-shadow:none}
  a{text-decoration:none}
}
.print-only{display:none}

/* Калькулятор раскладки */
.fld{width:100%;border:2px solid var(--ink);background:var(--paper-raised);color:var(--ink);font:500 16px/1.2 var(--font-body);padding:10px 12px;min-height:44px;border-radius:2px}
.fld[type=number]{font-family:var(--font-mono);font-weight:600}
textarea.fld{resize:vertical}
.fld:focus{outline:3px solid var(--cyan);outline-offset:1px}
.fld[aria-invalid=true]{border-color:var(--bad);background:#fff3f3}
.drop{border:2px dashed var(--ink);background:var(--paper-raised);padding:28px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;cursor:pointer}
.drop:hover,.drop.over{background:var(--ochre-soft)}
.drop .muted{font-size:14px;max-width:56ch}
.it{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;background:var(--paper-raised);border:2px solid var(--ink);padding:10px;border-left-width:10px}
.it .th{width:64px;height:64px;background:#fff repeating-conic-gradient(#f1e6d8 0 25%,#fff 0 50%) 0 0/12px 12px;display:flex;align-items:center;justify-content:center;overflow:hidden;font:700 11px/1 var(--font-mono);text-transform:uppercase;color:var(--ink-muted)}
.it .th img{max-width:100%;max-height:100%;object-fit:contain}
.it .f{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(70px,1fr)) 44px;gap:8px;align-items:end}
.it .f label{display:flex;flex-direction:column;gap:4px;min-width:0}
.it .f label span{font:600 11px/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}
.it .f .fld{padding:8px 10px;font-size:15px}
.it .x{width:44px;height:44px;border:2px solid var(--ink);background:var(--paper);cursor:pointer;font:700 20px/1 var(--font-mono);color:var(--ink)}
.it .meta{grid-column:2;font:400 13px/1.4 var(--font-mono);color:var(--ink-muted);display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.badge{display:inline-flex;padding:2px 6px;font:700 11px/1.3 var(--font-mono);border-radius:2px}
.b-ok{background:#d9f2e1;color:var(--ok)}.b-warn{background:#ffe9cc;color:var(--warn)}.b-bad{background:#ffe0e5;color:var(--bad)}
.film-view{background:var(--ink);padding:10px;max-height:640px;overflow:auto;position:relative}
.film-view svg{display:block;width:100%;height:auto;background:#fffaf4}
.alert{background:#ffe0e5;border:2px solid var(--bad);color:var(--bad);padding:10px 12px;font-size:14px;font-weight:600}
.alert.info{background:var(--paper-deep);border-color:var(--ink);color:var(--ink)}
@media (max-width:760px){
  .it{grid-template-columns:48px minmax(0,1fr)}.it .th{width:48px;height:48px}
  .it .f{grid-template-columns:repeat(3,minmax(0,1fr)) 44px}.it .f label:first-child{grid-column:1/-1}
  .it .meta{grid-column:1/-1}
  .film-view{max-height:420px}
}
@media print{.film-view{max-height:none;background:#fff;padding:0}.it .x,.drop{display:none}}
.it .fld[type=number]{-moz-appearance:textfield;appearance:textfield;padding-inline:8px}
.it .fld[type=number]::-webkit-inner-spin-button,.it .fld[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
@media (max-width:760px){.it .f{gap:6px}.it .f .fld{font-size:14px}}

/* Калькулятор v2: компактный (≈ −25%), три колонки: настройки и макеты · раскладка · расчёт */
.not-offer{font-size:12.5px;line-height:1.4;color:var(--ink-muted);font-style:italic;margin:0}
.ftr-link{background:none;border:0;padding:3px 0;color:#f1dcc7;font:inherit;text-decoration:underline;cursor:pointer}
.ftr .not-offer{color:inherit;opacity:.8}
.btn-xs{min-height:34px;padding:0 10px;font-size:13px}
.calc{font-size:15px}
.calc-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1fr);align-items:start}
.calc-col{display:flex;flex-direction:column;gap:12px}
.calc-h{font-size:16px}
@media (min-width:900px){
  .calc-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .calc-left{grid-column:1;grid-row:1}.calc-res{grid-column:1;grid-row:2}
  .calc-film{grid-column:2;grid-row:1/span 2;position:sticky;top:136px}
}
@media (min-width:1200px){
  .calc-grid{grid-template-columns:minmax(330px,390px) minmax(0,1fr) minmax(270px,310px)}
  .calc-left,.calc-film,.calc-res{grid-row:1;grid-column:auto}
  .calc-film,.calc-res{position:sticky;top:136px}
}
.calc-set{background:var(--paper-raised);border:2px solid var(--ink);padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.calc .tabs button{min-height:34px;padding:0 14px;font-size:14px}
.calc-row{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:8px 10px;align-items:end}
.mini{display:flex;flex-direction:column;gap:3px;min-width:0}
.mini>span:first-child{font:600 10.5px/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}
.calc .fld{min-height:34px;padding:4px 8px;font-size:14px}
.fld.num{-moz-appearance:textfield;appearance:textfield}
.fld.num::-webkit-inner-spin-button,.fld.num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.fld.w4{width:64px}.fld.w2{width:48px}
.chk{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13.5px;min-height:34px;cursor:pointer;line-height:1.2}
.chk input{width:18px;height:18px;flex:none;accent-color:#e07a45}
.calc .drop{flex-direction:row;text-align:left;padding:8px 12px;gap:10px;align-items:center}
.calc .drop svg{flex:none}
.calc .drop b{display:block;font-size:14px}
.calc .drop .muted{display:block;font-size:12px;line-height:1.35;max-width:none}
.calc .it{grid-template-columns:40px minmax(0,1fr);gap:8px;padding:7px;border-left-width:7px}
.calc .it .th{width:40px;height:40px}
.calc .it .f{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) minmax(0,1fr) 30px;gap:6px}
.calc .it .f label:first-child{grid-column:1/-1}
.calc .it .f .fld{min-height:32px;padding:4px 6px;font-size:14px}
.calc .it .f label span{font-size:10px}
.calc .it .x{width:30px;height:32px;font-size:16px}
.lk{width:100%;min-width:24px;height:32px;border:2px solid var(--ink);background:var(--ink);color:var(--paper);--lk-hole:var(--ink);cursor:pointer;padding:0;align-self:end;line-height:0;display:flex;align-items:center;justify-content:center}
.lk[aria-pressed=false]{background:var(--paper-raised);color:var(--ink-muted);border-style:dashed;border-color:var(--ink-muted)}
.lk:focus-visible{outline:3px solid var(--cyan)}
.calc .it .meta{grid-column:1/-1;font-size:11.5px}
.calc .film-view{max-height:calc(100vh - 190px);padding:6px}
.calc .qc{padding:16px;gap:12px;box-shadow:7px 7px 0 var(--ink)}
.calc .qc .cmyk{margin:-16px -16px 2px}
.res-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
.res-grid .mono{font-size:15px;font-weight:600}
.res-grid .big{font-size:24px;font-weight:700}
.calc .total{padding-top:10px}
.calc .total .sum{font-size:34px}
.own-row{display:flex;gap:6px}
.own .fld{flex:1;min-width:0}
.calc .btn-primary{min-height:44px;font-size:15px;padding:0 14px;text-align:center}
@media (max-width:760px){
  .calc .fld,.calc .tabs button{min-height:40px}
  .calc .it .f .fld{min-height:38px;font-size:15px}
  .lk{height:38px}.calc .it .x{height:38px;width:34px}
  .calc .it .f{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) minmax(0,1fr) 34px}
  .calc .film-view{max-height:420px}
  .btn-xs{min-height:40px}
}
.kp-brand{display:flex;gap:12px;align-items:center}
.kp-brand b{display:block;font-size:18pt;line-height:1.1}
.kp-brand span{font-family:var(--font-mono);font-size:11pt}
/* КП: при печати только шапка, список макетов и расчёт — без схемы раскладки, на одном листе A4 */
@media print{
  @page{size:A4;margin:12mm}
  body.kp-page{font-size:10.5pt;line-height:1.35}
  body.kp-page main>:not(#kp-head):not(#calc){display:none!important}
  body.kp-page #calc{padding:0!important}
  body.kp-page #calc>:not(#kp-table){display:none!important}
  body.kp-page #kp-head,body.kp-page #kp-table{padding:0;max-width:none}
  body.kp-page #kp-head h2{font-size:16pt}
  #kp-head img{width:30px;height:auto}
  .kp-h{font-size:11.5pt;margin:12px 0 4px}
  .kp-t{width:100%;border-collapse:collapse;table-layout:fixed;font-size:9.5pt}
  .kp-t th,.kp-t td{border:1px solid #999;padding:3px 6px;text-align:left;vertical-align:top;overflow-wrap:anywhere}
  .kp-t thead th{background:#eee}
  .kp-t tr{break-inside:avoid}
  .kp-n .kp-f{display:block;color:#555;font-size:.9em}
  .kp-sum th{width:30%;font-weight:600;background:#f6f6f6}
  .kp-total th,.kp-total td{font-size:12pt;font-weight:700;background:#fff}
  .kp-note{font-size:8.5pt;margin:8px 0 0;color:#333}
  .kp-cols{display:grid;gap:6px;align-items:start}
  .kp-cols .kp-t th{overflow-wrap:normal;word-break:normal}
  .kp-sm .kp-t{font-size:8pt}.kp-sm .kp-t th,.kp-sm .kp-t td{padding:1px 4px}
  .kp-xs .kp-t{font-size:6.5pt;line-height:1.2}.kp-xs .kp-t th,.kp-xs .kp-t td{padding:0 3px}.kp-xs .kp-n .kp-f{display:none}
  .kp-sm .kp-sum,.kp-xs .kp-sum{font-size:9pt}
}
.ex-fig{margin:0;display:flex;flex-direction:column;gap:10px;max-width:880px}
.ex-fig img{width:100%;height:auto;border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ink);background:#efe6f5}
.ex-fig figcaption{font-size:14px}
.calc .alert{font-size:13px;line-height:1.4;padding:8px 10px}
.res-grid [data-o=rate]{font-size:14px}
@media print{.calc .film-view svg{max-height:150mm;width:auto;max-width:100%;margin:0 auto}.calc-res .qc{break-inside:avoid}}
@media print{.calc-res [data-o=bar],.calc-res [data-o=next],.calc-res [data-o=warn]{display:none!important}}

/* Калькулятор: призыв загрузить свой макет, пока раскладка пустая */
.film-cta{position:absolute;inset:6px;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px;background:rgba(255,250,244,.94);border:2px dashed var(--ink)}
.film-cta b{font:700 clamp(20px,2.2vw,26px)/1.15 var(--font-body)}
.film-cta p{margin:0;max-width:40ch;font-size:15px}
.film-cta .muted{font-size:13px}
.film-cta.over{background:var(--ochre-soft)}
.drop.pulse{animation:kp-pulse 2.4s ease-in-out infinite}
@keyframes kp-pulse{0%,100%{box-shadow:0 0 0 0 rgba(224,122,69,0)}50%{box-shadow:0 0 0 6px rgba(224,122,69,.35)}}
@media print{.film-cta{display:none!important}}
.badge .fix{border:0;background:none;padding:0 0 0 4px;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
