/* Калининград — «Пульс истории». Scoped под .kg-page; шрифты Cormorant Garamond и Inter объявлены в header-d5.css. Собрано build_wp.py из preview/page.css. */
/* Калининград — «Пульс истории». Глагол: оживает. Материал мира: ночной кирпич, янтарь, пергамент, медянка, красный пульс.
   Всё scoped под .kg-page. Движение — transform/opacity/stroke-dashoffset; без JS страница читается целиком. */

.kg-page{background:#faf6ec;font-variant-numeric:lining-nums;--hdr:104px;--toc:52px;--ink:#132436;--ink2:#3c4d5d;--prus:#173e63;--prus2:#245680;--deep:#0b1a2b;--navy:#0f2540;--brick:#9c3b29;--thread:#e0452f;--night:#0c121a;--ember:#ff7a45;--cu:#4f8f86;--parch:#f3ead5;--paper:#faf6ec;--sand:#e8dcc0;--verd:#4d8a7a;--amber:#e0a23c;--mist:#dde6ec;--line:#d8cba8;
  font-size:17px;line-height:1.7;color:var(--ink);overflow-x:clip;position:relative;background:var(--paper)}
.kg-page *{box-sizing:border-box}
.kg-page h1,.kg-page h2,.kg-page h3,.kg-page h4{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;letter-spacing:-.025em;line-height:1.04;margin:0 0 .5em;color:inherit}
.kg-page h2{font-size:clamp(36px,4.8vw,70px)}
.kg-page h3{font-size:clamp(23px,2.2vw,31px);line-height:1.1}
.kg-page h4{font-size:clamp(19px,1.6vw,23px);line-height:1.15}
.kg-page p{margin:0 0 1.1em;max-width:66ch}
.kg-page a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}
.kg-page img{display:block;max-width:100%}
.kg-page :is(a,button,summary,input,[tabindex]):focus-visible{outline:3px solid var(--thread);outline-offset:4px}
.kg-navy :is(a,button,summary,input,[tabindex]):focus-visible,.kg-deep :is(a,button,summary,input,[tabindex]):focus-visible,.kg-hero :is(a,button):focus-visible{outline-color:var(--amber)}
.kg-wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}
.kg-eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--brick);margin-bottom:18px}
.kg-navy .kg-eyebrow,.kg-deep .kg-eyebrow,.kg-hero .kg-eyebrow{color:var(--amber)}
.kg-page .kg-lead{font-size:clamp(17px,1.5vw,20px);color:var(--ink2);max-width:62ch}
.kg-navy .kg-lead,.kg-deep .kg-lead{color:#d3e0ec}
.kg-sec{position:relative;padding-block:clamp(72px,9vw,124px);scroll-margin-top:calc(var(--hdr) + var(--toc) + 10px)}
.kg-paper{background:var(--paper)}
.kg-parch{background:var(--parch)}
.kg-navy{background:var(--navy);color:#eef4fa}
.kg-deep{background:var(--deep);color:#eef4fa}
.kg-note{font-size:14px;color:#5f6f7e;max-width:70ch}
.kg-navy .kg-note,.kg-deep .kg-note{color:#a9bccd}
.kg-btn{display:inline-block;padding:12px 22px;border-radius:999px;background:var(--amber);color:#1a1206;font:600 15px/1.2 Inter,sans-serif;text-decoration:none;border:0;cursor:pointer}
.kg-btn:hover{background:#eeb659}
.kg-btn.ghost{background:transparent;color:inherit;border:1px solid currentColor}
.kg-btn.ghost:hover{background:rgba(255,255,255,.14)}
.kg-hero .kg-btn.ghost{background:rgba(8,19,33,.62);border-color:rgba(255,255,255,.55);color:#fff}
.kg-page a.kg-src{display:inline-block;margin-top:6px;font-size:13.5px;font-weight:600;color:var(--brick);text-decoration:none;border-bottom:1px solid currentColor}
.kg-navy a.kg-src,.kg-deep a.kg-src{color:var(--amber)}

/* ── Герой: красная нить ───────────────────────────────── */
.kg-hero{position:relative;background:var(--deep);color:#fff}
.kg-stage{position:relative;min-height:calc(100svh - var(--hdr));overflow:clip;isolation:isolate;display:flex;align-items:flex-end}
.kg-hero-photo{position:absolute;inset:0;z-index:0}
.kg-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.kg-hero .kg-stage::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(8,19,33,.78) 0%,rgba(8,19,33,.34) 52%,transparent 84%),linear-gradient(180deg,rgba(8,19,33,.16) 20%,rgba(8,19,33,.92) 100%)}
.kg-hero-inner{position:relative;z-index:4;width:min(1200px,calc(100% - 64px));margin:0 auto;padding:clamp(110px,17vh,190px) 0 44px}
.kg-hero h1{font-size:clamp(38px,4.7vw,76px);line-height:.98;letter-spacing:-.035em;margin:0 0 24px;max-width:17ch;text-shadow:0 2px 40px rgba(0,0,0,.5)}
.kg-hero h1 .w{display:inline-block;overflow:clip;vertical-align:top;padding-bottom:.08em}
.kg-hero h1 .w>span{display:inline-block}
.kg-motion .kg-hero h1 .w>span{opacity:0;transform:translate3d(0,.55em,0)}
.kg-motion .kg-hero.kg-go h1 .w>span{animation:kg-rise 1.2s cubic-bezier(.16,.7,.2,1) forwards;animation-delay:calc(.35s + var(--i)*.09s)}
@keyframes kg-rise{to{opacity:1;transform:none}}
.kg-page .kg-hero-lede{font-size:clamp(17px,1.5vw,21px);color:#e4edf6;max-width:56ch;margin-bottom:26px}
.kg-tickets{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 26px;padding:0;list-style:none}
.kg-tickets li{position:relative;padding:12px 20px 12px 26px;background:rgba(243,234,213,.94);color:var(--ink);border-radius:6px;font-size:14px;line-height:1.35;display:flex;flex-direction:column;min-width:150px;box-shadow:0 8px 24px rgba(0,0,0,.28)}
.kg-tickets li::before{content:"";position:absolute;left:10px;top:10px;bottom:10px;border-left:2px dashed rgba(19,36,54,.35)}
.kg-tickets b{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brick);font-weight:600}
.kg-tickets span{font-family:'Cormorant Garamond',Georgia,serif;font-size:21px;font-weight:600;line-height:1.1;color:var(--ink)}
.kg-cta{display:flex;flex-wrap:wrap;gap:12px}
.kg-hint{position:absolute;z-index:5;right:32px;bottom:96px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#dbe7f2;writing-mode:vertical-rl;display:none;align-items:center;gap:12px}
.kg-hint::after{content:"";width:1px;height:56px;background:linear-gradient(#dbe7f2,transparent)}
html.kg-js .kg-hint{display:flex}
.kg-still .kg-hint{display:none!important}

/* ── Появление, кнопка «Анимация» ──────────────────────── */
.kg-motion .kg-reveal{opacity:0;transform:translate3d(0,26px,0);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.kg-motion .kg-reveal.in{opacity:1;transform:none}
.kg-anim{position:fixed;right:16px;bottom:16px;z-index:60;padding:9px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:rgba(11,26,43,.88);color:#f0f6fb;font:600 12px/1 Inter,sans-serif;cursor:pointer;letter-spacing:.04em}
.kg-anim:hover{background:#0b1a2b}

/* ── Оглавление (липкое на компьютере) ─────────────────── */
.kg-toc{position:sticky;top:var(--hdr);z-index:30;background:rgba(250,246,236,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);height:var(--toc)}
.kg-toc-in{width:min(1200px,calc(100% - 64px));margin:0 auto;height:100%;display:flex;gap:6px;align-items:center;overflow-x:auto;scrollbar-width:none}
.kg-toc-in::-webkit-scrollbar{display:none}
.kg-toc a{flex:none;padding:7px 14px;border-radius:999px;font:600 13px/1 Inter,sans-serif;color:var(--prus);text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
.kg-toc a:hover{background:rgba(23,62,99,.1)}
.kg-toc a.on{background:var(--prus);color:#fff}
@media (max-width:900px){.kg-page{--toc:0px}.kg-toc{position:static;height:auto;padding:8px 0}.kg-toc-in{width:calc(100% - 32px);padding-bottom:2px}}

/* ── Герой: живая фотография и пульс ─────────────────────── */
.kg-hero{position:relative;background:var(--night);color:#fff}
.kg-stage{position:relative;min-height:calc(100svh - var(--hdr));overflow:clip;isolation:isolate;display:flex;align-items:flex-end}
.kg-live{position:absolute;inset:0;z-index:0;background:var(--night);overflow:hidden}
.kg-live img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.kg-live canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity 1s ease}
.kg-live.gl canvas{opacity:1}
.kg-motion .kg-live:not(.gl) img{animation:kg-kb 46s ease-in-out infinite alternate}
@keyframes kg-kb{from{transform:scale(1.02)}to{transform:scale(1.1) translate3d(-1.2%,-.8%,0)}}
.kg-hero .kg-stage::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(7,12,19,.82) 0%,rgba(7,12,19,.4) 50%,transparent 84%),linear-gradient(180deg,rgba(7,12,19,.2) 18%,rgba(7,12,19,.12) 50%,rgba(7,12,19,.78) 100%)}
.kg-mist{position:absolute;inset:auto 0 12% 0;height:34%;z-index:1;pointer-events:none;background:radial-gradient(60% 80% at 20% 60%,rgba(190,205,222,.22),transparent 70%),radial-gradient(50% 70% at 70% 50%,rgba(190,205,222,.16),transparent 70%);filter:blur(10px);opacity:.8}
.kg-motion .kg-mist{animation:kg-mist 38s ease-in-out infinite alternate}
@keyframes kg-mist{from{transform:translate3d(-4%,0,0)}to{transform:translate3d(5%,-3%,0)}}
.kg-gulls{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.kg-gulls .gull{transform:translate(-120px,calc(var(--y)*1px)) scale(var(--s));opacity:.86}
.kg-gulls .gull path{fill:none;stroke:#f4f7fa;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transform-origin:center}
.kg-motion .kg-gulls .gull{animation:kg-fly var(--d) linear infinite;animation-delay:var(--w)}
.kg-motion .kg-gulls .gull path{animation:kg-flap .8s ease-in-out infinite alternate}
.kg-still .kg-gulls{display:none}
@keyframes kg-fly{0%{transform:translate(-120px,calc(var(--y)*1px)) scale(var(--s))}50%{transform:translate(720px,calc(var(--y)*1px - 26px)) scale(var(--s))}100%{transform:translate(1560px,calc(var(--y)*1px + 10px)) scale(var(--s))}}
@keyframes kg-flap{from{transform:scaleY(1)}to{transform:scaleY(.4)}}
.kg-pulse{position:absolute;left:0;right:0;bottom:0;width:100%;height:auto;max-height:46%;z-index:3;pointer-events:none}
.kg-pulse path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.kg-pulse .ln{stroke:url(#kgpg);stroke-width:3.2}
.kg-pulse .glow{stroke:#ff9a4a;stroke-width:10;opacity:.5;filter:url(#kgpb)}
.kg-pulse .head{fill:#fff;opacity:0;filter:drop-shadow(0 0 8px #ffb347)}
.kg-motion .kg-pulse .ln,.kg-motion .kg-pulse .glow{stroke-dasharray:1;stroke-dashoffset:1}
.kg-motion .kg-hero.kg-go .kg-pulse .ln,.kg-motion .kg-hero.kg-go .kg-pulse .glow{animation:kg-pdraw 5.4s cubic-bezier(.4,.1,.25,1) .5s forwards}
@keyframes kg-pdraw{to{stroke-dashoffset:0}}
.kg-hero-inner{position:relative;z-index:4;width:min(1200px,calc(100% - 64px));margin:0 auto;padding:clamp(110px,17vh,190px) 0 clamp(120px,20vh,230px)}
.kg-hero h1{font-size:clamp(40px,5.2vw,84px);line-height:.98;letter-spacing:-.035em;margin:0 0 24px;max-width:15ch;text-shadow:0 2px 40px rgba(0,0,0,.55)}
.kg-hero h1 .w{display:inline-block;overflow:clip;vertical-align:top;padding-bottom:.08em}
.kg-hero h1 .w>span{display:inline-block}
.kg-motion .kg-hero h1 .w>span{opacity:0;transform:translate3d(0,.55em,0)}
.kg-motion .kg-hero.kg-go h1 .w>span{animation:kg-rise 1.2s cubic-bezier(.16,.7,.2,1) forwards;animation-delay:calc(.5s + var(--i)*.12s)}
@keyframes kg-rise{to{opacity:1;transform:none}}
.kg-page .kg-hero-lede{font-size:clamp(17px,1.5vw,21px);color:#e4edf6;max-width:56ch;margin-bottom:26px}
.kg-facts{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 26px;padding:0;list-style:none}
.kg-facts li{position:relative;padding:12px 20px;background:rgba(12,18,26,.62);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(6px);border-radius:10px;font-size:14px;line-height:1.35;display:flex;flex-direction:column;min-width:150px}
.kg-facts b{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);font-weight:600}
.kg-facts span{font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;font-weight:600;line-height:1.1}
.kg-cta{display:flex;flex-wrap:wrap;gap:12px}
.kg-hint{position:absolute;z-index:5;right:32px;bottom:150px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#dbe7f2;writing-mode:vertical-rl;display:none;align-items:center;gap:12px}
.kg-hint::after{content:"";width:1px;height:56px;background:linear-gradient(#dbe7f2,transparent)}
html.kg-js .kg-hint{display:flex}
.kg-still .kg-hint{display:none!important}
@media (max-width:700px){.kg-hero-inner{width:calc(100% - 32px);padding-bottom:150px}.kg-pulse{max-height:34%}}

/* ── Общие блоки ───────────────────────────────────────── */
.kg-chip{display:inline-block;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.1);color:#eaf2f9;font-size:13px;line-height:1.25;text-decoration:none;border:1px solid rgba(255,255,255,.18);transition:background .2s}
.kg-chip:hover{background:rgba(255,255,255,.22)}
.kg-paper .kg-chip,.kg-parch .kg-chip{background:rgba(156,59,41,.07);color:var(--brick);border-color:rgba(156,59,41,.22)}
.kg-paper .kg-chip:hover,.kg-parch .kg-chip:hover{background:rgba(156,59,41,.15)}
.kg-links{display:flex;flex-wrap:wrap;gap:6px}
.kg-night{background:var(--night);color:#eef4fa}
.kg-night .kg-eyebrow{color:var(--amber)}
.kg-night .kg-lead{color:#d3e0ec}
.kg-night .kg-note{color:#a9bccd}
.kg-sec h2{max-width:20ch}
.kg-sec h2.kg-wide{max-width:none}
.kg-head{margin-bottom:clamp(30px,4vw,56px)}

/* ── Цифры ─────────────────────────────────────────────── */
.kg-nums{background:var(--night);color:#fff;padding-block:clamp(42px,5vw,70px);position:relative}
.kg-nums-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}
.kg-num{padding:6px 22px 8px;border-left:1px solid rgba(255,255,255,.16)}
.kg-num:first-child{border-left:0;padding-left:0}
.kg-num b{display:block;font:600 clamp(34px,3.6vw,56px)/1 'Cormorant Garamond',Georgia,serif;color:var(--amber);letter-spacing:-.02em;font-variant-numeric:lining-nums;white-space:nowrap}
.kg-num b small{font:600 .5em/1 Inter,sans-serif;color:#fff;letter-spacing:0;margin-left:3px}
.kg-num span{display:block;font-size:13.5px;line-height:1.4;color:#c4d3e1;margin-top:8px}
@media (max-width:1000px){.kg-nums-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:28px}.kg-num:nth-child(4){border-left:0;padding-left:0}}
@media (max-width:560px){.kg-nums-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kg-num{border-left:0;padding-left:0}.kg-num:nth-child(even){padding-left:16px;border-left:1px solid rgba(255,255,255,.16)}}

/* ── Липкий кадр: картинка с одной стороны, текст с другой ─ */
.kg-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(30px,5vw,84px);align-items:start}
.kg-split.rev{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
.kg-split.rev .kg-split-fig{order:2}
.kg-split-fig{position:sticky;top:calc(var(--hdr) + var(--toc) + 22px);height:calc(100svh - var(--hdr) - var(--toc) - 54px);max-height:720px;min-height:380px}
.kg-stack{position:relative;width:100%;height:100%;border-radius:20px;overflow:hidden;background:var(--night);box-shadow:0 26px 60px rgba(11,18,26,.34)}
.kg-stack figure{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.08);transition:opacity .9s ease,transform 1.6s cubic-bezier(.2,.7,.2,1)}
.kg-stack figure.on{opacity:1;transform:scale(1)}
.kg-stack img{width:100%;height:100%;object-fit:cover}
.kg-stack figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 22px 18px;background:linear-gradient(transparent,rgba(8,12,18,.78));color:#fff;font-size:13px;letter-spacing:.04em}
.kg-stack figcaption b{display:block;font:600 22px/1.1 'Cormorant Garamond',Georgia,serif;letter-spacing:0}
.kg-split-list{display:flex;flex-direction:column;gap:clamp(60px,10vh,120px);padding-block:8vh 12vh}
.kg-it{max-width:56ch;min-height:34vh;display:flex;flex-direction:column;justify-content:center}
.kg-it .no{font:600 13px/1 Inter,sans-serif;letter-spacing:.2em;color:var(--brick);margin-bottom:14px}
.kg-night .kg-it .no{color:var(--amber)}
.kg-it h3{font-size:clamp(30px,3.2vw,46px);margin-bottom:.4em}
.kg-it p{font-size:17px;color:var(--ink2)}
.kg-night .kg-it p{color:#d3e0ec}
.kg-it .kg-links{margin-top:6px}
.kg-it-img{display:none;margin:0 0 18px;border-radius:14px;overflow:hidden;aspect-ratio:4/3}
.kg-it-img img{width:100%;height:100%;object-fit:cover}
.kg-motion .kg-it{opacity:.35;transition:opacity .6s}
.kg-motion .kg-it.on{opacity:1}
@media (max-width:900px){
  .kg-split,.kg-split.rev{display:block}
  .kg-split-fig{display:none}
  .kg-split-list{gap:46px;padding-block:20px 0}
  .kg-it{min-height:0;max-width:none}
  .kg-it-img{display:block}
  .kg-motion .kg-it{opacity:1}
}

/* ── Пульс 770 лет: нить времени тянется вправо (закреплённая сцена) ── */
.kg-hist{padding:0;background:var(--parch)}
.kg-hist .kg-pin{height:560vh}
.kg-hist .kg-pin-in{background:linear-gradient(180deg,#f6eed9,#ecdfc0)}
.kg-hist-top{padding-top:clamp(18px,3vw,38px)}
.kg-hist-top h2{font-size:clamp(32px,4vw,58px);margin-bottom:.15em}
.kg-hist-top .kg-eyebrow{margin-bottom:10px}
.kg-page .kg-hist-top .kg-lead{font-size:16px;max-width:64ch;margin:0}
.kg-hist-view{position:absolute;left:0;right:0;top:clamp(168px,24vh,214px);bottom:44px;overflow:hidden}
.kg-hist-track{position:absolute;left:0;top:0;bottom:0;will-change:transform}
.kg-hist-line{position:absolute;left:0;top:0;overflow:visible}
.kg-hist-line .ec0{fill:none;stroke:#cdbd96;stroke-width:3;stroke-linejoin:round}
.kg-hist-line .ec1{fill:none;stroke:var(--thread);stroke-width:3.5;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1000;stroke-dashoffset:1000;filter:drop-shadow(0 0 5px rgba(224,69,47,.55))}
.kg-hist-line .nd{fill:var(--paper);stroke:#b8a97f;stroke-width:2;transition:fill .4s,stroke .4s}
.kg-hist-line .nd.on{fill:var(--thread);stroke:#fff}
.kg-hist-line .head{fill:#fff;stroke:var(--thread);stroke-width:3;filter:drop-shadow(0 0 8px rgba(224,69,47,.9))}
.kg-hn{position:absolute;top:244px;left:var(--x);width:316px;margin-left:-158px;padding:16px 18px 14px;border-radius:16px;background:rgba(255,252,243,.9);border:1px solid var(--line);box-shadow:0 14px 34px rgba(60,40,10,.12);opacity:.35;transform:translateY(14px) scale(.97);transition:opacity .55s,transform .55s}
.kg-hn::before{content:"";position:absolute;left:50%;bottom:100%;height:104px;border-left:1.5px dashed #b8a97f}
.kg-hn.on{opacity:1;transform:none}
.kg-hn .hd{display:flex;align-items:center;justify-content:space-between;gap:10px}
.kg-hn .yr,.kg-hist-fall .yr{font:600 clamp(40px,4vw,54px)/1 'Cormorant Garamond',Georgia,serif;color:var(--brick);letter-spacing:-.03em}
.kg-gl{width:38px;height:38px;color:var(--prus);flex:none}
.kg-hn h3{font-size:clamp(21px,1.9vw,25px);margin:.1em 0 .3em}
.kg-page .kg-hn p{font-size:13.8px;line-height:1.5;color:var(--ink2);margin:0}
.kg-hist-prog{position:absolute;left:clamp(18px,4vw,64px);right:clamp(18px,4vw,64px);bottom:16px;height:3px;border-radius:2px;background:rgba(19,36,54,.14)}
.kg-hist-prog i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:2px;background:var(--thread)}
.kg-hist-prog .y{position:absolute;right:0;bottom:10px;font:600 15px/1 'Cormorant Garamond',Georgia,serif;color:var(--brick);letter-spacing:.04em}
.kg-hist-fall{display:none;background:var(--parch);padding-block:clamp(54px,7vw,96px)}
.kg-hist-fall ol{list-style:none;margin:0;padding:0;display:grid;gap:14px;max-width:760px}
.kg-hist-fall li{display:grid;grid-template-columns:auto auto 1fr;gap:12px 16px;align-items:start;padding:16px 18px;border-radius:14px;background:rgba(255,252,243,.9);border:1px solid var(--line)}
.kg-hist-fall .yr{font-size:36px}
.kg-hist-fall h3{font-size:23px;margin-bottom:.15em}
.kg-page .kg-hist-fall p{font-size:15px;line-height:1.55;color:var(--ink2);margin:0}
html:not(.kg-js) .kg-hist .kg-pin,.kg-still .kg-hist .kg-pin{display:none}
html:not(.kg-js) .kg-hist-fall,.kg-still .kg-hist-fall{display:block}
.kg-hist .kg-hist-top .kg-wrap{width:min(1200px,calc(100% - 64px))}
@media (max-width:700px){.kg-hist .kg-pin{display:none}.kg-hist-fall{display:block}.kg-hist-fall li{grid-template-columns:auto 1fr}.kg-hist-fall .gl{display:none}}

/* Телефон: лента-кардиограмма прилипает к верху, красная нить с огоньком едет по годам, пока листаются карточки */
.kg-hist-strip{display:none}
@media (max-width:700px){
  .kg-motion .kg-hist-strip{display:block;position:sticky;top:calc(var(--hdr) - 18px);z-index:9;margin:0 -4px 16px;padding:8px 12px 6px;border-radius:16px;background:rgba(250,246,236,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);box-shadow:0 12px 28px rgba(60,40,10,.18)}
  .kg-hist-strip .ys{display:flex;align-items:baseline;gap:10px;min-height:34px}
  .kg-hist-strip .ys b{font:600 34px/1 'Cormorant Garamond',Georgia,serif;color:var(--brick);letter-spacing:-.03em;min-width:3.1ch}
  .kg-hist-strip .ys span{font:600 15px/1.15 'Cormorant Garamond',Georgia,serif;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .kg-hist-strip svg{display:block;width:100%;height:auto;overflow:visible}
  .kg-hist-strip .m0{fill:none;stroke:#cdbd96;stroke-width:2.2;stroke-linejoin:round;vector-effect:non-scaling-stroke}
  .kg-hist-strip .m1{fill:none;stroke:var(--thread);stroke-width:2.8;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1000;stroke-dashoffset:1000;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px rgba(224,69,47,.55))}
  .kg-hist-strip .mn{fill:var(--paper);stroke:#b8a97f;stroke-width:1.6;vector-effect:non-scaling-stroke;transition:fill .3s,stroke .3s}
  .kg-hist-strip .mn.on{fill:var(--thread);stroke:#fff}
  .kg-hist-strip .mh{fill:#fff;stroke:var(--thread);stroke-width:2.4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px rgba(224,69,47,.9))}
  .kg-motion .kg-hist-fall li{opacity:.45;transform:scale(.985);transition:opacity .4s,transform .4s,box-shadow .4s,border-color .4s}
  .kg-motion .kg-hist-fall li.on{opacity:1;transform:none;border-color:var(--thread);box-shadow:0 12px 28px rgba(60,40,10,.14)}
}

/* ── Кольцо ворот ───────────────────────────────────────── */
.kg-gates .kg-wrap{position:relative}
.kg-gates-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(24px,4vw,64px);align-items:start;margin-top:10px}
.kg-gmap{position:sticky;top:calc(var(--hdr) + var(--toc) + 18px)}
.kg-gmap-box{background:#0d1620;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:12px;box-shadow:0 26px 60px rgba(0,0,0,.4)}
.kg-gmap svg{display:block;width:100%;height:auto}
.kg-gmap .water{fill:#14304f}
.kg-gmap .land{fill:#1d2733;stroke:#2b3a4a;stroke-width:1}
.kg-gmap .pond{fill:#14304f;stroke:#1d4a78;stroke-width:1}
.kg-gmap .ring{fill:none;stroke:var(--amber);stroke-width:2;stroke-dasharray:3 7;stroke-linecap:round;opacity:.65}
.kg-motion .kg-gmap .ring{stroke-dasharray:3 7;animation:kg-ring 40s linear infinite}
@keyframes kg-ring{to{stroke-dashoffset:-400}}
.kg-gmap .mk{cursor:pointer}
.kg-gmap .mk .halo{fill:rgba(224,162,60,.2);stroke:var(--amber);stroke-width:1.5;opacity:0;transition:opacity .25s,r .25s}
.kg-gmap .mk .dot{fill:var(--amber);stroke:#0d1620;stroke-width:3}
.kg-gmap .mk text{font:600 13px/1 Inter,sans-serif;fill:#eef4fa;paint-order:stroke;stroke:#0d1620;stroke-width:4px;stroke-linejoin:round;pointer-events:none}
.kg-gmap .mk.on .halo,.kg-gmap .mk:hover .halo{opacity:1}
.kg-gmap .mk.on .dot{fill:#fff}
.kg-gmap .river{fill:none;stroke:#1c4a7a;stroke-linecap:round;stroke-linejoin:round}
.kg-gmap .ctr text{font:italic 600 13px 'Cormorant Garamond',Georgia,serif;fill:#6b86a3;letter-spacing:.1em;text-anchor:middle;pointer-events:none}
.kg-gmap-note{margin:10px 4px 0;font-size:12.5px;color:#8fa6bb}
.kg-glist{display:flex;flex-direction:column;gap:22px}
.kg-gate{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:20px;align-items:center;padding:16px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);transition:background .3s,border-color .3s}
.kg-gate.on{background:rgba(224,162,60,.09);border-color:rgba(224,162,60,.5)}
.kg-arch{position:relative;aspect-ratio:3/4;--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 133' preserveAspectRatio='none'%3E%3Cpath d='M0 133V58Q0 18 50 0Q100 18 100 58V133Z'/%3E%3C/svg%3E");-webkit-mask:var(--m) center/100% 100% no-repeat;mask:var(--m) center/100% 100% no-repeat;background:#0a1018}
.kg-arch-in{position:absolute;inset:0}
.kg-arch-in img{width:100%;height:100%;object-fit:cover}
.kg-arch .d{position:absolute;top:0;bottom:0;width:50.5%;background:linear-gradient(90deg,#4a1f17,#7a2d22 60%,#5b241b);box-shadow:inset 0 0 0 2px rgba(0,0,0,.35);z-index:2}
.kg-arch .d::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 2px,transparent 2px 22px),repeating-linear-gradient(90deg,rgba(0,0,0,.12) 0 2px,transparent 2px 38px)}
.kg-arch .d.l{left:0;transform-origin:left center}
.kg-arch .d.r{right:0;transform-origin:right center}
.kg-motion .kg-arch .d{transition:transform 1.5s cubic-bezier(.65,.05,.2,1) var(--dl,0s)}
.kg-motion .kg-gate.open .kg-arch .d.l{transform:translateX(-102%)}
.kg-motion .kg-gate.open .kg-arch .d.r{transform:translateX(102%)}
.kg-motion .kg-arch-in img{transform:scale(1.18);transition:transform 2.4s cubic-bezier(.2,.7,.2,1) var(--dl,0s)}
.kg-motion .kg-gate.open .kg-arch-in img{transform:scale(1)}
.kg-still .kg-arch .d{display:none}
.kg-gate-t .yr{display:block;font:600 11px/1 Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);margin-bottom:8px}
.kg-gate-t h3{font-size:clamp(24px,2.3vw,32px);margin-bottom:.3em;color:#fff}
.kg-page .kg-gate-t p{font-size:14.8px;line-height:1.6;color:#cdd9e5;margin-bottom:.7em}
.kg-gate-t .ad{display:block;font-size:12.5px;color:#8fa6bb;margin-bottom:6px}
.kg-gate-t a{color:var(--amber);font-weight:600;font-size:13.5px;text-decoration:none;border-bottom:1px solid currentColor}
@media (max-width:1000px){
  .kg-gates-grid{grid-template-columns:1fr}
  .kg-gmap{position:static}
}
@media (max-width:560px){.kg-gate{grid-template-columns:1fr}.kg-arch{max-width:260px}}

/* Телефон и планшет: мини-карта «прилипает» к верху и показывает, у каких ворот читатель сейчас; створки открываются в карточках как раньше */
.kg-gmap-hud{display:none}
.kg-gmap-note-m{display:none}
@media (max-width:1000px){
  .kg-gmap{position:sticky;top:calc(var(--hdr) + 6px);z-index:8}
  .kg-gmap-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,52%);align-items:center;gap:6px 10px;padding:8px 12px 8px 14px;border-radius:16px;background:rgba(10,16,24,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 12px 30px rgba(0,0,0,.5)}
  .kg-gmap-hud{display:block}
  .kg-gmap-hud .k{display:block;font:600 10px/1 Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);margin-bottom:6px}
  .kg-gmap-hud b{display:block;font:600 clamp(18px,4.7vw,26px)/1.08 'Cormorant Garamond',Georgia,serif;color:#fff;overflow-wrap:anywhere;hyphens:auto}
  .kg-gmap-hud .y{display:block;margin-top:6px;font:600 12px/1.2 Inter,sans-serif;color:#cdd9e5}
  .kg-gmap svg{max-height:158px}
  .kg-gmap .mk text{display:none}
  .kg-gmap .mk .dot{transform:scale(1.5);transform-box:fill-box;transform-origin:center}
  .kg-gmap .mk.on .dot{transform:scale(2.3);fill:#fff;stroke:var(--amber);stroke-width:3}
  .kg-motion .kg-gmap .mk.on .halo{animation:kg-mkp 1.6s ease-out infinite}
  .kg-gmap-note{display:none}
  .kg-gmap-note-m{display:block;margin:18px 4px 0}
  .kg-gmap-note-m.kg-gmap-note{display:block}
}
@keyframes kg-mkp{0%{opacity:1;transform:scale(.8)}100%{opacity:0;transform:scale(1.9)}}
.kg-gmap .mk .halo{transform-box:fill-box;transform-origin:center}

/* ── Собор: проход по нефу (закреплённая сцена) ─────────── */
.kg-sobor{padding:0}
.kg-pin{position:relative;height:340vh}
.kg-pin-in{position:sticky;top:calc(var(--hdr) + var(--toc));height:calc(100svh - var(--hdr) - var(--toc));overflow:hidden;background:#07090d}
.kg-nave{position:absolute;inset:0;width:100%;height:100%;display:block}
.kg-nave .ar{fill:none;stroke:#e8b768;stroke-linecap:round;stroke-linejoin:round}
.kg-nave .ar2{fill:none;stroke:#b07a3a;stroke-linecap:round;stroke-linejoin:round}
.kg-nave .rib{fill:none;stroke:#6b4a28;stroke-linecap:round}
.kg-nave .fl{fill:none;stroke:#3a2a1a}
.kg-nave .glowc{fill:url(#kgnv)}
.kg-nave .pipe rect{fill:url(#kgpp);stroke:#7a5a2a;stroke-width:1}
.kg-nave .pipe .mo{fill:#1a1208}
.kg-nave .shaft{fill:url(#kgsh)}
.kg-sobor-ui{position:absolute;inset:0;z-index:3;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(18px,3vw,38px) clamp(18px,4vw,64px)}
.kg-sobor-top h2{font-size:clamp(30px,4vw,60px);color:#fff;max-width:14ch;text-shadow:0 2px 24px rgba(0,0,0,.7)}
.kg-capbox{position:relative;max-width:520px;min-height:190px}
.kg-cap{position:absolute;left:0;bottom:0;opacity:0;transform:translateY(14px);transition:opacity .55s,transform .55s;background:rgba(7,9,13,.72);backdrop-filter:blur(6px);border-left:3px solid var(--amber);padding:18px 22px;border-radius:0 12px 12px 0}
.kg-cap.on{opacity:1;transform:none}
.kg-cap .k{display:block;font:600 11px/1 Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);margin-bottom:8px}
.kg-cap h3{font-size:clamp(24px,2.6vw,34px);color:#fff;margin-bottom:.35em}
.kg-page .kg-cap p{font-size:15px;line-height:1.55;color:#d3e0ec;margin:0}
.kg-pc{position:absolute;right:clamp(18px,4vw,64px);bottom:clamp(18px,3vw,38px);text-align:right;opacity:0;transition:opacity .6s}
.kg-pc.on{opacity:1}
.kg-pc b{display:block;font:600 clamp(48px,7vw,104px)/1 'Cormorant Garamond',Georgia,serif;color:var(--amber);font-variant-numeric:lining-nums;text-shadow:0 0 40px rgba(224,162,60,.5)}
.kg-pc span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#cfdbe6}
.kg-sobor-cards{background:var(--night);padding-block:clamp(54px,7vw,96px)}
.kg-sobor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.kg-sc{padding:22px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04)}
.kg-sc h3{font-size:24px;color:var(--amber)}
.kg-page .kg-sc p{font-size:14.8px;color:#cdd9e5;line-height:1.6;margin:0}
.kg-sobor-fall{display:none}
html:not(.kg-js) .kg-pin,.kg-still .kg-pin{height:auto}
html:not(.kg-js) .kg-pin-in,.kg-still .kg-pin-in{position:relative;height:auto;overflow:visible;background:var(--night);top:0}
html:not(.kg-js) .kg-nave,.kg-still .kg-nave{display:none}
html:not(.kg-js) .kg-sobor-fall,.kg-still .kg-sobor-fall{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));padding:20px 0 0}
html:not(.kg-js) .kg-capbox,.kg-still .kg-capbox,html:not(.kg-js) .kg-pc,.kg-still .kg-pc{display:none}
html:not(.kg-js) .kg-sobor-ui,.kg-still .kg-sobor-ui{position:static;pointer-events:auto;padding:clamp(50px,6vw,90px) max(32px,calc(50% - 600px))}
@media (max-width:900px){.kg-pin{height:260vh}.kg-sobor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kg-capbox{max-width:none}}
@media (max-width:560px){.kg-sobor-grid{grid-template-columns:1fr}.kg-pc b{font-size:56px}.kg-sobor-fall{grid-template-columns:1fr!important}}

/* Постоянная карточка места на закреплённой сцене: что за место, адрес, ссылки — всё время на экране */
.kg-poi{position:absolute;z-index:5;left:clamp(18px,4vw,64px);top:clamp(150px,29vh,236px);width:min(330px,34vw);padding:16px 18px 16px;border-radius:16px;background:rgba(7,10,15,.82);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);box-shadow:0 14px 40px rgba(0,0,0,.45);color:#eef4fa}
.kg-poi-k{display:block;font:600 10.5px/1 Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);margin-bottom:8px}
.kg-poi h3{font-size:clamp(22px,2vw,28px);color:#fff;margin:0 0 .3em}
.kg-page .kg-poi p{font-size:13.6px;line-height:1.5;color:#d3e0ec;margin:0 0 8px}
.kg-poi address{font-style:normal;font:600 13px/1.4 Inter,sans-serif;color:#fff;margin-bottom:10px}
.kg-poi address::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--thread);margin-right:8px;vertical-align:0}
.kg-poi-l{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.kg-poi .kg-btn{padding:8px 14px;font-size:13px}
.kg-page a.kg-poi-x{font-size:13px;font-weight:600;color:var(--amber);text-decoration:none;border-bottom:1px solid currentColor}
html:not(.kg-js) .kg-poi,.kg-still .kg-poi{position:static;width:auto;max-width:560px;margin:0 max(32px,calc(50% - 600px)) 30px;background:rgba(255,255,255,.05)}
@media (max-width:900px){.kg-poi{width:min(420px,calc(100% - 36px));top:clamp(118px,19vh,160px)}}
@media (max-width:700px){.kg-poi{padding:10px 12px;top:clamp(112px,17vh,150px)}.kg-poi p,.kg-poi-k{display:none}.kg-poi h3{font-size:20px;margin:0 0 4px}.kg-poi address{margin-bottom:6px}.kg-poi .kg-btn{padding:6px 11px;font-size:12px}}

/* ── Орган собора: 29 труб, регистры, «Весь орган», вступление ─ */
.kg-organ{background:radial-gradient(120% 80% at 50% 0,#14202f 0,#0a0f17 55%,#06090f 100%)}
.kg-og{margin-top:26px}
.kg-og-stage{position:relative;aspect-ratio:1000/600;max-width:1120px;margin:0 auto;border-radius:22px;overflow:hidden;background:#05070b;border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 80px rgba(0,0,0,.6);--act:0;touch-action:none;-webkit-user-select:none;user-select:none}
.kg-og-svg{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.kg-og-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.kg-og-veil{position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 55% at 50% 38%,rgba(255,196,110,calc(var(--act)*.26)),transparent 72%);mix-blend-mode:screen}
.kg-og-svg .rose{opacity:calc(.3 + var(--act)*.7);filter:saturate(calc(.75 + var(--act)*.9)) brightness(calc(.8 + var(--act)*.6))}
.kg-og-svg .bm{fill:url(#kgbeam);opacity:calc(var(--act)*.95)}
.kg-og-svg .pp{cursor:pointer}
.kg-og-svg .pp .bd{fill:url(#kgpipe)}
.kg-og-svg .pp .gd{fill:url(#kggold);opacity:.92}
.kg-og-svg .pp .cp{fill:#cdd3db;stroke:#575d66;stroke-width:1}
.kg-og-svg .pp .mo{fill:#090c11;stroke:#3a3f47;stroke-width:1}
.kg-og-svg .pp .ft{fill:#8a919a}
.kg-og-svg .pp .gl{fill:url(#kgglow);opacity:0;transition:opacity 1s ease-out}
.kg-og-svg .pp.on .gl{opacity:1;transition:opacity .07s}
.kg-og-svg .pp.on .bd{filter:brightness(1.38) saturate(1.25)}
.kg-og-svg .pp.on .cp{fill:#fff0c8}
.kg-og-stage.shake{animation:kg-shk .55s ease-out}
@keyframes kg-shk{0%{transform:translate(0,0)}15%{transform:translate(-3px,2px)}35%{transform:translate(3px,-2px)}60%{transform:translate(-2px,1px)}100%{transform:none}}
.kg-og-ctl{max-width:1120px;margin:18px auto 0;display:flex;flex-wrap:wrap;gap:14px 22px;justify-content:space-between;align-items:center}
.kg-og-stops{display:flex;flex-wrap:wrap;gap:8px}
.kg-og-st{padding:9px 15px;border-radius:999px;border:2px solid #8a6a2b;background:linear-gradient(#1c140a,#120d06);color:#f1d281;font:600 13.5px/1 Inter,sans-serif;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.kg-og-st:hover{box-shadow:0 0 14px rgba(224,162,60,.4)}
.kg-og-st[aria-pressed=true]{background:linear-gradient(#e2b45a,#b8893a);color:#1a1206;border-color:#f1d281}
.kg-og-act{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.kg-og-act .kg-btn[aria-pressed=true]{background:#fff;color:#1a1206}
.kg-og-state{font-size:13px;color:#a9bccd;min-width:12ch}
@media (max-width:700px){.kg-og-stage{border-radius:14px}.kg-og-st{padding:8px 11px;font-size:12.5px}.kg-og-ctl{gap:10px}}
@media (prefers-reduced-motion:reduce){.kg-og-stage.shake{animation:none}}

/* ── Янтарь: от капли до камня ──────────────────────────── */
.kg-amber{padding:0;background:#120c06}
.kg-amber .kg-pin{height:300vh}
.kg-amber .kg-pin-in{background:radial-gradient(120% 90% at 50% 40%,#2a1a0b,#0d0804 70%)}
.kg-am{position:absolute;inset:0;width:100%;height:100%;display:block}
.kg-am .needle{stroke:#4a3a1c;stroke-width:3;stroke-linecap:round;fill:none}
.kg-am .branch{stroke:#5a432a;stroke-width:9;stroke-linecap:round;fill:none}
.kg-am .strata path{fill:#2a1d10}
.kg-am .strata path:nth-child(2){fill:#3a2814}
.kg-am .strata path:nth-child(3){fill:#4b331a}
.kg-am .drop,.kg-am .lump,.kg-am .gem{filter:drop-shadow(0 0 18px rgba(255,170,60,.55))}
.kg-am .inc{fill:none;stroke:#4a2a05;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.kg-am .lensring{fill:none;stroke:rgba(255,226,170,.7);stroke-width:2}
.kg-am .spark{fill:#fff;opacity:0}
.kg-motion .kg-am .spark.t{animation:kg-tw 1.8s ease-in-out infinite}
@keyframes kg-tw{0%,100%{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1)}}
.kg-amber .kg-sobor-top h2{max-width:16ch}
.kg-amber-note{background:#120c06;padding:34px 0 62px}
.kg-amber-note p{max-width:76ch;margin:0 auto;font-size:15px;color:#d8c7aa;text-align:center}
.kg-amber-note .kg-links{justify-content:center;margin-top:12px}
.kg-amber-note .kg-chip{background:rgba(224,162,60,.12);color:#f4d899;border-color:rgba(224,162,60,.4)}
html:not(.kg-js) .kg-am,.kg-still .kg-am{display:none}
html:not(.kg-js) .kg-amber .kg-pin,.kg-still .kg-amber .kg-pin{height:auto}

/* ── Море: корабль идёт к воде ──────────────────────────── */
.kg-sea{padding:0;background:#0b1a2b}
.kg-sea .kg-pin{height:300vh}
.kg-sea .kg-pin-in{background:linear-gradient(180deg,#0b1a2b,#0f2540)}
.kg-rtbox{position:absolute;left:0;right:0;top:19%;display:flex;justify-content:center;padding:0 clamp(12px,3vw,40px)}
.kg-rt{display:block;width:min(1100px,100%);height:auto;border-radius:20px;box-shadow:0 26px 60px rgba(0,0,0,.45)}
.kg-rt .rl{fill:#efe6c9;stroke:#5f97b8;stroke-width:2;stroke-linejoin:round}
.kg-rt .rt0{fill:none;stroke:#fff;stroke-opacity:.9;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
.kg-rt .rt1{fill:none;stroke:var(--thread);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.kg-rt .rs circle{fill:#fff;stroke:#0f2540;stroke-width:3.5}
.kg-rt .rs.big circle{fill:var(--amber)}
.kg-rt .rs text{font:600 17px/1 Inter,sans-serif;fill:#0f2540;paint-order:stroke;stroke:#efe6c9;stroke-width:5px;stroke-linejoin:round;opacity:0;transition:opacity .4s}
.kg-rt .rs.big text{font-size:20px;font-weight:700}
.kg-rt .rs.on text{opacity:1}
.kg-rt .rsea{font:italic 600 21px 'Cormorant Garamond',Georgia,serif;fill:#2f6a90;letter-spacing:.12em;opacity:.95;paint-order:stroke;stroke:#cfe6f2;stroke-width:4px}
.kg-rt .rtag{font:600 13px Inter,sans-serif;fill:#a8322a;letter-spacing:.06em;text-transform:uppercase;paint-order:stroke;stroke:#fff;stroke-width:4px}
.kg-rt .rscale path{stroke:#0f2540;stroke-width:2.5;fill:none}
.kg-rt .rscale text,.kg-rt .rnorth text{font:600 13px Inter,sans-serif;fill:#0f2540}
.kg-rt .rnorth path{fill:#0f2540}
.kg-rt .ship .hl{fill:#14304f;stroke:#fff;stroke-width:1.6;stroke-linejoin:round}
.kg-rt .ship .cb{fill:#fff;stroke:#14304f;stroke-width:1.4}
.kg-rt .ship .fn{fill:var(--thread);stroke:#14304f;stroke-width:1.2}
.kg-rt .ship .ms{fill:none;stroke:#14304f;stroke-width:1.6;stroke-linecap:round}
.kg-rt .ship .wk{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;opacity:.9}
.kg-rt .ship{filter:drop-shadow(0 3px 3px rgba(15,37,64,.35))}
.kg-rt .ship .pulse{fill:rgba(255,255,255,.28);stroke:none}
.kg-motion .kg-rt .ship .pulse{animation:kg-pls 2.2s ease-out infinite}
@keyframes kg-pls{0%{r:12;opacity:.7}100%{r:38;opacity:0}}
html:not(.kg-js) .kg-rtbox,.kg-still .kg-rtbox{position:static;padding:30px 0}
.kg-sea-cards{background:#0f2540;padding-block:clamp(54px,7vw,100px)}
.kg-sea-cards h2{color:#fff;max-width:22ch}
.kg-sea-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:30px}
.kg-sea-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.kg-sea-card figure{margin:0;aspect-ratio:4/3;overflow:hidden}
.kg-sea-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.kg-sea-card:hover img{transform:scale(1.06)}
.kg-sea-card .b{padding:18px 18px 14px;display:flex;flex-direction:column;flex:1}
.kg-sea-card .tm{font:600 11px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin-bottom:8px}
.kg-sea-card h3{font-size:26px;color:#fff}
.kg-page .kg-sea-card p{font-size:14.5px;color:#cdd9e5;line-height:1.55;flex:1}
.kg-sea-card a{color:var(--amber);font-weight:600;font-size:13.5px;text-decoration:none;border-bottom:1px solid currentColor;align-self:flex-start}
.kg-sea-note{margin-top:26px;padding:20px 24px;border-left:4px solid var(--amber);background:rgba(255,255,255,.05);border-radius:0 14px 14px 0;color:#d3e0ec;max-width:80ch}
@media (max-width:1000px){.kg-sea-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.kg-sea-grid{grid-template-columns:1fr}.kg-rtbox{top:20%}}
html:not(.kg-js) .kg-sea .kg-pin,.kg-still .kg-sea .kg-pin{height:auto}
.kg-sea .kg-lead{color:#d3e0ec}
.kg-sea .kg-sobor-top h2{max-width:none}
.kg-sea .kg-eyebrow{color:var(--amber)}
@media (max-width:700px){.kg-rt .rs text{font-size:38px;stroke-width:10px}.kg-rt .rs.big text{font-size:42px}.kg-rt .rs circle{transform:scale(2.2)}.kg-rt .rsea{font-size:36px}.kg-rt .rtag{display:none}.kg-rt .rscale text,.kg-rt .rnorth text{font-size:28px}.kg-rt .rscale path{stroke-width:5px}.kg-rt .rt0{stroke-width:16px}.kg-rt .rt1{stroke-width:9px}.kg-rt .ship .pulse{display:none}}
.kg-rt .rv{fill:none;stroke:#8cc3df;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.kg-rt .rland{font:600 13px Inter,sans-serif;fill:#7d6a3c;letter-spacing:.1em;text-transform:uppercase;paint-order:stroke;stroke:#efe6c9;stroke-width:3px}
@media (max-width:700px){.kg-rt .rland{display:none}.kg-rt .rv{stroke-width:11px}}

/* ── Океан: спуск с борта «Витязя» (закреплённая сцена) ──── */
.kg-ocean{padding:0;background:#02060c}
.kg-ocean .kg-pin{height:230vh}
.kg-ocean .kg-pin-in{background:#02060c}
.kg-oc{position:absolute;inset:0;width:100%;height:100%;display:block}
.kg-oc .cam{will-change:transform}
.kg-oc .wv{fill:none;stroke:rgba(200,235,255,var(--o));stroke-width:2.5}
.kg-motion .kg-oc .wv{animation:kg-wv 6s linear infinite}
@keyframes kg-wv{to{transform:translateX(-100px)}}
.kg-oc .shaft{fill:url(#kgoc-sh)}
.kg-motion .kg-oc .shaft{animation:kg-sh 7s ease-in-out infinite alternate}
@keyframes kg-sh{from{opacity:.5}to{opacity:1}}
.kg-oc .sh0{fill:#102338;stroke:#2f4f70;stroke-width:1.5}
.kg-oc .sh1{fill:#c9402c}.kg-oc .sh2{fill:#e9eef3}.kg-oc .sh4{fill:#d8dde2}.kg-oc .sh5{fill:#e0a23c}
.kg-oc .sh3{stroke:#31506f;stroke-width:3;fill:none}
.kg-oc .mt{stroke:#e9eef3;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.kg-oc .smk{fill:none;stroke:rgba(235,240,245,.5);stroke-width:5;stroke-linecap:round}
.kg-motion .kg-oc .smk{animation:kg-smk 4.4s ease-in-out infinite}
@keyframes kg-smk{0%,100%{opacity:.25;transform:translateX(0)}50%{opacity:.75;transform:translateX(7px)}}
.kg-motion .kg-oc .ship{animation:kg-bob 5.2s ease-in-out infinite alternate;transform-origin:520px 360px}
@keyframes kg-bob{from{transform:translateY(-2px) rotate(-.35deg)}to{transform:translateY(3px) rotate(.4deg)}}
.kg-oc .cab{stroke:var(--amber);stroke-width:2;fill:none;stroke-linecap:round}
.kg-oc .wt circle:first-child{fill:#2b3948;stroke:var(--amber);stroke-width:2.5}
.kg-oc .wl{fill:#ffe39a;filter:drop-shadow(0 0 7px #ffcf66)}
.kg-oc .tk{stroke:rgba(190,220,245,.55);stroke-width:2;fill:none}
.kg-oc .tk.s{stroke-width:1.5;opacity:.6}
.kg-oc text{fill:#9fc4e0;font:600 15px Inter,sans-serif;font-variant-numeric:lining-nums}
.kg-oc .tr{fill:#010409;opacity:.94}
.kg-oc .sea{fill:#0a0f14}
.kg-oc .sn{fill:rgba(210,235,255,.5)}
.kg-motion .kg-oc .sn{animation:kg-up 9s linear infinite}
@keyframes kg-up{0%{transform:translateY(0);opacity:0}15%{opacity:.8}85%{opacity:.8}100%{transform:translateY(-70px);opacity:0}}
.kg-oc .jb{fill:var(--c);opacity:.5;filter:drop-shadow(0 0 10px var(--c))}
.kg-oc .jt{fill:none;stroke:var(--c);stroke-width:2.5;stroke-linecap:round;opacity:.65}
.kg-motion .kg-oc .jf{animation:kg-jf 5.4s ease-in-out infinite alternate}
@keyframes kg-jf{from{transform:translateY(-14px)}to{transform:translateY(14px)}}
.kg-oc .fb{fill:#0d1b2a;stroke:#24435f;stroke-width:1.5}
.kg-oc .fa{stroke:#2f5472;stroke-width:2;fill:none}
.kg-oc .fl{fill:#aaf0ff;filter:drop-shadow(0 0 6px #7ee3ff)}
.kg-ocean .kg-sobor-top h2{max-width:14ch}
.kg-dp b{color:#9fe0ff;text-shadow:0 0 40px rgba(60,170,255,.55)}
.kg-ocean-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.kg-oc-links{margin-top:22px}
html:not(.kg-js) .kg-oc,.kg-still .kg-oc{display:none}
html:not(.kg-js) .kg-ocean .kg-pin,.kg-still .kg-ocean .kg-pin{height:auto}
@media (max-width:900px){.kg-ocean .kg-pin{height:200vh}.kg-ocean-grid{grid-template-columns:1fr}}
@media (max-width:700px){.kg-ocean .kg-dp{bottom:auto;top:46px;right:16px}.kg-ocean .kg-dp b{font-size:50px}.kg-ocean .kg-dp span{font-size:9.5px;display:block;max-width:15ch;margin-left:auto}}
.kg-ocean .kg-eyebrow{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.55)}
.kg-ocean .kg-dp{bottom:clamp(66px,9vh,96px)}
.kg-oc .rk{fill:#05090e;stroke:#142333;stroke-width:1.5}
.kg-oc .gw{fill:#7ef0d0;filter:drop-shadow(0 0 6px #7ef0d0)}
.kg-motion .kg-oc .gw{animation:kg-fl 3.4s ease-in-out infinite}

/* Иллюминатор: на дне открывается круглое окно с музейной набережной — ради чего спускались */
.kg-port{position:absolute;z-index:2;top:40%;right:clamp(28px,9vw,160px);width:min(40vh,380px);aspect-ratio:1;margin-top:calc(min(40vh,380px)/-2);opacity:0;transform:scale(calc(.55 + .45*var(--r,0)));pointer-events:none;--r:0}
.kg-port.open{opacity:1}
.kg-port a{position:absolute;inset:0;display:block;border-radius:50%;overflow:hidden;box-shadow:0 0 0 9px #b8893a,0 0 0 15px #3a2a0f,0 0 0 18px #d9b25a,0 0 0 24px rgba(10,16,24,.9),0 0 calc(30px + 90px*var(--r,0)) calc(var(--r,0)*14px) rgba(120,210,255,.45)}
.kg-port.open a{pointer-events:auto}
.kg-port img{width:100%;height:100%;object-fit:cover;clip-path:circle(calc(var(--r,0)*75%) at 50% 50%);filter:saturate(1.08)}
.kg-port::after{content:"";position:absolute;inset:-26px;border-radius:50%;pointer-events:none;background:repeating-conic-gradient(from 7deg,#e8c370 0 5deg,transparent 5deg 30deg);-webkit-mask:radial-gradient(circle,transparent 66%,#000 67%,#000 72%,transparent 73%);mask:radial-gradient(circle,transparent 66%,#000 67%,#000 72%,transparent 73%)}
.kg-port i{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(170,225,255,.7);opacity:0}
.kg-motion .kg-port.open i{animation:kg-pr 3s ease-out infinite}
.kg-motion .kg-port.open i:nth-child(2){animation-delay:1.5s}
@keyframes kg-pr{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.7);opacity:0}}
.kg-ocean .kg-cap .kg-btn{margin-top:12px;pointer-events:auto}
.kg-ocean .kg-cap:not(.on) .kg-btn{pointer-events:none}
html:not(.kg-js) .kg-port,.kg-still .kg-port{display:none}
@media (max-width:900px){.kg-port{right:50%;margin-right:calc(min(34vh,270px)/-2);top:34%;width:min(34vh,270px);margin-top:calc(min(34vh,270px)/-2)}}

/* ── Вечер: зажечь город ────────────────────────────────── */
.kg-ev-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);align-items:start;margin-top:8px}
.kg-ev-photo{position:relative;aspect-ratio:3/2;border-radius:20px;overflow:hidden;background:#06101e;box-shadow:0 26px 60px rgba(0,0,0,.45);--n:0;--l:0}
.kg-ev-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(calc(1 - .64*var(--n))) saturate(calc(1 - .38*var(--n))) contrast(calc(1 + .12*var(--n)))}
.kg-ev-sky{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(9,16,38,.96) 0%,rgba(14,28,64,.7) 38%,rgba(40,24,48,.0) 72%);opacity:var(--n);mix-blend-mode:multiply}
.kg-ev-sky2{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,160,90,.0) 30%,rgba(255,150,80,.55) 62%,rgba(255,110,70,.0) 80%);opacity:calc(var(--n)*(1 - var(--n))*3)}
.kg-ev-stars{position:absolute;inset:0 0 55% 0;pointer-events:none;opacity:var(--l)}
.kg-ev-stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;box-shadow:0 0 4px #fff}
.kg-motion .kg-ev-stars i{animation:kg-tw2 3.4s ease-in-out infinite}
@keyframes kg-tw2{0%,100%{opacity:.35}50%{opacity:1}}
.kg-ev-moon{position:absolute;right:9%;top:7%;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 36% 34%,#fffbe9,#e8dcb0 60%,#c9bb86);box-shadow:0 0 36px 8px rgba(255,244,200,.45);opacity:var(--l);pointer-events:none}
.kg-ev-lights{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;opacity:var(--l)}
.kg-ev-lights .lt{position:absolute;width:var(--s);height:var(--s);margin:calc(var(--s)/-2) 0 0 calc(var(--s)/-2);border-radius:50%;background:radial-gradient(circle,rgba(255,226,150,.9) 0,rgba(255,176,70,.45) 38%,rgba(255,150,40,0) 70%)}
.kg-ev-lights .lt.big{background:radial-gradient(circle,rgba(255,244,200,1) 0,rgba(255,200,90,.7) 30%,rgba(255,160,40,0) 72%)}
.kg-motion .kg-ev-lights .lt{animation:kg-fl 4.6s ease-in-out infinite;animation-delay:var(--d)}
@keyframes kg-fl{0%,100%{opacity:1}48%{opacity:.78}52%{opacity:.95}}
.kg-ev-lights .rf{position:absolute;width:var(--w);height:var(--hh);margin:0 0 0 calc(var(--w)/-2);border-radius:50%;background:radial-gradient(ellipse,rgba(255,200,110,.5),rgba(255,160,60,0) 70%);filter:blur(1.5px)}
.kg-motion .kg-ev-lights .rf{animation:kg-rp 3.2s ease-in-out infinite;animation-delay:var(--d)}
@keyframes kg-rp{0%,100%{transform:scaleX(1)}50%{transform:scaleX(1.5)}}
.kg-ev-beam{position:absolute;left:35.8%;top:30.4%;width:120%;height:4px;transform-origin:0 50%;background:linear-gradient(90deg,rgba(255,244,190,.95),rgba(255,230,160,0));filter:blur(3px);opacity:calc(var(--l)*.85);pointer-events:none;mix-blend-mode:screen}
.kg-motion .kg-ev-beam{animation:kg-spin 9s linear infinite}
@keyframes kg-spin{from{transform:rotate(-24deg)}50%{transform:rotate(24deg)}to{transform:rotate(-24deg)}}
.kg-ev-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:16px}
.kg-ev-ctl label{display:flex;align-items:center;gap:12px;font-size:13px;color:#b9cadb}
.kg-ev-ctl input[type=range]{width:min(260px,40vw);accent-color:var(--amber)}
.kg-ev-list{display:flex;flex-direction:column;gap:14px}
.kg-evi{padding:18px 20px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045)}
.kg-evi h3{font-size:24px;color:var(--amber);margin-bottom:.25em}
.kg-page .kg-evi p{font-size:14.8px;line-height:1.6;color:#cdd9e5;margin:0}
@media (max-width:1000px){.kg-ev-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.kg-ev-beam{animation:none}}

/* ── Спорт: стадион сверху, прожекторы, волна, удар ───────── */
.kg-sport{background:radial-gradient(120% 90% at 72% 0%,#122941 0,#0a1422 56%,#070d16 100%)}
.kg-sfacts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:26px 0 40px}
.kg-sf{padding:16px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.045)}
.kg-sf b{display:block;font:600 clamp(26px,3vw,40px)/1 'Cormorant Garamond',Georgia,serif;color:var(--amber);margin-bottom:6px;font-variant-numeric:lining-nums}
.kg-sf span{font-size:12.5px;line-height:1.35;color:#b9cadb;display:block}
.kg-sgrid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,4vw,56px);align-items:start}
.kg-sstage{position:sticky;top:calc(var(--hdr) + var(--toc) + 18px)}
.kg-sbox{position:relative;border-radius:22px;overflow:hidden;background:#07101c;box-shadow:0 26px 60px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.1)}
.kg-stad{display:block;width:100%;height:auto}
.kg-stad .bowl{fill:url(#kgbowl);stroke:#2a4766;stroke-width:2}
.kg-stad .rg{fill:none;stroke:#27425f;stroke-width:1.5}
.kg-stad .seg{fill:#22456b}
.kg-stad .seg:nth-child(3n){fill:#1d3d62}
.kg-stad .rim{fill:none;stroke:#3a5c83;stroke-width:2}
.kg-stad .g1{fill:#2f7d4d}.kg-stad .g2{fill:#276f42}
.kg-stad .pl{fill:none;stroke:rgba(255,255,255,.88);stroke-width:2}
.kg-stad .pl .sp{fill:#fff;stroke:none}
.kg-stad .gt{fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round}
.kg-stad .net path{stroke:rgba(255,255,255,.55);stroke-width:1;fill:none}
.kg-stad .net{transform-box:fill-box;transform-origin:0 50%}
.kg-stad .net.rip{animation:kg-net .9s ease-out}
@keyframes kg-net{0%{transform:scaleX(1)}25%{transform:scaleX(2.1) scaleY(1.12)}60%{transform:scaleX(.9)}100%{transform:scaleX(1)}}
.kg-stad .tw .cone{fill:url(#kgcone);filter:blur(7px);opacity:0;transition:opacity 1.4s;transition-delay:calc(var(--j)*.2s)}
.kg-stad .tw .lt{fill:#243a52;stroke:#4d6f94;stroke-width:1.5}
.kg-stad .tw .lb{fill:#fff7cf;opacity:.25;transition:opacity 1.2s;transition-delay:calc(var(--j)*.2s)}
.kg-sport.lit .kg-stad .tw .cone{opacity:1}
.kg-sport.lit .kg-stad .tw .lb{opacity:1;filter:drop-shadow(0 0 7px #fff7cf)}
.kg-still .kg-stad .tw .cone{opacity:1}.kg-still .kg-stad .tw .lb{opacity:1}
.kg-stad .ball{fill:#fff;stroke:#1a2a3a;stroke-width:1.5}
.kg-stad .bs{fill:rgba(0,0,0,.4)}
.kg-stad .kpb{fill:#3d8bd8;stroke:#fff;stroke-width:1.5}
.kg-stad.wave .seg{animation:kg-wave 1.8s ease-in-out 2 both;animation-delay:calc(var(--i)*55ms)}
@keyframes kg-wave{0%,100%{fill:#22456b}38%{fill:#ffe39a}}
.kg-goal{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%) scale(.6);opacity:0;pointer-events:none;text-align:center}
.kg-goal b{display:block;font:600 clamp(60px,11vw,128px)/1 'Cormorant Garamond',Georgia,serif;color:#fff;letter-spacing:.02em;text-shadow:0 0 44px rgba(255,200,80,.85)}
.kg-goal.on{animation:kg-gol 1.7s ease-out}
@keyframes kg-gol{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}70%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-52%) scale(1.06)}}
.kg-conf{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.kg-conf i{position:absolute;left:77%;top:50%;width:7px;height:12px;border-radius:2px;background:var(--c);opacity:0}
.kg-conf.on i{animation:kg-cf 1.5s cubic-bezier(.15,.7,.3,1) forwards;animation-delay:var(--d)}
@keyframes kg-cf{0%{opacity:1;transform:translate(0,0) rotate(0)}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--r))}}
.kg-sctl{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px}
.kg-score{font-size:14px;color:#cfdbe6;margin-left:auto}
.kg-score b{color:var(--amber);font-size:22px;font-family:'Cormorant Garamond',Georgia,serif}
.kg-slist{display:flex;flex-direction:column;gap:16px}
.kg-sphoto{margin:0;border-radius:18px;overflow:hidden;position:relative;box-shadow:0 18px 44px rgba(0,0,0,.4)}
.kg-sphoto img{width:100%;aspect-ratio:16/9;object-fit:cover}
.kg-sphoto figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 18px 12px;font-size:13px;color:#eaf2f9;background:linear-gradient(transparent,rgba(5,10,18,.85))}
.kg-sct{padding:18px 20px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045)}
.kg-sct h3{font-size:25px;color:var(--amber);margin-bottom:.25em}
.kg-page .kg-sct p{font-size:15px;line-height:1.6;color:#cdd9e5;margin:0}
@media (max-width:1000px){.kg-sgrid{grid-template-columns:1fr}.kg-sstage{position:static}.kg-sfacts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.kg-sfacts{grid-template-columns:repeat(2,minmax(0,1fr))}.kg-score{margin-left:0}}

/* ── Осень и зима: месяцы, фото, дождь/туман/снег на холсте, климатическая кривая ── */
.kg-mz{background:linear-gradient(180deg,#0c121a,#0e1b2b 58%,#0c121a)}
.kg-mz-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,4vw,56px);margin-top:30px;align-items:start}
.kg-mz-card{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/3.2;background:#06101e;box-shadow:0 26px 60px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.1);position:sticky;top:calc(var(--hdr) + var(--toc) + 18px)}
.kg-mz-photos figure{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.2s}
.kg-mz-photos figure.on{opacity:1}
.kg-mz-photos img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.kg-mz-card::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(6,12,22,.12) 30%,rgba(6,12,22,.86))}
.kg-mz-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.kg-mz-big{position:absolute;left:22px;bottom:16px;z-index:3;display:flex;align-items:baseline;gap:10px}
.kg-mz-big b{font:600 clamp(58px,7vw,104px)/1 'Cormorant Garamond',Georgia,serif;color:#fff;letter-spacing:-.03em;text-shadow:0 2px 30px rgba(0,0,0,.6);font-variant-numeric:lining-nums}
.kg-mz-big span,.kg-mz-mm span{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#d5e3ef}
.kg-mz-mm{position:absolute;right:22px;bottom:24px;z-index:3;text-align:right}
.kg-mz-mm b{display:block;font:600 clamp(32px,4vw,52px)/1 'Cormorant Garamond',Georgia,serif;color:var(--amber);font-variant-numeric:lining-nums}
.kg-mz-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.kg-mz-tab{padding:9px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.05);color:#e8f0f7;font:600 14px/1 Inter,sans-serif;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.kg-mz-tab:hover{background:rgba(255,255,255,.14)}
.kg-mz-tab.on{background:var(--amber);color:#1a1206;border-color:var(--amber)}
.kg-mz-panel{display:none}
.kg-mz-panel.on{display:block;animation:kg-mzin .55s cubic-bezier(.2,.7,.2,1)}
/* Все месяцы лежат в одной ячейке сетки: высота блока = самый высокий месяц, поэтому смена вкладки (в том числе автосмена) не сдвигает страницу ниже, пока читаешь соседние разделы */
.kg-js .kg-mz-panels{display:grid}
.kg-js .kg-mz-panel{display:block;grid-area:1/1;visibility:hidden;pointer-events:none}
.kg-js .kg-mz-panel.on{visibility:visible;pointer-events:auto}
@keyframes kg-mzin{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.kg-mz-panel h3{color:var(--amber);font-size:clamp(28px,3vw,40px)}
.kg-js .kg-mz-panel h3{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.kg-page .kg-mz-panel .mood{font-size:17px;line-height:1.55;color:#dbe7f2;margin:0 0 18px;max-width:52ch}
.kg-mz-panel .evs{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.kg-mz-panel .evs li{display:grid;grid-template-columns:150px 1fr;gap:6px 16px;padding:12px 16px;border-radius:12px;background:rgba(255,255,255,.05);border-left:3px solid var(--amber);font-size:14.8px;line-height:1.45;color:#dbe7f2}
.kg-mz-panel .evs time{font-weight:600;color:var(--amber);font-size:13.5px}
html:not(.kg-js) .kg-mz-panel{display:block;margin-bottom:26px}
html:not(.kg-js) .kg-mz-tabs{display:none}
.kg-mz-bottom{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);margin-top:clamp(34px,5vw,60px);align-items:start}
.kg-mz-bottom h3{font-size:clamp(24px,2.4vw,32px);color:#fff}
.kg-mz-curve{display:block;width:100%;height:auto;margin-bottom:6px}
.kg-mz-curve .zl{stroke:#6b829a;stroke-dasharray:4 5;fill:none}
.kg-mz-curve .pb{fill:rgba(88,150,210,.32);transition:fill .4s}
.kg-mz-curve .pb.on{fill:rgba(130,190,245,.8)}
.kg-mz-curve .tl{fill:none;stroke:var(--amber);stroke-width:3;stroke-linecap:round;stroke-dasharray:1000;stroke-dashoffset:0}
.kg-motion .kg-mz-curve .tl{stroke-dashoffset:1000;transition:stroke-dashoffset 2.4s cubic-bezier(.3,.6,.2,1)}
.kg-motion .kg-mz-cv.in .kg-mz-curve .tl{stroke-dashoffset:0}
.kg-mz-curve .td circle{fill:#0e1b2b;stroke:var(--amber);stroke-width:2.5;transition:r .3s}
.kg-mz-curve .td.on circle{fill:var(--amber);r:9}
.kg-mz-curve .td text{fill:#c6d6e4;font-size:15px;text-anchor:middle}
.kg-mz-curve .td.on text{fill:#fff;font-weight:600}
.kg-mz-curve .ml{fill:#9fb2c4;font-size:15px;text-anchor:middle}
.kg-mzo{padding:13px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);margin-bottom:10px}
.kg-mzo b{display:block;color:var(--amber);font-size:15px;margin-bottom:2px}
.kg-mzo span{font-size:14.2px;line-height:1.5;color:#cdd9e5}
.kg-page .kg-mz-tba{font-size:14px;color:#a9bccd;margin-top:14px;max-width:none;padding-left:14px;border-left:2px dashed rgba(255,255,255,.28)}
@media (max-width:1000px){.kg-mz-grid,.kg-mz-bottom{grid-template-columns:1fr}.kg-mz-card{position:relative;top:0}}
@media (max-width:560px){.kg-mz-panel .evs li{grid-template-columns:1fr}}
@media (max-width:700px){.kg-mz-big b{font-size:50px}.kg-mz-big span,.kg-mz-mm span{font-size:10px;letter-spacing:.1em}.kg-mz-mm b{font-size:30px}.kg-mz-big{left:14px}.kg-mz-mm{right:14px;bottom:20px}.kg-mz-curve .td text,.kg-mz-curve .ml{font-size:21px}}

/* ── Что нового: ось 2026–2027 и карточки со статусами ───── */
.kg-novoe{background:var(--parch)}
.kg-ax{position:relative;margin:30px 0 26px;padding:62px 0 74px}
.kg-ax-line{position:relative;height:4px;border-radius:2px;background:rgba(19,36,54,.16)}
.kg-ax-line .fill{position:absolute;left:0;top:0;bottom:0;width:100%;border-radius:2px;background:linear-gradient(90deg,var(--thread),var(--amber))}
.kg-motion .kg-ax-line .fill{width:0;transition:width 2.4s cubic-bezier(.2,.7,.2,1)}
.kg-motion .kg-ax.in .fill{width:100%}
.kg-ax .mk{position:absolute;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:var(--paper);border:3px solid var(--prus)}
.kg-motion .kg-ax .mk{transform:scale(0);transition:transform .5s cubic-bezier(.3,1.6,.5,1);transition-delay:calc(.5s + var(--k)*.28s)}
.kg-motion .kg-ax.in .mk{transform:none}
.kg-ax .mk.now{background:var(--thread);border-color:var(--thread);box-shadow:0 0 0 6px rgba(224,69,47,.2)}
.kg-ax .mk.build{border-color:var(--amber)}
.kg-ax .mk.plan{border-color:var(--cu)}
.kg-ax .mk.tba{border-color:#8a96a3;border-style:dashed}
.kg-ax .mk b{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;font:600 12.5px/1.25 Inter,sans-serif;color:var(--ink2)}
.kg-ax .mk.hi b{bottom:26px}.kg-ax .mk.lo b{top:40px}.kg-ax .mk.end b{left:auto;right:-8px;transform:none;text-align:right}
.kg-ax-ticks{position:absolute;left:0;right:0;top:calc(62px + 12px);height:18px}
.kg-ax-ticks span{position:absolute;transform:translateX(-50%);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#7f8d99}
.kg-nv-filter{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 22px}
.kg-nv-f{padding:9px 16px;border-radius:999px;border:1px solid rgba(23,62,99,.3);background:transparent;color:var(--prus);font:600 14px/1 Inter,sans-serif;cursor:pointer;transition:background .25s,color .25s}
.kg-nv-f i{font-style:normal;opacity:.65;margin-left:4px}
.kg-nv-f:hover{background:rgba(23,62,99,.09)}
.kg-nv-f.on{background:var(--prus);color:#fff;border-color:var(--prus)}
.kg-nv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.kg-nv{position:relative;padding:20px 22px 18px;border-radius:16px;background:rgba(255,252,243,.92);border:1px solid var(--line);border-top:4px solid var(--prus);box-shadow:0 10px 26px rgba(60,40,10,.07);transition:transform .3s,box-shadow .3s}
.kg-nv:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(60,40,10,.14)}
.kg-nv[data-st="open"]{border-top-color:var(--verd)}
.kg-nv[data-st="build"]{border-top-color:var(--amber)}
.kg-nv[data-st="plan"]{border-top-color:var(--prus2)}
.kg-nv[data-st="tba"]{border-top-color:#9aa6b2;border-top-style:dashed}
.kg-nv.out{display:none}
.kg-nv.pop{animation:kg-nvin .5s cubic-bezier(.2,.7,.2,1)}
@keyframes kg-nvin{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
.kg-nv .st{display:inline-block;font:600 11px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;padding:5px 9px;border-radius:999px;background:rgba(23,62,99,.1);color:var(--prus);margin-bottom:10px}
.kg-nv[data-st="open"] .st{background:rgba(77,138,122,.16);color:#2e6c5d}
.kg-nv[data-st="open"] .st::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#3aa387;margin-right:6px;vertical-align:1px}
.kg-motion .kg-nv[data-st="open"] .st::before{animation:kg-pulse 2s ease-in-out infinite}
@keyframes kg-pulse{0%,100%{box-shadow:0 0 0 0 rgba(58,163,135,.55)}60%{box-shadow:0 0 0 7px rgba(58,163,135,0)}}
.kg-nv[data-st="build"] .st{background:rgba(224,162,60,.2);color:#8a5c12}
.kg-nv[data-st="tba"] .st{background:rgba(120,134,148,.16);color:#586573}
.kg-nv time{display:block;font:600 13px/1.3 Inter,sans-serif;color:var(--brick);margin-bottom:6px}
.kg-nv h3{font-size:clamp(22px,2vw,27px);margin-bottom:.35em}
.kg-page .kg-nv p{font-size:14.6px;line-height:1.58;color:var(--ink2);margin:0 0 8px}
.kg-nv .more{font-size:13.5px;font-weight:600;color:var(--brick);text-decoration:none;border-bottom:1px solid currentColor}
@media (max-width:1000px){.kg-nv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.kg-ax{display:none}.kg-nv-grid{grid-template-columns:1fr}}

/* ── Маршруты, игра по городу, вопросы ───────────────────── */
.kg-pl-box{margin-top:26px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 36px rgba(60,40,10,.08);padding:clamp(18px,3vw,34px)}
.kg-pl-tabs{display:flex;gap:8px;margin-bottom:20px}
.kg-pl-tab{padding:10px 20px;border-radius:999px;border:1px solid rgba(23,62,99,.3);background:transparent;color:var(--prus);font:600 15px/1 Inter,sans-serif;cursor:pointer;transition:background .25s,color .25s}
.kg-pl-tab:hover{background:rgba(23,62,99,.09)}
.kg-pl-tab.on{background:var(--prus);color:#fff;border-color:var(--prus)}
.kg-pl-panel{display:none}
.kg-pl-panel.on{display:block;animation:kg-mzin .5s cubic-bezier(.2,.7,.2,1)}
html:not(.kg-js) .kg-pl-panel{display:block;margin-bottom:26px}
html:not(.kg-js) .kg-pl-tabs{display:none}
.kg-pl-steps{list-style:none;margin:0 0 18px;padding:0 0 0 30px;position:relative;display:grid;gap:14px}
.kg-pl-steps::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;border-left:2px dashed var(--thread);opacity:.55}
.kg-pl-steps li{position:relative;display:grid;grid-template-columns:96px 1fr;gap:6px 16px;font-size:16px;line-height:1.55}
.kg-pl-steps li::before{content:"";position:absolute;left:-29px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:3px solid var(--thread)}
.kg-pl-steps b{color:var(--brick);font:600 14px/1.6 Inter,sans-serif;letter-spacing:.03em}
.kg-page .kg-pl-cta{margin:26px 0 0}
.kg-pl-panel.on,html:not(.kg-js) .kg-pl-panel{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(18px,3vw,40px);align-items:center}
.kg-pl-fig{margin:0;border-radius:18px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 14px 34px rgba(60,40,10,.18)}
.kg-pl-fig img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.kg-pl-panel.on,html:not(.kg-js) .kg-pl-panel{grid-template-columns:1fr}}
.kg-quests{background:var(--deep)}
.kg-qgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}
.kg-qc{border-radius:18px;overflow:hidden;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;transition:transform .3s}
.kg-qc:hover{transform:translateY(-4px)}
.kg-qc figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:#0b1a2b}
.kg-qc img{width:100%;height:100%;object-fit:cover}
.kg-qc .b{padding:18px 20px 20px}
.kg-qc h3{font-size:26px;color:var(--amber)}
.kg-page .kg-qc p{font-size:15px;line-height:1.6;color:#cdd9e5;margin:0 0 10px}
.kg-qc a{font-size:14px;font-weight:600;color:var(--amber);text-decoration:none;border-bottom:1px solid currentColor}
.kg-faq-wrap{max-width:900px}
.kg-faq-list{margin-top:22px;display:grid;gap:10px}
.kg-q{border-radius:14px;background:#fff;border:1px solid var(--line);overflow:hidden}
.kg-q summary{cursor:pointer;list-style:none;padding:18px 54px 18px 22px;font:600 clamp(19px,1.8vw,23px)/1.25 'Cormorant Garamond',Georgia,serif;position:relative;color:var(--ink)}
.kg-q summary::-webkit-details-marker{display:none}
.kg-q summary::after{content:"";position:absolute;right:22px;top:50%;width:11px;height:11px;border-right:2px solid var(--brick);border-bottom:2px solid var(--brick);transform:translateY(-70%) rotate(45deg);transition:transform .3s}
.kg-q[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.kg-q[open] summary{color:var(--brick)}
.kg-q>div{padding:0 22px 18px;animation:kg-mzin .4s ease}
.kg-page .kg-q p{font-size:16px;line-height:1.65;color:var(--ink2);margin:0}
@media (max-width:900px){.kg-qgrid{grid-template-columns:1fr}.kg-pl-steps li{grid-template-columns:1fr}}


/* Оболочка GeneratePress: полное освобождение контейнеров (effects-catalog §4, T-2/T-3). Класс body.kaliningrad-vip вешает inc/kaliningrad-vip.php при kedo_vip_layout = kaliningrad. */
body.kaliningrad-vip #content, body.kaliningrad-vip .site-content, body.kaliningrad-vip .content-area,
body.kaliningrad-vip #primary, body.kaliningrad-vip .site-main { max-width: 100%; width: 100%; padding: 0; margin: 0; float: none; display: block; }
body.kaliningrad-vip #page.site, body.kaliningrad-vip .site.grid-container, body.kaliningrad-vip .grid-container.container { max-width: 100%; width: 100%; margin: 0; padding: 0; }
body.kaliningrad-vip .site-main > * { margin-bottom: 0; }
/* Корень .kg-page без класса city-content: шаблон не выводит the_content(); засечные H1–H3 и ширину даёт сам.
   Цвета H1–H3 секций не переопределяем (уроки Межсезонья и Зеленоградска 30.09.2026). */
