:root {
    --red: #E31E24;
    --red-hover: #F5474C;
    --ink: #141414;
    --text: #222222;
    --muted: #6b6b6b;
    --line: #e4e0d8;
    --bg: #f6f4f0;
    --bg-soft: #efece6;
    --paper: #fbfaf7;
    --yellow: #FECC00;
    --gold: #C9A227;
    --brown: #7A4A2A;
    --blue: #1963AC;
    --orange: #EF7F1A;
    --green: #6CCF6C;
    --sky: #66BAF2;
    --violet: #C768BD;
    --honeysuckle: #3A4F9C;
    --radius: 2px;
    --max: 1240px;
    --header-h: 72px;
    --scene-w: 2172px;
    --scene-h: 724px;
    --space-1: 8px;
    --space-2: 16px;
    --space-3: 24px;
    --space-4: 40px;
    --space-5: 64px;
    --space-6: 96px;
    --fs-display: clamp(3.2rem, 9vw, 7.25rem);
    --fs-h1: clamp(2.1rem, 5vw, 4rem);
    --fs-h2: clamp(1.35rem, 2.2vw, 1.75rem);
    --fs-body: 1.05rem;
    --fs-lead: 1.2rem;
    --fs-meta: 0.8125rem;
    --duration-hover: 150ms;
    --duration-state: 240ms;
    --duration-enter: 520ms;
    --duration-card-spin: 720ms;
    --duration-loader: 800ms;
    --ease-spin: cubic-bezier(0.45, 0, 0.55, 1);
    --duration-marquee: 42s;
    --duration-film: 48s;
    --duration-ray: 2.8s;
    --duration-sun: 4.8s;
    --duration-banner-hold: 6s;
    --duration-kuper-drive: 11s;
    --duration-kuper-wheel: 0.42s;
    --duration-kuper-cheer: 0.7s;
    --ease-standard: cubic-bezier(0.22, 1, 0.36, 1);
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --motion-shift: 12px;
    --glass-blur: 28px;
    --glass-saturate: 1.7;
    --glass-tint: rgba(255, 255, 255, 0.08);
    --glass-tint-strong: rgba(18, 18, 18, 0.42);
    --glass-edge: rgba(255, 255, 255, 0.2);
    --glass-highlight: rgba(255, 255, 255, 0.38);
    --glass-spot: rgba(255, 255, 255, 0.22);
    --radius-glass: 22px;
    --hall-screen-bend: 44px;
    --glass-x: 50%;
    --glass-y: 20%;
}

* { box-sizing: border-box; }

html {
    font-size: 16px;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--text);
    font-family: "SF Pro Display", "Segoe UI", Arial, sans-serif;
    background: var(--bg);
    line-height: 1.55;
}

a {
    color: inherit;
    text-decoration: none;
}

a:hover { color: var(--red); }

img { max-width: 100%; height: auto; }

:focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 3px;
}

.visually-hidden,
.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.container {
    width: min(var(--max), calc(100% - 32px));
    margin: 0 auto;
}

.glass {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--glass-tint-strong);
    backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-glass);
    box-shadow:
        inset 0 1px 0 var(--glass-highlight),
        inset 0 -20px 40px rgba(255, 255, 255, 0.03);
}

.glass::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background:
        radial-gradient(
            220px 160px at var(--glass-x) var(--glass-y),
            var(--glass-spot),
            transparent 70%
        ),
        linear-gradient(
            125deg,
            rgba(255, 255, 255, 0.16) 0%,
            transparent 38%,
            transparent 62%,
            rgba(255, 255, 255, 0.06) 100%
        );
    mix-blend-mode: soft-light;
}

.glass--stat {
    padding: var(--space-3);
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 42;
    min-height: var(--header-h);
    color: var(--ink);
    background: transparent;
}

.site-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgb(255 255 255 / 0.78);
    backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
    border-bottom: 1px solid rgb(20 20 20 / 0.08);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.92);
}

.site-header::after {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    left: var(--glass-x);
    top: var(--glass-y);
    translate: -50% -50%;
    background: radial-gradient(circle, rgb(255 255 255 / 0.85), transparent 68%);
    pointer-events: none;
    opacity: 0.55;
}

.site-header__bar {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    min-height: var(--header-h);
    position: relative;
    z-index: 42;
}

.site-logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: inherit;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.site-logo--footer {
    margin: 0 0 12px;
    color: #fff;
}

.site-logo__mark { color: var(--red); flex-shrink: 0; }

.site-logo__image {
    display: block;
    height: 48px;
    width: auto;
    max-width: min(220px, 52vw);
    object-fit: contain;
    object-position: left center;
}

.site-logo--footer .site-logo__image {
    height: 56px;
    max-width: 240px;
}

.site-logo,
.site-hotline,
.nav-toggle {
    flex-shrink: 0;
}

.site-hotline {
    margin-left: auto;
    color: inherit;
    text-align: right;
    font-size: var(--fs-meta);
}

.site-hotline span { display: block; color: var(--muted); }

.site-hotline strong {
    display: block;
    font-size: 1rem;
    letter-spacing: 0.02em;
}

.nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding: 0 18px;
    border: 1px solid rgb(20 20 20 / 0.12);
    background: rgb(255 255 255 / 0.55);
    backdrop-filter: blur(16px) saturate(var(--glass-saturate));
    -webkit-backdrop-filter: blur(16px) saturate(var(--glass-saturate));
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.9);
    color: var(--ink);
    font: inherit;
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    border-radius: 999px;
    transition: border-color var(--duration-hover) var(--ease-standard), color var(--duration-hover) var(--ease-standard), transform var(--duration-hover) var(--ease-standard);
}

.nav-toggle:hover {
    border-color: var(--ink);
    color: var(--red);
}

.site-header__bar .nav-toggle { margin-left: var(--space-2); }

.site-nav {
    position: fixed;
    top: var(--header-h);
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 41;
    display: flex;
    align-items: stretch;
    overflow: auto;
    color: var(--ink);
    background:
        linear-gradient(165deg, rgb(216 211 201 / 0.88), rgb(158 152 141 / 0.78)),
        #bdb8ae;
    backdrop-filter: blur(40px) saturate(1.7);
    -webkit-backdrop-filter: blur(40px) saturate(1.7);
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity var(--duration-state) var(--ease-out), transform var(--duration-state) var(--ease-out), visibility var(--duration-state);
}

.site-nav::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 52% 46% at 6% 18%, rgb(255 255 255 / 0.72) 0%, transparent 56%),
        radial-gradient(ellipse 38% 34% at 94% 10%, rgb(255 255 255 / 0.32) 0%, transparent 50%),
        radial-gradient(ellipse 40% 44% at 82% 82%, rgb(20 20 20 / 0.16) 0%, transparent 58%),
        radial-gradient(ellipse 46% 40% at 16% 90%, rgb(255 255 255 / 0.4) 0%, transparent 52%),
        linear-gradient(165deg, rgb(216 211 201 / 0.35) 0%, rgb(183 177 166 / 0.22) 46%, rgb(158 152 141 / 0.28) 100%);
}

.site-nav.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: none;
}

.site-nav__inner {
    position: relative;
    z-index: 1;
    width: min(var(--max), calc(100% - 32px));
    margin: 0 auto;
    padding: var(--space-4) 0 var(--space-5);
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(220px, 0.7fr);
    gap: var(--space-4);
    align-content: start;
}

.site-nav__directions { min-width: 0; }

.site-nav h2 {
    margin: 0 0 var(--space-3);
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--muted);
}

.site-nav h2::before { content: none; }

.site-nav__company.glass {
    align-self: start;
    padding: var(--space-3);
    border-radius: 0;
    color: var(--ink);
    --glass-blur: 16px;
    --glass-saturate: 1.45;
    --glass-spot: rgb(255 255 255 / 0.55);
    --glass-highlight: rgb(255 255 255 / 0.9);
    background: rgb(255 255 255 / 0.1);
    border-color: rgb(255 255 255 / 0.7);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.88),
        inset 0 -1px 0 rgb(255 255 255 / 0.16);
}

.overlay-links,
.site-nav__list,
.footer-links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.overlay-links a {
    display: block;
    padding: 12px 0;
    border-bottom: 1px solid rgb(20 20 20 / 0.08);
    color: var(--ink);
    font-size: 1.05rem;
    font-weight: 500;
    line-height: 1.25;
    transition: color var(--duration-hover) var(--ease-standard);
}

.overlay-links a:hover,
.overlay-links a[aria-current="page"] {
    color: var(--red);
}

.overlay-links__label,
.overlay-links__group > a {
    display: block;
    padding: 12px 0;
    border-bottom: 1px solid rgb(20 20 20 / 0.08);
    color: var(--ink);
    font-size: 1.05rem;
    font-weight: 650;
    line-height: 1.25;
}

.overlay-links__sub {
    list-style: none;
    margin: 0 0 8px;
    padding: 0 0 4px 14px;
    border-left: 1px solid rgb(20 20 20 / 0.1);
}

.overlay-links__sub a {
    padding: 8px 0;
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--muted);
}

.overlay-links__sub a:hover,
.overlay-links__sub a[aria-current="page"] {
    color: var(--red);
}

.site-nav__hotline {
    margin: 0 0 var(--space-2);
    display: none;
    color: var(--muted);
    font-size: var(--fs-meta);
}

.site-nav__hotline a {
    color: var(--ink);
    font-size: 1.2rem;
    font-weight: 700;
}

.site-nav__hotline a:hover { color: var(--red); }

.stage {
    min-height: calc(100vh - var(--header-h));
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: #f6f6f6;
    padding: var(--space-6) 0 var(--space-4);
    background:
        radial-gradient(ellipse 70% 55% at 12% 78%, rgba(227, 30, 36, 0.28), transparent 58%),
        radial-gradient(ellipse 45% 40% at 88% 12%, rgba(255, 255, 255, 0.1), transparent 52%),
        var(--ink);
}

.stage__kicker {
    margin: 0 0 var(--space-2);
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #9a9a9a;
}

.stage h1 {
    margin: 0;
    font-size: var(--fs-display);
    font-weight: 700;
    line-height: 0.92;
    letter-spacing: -0.03em;
}

.stage h1 span { display: block; }

.stage__brand { color: #fff; }

.stage__lead {
    max-width: 36rem;
    margin: var(--space-3) 0 0;
    font-size: var(--fs-lead);
    color: #c8c8c8;
}

.stage__scroll {
    margin-top: var(--space-5);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.stage__scroll::before {
    content: "";
    width: 1px;
    height: 42px;
    background: var(--red);
}

.stage.stage--scene,
.hero.hero--scene {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 0;
    color: var(--ink);
    background: var(--bg-soft);
}

.scene-media {
    position: relative;
    grid-area: 1 / 1;
    z-index: 0;
    width: min(100%, var(--scene-w));
    margin-inline: auto;
    aspect-ratio: 2172 / 724;
    align-self: start;
    justify-self: center;
}

.scene-media img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
    object-position: center;
}

.scene-media::after {
    display: none;
}

.hero__copy,
.stage__copy {
    width: min(38rem, 100%);
    padding: 18px 20px 20px;
    border-radius: 0;
    color: inherit;
    --glass-blur: 28px;
    --glass-saturate: 1.9;
    --glass-spot: rgb(255 255 255 / 0.62);
    --glass-highlight: rgb(255 255 255 / 0.95);
    background: rgb(255 255 255 / 0.07);
    border-color: rgb(255 255 255 / 0.78);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.88),
        inset 0 -1px 0 rgb(255 255 255 / 0.16);
}

.stage__copy {
    width: min(38rem, 100%);
}

.stage--scene .stage__copy h1 {
    font-size: clamp(2.1rem, 4.2vw, 3.25rem);
    line-height: 1.05;
}

.stage--scene .stage__lead {
    margin-top: var(--space-2);
    font-size: 1.05rem;
}

.stage--scene .stage__scroll {
    margin-top: 0;
}

.hero__copy h1,
.hero__copy p,
.stage__copy h1,
.stage__copy .stage__lead {
    text-shadow: 0 1px 12px rgb(246 244 240 / 0.55);
}

.hero:not(.hero--scene) .hero__copy,
.stage:not(.stage--scene) .stage__copy {
    background: rgb(255 255 255 / 0.08);
    border-color: rgb(255 255 255 / 0.28);
    --glass-highlight: rgb(255 255 255 / 0.4);
    --glass-spot: rgb(255 255 255 / 0.28);
}

.hero:not(.hero--scene) .hero__copy h1,
.hero:not(.hero--scene) .hero__copy p,
.stage:not(.stage--scene) .stage__copy h1,
.stage:not(.stage--scene) .stage__copy .stage__lead {
    text-shadow: none;
}

.stage--scene .container,
.hero--scene .container {
    grid-area: 1 / 1;
    position: relative;
    z-index: 1;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: var(--space-3);
    padding-top: var(--space-3);
    padding-bottom: var(--space-4);
    box-sizing: border-box;
}

.stage--scene .stage__kicker {
    color: var(--muted);
}

.stage--scene .stage__brand {
    color: var(--red);
}

.stage--scene .stage__lead {
    color: var(--text);
}

.stage--scene .stage__scroll {
    color: var(--ink);
}

.hero--scene p {
    color: var(--text);
}

.hero {
    color: #f6f6f6;
    padding: var(--space-5) 0 var(--space-4);
    scroll-margin-top: var(--header-h);
    background:
        radial-gradient(ellipse 65% 50% at 8% 100%, rgba(227, 30, 36, 0.2), transparent 55%),
        radial-gradient(ellipse 40% 35% at 92% 0%, rgba(255, 255, 255, 0.08), transparent 50%),
        var(--ink);
}

.hero__index {
    display: block;
    margin-bottom: var(--space-2);
    color: var(--accent, var(--red));
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.hero__kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: var(--space-2);
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #9a9a9a;
}

.hero h1 {
    margin: 0 0 var(--space-2);
    font-size: var(--fs-h1);
    line-height: 1.05;
    letter-spacing: -0.03em;
}

.hero p {
    max-width: 40rem;
    margin: 0;
    font-size: var(--fs-lead);
    color: #c8c8c8;
}

.hero__copy .breadcrumbs {
    margin: 0 0 10px;
}

.hero__copy p {
    max-width: none;
}

.hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: var(--space-3);
}

.social-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: var(--space-3) 0 0;
    padding: 0;
    list-style: none;
}

.social-links a {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    color: inherit;
    border: 0;
    border-radius: 8px;
    opacity: 1;
    transition:
        transform var(--duration-hover) var(--ease-standard),
        opacity var(--duration-hover) var(--ease-standard);
}

.social-links a:hover,
.social-links a:focus-visible {
    opacity: 1;
    transform: scale(1.02);
}

.social-links a:active {
    transform: scale(0.98);
}

.social-links svg,
.social-links img {
    display: block;
    width: 28px;
    height: 28px;
}

.hero.hero--scene {
    color: var(--ink);
    background: var(--bg-soft);
}

.hero.hero--scene p {
    color: var(--text);
}

.hero.hero--scene .breadcrumbs,
.hero.hero--scene .breadcrumbs a {
    color: var(--muted);
}

.hero.hero--scene .breadcrumbs a:hover {
    color: var(--ink);
}

.section {
    padding: var(--space-5) 0;
    scroll-margin-top: calc(var(--header-h) + 12px);
}

.section--soft { background: var(--bg-soft); }
.section--ink {
    background: var(--ink);
    color: #f3f3f3;
}

.section h2 {
    margin: 0 0 var(--space-3);
    font-size: var(--fs-h2);
    letter-spacing: -0.02em;
}

.section--metro {
    position: relative;
    isolation: isolate;
    overflow: visible;
    color: var(--ink);
    background: #d8d3c8;
}

.section--metro::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 52% 46% at 6% 18%, rgba(255, 255, 255, 0.98) 0%, transparent 56%),
        radial-gradient(ellipse 38% 34% at 94% 10%, rgba(255, 255, 255, 0.55) 0%, transparent 50%),
        radial-gradient(ellipse 40% 44% at 82% 82%, rgba(20, 20, 20, 0.08) 0%, transparent 58%),
        radial-gradient(ellipse 46% 40% at 16% 90%, rgba(255, 255, 255, 0.62) 0%, transparent 52%),
        radial-gradient(ellipse 30% 26% at 50% 46%, rgba(255, 255, 255, 0.5) 0%, transparent 60%),
        linear-gradient(165deg, #f4f0e8 0%, #e4dfd6 46%, #d0cbc0 100%);
}

.section--metro .container {
    position: relative;
    z-index: 1;
}

.section--metro h2 {
    font-weight: 300;
    font-size: clamp(2rem, 4.5vw, 3.25rem);
    letter-spacing: -0.04em;
}

.metro-scene {
    position: relative;
    isolation: isolate;
}

.metro-scene:not(.is-live) .metro-sun,
.metro-scene:not(.is-live) .metro-beam {
    transition: none;
}

.metro-scene__light {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}

.metro-sun {
    position: absolute;
    left: 0;
    top: 0;
    width: 520px;
    height: 520px;
    margin: -260px 0 0 -260px;
    transform: translate3d(var(--ray-x, 28%), var(--ray-y, 38%), 0);
    transition: transform var(--duration-sun) var(--ease-out);
    will-change: transform;
}

.metro-sun__spokes {
    position: absolute;
    inset: 0;
    background: repeating-conic-gradient(
        from 0deg,
        transparent 0 9deg,
        rgb(255 236 170 / 0.08) 10deg,
        rgb(255 248 220 / 0.55) 11deg,
        rgb(255 220 120 / 0.22) 13deg,
        transparent 14deg 24deg
    );
    mask-image: radial-gradient(circle, #000 0%, transparent 72%);
    -webkit-mask-image: radial-gradient(circle, #000 0%, transparent 72%);
    animation: metro-sun-spin 56s linear infinite;
}

.metro-sun__core {
    position: absolute;
    inset: 28%;
    border-radius: 50%;
    background: radial-gradient(circle, #fff 0%, rgb(255 236 170 / 0.85) 28%, rgb(255 220 120 / 0.2) 58%, transparent 74%);
    filter: blur(6px);
}

.metro-beam {
    position: absolute;
    left: 0;
    top: 0;
    width: 1px;
    height: 3px;
    transform-origin: 0 50%;
    transform: translate3d(var(--beam-x, 0), var(--beam-y, 0), 0) rotate(var(--beam-angle, 0deg)) scaleX(var(--beam-len, 0));
    background: linear-gradient(90deg, transparent, rgb(255 248 220 / 0.85), rgb(255 220 120 / 0.35), transparent);
    filter: blur(1.5px);
    opacity: 0.8;
    transition:
        transform var(--duration-sun) var(--ease-out),
        opacity var(--duration-state) var(--ease-out);
    will-change: transform;
}

.metro-grid {
    position: relative;
    z-index: 1;
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: minmax(72px, 7.2vw);
    gap: 10px;
}

.metro-grid__item {
    min-width: 0;
    position: relative;
    animation: metro-tile-in var(--duration-enter) var(--ease-out);
    animation-delay: calc(var(--metro-i, 0) * 56ms);
}

.metro-grid__item:hover,
.metro-grid__item:focus-within {
    z-index: 2;
}

@keyframes metro-tile-in {
    from { transform: translateY(var(--motion-shift)); }
    to { transform: none; }
}

@keyframes metro-sun-spin {
    to { transform: rotate(1turn); }
}

.metro-grid__item--lg {
    grid-column: span 2;
    grid-row: span 2;
}

.metro-grid__item--wide {
    grid-column: span 2;
}

.metro-tile.glass {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
    min-height: 72px;
    padding: 12px 14px;
    z-index: 1;
    isolation: auto;
    border-radius: 0;
    color: var(--ink);
    text-decoration: none;
    --glass-blur: 16px;
    --glass-saturate: 1.45;
    --glass-spot: rgb(255 255 255 / 0.55);
    --glass-highlight: rgb(255 255 255 / 0.9);
    background: rgb(255 255 255 / 0.34);
    border-color: rgb(255 255 255 / 0.78);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.88),
        inset 0 -1px 0 rgb(255 255 255 / 0.16);
    backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
    transform-origin: center;
    transition:
        transform var(--duration-hover) var(--ease-standard),
        border-color var(--duration-hover) var(--ease-standard),
        background-color var(--duration-hover) var(--ease-standard),
        color var(--duration-hover) var(--ease-standard);
}

.metro-tile.glass::before {
    mix-blend-mode: screen;
    opacity: 0.7;
    background:
        radial-gradient(
            200px 140px at var(--glass-x) var(--glass-y),
            var(--glass-spot),
            transparent 70%
        );
}

.metro-tile.glass::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgb(255 255 255 / 0.08), transparent 40%);
}

.metro-tile.glass:hover,
.metro-tile.glass:focus-visible {
    color: var(--tile-ink, var(--ink));
    z-index: 2;
    transform: scale(1.02);
    --glass-spot: rgb(255 255 255 / 0.72);
    --glass-highlight: #fff;
    background: color-mix(in srgb, var(--tile-color) 78%, #fff);
    border-color: color-mix(in srgb, var(--tile-color) 48%, #fff);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.55),
        inset 0 -1px 0 rgb(255 255 255 / 0.18);
}

.metro-tile.glass:hover .metro-tile__title,
.metro-tile.glass:focus-visible .metro-tile__title {
    text-shadow: none;
}

.metro-tile.glass:hover .metro-tile__num,
.metro-tile.glass:hover .metro-tile__code,
.metro-tile.glass:focus-visible .metro-tile__num,
.metro-tile.glass:focus-visible .metro-tile__code {
    opacity: 0.92;
}

.metro-tile:focus-visible {
    outline: 3px solid var(--ink);
    outline-offset: -3px;
}

.metro-tile:active {
    transform: scale(0.985);
}

.metro-tile__num,
.metro-tile__code,
.metro-tile__title,
.metro-tile__note {
    position: relative;
    z-index: 1;
}

.metro-tile__num {
    position: absolute;
    top: 10px;
    left: 12px;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    font-variant-numeric: tabular-nums;
    opacity: 0.72;
}

.metro-tile__code {
    position: absolute;
    top: 10px;
    right: 12px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    opacity: 0.58;
}

.metro-tile__title {
    font-size: clamp(0.95rem, 1.25vw, 1.2rem);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -0.02em;
    text-shadow: 0 1px 10px rgb(246 244 240 / 0.85);
}

.metro-grid__item--lg .metro-tile__title {
    font-size: clamp(1.15rem, 1.8vw, 1.55rem);
}

.metro-grid--nav {
    grid-auto-rows: minmax(64px, 5.6vw);
    gap: 8px;
}

.metro-grid--nav .metro-grid__item {
    animation: none;
}

.metro-grid--nav .metro-tile.glass {
    min-height: 64px;
    padding: 10px 12px;
}

.metro-grid--nav .metro-tile__title {
    font-size: clamp(0.85rem, 1.1vw, 1.05rem);
}

.metro-grid--nav .metro-grid__item--lg .metro-tile__title {
    font-size: clamp(1rem, 1.5vw, 1.3rem);
}

.metro-tile[aria-current="page"] {
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.88),
        inset 0 -1px 0 rgb(255 255 255 / 0.16),
        inset 0 0 0 1.5px var(--ink);
}

.metro-tile[aria-current="page"] .metro-tile__num {
    color: var(--red);
    opacity: 1;
}

.metro-tile[aria-current="page"]:hover .metro-tile__num,
.metro-tile[aria-current="page"]:focus-visible .metro-tile__num {
    color: inherit;
}

.section-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin-bottom: var(--space-4);
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.section-nav a { color: #9a9a9a; }
.section-nav a:hover { color: var(--red); }

.about-panel {
    position: relative;
    overflow: hidden;
    padding: 22px 22px 24px;
    color: var(--ink);
    --glass-blur: 28px;
    --glass-saturate: 1.85;
    --glass-spot: rgb(255 255 255 / 0.62);
    --glass-highlight: rgb(255 255 255 / 0.95);
    background: rgb(255 255 255 / 0.22);
    border-color: rgb(255 255 255 / 0.72);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.88),
        inset 0 -1px 0 rgb(255 255 255 / 0.14);
}

.about-panel.glass::before {
    mix-blend-mode: screen;
    opacity: 0.82;
}

.section--holding {
    background:
        radial-gradient(90% 55% at 96% 0%, rgb(227 30 36 / 0.22), transparent 58%),
        radial-gradient(72% 50% at 2% 0%, rgb(254 204 0 / 0.32), transparent 52%),
        radial-gradient(52% 38% at 68% 10%, rgb(201 162 39 / 0.24), transparent 48%),
        var(--bg);
}

.about-panel--holding {
    --glass-blur: 42px;
    --glass-saturate: 2.2;
    --glass-spot: rgb(255 255 255 / 0.92);
    --glass-highlight: #fff;
    background:
        linear-gradient(
            160deg,
            rgb(255 255 255 / 0.28) 0%,
            rgb(255 255 255 / 0.1) 46%,
            rgb(255 255 255 / 0.04) 100%
        );
    border-color: rgb(255 255 255 / 0.92);
    box-shadow:
        inset 0 1px 0 #fff,
        inset 1px 0 0 rgb(255 230 160 / 0.38),
        inset -1px 0 0 rgb(255 180 180 / 0.24),
        inset 0 -1px 0 rgb(255 255 255 / 0.36),
        inset 0 0 0 1px rgb(255 255 255 / 0.5),
        0 1px 0 rgb(255 255 255 / 0.72);
}

.about-panel--holding.glass::before {
    opacity: 0.9;
    mix-blend-mode: screen;
    background:
        radial-gradient(
            320px 200px at var(--glass-x) var(--glass-y),
            rgb(255 255 255 / 0.88),
            transparent 70%
        ),
        linear-gradient(
            125deg,
            rgb(255 255 255 / 0.4) 0%,
            transparent 40%,
            transparent 58%,
            rgb(255 255 255 / 0.14) 100%
        );
}

.about-panel--holding.glass::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(180deg, rgb(255 255 255 / 0.3), transparent 38%);
}

.section--cinema {
    background:
        radial-gradient(90% 55% at 96% 0%, rgb(25 99 172 / 0.28), transparent 58%),
        radial-gradient(72% 50% at 2% 0%, rgb(227 30 36 / 0.22), transparent 52%),
        radial-gradient(52% 38% at 68% 10%, rgb(201 162 39 / 0.18), transparent 48%),
        var(--bg);
}

.section--retail {
    background:
        radial-gradient(90% 55% at 96% 0%, rgb(239 127 26 / 0.24), transparent 58%),
        radial-gradient(72% 50% at 2% 0%, rgb(227 30 36 / 0.16), transparent 52%),
        radial-gradient(52% 38% at 68% 10%, rgb(201 162 39 / 0.16), transparent 48%),
        var(--bg);
}

.section--advertisers {
    background:
        radial-gradient(90% 55% at 96% 0%, rgb(199 104 189 / 0.38), transparent 58%),
        radial-gradient(72% 50% at 2% 0%, rgb(227 30 36 / 0.2), transparent 52%),
        radial-gradient(52% 38% at 68% 10%, rgb(102 186 242 / 0.22), transparent 48%),
        var(--bg);
}

.section--kids-park {
    background:
        radial-gradient(90% 55% at 96% 0%, rgb(102 186 242 / 0.32), transparent 58%),
        radial-gradient(72% 50% at 2% 0%, rgb(227 30 36 / 0.14), transparent 52%),
        radial-gradient(52% 38% at 68% 10%, rgb(254 204 0 / 0.18), transparent 48%),
        var(--bg);
}

.about-panel--film {
    --glass-blur: 48px;
    --glass-saturate: 2.55;
    --glass-spot: rgb(255 255 255 / 0.98);
    --glass-highlight: #fff;
    background:
        linear-gradient(
            225deg,
            rgb(255 255 255 / 0.06) 0%,
            rgb(255 255 255 / 0.18) 36%,
            rgb(255 255 255 / 0.36) 78%
        );
    border-color: rgb(255 255 255 / 0.95);
    box-shadow:
        inset 0 1px 0 #fff,
        inset 1px 0 0 rgb(160 220 255 / 0.42),
        inset -1px 0 0 rgb(255 190 210 / 0.28),
        inset 0 -1px 0 rgb(180 210 240 / 0.4),
        inset 0 0 0 1px rgb(255 255 255 / 0.55),
        0 1px 0 rgb(255 255 255 / 0.78),
        0 28px 70px rgb(20 40 80 / 0.18);
}

.about-panel--film.glass::before {
    opacity: 0.72;
    mix-blend-mode: screen;
    background:
        radial-gradient(
            320px 200px at var(--glass-x) var(--glass-y),
            rgb(255 255 255 / 0.92),
            transparent 70%
        ),
        linear-gradient(
            225deg,
            transparent 0%,
            rgb(255 255 255 / 0.2) 38%,
            rgb(255 255 255 / 0.36) 100%
        );
}

.about-panel--film.glass::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(225deg, transparent 0 26%, rgb(255 255 255 / 0.22) 62%);
}

.cinema-film-stage,
.cinema-about {
    position: relative;
    overflow: hidden;
}

.cinema-film-stage > .about-panel,
.cinema-film-stage > .halls-block,
.cinema-film-stage > .cinema-facts,
.cinema-about .about-panel {
    position: relative;
    z-index: 1;
}

.about-panel__film {
    position: absolute;
    top: 12px;
    right: 8px;
    left: auto;
    width: 340px;
    height: 92px;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
    opacity: 0.92;
    transform: rotate(-38deg);
    transform-origin: 100% 0;
    -webkit-mask-image: linear-gradient(225deg, #000 0%, #000 58%, transparent 100%);
    mask-image: linear-gradient(225deg, #000 0%, #000 58%, transparent 100%);
}

.about-panel__film--run {
    inset: -6% -18%;
    top: -6%;
    right: -18%;
    left: -18%;
    width: auto;
    height: auto;
    opacity: 0.86;
    transform: rotate(-22deg);
    transform-origin: 50% 28%;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    gap: 52px;
    -webkit-mask-image: linear-gradient(180deg, transparent, #000 8%, #000 92%, transparent);
    mask-image: linear-gradient(180deg, transparent, #000 8%, #000 92%, transparent);
}

.about-panel__film--run .about-panel__reel {
    flex: none;
    height: 88px;
}

.about-panel__film--run .about-panel__reel:nth-child(2) {
    animation-delay: -16s;
}

.about-panel__film--run .about-panel__reel:nth-child(3) {
    animation-delay: -31s;
}

.about-panel__reel {
    display: flex;
    width: max-content;
    height: 100%;
}

.about-panel__strip {
    display: flex;
    align-items: stretch;
    gap: 6px;
    height: 100%;
    padding: 12px 5px;
    background:
        radial-gradient(circle, #fff 2.2px, transparent 2.5px) 10px 3px / 16px 8px repeat-x,
        radial-gradient(circle, #fff 2.2px, transparent 2.5px) 10px calc(100% - 3px) / 16px 8px repeat-x,
        rgb(32 32 32 / 0.72);
}

.about-panel__frame {
    flex: none;
    width: 54px;
    box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.28);
}

.about-panel__frame--red { background: color-mix(in srgb, var(--red) 92%, #fff); }
.about-panel__frame--gold { background: color-mix(in srgb, var(--gold) 90%, #fff); }
.about-panel__frame--blue { background: color-mix(in srgb, var(--blue) 90%, #fff); }
.about-panel__frame--green { background: color-mix(in srgb, var(--green) 88%, #fff); }
.about-panel__frame--violet { background: color-mix(in srgb, var(--violet) 90%, #fff); }
.about-panel__frame--orange { background: color-mix(in srgb, var(--orange) 90%, #fff); }
.about-panel__frame--yellow { background: var(--yellow); }
.about-panel__frame--sky { background: color-mix(in srgb, var(--sky) 88%, #fff); }

@media (prefers-reduced-motion: no-preference) {
    .about-panel__reel {
        animation: brand-marquee var(--duration-film) linear infinite;
    }
}

.about-panel .section-nav {
    position: relative;
    z-index: 2;
    margin-bottom: var(--space-3);
}

.about-panel .prose {
    position: relative;
    z-index: 2;
}

.about-panel .prose p:last-child {
    margin-bottom: 0;
}

.about-panel .distro-grid {
    position: relative;
    z-index: 1;
    margin-top: var(--space-3);
}

.about-docs {
    margin-top: var(--space-4);
}

.docs-block {
    margin-top: var(--space-4);
    padding: 22px 22px 24px;
    color: var(--ink);
    background: #d8d3c8;
    border-radius: var(--radius-glass);
    scroll-margin-top: calc(var(--header-h) + 12px);
}

.docs-block--register {
    padding: 0;
    color: var(--ink);
    background: transparent;
    border-radius: 0;
}

.docs-block--register > h2,
.docs-block--register > h3 {
    margin: 0 0 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--ink);
    color: var(--ink);
    font-size: var(--fs-h2);
    font-weight: 650;
    letter-spacing: -0.02em;
    text-transform: none;
}

.doc-register {
    list-style: none;
    margin: 0;
    padding: 0;
}

.doc-register > li + li {
    margin: 0;
}

.doc-register__row {
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr) auto;
    gap: 10px 18px;
    align-items: baseline;
    padding: 13px 4px;
    border-bottom: 1px solid var(--line);
    color: inherit;
    transition: background-color var(--duration-hover) var(--ease-standard);
}

.doc-register__row:hover,
.doc-register__row:focus-visible {
    color: var(--ink);
    background: var(--paper);
}

.doc-register__index {
    color: var(--muted);
    font-size: var(--fs-meta);
    font-variant-numeric: tabular-nums;
}

.doc-register__title {
    font-weight: 600;
    line-height: 1.35;
}

.doc-register__meta {
    color: var(--muted);
    font-size: var(--fs-meta);
    font-variant-numeric: tabular-nums;
}

.docs-block--register > p {
    margin: 12px 0 0;
    color: var(--muted);
}

.partners-edo {
    margin-top: var(--space-4);
    scroll-margin-top: calc(var(--header-h) + 12px);
}

.partner-chapter {
    margin-top: var(--space-5);
    scroll-margin-top: calc(var(--header-h) + 12px);
}

.partner-chapter:first-of-type {
    margin-top: var(--space-4);
}

.partner-chapter h2 {
    margin: 0 0 var(--space-2);
}

.partner-chapter .prose {
    margin-bottom: 0;
}

.partner-chapter .docs-block {
    margin-top: var(--space-3);
}

.partner-chapter__cta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 20px;
    margin-top: var(--space-3);
}

.partner-chapter .partners-edo {
    margin-top: var(--space-3);
}

.partner-chapter__more {
    font-weight: 650;
}

.partner-chapter__more:hover,
.partner-chapter__more:focus-visible {
    color: var(--red);
}

.partner-tracks {
    display: grid;
    gap: var(--space-4);
    margin-top: var(--space-4);
}

.partner-track-card,
.partner-steps,
.partner-doc-group,
.partner-note {
    scroll-margin-top: calc(var(--header-h) + 12px);
}

.partner-track-card h2,
.partner-steps h2,
.partner-note h2 {
    margin: 0 0 var(--space-2);
}

.partner-steps {
    margin-top: var(--space-5);
}

.partner-steps__more {
    margin-top: var(--space-3);
}

.footer-links__label {
    display: block;
    margin-bottom: 6px;
    font-weight: 650;
}

.partner-doc-group {
    margin-top: var(--space-5);
}

.partner-doc-group .prose {
    margin-bottom: 8px;
    color: var(--muted);
}

.partner-doc-group .docs-block {
    margin-top: 0;
}

.partner-doc-group .docs-block--register {
    margin-top: 0;
}

.index-list--steps a,
.index-list--steps .partner-steps__item {
    display: grid;
    grid-template-columns: 3rem 1fr auto;
    gap: 8px 16px;
    align-items: baseline;
    padding: 16px 0;
    border-top: 1px solid var(--line);
    color: inherit;
}

.index-list--steps li:last-child a,
.index-list--steps li:last-child .partner-steps__item {
    border-bottom: 1px solid var(--line);
}

.index-list--steps .index-list__title {
    font-size: var(--fs-h2);
}

.index-list--steps a:hover {
    color: inherit;
}

.index-list--steps a:hover .index-list__title,
.index-list--steps a:focus-visible .index-list__title {
    color: var(--red);
}

.partner-note {
    margin-top: var(--space-5);
    padding: 22px 22px 24px;
    background: #d8d3c8;
    border-radius: var(--radius-glass);
}

.partner-note ol {
    margin: 0;
    padding-left: 1.2em;
}

.partner-note li + li {
    margin-top: 10px;
}

.footer-links--sub {
    margin: 6px 0 12px;
    padding-left: 12px;
}

.footer-links--sub li {
    margin-bottom: 4px;
}

.brands-block {
    margin-top: var(--space-4);
    padding: 22px 22px 20px;
    color: var(--ink);
    --glass-blur: 28px;
    --glass-saturate: 1.85;
    --glass-spot: rgb(255 255 255 / 0.62);
    --glass-highlight: rgb(255 255 255 / 0.95);
    background: rgb(255 255 255 / 0.22);
    border-color: rgb(255 255 255 / 0.72);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.88),
        inset 0 -1px 0 rgb(255 255 255 / 0.14);
}

.brands-block.glass::before {
    mix-blend-mode: screen;
    opacity: 0.82;
}

.brands-block h2 {
    position: relative;
    z-index: 1;
    margin: 0 0 var(--space-3);
}

.brand-rail {
    position: relative;
    z-index: 1;
}

.brand-rail__heading {
    margin: var(--space-3) 0 var(--space-2);
    color: var(--muted);
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-align: left;
}

.distro-sheet .brand-rail__heading {
    text-align: center;
}

.brand-rail__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.brand-rail__viewport {
    display: none;
    overflow: hidden;
    margin-inline: -8px;
}

.brand-rail__track {
    display: flex;
    width: max-content;
}

.brand-rail__group {
    display: flex;
    gap: 12px;
    padding-inline: 6px;
}

.brand-rail__item {
    flex: 0 0 auto;
}

.brand-rail__slot {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 132px;
    height: 88px;
    padding: 10px 12px;
    background: rgb(255 255 255 / 0.72);
    border: 1px solid rgb(255 255 255 / 0.9);
    border-radius: 16px;
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.95);
}

.brand-rail__logo {
    width: 100%;
    height: 100%;
    max-height: 68px;
    object-fit: contain;
    object-position: center;
}

.brand-rail__fallback {
    display: -webkit-box;
    overflow: hidden;
    color: var(--ink);
    font-size: 0.78rem;
    font-weight: 650;
    letter-spacing: -0.02em;
    line-height: 1.25;
    text-align: center;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.brand-rail--sheet .brand-rail__slot {
    width: 112px;
    height: 76px;
    padding: 8px 10px;
    border-radius: 14px;
}

.brand-rail--ticker .brand-rail__list {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.brand-rail--ticker .brand-rail__viewport {
    display: block;
}

@media (prefers-reduced-motion: no-preference) {
    .brand-rail--ticker .brand-rail__track {
        animation: brand-marquee var(--duration-marquee) linear infinite;
    }

    .brand-rail--ticker:hover .brand-rail__track,
    .brand-rail--ticker:focus-within .brand-rail__track {
        animation-play-state: paused;
    }

    .distro-layer:not(.is-open):not(:target) .brand-rail--ticker .brand-rail__track {
        animation-play-state: paused;
    }
}

@keyframes brand-marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

.amenities-block,
:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter),
.cinema-facts,
.kuper-delivery {
    margin-top: var(--space-4);
    padding: 22px 22px 22px;
    color: var(--ink);
    --glass-blur: 28px;
    --glass-saturate: 1.85;
    --glass-spot: rgb(255 255 255 / 0.62);
    --glass-highlight: rgb(255 255 255 / 0.95);
    background: rgb(255 255 255 / 0.22);
    border-color: rgb(255 255 255 / 0.72);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.88),
        inset 0 -1px 0 rgb(255 255 255 / 0.14);
}

.amenities-block.glass::before,
:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter).glass::before,
.cinema-facts.glass::before,
.kuper-delivery.glass::before {
    mix-blend-mode: screen;
    opacity: 0.82;
}

.amenities-block h2,
.amenities-block .prose,
.amenities-block .amenity-grid,
:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) h2,
:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) h3,
:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-grid,
:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) p,
:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .kuper-note,
.cinema-facts .metro-grid,
.cinema-facts__action,
.kuper-delivery__copy,
.kuper-route {
    position: relative;
    z-index: 1;
}

.amenities-block h2,
:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) h2 {
    margin: 0 0 var(--space-3);
}

.halls-block > p,
.loyalty-block > p,
.stores-block > p {
    margin: calc(var(--space-3) * -1) 0 var(--space-3);
    max-width: 46rem;
    color: var(--muted);
}

.kuper-note--stores {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 20px;
    margin: 0 0 var(--space-3);
}

.kuper-note--stores p {
    margin: 0;
    max-width: 36rem;
    flex: 1 1 16rem;
    color: var(--muted);
}

.kuper-note--stores a:not(.btn) {
    color: var(--ink);
    font-weight: 650;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    transition: color var(--duration-hover) var(--ease-standard);
}

.kuper-note--stores a:not(.btn):hover,
.kuper-note--stores a:not(.btn):focus-visible {
    color: var(--red);
}

.kuper-note--stores .btn {
    flex: 0 0 auto;
    gap: 8px;
}

.kuper-note--stores .btn [aria-hidden] {
    transition: transform var(--duration-hover) var(--ease-standard);
}

.kuper-note--stores .btn:hover [aria-hidden],
.kuper-note--stores .btn:focus-visible [aria-hidden] {
    transform: translateX(4px);
}

.kuper-delivery {
    --kuper: #C8F24A;
    display: grid;
    grid-template-columns: minmax(220px, 0.42fr) minmax(0, 1fr);
    gap: var(--space-3);
    align-items: center;
    --glass-spot: color-mix(in srgb, var(--kuper) 55%, #fff);
    --glass-highlight: #fff;
    background: color-mix(in srgb, var(--kuper) 32%, rgb(255 255 255 / 0.4));
    border-color: color-mix(in srgb, var(--kuper) 58%, #fff);
}

.kuper-delivery__copy h2 {
    margin: 0 0 10px;
}

.kuper-delivery__copy p {
    margin: 0 0 var(--space-3);
    max-width: 34rem;
    color: var(--muted);
}

.kuper-delivery__copy a:not(.btn):not(.kuper-delivery__logo) {
    color: var(--ink);
    font-weight: 650;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    transition: color var(--duration-hover) var(--ease-standard);
}

.kuper-delivery__copy a:not(.btn):not(.kuper-delivery__logo):hover,
.kuper-delivery__copy a:not(.btn):not(.kuper-delivery__logo):focus-visible {
    color: var(--red);
}

.kuper-delivery__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
}

.kuper-delivery__logo {
    display: block;
    flex: 0 0 auto;
    width: 56px;
    height: 56px;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 0 0 1px rgb(20 20 20 / 0.1);
    transition: transform var(--duration-hover) var(--ease-standard);
}

.kuper-delivery__logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.kuper-delivery__logo:hover,
.kuper-delivery__logo:focus-visible {
    transform: scale(1.02);
}

.kuper-delivery__actions .btn {
    gap: 8px;
}

.kuper-delivery__actions .btn [aria-hidden] {
    transition: transform var(--duration-hover) var(--ease-standard);
}

.kuper-delivery__actions .btn:hover [aria-hidden],
.kuper-delivery__actions .btn:focus-visible [aria-hidden] {
    transform: translateX(4px);
}

.kuper-route {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) minmax(120px, 148px);
    gap: 8px;
    align-items: end;
    min-height: 118px;
}

.kuper-route__stop {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 650;
    letter-spacing: 0.02em;
    line-height: 1.2;
    text-align: center;
}

.kuper-route__stop span {
    max-width: 9.5rem;
}

.kuper-route__stop > svg,
.kuper-route__home > svg:not(.kuper-route__buyer) {
    display: block;
    width: 72px;
    height: 72px;
}

.kuper-route__home {
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.kuper-route__buyer {
    display: block;
    width: 36px;
    height: 52px;
    margin: 0 -8px 2px 0;
    transform-origin: 50% 100%;
    animation: kuper-cheer var(--duration-kuper-cheer) ease-in-out infinite;
}

.kuper-route__road {
    position: relative;
    height: 78px;
}

.kuper-route__lane {
    position: absolute;
    right: 0;
    bottom: 18px;
    left: 0;
    height: 12px;
    border-radius: 999px;
    background:
        repeating-linear-gradient(
            90deg,
            #141414 0 12px,
            transparent 12px 26px
        ),
        #d4cfc4;
    background-size: 26px 2px, 100% 100%;
    background-position: center, 0 0;
    background-repeat: repeat-x, no-repeat;
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.45);
}

.kuper-route__traveler {
    position: absolute;
    right: 0;
    bottom: 10px;
    left: 0;
    height: 44px;
    animation: kuper-drive var(--duration-kuper-drive) var(--ease-standard) infinite;
}

.kuper-route__car {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 88px;
    height: 44px;
    overflow: visible;
}

.kuper-route__wheel {
    transform-box: fill-box;
    transform-origin: center;
    animation: kuper-spin var(--duration-kuper-wheel) linear infinite;
}

.kuper-delivery.is-paused .kuper-route__traveler,
.kuper-delivery.is-paused .kuper-route__wheel,
.kuper-delivery.is-paused .kuper-route__buyer,
.kuper-delivery:hover .kuper-route__traveler,
.kuper-delivery:hover .kuper-route__wheel,
.kuper-delivery:hover .kuper-route__buyer {
    animation-play-state: paused;
}

@keyframes kuper-drive {
    0%,
    10% {
        transform: translateX(0);
        opacity: 1;
    }
    78%,
    86% {
        transform: translateX(calc(100% - 88px));
        opacity: 1;
    }
    92% {
        transform: translateX(calc(100% - 88px));
        opacity: 0;
    }
    93% {
        transform: translateX(0);
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes kuper-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes kuper-cheer {
    0%,
    100% {
        transform: translateY(0) rotate(-6deg);
    }
    50% {
        transform: translateY(-12px) rotate(6deg);
    }
}

.produce-wrap {
    position: relative;
    margin-top: var(--space-4);
    scroll-margin-top: calc(var(--header-h) + 12px);
}

.produce-stage {
    position: relative;
    isolation: isolate;
}

.produce-scene {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    border-radius: var(--radius-glass);
    pointer-events: none;
}

.produce-scene__shot {
    position: absolute;
    top: 0;
    height: 100%;
    width: 58%;
    object-fit: cover;
    filter: contrast(1.06) saturate(1.08);
}

.produce-scene__shot--bakery {
    left: 0;
    object-position: 38% 48%;
    -webkit-mask-image: linear-gradient(90deg, #000 0 62%, transparent);
    mask-image: linear-gradient(90deg, #000 0 62%, transparent);
}

.produce-scene__shot--pelmeni {
    right: 0;
    width: 62%;
    object-position: 62% 42%;
    -webkit-mask-image: linear-gradient(270deg, #000 0 58%, transparent);
    mask-image: linear-gradient(270deg, #000 0 58%, transparent);
}

.produce-block {
    position: relative;
    z-index: 1;
    margin-top: 0;
    padding: 22px 22px 22px;
    color: var(--ink);
    --glass-blur: 2px;
    --glass-saturate: 1.08;
    --glass-spot: transparent;
    --glass-highlight: rgb(255 255 255 / 0.35);
    background: rgb(255 255 255 / 0.02);
    border-color: rgb(255 255 255 / 0.42);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.42),
        inset 0 -1px 0 rgb(20 12 8 / 0.06);
}

.produce-block.glass::before {
    display: none;
}

.produce-intro,
.produce-grid {
    position: relative;
    z-index: 1;
}

.produce-intro {
    display: inline-block;
    margin: 0 0 var(--space-3);
    padding: 10px 16px;
    max-width: none;
    color: var(--ink);
    background: var(--paper);
    border: 1px solid rgb(255 255 255 / 0.92);
    border-radius: 16px;
    box-shadow: 0 10px 28px rgb(20 12 8 / 0.12);
}

.produce-intro h2 {
    margin: 0;
}

.produce-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.produce-card {
    position: relative;
    display: block;
    min-height: 168px;
    aspect-ratio: 16 / 7;
    overflow: hidden;
    border-radius: 20px;
    color: #fff;
    text-decoration: none;
    isolation: isolate;
    transition: transform var(--duration-hover) var(--ease-standard);
}

.produce-card:hover,
.produce-card:focus-visible {
    color: #fff;
    transform: scale(1.015);
}

.produce-card:active {
    transform: scale(0.99);
}

.produce-card--bakery {
    background: linear-gradient(105deg, #f3a36b 0%, #ef7f1a 58%, #e36a10 100%);
}

.produce-card--pelmeni {
    background: linear-gradient(105deg, #c4a06a 0%, #8a4f2a 56%, #7a4a2a 100%);
}

.produce-card--kitchen {
    background: linear-gradient(105deg, #e36a5a 0%, #c4282e 58%, #a81c22 100%);
}

.produce-card__copy {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 100%;
    padding: 18px 46% 16px 18px;
    box-sizing: border-box;
}

.produce-card__title {
    font-size: clamp(1.15rem, 1.6vw, 1.45rem);
    font-weight: 720;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

.produce-card__note {
    margin-top: 6px;
    font-size: 0.92rem;
    line-height: 1.3;
    font-weight: 500;
    color: rgb(255 255 255 / 0.92);
}

.produce-card__go {
    margin-top: auto;
    padding-top: 12px;
    font-size: 1.15rem;
    line-height: 1;
    transition: transform var(--duration-hover) var(--ease-standard);
}

.produce-card:hover .produce-card__go,
.produce-card:focus-visible .produce-card__go {
    transform: translateX(4px);
}

.produce-card__art {
    position: absolute;
    right: -4%;
    bottom: -8%;
    z-index: 1;
    width: 58%;
    height: 108%;
    pointer-events: none;
}

.produce-card__art img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: right bottom;
    filter: drop-shadow(0 10px 18px rgb(20 12 8 / 0.22));
}

@media (max-width: 960px) {
    .produce-grid {
        grid-template-columns: 1fr;
    }

    .produce-card {
        min-height: 156px;
        aspect-ratio: 2.4 / 1;
    }
}

.stores-block {
    --glass-blur: 36px;
    --glass-saturate: 2.05;
    --glass-spot: rgb(255 255 255 / 0.78);
    background: rgb(255 255 255 / 0.16);
    border-color: rgb(255 255 255 / 0.82);
}

.loyalty-block .distro-card--loyalty {
    min-height: 132px;
    color: var(--ink);
    --glass-blur: 28px;
    --glass-saturate: 1.95;
    --glass-spot: rgb(255 255 255 / 0.78);
    --glass-highlight: #fff;
    background:
        linear-gradient(
            160deg,
            rgb(255 255 255 / 0.34) 0%,
            rgb(255 255 255 / 0.08) 48%,
            rgb(20 20 20 / 0.04) 100%
        );
    border-color: rgb(255 255 255 / 0.92);
    transition:
        transform var(--duration-hover) var(--ease-standard),
        color var(--duration-hover) var(--ease-standard),
        background-color var(--duration-hover) var(--ease-standard),
        border-color var(--duration-hover) var(--ease-standard);
}

.loyalty-block .distro-card--loyalty .distro-card__note {
    color: var(--muted);
}

.loyalty-block .distro-card--loyalty:hover,
.loyalty-block .distro-card--loyalty:focus-visible {
    color: #fff;
    z-index: 2;
    transform: scale(1.01);
    --glass-blur: 32px;
    --glass-saturate: 2.1;
    --glass-spot: rgb(255 255 255 / 0.42);
    background:
        linear-gradient(
            160deg,
            color-mix(in srgb, var(--honeysuckle) 78%, #fff) 0%,
            color-mix(in srgb, var(--honeysuckle) 92%, #141414) 100%
        );
    border-color: color-mix(in srgb, var(--honeysuckle) 42%, #fff);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.38),
        0 10px 28px color-mix(in srgb, var(--honeysuckle) 22%, transparent);
}

.loyalty-block .distro-card--loyalty:hover .distro-card__title,
.loyalty-block .distro-card--loyalty:focus-visible .distro-card__title,
.loyalty-block .distro-card--loyalty:hover .distro-card__go,
.loyalty-block .distro-card--loyalty:focus-visible .distro-card__go {
    color: #fff;
}

.loyalty-block .distro-card--loyalty:hover .distro-card__note,
.loyalty-block .distro-card--loyalty:focus-visible .distro-card__note {
    color: rgb(255 255 255 / 0.82);
}

.stores-layout {
    display: grid;
    grid-template-columns: minmax(196px, 0.34fr) minmax(0, 1fr);
    gap: var(--space-3);
    align-items: start;
    position: relative;
    z-index: 1;
}

.stores-filters {
    display: grid;
    gap: var(--space-3);
    padding: 14px 14px 16px;
    --glass-blur: 26px;
    --glass-saturate: 2;
    --glass-spot: rgb(255 255 255 / 0.72);
    --glass-highlight: #fff;
    background: rgb(255 255 255 / 0.22);
    border-color: rgb(255 255 255 / 0.86);
}

.stores-filters > * {
    position: relative;
    z-index: 1;
}

.stores-filters__group {
    margin: 0;
    padding: 0;
    border: 0;
    min-width: 0;
}

.stores-filters__group legend {
    margin: 0 0 10px;
    color: var(--muted);
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.stores-filters__chips {
    display: grid;
    gap: 8px;
}

.store-chip {
    display: block;
    margin: 0;
    cursor: pointer;
}

.store-chip input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.store-chip span {
    display: block;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 11px 14px;
    color: var(--ink);
    background:
        linear-gradient(
            160deg,
            rgb(255 255 255 / 0.48) 0%,
            rgb(255 255 255 / 0.16) 52%,
            rgb(255 255 255 / 0.28) 100%
        );
    border: 1px solid rgb(255 255 255 / 0.86);
    border-radius: 16px;
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.94),
        inset 0 -10px 20px rgb(255 255 255 / 0.08);
    backdrop-filter: blur(22px) saturate(1.9);
    -webkit-backdrop-filter: blur(22px) saturate(1.9);
    transition:
        transform var(--duration-hover) var(--ease-standard),
        background-color var(--duration-hover) var(--ease-standard),
        border-color var(--duration-hover) var(--ease-standard),
        color var(--duration-hover) var(--ease-standard);
}

.store-chip span::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background:
        radial-gradient(
            140px 90px at var(--glass-x, 50%) var(--glass-y, 18%),
            rgb(255 255 255 / 0.7),
            transparent 68%
        );
    mix-blend-mode: screen;
    opacity: 0.8;
}

.store-chip:hover span,
.store-chip:focus-visible span,
.store-chip:has(input:focus-visible) span {
    transform: translateY(-2px);
    border-color: #fff;
    background:
        linear-gradient(
            160deg,
            rgb(255 255 255 / 0.68) 0%,
            rgb(255 255 255 / 0.22) 52%,
            rgb(255 255 255 / 0.36) 100%
        );
}

.store-chip--city:hover span,
.store-chip--city:focus-visible span,
.store-chip--city:has(input:focus-visible) span {
    --glass-blur: 28px;
    --glass-saturate: 2.15;
    --glass-spot: rgb(255 255 255 / 0.92);
    border-color: var(--red);
    background:
        linear-gradient(
            160deg,
            rgb(255 255 255 / 0.78) 0%,
            rgb(255 255 255 / 0.28) 46%,
            rgb(255 255 255 / 0.42) 100%
        );
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.96),
        inset 0 -12px 22px rgb(255 255 255 / 0.16);
    backdrop-filter: blur(28px) saturate(2.15);
    -webkit-backdrop-filter: blur(28px) saturate(2.15);
}

.store-chip--supermarket:hover span,
.store-chip--supermarket:has(input:focus-visible) span {
    background: color-mix(in srgb, var(--green) 28%, rgb(255 255 255 / 0.35));
    border-color: color-mix(in srgb, var(--green) 46%, #fff);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.7),
        0 0 0 1px color-mix(in srgb, var(--green) 22%, transparent);
}

.store-chip--probochka:hover span,
.store-chip--probochka:has(input:focus-visible) span {
    background: color-mix(in srgb, var(--red) 26%, rgb(255 255 255 / 0.35));
    border-color: color-mix(in srgb, var(--red) 42%, #fff);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.7),
        0 0 0 1px color-mix(in srgb, var(--red) 20%, transparent);
}

.store-chip:has(input:checked) span {
    background: rgb(255 255 255 / 0.72);
    border-color: #fff;
    box-shadow:
        inset 0 1px 0 #fff,
        inset 0 0 0 1.5px var(--ink);
}

.store-chip--supermarket:has(input:checked) span {
    background: color-mix(in srgb, var(--green) 34%, rgb(255 255 255 / 0.5));
    border-color: color-mix(in srgb, var(--green) 38%, #fff);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.82),
        inset 0 0 0 1.5px color-mix(in srgb, var(--green) 55%, var(--ink));
}

.store-chip--probochka:has(input:checked) span {
    background: color-mix(in srgb, var(--red) 30%, rgb(255 255 255 / 0.5));
    border-color: color-mix(in srgb, var(--red) 36%, #fff);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.82),
        inset 0 0 0 1.5px color-mix(in srgb, var(--red) 55%, var(--ink));
}

.store-chip--city:has(input:checked) span {
    border-color: var(--red);
    box-shadow:
        inset 0 1px 0 #fff,
        inset 0 0 0 1.5px var(--red);
}

.stores-grid__list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
    gap: 10px;
}

.store-card {
    display: flex;
    flex-direction: column;
    aspect-ratio: 1 / 1;
    min-width: 0;
    min-height: 0;
    padding: 12px 12px 10px;
    color: var(--ink);
    --glass-blur: 30px;
    --glass-saturate: 2.05;
    --glass-spot: rgb(255 255 255 / 0.78);
    background: rgb(255 255 255 / 0.26);
    border-color: rgb(255 255 255 / 0.9);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.92),
        inset 0 -16px 28px rgb(255 255 255 / 0.08);
    transition:
        transform var(--duration-hover) var(--ease-standard),
        background-color var(--duration-hover) var(--ease-standard),
        border-color var(--duration-hover) var(--ease-standard);
}

.store-card[hidden],
.store-card.is-folded {
    display: none;
}

.store-card__format {
    margin: 0 0 6px;
    color: var(--muted);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.store-card__title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    overflow: hidden;
    margin: 0;
    font-size: 0.86rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.store-card__foot {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 6px;
    margin-top: auto;
    min-height: 0;
}

.store-card__hours {
    display: grid;
    gap: 2px;
    margin: 0;
    min-width: 0;
}

.store-card__basket {
    flex: 0 0 56px;
    width: 56px;
    height: 45px;
    pointer-events: none;
}

.store-card__basket img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: right bottom;
}

.store-card__hours span {
    color: var(--muted);
    font-size: 0.62rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.store-card__hours strong {
    font-size: 0.82rem;
    letter-spacing: -0.02em;
}

.store-card--supermarket:hover,
.store-card--supermarket:focus-within {
    transform: translateY(-2px);
    background: color-mix(in srgb, var(--green) 22%, rgb(255 255 255 / 0.28));
    border-color: color-mix(in srgb, var(--green) 36%, #fff);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.86),
        0 10px 22px color-mix(in srgb, var(--green) 12%, transparent);
}

.store-card--probochka:hover,
.store-card--probochka:focus-within {
    transform: translateY(-2px);
    background: color-mix(in srgb, var(--red) 20%, rgb(255 255 255 / 0.28));
    border-color: color-mix(in srgb, var(--red) 34%, #fff);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.86),
        0 10px 22px color-mix(in srgb, var(--red) 10%, transparent);
}

.stores-grid__empty {
    margin: var(--space-2) 0 0;
    color: var(--muted);
}

.stores-grid.is-empty .stores-grid__list,
.stores-grid.is-empty .stores-grid__more {
    display: none;
}

.stores-grid__more {
    margin: var(--space-3) 0 0;
}

.stores-grid__more .btn {
    min-height: 44px;
}

.amenities-block .prose {
    margin-bottom: var(--space-3);
}

.amenities-block .prose p:last-child {
    margin-bottom: 0;
}

.cinema-facts {
    display: grid;
    gap: 16px;
}

.halls-block--film,
.cinema-facts--film {
    --glass-blur: 48px;
    --glass-saturate: 2.55;
    --glass-spot: rgb(255 255 255 / 0.98);
    --glass-highlight: #fff;
    background:
        linear-gradient(
            225deg,
            rgb(255 255 255 / 0.06) 0%,
            rgb(255 255 255 / 0.18) 36%,
            rgb(255 255 255 / 0.36) 78%
        );
    border-color: rgb(255 255 255 / 0.95);
    box-shadow:
        inset 0 1px 0 #fff,
        inset 1px 0 0 rgb(160 220 255 / 0.42),
        inset -1px 0 0 rgb(255 190 210 / 0.28),
        inset 0 -1px 0 rgb(180 210 240 / 0.4),
        inset 0 0 0 1px rgb(255 255 255 / 0.55),
        0 1px 0 rgb(255 255 255 / 0.78),
        0 28px 70px rgb(20 40 80 / 0.18);
}

.halls-block--film.glass::before,
.cinema-facts--film.glass::before {
    opacity: 0.72;
    mix-blend-mode: screen;
}

.metro-grid--facts {
    grid-auto-rows: minmax(92px, 8vw);
}

.metro-grid--facts .metro-tile {
    cursor: default;
}

.metro-grid--facts .metro-tile.glass:hover,
.metro-grid--facts .metro-tile.glass:focus-visible {
    color: var(--ink);
    transform: none;
    --glass-spot: rgb(255 255 255 / 0.55);
    background: rgb(255 255 255 / 0.34);
    border-color: rgb(255 255 255 / 0.78);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.88),
        inset 0 -1px 0 rgb(255 255 255 / 0.16);
}

.metro-grid--facts .metro-tile__title {
    font-size: clamp(1.15rem, 1.8vw, 1.7rem);
    font-weight: 700;
    letter-spacing: -0.03em;
}

.metro-grid--facts .metro-grid__item--lg .metro-tile__title {
    font-size: clamp(1.55rem, 3vw, 2.35rem);
}

.metro-grid--facts .metro-tile__note,
.metro-grid--contacts .metro-tile__note {
    margin-top: 6px;
    color: var(--muted);
    font-size: var(--fs-meta);
    font-weight: 650;
    letter-spacing: 0.04em;
    line-height: 1.3;
    text-transform: uppercase;
    text-shadow: none;
}

.metro-grid--contacts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: minmax(108px, auto);
}

.metro-grid--contacts .metro-grid__item--lg {
    grid-column: 1 / -1;
    grid-row: auto;
}

.metro-grid--contacts .metro-tile.glass {
    min-height: 108px;
    justify-content: flex-end;
}

.metro-grid--contacts .metro-tile__title {
    font-size: clamp(1.15rem, 2vw, 1.7rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    font-variant-numeric: tabular-nums;
}

.metro-grid--contacts .metro-grid__item--lg .metro-tile__title {
    font-size: clamp(1.45rem, 2.6vw, 2.1rem);
}

.metro-grid--contacts .metro-tile.glass:hover .metro-tile__note,
.metro-grid--contacts .metro-tile.glass:focus-visible .metro-tile__note {
    color: inherit;
    opacity: 0.86;
}

.metro-grid--boards {
    grid-template-columns: repeat(var(--boards-cols, 2), minmax(0, 1fr));
}

.metro-grid--reach {
    grid-template-columns: repeat(var(--reach-cols, 2), minmax(0, 1fr));
    margin-top: var(--space-3);
}

.metro-grid--reach .metro-tile__title {
    word-break: break-word;
}

.career-chapter {
    position: relative;
    z-index: 2;
    margin-top: var(--space-4);
    scroll-margin-top: calc(var(--header-h) + 16px);
}

.career-chapter h2 {
    margin: 0 0 var(--space-2);
}

.career-lead {
    margin: 0 0 var(--space-3);
    max-width: none;
    color: var(--muted);
}

.career-principles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-4) var(--space-3);
    margin: 0;
    padding: 0;
    list-style: none;
}

.career-principles__item {
    min-width: 0;
    padding-top: var(--space-2);
    border-top: 2px solid var(--red);
}

.career-principles__media {
    overflow: hidden;
    margin: 0 0 var(--space-2);
    aspect-ratio: 1 / 1;
    border-radius: 16px;
    background: var(--bg-soft);
}

.career-principles__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.career-principles__item h3 {
    margin: 0 0 var(--space-2);
    font-size: 1.05rem;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.career-principles__item ul {
    margin: 0;
    padding-left: 1.1rem;
}

.career-principles__item li {
    margin: 0 0 0.35em;
}

.career-principles__item li:last-child {
    margin-bottom: 0;
}

.about-panel .process-list {
    max-width: none;
}

.career-process__steps {
    list-style: none;
    margin: var(--space-3) 0 0;
    padding: 0;
    display: block;
    line-height: 1.6;
}

.career-process__step {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0 0.55rem 0.8rem 0;
    vertical-align: middle;
}

.career-process__number {
    display: inline;
    flex: 0 0 auto;
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    font-weight: 700;
}

.career-process__number::after {
    content: ".";
}

.career-process__text {
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    line-height: 1.4;
}

.career-process__arrow {
    flex: 0 0 auto;
    margin-left: 0.15rem;
    text-align: center;
    font-size: 1.5rem;
    line-height: 1;
    color: var(--red);
}

.career-resume {
    margin-top: var(--space-4);
    padding-top: var(--space-3);
    border-top: 1px solid var(--line);
}

.career-resume__plate.glass {
    isolation: isolate;
    overflow: hidden;
    margin: 0 0 var(--space-3);
    padding: 22px 24px 24px;
    color: var(--ink);
    --glass-blur: 28px;
    --glass-saturate: 1.85;
    --glass-spot: rgb(255 255 255 / 0.7);
    --glass-highlight: rgb(255 255 255 / 0.95);
    background: rgb(255 255 255 / 0.38);
    border-color: rgb(255 255 255 / 0.86);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.95),
        inset 0 -1px 0 rgb(255 255 255 / 0.18);
}

.career-resume__plate.glass::before {
    z-index: 0;
    mix-blend-mode: screen;
    opacity: 0.88;
}

.career-resume__plate.glass::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(180deg, rgb(255 255 255 / 0.22), transparent 44%);
}

.career-resume__plate > *,
.career-resume__direct,
.career-resume__apply {
    position: relative;
    z-index: 1;
}

.career-resume__pair {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--space-3) var(--space-5);
    align-items: start;
    margin: 0;
}

.career-resume__apply {
    min-width: 0;
    padding-left: var(--space-4);
    border-left: 1px solid rgb(255 255 255 / 0.62);
}

.career-resume--pair .metro-grid--reach {
    margin-top: 0;
}

.career-resume h3 {
    margin: 0 0 var(--space-2);
    font-size: 1.05rem;
    letter-spacing: -0.02em;
}

.career-resume p {
    margin: 0 0 var(--space-2);
    max-width: none;
}

.career-resume__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin: 0;
    font-weight: 700;
}

.career-resume__links a,
.career-resume__links span {
    flex: 0 0 auto;
}

.career-resume__links a:hover,
.career-resume__links a:focus-visible {
    color: var(--red);
}

.cinema-facts__action {
    margin: 0;
}

.amenity-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.amenity-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 118px;
    padding: 16px 12px 14px;
    color: var(--ink);
    text-align: center;
    background: rgb(255 255 255 / 0.72);
    border: 1px solid rgb(255 255 255 / 0.9);
    border-radius: 16px;
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.95);
}

.amenity-card__icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    color: var(--ink);
    background: rgb(255 255 255 / 0.55);
    border: 1px solid rgb(255 255 255 / 0.88);
    border-radius: 50%;
}

.amenity-card__label {
    font-size: 0.92rem;
    font-weight: 650;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.docs-block h2,
.docs-block h3 {
    margin-bottom: var(--space-3);
}

.partner-chapter .docs-block h3 {
    margin: 0 0 var(--space-2);
    color: var(--muted);
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.docs-block__cta {
    margin-top: var(--space-3);
}

.metro-grid--docs {
    grid-auto-rows: minmax(88px, 8vw);
}

.about-panel .distro-grid--topics {
    padding: 4px 4px 16px;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    gap: 12px;
}

.about-panel .distro-grid--topics .distro-card--light {
    min-height: 88px;
    padding: 12px 14px 10px;
}

.about-panel .distro-grid--topics .distro-card--light .distro-card__title {
    font-size: clamp(0.95rem, 1.05vw, 1.08rem);
}

.about-panel .distro-grid--topics .distro-card--light .distro-card__go {
    font-size: 1.15rem;
}

.about-panel .distro-card--light {
    --glass-blur: 24px;
    --glass-saturate: 1.85;
    --glass-spot: rgb(255 255 255 / 0.72);
    --glass-highlight: #fff;
    overflow: visible;
    background: rgb(255 255 255 / 0.22);
    border-color: transparent;
    box-shadow:
        inset 0 1px 0 #fff,
        inset 0 -1px 0 rgb(255 255 255 / 0.2),
        0 10px 24px rgb(20 20 20 / 0.08),
        0 2px 8px rgb(20 20 20 / 0.05);
    backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
    transition:
        transform var(--duration-hover) var(--ease-standard),
        border-color var(--duration-hover) var(--ease-standard),
        background-color var(--duration-hover) var(--ease-standard),
        box-shadow var(--duration-hover) var(--ease-standard);
}

:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--light {
    --glass-blur: 28px;
    --glass-saturate: 2;
    --glass-spot: rgb(255 255 255 / 0.88);
    --glass-highlight: #fff;
    background:
        linear-gradient(
            160deg,
            rgb(255 255 255 / 0.28) 0%,
            rgb(255 255 255 / 0.05) 42%,
            rgb(20 20 20 / 0.05) 100%
        );
    border-color: rgb(255 255 255 / 0.95);
    box-shadow:
        inset 0 1px 0 #fff,
        inset 0 -1px 0 rgb(255 255 255 / 0.28);
    backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
}

.about-panel .distro-card--light.glass::before,
:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--light.glass::before {
    mix-blend-mode: screen;
    opacity: 0.95;
    background:
        radial-gradient(
            180px 130px at var(--glass-x) var(--glass-y),
            var(--glass-spot),
            transparent 68%
        ),
        linear-gradient(
            125deg,
            rgb(255 255 255 / 0.42) 0%,
            transparent 38%,
            transparent 58%,
            rgb(255 255 255 / 0.12) 100%
        );
}

.about-panel .distro-card--light.glass::after,
:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--light.glass::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(180deg, rgb(255 255 255 / 0.28), transparent 44%);
}

.about-panel .distro-card--light:hover,
.about-panel .distro-card--light:focus-visible {
    background: rgb(255 255 255 / 0.36);
    border-color: transparent;
    --glass-spot: rgb(255 255 255 / 0.82);
    --glass-highlight: #fff;
    box-shadow:
        inset 0 1px 0 #fff,
        inset 0 -1px 0 rgb(255 255 255 / 0.24),
        0 12px 28px rgb(20 20 20 / 0.1),
        0 3px 10px rgb(20 20 20 / 0.06);
}

.about-panel .distro-grid--topics .distro-card--light:active {
    transform: scale(0.99);
    box-shadow:
        inset 0 1px 0 #fff,
        0 4px 12px rgb(20 20 20 / 0.08);
}

:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--light:hover,
:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--light:focus-visible {
    background:
        linear-gradient(
            160deg,
            rgb(255 255 255 / 0.4) 0%,
            rgb(255 255 255 / 0.1) 42%,
            rgb(20 20 20 / 0.04) 100%
        );
    border-color: #fff;
    --glass-spot: #fff;
}

.loyalty-block .distro-card--light.distro-card--loyalty:hover,
.loyalty-block .distro-card--light.distro-card--loyalty:focus-visible {
    color: #fff;
    z-index: 2;
    transform: scale(1.01);
    --glass-blur: 32px;
    --glass-saturate: 2.1;
    --glass-spot: rgb(255 255 255 / 0.42);
    background:
        linear-gradient(
            160deg,
            color-mix(in srgb, var(--honeysuckle) 78%, #fff) 0%,
            color-mix(in srgb, var(--honeysuckle) 92%, #141414) 100%
        );
    border-color: color-mix(in srgb, var(--honeysuckle) 42%, #fff);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.38),
        0 10px 28px color-mix(in srgb, var(--honeysuckle) 22%, transparent);
}

.loyalty-block .distro-card--light.distro-card--loyalty:hover .distro-card__title,
.loyalty-block .distro-card--light.distro-card--loyalty:focus-visible .distro-card__title,
.loyalty-block .distro-card--light.distro-card--loyalty:hover .distro-card__go,
.loyalty-block .distro-card--light.distro-card--loyalty:focus-visible .distro-card__go {
    color: #fff;
}

.loyalty-block .distro-card--light.distro-card--loyalty:hover .distro-card__note,
.loyalty-block .distro-card--light.distro-card--loyalty:focus-visible .distro-card__note {
    color: rgb(255 255 255 / 0.82);
}

.about-panel .distro-card--light[aria-selected="true"] {
    background: rgb(255 255 255 / 0.4);
    border-color: transparent;
    box-shadow:
        inset 0 1px 0 #fff,
        inset 0 -1px 0 rgb(255 255 255 / 0.24),
        0 12px 26px rgb(20 20 20 / 0.1),
        0 3px 8px rgb(20 20 20 / 0.05);
}

.about-panel .distro-card--light[aria-selected="true"] .distro-card__title {
    color: var(--red);
}

:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-grid--halls {
    gap: 10px;
}

:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--hall,
:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--light.distro-card--hall {
    min-height: 120px;
    padding: 14px 14px 12px;
    border-radius: 0;
    color: var(--tile-ink, var(--ink));
    --glass-blur: 0;
    --glass-saturate: 1;
    --glass-spot: transparent;
    --glass-highlight: transparent;
    background: var(--tile-color);
    border-color: var(--tile-color);
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    isolation: auto;
    transition:
        border-color var(--duration-hover) var(--ease-standard),
        background-color var(--duration-hover) var(--ease-standard),
        color var(--duration-hover) var(--ease-standard);
}

:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--hall .distro-card__note {
    color: inherit;
    opacity: 0.88;
}

:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--hall.glass::before,
:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--hall.glass::after,
:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--light.distro-card--hall.glass::before,
:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--light.distro-card--hall.glass::after {
    display: none;
}

:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--hall:hover,
:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--hall:focus-visible,
:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--light.distro-card--hall:hover,
:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--light.distro-card--hall:focus-visible {
    color: var(--ink);
    z-index: 2;
    transform: none;
    background: color-mix(in srgb, var(--tile-color) 56%, #fff);
    border-color: color-mix(in srgb, var(--tile-color) 38%, #fff);
    box-shadow: none;
}

:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--light.distro-card--hall:hover .distro-card__title,
:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--light.distro-card--hall:focus-visible .distro-card__title {
    color: inherit;
}

:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--hall:hover .distro-card__note,
:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--hall:focus-visible .distro-card__note {
    color: color-mix(in srgb, var(--ink) 72%, var(--tile-color));
    opacity: 1;
}

:is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--hall:active {
    transform: none;
}

.halls-block .distro-card--hall,
.halls-block .distro-card--light.distro-card--hall {
    color: var(--ink);
    --glass-blur: 12px;
    --glass-saturate: 1.2;
    --glass-spot: rgb(255 255 255 / 0.4);
    --glass-highlight: rgb(255 255 255 / 0.92);
    background: rgb(255 255 255 / 0.82);
    border-color: rgb(255 255 255 / 0.88);
    backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
}

.halls-block .distro-card--hall .distro-card__note {
    color: var(--muted);
    opacity: 1;
}

.halls-block .distro-card--hall.glass::before {
    display: block;
}

.halls-block .distro-card--hall:hover,
.halls-block .distro-card--hall:focus-visible,
.halls-block .distro-card--light.distro-card--hall:hover,
.halls-block .distro-card--light.distro-card--hall:focus-visible {
    color: var(--tile-ink, var(--ink));
    background: var(--tile-color);
    border-color: var(--tile-color);
    --glass-blur: 0;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.halls-block .distro-card--hall:hover.glass::before,
.halls-block .distro-card--hall:focus-visible.glass::before {
    display: none;
}

.halls-block .distro-card--hall:hover .distro-card__note,
.halls-block .distro-card--hall:focus-visible .distro-card__note {
    color: inherit;
    opacity: 0.88;
}

.topic-panels {
    position: relative;
    z-index: 1;
    margin-top: var(--space-4);
}

.topic-panel {
    display: none;
}

.topic-panel.is-default {
    display: block;
}

.topic-panels:has(.topic-panel:target) .topic-panel.is-default:not(:target) {
    display: none;
}

.topic-panel:target {
    display: block;
}

.has-distro-js .js-distro[data-distro-inline] .topic-panel {
    display: none;
}

.has-distro-js .js-distro[data-distro-inline] .topic-panel.is-open {
    display: block;
}

.topic-panel h2 {
    margin: 0 0 var(--space-2);
    font-size: var(--fs-h2);
}

.topic-panel h2::before {
    content: none;
}

.topic-panel .distro-sheet__cta {
    text-align: left;
}

.topic-panel .prose + .media-plate {
    margin-top: var(--space-3);
}

.topic-panel .prose p:last-child {
    margin-bottom: 0;
}

.index-list { list-style: none; margin: 0; padding: 0; }

.index-list a {
    display: grid;
    grid-template-columns: 4.5rem 1fr auto;
    gap: var(--space-2) var(--space-3);
    align-items: baseline;
    padding: var(--space-3) 0;
    border-top: 1px solid var(--line);
    color: inherit;
    transition: transform var(--duration-hover) var(--ease-standard);
}

.index-list li:last-child a { border-bottom: 1px solid var(--line); }

.index-list__num {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    color: var(--item-color, var(--red));
}

.index-list__title {
    display: block;
    font-size: clamp(1.4rem, 3vw, 2.1rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.15;
}

.index-list__note {
    display: block;
    margin: 6px 0 0;
    color: var(--muted);
    max-width: 42rem;
}

.index-list__go {
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
}

.prose-offset { margin-top: var(--space-4); }

.index-list a:hover {
    color: inherit;
    transform: translateX(8px);
}
.index-list a:hover .index-list__title { color: var(--red); }
.index-list a:hover .index-list__go { color: var(--red); }

.stats-band {
    position: relative;
    overflow: hidden;
    color: #f4f4f4;
    padding: var(--space-5) 0;
    background:
        radial-gradient(ellipse 50% 80% at 20% 50%, rgba(227, 30, 36, 0.18), transparent 60%),
        var(--ink);
}

.stats-band__rays {
    position: absolute;
    inset: 0;
    z-index: 2;
    overflow: hidden;
    pointer-events: none;
    mix-blend-mode: screen;
}

.stats-band__ray {
    position: absolute;
    left: -20%;
    width: 140%;
    height: 64px;
    background: linear-gradient(
        180deg,
        transparent,
        rgb(255 248 220 / 0.18) 38%,
        rgb(255 236 170 / 0.72) 50%,
        rgb(255 248 220 / 0.18) 62%,
        transparent
    );
    transform-origin: 50% 50%;
    animation: stats-ray-pass calc(var(--duration-ray) * 3.2) var(--ease-standard) infinite;
    will-change: transform, opacity;
}

.stats-band__ray:nth-child(1) {
    top: 18%;
    --ray-angle: -16deg;
}

.stats-band__ray:nth-child(2) {
    top: 46%;
    --ray-angle: 11deg;
    animation-name: stats-ray-pass-rev;
    animation-delay: calc(var(--duration-ray) * 1.05);
}

.stats-band__ray:nth-child(3) {
    top: 72%;
    --ray-angle: -7deg;
    animation-delay: calc(var(--duration-ray) * 2.1);
}

.stats-band__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(var(--stats-cols, 4), 1fr);
    gap: var(--space-3);
}

@keyframes stats-ray-pass {
    0%, 10% {
        opacity: 0;
        transform: rotate(var(--ray-angle, 0deg)) translateX(-70%);
    }
    22% {
        opacity: 0.85;
    }
    48% {
        opacity: 0.45;
        transform: rotate(var(--ray-angle, 0deg)) translateX(10%);
    }
    64%, 100% {
        opacity: 0;
        transform: rotate(var(--ray-angle, 0deg)) translateX(70%);
    }
}

@keyframes stats-ray-pass-rev {
    0%, 10% {
        opacity: 0;
        transform: rotate(var(--ray-angle, 0deg)) translateX(70%);
    }
    22% {
        opacity: 0.85;
    }
    48% {
        opacity: 0.45;
        transform: rotate(var(--ray-angle, 0deg)) translateX(-10%);
    }
    64%, 100% {
        opacity: 0;
        transform: rotate(var(--ray-angle, 0deg)) translateX(-70%);
    }
}

.stats-band strong {
    display: block;
    font-size: clamp(1.8rem, 3.4vw, 2.8rem);
    letter-spacing: -0.03em;
    line-height: 1.1;
    overflow-wrap: break-word;
}

.stats-band span {
    display: block;
    margin-top: 8px;
    color: #9a9a9a;
    font-size: var(--fs-meta);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.stats-band--promos {
    padding-bottom: calc(var(--space-5) + 8px);
}

.retail-promos {
    --promo-overlap: 0.12;
    --promo-cols: 3;
    --promo-body: 8.5rem;
    --promo-card-h: calc(
        (
            (min(var(--max), 100% - 32px) - (var(--promo-cols) - 1) * var(--space-3))
            / var(--promo-cols)
            * 0.75
        )
        + var(--promo-body)
    );
    position: relative;
    z-index: 4;
    padding: 1px 0 var(--space-4);
    margin-top: calc(var(--promo-overlap) * -1 * var(--promo-card-h));
}

.retail-promos--count-1 { --promo-cols: 1; }
.retail-promos--count-2 { --promo-cols: 2; }
.retail-promos--count-3 { --promo-cols: 3; }

.retail-promos__grid {
    display: grid;
    grid-template-columns: repeat(var(--promo-cols, 3), minmax(0, 1fr));
    gap: var(--space-3);
}

.retail-promos__item {
    min-width: 0;
    height: 100%;
}

.retail-promos .news-grid__more {
    margin-top: var(--space-3);
}

.retail-banners {
    position: relative;
    z-index: 3;
    padding: var(--space-3) 0 0;
}

.stats-band + .retail-banners {
    padding-top: var(--space-4);
}

.banner-rail {
    position: relative;
}

.banner-rail__track {
    display: flex;
    gap: 0;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0;
    border-radius: var(--radius-glass);
    cursor: grab;
    touch-action: pan-x;
    scrollbar-width: thin;
}

.banner-rail.is-ready .banner-rail__track {
    scrollbar-width: none;
}

.banner-rail.is-ready .banner-rail__track::-webkit-scrollbar {
    display: none;
}

.banner-rail__track.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    user-select: none;
}

.banner-rail__slide {
    flex: 0 0 100%;
    scroll-snap-align: start;
    min-width: 0;
}

.banner-rail__link {
    display: block;
    position: relative;
    color: inherit;
    border-radius: var(--radius-glass);
    overflow: hidden;
}

.banner-rail__link:hover,
.banner-rail__link:focus-visible {
    color: inherit;
}

.banner-rail__link:focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 4px;
}

.banner-rail__media {
    display: grid;
    place-items: center;
    position: relative;
    aspect-ratio: 21 / 9;
    background: var(--paper);
    overflow: hidden;
}

.banner-rail__media--empty {
    --glass-blur: 22px;
    --glass-spot: rgb(255 255 255 / 0.2);
    background:
        radial-gradient(ellipse 60% 80% at 18% 40%, rgba(239, 127, 26, 0.28), transparent 62%),
        var(--ink);
    border: 0;
    border-radius: 0;
}

.banner-rail__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.banner-rail__copy {
    display: block;
    margin-top: 12px;
    color: var(--ink);
}

.banner-rail__title {
    display: block;
    font-size: clamp(1.15rem, 2.2vw, 1.65rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.banner-archive {
    display: grid;
    gap: var(--space-3);
}

.banner-item__link {
    display: grid;
    gap: 10px;
    color: inherit;
}

.banner-item__link:hover,
.banner-item__link:focus-visible {
    color: inherit;
}

.banner-item__link:focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 4px;
}

.banner-item__media,
.banner-painting {
    display: grid;
    place-items: center;
    margin: 0;
    background: var(--paper);
    border-radius: var(--radius-glass);
    overflow: hidden;
}

.banner-item__media--empty {
    min-height: 180px;
}

.banner-item__image,
.banner-painting__image {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
}

.banner-painting {
    margin: 0 0 var(--space-4);
}

.banner-item__title {
    font-size: var(--fs-h2);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.banner-rail__controls {
    display: none;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    margin-top: 12px;
}

.banner-rail.is-ready:not(.banner-rail--single) .banner-rail__controls {
    display: flex;
}

.banner-rail__nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: var(--paper);
    color: var(--ink);
    font: inherit;
    font-size: 1.15rem;
    line-height: 1;
    cursor: pointer;
    transition:
        color var(--duration-hover) var(--ease-standard),
        border-color var(--duration-hover) var(--ease-standard);
}

.banner-rail__nav:hover,
.banner-rail__nav:focus-visible {
    color: var(--red);
    border-color: var(--red);
}

.banner-rail__nav:disabled {
    opacity: 0.35;
    cursor: default;
    color: var(--ink);
    border-color: var(--line);
}

.banner-rail__dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.banner-rail__dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: var(--line);
    cursor: pointer;
}

.banner-rail__dot.is-current {
    width: 22px;
    background: var(--orange);
}

.banner-rail__dot:focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 3px;
}

.media-plate {
    position: relative;
    width: 100%;
    margin: var(--space-3) 0 0;
}

.media-plate--scene {
    display: grid;
    grid-template-columns: 1fr;
}

.media-plate__art {
    grid-area: 1 / 1;
    z-index: 0;
    width: 100%;
    aspect-ratio: 2172 / 724;
    background: var(--paper);
    border-radius: var(--radius-glass);
    overflow: hidden;
}

.media-plate__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.media-plate__copy {
    width: 100%;
    padding: 16px 18px 18px;
    color: var(--ink);
    --glass-blur: 28px;
    --glass-saturate: 1.9;
    --glass-spot: rgb(255 255 255 / 0.62);
    --glass-highlight: rgb(255 255 255 / 0.95);
    background: rgb(255 255 255 / 0.07);
    border-color: rgb(255 255 255 / 0.78);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.88),
        inset 0 -1px 0 rgb(255 255 255 / 0.16);
}

.media-plate--scene .media-plate__copy {
    grid-area: 1 / 1;
    z-index: 1;
    align-self: start;
    justify-self: stretch;
    width: calc(100% - 32px);
    max-width: none;
    margin: 16px;
}

.media-plate__copy .stats-inline {
    gap: var(--space-2);
}

.media-plate__copy .stats-inline strong {
    color: var(--ink);
}

.media-plate__copy .stats-inline span {
    color: var(--muted);
}

.mall-docs {
    margin-top: var(--space-4);
    scroll-margin-top: calc(var(--header-h) + 12px);
}

.mall-docs .partner-doc-group:first-child {
    margin-top: 0;
}

#docs,
#docs-dogovory,
#docs-standarty,
#docs-ankety,
#docs-pechatnye-formy,
#docs-other,
#docs-suppliers,
#docs-wholesale,
#docs-advertisers,
#docs-counterparties,
#docs-terms,
#docs-apply,
#docs-docs,
#docs-docs-policy,
#docs-extra,
#specs,
#sites,
#quality,
#extra,
#retail,
#tenants,
#wholesale,
#advertisers,
#counterparties,
#track-roznica,
#track-opt,
#track-reklama,
#terms,
#apply,
#how,
#notice,
#edo,
#places,
#holding-topics,
#about,
#halls,
#facts,
#formats,
#formats-media,
#formats-rent,
#formats-outdoor,
#formats-indoor,
#formats-print,
.topic-panel,
.inquiry-distro {
    scroll-margin-top: calc(var(--header-h) + 12px);
}

.distro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-2);
}

.distro-grid--topics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: stretch;
}

.distro-grid--halls {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.distro-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(42%, 1fr);
    min-height: 168px;
    padding: 0;
    color: #fff;
    text-decoration: none;
    overflow: hidden;
}

.distro-card--alcohol {
    background: rgb(227 30 36 / 0.42);
    border-color: rgb(255 255 255 / 0.28);
}

.distro-card--grocery {
    background: rgb(239 127 26 / 0.42);
    border-color: rgb(255 255 255 / 0.28);
}

.distro-card--topic {
    color: var(--topic-ink, #fff);
    background: color-mix(in srgb, var(--topic-color) 46%, transparent);
    border-color: rgb(255 255 255 / 0.28);
}

.distro-card--light {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 12px;
    min-height: 148px;
    padding: 18px 16px 16px;
    color: var(--ink);
    --glass-blur: 24px;
    --glass-saturate: 1.85;
    --glass-spot: rgb(255 255 255 / 0.72);
    --glass-highlight: rgb(255 255 255 / 0.96);
    background:
        linear-gradient(
            160deg,
            rgb(255 255 255 / 0.26) 0%,
            rgb(255 255 255 / 0.05) 48%,
            rgb(20 20 20 / 0.05) 100%
        );
    border-color: rgb(255 255 255 / 0.92);
    box-shadow:
        inset 0 1px 0 #fff,
        inset 0 -1px 0 rgb(255 255 255 / 0.22);
    backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
    transition:
        transform var(--duration-hover) var(--ease-standard),
        border-color var(--duration-hover) var(--ease-standard),
        background-color var(--duration-hover) var(--ease-standard);
}

.distro-card:hover,
.distro-card:focus-visible {
    color: inherit;
    transform: scale(1.01);
}

.distro-card__title {
    position: relative;
    z-index: 1;
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    padding: 18px 16px 8px 20px;
    font-size: clamp(1.15rem, 1.8vw, 1.45rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

.distro-card__go {
    position: relative;
    z-index: 1;
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    padding: 0 0 16px 20px;
    font-size: 1.35rem;
    line-height: 1;
}

.distro-card__media {
    grid-column: 2;
    grid-row: 1;
    position: relative;
    min-height: 168px;
}

.distro-card__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
}

.distro-card__media::after {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 38%;
    z-index: 1;
    pointer-events: none;
}

.distro-card--light .distro-card__title,
.distro-card--light .distro-card__go {
    grid-column: auto;
    grid-row: auto;
    align-self: auto;
    padding: 0;
}

.distro-card--light .distro-card__title {
    font-size: clamp(1.02rem, 1.2vw, 1.22rem);
}

.distro-card--light .distro-card__copy {
    min-height: 0;
    flex: 1;
    padding: 0;
    gap: 8px;
}

.distro-card--light .distro-card__note {
    color: var(--muted);
    opacity: 1;
}

.distro-card--light:hover,
.distro-card--light:focus-visible {
    color: var(--ink);
    border-color: rgb(255 255 255 / 0.95);
    --glass-spot: rgb(255 255 255 / 0.85);
}

.distro-card--light:hover .distro-card__title,
.distro-card--light:focus-visible .distro-card__title {
    color: var(--red);
}

.distro-card--light.glass::before {
    mix-blend-mode: screen;
    opacity: 0.92;
    background:
        radial-gradient(
            180px 130px at var(--glass-x) var(--glass-y),
            var(--glass-spot),
            transparent 68%
        ),
        linear-gradient(
            125deg,
            rgb(255 255 255 / 0.36) 0%,
            transparent 38%,
            transparent 58%,
            rgb(255 255 255 / 0.1) 100%
        );
}

.distro-card--light.glass::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(180deg, rgb(255 255 255 / 0.26), transparent 44%);
}

.distro-card--alcohol .distro-card__media::after {
    background: linear-gradient(90deg, rgb(196 42 48 / 0.88), transparent);
}

.distro-card--grocery .distro-card__media::after {
    background: linear-gradient(90deg, rgb(214 132 58 / 0.88), transparent);
}

.distro-card--format-media {
    background: rgb(153 72 168 / 0.46);
    border-color: rgb(255 255 255 / 0.28);
}

.distro-card--format-rent {
    background: rgb(227 30 36 / 0.42);
    border-color: rgb(255 255 255 / 0.28);
}

.distro-card--format-outdoor {
    background: rgb(239 127 26 / 0.42);
    border-color: rgb(255 255 255 / 0.28);
}

.distro-card--format-indoor {
    background: rgb(25 99 172 / 0.42);
    border-color: rgb(255 255 255 / 0.28);
}

.distro-card--format-print {
    background: rgb(120 82 18 / 0.58);
    border-color: rgb(255 255 255 / 0.28);
}

.distro-card--format-media .distro-card__media::after {
    background: linear-gradient(90deg, rgb(120 48 140 / 0.88), transparent);
}

.distro-card--format-rent .distro-card__media::after {
    background: linear-gradient(90deg, rgb(196 42 48 / 0.88), transparent);
}

.distro-card--format-outdoor .distro-card__media::after {
    background: linear-gradient(90deg, rgb(214 132 58 / 0.88), transparent);
}

.distro-card--format-indoor .distro-card__media::after {
    background: linear-gradient(90deg, rgb(25 99 172 / 0.88), transparent);
}

.distro-card--format-print .distro-card__media::after {
    background: linear-gradient(90deg, rgb(168 128 24 / 0.88), transparent);
}

.distro-card--format-facade .distro-card__media img {
    object-position: center 28%;
}

.distro-card--format-kiosk .distro-card__media img {
    object-position: center 12%;
}

.distro-card__copy {
    position: relative;
    z-index: 1;
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 10px;
    min-height: 168px;
    padding: 18px 16px 16px 20px;
}

.distro-card__copy .distro-card__title,
.distro-card__copy .distro-card__go {
    grid-column: auto;
    grid-row: auto;
    align-self: auto;
    padding: 0;
}

.distro-card__note {
    font-size: 0.84rem;
    font-weight: 500;
    line-height: 1.35;
    opacity: 0.88;
}

.distro-card--place-cinema {
    color: #fff;
    background: rgb(25 99 172 / 0.42);
    border-color: rgb(255 255 255 / 0.28);
}

.distro-card--place-probochka {
    color: #fff;
    background: rgb(227 30 36 / 0.42);
    border-color: rgb(255 255 255 / 0.28);
}

.distro-card--place-supermarket {
    color: var(--ink);
    background: rgb(239 127 26 / 0.42);
    border-color: rgb(255 255 255 / 0.28);
}

.distro-card--place-mall {
    --tile-color: var(--yellow);
    --tile-ink: var(--ink);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 12px;
    min-height: 148px;
    padding: 18px 16px 16px;
    color: var(--ink);
    --glass-blur: 16px;
    --glass-saturate: 1.45;
    --glass-spot: rgb(255 255 255 / 0.55);
    --glass-highlight: rgb(255 255 255 / 0.9);
    background: rgb(255 255 255 / 0.34);
    border-color: rgb(255 255 255 / 0.78);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.88),
        inset 0 -1px 0 rgb(255 255 255 / 0.16);
    backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
    transition:
        transform var(--duration-hover) var(--ease-standard),
        border-color var(--duration-hover) var(--ease-standard),
        background-color var(--duration-hover) var(--ease-standard),
        color var(--duration-hover) var(--ease-standard);
}

.distro-card--place-mall .distro-card__copy {
    min-height: 0;
    flex: 1;
    padding: 0;
}

.distro-card--place-mall .distro-card__note {
    color: var(--muted);
    opacity: 1;
}

.distro-card--place-mall.glass::before {
    mix-blend-mode: screen;
    opacity: 0.7;
}

.distro-card--place-mall:hover,
.distro-card--place-mall:focus-visible {
    color: var(--tile-ink, var(--ink));
    z-index: 2;
    transform: scale(1.02);
    --glass-blur: 0;
    --glass-spot: transparent;
    --glass-highlight: rgb(255 255 255 / 0.55);
    background: var(--tile-color);
    border-color: var(--tile-color);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.55),
        inset 0 -1px 0 rgb(255 255 255 / 0.18);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.distro-card--place-mall:hover.glass::before,
.distro-card--place-mall:focus-visible.glass::before {
    display: none;
}

.distro-card--place-mall:hover .distro-card__note,
.distro-card--place-mall:focus-visible .distro-card__note {
    color: inherit;
    opacity: 0.88;
}

.distro-card--place-mall:active {
    transform: scale(0.985);
}

.distro-card--place-cinema .distro-card__media::after {
    background: linear-gradient(90deg, rgb(25 99 172 / 0.88), transparent);
}

.distro-card--place-probochka .distro-card__media::after {
    background: linear-gradient(90deg, rgb(196 42 48 / 0.88), transparent);
}

.distro-card--place-supermarket .distro-card__media::after {
    background: linear-gradient(90deg, rgb(214 132 58 / 0.88), transparent);
}

.distro-card--place-mall .distro-card__media::after {
    background: linear-gradient(90deg, rgb(255 255 255 / 0.42), transparent);
}

.distro-card--place-mall:hover .distro-card__media::after,
.distro-card--place-mall:focus-visible .distro-card__media::after {
    background: linear-gradient(90deg, rgb(210 168 20 / 0.88), transparent);
}

.distro-sheet__address {
    margin: 0 auto var(--space-2);
    max-width: 42rem;
    color: var(--muted);
    text-align: center;
}

.distro-card--topic .distro-card__media::after {
    background: linear-gradient(90deg, color-mix(in srgb, var(--topic-color) 78%, transparent), transparent);
}

.distro-card__media--empty {
    --glass-blur: 18px;
    --glass-spot: rgb(255 255 255 / 0.55);
    background:
        linear-gradient(
            165deg,
            rgb(255 255 255 / 0.28) 0%,
            rgb(255 255 255 / 0.06) 50%,
            rgb(255 255 255 / 0.16) 100%
        );
    border: 0;
    border-radius: 0;
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.35);
}

.distro-card__media--empty::before {
    mix-blend-mode: screen;
}

.distro-layer {
    position: fixed;
    inset: var(--header-h) 0 0;
    z-index: 40;
    display: grid;
    align-content: start;
    justify-items: center;
    padding: var(--space-3) 16px var(--space-4);
    overflow: auto;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--duration-state) var(--ease-out), visibility var(--duration-state);
}

.distro-layer:target,
.distro-layer.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.has-distro-js .distro-layer:not(.is-open) {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}

.distro-layer__backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: rgb(20 20 20 / 0.28);
    cursor: pointer;
}

.distro-sheet {
    position: relative;
    z-index: 1;
    width: min(var(--max), 100%);
    max-height: calc(100svh - var(--header-h) - 40px);
    overflow: auto;
    margin-top: var(--space-2);
    padding: 18px 20px 22px;
    color: var(--ink);
    --glass-blur: 28px;
    --glass-saturate: 1.9;
    --glass-spot: rgb(255 255 255 / 0.62);
    --glass-highlight: rgb(255 255 255 / 0.95);
    background: rgb(255 255 255 / 0.88);
    border-color: rgb(255 255 255 / 0.92);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.88),
        inset 0 -1px 0 rgb(255 255 255 / 0.16);
    transform: translateY(var(--motion-shift));
    transition: transform var(--duration-state) var(--ease-out);
}

.distro-layer:target .distro-sheet,
.distro-layer.is-open .distro-sheet {
    transform: none;
}

.distro-sheet__close {
    display: inline-flex;
    align-items: center;
    position: relative;
    z-index: 2;
    min-height: 40px;
    margin: 0 0 var(--space-2);
    padding: 0 14px;
    border: 1px solid var(--glass-edge);
    border-radius: 999px;
    color: var(--ink);
    text-decoration: none;
}

.distro-sheet__close:hover,
.distro-sheet__close:focus-visible {
    color: var(--red);
}

.distro-sheet h2 {
    margin: 0 0 var(--space-2);
    font-size: var(--fs-h2);
    text-align: center;
}

.distro-sheet h2::before { content: none; }

.distro-sheet__prose {
    margin: 0 auto;
    text-align: center;
}

.distro-sheet__prose--start {
    text-align: left;
}

.distro-sheet__timeline {
    max-width: 42rem;
    margin: var(--space-3) auto 0;
    text-align: left;
}

.distro-sheet__steps {
    max-width: 42rem;
    margin: var(--space-3) auto 0;
}

.distro-sheet__cta {
    margin: var(--space-4) 0 0;
    text-align: center;
}

.distro-sheet--hall {
    padding-top: 12px;
    border-radius: var(--hall-screen-bend) var(--hall-screen-bend) var(--radius-glass) var(--radius-glass);
}

.distro-sheet--promo {
    width: min(1080px, 100%);
}

.distro-sheet--promo h2,
.distro-sheet--promo .distro-sheet__address {
    text-align: left;
}

.promo-split {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(240px, 1.1fr);
    gap: var(--space-3);
    align-items: start;
}

.promo-split__copy h2,
.promo-split__copy .distro-sheet__address,
.promo-split__copy .distro-sheet__prose {
    text-align: left;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.promo-split__copy .prose {
    max-width: none;
}

.distro-sheet__painting {
    margin: 0 0 var(--space-3);
    padding: 12px;
    background: var(--paper);
    border: 1px solid rgb(255 255 255 / 0.72);
    border-radius: 16px;
}

.promo-split .distro-sheet__painting {
    margin: 0;
}

.distro-sheet__painting-image {
    display: block;
    width: 100%;
    height: auto;
    max-height: min(52vh, 640px);
    margin: 0 auto;
    object-fit: contain;
    object-position: center;
}

.promo-split .distro-sheet__painting-image {
    max-height: min(68vh, 720px);
}

.hall-screen {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 4px;
    margin: 0 0 var(--space-3);
    padding: 2px 8px 10px;
    color: var(--blue);
}

.hall-screen__arc {
    display: block;
    width: min(94%, 720px);
    height: 36px;
    margin: 0 auto -4px;
}

.hall-screen__stats {
    width: min(100%, 42rem);
    margin: 0 auto;
    text-align: center;
    color: var(--ink);
}

.hall-screen__stats strong {
    font-size: clamp(1.35rem, 2.4vw, 1.9rem);
}

.hall-screen__stats span {
    color: var(--muted);
}

.fact-list {
    display: grid;
    gap: 12px;
    max-width: 42rem;
    margin: var(--space-3) auto 0;
    padding: 0;
}

.fact-list > div {
    display: grid;
    gap: 4px;
}

.fact-list dt {
    color: var(--muted);
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.fact-list dd {
    margin: 0;
    color: var(--ink);
    line-height: 1.45;
}

.distro-sheet .fact-list {
    max-width: 42rem;
}

.place-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 0.92fr);
    gap: var(--space-4);
    align-items: start;
    margin-top: var(--space-2);
}

.place-split__copy h2,
.place-split__copy .distro-sheet__address,
.place-split__copy .distro-sheet__cta {
    text-align: left;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.place-split__copy .distro-sheet__prose {
    margin: 0;
    text-align: left;
}

.place-split__copy .prose {
    max-width: none;
}

.place-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.place-gallery__item {
    margin: 0;
    min-width: 0;
}

.place-gallery__item:nth-child(n + 10) {
    display: none;
}

.place-gallery__link {
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    border-radius: 10px;
    background: var(--bg-soft);
    transition: transform var(--duration-hover) var(--ease-standard);
}

.place-gallery__link:hover,
.place-gallery__link:focus-visible {
    color: inherit;
    transform: scale(1.02);
}

.place-gallery__link:active {
    transform: scale(0.98);
}

.place-gallery__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
}

.hall-photos {
    max-width: 42rem;
    margin: var(--space-3) auto 0;
}

.hall-photos__label {
    margin: 0 0 8px;
    color: var(--muted);
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.place-gallery--hall .place-gallery__link {
    aspect-ratio: 16 / 9;
}

.place-gallery--hall .place-gallery__image {
    object-position: center 40%;
}

.place-lightbox {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: grid;
    place-items: center;
    padding: var(--space-4) 72px;
    background: rgb(20 20 20 / 0.78);
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--duration-state) var(--ease-out), visibility var(--duration-state);
}

.place-lightbox.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.place-lightbox__stage {
    display: grid;
    justify-items: center;
    min-width: 0;
    max-width: min(var(--max), 100%);
    transform: translateY(var(--motion-shift));
    transition: transform var(--duration-state) var(--ease-out);
}

.place-lightbox.is-open .place-lightbox__stage {
    transform: none;
}

.place-lightbox__image {
    display: block;
    max-width: 100%;
    max-height: calc(100svh - 96px);
    width: auto;
    height: auto;
    object-fit: contain;
    background: rgb(0 0 0 / 0.2);
}

.place-lightbox__status {
    margin: 10px 0 0;
    color: #fff;
    font-size: var(--fs-meta);
    letter-spacing: 0.06em;
}

.place-lightbox__close,
.place-lightbox__nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 16px;
    border: 1px solid rgb(255 255 255 / 0.55);
    border-radius: 999px;
    background: rgb(255 255 255 / 0.14);
    color: #fff;
    cursor: pointer;
}

.place-lightbox__close:hover,
.place-lightbox__close:focus-visible,
.place-lightbox__nav:hover,
.place-lightbox__nav:focus-visible {
    color: #fff;
    background: rgb(255 255 255 / 0.28);
}

.place-lightbox__close:disabled,
.place-lightbox__nav:disabled {
    opacity: 0.35;
    cursor: default;
}

.place-lightbox__close {
    position: absolute;
    top: calc(var(--header-h) + 12px);
    right: 16px;
}

.place-lightbox__nav--prev,
.place-lightbox__nav--next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.place-lightbox__nav--prev {
    left: 16px;
}

.place-lightbox__nav--next {
    right: 16px;
}

.distro-sheet--reader {
    display: flex;
    flex-direction: column;
    width: min(var(--max), 100%);
    max-height: calc(100svh - var(--header-h) - 32px);
}

.distro-sheet--reader h2,
.distro-sheet--reader .distro-sheet__address {
    text-align: left;
    margin-left: 0;
    margin-right: 0;
}

.doc-reader {
    display: grid;
    grid-template-columns: minmax(196px, 240px) minmax(0, 1fr);
    gap: 16px;
    min-height: 0;
    flex: 1;
    margin-top: var(--space-2);
}

.doc-reader__history h3 {
    margin: 0 0 12px;
    font-size: var(--fs-meta);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.doc-reader__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px;
}

.doc-reader__version {
    display: grid;
    gap: 2px;
    padding: 10px 12px;
    color: var(--ink);
    text-decoration: none;
    background: rgb(255 255 255 / 0.42);
    border: 1px solid rgb(255 255 255 / 0.86);
    border-radius: 14px;
    transition:
        border-color var(--duration-hover) var(--ease-standard),
        background-color var(--duration-hover) var(--ease-standard);
}

.doc-reader__version span {
    color: var(--muted);
    font-size: 0.78rem;
    line-height: 1.3;
}

.doc-reader__version[aria-current="true"] {
    background: rgb(20 20 20 / 0.06);
    border-color: var(--ink);
}

.doc-reader__version:hover,
.doc-reader__version:focus-visible {
    border-color: var(--red);
}

.doc-reader__stage {
    position: relative;
    min-height: min(68vh, 760px);
    background: var(--paper);
    border-radius: var(--radius-glass);
    overflow: hidden;
}

.doc-reader__frame {
    display: block;
    width: 100%;
    height: 100%;
    min-height: min(68vh, 760px);
    border: 0;
    background: var(--paper);
}

.doc-reader__frame[hidden],
.doc-reader__fallback[hidden] {
    display: none;
}

.doc-reader__file {
    margin: 14px 0 0;
}

.doc-reader__file a {
    color: var(--red);
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
}

.doc-reader__file a:hover,
.doc-reader__file a:focus-visible {
    color: var(--ink);
}

.doc-reader__fallback,
.doc-reader__empty {
    margin: 0;
    padding: var(--space-3);
}

.year-rail {
    margin: var(--space-3) 0 0;
}

.year-rail__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    margin: 0 0 12px;
}

.year-rail__hint {
    margin: 0;
    color: var(--muted);
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.year-rail__nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid var(--glass-edge);
    border-radius: 999px;
    background: rgb(255 255 255 / 0.55);
    color: var(--ink);
    font: inherit;
    font-size: 1.15rem;
    line-height: 1;
    cursor: pointer;
}

.year-rail:not(.is-ready) .year-rail__nav {
    visibility: hidden;
}

.year-rail__nav:disabled {
    opacity: 0.35;
    cursor: default;
    color: var(--ink);
}

.year-rail__track {
    display: flex;
    gap: var(--space-2);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 4px;
    padding: 4px 2px 14px;
    cursor: grab;
    touch-action: pan-x;
    scrollbar-width: thin;
}

.year-rail__track.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    user-select: none;
}

.year-rail__card {
    flex: 0 0 min(280px, 82%);
    scroll-snap-align: start;
    min-height: 220px;
    padding: 20px 18px 22px;
    background: rgb(255 255 255 / 0.58);
    border: 1px solid rgb(255 255 255 / 0.86);
    border-radius: 18px;
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.92);
}

.year-rail__year {
    display: block;
    margin: 0 0 12px;
    color: var(--red);
    font-size: clamp(2.1rem, 4vw, 2.85rem);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.04em;
    line-height: 1;
}

.year-rail__text {
    margin: 0;
    color: var(--text);
    font-size: 0.98rem;
    line-height: 1.45;
}

.year-rail__slider-wrap {
    display: none;
    margin: 0;
}

.year-rail.is-ready .year-rail__slider-wrap {
    display: block;
}

.year-rail__slider {
    display: block;
    width: 100%;
    height: 2.25rem;
    margin: 0;
    accent-color: var(--red);
    cursor: pointer;
}

.leader-letter {
    display: grid;
    grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
    gap: var(--space-3);
    align-items: start;
    margin: 0 auto;
    max-width: 52rem;
}

.leader-letter__photo {
    margin: 0;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 18px;
    background: rgb(255 255 255 / 0.42);
}

.leader-letter__photo--empty {
    --glass-blur: 22px;
    --glass-spot: rgb(255 255 255 / 0.78);
    background:
        linear-gradient(
            165deg,
            rgb(255 255 255 / 0.4) 0%,
            rgb(255 255 255 / 0.1) 50%,
            rgb(255 255 255 / 0.22) 100%
        );
    border: 1px solid rgb(255 255 255 / 0.7);
}

.leader-letter__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
}

.leader-letter__copy {
    margin: 0;
    max-width: none;
    text-align: left;
}

.step-flow {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px 16px;
    list-style: none;
    margin: var(--space-3) 0 0;
    padding: 0;
}

.step-flow__item {
    position: relative;
    display: grid;
    gap: 8px;
    min-height: 100%;
    padding: 16px 16px 18px;
    background: rgb(255 255 255 / 0.5);
    border: 1px solid rgb(255 255 255 / 0.78);
    border-radius: 16px;
}

.step-flow__item:not(:nth-child(3n))::after {
    content: "";
    position: absolute;
    top: 30px;
    left: calc(100% + 4px);
    width: 8px;
    height: 2px;
    background: var(--red);
    opacity: 0.45;
}

.step-flow__num {
    color: var(--red);
    font-size: 1.2rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.06em;
    line-height: 1;
}

.step-flow__text {
    color: var(--text);
    font-size: 0.95rem;
    line-height: 1.4;
}

.distro-sheet .media-plate,
.topic-panel .media-plate {
    margin: 0 0 var(--space-3);
}

.distro-sheet .media-plate__image,
.topic-panel .media-plate__image {
    object-fit: cover;
    object-position: center 35%;
}

.distro-sheet .media-plate--scene .media-plate__copy,
.topic-panel .media-plate--scene .media-plate__copy {
    position: absolute;
    top: 12px;
    right: 12px;
    left: 12px;
    z-index: 1;
    width: auto;
    margin: 0;
    padding: 12px 10px 14px;
    background: rgb(255 255 255 / 0.9);
    --glass-spot: rgb(255 255 255 / 0.95);
    --glass-highlight: rgb(255 255 255 / 0.98);
}

.distro-sheet .media-plate__copy .stats-inline,
.topic-panel .media-plate__copy .stats-inline {
    gap: 10px;
    grid-template-columns: repeat(var(--stats-cols, 4), minmax(0, 1fr));
}

.distro-sheet .media-plate__copy .stats-inline > div,
.topic-panel .media-plate__copy .stats-inline > div {
    min-width: 0;
    text-align: center;
}

.distro-sheet .media-plate__copy .stats-inline strong,
.topic-panel .media-plate__copy .stats-inline strong {
    color: var(--ink);
    font-size: clamp(1.05rem, 1.5vw, 1.55rem);
}

.distro-sheet .media-plate__copy .stats-inline span,
.topic-panel .media-plate__copy .stats-inline span {
    margin-top: 6px;
    color: var(--text);
    font-size: 0.68rem;
    line-height: 1.3;
    letter-spacing: 0.02em;
    text-transform: none;
    overflow-wrap: anywhere;
}

body.distro-open,
body.lightbox-open { overflow: hidden; }

.stats-inline {
    display: grid;
    grid-template-columns: repeat(var(--stats-cols, 4), 1fr);
    gap: var(--space-3);
}

.stats-inline strong {
    display: block;
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    letter-spacing: -0.03em;
    line-height: 1.1;
}

.stats-inline span {
    display: block;
    margin-top: 8px;
    color: var(--muted);
    font-size: var(--fs-meta);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.about-panel .stats-inline--lead {
    position: relative;
    z-index: 2;
    margin: var(--space-4) 0 var(--space-3);
    padding-top: var(--space-3);
    border-top: 1px solid rgb(255 255 255 / 0.42);
}

.about-panel .stats-inline--lead span {
    margin: 0 0 8px;
    color: var(--muted);
    font-size: 0.92rem;
    line-height: 1.4;
    letter-spacing: 0.01em;
    text-transform: none;
}

.about-panel .stats-inline--lead strong {
    color: var(--ink);
    font-size: clamp(1.45rem, 2.4vw, 2rem);
}

.stats-inline--glass {
    margin-top: var(--space-3);
    gap: 10px;
}

.stats-inline--glass .glass {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 16px 16px 18px;
    color: var(--ink);
    text-align: center;
    --glass-blur: 28px;
    --glass-saturate: 1.85;
    --glass-spot: rgb(255 255 255 / 0.62);
    --glass-highlight: rgb(255 255 255 / 0.95);
    background: rgb(255 255 255 / 0.22);
    border-color: rgb(255 255 255 / 0.72);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.88),
        inset 0 -1px 0 rgb(255 255 255 / 0.14);
}

.stats-inline--glass .glass::before {
    mix-blend-mode: screen;
    opacity: 0.82;
}

.stats-inline--glass span {
    position: relative;
    z-index: 1;
    margin: 0 0 8px;
    color: var(--muted);
    font-size: 0.92rem;
    line-height: 1.4;
    letter-spacing: 0.01em;
    text-transform: none;
}

.stats-inline--glass strong {
    position: relative;
    z-index: 1;
    color: var(--ink);
    font-size: clamp(1.45rem, 2.4vw, 2rem);
    text-align: center;
}

.formats-stack {
    margin-top: var(--space-4);
}

.formats-stack__intro h2 {
    margin: 0 0 var(--space-3);
}

.formats-toc {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 var(--space-3);
}

.formats-toc__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 132px;
    padding: 16px 12px 14px;
    color: var(--ink);
    text-align: center;
    text-decoration: none;
    --glass-blur: 28px;
    --glass-saturate: 1.85;
    --glass-spot: rgb(255 255 255 / 0.62);
    --glass-highlight: rgb(255 255 255 / 0.95);
    --toc-ink: var(--red);
    background: rgb(255 255 255 / 0.22);
    border-color: rgb(255 255 255 / 0.72);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.88),
        inset 0 -1px 0 rgb(255 255 255 / 0.14);
    transition:
        transform var(--duration-hover) var(--ease-standard),
        border-color var(--duration-hover) var(--ease-standard),
        color var(--duration-hover) var(--ease-standard);
}

.formats-toc__item--media { --toc-ink: rgb(120 48 140); }
.formats-toc__item--rent { --toc-ink: var(--red); }
.formats-toc__item--outdoor { --toc-ink: rgb(214 132 58); }
.formats-toc__item--indoor { --toc-ink: rgb(25 99 172); }
.formats-toc__item--print { --toc-ink: rgb(120 82 18); }

.formats-toc__index,
.formats-toc__icon,
.formats-toc__title {
    position: relative;
    z-index: 1;
}

.formats-toc__index {
    font-size: var(--fs-meta);
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: var(--toc-ink);
}

.formats-toc__icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    color: var(--toc-ink);
    background: rgb(255 255 255 / 0.55);
    border: 1px solid rgb(255 255 255 / 0.88);
    border-radius: 50%;
}

.formats-toc__title {
    position: relative;
    z-index: 1;
    font-size: 1.02rem;
    font-weight: 650;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.formats-toc__item:hover,
.formats-toc__item:focus-visible {
    color: var(--ink);
    z-index: 2;
    transform: scale(1.02);
    border-color: rgb(255 255 255 / 0.95);
}

.formats-toc__item:hover .formats-toc__title,
.formats-toc__item:focus-visible .formats-toc__title {
    color: var(--red);
}

.formats-stack > .formats-chapter:first-of-type {
    margin-top: 0;
}

.formats-chapter + .formats-chapter {
    margin-top: var(--space-3);
}

.formats-chapter__head {
    position: relative;
    z-index: 1;
    margin: 0 0 var(--space-3);
}

.formats-chapter__kicker {
    margin: 0 0 6px;
    color: var(--red);
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.formats-chapter__head h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 8px;
    font-size: var(--fs-h2);
    letter-spacing: -0.03em;
}

.formats-chapter__icon {
    display: grid;
    place-items: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    color: var(--red);
    background: rgb(255 255 255 / 0.55);
    border: 1px solid rgb(255 255 255 / 0.88);
    border-radius: 50%;
}

.formats-chapter__icon svg {
    width: 20px;
    height: 20px;
}

.formats-chapter__head p {
    margin: 0;
    max-width: 46rem;
    color: var(--muted);
}

.formats-chapter .distro-card--format {
    min-height: 188px;
}

.distro-grid--formats-pair {
    grid-template-columns: 1fr 1fr;
}

.section--map {
    background: #fff;
}

.kamchatka-art {
    position: relative;
    width: min(100%, var(--max));
    margin: 0 auto;
    aspect-ratio: 1024 / 576;
    background: #fff;
}

.kamchatka-art__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.kamchatka-art__overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.kamchatka-art__district,
.kamchatka-art__hit {
    fill: transparent;
    stroke: transparent;
    cursor: pointer;
    pointer-events: auto;
    outline: none;
    transition: fill var(--duration-hover) var(--ease-standard), stroke var(--duration-hover) var(--ease-standard);
}

.kamchatka-art__district:focus-visible,
.kamchatka-art__hit:focus-visible {
    stroke: var(--red);
    stroke-width: 1.5;
}

.kamchatka-art__district[data-district="ust-kamchatsk"]:hover,
.kamchatka-art__district[data-district="ust-kamchatsk"]:focus-visible,
.kamchatka-art__district[data-district="ust-kamchatsk"].is-on,
.kamchatka-art:has([data-district="ust-kamchatsk"]:hover) .kamchatka-art__district[data-district="ust-kamchatsk"],
.kamchatka-art:has([data-district="ust-kamchatsk"]:focus-visible) .kamchatka-art__district[data-district="ust-kamchatsk"] {
    fill: rgb(47 162 126 / 0.26);
}

.kamchatka-art__district[data-district="ust-bolsheretsk"]:hover,
.kamchatka-art__district[data-district="ust-bolsheretsk"]:focus-visible,
.kamchatka-art__district[data-district="ust-bolsheretsk"].is-on,
.kamchatka-art:has([data-district="ust-bolsheretsk"]:hover) .kamchatka-art__district[data-district="ust-bolsheretsk"],
.kamchatka-art:has([data-district="ust-bolsheretsk"]:focus-visible) .kamchatka-art__district[data-district="ust-bolsheretsk"] {
    fill: rgb(227 80 100 / 0.22);
}

.kamchatka-art__district[data-district="elizovo"]:hover,
.kamchatka-art__district[data-district="elizovo"]:focus-visible,
.kamchatka-art__district[data-district="elizovo"].is-on,
.kamchatka-art:has([data-district="elizovo"]:hover) .kamchatka-art__district[data-district="elizovo"],
.kamchatka-art:has([data-district="elizovo"]:focus-visible) .kamchatka-art__district[data-district="elizovo"] {
    fill: rgb(248 198 71 / 0.24);
}

.kamchatka-art__hit:hover,
.kamchatka-art__hit:focus-visible,
.kamchatka-art__hit.is-on {
    fill: rgb(227 30 36 / 0.08);
}

.kamchatka-art__major {
    pointer-events: none;
}

.kamchatka-art__ring {
    fill: none;
    stroke: var(--red);
    stroke-width: 2;
    opacity: 0;
    transform-origin: center;
    transform-box: fill-box;
    transform: scale(0.7);
}

.kamchatka-art:has([data-district="cities"]:hover) .kamchatka-art__major[data-animate~="cities"] .kamchatka-art__ring,
.kamchatka-art:has([data-district="cities"]:focus-visible) .kamchatka-art__major[data-animate~="cities"] .kamchatka-art__ring,
.kamchatka-art:has([data-district="elizovo"]:hover) .kamchatka-art__major[data-animate~="elizovo"] .kamchatka-art__ring,
.kamchatka-art:has([data-district="elizovo"]:focus-visible) .kamchatka-art__major[data-animate~="elizovo"] .kamchatka-art__ring,
.kamchatka-art__major.is-on .kamchatka-art__ring {
    opacity: 0.9;
    animation: kamchatka-major-ring var(--duration-enter) var(--ease-standard) infinite;
}


@keyframes kamchatka-major-ring {
    50% {
        opacity: 0.2;
        transform: scale(1.35);
    }
}
.stats-grid,
.card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--space-2);
}

.direction-card,
.stat-card,
.content-card {
    border-top: 1px solid var(--line);
    border-radius: 0;
    padding: var(--space-3) 0;
    background: transparent;
}

.content-card h3 {
    margin: 6px 0 8px;
    font-size: 1.35rem;
    letter-spacing: -0.02em;
}

.news-grid {
    display: grid;
    gap: var(--space-4) var(--space-3);
}

.news-grid--home {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.news-grid--archive {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.news-grid__more {
    margin: var(--space-4) 0 0;
}

.news-item {
    min-width: 0;
    height: 100%;
}

.news-item__link.glass {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: var(--ink);
    --glass-blur: 18px;
    --glass-saturate: 1.55;
    --glass-spot: rgb(255 255 255 / 0.62);
    --glass-highlight: rgb(255 255 255 / 0.9);
    background: rgb(255 255 255 / 0.58);
    border-color: rgb(255 255 255 / 0.82);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.86),
        inset 0 -1px 0 rgb(255 255 255 / 0.14);
    transform-origin: center;
    transition:
        transform var(--duration-hover) var(--ease-standard),
        border-color var(--duration-hover) var(--ease-standard);
}

.news-item__link.glass::before {
    mix-blend-mode: screen;
    opacity: 0.8;
}

.news-item__media {
    display: block;
    position: relative;
    z-index: 1;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: transparent;
    border-bottom: 1px solid rgb(255 255 255 / 0.42);
}

.news-item__media--empty.glass {
    --glass-blur: 22px;
    --glass-spot: rgb(255 255 255 / 0.78);
    background:
        linear-gradient(
            165deg,
            rgb(255 255 255 / 0.58) 0%,
            rgb(255 255 255 / 0.12) 46%,
            rgb(255 255 255 / 0.32) 100%
        );
    border: 0;
    border-bottom: 1px solid rgb(255 255 255 / 0.5);
    border-radius: 0;
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.8),
        inset 0 -18px 28px rgb(255 255 255 / 0.12);
}

.news-item__media--empty.glass::before {
    mix-blend-mode: screen;
}

.news-item__image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    transition: transform var(--duration-hover) var(--ease-standard);
}

.news-item__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    position: relative;
    z-index: 1;
    padding: 14px 16px 16px;
    min-height: 0;
}

.news-item__date {
    color: var(--muted);
    font-size: var(--fs-meta);
    font-variant-numeric: tabular-nums;
}

.news-item__kicker {
    display: block;
    margin: 0 0 6px;
    color: var(--orange);
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.news-item--promo .news-item__media {
    aspect-ratio: 4 / 3;
    background: var(--paper);
}

.news-item--promo .news-item__image {
    inset: 8px;
    width: calc(100% - 16px);
    height: calc(100% - 16px);
    object-fit: contain;
    object-position: center;
}

.news-item--promo .news-item__excerpt {
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.news-item__title {
    margin: 8px 0 10px;
    font-size: 1.12rem;
    line-height: 1.25;
    letter-spacing: -0.02em;
    transition: color var(--duration-hover) var(--ease-standard);
}

.news-item__excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    line-clamp: 3;
    overflow: hidden;
    margin: 0 0 var(--space-2);
    color: var(--text);
    font-size: 0.95rem;
    line-height: 1.45;
}

.news-item__more {
    margin-top: auto;
    color: var(--red);
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.news-item__link:hover,
.news-item__link:focus-visible {
    color: inherit;
    z-index: 2;
    transform: scale(1.01);
    border-color: rgb(255 255 255 / 0.95);
    --glass-spot: rgb(255 255 255 / 0.85);
}

.news-item__link:hover .news-item__title,
.news-item__link:focus-visible .news-item__title {
    color: var(--red);
}

.news-item__link:hover .news-item__image,
.news-item__link:focus-visible .news-item__image {
    transform: scale(1.02);
}

.news-item--promo .news-item__link:hover .news-item__image,
.news-item--promo .news-item__link:focus-visible .news-item__image {
    transform: none;
}

.news-item__link:active {
    transform: none;
}

.news-item__link:focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 4px;
}

.pagination {
    margin-top: var(--space-5);
}

.pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid var(--line);
    color: var(--ink);
    font-size: var(--fs-meta);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.04em;
    transition:
        color var(--duration-hover) var(--ease-standard),
        background-color var(--duration-hover) var(--ease-standard),
        border-color var(--duration-hover) var(--ease-standard);
}

.pagination a.page-numbers:hover,
.pagination a.page-numbers:focus-visible {
    color: var(--red);
    border-color: var(--red);
}

.pagination .page-numbers.current {
    background: var(--ink);
    border-color: var(--ink);
    color: #fff;
}

.pagination .page-numbers.dots {
    border: 0;
    min-width: 1.5rem;
    padding: 0;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 22px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--red) 78%, transparent);
    backdrop-filter: blur(14px) saturate(1.6);
    -webkit-backdrop-filter: blur(14px) saturate(1.6);
    color: #fff;
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28);
    cursor: pointer;
    transition: background-color var(--duration-hover) var(--ease-standard), transform var(--duration-hover) var(--ease-standard);
}

.btn:hover { background: color-mix(in srgb, var(--red-hover) 86%, transparent); color: #fff; }
.btn:active { transform: scale(0.98); }

.btn.cinema-facts__cta {
    display: flex;
    width: 100%;
    min-height: 56px;
    gap: 12px;
    border-radius: var(--radius-glass);
    background: color-mix(in srgb, var(--red) 88%, #141414);
}

.btn.cinema-facts__cta:hover,
.btn.cinema-facts__cta:focus-visible {
    background: var(--red-hover);
    color: #fff;
}

.btn.cinema-facts__cta [aria-hidden] {
    transition: transform var(--duration-hover) var(--ease-standard);
}

.btn.cinema-facts__cta:hover [aria-hidden],
.btn.cinema-facts__cta:focus-visible [aria-hidden] {
    transform: translateX(4px);
}
.btn:disabled,
.btn.is-loading {
    background: #8d8d8d;
    cursor: not-allowed;
    transform: none;
}

.prose {
    max-width: none;
    width: 100%;
}
.container.prose {
    width: min(var(--max), calc(100% - 32px));
}
.distro-sheet .prose {
    max-width: 42rem;
    width: auto;
}
.prose p { margin: 0 0 16px; }
.prose ul { padding-left: 1.1rem; }

.timeline { border-left: 1px solid var(--line); margin: 0; padding-left: var(--space-3); }
.timeline__item { margin: 0 0 var(--space-3); }
.timeline__item strong {
    display: block;
    color: var(--red);
    font-variant-numeric: tabular-nums;
}

.process-list {
    list-style: none;
    margin: 0;
    padding: 0;
    max-width: 44rem;
}

.process-list li {
    display: grid;
    grid-template-columns: 3rem 1fr;
    gap: var(--space-2);
    padding: var(--space-2) 0;
    border-top: 1px solid var(--line);
}

.process-list .num {
    color: var(--red);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.form {
    display: grid;
    gap: var(--space-2);
    max-width: 560px;
}

.form-block {
    margin-top: var(--space-4);
    padding: 22px 22px 24px;
    color: var(--ink);
    --glass-blur: 28px;
    --glass-saturate: 1.85;
    --glass-spot: rgb(255 255 255 / 0.62);
    --glass-highlight: rgb(255 255 255 / 0.95);
    background: rgb(255 255 255 / 0.22);
    border-color: rgb(255 255 255 / 0.72);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.88),
        inset 0 -1px 0 rgb(255 255 255 / 0.14);
}

.form-block.glass::before {
    mix-blend-mode: screen;
    opacity: 0.82;
}

.form-block h2,
.form-block__lead,
.form-block .form {
    position: relative;
    z-index: 1;
}

.form-block h2 {
    margin: 0 0 var(--space-3);
}

.form-block__lead {
    margin: 0 0 var(--space-3);
}

.inquiry-cta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3) var(--space-4);
    margin-top: var(--space-4);
    padding: 22px 24px 24px;
    color: var(--ink);
    --glass-blur: 28px;
    --glass-saturate: 1.85;
    --glass-spot: rgb(255 255 255 / 0.62);
    --glass-highlight: rgb(255 255 255 / 0.95);
    background: rgb(255 255 255 / 0.22);
    border-color: rgb(255 255 255 / 0.72);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.88),
        inset 0 -1px 0 rgb(255 255 255 / 0.14);
}

.inquiry-cta.glass::before {
    mix-blend-mode: screen;
    opacity: 0.82;
}

.inquiry-cta__copy,
.inquiry-cta .btn {
    position: relative;
    z-index: 1;
}

.inquiry-cta__copy {
    flex: 1 1 16rem;
}

.inquiry-cta h2 {
    margin: 0 0 6px;
}

.inquiry-cta__lead {
    margin: 0;
    max-width: 36rem;
}

.inquiry-cta .btn {
    flex: 0 0 auto;
    min-width: 12.5rem;
}

.inquiry-cta.inquiry-cta--inline {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: var(--space-3);
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    box-shadow: none;
    color: inherit;
}

.inquiry-cta.inquiry-cta--inline .inquiry-cta__copy,
.inquiry-cta.inquiry-cta--inline .btn {
    position: relative;
    z-index: 1;
}

.inquiry-cta.inquiry-cta--inline .inquiry-cta__copy {
    flex: 0 0 auto;
    width: 100%;
}

.inquiry-cta.inquiry-cta--inline h3 {
    margin: 0 0 var(--space-2);
    font-size: 1.05rem;
    letter-spacing: -0.02em;
}

.inquiry-cta.inquiry-cta--inline .inquiry-cta__lead {
    margin: 0;
    max-width: none;
}

.inquiry-cta.inquiry-cta--inline .btn {
    flex: 0 0 auto;
    min-width: 0;
    width: auto;
}

.section > .container > .inquiry-distro:first-child .inquiry-cta {
    margin-top: 0;
}

.contacts-block {
    position: relative;
    z-index: 1;
}

.section--contacts {
    background:
        radial-gradient(68% 48% at 92% 78%, rgb(239 127 26 / 0.18), transparent 58%),
        radial-gradient(54% 38% at 6% 86%, rgb(254 204 0 / 0.22), transparent 52%),
        var(--bg);
}

.commerce-block {
    margin-top: var(--space-4);
    padding: 24px 24px 26px;
    color: var(--ink);
    scroll-margin-top: calc(var(--header-h) + 16px);
    --glass-blur: 46px;
    --glass-saturate: 2.25;
    --glass-spot: rgb(255 255 255 / 0.94);
    --glass-highlight: #fff;
    --glass-edge: rgb(255 255 255 / 0.9);
    background:
        linear-gradient(
            155deg,
            rgb(255 255 255 / 0.46) 0%,
            rgb(255 255 255 / 0.14) 48%,
            rgb(255 248 236 / 0.2) 100%
        );
    border-color: rgb(255 255 255 / 0.92);
    box-shadow:
        inset 0 1px 0 #fff,
        inset 1px 0 0 rgb(255 214 170 / 0.32),
        inset -1px 0 0 rgb(255 255 255 / 0.38),
        inset 0 -1px 0 rgb(255 255 255 / 0.3),
        inset 0 0 0 1px rgb(255 255 255 / 0.5),
        0 1px 0 rgb(255 255 255 / 0.74),
        0 18px 40px rgb(20 20 20 / 0.06);
}

.commerce-block.glass::before {
    opacity: 0.92;
    mix-blend-mode: screen;
    background:
        radial-gradient(
            340px 220px at var(--glass-x) var(--glass-y),
            rgb(255 255 255 / 0.9),
            transparent 70%
        ),
        linear-gradient(
            125deg,
            rgb(255 255 255 / 0.46) 0%,
            transparent 42%,
            transparent 60%,
            rgb(255 236 210 / 0.18) 100%
        );
}

.commerce-block.glass::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(180deg, rgb(255 255 255 / 0.34), transparent 36%);
}

.commerce-block > * {
    position: relative;
    z-index: 1;
}

.commerce-block h2 {
    margin: 0 0 var(--space-2);
}

.commerce-block .contacts-head {
    --glass-blur: 30px;
    --glass-saturate: 1.95;
    background: rgb(255 255 255 / 0.3);
    border-color: rgb(255 255 255 / 0.92);
    box-shadow:
        inset 0 1px 0 #fff,
        inset 0 -1px 0 rgb(255 255 255 / 0.22),
        0 10px 28px rgb(20 20 20 / 0.05);
}

.commerce-block .contacts-search input {
    background: rgb(255 255 255 / 0.3);
    border-color: rgb(255 255 255 / 0.82);
    backdrop-filter: blur(22px) saturate(1.8);
    -webkit-backdrop-filter: blur(22px) saturate(1.8);
}

.commerce-block .index-list a {
    border-color: rgb(255 255 255 / 0.58);
    padding-inline: 8px;
    border-radius: 10px;
}

.commerce-block .index-list li:last-child a {
    border-bottom-color: rgb(255 255 255 / 0.58);
}

.commerce-block .index-list a:hover,
.commerce-block .index-list a:focus-visible {
    background: rgb(255 255 255 / 0.28);
}

.contacts-chapter,
.contacts-block .contacts-search {
    scroll-margin-top: calc(var(--header-h) + 16px);
}

.contacts-chapter + .contacts-chapter {
    margin-top: var(--space-5);
}

.contacts-block h2 {
    margin: 0 0 var(--space-2);
}

.contacts-lead {
    margin: 0 0 var(--space-3);
    max-width: none;
    color: var(--muted);
}

.contacts-offices,
.contacts-heads {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.contacts-office,
.contacts-head {
    min-width: 0;
    padding: 18px 18px 16px;
    color: var(--ink);
    --glass-blur: 22px;
    --glass-saturate: 1.6;
    --glass-spot: rgb(255 255 255 / 0.62);
    --glass-highlight: rgb(255 255 255 / 0.92);
    background: rgb(255 255 255 / 0.42);
    border-color: rgb(255 255 255 / 0.82);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 0.88),
        inset 0 -1px 0 rgb(255 255 255 / 0.14);
}

.contacts-office {
    border-left: 3px solid var(--tile-color, var(--red));
}

.contacts-office.glass::before,
.contacts-head.glass::before {
    mix-blend-mode: screen;
    opacity: 0.78;
}

.contacts-office__kicker {
    margin: 0 0 6px;
    color: var(--muted);
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.contacts-office__title,
.contacts-head h3,
.contacts-subhead {
    margin: 0 0 6px;
    font-size: 1.2rem;
    letter-spacing: -0.02em;
}

.contacts-office__title a {
    text-decoration: none;
}

.contacts-office__title a:hover,
.contacts-office__title a:focus-visible {
    color: var(--red);
}

.contacts-office__note {
    margin: 0 0 var(--space-2);
    color: var(--muted);
    font-size: 0.95rem;
}

.contacts-subhead {
    margin: var(--space-4) 0 var(--space-2);
}

.contacts-lines {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}

.contacts-lines li {
    display: grid;
    gap: 2px;
}

.contacts-lines span {
    color: var(--muted);
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.contacts-lines a,
.contacts-head {
    color: var(--ink);
    text-decoration: none;
    overflow-wrap: anywhere;
}

.contacts-lines a:hover,
.contacts-lines a:focus-visible {
    color: var(--red);
}

.contacts-head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    padding: 18px 18px 16px;
    transition:
        transform var(--duration-hover) var(--ease-standard),
        border-color var(--duration-hover) var(--ease-standard);
}

.contacts-head:hover,
.contacts-head:focus-visible {
    transform: scale(1.01);
}

.contacts-head:focus-visible {
    outline: 3px solid var(--ink);
    outline-offset: 2px;
}

.contacts-head__go {
    margin-top: auto;
    padding-top: var(--space-2);
    color: var(--red);
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.contacts-search {
    display: grid;
    gap: 6px;
    margin: 0 0 var(--space-3);
    max-width: 36rem;
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.contacts-search input {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 14px;
    padding: 12px 14px;
    font: inherit;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    color: var(--ink);
    background: rgba(255, 255, 255, 0.42);
    backdrop-filter: blur(16px) saturate(1.4);
    -webkit-backdrop-filter: blur(16px) saturate(1.4);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
    transition:
        border-color var(--duration-hover) var(--ease-standard),
        background-color var(--duration-hover) var(--ease-standard);
}

.contacts-search input:focus-visible {
    border-color: rgb(227 30 36 / 0.55);
    background: rgba(255, 255, 255, 0.62);
    outline: 3px solid var(--ink);
    outline-offset: 2px;
}

.contacts-cats {
    margin: 0;
}

.contacts-cats__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    max-width: 36rem;
    min-height: 48px;
    padding: 12px 16px;
    list-style: none;
    cursor: pointer;
    color: var(--ink);
    font-size: 0.98rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    border: 1px solid rgb(255 255 255 / 0.82);
    border-radius: 14px;
    background: rgb(255 255 255 / 0.3);
    backdrop-filter: blur(22px) saturate(1.8);
    -webkit-backdrop-filter: blur(22px) saturate(1.8);
    box-shadow: inset 0 1px 0 #fff;
    transition:
        border-color var(--duration-hover) var(--ease-standard),
        background-color var(--duration-hover) var(--ease-standard),
        transform var(--duration-hover) var(--ease-standard);
}

.contacts-cats__toggle::-webkit-details-marker {
    display: none;
}

.contacts-cats__toggle::marker {
    content: "";
}

.contacts-cats__toggle:hover {
    background: rgb(255 255 255 / 0.42);
}

.contacts-cats__toggle:focus-visible {
    outline: 3px solid var(--ink);
    outline-offset: 2px;
}

.contacts-cats__chevron {
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    margin-top: -3px;
    border-right: 2px solid var(--muted);
    border-bottom: 2px solid var(--muted);
    transform: rotate(45deg);
    transition: transform var(--duration-state) var(--ease-standard);
}

.contacts-cats[open] .contacts-cats__toggle {
    border-color: rgb(255 255 255 / 0.92);
    background: rgb(255 255 255 / 0.42);
}

.contacts-cats[open] .contacts-cats__chevron {
    margin-top: 3px;
    transform: rotate(225deg);
}

.contacts-cats__body {
    margin-top: var(--space-3);
}

@media (prefers-reduced-motion: no-preference) {
    .contacts-cats[open] .contacts-cats__body {
        animation: contacts-cats-in var(--duration-state) var(--ease-out);
    }
}

@keyframes contacts-cats-in {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

.contacts-empty {
    margin: 0 0 var(--space-3);
    color: var(--muted);
}

.index-list--cats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: var(--space-4);
}

.index-list--cats a {
    grid-template-columns: 2rem minmax(0, 1fr) auto;
    gap: 8px 12px;
    padding: 9px 0;
}

.index-list--cats .index-list__num {
    font-size: var(--fs-meta);
    color: var(--muted);
}

.index-list--cats .index-list__title {
    font-size: 0.98rem;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.index-list--cats .index-list__go {
    align-self: center;
}

.index-list--cats a:hover {
    transform: none;
}

.index-list--cats a:focus-visible {
    outline: 3px solid var(--ink);
    outline-offset: 2px;
}

.distro-sheet--form {
    width: min(40rem, 100%);
    padding: 16px 20px 18px;
}

.distro-sheet--form h2 {
    margin-bottom: var(--space-2);
}

.distro-sheet--form .form {
    position: relative;
    z-index: 1;
    max-width: none;
    margin-top: var(--space-2);
    text-align: left;
    gap: 10px 16px;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    align-items: start;
}

.distro-sheet--form .form textarea {
    min-height: 4.5rem;
}

.distro-sheet--form .form > label:has(textarea),
.distro-sheet--form .form > .form-consent,
.distro-sheet--form .form > .btn,
.distro-sheet--form .form > .form-status {
    grid-column: 1 / -1;
}

.form-consent {
    display: grid;
    gap: 10px;
    margin-top: 4px;
}

.form-legal {
    margin: 0;
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    line-height: 1.45;
}

.form .form-consent__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    font-size: 0.82rem;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    line-height: 1.45;
    color: var(--ink);
}

.form-consent__item input[type="checkbox"] {
    width: 1.15rem;
    height: 1.15rem;
    margin-top: 0.15em;
    flex: none;
    accent-color: var(--red);
    background: rgba(255, 255, 255, 0.7);
}

.form-consent__item a {
    color: var(--red);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.distro-sheet--form .btn {
    justify-self: start;
}

.form__req {
    color: var(--red);
}

.form label {
    display: grid;
    gap: 6px;
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.form input,
.form select,
.form textarea {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 14px;
    padding: 12px 14px;
    font: inherit;
    color: var(--ink);
    background: rgba(255, 255, 255, 0.42);
    backdrop-filter: blur(16px) saturate(1.4);
    -webkit-backdrop-filter: blur(16px) saturate(1.4);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
    transition: border-color var(--duration-hover) var(--ease-standard), background-color var(--duration-hover) var(--ease-standard);
}

.form input:focus-visible,
.form select:focus-visible,
.form textarea:focus-visible {
    border-color: rgb(227 30 36 / 0.55);
    background: rgba(255, 255, 255, 0.62);
}

.form-note,
.form-status {
    color: var(--muted);
    font-size: 0.95rem;
}

.form-status.is-ok {
    color: var(--ink);
}

.form-status.is-error {
    color: var(--red);
}

.form__hint {
    margin: 0;
    color: var(--muted);
    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.4;
    text-transform: none;
}

.form input[type="file"] {
    padding: 10px 12px;
}

.breadcrumbs {
    margin: 0 0 var(--space-3);
    font-size: var(--fs-meta);
    color: #9a9a9a;
}

.breadcrumbs a { color: #c8c8c8; }
.breadcrumbs a:hover { color: #fff; }

.site-footer {
    color: #c7c7c7;
    padding: var(--space-5) 0 var(--space-3);
    background:
        radial-gradient(ellipse 40% 50% at 80% 0%, rgba(255, 255, 255, 0.06), transparent 55%),
        var(--ink);
    border-top: 1px solid var(--glass-edge);
}

.site-footer a:hover { color: #fff; }

.site-footer h2 {
    color: #fff;
    font-size: var(--fs-meta);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.site-footer h2::before { content: none; }

.site-footer__grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: var(--space-4);
}

.footer-links li { margin-bottom: 8px; }

.site-footer__copy {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    margin-top: var(--space-4);
    padding-top: var(--space-2);
    font-size: var(--fs-meta);
}

body.nav-open { overflow: hidden; }

@media (max-width: 800px) {
    .site-logo__image {
        height: 40px;
        max-width: 168px;
    }
    .site-hotline { display: none; }
    .site-nav__hotline { display: block; }
    .site-nav__inner {
        grid-template-columns: 1fr;
        gap: var(--space-4);
        padding-top: var(--space-3);
    }
    .metro-grid--nav {
        grid-auto-rows: minmax(64px, auto);
        gap: 6px;
    }
    .metro-grid--nav .metro-tile.glass {
        min-height: 64px;
        padding: 8px 10px;
    }
    .metro-grid--nav .metro-grid__item--lg .metro-tile {
        min-height: 76px;
    }
    .index-list a {
        grid-template-columns: 3rem 1fr;
    }
    .index-list__go { display: none; }
    .index-list__note { display: block; }
    .index-list--cats {
        grid-template-columns: 1fr;
    }
    .index-list--cats a {
        grid-template-columns: 2rem 1fr;
    }
    .metro-grid {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: minmax(76px, auto);
    }
    .metro-grid--docs {
        grid-auto-rows: minmax(84px, auto);
    }
    .metro-grid__item--lg,
    .metro-grid__item--wide {
        grid-column: span 2;
        grid-row: auto;
    }
    .metro-grid__item--lg .metro-tile {
        min-height: 96px;
    }
    .metro-grid--facts {
        grid-auto-rows: minmax(88px, auto);
    }
    .metro-grid--facts .metro-grid__item--lg {
        grid-row: span 2;
    }
    .metro-grid--facts .metro-grid__item--lg .metro-tile {
        min-height: 0;
    }
    .metro-grid--contacts {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: minmax(96px, auto);
    }
    .metro-grid--boards {
        grid-template-columns: repeat(var(--boards-cols, 2), minmax(0, 1fr));
    }
    .metro-grid--reach {
        grid-template-columns: 1fr;
    }
    .career-principles {
        grid-template-columns: 1fr;
        gap: var(--space-3);
    }
    .career-resume__links {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
    .career-resume__links span[aria-hidden] {
        display: none;
    }
    .metro-grid--contacts .metro-tile.glass,
    .metro-grid--contacts .metro-grid__item--lg .metro-tile {
        min-height: 96px;
    }
    .contacts-offices,
    .contacts-heads {
        grid-template-columns: 1fr;
    }
    .stats-band__grid,
    .stats-inline { grid-template-columns: 1fr 1fr; }
    .about-panel .stats-inline--lead { grid-template-columns: 1fr; }
    .stats-inline--glass { grid-template-columns: 1fr 1fr; }
    .distro-sheet {
        padding: 16px 22px 20px;
    }
    .distro-sheet--hall {
        --hall-screen-bend: 28px;
        padding-top: 10px;
    }
    .hall-screen__arc {
        height: 24px;
    }
    .place-split,
    .promo-split {
        grid-template-columns: 1fr;
        gap: var(--space-3);
    }
    .place-gallery--hall {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .place-lightbox {
        padding: 64px 16px 80px;
    }
    .place-lightbox__image {
        max-height: calc(100svh - 176px);
    }
    .place-lightbox__nav--prev,
    .place-lightbox__nav--next {
        top: auto;
        bottom: 16px;
        transform: none;
    }
    .doc-reader {
        grid-template-columns: 1fr;
    }
    .doc-reader__list {
        grid-auto-flow: column;
        grid-auto-columns: minmax(168px, 1fr);
        overflow-x: auto;
        overscroll-behavior-x: contain;
        padding-bottom: 4px;
    }
    .doc-reader__stage,
    .doc-reader__frame {
        min-height: 52vh;
    }
    .distro-sheet .media-plate--scene .media-plate__copy,
    .topic-panel .media-plate--scene .media-plate__copy {
        top: 8px;
        right: 8px;
        left: 8px;
        width: auto;
        margin: 0;
        padding: 8px 6px 10px;
    }
    .distro-sheet .media-plate__copy .stats-inline,
    .topic-panel .media-plate__copy .stats-inline {
        grid-template-columns: repeat(var(--stats-cols, 4), minmax(0, 1fr));
        gap: 6px;
    }
    .distro-sheet .media-plate__copy .stats-inline strong,
    .topic-panel .media-plate__copy .stats-inline strong {
        font-size: clamp(0.7rem, 2.6vw, 0.92rem);
        white-space: nowrap;
    }
    .distro-sheet .media-plate__copy .stats-inline span,
    .topic-panel .media-plate__copy .stats-inline span {
        font-size: 0.52rem;
        margin-top: 4px;
    }
    .site-footer__grid { grid-template-columns: 1fr; }
    .news-grid--home,
    .news-grid--archive {
        grid-template-columns: 1fr;
    }
    .retail-promos {
        --promo-cols: 1;
        --promo-body: 8.5rem;
    }
    .retail-promos__grid {
        grid-template-columns: 1fr;
    }
    .banner-rail__media {
        aspect-ratio: 16 / 9;
    }
    .banner-rail__copy {
        margin-top: 10px;
    }
    .stage { min-height: calc(100svh - var(--header-h)); padding-top: var(--space-5); }
    .stage.stage--scene,
    .hero.hero--scene {
        display: flex;
        flex-direction: column;
        min-height: 0;
        padding: 0;
    }
    .stage--scene .container,
    .hero--scene .container {
        display: flex;
        padding-top: var(--space-4);
        padding-bottom: var(--space-5);
    }
    .hero__copy,
    .stage__copy {
        width: 100%;
    }
    .scene-media {
        width: 100%;
    }
    .kamchatka-art {
        width: 100%;
    }
    .distro-grid {
        grid-template-columns: 1fr;
    }
    .distro-grid--formats,
    .distro-grid--formats-pair {
        grid-template-columns: 1fr;
    }
    .formats-toc {
        grid-template-columns: 1fr;
    }
    .formats-toc__item {
        flex-direction: row;
        justify-content: flex-start;
        min-height: 64px;
        padding: 10px 14px;
        text-align: left;
    }
    .formats-toc__icon {
        width: 40px;
        height: 40px;
    }
    .formats-toc__icon svg {
        width: 22px;
        height: 22px;
    }
    .about-panel,
    .commerce-block {
        padding: 16px 16px 18px;
    }
    .docs-block:not(.docs-block--register) {
        padding: 16px 16px 18px;
    }
    .brands-block {
        padding: 16px 16px 16px;
    }
    .amenities-block,
    :is(.halls-block, .loyalty-block, .stores-block, .formats-chapter),
    .produce-block,
    .cinema-facts {
        padding: 16px 16px 16px;
    }

    .produce-grid {
        grid-template-columns: 1fr;
    }

    .produce-card {
        min-height: 148px;
        aspect-ratio: 2.35 / 1;
    }

    .produce-card__copy {
        padding: 16px 42% 14px 16px;
    }
    .stores-layout {
        grid-template-columns: 1fr;
    }
    .kuper-note--stores {
        align-items: stretch;
    }
    .kuper-note--stores .btn {
        width: 100%;
    }
    .kuper-delivery {
        grid-template-columns: 1fr;
        gap: var(--space-2);
    }
    .kuper-delivery__actions .btn {
        width: 100%;
    }
    .kuper-route {
        min-height: 104px;
        grid-template-columns: 60px minmax(0, 1fr) minmax(108px, 136px);
    }
    .kuper-route__stop > svg,
    .kuper-route__home > svg:not(.kuper-route__buyer) {
        width: 60px;
        height: 60px;
    }
    .kuper-route__buyer {
        width: 30px;
        height: 44px;
    }
    .stores-filters__chips {
        display: flex;
        flex-wrap: wrap;
    }
    .store-chip span {
        padding: 9px 12px;
    }
    .stores-grid__list {
        grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
    }
    .store-card {
        padding: 10px 10px 8px;
    }
    .promo-split {
        grid-template-columns: 1fr;
    }
    .about-panel__film:not(.about-panel__film--run) {
        top: 10px;
        right: 4px;
        width: 210px;
        height: 72px;
        opacity: 0.86;
    }

    .about-panel__film--run {
        inset: -8% -28%;
        gap: 36px;
        transform: rotate(-18deg);
    }

    .about-panel__film--run .about-panel__reel {
        height: 64px;
    }

    .about-panel__film--run .about-panel__reel:nth-child(3) {
        display: none;
    }
    .form-block {
        padding: 16px 16px 18px;
    }
    .inquiry-cta {
        flex-direction: column;
        align-items: stretch;
        padding: 16px 16px 18px;
    }
    .career-resume__pair {
        grid-template-columns: 1fr;
        gap: var(--space-3);
    }
    .career-resume__plate.glass {
        padding: 18px 16px 18px;
    }
    .career-resume__apply {
        padding-left: 0;
        padding-top: var(--space-3);
        border-left: none;
        border-top: 1px solid rgb(255 255 255 / 0.62);
    }
    .inquiry-cta.inquiry-cta--inline {
        align-items: flex-start;
        padding: 0;
    }
    .inquiry-cta.inquiry-cta--inline .btn {
        width: auto;
    }
    .inquiry-cta .btn {
        width: 100%;
        min-width: 0;
    }
    .amenity-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .brand-rail__slot {
        width: 112px;
        height: 76px;
    }
    .distro-grid--topics {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 2px;
        padding-bottom: 6px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
    .distro-grid--topics .distro-card {
        flex: 0 0 min(72vw, 220px);
        scroll-snap-align: start;
        min-height: 80px;
    }
    .leader-letter {
        grid-template-columns: 1fr;
        justify-items: center;
        max-width: none;
    }
    .leader-letter__photo {
        width: min(220px, 70%);
    }
    .leader-letter__copy {
        width: 100%;
    }
    .year-rail__card {
        flex-basis: min(88%, 300px);
        min-height: 200px;
    }
    .step-flow {
        grid-template-columns: 1fr;
        gap: 0;
        padding-left: 2px;
    }
    .step-flow__item {
        padding: 14px 0 22px 56px;
        background: transparent;
        border: 0;
        border-radius: 0;
    }
    .step-flow__item:not(:last-child)::after {
        content: "";
        top: 42px;
        left: 18px;
        width: 2px;
        height: calc(100% - 28px);
        background: var(--red);
        opacity: 0.35;
    }
    .step-flow__item:last-child::after {
        display: none;
    }
    .step-flow__num {
        position: absolute;
        left: 0;
        top: 14px;
    }
    .media-plate__art {
        aspect-ratio: 16 / 9;
    }
    .media-plate__image {
        object-fit: cover;
        object-position: center 30%;
    }
    .media-plate--scene .media-plate__copy {
        width: calc(100% - 20px);
        margin: 10px;
        padding: 12px 14px;
    }
    .media-plate__copy .stats-inline strong {
        font-size: 1.35rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .site-nav { transform: none; }
    .site-header::after { display: none; }
    .kamchatka-art__overlay {
        display: none;
    }

    .metro-grid__item {
        animation: none;
    }

    .about-panel__reel {
        animation: none;
    }

    .about-panel__film {
        opacity: 0.4;
    }

    .social-links a:hover,
    .social-links a:focus-visible,
    .social-links a:active {
        transform: none;
    }

    .metro-tile:hover,
    .metro-tile:focus-visible,
    .metro-tile:active,
    .formats-toc__item:hover,
    .formats-toc__item:focus-visible {
        transform: none;
    }

    .news-item__link:hover,
    .news-item__link:focus-visible,
    .news-item__link:hover .news-item__image,
    .news-item__link:focus-visible .news-item__image {
        transform: none;
    }

    .store-chip:hover span,
    .store-chip:focus-visible span,
    .store-chip:has(input:focus-visible) span,
    .store-card--supermarket:hover,
    .store-card--supermarket:focus-within,
    .store-card--probochka:hover,
    .store-card--probochka:focus-within,
    .loyalty-block .distro-card--loyalty:hover,
    .loyalty-block .distro-card--loyalty:focus-visible,
    .loyalty-block .distro-card--light.distro-card--loyalty:hover,
    .loyalty-block .distro-card--light.distro-card--loyalty:focus-visible,
    .produce-card:hover,
    .produce-card:focus-visible,
    .produce-card:active,
    .produce-card:hover .produce-card__go,
    .produce-card:focus-visible .produce-card__go {
        transform: none;
    }

    .distro-card:hover,
    .distro-card:focus-visible,
    .distro-card--place-mall:active,
    :is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--hall:active {
        transform: none;
    }

    .distro-sheet {
        transform: none;
    }

    .place-gallery__link:hover,
    .place-gallery__link:focus-visible,
    .place-gallery__link:active {
        transform: none;
    }

    .btn.cinema-facts__cta:hover [aria-hidden],
    .btn.cinema-facts__cta:focus-visible [aria-hidden],
    .kuper-note--stores .btn:hover [aria-hidden],
    .kuper-note--stores .btn:focus-visible [aria-hidden],
    .kuper-delivery__actions .btn:hover [aria-hidden],
    .kuper-delivery__actions .btn:focus-visible [aria-hidden] {
        transform: none;
    }

    .kuper-route__traveler,
    .kuper-route__wheel,
    .kuper-route__buyer {
        animation: none !important;
    }

    .kuper-route__traveler {
        transform: translateX(calc(72% - 44px));
        opacity: 1;
    }

    .kuper-route__buyer {
        transform: none;
    }

    .place-lightbox__stage {
        transform: none;
    }

    .year-rail__track,
    .banner-rail__track {
        scroll-snap-type: none;
        scroll-behavior: auto;
    }

    .brand-rail--ticker .brand-rail__list {
        position: static;
        width: auto;
        height: auto;
        margin: 0;
        overflow: visible;
        clip: unset;
        clip-path: none;
        white-space: normal;
    }

    .brand-rail--ticker .brand-rail__viewport {
        display: none;
    }

    .brand-rail__track {
        animation: none;
    }

    .metro-sun,
    .metro-beam {
        transition: none;
    }

    .metro-sun__spokes {
        animation: none;
    }

    .stats-band__ray {
        animation: none;
        opacity: 0;
    }
}

@media (prefers-reduced-transparency: reduce) {
    .glass,
    .site-header::before,
    .site-nav,
    .nav-toggle,
    .btn,
    .form input,
    .form select,
    .form textarea,
    .contacts-search input,
    .contacts-cats__toggle {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .site-header::before {
        background: var(--paper);
    }

    .site-header .nav-toggle {
        background: var(--paper);
        color: var(--ink);
        border-color: var(--line);
    }

    .site-nav {
        background: #bdb8ae;
        color: var(--ink);
    }

    .site-nav::before { display: none; }

    .glass,
    .nav-toggle {
        background: #1c1c1c;
    }

    .site-nav__company.glass {
        background: var(--paper);
        color: var(--ink);
        border-color: var(--line);
        box-shadow: none;
    }

    .section--metro,
    .section--holding,
    .section--contacts {
        background: var(--bg);
    }

    .commerce-block.glass::after {
        display: none;
    }

    .section--metro::before,
    .metro-scene__light,
    .stats-band__rays {
        display: none;
    }

    .metro-tile.glass,
    .news-item__link.glass,
    .news-item__media--empty.glass,
    .hero--scene .hero__copy.glass,
    .stage--scene .stage__copy.glass,
    .media-plate__copy.glass,
    .distro-sheet.glass,
    .about-panel.glass,
    .commerce-block.glass,
    .brands-block.glass,
    .amenities-block.glass,
    :is(.halls-block, .loyalty-block, .stores-block, .formats-chapter).glass,
    .produce-block.glass,
    .store-card.glass,
    .stores-filters.glass,
    .store-chip span,
    .cinema-facts.glass,
    .cinema-fact.glass,
    .form-block.glass,
    .inquiry-cta.glass,
    .career-resume__plate.glass {
        background: var(--paper);
        border-color: var(--line);
        color: var(--ink);
        box-shadow: none;
    }

    .produce-scene {
        display: none;
    }

    .metro-tile.glass:hover,
    .metro-tile.glass:focus-visible {
        background: var(--tile-color);
        color: var(--tile-ink, var(--ink));
        border-color: var(--tile-color);
    }

    .distro-card.glass {
        background: var(--ink);
        color: #f4f4f4;
        border-color: rgb(255 255 255 / 0.16);
        box-shadow: none;
    }

    .distro-card--light.glass {
        background: rgb(255 255 255 / 0.86);
        color: var(--ink);
        border-color: rgb(255 255 255 / 0.95);
    }

    .distro-card--light.glass::after {
        display: none;
    }

    :is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--hall.glass {
        background: var(--tile-color);
        color: var(--tile-ink, var(--ink));
        border-color: var(--tile-color);
        box-shadow: none;
    }

    :is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--hall.glass:hover,
    :is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--hall.glass:focus-visible {
        background: color-mix(in srgb, var(--tile-color) 42%, var(--paper));
        color: var(--ink);
        border-color: color-mix(in srgb, var(--tile-color) 36%, var(--line));
    }

    .halls-block .distro-card--hall.glass {
        background: var(--paper);
        color: var(--ink);
        border-color: var(--line);
    }

    .halls-block .distro-card--hall.glass:hover,
    .halls-block .distro-card--hall.glass:focus-visible {
        background: var(--tile-color);
        color: var(--tile-ink, var(--ink));
        border-color: var(--tile-color);
    }

    .distro-card--place-cinema.glass {
        background: var(--blue);
        color: #fff;
        border-color: var(--blue);
    }

    .distro-card--place-probochka.glass {
        background: var(--red);
        color: #fff;
        border-color: var(--red);
    }

    .distro-card--place-supermarket.glass {
        background: var(--orange);
        color: var(--ink);
        border-color: var(--orange);
    }

    .distro-card--place-mall.glass {
        background: var(--paper);
        color: var(--ink);
        border-color: var(--line);
    }

    .distro-card--place-mall.glass:hover,
    .distro-card--place-mall.glass:focus-visible {
        background: var(--yellow);
        color: var(--ink);
        border-color: var(--yellow);
    }

    .hero:not(.hero--scene) .hero__copy.glass,
    .stage:not(.stage--scene) .stage__copy.glass {
        background: #1c1c1c;
        color: #f4f4f4;
        border-color: rgb(255 255 255 / 0.16);
        box-shadow: none;
    }

    .btn { background: var(--red); }
    .form input,
    .form select,
    .form textarea,
    .contacts-search input,
    .contacts-cats__toggle { background: var(--paper); }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .site-header::before {
        background: var(--paper);
    }

    .site-header .nav-toggle {
        background: var(--paper);
        color: var(--ink);
        border-color: var(--line);
    }

    .site-nav {
        background: #bdb8ae;
        color: var(--ink);
    }

    .site-nav::before { display: none; }

    .glass {
        background: #1d1d1d;
    }

    .site-nav__company.glass {
        background: var(--paper);
        color: var(--ink);
        border-color: var(--line);
        box-shadow: none;
    }

    .section--metro::before,
    .metro-scene__light,
    .stats-band__rays {
        display: none;
    }

    .metro-tile.glass,
    .news-item__link.glass,
    .news-item__media--empty.glass,
    .hero--scene .hero__copy.glass,
    .stage--scene .stage__copy.glass,
    .media-plate__copy.glass,
    .distro-sheet.glass,
    .about-panel.glass,
    .commerce-block.glass,
    .brands-block.glass,
    .amenities-block.glass,
    :is(.halls-block, .loyalty-block, .stores-block, .formats-chapter).glass,
    .produce-block.glass,
    .store-card.glass,
    .stores-filters.glass,
    .store-chip span,
    .cinema-facts.glass,
    .cinema-fact.glass,
    .form-block.glass,
    .inquiry-cta.glass,
    .career-resume__plate.glass {
        background: var(--paper);
        border-color: var(--line);
        color: var(--ink);
        box-shadow: none;
    }

    .produce-scene {
        display: none;
    }

    .metro-tile.glass:hover,
    .metro-tile.glass:focus-visible {
        background: var(--tile-color);
        color: var(--tile-ink, var(--ink));
        border-color: var(--tile-color);
    }

    .distro-card.glass {
        background: var(--ink);
        color: #f4f4f4;
        border-color: rgb(255 255 255 / 0.16);
        box-shadow: none;
    }

    .distro-card--light.glass {
        background: rgb(255 255 255 / 0.86);
        color: var(--ink);
        border-color: rgb(255 255 255 / 0.95);
    }

    .distro-card--light.glass::after {
        display: none;
    }

    :is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--hall.glass {
        background: var(--tile-color);
        color: var(--tile-ink, var(--ink));
        border-color: var(--tile-color);
        box-shadow: none;
    }

    :is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--hall.glass:hover,
    :is(.halls-block, .loyalty-block, .stores-block, .formats-chapter) .distro-card--hall.glass:focus-visible {
        background: color-mix(in srgb, var(--tile-color) 42%, var(--paper));
        color: var(--ink);
        border-color: color-mix(in srgb, var(--tile-color) 36%, var(--line));
    }

    .halls-block .distro-card--hall.glass {
        background: var(--paper);
        color: var(--ink);
        border-color: var(--line);
    }

    .halls-block .distro-card--hall.glass:hover,
    .halls-block .distro-card--hall.glass:focus-visible {
        background: var(--tile-color);
        color: var(--tile-ink, var(--ink));
        border-color: var(--tile-color);
    }

    .distro-card--place-cinema.glass {
        background: var(--blue);
        color: #fff;
        border-color: var(--blue);
    }

    .distro-card--place-probochka.glass {
        background: var(--red);
        color: #fff;
        border-color: var(--red);
    }

    .distro-card--place-supermarket.glass {
        background: var(--orange);
        color: var(--ink);
        border-color: var(--orange);
    }

    .distro-card--place-mall.glass {
        background: var(--paper);
        color: var(--ink);
        border-color: var(--line);
    }

    .distro-card--place-mall.glass:hover,
    .distro-card--place-mall.glass:focus-visible {
        background: var(--yellow);
        color: var(--ink);
        border-color: var(--yellow);
    }

    .hero:not(.hero--scene) .hero__copy.glass,
    .stage:not(.stage--scene) .stage__copy.glass {
        background: #1c1c1c;
        color: #f4f4f4;
        border-color: rgb(255 255 255 / 0.16);
        box-shadow: none;
    }
}

/* Семейная корзинка: brand book 2024. Pantone 716 / 294 / 2935, Trebuchet MS. */
body.site-korzinka {
    --red: #EC7000;
    --red-hover: #C45A00;
    --ink: #003C80;
    --text: #1A2B3A;
    --muted: #4E6275;
    --line: #D5E0EA;
    --bg: #ffffff;
    --bg-soft: #F3F7FB;
    --paper: #ffffff;
    --blue: #003C80;
    --orange: #EC7000;
    --header-h: 84px;
    --kz-glass: rgb(255 255 255 / 0.78);
    --kz-shadow: 0 16px 40px rgb(0 60 128 / 0.08);
    font-family: "Trebuchet MS", "Trebuchet", sans-serif;
    background: #fff;
    color: var(--text);
}

body.site-korzinka h1,
body.site-korzinka h2,
body.site-korzinka h3 {
    font-weight: 700;
}

body.site-korzinka .site-header {
    background: #fff;
    color: #003C80;
    border-bottom: 1px solid var(--line);
    box-shadow: inset 0 -2px 0 #EC7000;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

body.site-korzinka .site-header::before,
body.site-korzinka .site-header::after {
    content: none;
}

body.site-korzinka .site-header__bar {
    min-height: var(--header-h);
}

body.site-korzinka .site-header a,
body.site-korzinka .site-hotline,
body.site-korzinka .site-hotline strong {
    color: #003C80;
}

body.site-korzinka .site-hotline span {
    color: var(--muted);
}

body.site-korzinka .site-logo__image--korzinka {
    height: 52px;
    width: auto;
    max-width: none;
}

body.site-korzinka .nav-toggle {
    height: 40px;
    padding: 0 16px;
    color: #fff;
    background: #003C80;
    border: 0;
    border-radius: 999px;
    box-shadow: none;
    letter-spacing: 0.06em;
}

body.site-korzinka .nav-toggle:hover,
body.site-korzinka .nav-toggle:focus-visible {
    color: #fff;
    background: #0058A8;
}

body.site-korzinka :focus-visible {
    outline-color: #003C80;
}

body.site-korzinka .nav-toggle:focus-visible,
body.site-korzinka .btn:focus-visible {
    outline-color: #003C80;
}

body.site-korzinka .site-nav {
    background: var(--bg-soft);
    color: var(--text);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

body.site-korzinka .site-nav::before {
    content: none;
}

body.site-korzinka .site-nav__inner {
    grid-template-columns: minmax(0, 32rem);
}

body.site-korzinka .site-nav__company {
    align-self: start;
    padding: var(--space-3);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: none;
    color: var(--text);
}

body.site-korzinka .site-nav__hotline a {
    color: var(--ink);
}

body.site-korzinka .korzinka-hero {
    background: var(--bg-soft);
    color: var(--text);
    padding: var(--space-6) 0 var(--space-5);
}

body.site-korzinka .korzinka-hero--photo {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: grid;
    align-items: end;
    min-height: clamp(24rem, 46vw, 36rem);
    background: var(--ink);
    color: #fff;
}

body.site-korzinka .korzinka-hero__photo {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 28%;
}

body.site-korzinka .korzinka-hero--photo::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgb(0 28 64 / 0) 0%, rgb(0 28 64 / 0) 28%, rgb(0 28 64 / 0.78) 46%, rgb(0 28 64 / 0.9) 100%);
}

body.site-korzinka .korzinka-hero--photo .korzinka-hero__grid {
    position: relative;
    z-index: 2;
}

body.site-korzinka .korzinka-hero--photo .korzinka-kicker,
body.site-korzinka .korzinka-hero--photo .korzinka-slogan,
body.site-korzinka .korzinka-hero--photo .korzinka-lead,
body.site-korzinka .korzinka-hero--photo .korzinka-hero__count,
body.site-korzinka .korzinka-hero--photo .korzinka-hero__panel dt,
body.site-korzinka .korzinka-hero--photo .korzinka-hero__panel dd,
body.site-korzinka .korzinka-hero--photo .korzinka-hero__panel a,
body.site-korzinka .korzinka-hero--photo .korzinka-hero__social {
    color: #fff;
}

body.site-korzinka .korzinka-hero--photo .korzinka-lead,
body.site-korzinka .korzinka-hero--photo .korzinka-hero__panel dt {
    color: rgb(255 255 255 / 0.88);
}

body.site-korzinka .korzinka-hero--photo .korzinka-hero__panel {
    border-left-color: #fff;
}

body.site-korzinka .korzinka-hero--photo .korzinka-hero__count {
    border-bottom-color: rgb(255 255 255 / 0.35);
}

body.site-korzinka .korzinka-hero--photo .btn {
    background: var(--red);
}

body.site-korzinka .korzinka-hero--photo .btn:hover,
body.site-korzinka .korzinka-hero--photo .btn:focus-visible {
    background: var(--red-hover);
    color: #fff;
}

body.site-korzinka .korzinka-hero--photo :focus-visible {
    outline-color: #fff;
}

body.site-korzinka .korzinka-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(16rem, 0.7fr);
    gap: var(--space-5);
    align-items: end;
}

body.site-korzinka .korzinka-hero__panel {
    padding: var(--space-3) 0 0 var(--space-4);
    background: transparent;
    border: 0;
    border-left: 2px solid var(--ink);
    border-radius: 0;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

body.site-korzinka .korzinka-hero__count {
    margin: 0 0 var(--space-3);
    padding-bottom: var(--space-2);
    border-bottom: 1px solid var(--line);
    color: var(--ink);
    font-size: clamp(1.6rem, 2.4vw, 2rem);
    font-weight: 700;
    line-height: 1.1;
}

body.site-korzinka .korzinka-hero__panel dl {
    display: grid;
    gap: var(--space-2);
    margin: 0;
}

body.site-korzinka .korzinka-hero__panel dt {
    margin: 0;
    color: var(--muted);
    font-size: var(--fs-meta);
}

body.site-korzinka .korzinka-hero__panel dd {
    margin: 4px 0 0;
    color: var(--ink);
    font-weight: 700;
}

body.site-korzinka .korzinka-hero__panel a {
    color: var(--ink);
}

body.site-korzinka .korzinka-hero__panel a:hover {
    color: var(--orange);
}

body.site-korzinka .korzinka-kicker {
    margin: 0 0 var(--space-2);
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    color: var(--muted);
}

body.site-korzinka .korzinka-slogan {
    margin: 0;
    max-width: 11em;
    color: #003C80;
    font-size: clamp(2.15rem, 5.2vw, 3.6rem);
    font-weight: 700;
    line-height: 0.95;
    letter-spacing: -0.03em;
    text-transform: none;
}

body.site-korzinka .korzinka-lead {
    max-width: 38rem;
    margin: var(--space-3) 0 0;
    font-size: var(--fs-lead);
    line-height: 1.45;
    color: var(--text);
}

body.site-korzinka .korzinka-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
    margin: var(--space-4) 0 0;
}

body.site-korzinka .btn {
    background: #003C80;
    color: #fff;
    border: 0;
    border-radius: 999px;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    padding: 0 22px;
    transition: background-color var(--duration-hover) var(--ease-standard),
        transform var(--duration-hover) var(--ease-standard);
}

body.site-korzinka .btn:hover,
body.site-korzinka .btn:focus-visible {
    background: #0058A8;
    color: #fff;
    transform: translateY(-1px);
}

body.site-korzinka .korzinka-hero__social,
body.site-korzinka .korzinka-hero__social a {
    margin: 0;
    color: #003C80;
    font-weight: 700;
    text-underline-offset: 0.2em;
}

body.site-korzinka .korzinka-hero__social:hover,
body.site-korzinka .korzinka-hero__social a:hover {
    color: var(--orange);
}

body.site-korzinka .korzinka-pattern {
    height: clamp(88px, 18vw, 220px);
    background-color: #003C80;
    background-image: url("../images/korzinka-pattern-blue.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% auto;
}

body.site-korzinka .korzinka-banners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3);
}

body.site-korzinka .korzinka-banner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
    align-items: end;
    min-height: 0;
    padding: var(--space-4);
    border-radius: var(--radius);
    overflow: hidden;
}

body.site-korzinka .korzinka-banner--shelf {
    background: #e7f0fa;
}

body.site-korzinka .korzinka-banner--hours {
    background: #fff;
    border: 1px solid var(--line);
}

body.site-korzinka .korzinka-banner h3 {
    margin: 0;
    max-width: 12em;
    color: #003C80;
    font-size: clamp(1.55rem, 2.4vw, 2.15rem);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.02em;
}

body.site-korzinka .korzinka-banner p {
    max-width: 28em;
    margin: 12px 0 0;
    color: var(--text);
    line-height: 1.45;
}

body.site-korzinka .korzinka-banner__btn {
    margin-top: var(--space-3);
}

body.site-korzinka .korzinka-banner__btn--line {
    background: transparent;
    color: #003C80;
    box-shadow: inset 0 0 0 1.5px #003C80;
}

body.site-korzinka .korzinka-banner__btn--line:hover,
body.site-korzinka .korzinka-banner__btn--line:focus-visible {
    background: #003C80;
    color: #fff;
}

body.site-korzinka .korzinka-banner--hours .korzinka-banner__btn {
    background: #EC7000;
}

body.site-korzinka .korzinka-banner--hours .korzinka-banner__btn:hover,
body.site-korzinka .korzinka-banner--hours .korzinka-banner__btn:focus-visible {
    background: #C45A00;
}

body.site-korzinka .korzinka-banner__art {
    display: none;
}

body.site-korzinka .korzinka-banner--hours {
    grid-template-columns: minmax(0, 1fr) auto;
}

body.site-korzinka .korzinka-banner--hours .korzinka-banner__art {
    display: block;
    position: relative;
    width: 92px;
    height: 92px;
}

body.site-korzinka .korzinka-banner__pack {
    display: none;
}

body.site-korzinka .korzinka-banner__pack--loaf {
    left: 8%;
    bottom: 18px;
    width: 46%;
    height: 58px;
    background: #f4e2c4;
    transform: rotate(-8deg);
}

body.site-korzinka .korzinka-banner__pack--milk {
    right: 8%;
    top: 18px;
    width: 38%;
    height: 92px;
    background: #fff;
    box-shadow: inset 0 -28px 0 #003C80;
}

body.site-korzinka .korzinka-banner__pack--tin {
    left: 28%;
    top: 8px;
    width: 34%;
    height: 34%;
    border-radius: 50%;
    background: #EC7000;
}

body.site-korzinka .korzinka-banner__pack--bag {
    right: 6%;
    bottom: 10px;
    width: 58%;
    height: 78px;
    background: #003C80;
    border-radius: 16px 16px 28px 28px;
}

body.site-korzinka .korzinka-banner__pack--bag::after {
    content: "";
    position: absolute;
    left: 18%;
    right: 18%;
    top: -14px;
    height: 22px;
    border: 4px solid #003C80;
    border-bottom: 0;
    border-radius: 16px 16px 0 0;
}

body.site-korzinka .korzinka-banner__clock {
    position: relative;
    display: grid;
    place-items: center;
    width: 92px;
    height: 92px;
    border-radius: 50%;
    background: #fff7ef;
    color: #EC7000;
    font-size: 1.05rem;
    font-weight: 700;
    box-shadow: inset 0 0 0 6px #EC7000;
}

body.site-korzinka .korzinka-reasons {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-3);
    margin: var(--space-3) 0 0;
    padding: 0;
    list-style: none;
}

body.site-korzinka .korzinka-reasons li {
    padding: var(--space-2) 0 0;
    background: transparent;
    border-radius: 0;
    border: 0;
    border-top: 2px solid var(--ink);
}

body.site-korzinka .korzinka-reasons h3 {
    margin: 0;
    color: #003C80;
    font-size: 1.15rem;
    line-height: 1.2;
}

body.site-korzinka .korzinka-reasons p {
    margin: 8px 0 0;
    color: var(--text);
    line-height: 1.45;
}

body.site-korzinka .korzinka-cities {
    max-width: 40rem;
    margin-top: var(--space-4);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 22px;
}

body.site-korzinka .korzinka-cities summary {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 20px;
    color: #003C80;
    font-weight: 700;
    font-size: 1.15rem;
    cursor: pointer;
    list-style: none;
}

body.site-korzinka .korzinka-cities summary > span:first-child {
    margin-right: auto;
}

body.site-korzinka .korzinka-cities summary::-webkit-details-marker {
    display: none;
}

body.site-korzinka .korzinka-cities summary::after {
    content: "";
    width: 8px;
    height: 8px;
    margin-left: 4px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    flex: 0 0 auto;
}

body.site-korzinka .korzinka-cities[open] summary::after {
    transform: rotate(225deg) translate(-2px, -2px);
}

body.site-korzinka .korzinka-cities summary:focus-visible {
    outline: 2px solid #EC7000;
    outline-offset: -4px;
    border-radius: 18px;
}

body.site-korzinka .korzinka-cities__meta {
    color: var(--muted);
    font-size: var(--fs-meta);
    font-weight: 700;
    letter-spacing: 0.04em;
}

body.site-korzinka .korzinka-cities__list {
    margin: 0;
    padding: 0 8px 8px;
    list-style: none;
}

body.site-korzinka .korzinka-cities__list a {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-2);
    padding: 14px 12px;
    border-top: 1px solid var(--line);
    color: var(--text);
    font-weight: 700;
}

body.site-korzinka .korzinka-cities__list a:hover,
body.site-korzinka .korzinka-cities__list a:focus-visible {
    color: #003C80;
}

body.site-korzinka .korzinka-cities__count {
    color: var(--muted);
    font-size: var(--fs-meta);
    font-weight: 700;
    white-space: nowrap;
}

body.site-korzinka .korzinka-pagehead {
    padding: var(--space-5) 0 var(--space-3);
}

body.site-korzinka .korzinka-pagehead h1 {
    margin: 0;
    max-width: 14em;
    color: #003C80;
    font-size: clamp(2.15rem, 5vw, 3.4rem);
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: -0.02em;
}

body.site-korzinka .korzinka-pagehead--photo {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: grid;
    align-items: end;
    min-height: clamp(18rem, 36vw, 28rem);
    padding: var(--space-5) 0 var(--space-4);
    background: var(--ink);
    color: #fff;
}

body.site-korzinka .korzinka-pagehead--photo .container {
    position: relative;
    z-index: 2;
}

body.site-korzinka .korzinka-pagehead--photo::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgb(0 28 64 / 0) 0%, rgb(0 28 64 / 0) 28%, rgb(0 28 64 / 0.78) 46%, rgb(0 28 64 / 0.9) 100%);
}

body.site-korzinka .korzinka-pagehead--photo .korzinka-kicker,
body.site-korzinka .korzinka-pagehead--photo h1,
body.site-korzinka .korzinka-pagehead--photo .korzinka-lead {
    color: #fff;
}

body.site-korzinka .korzinka-pagehead--photo .korzinka-lead {
    color: rgb(255 255 255 / 0.88);
}

body.site-korzinka .korzinka-pagehead--photo :focus-visible {
    outline-color: #fff;
}

body.site-korzinka .korzinka-pagehead__action {
    margin: var(--space-4) 0 0;
}

body.site-korzinka .korzinka-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-3);
    margin: 0;
}

body.site-korzinka .korzinka-stats div {
    padding-top: 12px;
    border-top: 2px solid #003C80;
}

body.site-korzinka .korzinka-stats dt {
    color: var(--muted);
    font-size: var(--fs-meta);
    font-weight: 700;
}

body.site-korzinka .korzinka-stats dd {
    margin: 6px 0 0;
    color: #003C80;
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    font-weight: 700;
    line-height: 1;
}

body.site-korzinka .korzinka-places {
    max-width: 40rem;
    margin: var(--space-3) 0 0;
    padding: 0;
    list-style: none;
}

body.site-korzinka .korzinka-places li {
    display: flex;
    justify-content: space-between;
    gap: var(--space-2);
    padding: 14px 0;
    border-top: 1px solid var(--line);
    color: var(--text);
}

body.site-korzinka .korzinka-places strong {
    color: #003C80;
    font-size: var(--fs-meta);
    white-space: nowrap;
}

body.site-korzinka .korzinka-links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2) var(--space-3);
    margin: var(--space-3) 0 0;
    padding: 0;
    list-style: none;
}

body.site-korzinka .korzinka-links a {
    color: var(--ink);
    font-weight: 700;
}

body.site-korzinka .korzinka-links a:hover,
body.site-korzinka .korzinka-links a:focus-visible {
    color: var(--red);
}

body.site-korzinka .korzinka-company {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: var(--space-4) var(--space-5);
    align-items: end;
}

body.site-korzinka .korzinka-company h2 {
    margin: 0;
    color: var(--ink);
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.05;
    letter-spacing: -0.03em;
}

body.site-korzinka .korzinka-company__note {
    margin: var(--space-2) 0 0;
    max-width: 28rem;
    color: var(--muted);
}

body.site-korzinka .korzinka-facts {
    margin: 0;
    padding: 0;
}

body.site-korzinka .korzinka-facts div {
    display: grid;
    grid-template-columns: 8.5rem minmax(0, 1fr);
    gap: var(--space-2);
    padding: 16px 0 0;
    border-top: 2px solid var(--ink);
}

body.site-korzinka .korzinka-facts div + div {
    margin-top: 16px;
}

body.site-korzinka .korzinka-facts dt,
body.site-korzinka .korzinka-facts dd {
    margin: 0;
}

body.site-korzinka .korzinka-facts dt {
    color: var(--muted);
    font-size: var(--fs-meta);
}

body.site-korzinka .korzinka-facts dd {
    color: var(--ink);
    font-weight: 700;
}

body.site-korzinka .korzinka-facts a {
    color: inherit;
}

body.site-korzinka .korzinka-facts a:hover,
body.site-korzinka .korzinka-facts a:focus-visible {
    color: var(--red);
}

body.site-korzinka .korzinka-forms {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

body.site-korzinka .korzinka-sheet--form {
    width: min(40rem, 100%);
    max-height: min(86vh, 760px);
    background: #fff;
    border: 1px solid var(--line);
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

body.site-korzinka .korzinka-sheet--form .form {
    max-width: none;
}

body.site-korzinka .korzinka-sheet--form .form label {
    letter-spacing: 0;
    text-transform: none;
    font-size: 0.95rem;
}

body.site-korzinka .korzinka-sheet--form .form input,
body.site-korzinka .korzinka-sheet--form .form select,
body.site-korzinka .korzinka-sheet--form .form textarea {
    border: 1px solid var(--line);
    border-radius: 12px;
    color: var(--text);
    background: #fff;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
}

body.site-korzinka .korzinka-sheet--form .form input:focus-visible,
body.site-korzinka .korzinka-sheet--form .form select:focus-visible,
body.site-korzinka .korzinka-sheet--form .form textarea:focus-visible {
    border-color: var(--ink);
    background: #fff;
    outline: 2px solid var(--ink);
    outline-offset: 2px;
}

body.site-korzinka .korzinka-sheet--form .form-consent__item input[type="checkbox"] {
    background: #fff;
}

@media (max-width: 800px) {
    body.site-korzinka .korzinka-company,
    body.site-korzinka .korzinka-facts div {
        grid-template-columns: 1fr;
    }

    body.site-korzinka .korzinka-facts div {
        gap: 4px;
    }
}

body.site-korzinka .korzinka-news__empty {
    margin: 0;
    color: var(--muted);
}

body.site-korzinka .korzinka-sheet--city {
    width: min(36rem, 100%);
    max-height: min(72vh, 680px);
    overflow: auto;
}

body.site-korzinka .korzinka-sheet__stores {
    margin: var(--space-3) 0 0;
    padding: 0;
    list-style: none;
}

body.site-korzinka .korzinka-sheet__stores li {
    padding: 12px 0;
    border-top: 1px solid var(--line);
}

body.site-korzinka .korzinka-layer {
    z-index: 60;
    inset: 0;
    align-content: center;
    background: rgb(0 28 64 / 0.28);
}

body.site-korzinka .korzinka-sheet {
    width: min(32rem, 100%);
    text-align: left;
}

body.site-korzinka .korzinka-sheet h2,
body.site-korzinka .korzinka-sheet .korzinka-kicker {
    text-align: left;
    color: var(--ink);
}

body.site-korzinka .korzinka-sheet__hours,
body.site-korzinka .korzinka-sheet__phone {
    margin: 0 0 8px;
    font-weight: 700;
}

body.site-korzinka .korzinka-sheet__phone a {
    color: var(--ink);
}

body.site-korzinka .korzinka-more,
body.site-korzinka .korzinka-track-list a {
    color: var(--ink);
}

body.site-korzinka .korzinka-more:hover,
body.site-korzinka .korzinka-track-list a:hover {
    color: #0058A8;
}

body.site-korzinka .korzinka-track-list {
    list-style: none;
    margin: var(--space-4) 0 0;
    padding: 0;
}

body.site-korzinka .korzinka-track-list a {
    display: grid;
    gap: 6px;
    padding: 18px 0;
    border-top: 1px solid var(--line);
}

body.site-korzinka .korzinka-track-list li:last-child a {
    border-bottom: 1px solid var(--line);
}

body.site-korzinka .korzinka-track-list strong {
    font-size: 1.2rem;
    color: #003C80;
}

body.site-korzinka .korzinka-track-list span {
    color: var(--text);
    font-weight: 400;
}

body.site-korzinka .korzinka-chapters {
    display: grid;
    gap: var(--space-4);
    margin-top: var(--space-4);
}

body.site-korzinka .korzinka-chapter {
    padding-top: var(--space-3);
    border-top: 1px solid var(--line);
}

body.site-korzinka .korzinka-chapter h2 {
    margin: 0 0 8px;
    color: var(--ink);
}

body.site-korzinka .korzinka-chapter p {
    margin: 0 0 12px;
}

body.site-korzinka .korzinka-more {
    font-weight: 700;
    text-underline-offset: 0.2em;
}

body.site-korzinka .hero {
    background: #fff;
    color: var(--text);
}

body.site-korzinka .hero h1,
body.site-korzinka .hero__copy h1 {
    color: var(--ink);
    text-shadow: none;
    letter-spacing: -0.03em;
}

body.site-korzinka .hero p,
body.site-korzinka .hero__copy p {
    color: var(--text);
    text-shadow: none;
}

body.site-korzinka .hero__kicker {
    color: #0058A8;
}

body.site-korzinka .hero:not(.hero--scene) .hero__copy,
body.site-korzinka .hero:not(.hero--scene) .hero__copy.glass {
    width: min(100%, 100%);
    padding: 0;
    background: transparent;
    color: var(--text);
    border: 0;
    box-shadow: none;
}

body.site-korzinka .breadcrumbs,
body.site-korzinka .breadcrumbs a {
    color: var(--muted);
}

body.site-korzinka .breadcrumbs a:hover {
    color: var(--ink);
}

body.site-korzinka .about-panel,
body.site-korzinka .about-panel.glass {
    background: #fff;
    border: 1px solid var(--line);
    box-shadow: none;
    color: var(--text);
}

body.site-korzinka .site-footer {
    background: #fff;
    color: var(--text);
    border-top: 2px solid #EC7000;
    padding-top: var(--space-5);
}

body.site-korzinka .site-footer a,
body.site-korzinka .site-footer h2 {
    color: #003C80;
}

body.site-korzinka .site-footer h2 a {
    color: inherit;
    text-decoration: none;
}

body.site-korzinka .site-footer h2 a:hover,
body.site-korzinka .site-footer h2 a:focus-visible {
    color: #EC7000;
}

body.site-korzinka .site-logo--footer .site-logo__image--korzinka {
    height: 64px;
    max-width: none;
}

body.site-korzinka .korzinka-promos__title {
    margin: 0 0 var(--space-3);
    color: #003C80;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    line-height: 1;
}

body.site-korzinka .korzinka-promos__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-3);
}

body.site-korzinka .korzinka-promo {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    overflow: hidden;
    color: var(--text);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 22px;
}

body.site-korzinka .korzinka-promo:hover,
body.site-korzinka .korzinka-promo:focus-visible {
    border-color: #003C80;
}

body.site-korzinka .korzinka-promo__media {
    display: block;
    aspect-ratio: 4 / 3;
    background: #e7f0fa;
}

body.site-korzinka .korzinka-promo__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.site-korzinka .korzinka-promo__body {
    display: grid;
    gap: 6px;
    padding: 14px 16px 18px;
}

body.site-korzinka .korzinka-promo__body time {
    color: var(--muted);
    font-size: var(--fs-meta);
    font-weight: 700;
}

body.site-korzinka .korzinka-promo__body strong {
    color: #003C80;
    font-size: 1.05rem;
    line-height: 1.25;
}

body.site-korzinka .korzinka-promo__body span {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    color: var(--text);
    line-height: 1.4;
}

body.site-korzinka .korzinka-news-sheet {
    width: min(1040px, calc(100% - 32px));
    max-height: min(86vh, 760px);
    padding: 0;
    overflow: hidden;
}

body.site-korzinka .korzinka-news-sheet .distro-sheet__close {
    position: absolute;
    top: 12px;
    right: 12px;
    margin: 0;
    background: #fff;
}

body.site-korzinka .korzinka-news-split {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    min-height: 420px;
}

body.site-korzinka .korzinka-news-split__media {
    margin: 0;
    min-height: 280px;
    background: #e7f0fa;
}

body.site-korzinka .korzinka-news-split__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.site-korzinka .korzinka-news-split__copy {
    max-height: min(86vh, 760px);
    overflow: auto;
    padding: 56px var(--space-4) var(--space-4);
}

body.site-korzinka .korzinka-news-split__copy time {
    color: var(--muted);
    font-size: var(--fs-meta);
    font-weight: 700;
}

body.site-korzinka .korzinka-news-split__copy h2 {
    margin: 8px 0 var(--space-3);
    text-align: left;
    color: #003C80;
}

body.site-korzinka .korzinka-news-split__copy .prose {
    max-width: none;
}

body.site-korzinka .korzinka-citypick {
    margin: var(--space-3) 0 0;
    padding: 0;
    list-style: none;
}

body.site-korzinka .korzinka-citypick a {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-2);
    padding: 14px 0;
    border-top: 1px solid var(--line);
    color: var(--text);
    font-weight: 700;
}

body.site-korzinka .korzinka-citypick a span:last-child {
    color: var(--muted);
    font-size: var(--fs-meta);
    white-space: nowrap;
}

body.site-korzinka .korzinka-citypick a:hover,
body.site-korzinka .korzinka-citypick a:focus-visible {
    color: #003C80;
}

body.site-korzinka .korzinka-sheet__back {
    margin: 0 0 8px;
}

body.site-korzinka .korzinka-sheet__back a {
    color: #003C80;
    font-weight: 700;
}

body.site-korzinka .korzinka-desk {
    background: #003C80;
    color: #fff;
    padding: var(--space-5) 0;
}

body.site-korzinka .korzinka-desk .korzinka-kicker {
    color: #EC7000;
}

body.site-korzinka .korzinka-desk h2 {
    margin: 0;
    max-width: 12em;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1;
}

body.site-korzinka .korzinka-desk__intro p:last-child {
    max-width: 38rem;
    margin: var(--space-3) 0 0;
    color: rgb(255 255 255 / 0.86);
    font-size: var(--fs-lead);
    line-height: 1.45;
}

body.site-korzinka .korzinka-desk__grid,
body.site-korzinka .korzinka-desk__single {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-3);
    margin-top: var(--space-4);
}

body.site-korzinka .korzinka-desk__single {
    grid-template-columns: minmax(0, 28rem);
}

body.site-korzinka .korzinka-docs {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

body.site-korzinka .korzinka-doc-empty {
    max-width: 40rem;
    margin: 0;
}

body.site-korzinka .korzinka-docs-nav {
    display: grid;
    gap: 12px;
    padding: 16px 18px;
    background: #fff;
    border: 1px solid rgb(0 60 128 / 0.1);
    border-radius: 18px;
}

body.site-korzinka .korzinka-docs-nav__label {
    margin: 0;
    color: #EC7000;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.site-korzinka .korzinka-docs-nav__list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.site-korzinka .korzinka-docs-nav__list a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 6px 12px;
    color: #003C80;
    background: #F3F7FB;
    border: 1px solid transparent;
    border-radius: 999px;
    text-decoration: none;
    transition:
        transform var(--duration-hover) var(--ease-standard),
        border-color var(--duration-hover) var(--ease-standard),
        background-color var(--duration-hover) var(--ease-standard);
}

body.site-korzinka .korzinka-docs-nav__list a span {
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.2;
}

body.site-korzinka .korzinka-docs-nav__list a em {
    color: rgb(0 60 128 / 0.55);
    font-size: 0.78rem;
    font-style: normal;
    font-variant-numeric: tabular-nums;
}

body.site-korzinka .korzinka-docs-nav__list a:hover,
body.site-korzinka .korzinka-docs-nav__list a:focus-visible {
    background: #fff;
    border-color: #EC7000;
    transform: translateY(-1px);
}

body.site-korzinka .korzinka-docs-nav__list a:focus-visible {
    outline: 3px solid #EC7000;
    outline-offset: 2px;
}

body.site-korzinka .korzinka-docs-catalog {
    display: grid;
    gap: 28px;
    margin: 0;
    padding: 0;
    background: transparent;
}

body.site-korzinka .korzinka-doc-group {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 18px;
    background: #F3F0EA;
    border-radius: 22px;
    scroll-margin-top: 96px;
    min-width: 0;
}

body.site-korzinka .korzinka-doc-group__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin: 0;
}

body.site-korzinka .korzinka-doc-group__head h2 {
    margin: 0;
    color: #003C80;
    font-size: clamp(1.2rem, 2vw, 1.55rem);
    line-height: 1.15;
}

body.site-korzinka .korzinka-doc-group__lead {
    max-width: 40rem;
    margin: 6px 0 0;
    color: rgb(0 60 128 / 0.72);
    font-size: 0.98rem;
    line-height: 1.4;
}

body.site-korzinka .korzinka-doc-group__meta {
    margin: 2px 0 0;
    color: rgb(0 60 128 / 0.5);
    font-size: 0.82rem;
    font-weight: 600;
    white-space: nowrap;
}

body.site-korzinka .korzinka-docs .docs-block {
    margin: 0;
}

body.site-korzinka .korzinka-docs .docs-block > h2 {
    display: none;
}

body.site-korzinka .korzinka-desk__card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 220px;
    padding: var(--space-3);
    color: var(--text);
    background: #fff;
    border-radius: 22px;
}

body.site-korzinka .korzinka-desk__card strong {
    color: #003C80;
    font-size: 1.35rem;
    line-height: 1.15;
}

body.site-korzinka .korzinka-desk__card span {
    line-height: 1.45;
}

body.site-korzinka .korzinka-desk__go {
    margin-top: auto;
    color: #EC7000;
    font-weight: 700;
}

body.site-korzinka .korzinka-desk__more {
    margin: var(--space-3) 0 0;
}

body.site-korzinka .korzinka-desk__card:hover,
body.site-korzinka .korzinka-desk__card:focus-visible {
    transform: translateY(-2px);
}

@media (max-width: 1100px) {
    body.site-korzinka .korzinka-promos__grid,
    body.site-korzinka .korzinka-desk__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 800px) {
    body.site-korzinka {
        --header-h: 72px;
    }

    body.site-korzinka .site-logo__image--korzinka {
        height: 44px;
    }

    body.site-korzinka .korzinka-banners,
    body.site-korzinka .korzinka-reasons,
    body.site-korzinka .korzinka-stats,
    body.site-korzinka .korzinka-desk__grid,
    body.site-korzinka .korzinka-desk__single,
    body.site-korzinka .korzinka-promos__grid,
    body.site-korzinka .korzinka-news-split,
    body.site-korzinka .korzinka-hero__grid {
        grid-template-columns: 1fr;
    }

    body.site-korzinka .korzinka-news-sheet {
        overflow: auto;
    }

    body.site-korzinka .korzinka-news-split__media {
        min-height: 220px;
        max-height: 280px;
    }

    body.site-korzinka .korzinka-news-split__copy {
        max-height: none;
    }

    body.site-korzinka .korzinka-banner {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    body.site-korzinka .korzinka-hero__panel {
        padding: var(--space-3) 0 0;
        border-left: 0;
        border-top: 2px solid var(--ink);
    }

    body.site-korzinka .korzinka-hero--photo {
        min-height: 32rem;
    }

    body.site-korzinka .korzinka-hero--photo::after {
        background: linear-gradient(180deg, rgb(0 28 64 / 0.62) 0%, rgb(0 28 64 / 0.84) 36%, rgb(0 28 64 / 0.92) 100%);
    }

    body.site-korzinka .korzinka-hero--photo .korzinka-hero__panel {
        border-top-color: #fff;
    }

    body.site-korzinka .korzinka-hero {
        padding: var(--space-4) 0 var(--space-3);
    }

}


body.site-korzinka .korzinka-docs .metro-grid--docs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: auto;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.site-korzinka .korzinka-docs .metro-grid--docs .metro-grid__item {
    min-width: 0;
}

body.site-korzinka .korzinka-docs .metro-grid--docs .metro-tile.glass {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 8px;
    aspect-ratio: 1 / 1;
    width: 100%;
    min-height: 0;
    height: auto;
    max-height: none;
    padding: 14px 14px 16px;
    color: #003C80;
    background: #fff;
    border: 7px solid #E4DFD6;
    border-radius: 18px;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    text-decoration: none;
}

body.site-korzinka .korzinka-docs .metro-grid--docs .metro-tile.glass::before,
body.site-korzinka .korzinka-docs .metro-grid--docs .metro-tile.glass::after {
    content: none;
}

body.site-korzinka .korzinka-docs .metro-grid--docs .metro-tile__num,
body.site-korzinka .korzinka-docs .metro-grid--docs .metro-tile__code,
body.site-korzinka .korzinka-docs .metro-grid--docs .metro-tile__title,
body.site-korzinka .korzinka-docs .metro-grid--docs .metro-tile__icon {
    position: static;
}

body.site-korzinka .korzinka-docs .metro-grid--docs .metro-tile__num {
    color: rgb(0 60 128 / 0.38);
    opacity: 1;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
}

body.site-korzinka .korzinka-docs .metro-grid--docs .metro-tile__icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    margin: 0;
    color: #EC7000;
    background: #FFF4EA;
    border-radius: 12px;
    flex: 0 0 auto;
}

body.site-korzinka .korzinka-docs .metro-grid--docs .metro-tile__icon svg {
    display: block;
    width: 28px;
    height: 28px;
}

body.site-korzinka .korzinka-docs .metro-grid--docs .metro-tile__code {
    margin-top: auto;
    color: #EC7000;
    opacity: 1;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1;
}

body.site-korzinka .korzinka-docs .metro-grid--docs .metro-tile__title {
    min-width: 0;
    max-width: 100%;
    margin: 0;
    color: #003C80;
    font-size: clamp(0.92rem, 1.05vw, 1.06rem);
    font-weight: 700;
    line-height: 1.25;
    text-shadow: none;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

body.site-korzinka .korzinka-docs .metro-grid--docs .metro-tile.glass:hover,
body.site-korzinka .korzinka-docs .metro-grid--docs .metro-tile.glass:focus-visible {
    color: #003C80;
    transform: translateY(-2px);
    background: #fff;
    border-color: #EC7000;
    box-shadow: 0 10px 24px rgb(0 60 128 / 0.1);
}

body.site-korzinka .korzinka-docs .metro-grid--docs .metro-tile.glass:hover .metro-tile__icon,
body.site-korzinka .korzinka-docs .metro-grid--docs .metro-tile.glass:focus-visible .metro-tile__icon {
    background: #EC7000;
    color: #fff;
}

body.site-korzinka .korzinka-docs .metro-grid--docs .metro-tile:focus-visible {
    outline: 3px solid #EC7000;
    outline-offset: 2px;
}

body.site-korzinka .distro-sheet--reader.glass {
    color: #003C80;
    background: #fff;
    border-radius: 22px;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

body.site-korzinka .doc-reader__history h3 {
    color: #EC7000;
    letter-spacing: 0.04em;
}

body.site-korzinka .doc-reader__version {
    color: #003C80;
    background: #F3F7FB;
    border-color: transparent;
    border-radius: 16px;
}

body.site-korzinka .doc-reader__version span {
    color: rgb(0 60 128 / 0.62);
}

body.site-korzinka .doc-reader__version[aria-current="true"] {
    background: #fff;
    border-color: #EC7000;
}

body.site-korzinka .doc-reader__version:hover,
body.site-korzinka .doc-reader__version:focus-visible {
    border-color: #003C80;
}

body.site-korzinka .doc-reader__stage,
body.site-korzinka .doc-reader__frame {
    background: #F3F7FB;
    border-radius: 16px;
}

body.site-korzinka .doc-reader__file a {
    color: #EC7000;
    letter-spacing: 0;
    text-transform: none;
}

body.site-korzinka .doc-reader__file a:hover,
body.site-korzinka .doc-reader__file a:focus-visible {
    color: #003C80;
}

@media (max-width: 1100px) {
    body.site-korzinka .korzinka-docs .metro-grid--docs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 800px) {
    body.site-korzinka .korzinka-doc-group {
        padding: 14px;
    }

    body.site-korzinka .korzinka-doc-group__head {
        flex-direction: column;
        gap: 8px;
    }

    body.site-korzinka .korzinka-docs-nav__list a {
        width: 100%;
        justify-content: space-between;
    }

    body.site-korzinka .korzinka-docs .metro-grid--docs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    body.site-korzinka .korzinka-docs .metro-grid--docs .metro-tile.glass {
        border-width: 5px;
        padding: 12px;
    }
}

@media (max-width: 520px) {
    body.site-korzinka .korzinka-docs .metro-grid--docs {
        grid-template-columns: 1fr 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.site-korzinka .btn:hover,
    body.site-korzinka .btn:focus-visible,
    body.site-korzinka .korzinka-desk__card:hover,
    body.site-korzinka .korzinka-desk__card:focus-visible,
    body.site-korzinka .korzinka-docs-nav__list a:hover,
    body.site-korzinka .korzinka-docs-nav__list a:focus-visible,
    body.site-korzinka .korzinka-docs .metro-grid--docs .metro-tile.glass:hover,
    body.site-korzinka .korzinka-docs .metro-grid--docs .metro-tile.glass:focus-visible {
        transform: none;
    }
}
