/* Level up · тема одетых страниц (/, /details/, /leader/): вид принятого сайта grow-full-20261014 — туман · камень · гроза · мох · графит · шафран; Source Serif 4 + Inter.
   Прокрутку ничто не держит: у каждого блока своя высота, картинки не липнут. Подключается только на одетых страницах. */
@font-face { font-family: "Source Serif 4"; src: url("../fonts/SourceSerif4-Variable.ttf") format("truetype"); font-weight: 200 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../fonts/Inter-Variable.ttf") format("truetype"); font-weight: 100 900; font-display: swap; }

:root {
  --mist: #E7E9E3; --stone: #CDD0C6; --storm: #5B6168; --moss: #55653A; --graphite: #1E2327; --ink: #181C1F; --cream: #EEE7D7;
  --saffron: #D9621C; --saffron-deep: #B85014; --saffron-light: #F0A36F;
  --text: #1E2327; --text2: rgba(30, 35, 39, .74); --ln: rgba(30, 35, 39, .16);
  --serif: "Source Serif 4", Georgia, "Times New Roman", serif; --sans: Inter, system-ui, "Helvetica Neue", Arial, sans-serif;
  --pad: clamp(20px, 4.7vw, 64px); --gut: clamp(14px, 2.2vw, 32px);
  --bar-h: 64px; --ease: cubic-bezier(.22, .61, .36, 1);
  /* знак-чакана: вшит в файл, чтобы маска работала и со страницы с диска, и с сервера */
  --chak: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 250 250'%3E%3Cpath fill-rule='evenodd' d='M90.5 20L164 20L166 21.5L166 53L167.5 54L195.5 54L197 55.5L197 84.5L229 85.5L230.5 87L231 162.5L229 165L198 165L197 166L197 194.5L194 196.5L166 197L166 229L163.5 231L90 230.5L89 230L88 227.5L88 196.5L59 196L57.5 194.5L57.5 166L56.5 165L26 165L24 163L24 87L25.5 85.5L29 85L57 85L57 57.5L58 54.5L88 53.5L88.5 22ZM111 26.5L95 27.5L95 59L94 60L64 61L64 90.5L62.5 92L31 92.5L30.5 157L32.5 158.5L60 158L63.5 159L64.5 161.5L64 189L92 189.5L94.5 190.5L95.5 224L158.5 224L159.5 208.5L159.5 191.5L160.5 190L162 189.5L190 189.5L190.5 159.5L193.5 158L224 158L224 92.5L192 92L190.5 91L190 60.5L161.5 60.5L159.5 59L159 27ZM116.5 73L137.5 73L139 74L139.5 113L176 113L178.5 115.5L178.5 136L177.5 137.5L139 138.5L139 176.5L137 178L117.5 178L115.5 177L114.5 138L77.5 138L75.5 135.5L75.5 115.5L77 113.5L115 112.5L115 74.5ZM122.5 80L121.5 88.5L121 119L118.5 120L83 120L82.5 130.5L86 131.5L119.5 131.5L121.5 134L122 170.5L132 171L133 133L134.5 131.5L143.5 131L171.5 131L171.5 120L134 119.5L132.5 117.5L132.5 80.5Z'/%3E%3C/svg%3E");
}
* { box-sizing: border-box; }
html { scroll-padding-top: calc(var(--bar-h) + 8px); scroll-behavior: auto; }
body.lu { margin: 0; background: var(--mist); color: var(--text); font: 400 17px/1.6 var(--sans); -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: 100%; overflow-x: hidden; }
:where(.lu) img, :where(.lu) video { display: block; max-width: 100%; }
:where(.lu) a { color: inherit; text-decoration: none; }
:where(.lu) h1, :where(.lu) h2, :where(.lu) h3, :where(.lu) p, :where(.lu) ul, :where(.lu) ol, :where(.lu) figure, :where(.lu) blockquote { margin: 0; padding: 0; }
:where(.lu) ul, :where(.lu) ol { list-style: none; }
:where(.lu) p + p { margin-top: .9em; }
:where(.lu) button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }

/* ——— шапка и шторка меню ——— */
.bar { position: fixed; z-index: 70; left: 0; right: 0; top: 0; height: var(--bar-h); display: flex; align-items: center; gap: 14px; padding: 0 var(--pad); color: var(--graphite); transition: background .45s var(--ease), color .45s var(--ease), box-shadow .45s var(--ease); }
.bar.solid { background: rgba(231, 233, 227, .94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 1px 0 rgba(30, 35, 39, .1); }
.bar.over:not(.solid) { color: #fff; background: linear-gradient(180deg, rgba(14, 16, 19, .7), rgba(14, 16, 19, 0)); text-shadow: 0 1px 10px rgba(0, 0, 0, .45); }
.menu-btn { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 15px; }
.menu-btn b { display: inline-flex; flex-direction: column; gap: 5px; width: 20px; }
.menu-btn b::before, .menu-btn b::after { content: ""; height: 1.5px; background: currentColor; }
.sign { position: absolute; left: 50%; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font: 400 22px/1 var(--serif); letter-spacing: .03em; white-space: nowrap; }
.mk { display: inline-block; flex: none; width: 22px; height: 22px; background: var(--saffron); -webkit-mask: var(--chak) center/contain no-repeat; mask: var(--chak) center/contain no-repeat; }
.bar .tg { margin-left: auto; display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 1.3em; background: var(--saffron-deep); color: #fff; font: 500 13px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; text-shadow: none; transition: background .35s var(--ease); }
.bar .tg:hover { background: #963F0D; }
.bar .tg .s { display: none; }
.drawer { position: fixed; inset: 0; z-index: 80; display: flex; flex-direction: column; padding: 0 var(--pad) 28px; background: var(--graphite); color: #EEF0EC; clip-path: inset(0 0 100% 0); visibility: hidden; transition: clip-path .7s var(--ease), visibility 0s .7s; }
.drawer.open { clip-path: inset(0); visibility: visible; transition: clip-path .7s var(--ease), visibility 0s; }
.drawer .top { height: var(--bar-h); display: flex; align-items: center; justify-content: space-between; }
.drawer .x { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 15px; }
.drawer nav { margin: auto 0; display: flex; flex-direction: column; }
.drawer nav a { display: flex; align-items: baseline; gap: 18px; padding: 2px 0; font: 300 clamp(32px, 16px + 4vw, 66px)/1.12 var(--serif); letter-spacing: .02em; text-transform: uppercase; opacity: 0; transform: translateY(24px); transition: opacity .6s var(--ease), transform .6s var(--ease), color .3s; }
.drawer.open nav a { opacity: 1; transform: none; }
.drawer nav a small { font: 12px var(--sans); letter-spacing: .2em; color: #AEB89A; min-width: 2.2em; }
.drawer nav a:hover, .drawer nav a[aria-current] { color: var(--saffron-light); }
.drawer .dfoot { display: flex; flex-wrap: wrap; gap: 12px 28px; align-items: center; justify-content: space-between; font-size: 14px; color: rgba(238, 240, 236, .74); }
.drawer .dfoot .tg { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1.3em; background: var(--saffron-deep); color: #fff; font: 500 13px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; }

/* ——— каркас блоков ——— */
.sec { position: relative; padding: clamp(72px, 10vw, 150px) var(--pad); }
.sec.tight { padding-top: clamp(48px, 6vw, 96px); padding-bottom: clamp(48px, 6vw, 96px); }
[data-in] { max-width: 1240px; margin: 0 auto; }
.mist { background: var(--mist); }
.stone { background: var(--stone); }
.cream { background: var(--cream); }
.dark { --text: #EEF0EC; --text2: rgba(238, 240, 236, .78); --ln: rgba(255, 255, 255, .14); background: var(--graphite); color: var(--text); }
.g2 { display: grid; gap: clamp(28px, 4vw, 56px); }
@media (min-width: 900px) { .g2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(48px, 6vw, 96px); align-items: center; } .g2.flip > :first-child { order: 2; } .g2.top { align-items: start; } }
.g2 > * { min-width: 0; }

[data-cap] { display: inline-flex; align-items: center; gap: .6em; font: italic 400 17px/1.3 var(--serif); letter-spacing: .01em; color: var(--moss); }
[data-cap]::before { content: ""; flex: none; width: 1.05em; height: 1.05em; background: currentColor; -webkit-mask: var(--chak) center/contain no-repeat; mask: var(--chak) center/contain no-repeat; }
.dark [data-cap] { color: #C9D0B6; }
[data-h2] { margin-top: 16px; font: 300 clamp(2rem, 1.1rem + 3.2vw, 3.9rem)/1.04 var(--serif); letter-spacing: .02em; text-transform: uppercase; text-wrap: balance; }
[data-h2] em { font-style: normal; text-transform: inherit; color: var(--saffron-deep); }
.dark [data-h2] em { color: var(--saffron-light); }
[data-h3] { font: 300 clamp(1.5rem, 1.1rem + 1.2vw, 2.1rem)/1.1 var(--serif); letter-spacing: .01em; margin: 0 0 .5em; }
.lead { font: italic 300 clamp(1.3rem, 1rem + 1.1vw, 1.9rem)/1.3 var(--serif); text-wrap: pretty; }
.sec p, .sec li { text-wrap: pretty; }
.body p { max-width: 38em; }
.quiet { color: var(--text2); font-size: 16px; }
.more { display: inline-flex; align-items: center; gap: .6em; min-height: 44px; padding-top: 4px; font: 500 13px/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; border-bottom: 1px solid currentColor; }
.more:hover { color: var(--saffron-deep); }
.dark .more { color: var(--saffron-light); }
.more::after { content: "→"; transition: transform .4s var(--ease); }
.more:hover::after { transform: translateX(5px); }
.back::after { content: none; }
.back::before { content: "←"; }
.pill { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 1.9em; background: var(--saffron-deep); color: #fff; font: 500 13px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; text-align: center; transition: background .35s var(--ease), transform .35s var(--ease); }
.pill:hover { background: var(--saffron); }
.pill:active { transform: scale(.97); }
.pill.line { background: transparent; box-shadow: inset 0 0 0 1px currentColor; color: var(--saffron-deep); }
.pill.line:hover { background: var(--saffron-deep); color: #fff; }
.dark .pill.line { color: var(--saffron-light); }
.huge { font: 300 clamp(4rem, 1rem + 11vw, 11rem)/.9 var(--serif); letter-spacing: .02em; }
[data-ph] { position: relative; overflow: hidden; background: var(--storm); }
[data-ph] img { width: 100%; height: 100%; object-fit: cover; }
[data-ph] figcaption { position: absolute; left: 14px; bottom: 12px; color: #fff; font-size: 12px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; text-shadow: 0 1px 10px rgba(0, 0, 0, .5); }
[data-rv] { transition: opacity 1s var(--ease), transform 1s var(--ease); }
html.js [data-rv] { opacity: 0; transform: translateY(30px); }
html.js [data-rv].in-view { opacity: 1; transform: none; }
[data-rv][data-d1] { transition-delay: .1s; } [data-rv][data-d2] { transition-delay: .2s; }
@media (prefers-reduced-motion: reduce) { html.js [data-rv] { opacity: 1; transform: none; } }

/* ——— первый экран: одна высота экрана, листается с первого касания ——— */
.hero { position: relative; min-height: 100vh; min-height: 100svh; display: flex; align-items: flex-end; overflow: hidden; background: var(--ink); color: #EEF0EC; }
.hero .bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero .shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(24, 28, 31, .18) 0%, rgba(24, 28, 31, 0) 32%, rgba(24, 28, 31, .22) 56%, rgba(24, 28, 31, .88) 100%); }
.hero .ht { position: relative; z-index: 2; width: 100%; max-width: 1240px; margin: 0 auto; padding: 110px var(--pad) clamp(40px, 8vh, 92px); animation: rise 1.2s var(--ease) both; }
@keyframes rise { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
.hero [data-kick] { font: 500 12px/1.5 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: rgba(238, 240, 236, .86); margin-bottom: 18px; }
.hero h1 { font: 300 clamp(2.5rem, 1rem + 5.6vw, 5.8rem)/1.02 var(--serif); letter-spacing: -.005em; max-width: 13em; text-wrap: balance; }
.hero .sub { margin-top: 20px; max-width: 34em; font: italic 300 clamp(1.1rem, .9rem + .8vw, 1.5rem)/1.35 var(--serif); color: rgba(238, 240, 236, .9); }
.hero .pill { margin-top: 28px; }
.hero.page { min-height: 72vh; min-height: 72svh; }
.hero.page .shade { background: linear-gradient(180deg, rgba(24, 28, 31, .6) 0%, rgba(24, 28, 31, .42) 38%, rgba(24, 28, 31, .92) 100%); }
.hero.page .sub { color: #EEF0EC; font-style: normal; font-family: var(--sans); font-size: clamp(1.05rem, .95rem + .5vw, 1.3rem); }
.hero.page h1 { font-size: clamp(2.4rem, 1rem + 5vw, 5rem); text-transform: uppercase; letter-spacing: .03em; }
.hero .subnav { display: flex; gap: 8px 22px; flex-wrap: wrap; margin-top: 26px; font-size: 14px; }
.hero .subnav a { padding: 6px 0; border-bottom: 1px solid rgba(238, 240, 236, .4); }
.hero .subnav a:hover { color: var(--saffron-light); }
.hero .back { margin-top: 12px; }

/* ——— «Это про тебя» ——— */
.ifs { margin: 24px 0 4px; }
.ifs li { padding: 14px 0; border-top: 1px solid var(--ln); font-size: 18px; max-width: 34em; }
.ifs li:last-child { border-bottom: 1px solid var(--ln); }
.face { display: flex; align-items: center; gap: 16px; margin-top: 26px; }
.face img { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; flex: none; }
.face p { font: italic 300 1.15rem/1.35 var(--serif); color: var(--text2); }
.tall { aspect-ratio: 4 / 5; }

/* ——— обещаю / не обещаю: плакат ——— */
.vow { margin: 24px 0 26px; font: 300 clamp(1.5rem, 1rem + 1.5vw, 2.3rem)/1.2 var(--serif); color: var(--graphite); }
.vow li { padding: 6px 0; border-bottom: 1px solid rgba(30, 35, 39, .12); }
.not { border-left: 2px solid var(--saffron-deep); padding-left: 18px; max-width: 34em; color: var(--graphite); }
.cream blockquote, .stone blockquote, .mist blockquote { margin-top: 30px; font: italic 300 clamp(1.3rem, 1rem + 1.2vw, 2rem)/1.28 var(--serif); max-width: 24em; color: var(--moss); }
.poster-pic { width: min(100%, 560px); justify-self: center; aspect-ratio: 4 / 5; }
.poster-pic img { -webkit-mask-image: radial-gradient(circle closest-side at 50% 50%, #000 93%, transparent 100%); mask-image: radial-gradient(circle closest-side at 50% 50%, #000 93%, transparent 100%); object-fit: cover; }
.poster-pic[data-ph] { background: transparent; }

/* ——— истории ——— */
.stories { display: grid; gap: 0; margin-top: clamp(32px, 4vw, 56px); }
@media (min-width: 900px) { .stories { grid-template-columns: 1fr 1fr; column-gap: clamp(40px, 6vw, 96px); } }
.story { padding: 30px 0 34px; border-top: 1px solid rgba(30, 35, 39, .28); font: 300 clamp(1.15rem, 1rem + .5vw, 1.4rem)/1.5 var(--serif); }
.story p { max-width: 28em; }
.story q { font-style: italic; color: var(--saffron-deep); quotes: none; }

/* ——— почему горы (тёмный, гравюра кондора аркой) ——— */
.flight { overflow: hidden; }
.flight .fbg { position: absolute; inset: 0; }
.flight .fbg img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.75); }
.flight .fbg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(22, 26, 30, .9), rgba(22, 26, 30, .72) 45%, rgba(22, 26, 30, .86)); }
.flight [data-in] { position: relative; z-index: 1; }
.engr { position: relative; width: min(72%, 300px); aspect-ratio: 9 / 14; padding: 12px; border-radius: 999px 999px 8px 8px; background: radial-gradient(ellipse at 50% 28%, #F6F0E4 0%, #EFE7D8 55%, #E3D8C3 100%); box-shadow: 0 2px 4px rgba(0, 0, 0, .28), 0 26px 60px -12px rgba(0, 0, 0, .62); justify-self: center; }
.engr img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 34%; border-radius: 999px 999px 3px 3px; mix-blend-mode: multiply; filter: contrast(1.06); }
.engr::after { content: ""; position: absolute; inset: 6px; border-radius: 999px 999px 5px 5px; box-shadow: inset 0 0 0 1px rgba(92, 64, 36, .38); pointer-events: none; }
.flight .huge { color: var(--saffron-light); margin: 34px 0 6px; }
.flight .band { margin-top: clamp(36px, 5vw, 64px); aspect-ratio: 16 / 9; max-height: 560px; }

/* ——— дорога по дням ——— */
.profile { width: 100%; max-width: 1000px; margin: 30px 0 6px; }
.profile svg { width: 100%; height: auto; overflow: visible; }
.profile .ln { fill: none; stroke: var(--graphite); stroke-width: 1.6; stroke-dasharray: 1400; stroke-dashoffset: 1400; transition: stroke-dashoffset 1.3s ease-out; }
.profile.on .ln { stroke-dashoffset: 0; }
.profile text { font: 400 14px var(--sans); fill: var(--storm); }
.profile .pk { font-size: 16px; fill: var(--saffron-deep); font-weight: 500; }
.profile circle { fill: var(--saffron-deep); }
@media (max-width: 899px) { .profile text { font-size: 30px; } .profile .pk { font-size: 34px; } .profile .rest { font-size: 28px; } }
.rail { display: flex; gap: clamp(12px, 1.4vw, 20px); overflow-x: auto; scroll-snap-type: x mandatory; margin: 34px calc(-1 * var(--pad)) 0; padding: 0 var(--pad) 8px; scroll-padding: 0 var(--pad); scrollbar-width: none; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
.rail::-webkit-scrollbar { display: none; }
.card { position: relative; flex: 0 0 clamp(250px, 29vw, 400px); aspect-ratio: 4 / 5; overflow: hidden; scroll-snap-align: start; background: var(--graphite); color: #fff; }
.card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.card:hover img { transform: scale(1.04); }
.card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18, 21, 24, 0) 45%, rgba(18, 21, 24, .78) 100%); }
.card .n, .card .t, .card .w { position: absolute; z-index: 2; left: 18px; right: 18px; }
.card .n { bottom: 62px; font: 300 1.1rem var(--serif); opacity: .85; }
.card .t { bottom: 16px; font: 300 clamp(1.2rem, 1rem + .6vw, 1.55rem)/1.1 var(--serif); }
.card .w { top: 14px; bottom: auto; font: 500 12px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--saffron-light); }
.rail-hint { margin-top: 12px; font-size: 14px; color: var(--text2); }

/* ——— дни: тёмная полоса ——— */
.day [data-kick] { font: 500 12px/1.4 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: rgba(238, 240, 236, .72); margin-bottom: 14px; }
.day .alt { font: 300 clamp(3.6rem, 1rem + 9vw, 8rem)/.9 var(--serif); letter-spacing: -.02em; margin: 0 0 14px; color: #EEF0EC; }
.day .alt small { font: italic 300 .28em var(--serif); color: var(--saffron-light); margin-left: .2em; }
.day [data-h3] { font-style: italic; font-size: clamp(1.9rem, 1.2rem + 2.6vw, 3.4rem); line-height: 1; }
.day p { color: rgba(238, 240, 236, .86); max-width: 36em; }
.day + .day { padding-top: 0; }
.day .term { margin-top: 22px; padding-left: 16px; border-left: 2px solid var(--saffron); color: rgba(238, 240, 236, .78); }
.day blockquote { margin-top: 30px; font: italic 300 clamp(1.5rem, 1rem + 2vw, 2.7rem)/1.12 var(--serif); color: #EEF0EC; max-width: 18em; }
.pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pair > * { min-width: 0; }
.pair img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.pair .wide { grid-column: 1 / -1; }
[data-pic43] { aspect-ratio: 4 / 3; }
.cusco-ph { grid-column: 1 / -1; margin: 0; }
.cusco-ph img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 55%; display: block; }
.cusco-ph figcaption { font-size: 12px; opacity: .6; margin-top: 6px; }
.nophoto { border: 1px dashed currentColor; opacity: .7; font-size: 13px; display: flex; align-items: center; justify-content: center; text-align: center; padding: 18px; aspect-ratio: 4 / 3; grid-column: 1 / -1; }
/* ——— круглые фото (слово Яна 03.11): круг, тонкий светлый ободок, мягкая тень ——— */
.day figure[data-ph][data-pic43], .tall[data-ph], .pair img, .pair figure.cusco-ph, .stops img, .ext img { aspect-ratio: 1; border-radius: 50%; box-shadow: 0 0 0 1px rgba(255, 255, 255, .7), 0 20px 44px -14px rgba(0, 0, 0, .5); background: var(--storm); }
.day figure[data-ph][data-pic43], .tall[data-ph] { width: min(100%, 460px); justify-self: center; margin-inline: auto; }
.mist .tall[data-ph], .stone .tall[data-ph], .cream .tall[data-ph] { box-shadow: 0 0 0 1px rgba(255, 255, 255, .85), 0 20px 44px -16px rgba(30, 35, 39, .45); }
.tall[data-ph] img { object-position: 50% 24%; }
.pair figure.cusco-ph { grid-column: auto; overflow: visible; box-shadow: none; background: none; aspect-ratio: auto; border-radius: 0; }
.pair figure.cusco-ph img { aspect-ratio: 1; border-radius: 50%; box-shadow: 0 0 0 1px rgba(255, 255, 255, .7), 0 20px 44px -14px rgba(0, 0, 0, .5); }
.pair img, .pair figure.cusco-ph img { width: 100%; object-fit: cover; }
.pair figure.cusco-ph figcaption { text-align: center; }
.mist .pair img, .stone .pair img, .cream .pair img, .stops img, .ext img { box-shadow: 0 0 0 1px rgba(255, 255, 255, .85), 0 18px 40px -16px rgba(30, 35, 39, .45); }
.stops img { width: 100%; max-width: 280px; height: auto; aspect-ratio: 1 !important; object-fit: cover; }
.ext img { aspect-ratio: 1 !important; }
.pair.rounds { max-width: 560px; justify-self: center; gap: 18px; }
.pair.rounds > :first-child { grid-column: 1 / -1; width: min(100%, 360px); justify-self: center; }
.pair.rounds > :nth-child(3) { margin-top: 34px; }
.despacho { width: min(100%, 340px); margin-top: 36px; background: none; }
@media (min-width: 900px) { .g2.top > .rounds { align-self: start; } }

/* ——— день 9 за скалами ——— */
.gate { position: relative; overflow: hidden; width: 100%; height: clamp(440px, 118vw, 640px); background: var(--ink); }
@media (min-width: 900px) { .gate { height: clamp(460px, 44vw, 680px); } }
.gate .half { position: absolute; top: 0; bottom: 0; width: 50%; background-repeat: no-repeat; transition: transform 1.4s cubic-bezier(.7, 0, .2, 1); }
.gate .l { left: 0; background-position: 0% 50%; background-size: 200% 100%; }
.gate .r { right: 0; background-position: 100% 50%; background-size: 200% 100%; }
.gate.open .l { transform: translateX(-62%); }
.gate.open .r { transform: translateX(62%); }
.gate .behind { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 20px; color: var(--graphite); background: radial-gradient(ellipse at 50% 55%, #FBE7D3 0%, var(--mist) 46%, var(--stone) 100%); }
.gate .behind .chak { position: absolute; left: 50%; top: 50%; width: min(60%, 460px); aspect-ratio: 1; transform: translate(-50%, -50%); background: rgba(184, 80, 20, .14); -webkit-mask: var(--chak) center/contain no-repeat; mask: var(--chak) center/contain no-repeat; }
.gate .behind > *:not(.chak) { position: relative; }
.gate .behind b { font: 300 clamp(2.6rem, 1rem + 6vw, 6rem)/1 var(--serif); }
.word { font: 300 clamp(3rem, 1rem + 7vw, 7rem)/1 var(--serif); margin: 26px 0 6px; }
.portal figcaption { font-size: 13px; color: rgba(238, 240, 236, .7); margin-top: 8px; }
.portal .lead { color: #EEF0EC; max-width: 30em; }
.portal .quiet { color: rgba(238, 240, 236, .74); }

/* ——— внутри, продлить, цифры, что входит ——— */
.grid2 { display: grid; gap: 28px; margin-top: 30px; }
@media (min-width: 900px) { .grid2 { grid-template-columns: 1fr 1fr; gap: 40px clamp(40px, 6vw, 96px); } }
.grid2 p { max-width: 32em; }
.grid2 > div { padding-top: 18px; border-top: 1px solid var(--ln); }
.days { display: flex; gap: 26px; font: 300 clamp(1.5rem, 1rem + 1.4vw, 2.2rem)/1 var(--serif); margin: 22px 0 6px; flex-wrap: wrap; color: var(--saffron-deep); }
.ext { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 30px; }
@media (min-width: 900px) { .ext { grid-template-columns: repeat(4, 1fr); gap: 22px; } }
.ext img { aspect-ratio: 1; object-fit: cover; width: 100%; }
.ext h3 { font: 300 1.2rem/1.2 var(--serif); margin: 12px 0 4px; }
.ext p { font-size: 15px; color: var(--text2); }
.nums { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 18px; margin-top: 28px; }
@media (min-width: 900px) { .nums { grid-template-columns: repeat(3, 1fr); gap: 36px 48px; } }
.nums b { display: block; font: 300 clamp(2.2rem, 1.4rem + 2vw, 3.4rem)/1 var(--serif); color: var(--graphite); }
.dark .nums b { color: #EEF0EC; }
.nums span { font-size: 15px; color: var(--text2); display: block; margin-top: 4px; }
.incl { margin: 22px 0 18px; max-width: 34em; }
.incl li { display: flex; gap: 16px; align-items: baseline; padding: 13px 0; border-bottom: 1px solid rgba(30, 35, 39, .16); font-size: 18px; }
.incl li:first-child { border-top: 1px solid rgba(30, 35, 39, .3); }
.incl li::before { content: ""; flex: none; width: 9px; height: 9px; border-radius: 50%; background: var(--moss); transform: translateY(-1px); }
/* ——— две колонки: текст слева, круглое фото справа (слово Яна 03.11: «вёрстка») ——— */
.sp .sp-l { min-width: 0; }
.sp .grid2 { grid-template-columns: 1fr; margin-top: 26px; }
.sp .incl { max-width: none; }
.sp .pair { max-width: 520px; justify-self: center; gap: 18px; width: 100%; }
.sp .pair > :nth-child(2) { margin-top: 44px; }
@media (min-width: 900px) { .sp.g2 { align-items: center; } .sp.g2.top { align-items: start; } .sp .pair { position: sticky; top: 110px; } }
/* ——— «Что входит»: не две колонки, а круг-фото над списком в два столбца (скелет не повторяет соседей) ——— */
.incl-wrap .band[data-ph] { aspect-ratio: 1; border-radius: 50%; width: min(70%, 260px); margin: 0 0 28px; box-shadow: 0 0 0 1px rgba(255, 255, 255, .85), 0 20px 44px -16px rgba(30, 35, 39, .45); }
.incl-wrap .band[data-ph] img { object-position: 50% 40%; }
.incl-wrap .incl { max-width: none; }
@media (min-width: 900px) {
  .incl-wrap { display: block; max-width: 1040px; margin-inline: auto; }
  .incl-wrap .band[data-ph] { width: 300px; float: right; margin: 0 0 24px 48px; shape-outside: circle(50%); }
  .incl-wrap .incl { columns: 2; column-gap: 56px; }
  .incl-wrap .incl li { break-inside: avoid; }
}
.ask-box { max-width: 520px; margin-top: 24px; }
.ask-box label { display: block; font-size: 15px; color: var(--text2); margin-bottom: 6px; }
.ask-box input { width: 100%; font: 400 20px/1.4 var(--serif); padding: 12px 0; border: 0; border-bottom: 1px solid var(--graphite); background: transparent; color: var(--graphite); outline: none; margin-bottom: 20px; border-radius: 0; }
.ask-box input:focus { border-bottom-color: var(--saffron-deep); }
.ask-box .hint { font-size: 15px; color: var(--text2); margin-top: 12px; min-height: 1.5em; }
.closing .banner { aspect-ratio: 16 / 9; max-height: 62vh; width: 100%; margin-bottom: clamp(32px, 4vw, 56px); }

/* ——— «Как устроено» ——— */
.stops { display: grid; gap: 34px 24px; margin-top: 34px; }
@media (min-width: 700px) { .stops { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .stops { grid-template-columns: repeat(3, 1fr); gap: 44px 32px; } }
.stops img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; margin-bottom: 12px; }
.stops .nophoto { margin-bottom: 12px; border-color: var(--storm); }
.stops .nm { display: block; font: 300 1.45rem/1.2 var(--serif); }
.stops .hi { display: block; font: 300 2rem/1.2 var(--serif); color: var(--saffron-deep); margin-top: 2px; }
.stops .dd { display: block; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--text2); margin-top: 4px; }
.stops p { font-size: 16px; color: var(--text2); margin: 8px 0 0; }
.lu details:not([open]) > :not(summary) { display: none; }
.faq details { border-top: 1px solid var(--ln); padding: 4px 0; max-width: 46em; }
.faq details:last-of-type { border-bottom: 1px solid var(--ln); }
.faq summary { list-style: none; cursor: pointer; padding: 16px 0; font: 300 1.3rem/1.3 var(--serif); display: flex; justify-content: space-between; gap: 18px; min-height: 44px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--saffron-deep); font-family: var(--sans); }
.faq details[open] summary::after { content: "–"; }
.faq details p { padding: 0 0 18px; max-width: 38em; }
.faq details p .more { margin-left: 6px; }
.steps { display: grid; gap: 22px; margin: 26px 0 30px; }
@media (min-width: 900px) { .steps { grid-template-columns: 1fr 1fr; max-width: 820px; } }
.steps > div { padding-top: 14px; border-top: 1px solid var(--ln); }
.steps b { display: block; font: 300 clamp(1.4rem, 1rem + 1vw, 1.9rem)/1.2 var(--serif); margin-top: 4px; }
.links { display: flex; flex-wrap: wrap; gap: 8px 30px; margin-top: 24px; }

/* ——— «Владимир» ——— */
.hero.lead-hero .bg { object-position: 50% 10%; }
@media (max-width: 899px) {
  .hero.lead-hero { display: block; min-height: 0; background: var(--graphite); }
  .hero.lead-hero .bg { position: relative; inset: auto; display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; max-height: 78svh; object-position: 50% 14%; }
  .hero.lead-hero .shade { display: none; }
  .hero.lead-hero .ht { padding-top: 28px; }
}
@media (min-width: 900px) {
  .hero.lead-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; min-height: 100vh; min-height: 100svh; }
  .hero.lead-hero .bg { position: relative; grid-column: 2; grid-row: 1; height: 100%; min-height: 100svh; object-position: 50% 14%; }
  .hero.lead-hero .shade { display: none; }
  .hero.lead-hero .ht { grid-column: 1; grid-row: 1; align-self: end; margin: 0; max-width: none; padding-left: var(--pad); padding-right: clamp(32px, 5vw, 80px); }
  .hero.lead-hero { background: var(--graphite); }
}
.who { display: grid; gap: 22px 40px; }
.stories.q { margin-top: 30px; }
.stories.q blockquote { margin: 0; padding: 22px 0 8px; border-top: 1px solid rgba(30, 35, 39, .28); font-size: clamp(1.2rem, 1rem + .6vw, 1.55rem); max-width: 22em; }

/* ——— подвал ——— */

/* ——— телефон ——— */
@media (max-width: 699px) {
  :root { --bar-h: 58px; }
  .bar { gap: 10px; }
  .menu-btn .l { display: none; }
  .sign { position: static; transform: none; margin-right: auto; font-size: 20px; gap: 8px; }
  .bar .tg { padding: 0 14px; font-size: 12px; letter-spacing: .08em; }
  .bar .tg .l { display: none; } .bar .tg .s { display: inline; }
  .pill { white-space: normal; max-width: 100%; }
  .hero .pill { width: 100%; }
}

/* подвал: имя и фраза сверху, ниже три колонки, внизу © и знак студии */
.ft { position: relative; display: grid; gap: 36px 48px; background: var(--graphite); color: #EEF0EC; padding: clamp(64px, 8vw, 112px) max(var(--pad), calc((100% - 1240px) / 2)) 40px; font-size: 15px; line-height: 1.6; }
@media (min-width: 900px) { .ft { grid-template-columns: repeat(3, 1fr); } .ft-hero, .ft-base { grid-column: 1 / -1; } }
.ft-hero { max-width: 44em; }
.ft-name { font: 300 clamp(1.9rem, 1.2rem + 2vw, 3rem)/1.08 var(--serif); letter-spacing: .03em; text-transform: uppercase; margin-bottom: 12px; }
.ft p, .ft li { color: rgba(238, 240, 236, .78); }
.ft-q { margin: 16px 0 0; padding: 0 0 0 18px; border-left: 2px solid var(--saffron-light); font: italic 300 1.2rem/1.4 var(--serif); color: rgba(238, 240, 236, .8); }
.ft h4 { margin: 0 0 14px; font: 500 12px/1.4 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: #AEB89A; }
.ft ul, .ft ol { margin: 0; padding: 0; list-style: none; }
.ft address { font-style: normal; }
.ft li { margin: 0 0 4px; }
.ft li a { display: inline-flex; align-items: center; min-height: 36px; color: #EEF0EC; }
.ft li a:hover { color: var(--saffron-light); }
.ft-base { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 32px; padding-top: 26px; border-top: 1px solid rgba(255, 255, 255, .16); }
.ft-base > p { font-size: 14px; letter-spacing: .06em; margin: 0; }

/* ——— «Крупно» (/big/): тот же порядок, текст крупнее, строки касания шире ——— */
.big main { font-size: 20px; line-height: 1.55; }
.big .sec p, .big .sec li { max-width: 34em; }
.big .lead { font-size: clamp(1.5rem, 1.1rem + 1.3vw, 2.1rem); }
.big .quiet { font-size: 19px; }
.big .ifs li, .big .incl li { padding: 16px 0; font-size: 21px; }
.big .story { font-size: clamp(1.3rem, 1.1rem + .6vw, 1.6rem); }
.big .nums b { font-size: clamp(2.6rem, 1.6rem + 2.4vw, 4rem); }
.big .nums span { font-size: 17px; }
.big .pill { font-size: 15px; min-height: 60px; }
.big .more { font-size: 15px; }
.big .days-list { margin-top: 30px; max-width: 40em; }
.big .dl { padding: 22px 0 8px; border-top: 1px solid var(--ln); }
.big .dl:last-child { border-bottom: 1px solid var(--ln); padding-bottom: 22px; }
.big .dl .dk { font: 500 13px/1.4 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--moss); }
.big .dl h3 { margin: 6px 0 8px; font: 300 clamp(1.7rem, 1.2rem + 1.4vw, 2.3rem)/1.1 var(--serif); }
.big .dl p + p { margin-top: 0; }
@media (min-width: 900px) { .big main { font-size: 23px; } }
