/* Russian Banya · раздел /banya/ в мире Кондора (цикл 5, дополнение Яна №8): тёмное каменное поле, пар, арка-окно —
   принятый кадр A (wave/frame/A/frame.css). Второй акцент — синий его афиши (#3A73B6 → ярче #1F6FD6, снят с pravki/bot/2026-11-09-11/01-photo.jpg):
   кнопка записи, метки, цены, ссылки, тонкие линии, подвал. Оранжевый — как в кадре: курсив заголовков, номера шагов, линия пара. */
@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; --moss: #55653A; --graphite: #1E2327; --ink: #14171a; --cream: #EEE7D7;
  --saffron: #F47A2B; --saffron-deep: #DD6418; --saffron-light: #FF8F45;
  --blue: #1F6FD6; --blue-deep: #175FBE; --blue-light: #7DB3FF; --blue-ink: #10233d;
  --tx: #EEF0EC; --tx2: rgba(238, 240, 236, .76); --tx3: rgba(238, 240, 236, .58); --ln: rgba(125, 179, 255, .18);
  --serif: "Source Serif 4", Georgia, "Times New Roman", serif; --sans: Inter, system-ui, "Helvetica Neue", Arial, sans-serif;
  --pad: clamp(20px, 4.7vw, 64px); --bar-h: 64px; --ease: cubic-bezier(.22, .61, .36, 1); --max: 1240px;
  --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); }
body.by { margin: 0; background: var(--ink); color: var(--tx); font: 400 17px/1.6 var(--sans); -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: 100%; overflow-x: hidden; }
:where(.by) img { display: block; max-width: 100%; }
:where(.by) a { color: inherit; text-decoration: none; }
:where(.by) :is(h1, h2, h3, h4, p, ol, ul, figure, blockquote, dl, dd) { margin: 0; padding: 0; }
:where(.by) :is(ol, ul) { list-style: none; }
:where(.by) button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
.wrap { max-width: var(--max); margin: 0 auto; }

/* ——— шапка Кондора, тёмная ——— */
.bar { position: fixed; z-index: 70; inset: 0 0 auto; height: var(--bar-h); display: flex; align-items: center; gap: 18px; padding: 0 var(--pad); color: var(--tx); transition: background .45s var(--ease); }
.bar.solid { background: rgba(20, 23, 26, .92); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 1px 0 var(--ln); }
.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-light); -webkit-mask: var(--chak) center/contain no-repeat; mask: var(--chak) center/contain no-repeat; }
.langs { margin-left: auto; display: flex; gap: 2px; font: 500 12px/1 var(--sans); letter-spacing: .14em; }
.langs a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 8px; color: var(--tx2); }
.langs a[aria-current] { color: var(--tx); box-shadow: inset 0 -1px 0 var(--blue-light); }
.bar .tg { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1.3em; background: var(--blue); color: #fff; font: 500 13px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; transition: background .3s; }
.bar .tg:hover { background: var(--blue-deep); }
.drawer { position: fixed; inset: 0; z-index: 80; display: flex; flex-direction: column; padding: 0 var(--pad) 28px; background: var(--graphite); color: var(--tx); clip-path: inset(0 0 100% 0); visibility: hidden; transition: clip-path .7s var(--ease), visibility 0s .7s; overflow-y: auto; }
.drawer.open { clip-path: inset(0); visibility: visible; transition: clip-path .7s var(--ease), visibility 0s; }
.drawer .top { flex: none; height: var(--bar-h); display: flex; align-items: center; justify-content: space-between; }
.drawer .top .sign { position: static; transform: none; margin-left: auto; }
.drawer .x { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 15px; }
.drawer nav { margin: auto 0; padding: 20px 0; display: flex; flex-direction: column; }
.drawer nav a { display: flex; align-items: baseline; gap: 18px; padding: 3px 0; font: 300 clamp(28px, 12px + 3.6vw, 56px)/1.14 var(--serif); letter-spacing: .02em; text-transform: uppercase; }
.drawer nav a small { font: 12px var(--sans); letter-spacing: .2em; color: var(--blue-light); min-width: 2.2em; }
.drawer nav a:hover, .drawer nav a[aria-current] { color: var(--saffron-light); }
.drawer .dfoot { flex: none; display: flex; flex-wrap: wrap; gap: 12px 28px; align-items: center; justify-content: space-between; font-size: 14px; color: var(--tx2); }

.kick { display: inline-flex; align-items: center; gap: .7em; font: 500 12px/1.5 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--blue-light); }
.kick::before { content: ""; flex: none; width: 14px; height: 14px; background: var(--saffron-light); -webkit-mask: var(--chak) center/contain no-repeat; mask: var(--chak) center/contain no-repeat; }
.pill { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 2em; background: var(--blue); color: #fff; font: 500 13px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; text-align: center; transition: background .35s var(--ease); }
.pill:hover { background: var(--blue-deep); }
.pill.warm { background: var(--saffron-deep); } .pill.warm:hover { background: var(--saffron); }
.more { display: inline-flex; align-items: center; min-height: 44px; font: 500 13px/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--blue-light); border-bottom: 1px solid currentColor; }
.more:hover { color: #fff; }
.tel { white-space: nowrap; }
.h2 { font: 300 clamp(2.3rem, 1.2rem + 4vw, 4.8rem)/1.02 var(--serif); letter-spacing: -.005em; text-wrap: balance; }
.h2 em { font-style: italic; color: var(--saffron-light); }
.lead { font: italic 300 clamp(1.15rem, 1rem + .7vw, 1.55rem)/1.35 var(--serif); color: var(--tx2); }
.sec { position: relative; padding: clamp(72px, 10vw, 140px) var(--pad); }
.sec.stone::before { content: ""; position: absolute; inset: 0; background: url("../img/stone.jpg") center / 1400px auto repeat; opacity: .07; pointer-events: none; }
.sec > .wrap { position: relative; }
.sec-top { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 18px 40px; }
.sec-top .h2 { margin-top: 16px; }
.small { font-size: 13px; line-height: 1.5; color: var(--tx3); }

/* ——— первый экран: каменное поле, пар, арка-окно ——— */
.hx { position: relative; min-height: 100vh; min-height: 100svh; overflow: hidden; background: var(--ink); isolation: isolate; }
.hx.page { min-height: 0; }
.hx-field { position: absolute; inset: 0; z-index: -1; }
.hx-field .stone { position: absolute; inset: 0; background: url("../img/stone.jpg") center bottom / 980px auto repeat; opacity: .5; -webkit-mask-image: linear-gradient(180deg, transparent 30%, rgba(0, 0, 0, .5) 62%, #000 100%); mask-image: linear-gradient(180deg, transparent 30%, rgba(0, 0, 0, .5) 62%, #000 100%); }
.hx-field .glow { position: absolute; inset: -6%; background: url("../img/field-blur.jpg") center / cover; opacity: .22; mix-blend-mode: screen; animation: drift 26s ease-in-out infinite alternate; }
.hx-field::after { content: ""; position: absolute; inset: 0; background: radial-gradient(120% 80% at 70% 40%, rgba(20, 23, 26, 0) 0%, rgba(20, 23, 26, .55) 60%, rgba(20, 23, 26, .92) 100%); }
@keyframes drift { from { transform: translate3d(-1.5%, 0, 0) scale(1.04); } to { transform: translate3d(1.5%, -1%, 0) scale(1.08); } }
.steam { position: absolute; z-index: 1; pointer-events: none; border-radius: 50%; background: radial-gradient(closest-side, rgba(238, 240, 236, .34), rgba(238, 240, 236, 0)); filter: blur(16px); animation: rise 14s ease-in-out infinite; }
.steam.s1 { width: 520px; height: 300px; left: 46%; bottom: 4%; }
.steam.s2 { width: 380px; height: 240px; left: 62%; bottom: 14%; animation-delay: -5s; animation-duration: 17s; }
.steam.s3 { width: 300px; height: 200px; left: 38%; bottom: 22%; animation-delay: -9s; opacity: .7; }
@keyframes rise { 0% { transform: translate3d(0, 30px, 0) scale(.9); opacity: 0; } 30% { opacity: .9; } 100% { transform: translate3d(-40px, -220px, 0) scale(1.3); opacity: 0; } }
.hx-in { position: relative; max-width: var(--max); margin: 0 auto; min-height: 100vh; min-height: 100svh; padding: calc(var(--bar-h) + 28px) var(--pad) 40px; display: grid; gap: 28px; }
.hx.page .hx-in { min-height: 0; padding-top: calc(var(--bar-h) + 44px); padding-bottom: clamp(40px, 6vw, 72px); }
.hx-text { align-self: end; position: relative; z-index: 4; }
.hx .kick { margin-bottom: 20px; }
.hx h1 { font: 300 clamp(3rem, 1rem + 7vw, 7.4rem)/.94 var(--serif); letter-spacing: -.01em; }
.hx h1 em { display: block; margin-top: .14em; font-style: italic; font-weight: 300; font-size: .5em; letter-spacing: .01em; color: var(--saffron-light); }
.hx.page h1 { font-size: clamp(2.7rem, 1rem + 5.4vw, 6rem); text-wrap: balance; }
.hx .sub { margin-top: 22px; max-width: 26em; font: italic 300 clamp(1.1rem, .95rem + .6vw, 1.45rem)/1.35 var(--serif); color: rgba(238, 240, 236, .9); }
.hx .act { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: 28px; }
.hx .tie { margin-top: 22px; max-width: 31em; font-size: 15px; line-height: 1.6; color: var(--tx2); }
.hx .tie .tel { color: var(--tx); }
.arch { position: relative; z-index: 2; justify-self: center; width: min(100%, 440px); aspect-ratio: 11 / 15; border-radius: 999px 999px 6px 6px; overflow: hidden; background: var(--graphite); box-shadow: 0 0 0 1px rgba(238, 240, 236, .22), 0 40px 90px -30px rgba(0, 0, 0, .8); }
.arch::after { content: ""; position: absolute; inset: 10px; border-radius: 999px 999px 3px 3px; box-shadow: inset 0 0 0 1px rgba(238, 240, 236, .28); pointer-events: none; }
.arch img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.arch .day { object-position: 50% 40%; }
.arch .night { object-position: 55% 45%; filter: brightness(.86); }
.arch .split { position: absolute; top: 0; bottom: 0; width: 1px; background: rgba(238, 240, 236, .85); box-shadow: 0 0 12px rgba(0, 0, 0, .5); }
.arch .word { position: absolute; left: 0; right: 0; top: 17%; text-align: center; font: italic 300 clamp(2.4rem, 1.6rem + 2.4vw, 3.6rem)/1 var(--serif); color: #fff; text-shadow: 0 2px 22px rgba(0, 0, 0, .55); letter-spacing: .02em; }
.dial { position: absolute; z-index: 3; left: 50%; bottom: 22px; transform: translateX(-50%); display: flex; align-items: center; gap: 12px; padding: 8px 16px; border-radius: 999px; background: rgba(20, 23, 26, .66); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font: 500 11px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; white-space: nowrap; }
.dial input { width: 120px; accent-color: var(--saffron-light); }
.seal { position: absolute; z-index: 5; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 104px; height: 104px; border-radius: 50%; background: var(--cream); color: var(--graphite); box-shadow: 0 18px 40px -14px rgba(0, 0, 0, .7); transform: rotate(-8deg); }
.seal b { font: 400 1.5rem/1 var(--serif); }
.seal small { margin-top: 6px; font: 500 9px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--blue-deep); }
.seal.blue { background: var(--blue); color: #fff; } .seal.blue small { color: #DCE8F7; }
@media (min-width: 900px) {
  .hx-in { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: center; gap: clamp(32px, 4vw, 72px); padding-bottom: 56px; }
  .arch { width: min(100%, 420px, calc((100svh - var(--bar-h) - 60px) * 11 / 15)); align-self: end; }
  .hx.page .arch { width: min(100%, 360px); aspect-ratio: 11 / 13; }
  .hx-wrap { position: relative; justify-self: stretch; align-self: end; display: flex; justify-content: center; }
  .hx-wrap .seal { left: -52px; bottom: 96px; }
  .hx.page .hx-wrap .seal { left: 0; bottom: 40px; }
  .hx-text { padding-bottom: 6px; }
}
@media (max-width: 899px) {
  .hx-in { grid-template-rows: auto auto; padding-top: calc(var(--bar-h) + 14px); padding-bottom: 32px; gap: 22px; }
  .hx-wrap { position: relative; order: -1; width: 100%; display: flex; justify-content: center; }
  .arch { width: min(80vw, 360px, calc((52svh) * 11 / 15)); }
  .hx.page .arch { width: min(62vw, 260px); aspect-ratio: 11 / 12; }
  .hx-wrap .seal { right: max(10px, calc(50% - min(40vw, 180px) - 30px)); bottom: 20%; width: 84px; height: 84px; }
  .hx.page .hx-wrap .seal { right: max(6px, calc(50% - min(31vw, 130px) - 44px)); bottom: 8%; }
  .seal b { font-size: 1.2rem; }
  .hx-text { align-self: start; }
  .hx .kick { margin-bottom: 12px; }
  .hx .sub { margin-top: 12px; }
  .hx .act { margin-top: 18px; }
  .hx .act .pill { flex: 1 1 100%; }
  .steam.s1 { left: 10%; bottom: 30%; width: 360px; }
  .steam.s2 { left: 40%; bottom: 40%; width: 260px; }
  .steam.s3 { left: 0; bottom: 50%; }
}

/* ——— что это ——— */
.ix { padding: clamp(64px, 9vw, 120px) var(--pad); background: linear-gradient(180deg, var(--ink), #171b1e); }
.ix .wrap { display: grid; gap: 28px; }
.ix-els { display: flex; flex-wrap: wrap; gap: 8px 14px; font: italic 300 clamp(1.9rem, 1rem + 3.4vw, 3.8rem)/1.1 var(--serif); color: var(--tx); }
.ix-els li:not(:last-child)::after { content: "·"; margin-left: 14px; color: var(--saffron-light); font-style: normal; }
.ix-text { max-width: 40em; font-size: clamp(16px, 15px + .3vw, 19px); color: var(--tx2); }

/* ——— пять шагов коротко (главная) ——— */
.steps5 { background: #171b1e; }
.s5 { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(230px, 1fr); gap: 18px; margin-top: clamp(36px, 5vw, 60px); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; scrollbar-width: none; }
.s5::-webkit-scrollbar { display: none; }
.s5 li { scroll-snap-align: start; display: flex; flex-direction: column; }
.s5 .ph { aspect-ratio: 4 / 5; border-radius: 999px 999px 4px 4px; overflow: hidden; box-shadow: 0 0 0 1px rgba(238, 240, 236, .18); }
.s5 .ph img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease); }
.s5 li:hover .ph img { transform: scale(1.05); }
.s5 b { display: block; margin-top: 18px; font: 300 2.6rem/1 var(--serif); color: var(--c, var(--saffron-light)); }
.s5 h3 { margin-top: 6px; font: 300 1.4rem/1.15 var(--serif); }
.s5 p { margin-top: 8px; font-size: 15px; color: var(--tx2); }
.s5-foot { display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center; margin-top: 34px; }
@media (max-width: 699px) { .s5 { grid-auto-columns: 76%; margin-right: calc(var(--pad) * -1); padding-right: var(--pad); } }

/* ——— цены ——— */
.pz { background: radial-gradient(90% 70% at 50% 0%, rgba(31, 111, 214, .16), rgba(20, 23, 26, 0) 70%), var(--ink); }
.pz-tog { display: inline-flex; margin-top: 30px; padding: 4px; border: 1px solid var(--ln); border-radius: 999px; background: rgba(14, 16, 19, .6); }
.pz-tog button { min-height: 46px; padding: 0 22px; border-radius: 999px; font: 500 13px/1.2 var(--sans); letter-spacing: .08em; color: var(--tx2); transition: background .35s, color .35s; }
.pz-tog button[aria-pressed="true"] { background: var(--blue); color: #fff; }
.pz-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 26px; }
.pz-c { position: relative; display: flex; flex-direction: column; align-items: flex-start; text-align: left; min-height: 250px; padding: 22px 22px 20px; border: 1px solid var(--ln); background: rgba(22, 38, 58, .32); transition: border-color .35s, background .35s, transform .5s var(--ease); }
.pz-c:hover { border-color: rgba(125, 179, 255, .45); }
.pz-c[aria-pressed="true"] { border-color: var(--blue-light); background: rgba(31, 111, 214, .22); transform: translateY(-4px); }
.pz-c .who { font: 500 12px/1.4 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--blue-light); }
.pz-c .gn { margin-top: 8px; font: 300 4.4rem/1 var(--serif); color: rgba(238, 240, 236, .22); }
.pz-c[aria-pressed="true"] .gn { color: var(--saffron-light); }
.pz-c .pp { margin-top: auto; font: 300 2.6rem/1 var(--serif); color: var(--tx); }
.pz-c .pp small { display: block; margin-top: 6px; font: 400 13px/1.3 var(--sans); color: var(--tx2); }
.pz-c .tot { margin-top: 10px; font-size: 14px; color: var(--blue-light); min-height: 1.4em; }
.pz-c.no .pp { font: italic 300 1.25rem/1.3 var(--serif); color: var(--tx3); }
.pz-c sup { color: var(--saffron-light); }
.pz-foot { display: grid; gap: 22px; margin-top: 26px; }
.pz-star { max-width: 44em; padding: 16px 20px; border-left: 2px solid var(--blue); background: rgba(31, 111, 214, .1); color: var(--tx); font-size: 15px; }
.pz-star b { color: var(--blue-light); font-weight: 600; }
.pz-act { display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center; }
.pz-priv { margin-top: clamp(56px, 7vw, 96px); display: grid; gap: 14px; max-width: 46em; }
.pz-priv h3 { font: 300 clamp(1.8rem, 1.2rem + 1.8vw, 2.8rem)/1.1 var(--serif); }
.pz-priv h3 em { font-style: italic; color: var(--saffron-light); }
.pz-priv p { color: var(--tx2); }
@media (max-width: 899px) { .pz-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pz-c { min-height: 210px; padding: 18px 16px; } .pz-c .gn { font-size: 3.4rem; } .pz-c .pp { font-size: 2.1rem; } }
@media (max-width: 430px) { .pz-tog { display: flex; width: 100%; } .pz-tog button { flex: 1; padding: 0 10px; font-size: 12px; letter-spacing: .04em; } .pz-act .pill { flex: 1 1 100%; } }
/* цены коротко (главная) */
.pz-in { position: relative; max-width: var(--max); margin: 0 auto; display: grid; gap: 24px; justify-items: start; }
.pz-head { width: 100%; display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 12px 40px; }
.pz-in .pz-row { width: 100%; margin-top: 10px; }
/* галерея коротко (главная): огромное слово-ссылка поверх края мозаики */
.gl-home { padding-top: clamp(40px, 6vw, 80px); }
.gl-home .gl-peek { max-width: var(--max); margin: 0 auto; }
.gl-word { position: relative; z-index: 2; max-width: var(--max); margin: -0.42em auto 0; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px 30px; font-size: clamp(3.6rem, 1.6rem + 7vw, 8.4rem); }
.gl-big { font: italic 300 1em/1 var(--serif); color: var(--tx); text-shadow: 0 10px 40px rgba(0, 0, 0, .7); }
.gl-word .more { font-size: 13px; }
.mx-in { position: relative; max-width: var(--max); margin: 0 auto; display: grid; gap: 30px; align-items: center; }
@media (min-width: 900px) { .mx-in { grid-template-columns: auto auto 1fr; gap: 48px; } }
.pz-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 34px; border-top: 1px solid var(--ln); }
.pz-row li { padding: 22px 18px 6px 0; border-right: 1px solid var(--ln); }
.pz-row li:last-child { border-right: 0; }
.pz-row li + li { padding-left: 18px; }
.pz-row span { display: block; font: 500 12px/1.4 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--blue-light); }
.pz-row b { display: block; margin-top: 10px; font: 300 clamp(2.4rem, 1.4rem + 2.6vw, 4rem)/1 var(--serif); }
.pz-row small { display: block; margin-top: 6px; font-size: 14px; color: var(--tx2); }
@media (max-width: 699px) { .pz-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pz-row li:nth-child(2) { border-right: 0; } .pz-row li:nth-child(3) { padding-left: 0; } .pz-row li:nth-child(n+3) { border-top: 1px solid var(--ln); } }

/* ——— ритуал подробно: арка меняет кадр по шагу, жар растёт — синий афиши переходит в оранжевый ——— */
.rx { position: relative; padding: clamp(72px, 10vw, 140px) var(--pad); background: linear-gradient(180deg, var(--ink) 0%, #191d20 30%, #1b1f22 100%); }
.rx::before { content: ""; position: absolute; inset: 0; background: url("../img/stone.jpg") center / 1400px auto repeat; opacity: .08; pointer-events: none; }
.rx-in { position: relative; max-width: var(--max); margin: 0 auto; }
.rx-grid { display: grid; gap: 40px; margin-top: clamp(40px, 5vw, 72px); }
.rx-stage { display: none; }
.rx-path { position: relative; padding-left: 34px; }
.rx-rail { position: absolute; left: 7px; top: 8px; bottom: 8px; width: 1px; background: var(--ln); }
.rx-rail span { position: absolute; left: -1px; top: 0; width: 3px; height: calc(var(--p, .08) * 100%); background: linear-gradient(180deg, var(--blue) 0%, var(--blue-light) 30%, var(--saffron-light) 70%, var(--saffron) 100%); background-size: 100% calc(100% / var(--p, .08)); border-radius: 3px; }
.rx-heat { display: flex; align-items: center; gap: 12px; margin-top: 22px; font: 500 11px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--tx3); }
.rx-heat i { position: relative; width: 160px; height: 4px; border-radius: 4px; background: linear-gradient(90deg, var(--blue), var(--saffron)); }
.rx-heat i::after { content: ""; position: absolute; top: 50%; left: calc(var(--p, .08) * 100%); width: 12px; height: 12px; border-radius: 50%; background: #fff; transform: translate(-50%, -50%); box-shadow: 0 0 0 4px rgba(255, 255, 255, .15); }
.rx-steps { max-width: 600px; }
.rx-step { position: relative; padding: 0 0 clamp(44px, 5vw, 64px); }
.rx-step::before { content: ""; position: absolute; left: -32px; top: 14px; width: 11px; height: 11px; border-radius: 50%; background: var(--ink); box-shadow: inset 0 0 0 1px rgba(238, 240, 236, .5); transition: background .5s, box-shadow .5s; }
.rx-step.lit::before { background: var(--c); box-shadow: 0 0 0 5px rgba(255, 143, 69, .14); }
.rx-num { display: block; font: 300 clamp(3.4rem, 2rem + 3vw, 5rem)/.9 var(--serif); color: rgba(238, 240, 236, .2); letter-spacing: -.02em; transition: color .6s; }
.rx-step.lit .rx-num { color: var(--c); }
.rx-step h3 { margin-top: 10px; font: 300 clamp(1.6rem, 1.2rem + 1.2vw, 2.3rem)/1.1 var(--serif); }
.rx-p { margin-top: 12px; max-width: 32em; color: var(--tx2); text-wrap: pretty; }
.rx-pic { margin: 18px 0 4px; width: min(100%, 420px); aspect-ratio: 4 / 3; border-radius: 999px 999px 4px 4px; overflow: hidden; box-shadow: 0 0 0 1px rgba(238, 240, 236, .2); }
.rx-pic img { width: 100%; height: 100%; object-fit: cover; }
.rx-pic.mini { position: absolute; right: 0; top: 0; width: 96px; height: 96px; aspect-ratio: 1; margin: 0; border-radius: 50%; }
.rx-step:has(.mini) h3 { padding-right: 112px; }
.rx-step[data-step="3"] .rx-pic:not(.mini) { width: min(100%, 340px); aspect-ratio: 4 / 5; }
.rx-step[data-step="3"] .rx-pic img { object-position: 8% 60%; }
@media (min-width: 900px) {
  .rx-grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(48px, 6vw, 110px); align-items: start; }
  .rx-stage { display: block; position: sticky; top: calc(var(--bar-h) + 32px); }
  .rx-arch { position: relative; width: 100%; max-width: 460px; aspect-ratio: 23 / 30; max-height: calc(100vh - var(--bar-h) - 110px); border-radius: 999px 999px 6px 6px; overflow: hidden; box-shadow: 0 0 0 1px rgba(238, 240, 236, .22), 0 40px 90px -30px rgba(0, 0, 0, .8); }
  .rx-arch::after { content: ""; position: absolute; inset: 10px; border-radius: 999px 999px 3px 3px; box-shadow: inset 0 0 0 1px rgba(238, 240, 236, .28); }
  .rx-arch img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.06); transition: opacity 1s var(--ease), transform 1.6s var(--ease); }
  .rx-arch img.on { opacity: 1; transform: none; }
  .rx-arch .a0 { object-position: 40% 50%; } .rx-arch .a1 { object-position: 16% 50%; } .rx-arch .a2 { object-position: 50% 70%; }
  .rx-stage .rx-cap { margin-top: 16px; font: italic 300 1.1rem/1.3 var(--serif); color: var(--tx2); }
  .rx-stage .rx-cap b { font: 300 1.1rem var(--serif); color: var(--c, var(--saffron-light)); margin-right: .5em; }
  .rx-pic:not(.mini) { display: none; }
}

/* ——— что почувствуете ——— */
.fx { padding: clamp(80px, 11vw, 150px) var(--pad); background: linear-gradient(180deg, #1b1f22, var(--ink)); text-align: center; }
.fx .wrap { max-width: 980px; }
.fx blockquote { margin-top: 26px; font: italic 300 clamp(1.8rem, 1rem + 2.8vw, 3.4rem)/1.2 var(--serif); text-wrap: balance; }
.fx blockquote::before { content: "“"; display: block; font: 300 5rem/0.6 var(--serif); color: var(--blue-light); margin-bottom: 18px; }

/* ——— мастер ——— */
.mx .wrap { display: grid; gap: 30px; align-items: center; }
.mx-num { font: 300 clamp(6rem, 3rem + 10vw, 12rem)/.85 var(--serif); color: var(--blue-light); letter-spacing: -.03em; }
.mx-num em { font-style: normal; color: var(--saffron-light); }
.mx-face { width: 150px; height: 150px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1px rgba(238, 240, 236, .22); }
.mx-text h2 { text-wrap: balance; margin-top: 14px; font: 300 clamp(1.9rem, 1.2rem + 2vw, 3rem)/1.1 var(--serif); }
.mx-text p { margin-top: 12px; max-width: 32em; color: var(--tx2); }
@media (min-width: 900px) { .mx .wrap { grid-template-columns: auto auto 1fr; gap: 48px; } }

/* ——— галерея ——— */
.gl-peek { display: grid; grid-template-columns: 1.3fr 1fr 1fr; grid-template-rows: 240px 240px; gap: 12px; margin-top: 36px; }
.gl-peek a { position: relative; overflow: hidden; border-radius: 4px; }
.gl-peek a:first-child { grid-row: span 2; border-radius: 999px 999px 4px 4px; }
.gl-peek img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease); }
.gl-peek a:hover img { transform: scale(1.05); }
@media (max-width: 699px) { .gl-peek { grid-template-columns: 1fr 1fr; grid-template-rows: 260px 150px 150px; } .gl-peek a:first-child { grid-column: span 2; grid-row: auto; } .gl-peek a:nth-child(n+6) { display: none; } }
.gl-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.gl-tabs button { min-height: 44px; padding: 0 18px; border: 1px solid var(--ln); border-radius: 999px; font: 500 13px/1 var(--sans); letter-spacing: .08em; color: var(--tx2); }
.gl-tabs button[aria-pressed="true"] { background: var(--blue); border-color: var(--blue); color: #fff; }
.gl-tabs button small { margin-left: 6px; color: inherit; opacity: .6; }
.gl-grid { columns: 3 300px; column-gap: 12px; margin-top: 28px; }
.gl-grid li { break-inside: avoid; margin-bottom: 12px; }
.gl-grid li[hidden] { display: none; }
.gl-grid button { position: relative; display: block; width: 100%; padding: 0; overflow: hidden; border-radius: 4px; }
.gl-grid img { width: 100%; height: auto; transition: transform 1.2s var(--ease), filter .6s; }
.gl-grid button:hover img { transform: scale(1.04); }
.gl-grid button::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(238, 240, 236, .12); border-radius: 4px; }
.gl-grid .mini { display: inline-block; width: calc(50% - 6px); margin: 0 0 12px; vertical-align: top; }
.gl-grid .mini:nth-of-type(odd) { margin-right: 8px; }
.gl-grid .mini button { aspect-ratio: 1; border-radius: 50%; }
.gl-grid .mini img { height: 100%; object-fit: cover; }
.lb { position: fixed; inset: 0; z-index: 90; display: none; align-items: center; justify-content: center; background: rgba(10, 12, 14, .96); }
.lb.open { display: flex; }
.lb figure { position: relative; max-width: min(92vw, 1200px); max-height: 84vh; display: flex; flex-direction: column; align-items: center; }
.lb img { max-width: 100%; max-height: 78vh; object-fit: contain; box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .8); }
.lb figcaption { margin-top: 14px; font: 500 12px/1.4 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--blue-light); }
.lb .lb-x, .lb .lb-p, .lb .lb-n { position: absolute; z-index: 2; display: inline-flex; align-items: center; justify-content: center; min-width: 52px; min-height: 52px; border-radius: 50%; background: rgba(30, 35, 39, .85); color: #fff; font-size: 20px; }
.lb .lb-x { top: 14px; right: 14px; font-size: 15px; padding: 0 18px; border-radius: 999px; gap: 8px; }
.lb .lb-p { left: 14px; top: 50%; transform: translateY(-50%); }
.lb .lb-n { right: 14px; top: 50%; transform: translateY(-50%); }
.lb .lb-p:hover, .lb .lb-n:hover, .lb .lb-x:hover { background: var(--blue); }
@media (max-width: 699px) { .lb .lb-p, .lb .lb-n { top: auto; bottom: 18px; transform: none; } .lb .lb-p { left: calc(50% - 64px); } .lb .lb-n { right: calc(50% - 64px); } .lb img { max-height: 70vh; } }

/* ——— отзывы ——— */
.rv { background: #171b1e; }
.rv-score { margin-top: 16px; font: 300 clamp(2rem, 1.2rem + 2.6vw, 3.6rem)/1.05 var(--serif); }
.rv-score b { font-weight: 300; color: var(--blue-light); }
.rv-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 34px; }
.rv-card { position: relative; display: flex; flex-direction: column; padding: 30px 24px 22px; border: 1px solid var(--ln); background: rgba(14, 16, 19, .5); }
.rv-card .q { font: 300 4rem/.5 var(--serif); color: var(--saffron-light); height: 26px; }
.rv-card blockquote { font: italic 300 1.25rem/1.4 var(--serif); }
.rv-card .tr { margin-top: 12px; font-size: 14px; color: var(--tx2); }
.rv-card figcaption { margin-top: auto; padding-top: 18px; font: 500 12px/1.4 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--blue-light); }
.rv-links { display: flex; flex-wrap: wrap; gap: 10px 30px; margin-top: 26px; }
@media (max-width: 899px) { .rv-row { grid-template-columns: 1fr; } }

/* ——— запись ——— */
.bk { background: radial-gradient(80% 60% at 20% 0%, rgba(31, 111, 214, .18), rgba(20, 23, 26, 0) 70%), var(--ink); }
.bk-form { display: grid; gap: clamp(28px, 4vw, 56px); margin-top: 34px; }
.bk-fields { display: grid; gap: 22px; margin: 0; padding: 0; border: 0; min-width: 0; }
.bk-f { display: grid; gap: 10px; align-content: start; }
.s5 li:nth-child(1) .ph img { object-position: 72% 50%; } .s5 li:nth-child(2) .ph img { object-position: 44% 30%; transform-origin: 50% 30%; transform: scale(1.35); }
.s5 li:nth-child(2):hover .ph img { transform: scale(1.4); }
.s5 li:nth-child(4) .ph img { object-position: 8% 60%; }
.bk-f > span, .bk-f legend { font: 500 12px/1.4 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--blue-light); }
.bk-f input[type="date"], .bk-f input[type="text"] { width: 100%; min-height: 52px; padding: 0 16px; border: 1px solid var(--ln); border-radius: 0; background: rgba(14, 16, 19, .7); color: var(--tx); font: 400 16px/1 var(--sans); color-scheme: dark; }
.bk-f input:focus { outline: 1px solid var(--blue-light); }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chips button { min-width: 52px; min-height: 48px; padding: 0 16px; border: 1px solid var(--ln); font: 500 14px/1 var(--sans); letter-spacing: .04em; color: var(--tx2); transition: background .3s, color .3s, border-color .3s; }
.chips button[aria-pressed="true"] { background: var(--blue); border-color: var(--blue); color: #fff; }
.bk-hint { min-height: 1.4em; font-size: 14px; color: var(--saffron-light); }
.bk-send { display: grid; gap: 16px; align-content: start; }
.bk-chat { padding: 20px 22px; background: #1d2a1f; border-radius: 4px 18px 18px 18px; box-shadow: 0 0 0 1px rgba(255, 255, 255, .06); }
.bk-chat small { font: 500 11px/1.4 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: #9fc8a4; }
.bk-msg { margin-top: 10px; white-space: pre-line; font-size: 15px; line-height: 1.55; color: var(--tx); }
.bk-price { font: 300 1.5rem/1.2 var(--serif); }
.bk-price b { font-weight: 400; color: var(--blue-light); }
.bk-note { font-size: 14px; color: var(--tx2); }
.bk-wa { width: 100%; }
.bk-line { font-size: 14px; color: var(--tx2); }
.bk-gift { font-size: 14px; color: var(--blue-light); border-bottom: 1px solid rgba(125, 179, 255, .4); justify-self: start; }
@media (min-width: 900px) { .bk-form { grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); } .bk-fields { grid-template-columns: 1fr 1fr; } .bk-f.wide { grid-column: span 2; } }

/* ——— правила ——— */
.ru-list { display: grid; gap: 0; margin-top: 36px; border-top: 1px solid var(--ln); }
.ru-list li { display: grid; grid-template-columns: auto 1fr; gap: 26px; align-items: baseline; padding: 26px 0; border-bottom: 1px solid var(--ln); }
.ru-list b { font: 300 clamp(3rem, 2rem + 3vw, 5.2rem)/.9 var(--serif); color: var(--c, var(--saffron-light)); min-width: 1.1em; }
.ru-list span { font: 300 clamp(1.5rem, 1.1rem + 1.6vw, 2.6rem)/1.15 var(--serif); }
.ask { display: grid; gap: 14px; margin-top: 34px; }
.ask-q { display: grid; gap: 12px; padding: 20px 22px; border: 1px solid var(--ln); background: rgba(22, 38, 58, .3); }
.ask-q p { font: 300 1.35rem/1.3 var(--serif); }
.ask-out { display: grid; gap: 14px; margin-top: 20px; justify-items: start; }
.hx.page::after { content: ""; position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; height: 140px; background: linear-gradient(180deg, rgba(20, 23, 26, 0), var(--ink)); pointer-events: none; }
.hx.page .hx-in { z-index: 2; }
.note-s { margin-top: 18px; font-size: 13px; color: var(--tx3); }
.cer5 { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin-top: 34px; counter-reset: c; }
.cer5 li { padding: 20px 16px 18px; border-top: 2px solid var(--c, var(--blue)); background: rgba(14, 16, 19, .5); }
.cer5 b { font: 300 2rem/1 var(--serif); color: var(--c, var(--blue-light)); }
.cer5 h3 { margin-top: 10px; font: 400 1.1rem/1.2 var(--serif); }
.cer5 p { margin-top: 8px; font-size: 14px; color: var(--tx2); }
@media (max-width: 899px) { .cer5 { grid-template-columns: 1fr; } }
.revq { display: grid; gap: 18px; justify-items: start; max-width: 40em; }
.revq h2 { font: 300 clamp(2rem, 1.2rem + 2.6vw, 3.6rem)/1.05 var(--serif); }
.revq h2 em { font-style: italic; color: var(--saffron-light); }
.revq p { color: var(--tx2); }

/* ——— вопросы и дорога ——— */
.faq { display: grid; gap: 0; margin-top: 30px; border-top: 1px solid var(--ln); max-width: 860px; }
.faq details { border-bottom: 1px solid var(--ln); }
.faq summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 64px; padding: 14px 0; cursor: pointer; list-style: none; font: 300 clamp(1.25rem, 1rem + .9vw, 1.7rem)/1.25 var(--serif); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; flex: none; font: 300 1.8rem/1 var(--sans); color: var(--blue-light); transition: transform .4s var(--ease); }
.faq details[open] summary::after { transform: rotate(45deg); color: var(--saffron-light); }
.faq details p, .faq details ul { padding: 0 0 22px; max-width: 40em; color: var(--tx2); }
.faq details li { padding: 2px 0; }
.faq details a { color: var(--blue-light); border-bottom: 1px solid rgba(125, 179, 255, .4); }
.faq details.small-q summary { font-size: 1.05rem; color: var(--tx2); }
.pl .wrap { display: grid; gap: 36px; }
.pl-far { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.pl-far div { padding: 24px 22px; border: 1px solid var(--ln); }
.pl-far b { display: block; font: 300 clamp(3.4rem, 2rem + 4vw, 6rem)/.9 var(--serif); color: var(--blue-light); transition: color .8s; }
.pl-far div.on b { color: var(--saffron-light); }
.pl-far span { display: block; margin-top: 10px; font-size: 15px; color: var(--tx2); }
.pl-card { display: grid; gap: 10px; justify-items: start; }
.pl-card strong { font: 300 clamp(1.7rem, 1.2rem + 1.6vw, 2.6rem)/1.1 var(--serif); font-weight: 300; }
.pl-card address { font-style: normal; color: var(--tx2); }
.pl-card address em { color: var(--tx); }
.pl-mosaic { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.pl-mosaic img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 4px; }
.pl-mosaic img:first-child { border-radius: 999px 999px 4px 4px; }
@media (min-width: 900px) { .pl .wrap { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; } }

/* ——— к записи, внизу каждой страницы ——— */
.cta { padding: clamp(64px, 8vw, 110px) var(--pad); text-align: center; background: linear-gradient(180deg, var(--ink), #10161e); }
.cta .h2 { max-width: 14em; margin: 14px auto 0; }
.cta .act { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 28px; margin-top: 30px; }

/* ——— подвал по стандарту ——— */
.ft { position: relative; padding: clamp(56px, 7vw, 96px) var(--pad) 28px; background: #10161e; color: var(--tx); border-top: 1px solid rgba(31, 111, 214, .55); }
.ft .wrap { display: grid; gap: 40px; }
.ft-scene { display: grid; gap: 14px; }
.ft-big { font: 300 clamp(2.6rem, 1.4rem + 5vw, 6rem)/.95 var(--serif); }
.ft-big em { font-style: italic; color: var(--saffron-light); font-size: .55em; display: block; margin-top: .1em; }
.ft-phrase { max-width: 34em; color: var(--tx2); }
.ft-call { display: inline-flex; flex-direction: column; gap: 4px; justify-self: start; }
.ft-call small { font: 500 11px/1.4 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--blue-light); }
.ft-call .tel { font: 300 clamp(1.6rem, 1.2rem + 1.2vw, 2.3rem)/1.1 var(--serif); }
.ft-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; padding-top: 30px; border-top: 1px solid var(--ln); }
.ft-cols dt { font: 500 11px/1.4 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--blue-light); }
.ft-cols dd { margin: 12px 0 0; }
.ft-cols li { padding: 4px 0; font-size: 15px; color: var(--tx2); }
.ft-cols a:hover { color: #fff; }
.ft-langs a[aria-current] { color: var(--tx); border-bottom: 1px solid var(--blue-light); }
@media (max-width: 899px) { .ft-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 430px) { .ft-cols { grid-template-columns: 1fr; } }
.ft .lv-end { margin-top: 36px; padding-top: 22px; border-top: 1px solid var(--ln); color: var(--tx2); }

.wa-fab { position: fixed; z-index: 60; right: 18px; bottom: 18px; display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: var(--blue); color: #fff; box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .7); transition: opacity .4s, transform .4s var(--ease); }
.wa-fab svg { width: 26px; height: 26px; }
.wa-fab.off { opacity: 0; transform: translateY(20px); pointer-events: none; }

@media (max-width: 1099px) { .bar .sign { position: static; transform: none; margin-right: auto; } .langs { margin-left: 0; } }
@media (max-width: 699px) {
  :root { --bar-h: 58px; }
  .bar { gap: 8px; }
  .menu-btn .l { display: none; }
  .sign { position: static; transform: none; margin-right: auto; font-size: 17px; gap: 8px; }
  .bar .sign .mk { display: none; }
  .langs { margin-left: 0; font-size: 11px; letter-spacing: .1em; } .langs a { padding: 0 5px; }
  .bar .tg { padding: 0 10px; font-size: 11px; letter-spacing: .08em; }
  .dial input { width: 92px; }
}
@media (max-width: 430px) {
  .bar { gap: 6px; }
  .bar .sign { font-size: 16px; }
  .langs a { padding: 0 4px; }
  .bar .tg { padding: 0 9px; letter-spacing: .04em; }
  .pill { white-space: normal; max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .steam, .hx-field .glow { animation: none; } }

/* значки соцсетей и площадок — socials.json, tools/socials.py */
.soc { display: grid; gap: 10px; }
.soc-row { display: flex; flex-wrap: wrap; gap: 10px; }
.soc-i { display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; border: 1.5px solid var(--saffron); color: var(--saffron); background: transparent; transition: color .2s, border-color .2s, background .2s; }
.soc-i svg { width: 22px; height: 22px; }
a.soc-i:hover, a.soc-i:focus-visible { color: var(--blue-light); border-color: var(--blue); background: rgba(31, 111, 214, .16); }
.soc-s { width: 34px; height: 34px; }
.soc-s svg { width: 18px; height: 18px; }
.soc-off { opacity: .5; border-style: dashed; cursor: default; }
.soc-bk { margin-top: 14px; }

/* ——— цикл 6 · дополнение Яна №10: цвета афиши ярче, бейдж на телефоне, шаг «мёд и соль» словом ——— */
.pill.warm { color: var(--ink); }
.pz-star { border-left: 3px solid var(--saffron); background: rgba(31, 111, 214, .16); }
.pz-star b { color: var(--saffron-light); }
.seal small { max-width: 78%; text-align: center; line-height: 1.25; }
@media (max-width: 899px) {
  .hx-wrap .seal { width: 92px; height: 92px; }
  .seal small { margin-top: 5px; font-size: 8px; letter-spacing: .08em; }
}
.s5 .ph.ph-word { display: grid; place-items: center; background: radial-gradient(70% 60% at 50% 38%, rgba(255, 143, 69, .34), rgba(244, 122, 43, .08) 62%, rgba(20, 23, 26, 0)), #1d1a17; }
.s5 .ph.ph-word span { font: italic 300 clamp(2rem, 1.4rem + 1.6vw, 2.8rem)/1.05 var(--serif); color: var(--saffron-light); text-align: center; }
.s5 .ph.ph-word i { display: block; font-style: normal; font-size: .6em; color: var(--blue-light); margin: .15em 0; }
