/* Koshi Nomad. Палитра ТЗ: белый, чёрный, золото #C9A86A, глубокий серый #1A1A1A. Роскошь — в тишине, золоте и точной типографике. */
:root {
  --white: #FFFFFF;
  --ivory: #F8F5EF;
  --gold: #C9A86A;
  --gold-hi: #E7D2A3;
  --gold-ink: #94743F;
  --gray: #1A1A1A;
  --black: #000000;
  --mute: #6B665E;
  --hair: rgba(26, 26, 26, .12);
  --serif: "Cormorant Garamond", Didot, "Bodoni 72", Garamond, serif;
  --sans: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --wrap: min(1280px, 100% - 64px);
  --ease: cubic-bezier(.22, .61, .2, 1);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --gold-grad: linear-gradient(100deg, #9C7B45 0%, #C9A86A 30%, #F1DFB4 48%, #C9A86A 66%, #9C7B45 100%);
}
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: .5s var(--ease) both vt-out; }
::view-transition-new(root) { animation: .7s var(--ease-out) both vt-in; }
@keyframes vt-out { to { opacity: 0; } }
@keyframes vt-in { from { opacity: 0; transform: translateY(14px); } }

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--white); color: var(--gray); font: 300 16px/1.75 var(--sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; }
::selection { background: var(--gold); color: var(--black); }
:focus-visible { outline: 1px solid var(--gold-ink); outline-offset: 4px; }
[hidden] { display: none !important; }
.sr, .hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -999px; top: 8px; background: var(--gray); color: var(--white); padding: 8px 14px; z-index: 300; }
.skip:focus { left: 8px; }
.wrap { width: var(--wrap); margin-inline: auto; }
section { padding-block: clamp(80px, 11vw, 160px); }

/* ---------- типографика ---------- */
.eyebrow, small, .fld span, .chip, .btn, .hdr__nav a, .lang, figcaption, dt { font-family: var(--sans); }
.eyebrow { margin: 0 0 20px; font-size: 11px; font-weight: 400; letter-spacing: .34em; text-transform: uppercase; color: var(--gold-ink); }
.display { margin: 0; font: 300 clamp(48px, 7vw, 116px)/.98 var(--serif); letter-spacing: -.015em; }
.h2 { margin: 0 0 24px; font: 300 clamp(36px, 4.4vw, 64px)/1.04 var(--serif); }
.h3 { margin: 0 0 18px; font: 400 clamp(24px, 2.2vw, 30px)/1.2 var(--serif); }
.lead { font-size: clamp(16px, 1.35vw, 19px); line-height: 1.8; color: var(--mute); max-width: 56ch; margin: 0 0 18px; }
.link { display: inline-block; font: 400 11px/1 var(--sans); letter-spacing: .3em; text-transform: uppercase; padding-bottom: 8px; background: linear-gradient(var(--gold), var(--gold)) 0 100% / 100% 1px no-repeat; transition: background-size .5s var(--ease), color .3s; }
.link:hover { background-size: 34% 1px; color: var(--gold-ink); }

.btn { position: relative; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 34px; font-size: 11px; font-weight: 400; letter-spacing: .28em; text-transform: uppercase; border: 1px solid transparent; transition: background .5s var(--ease), color .5s var(--ease), border-color .5s var(--ease); cursor: pointer; white-space: nowrap; isolation: isolate; }
.btn--sm { min-height: 42px; padding: 0 20px; font-size: 10px; }
.btn--dark { background: var(--black); color: var(--white); }
.btn--dark::before { content: ""; position: absolute; inset: 0; background: var(--gold-grad); transform: translateY(101%); transition: transform .6s var(--ease-out); z-index: -1; }
.btn--dark:hover { color: var(--black); }
.btn--dark:hover::before { transform: none; }
.btn--line { border-color: var(--gray); }
.btn--line:hover { background: var(--gray); color: var(--white); }
.btn--gold { background: var(--gold-grad); background-size: 200% 100%; color: var(--black); transition: background-position .8s var(--ease); }
.btn--gold:hover { background-position: 100% 0; }
.btn--light { border-color: rgba(255, 255, 255, .35); color: var(--white); }
.btn--light:hover { background: var(--white); color: var(--black); }
.btn--shine::after { content: ""; position: absolute; top: 0; bottom: 0; width: 40%; left: -60%; background: linear-gradient(100deg, transparent, rgba(241, 223, 180, .55), transparent); transform: skewX(-20deg); animation: shine 5s 4s infinite; }
@keyframes shine { 0%, 70% { left: -60%; } 100% { left: 140%; } }
.acts { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; margin-top: 32px; }

/* ---------- splash: знак рисуется, буквы встают, дверь юрты сворачивается вверх ---------- */
.splash { position: fixed; inset: 0; z-index: 200; background: var(--black) var(--orn-dark); background-size: 120px; color: var(--gold); display: grid; place-items: center; transition: transform 1.2s var(--ease-out), border-radius 1.2s var(--ease-out); will-change: transform; }
.splash::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--gold-grad); opacity: 0; transition: opacity .3s; }
.splash.is-out { transform: translateY(-104%); border-radius: 0 0 50% 50% / 0 0 22vh 22vh; }
.splash.is-out::after { opacity: 1; }
.no-splash .splash { display: none; }
.splash__in { display: grid; justify-items: center; text-align: center; }
.splash__mark { width: clamp(90px, 12vw, 150px); }
.splash__mark path { stroke-dasharray: 1; stroke-dashoffset: 1; animation: draw 1.5s var(--ease) forwards; }
.splash__mark path:nth-child(n+4) { animation-delay: .35s; }
.splash__mark path:nth-child(n+8) { animation-delay: .7s; }
.splash__word { margin-top: 26px; display: flex; font: 300 clamp(30px, 5vw, 64px)/1 var(--serif); letter-spacing: .26em; padding-left: .26em; background: var(--gold-grad); background-size: 250% 100%; background-position: 100% 0; -webkit-background-clip: text; background-clip: text; color: transparent; animation: track 2.4s .6s var(--ease-out) both, sheen 1.6s 1.8s var(--ease) forwards; }
.splash__word span { display: inline-block; opacity: 0; transform: translateY(.5em); filter: blur(6px); animation: letter 1s calc(.75s + var(--i) * .07s) var(--ease-out) forwards; }
.splash__rule { width: 0; height: 1px; margin-top: 22px; background: var(--gold); animation: rule 1s 1.7s var(--ease-out) forwards; }
.splash__sub { margin: 16px 0 0; font: 400 10px/1 var(--sans); letter-spacing: .42em; text-transform: uppercase; color: rgba(231, 210, 163, .7); opacity: 0; animation: fade 1s 2s forwards; }
@keyframes letter { to { opacity: 1; transform: none; filter: blur(0); } }
@keyframes track { from { letter-spacing: .5em; } to { letter-spacing: .26em; } }
@keyframes sheen { from { background-position: 100% 0; } to { background-position: 0 0; } }
@keyframes rule { to { width: 120px; } }

/* ---------- прогресс прокрутки и курсор ---------- */
.progress { position: fixed; top: 0; left: 0; right: 0; height: 1px; z-index: 60; background: var(--gold); transform-origin: 0 50%; transform: scaleX(0); }
@supports (animation-timeline: scroll()) { .progress { animation: grow linear both; animation-timeline: scroll(root); } }
@keyframes grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.cursor { position: fixed; left: 0; top: 0; z-index: 250; pointer-events: none; opacity: 0; }
.cursor span { position: absolute; width: 36px; height: 36px; margin: -18px 0 0 -18px; border: 1px solid var(--gold); border-radius: 50%; transition: transform .45s var(--ease-out), background .3s; }
.has-cursor .cursor { opacity: 1; }
.cursor.is-link span { transform: scale(1.8); background: rgba(201, 168, 106, .12); }
.cursor.is-down span { transform: scale(.7); }

/* ---------- шапка ---------- */
.hdr { position: fixed; inset: 0 0 auto; z-index: 50; display: flex; align-items: center; gap: 36px; padding: 22px max(40px, calc((100% - 1280px) / 2)); transition: background .6s, box-shadow .6s, padding .6s, transform .6s var(--ease); }
.hdr.is-solid { background: rgba(255, 255, 255, .92); backdrop-filter: saturate(1.3) blur(16px); -webkit-backdrop-filter: saturate(1.3) blur(16px); box-shadow: 0 1px 0 var(--hair); padding-block: 12px; }
.hdr.is-hidden { transform: translateY(-100%); }
.hdr__logo { display: flex; align-items: center; gap: 12px; color: var(--gold); }
.hdr__logo span { font: 400 18px/1 var(--serif); letter-spacing: .32em; text-transform: uppercase; color: var(--black); transition: color .4s; }
.hdr__nav { display: flex; gap: 36px; margin-left: auto; }
.hdr__nav a { font-size: 11px; letter-spacing: .24em; text-transform: uppercase; padding: 8px 0; background: linear-gradient(var(--gold), var(--gold)) 50% 100% / 0 1px no-repeat; transition: background-size .5s var(--ease); }
.hdr__nav a:hover, .hdr__nav a[aria-current] { background-size: 100% 1px; }
.hdr__end { display: flex; align-items: center; gap: 22px; }
.lang { font-size: 11px; letter-spacing: .26em; padding: 8px 4px; }
.burger { display: none; width: 44px; height: 44px; border: 0; background: none; position: relative; cursor: pointer; }
.burger span { position: absolute; right: 10px; height: 1px; background: currentColor; transition: transform .45s var(--ease), width .45s var(--ease); }
.burger span:first-child { top: 18px; width: 24px; } .burger span:nth-child(2) { top: 26px; width: 16px; }
.burger[aria-expanded="true"] span { width: 24px; }
.burger[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2) { transform: translateY(-4px) rotate(-45deg); }
.menu-open .hdr { background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; color: var(--white); }
.menu-open .hdr__logo span { color: var(--white); }

.menu { position: fixed; inset: 0; z-index: 45; background: var(--black) var(--orn-dark); background-size: 120px; color: var(--white); padding: 118px 28px 34px; display: flex; flex-direction: column; justify-content: space-between; animation: menuIn .7s var(--ease-out); }
.menu nav { display: grid; }
.menu nav a { font: 300 clamp(38px, 10vw, 60px)/1.3 var(--serif); border-bottom: 1px solid rgba(201, 168, 106, .22); padding: 6px 0; opacity: 0; transform: translateY(24px); animation: letter .8s calc(.15s + var(--i) * .07s) var(--ease-out) forwards; }
.menu__foot { display: flex; align-items: center; justify-content: space-between; color: var(--gold); gap: 16px; }
@keyframes menuIn { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0); } }

/* ---------- орнамент, разделитель, прорисовка ---------- */
.ornate { background-image: var(--orn-dark); background-size: 120px; }
.divider { color: var(--gold); padding: 8px 0; }
.divider svg { width: min(560px, 100%); display: block; margin: 0 auto; overflow: visible; }
.divider path, .draw path { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 2.2s var(--ease); }
.divider.in path, .draw.in path { stroke-dashoffset: 0; }
.draw path:nth-child(n+4) { transition-delay: .35s; }
.draw path:nth-child(n+8) { transition-delay: .7s; }
.js .divider.reveal { opacity: 1; transform: none; }

/* ---------- арка — дверь юрты ---------- */
.arch { display: block; position: relative; overflow: hidden; border-radius: 999px 999px 0 0; aspect-ratio: 3 / 4.2; background: var(--ivory); }
.arch img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s var(--ease-out); }
a:hover .arch img { transform: scale(1.06); }
.arch::after { content: ""; position: absolute; inset: 10px 10px 0; border: 1px solid rgba(255, 255, 255, .55); border-bottom: 0; border-radius: inherit; pointer-events: none; transition: inset .8s var(--ease-out), border-color .8s; }
a:hover .arch::after { inset: 16px 16px 0; border-color: rgba(241, 223, 180, .9); }
.arch--frame { box-shadow: 0 0 0 10px var(--white), 0 0 0 11px var(--gold); }

/* ---------- главный экран ---------- */
.hero { position: relative; padding: 104px 0 46px; min-height: 100svh; display: grid; align-content: center; justify-items: center; text-align: center; overflow: hidden; background: radial-gradient(60% 50% at 50% 38%, #FFFDF8 0%, #FFFFFF 60%), var(--white); }
.hero::before { content: ""; position: absolute; inset: 0; background: var(--orn); background-size: 120px; opacity: .55; -webkit-mask: radial-gradient(70% 60% at 50% 45%, transparent 35%, #000 100%); mask: radial-gradient(70% 60% at 50% 45%, transparent 35%, #000 100%); pointer-events: none; }
.corner { position: absolute; width: 38px; height: 38px; border-color: var(--gold); border-style: solid; border-width: 0; opacity: 0; transition: opacity 1.2s 1.6s, transform 1.2s 1.6s var(--ease-out); }
.corner--tl { top: 88px; left: 28px; border-width: 1px 0 0 1px; transform: translate(12px, 12px); }
.corner--tr { top: 88px; right: 28px; border-width: 1px 1px 0 0; transform: translate(-12px, 12px); }
.corner--bl { bottom: 24px; left: 28px; border-width: 0 0 1px 1px; transform: translate(12px, -12px); }
.corner--br { bottom: 24px; right: 28px; border-width: 0 1px 1px 0; transform: translate(-12px, -12px); }
.hero__brand { position: relative; display: grid; justify-items: center; width: 100%; }
.hero-mark { width: clamp(70px, min(8.5vw, 10.5svh), 116px); color: var(--gold); }
.hero__word { margin: 16px 0 0; display: flex; justify-content: center; font: 300 clamp(40px, min(7vw, 10svh), 110px)/1 var(--serif); letter-spacing: .24em; text-transform: uppercase; padding-left: .24em; }
.hero__word .ch { display: inline-block; background: linear-gradient(100deg, var(--black) 0%, var(--black) 42%, #B8914F 50%, var(--black) 58%, var(--black) 100%); background-size: 300% 100%; background-position: 100% 0; -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero__slogan { margin: 14px 0 0; font: italic 300 clamp(18px, 1.7vw, 25px)/1.4 var(--serif); color: var(--mute); }
.hero__stage { position: relative; width: min(var(--wrap), 1000px, 96svh); margin-top: clamp(22px, 3.5svh, 50px); }
.horizon { position: absolute; left: 50%; bottom: 52px; width: 100vw; height: clamp(110px, 14vw, 230px); transform: translateX(-50%); overflow: visible; }
.horizon path { fill: none; stroke: var(--gold); stroke-width: 1; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 1; }
.trio { position: relative; display: grid; grid-template-columns: repeat(3, 1fr) .62fr; gap: clamp(14px, 2.4vw, 36px); align-items: end; }
.kid { display: grid; gap: 14px; text-align: left; transition: translate .9s var(--ease-out); }
.kid:nth-child(2) { margin-bottom: 34px; }
.hero .trio .arch { aspect-ratio: 3 / 3.9; }
.kid__cap { display: grid; gap: 2px; }
.kid__cap b { font: 400 clamp(22px, 2vw, 30px)/1.1 var(--serif); }
.kid__cap small { font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--mute); }
.kid--plus .arch--empty { background: transparent; border: 1px dashed var(--gold); display: grid; place-items: center; aspect-ratio: 3 / 4.9; }
.kid--plus .arch--empty::after { display: none; }
.kid--plus .arch--empty > .plus__n-old { font: 300 clamp(26px, 2.6vw, 40px)/1 var(--serif); color: var(--gold-ink); animation: breathe 3.5s ease-in-out infinite; }
@keyframes breathe { 50% { opacity: .35; } }
.hero__act { margin-top: clamp(22px, 3.5svh, 48px); }
.hero__scroll { position: absolute; left: 50%; bottom: 0; width: 1px; height: 46px; overflow: hidden; background: var(--hair); }
.hero__scroll span { position: absolute; inset: 0; background: var(--gold); animation: drop 2.2s var(--ease) infinite; }
@keyframes drop { from { transform: translateY(-100%); } to { transform: translateY(100%); } }

/* вход главного экрана — после splash (.ready) */
.js .hero-mark path { stroke-dasharray: 1; stroke-dashoffset: 1; }
.js .hero__word .ch { opacity: 0; transform: translateY(.6em); }
.js .hero__slogan, .js .hero__act, .js .kid { opacity: 0; }
.ready .hero-mark path { animation: draw 2s var(--ease) forwards; }
.ready .hero-mark path:nth-child(n+4) { animation-delay: .35s; }
.ready .hero-mark path:nth-child(n+8) { animation-delay: .7s; }
.ready .hero__word .ch { animation: letter 1.1s calc(.2s + var(--i) * .06s) var(--ease-out) forwards, sheenText 2.2s 1.4s var(--ease) forwards; }
.ready .hero__slogan { animation: fadeUp 1.2s .9s var(--ease-out) forwards; }
.ready .kid { animation: rise 1.4s calc(.9s + var(--i) * .14s) var(--ease-out) forwards; }
.ready .horizon path { animation: draw 3s .9s var(--ease) forwards; }
.ready .hero__act { animation: fadeUp 1.2s 1.6s var(--ease-out) forwards; }
.ready .corner { opacity: 1; transform: none; }
@keyframes sheenText { from { background-position: 100% 0; } to { background-position: 0 0; } }
@keyframes draw { to { stroke-dashoffset: 0; } }
@keyframes fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeUp { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes rise { from { opacity: 0; transform: translateY(60px) scale(.96); } to { opacity: 1; transform: none; } }

/* ---------- бегущая строка направлений ---------- */
.marquee { background: var(--black); color: var(--white); overflow: hidden; padding: 26px 0; border-block: 1px solid rgba(201, 168, 106, .35); }
.marquee__track { display: flex; align-items: center; gap: 44px; width: max-content; animation: marquee 38s linear infinite; }
.marquee span { font: italic 300 clamp(26px, 3vw, 44px)/1 var(--serif); white-space: nowrap; }
.marquee svg { width: 30px; height: 28px; color: var(--gold); flex: none; }
.marquee:hover .marquee__track { animation-play-state: paused; }
@keyframes marquee { to { transform: translateX(-50%); } }

/* ---------- дом ---------- */
.house { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 7vw, 120px); align-items: center; }
.house .display { margin-bottom: 30px; }
.house__media { position: relative; min-height: 620px; }
.house__a { position: absolute; left: 12px; top: 12px; width: 62%; margin: 0; }
.house__a figcaption { margin-top: 20px; font-size: 10px; letter-spacing: .28em; text-transform: uppercase; color: var(--mute); }
.house__b { position: absolute; right: 0; bottom: 0; width: 46%; margin: 0; aspect-ratio: 4 / 3; overflow: hidden; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .45); }
.house__b img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- разворот талантов ---------- */
.spread { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; padding: 0; background: var(--black); }
.spread__it { position: relative; aspect-ratio: 3 / 4.5; overflow: hidden; color: var(--white); }
.spread__it img { width: 100%; height: 100%; object-fit: cover; transition: transform 2s var(--ease-out), filter 1.2s; filter: saturate(.9); }
.spread__it::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .1) 30%, rgba(0, 0, 0, .78)); }
.spread__it::before { content: ""; position: absolute; inset: 18px; z-index: 1; border: 1px solid rgba(231, 210, 163, 0); transition: border-color .9s var(--ease), inset .9s var(--ease-out); pointer-events: none; }
.spread__it:hover img { transform: scale(1.07); filter: saturate(1); }
.spread__it:hover::before { inset: 26px; border-color: rgba(231, 210, 163, .7); }
.spread__txt { position: absolute; left: clamp(28px, 3.4vw, 50px); right: 24px; bottom: clamp(28px, 3.4vw, 50px); z-index: 2; display: grid; gap: 6px; }
.spread__txt small { font-size: 10px; letter-spacing: .3em; text-transform: uppercase; color: var(--gold-hi); }
.spread__txt b { font: 300 clamp(48px, 5.4vw, 84px)/1 var(--serif); }
.spread__txt i { font: 400 10px/1 var(--sans); font-style: normal; letter-spacing: .28em; text-transform: uppercase; opacity: 0; transform: translateY(10px); transition: opacity .6s, transform .6s var(--ease-out); margin-top: 10px; }
.spread__it:hover .spread__txt i, .spread__it:focus-visible .spread__txt i { opacity: 1; transform: none; }

/* ---------- цитата ---------- */
.dark { background-color: var(--black); color: var(--white); }
.dark .lead, .dark p { color: rgba(255, 255, 255, .66); }
.dark .eyebrow { color: var(--gold); }
.dark .lines li { border-color: rgba(201, 168, 106, .2); }
.quote__in { display: grid; justify-items: center; text-align: center; }
.quote__mark { width: clamp(90px, 10vw, 130px); color: var(--gold); }
.quote__text { margin: 36px 0 34px; max-width: 22ch; font: italic 300 clamp(36px, 5vw, 76px)/1.12 var(--serif); color: var(--white); }

/* ---------- роль ---------- */
.role { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(40px, 8vw, 140px); align-items: center; }
.role__mark { color: var(--gold); justify-self: center; }
.role__mark svg { width: clamp(150px, 20vw, 280px); height: auto; }
.lines { list-style: none; margin: 0 0 36px; padding: 0; }
.lines li { position: relative; padding: 18px 0; border-top: 1px solid var(--hair); font-size: 16px; }
.lines li:last-child { border-bottom: 1px solid var(--hair); }
ul.lines li { padding-left: 30px; }
ul.lines li::before { content: ""; position: absolute; left: 0; top: 31px; width: 14px; height: 1px; background: var(--gold); transition: width .6s var(--ease-out); }
ul.lines li:hover::before { width: 22px; }

/* ---------- лента портфолио: медленный дрейф ---------- */
.strip { background: var(--ivory); overflow: hidden; }
.strip__head { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; }
.strip__viewport { margin-top: 50px; overflow: hidden; -webkit-mask: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.strip__track { display: flex; gap: 22px; width: max-content; animation: marquee 70s linear infinite; align-items: start; }
.strip__viewport:hover .strip__track { animation-play-state: paused; }
.strip__it { flex: 0 0 clamp(220px, 22vw, 320px); aspect-ratio: 3 / 4; overflow: hidden; }
.strip__it:nth-child(4n+1), .strip__it:nth-child(4n+3) { border-radius: 999px 999px 0 0; }
.strip__it:nth-child(even) { margin-top: 60px; }
.strip__it img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease-out); }
.strip__it:hover img { transform: scale(1.06); }

.cta__in { display: grid; justify-items: center; text-align: center; color: var(--gold); }
.cta__in .h2 { color: var(--white); margin-top: 28px; max-width: 20ch; }
.cta__in p { margin: 0; }

/* ---------- анимации появления ---------- */
.js .reveal { opacity: 0; transform: translateY(30px); transition: opacity 1.2s var(--ease-out), transform 1.2s var(--ease-out); }
.js .reveal.in { opacity: 1; transform: none; }
/* шторка: режем само фото, а не наблюдаемый блок — иначе IntersectionObserver не видит элемент с clip-path */
.js .unveil img { clip-path: inset(100% 0 0 0); transform: scale(1.25); transition: clip-path 1.6s var(--ease-out), transform 2.2s var(--ease-out); }
.js .unveil.in img { clip-path: inset(0 0 0 0); transform: none; }
.js .spread__it.unveil.in:hover img { transform: scale(1.07); }
.js .unveil figcaption, .js .unveil .spread__txt { opacity: 0; transform: translateY(14px); transition: opacity 1s .6s, transform 1s .6s var(--ease-out); }
.js .unveil.in figcaption, .js .unveil.in .spread__txt { opacity: 1; transform: none; }
.js .split .w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .1em; margin-bottom: -.1em; }
.js .split .w > span { display: inline-block; transform: translateY(110%); transition: transform 1.1s var(--ease-out); transition-delay: calc(var(--w) * 55ms); }
.js .split.in .w > span { transform: none; }
.js .stagger li { opacity: 0; transform: translateX(-16px); transition: opacity .9s var(--ease-out), transform .9s var(--ease-out); }
.js .stagger.in li { opacity: 1; transform: none; }
.js .stagger.in li:nth-child(2) { transition-delay: .1s; } .js .stagger.in li:nth-child(3) { transition-delay: .2s; } .js .stagger.in li:nth-child(4) { transition-delay: .3s; } .js .stagger.in li:nth-child(5) { transition-delay: .4s; }

/* ---------- страницы ---------- */
.page-head { padding-top: 190px; padding-bottom: 54px; position: relative; }
.page-head .lead { margin-top: 28px; }
.page-head::after { content: ""; display: block; width: 90px; height: 1px; margin-top: 40px; background: var(--gold); transform-origin: 0 50%; animation: grow 1.4s .3s var(--ease-out) both; }

.roster { display: grid; gap: clamp(80px, 10vw, 150px); padding-top: 10px; }
.rrow { display: grid; grid-template-columns: minmax(260px, 440px) 1fr; gap: clamp(32px, 7vw, 120px); align-items: center; }
.rrow:nth-child(even) .rrow__img { order: 2; }
.rrow__img { padding: 12px; }
.rrow__img .arch { box-shadow: 0 0 0 10px var(--white), 0 0 0 11px rgba(201, 168, 106, .6); }
.rrow__name { font: 300 clamp(60px, 8vw, 124px)/1 var(--serif); margin: 0 0 24px; }
.rrow__name a { background: linear-gradient(var(--gold), var(--gold)) 0 92% / 0 1px no-repeat; transition: background-size .7s var(--ease-out); }
.rrow__name a:hover { background-size: 100% 1px; }
.rrow__txt > p { color: var(--mute); max-width: 56ch; }

.profile { display: grid; grid-template-columns: minmax(280px, 500px) 1fr; gap: clamp(36px, 7vw, 120px); align-items: end; padding-top: 160px; }
.profile__media { padding: 14px; }
.profile__media .arch { box-shadow: 0 0 0 12px var(--white), 0 0 0 13px rgba(201, 168, 106, .7); }
.arch--xl { aspect-ratio: 3 / 4.4; }
.profile__name { font: 300 clamp(76px, 11vw, 176px)/.9 var(--serif); margin: 0 0 28px; letter-spacing: -.02em; }
.facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 36px; margin: 32px 0 0; }
.facts div { border-top: 1px solid var(--hair); padding: 14px 0; }
.facts dt { font-size: 10px; letter-spacing: .28em; text-transform: uppercase; color: var(--gold-ink); }
.facts dd { margin: 4px 0 0; }
.agency { margin-top: 24px; font-size: 13px; color: var(--mute); }
.agency a { color: var(--gray); border-bottom: 1px solid var(--gold); }
.cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 60px; }
.cols ol.lines { counter-reset: n; }
.cols ol.lines li { counter-increment: n; padding-left: 46px; }
.cols ol.lines li::before { content: counter(n, decimal-leading-zero); position: absolute; left: 0; top: 19px; font: italic 400 18px/1 var(--serif); color: var(--gold-ink); }

.masonry { columns: 3 280px; column-gap: 22px; margin-top: 34px; }
.m-it { break-inside: avoid; margin: 0 0 22px; position: relative; overflow: hidden; }
.m-it img, .m-it video { width: 100%; height: auto; }
.m-it:has(figcaption)::after { content: ''; position: absolute; inset: auto 0 0; height: 64px; background: linear-gradient(transparent, rgba(0, 0, 0, .55)); pointer-events: none; }
.m-it figcaption { z-index: 1; position: absolute; left: 16px; bottom: 14px; font-size: 9px; letter-spacing: .28em; text-transform: uppercase; color: var(--white); text-shadow: 0 1px 10px rgba(0, 0, 0, .6); pointer-events: none; }
.m-it.is-off { display: none; }
.zoom { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; overflow: hidden; }
.zoom img { transition: transform 1.4s var(--ease-out); }
.zoom:hover img { transform: scale(1.04); }
.chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 36px; align-items: center; }
.chips__gap { width: 1px; height: 24px; background: var(--hair); margin: 0 8px; }
.chip { min-height: 42px; padding: 0 22px; border: 1px solid var(--hair); background: none; font-size: 10px; letter-spacing: .24em; text-transform: uppercase; cursor: pointer; transition: all .4s var(--ease); }
.chip:hover { border-color: var(--gray); }
.chip.is-on { background: var(--black); color: var(--white); border-color: var(--black); }

.siblings { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; padding-block: 30px 120px; }
.siblings a { border-top: 1px solid var(--gray); padding: 26px 0; display: grid; gap: 6px; }
.siblings small { font-size: 10px; letter-spacing: .28em; text-transform: uppercase; color: var(--gold-ink); }
.siblings b { font: 300 48px/1.1 var(--serif); transition: transform .6s var(--ease-out); }
.siblings a:hover b { transform: translateX(10px); }

.chapters { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 8vw, 130px); align-items: start; padding-top: 10px; }
.chapters__img { margin: 0; position: sticky; top: 120px; padding: 14px; }
.chapters__img .arch { box-shadow: 0 0 0 12px var(--white), 0 0 0 13px rgba(201, 168, 106, .7); }
.chapter { padding: 34px 0; border-top: 1px solid var(--hair); }
.chapter p { color: var(--mute); margin: 0; }
.founder { display: grid; grid-template-columns: 220px 1fr; gap: clamp(40px, 7vw, 110px); align-items: start; }
.founder__mark { color: var(--gold); }
.reloc__list { list-style: none; padding: 0; margin: 36px 0 44px; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 0 36px; }
.reloc__list li { border-top: 1px solid var(--hair); padding: 20px 0; font: 400 24px/1.35 var(--serif); }

.booking { display: grid; grid-template-columns: 1fr 300px; gap: clamp(40px, 6vw, 100px); padding-top: 10px; align-items: start; }
.form { display: grid; gap: 28px; }
.picks { border: 0; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.picks legend { font: 400 10px/1 var(--sans); letter-spacing: .28em; text-transform: uppercase; color: var(--gold-ink); margin-bottom: 22px; }
.pick { position: relative; display: grid; gap: 14px; cursor: pointer; font: 400 22px/1 var(--serif); }
.pick input { position: absolute; opacity: 0; }
.pick__img { aspect-ratio: 3 / 4; border-radius: 999px 999px 0 0; overflow: hidden; margin: 7px; box-shadow: 0 0 0 6px var(--white), 0 0 0 7px var(--hair); transition: box-shadow .4s; }
.pick__img img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(.9); opacity: .7; transition: filter .6s, opacity .6s, transform 1.2s var(--ease-out); }
.pick:hover .pick__img img { opacity: 1; transform: scale(1.04); }
.pick input:checked + .pick__img { box-shadow: 0 0 0 6px var(--white), 0 0 0 7px var(--gold); }
.pick input:checked + .pick__img img { filter: none; opacity: 1; }
.pick input:focus-visible + .pick__img { box-shadow: 0 0 0 6px var(--white), 0 0 0 8px var(--black); }
.row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 34px; }
.fld { display: grid; gap: 6px; position: relative; }
.fld span { font-size: 10px; letter-spacing: .26em; text-transform: uppercase; color: var(--mute); }
.fld input, .fld select, .fld textarea { font: 300 17px/1.4 var(--sans); color: var(--gray); background: transparent; border: 0; border-bottom: 1px solid var(--gray); padding: 10px 0; border-radius: 0; appearance: none; }
.fld select { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23C9A86A'/%3E%3C/svg%3E") right 4px center no-repeat; }
.fld::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--gold); transform: scaleX(0); transform-origin: 0 50%; transition: transform .6s var(--ease-out); }
.fld:focus-within::after { transform: scaleX(1); }
.fld input:focus, .fld select:focus, .fld textarea:focus { outline: none; }
.consent { display: flex; gap: 12px; font-size: 13px; color: var(--mute); }
.consent input { margin-top: 5px; accent-color: var(--gold); }
.booking__side { display: grid; gap: 14px; position: sticky; top: 120px; }
.ccard { display: grid; gap: 6px; padding: 26px; border: 1px solid var(--hair); position: relative; }
.ccard small { font-size: 10px; letter-spacing: .28em; text-transform: uppercase; color: var(--gold-ink); }
.ccard b, .ccard a { font: 400 22px/1.25 var(--serif); }
.notice { grid-column: 1 / -1; display: flex; gap: 36px; align-items: center; color: var(--gold); padding: 20px 0 60px; }
.contact { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 22px; padding-top: 10px; }
.ccard--big { min-height: 210px; align-content: end; transition: border-color .5s; overflow: hidden; isolation: isolate; }
.ccard--big::before { content: ""; position: absolute; inset: 0; background: var(--black) var(--orn-dark); background-size: 120px; transform: translateY(101%); transition: transform .8s var(--ease-out); z-index: -1; }
.ccard--big b { font-size: 32px; transition: color .5s; }
.ccard--big i { position: absolute; right: 26px; top: 24px; font-style: normal; color: var(--gold); transition: transform .5s var(--ease-out); }
a.ccard--big:hover::before { transform: none; }
a.ccard--big:hover b { color: var(--white); }
a.ccard--big:hover i { transform: translateX(8px); }

.logos { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 38px; padding-top: 10px; }
.logo-card__w, .logo-card__b { aspect-ratio: 4 / 3; display: grid; place-items: center; padding: 20px; }
.logo-card__w { border: 1px solid var(--hair); color: var(--black); }
.logo-card__b { background: var(--black) var(--orn-dark); background-size: 120px; color: var(--white); margin: 12px 0 26px; }
.logo-card svg { width: 100%; height: auto; }
.logo-card .gold { stroke: var(--gold); }
.logo-card p { color: var(--mute); }

.ftr { padding: 90px 0 40px; background: var(--black) var(--orn-dark); background-size: 120px; color: var(--white); border-top: 1px solid rgba(201, 168, 106, .25); }
.ftr__in { display: grid; grid-template-columns: 1.1fr 2fr; gap: 40px; align-items: center; }
.ftr__brand { display: flex; gap: 18px; align-items: center; color: var(--gold); }
.ftr__brand b { display: block; font: 400 20px/1.2 var(--serif); letter-spacing: .32em; text-transform: uppercase; color: var(--white); }
.ftr__brand span { font: italic 300 17px/1.4 var(--serif); color: rgba(255, 255, 255, .6); }
.ftr nav { display: flex; flex-wrap: wrap; gap: 14px 32px; justify-content: flex-end; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; }
.ftr nav a { transition: color .3s; }
.ftr nav a:hover { color: var(--gold); }
.ftr__small { grid-column: 1 / -1; margin: 36px 0 0; padding-top: 24px; border-top: 1px solid rgba(201, 168, 106, .25); font-size: 11px; letter-spacing: .1em; color: rgba(255, 255, 255, .5); }

.wa-fab { position: fixed; right: 24px; bottom: 24px; z-index: 30; width: 58px; height: 58px; border-radius: 50%; background: var(--black); display: grid; place-items: center; box-shadow: 0 0 0 1px rgba(201, 168, 106, .5), 0 16px 36px -14px rgba(0, 0, 0, .6); transition: background .5s, transform .5s var(--ease-out); }
.wa-fab svg { width: 24px; height: 24px; fill: var(--gold); }
.wa-fab:hover { background: var(--gold); transform: translateY(-4px); }
.wa-fab:hover svg { fill: var(--black); }
.mbar { display: none; }

.lightbox { border: 0; padding: 0; background: transparent; max-width: 94vw; max-height: 94vh; overflow: visible; }
.lightbox[open] { animation: fadeUp .6s var(--ease-out); }
.lightbox::backdrop { background: rgba(0, 0, 0, .92); }
.lightbox img { max-width: 94vw; max-height: 90vh; object-fit: contain; }
.lightbox__x { position: fixed; top: 16px; right: 22px; width: 48px; height: 48px; font: 300 38px/1 var(--serif); color: var(--white); background: none; border: 0; cursor: pointer; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .js .reveal, .js .kid, .js .hero__slogan, .js .hero__act, .js .hero__word .ch, .js .stagger li { opacity: 1 !important; transform: none !important; }
  .js .hero__word .ch { color: var(--black); background: none; }
  .js .unveil { clip-path: none !important; } .js .unveil img, .js .split .w > span { transform: none !important; }
  .hero-mark path, .horizon path, .divider path, .draw path { stroke-dashoffset: 0 !important; }
  .corner { opacity: 1; transform: none; }
}

@media (max-width: 1080px) {
  .hdr__nav, .hdr .btn { display: none; }
  .burger { display: block; }
  .hdr__end { margin-left: auto; }
  .house, .role, .chapters, .founder, .ftr__in, .booking { grid-template-columns: 1fr; }
  .house__media { min-height: 560px; }
  .chapters__img, .booking__side { position: static; }
  .chapters__img { max-width: 440px; }
  .profile { grid-template-columns: 1fr; padding-top: 120px; }
  .profile__media { max-width: 500px; }
  .ftr nav { justify-content: flex-start; }
  .cursor { display: none; }
}
@media (max-width: 760px) {
  :root { --wrap: calc(100% - 40px); }
  body { padding-bottom: 60px; }
  .hdr { padding-inline: 20px; gap: 12px; }
  .hdr__logo span { font-size: 14px; letter-spacing: .22em; }
  .corner { width: 26px; height: 26px; }
  .corner--tl, .corner--tr { top: 80px; }
  .corner--tl, .corner--bl { left: 14px; } .corner--tr, .corner--br { right: 14px; }
  .hero { padding: 108px 0 60px; }
  .hero__word { width: 100%; flex-wrap: wrap; font-size: clamp(46px, 15vw, 66px); letter-spacing: .2em; padding-left: .2em; line-height: 1.02; }
  .hero__word .ch:nth-child(6) { flex-basis: 100%; height: 0; overflow: hidden; }
  .horizon { display: none; }
  .hero__stage { width: 100%; }
  .trio { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 12px 20px 6px; scroll-padding: 0 20px; scrollbar-width: none; align-items: end; }
  .trio::-webkit-scrollbar { display: none; }
  .kid { flex: 0 0 66vw; scroll-snap-align: start; }
  .kid:nth-child(2) { margin-bottom: 0; }
  .kid--plus { flex-basis: 42vw; }
  .hero .trio .arch { aspect-ratio: 3 / 3.8; }
  .hero__scroll { display: none; }
  .marquee { padding: 18px 0; }
  .house__media { min-height: 0; display: grid; gap: 20px; }
  .house__a, .house__b { position: static; width: 100%; }
  .house__a { width: 80%; margin: 12px; }
  .house__b { width: 64%; justify-self: end; margin-top: -120px; }
  .spread { grid-template-columns: 1fr; }
  .spread__it { aspect-ratio: 4 / 5; }
  .spread__txt i { opacity: 1; transform: none; }
  .quote__text { font-size: clamp(32px, 9vw, 44px); }
  .rrow, .siblings { grid-template-columns: 1fr; }
  .rrow:nth-child(even) .rrow__img { order: 0; }
  .rrow__img { max-width: 340px; }
  .row2, .facts { grid-template-columns: 1fr; }
  .picks { grid-template-columns: repeat(2, 1fr); }
  .page-head { padding-top: 140px; }
  .logos { grid-template-columns: 1fr; }
  .strip__it { flex-basis: 58vw; }
  .wa-fab { display: none; }
  .mbar { display: grid; grid-template-columns: 1fr 1fr; position: fixed; left: 0; right: 0; bottom: 0; z-index: 35; background: var(--black); border-top: 1px solid rgba(201, 168, 106, .4); padding-bottom: env(safe-area-inset-bottom); transform: translateY(100%); transition: transform .6s var(--ease-out); }
  .mbar.is-on { transform: none; }
  .mbar a { min-height: 60px; display: grid; place-items: center; font: 400 10px/1 var(--sans); letter-spacing: .26em; text-transform: uppercase; color: var(--white); }
  .mbar a + a { border-left: 1px solid rgba(201, 168, 106, .3); color: var(--gold); }
}

/* ---------- декор профилей: ноты и шахматы, объектив и плёнка, волны ---------- */
.profile { position: relative; }
.deco { position: absolute; z-index: -1; top: 60px; right: -4%; width: min(620px, 52vw); height: auto; color: var(--gold); opacity: .55; pointer-events: none; }
.deco path, .deco circle, .deco ellipse, .deco rect { vector-effect: non-scaling-stroke; }
.deco .float { animation: floaty calc(7s * var(--f, 1)) ease-in-out infinite alternate; transform-box: fill-box; }
.deco .staff path { stroke-dasharray: 1; stroke-dashoffset: 1; animation: draw 3.4s .3s var(--ease) forwards; }
.deco .staff path { stroke-width: .8; }
.deco .wave { animation: wave calc(6s * var(--f, 1)) ease-in-out infinite alternate; }
@keyframes floaty { from { translate: 0 0; rotate: -2deg; } to { translate: 0 -18px; rotate: 2deg; } }
@keyframes wave { from { translate: -20px 0; } to { translate: 20px 0; } }
.card-dl { display: inline-grid; gap: 2px; margin-top: 26px; padding: 14px 22px 14px 52px; border: 1px solid var(--gold); position: relative; transition: background .5s var(--ease), color .5s; }
.card-dl::before { content: ""; position: absolute; left: 18px; top: 50%; width: 20px; height: 24px; margin-top: -12px; border: 1px solid currentColor; border-top-right-radius: 7px; background: linear-gradient(currentColor, currentColor) 50% 70% / 8px 1px no-repeat; color: var(--gold-ink); }
.card-dl span { font: 400 20px/1.1 var(--serif); }
.card-dl small { font-size: 9px; letter-spacing: .26em; text-transform: uppercase; color: var(--mute); }
.card-dl:hover { background: var(--black); color: var(--white); }
.card-dl:hover small { color: var(--gold); }
.ccard--pdf { transition: border-color .4s; } .ccard--pdf:hover { border-color: var(--gold); }

/* ---------- звук ---------- */
.sound { width: 40px; height: 40px; border: 1px solid var(--hair); border-radius: 50%; background: none; display: grid; place-items: center; cursor: pointer; transition: border-color .4s; }
.sound:hover, .sound[aria-pressed="true"] { border-color: var(--gold); }
.eq { display: flex; align-items: end; gap: 2px; height: 12px; }
.eq i { width: 2px; height: 3px; background: var(--gold); transition: height .3s; }
[aria-pressed="true"] .eq i, .splash__sound .eq i { animation: eq .9s ease-in-out infinite alternate; }
.eq i:nth-child(2) { animation-delay: .2s !important; } .eq i:nth-child(3) { animation-delay: .4s !important; }
@keyframes eq { from { height: 3px; } to { height: 12px; } }
.menu-open .sound { border-color: rgba(201, 168, 106, .4); }
.splash__sound { margin-top: 30px; display: inline-flex; align-items: center; gap: 12px; padding: 12px 22px; border: 1px solid rgba(201, 168, 106, .45); background: none; color: var(--gold-hi); font: 400 10px/1 var(--sans); letter-spacing: .3em; text-transform: uppercase; cursor: pointer; opacity: 0; animation: fade 1s 2.1s forwards; transition: background .4s, color .4s; }
.splash__sound:hover { background: var(--gold); color: var(--black); }
.splash__sound:hover .eq i { background: var(--black); }

/* ---------- видео пейзажа за цитатой ---------- */
.quote { position: relative; overflow: hidden; isolation: isolate; }
.quote__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; opacity: .55; filter: saturate(.8); }
.quote--video::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(70% 70% at 50% 50%, rgba(0,0,0,.25), rgba(0,0,0,.8)); }
.quote--video { padding-block: clamp(140px, 18vw, 240px); }

@media (max-width: 760px) {
  .deco { width: 90vw; right: -20%; top: 40px; opacity: .35; }
  .sound { width: 36px; height: 36px; }
}
@media (prefers-reduced-motion: reduce) { .deco .staff path { stroke-dashoffset: 0; } }
/* декор Дарии — со стороны фото, чтобы объектив и плёнка не ложились под текст */
.deco--dariya { right: auto; left: -9%; top: 30px; width: min(560px, 46vw); opacity: .5; }
@media (max-width: 760px) {
  .hdr .sound { display: none; }
  .deco--dariya { left: -30%; }
}
.menu__foot .sound { border-color: rgba(201, 168, 106, .45); }

/* ================= ритм отступов: секции одного фона не складывают отступы ================= */
section { padding-block: clamp(64px, 7.5vw, 116px); }
main > section:not(.dark):not(.strip):not(.spread):not(.hero) + section:not(.dark):not(.strip):not(.spread):not([class^="k"]) { padding-top: 0; }
.page-head { padding-top: clamp(130px, 13vw, 168px); padding-bottom: clamp(28px, 3vw, 44px); }
.page-head::after { margin-top: 30px; }
.profile { padding-bottom: clamp(56px, 6vw, 90px); }
.cols { padding-top: clamp(40px, 5vw, 72px); }
.quote--video { padding-block: clamp(120px, 14vw, 200px); }
.roster { gap: clamp(64px, 8vw, 116px); }
.siblings { padding-block: 10px clamp(64px, 7vw, 100px); }
.house .display { margin-bottom: 24px; }
.strip__viewport { margin-top: 36px; }
.ftr { padding-top: clamp(60px, 7vw, 90px); }
@media (max-width: 760px) {
  section { padding-block: 56px; }
  .page-head { padding-top: 116px; padding-bottom: 24px; }
  .profile { padding-top: 104px; padding-bottom: 40px; }
  .cols { gap: 40px; padding-top: 0; }
  .quote--video { padding-block: 110px; }
  .roster { gap: 64px; }
  .masonry { columns: 2; column-gap: 10px; }
  .m-it { margin-bottom: 10px; }
  .house__b { margin-top: -80px; }
  .chapter { padding: 24px 0; }
  .lines li { padding-block: 14px; }
}

/* ================= бургер ================= */
.burger { display: none; width: auto; height: 46px; padding: 0 6px 0 16px; gap: 12px; align-items: center; border: 1px solid var(--hair); border-radius: 999px; background: none; color: inherit; cursor: pointer; transition: border-color .4s, background .4s, color .4s; }
.burger:hover { border-color: var(--gold); }
.burger__label { font: 400 10px/1 var(--sans); letter-spacing: .28em; text-transform: uppercase; }
.burger__lines { position: relative; width: 34px; height: 34px; border-radius: 50%; background: var(--black); display: block; transition: background .4s, transform .6s var(--ease-out); }
.burger__lines i { position: absolute; left: 10px; height: 1px; background: var(--gold); transition: transform .5s var(--ease-out), width .5s var(--ease-out), top .5s var(--ease-out); }
.burger__lines i:first-child { top: 14px; width: 14px; } .burger__lines i:nth-child(2) { top: 19px; width: 9px; }
.burger:hover .burger__lines i:nth-child(2) { width: 14px; }
.burger[aria-expanded="true"] { border-color: rgba(201, 168, 106, .5); color: var(--white); }
.burger[aria-expanded="true"] .burger__lines { background: var(--gold); transform: rotate(90deg); }
.burger[aria-expanded="true"] .burger__lines i { background: var(--black); width: 14px; top: 16.5px; }
.burger[aria-expanded="true"] .burger__lines i:first-child { transform: rotate(45deg); }
.burger[aria-expanded="true"] .burger__lines i:nth-child(2) { transform: rotate(-45deg); }
@media (max-width: 1080px) { .burger { display: inline-flex; } }
@media (max-width: 420px) { .burger__label { display: none; } .burger { padding: 0; border: 0; width: 46px; justify-content: center; } }

/* ================= меню ================= */
.menu { position: fixed; inset: 0; z-index: 45; display: flex; flex-direction: column; padding: 100px clamp(20px, 5vw, 64px) 26px; background: var(--black) var(--orn-dark); background-size: 120px; color: var(--white); overflow-y: auto; clip-path: circle(0 at var(--ox, 90%) var(--oy, 40px)); transition: clip-path .8s var(--ease-out); animation: none; }
.menu.is-open { clip-path: circle(150vmax at var(--ox, 90%) var(--oy, 40px)); }
.menu.is-closing { clip-path: circle(0 at var(--ox, 90%) var(--oy, 40px)); transition-duration: .6s; }
.menu__bg { position: absolute; right: -8vw; bottom: -10vh; color: var(--gold); opacity: .06; pointer-events: none; }
.menu__bg svg { width: min(90vw, 620px); height: auto; }
.menu__in { position: relative; flex: 1; display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(24px, 6vw, 80px); align-items: center; }
.menu__nav { display: grid; border-top: 1px solid rgba(201, 168, 106, .2); }
.menu .menu__nav a { position: relative; display: grid; grid-template-columns: 1fr auto; column-gap: 16px; padding: 14px 0; border-bottom: 1px solid rgba(201, 168, 106, .2); opacity: 0; transform: translateY(26px); transition: opacity .8s var(--ease-out), transform .8s var(--ease-out), color .4s; transition-delay: 0s; animation: none; }
.menu.is-open .menu__nav a { opacity: 1; transform: none; transition-delay: calc(.18s + var(--i) * .06s), calc(.18s + var(--i) * .06s), 0s; }
.menu .menu__nav a::after { content: ""; position: absolute; left: 0; bottom: -1px; height: 1px; width: 0; background: var(--gold); transition: width .6s var(--ease-out); }
.menu__t { font: 300 clamp(30px, min(6.4vw, 6.2vh), 58px)/1.08 var(--serif); transition: transform .6s var(--ease-out), color .4s; }
.menu__s { grid-column: 1; font: 400 9px/1.6 var(--sans); letter-spacing: .26em; text-transform: uppercase; color: rgba(231, 210, 163, .55); }
.menu__arr { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-style: normal; color: var(--gold); opacity: 0; transform: translateX(-12px); transition: opacity .4s, transform .5s var(--ease-out); }
.menu .menu__nav a:hover::after, .menu .menu__nav a:focus-visible::after, .menu .menu__nav a[aria-current]::after { width: 100%; }
.menu .menu__nav a:hover .menu__t, .menu .menu__nav a:focus-visible .menu__t { transform: translateX(12px); color: var(--gold-hi); font-style: italic; }
.menu .menu__nav a:hover .menu__arr, .menu .menu__nav a:focus-visible .menu__arr { opacity: 1; transform: none; }
.menu .menu__nav:hover a:not(:hover) { color: rgba(255, 255, 255, .45); }
.menu__aside { display: grid; gap: 26px; justify-items: center; opacity: 0; transform: translateY(30px); transition: opacity 1s .35s var(--ease-out), transform 1s .35s var(--ease-out); }
.menu.is-open .menu__aside { opacity: 1; transform: none; }
.menu__preview { margin: 0; width: min(300px, 100%); padding: 12px; }
.menu__preview .arch { box-shadow: 0 0 0 10px var(--black), 0 0 0 11px rgba(201, 168, 106, .6); }
.menu__preview img { transition: opacity .22s, transform 1.2s var(--ease-out); }
.menu__preview img.is-swap { opacity: 0; transform: scale(1.06); }
.menu__kids { display: none; grid-template-columns: repeat(3, 1fr); gap: 12px; width: 100%; }
.menu__kids a { display: grid; gap: 8px; text-align: center; }
.menu__kids .arch { aspect-ratio: 3 / 3.6; }
.menu__kids b { font: 400 18px/1 var(--serif); font-weight: 400; }
.menu__foot { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-top: 26px; padding-top: 20px; border-top: 1px solid rgba(201, 168, 106, .25); color: var(--gold); opacity: 0; transition: opacity 1s .5s; }
.menu.is-open .menu__foot { opacity: 1; }
.menu__lang { display: flex; align-items: center; gap: 12px; font: 400 11px/1 var(--sans); letter-spacing: .28em; }
.menu__lang a { color: rgba(255, 255, 255, .5); padding: 8px 2px; } .menu__lang a[aria-current] { color: var(--gold); }
.menu__lang span { width: 18px; height: 1px; background: rgba(201, 168, 106, .4); }
.menu__slogan { margin: 0; font: italic 300 17px/1.3 var(--serif); color: rgba(255, 255, 255, .55); }
.menu__acts { display: flex; align-items: center; gap: 12px; }
.menu__acts .btn { min-height: 44px; padding: 0 22px; }
.menu-open .hdr .lang, .menu-open .hdr .sound { opacity: 0; pointer-events: none; }
@media (max-width: 760px) {
  .menu { padding-top: 92px; }
  .menu__in { grid-template-columns: 1fr; align-items: start; gap: 28px; }
  .menu__preview { display: none; }
  .menu__kids { display: grid; }
  .menu__slogan { order: 3; width: 100%; font-size: 15px; }
  .menu .menu__nav a { padding: 11px 0; }
}
@media (prefers-reduced-motion: reduce) { .menu, .menu.is-open, .menu.is-closing { clip-path: none; } .menu .menu__nav a, .menu__aside, .menu__foot { opacity: 1 !important; transform: none !important; } }

/* ================= новости, политика, cookie ================= */
.news { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(28px, 4vw, 56px); }
.news__it { display: grid; gap: 22px; align-content: start; }
.news__it--lead { grid-column: 1 / -1; grid-template-columns: 1.2fr 1fr; align-items: center; gap: clamp(28px, 5vw, 80px); }
.news__img { display: block; overflow: hidden; aspect-ratio: 4 / 3; }
.news__it--lead .news__img { aspect-ratio: 16 / 10; border-radius: 999px 999px 0 0; }
.news__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease-out); }
.news__img:hover img { transform: scale(1.05); }
.news__txt p:not(.eyebrow) { color: var(--mute); }
.privacy { max-width: 820px; }
.privacy .chapter:first-child { border-top: 0; padding-top: 0; }
.consent a { color: var(--gold-ink); border-bottom: 1px solid currentColor; }
.ftr__small a { color: rgba(255, 255, 255, .7); border-bottom: 1px solid rgba(201, 168, 106, .4); }
.cookie { position: fixed; left: 20px; bottom: 20px; z-index: 60; max-width: 420px; display: grid; gap: 14px; padding: 20px 22px; background: rgba(255, 255, 255, .97); box-shadow: 0 0 0 1px rgba(201, 168, 106, .45), 0 24px 60px -24px rgba(0, 0, 0, .35); opacity: 0; transform: translateY(20px); transition: opacity .6s var(--ease-out), transform .6s var(--ease-out); }
.cookie.is-on { opacity: 1; transform: none; }
.cookie p { margin: 0; font-size: 13px; line-height: 1.6; color: var(--mute); }
.cookie a { color: var(--gold-ink); border-bottom: 1px solid currentColor; }
.cookie .btn { justify-self: start; }
@media (max-width: 760px) {
  .news, .news__it--lead { grid-template-columns: 1fr; }
  .cookie { left: 12px; right: 12px; bottom: 72px; max-width: none; }
}

.menu .menu__nav a { padding-block: clamp(8px, 1.6vh, 14px); }
@media (min-width: 761px) and (max-height: 820px) { .menu { padding-top: 84px; } .menu__preview { width: min(240px, 100%); } }

/* ================= живой шанырак ================= */
.shan { position: absolute; left: 50%; top: var(--sy, 30%); width: min(860px, 130vw); aspect-ratio: 1; transform: translate(-50%, -50%); perspective: 1400px; color: var(--gold); pointer-events: none; z-index: 0; opacity: 0; transition: opacity 2s .4s var(--ease); }
.ready .shan { opacity: .26; }
.shan__tilt { width: 100%; height: 100%; transform-style: preserve-3d; transition: transform 1.2s var(--ease-out); }
.shan__rot { width: 100%; height: 100%; will-change: transform; }
.shan__svg { width: 100%; height: 100%; overflow: visible; }
.shan__svg path, .shan__svg circle { vector-effect: non-scaling-stroke; }
.hero__brand, .hero__stage, .hero__act { z-index: 1; }
.hero::after { content: ""; position: absolute; left: 50%; top: var(--sy, 30%); width: min(520px, 90vw); aspect-ratio: 1; transform: translate(-50%, -50%); background: radial-gradient(circle, rgba(255, 255, 255, .92) 0 38%, transparent 70%); pointer-events: none; z-index: 0; }
.rays { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0; overflow: visible; }
.ray, .ray-spark { fill: none; stroke: var(--gold); vector-effect: non-scaling-stroke; }
.ray { stroke-width: 1; stroke-dasharray: 1; stroke-dashoffset: 1; opacity: .8; transition: stroke-dashoffset 2.4s var(--ease); }
.rays.is-on .ray { stroke-dashoffset: 0; }
.ray-spark { stroke-width: 2.4; stroke-linecap: round; stroke-dasharray: .035 .965; stroke-dashoffset: 1; opacity: 0; filter: drop-shadow(0 0 4px rgba(231, 210, 163, .9)); }
.rays.is-on .ray-spark { opacity: 1; animation: spark 3.6s linear infinite; animation-delay: calc(2.4s + var(--d)); }
@keyframes spark { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }

/* ================= «+1»: сердце и рождение ================= */
.plus { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: pointer; text-align: center; }
.kid--plus .arch--empty { position: relative; overflow: visible; }
.plus__heart { position: absolute; left: 50%; top: 46%; width: clamp(30px, 3vw, 44px); color: var(--gold); transform: translate(-50%, -50%); animation: beat 1.6s ease-in-out infinite; filter: drop-shadow(0 0 0 rgba(201, 168, 106, 0)); }
.plus__heart::after { content: ""; position: absolute; left: 50%; top: 50%; width: 100%; aspect-ratio: 1; border-radius: 50%; border: 1px solid var(--gold); transform: translate(-50%, -50%) scale(.6); opacity: 0; animation: ripple 1.6s ease-out infinite; }
.plus__heart svg { width: 100%; height: auto; display: block; }
.kid--plus .arch--empty .plus__n { position: absolute; left: 0; right: 0; bottom: 14%; font: 300 clamp(18px, 1.8vw, 26px)/1 var(--serif); color: var(--gold-ink); animation: none; }
.plus:hover .plus__heart, .plus:focus-visible .plus__heart { color: #B8914F; animation-duration: 1s; }
@keyframes beat { 0%, 100% { transform: translate(-50%, -50%) scale(1); } 14% { transform: translate(-50%, -50%) scale(1.16); } 28% { transform: translate(-50%, -50%) scale(1); } 42% { transform: translate(-50%, -50%) scale(1.1); } 70% { transform: translate(-50%, -50%) scale(1); } }
@keyframes ripple { 0% { opacity: .7; transform: translate(-50%, -50%) scale(.6); } 100% { opacity: 0; transform: translate(-50%, -50%) scale(2.4); } }
.plus__glow { position: absolute; inset: -1px; border-radius: 999px 999px 0 0; border: 1px solid var(--gold); clip-path: inset(100% 0 0 0); transition: clip-path 1.4s var(--ease-out); pointer-events: none; }
.plus__burst { position: absolute; left: 50%; top: 46%; width: 0; height: 0; pointer-events: none; }
.plus__burst i { position: absolute; left: -1px; top: -1px; width: 2px; height: 26px; background: linear-gradient(var(--gold-hi), transparent); transform: rotate(var(--a)) translateY(0) scaleY(0); transform-origin: 1px 1px; opacity: 0; }
.plus__born { position: absolute; left: 50%; top: 46%; color: var(--gold); transform: translate(-50%, -50%) scale(.4); opacity: 0; transition: opacity .9s .9s, transform 1.2s .9s var(--ease-out); }
.plus__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.plus__welcome { display: none; font: italic 400 clamp(18px, 1.6vw, 24px)/1.2 var(--serif); color: var(--gold-ink); }
.plus__hint { color: var(--gold-ink) !important; opacity: .8; }
.kid--plus.is-born .arch--empty { border-style: solid; border-color: transparent; background: radial-gradient(circle at 50% 46%, rgba(241, 223, 180, .45), transparent 70%); }
.kid--plus.is-born .plus__glow { clip-path: inset(0 0 0 0); }
.kid--plus.is-born .plus__heart { animation: heartOut 1s var(--ease-out) forwards; }
.kid--plus.is-born .plus__heart::after { animation: none; }
.kid--plus.is-born .plus__n { opacity: 0; transition: opacity .4s; }
.kid--plus.is-born .plus__burst i { animation: burst 1.3s .35s var(--ease-out) forwards; }
.kid--plus.is-born .plus__born { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.kid--plus.is-born .plus__welcome { display: block; animation: fadeUp 1s 1.2s var(--ease-out) both; }
.kid--plus.is-born .plus__soon, .kid--plus.is-born .plus__hint { display: none; }
@keyframes heartOut { 40% { transform: translate(-50%, -50%) scale(1.5); opacity: 1; } 100% { transform: translate(-50%, -50%) scale(.2); opacity: 0; } }
@keyframes burst { 0% { opacity: 0; transform: rotate(var(--a)) translateY(0) scaleY(0); } 30% { opacity: 1; transform: rotate(var(--a)) translateY(-26px) scaleY(1); } 100% { opacity: 0; transform: rotate(var(--a)) translateY(-70px) scaleY(.2); } }

/* ================= шахматная партия Антара ================= */
.chess { overflow: hidden; }
.chess__in { display: grid; grid-template-columns: minmax(280px, 520px) 1fr; gap: clamp(36px, 7vw, 110px); align-items: center; }
.chess__board { position: relative; display: grid; grid-template-columns: repeat(8, 1fr); aspect-ratio: 1; border: 1px solid rgba(201, 168, 106, .55); box-shadow: 0 0 0 10px var(--black), 0 0 0 11px rgba(201, 168, 106, .25); }
.sq { display: block; }
.sq--d { background: rgba(201, 168, 106, .09); }
.chess__trail { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.chess__trail path { fill: none; stroke: var(--gold); stroke-width: 1.4; stroke-dasharray: 4 6; vector-effect: non-scaling-stroke; opacity: .7; }
.chess__mark { position: absolute; left: calc(var(--c) * 12.5%); top: calc(var(--r) * 12.5%); width: 12.5%; height: 12.5%; display: grid; place-items: center; pointer-events: none; }
.chess__mark::before { content: ""; width: 22%; aspect-ratio: 1; border-radius: 50%; border: 1px solid var(--gold); transition: background .5s, transform .5s var(--ease-out); }
.chess__mark b { position: absolute; top: 100%; left: 50%; transform: translate(-50%, -4px); font: 400 clamp(8px, .8vw, 10px)/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: rgba(231, 210, 163, .55); white-space: nowrap; transition: color .5s; }
.chess__mark.is-done::before { background: var(--gold); transform: scale(.7); }
.chess__mark.is-on b { color: var(--gold-hi); }
.chess__piece { position: absolute; left: calc(var(--c) * 12.5%); top: calc(var(--r) * 12.5%); width: 12.5%; height: 12.5%; display: grid; place-items: center; color: var(--gold-hi); transition: left .45s var(--ease-out), top .45s var(--ease-out); filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .8)) drop-shadow(0 0 10px rgba(201, 168, 106, .35)); z-index: 2; }
.chess__piece svg { width: 62%; height: auto; transform: translateY(-14%); }
.chess__piece.is-lift svg { animation: lift .9s var(--ease-out); }
@keyframes lift { 35% { transform: translateY(-40%) scale(1.12); } 100% { transform: translateY(-14%) scale(1); } }
.chess__txt .h2 { color: var(--white); }
.chess__steps { list-style: none; margin: 26px 0 0; padding: 0; display: grid; }
.chess__steps li { grid-area: 1 / 1; opacity: 0; transform: translateY(18px); transition: opacity .7s var(--ease-out), transform .7s var(--ease-out); pointer-events: none; }
.chess__steps li.is-on { opacity: 1; transform: none; pointer-events: auto; }
.chess__steps small { display: block; font: 400 10px/1 var(--sans); letter-spacing: .32em; text-transform: uppercase; color: var(--gold); }
.chess__steps b { display: block; margin: 14px 0 10px; font: 300 clamp(34px, 4vw, 56px)/1.05 var(--serif); color: var(--white); }
.chess__steps p { margin: 0; max-width: 40ch; }
.chess__ctrl { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 34px; }
.chess__nav { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(201, 168, 106, .45); background: none; color: var(--gold); cursor: pointer; transition: background .4s, color .4s; }
.chess__nav:hover { background: var(--gold); color: var(--black); }
.chess__dots { display: flex; gap: 8px; }
.chess__dots button { width: 8px; height: 8px; padding: 0; border-radius: 50%; border: 1px solid var(--gold); background: none; cursor: pointer; transition: background .4s, transform .4s; }
.chess__dots button.is-on { background: var(--gold); transform: scale(1.3); }
.chess__listen { margin-left: auto; display: inline-flex; align-items: center; gap: 12px; min-height: 46px; padding: 0 22px; border: 1px solid var(--gold); background: none; color: var(--gold-hi); font: 400 10px/1 var(--sans); letter-spacing: .28em; text-transform: uppercase; cursor: pointer; transition: background .4s, color .4s; }
.chess__listen:hover, .chess__listen[aria-pressed="true"] { background: var(--gold); color: var(--black); }
.chess__listen:hover .eq i, .chess__listen[aria-pressed="true"] .eq i { background: var(--black); }
.sax-on .deco--antar .float { animation-duration: 1.6s; }
.sax-on .deco--antar { opacity: .85; }
.sax-on .chess__board { box-shadow: 0 0 0 10px var(--black), 0 0 0 11px rgba(201, 168, 106, .6), 0 0 80px -10px rgba(201, 168, 106, .35); }

@media (max-width: 900px) {
  .chess__in { grid-template-columns: 1fr; }
  .chess__board { max-width: 440px; width: calc(100% - 22px); margin: 11px auto; }
  .chess__listen { margin-left: 0; }
}
@media (max-width: 760px) {
  .shan { top: var(--sy, 26%); width: 150vw; }
  .hero::after { width: 100vw; }
  .kid--plus .arch--empty { aspect-ratio: 3 / 3.8 !important; }
  .plus__heart { width: 42px; }
}
@media (prefers-reduced-motion: reduce) { .ray { stroke-dashoffset: 0 !important; } .ray-spark { display: none; } .plus__heart, .plus__heart::after { animation: none !important; } }
/* колонка первого экрана не растягивается по ширине карусели детей (иначе название уезжает за экран на телефоне) */
.hero { grid-template-columns: minmax(0, 1fr); }
.hero > * { min-width: 0; max-width: 100%; }
/* смена достижения: старое быстро гаснет, новое проявляется после */
.chess__steps li { transition: opacity .3s var(--ease), transform .3s var(--ease); }
.chess__steps li.is-on { transition: opacity .8s .3s var(--ease-out), transform .8s .3s var(--ease-out); }

@media (min-width: 761px) and (max-height: 820px) { .hero { padding-top: 90px; padding-bottom: 30px; } .hero__act { margin-top: 18px; } .hero-mark { width: 64px; } }

/* ================= шапка на телефоне и планшете закреплена всегда ================= */
@media (max-width: 1080px) { .hdr.is-hidden { transform: none; } }

/* ================= галерея ================= */
.lightbox { display: none !important; }
.gal { position: fixed; inset: 0; z-index: 400; display: grid; place-items: center; --fade: 1; }
.gal__bg { position: absolute; inset: 0; background: #0B0A08 var(--orn-dark); background-size: 120px; opacity: 0; transition: opacity .45s var(--ease); }
.gal.is-open .gal__bg { opacity: var(--fade); }
.gal__stage { position: absolute; inset: 0; display: grid; place-items: center; touch-action: pan-y; }
.gal__img { display: block; max-width: none; object-fit: contain; box-shadow: 0 40px 100px -30px rgba(0, 0, 0, .9), 0 0 0 1px rgba(201, 168, 106, .25); user-select: none; -webkit-user-drag: none; will-change: transform; }
.gal__top { position: absolute; top: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: space-between; padding: max(16px, env(safe-area-inset-top)) clamp(16px, 3vw, 36px) 0; opacity: 0; transition: opacity .5s .15s; }
.gal.is-open .gal__top, .gal.is-open .gal__nav, .gal.is-open .gal__dots { opacity: 1; }
.gal__count { font: 400 11px/1 var(--sans); letter-spacing: .3em; color: rgba(255, 255, 255, .6); }
.gal__count b { color: var(--gold-hi); font-weight: 400; }
.gal__btn { width: 52px; height: 52px; border-radius: 50%; border: 1px solid rgba(201, 168, 106, .5); background: rgba(0, 0, 0, .35); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); color: var(--gold-hi); display: grid; place-items: center; cursor: pointer; transition: background .4s, color .4s, border-color .4s, transform .4s var(--ease-out); }
.gal__btn:hover { background: var(--gold); color: var(--black); border-color: var(--gold); }
.gal__x { position: relative; }
.gal__x i { position: absolute; width: 18px; height: 1px; background: currentColor; transform: rotate(45deg); } .gal__x i + i { transform: rotate(-45deg); }
.gal__x:hover { transform: rotate(90deg); }
.gal__nav { position: absolute; top: 50%; margin-top: -26px; opacity: 0; transition: opacity .5s .2s, background .4s, color .4s, transform .4s var(--ease-out); }
.gal__nav svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.gal__prev { left: clamp(12px, 3vw, 40px); } .gal__next { right: clamp(12px, 3vw, 40px); }
.gal__prev:hover { transform: translateX(-4px); } .gal__next:hover { transform: translateX(4px); }
.gal__dots { position: absolute; bottom: max(24px, env(safe-area-inset-bottom)); left: 0; right: 0; display: flex; justify-content: center; gap: 8px; opacity: 0; transition: opacity .5s .2s; }
.gal__dots i { width: 6px; height: 6px; border-radius: 50%; border: 1px solid rgba(201, 168, 106, .7); transition: background .4s, transform .4s; }
.gal__dots i.is-on { background: var(--gold); transform: scale(1.35); }
.gal-open .wa-fab, .gal-open .mbar, .gal-open .cursor { opacity: 0; pointer-events: none; }
@media (max-width: 760px) {
  .gal__nav { top: auto; bottom: max(64px, calc(env(safe-area-inset-bottom) + 50px)); margin: 0; width: 48px; height: 48px; }
  .gal__prev { left: 20px; } .gal__next { right: 20px; }
  .gal__dots { bottom: max(80px, calc(env(safe-area-inset-bottom) + 66px)); }
  .gal__img { box-shadow: none; }
}

/* декор профиля не должен расширять страницу на телефоне */
.profile { overflow-x: clip; }


/* ======================================================================
   ГЛАВНАЯ v2 (макет 15.09): крем, золото, фото степи и гор
   размеры десктопа — от макета шириной 1312 px (--k), мобилки — 390 px (--m)
   ====================================================================== */
:root { --kc: #F3EEE6; --kc2: #EFE9E0; --kink: #1B1714; --ktext: #3A332C; --kgold: #8F6D43; --kgold-t: #94743F; --kline: rgba(120, 95, 60, .45);
  --k: calc(min(100vw, 1680px) / 1312); --m: calc(min(100vw, 520px) / 390); --script: "Ms Madi", "Snell Roundhand", cursive; }
.p-home { background: var(--kc); }
.p-home main section[class^="k"] { padding: 0; font-family: var(--serif); color: var(--ktext); }
.kk { margin: 0; font: 600 calc(var(--k) * 9.5)/1.2 var(--serif); letter-spacing: .32em; text-transform: uppercase; color: var(--kgold-t); }
.kh2 { margin: 0; font: italic 400 calc(var(--k) * 40)/1.1 var(--serif); color: var(--kink); letter-spacing: -.005em; }
.kh2--up { font-style: normal; font-weight: 400; }
.kp { margin: 0; font: 500 calc(var(--k) * 14)/1.5 var(--serif); color: var(--ktext); }
.kbtn { display: inline-flex; align-items: center; justify-content: center; gap: .9em; height: calc(var(--k) * 40); padding: 0 calc(var(--k) * 21); font: 600 calc(var(--k) * 11)/1 var(--serif); letter-spacing: .14em; text-transform: uppercase; color: #fff; background: linear-gradient(100deg, #83633A 0%, #A5834F 55%, #88683E 100%); box-shadow: 0 10px 24px -14px rgba(90, 64, 30, .6); transition: filter .4s, transform .4s; white-space: nowrap; }
.kbtn:hover { filter: brightness(1.08); }
.kbtn i { font-style: normal; font-size: 1.15em; }
.kbtn--line { background: none; color: var(--kink); box-shadow: inset 0 0 0 1px rgba(27, 23, 20, .55); }
.klink { display: inline-flex; gap: .8em; align-items: center; font: 600 calc(var(--k) * 11)/1 var(--serif); letter-spacing: .2em; text-transform: uppercase; color: var(--kink); padding-bottom: 4px; }
.klink i { font-style: normal; font-size: 1.3em; }

/* ---------- шапка ---------- */
.hdr__name b { display: block; font: 500 18px/1 var(--serif); letter-spacing: .12em; text-transform: uppercase; color: var(--kink); }
.hdr__name small { display: none; font: 600 7px/1 var(--serif); letter-spacing: .1em; text-transform: uppercase; color: var(--kink); margin-top: 7px; }
.hdr__logo { color: var(--kink); }
.hdr__langs { display: none; }
.lang svg { width: 8px; height: 5px; margin-left: 6px; fill: none; stroke: currentColor; stroke-width: 1.3; vertical-align: middle; }
.p-home .hdr.is-solid, .hdr.is-solid { background: rgba(243, 238, 230, .94); }
@media (min-width: 1081px) {
  .hdr { padding: calc(var(--k) * 20) calc(var(--k) * 69) calc(var(--k) * 12) calc(var(--k) * 85); gap: 0; }
  .hdr.is-solid { padding-block: calc(var(--k) * 10); }
  .hdr__logo { gap: calc(var(--k) * 14); }
  .hdr__logo .mark { width: calc(var(--k) * 66); height: calc(var(--k) * 50); }
  .hdr__name b { font-size: calc(var(--k) * 27); letter-spacing: .1em; }
  .hdr__name small { display: block; font-size: calc(var(--k) * 8.2); margin-top: calc(var(--k) * 6); }
  .hdr__nav { margin-left: calc(var(--k) * 76); margin-right: auto; gap: calc(var(--k) * 45); }
  .hdr__nav a { font: 500 calc(var(--k) * 11.5)/1 var(--serif); letter-spacing: .06em; color: var(--kink); padding: calc(var(--k) * 6) 0 calc(var(--k) * 9); background: linear-gradient(var(--kgold), var(--kgold)) 50% 100% / 0 1px no-repeat; }
  .hdr__nav a:hover, .hdr__nav a[aria-current] { background-size: calc(var(--k) * 20) 1px; }
  .hdr .sound, .hdr .lang { display: none; }
  .hdr__end { gap: 0; }
  .hdr__langs { display: flex; gap: calc(var(--k) * 18); margin-right: calc(var(--k) * 35); }
  .hdr__langs a { font: 500 calc(var(--k) * 11.5)/1 var(--serif); letter-spacing: .06em; color: #A8916F; padding: calc(var(--k) * 6) 0 calc(var(--k) * 9); }
  .hdr__langs a[aria-current] { color: var(--kink); background: linear-gradient(var(--kink), var(--kink)) 50% 100% / 100% 1px no-repeat; }
  .hdr .hdr__cta { min-height: 0; height: calc(var(--k) * 32); width: calc(var(--k) * 193); padding: 0; font: 600 calc(var(--k) * 10.5)/1 var(--serif); letter-spacing: .2em; color: #fff; border: 0; background: linear-gradient(100deg, #83633A 0%, #A5834F 55%, #88683E 100%); }
}

/* ---------- первый экран ---------- */
.kh { position: relative; overflow: hidden; background: var(--kc); isolation: isolate; }
.kh__bg { position: absolute; z-index: -2; }
.kh__bg img { width: 100%; height: auto; display: block; }
.kh::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.kh__eyebrow { margin: 0; font: 600 calc(var(--k) * 11)/1 var(--serif); letter-spacing: .32em; text-transform: uppercase; color: #2A241E; }
.kh__title { margin: 0; font: 500 calc(var(--k) * 108)/.8 var(--serif); letter-spacing: -.01em; text-transform: uppercase; color: #0E0C0A; }
.kh__title span { display: block; }
.kh__gold { background: linear-gradient(180deg, #A68552 0%, #7F603A 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.kh__slogan { margin: 0; font: italic 400 calc(var(--k) * 37)/.98 var(--serif); color: #1C1814; }
.kh__lead { margin: 0; font: 500 calc(var(--k) * 13.2)/1.4 var(--serif); color: #3B342D; }
.kh__acts { display: flex; align-items: center; gap: calc(var(--k) * 36); }
.kh__reel { display: inline-flex; align-items: center; gap: calc(var(--k) * 12); border: 0; background: none; padding: 0; cursor: pointer; font: 600 calc(var(--k) * 11)/1 var(--serif); letter-spacing: .12em; text-transform: uppercase; color: #1F1A15; }
.kh__reel i { display: grid; place-items: center; width: calc(var(--k) * 22); height: calc(var(--k) * 22); border-radius: 50%; background: #9A7A4B; color: #fff; }
.kh__reel svg { width: 38%; margin-left: 12%; fill: currentColor; }
.kh__script { position: absolute; margin: 0; font: 400 calc(var(--k) * 32)/.8 var(--script); color: #9A7849; transform: rotate(-11deg); transform-origin: 0 0; }
.kh__script span { display: block; padding-left: calc(var(--k) * 12 * var(--i)); }
.kh__script span:nth-child(4) { padding-left: calc(var(--k) * 8); margin-top: calc(var(--k) * 4); }
.kh__script span:nth-child(5) { padding-left: calc(var(--k) * 30); }
.kh__index { position: absolute; margin: 0; padding: 0; list-style: none; font: 500 calc(var(--k) * 9.5)/1 var(--serif); letter-spacing: .08em; color: #4A4036; }
.kh__index li + li { margin-top: calc(var(--k) * 14); }
.kh__index li:first-child { font-size: calc(var(--k) * 13); color: var(--kgold-t); }
.kh__index li:first-child::after { content: ''; display: block; width: 1px; height: calc(var(--k) * 46); background: var(--kgold); opacity: .7; margin: calc(var(--k) * 10) 0 calc(var(--k) * 12) calc(var(--k) * 2); }
.kh__side { position: absolute; margin: 0; font: 600 calc(var(--k) * 7.6)/1.42 var(--serif); letter-spacing: .22em; text-transform: uppercase; color: #3E352C; }
.kh__side span { display: block; } .kh__side .is-gold { color: #9A7A4B; }
.kh__aside { position: absolute; inset: 0; pointer-events: none; }
.kh__vline, .kh__short { position: absolute; background: var(--kline); width: 1px; }
.kh__place, .kh__geo { position: absolute; margin: 0; font: 600 calc(var(--k) * 10.5)/1.4 var(--serif); letter-spacing: .12em; text-transform: uppercase; color: #2A241E; }
.kh__geo { font-weight: 500; letter-spacing: .02em; }
.kh__compass { position: absolute; color: #3A322A; }

@media (min-width: 1081px) {
  .kh { height: calc(var(--k) * 593); }
  .kh__bg { width: calc(var(--k) * 1366); left: calc(var(--k) * 67); top: calc(var(--k) * -34); }
  .kh__bg img { filter: saturate(.86) brightness(1.03) contrast(.96); }
  .kh::before { background:
    linear-gradient(90deg, rgba(243, 238, 230, .97) 0%, rgba(243, 238, 230, .93) 26%, rgba(243, 238, 230, .7) 38%, rgba(243, 238, 230, .25) 49%, rgba(243, 238, 230, 0) 58%),
    linear-gradient(180deg, rgba(243, 238, 230, .72) 0%, rgba(243, 238, 230, .3) 13%, rgba(243, 238, 230, 0) 24%),
    linear-gradient(270deg, rgba(243, 238, 230, .28) 0%, rgba(243, 238, 230, 0) 14%); }
  .kh__txt { position: absolute; left: calc(var(--k) * 171); top: calc(var(--k) * 134); }
  .kh__title { margin-top: calc(var(--k) * 20); }
  .kh__slogan { margin-top: calc(var(--k) * 8); padding-left: calc(var(--k) * 6); }
  .kh__lead { margin-top: calc(var(--k) * 26); padding-left: calc(var(--k) * 6); max-width: calc(var(--k) * 340); }
  .kh__acts { margin-top: calc(var(--k) * 30); padding-left: calc(var(--k) * 6); }
  .kh__script { left: calc(var(--k) * 1168); top: calc(var(--k) * 128); }
  .kh__index { left: calc(var(--k) * 50); top: calc(var(--k) * 124); }
  .kh__side { left: calc(var(--k) * 48); top: calc(var(--k) * 361); }
  .kh__vline { left: calc(var(--k) * 1173); top: calc(var(--k) * 148); height: calc(var(--k) * 432); }
  .kh__place { left: calc(var(--k) * 1189); top: calc(var(--k) * 388); }
  .kh__compass { left: calc(var(--k) * 1189); top: calc(var(--k) * 441); width: calc(var(--k) * 21); }
  .kh__short { left: calc(var(--k) * 1189); top: calc(var(--k) * 491); width: calc(var(--k) * 40); height: 1px; }
  .kh__geo { left: calc(var(--k) * 1189); top: calc(var(--k) * 523); font-size: calc(var(--k) * 11); }
}

/* ---------- полоса сцен ---------- */
.ktrust { display: flex; align-items: center; background: #F2EEE7; }
.ktrust__label { margin: 0; font: 600 calc(var(--k) * 7.8)/1.55 var(--serif); letter-spacing: .3em; text-transform: uppercase; color: #2A241E; }
.ktrust__label span { display: block; }
.ktrust__rule { width: calc(var(--k) * 58); height: 1px; background: var(--kline); }
.ktrust__list { display: flex; align-items: center; justify-content: space-between; margin: 0; padding: 0; list-style: none; color: #111; }
.ktrust__list li { white-space: nowrap; line-height: 1; }
.ktrust .w1 { font: 500 calc(var(--k) * 19)/1 "Bodoni 72", Didot, var(--serif); letter-spacing: .02em; }
.ktrust .w2 { font: 500 calc(var(--k) * 13.5)/1 var(--sans); letter-spacing: .08em; }
.ktrust .w3 { font: 400 calc(var(--k) * 19)/1 var(--serif); letter-spacing: .12em; }
.ktrust .w4 { font: 500 calc(var(--k) * 20)/1 var(--serif); letter-spacing: .04em; }
.ktrust .w5 { font: 800 calc(var(--k) * 17)/1 "Helvetica Neue", Arial, sans-serif; letter-spacing: .02em; transform: scaleX(.86); }
.ktrust .w6 { font: italic 500 calc(var(--k) * 20)/1 var(--serif); }
.ktrust .w7 { font: 500 calc(var(--k) * 13)/1 var(--sans); letter-spacing: .26em; }
.ktrust .w8 { font: 400 calc(var(--k) * 17)/1 "Bodoni 72", Didot, var(--serif); letter-spacing: .18em; }
.ktrust__dash { display: none; }
@media (min-width: 1081px) {
  .ktrust { height: calc(var(--k) * 98); padding: 0 calc(var(--k) * 48); }
  .ktrust__rule { margin: 0 calc(var(--k) * 38) 0 calc(var(--k) * 32); }
  .ktrust__list { flex: 1; padding-right: calc(var(--k) * 10); }
}

/* ---------- карточки талантов ---------- */
.kcards__head, .kcards__all { display: none; }
.kcards__grid { display: grid; background: #FBF9F5; gap: 2px; }
.kcard { position: relative; overflow: hidden; display: block; color: #fff; isolation: isolate; }
.kcard__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; filter: sepia(.18) saturate(.9) contrast(.97); transition: transform 1.2s var(--ease-out); }
.kcard:hover .kcard__img { transform: scale(1.04); }
.kcard::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(20, 14, 8, 0) 38%, rgba(20, 14, 8, .5) 75%, rgba(20, 14, 8, .62) 100%); }
.kcard__img--dariya { object-position: 50% 22%; } .kcard__img--antar { object-position: 60% 18%; } .kcard__img--abraham { object-position: 50% 62%; }
.kcard__txt { position: absolute; display: flex; flex-direction: column; align-items: flex-start; }
.kcard__name { font: 500 calc(var(--k) * 25)/1 var(--serif); letter-spacing: .05em; text-transform: uppercase; }
.kcard__disc { font: 500 calc(var(--k) * 11)/1.2 var(--serif); letter-spacing: .1em; text-transform: uppercase; margin-top: calc(var(--k) * 8); }
.kcard__city { font: 500 calc(var(--k) * 12.5)/1 var(--serif); margin-top: calc(var(--k) * 13); opacity: .88; }
.kcard__btn { display: inline-flex; gap: .8em; align-items: center; height: calc(var(--k) * 32); padding: 0 calc(var(--k) * 17); margin-top: calc(var(--k) * 18); border: 1px solid rgba(255, 255, 255, .85); font: 600 calc(var(--k) * 10.5)/1 var(--serif); letter-spacing: .14em; text-transform: uppercase; transition: background .4s, color .4s; }
.kcard:hover .kcard__btn { background: #fff; color: var(--kink); }
.kcard__arr { display: none; }
.kplus { background: #F0EAE1; display: flex; flex-direction: column; align-items: center; text-align: center; color: var(--kgold-t); }
.kplus__n { font: 300 calc(var(--k) * 60)/1 var(--serif); }
.kplus__t { margin: calc(var(--k) * 16) 0 0; font: 500 calc(var(--k) * 16.5)/1.32 var(--serif); letter-spacing: .08em; text-transform: uppercase; max-width: calc(var(--k) * 150); }
.kplus__rule { width: calc(var(--k) * 44); height: 1px; background: var(--kline); margin-top: calc(var(--k) * 13); }
.kplus__p { margin: calc(var(--k) * 17) 0 0; font: 500 calc(var(--k) * 12.5)/1.4 var(--serif); color: #4A4036; max-width: calc(var(--k) * 120); }
.kplus__bow { width: calc(var(--k) * 64); margin-top: calc(var(--k) * 36); }
@media (min-width: 1081px) {
  .kcards__grid { grid-template-columns: calc(var(--k) * 356) calc(var(--k) * 336) calc(var(--k) * 351) 1fr; height: calc(var(--k) * 345); }
  .kcard__txt { left: calc(var(--k) * 34); top: calc(var(--k) * 196); }
  .kcard:first-child .kcard__txt { left: calc(var(--k) * 47); top: calc(var(--k) * 195); }
  .kplus { padding-top: calc(var(--k) * 44); }
}

/* ---------- миссия ---------- */
.kmission { position: relative; background: var(--kc) url(/assets/img/mission-steppe.webp) 0 0 / 100% auto no-repeat; }
.kmission__more { display: none; }
@media (min-width: 1081px) {
  .kmission { height: calc(var(--k) * 250); background-position: 0 calc(var(--k) * -300); display: flex; align-items: flex-start; }
  .kmission__h { margin: calc(var(--k) * 26) 0 0 calc(var(--k) * 182); }
  .kmission__h .kh2 { margin-top: calc(var(--k) * 9); font-size: calc(var(--k) * 39); }
  .kmission__p { margin: calc(var(--k) * 47) 0 0 calc(var(--k) * 36); max-width: calc(var(--k) * 300); font: 500 calc(var(--k) * 12.5)/1.45 var(--serif); color: #3B342D; }
}

/* ---------- ценности + юрта ---------- */
.kvalues { display: grid; background: var(--kc); }
.kvalues__txt { position: relative; }
.kvalues__txt .kh2 { margin-top: calc(var(--k) * 14); }
.kvalues__txt .kp { margin-top: calc(var(--k) * 22); max-width: calc(var(--k) * 360); }
.kvalues__txt .klink { margin-top: calc(var(--k) * 30); }
.kvalues__orn { position: absolute; color: #A8864F; }
.kvalues__side { position: absolute; margin: 0; text-align: right; font: 600 calc(var(--k) * 8.5)/1.6 var(--serif); letter-spacing: .16em; text-transform: uppercase; color: #8B7355; }
.kvalues__side span { display: block; }
.kvalues__img { position: relative; margin: 0; overflow: hidden; }
.kvalues__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kvalues__img figcaption { position: absolute; display: flex; flex-direction: column; align-items: flex-end; color: #fff; text-align: right; }
.kvalues__img q { font: italic 400 calc(var(--k) * 38)/1.12 var(--serif); quotes: '“' '”'; text-shadow: 0 2px 24px rgba(0, 0, 0, .25); max-width: 9em; }
.kvalues__img figcaption svg { width: calc(var(--k) * 64); margin-top: calc(var(--k) * 16); margin-right: calc(var(--k) * 40); }
@media (min-width: 1081px) {
  .kvalues { grid-template-columns: calc(var(--k) * 610) 1fr; min-height: calc(var(--k) * 470); }
  .kvalues__txt { padding: calc(var(--k) * 110) 0 0 calc(var(--k) * 182); }
  .kvalues__txt .kh2 { font-size: calc(var(--k) * 46); max-width: 8em; }
  .kvalues__orn { right: calc(var(--k) * 40); top: calc(var(--k) * 96); width: calc(var(--k) * 52); }
  .kvalues__side { right: calc(var(--k) * 40); bottom: calc(var(--k) * 64); }
  .kvalues__img figcaption { right: calc(var(--k) * 72); bottom: calc(var(--k) * 92); }
}

/* ---------- бронирование ---------- */
.kbook { display: grid; background: var(--kc); border-top: 1px solid rgba(143, 109, 67, .16); }
.kbook__txt .kh2 { margin-top: calc(var(--k) * 14); }
.kbook__txt .kp { margin-top: calc(var(--k) * 18); }
.kbook__acts { display: flex; flex-direction: column; gap: calc(var(--k) * 10); }
.kbtn__wa { width: 1.9em; height: 1.9em; margin-right: .6em; }
@media (min-width: 1081px) {
  .kbook { grid-template-columns: 1fr calc(var(--k) * 360); gap: calc(var(--k) * 80); align-items: center; padding: calc(var(--k) * 96) calc(var(--k) * 182) !important; }
  .kbook__txt .kh2 { font-size: calc(var(--k) * 46); max-width: 13em; }
  .kbook__txt .kp { max-width: calc(var(--k) * 460); }
  .kbtn--wide { height: calc(var(--k) * 52); font-size: calc(var(--k) * 11.5); }
}

/* ---------- новости ---------- */
.knews { background: var(--kc); border-top: 1px solid rgba(143, 109, 67, .16); }
.knews__head { display: flex; align-items: flex-end; justify-content: space-between; }
.knews__head .kh2 { margin-top: calc(var(--k) * 14); }
.knews__head .klink { font-size: calc(var(--k) * 10); color: #8B7355; border-bottom: 1px solid currentColor; }
.knews__row { display: grid; }
.knew { display: flex; flex-direction: column; background: #FBF9F5; box-shadow: 0 1px 0 rgba(143, 109, 67, .12), 0 16px 40px -30px rgba(60, 40, 20, .35); }
.knew img { width: 100%; aspect-ratio: 16 / 11; object-fit: cover; filter: sepia(.14) saturate(.92); }
.knew__h { padding: calc(var(--k) * 18) calc(var(--k) * 16) 0; font: 500 calc(var(--k) * 17)/1.25 var(--serif); color: var(--kink); flex: 1; }
.knew__d { display: flex; justify-content: space-between; align-items: center; padding: calc(var(--k) * 16); font: 600 calc(var(--k) * 9)/1 var(--serif); letter-spacing: .16em; text-transform: uppercase; color: #8B7355; }
.knew__d i { font-style: normal; font-size: 1.8em; color: #8B7355; }
.knews__dots { display: none; }
@media (min-width: 1081px) {
  .knews { padding: calc(var(--k) * 90) calc(var(--k) * 182) calc(var(--k) * 100) !important; }
  .knews__head .kh2 { font-size: calc(var(--k) * 40); }
  .knews__row { grid-template-columns: repeat(3, 1fr); gap: calc(var(--k) * 24); margin-top: calc(var(--k) * 40); }
}

/* ---------- цитата на небе ---------- */
.kband { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: #DCE3EA url(/assets/img/sky-band.webp) 50% 50% / cover no-repeat; color: #2A241E; }
.kband::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(243, 238, 230, .55), rgba(243, 238, 230, .15) 60%, rgba(243, 238, 230, 0)); }
.kband > * { position: relative; }
.kband__q { font: italic 400 calc(var(--k) * 40)/1.2 var(--serif); quotes: '“' '”'; }
.kband svg { width: calc(var(--k) * 64); margin-top: calc(var(--k) * 18); color: #6B5A45; }
@media (min-width: 1081px) { .kband { height: calc(var(--k) * 300); } .kband__q br { display: none; } }

/* ---------- тёмный подвал ---------- */
.ftr { background: #1C1A18; border-top: 0; padding: 72px 0 36px; }
.ftr__in { grid-template-columns: 1fr auto; align-items: start; row-gap: 34px; }
.ftr__brand { color: #E9E2D6; }
.ftr__brand b { letter-spacing: .24em; font-weight: 500; }
.ftr__brand span { font: 400 13px/1.4 var(--serif); color: rgba(255, 255, 255, .72); }
.ftr__mid { display: flex; gap: 40px; align-items: center; justify-content: flex-end; }
.ftr__soc { display: flex; gap: 26px; }
.ftr__soc a { color: #fff; } .ftr__soc svg { width: 20px; height: 20px; display: block; }
.ftr__lang { display: flex; gap: 22px; font: 500 12px/1 var(--serif); letter-spacing: .08em; }
.ftr__lang a { color: rgba(255, 255, 255, .7); padding-bottom: 5px; } .ftr__lang a[aria-current] { color: #fff; border-bottom: 1px solid #fff; }
.ftr nav { grid-column: 1 / -1; justify-content: flex-start; gap: 14px 38px; font: 400 14px/1 var(--serif); letter-spacing: .02em; text-transform: none; color: rgba(255, 255, 255, .85); padding-bottom: 26px; border-bottom: 1px solid rgba(255, 255, 255, .14); }
.ftr__small { grid-column: 1; margin: 0; padding: 0; border: 0; font: 400 12px/1 var(--serif); letter-spacing: .02em; color: rgba(255, 255, 255, .6); }
.ftr__legal { margin: 0; font: 400 12px/1 var(--serif); color: rgba(255, 255, 255, .6); text-align: right; }

/* ---------- окно шоурила ---------- */
.reel { padding: 0; border: 0; background: #000; width: min(92vw, 1100px); overflow: visible; }
.reel::backdrop { background: rgba(20, 16, 12, .88); }
.reel video { display: block; width: 100%; }
.reel__x { position: absolute; right: -6px; top: -48px; width: 40px; height: 40px; border: 0; background: none; color: #fff; font-size: 30px; cursor: pointer; }

/* ======================= мобильная и планшет ======================= */
@media (max-width: 1080px) {
  :root { --k: var(--m); }
  .p-home main { display: flex; flex-direction: column; }
  .kh { order: 1; } .ktrust { order: 2; } .kmission { order: 3; } .kcards { order: 4; } .kvalues { order: 5; } .kbook { order: 6; } .knews { order: 7; } .kband { order: 8; }

  .hdr { padding: calc(var(--m) * 44) calc(var(--m) * 26) calc(var(--m) * 10) calc(var(--m) * 30); align-items: flex-start; }
  .hdr.is-solid { padding-block: calc(var(--m) * 14) calc(var(--m) * 8); }
  .hdr__logo { flex-direction: column; align-items: flex-start; gap: calc(var(--m) * 4); }
  .hdr__logo .mark { width: calc(var(--m) * 66); height: calc(var(--m) * 42); margin-left: calc(var(--m) * 4); }
  .hdr__name b { font-size: calc(var(--m) * 20); letter-spacing: .1em; }
  .p-home .hdr:not(.is-solid) .hdr__name small { display: block; font-size: calc(var(--m) * 6.4); margin-top: calc(var(--m) * 6); }
  .hdr__end { margin-left: auto; gap: calc(var(--m) * 22); margin-top: calc(var(--m) * 18); }
  .hdr .lang { font: 500 calc(var(--m) * 12)/1 var(--serif); letter-spacing: .06em; color: var(--kink); }
  .burger { border: 0; padding: 0; width: calc(var(--m) * 30); height: calc(var(--m) * 24); justify-content: center; }
  .burger:hover { border: 0; }
  .burger__label { display: none; }
  .burger__lines { width: calc(var(--m) * 26); height: calc(var(--m) * 20); border-radius: 0; background: none; }
  .burger__lines i, .burger__lines::after { position: absolute; left: 0; width: 100%; height: 1.5px; background: var(--kink); }
  .burger__lines i:first-child { top: 1px; width: 100%; } .burger__lines i:nth-child(2) { top: 9px; width: 100%; }
  .burger__lines::after { content: ''; top: 17px; transition: opacity .3s; }
  .burger:hover .burger__lines i:nth-child(2) { width: 100%; }
  .burger[aria-expanded="true"] .burger__lines { background: none; transform: none; }
  .burger[aria-expanded="true"] .burger__lines i { background: var(--gold); top: 9px; width: 100%; }
  .burger[aria-expanded="true"] .burger__lines::after { opacity: 0; }
  .menu-open .hdr__name b { color: #fff; }

  .kh { height: calc(var(--m) * 952); text-align: center; }
  .kh__bg { width: 134%; left: -17%; top: calc(var(--m) * -66); }
  .kh::before { background: linear-gradient(180deg, rgba(243, 238, 230, .5) 0%, rgba(243, 238, 230, .18) 14%, rgba(243, 238, 230, 0) 30%, rgba(243, 238, 230, 0) 80%, rgba(243, 238, 230, .9) 92%, var(--kc) 100%); }
  .kh__index { display: none; }
  .kh__txt { position: absolute; left: 0; right: 0; top: calc(var(--m) * 185); display: flex; flex-direction: column; align-items: center; }
  .kh__eyebrow { font-size: calc(var(--m) * 10); letter-spacing: .36em; }
  .kh__title { font-size: calc(var(--m) * 80); line-height: .77; margin-top: calc(var(--m) * 22); }
  .kh__slogan { font-size: calc(var(--m) * 25.5); line-height: 1.08; margin-top: calc(var(--m) * 12); }
  .kh__lead { display: none; }
  .kh__acts { position: absolute; top: calc(var(--m) * 645); left: calc(var(--m) * 24); right: calc(var(--m) * 22); flex-direction: column; gap: calc(var(--m) * 20); }
  .kbtn { height: calc(var(--m) * 55); font-size: calc(var(--m) * 13); letter-spacing: .2em; }
  .kh__acts .kbtn { width: 100%; }
  .kh__reel { font-size: calc(var(--m) * 13); letter-spacing: .12em; gap: calc(var(--m) * 12); flex-direction: row-reverse; }
  .kh__reel i { width: calc(var(--m) * 32); height: calc(var(--m) * 32); background: #6F5431; }
  .kh__script { left: calc(var(--m) * 305); top: calc(var(--m) * 392); font-size: calc(var(--m) * 20); transform: rotate(-12deg); }
  .kh__side { left: calc(var(--m) * 24); top: calc(var(--m) * 705); text-align: left; color: #fff; font-size: calc(var(--m) * 10); line-height: 1.68; letter-spacing: .15em; text-shadow: 0 1px 8px rgba(0, 0, 0, .35); }
  .kh__side .is-gold { color: #fff; }
  .kh__vline, .kh__short, .kh__geo { display: none; }
  .kh__place { right: calc(var(--m) * 22); top: calc(var(--m) * 730); text-align: center; color: #fff; font-size: calc(var(--m) * 10.5); letter-spacing: .1em; text-shadow: 0 1px 8px rgba(0, 0, 0, .35); }
  .kh__compass { right: calc(var(--m) * 64); top: calc(var(--m) * 772); width: calc(var(--m) * 22); color: #fff; }

  .ktrust { flex-direction: column; padding: calc(var(--m) * 20) calc(var(--m) * 30) calc(var(--m) * 22); text-align: center; }
  .ktrust__label { font-size: calc(var(--m) * 10); letter-spacing: .3em; max-width: calc(var(--m) * 220); }
  .ktrust__label span { display: inline; }
  .ktrust__rule { display: none; }
  .ktrust__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(var(--m) * 24) calc(var(--m) * 8); margin-top: calc(var(--m) * 26); width: 100%; }
  .ktrust__list li:nth-child(n+7) { display: none; }
  .ktrust .w1, .ktrust .w3, .ktrust .w4, .ktrust .w6 { font-size: calc(var(--m) * 17); }
  .ktrust .w2, .ktrust .w5 { font-size: calc(var(--m) * 12); }
  .ktrust__dash { display: block; width: calc(var(--m) * 36); height: 1px; background: var(--kline); margin-top: calc(var(--m) * 26); }

  .kmission { height: calc(var(--m) * 290); background-size: calc(var(--m) * 700) auto; background-position: 72% calc(var(--m) * -62); text-align: center; display: flex; flex-direction: column; align-items: center; padding-top: calc(var(--m) * 24) !important; }
  .kmission::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, var(--kc) 0%, rgba(243, 238, 230, .6) 45%, rgba(243, 238, 230, 0) 70%); }
  .kmission > * { position: relative; }
  .kk { font-size: calc(var(--m) * 10); }
  .kh2 { font-size: calc(var(--m) * 29); line-height: 1.04; }
  .kmission__h .kh2 { margin-top: calc(var(--m) * 12); max-width: 7em; margin-inline: auto; }
  .kmission__p { margin: calc(var(--m) * 12) 0 0; max-width: calc(var(--m) * 250); font: 500 calc(var(--m) * 14)/1.45 var(--serif); }
  .kmission__more { display: inline-flex; margin-top: calc(var(--m) * 16); font-size: calc(var(--m) * 12); border-bottom: 1px solid currentColor; }

  .kcards { padding: calc(var(--m) * 28) calc(var(--m) * 14) calc(var(--m) * 36) !important; display: flex; flex-direction: column; align-items: center; }
  .kcards__head { display: block; text-align: center; }
  .kcards__head .kh2 { margin-top: calc(var(--m) * 14); font-size: calc(var(--m) * 30); }
  .kcards__grid { grid-template-columns: repeat(3, 1fr); gap: calc(var(--m) * 8); margin-top: calc(var(--m) * 26); width: 100%; background: none; }
  .kcard { aspect-ratio: 116 / 191; }
  .kcard__txt { left: calc(var(--m) * 11); right: calc(var(--m) * 36); bottom: calc(var(--m) * 14); }
  .kcard__name { font-size: calc(var(--m) * 15); }
  .kcard__disc { font-size: calc(var(--m) * 10.5); letter-spacing: 0; text-transform: none; margin-top: calc(var(--m) * 5); line-height: 1.25; }
  .kcard__city, .kcard__btn, .kplus { display: none; }
  .kcard__arr { display: grid; place-items: center; position: absolute; right: calc(var(--m) * 9); bottom: calc(var(--m) * 11); width: calc(var(--m) * 26); height: calc(var(--m) * 26); border: 1px solid rgba(255, 255, 255, .85); border-radius: 50%; font-size: calc(var(--m) * 13); }
  .kcards__all { display: inline-flex; margin-top: calc(var(--m) * 18); width: calc(var(--m) * 264); height: calc(var(--m) * 48); font-size: calc(var(--m) * 12); }

  .kvalues { grid-template-columns: 1fr; }
  .kvalues__txt { padding: calc(var(--m) * 38) calc(var(--m) * 25) calc(var(--m) * 28) !important; }
  .kvalues__txt .kh2 { font-size: calc(var(--m) * 34); max-width: 7em; margin-top: calc(var(--m) * 16); }
  .kvalues__txt .kp { font-size: calc(var(--m) * 14.5); max-width: calc(var(--m) * 270); margin-top: calc(var(--m) * 26); }
  .kvalues__txt .klink { font-size: calc(var(--m) * 12); margin-top: calc(var(--m) * 26); }
  .kvalues__orn { right: calc(var(--m) * 22); top: calc(var(--m) * 22); width: calc(var(--m) * 46); }
  .kvalues__side { right: calc(var(--m) * 24); bottom: calc(var(--m) * 24); font-size: calc(var(--m) * 8.5); }
  .kvalues__img { height: calc(var(--m) * 259); }
  .kvalues__img figcaption { right: calc(var(--m) * 30); bottom: calc(var(--m) * 40); }
  .kvalues__img q { font-size: calc(var(--m) * 27); }
  .kvalues__img figcaption svg { width: calc(var(--m) * 52); margin: calc(var(--m) * 14) calc(var(--m) * 40) 0 0; }

  .kbook { padding: calc(var(--m) * 36) calc(var(--m) * 25) calc(var(--m) * 30) !important; }
  .kbook__txt .kh2 { font-size: calc(var(--m) * 32); margin-top: calc(var(--m) * 16); }
  .kbook__txt .kp { font-size: calc(var(--m) * 14.5); margin-top: calc(var(--m) * 14); }
  .kbook__acts { margin-top: calc(var(--m) * 28); gap: calc(var(--m) * 9); }
  .kbtn--wide { width: 100%; height: calc(var(--m) * 50); font-size: calc(var(--m) * 11); }

  .knews { padding: calc(var(--m) * 24) 0 calc(var(--m) * 30) calc(var(--m) * 25) !important; }
  .knews__head { padding-right: calc(var(--m) * 25); }
  .knews__head .kh2 { font-size: calc(var(--m) * 25); margin-top: calc(var(--m) * 14); }
  .knews__head .klink { font-size: calc(var(--m) * 10); }
  .knews__row { grid-auto-flow: column; grid-auto-columns: calc(var(--m) * 146); gap: calc(var(--m) * 11); overflow-x: auto; scroll-snap-type: x mandatory; margin-top: calc(var(--m) * 24); padding-bottom: 6px; scrollbar-width: none; }
  .knews__row::-webkit-scrollbar { display: none; }
  .knew { scroll-snap-align: start; }
  .knew img { aspect-ratio: 146 / 154; }
  .knew__h { font-size: calc(var(--m) * 14); padding: calc(var(--m) * 12) calc(var(--m) * 10) 0; }
  .knew__d { font-size: calc(var(--m) * 8.5); padding: calc(var(--m) * 12) calc(var(--m) * 10); }
  .knews__dots { display: flex; justify-content: center; gap: calc(var(--m) * 12); margin-top: calc(var(--m) * 20); padding-right: calc(var(--m) * 25); }
  .knews__dots i { width: 7px; height: 7px; border-radius: 50%; border: 1px solid #A8916F; transition: background .3s; }
  .knews__dots i.is-on { background: #8F6D43; border-color: #8F6D43; }

  .kband { height: calc(var(--m) * 144); }
  .kband__q { font-size: calc(var(--m) * 22); }
  .kband svg { width: calc(var(--m) * 48); margin-top: calc(var(--m) * 16); }

  .ftr { padding: calc(var(--m) * 30) 0 calc(var(--m) * 28); }
  .ftr__in { grid-template-columns: 1fr auto; padding-inline: calc(var(--m) * 25); row-gap: calc(var(--m) * 26); }
  .ftr__brand { grid-column: 1 / -1; gap: calc(var(--m) * 14); }
  .ftr__brand .mark { width: calc(var(--m) * 64); height: calc(var(--m) * 40); }
  .ftr__brand b { font-size: calc(var(--m) * 18); }
  .ftr__brand span { font-size: calc(var(--m) * 10.5); }
  .ftr__mid { grid-column: 1 / -1; justify-content: space-between; }
  .ftr nav { gap: calc(var(--m) * 12) calc(var(--m) * 30); font-size: calc(var(--m) * 13); }
  .ftr__small, .ftr__legal { grid-column: 1 / -1; text-align: left; font-size: calc(var(--m) * 11); }
  .ftr__legal { margin-top: calc(var(--m) * -12); }
}

/* правки после сверки с макетом */
.hdr__logo { flex-shrink: 0; }
.hdr__name { white-space: nowrap; }
.p-home main > * { order: 9; }
@media (min-width: 1081px) {
  .hdr__nav { position: absolute; left: calc(var(--k) * 459); top: calc(var(--k) * 29); margin: 0; }
  .hdr.is-solid .hdr__nav { top: calc(var(--k) * 19); }
  .hdr__end { margin-left: auto; }
  .kh__script { left: calc(var(--k) * 1160); top: calc(var(--k) * 112); font-size: calc(var(--k) * 29); }
}
@media (max-width: 1080px) {
  .p-home main > .kh { order: 1; } .p-home main > .ktrust { order: 2; } .p-home main > .kmission { order: 3; } .p-home main > .kcards { order: 4; }
  .p-home main > .kvalues { order: 5; } .p-home main > .kbook { order: 6; } .p-home main > .knews { order: 7; } .p-home main > .kband { order: 8; }
  .ktrust__list { gap: calc(var(--m) * 22) calc(var(--m) * 4); }
  .ktrust__list li { white-space: normal; text-align: center; }
  .ktrust .w1, .ktrust .w3, .ktrust .w4, .ktrust .w6 { font-size: calc(var(--m) * 15); }
  .ktrust .w3 { letter-spacing: .06em; }
  .ktrust .w2, .ktrust .w5 { font-size: calc(var(--m) * 11); }
}

.p-home main > .cta { display: none; }
@media (min-width: 1081px) {
  .hdr__nav { gap: calc(var(--k) * 37); }
  .kh__title { font-size: calc(var(--k) * 103); margin-top: calc(var(--k) * 16); }
  .kh__script { font-size: calc(var(--k) * 25); left: calc(var(--k) * 1158); }
  .kh__script span { padding-left: calc(var(--k) * 9 * var(--i)); }
  .kh__bg img { filter: saturate(.74) brightness(1.06) contrast(.9) sepia(.08); }
  .kh::after { content: ''; position: absolute; right: 0; top: 0; bottom: 0; width: calc(var(--k) * 180); z-index: -1; background: linear-gradient(270deg, rgba(243, 238, 230, .5), rgba(243, 238, 230, 0)); pointer-events: none; }
}
@media (max-width: 1080px) { .kh__title { line-height: .86; } }
@media (max-width: 1080px) {
  .kh__txt { top: calc(var(--m) * 172); }
  .kh__title { font-size: calc(var(--m) * 66); margin-top: calc(var(--m) * 16); }
  .kh__slogan { font-size: calc(var(--m) * 27); margin-top: calc(var(--m) * 8); }
  .kh__script { left: calc(var(--m) * 296); top: calc(var(--m) * 380); font-size: calc(var(--m) * 17); }
  .kh__script span { padding-left: calc(var(--m) * 7 * var(--i)); }
}
.p-home main section.ktrust { padding: 0 calc(var(--k) * 48); }
@media (max-width: 1080px) {
  .p-home main section.ktrust { padding: calc(var(--m) * 20) calc(var(--m) * 30) calc(var(--m) * 22); }
  .kh__script { left: calc(var(--m) * 288); }
}
@media (min-width: 1081px) { :lang(de) .hdr__nav { gap: calc(var(--k) * 24); left: calc(var(--k) * 440); } }

/* ======================================================================
   ТАЛАНТЫ v2 (макет 15.09) — десктоп от 1312 px (--k), мобилка от 390 (--m)
   ====================================================================== */
.p-talents { background: var(--kc); }
.p-talents main section[class^="kt"] { padding: 0; font-family: var(--serif); color: var(--ktext); }
main:has(.kthero) > .cta { display: none; }
.kk--dark { color: #2A241E; }
.kk--light { color: #D9CBB3; }
.kbtn--sm { height: calc(var(--k) * 32); padding: 0 calc(var(--k) * 18); font-size: calc(var(--k) * 10.5); letter-spacing: .14em; }

.kthero { position: relative; overflow: hidden; background: linear-gradient(180deg, #F4EFE8, #EFE8DE); isolation: isolate; }
.kthero__h { margin: 0; font: 500 calc(var(--k) * 64)/.9 var(--serif); color: #0E0C0A; letter-spacing: -.012em; }
.kthero__script { margin: 0; font: 400 calc(var(--k) * 46)/1 var(--script); color: #8F6D43; transform: rotate(-4deg); transform-origin: 0 50%; }
.kthero__p { margin: 0; font: 500 calc(var(--k) * 17)/1.3 var(--serif); color: #1F1A15; }
.kthero__p span:nth-child(2)::after { content: '\A'; white-space: pre; }
.kthero__img { position: absolute; margin: 0; z-index: -1; }
.kthero__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kthero__img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #F1EBE2 0%, rgba(241, 235, 226, 0) 22%, rgba(241, 235, 226, 0) 78%, #F1EBE2 100%), linear-gradient(0deg, #EFE8DE 0%, rgba(239, 232, 222, 0) 20%); }
.kthero__side-script { position: absolute; margin: 0; font: 400 calc(var(--k) * 28)/.82 var(--script); color: #8F6D43; transform: rotate(-14deg); }
.kthero__side-script span { display: block; } .kthero__side-script span:nth-child(2) { padding-left: 1.3em; } .kthero__side-script span:nth-child(3) { padding-left: 1em; }
.kthero__orn { position: absolute; color: #8F6D43; }
.kthero__vline { position: absolute; width: 1px; background: var(--kline); }
.kthero__side { position: absolute; margin: 0; font: 600 calc(var(--k) * 8)/1.55 var(--serif); letter-spacing: .22em; text-transform: uppercase; color: #2A241E; }
.kthero__side span { display: block; }
.kthero__more { display: none; }

.ktfilter { display: flex; align-items: center; }
.ktfilter__label { margin: 0; font: 600 calc(var(--k) * 8.5)/1.5 var(--serif); letter-spacing: .26em; text-transform: uppercase; color: #6B5A45; }
.ktfilter__label span { display: block; }
.ktfilter__pills { display: flex; gap: calc(var(--k) * 16); }
.ktpill { height: calc(var(--k) * 30); padding: 0 calc(var(--k) * 24); border: 0; border-radius: 999px; background: #EAE3D8; font: 500 calc(var(--k) * 12.5)/1 var(--serif); color: #2A241E; cursor: pointer; transition: background .4s, color .4s; }
.ktpill:hover { background: #E0D6C6; }
.ktpill.is-on { background: linear-gradient(100deg, #83633A, #A5834F); color: #fff; }
.ktfilter__paths { margin: 0 0 0 auto; display: flex; align-items: center; gap: calc(var(--k) * 16); font: 600 calc(var(--k) * 8.5)/1 var(--serif); letter-spacing: .22em; text-transform: uppercase; color: #2A241E; }
.ktfilter__paths span { width: calc(var(--k) * 68); height: 1px; background: var(--kline); }

.ktgrid { display: grid; position: relative; }
.ktcard { position: relative; }
.ktcard.is-off { display: none; }
.ktcard__num { position: absolute; font: 500 calc(var(--k) * 10.5)/1 var(--serif); color: #2A241E; letter-spacing: .06em; }
.ktcard__num::after { content: ''; position: absolute; left: calc(var(--k) * 3); top: calc(var(--k) * 16); width: 1px; height: calc(var(--k) * 36); background: var(--kline); }
.ktcard__arch { position: relative; display: block; overflow: hidden; border-radius: 999px 999px 0 0; background: #E6DED2; }
.ktcard__arch img { width: 100%; height: 100%; object-fit: cover; display: block; filter: sepia(.12) saturate(.92); transition: transform 1.2s var(--ease-out); }
.ktcard:hover .ktcard__arch img { transform: scale(1.04); }
.ktcard__img--dariya { object-position: 50% 30%; } .ktcard__img--antar { object-position: 50% 22%; } .ktcard__img--abraham { object-position: 45% 60%; }
.ktcard__circle { display: none; position: absolute; border-radius: 50%; overflow: hidden; border: 3px solid #F6F2EB; box-shadow: 0 10px 24px -12px rgba(40, 28, 14, .5); }
.ktcard__circle img { width: 100%; height: 100%; object-fit: cover; }
.ktcard__cat { position: absolute; font: 400 calc(var(--k) * 38)/1 var(--script); color: #8F6D43; transform: rotate(-78deg); transform-origin: 0 0; white-space: nowrap; pointer-events: none; }
.ktcard__body { position: relative; background: #F7F3ED; }
.ktcard__name { margin: 0; font: 500 calc(var(--k) * 25)/1 var(--serif); letter-spacing: .06em; text-transform: uppercase; color: #0E0C0A; }
.ktcard__disc { margin: calc(var(--k) * 8) 0 0; font: 600 calc(var(--k) * 9.5)/1.2 var(--serif); letter-spacing: .16em; text-transform: uppercase; color: #2A241E; }
.ktcard__city { margin: calc(var(--k) * 8) 0 0; font: 500 calc(var(--k) * 14.5)/1 var(--serif); color: #3A332C; letter-spacing: .02em; }
.ktcard__agency { margin: calc(var(--k) * 6) 0 0; font: 500 calc(var(--k) * 13)/1 var(--serif); color: #5A4A38; }
.ktcard__acts { display: flex; align-items: center; gap: calc(var(--k) * 10); margin-top: calc(var(--k) * 16); }
.ktcard__book { display: inline-flex; align-items: center; gap: calc(var(--k) * 14); font: 600 calc(var(--k) * 11)/1 var(--serif); letter-spacing: .14em; text-transform: uppercase; color: #1B1714; }
.ktcard__book span { display: grid; place-items: center; width: calc(var(--k) * 33); height: calc(var(--k) * 33); border-radius: 50%; border: 1px solid rgba(143, 109, 67, .6); font-size: 1.1em; transition: background .4s, color .4s; }
.ktcard__book:hover span { background: #8F6D43; color: #fff; }
.ktplus { color: #3A2C1C; text-align: center; }
.ktplus img { position: absolute; inset: 0; }
.ktplus__in { position: relative; display: flex; flex-direction: column; align-items: center; height: 100%; background: linear-gradient(180deg, rgba(245, 238, 228, .55) 0%, rgba(245, 238, 228, .1) 45%, rgba(245, 238, 228, 0) 60%, rgba(245, 238, 228, .7) 100%); }
.ktplus__orn { display: none; color: #6B5A45; }
.ktplus__n { font: 400 calc(var(--k) * 58)/1 var(--serif); color: #2A241E; }
.ktplus__t { margin: calc(var(--k) * 6) 0 0; font: 500 calc(var(--k) * 16)/1.25 var(--serif); letter-spacing: .08em; text-transform: uppercase; color: #3A2C1C; max-width: 10em; }
.ktplus__rule { display: none; width: calc(var(--k) * 44); height: 1px; background: rgba(58, 44, 28, .5); }
.ktplus__bow { width: calc(var(--k) * 60); color: #3A2C1C; margin-top: calc(var(--k) * 12); }
.ktplus__arr { display: grid; place-items: center; width: calc(var(--k) * 26); height: calc(var(--k) * 26); border: 1px solid #2A241E; border-radius: 50%; margin-top: auto; font-size: calc(var(--k) * 13); color: #2A241E; }
.ktplus__s { margin: calc(var(--k) * 10) 0 calc(var(--k) * 22); font: 600 calc(var(--k) * 11)/1 var(--serif); letter-spacing: .18em; text-transform: uppercase; color: #1B1714; }
.ktplus__script { display: none; }
.ktgrid__deco { display: none; }

.ktfam { display: grid; position: relative; background: #F3EEE6; }
.ktfam__big { position: relative; margin: 0; overflow: hidden; }
.ktfam__big img { width: 100%; height: 100%; object-fit: cover; display: block; filter: sepia(.15); }
.ktfam__big::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20, 14, 8, .55), rgba(20, 14, 8, .1) 45%, rgba(20, 14, 8, 0)); }
.ktfam__big figcaption { position: absolute; z-index: 1; color: #fff; font: 600 calc(var(--k) * 10.5)/1.4 var(--serif); letter-spacing: .18em; text-transform: uppercase; }
.ktfam__big figcaption span { display: block; }
.ktfam__big figcaption .is-big { font-size: calc(var(--k) * 14); letter-spacing: .1em; font-weight: 500; }
.ktfam__big figcaption .is-big:nth-of-type(4) { margin-top: calc(var(--k) * 8); }
.ktfam__vl { position: absolute; width: 1px; background: rgba(255, 255, 255, .6); }
.ktfam__h { margin: 0; font: italic 500 calc(var(--k) * 38)/1.05 var(--serif); color: #0E0C0A; }
.ktfam__h em { color: #8F6D43; }
.ktfam__p { margin: 0; font: 500 calc(var(--k) * 13.5)/1.3 var(--serif); color: #2A241E; }
.ktfam__small { margin: 0; overflow: hidden; }
.ktfam__small img { width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(1) contrast(.95); }
.ktfam__side { position: absolute; display: flex; flex-direction: column; align-items: center; color: #8F6D43; }
.ktfam__side svg { width: calc(var(--k) * 24); }
.ktfam__side > span { width: 1px; height: calc(var(--k) * 34); background: var(--kline); margin: calc(var(--k) * 10) 0 calc(var(--k) * 12); }
.ktfam__side p { margin: 0; text-align: left; font: 600 calc(var(--k) * 7.5)/1.6 var(--serif); letter-spacing: .24em; text-transform: uppercase; color: #6B5A45; }
.ktfam__side p span { display: block; }

.ktband { position: relative; display: flex; align-items: center; background: #0F0D0B url(/assets/img/talents-dark.webp) 50% 50% / cover no-repeat; color: #fff; }
.ktband__h { margin: 0; font: 400 calc(var(--k) * 44)/1 var(--serif); color: #F6F1E8; letter-spacing: -.01em; }
.ktband__acts { display: flex; align-items: center; margin-left: auto; gap: calc(var(--k) * 16); }
.kbtn--glow { box-shadow: inset 0 0 0 1px rgba(255, 230, 190, .5); }
.kbtn--ghost { background: rgba(0, 0, 0, .2); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7); }
.ktband__circle { display: none; }
.ftr__script { display: none; margin: 0; font: 400 26px/.8 var(--script); color: #A5834F; transform: rotate(-12deg); }
.ftr__script span { display: block; } .ftr__script span + span { padding-left: 1em; }
.p-talents .ftr__script { display: block; }

@media (min-width: 1081px) {
  .p-talents main { padding-top: 0; }
  .kthero { height: calc(var(--k) * 360); }
  .kthero__txt { position: absolute; left: calc(var(--k) * 88); top: calc(var(--k) * 90); }
  .kthero__h { margin-top: calc(var(--k) * 12); max-width: 7.2em; }
  .kthero__script { margin-top: calc(var(--k) * -2); }
  .kthero__p { margin-top: calc(var(--k) * 10); }
  .kthero__img { left: calc(var(--k) * 330); top: calc(var(--k) * 30); width: calc(var(--k) * 980); height: calc(var(--k) * 330); }
  .kthero__side-script { left: calc(var(--k) * 1170); top: calc(var(--k) * 110); }
  .kthero__orn { left: calc(var(--k) * 1237); top: calc(var(--k) * 192); width: calc(var(--k) * 18); }
  .kthero__vline { left: calc(var(--k) * 1246); top: calc(var(--k) * 228); height: calc(var(--k) * 56); }
  .kthero__side { left: calc(var(--k) * 1221); top: calc(var(--k) * 296); }
  .ktfilter { height: calc(var(--k) * 50); padding: 0 calc(var(--k) * 64) 0 calc(var(--k) * 72); background: #F3EEE6; }
  .ktfilter__pills { margin-left: calc(var(--k) * 24); }
  .ktgrid { grid-template-columns: repeat(4, calc(var(--k) * 262)); justify-content: space-between; padding: calc(var(--k) * 12) calc(var(--k) * 70) calc(var(--k) * 16) calc(var(--k) * 78) !important; background: #F3EEE6; }
  .ktcard__num { left: calc(var(--k) * 1); top: calc(var(--k) * 8); }
  .ktcard__arch { width: calc(var(--k) * 258); height: calc(var(--k) * 258); margin-left: calc(var(--k) * 3); }
  .ktcard__cat { left: calc(var(--k) * -22); top: calc(var(--k) * 210); }
  .ktcard--plus .ktcard__arch { height: calc(var(--k) * 372); border-radius: 999px 999px 0 0; }
  .ktcard__body { padding: calc(var(--k) * 14) calc(var(--k) * 14) calc(var(--k) * 18); margin-top: calc(var(--k) * -8); }
  .ktplus__in { padding-top: calc(var(--k) * 82); }
  .ktfam { grid-template-columns: calc(var(--k) * 680) calc(var(--k) * 320) calc(var(--k) * 160) 1fr; height: calc(var(--k) * 202); align-items: center; }
  .ktfam__big { height: 100%; }
  .ktfam__big figcaption { left: calc(var(--k) * 92); top: calc(var(--k) * 82); }
  .ktfam__vl { left: calc(var(--k) * -48); top: calc(var(--k) * -56); height: calc(var(--k) * 130); }
  .ktfam__txt { padding: 0 0 0 calc(var(--k) * 22); }
  .ktfam__h { margin-top: calc(var(--k) * 10); }
  .ktfam__p { margin: calc(var(--k) * 12) 0 calc(var(--k) * 18); max-width: calc(var(--k) * 300); }
  .ktfam__small { height: calc(var(--k) * 186); margin-left: calc(var(--k) * 12); }
  .ktfam__side { right: calc(var(--k) * 36); top: calc(var(--k) * 30); }
  .ktband { height: calc(var(--k) * 95); padding: 0 calc(var(--k) * 122) 0 calc(var(--k) * 86) !important; }
  .ktband__txt .kk { font-size: calc(var(--k) * 9.5); }
  .ktband__h { margin-top: calc(var(--k) * 6); }
  .ktband .kbtn { height: calc(var(--k) * 38); padding: 0 calc(var(--k) * 34); font-size: calc(var(--k) * 10.5); }
  .p-talents .ftr__in { position: relative; }
  .p-talents .ftr__script { position: absolute; right: -40px; bottom: 0; }
}

@media (max-width: 1080px) {
  .kthero { height: calc(var(--m) * 830); }
  .kthero__txt { position: absolute; left: calc(var(--m) * 32); top: calc(var(--m) * 132); }
  .kk { font-size: calc(var(--m) * 10.5); }
  .kthero__h { margin-top: calc(var(--m) * 22); font-size: calc(var(--m) * 50); line-height: .95; max-width: 5.2em; }
  .kthero__script { font-size: calc(var(--m) * 40); line-height: .95; margin-top: calc(var(--m) * 4); max-width: 5.6em; transform: rotate(-6deg); }
  .kthero__p { margin-top: calc(var(--m) * 16); font-size: calc(var(--m) * 16); }
  .kthero__p span { display: block; }
  .kthero__p span:nth-child(2)::after { content: none; }
  .kthero__img { left: 0; right: 0; top: calc(var(--m) * 250); height: calc(var(--m) * 580); }
  .kthero__img img { object-position: 62% 50%; }
  .kthero__img::after { background: linear-gradient(180deg, #F1EBE2 0%, rgba(241, 235, 226, 0) 25%, rgba(241, 235, 226, 0) 80%, #F1EBE2 100%), linear-gradient(90deg, #F1EBE2 0%, rgba(241, 235, 226, .6) 30%, rgba(241, 235, 226, 0) 55%); }
  .kthero__side-script { display: none; }
  .kthero__side { right: calc(var(--m) * 22); left: auto; top: calc(var(--m) * 122); text-align: right; font-size: calc(var(--m) * 8.5); line-height: 1.8; letter-spacing: .22em; color: #6B5A45; }
  .kthero__side span:nth-child(n+4) { display: none; }
  .kthero__vline { right: calc(var(--m) * 44); top: calc(var(--m) * 212); height: calc(var(--m) * 40); }
  .kthero__orn { right: calc(var(--m) * 36); top: calc(var(--m) * 258); width: calc(var(--m) * 16); }
  .kthero__more { display: block; position: absolute; right: calc(var(--m) * 12); bottom: calc(var(--m) * 20); margin: 0; font: 400 calc(var(--m) * 28)/.8 var(--script); color: #3A2C1C; transform: rotate(-14deg); }
  .kthero__more span { display: block; padding-left: calc(var(--m) * 16 * var(--i)); }

  .ktfilter { flex-direction: column; align-items: flex-start; padding: calc(var(--m) * 24) calc(var(--m) * 20) calc(var(--m) * 26) !important; }
  .ktfilter__label { font-size: calc(var(--m) * 10.5); letter-spacing: .26em; color: #2A241E; margin-left: calc(var(--m) * 2); }
  .ktfilter__label span { display: inline; }
  .ktfilter__pills { gap: calc(var(--m) * 7); margin-top: calc(var(--m) * 18); }
  .ktpill { height: calc(var(--m) * 42); padding: 0 calc(var(--m) * 18); font-size: calc(var(--m) * 14); }
  .ktpill:first-child { padding: 0 calc(var(--m) * 28); }
  .ktfilter__paths { display: none; }

  .ktgrid { grid-template-columns: 1fr; padding: 0 !important; }
  .ktcard { padding: calc(var(--m) * 30) calc(var(--m) * 24) calc(var(--m) * 26) calc(var(--m) * 46); border-top: 1px solid rgba(143, 109, 67, .12); background: #F6F1EA; }
  .ktcard__num { left: calc(var(--m) * 20); top: calc(var(--m) * 40); font-size: calc(var(--m) * 14); }
  .ktcard__num::after { top: calc(var(--m) * 26); height: calc(var(--m) * 46); left: calc(var(--m) * 6); }
  .ktcard__arch { height: calc(var(--m) * 250); width: calc(var(--m) * 300); }
  .ktcard__circle { display: block; right: calc(var(--m) * 16); top: calc(var(--m) * 188); width: calc(var(--m) * 104); height: calc(var(--m) * 104); z-index: 2; }
  .ktcard__cat { left: calc(var(--m) * 12); top: calc(var(--m) * 330); font-size: calc(var(--m) * 40); }
  .ktcard__body { background: none; padding: calc(var(--m) * 26) 0 0; }
  .ktcard__name { font-size: calc(var(--m) * 27); }
  .ktcard__disc { font-size: calc(var(--m) * 10.5); margin-top: calc(var(--m) * 10); }
  .ktcard__city { font-size: calc(var(--m) * 17); margin-top: calc(var(--m) * 10); }
  .ktcard__agency { font-size: calc(var(--m) * 13.5); }
  .ktcard__acts { margin-top: calc(var(--m) * 22); gap: calc(var(--m) * 14); }
  .ktcard .kbtn--sm { height: calc(var(--m) * 46); padding: 0 calc(var(--m) * 22); font-size: calc(var(--m) * 13); }
  .ktcard__book { font-size: calc(var(--m) * 13); gap: calc(var(--m) * 20); }
  .ktcard__book span { width: calc(var(--m) * 46); height: calc(var(--m) * 46); }
  .ktcard--plus { padding-bottom: calc(var(--m) * 20); }
  .ktcard--plus .ktcard__arch { height: calc(var(--m) * 410); width: calc(var(--m) * 272); margin-left: calc(var(--m) * 10); }
  .ktplus__in { padding-top: calc(var(--m) * 42); }
  .ktplus__orn { display: block; width: calc(var(--m) * 22); margin-bottom: calc(var(--m) * 28); }
  .ktplus__n { font-size: calc(var(--m) * 52); }
  .ktplus__t { font-size: calc(var(--m) * 16); margin-top: calc(var(--m) * 10); }
  .ktplus__rule { display: block; margin-top: calc(var(--m) * 16); }
  .ktplus__bow, .ktplus__arr, .ktplus__s { display: none; }
  .ktplus__script { display: block; position: absolute; right: calc(var(--m) * -4); bottom: calc(var(--m) * 60); margin: 0; font: 400 calc(var(--m) * 24)/.8 var(--script); color: #F6EEDF; transform: rotate(-24deg); text-align: left; }
  .ktplus__script span { display: block; } .ktplus__script span:nth-child(2) { padding-left: 1em; } .ktplus__script span:nth-child(3) { padding-left: 1.4em; }
  .ktgrid__deco { display: block; position: relative; height: calc(var(--m) * 190); background: #F6F1EA url(/assets/img/talents-banner.webp) 70% 100% / auto 150% no-repeat; }
  .ktgrid__deco::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #F6F1EA 0%, rgba(246, 241, 234, .3) 50%, rgba(246, 241, 234, 0) 70%); }
  .ktgrid__deco p { position: absolute; left: calc(var(--m) * 86); top: calc(var(--m) * 20); margin: 0; font: 600 calc(var(--m) * 10)/1.8 var(--serif); letter-spacing: .3em; text-transform: uppercase; color: #3A2C1C; }
  .ktgrid__deco p span { display: block; }

  .ktfam { grid-template-columns: 1fr; }
  .ktfam__txt { order: 1; padding: calc(var(--m) * 30) calc(var(--m) * 24) calc(var(--m) * 20) !important; }
  .ktfam__txt .kk { font-size: calc(var(--m) * 11); color: #2A241E; }
  .ktfam__h { font-size: calc(var(--m) * 40); margin-top: calc(var(--m) * 12); max-width: 5em; }
  .ktfam__big { order: 2; height: calc(var(--m) * 208); }
  .ktfam__big figcaption { display: none; }
  .ktfam__big::after { background: none; }
  .ktfam__p { order: 3; font-size: calc(var(--m) * 15); padding: calc(var(--m) * 20) calc(var(--m) * 24) 0; margin: 0; }
  .ktfam__txt .kbtn { display: none; }
  .ktfam__small { display: none; }
  .ktfam__side { right: calc(var(--m) * 20); top: calc(var(--m) * 26); }
  .ktfam__side svg, .ktfam__side > span { display: none; }
  .ktfam__side p { text-align: right; font-size: calc(var(--m) * 8.5); color: #3A2C1C; }
  .ktfam::after { content: ''; order: 5; height: 1px; }
  .ktfam .ktfam__mbtn { order: 4; }

  .ktband { flex-direction: column; align-items: flex-start; padding: calc(var(--m) * 36) calc(var(--m) * 36) calc(var(--m) * 20) !important; }
  .ktband__txt .kk { font-size: calc(var(--m) * 11); letter-spacing: .3em; }
  .ktband__h { font-size: calc(var(--m) * 38); line-height: 1.02; margin-top: calc(var(--m) * 10); max-width: 6.5em; }
  .ktband__acts { margin: calc(var(--m) * 24) 0 0; display: grid; grid-template-columns: 1fr auto; gap: calc(var(--m) * 16); width: 100%; }
  .ktband .kbtn { height: calc(var(--m) * 56); font-size: calc(var(--m) * 12.5); white-space: normal; text-align: left; line-height: 1.3; }
  .ktband .kbtn--ghost { grid-column: 1 / -1; height: calc(var(--m) * 44); }
  .ktband__circle { display: grid; place-items: center; width: calc(var(--m) * 50); height: calc(var(--m) * 50); border-radius: 50%; border: 1px solid rgba(255, 255, 255, .7); color: #fff; font-size: calc(var(--m) * 16); }
  .p-talents .ftr__in { position: relative; }
  .p-talents .ftr__script { position: absolute; right: calc(var(--m) * 20); bottom: calc(var(--m) * 4); font-size: calc(var(--m) * 26); }
}
@media (max-width: 1080px) {
  .ktfam__txt { display: contents; }
  .ktfam__txt .kk { order: 1; padding: calc(var(--m) * 30) calc(var(--m) * 24) 0; }
  .ktfam__h { order: 2; padding: 0 calc(var(--m) * 24) calc(var(--m) * 20); }
  .ktfam__big { order: 3; }
  .ktfam__p { order: 4; }
  .ktfam__txt .kbtn { display: inline-flex; order: 5; justify-self: center; margin: calc(var(--m) * 20) 0 calc(var(--m) * 20); height: calc(var(--m) * 40); font-size: calc(var(--m) * 12.5); padding: 0 calc(var(--m) * 26); }
}
@media (min-width: 1081px) {
  .p-talents .ftr__script { right: 0; }
  .ktfam__big img { object-position: 50% 45%; }
}
.ktcard__img--dariya { object-position: 50% 20%; } .ktcard__img--antar { object-position: 50% 18%; }

@media (min-width: 1081px) { .ktfam__big img { object-position: 50% 30%; } }

/* ======================= фишки в новом концепте ======================= */
/* шанырак за KOSHI NOMAD */
.kh__txt { isolation: isolate; }
.kshan { position: absolute; z-index: -1; left: 50%; top: 50%; width: calc(var(--k) * 470); aspect-ratio: 1; transform: translate(-50%, -50%); color: #A5834F; opacity: 0; pointer-events: none; animation: kshanIn 2.4s .6s var(--ease-out) forwards; }
.kshan__rot { width: 100%; height: 100%; will-change: transform; }
.kshan .shan__svg { width: 100%; height: 100%; }
.kshan .shan__svg * { stroke-width: .8; }
@keyframes kshanIn { to { opacity: .2; } }
@media (min-width: 1081px) { .kshan { left: calc(var(--k) * 190); top: calc(var(--k) * 150); } }
@media (max-width: 1080px) { .kshan { top: calc(var(--m) * 95); width: calc(var(--m) * 330); } @keyframes kshanIn { to { opacity: .16; } } }

/* «+1»: сердце */
.kheart { position: relative; display: grid; place-items: center; width: calc(var(--k) * 30); height: calc(var(--k) * 30); padding: 0; border: 0; background: none; color: #8F6D43; cursor: pointer; }
.kheart svg { width: 70%; height: auto; animation: kbeat 1.6s ease-in-out infinite; }
.kheart::after { content: ''; position: absolute; inset: 0; border-radius: 50%; border: 1px solid currentColor; transform: scale(.5); opacity: 0; animation: kripple 1.6s ease-out infinite; }
@keyframes kbeat { 0%, 100% { transform: scale(1); } 14% { transform: scale(1.16); } 28% { transform: scale(1); } 42% { transform: scale(1.1); } 70% { transform: scale(1); } }
@keyframes kripple { 0% { opacity: .7; transform: scale(.5); } 100% { opacity: 0; transform: scale(2); } }
.kheart:hover svg { animation-duration: 1s; }
.kheart__burst { position: absolute; left: 50%; top: 50%; width: 0; height: 0; pointer-events: none; }
.kheart__burst i { position: absolute; left: -1px; top: -1px; width: 1.5px; height: calc(var(--k) * 26); background: linear-gradient(#C9A86A, transparent); transform: rotate(var(--a)) scaleY(0); transform-origin: 1px 1px; opacity: 0; }
.is-born .kheart__burst i { animation: kburst 1.1s var(--ease-out) forwards; }
.is-born .kheart svg { animation: none; fill: #A5834F; transform: scale(1.15); transition: transform .5s var(--ease-out); }
.is-born .kheart::after { animation: none; }
@keyframes kburst { 0% { opacity: 1; transform: rotate(var(--a)) translateY(6px) scaleY(0); } 60% { opacity: 1; } 100% { opacity: 0; transform: rotate(var(--a)) translateY(18px) scaleY(1); } }
.kborn__soon, .kborn__hi { display: block; transition: opacity .6s, transform .6s var(--ease-out); }
.kborn__hi { display: none; font-style: italic; text-transform: none; letter-spacing: 0; font-size: 1.35em; }
.is-born .kborn__soon { display: none; }
.is-born .kborn__hi { display: block; animation: kfade .9s var(--ease-out); }
.is-born .kplus__n, .is-born .ktplus__n { color: #8F6D43; text-shadow: 0 0 24px rgba(201, 168, 106, .55); }
@keyframes kfade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.kplus .kheart { margin-bottom: calc(var(--k) * 6); margin-top: calc(var(--k) * -24); }
.ktplus .kheart { margin-top: calc(var(--k) * 10); color: #3A2C1C; }
@media (max-width: 1080px) { .ktplus .kheart { width: calc(var(--m) * 44); height: calc(var(--m) * 44); margin-top: calc(var(--m) * 16); } }

/* звук на десктопе — тихая кнопка у EN/DE */
@media (min-width: 1081px) {
  .hdr .sound { display: grid; place-items: center; width: calc(var(--k) * 26); height: calc(var(--k) * 26); margin-right: calc(var(--k) * 22); border: 1px solid rgba(143, 109, 67, .45); border-radius: 50%; background: none; color: #8F6D43; }
  .hdr .sound .eq i { background: #8F6D43; }
}

/* заставка в светлой гамме */
.splash { background: var(--kc) var(--orn); background-size: 120px; color: #8F6D43; }
.splash__sub { color: #6B5A45; }
.splash__rule { background: #A5834F; }
.splash__sound { border-color: rgba(143, 109, 67, .5); color: #3A2C1C; font-family: var(--serif); font-weight: 600; font-size: 11px; }
.splash__sound .eq i { background: #8F6D43; }
.splash__sound:hover { background: linear-gradient(100deg, #83633A, #A5834F); color: #fff; }
.splash__sound:hover .eq i { background: #fff; }

/* шахматы Антара — как тёмная полоса нового концепта */
.chess { background: #0F0D0B url(/assets/img/talents-dark.webp) 50% 50% / cover no-repeat; }
.chess__steps small, .chess__mark b { font-family: var(--serif); font-weight: 600; }
.chess__steps b { font-weight: 400; }
.chess__listen { font-family: var(--serif); font-weight: 600; font-size: 11px; background: linear-gradient(100deg, #83633A, #A5834F); border: 0; color: #fff; }
.chess__listen .eq i { background: #fff; }
@media (min-width: 1081px) { .hdr .sound { display: none; } }
.ftr__sound { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid rgba(201, 168, 106, .5); border-radius: 50%; background: none; color: #C9A86A; cursor: pointer; }
.ftr__sound .eq i { background: #C9A86A; }
.chess { background: linear-gradient(rgba(12, 10, 8, .8), rgba(12, 10, 8, .8)), #0F0D0B url(/assets/img/talents-dark.webp) 50% 50% / cover no-repeat; }
.chess__board { background: #14110E; }
.is-born .ktplus__bow { opacity: 0; }
.cookie { background: #F7F3ED; color: #3A332C; border: 1px solid rgba(143, 109, 67, .25); box-shadow: 0 20px 50px -30px rgba(60, 40, 20, .45); font-family: var(--serif); }
.cookie p { font: 500 13px/1.45 var(--serif); }
.cookie a { color: #8F6D43; }
.cookie .btn { background: linear-gradient(100deg, #83633A, #A5834F); color: #fff; border: 0; font-family: var(--serif); font-weight: 600; }

@media (max-width: 1080px) { .ktplus__script { color: #5A4630; } }

/* ======================================================================
   ПРОФИЛЬ РЕБЁНКА v2 (макет 15.09): десктоп от ширины 1312 (--k), мобилка 390 (--m)
   ====================================================================== */
main:has(.kp-hero) > .cta, main:has(.kp-hero) > .siblings { display: none; }
.p-talents main section[class^="kp-"] { padding: 0; font-family: var(--serif); color: var(--ktext); }
.kbtn--big { height: calc(var(--k) * 54); padding: 0 calc(var(--k) * 60); font-size: calc(var(--k) * 14); letter-spacing: .2em; }
.kbtn--pill { height: calc(var(--k) * 54); padding: 0 calc(var(--k) * 44); border-radius: 999px; background: none; color: #1B1714; box-shadow: inset 0 0 0 1px rgba(143, 109, 67, .6); font-size: calc(var(--k) * 12.5); letter-spacing: .12em; }
.kbtn--pill:hover { background: rgba(143, 109, 67, .08); filter: none; }
.kbtn--pill .kbtn__wa { width: 1.7em; height: 1.7em; margin-right: .7em; }

.kp-hero { position: relative; overflow: hidden; background: linear-gradient(180deg, #F5F1EA, #F1EBE2); isolation: isolate; }
.kp-hero::before { content: ''; position: absolute; z-index: -1; right: 0; top: 0; width: 42%; height: 100%; background: url(/assets/img/talents-banner.webp) 72% 30% / cover no-repeat; -webkit-mask: linear-gradient(90deg, transparent, #000 35%); mask: linear-gradient(90deg, transparent, #000 35%); opacity: .55; filter: saturate(.6) brightness(1.12); }
.kp-hero__arch { position: absolute; margin: 0; overflow: hidden; border-radius: 999px 999px 0 0; box-shadow: 0 30px 60px -40px rgba(60, 40, 20, .5); }
.kp-hero__arch img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; filter: sepia(.1) saturate(.92); }
.kp--dariya .kp-hero__arch img { object-position: 50% 18%; } .kp--abraham .kp-hero__arch img { object-position: 45% 55%; }
.kp-hero__vline { position: absolute; width: 1px; background: var(--kline); }
.kp-hero__script { position: absolute; margin: 0; font: 400 calc(var(--k) * 62)/1 var(--script); color: #8F6D43; transform: rotate(-78deg); transform-origin: 0 0; white-space: nowrap; }
.kp-hero__lside, .kp-hero__rside { position: absolute; margin: 0; font: 600 calc(var(--k) * 9)/1.75 var(--serif); letter-spacing: .24em; text-transform: uppercase; color: #3A2C1C; }
.kp-hero__rside { text-align: right; color: #6B5A45; }
.kp-hero__lside span, .kp-hero__rside span { display: block; }
.kp-hero__name { margin: calc(var(--k) * 10) 0 0; font: 500 calc(var(--k) * 98)/1 var(--serif); color: #0E0C0A; letter-spacing: .01em; text-transform: uppercase; }
.kp-hero__intro { margin: calc(var(--k) * 18) 0 0; font: 500 calc(var(--k) * 20)/1.3 var(--serif); color: #1F1A15; max-width: 24em; }
.kp-hero__intro span { display: block; }
.kp-facts { display: grid; grid-template-columns: auto auto auto 1fr; margin: calc(var(--k) * 30) 0 0; }
.kp-facts div { padding: 0 calc(var(--k) * 30); border-left: 1px solid var(--kline); }
.kp-facts div:first-child { padding-left: 0; border: 0; }
.kp-facts dt { font: 600 calc(var(--k) * 10)/1 var(--serif); letter-spacing: .18em; text-transform: uppercase; color: #3A2C1C; }
.kp-facts dd { margin: calc(var(--k) * 10) 0 0; font: 500 calc(var(--k) * 17)/1.25 var(--serif); color: #1F1A15; white-space: pre-line; }
.kp-hero__acts { display: flex; gap: calc(var(--k) * 20); margin-top: calc(var(--k) * 30); }
.kp-hero__comp { margin-top: calc(var(--k) * 22); font-size: calc(var(--k) * 11.5); border-bottom: 1px solid currentColor; }
.kp-hero__deco { position: absolute; inset: 0; pointer-events: none; }
.kp-hero__more { position: absolute; margin: 0; font: 400 calc(var(--k) * 48)/.85 var(--script); color: #8F6D43; transform: rotate(-18deg); }
.kp-hero__more span { display: block; padding-left: calc(var(--k) * 26 * var(--i)); }
.kp-hero__orn { position: absolute; color: #8F6D43; }
.kp-hero__ornline { position: absolute; width: 1px; background: var(--kline); }

.kp-info { display: grid; background: #F4EFE8; position: relative; }
.kp-about__h { margin: calc(var(--k) * 14) 0 0; font: italic 500 calc(var(--k) * 41)/1.08 var(--serif); color: #0E0C0A; }
.kp-about__p { margin: calc(var(--k) * 16) 0 0; font: 500 calc(var(--k) * 15.5)/1.45 var(--serif); color: #2A241E; }
.kp-about__img { position: relative; margin: 0; }
.kp-about__img img { width: 100%; height: 100%; object-fit: cover; border-radius: 999px 0 0 0; -webkit-mask: linear-gradient(90deg, #000 70%, transparent 100%), linear-gradient(0deg, transparent, #000 25%); -webkit-mask-composite: source-in; mask: linear-gradient(90deg, #000 70%, transparent 100%) , linear-gradient(0deg, transparent, #000 25%); mask-composite: intersect; }
.kp-about__img figcaption { position: absolute; font: 400 calc(var(--k) * 38)/.82 var(--script); color: #8F6D43; transform: rotate(-24deg); }
.kp-about__img figcaption span { display: block; } .kp-about__img figcaption span:nth-child(2) { padding-left: .6em; } .kp-about__img figcaption span:nth-child(3) { padding-left: .1em; }
.kp-side { position: relative; }
.kpath { position: relative; }
.kpath__stops { display: grid; grid-template-columns: repeat(6, 1fr); margin: calc(var(--k) * 30) 0 0; padding: 0; list-style: none; }
.kpath__stop button { display: flex; flex-direction: column; align-items: center; gap: 0; width: 100%; padding: 0; border: 0; background: none; cursor: pointer; font: 500 calc(var(--k) * 13.5)/1.35 var(--serif); color: #1F1A15; text-align: center; }
.kpath__stop .kicon { width: calc(var(--k) * 58); height: calc(var(--k) * 58); color: #8F6D43; transition: transform .5s var(--ease-out), color .5s; }
.kpath__dot { width: calc(var(--k) * 9); height: calc(var(--k) * 9); border-radius: 50%; background: #A5834F; margin: calc(var(--k) * 14) 0 calc(var(--k) * 12); position: relative; z-index: 1; transition: transform .5s var(--ease-out), box-shadow .5s; }
.kpath__stop.is-on .kicon { transform: translateY(-4px) scale(1.08); color: #6F5431; }
.kpath__stop.is-on .kpath__dot { transform: scale(1.5); box-shadow: 0 0 0 5px rgba(165, 131, 79, .22); }
.kpath__stop.is-on .kpath__l { color: #6F5431; }
.kpath__l { transition: color .5s; }
.kpath__line { position: absolute; left: calc(100% / 12); right: calc(100% / 12); height: 1px; background: rgba(143, 109, 67, .35); top: calc(var(--k) * 30 + var(--k) * 58 + var(--k) * 18.5); pointer-events: none; }
.kpath__line i { position: absolute; left: 0; top: -.5px; height: 2px; width: var(--fx, 0); background: linear-gradient(90deg, #A5834F, #C9A86A); transition: width .9s var(--ease-out); }
.kpath__knight { position: absolute; z-index: 2; width: calc(var(--k) * 26); color: #6F5431; transform: translate(-50%, -118%); transition: left .9s var(--ease-out), top .9s var(--ease-out); pointer-events: none; filter: drop-shadow(0 6px 8px rgba(60, 40, 20, .25)); }
.kpath__knight svg { width: 100%; height: auto; display: block; }
.kpath__knight.is-hop svg { animation: khop .9s var(--ease-out); }
@keyframes khop { 0% { transform: none; } 40% { transform: translateY(-38%) rotate(-12deg); } 70% { transform: translateY(-10%) rotate(6deg); } 100% { transform: none; } }
.kpath__cap { position: relative; display: grid; margin-top: calc(var(--k) * 18); min-height: calc(var(--k) * 42); }
.kpath__cap p { grid-area: 1 / 1; margin: 0; font: 500 calc(var(--k) * 14)/1.4 var(--serif); color: #2A241E; opacity: 0; transform: translateY(8px); transition: opacity .6s, transform .6s var(--ease-out); }
.kpath__cap p.is-on { opacity: 1; transform: none; }
.kpath__cap b { font-weight: 600; color: #6F5431; }
.kpath__note { margin: calc(var(--k) * 6) 0 0; padding-bottom: calc(var(--k) * 22); border-bottom: 1px solid rgba(143, 109, 67, .2); font: 500 calc(var(--k) * 13)/1.4 var(--serif); color: #5A4A38; }
.kpath__note a { color: #6F5431; border-bottom: 1px solid currentColor; }
.kp-measures { display: grid; grid-template-columns: repeat(4, 1fr); margin: calc(var(--k) * 26) 0 calc(var(--k) * 12); }
.kp-measures div { padding: 0 calc(var(--k) * 16); border-left: 1px solid var(--kline); } .kp-measures div:first-child { border: 0; padding-left: 0; }
.kp-measures dt { font: 600 calc(var(--k) * 10)/1 var(--serif); letter-spacing: .16em; text-transform: uppercase; color: #3A2C1C; }
.kp-measures dd { margin: calc(var(--k) * 10) 0 0; font: 500 calc(var(--k) * 22)/1 var(--serif); color: #1F1A15; }
.kp-skills__k { margin-top: calc(var(--k) * 20) !important; }
.kp-skills { display: grid; grid-template-columns: repeat(4, 1fr); margin: calc(var(--k) * 18) 0 0; padding: 0; list-style: none; }
.kp-skills li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: calc(var(--k) * 10); padding: 0 calc(var(--k) * 10); border-left: 1px solid var(--kline); font: 500 calc(var(--k) * 14)/1.3 var(--serif); color: #1F1A15; }
.kp-skills li:first-child { border: 0; }
.kp-skills .kicon { width: calc(var(--k) * 38); height: calc(var(--k) * 38); color: #8F6D43; }

.kp-gallery { display: grid; background: #F4EFE8; }
.kp-grid { display: grid; gap: calc(var(--k) * 8); }
.kp-tile { position: relative; margin: 0; overflow: hidden; background: #E6DED2; }
.kp-tile .zoom, .kp-tile img, .kp-tile video { display: block; width: 100%; height: 100%; object-fit: cover; }
.kp-tile .zoom { padding: 0; border: 0; cursor: zoom-in; }
.kp-tile img { transition: transform 1.1s var(--ease-out); filter: sepia(.08); }
.kp-tile:hover img { transform: scale(1.04); }
.kp-tile--listen::after { content: ''; position: absolute; inset: 0; background: rgba(20, 14, 8, .38); pointer-events: none; transition: background .5s; }
.kp-listen { position: absolute; z-index: 2; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: calc(var(--k) * 12); border: 0; background: none; color: #fff; cursor: pointer; font: 600 calc(var(--k) * 12)/1 var(--serif); letter-spacing: .18em; text-transform: uppercase; }
.kp-listen__play { display: grid; place-items: center; width: calc(var(--k) * 54); height: calc(var(--k) * 54); border-radius: 50%; border: 1.5px solid #fff; transition: background .4s, transform .4s var(--ease-out); }
.kp-listen__play svg { width: 30%; margin-left: 10%; fill: #fff; }
.kp-listen__play .eq { display: none; }
.kp-listen__play .eq i { background: #fff; }
.kp-listen:hover .kp-listen__play { background: rgba(255, 255, 255, .15); transform: scale(1.06); }
.is-playing .kp-listen__play svg { display: none; } .is-playing .kp-listen__play .eq { display: inline-flex; }
.is-playing .kp-listen__play { background: linear-gradient(100deg, #83633A, #A5834F); border-color: transparent; }
.kp-notes { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.kp-notes i { position: absolute; bottom: 10%; left: calc(18% + var(--n, 0) * 16%); font: normal calc(var(--k) * 22)/1 serif; color: #E9D3A6; opacity: 0; }
.kp-notes i:nth-child(1) { --n: 0; } .kp-notes i:nth-child(2) { --n: 1; } .kp-notes i:nth-child(3) { --n: 2; } .kp-notes i:nth-child(4) { --n: 3; } .kp-notes i:nth-child(5) { --n: 4; }
.is-playing .kp-notes i { animation: knote 3.2s ease-in infinite; animation-delay: calc(var(--n) * .55s); }
@keyframes knote { 0% { opacity: 0; transform: translate(0, 0) rotate(0); } 15% { opacity: 1; } 100% { opacity: 0; transform: translate(calc(var(--k) * 18), calc(var(--k) * -120)) rotate(18deg); } }
.kp-gallery__tile { position: relative; margin: 0; overflow: hidden; }
.kp-gallery__tile img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 70%; }
.kp-gallery__tile figcaption { position: absolute; font: 600 calc(var(--k) * 10.5)/1.8 var(--serif); letter-spacing: .32em; text-transform: uppercase; color: #2A241E; }
.kp-gallery__tile figcaption span { display: block; }

.kp-others { position: relative; overflow: hidden; background: #F4EFE8; isolation: isolate; }
.kp-others::before { content: ''; position: absolute; z-index: -1; inset: 30% 0 0; background: url(/assets/img/talents-banner.webp) 50% 60% / cover no-repeat; opacity: .35; -webkit-mask: linear-gradient(0deg, #000 30%, transparent); mask: linear-gradient(0deg, #000 30%, transparent); }
.kp-others__row { display: flex; }
.kp-other { display: flex; align-items: flex-end; background: rgba(250, 247, 242, .92); box-shadow: 0 20px 50px -34px rgba(60, 40, 20, .4); }
.kp-other__arch { display: block; overflow: hidden; border-radius: 999px 999px 0 0; }
.kp-other__arch img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; }
.kp-other__txt { display: flex; flex-direction: column; align-self: stretch; }
.kp-other__txt b { font: 500 calc(var(--k) * 22)/1 var(--serif); letter-spacing: .05em; text-transform: uppercase; color: #0E0C0A; }
.kp-other__txt small { margin-top: calc(var(--k) * 8); font: 600 calc(var(--k) * 9.5)/1.5 var(--serif); letter-spacing: .2em; text-transform: uppercase; color: #3A2C1C; max-width: 14em; }
.kp-other__txt em { margin-top: calc(var(--k) * 6); font: normal 500 calc(var(--k) * 14)/1.3 var(--serif); color: #3A332C; }
.kp-other__go { display: flex; align-items: center; gap: calc(var(--k) * 14); margin-top: auto; font: 600 calc(var(--k) * 11)/1 var(--serif); letter-spacing: .16em; text-transform: uppercase; color: #1B1714; }
.kp-other__go i { display: grid; place-items: center; width: calc(var(--k) * 34); height: calc(var(--k) * 34); border-radius: 50%; border: 1px solid rgba(143, 109, 67, .6); font-style: normal; }
.kp-other:hover .kp-other__go i { background: #8F6D43; color: #fff; }
.kp-others__script { position: absolute; margin: 0; font: 400 calc(var(--k) * 44)/.85 var(--script); color: #6F5431; transform: rotate(-18deg); }
.kp-others__script span { display: block; } .kp-others__script span + span { padding-left: .9em; }

@media (min-width: 1081px) {
  .kp-hero { height: calc(var(--k) * 610); }
  .kp-hero__arch { left: calc(var(--k) * 135); top: calc(var(--k) * 77); width: calc(var(--k) * 420); height: calc(var(--k) * 515); }
  .kp-hero__vline { left: calc(var(--k) * 118); top: calc(var(--k) * 110); height: calc(var(--k) * 180); }
  .kp-hero__script { left: calc(var(--k) * 50); top: calc(var(--k) * 500); }
  .kp-hero__lside { left: calc(var(--k) * 40); top: calc(var(--k) * 520); }
  .kp-hero__txt { position: absolute; left: calc(var(--k) * 597); top: calc(var(--k) * 125); }
  .kp-hero__more { left: calc(var(--k) * 1115); top: calc(var(--k) * 125); }
  .kp-hero__orn { left: calc(var(--k) * 1222); top: calc(var(--k) * 368); width: calc(var(--k) * 30); }
  .kp-hero__ornline { left: calc(var(--k) * 1237); top: calc(var(--k) * 412); height: calc(var(--k) * 60); }
  .kp-hero__rside { right: calc(var(--k) * 48); top: calc(var(--k) * 488); }
  .kp-info { grid-template-columns: calc(var(--k) * 360) calc(var(--k) * 300) 1fr; gap: calc(var(--k) * 30); padding: calc(var(--k) * 30) calc(var(--k) * 40) calc(var(--k) * 24) !important; align-items: start; }
  .kp-about { padding-top: calc(var(--k) * 12); }
  .kp-about__img { height: calc(var(--k) * 360); margin-top: calc(var(--k) * 6); }
  .kp-about__img figcaption { right: calc(var(--k) * -40); bottom: calc(var(--k) * 10); }
  .kp-side { padding: calc(var(--k) * 12) 0 0 calc(var(--k) * 10); }
  .kp-gallery { grid-template-columns: 1fr calc(var(--k) * 268); gap: calc(var(--k) * 30); padding: calc(var(--k) * 14) calc(var(--k) * 40) calc(var(--k) * 30) !important; }
  .kp-gallery > .kk { grid-column: 1 / -1; margin-bottom: calc(var(--k) * -18); }
  .kp-grid { grid-template-columns: repeat(12, 1fr); grid-auto-rows: calc(var(--k) * 180); }
  .kp-tile { grid-column: span 3; }
  .kp-tile:nth-child(4n+1) { grid-column: span 3; } .kp-tile:nth-child(5), .kp-tile:nth-child(10) { grid-column: span 4; } .kp-tile:nth-child(6), .kp-tile:nth-child(11) { grid-column: span 5; }
  .kp-gallery__tile { grid-row: 2; grid-column: 2; }
  .kp-gallery__tile figcaption { left: calc(var(--k) * 120); top: calc(var(--k) * 44); }
  .kp-others { min-height: calc(var(--k) * 230); padding: calc(var(--k) * 20) calc(var(--k) * 40) calc(var(--k) * 16) !important; display: grid; grid-template-columns: calc(var(--k) * 150) 1fr; }
  .kp-others__row { gap: calc(var(--k) * 12); }
  .kp-other { width: calc(var(--k) * 470); height: calc(var(--k) * 200); padding: calc(var(--k) * 10) calc(var(--k) * 20) calc(var(--k) * 10) calc(var(--k) * 8); gap: calc(var(--k) * 22); }
  .kp-other__arch { width: calc(var(--k) * 218); height: calc(var(--k) * 190); }
  .kp-other__txt { padding: calc(var(--k) * 26) 0 calc(var(--k) * 16); }
  .kp-others__script { right: calc(var(--k) * 40); top: calc(var(--k) * 70); }
}

@media (max-width: 1080px) {
  .kp-hero { display: flex; flex-direction: column; padding: calc(var(--m) * 112) calc(var(--m) * 20) 0 !important; }
  .kp-hero::before { top: auto; bottom: 0; width: 100%; height: calc(var(--m) * 330); background-position: 60% 40%; -webkit-mask: linear-gradient(0deg, #000 60%, transparent); mask: linear-gradient(0deg, #000 60%, transparent); opacity: .6; }
  .kp-hero__arch { position: relative; width: 100%; height: calc(var(--m) * 560); }
  .kp-hero__vline, .kp-hero__script, .kp-hero__lside { display: none; }
  .kp-hero__txt { padding: calc(var(--m) * 24) calc(var(--m) * 8) 0; }
  .kk { font-size: calc(var(--m) * 11); }
  .kp-hero__name { font-size: calc(var(--m) * 84); margin-top: calc(var(--m) * 12); }
  .kp-hero__intro { font-size: calc(var(--m) * 21); line-height: 1.32; margin-top: calc(var(--m) * 14); }
  .kp-hero__intro span { display: inline; }
  .kp-facts { grid-template-columns: auto auto auto; row-gap: calc(var(--m) * 26); margin-top: calc(var(--m) * 36); }
  .kp-facts div { padding: 0 calc(var(--m) * 16); }
  .kp-facts__cat { grid-column: 2 / 4; border-left: 1px solid var(--kline) !important; padding-left: calc(var(--m) * 16) !important; }
  .kp-facts dt { font-size: calc(var(--m) * 10.5); }
  .kp-facts dd { font-size: calc(var(--m) * 18.5); margin-top: calc(var(--m) * 10); }
  .kp-hero__acts { flex-direction: column; gap: calc(var(--m) * 14); margin-top: calc(var(--m) * 36); }
  .kbtn--big { height: calc(var(--m) * 72); font-size: calc(var(--m) * 19); }
  .kbtn--pill { height: calc(var(--m) * 66); font-size: calc(var(--m) * 16); }
  .kp-hero__comp { align-self: center; margin: calc(var(--m) * 24) auto 0; display: flex; width: max-content; font-size: calc(var(--m) * 14); }
  .kp-hero__deco { position: relative; inset: auto; height: calc(var(--m) * 520); }
  .kp-hero__orn { left: 50%; top: calc(var(--m) * 36); width: calc(var(--m) * 34); transform: translateX(-50%); }
  .kp-hero__ornline { display: none; }
  .kp-hero__rside { left: 0; right: 0; top: calc(var(--m) * 110); text-align: center; font-size: calc(var(--m) * 11.5); color: #8B7355; }
  .kp-hero__more { right: calc(var(--m) * 10); bottom: calc(var(--m) * 90); font-size: calc(var(--m) * 54); }

  .kp-info { grid-template-columns: 1fr; padding: calc(var(--m) * 30) calc(var(--m) * 26) 0 !important; }
  .kp-about__h { font-size: calc(var(--m) * 41); margin-top: calc(var(--m) * 14); }
  .kp-about__p { font-size: calc(var(--m) * 18); }
  .kp-about__img { height: calc(var(--m) * 360); margin: calc(var(--m) * 20) calc(var(--m) * -6) 0; }
  .kp-about__img img { border-radius: 999px 999px 0 0; }
  .kp-about__img figcaption { right: calc(var(--m) * 6); bottom: calc(var(--m) * 30); font-size: calc(var(--m) * 44); }
  .kp-side { padding: calc(var(--m) * 40) 0 0; }
  .kpath__stops { grid-template-columns: 1fr; row-gap: calc(var(--m) * 16); margin-top: calc(var(--m) * 26); }
  .kpath__stop button { display: grid; grid-template-columns: calc(var(--m) * 90) calc(var(--m) * 60) 1fr; align-items: center; text-align: left; font-size: calc(var(--m) * 17); }
  .kpath__stop .kicon { width: calc(var(--m) * 60); height: calc(var(--m) * 60); justify-self: center; }
  .kpath__dot { width: calc(var(--m) * 9); height: calc(var(--m) * 9); margin: 0; justify-self: center; }
  .kpath__line { left: calc(var(--m) * 120); right: auto; top: calc(var(--m) * 56); bottom: calc(var(--m) * 200); width: 1px; height: auto; }
  .kpath__line i { width: 2px; height: var(--fy, 0); left: -.5px; top: 0; transition: height .9s var(--ease-out); }
  .kpath__knight { width: calc(var(--m) * 24); transform: translate(-150%, -50%); }
  .kpath__cap { margin-top: calc(var(--m) * 24); min-height: calc(var(--m) * 70); }
  .kpath__cap p, .kpath__note { font-size: calc(var(--m) * 17); }
  .kp-measures { grid-template-columns: repeat(2, 1fr); row-gap: calc(var(--m) * 20); }
  .kp-measures div:nth-child(3) { border: 0; padding-left: 0; }
  .kp-measures dt { font-size: calc(var(--m) * 11); } .kp-measures dd { font-size: calc(var(--m) * 24); }
  .kp-skills { grid-template-columns: 1fr; row-gap: calc(var(--m) * 18); margin-top: calc(var(--m) * 22); }
  .kp-skills li { flex-direction: row; text-align: left; border: 0; padding: 0; gap: calc(var(--m) * 22); font-size: calc(var(--m) * 17); }
  .kp-skills .kicon { width: calc(var(--m) * 42); height: calc(var(--m) * 42); }
  .kp-gallery { padding: calc(var(--m) * 40) calc(var(--m) * 20) calc(var(--m) * 20) !important; gap: calc(var(--m) * 16); }
  .kp-grid { grid-template-columns: 1fr; grid-auto-rows: calc(var(--m) * 230); gap: calc(var(--m) * 10); }
  .kp-gallery__tile { height: calc(var(--m) * 520); }
  .kp-gallery__tile figcaption { left: calc(var(--m) * 120); top: calc(var(--m) * 60); font-size: calc(var(--m) * 14); }
  .kp-listen { font-size: calc(var(--m) * 14); gap: calc(var(--m) * 12); }
  .kp-listen__play { width: calc(var(--m) * 66); height: calc(var(--m) * 66); }
  .kp-others { padding: calc(var(--m) * 30) calc(var(--m) * 20) calc(var(--m) * 40) !important; }
  .kp-others::before { inset: auto 0 0; height: 40%; }
  .kp-others__row { flex-direction: column; gap: calc(var(--m) * 26); margin-top: calc(var(--m) * 20); }
  .kp-other { flex-direction: column; align-items: stretch; background: none; box-shadow: none; }
  .kp-other__arch { height: calc(var(--m) * 330); margin: 0 calc(var(--m) * 10); }
  .kp-other__txt { padding: calc(var(--m) * 20) calc(var(--m) * 16) 0; }
  .kp-other__txt b { font-size: calc(var(--m) * 30); }
  .kp-other__txt small { font-size: calc(var(--m) * 11); max-width: none; }
  .kp-other__txt em { font-size: calc(var(--m) * 18); }
  .kp-other__go { margin-top: calc(var(--m) * 22); font-size: calc(var(--m) * 14); gap: calc(var(--m) * 20); }
  .kp-other__go i { width: calc(var(--m) * 54); height: calc(var(--m) * 54); }
  .kp-others__script { display: none; }
}
.kpath__knight { width: calc(var(--k) * 24); transform: translate(-50%, -64%); }
.kpath__stop.is-on .kpath__dot { opacity: 0; }
@media (min-width: 1081px) {
  .kp-tile:nth-child(n) { grid-column: span 3; }
  .kp-tile:nth-child(5) { grid-column: span 4; } .kp-tile:nth-child(6) { grid-column: span 5; } .kp-tile:nth-child(7) { grid-column: span 3; }
}
@media (max-width: 1080px) { .kpath__knight { width: calc(var(--m) * 22); transform: translate(-50%, -64%); } }
.kpath__line i { transition: width .9s var(--ease-out), height .9s var(--ease-out); }
@media (min-width: 1081px) { .kp-about__img figcaption { right: calc(var(--k) * 8); bottom: calc(var(--k) * 16); font-size: calc(var(--k) * 34); } }

/* ======================================================================
   ПОРТФОЛИО v2 (макет 15.09)
   ====================================================================== */
.p-portfolio { background: var(--kc); }
.p-portfolio main section[class^="kpf-"] { padding: 0; font-family: var(--serif); color: var(--ktext); }
main:has(.kpf-hero) > .cta { display: none; }
.kpf-hero { position: relative; overflow: hidden; background: linear-gradient(90deg, #F5F1EA 38%, #EFE8DE); isolation: isolate; }
.kpf-hero__h { margin: calc(var(--k) * 12) 0 0; font: 500 calc(var(--k) * 76)/.9 var(--serif); color: #0E0C0A; letter-spacing: -.015em; }
.kpf-hero__line { margin: calc(var(--k) * 22) 0 0; font: 500 calc(var(--k) * 21)/1.2 var(--serif); color: #1F1A15; }
.kpf-hero__p { margin: calc(var(--k) * 16) 0 0; font: 500 calc(var(--k) * 15)/1.4 var(--serif); color: #3A332C; max-width: 23em; }
.kpf-hero__script { position: absolute; margin: 0; font: 400 calc(var(--k) * 40)/.85 var(--script); color: #8F6D43; transform: rotate(-16deg); z-index: 2; }
.kpf-hero__script span { display: block; padding-left: calc(var(--k) * 14 * var(--i)); }
.kpf-hero__img { position: absolute; margin: 0; z-index: -1; }
.kpf-hero__img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; filter: sepia(.1) saturate(.92); -webkit-mask: linear-gradient(90deg, transparent 0%, #000 28%); mask: linear-gradient(90deg, transparent 0%, #000 28%); }
.kpf-hero__side { position: absolute; margin: 0; text-align: right; font: 600 calc(var(--k) * 9)/1.7 var(--serif); letter-spacing: .24em; text-transform: uppercase; color: #F3EAD9; text-shadow: 0 1px 10px rgba(0, 0, 0, .45); }
.kpf-hero__side span { display: block; }
.kpf-hero__vl { position: absolute; width: 1px; background: rgba(243, 234, 217, .7); }
.kpf-filter { display: flex; flex-wrap: wrap; align-items: center; background: #F4EFE8; }
.kpf-filter__row { display: flex; align-items: center; }
.kpf-filter__label { margin: 0; font: 600 calc(var(--k) * 10)/1 var(--serif); letter-spacing: .26em; text-transform: uppercase; color: #3A2C1C; white-space: nowrap; }
.kpf-pills { display: flex; gap: calc(var(--k) * 10); }
.ktpill--line { background: none; box-shadow: inset 0 0 0 1px rgba(143, 109, 67, .45); }
.ktpill--line.is-on { box-shadow: none; }
.kpf-grid-wrap { background: #F4EFE8; display: flex; flex-direction: column; align-items: center; }
.kpf-grid { display: grid; width: 100%; }
.kpf-tile { position: relative; margin: 0; overflow: hidden; background: #E6DED2; border-radius: 3px; }
.kpf-tile.is-off, .kpf-tile.is-rest, .kpf-video.is-off { display: none; }
.kpf-tile .zoom { display: block; width: 100%; height: 100%; padding: 0; border: 0; cursor: zoom-in; }
.kpf-tile img { width: 100%; height: 100%; object-fit: cover; filter: sepia(.08); transition: transform 1.1s var(--ease-out); }
.kpf-tile:hover img { transform: scale(1.05); }
.kpf-tile::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(15, 10, 5, .72)); pointer-events: none; }
.kpf-tile figcaption { position: absolute; z-index: 1; left: calc(var(--k) * 12); right: calc(var(--k) * 10); bottom: calc(var(--k) * 10); color: #fff; pointer-events: none; }
.kpf-tile small { display: block; font: 600 calc(var(--k) * 8)/1 var(--serif); letter-spacing: .2em; text-transform: uppercase; opacity: .9; }
.kpf-tile b { display: block; margin-top: calc(var(--k) * 4); font: 500 calc(var(--k) * 17)/1.1 var(--serif); }
.kpf-empty { font: italic 500 18px/1.4 var(--serif); color: #6B5A45; }
.kpf-load { display: inline-flex; align-items: center; gap: .9em; height: calc(var(--k) * 44); padding: 0 calc(var(--k) * 40); border: 1px solid rgba(143, 109, 67, .55); border-radius: 999px; background: none; font: 600 calc(var(--k) * 10.5)/1 var(--serif); letter-spacing: .24em; text-transform: uppercase; color: #1B1714; cursor: pointer; transition: background .4s, color .4s; }
.kpf-load:hover { background: #8F6D43; color: #fff; }
.kpf-load[hidden] { display: none !important; }
.kpf-videos { background: #F4EFE8; }
.kpf-videos__row { display: grid; }
.kpf-video { position: relative; margin: 0; overflow: hidden; background: #111; border-radius: 3px; }
.kpf-video video { width: 100%; height: 100%; object-fit: cover; display: block; }
.kpf-video::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .05), rgba(0, 0, 0, .55)); pointer-events: none; transition: opacity .4s; }
.kpf-video__play { position: absolute; z-index: 2; left: 50%; top: 50%; width: calc(var(--k) * 46); height: calc(var(--k) * 46); transform: translate(-50%, -50%); display: grid; place-items: center; border-radius: 50%; border: 1.5px solid #fff; background: rgba(0, 0, 0, .2); cursor: pointer; transition: background .4s, transform .4s var(--ease-out); }
.kpf-video__play svg { width: 30%; margin-left: 10%; fill: #fff; }
.kpf-video__play:hover { background: linear-gradient(100deg, #83633A, #A5834F); border-color: transparent; transform: translate(-50%, -50%) scale(1.06); }
.kpf-video figcaption { position: absolute; z-index: 2; left: calc(var(--k) * 14); bottom: calc(var(--k) * 12); font: 500 calc(var(--k) * 17)/1 var(--serif); color: #fff; pointer-events: none; }
.kpf-video.is-playing::after, .kpf-video.is-playing .kpf-video__play, .kpf-video.is-playing figcaption { opacity: 0; pointer-events: none; }
.kpf-mtile { position: relative; margin: 0; overflow: hidden; }
.kpf-mtile img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 60%; }
.kpf-mtile figcaption { position: absolute; font: 600 calc(var(--k) * 10)/1.7 var(--serif); letter-spacing: .3em; text-transform: uppercase; color: #2A241E; }
.kpf-mtile figcaption span { display: block; }
.kpf-mtile figcaption i { display: block; width: calc(var(--k) * 34); height: 1px; background: #6B5A45; margin-top: calc(var(--k) * 10); }

@media (min-width: 1081px) {
  .kpf-hero { height: calc(var(--k) * 438); }
  .kpf-hero__txt { position: absolute; left: calc(var(--k) * 92); top: calc(var(--k) * 108); }
  .kpf-hero__script { left: calc(var(--k) * 480); top: calc(var(--k) * 110); }
  .kpf-hero__img { left: calc(var(--k) * 560); right: 0; top: 0; bottom: 0; }
  .kpf-hero__side { right: calc(var(--k) * 36); top: calc(var(--k) * 150); }
  .kpf-hero__vl { right: calc(var(--k) * 70); top: calc(var(--k) * 236); height: calc(var(--k) * 100); }
  .kpf-filter { gap: calc(var(--k) * 18) calc(var(--k) * 40); padding: calc(var(--k) * 16) calc(var(--k) * 40) calc(var(--k) * 16) calc(var(--k) * 54) !important; }
  .kpf-filter__row { gap: calc(var(--k) * 18); }
  .kpf-grid-wrap { padding: calc(var(--k) * 4) calc(var(--k) * 32) calc(var(--k) * 30) !important; gap: calc(var(--k) * 26); }
  .kpf-grid { grid-template-columns: repeat(5, 1fr); grid-auto-rows: calc(var(--k) * 136); gap: calc(var(--k) * 10); grid-auto-flow: dense; }
  .kpf-tile { grid-row: span 2; }
  .kpf-tile:nth-child(3n+2) { grid-row: span 2; } .kpf-tile:nth-child(4n+3) { grid-row: span 2; }
  .kpf-videos { padding: 0 calc(var(--k) * 32) calc(var(--k) * 40) !important; }
  .kpf-videos > .kk { margin-bottom: calc(var(--k) * 12); }
  .kpf-videos__row { grid-template-columns: 1fr 1fr calc(var(--k) * 380); grid-auto-rows: calc(var(--k) * 190); gap: calc(var(--k) * 10); }
  .kpf-mtile { grid-column: 3; grid-row: 1 / span 2; }
  .kpf-video--wide { grid-column: 1 / 3; }
  .kpf-mtile figcaption { right: calc(var(--k) * 40); top: calc(var(--k) * 26); }
}

@media (max-width: 1080px) {
  .kpf-hero { display: flex; flex-direction: column; padding-top: calc(var(--m) * 70) !important; }
  .kpf-hero__txt { position: relative; z-index: 2; padding: calc(var(--m) * 16) calc(var(--m) * 26) 0; }
  .kpf-hero__h { font-size: calc(var(--m) * 54); }
  .kpf-hero__line { font-size: calc(var(--m) * 19); margin-top: calc(var(--m) * 70); }
  .kpf-hero__p { font-size: calc(var(--m) * 14.5); max-width: 17em; }
  .kpf-hero__script { left: calc(var(--m) * 26); top: calc(var(--m) * 220); font-size: calc(var(--m) * 30); transform: rotate(-12deg); }
  .kpf-hero__script span:nth-child(2) { display: inline; } .kpf-hero__script span:nth-child(1) { display: inline; margin-right: .2em; }
  .kpf-hero__img { position: relative; height: calc(var(--m) * 330); margin-top: calc(var(--m) * -30); }
  .kpf-hero__img img { -webkit-mask: linear-gradient(180deg, transparent 0%, #000 30%); mask: linear-gradient(180deg, transparent 0%, #000 30%); }
  .kpf-hero__side { right: calc(var(--m) * 20); top: calc(var(--m) * 330); color: #3A2C1C; text-shadow: none; font-size: calc(var(--m) * 8.5); }
  .kpf-hero__vl { right: calc(var(--m) * 42); top: calc(var(--m) * 420); height: calc(var(--m) * 60); background: var(--kline); }
  .kpf-filter { flex-direction: column; align-items: stretch; gap: calc(var(--m) * 16); padding: calc(var(--m) * 22) 0 calc(var(--m) * 16) calc(var(--m) * 20) !important; }
  .kpf-filter__row { flex-direction: column; align-items: flex-start; gap: calc(var(--m) * 12); }
  .kpf-filter__label { font-size: calc(var(--m) * 10.5); }
  .kpf-pills { overflow-x: auto; max-width: 100%; padding-right: calc(var(--m) * 20); scrollbar-width: none; gap: calc(var(--m) * 8); }
  .kpf-pills::-webkit-scrollbar { display: none; }
  .kpf-pills .ktpill { flex: none; height: calc(var(--m) * 40); padding: 0 calc(var(--m) * 20); font-size: calc(var(--m) * 14); }
  .kpf-grid-wrap { padding: 0 calc(var(--m) * 18) calc(var(--m) * 28) !important; gap: calc(var(--m) * 20); }
  .kpf-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: calc(var(--m) * 205); gap: calc(var(--m) * 8); }
  .kpf-tile small { font-size: calc(var(--m) * 8); } .kpf-tile b { font-size: calc(var(--m) * 19); }
  .kpf-load { height: calc(var(--m) * 52); padding: 0 calc(var(--m) * 60); font-size: calc(var(--m) * 12); }
  .kpf-videos { padding: 0 calc(var(--m) * 18) calc(var(--m) * 30) !important; }
  .kpf-videos > .kk { margin-bottom: calc(var(--m) * 14); }
  .kpf-videos__row { grid-template-columns: 1fr; grid-auto-rows: calc(var(--m) * 260); gap: calc(var(--m) * 10); }
  .kpf-video__play { width: calc(var(--m) * 58); height: calc(var(--m) * 58); }
  .kpf-video figcaption { font-size: calc(var(--m) * 20); left: calc(var(--m) * 14); bottom: calc(var(--m) * 16); }
  .kpf-mtile { height: calc(var(--m) * 260); }
  .kpf-mtile figcaption { left: 50%; top: calc(var(--m) * 26); font-size: calc(var(--m) * 11); }
}
@media (min-width: 1081px) {
  .kpf-videos__row { grid-template-columns: 1fr 1.6fr calc(var(--k) * 360); grid-auto-rows: calc(var(--k) * 250); }
  .kpf-mtile { grid-column: auto; grid-row: auto; }
  .kpf-video--wide { grid-column: auto; }
}
@media (max-width: 1080px) {
  .kpf-filter, .kpf-filter__row { min-width: 0; width: 100%; }
  .kpf-pills { width: 100%; box-sizing: border-box; }
  .kpf-hero__script { top: calc(var(--m) * 196); }
  .kpf-hero__line { margin-top: calc(var(--m) * 104); }
}

@media (max-width: 1080px) { .kpf-hero__script { left: calc(var(--m) * 200); top: calc(var(--m) * 178); font-size: calc(var(--m) * 26); } .kpf-hero__line { margin-top: calc(var(--m) * 118); } }

@media (max-width: 1080px) { .p-portfolio main section.kpf-hero { padding-top: calc(var(--m) * 104) !important; } .kpf-hero__script { top: calc(var(--m) * 236); } }

/* фишки на профиле: декор ребёнка и шахматная партия в новом концепте */
.kp-hero .deco { z-index: 0; top: 6%; right: 3%; left: auto; width: min(40vw, 540px); color: #A5834F; opacity: .3; }
.kp-hero .deco--dariya { right: 2%; }
.kp-hero__txt, .kp-hero__arch, .kp-hero__deco { z-index: 1; }
.sax-on .kp-hero .deco { opacity: .55; transition: opacity .8s; }
.sax-on .deco--antar .float { animation-duration: 1.4s; }
.kh__bg img, .kp-hero__arch img { transition: translate .9s var(--ease-out); }
.kp-hero .deco, .kshan { transition: translate 1.1s var(--ease-out); }
.chess { padding-block: clamp(56px, 6vw, 96px) !important; }
.chess .eyebrow, .chess__steps small { color: #C9A86A; font-family: var(--serif); font-weight: 600; letter-spacing: .3em; }
.chess .h2 { font: italic 400 clamp(34px, 3.4vw, 50px)/1.1 var(--serif); }
.chess__steps b { font-family: var(--serif); }
.chess__steps p { font: 500 16px/1.5 var(--serif); color: rgba(255, 255, 255, .78); }
@media (max-width: 1080px) { .kp-hero .deco { display: none; } .chess__in { grid-template-columns: 1fr; } }

@media (max-width: 1080px) { .kthero__img img { object-position: 66% 50%; } .kthero__img::after { background: linear-gradient(180deg, #F1EBE2 0%, rgba(241, 235, 226, 0) 30%, rgba(241, 235, 226, 0) 85%, #F1EBE2 100%); } }
.kthero__img picture { display: block; width: 100%; height: 100%; }
@media (max-width: 1080px) {
  .kthero { height: calc(var(--m) * 900); }
  .kthero__img { top: calc(var(--m) * 330); height: calc(var(--m) * 570); }
  .kthero__img img { object-position: 50% 78%; }
  .kthero__img::after { background: linear-gradient(180deg, #F1EBE2 0%, rgba(241, 235, 226, 0) 26%, rgba(241, 235, 226, 0) 88%, #F1EBE2 100%); }
}

/* ======================= блок семьи v3: триптих арок на видео ======================= */
.p-talents main section.kfam { position: relative; overflow: hidden; isolation: isolate; color: #F6F1E8; background: #14110D; font-family: var(--serif); }
.kfam__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; filter: saturate(.8) brightness(.7); }
.kfam__veil { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(16, 12, 8, .92) 0%, rgba(16, 12, 8, .72) 38%, rgba(16, 12, 8, .35) 70%, rgba(16, 12, 8, .55) 100%), linear-gradient(0deg, rgba(16, 12, 8, .6), transparent 40%); }
.kfam__h { margin: 14px 0 0; font: 400 clamp(40px, 4.4vw, 64px)/1 var(--serif); color: #fff; }
.kfam__h em { color: #D9B77A; }
.kfam__p { margin: 18px 0 0; font: 500 16px/1.5 var(--serif); color: rgba(246, 241, 232, .82); max-width: 30em; }
.kfam__stats { display: flex; gap: clamp(22px, 3vw, 44px); margin: 30px 0 0; padding: 0; list-style: none; }
.kfam__stats li { display: flex; flex-direction: column; gap: 6px; padding-left: 18px; border-left: 1px solid rgba(217, 183, 122, .45); }
.kfam__stats li:first-child { padding-left: 0; border: 0; }
.kfam__stats b { font: 400 clamp(38px, 3.6vw, 54px)/1 var(--serif); color: #D9B77A; }
.kfam__stats span { font: 600 10px/1.3 var(--serif); letter-spacing: .24em; text-transform: uppercase; color: rgba(246, 241, 232, .75); }
.kfam__cities { margin: 18px 0 0; font: italic 500 15px/1 var(--serif); color: rgba(246, 241, 232, .6); letter-spacing: .04em; }
.kfam__btn { margin-top: 28px; height: 48px; padding: 0 30px; font-size: 12px; }
.kfam__stage { position: relative; }
.kfam__thread { position: absolute; left: 0; right: 0; top: -6px; width: 100%; height: 60px; overflow: visible; pointer-events: none; }
.kfam__thread path { fill: none; stroke: #D9B77A; stroke-width: 1.2; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 2.6s var(--ease-out); }
.kfam.is-in .kfam__thread path { stroke-dashoffset: 0; }
.kfam__row { display: flex; gap: 14px; align-items: flex-end; }
.kfam__kid { position: relative; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; color: #fff; transition: flex-grow .8s var(--ease-out), opacity .6s, transform 1s var(--ease-out); opacity: 0; transform: translateY(40px); }
.kfam.is-in .kfam__kid { opacity: 1; transform: none; transition-delay: calc(var(--i) * .15s + .2s), calc(var(--i) * .15s + .2s), calc(var(--i) * .15s + .2s); }
.kfam__arch { position: relative; display: block; overflow: hidden; border-radius: 999px 999px 0 0; aspect-ratio: 3 / 5; background: #221C15; box-shadow: 0 0 0 1px rgba(217, 183, 122, .35), 0 30px 60px -30px rgba(0, 0, 0, .8); }
.kfam__arch img { width: 100%; height: 100%; object-fit: cover; filter: sepia(.15) saturate(.9) brightness(.92); transition: transform 1.2s var(--ease-out), filter .8s; }
.kfam__arch::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(10, 8, 5, .75)); }
.kfam__cap { position: absolute; left: 0; right: 0; bottom: 18px; z-index: 1; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 0 8px; }
.kfam__cap b { font: 500 clamp(18px, 1.7vw, 24px)/1 var(--serif); letter-spacing: .08em; text-transform: uppercase; }
.kfam__cap small { font: 600 9.5px/1.3 var(--serif); letter-spacing: .18em; text-transform: uppercase; color: #D9B77A; max-height: 0; opacity: 0; overflow: hidden; transition: max-height .6s, opacity .6s; }
@media (hover: hover) {
  .kfam__row:hover .kfam__kid { flex-grow: .8; }
  .kfam__row .kfam__kid:hover { flex-grow: 1.7; }
  .kfam__kid:hover .kfam__arch img { transform: scale(1.06); filter: sepia(.05) saturate(1) brightness(1); }
  .kfam__kid:hover .kfam__cap small { max-height: 3em; opacity: 1; }
}
.kfam__arch--empty { background: transparent; box-shadow: none; border: 1px dashed rgba(217, 183, 122, .7); display: grid; place-items: center; }
.kfam__arch--empty::after { display: none; }
.kfam__arch--empty .kheart { width: 54px; height: 54px; color: #D9B77A; }
.kfam__plus { position: absolute; top: 22%; font: 300 clamp(34px, 3vw, 48px)/1 var(--serif); color: #D9B77A; }
.kfam__kid--plus .kfam__cap b { font-size: 13px; letter-spacing: .12em; color: #D9B77A; }
.kfam__kid--plus.is-born .kfam__arch--empty { border-style: solid; background: radial-gradient(circle at 50% 50%, rgba(217, 183, 122, .25), transparent 70%); }
.kfam__hint { margin: 16px 0 0; text-align: center; font: italic 500 13px/1 var(--serif); color: rgba(246, 241, 232, .5); }
.kfam__script { position: absolute; margin: 0; font: 400 clamp(34px, 3.4vw, 52px)/.85 var(--script); color: #D9B77A; transform: rotate(-12deg); pointer-events: none; opacity: .9; }
.kfam__script span { display: block; } .kfam__script span + span { padding-left: 1.2em; }
@media (min-width: 1081px) {
  .p-talents main section.kfam { display: grid; grid-template-columns: calc(var(--k) * 440) 1fr; gap: calc(var(--k) * 60); align-items: center; padding: calc(var(--k) * 90) calc(var(--k) * 70) calc(var(--k) * 80) calc(var(--k) * 86); }
  .kfam__script { right: calc(var(--k) * 60); top: calc(var(--k) * 40); }
}
@media (max-width: 1080px) {
  .p-talents main section.kfam { padding: 56px 0 48px; }
  .kfam__head { padding: 0 24px; }
  .kfam__stats { gap: 18px; }
  .kfam__stage { margin-top: 36px; }
  .kfam__row { overflow-x: auto; scroll-snap-type: x mandatory; padding: 26px 24px 4px; scrollbar-width: none; gap: 12px; }
  .kfam__row::-webkit-scrollbar { display: none; }
  .kfam__kid { flex: 0 0 62%; scroll-snap-align: center; }
  .kfam__cap small { max-height: 3em; opacity: 1; }
  .kfam__thread { top: 10px; }
  .kfam__hint { display: none; }
  .kfam__script { right: 18px; top: 26px; font-size: 32px; }
  .kfam__veil { background: linear-gradient(180deg, rgba(16, 12, 8, .9) 0%, rgba(16, 12, 8, .7) 55%, rgba(16, 12, 8, .5) 100%); }
}
@media (prefers-reduced-motion: reduce) { .kfam__kid { opacity: 1; transform: none; } .kfam__thread path { stroke-dashoffset: 0; } }
@media (min-width: 1081px) {
  .kfam__row { height: calc(var(--k) * 340); align-items: stretch; }
  .kfam__kid { height: 100%; }
  .kfam__arch { aspect-ratio: auto; height: 100%; }
}
.kfam__plus { top: 14%; }

/* ======================= профиль: раздел видео ======================= */
.p-talents main section.kp-video { position: relative; overflow: hidden; isolation: isolate; background: #15110D; color: #F6F1E8; font-family: var(--serif); display: grid; align-items: center; }
.kp-video::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 80% at 70% 50%, rgba(217, 183, 122, .12), transparent 70%); }
.kp-video__h { margin: 12px 0 0; font: italic 400 clamp(34px, 3.4vw, 50px)/1.05 var(--serif); color: #fff; }
.kp-video__script { margin: 18px 0 0; font: 400 clamp(28px, 2.6vw, 40px)/.85 var(--script); color: #D9B77A; transform: rotate(-8deg); transform-origin: 0 50%; }
.kp-video__script span { display: block; } .kp-video__script span + span { padding-left: 1.2em; }
.kpv { position: relative; margin: 0; overflow: hidden; border-radius: 4px; box-shadow: 0 0 0 1px rgba(217, 183, 122, .3), 0 40px 80px -40px rgba(0, 0, 0, .9); }
.kpv__blur { position: absolute; inset: -8%; width: 116%; height: 116%; object-fit: cover; filter: blur(28px) brightness(.55) saturate(1.1); z-index: 0; }
.kpv__frame { position: relative; z-index: 1; margin: 0 auto; height: 100%; }
.kpv--vertical .kpv__frame { aspect-ratio: 9 / 16; border-radius: 999px 999px 0 0; overflow: hidden; box-shadow: 0 0 0 1px rgba(217, 183, 122, .55), 0 30px 60px -30px rgba(0, 0, 0, .9); }
.kpv__main { display: block; width: 100%; height: 100%; object-fit: cover; }
.kpv__play { position: absolute; left: 50%; top: 50%; width: 76px; height: 76px; transform: translate(-50%, -50%); display: grid; place-items: center; border-radius: 50%; border: 1.5px solid #fff; background: rgba(0, 0, 0, .25); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); cursor: pointer; transition: transform .4s var(--ease-out), background .4s; }
.kpv__play::before { content: ''; position: absolute; inset: -12px; border-radius: 50%; border: 1px solid rgba(217, 183, 122, .6); animation: kripple 2.2s ease-out infinite; }
.kpv__play svg { width: 26%; margin-left: 8%; fill: #fff; }
.kpv__play:hover { transform: translate(-50%, -50%) scale(1.08); background: linear-gradient(100deg, #83633A, #A5834F); border-color: transparent; }
.kpv.is-playing .kpv__play { opacity: 0; pointer-events: none; }
.kpv__cap { position: absolute; z-index: 2; left: 24px; bottom: 20px; display: flex; flex-direction: column; gap: 4px; }
.kpv__cap b { font: 500 22px/1 var(--serif); color: #fff; }
.kpv__cap span { font: 600 10px/1.3 var(--serif); letter-spacing: .22em; text-transform: uppercase; color: #D9B77A; }
.kpv__cap small { font: 500 12px/1 var(--serif); color: rgba(255, 255, 255, .6); }
.kpv-req { position: relative; overflow: hidden; border-radius: 4px; min-height: 340px; display: grid; align-items: center; box-shadow: 0 0 0 1px rgba(217, 183, 122, .3); }
.kpv-req img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: blur(3px) brightness(.45) sepia(.2); transform: scale(1.05); }
.kpv-req__in { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 40px clamp(24px, 4vw, 56px); max-width: 520px; }
.kpv-req__icon { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; border: 1px solid rgba(217, 183, 122, .7); }
.kpv-req__icon svg { width: 26%; margin-left: 8%; fill: #D9B77A; }
.kpv-req h3 { margin: 6px 0 0; font: 400 clamp(28px, 2.6vw, 38px)/1.1 var(--serif); color: #fff; }
.kpv-req p { margin: 0; font: 500 16px/1.5 var(--serif); color: rgba(246, 241, 232, .8); }
/* ---- записи выступлений с YouTube: три вертикальных экрана, iframe подгружается только по клику ---- */
.kpv-yt { display: grid; gap: 18px; }
.kpv-yt__note { margin: 0; font: 500 13px/1.5 var(--serif); color: rgba(246, 241, 232, .55); }
.kpv-yt__note a { color: #D9B77A; }
.kpv--yt { height: auto; background: #0E0B08; }
.kpv--yt .kpv__frame { aspect-ratio: 9 / 16; border-radius: 4px 4px 0 0; overflow: hidden; }
.kpv--yt img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease-out), filter .6s; }
.kpv--yt:hover img { transform: scale(1.03); filter: brightness(1.05); }
.kpv--yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; z-index: 3; }
.kpv--yt .kpv__cap { left: 16px; bottom: 14px; }
.kpv--yt .kpv__cap b { font-size: 19px; }
.kpv--yt.is-playing .kpv__cap { opacity: 0; transition: opacity .3s; }

@media (min-width: 1081px) {
  .p-talents main section.kp-video { grid-template-columns: calc(var(--k) * 360) 1fr; gap: calc(var(--k) * 60); padding: calc(var(--k) * 70) calc(var(--k) * 70) calc(var(--k) * 70) calc(var(--k) * 86); }
  .kpv { height: calc(var(--k) * 520); }
  .kpv--vertical .kpv__frame { height: calc(100% - var(--k) * 60); margin-top: calc(var(--k) * 30); }
  .kpv-yt { grid-template-columns: repeat(3, 1fr); gap: calc(var(--k) * 22); }
  .kpv-yt__note { grid-column: 1 / -1; }
  .kpv--yt { height: auto; }
}
@media (max-width: 1080px) {
  .kpv-yt { grid-template-columns: 1fr 1fr; gap: 12px; }
  .kpv--yt { height: auto; }
  .kpv--yt .kpv__cap b { font-size: 16px; }
  .kpv--yt .kpv__play { width: 52px; height: 52px; }
}
@media (max-width: 560px) {
  .kpv-yt { grid-template-columns: 1fr; }
}
@media (max-width: 1080px) {
  .p-talents main section.kp-video { padding: 48px 20px; gap: 26px; }
  .kpv { height: 620px; }
  .kpv--vertical .kpv__frame { height: calc(100% - 90px); margin-top: 20px; }
  .kpv__play { width: 66px; height: 66px; }
}

/* ======================================================================
   ВАУ-ФИШКИ 15.09: карта, золотой билет, фотосессия, живая вода, casting card
   ====================================================================== */

/* ---------- 1. карта «From Zurich to the world» ---------- */
.p-home main section.kmap { position: relative; overflow: hidden; background: linear-gradient(180deg, #F3EEE6 0%, #EEE7DC 100%); font-family: var(--serif); color: var(--ktext); border-top: 1px solid rgba(143, 109, 67, .14); }
.kmap__h { margin: 14px 0 0; font: 400 clamp(36px, 3.6vw, 54px)/1.02 var(--serif); color: #0E0C0A; }
.kmap__h em { color: #8F6D43; }
.kmap__p { margin: 16px 0 0; font: 500 16px/1.5 var(--serif); color: #3A332C; max-width: 30em; }
.kmap__script { position: absolute; margin: 0; font: 400 clamp(30px, 2.8vw, 44px)/.85 var(--script); color: #8F6D43; transform: rotate(-12deg); pointer-events: none; }
.kmap__script span { display: block; } .kmap__script span:nth-child(2) { padding-left: .8em; } .kmap__script span:nth-child(3) { padding-left: 1.5em; }
.kmap__stage { position: relative; }
.kmap__canvas { position: relative; width: 100%; aspect-ratio: 1400 / 594; -webkit-mask: radial-gradient(120% 100% at 50% 50%, #000 62%, transparent 100%); mask: radial-gradient(120% 100% at 50% 50%, #000 62%, transparent 100%); }
.kmap__land { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.kmap__routes { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.kmap__ghost { fill: none; stroke: #8F6D43; stroke-width: 1.2; stroke-dasharray: 3 7; opacity: .45; vector-effect: non-scaling-stroke; }
.kmap__route { fill: none; stroke: url(#kmapGold); stroke-width: 2.6; stroke-linecap: round; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 6px rgba(201, 168, 106, .55)); }
.kmap__halo { fill: #D9B77A; opacity: .75; }
.kmap__dot { fill: #fff; stroke: #8F6D43; stroke-width: 2.5; }
.kmap__city { position: absolute; left: var(--x); top: var(--y); width: 0; height: 0; }
.kmap__pin { position: absolute; left: -7px; top: -7px; width: 14px; height: 14px; border-radius: 50%; background: #F3EEE6; border: 2px solid #A5834F; transition: background .5s, transform .6s var(--ease-out); }
.kmap__pin::after { content: ''; position: absolute; inset: -10px; border-radius: 50%; border: 1px solid #A5834F; opacity: 0; }
.kmap__city.is-on .kmap__pin { background: #8F6D43; transform: scale(1.25); }
.kmap__city.is-on .kmap__pin::after { animation: kpin 2.4s ease-out infinite; }
@keyframes kpin { 0% { opacity: .9; transform: scale(.6); } 100% { opacity: 0; transform: scale(2.6); } }
.kmap__card { position: absolute; left: 0; bottom: 22px; transform: translate(-50%, 12px); min-width: 190px; padding: 12px 16px 13px; background: rgba(251, 249, 245, .94); border: 1px solid rgba(143, 109, 67, .35); box-shadow: 0 20px 40px -24px rgba(60, 40, 20, .5); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); opacity: 0; pointer-events: none; transition: opacity .6s, transform .7s var(--ease-out); white-space: nowrap; }
.kmap__card::after { content: ''; position: absolute; left: 50%; bottom: -7px; width: 12px; height: 12px; background: inherit; border-right: 1px solid rgba(143, 109, 67, .35); border-bottom: 1px solid rgba(143, 109, 67, .35); transform: translateX(-50%) rotate(45deg); }
.kmap__card small { display: block; font: 600 9px/1 var(--serif); letter-spacing: .24em; text-transform: uppercase; color: #8F6D43; }
.kmap__card b { display: block; margin-top: 6px; font: 500 22px/1 var(--serif); color: #0E0C0A; }
.kmap__card span { display: block; margin-top: 5px; font: 500 13px/1.3 var(--serif); color: #4A4036; }
.kmap__city.is-on .kmap__card { opacity: 1; transform: translate(-50%, 0); }
.kmap__city--newyork .kmap__card, .kmap__city--zurich .kmap__card { bottom: auto; top: 22px; transform: translate(-50%, -12px); }
.kmap__city--newyork.is-on .kmap__card, .kmap__city--zurich.is-on .kmap__card { transform: translate(-50%, 0); }
.kmap__city--newyork .kmap__card::after, .kmap__city--zurich .kmap__card::after { bottom: auto; top: -7px; transform: translateX(-50%) rotate(225deg); }
.kmap__city--london .kmap__card { transform: translate(-80%, 12px); } .kmap__city--london.is-on .kmap__card { transform: translate(-80%, 0); } .kmap__city--london .kmap__card::after { left: 80%; }
.kmap__city--vienna .kmap__card { transform: translate(-22%, 12px); } .kmap__city--vienna.is-on .kmap__card { transform: translate(-22%, 0); } .kmap__city--vienna .kmap__card::after { left: 22%; }
.kmap__city--boston .kmap__card { transform: translate(-30%, 12px); } .kmap__city--boston.is-on .kmap__card { transform: translate(-30%, 0); } .kmap__city--boston .kmap__card::after { left: 30%; }
.kmap__city.is-past:not(.is-on) .kmap__card { opacity: 0; }
.kmap__list { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(143, 109, 67, .25); }
.kmap__list li { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 16px 14px 4px; color: #8B7B66; transition: color .5s; }
.kmap__list li::before { content: ''; position: absolute; left: 0; right: 100%; top: -1px; height: 2px; background: #8F6D43; transition: right .8s var(--ease-out); }
.kmap__list li.is-done { color: #1F1A15; } .kmap__list li.is-done::before { right: 0; }
.kmap__list i { font: normal 600 10px/1 var(--serif); letter-spacing: .2em; color: #8F6D43; }
.kmap__list b { font: 500 20px/1.1 var(--serif); }
.kmap__list span { font: 500 13px/1.35 var(--serif); }
@media (min-width: 1081px) {
  .p-home main section.kmap { padding: calc(var(--k) * 80) calc(var(--k) * 70) calc(var(--k) * 60) !important; }
  .kmap__head { margin-left: calc(var(--k) * 112); }
  .kmap__script { right: calc(var(--k) * 120); top: calc(var(--k) * 70); }
  .kmap__stage { margin-top: calc(var(--k) * 10); }
  .kmap__list { margin: 10px calc(var(--k) * 40) 0; }
}
@media (max-width: 1080px) {
  .p-home main section.kmap { order: 4; padding: 44px 0 36px !important; }
  .kmap__head { padding: 0 24px; }
  .kmap__script { right: 18px; top: 40px; font-size: 26px; }
  .kmap__stage { margin: 18px 0 0; overflow: hidden; }
  .kmap__canvas { width: 180%; margin-left: -40%; }
  .kmap__card { display: none; }
  .kmap__list { grid-template-columns: 1fr; margin: 6px 24px 0; border-top: 0; }
  .kmap__list li { flex-direction: row; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; padding: 12px 0 12px 16px; border-left: 1px solid rgba(143, 109, 67, .25); }
  .kmap__list li::before { left: -1px; right: auto; top: 0; bottom: 100%; width: 2px; height: auto; transition: bottom .8s var(--ease-out); }
  .kmap__list li.is-done::before { bottom: 0; }
  .kmap__list span { flex-basis: 100%; }
  .p-home main > .kvalues { order: 5; } .p-home main > .kcards { order: 3; }
}

/* ---------- 2. золотой билет Антара ---------- */
.p-talents main section.kticket { position: relative; overflow: hidden; isolation: isolate; display: grid; align-items: center; background: #0F0C09; color: #F6F1E8; font-family: var(--serif); }
.kticket::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(50% 70% at 72% 40%, rgba(217, 183, 122, .22), transparent 70%), radial-gradient(40% 50% at 10% 100%, rgba(143, 109, 67, .18), transparent 70%); }
.kticket__h { margin: 14px 0 0; font: 400 clamp(40px, 4vw, 60px)/1 var(--serif); color: #fff; }
.kticket__h em { background: linear-gradient(100deg, #E9CF94, #A5834F 45%, #F3DDA8 70%, #A5834F); -webkit-background-clip: text; background-clip: text; color: transparent; }
.kticket__p { margin: 16px 0 0; font: 500 16px/1.5 var(--serif); color: rgba(246, 241, 232, .78); max-width: 26em; }
.kticket__count { display: flex; gap: 12px; margin: 30px 0 28px; }
.kticket__count div { display: flex; flex-direction: column; align-items: center; gap: 8px; min-width: 70px; }
.kticket__count b { display: block; width: 100%; padding: 12px 0 10px; text-align: center; font: 400 38px/1 var(--serif); color: #E9CF94; background: linear-gradient(180deg, #221B13 0 50%, #1A140E 50% 100%); border: 1px solid rgba(217, 183, 122, .3); border-radius: 4px; font-variant-numeric: tabular-nums; }
.kticket__count b.is-flip { animation: kflip .5s var(--ease-out); }
@keyframes kflip { 0% { transform: rotateX(0); } 50% { transform: rotateX(-90deg); } 100% { transform: rotateX(0); } }
.kticket__count span { font: 600 9.5px/1 var(--serif); letter-spacing: .24em; text-transform: uppercase; color: rgba(246, 241, 232, .55); }
.kticket__note { margin: 14px 0 0; font: italic 500 13px/1.4 var(--serif); color: rgba(246, 241, 232, .45); }
.kticket__wrap { perspective: 1400px; }
.kticket__card { --rx: 0deg; --ry: 0deg; --mx: 50%; --my: 50%; position: relative; display: flex; transform: rotateX(var(--rx)) rotateY(var(--ry)) rotate(-3deg); transform-style: preserve-3d; transition: transform .6s var(--ease-out); filter: drop-shadow(0 40px 50px rgba(0, 0, 0, .7)); }
.kticket__card.is-hover { transition: transform .08s linear; }
.kticket__main, .kticket__stub { position: relative; background: linear-gradient(135deg, #16110C 0%, #231A11 55%, #120E0A 100%); }
.kticket__main { flex: 1; padding: 30px 34px; overflow: hidden; border-radius: 10px 0 0 10px; -webkit-mask: radial-gradient(circle 14px at 100% 0, transparent 13px, #000 14px) top right / 51% 51% no-repeat, radial-gradient(circle 14px at 100% 100%, transparent 13px, #000 14px) bottom right / 51% 51% no-repeat, linear-gradient(#000, #000) left / 50% 100% no-repeat; mask: radial-gradient(circle 14px at 100% 0, transparent 13px, #000 14px) top right / 51% 51% no-repeat, radial-gradient(circle 14px at 100% 100%, transparent 13px, #000 14px) bottom right / 51% 51% no-repeat, linear-gradient(#000, #000) left / 50% 100% no-repeat; }
.kticket__main::before { content: ''; position: absolute; inset: 10px; border: 1px solid rgba(217, 183, 122, .45); border-radius: 6px; pointer-events: none; }
.kticket__foil { position: absolute; inset: 0; background: radial-gradient(280px circle at var(--mx) var(--my), rgba(255, 230, 170, .22), transparent 60%), linear-gradient(115deg, transparent 30%, rgba(255, 235, 190, .12) 45%, transparent 60%); mix-blend-mode: screen; pointer-events: none; }
.kticket__admit { margin: 0; font: 600 10px/1 var(--serif); letter-spacing: .34em; text-transform: uppercase; color: #C9A86A; }
.kticket__venue { margin: 18px 0 0; font: 500 clamp(40px, 4vw, 58px)/.95 var(--serif); background: linear-gradient(100deg, #F3DDA8 0%, #A5834F 40%, #F6E4B8 60%, #8F6D43 100%); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: ksheen 6s ease-in-out infinite; }
@keyframes ksheen { 0%, 100% { background-position: 0 0; } 50% { background-position: 100% 0; } }
.kticket__city { margin: 6px 0 0; font: italic 400 22px/1 var(--serif); color: #E9CF94; }
.kticket__row { display: flex; gap: 26px; margin-top: 28px; padding-top: 16px; border-top: 1px dashed rgba(217, 183, 122, .35); }
.kticket__row small { display: block; font: 600 9px/1 var(--serif); letter-spacing: .22em; text-transform: uppercase; color: rgba(233, 207, 148, .6); }
.kticket__row b { display: block; margin-top: 6px; font: 500 17px/1 var(--serif); color: #F6F1E8; }
.kticket__orn { position: absolute; right: 26px; top: 24px; width: 64px; color: rgba(217, 183, 122, .5); }
.kticket__stub { width: 118px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 30px 0; border-radius: 0 10px 10px 0; border-left: 2px dashed rgba(217, 183, 122, .4); -webkit-mask: radial-gradient(circle 14px at 0 0, transparent 13px, #000 14px) top left / 51% 51% no-repeat, radial-gradient(circle 14px at 0 100%, transparent 13px, #000 14px) bottom left / 51% 51% no-repeat, linear-gradient(#000, #000) right / 50% 100% no-repeat; mask: radial-gradient(circle 14px at 0 0, transparent 13px, #000 14px) top left / 51% 51% no-repeat, radial-gradient(circle 14px at 0 100%, transparent 13px, #000 14px) bottom left / 51% 51% no-repeat, linear-gradient(#000, #000) right / 50% 100% no-repeat; }
.kticket__stub p { margin: 0; writing-mode: vertical-rl; transform: rotate(180deg); font: 600 10px/1 var(--serif); letter-spacing: .3em; text-transform: uppercase; color: #C9A86A; }
.kticket__bars { display: block; width: 46px; height: 120px; background: repeating-linear-gradient(0deg, #C9A86A 0 2px, transparent 2px 4px, #C9A86A 4px 5px, transparent 5px 8px, #C9A86A 8px 11px, transparent 11px 13px); opacity: .75; }
.kticket__no { color: rgba(233, 207, 148, .6) !important; }
@media (min-width: 1081px) {
  .p-talents main section.kticket { grid-template-columns: 1fr calc(var(--k) * 600); gap: calc(var(--k) * 60); padding: calc(var(--k) * 90) calc(var(--k) * 110) calc(var(--k) * 90) calc(var(--k) * 86); }
}
@media (max-width: 1080px) {
  .p-talents main section.kticket { padding: 56px 20px; gap: 40px; }
  .kticket__count { gap: 8px; } .kticket__count div { min-width: 0; flex: 1; } .kticket__count b { font-size: 30px; }
  .kticket__wrap { order: -1; }
  .kticket__main { padding: 24px 20px; } .kticket__stub { width: 70px; } .kticket__bars { width: 30px; height: 90px; }
  .kticket__orn { width: 44px; right: 16px; top: 18px; }
  .kticket__row { gap: 14px; flex-wrap: wrap; }
}

/* ---------- 3. фотосессия Дарии: плёнка, проявка, вспышка ---------- */
.kp-grid--film .kp-tile { padding: 16px 0; background: #121010; border-radius: 2px; }
.kp-grid--film .kp-tile::before, .kp-grid--film .kp-tile::after { content: ''; position: absolute; left: 0; right: 0; height: 16px; z-index: 2; pointer-events: none; background: repeating-linear-gradient(90deg, transparent 0 9px, #E9E1D2 9px 17px, transparent 17px 26px); -webkit-mask: linear-gradient(#000, #000) center / 100% 7px no-repeat; mask: linear-gradient(#000, #000) center / 100% 7px no-repeat; opacity: .9; }
.kp-grid--film .kp-tile::before { top: 0; } .kp-grid--film .kp-tile::after { bottom: 0; }
.kp-grid--film .kp-tile img { filter: brightness(2.4) sepia(.7) contrast(.55) blur(5px); transform: scale(1.04); transition: filter 1.9s cubic-bezier(.2, .7, .2, 1), transform 1.2s var(--ease-out); }
.kp-grid--film .kp-tile.is-dev img { filter: sepia(.06) saturate(.96); transform: none; }
.kp-grid--film .kp-tile.is-dev:hover img { transform: scale(1.04); }
.kfilm__label { position: absolute; z-index: 3; left: 8px; bottom: 2px; font: 600 8px/14px "Courier New", monospace; letter-spacing: .14em; color: #E3A33A; pointer-events: none; }
.kfilm__flash { position: absolute; inset: 16px 0; z-index: 3; pointer-events: none; background: radial-gradient(circle at 50% 45%, #fff 0%, rgba(255, 255, 255, .85) 30%, rgba(255, 255, 255, 0) 75%); opacity: 0; }
.kp-tile.is-flash .kfilm__flash { animation: kflash .65s ease-out; }
@keyframes kflash { 0% { opacity: 0; } 12% { opacity: .95; } 100% { opacity: 0; } }
.kfilm__frame { position: absolute; inset: 30px 14px; z-index: 3; pointer-events: none; opacity: 0; transform: scale(1.12); transition: opacity .35s, transform .5s var(--ease-out); background: linear-gradient(#fff, #fff) 0 0 / 22px 1.5px, linear-gradient(#fff, #fff) 0 0 / 1.5px 22px, linear-gradient(#fff, #fff) 100% 0 / 22px 1.5px, linear-gradient(#fff, #fff) 100% 0 / 1.5px 22px, linear-gradient(#fff, #fff) 0 100% / 22px 1.5px, linear-gradient(#fff, #fff) 0 100% / 1.5px 22px, linear-gradient(#fff, #fff) 100% 100% / 22px 1.5px, linear-gradient(#fff, #fff) 100% 100% / 1.5px 22px; background-repeat: no-repeat; }
.kfilm__frame::after { content: ''; position: absolute; left: 50%; top: 50%; width: 14px; height: 14px; margin: -7px; border: 1.5px solid #fff; border-radius: 50%; }
.kp-tile:hover .kfilm__frame { opacity: .9; transform: none; }
@media (prefers-reduced-motion: reduce) { .kp-grid--film .kp-tile img { filter: none; transform: none; } }

/* ---------- 4. живая вода Абрахама ---------- */
.kwater__canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; touch-action: pan-y; cursor: crosshair; }
.kwater__hint { position: absolute; z-index: 2; left: 50%; bottom: 20px; transform: translateX(-50%); padding: 8px 16px; border-radius: 999px; background: rgba(15, 12, 9, .45); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); font: 600 10px/1 var(--serif); letter-spacing: .24em; text-transform: uppercase; color: #fff; white-space: nowrap; pointer-events: none; transition: opacity .8s; }
[data-kwater].is-touched .kwater__hint { opacity: 0; }

/* ---------- 5. casting card ---------- */
.kp-hero__links { display: flex; align-items: center; gap: calc(var(--k) * 26); margin-top: calc(var(--k) * 22); flex-wrap: wrap; }
.kp-hero__links .kp-hero__comp { margin-top: 0; }
.kcast-open { display: inline-flex; align-items: center; gap: 10px; padding: 0 0 4px; border: 0; border-bottom: 1px solid currentColor; background: none; font: 600 calc(var(--k) * 11.5)/1 var(--serif); letter-spacing: .2em; text-transform: uppercase; color: #8F6D43; cursor: pointer; }
.kcast-open__ico { position: relative; width: 16px; height: 12px; }
.kcast-open__ico i { position: absolute; width: 11px; height: 8px; border: 1.3px solid currentColor; border-radius: 1px; background: #F3EEE6; }
.kcast-open__ico i:first-child { left: 0; top: 0; } .kcast-open__ico i + i { left: 5px; top: 4px; }
.kcast { width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: transparent; perspective: 1800px; overflow: hidden; }
.kcast::backdrop { background: rgba(15, 12, 9, 0); backdrop-filter: blur(0); transition: background .5s, backdrop-filter .5s; }
.kcast.is-open::backdrop { background: rgba(15, 12, 9, .72); backdrop-filter: blur(8px); }
.kcast__card { position: absolute; left: 50%; top: 50%; width: min(1120px, 94vw); max-height: 92vh; overflow: auto; display: grid; grid-template-columns: 42% 1fr; background: #FBF9F5; border-radius: 6px; box-shadow: 0 60px 120px -40px rgba(0, 0, 0, .7); transform-origin: 0 50%; transform: translate(-50%, -50%) rotateY(-78deg); opacity: 0; transition: transform .9s cubic-bezier(.2, .8, .2, 1), opacity .5s; font-family: var(--serif); color: #1F1A15; }
.kcast.is-open .kcast__card { transform: translate(-50%, -50%) rotateY(0); opacity: 1; }
.kcast.is-closing .kcast__card { transform: translate(-50%, -50%) rotateY(78deg); transform-origin: 100% 50%; opacity: 0; transition: transform .5s ease-in, opacity .45s; }
.kcast__x { position: absolute; z-index: 3; right: 16px; top: 16px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(27, 23, 20, .2); background: rgba(251, 249, 245, .9); cursor: pointer; }
.kcast__x i { position: absolute; left: 13px; top: 21px; width: 17px; height: 1.5px; background: #1B1714; transform: rotate(45deg); } .kcast__x i + i { transform: rotate(-45deg); }
.kcast__photo { position: relative; margin: 0; min-height: 100%; }
.kcast__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; }
.kcast__photo figcaption { position: absolute; left: 18px; bottom: 16px; font: 600 9.5px/1 var(--serif); letter-spacing: .24em; text-transform: uppercase; color: #fff; text-shadow: 0 1px 8px rgba(0, 0, 0, .5); }
.kcast__body { padding: 44px 44px 34px; }
.kcast__body > * { opacity: 0; transform: translateY(10px); transition: opacity .5s, transform .6s var(--ease-out); }
.kcast.is-open .kcast__body > * { opacity: 1; transform: none; }
.kcast.is-open .kcast__body > :nth-child(n) { transition-delay: calc(.35s + .03s * var(--n, 0)); }
.kcast__name { margin: 10px 0 0; font: 500 clamp(44px, 4.4vw, 66px)/.95 var(--serif); letter-spacing: .04em; text-transform: uppercase; color: #0E0C0A; }
.kcast__disc { margin: 8px 0 0; font: 600 11px/1.3 var(--serif); letter-spacing: .2em; text-transform: uppercase; color: #8F6D43; }
.kcast__facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 14px 18px; margin: 26px 0 0; padding: 18px 0; border-top: 1px solid rgba(143, 109, 67, .25); border-bottom: 1px solid rgba(143, 109, 67, .25); }
.kcast__facts dt { font: 600 9.5px/1 var(--serif); letter-spacing: .18em; text-transform: uppercase; color: #8B7B66; }
.kcast__facts dd { margin: 6px 0 0; font: 500 17px/1.25 var(--serif); }
.kcast__body h3 { margin: 22px 0 8px; font: 600 10px/1 var(--serif); letter-spacing: .24em; text-transform: uppercase; color: #8F6D43; }
.kcast__body ul { margin: 0; padding: 0 0 0 16px; font: 500 15px/1.5 var(--serif); }
.kcast__skills { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 !important; list-style: none; }
.kcast__skills li { padding: 5px 12px; border: 1px solid rgba(143, 109, 67, .35); border-radius: 999px; font-size: 13.5px; }
.kcast__avail { margin: 0; font: 500 15px/1.5 var(--serif); }
.kcast__strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: 22px; }
.kcast__strip img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.kcast__acts { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 26px; }
.kcast__acts .kbtn { height: 46px; padding: 0 24px; font-size: 11.5px; }
.kcast__wa { font: 600 11.5px/1 var(--serif); letter-spacing: .18em; text-transform: uppercase; color: #1B1714; border-bottom: 1px solid currentColor; padding-bottom: 3px; }
@media (max-width: 1080px) {
  .kp-hero__links { justify-content: center; gap: 22px; margin-top: 24px; }
  .kcast-open { font-size: 13px; }
  .kcast__card { grid-template-columns: 1fr; width: 100vw; max-height: 100vh; height: 100vh; border-radius: 0; }
  .kcast__photo { min-height: 58vh; }
  .kcast__body { padding: 28px 22px 40px; }
}
.kmap__land { opacity: .8; }
.kmap__city--london .kmap__card { transform: translate(-50%, 12px); } .kmap__city--london.is-on .kmap__card { transform: translate(-50%, 0); } .kmap__city--london .kmap__card::after { left: 50%; }
.kmap__city--vienna .kmap__card { bottom: auto; top: 22px; transform: translate(-40%, -12px); } .kmap__city--vienna.is-on .kmap__card { transform: translate(-40%, 0); } .kmap__city--vienna .kmap__card::after { left: 40%; bottom: auto; top: -7px; transform: translateX(-50%) rotate(225deg); }
.kmap__city--zurich .kmap__card { transform: translate(-70%, -12px); } .kmap__city--zurich.is-on .kmap__card { transform: translate(-70%, 0); } .kmap__city--zurich .kmap__card::after { left: 70%; }
@media (max-width: 1080px) {
  .kmap__canvas { width: 100%; margin-left: 0; -webkit-mask: none; mask: none; }
  .kmap__pin { left: -5px; top: -5px; width: 10px; height: 10px; }
}

.kwater__canvas { mix-blend-mode: overlay; filter: blur(.6px); }

/* ======================================================================
   Гармонизация страниц About / News / Booking / Contact / Privacy под новый концепт
   (полная переверстка этих страниц — следующим шагом по макетам)
   ====================================================================== */
.p-about, .p-news, .p-booking, .p-contact, .p-privacy { background: var(--kc); }
:is(.p-about, .p-news, .p-booking, .p-contact, .p-privacy) main { font-family: var(--serif); color: var(--ktext); }
/* новая тёмная полоса вместо старой CTA на всех страницах; где своя полоса уже есть — старую не дублируем */
main:has(.ktband:not(.kcta)) > .kcta { display: none; }
.p-home main > .kcta { display: none; }
main > section.kcta { padding: 0; font-family: var(--serif); }
@media (min-width: 1081px) { main > section.kcta { height: calc(var(--k) * 110); padding: 0 calc(var(--k) * 122) 0 calc(var(--k) * 86) !important; } .kcta .ktband__h { margin-top: calc(var(--k) * 6); } .kcta .kbtn { height: calc(var(--k) * 42); padding: 0 calc(var(--k) * 34); font-size: calc(var(--k) * 11); } }
@media (max-width: 1080px) { main > section.kcta { padding: calc(var(--m) * 36) calc(var(--m) * 26) calc(var(--m) * 30) !important; } }

/* шапка страницы */
:is(.p-about, .p-news, .p-booking, .p-contact, .p-privacy) .page-head { position: relative; isolation: isolate; }
:is(.p-about, .p-news, .p-booking, .p-contact, .p-privacy) .page-head::before { content: ''; position: absolute; z-index: -1; right: max(-40px, calc((100vw - 100%) / -2)); top: 0; width: min(58vw, 820px); height: 100%; background: url(/assets/img/talents-banner.webp) 70% 35% / cover no-repeat; -webkit-mask: linear-gradient(90deg, transparent, #000 45%), linear-gradient(0deg, transparent, #000 35%); -webkit-mask-composite: source-in; mask: linear-gradient(90deg, transparent, #000 45%), linear-gradient(0deg, transparent, #000 35%); mask-composite: intersect; opacity: .55; }
:is(.p-about, .p-news, .p-booking, .p-contact, .p-privacy) .eyebrow { font: 600 11px/1 var(--serif); letter-spacing: .32em; color: var(--kgold-t); }
:is(.p-about, .p-news, .p-booking, .p-contact, .p-privacy) .display { font: 500 clamp(52px, 6vw, 96px)/.95 var(--serif); color: #0E0C0A; }
:is(.p-about, .p-news, .p-booking, .p-contact, .p-privacy) .page-head::after { background: #8F6D43; }
:is(.p-about, .p-news, .p-booking, .p-contact, .p-privacy) .lead, :is(.p-about, .p-news, .p-booking, .p-contact, .p-privacy) p { font-family: var(--serif); font-weight: 500; color: #3A332C; font-size: clamp(16px, 1.25vw, 18px); line-height: 1.6; }
:is(.p-about, .p-news, .p-booking, .p-contact, .p-privacy) .h2 { font: italic 400 clamp(36px, 3.6vw, 54px)/1.05 var(--serif); color: #0E0C0A; }
:is(.p-about, .p-news, .p-booking, .p-contact, .p-privacy) .h3 { font: 500 clamp(24px, 2vw, 30px)/1.15 var(--serif); color: #0E0C0A; }
:is(.p-about, .p-news, .p-booking, .p-contact, .p-privacy) .link { font: 600 11px/1 var(--serif); letter-spacing: .22em; color: #1B1714; background-image: linear-gradient(#8F6D43, #8F6D43); }
/* кнопки старого стиля → золотые */
:is(.p-about, .p-news, .p-booking, .p-contact, .p-privacy) main .btn { font-family: var(--serif); font-weight: 600; letter-spacing: .16em; border-radius: 0; }
:is(.p-about, .p-news, .p-booking, .p-contact, .p-privacy) main .btn--dark, :is(.p-about, .p-news, .p-booking, .p-contact, .p-privacy) main .btn--gold { background: linear-gradient(100deg, #83633A 0%, #A5834F 55%, #88683E 100%); color: #fff; border: 0; }
:is(.p-about, .p-news, .p-booking, .p-contact, .p-privacy) main .btn--dark::before { display: none; }
:is(.p-about, .p-news, .p-booking, .p-contact, .p-privacy) main .btn--dark:hover { filter: brightness(1.08); color: #fff; }
:is(.p-about, .p-news, .p-booking, .p-contact, .p-privacy) main .btn--line { border-color: rgba(143, 109, 67, .55); color: #1B1714; }
:is(.p-about, .p-news, .p-booking, .p-contact, .p-privacy) main .btn--line:hover { background: #8F6D43; border-color: #8F6D43; color: #fff; }
/* About: тёмный блок основательницы в тёплой гамме */
.p-about main .dark { background: #0F0D0B url(/assets/img/talents-dark.webp) 50% 50% / cover no-repeat; }
.p-about main .dark .h2, .p-about main .dark .h3 { color: #fff; }
.p-about main .dark p, .p-about main .dark li { color: rgba(246, 241, 232, .8); }
.p-about .chapter { border-color: rgba(143, 109, 67, .25); }
.p-about .chapters__img .arch { box-shadow: 0 0 0 12px var(--kc), 0 0 0 13px rgba(143, 109, 67, .6); }
.p-about .reloc__list li { border-color: rgba(143, 109, 67, .25); color: #1F1A15; }
/* News */
.p-news .news__it h2, .p-news .news__it h3 { color: #0E0C0A; }
.p-news .news__it small { font-family: var(--serif); font-weight: 600; letter-spacing: .22em; color: #8F6D43; }
.p-news .news__it img { filter: sepia(.08); }
/* Booking */
.p-booking .fld span { font: 600 10px/1 var(--serif); letter-spacing: .22em; color: #6B5A45; }
.p-booking .fld input, .p-booking .fld select, .p-booking .fld textarea { font: 500 18px/1.4 var(--serif); color: #1F1A15; border-bottom-color: rgba(27, 23, 20, .35); }
.p-booking .fld::after { background: #8F6D43; }
.p-booking .booking__side > * { background: #FBF9F5; border-color: rgba(143, 109, 67, .25) !important; }
.p-booking .chip, .p-booking [class*="pick"] { font-family: var(--serif); }
/* Contact */
.p-contact .contact > * { background: #FBF9F5; border-color: rgba(143, 109, 67, .25) !important; font-family: var(--serif); }
.p-contact .contact small, .p-contact .contact span { font-family: var(--serif); }

/* ======================================================================
   ЗАСТАВКА v3: золотая пыль, шанырак, знак, буквы, створки двери юрты раскрываются
   ====================================================================== */
.splash { background: #0C0A08; color: #D9B77A; overflow: hidden; transition: none; transform: none !important; border-radius: 0 !important; }
.splash::after { display: none; }
.splash__dust { position: absolute; inset: 0; width: 100%; height: 100%; }
.splash::before { content: ''; position: absolute; inset: 0; background: radial-gradient(60% 50% at 50% 46%, rgba(217, 183, 122, .16), transparent 70%); animation: kglow 3.2s ease-in-out infinite alternate; }
@keyframes kglow { from { opacity: .6; transform: scale(.96); } to { opacity: 1; transform: scale(1.04); } }
.splash__in { position: relative; z-index: 2; transition: opacity .6s, transform 1.1s var(--ease-out), filter .8s; }
.splash__halo { position: absolute; left: 50%; top: clamp(-40px, -3vw, -20px); width: clamp(260px, 30vw, 420px); aspect-ratio: 1; transform: translateX(-50%); color: rgba(217, 183, 122, .55); pointer-events: none; animation: khalo 24s linear infinite; }
.splash__halo svg { width: 100%; height: 100%; }
.splash__halo circle, .splash__halo path { stroke-dasharray: 1; stroke-dashoffset: 1; animation: draw 2.2s var(--ease-out) forwards; }
.splash__halo circle:nth-child(2) { stroke-dasharray: .006 .012; stroke-dashoffset: 0; opacity: 0; animation: fade 1.6s .6s forwards; }
.splash__halo path { animation-delay: calc(.4s + var(--d, 0s)); }
@keyframes khalo { to { transform: translateX(-50%) rotate(360deg); } }
.splash__mark { position: relative; width: clamp(96px, 11vw, 150px); margin-top: clamp(40px, 5vw, 70px); filter: drop-shadow(0 0 14px rgba(217, 183, 122, .45)); }
.splash__mark path { stroke-width: 1.4; animation-duration: 1.6s; }
.splash__word { margin-top: 30px; font-weight: 400; background: linear-gradient(100deg, #8F6D43 0%, #F6E4B8 42%, #FFF6DD 50%, #D9B77A 58%, #8F6D43 100%); background-size: 250% 100%; -webkit-background-clip: text; background-clip: text; animation: track 2.6s .7s var(--ease-out) both, ksheenx 2.4s 1.6s ease-in-out forwards; }
@keyframes ksheenx { from { background-position: 100% 0; } to { background-position: 0 0; } }
.splash__word span { transform: translateY(.8em) rotateX(60deg); filter: blur(10px); animation: letter 1.1s calc(.8s + var(--i) * .075s) var(--ease-out) forwards; }
.splash__rule { background: linear-gradient(90deg, transparent, #D9B77A, transparent); animation: rule 1.2s 1.8s var(--ease-out) forwards; }
@keyframes rule { to { width: 180px; } }
.splash__sub { font: italic 400 clamp(15px, 1.3vw, 19px)/1.2 var(--serif); letter-spacing: .04em; text-transform: none; color: rgba(246, 228, 184, .82); animation: fade 1.2s 2.1s forwards; }
.splash__sound { border-color: rgba(217, 183, 122, .5); color: #F6E4B8; font: 600 11px/1 var(--serif); letter-spacing: .26em; animation: fade 1s 2.4s forwards; }
.splash__sound .eq i { background: #D9B77A; }
.splash__sound:hover { background: linear-gradient(100deg, #83633A, #D9B77A); color: #0C0A08; }
.splash__sound:hover .eq i { background: #0C0A08; }
.splash__door { position: absolute; top: 0; bottom: 0; width: 50.5%; z-index: 1; background: #0C0A08; transition: transform 1.3s cubic-bezier(.7, 0, .2, 1); }
.splash__door--l { left: 0; box-shadow: inset -1px 0 0 rgba(217, 183, 122, 0); }
.splash__door--r { right: 0; }
.splash__door::after { content: ''; position: absolute; top: 0; bottom: 0; width: 2px; background: linear-gradient(180deg, transparent, #F6E4B8 30%, #fff 50%, #F6E4B8 70%, transparent); opacity: 0; box-shadow: 0 0 30px 6px rgba(246, 228, 184, .55); transition: opacity .3s; }
.splash__door--l::after { right: 0; } .splash__door--r::after { left: 0; }
.splash.is-out { background: transparent; pointer-events: none; }
.splash.is-out::before, .splash.is-out .splash__dust { opacity: 0; transition: opacity .5s; }
.splash.is-out .splash__in { opacity: 0; transform: scale(1.12); filter: blur(8px); }
.splash.is-out .splash__door::after { opacity: 1; }
.splash.is-out .splash__door--l { transform: translateX(-101%); transition-delay: .25s; }
.splash.is-out .splash__door--r { transform: translateX(101%); transition-delay: .25s; }
/* главный экран после заставки: фото приближается, текст встаёт по строкам, рукопись пишется */
.ready .kh__bg img { animation: khzoom 2.6s var(--ease-out) both; }
@keyframes khzoom { from { transform: scale(1.12); filter: saturate(.6) brightness(.9); } to { transform: none; } }
.ready .kh__txt > :not(.kshan) { animation: fadeUp 1.1s var(--ease-out) both; }
.ready .kh__txt > :nth-child(2) { animation-delay: .25s; } .ready .kh__txt > :nth-child(3) { animation-delay: .4s; } .ready .kh__txt > :nth-child(4) { animation-delay: .55s; } .ready .kh__txt > :nth-child(5) { animation-delay: .7s; } .ready .kh__txt > :nth-child(6) { animation-delay: .85s; }
.ready .kh__script { animation: kwrite 2.4s 1s var(--ease-out) both; }
@keyframes kwrite { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
.ready .kh__side, .ready .kh__aside, .ready .kh__index { animation: fade 1.6s 1.2s both; }

/* ======================================================================
   ТЁМНЫЕ БЛОКИ: живой золотой свет, бегущий блик по краю, мерцание рельефа
   ====================================================================== */
.ktband, .kticket, .chess, .kp-video, .kfam { --gx: 50%; --gy: 50%; }
.ktband::before, .kticket::after, .chess::after, .kp-video::after, .kfam__veil::after { content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 0; background: radial-gradient(520px circle at var(--gx) var(--gy), rgba(233, 207, 148, .16), transparent 60%); transition: background .2s; }
.kfam__veil::after { z-index: 0; }
.ktband > *, .chess > *, .kp-video > * { position: relative; z-index: 1; }
/* рельеф на фоне медленно дышит */
.ktband, .chess { background-size: 130% auto !important; animation: kdrift 26s ease-in-out infinite alternate; }
@keyframes kdrift { from { background-position: 0% 40%; } to { background-position: 100% 60%; } }
/* золотая линия с бегущим бликом сверху и снизу */
.ktband, .kticket, .chess, .kp-video, .kfam { position: relative; }
.kline-top, .kline-bot { position: absolute; left: 0; right: 0; height: 1px; z-index: 2; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(217, 183, 122, .45), transparent); overflow: hidden; }
.kline-top { top: 0; } .kline-bot { bottom: 0; }
.kline-top::after, .kline-bot::after { content: ''; position: absolute; top: -1px; width: 22%; height: 3px; background: linear-gradient(90deg, transparent, #FFF3D1, transparent); filter: blur(.5px); animation: kline 5.5s linear infinite; }
.kline-bot::after { animation-direction: reverse; animation-delay: -2.5s; }
@keyframes kline { from { left: -25%; } to { left: 105%; } }
/* заголовок полосы переливается золотом */
.ktband__h { background: linear-gradient(100deg, #F6F1E8 0%, #F6F1E8 38%, #F6E4B8 46%, #D9B77A 50%, #F6E4B8 54%, #F6F1E8 62%, #F6F1E8 100%); background-size: 260% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: kshine 6s ease-in-out infinite; }
@keyframes kshine { 0%, 15% { background-position: 100% 0; } 60%, 100% { background-position: 0 0; } }
/* золотая кнопка дышит светом */
.kbtn--glow { animation: kbtnglow 3s ease-in-out infinite; }
@keyframes kbtnglow { 0%, 100% { box-shadow: inset 0 0 0 1px rgba(255, 230, 190, .5), 0 0 0 0 rgba(217, 183, 122, 0); } 50% { box-shadow: inset 0 0 0 1px rgba(255, 230, 190, .8), 0 0 28px 2px rgba(217, 183, 122, .35); } }
.kbtn { position: relative; overflow: hidden; }
.kbtn::after { content: ''; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .35), transparent); transform: skewX(-20deg); transition: left .9s var(--ease-out); pointer-events: none; }
.kbtn:hover::after { left: 130%; }
/* на телефоне свет сам ходит по блоку */
@media (hover: none) {
  .ktband, .kticket, .chess, .kp-video, .kfam { animation-name: kdrift, korbit; animation-duration: 26s, 9s; animation-timing-function: ease-in-out, ease-in-out; animation-iteration-count: infinite, infinite; animation-direction: alternate, alternate; }
}
@property --gx { syntax: '<percentage>'; inherits: true; initial-value: 50%; }
@property --gy { syntax: '<percentage>'; inherits: true; initial-value: 50%; }
@keyframes korbit { 0% { --gx: 15%; --gy: 30%; } 50% { --gx: 85%; --gy: 55%; } 100% { --gx: 40%; --gy: 85%; } }

/* ======================================================================
   ПОЯВЛЕНИЕ ПРИ ПРОКРУТКЕ — все новые страницы
   ====================================================================== */
.k-rv { opacity: 0; transform: translateY(26px); transition: opacity 1s var(--ease-out), transform 1.1s var(--ease-out); transition-delay: var(--rd, 0s); }
.k-rv.is-in { opacity: 1; transform: none; }
.k-rv-img { clip-path: inset(12% 0 0 0); transform: scale(1.06); transition: clip-path 1.4s var(--ease-out), transform 1.6s var(--ease-out); transition-delay: var(--rd, 0s); }
.k-rv-img.is-in { clip-path: inset(0 0 0 0); transform: none; }
@media (prefers-reduced-motion: reduce) {
  .k-rv, .k-rv-img { opacity: 1; transform: none; clip-path: none; transition: none; }
  .ktband, .chess, .ktband__h, .kbtn--glow, .kline-top::after, .kline-bot::after, .splash__halo, .splash::before { animation: none !important; }
}

/* уведомление о cookie: маленькая строка, не закрывает контент */
.cookie { left: 16px; right: auto; bottom: 16px; max-width: 360px; display: flex; align-items: center; gap: 12px; padding: 7px 7px 7px 14px; border-radius: 999px; background: rgba(247, 243, 237, .92); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: 0 8px 24px -14px rgba(60, 40, 20, .45); }
.cookie p { font: 500 12px/1.3 var(--serif); color: #5A4A38; }
.cookie p a { margin-left: 4px; }
.cookie .btn { flex: none; min-height: 0; height: 28px; padding: 0 14px; border-radius: 999px; font-size: 10px; letter-spacing: .14em; }
@media (max-width: 1080px) { .cookie { left: 10px; right: auto; bottom: 64px; max-width: calc(100vw - 20px); padding: 5px 5px 5px 12px; } .cookie p { font-size: 11px; } .cookie .btn { height: 26px; padding: 0 12px; } }

/* ======================================================================
   ЗАПРЕТ МАСШТАБА НА ТЕЛЕФОНЕ + ПОЯВЛЕНИЕ КАЖДОЙ СТРАНИЦЫ
   ====================================================================== */
html { touch-action: pan-x pan-y; -webkit-text-size-adjust: 100%; }
button, a, input, select, textarea, label { touch-action: manipulation; }

/* переход между страницами: мягкое затемнение вместо морфинга фото */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: .35s ease both vt-out; }
::view-transition-new(root) { animation: .01s both vt-none; }
@keyframes vt-none { from { opacity: 1; } }

/* занавес: кремовый экран, знак прорисовывается золотом, золотая линия уезжает — открывается страница */
.kveil { position: fixed; inset: 0; z-index: 180; display: grid; place-items: center; background: #F3EEE6; color: #8F6D43; pointer-events: none; transition: clip-path 1s cubic-bezier(.76, 0, .24, 1) .15s, visibility 0s 1.3s; clip-path: inset(0 0 0 0); }
.kveil__mark { width: 64px; height: 64px; opacity: 1; transition: opacity .35s, transform .6s var(--ease-out); }
.kveil__mark path { stroke-dasharray: 1; stroke-dashoffset: 1; animation: draw .7s ease-out forwards; }
.kveil__line { position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: linear-gradient(90deg, transparent, #D9B77A 30%, #F6E4B8 50%, #D9B77A 70%, transparent); opacity: 0; transition: opacity .2s; }
.page-in .kveil { clip-path: inset(0 0 100% 0); visibility: hidden; }
.page-in .kveil__mark { opacity: 0; transform: translateY(-20px) scale(.9); }
.page-in .kveil__line { opacity: 1; }
.p-home .kveil, .no-js .kveil { display: none; }
@media (prefers-reduced-motion: reduce) { .kveil { display: none; } }

/* первый экран каждой страницы: арки раскрываются как дверь юрты, текст встаёт по строкам */
@keyframes karch { from { clip-path: inset(100% 0 0 0 round 999px 999px 0 0); transform: translateY(30px); } to { clip-path: inset(0 0 0 0 round 999px 999px 0 0); transform: none; } }
@keyframes kimgin { from { transform: scale(1.18); filter: blur(6px) saturate(.6); } to { transform: none; filter: none; } }
@keyframes krise { from { opacity: 0; transform: translateY(34px); filter: blur(4px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes kwipe { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes kline2 { from { transform: scaleY(0); } to { transform: scaleY(1); } }
.js :is(.kp-hero__arch, .ktcard__arch, .kfam__arch, .kp-other__arch) { clip-path: inset(100% 0 0 0 round 999px 999px 0 0); }
.page-in :is(.kp-hero__arch) { animation: karch 1.3s .35s cubic-bezier(.2, .8, .2, 1) both; }
.page-in .kp-hero__arch img { animation: kimgin 1.8s .35s var(--ease-out) both; }
.page-in :is(.kp-hero__txt, .kthero__txt, .kpf-hero__txt, .page-head) > * { animation: krise 1s cubic-bezier(.2, .8, .2, 1) both; }
.page-in :is(.kp-hero__txt, .kthero__txt, .kpf-hero__txt, .page-head) > :nth-child(1) { animation-delay: .45s; }
.page-in :is(.kp-hero__txt, .kthero__txt, .kpf-hero__txt, .page-head) > :nth-child(2) { animation-delay: .55s; }
.page-in :is(.kp-hero__txt, .kthero__txt, .kpf-hero__txt, .page-head) > :nth-child(3) { animation-delay: .68s; }
.page-in :is(.kp-hero__txt, .kthero__txt, .kpf-hero__txt, .page-head) > :nth-child(4) { animation-delay: .8s; }
.page-in :is(.kp-hero__txt, .kthero__txt, .kpf-hero__txt, .page-head) > :nth-child(n+5) { animation-delay: .92s; }
.page-in :is(.kthero__img, .kpf-hero__img) img { animation: kimgin 2s .3s var(--ease-out) both; }
.page-in :is(.kp-hero__script, .kthero__script, .kthero__side-script, .kpf-hero__script, .kp-hero__more) { animation: kwipe 1.8s 1s var(--ease-out) both; }
.page-in :is(.kp-hero__vline, .kthero__vline, .kpf-hero__vl) { transform-origin: top; animation: kline2 1.2s .8s var(--ease-out) both; }
.page-in :is(.kp-hero__lside, .kp-hero__rside, .kthero__side, .kpf-hero__side, .kp-hero__orn, .kthero__orn) { animation: krise 1.2s 1.1s var(--ease-out) both; }
/* арки ниже по странице раскрываются, когда доходят до экрана */
:is(.ktcard__arch, .kfam__arch, .kp-other__arch).is-open { animation: karch 1.2s cubic-bezier(.2, .8, .2, 1) both; animation-delay: var(--ad, 0s); }
.kfam__arch--empty { clip-path: none !important; }
@media (prefers-reduced-motion: reduce) {
  .js :is(.kp-hero__arch, .ktcard__arch, .kfam__arch, .kp-other__arch) { clip-path: none; }
  .page-in :is(.kp-hero__arch, .kp-hero__arch img, .kp-hero__txt > *, .kthero__txt > *, .kpf-hero__txt > *, .page-head > *) { animation: none !important; }
}

/* путь достижений: быстрее и эффектнее */
.kpath__knight { transition: left .55s cubic-bezier(.3, 1.4, .5, 1), top .55s cubic-bezier(.3, 1.4, .5, 1); color: #8F6D43; filter: drop-shadow(0 0 10px rgba(217, 183, 122, .7)) drop-shadow(0 6px 8px rgba(60, 40, 20, .25)); }
.kpath__knight.is-hop svg { animation: khop2 .55s cubic-bezier(.3, 1.2, .5, 1); }
@keyframes khop2 { 0% { transform: none; } 45% { transform: translateY(-55%) rotate(-16deg) scale(1.15); } 100% { transform: none; } }
.kpath__line i { transition: width .55s ease-out, height .55s ease-out !important; background: linear-gradient(90deg, #A5834F, #F6E4B8, #C9A86A); box-shadow: 0 0 10px rgba(217, 183, 122, .8); }
.kpath__stop .kicon path { stroke-dasharray: 400; stroke-dashoffset: 0; }
.kpath__stop.is-burst .kicon path { animation: kicondraw .9s ease-out; }
@keyframes kicondraw { from { stroke-dashoffset: 400; } to { stroke-dashoffset: 0; } }
.kpath__stop.is-on .kicon { color: #8F6D43; filter: drop-shadow(0 0 8px rgba(217, 183, 122, .75)); transform: translateY(-4px) scale(1.12); }
.kpath__stop.is-done .kicon { color: #A5834F; }
.kpath__stop.is-done .kpath__dot { background: #8F6D43; }
.kpath__stop.is-burst .kpath__dot::after { content: ''; position: absolute; inset: -4px; border-radius: 50%; border: 2px solid #D9B77A; animation: kring .8s ease-out forwards; }
@keyframes kring { from { transform: scale(.6); opacity: 1; } to { transform: scale(3.4); opacity: 0; } }
.kpath__stop.is-on .kpath__l { color: #6F5431; font-weight: 600; }
.kpath__spark { position: absolute; z-index: 3; width: 4px; height: 4px; margin: -2px; border-radius: 50%; background: #F6E4B8; box-shadow: 0 0 6px 2px rgba(217, 183, 122, .9); pointer-events: none; animation: kspark .85s ease-out forwards; }
@keyframes kspark { to { transform: translate(var(--sx), var(--sy)) scale(.2); opacity: 0; } }
.kpath__cap p { transition: opacity .35s, transform .45s var(--ease-out); }
@media (max-width: 1080px) {
  .kpath__stop button { border-radius: 8px; padding: 6px 0; transition: background .4s; }
  .kpath__stop.is-on button { background: linear-gradient(90deg, rgba(217, 183, 122, .22), rgba(217, 183, 122, 0)); }
  .kpath__knight { width: calc(var(--m) * 26); transform: translate(-50%, -50%); }
}

/* путь достижений: быстрее и эффектнее */
.kpath__knight { transition: left .55s cubic-bezier(.3, 1.4, .5, 1), top .55s cubic-bezier(.3, 1.4, .5, 1); color: #8F6D43; filter: drop-shadow(0 0 10px rgba(217, 183, 122, .7)) drop-shadow(0 6px 8px rgba(60, 40, 20, .25)); }
.kpath__knight.is-hop svg { animation: khop2 .55s cubic-bezier(.3, 1.2, .5, 1); }
@keyframes khop2 { 0% { transform: none; } 45% { transform: translateY(-55%) rotate(-16deg) scale(1.15); } 100% { transform: none; } }
.kpath__line i { transition: width .55s ease-out, height .55s ease-out !important; background: linear-gradient(90deg, #A5834F, #F6E4B8, #C9A86A); box-shadow: 0 0 10px rgba(217, 183, 122, .8); }
.kpath__stop .kicon path { stroke-dasharray: 400; stroke-dashoffset: 0; }
.kpath__stop.is-burst .kicon path { animation: kicondraw .9s ease-out; }
@keyframes kicondraw { from { stroke-dashoffset: 400; } to { stroke-dashoffset: 0; } }
.kpath__stop.is-on .kicon { color: #8F6D43; filter: drop-shadow(0 0 8px rgba(217, 183, 122, .75)); transform: translateY(-4px) scale(1.12); }
.kpath__stop.is-done .kpath__dot { background: #8F6D43; }
.kpath__stop.is-burst .kpath__dot::after { content: ''; position: absolute; inset: -4px; border-radius: 50%; border: 2px solid #D9B77A; animation: kring .8s ease-out forwards; }
@keyframes kring { from { transform: scale(.6); opacity: 1; } to { transform: scale(3.4); opacity: 0; } }
.kpath__stop.is-on .kpath__l { color: #6F5431; font-weight: 600; }
.kpath__spark { position: absolute; z-index: 3; width: 4px; height: 4px; margin: -2px; border-radius: 50%; background: #F6E4B8; box-shadow: 0 0 6px 2px rgba(217, 183, 122, .9); pointer-events: none; animation: kspark .85s ease-out forwards; }
@keyframes kspark { to { transform: translate(var(--sx), var(--sy)) scale(.2); opacity: 0; } }
@media (max-width: 1080px) {
  .kpath__stop button { border-radius: 8px; padding: 6px 0; transition: background .4s; }
  .kpath__stop.is-on button { background: linear-gradient(90deg, rgba(217, 183, 122, .22), rgba(217, 183, 122, 0)); }
  .kpath__knight { width: calc(var(--m) * 26); transform: translate(-50%, -50%); }
}

/* ======================= шахматы: «Ваш ход» ======================= */
.chess__board .sq { opacity: 0; transform: scale(.6); transition: opacity .5s, transform .6s var(--ease-out); transition-delay: calc(var(--sd, 0) * 1ms); }
.chess.is-live .chess__board .sq { opacity: 1; transform: none; }
.chess__mark { pointer-events: auto; cursor: default; }
.chess__mark.is-next { cursor: pointer; }
.chess__mark.is-next::before { width: 70%; border: 0; border-radius: 4px; background: radial-gradient(circle, rgba(246, 228, 184, .55), rgba(217, 183, 122, .15) 60%, transparent 72%); box-shadow: inset 0 0 0 1.5px rgba(246, 228, 184, .9), 0 0 24px 4px rgba(217, 183, 122, .45); animation: knext 1.4s ease-in-out infinite; }
@keyframes knext { 0%, 100% { transform: scale(.88); opacity: .75; } 50% { transform: scale(1.04); opacity: 1; } }
.chess__mark.is-next b { color: #F6E4B8 !important; font-weight: 600; }
.chess__mark.is-land::after { content: ''; position: absolute; inset: 10%; border-radius: 50%; border: 2px solid #F6E4B8; animation: kring 1s ease-out forwards; pointer-events: none; }
.chess__piece { filter: drop-shadow(0 0 14px rgba(246, 228, 184, .7)) drop-shadow(0 8px 14px rgba(0, 0, 0, .8)); }
.chess__invite { position: absolute; left: 50%; top: 50%; z-index: 5; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 18px 26px 16px; transform: translate(-50%, -50%) scale(.9); background: rgba(12, 10, 8, .72); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border: 1px solid rgba(217, 183, 122, .55); color: #F6E4B8; text-align: center; pointer-events: none; opacity: 0; transition: opacity .6s .9s, transform .8s .9s var(--ease-out); white-space: nowrap; }
.chess.is-live .chess__invite { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.chess.is-playing .chess__invite, .chess.has-moved .chess__invite { opacity: 0; transform: translate(-50%, -60%) scale(.9); transition-delay: 0s; }
.chess__invite-k { font-size: 34px; line-height: 1; color: #D9B77A; animation: kbob 1.6s ease-in-out infinite; }
@keyframes kbob { 50% { transform: translateY(-6px) rotate(-8deg); } }
.chess__invite b { font: 400 36px/1 var(--script); color: #F6E4B8; }
.chess__invite small { font: 600 9.5px/1 var(--serif); letter-spacing: .24em; text-transform: uppercase; color: rgba(246, 228, 184, .8); }
@media (prefers-reduced-motion: reduce) { .chess__board .sq { opacity: 1; transform: none; } }
/* правки: подпись видео не наезжает, приглашение шахмат не закрывает клетки */
.kpv__cap { left: 0; right: 0; bottom: 0; padding: 14px 22px 16px; background: linear-gradient(0deg, rgba(10, 8, 6, .7), transparent); }
@media (max-width: 1080px) { .kpv { height: 660px; } .kpv--vertical .kpv__frame { height: calc(100% - 120px); margin-top: 18px; } }
@media (min-width: 1081px) { .kpv--vertical .kpv__frame { height: calc(100% - var(--k) * 110); margin-top: calc(var(--k) * 24); } }
.chess__invite { top: 4%; transform: translate(-50%, 0) scale(.9); padding: 10px 18px 10px; gap: 3px; }
.chess.is-live .chess__invite { transform: translate(-50%, 0) scale(1); }
.chess.is-playing .chess__invite, .chess.has-moved .chess__invite { transform: translate(-50%, -20%) scale(.9); }
.chess__invite-k { font-size: 22px; } .chess__invite b { font-size: 28px; } .chess__invite small { font-size: 8.5px; }


/* ======================================================================
   БРОНИРОВАНИЕ v2: шаги + живой «билет-заявка»
   ====================================================================== */
.p-booking main section.kbk { display: block; padding-top: 10px; padding-bottom: clamp(56px, 7vw, 100px); }
.kbk-form { display: grid; grid-template-columns: 1fr 380px; gap: 22px clamp(36px, 5vw, 80px); align-items: start; }
.kbk-step { grid-column: 1; }
.kbk-step + .kbk-step { padding-top: 30px; border-top: 1px solid rgba(143, 109, 67, .2); }
.kbk-step__k { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin: 0 0 18px !important; font: 500 clamp(24px, 2.2vw, 30px)/1.1 var(--serif) !important; color: #0E0C0A !important; }
.kbk-step__k i { font: normal 600 11px/1 var(--serif); letter-spacing: .24em; color: #8F6D43; }
.kbk-step__k small { font: italic 500 15px/1 var(--serif); color: #8B7B66; }
.kbk-picks { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.kbk-pick { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; cursor: pointer; text-align: center; -webkit-tap-highlight-color: transparent; }
.kbk-pick input { position: absolute; opacity: 0; pointer-events: none; }
.kbk-pick__arch { position: relative; display: block; width: 100%; aspect-ratio: 3 / 4; border-radius: 999px 999px 0 0; overflow: hidden; box-shadow: 0 0 0 1px rgba(143, 109, 67, .3); transition: box-shadow .5s, transform .6s cubic-bezier(.3, 1.3, .5, 1); }
.kbk-pick__arch img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; filter: grayscale(.9) contrast(.9) brightness(1.05); opacity: .72; transition: filter .7s, opacity .7s, transform 1.2s var(--ease-out); }
.kbk-pick:hover .kbk-pick__arch img { opacity: 1; transform: scale(1.05); }
.kbk-pick__seal { position: absolute; left: 50%; bottom: 10px; display: grid; place-items: center; width: 34px; height: 34px; margin-left: -17px; border-radius: 50%; background: linear-gradient(135deg, #A5834F, #D9B77A); box-shadow: 0 6px 16px -6px rgba(60, 40, 20, .6); transform: scale(0) rotate(-90deg); transition: transform .5s cubic-bezier(.3, 1.6, .5, 1); }
.kbk-pick__seal svg { width: 18px; fill: none; stroke: #fff; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 24; stroke-dashoffset: 24; transition: stroke-dashoffset .4s .2s; }
.kbk-pick__name { font: 500 22px/1 var(--serif); color: #1F1A15; }
.kbk-pick__disc { font: 600 9px/1.3 var(--serif); letter-spacing: .16em; text-transform: uppercase; color: #8B7B66; }
.kbk-pick input:checked ~ .kbk-pick__arch { box-shadow: 0 0 0 2px #A5834F, 0 0 0 7px rgba(217, 183, 122, .22), 0 24px 40px -24px rgba(60, 40, 20, .55); transform: translateY(-6px); }
.kbk-pick input:checked ~ .kbk-pick__arch img { filter: none; opacity: 1; }
.kbk-pick input:checked ~ .kbk-pick__arch .kbk-pick__seal { transform: none; }
.kbk-pick input:checked ~ .kbk-pick__arch .kbk-pick__seal svg { stroke-dashoffset: 0; }
.kbk-pick input:checked ~ .kbk-pick__name { color: #8F6D43; }
.kbk-pick input:focus-visible ~ .kbk-pick__arch { box-shadow: 0 0 0 2px #1B1714; }
.kbk-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.kbk-chip { position: relative; cursor: pointer; }
.kbk-chip input { position: absolute; opacity: 0; }
.kbk-chip span { display: inline-flex; align-items: center; height: 44px; padding: 0 20px; border-radius: 999px; border: 1px solid rgba(143, 109, 67, .4); font: 500 16px/1 var(--serif); color: #3A332C; transition: background .4s, color .4s, border-color .4s; }
.kbk-chip input:checked + span { background: linear-gradient(100deg, #83633A, #A5834F); border-color: transparent; color: #fff; }
.kbk-chip input:focus-visible + span { box-shadow: 0 0 0 2px #1B1714; }
.kbk-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 22px; }
.kfld { position: relative; display: block; }
.kfld input, .kfld textarea { width: 100%; padding: 22px 0 10px; border: 0; border-bottom: 1px solid rgba(27, 23, 20, .3); border-radius: 0; background: none; font: 500 19px/1.3 var(--serif); color: #1F1A15; outline: none; resize: vertical; appearance: none; }
.kfld span { position: absolute; left: 0; top: 24px; font: 500 17px/1 var(--serif); color: #8B7B66; pointer-events: none; transition: top .3s, font-size .3s, letter-spacing .3s, color .3s; }
.kfld input:focus + span, .kfld input:not(:placeholder-shown) + span, .kfld textarea:focus + span, .kfld textarea:not(:placeholder-shown) + span { top: 2px; font-size: 10px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: #8F6D43; }
.kfld::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: linear-gradient(90deg, #A5834F, #D9B77A); transform: scaleX(0); transform-origin: 0 50%; transition: transform .6s var(--ease-out); }
.kfld:focus-within::after { transform: scaleX(1); }
.kfld--area { margin-top: 18px; }
/* билет-заявка */
.kbk-ticket { grid-column: 2; grid-row: 1 / span 4; position: sticky; top: 110px; display: flex; flex-direction: column; filter: drop-shadow(0 30px 40px rgba(40, 28, 14, .28)); }
.kbk-ticket__main, .kbk-ticket__stub { position: relative; background: linear-gradient(145deg, #16110C, #231A11 60%, #120E0A); color: #F6F1E8; }
.kbk-ticket__main { padding: 26px 26px 24px; border-radius: 10px 10px 0 0; overflow: hidden; -webkit-mask: radial-gradient(circle 13px at 0 100%, transparent 12px, #000 13px) bottom left / 51% 51% no-repeat, radial-gradient(circle 13px at 100% 100%, transparent 12px, #000 13px) bottom right / 51% 51% no-repeat, linear-gradient(#000, #000) top / 100% 50% no-repeat; mask: radial-gradient(circle 13px at 0 100%, transparent 12px, #000 13px) bottom left / 51% 51% no-repeat, radial-gradient(circle 13px at 100% 100%, transparent 12px, #000 13px) bottom right / 51% 51% no-repeat, linear-gradient(#000, #000) top / 100% 50% no-repeat; }
.kbk-ticket__main::before { content: ''; position: absolute; inset: 9px; border: 1px solid rgba(217, 183, 122, .4); border-radius: 6px; pointer-events: none; }
.kbk-ticket__k { margin: 0 !important; font: 600 10px/1 var(--serif) !important; letter-spacing: .28em; text-transform: uppercase; color: #C9A86A !important; }
.kbk-ticket__for { margin: 18px 0 0 !important; font: italic 400 16px/1 var(--serif) !important; color: rgba(233, 207, 148, .7) !important; }
.kbk-ticket__who { margin: 6px 0 0 !important; min-height: 1.1em; font: 500 clamp(30px, 2.6vw, 38px)/1.05 var(--serif) !important; background: linear-gradient(100deg, #F3DDA8, #A5834F 45%, #F6E4B8 65%, #8F6D43); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent !important; animation: ksheen 6s ease-in-out infinite; }
.kbk-ticket__who.is-empty { background: none; color: rgba(246, 241, 232, .35) !important; -webkit-text-fill-color: rgba(246, 241, 232, .35); font-style: italic; }
.kbk-ticket__who.is-pop { animation: kpop .5s cubic-bezier(.3, 1.5, .5, 1), ksheen 6s ease-in-out infinite; }
@keyframes kpop { 0% { transform: scale(.94); opacity: .4; } 100% { transform: none; opacity: 1; } }
.kbk-ticket__faces { display: flex; margin-top: 14px; min-height: 44px; }
.kbk-ticket__faces img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; object-position: 50% 25%; border: 2px solid #D9B77A; margin-right: -10px; animation: kface .5s cubic-bezier(.3, 1.6, .5, 1) both; }
@keyframes kface { from { transform: scale(0); } to { transform: none; } }
.kbk-ticket__rows { margin: 18px 0 0; padding-top: 16px; border-top: 1px dashed rgba(217, 183, 122, .35); display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.kbk-ticket__rows dt { font: 600 9px/1 var(--serif); letter-spacing: .22em; text-transform: uppercase; color: rgba(233, 207, 148, .6); }
.kbk-ticket__rows dd { margin: 6px 0 0; font: 500 16px/1.25 var(--serif); color: #F6F1E8; overflow-wrap: anywhere; }
.kbk-ticket__rows dd.is-filled { animation: kpop .4s ease-out; }
.kbk-ticket__orn { position: absolute; right: 20px; top: 18px; width: 50px; color: rgba(217, 183, 122, .45); }
.kbk-ticket__stub { padding: 22px 26px 24px; border-radius: 0 0 10px 10px; border-top: 2px dashed rgba(217, 183, 122, .4); display: flex; flex-direction: column; gap: 14px; }
.kbk-consent { display: flex; gap: 10px; font: 500 12.5px/1.4 var(--serif); color: rgba(246, 241, 232, .7); }
.kbk-consent a { color: #D9B77A; }
.kbk-consent input { accent-color: #A5834F; margin-top: 2px; }
.kbk-send { height: 54px; width: 100%; font-size: 12px; letter-spacing: .16em; white-space: normal; line-height: 1.2; text-align: center; animation: kbtnglow 3s ease-in-out infinite; }
.kbk-wa { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 44px; border: 1px solid rgba(246, 241, 232, .4); font: 600 11px/1 var(--serif); letter-spacing: .18em; text-transform: uppercase; color: #F6F1E8; text-decoration: none; }
.kbk-wa svg { width: 18px; }
.kbk-promise { margin: 0 !important; text-align: center; font: italic 500 13px/1.3 var(--serif) !important; color: rgba(233, 207, 148, .6) !important; }
/* отправлено */
.kbk-sent { display: grid; place-items: center; padding: 20px 0 40px; }
.kbk-sent__ticket { position: relative; width: min(560px, 100%); padding: 44px 36px 40px; text-align: center; background: linear-gradient(145deg, #16110C, #231A11 60%, #120E0A); color: #F6F1E8; border-radius: 12px; box-shadow: 0 40px 70px -40px rgba(40, 28, 14, .6); animation: ksent 1s cubic-bezier(.2, .9, .2, 1) both; }
@keyframes ksent { from { transform: translateY(40px) rotate(-3deg); opacity: 0; } to { transform: none; opacity: 1; } }
.kbk-sent__ticket::before { content: ''; position: absolute; inset: 10px; border: 1px solid rgba(217, 183, 122, .45); border-radius: 8px; pointer-events: none; }
.kbk-sent__stamp { display: inline-grid; place-items: center; width: 110px; height: 110px; border-radius: 50%; border: 2px solid #D9B77A; color: #D9B77A; animation: kstamp .7s .5s cubic-bezier(.3, 1.6, .5, 1) both; }
@keyframes kstamp { from { transform: scale(2.2) rotate(-25deg); opacity: 0; } to { transform: rotate(-8deg); opacity: 1; } }
.kbk-sent__ticket h2 { margin: 18px 0 0; font: 400 clamp(32px, 4vw, 44px)/1.1 var(--serif); color: #fff; }
.kbk-sent__ticket p:not(.kk) { margin: 12px 0 24px; color: rgba(246, 241, 232, .8); }
@media (max-width: 1080px) {
  .kbk-form { grid-template-columns: 1fr; }
  .kbk-ticket { grid-column: 1; grid-row: auto; position: relative; top: 0; margin-top: 10px; }
  .kbk-picks { grid-template-columns: repeat(4, minmax(118px, 1fr)); overflow-x: auto; scroll-snap-type: x mandatory; padding: 10px 2px 6px; margin: 0 -20px; padding-inline: 20px; scrollbar-width: none; }
  .kbk-picks::-webkit-scrollbar { display: none; }
  .kbk-pick { scroll-snap-align: start; }
  .kbk-pick__name { font-size: 19px; }
  .kbk-row { grid-template-columns: 1fr; gap: 6px; }
  .kbk-chip span { height: 40px; padding: 0 16px; font-size: 15px; }
}

/* бронирование: на телефоне ничего не вылезает вбок */
.kbk-form > * { min-width: 0; }
.p-booking main section.kbk { overflow-x: clip; }

/* шапка: при прокрутке плавно уменьшается примерно на четверть */
.hdr__logo .mark, .hdr__name b, .hdr__name small { transition: width .5s var(--ease-out), height .5s var(--ease-out), font-size .5s var(--ease-out), margin .5s var(--ease-out), opacity .4s; }
.hdr { transition: background .6s, box-shadow .6s, padding .5s var(--ease-out), transform .6s var(--ease); }
@media (min-width: 1081px) {
  .hdr.is-solid .hdr__logo .mark { width: calc(var(--k) * 50); height: calc(var(--k) * 38); }
  .hdr.is-solid .hdr__name b { font-size: calc(var(--k) * 21); }
  .hdr.is-solid .hdr__name small { font-size: calc(var(--k) * 6.8); margin-top: calc(var(--k) * 4); }
}
@media (max-width: 1080px) {
  .hdr.is-solid { padding-top: calc(var(--m) * 10); padding-bottom: calc(var(--m) * 8); }
  .hdr.is-solid .hdr__logo { flex-direction: row; align-items: center; gap: calc(var(--m) * 10); }
  .hdr.is-solid .hdr__logo .mark { width: calc(var(--m) * 46); height: calc(var(--m) * 30); margin-left: 0; }
  .hdr.is-solid .hdr__name b { font-size: calc(var(--m) * 16); }
  .hdr.is-solid .hdr__end { margin-top: calc(var(--m) * 4); }
}

/* ======================================================================
   КОНТАКТЫ v2
   ====================================================================== */
.p-contact main section[class^="kct"] { padding: 0; font-family: var(--serif); color: var(--ktext); }
.p-contact main > .page-head { display: none; }
.kct { position: relative; display: grid; align-items: center; overflow: hidden; background: linear-gradient(180deg, #F5F1EA, #F0EAE0); }
.kct__h { margin: 16px 0 0; font: 500 clamp(48px, 6vw, 88px)/.95 var(--serif); color: #0E0C0A; }
.kct__h em { color: #8F6D43; font-weight: 400; }
.kct__script { margin: 14px 0 0; font: 400 clamp(32px, 3vw, 44px)/.85 var(--script); color: #8F6D43; transform: rotate(-6deg); transform-origin: 0 50%; }
.kct__script span { display: block; } .kct__script span + span { padding-left: 1.4em; }
.kct__p { margin: 22px 0 0; max-width: 28em; font: 500 18px/1.5 var(--serif); color: #3A332C; }
.kct__fan { position: relative; height: clamp(360px, 38vw, 520px); }
.kct__arch { position: absolute; left: 50%; bottom: 8%; width: 34%; aspect-ratio: 3 / 4.4; overflow: hidden; border-radius: 999px 999px 0 0; box-shadow: 0 0 0 6px #F5F1EA, 0 0 0 7px rgba(143, 109, 67, .45), 0 30px 50px -30px rgba(40, 28, 14, .6); transform-origin: 50% 110%; transform: translateX(-50%) rotate(calc((var(--i) - 1) * 16deg)) translateY(calc(abs(var(--i) - 1) * 6%)); z-index: calc(3 - abs(var(--i) - 1)); transition: transform 1s cubic-bezier(.3, 1.3, .5, 1); }
.kct__arch:nth-child(1) { z-index: 1; } .kct__arch:nth-child(2) { z-index: 3; width: 38%; } .kct__arch:nth-child(3) { z-index: 2; }
.kct__arch img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.kct__fan:hover .kct__arch { transform: translateX(-50%) rotate(calc((var(--i) - 1) * 24deg)) translateY(calc(abs(var(--i) - 1) * 10%)); }
.kct__ring { position: absolute; left: 50%; top: 50%; width: 90%; aspect-ratio: 1; transform: translate(-50%, -52%); color: rgba(143, 109, 67, .35); z-index: 0; }
.kct__ring circle { stroke-dasharray: 1; stroke-dashoffset: 1; animation: draw 2.4s .6s ease-out forwards; }
.js .kct__arch { transform: translateX(-50%) rotate(0) translateY(30%); opacity: 0; }
.page-in .kct__arch { opacity: 1; transform: translateX(-50%) rotate(calc((var(--i) - 1) * 16deg)) translateY(calc(abs(var(--i) - 1) * 6%)); transition: transform 1.3s cubic-bezier(.3, 1.3, .5, 1), opacity .6s; transition-delay: calc(.35s + var(--i) * .15s); }
.kct-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; background: #F0EAE0; }
.kct-card { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 28px 26px 26px; background: #FBF9F5; border: 1px solid rgba(143, 109, 67, .22); text-decoration: none; color: #1F1A15; overflow: hidden; transition: transform .6s var(--ease-out), box-shadow .6s; }
.kct-card:hover { transform: translateY(-4px); box-shadow: 0 24px 40px -26px rgba(60, 40, 20, .45); }
.kct-card__ico { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 10px; border-radius: 50%; border: 1px solid rgba(143, 109, 67, .45); color: #8F6D43; }
.kct-card__ico svg { width: 24px; }
.kct-card small { font: 600 10px/1 var(--serif); letter-spacing: .24em; text-transform: uppercase; color: #8F6D43; }
.kct-card b { font: 500 26px/1.1 var(--serif); }
.kct-card span:not(.kct-card__ico) { font: 500 15px/1.4 var(--serif); color: #5A4A38; }
.kct-card i { position: absolute; right: 22px; top: 26px; font-style: normal; font-size: 22px; color: #8F6D43; transition: transform .5s; }
.kct-card:hover i { transform: translateX(6px); }
.kct-card--wa { background: linear-gradient(145deg, #16110C, #231A11 60%, #120E0A); color: #F6F1E8; border-color: rgba(217, 183, 122, .35); }
.kct-card--wa .kct-card__ico { color: #D9B77A; border-color: rgba(217, 183, 122, .55); animation: kwaring 2.4s ease-out infinite; }
@keyframes kwaring { 0% { box-shadow: 0 0 0 0 rgba(217, 183, 122, .45); } 100% { box-shadow: 0 0 0 18px rgba(217, 183, 122, 0); } }
.kct-card--wa small, .kct-card--wa i { color: #D9B77A; }
.kct-card--wa span:not(.kct-card__ico) { color: rgba(246, 241, 232, .72); }
.kct-info { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 16px; background: #F0EAE0; }
.kct-info > div { display: flex; flex-direction: column; gap: 6px; padding: 26px; border-top: 1px solid rgba(143, 109, 67, .3); }
.kct-info__clock { flex-direction: row !important; align-items: center; gap: 22px !important; }
.kct-clock { width: 96px; height: 96px; flex: none; color: #3A2C1C; }
.kct-clock line[class] { transform-origin: 60px 60px; transition: transform .5s cubic-bezier(.3, 1.6, .5, 1); }
.kct-info small { font: 600 10px/1 var(--serif); letter-spacing: .24em; text-transform: uppercase; color: #8F6D43; }
.kct-info b { font: 500 28px/1.1 var(--serif); color: #0E0C0A; font-variant-numeric: tabular-nums; }
.kct-info span { font: 500 15px/1.4 var(--serif); color: #5A4A38; }
@media (min-width: 1081px) {
  .p-contact main section.kct { grid-template-columns: 1fr 1fr; gap: 40px; padding: calc(var(--k) * 150) calc(var(--k) * 86) calc(var(--k) * 40) !important; }
  .p-contact main section.kct-cards { padding: calc(var(--k) * 20) calc(var(--k) * 86) !important; }
  .p-contact main section.kct-info { padding: calc(var(--k) * 30) calc(var(--k) * 86) calc(var(--k) * 80) !important; }
}
@media (max-width: 1080px) {
  .p-contact main section.kct { grid-template-columns: 1fr; padding: 130px 22px 10px !important; }
  .kct__fan { height: 400px; margin-top: 10px; }
  .kct__arch { width: 44%; } .kct__arch:nth-child(2) { width: 48%; }
  .p-contact main section.kct-cards { grid-template-columns: 1fr; padding: 10px 20px !important; gap: 12px; }
  .p-contact main section.kct-info { grid-template-columns: 1fr; padding: 16px 20px 50px !important; gap: 0; }
}

/* ======================================================================
   ПОРТФОЛИО: живая лента фото, счётчик, красивая смена фильтра
   ====================================================================== */
.kpf-ribbon { position: absolute; z-index: -1; left: 0; right: 0; bottom: 0; display: grid; gap: 10px; overflow: hidden; -webkit-mask: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); pointer-events: none; }
.kpf-ribbon__row { display: flex; gap: 10px; width: max-content; animation: kribbon 60s linear infinite; }
.kpf-ribbon__row--rev { animation-direction: reverse; animation-duration: 70s; }
.kpf-ribbon img { height: 120px; width: auto; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 999px 999px 0 0; filter: sepia(.2) saturate(.85); opacity: .9; }
@keyframes kribbon { to { transform: translateX(-50%); } }
.kpf-count { position: absolute; display: flex; align-items: baseline; gap: 8px; margin: 0; }
.kpf-count b { font: 400 64px/1 var(--serif); color: #8F6D43; font-variant-numeric: tabular-nums; }
.kpf-count span { font: 600 11px/1 var(--serif); letter-spacing: .26em; text-transform: uppercase; color: #3A2C1C; }
@media (min-width: 1081px) {
  .kpf-hero { height: calc(var(--k) * 520) !important; }
  .kpf-ribbon { display: none; }
  .kpf-count { left: calc(var(--k) * 92); bottom: calc(var(--k) * 40); }
}
@media (max-width: 1080px) {
  .kpf-hero__img { display: none; }
  .kpf-ribbon { position: relative; z-index: 0; margin-top: 26px; }
  .kpf-count { position: relative; margin: 18px 26px 6px; }
  .kpf-count b { font-size: 48px; }
  .kpf-hero__side, .kpf-hero__vl { display: none; }
  .kpf-hero__line { margin-top: 90px !important; }
}
.kpf-tile { transition: opacity .5s, transform .6s cubic-bezier(.3, 1.2, .5, 1), filter .5s; }
.kpf-grid.is-switch .kpf-tile:not(.is-off) { animation: kswap .7s cubic-bezier(.3, 1.2, .5, 1) both; animation-delay: calc(var(--ti, 0) * 45ms); }
@keyframes kswap { from { opacity: 0; transform: translateY(24px) scale(.94); filter: blur(4px); } to { opacity: 1; transform: none; filter: none; } }
.kpf-tile::before { content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(115deg, transparent 40%, rgba(255, 244, 220, .35) 50%, transparent 60%); transform: translateX(-120%); transition: transform 1s var(--ease-out); }
.kpf-tile:hover::before { transform: translateX(120%); }
.ktpill { transition: background .4s, color .4s, transform .4s cubic-bezier(.3, 1.6, .5, 1), box-shadow .4s; }
.ktpill:active { transform: scale(.94); }
.ktpill.is-on { box-shadow: 0 10px 22px -12px rgba(143, 109, 67, .8); }
/* веер арок без abs(): явные углы */
.kct__arch:nth-child(1) { --rot: -16deg; --ty: 6%; --rot2: -24deg; --ty2: 10%; }
.kct__arch:nth-child(2) { --rot: 0deg; --ty: 0%; --rot2: 0deg; --ty2: -3%; }
.kct__arch:nth-child(3) { --rot: 16deg; --ty: 6%; --rot2: 24deg; --ty2: 10%; }
.kct__arch, .page-in .kct__arch { transform: translateX(-50%) rotate(var(--rot)) translateY(var(--ty)); }
.js .kct__arch { transform: translateX(-50%) rotate(0deg) translateY(30%); }
.page-in .kct__arch { transform: translateX(-50%) rotate(var(--rot)) translateY(var(--ty)); }
.kct__fan:hover .kct__arch { transform: translateX(-50%) rotate(var(--rot2)) translateY(var(--ty2)); transition-delay: 0s; }
/* контакты: веер шире, рукописная строка крупно, часы без наложения */
.kct__arch:nth-child(1) { --rot: -14deg; --ty: 4%; --rot2: -20deg; --ty2: 7%; --tx: -95%; }
.kct__arch:nth-child(2) { --tx: -50%; }
.kct__arch:nth-child(3) { --rot: 14deg; --ty: 4%; --rot2: 20deg; --ty2: 7%; --tx: -5%; }
.kct__arch, .page-in .kct__arch { transform: translateX(var(--tx)) rotate(var(--rot)) translateY(var(--ty)); }
.js .kct__arch { transform: translateX(-50%) rotate(0deg) translateY(30%); }
.page-in .kct__arch { transform: translateX(var(--tx)) rotate(var(--rot)) translateY(var(--ty)); }
.kct__fan:hover .kct__arch { transform: translateX(var(--tx)) rotate(var(--rot2)) translateY(var(--ty2)); }
.p-contact .kct__script { font: 400 clamp(34px, 3.2vw, 48px)/.85 var(--script) !important; color: #8F6D43 !important; }
.kct-info__clock > div { display: flex; flex-direction: column; gap: 6px; }
@media (max-width: 1080px) { .kct__arch { width: 36%; } .kct__arch:nth-child(2) { width: 42%; } .kct__fan { height: 340px; } }
/* живая вода: заметнее */
.kwater__canvas { mix-blend-mode: screen; filter: blur(.4px); opacity: .95; }
.kwater__hint { animation: khint 2.4s ease-in-out infinite; }
@keyframes khint { 50% { box-shadow: 0 0 0 6px rgba(255, 255, 255, .18); } }


/* ======================================================================
   КАРТА-ПУТЕШЕСТВИЕ (прокрутка = полёт камеры за самолётом)
   ====================================================================== */
.p-home main section.kjour { position: relative; height: calc(100svh * (var(--n) * .9 + .6)); padding: 0; background: #EFE8DD; font-family: var(--serif); color: var(--ktext); }
.kjour__pin { position: sticky; top: 0; height: 100svh; display: flex; flex-direction: column; overflow: hidden; }
.kjour__head { position: relative; z-index: 3; padding: 96px 24px 14px; background: linear-gradient(180deg, #F3EEE6 70%, rgba(243, 238, 230, 0)); }
.kjour__h { margin: 10px 0 0; font: 400 clamp(30px, 3.4vw, 50px)/1.05 var(--serif); color: #0E0C0A; }
.kjour__h em { color: #8F6D43; }
.kjour__view { position: relative; flex: 1; overflow: hidden; background: radial-gradient(120% 90% at 50% 40%, #F6F1E8 0%, #ECE3D5 100%); }
.kjour__canvas { position: absolute; left: 0; top: 0; width: 1400px; height: 594px; transform-origin: 0 0; will-change: transform; --inv: 1; }
.kjour__land { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .9; }
.kjour__svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.kjour__ghost { fill: none; stroke: #A5834F; stroke-width: calc(1.2px * var(--inv)); stroke-dasharray: calc(4px * var(--inv)) calc(7px * var(--inv)); opacity: .5; }
.kjour__route { fill: none; stroke: url(#kjGold); stroke-width: calc(3px * var(--inv)); stroke-linecap: round; }
.kjour__glow { fill: none; stroke: #E9CF94; stroke-width: calc(9px * var(--inv)); stroke-linecap: round; opacity: .55; }
.kjour__city { position: absolute; width: 0; height: 0; z-index: 2; }
.kjour__city > * { position: absolute; transform: translate(-50%, -50%) scale(var(--inv)); transform-origin: 50% 50%; }
.kjour__dot { left: 0; top: 0; width: 14px; height: 14px; border-radius: 50%; background: #F6F1E8; border: 2.5px solid #A5834F; transition: background .5s, box-shadow .5s; }
.kjour__city.is-past .kjour__dot, .kjour__city.is-on .kjour__dot { background: #8F6D43; }
.kjour__city.is-on .kjour__dot { box-shadow: 0 0 0 5px rgba(217, 183, 122, .35), 0 0 22px 6px rgba(217, 183, 122, .6); }
.kjour__ping { left: 0; top: 0; width: 14px; height: 14px; border-radius: 50%; border: 2px solid #C9A86A; opacity: 0; }
.kjour__city.is-on .kjour__ping { animation: kjping 1.8s ease-out infinite; }
@keyframes kjping { 0% { opacity: .9; transform: translate(-50%, -50%) scale(calc(var(--inv) * 1)); } 100% { opacity: 0; transform: translate(-50%, -50%) scale(calc(var(--inv) * 5)); } }
.kjour__city b { left: 0; top: 0; margin-top: -26px; white-space: nowrap; font: 600 13px/1 var(--serif); letter-spacing: .2em; text-transform: uppercase; color: #3A2C1C; transform: translate(-50%, -100%) scale(var(--inv)); transform-origin: 50% 100%; text-shadow: 0 0 6px #F3EEE6, 0 0 12px #F3EEE6; transition: color .5s; }
.kjour__city.is-on b { color: #8F6D43; }
.kjour__plane { position: absolute; z-index: 3; width: 34px; height: 34px; color: #6F5431; filter: drop-shadow(0 4px 6px rgba(60, 40, 20, .35)) drop-shadow(0 0 10px rgba(233, 207, 148, .9)); pointer-events: none; }
.kjour__plane svg { width: 100%; height: 100%; fill: currentColor; transition: transform .5s; }
.kjour__plane.is-flying svg { transform: scale(1.25); }
.kjour__big { position: absolute; z-index: 1; left: 0; right: 0; top: 4%; margin: 0; text-align: center; font: 500 clamp(64px, 18vw, 180px)/1 var(--serif); letter-spacing: .04em; text-transform: uppercase; color: transparent; -webkit-text-stroke: 1px rgba(143, 109, 67, .28); pointer-events: none; white-space: nowrap; opacity: 0; }
.kjour__big.is-in { animation: kjbig 1.2s cubic-bezier(.2, .8, .2, 1) forwards; }
@keyframes kjbig { from { opacity: 0; transform: translateY(24px); letter-spacing: .3em; } to { opacity: 1; transform: none; letter-spacing: .04em; } }
.kjour__hud { position: absolute; z-index: 4; left: 18px; right: 18px; top: 14px; display: flex; align-items: center; justify-content: space-between; }
.kjour__km { display: flex; align-items: baseline; gap: 8px; padding: 8px 14px; border-radius: 999px; background: rgba(251, 249, 245, .85); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); box-shadow: 0 6px 18px -10px rgba(60, 40, 20, .4); }
.kjour__km b { font: 500 22px/1 var(--serif); color: #8F6D43; font-variant-numeric: tabular-nums; }
.kjour__km span { font: 600 9px/1 var(--serif); letter-spacing: .2em; text-transform: uppercase; color: #5A4A38; }
.kjour__dots { display: flex; gap: 8px; margin: 0; padding: 8px 12px; list-style: none; border-radius: 999px; background: rgba(251, 249, 245, .85); }
.kjour__dots li { width: 8px; height: 8px; border-radius: 50%; border: 1.5px solid #A5834F; transition: background .4s, transform .4s, width .4s; }
.kjour__dots li.is-past { background: #A5834F; }
.kjour__dots li.is-on { background: #8F6D43; width: 22px; border-radius: 999px; }
.kjour__cards { position: absolute; z-index: 5; left: 14px; right: 14px; bottom: calc(14px + env(safe-area-inset-bottom)); height: 118px; }
.kjour__card { position: absolute; inset: 0; display: flex; align-items: center; gap: 14px; padding: 12px 16px 12px 12px; background: linear-gradient(145deg, #16110C, #231A11 60%, #120E0A); color: #F6F1E8; border-radius: 12px; box-shadow: 0 20px 40px -20px rgba(20, 14, 8, .7), inset 0 0 0 1px rgba(217, 183, 122, .35); opacity: 0; transform: translateY(26px) scale(.96); transition: opacity .5s, transform .7s cubic-bezier(.2, 1.2, .3, 1); pointer-events: none; }
.kjour__card.is-on { opacity: 1; transform: none; }
.kjour__photo { flex: none; width: 76px; height: 94px; overflow: hidden; border-radius: 999px 999px 0 0; box-shadow: 0 0 0 2px #D9B77A; }
.kjour__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; transform: scale(1.15); transition: transform 1.4s var(--ease-out); }
.kjour__card.is-on .kjour__photo img { transform: none; }
.kjour__card small { display: block; font: 600 9.5px/1 var(--serif); letter-spacing: .22em; text-transform: uppercase; color: #D9B77A; }
.kjour__card b { display: block; margin-top: 6px; font: 500 28px/1 var(--serif); background: linear-gradient(100deg, #F6E4B8, #D9B77A 50%, #F6E4B8); -webkit-background-clip: text; background-clip: text; color: transparent; }
.kjour__card span { display: block; margin-top: 6px; font: 500 14.5px/1.3 var(--serif); color: rgba(246, 241, 232, .8); }
.kjour__hint { position: absolute; z-index: 5; left: 50%; bottom: 150px; transform: translateX(-50%); margin: 0; display: flex; align-items: center; gap: 10px; padding: 8px 16px; border-radius: 999px; background: rgba(12, 10, 8, .7); color: #F6E4B8; font: 600 10px/1 var(--serif); letter-spacing: .22em; text-transform: uppercase; white-space: nowrap; transition: opacity .5s; }
.kjour__hint i { width: 12px; height: 18px; border: 1.5px solid #D9B77A; border-radius: 8px; position: relative; }
.kjour__hint i::after { content: ''; position: absolute; left: 50%; top: 3px; width: 2px; height: 4px; margin-left: -1px; background: #D9B77A; border-radius: 2px; animation: kjwheel 1.4s ease-in-out infinite; }
@keyframes kjwheel { 50% { transform: translateY(6px); opacity: .3; } }
.kjour__hint.is-gone { opacity: 0; }
@media (min-width: 1081px) {
  .kjour__head { padding: calc(var(--k) * 96) calc(var(--k) * 86) calc(var(--k) * 10); }
  .kjour__hud { left: calc(var(--k) * 86); right: calc(var(--k) * 86); top: 22px; }
  .kjour__cards { left: auto; right: calc(var(--k) * 86); bottom: auto; top: 50%; width: 400px; height: 150px; margin-top: -40px; }
  .kjour__photo { width: 96px; height: 120px; }
  .kjour__card b { font-size: 34px; }
  .kjour__hint { bottom: 40px; }
  .kjour__big { top: auto; bottom: 6%; }
}
@media (max-width: 1080px) {
  .p-home main > .kjour { order: 4; }
  .kjour__head { padding-top: 78px; }
  .kjour__h { font-size: 28px; }
}
.p-home main section.kjour { overflow-x: clip; }
.kjour__land { opacity: .75; }
.kjour__big { max-width: 100%; overflow: hidden; }
@media (max-width: 1080px) {
  .kjour__cards { bottom: calc(76px + env(safe-area-inset-bottom)); }
  .kjour__hint { bottom: 212px; }
  .kjour__big { font-size: 64px; }
}

.p-home main section.kvalues, .p-home main section.kmission { overflow-x: clip; }
/* главная, телефон: первый экран ниже примерно на 22%, дети видны без прокрутки */
@media (max-width: 1080px) {
  .kh { height: calc(var(--m) * 744); }
  .kh__bg { width: 124%; left: -12%; top: calc(var(--m) * -150); }
  .kh__txt { top: calc(var(--m) * 150); }
  .kh__title { font-size: calc(var(--m) * 60); margin-top: calc(var(--m) * 12); }
  .kh__slogan { font-size: calc(var(--m) * 23); margin-top: calc(var(--m) * 6); }
  .kh__script { top: calc(var(--m) * 318); }
  .kh__acts { top: calc(var(--m) * 596); gap: calc(var(--m) * 12); }
  .kbtn { height: calc(var(--m) * 50); }
  .kh__side { top: calc(var(--m) * 470); }
  .kh__place { top: calc(var(--m) * 500); }
  .kh__compass { top: calc(var(--m) * 540); }
  .kshan { top: calc(var(--m) * 80); width: calc(var(--m) * 290); }
}

/* ======================================================================
   МЕНЮ v3: шапка компактная и светлая, пункты с номерами, текст выезжает из-под линии
   ====================================================================== */
.menu { background: #0C0A08; padding-top: 104px; }
.menu::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(70% 45% at 85% 0%, rgba(217, 183, 122, .18), transparent 70%), radial-gradient(60% 40% at 0% 100%, rgba(143, 109, 67, .16), transparent 70%); }
.menu__bg { opacity: .09; animation: kmenubg 30s linear infinite; }
@keyframes kmenubg { to { transform: rotate(360deg); } }
/* шапка поверх меню: компактно, в одну строку, светлым */
.menu-open .hdr { padding-top: 14px !important; padding-bottom: 12px !important; background: rgba(12, 10, 8, .82) !important; backdrop-filter: blur(10px) !important; -webkit-backdrop-filter: blur(10px) !important; box-shadow: 0 1px 0 rgba(217, 183, 122, .2) !important; transform: none !important; }
.menu-open .hdr__logo { flex-direction: row !important; align-items: center !important; gap: 10px !important; color: #D9B77A !important; }
.menu-open .hdr__logo .mark { width: 46px !important; height: 32px !important; margin: 0 !important; }
.menu-open .hdr__name b { color: #F6F1E8 !important; font-size: 17px !important; }
.menu-open .hdr__name small { display: none !important; }
.menu-open .hdr__end { margin-top: 0 !important; }
.menu-open .burger__lines i, .menu-open .burger__lines::after { background: #D9B77A !important; }
.menu-open .hdr__nav a, .menu-open .hdr__langs a { color: #F6F1E8; }
/* пункты */
.menu__nav { counter-reset: kmn; border-top: 0; }
.menu .menu__nav a { counter-increment: kmn; grid-template-columns: 34px 1fr auto; align-items: baseline; padding: 14px 0 13px; border-bottom: 1px solid rgba(217, 183, 122, .14); }
.menu .menu__nav a::before { content: counter(kmn, decimal-leading-zero); grid-column: 1; grid-row: 1; font: 500 11px/1 var(--serif); letter-spacing: .1em; color: #A5834F; }
.menu__t { grid-column: 2; grid-row: 1; font: 400 clamp(32px, min(7.6vw, 5.6vh), 58px)/1.02 var(--serif); color: #F6F1E8; clip-path: inset(0 0 100% 0); transform: translateY(40%); transition: clip-path .8s cubic-bezier(.2, .8, .2, 1), transform .8s cubic-bezier(.2, .8, .2, 1), color .4s; transition-delay: calc(.2s + var(--i) * .07s); }
.menu.is-open .menu__t { clip-path: inset(0 0 -20% 0); transform: none; }
.menu__s { grid-column: 2 !important; margin-top: 6px; font: 600 9.5px/1.4 var(--serif) !important; letter-spacing: .22em !important; color: rgba(217, 183, 122, .6) !important; }
.menu__arr { grid-column: 3 !important; }
.menu .menu__nav a[aria-current] .menu__t { color: #D9B77A; font-style: italic; }
.menu .menu__nav a[aria-current]::before { color: #F6E4B8; }
.menu .menu__nav a::after { background: linear-gradient(90deg, #D9B77A, transparent); }
.menu.is-open .menu__nav a::after { animation: kmenuline 1s calc(.3s + var(--i) * .07s) ease-out both; }
@keyframes kmenuline { 0% { width: 0; } 60% { width: 100%; } 100% { width: 0; } }
.menu .menu__nav a:active .menu__t { color: #D9B77A; }
/* дети: арки с именами, появляются по очереди */
.menu__kids a { opacity: 0; transform: translateY(20px); transition: opacity .7s, transform .8s cubic-bezier(.3, 1.3, .5, 1); }
.menu.is-open .menu__kids a { opacity: 1; transform: none; }
.menu.is-open .menu__kids a:nth-child(1) { transition-delay: .55s; } .menu.is-open .menu__kids a:nth-child(2) { transition-delay: .65s; } .menu.is-open .menu__kids a:nth-child(3) { transition-delay: .75s; }
.menu__kids .arch { box-shadow: 0 0 0 1px rgba(217, 183, 122, .5); }
.menu__kids b { font: 500 16px/1 var(--serif) !important; letter-spacing: .08em; text-transform: uppercase; color: #F6F1E8; }
.menu__slogan { font: italic 400 16px/1.3 var(--serif) !important; color: rgba(246, 228, 184, .7) !important; }
@media (max-width: 760px) {
  .menu { padding-top: 84px; }
  .menu__in { gap: 22px; }
  .menu .menu__nav a { padding: 11px 0 10px; }
  .menu__t { font-size: 34px; }
}

@media (max-width: 760px) { .menu__t { font-size: 31px; white-space: nowrap; } }

/* шапка на телефоне до прокрутки выше */
@media (max-width: 1080px) { .hdr:not(.is-solid) { padding-top: calc(var(--m) * 18); } .hdr:not(.is-solid) .hdr__end { margin-top: calc(var(--m) * 12); } }

/* карта v2: высота полёта, тень, облака, вспышка прилёта, общий план в конце */
.kjour__plane svg, .kjour__plane.is-flying svg { transform: none; transition: none; }
.kjour__plane { transform-origin: 50% 50%; }
.kjour__shadow { position: absolute; z-index: 2; width: 34px; height: 34px; color: #3A2C1C; filter: blur(2px); pointer-events: none; opacity: .3; }
.kjour__shadow svg { width: 100%; height: 100%; fill: currentColor; }
.kjour__clouds { position: absolute; inset: 0; z-index: 3; pointer-events: none; overflow: hidden; opacity: var(--kj-alt, 0); }
.kjour__clouds i { position: absolute; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 255, 255, .95), rgba(255, 253, 248, .6) 55%, rgba(255, 253, 248, 0)); transform: translate3d(calc(var(--kj-cx, 0px) * var(--d)), 0, 0); will-change: transform; }
.kjour__clouds i::after { content: ''; position: absolute; left: 30%; top: -35%; width: 60%; height: 90%; border-radius: 50%; background: inherit; }
.kjour__clouds i:nth-child(1) { --d: 1.5; left: 8%; top: 18%; width: 70vw; max-width: 620px; height: 150px; }
.kjour__clouds i:nth-child(2) { --d: .8; left: 55%; top: 44%; width: 46vw; max-width: 420px; height: 96px; opacity: .8; }
.kjour__clouds i:nth-child(3) { --d: 2.1; left: -20%; top: 62%; width: 90vw; max-width: 760px; height: 190px; }
.kjour__clouds i:nth-child(4) { --d: 1.1; left: 60%; top: 6%; width: 40vw; max-width: 360px; height: 80px; opacity: .7; }
.kjour__burst { left: 0; top: 0; width: 14px; height: 14px; border-radius: 50%; opacity: 0; pointer-events: none; box-shadow: 0 -22px 0 -5px #E9CF94, 0 22px 0 -5px #E9CF94, -22px 0 0 -5px #E9CF94, 22px 0 0 -5px #E9CF94, 16px 16px 0 -5px #D9B77A, -16px -16px 0 -5px #D9B77A, 16px -16px 0 -5px #D9B77A, -16px 16px 0 -5px #D9B77A, inset 0 0 0 2px #E9CF94; }
.kjour__city.is-burst .kjour__burst { animation: kjburst 1.1s cubic-bezier(.15, .8, .25, 1) forwards; }
@keyframes kjburst { 0% { opacity: 1; transform: translate(-50%, -50%) scale(calc(var(--inv) * .4)); } 70% { opacity: .9; } 100% { opacity: 0; transform: translate(-50%, -50%) scale(calc(var(--inv) * 3)); } }
.kjour__card, .kjour__big, .kjour__hud { transition: opacity .6s, transform .7s cubic-bezier(.2, 1.2, .3, 1); }
.kjour.is-final .kjour__card.is-on { opacity: 0; transform: translateY(26px) scale(.96); }
.kjour.is-final .kjour__big { opacity: 0 !important; }
.kjour.is-final .kjour__city b { color: #8F6D43; }
.kjour.is-final .kjour__city .kjour__ping { animation: kjping 2.4s ease-out infinite; }
.kjour.is-final .kjour__city:nth-child(odd) .kjour__ping { animation-delay: .6s; }
.kjour.is-final .kjour__glow { animation: kjglow 2.2s ease-in-out infinite; }
@keyframes kjglow { 50% { opacity: .95; } }
.kjour.is-final .kjour__km { transform: scale(1.12); box-shadow: 0 0 0 1px #D9B77A, 0 10px 30px -10px rgba(143, 109, 67, .6); }
@media (max-width: 1080px) { .hdr:not(.is-solid) .hdr__logo { margin-top: calc(var(--m) * -14); } }
@media (prefers-reduced-motion: reduce) { .kjour__clouds { display: none; } }
@media (max-width: 1080px) { .kjour.is-final .kjour__city b { font-size: 9px; margin-top: -14px; letter-spacing: .12em; } }
.kjour__land { -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent), linear-gradient(180deg, transparent, #000 8%, #000 92%, transparent); -webkit-mask-composite: source-in; mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent), linear-gradient(180deg, transparent, #000 8%, #000 92%, transparent); mask-composite: intersect; }
.kjour__clouds i { background: radial-gradient(closest-side, #fff, rgba(255, 253, 248, .75) 55%, rgba(255, 253, 248, 0)); }
@media (max-width: 1080px) { .kjour.is-final .kjour__city:is([data-i="1"], [data-i="4"]) b { margin-top: 14px; transform: translate(-50%, 0) scale(var(--inv)); transform-origin: 50% 0; } }
/* меню на телефоне: только вертикальная прокрутка, без сдвига вбок */
.menu { overflow-x: hidden; overscroll-behavior: contain; touch-action: pan-y; }
.menu__in, .menu__nav, .menu__aside, .menu__kids, .menu__kids a { min-width: 0; max-width: 100%; }
.menu__kids .arch { width: 100%; }
html:has(body.menu-open), body.menu-open { overflow: hidden; overscroll-behavior: none; }
.menu__bg { position: fixed; }
/* скачивание PDF-карточек на странице бронирования */
.kbk-cards { margin-top: clamp(40px, 5vw, 64px); padding-top: clamp(28px, 3vw, 40px); border-top: 1px solid rgba(165, 131, 79, .3); }
.kbk-cards__row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.kbk-card { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 16px 18px; border-radius: 12px; background: linear-gradient(145deg, #16110C, #231A11 60%, #120E0A); color: #F6F1E8; box-shadow: inset 0 0 0 1px rgba(217, 183, 122, .35); transition: transform .4s var(--ease-out), box-shadow .4s; }
.kbk-card span { font: 500 22px/1 var(--serif); }
.kbk-card i { font: normal 600 10px/1 var(--serif); letter-spacing: .2em; color: #D9B77A; }
.kbk-card:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 1px #D9B77A, 0 14px 30px -16px rgba(20, 14, 8, .7); }
@media (max-width: 760px) { .kbk-cards__row { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kbk-card { padding: 14px; } .kbk-card span { font-size: 19px; } }
