@charset "UTF-8";
/* =========================================================
   WowItaly — внутренние страницы и общие доработки (16.10)
   Работает поверх v5.css: те же токены, шрифты и кнопки.
   ========================================================= */

/* ---------- почта рядом с WhatsApp ---------- */
.mail-ico { width: 18px; height: 18px; flex: none; }
.pill--mail { gap: 10px; }
.pill--mail .mail-ico { display: block; margin-top: -1px; }
.hdr-mail { display: inline-grid; place-items: center; width: 40px; height: 40px; flex: none; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); transition: background .3s, color .3s, border-color .3s; }
.hdr-mail:hover { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.hdr-mail .mail-ico { width: 17px; height: 17px; }
@media (max-width: 720px) { .hdr-mail { display: none; } }
.sec--night .pill--mail.pill--line, .band .pill--mail { border-color: currentColor; }

/* мобильная панель: почта + WhatsApp (на главной ещё анкета) */
@media (max-width: 720px) {
  .mbar { grid-template-columns: 1fr 1.4fr; }
  .mbar:has(.mbar-form) { grid-template-columns: auto 1fr 1.3fr; }
  .mbar-mail { padding: 0 18px; background: var(--paper); color: var(--ink); }
  .mbar-mail .mail-ico { width: 18px; height: 18px; }
  .mbar:has(.mbar-form) .mbar-mail { font-size: 0; gap: 0; width: 50px; padding: 0; }
}

/* ---------- каркас внутренней страницы ---------- */
body.inner main { padding-top: calc(var(--hh) + env(safe-area-inset-top, 0px)); }
.crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 13px; color: var(--muted); }
.crumbs a { transition: color .25s; }
.crumbs a:hover { color: var(--brass); }
.crumbs span { opacity: .5; }

/* первый экран: фото во всю ширину */
.ph--photo { position: relative; min-height: clamp(560px, 86svh, 920px); display: flex; align-items: flex-end; color: var(--paper); background: var(--night); overflow: hidden; }
.ph-bg { position: absolute; inset: 0; }
.ph-bg img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); transition: transform 2.4s var(--ease-out); }
body.loaded .ph-bg img { transform: none; }
.ph-shade { position: absolute; inset: 0; background:
  linear-gradient(180deg, rgba(20, 17, 15, .42) 0%, rgba(20, 17, 15, 0) 22%, rgba(20, 17, 15, .12) 45%, rgba(20, 17, 15, .78) 100%),
  linear-gradient(90deg, rgba(20, 17, 15, .45) 0%, rgba(20, 17, 15, .12) 55%, rgba(20, 17, 15, 0) 100%); }
.ph--long .ph-title { font-size: calc(clamp(30px, 3.3vw, 58px) * var(--ds)); max-width: 18em; }
.ph-in { position: relative; width: 100%; padding: clamp(28px, 4vw, 56px) var(--px) clamp(26px, 3.4vw, 52px); display: grid; gap: clamp(22px, 2.6vw, 40px); }
.ph--photo .crumbs { position: absolute; z-index: 1; top: clamp(18px, 2vw, 30px); left: var(--px); right: var(--px); color: rgba(255, 253, 248, .85); text-shadow: 0 1px 10px rgba(20, 17, 15, .35); }
.ph--photo .crumbs a:hover { color: #fff; }
.ph-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 24px 6vw; align-items: end; }
.ph .label { display: block; margin-bottom: 18px; }
.ph--photo .label { color: rgba(255, 253, 248, .78); }
.ph-title { font-family: var(--font-display); font-weight: 400; font-size: calc(clamp(36px, 4.6vw, 84px) * var(--ds)); line-height: 1.02; letter-spacing: -.028em; max-width: 14em; }
.ph--photo .ph-title { text-shadow: 0 2px 24px rgba(20, 17, 15, .3); }
.ph-side { display: grid; gap: 22px; justify-items: start; }
.ph-lead { max-width: 32em; font-size: clamp(18px, calc(.7vw + 9.5px), 21px); /* 05.11.2026: было clamp(15px, 1.1vw, 19px) */ line-height: 1.55; }
.ph--photo .ph-lead { color: rgba(255, 253, 248, .88); }
.ph-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.ph--photo .pill--line { color: var(--paper); border-color: rgba(255, 253, 248, .6); }
.ph--photo .pill--line:hover { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.ph-facts { display: flex; flex-wrap: wrap; gap: 14px clamp(26px, 4vw, 64px); padding-top: 20px; border-top: 1px solid rgba(255, 253, 248, .28); }
.ph-facts li { display: grid; gap: 2px; }
.ph-facts b { font-family: var(--font-display); font-weight: 400; font-size: clamp(22px, 2vw, 34px); line-height: 1.1; letter-spacing: -.015em; }
.ph-facts span { font-size: 12px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; opacity: .78; }
.js .ph-in > * { opacity: 0; transform: translate3d(0, 22px, 0); transition: opacity 1.1s var(--ease-out), transform 1.3s var(--ease-out); }
body.loaded .ph-in > * { opacity: 1; transform: none; }
body.loaded .ph-in > :nth-child(3) { transition-delay: .2s; }

/* первый экран: текст + фото */
.ph--plain { padding: clamp(28px, 3vw, 48px) var(--px) clamp(28px, 3vw, 52px); display: grid; gap: clamp(24px, 2.6vw, 40px); }
.ph--plain > div:empty { display: none; } /* пустой ряд фактов не добавляет отступ */
.ph--plain .ph-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: center; }
.ph--plain .ph-main { display: grid; gap: 22px; justify-items: start; }
.ph--plain .ph-lead { color: var(--ink-soft); }
.ph--plain .label { margin-bottom: 0; }
.ph-media { aspect-ratio: 5 / 4; border-radius: 18px; }
.ph--plain .ph-facts { border-top-color: var(--line); }
.ph--plain .ph-facts span { color: var(--muted); opacity: 1; }
@media (max-width: 1024px) { .ph-grid, .ph--plain .ph-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 720px) {
  .ph--photo { min-height: 88svh; }
  .ph-title { font-size: calc(9.4vw * var(--ds)); }
  .ph-actions .pill { flex: 1 1 100%; }
  .ph-facts { gap: 12px 24px; }
  .ph-facts li:nth-child(n+4) { display: none; }
}

/* ---------- текст и фото в две колонки ---------- */
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 110px); align-items: center; }
.split--rev .split-media { order: -1; }
.split-media { aspect-ratio: 4 / 5; border-radius: 18px; }
.split-media--wide { aspect-ratio: 4 / 3; }
.split-text { display: grid; gap: 22px; align-content: start; justify-items: start; }
.split-text .h2 { max-width: 12em; }
.split-text p { color: var(--ink-soft); max-width: 36em; }
.split-text .lead-text { color: var(--ink); }
@media (max-width: 1024px) { .split { grid-template-columns: minmax(0, 1fr); } .split--rev .split-media { order: 0; } .split-media { max-height: 70svh; } }

/* статья / связный текст */
.prose { max-width: 44em; display: grid; gap: 1.05em; color: var(--ink-soft); font-size: clamp(17.5px, calc(.5vw + 12.8px), 21px); line-height: 1.7; } /* 05.11.2026: было clamp(16px, 1.08vw, 18.5px) — крупнее по просьбе пользователя */
.prose h2, .prose h3 { color: var(--ink); font-family: var(--font-display); font-weight: 400; letter-spacing: -.015em; line-height: 1.15; margin-top: .9em; }
.prose h2 { font-size: clamp(26px, 2.3vw, 38px); }
.prose h3 { font-size: clamp(21px, 1.6vw, 27px); }
.prose > :first-child { margin-top: 0; }
.prose strong { color: var(--ink); font-weight: 500; }
.prose a { color: var(--brass); text-decoration: underline; text-underline-offset: 3px; }
.prose ul, .prose ol { display: grid; gap: .5em; padding-left: 1.2em; }
.prose ul { list-style: disc; } .prose ol { list-style: decimal; }
.prose li::marker { color: var(--brass); }
.prose figure { margin: .8em 0; }
.prose figure img { border-radius: 14px; width: 100%; }
.prose figcaption { margin-top: 8px; font-size: 13px; color: var(--muted); }
.prose blockquote { padding: 4px 0 4px 22px; border-left: 2px solid var(--brass); color: var(--ink); font-family: var(--font-display); font-size: 1.15em; line-height: 1.45; }

/* ---------- списки ---------- */
.checks { display: grid; gap: 12px; }
.checks li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; align-items: start; line-height: 1.5; }
.checks svg { width: 22px; height: 22px; color: var(--brass); margin-top: 1px; }
.checks--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(24px, 3vw, 48px); }
@media (max-width: 720px) { .checks--2 { grid-template-columns: minmax(0, 1fr); } }
.extras { display: grid; border-top: 1px solid var(--line); }
.extras li { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.extras b { font-weight: 500; white-space: nowrap; font-variant-numeric: tabular-nums; }
.sub-t { font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin: 0 0 16px; }

/* ---------- пакеты с ценой ---------- */
.pkgs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 26px); align-items: stretch; }
.pkgs--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pkgs--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pkg { position: relative; display: flex; flex-direction: column; gap: 16px; padding: 14px 14px clamp(22px, 2vw, 30px); border-radius: 18px; background: var(--paper); }
.sec--paper .pkg { background: var(--ivory); }
.pkg-img { aspect-ratio: 3 / 2; border-radius: 12px !important; }
.pkg-body { display: flex; flex-direction: column; gap: 14px; padding-inline: clamp(6px, .8vw, 14px); flex: 1; }
.pkg .meta { font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--brass); }
.pkg h3 { font-size: clamp(22px, 1.8vw, 30px); line-height: 1.12; letter-spacing: -.01em; }
.pkg p { color: var(--ink-soft); font-size: .96em; }
.pkg-price { display: flex; align-items: baseline; gap: 8px; padding-top: 14px; border-top: 1px solid var(--line); }
.pkg-price span { color: var(--muted); }
.pkg-price b { font-family: var(--font-display); font-weight: 300; font-size: clamp(30px, 2.6vw, 44px); letter-spacing: -.02em; line-height: 1; font-variant-numeric: tabular-nums; }
.pkg .checks { gap: 9px; font-size: .94em; }
.pkg .checks svg { width: 18px; height: 18px; }
.pkg .checks li { grid-template-columns: 18px minmax(0, 1fr); gap: 10px; }
.pkg-foot { margin-top: auto; display: flex; flex-wrap: wrap; gap: 8px; padding-top: 8px; }
.pkg-foot .pill { height: 44px; padding: 0 18px; font-size: 11.5px; }
.pkg--main { background: var(--ink) !important; color: var(--ivory); }
.pkg--main p, .pkg--main .pkg-price span { color: color-mix(in srgb, var(--ivory) 70%, transparent); }
.pkg--main .pkg-price { border-color: color-mix(in srgb, var(--ivory) 20%, transparent); }
.pkg--main .meta, .pkg--main .checks svg { color: var(--accent-light); }
.pkg--main .pill--line { color: var(--ivory); border-color: color-mix(in srgb, var(--ivory) 50%, transparent); }
.pkg--main .pill--line:hover { background: var(--ivory); color: var(--ink); }
.pkg .badge { position: absolute; top: 24px; left: 24px; z-index: 1; padding: 6px 12px; border-radius: 30px; background: var(--paper); color: var(--ink); font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
@media (max-width: 1024px) { .pkgs, .pkgs--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .pkgs, .pkgs--2, .pkgs--4 { grid-template-columns: minmax(0, 1fr); } }

/* ---------- карточки-переходы ---------- */
.lcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 3vw, 48px) clamp(14px, 1.6vw, 28px); }
.lcards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lcards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lc { display: grid; gap: 14px; align-content: start; }
.lc-img { aspect-ratio: 4 / 3; display: block; border-radius: 18px; }
.lc-img img { transition: transform 1.4s var(--ease-out); }
.lc:hover .lc-img img { transform: scale(1.04); }
.lc .meta { font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--brass); }
.lc h3 { font-size: clamp(22px, 1.9vw, 32px); line-height: 1.1; letter-spacing: -.01em; }
.lc h3 a:hover { color: var(--brass); }
.lc p { color: var(--ink-soft); font-size: .96em; }
.lc-price { display: flex; align-items: baseline; gap: 6px; }
.lc-price span { color: var(--muted); }
.lc-price b { font-family: var(--font-display); font-weight: 400; font-size: clamp(22px, 1.8vw, 30px); letter-spacing: -.015em; }
@media (max-width: 1024px) { .lcards, .lcards--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .lcards, .lcards--4, .lcards--2 { grid-template-columns: minmax(0, 1fr); } }

/* преимущества — 4 в ряд */
.adv--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.adv--4 li { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 1024px) { .adv--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .adv--4 { grid-template-columns: minmax(0, 1fr); } }

/* документы, условия: две колонки карточек */
.cols2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 26px); }
.cols3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 26px); }
.card { display: grid; gap: 14px; align-content: start; padding: clamp(24px, 2.6vw, 40px); border-radius: 18px; background: var(--paper); }
.sec--paper .card { background: var(--ivory); }
.card h3 { font-size: clamp(21px, 1.7vw, 28px); line-height: 1.15; }
.card p { color: var(--ink-soft); }
.card--dark { background: var(--ink) !important; color: var(--ivory); }
.card--dark p { color: color-mix(in srgb, var(--ivory) 72%, transparent); }
.card--dark .checks svg { color: var(--accent-light); }
@media (max-width: 1024px) { .cols3 { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 720px) { .cols2 { grid-template-columns: minmax(0, 1fr); } }

/* цитата */
.quote { max-width: 30em; margin-inline: auto; display: grid; gap: 22px; justify-items: center; text-align: center; }
.quote p { font-family: var(--font-display); font-weight: 300; font-size: clamp(24px, 2.4vw, 40px); line-height: 1.3; letter-spacing: -.012em; }
.quote footer { font-size: 13px; color: var(--muted); }
.quote footer b { display: block; font-size: 15px; font-weight: 500; color: var(--ink); }

/* полоса-призыв с фото */
.band { position: relative; overflow: hidden; color: var(--paper); background: var(--night); }
.band-bg { position: absolute; inset: 0; }
.band-bg img { width: 100%; height: 100%; object-fit: cover; }
.band::after { content: ""; position: absolute; inset: 0; background: rgba(20, 17, 15, .52); }
.band-in { position: relative; z-index: 1; display: grid; gap: 20px; justify-items: center; text-align: center; padding: clamp(84px, 10vw, 170px) var(--px); }
.band .label { color: rgba(255, 253, 248, .75); }
.band-t { font-family: var(--font-display); font-weight: var(--dw); font-size: calc(clamp(34px, 4.6vw, 78px) * var(--ds)); line-height: 1.04; letter-spacing: -.025em; max-width: 14em; }
.band-in > p { max-width: 34em; color: rgba(255, 253, 248, .86); }
.band-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 8px; }
.band .band-note { font-size: 13px; color: rgba(255, 253, 248, .7); }
@media (max-width: 720px) { .band-btns .pill { flex: 1 1 100%; } }

.faq-btns { display: flex; flex-wrap: wrap; gap: 10px; }

/* =========================================================
   КАЛЬКУЛЯТОР: карта Италии с зонами + параметры
   ========================================================= */
.calc2 { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(320px, 1fr); border-radius: 18px; background: var(--ivory); overflow: clip; margin-top: clamp(40px, 4vw, 72px); }
.sec:not(.sec--paper) .calc2 { background: var(--paper); }
.c2-q { padding: clamp(22px, 2.6vw, 44px); display: grid; gap: 26px; margin: 0; }
.c2-title { font-family: var(--font-display); font-weight: var(--dw); font-size: clamp(26px, 2.2vw, 38px); line-height: 1.1; }
.c2-step { border: 0; margin: 0; padding: 22px 0 0; border-top: 1px solid var(--line); min-width: 0; }
.c2-step legend { float: left; width: 100%; display: flex; align-items: baseline; gap: 12px; margin-bottom: 14px; padding: 0; font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.c2-step legend span { color: var(--brass); font-variant-numeric: tabular-nums; }
.c2-step > :not(legend) { clear: both; }
.c2-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.c2-chip { position: relative; cursor: pointer; }
.c2-chip input { position: absolute; opacity: 0; pointer-events: none; }
.c2-chip span { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 9px 16px; border-radius: 30px; border: 1px solid var(--line); background: var(--ivory); font-size: 14px; line-height: 1.25; transition: background .3s, color .3s, border-color .3s; }
.sec--paper .c2-chip span, .calc2 .c2-chip span { background: transparent; }
.c2-chip:hover span { border-color: var(--ink); }
.c2-chip input:checked + span { background: var(--ink); color: var(--ivory); border-color: var(--ink); }
.c2-chips--x .c2-chip span::before { content: ""; width: 14px; height: 14px; border-radius: 4px; border: 1px solid currentColor; opacity: .5; flex: none; }
.c2-chips--x .c2-chip input:checked + span::before { opacity: 1; background: var(--brass) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='white' stroke-width='3'/%3E%3C/svg%3E") center / 11px no-repeat; border-color: var(--brass); }
.c2-chip input:focus-visible + span { outline: 1.5px solid var(--brass); outline-offset: 2px; }
.c2-chip input:disabled + span { opacity: .32; cursor: not-allowed; border-style: dashed; }
.c2-hint { margin-top: 10px; font-size: 13px; color: var(--muted); }

.c2-loc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 200px); gap: 18px 28px; align-items: center; }
.c2-chips--col { flex-direction: column; align-items: stretch; }
.c2-chips--col .c2-chip span { width: 100%; }
.c2-map { max-width: 400px; justify-self: center; width: 100%; }
.c2-italy { display: block; width: 100%; height: auto; overflow: visible; }
.c2-italy .land { fill: var(--powder); stroke: color-mix(in srgb, var(--brass) 55%, transparent); stroke-width: 1.4; stroke-linejoin: round; }
.c2-italy .land--far { opacity: .55; }
.zone { cursor: pointer; }
.zone:focus, .zone:focus-visible { outline: none; } /* только мышью (tabindex=-1), с клавиатуры — чипы регионов; рамка при клике не нужна */
.zone-area { fill: var(--brass); opacity: 0; transition: opacity .4s var(--ease); }
.zone-ring { fill: var(--ivory); stroke: var(--brass); stroke-width: 1.4; transition: r .35s var(--ease), fill .3s; }
.zone-dot { fill: var(--brass); transition: fill .3s; }
.zone text { font: 500 19px/1 var(--font-body); fill: var(--ink-soft); paint-order: stroke; stroke: var(--ivory); stroke-width: 5px; stroke-linejoin: round; transition: fill .3s; }
.zone:hover .zone-area { opacity: .12; }
.zone:hover text { fill: var(--ink); }
.zone.is-on .zone-area { opacity: .22; }
.zone.is-on .zone-ring { fill: var(--brass); }
.zone.is-on .zone-dot { fill: var(--ivory); }
.zone.is-on text { fill: var(--ink); font-weight: 600; }

.c2-guests { display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: center; gap: 4px 12px; }
.c2-gnum { font-family: var(--font-display); font-weight: 300; font-size: clamp(40px, 3.4vw, 58px); line-height: 1; letter-spacing: -.03em; min-width: 2.1ch; font-variant-numeric: tabular-nums; }
.c2-gword { color: var(--muted); }
.c2-range { -webkit-appearance: none; appearance: none; width: 100%; height: 28px; margin: 0 0 0 10px; background: transparent; cursor: pointer; --p: 0%; }
.c2-range::-webkit-slider-runnable-track { height: 3px; border-radius: 3px; background: linear-gradient(90deg, var(--brass) var(--p), var(--line) var(--p)); }
.c2-range::-moz-range-track { height: 3px; border-radius: 3px; background: linear-gradient(90deg, var(--brass) var(--p), var(--line) var(--p)); }
.c2-range::-webkit-slider-thumb { -webkit-appearance: none; width: 24px; height: 24px; margin-top: -10.5px; border-radius: 50%; background: var(--ivory); border: 1.5px solid var(--brass); box-shadow: 0 2px 8px rgba(20, 17, 15, .15); }
.c2-range::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: var(--ivory); border: 1.5px solid var(--brass); }
.c2-range:focus-visible { outline: 1.5px solid var(--brass); outline-offset: 4px; }
.c2-presets { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.c2-presets button { padding: 6px 12px; border-radius: 20px; border: 1px solid var(--line); font-size: 13px; color: var(--ink-soft); transition: border-color .25s, color .25s; }
.c2-presets button:hover { border-color: var(--ink); color: var(--ink); }

.c2-res { position: relative; display: flex; flex-direction: column; gap: 16px; padding: clamp(22px, 2.6vw, 44px); background: color-mix(in srgb, var(--brass) 9%, var(--ivory)); }
.c2-res-in { display: flex; flex-direction: column; gap: 16px; }
.c2-pack { font-size: 15px; font-weight: 500; line-height: 1.4; }
.c2-sum { font-family: var(--font-display); font-weight: 300; font-size: clamp(44px, 4.4vw, 76px); line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.c2-sum small { display: block; margin-top: 10px; font-size: .36em; letter-spacing: 0; color: var(--brass); }
.c2-lines { display: grid; border-top: 1px solid var(--line); font-size: 14px; }
.c2-lines li { display: flex; justify-content: space-between; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.c2-lines b { font-weight: 500; white-space: nowrap; font-variant-numeric: tabular-nums; }
.c2-inc { font-size: 14px; color: var(--ink-soft); line-height: 1.5; }
.c2-btns { display: grid; gap: 8px; }
.c2-btns .pill { width: 100%; }
.c2-note { font-size: 13px; color: var(--muted); line-height: 1.45; }
@media (min-width: 1025px) {
  .c2-res { position: relative; }
  .c2-res-in { position: sticky; top: calc(var(--hh) + 24px); }
}
@media (max-width: 1024px) {
  .calc2 { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 720px) {
  .c2-loc { grid-template-columns: minmax(0, 1fr); }
  .c2-map { max-width: 250px; }
  .zone text { font-size: 30px; stroke-width: 7px; }
  .zone-area { r: 56; }
  .c2-chips--col { flex-direction: row; }
  .c2-chips--col .c2-chip span { width: auto; }
  .c2-guests { grid-template-columns: auto minmax(0, 1fr); }
  .c2-range { grid-column: 1 / -1; margin: 6px 0 0; }
}
/* на главной блок «Стоимость» уже светлый — калькулятор на белом */
#price .calc2 { background: var(--ivory); }

/* =========================================================
   ПОРТФОЛИО: фильтры + сетка
   ========================================================= */
.pf-bar { position: sticky; top: calc(var(--hh) + env(safe-area-inset-top, 0px)); z-index: 20; display: grid; gap: 12px; margin: 0 calc(var(--px) * -1) clamp(28px, 3vw, 48px); padding: 14px var(--px); background: color-mix(in srgb, var(--ivory) 94%, transparent); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.pf-row { display: flex; align-items: center; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.pf-row::-webkit-scrollbar { display: none; }
.pf-row > span { flex: none; min-width: 84px; font-size: 11.5px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.fbtn { flex: none; display: inline-flex; align-items: center; gap: 7px; height: 36px; padding: 0 14px; border-radius: 30px; border: 1px solid var(--line); font-size: 14px; white-space: nowrap; transition: background .25s, color .25s, border-color .25s, opacity .25s; }
.fbtn i { font-style: normal; font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.fbtn:hover { border-color: var(--ink); }
.fbtn[aria-pressed="true"] { background: var(--ink); color: var(--ivory); border-color: var(--ink); }
.fbtn[aria-pressed="true"] i { color: color-mix(in srgb, var(--ivory) 65%, transparent); }
.fbtn:disabled { opacity: .35; cursor: default; }
.pf-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; font-size: 14px; color: var(--muted); }
.pf-meta b { color: var(--ink); font-weight: 500; }
.pf-reset { font-size: 13px; text-decoration: underline; text-underline-offset: 3px; color: var(--ink-soft); }
.pf-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(32px, 3vw, 56px) clamp(14px, 1.6vw, 28px); }
.pf-card { display: grid; gap: 12px; align-content: start; }
.pf-card[hidden] { display: none; }
.pf-img { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: 18px; overflow: hidden; background: var(--sand); }
.pf-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease-out); }
.pf-card:hover .pf-img img { transform: scale(1.04); }
.pf-tag { position: absolute; left: 12px; top: 12px; padding: 5px 11px; border-radius: 30px; background: rgba(255, 255, 255, .92); font-size: 11px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.pf-card .meta { font-size: 12px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--brass); }
.pf-card h3 { font-size: clamp(19px, 1.45vw, 24px); line-height: 1.2; letter-spacing: -.005em; }
.pf-card h3 a:hover { color: var(--brass); }
.pf-more { display: flex; justify-content: center; margin-top: clamp(40px, 4vw, 64px); }
.pf-more[hidden], [data-empty][hidden] { display: none; }
.pf-empty { padding: 60px 0; text-align: center; color: var(--muted); }
@media (max-width: 1024px) { .pf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) {
  .pf-grid { grid-template-columns: minmax(0, 1fr); }
  .pf-row > span { min-width: 0; }
  .pf-bar { gap: 8px; padding-block: 10px; }
}

/* лента свадеб на страницах услуг и локаций */
.strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 24px); }
.strip .pf-img { aspect-ratio: 4 / 5; }
@media (max-width: 1024px) { .strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) {
  .strip { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(var(--px) * -1); padding-inline: var(--px); scroll-padding-inline: var(--px); } /* карточка встаёт с отступом, а не к краю экрана */
  .strip::-webkit-scrollbar { display: none; }
  .strip .pf-card { flex: 0 0 78%; scroll-snap-align: start; }
}
.strip-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 18px 40px; margin-bottom: clamp(32px, 3vw, 56px); }
.strip-head .h2 { max-width: 13em; }

/* =========================================================
   ИСТОРИЯ СВАДЬБЫ
   ========================================================= */
.cs-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.cs-meta li { padding: 7px 14px; border-radius: 30px; border: 1px solid var(--line); font-size: 13.5px; }
.ph--photo .cs-meta li { border-color: rgba(255, 253, 248, .4); }
.cs-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 320px); gap: clamp(32px, 6vw, 120px); align-items: start; }
.cs-aside { position: sticky; top: calc(var(--hh) + 32px); display: grid; gap: 22px; padding: clamp(22px, 2vw, 32px); border-radius: 18px; background: var(--paper); }
.cs-credits { display: grid; gap: 12px; font-size: 14px; }
.cs-credits div { display: grid; gap: 2px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.cs-credits dt { font-size: 11.5px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.cs-credits dd { margin: 0; }
.cs-aside .pill { width: 100%; }
.cs-aside .btns { display: grid; gap: 8px; }
@media (max-width: 1024px) { .cs-body { grid-template-columns: minmax(0, 1fr); } .cs-aside { position: static; } }

.gal { columns: 3 280px; column-gap: clamp(10px, 1vw, 16px); }
.gal a { display: block; margin-bottom: clamp(10px, 1vw, 16px); break-inside: avoid; border-radius: 14px; overflow: hidden; background: var(--sand); cursor: zoom-in; }
.gal img { width: 100%; height: auto; transition: transform 1.2s var(--ease-out), opacity .3s; }
.gal a:hover img { transform: scale(1.03); }

.yt { position: relative; aspect-ratio: 16 / 9; border-radius: 18px; overflow: hidden; background: #000; cursor: pointer; }
.yt img { width: 100%; height: 100%; object-fit: cover; opacity: .8; transition: opacity .3s; }
.yt:hover img { opacity: .65; }
.yt-play { position: absolute; inset: 0; display: grid; place-items: center; }
.yt-play span { display: inline-flex; align-items: center; gap: 12px; padding: 14px 22px; border-radius: 40px; background: var(--paper); color: var(--ink); font-size: 12.5px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.yt-play svg { width: 14px; height: 14px; }
.yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
/* Фильм — продающий блок на всю ширину контейнера (05.11.2026), не выше экрана; в узких колонках — с выступом до полей */
.yt--wide { width: 100%; max-height: calc(100vh - var(--hh) - 40px); margin-top: clamp(40px, 5vw, 80px); }
.yt--wide .yt-play span { padding: 18px 28px; font-size: 13px; }
.yt--wide .yt-play svg { width: 16px; height: 16px; }
.g-in .yt--wide, .cs-story .yt--wide { width: auto; margin-inline: calc(-1 * max(0px, (100vw - 100%) / 2 - var(--px))); }

.cs-nav { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
.cs-nav a { display: grid; gap: 6px; padding: clamp(20px, 2vw, 30px); border-radius: 18px; background: var(--paper); transition: background .3s; }
.cs-nav a:hover { background: var(--powder); }
.cs-nav a:last-child { text-align: right; }
.cs-nav span { font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.cs-nav b { font-family: var(--font-display); font-weight: 400; font-size: clamp(17px, 1.3vw, 21px); line-height: 1.25; }
@media (max-width: 720px) { .cs-nav { grid-template-columns: minmax(0, 1fr); } .cs-nav a:last-child { text-align: left; } }

/* =========================================================
   ОТЗЫВЫ
   ========================================================= */
.rv2-grid { columns: 3 320px; column-gap: clamp(14px, 1.6vw, 26px); }
.rv2 { break-inside: avoid; display: grid; gap: 16px; margin-bottom: clamp(14px, 1.6vw, 26px); padding: clamp(22px, 2vw, 32px); border-radius: 18px; background: var(--paper); }
.rv2[hidden] { display: none; }
.rv2-photo { aspect-ratio: 4 / 3; border-radius: 12px !important; }
.rv2 .stars { color: var(--brass); letter-spacing: .14em; font-size: 14px; }
.rv2-text { position: relative; display: grid; gap: .8em; max-height: 13.5em; overflow: hidden; color: var(--ink-soft); line-height: 1.6; font-size: .97em; }
.rv2-text::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4em; background: linear-gradient(transparent, var(--paper)); }
.rv2.is-open .rv2-text { max-height: none; }
.rv2.is-open .rv2-text::after, .rv2--short .rv2-text::after { display: none; }
.rv2--short .rv2-text { max-height: none; }
.rv2 button[data-expand] { justify-self: start; font-size: 12.5px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--brass); }
.rv2 footer { display: grid; gap: 2px; padding-top: 14px; border-top: 1px solid var(--line); }
.rv2 footer b { font-weight: 500; }
.rv2 footer span { font-size: .88em; color: var(--muted); }

/* =========================================================
   КОНТАКТЫ, КОМАНДА, 404
   ========================================================= */
.ct-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 24px); }
.ct { display: grid; gap: 10px; align-content: start; padding: clamp(22px, 2.2vw, 34px); border-radius: 18px; background: var(--paper); }
.ct p { font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.ct a, .ct address, .ct b { font-family: var(--font-display); font-weight: 400; font-size: clamp(18px, 1.4vw, 23px); line-height: 1.3; word-break: break-word; }
.ct a:hover { color: var(--brass); }
.ct small { color: var(--muted); font-size: 13.5px; line-height: 1.45; }
.ct .pill { justify-self: start; margin-top: 6px; font-size: 11.5px; height: 42px; }
.ct--wa { background: var(--wa); color: #fff; }
.ct--wa p, .ct--wa small { color: rgba(255, 255, 255, .8); }
.ct--wa a:hover { color: #fff; opacity: .85; }
.ct--wa .pill { background: #fff; color: var(--wa-dark); border-color: #fff; }
.legal { font-size: 13.5px; color: var(--muted); line-height: 1.6; }
.map-frame { aspect-ratio: 16 / 7; border-radius: 18px; overflow: hidden; background: var(--paper); }
.map-frame iframe { width: 100%; height: 100%; border: 0; filter: grayscale(.4); }
@media (max-width: 1024px) { .ct-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .ct-grid { grid-template-columns: minmax(0, 1fr); } .map-frame { aspect-ratio: 4 / 3; } }

.people2 { display: grid; gap: clamp(48px, 6vw, 110px); }
.person { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 5vw, 96px); align-items: center; }
.person:nth-child(even) .person-img { order: 2; }
.person-img { aspect-ratio: 4 / 5; border-radius: 18px; max-width: 520px; }
.person-text { display: grid; gap: 16px; align-content: start; }
.person-text .tm-role { font-size: 13px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.person-text h3 { font-size: clamp(30px, 3vw, 52px); line-height: 1.05; letter-spacing: -.02em; }
.person-text blockquote { margin: 0; font-family: var(--font-display); font-weight: 300; font-size: clamp(20px, 1.7vw, 28px); line-height: 1.35; }
.person-text p { color: var(--ink-soft); max-width: 36em; }
@media (max-width: 860px) { .person { grid-template-columns: minmax(0, 1fr); } .person:nth-child(even) .person-img { order: 0; } }

.e404 { min-height: 70svh; display: grid; place-items: center; text-align: center; padding: var(--sy) var(--px); }
.e404-in { display: grid; gap: 22px; justify-items: center; max-width: 36em; }
.e404 b { font-family: var(--font-display); font-weight: 300; font-size: clamp(90px, 16vw, 240px); line-height: .9; letter-spacing: -.05em; color: var(--brass); }

/* блог */
.posts--all { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: clamp(40px, 4vw, 64px) !important; }
@media (max-width: 1024px) { .posts--all { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .posts--all { grid-template-columns: minmax(0, 1fr); } }

/* числа в ряд */
.nums { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.nums li { display: grid; gap: 8px; align-content: start; padding: clamp(20px, 2.2vw, 34px) clamp(14px, 1.6vw, 28px); color: var(--muted); line-height: 1.45; }
.nums li:first-child { padding-left: 0; }
.nums li + li { border-left: 1px solid var(--line); }
.nums b { font-family: var(--font-display); font-weight: var(--dw); font-size: clamp(40px, 4.2vw, 72px); line-height: 1; letter-spacing: -.03em; color: var(--ink); }
@media (max-width: 1024px) {
  .nums { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nums li:nth-child(3) { padding-left: 0; border-left: 0; }
  .nums li:nth-child(n+3) { border-top: 1px solid var(--line); }
}

.center-text { text-align: center; margin-inline: auto; }
.mt { margin-top: clamp(40px, 4vw, 72px); }
.mt-s { margin-top: clamp(24px, 2.4vw, 40px); }
.btns { display: flex; flex-wrap: wrap; gap: 10px; }

/* тарифы на светлом фоне (как блок «Стоимость» на главной) */
.tiers--light { border: 0; gap: 14px; }
.tiers--light .tier, .tiers--light .tier + .tier { padding: clamp(24px, 2.4vw, 36px); border: 0; border-radius: 18px; background: var(--paper); }
.sec--paper .tiers--light .tier { background: var(--ivory); }
.tiers--light .tier-t, .tiers--light .tier-p small, .tiers--light .tier-d { color: var(--muted); }
.tiers--light .tier--main { background: var(--ink) !important; color: var(--ivory); }
.tiers--light .tier--main .tier-t, .tiers--light .tier--main .tier-p small, .tiers--light .tier--main .tier-d { color: color-mix(in srgb, var(--ivory) 65%, transparent); }
.tiers--light .tier--main .tier-p { color: var(--ivory); }
.tiers--light:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1024px) { .tiers--light .tier:nth-child(n+3) { border-top: 0; } .tiers--light:has(> :nth-child(3):last-child) { grid-template-columns: minmax(0, 1fr); } }
.factors--light li { border-color: var(--line); color: var(--ink); background: var(--ivory); }

/* переход к калькулятору */
.teaser { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 18px 28px; margin-top: clamp(28px, 3vw, 48px); padding: clamp(20px, 2vw, 30px) clamp(22px, 2.4vw, 36px); border-radius: 18px; background: color-mix(in srgb, var(--brass) 10%, var(--ivory)); }
.teaser-ico { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--ivory); color: var(--brass); }
.teaser-ico svg { width: 28px; height: 28px; }
.teaser-t { font-family: var(--font-display); font-size: clamp(20px, 1.6vw, 26px); line-height: 1.2; margin-bottom: 4px; }
.teaser p:not(.teaser-t) { color: var(--ink-soft); font-size: .95em; }
@media (max-width: 720px) { .teaser { grid-template-columns: minmax(0, 1fr); } .teaser .pill { width: 100%; } .teaser-ico { display: none; } }

/* площадки */
.venues { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 clamp(20px, 3vw, 48px); border-top: 1px solid var(--line); }
.venues li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.venues svg { width: 22px; height: 22px; color: var(--brass); margin-top: 1px; }
.venues span { display: grid; gap: 2px; }
.venues b { font-weight: 500; }
.venues small { font-size: 13.5px; color: var(--muted); }
@media (max-width: 1024px) { .venues { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .venues { grid-template-columns: minmax(0, 1fr); } }

/* баннер на светлом фоне */
.banner--light { margin-top: 0; border: 0; border-radius: 18px; background: var(--paper); }
.banner--light .banner-body p { color: var(--ink-soft); }
.split--top { align-items: start; }
.split--top .split-text { position: sticky; top: calc(var(--hh) + 40px); }
@media (max-width: 1024px) { .split--top .split-text { position: static; } }
.steps .you { margin-top: 8px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--ink); }

/* шапка: с кнопкой почты меню помещается от 1561px, уже — бургер */
@media (min-width: 1441px) and (max-width: 1560px) {
  .nav { display: none; }
  #menu-btn { display: inline-flex; }
  .hdr-right { display: flex; align-items: center; gap: 14px; }
  #menu { display: grid; }
}

/* =========================================================
   АКЦЕНТНЫЙ БЛОК — светлый шампань вместо почти чёрного (16.10)
   главный пакет, главный тариф, тёмная карточка, «Первый шаг»
   ========================================================= */
:root {
  --accent-bg: color-mix(in srgb, var(--brass) 26%, var(--ivory));
  --accent-line: color-mix(in srgb, var(--brass) 45%, transparent);
  --accent-ink: color-mix(in srgb, var(--brass) 70%, var(--ink));
}
.pkg--main, .tiers--light .tier--main, html:not([data-ds]) #price .tier.tier--main, .card--dark, html:not([data-ds]) .step--cta {
  background: var(--accent-bg) !important; color: var(--ink) !important; border-color: var(--accent-bg) !important;
}
.pkg--main p, .pkg--main .pkg-price span, .card--dark p,
.tiers--light .tier--main .tier-t, .tiers--light .tier--main .tier-p small, .tiers--light .tier--main .tier-d,
html:not([data-ds]) #price .tier--main .tier-t, html:not([data-ds]) #price .tier--main .tier-p small, html:not([data-ds]) #price .tier--main .tier-d,
html:not([data-ds]) .step--cta p { color: var(--ink-soft) !important; }
.tiers--light .tier--main .tier-p, html:not([data-ds]) #price .tier--main .tier-p { color: var(--ink) !important; }
.pkg--main .pkg-price { border-color: var(--accent-line); }
.pkg--main .meta, .pkg--main .checks svg, .card--dark .checks svg, html:not([data-ds]) .step--cta .step-n { color: var(--accent-ink) !important; }
.pkg--main .pill--line, .step--cta .pill--ghost, .step--cta .pill--line { color: var(--ink); border-color: color-mix(in srgb, var(--ink) 45%, transparent); background: transparent; }
.pkg--main .pill--line:hover, .step--cta .pill--ghost:hover, .step--cta .pill--line:hover { background: var(--ink); color: var(--ivory); border-color: var(--ink); }
.pkg--main .badge { background: var(--ivory); }

/* галерея: фото целиком в экране — и вертикальные, и горизонтальные */
#lightbox { grid-template-rows: minmax(0, 1fr); }
.lb-stage { min-height: 0; height: 100%; overflow: hidden; }
#lb-img { max-width: 100%; max-height: calc(100svh - 120px); width: auto; height: auto; object-fit: contain; border-radius: 6px; } /* размер ставит lbFit() в v5.js */
#lightbox { padding: 60px clamp(64px, 6vw, 88px); }
@media (max-width: 720px) { #lb-img { max-height: calc(100svh - 160px); } #lightbox { padding: 64px 0 90px; } }

/* ---------- история свадьбы (25.10.2026): текст по центру, фото между частями, выделенные цитаты, команда внизу ---------- */
.cs-story { max-width: 680px; /* ~75 знаков в строке (аудит 26.10.2026) */ margin: 0 auto; display: grid; gap: clamp(36px, 4vw, 64px); }
.cs-prose { max-width: none; }
.cs-pics { display: grid; gap: clamp(10px, 1.4vw, 20px); margin: 0 calc(-1 * min(clamp(0px, 8vw, 160px), max(0px, (100vw - 100%) / 2 - 24px))); } /* выступ за колонку — не дальше поля экрана (планшет) */
.cs-pics--2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.cs-pic { display: block; aspect-ratio: 4 / 5; border-radius: 18px; cursor: zoom-in; }
.cs-pics--1 .cs-pic { aspect-ratio: 3 / 2; }
.cs-pull { margin: 0; padding: clamp(8px, 1vw, 16px) 0 clamp(8px, 1vw, 16px) clamp(20px, 2vw, 32px); border-left: 2px solid var(--brass); }
.cs-pull p { font-family: var(--font-display); font-size: clamp(22px, 2.2vw, 34px); font-weight: 400; line-height: 1.3; letter-spacing: -.01em; color: var(--ink); }
.cs-pull p::before { content: "«"; } .cs-pull p::after { content: "»"; }
.cs-team { display: grid; gap: 22px; padding: clamp(24px, 3vw, 40px); border-radius: 18px; background: var(--paper); }
.cs-team .sub-t { margin: 0; }
.cs-team .cs-credits { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 14px 28px; margin: 0; }
.cs-team .btns { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 720px) { .cs-pics { margin: 0; } .cs-pics--2 { gap: 8px; } }
.rv2-hl { margin: 0; font-family: var(--font-display); font-size: clamp(18px, 1.5vw, 22px); font-weight: 500; line-height: 1.35; color: var(--ink); }
.rv2-hl::before { content: "«"; } .rv2-hl::after { content: "»"; }
.c2-sum .c2-from { display: inline; margin: 0 .1em 0 0; font-size: .42em; vertical-align: .35em; color: var(--brass); }

/* ---------- карточки с иконками (25.10.2026): больше воздуха ---------- */
.cols2 .card, .cols3 .card { gap: 18px; padding: clamp(28px, 3vw, 48px); }
.card-ic { display: inline-grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: color-mix(in srgb, var(--brass) 12%, transparent); color: var(--brass); }
.card-ic svg { width: 26px; height: 26px; }
.card .checks { gap: 14px; }
.card .checks li { line-height: 1.55; }

/* ---------- фото в карточке свадьбы листаются (25.10.2026) ---------- */
.pf-track { display: flex; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.pf-track::-webkit-scrollbar { display: none; }
.pf-slide { display: block; flex: 0 0 100%; height: 100%; overflow: hidden; scroll-snap-align: start; } /* увеличение при наведении — внутри своего кадра, соседний не выглядывает */
.pf-nav { position: absolute; top: 50%; z-index: 2; width: 38px; height: 38px; margin-top: -19px; border: 0; border-radius: 50%; background: rgba(255, 253, 248, .9); opacity: 0; transition: opacity .25s; cursor: pointer; }
.pf-nav::before { content: ""; position: absolute; inset: 0; margin: auto; width: 8px; height: 8px; border: solid var(--ink); border-width: 0 1.5px 1.5px 0; transform: rotate(135deg); }
.pf-nav--prev { left: 10px; } .pf-nav--next { right: 10px; }
.pf-nav--next::before { transform: rotate(-45deg); }
.pf-img:hover .pf-nav { opacity: 1; }
.pf-dots { position: absolute; left: 0; right: 0; bottom: 12px; z-index: 2; display: flex; justify-content: center; gap: 6px; pointer-events: none; }
.pf-dots i { width: 6px; height: 6px; border-radius: 50%; background: rgba(255, 253, 248, .55); }
.pf-dots i.on { background: #fff; }
@media (hover: none) { .pf-nav { display: none; } }

/* ---------- лента свадеб — слайдер, последний слайд «Все истории» ---------- */
.strip--slider { position: relative; display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: calc((100% - 3 * clamp(14px, 1.6vw, 24px)) / 4); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.strip--slider::-webkit-scrollbar { display: none; }
.strip--slider > * { scroll-snap-align: start; }
.strip-all { display: grid; align-content: center; justify-items: start; gap: 6px; aspect-ratio: 4 / 5; padding: clamp(24px, 2.4vw, 40px); border-radius: 18px; background: var(--ink); color: var(--paper); transition: background .3s; }
.strip-all:hover { background: var(--brass); }
.strip-all span { font-size: 13px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.strip-all b { font-family: var(--font-display); font-size: clamp(56px, 5vw, 88px); font-weight: 300; line-height: 1; }
.strip-all i { font-style: normal; font-size: 28px; }
.strip-arrows { display: flex; gap: 8px; }
.strip-arrow { width: 52px; height: 52px; border: 1px solid var(--line); border-radius: 50%; background: transparent; font-size: 20px; cursor: pointer; transition: background .25s, color .25s; }
.strip-arrow:hover { background: var(--ink); color: var(--paper); }
@media (max-width: 1024px) { .strip--slider { grid-auto-columns: calc((100% - clamp(14px, 1.6vw, 24px)) / 2.2); } }
@media (max-width: 600px) { .strip--slider { grid-auto-columns: 78%; } .strip-arrows { display: none; } }

/* ---------- компактный фильтр портфолио: три выпадающих списка ---------- */
.pf-sels { display: flex; flex-wrap: wrap; gap: 10px; }
.pf-sel { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 0 40px 0 18px; height: 46px; border: 1px solid var(--line); border-radius: 46px; background: var(--ivory); cursor: pointer; }
.pf-sel::after { content: ""; position: absolute; right: 18px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: solid var(--ink); border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); pointer-events: none; }
.pf-sel > span { font-size: 11.5px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.pf-sel select { appearance: none; -webkit-appearance: none; border: 0; background: transparent; font: inherit; font-size: 15px; color: var(--ink); cursor: pointer; padding: 0; }
.pf-sel select:focus { outline: none; }
.pf-sel:focus-within { border-color: var(--ink); }
.pf-sel.is-set { background: var(--ink); border-color: var(--ink); }
.pf-sel.is-set > span { color: var(--on-night-muted); }
.pf-sel.is-set select { color: var(--paper); }
.pf-sel.is-set::after { border-color: var(--paper); }
.pf-sel select option { color: var(--ink); }
.pf-bar:has(.pf-sels) { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; }
@media (max-width: 600px) { .pf-sel { width: 100%; } .pf-sel select { flex: 1; } }
.cs-team--end { max-width: 960px; margin: 0 auto; background: var(--ivory); }
/* отзыв: фото пары + кадры свадьбы, последний слайд — «Посмотреть свадьбу» */
.rv2-photo.pf-img { position: relative; overflow: hidden; }
.rv2-end { display: grid !important; align-content: center; justify-items: start; gap: 8px; padding: clamp(20px, 2vw, 32px); background: var(--ink); color: var(--paper); }
.rv2-end span { font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--on-night-muted); }
.rv2-end b { font-family: var(--font-display); font-size: clamp(18px, 1.5vw, 22px); font-weight: 400; line-height: 1.25; }
.rv2-end i { font-style: normal; font-size: 26px; }
.rv2-end:hover { background: var(--brass); }
/* цитата пары из отзыва над коротким рассказом */
.cs-pull--lead { display: grid; gap: 12px; }
.cs-pull--lead cite { font-style: normal; font-size: 14px; color: var(--muted); }

/* видеофон блока калькулятора: ролик по типу страницы, грузится у края экрана */
.band-bg video { width: 100%; height: 100%; object-fit: cover; }

/* ---------- статья блога (25.10.2026): колонка по центру, крупнее текст, фото на весь экран ---------- */
.post-body { max-width: 46rem; margin: 0 auto; font-size: clamp(17px, 1.22vw, 20px); line-height: 1.75; }
.post-body > p:first-child { font-size: 1.15em; line-height: 1.6; color: var(--ink); }
.post-body h2 { margin-top: 1.9em; font-size: clamp(26px, 2.3vw, 38px); line-height: 1.15; letter-spacing: -.015em; }
.post-body h3 { margin-top: 1.5em; font-size: clamp(20px, 1.6vw, 26px); }
.post-body ul, .post-body ol { padding-left: 1.2em; }
.post-body li { margin: .35em 0; }
.post-body blockquote { margin: 1.6em 0; padding-left: 24px; border-left: 2px solid var(--brass); font-family: var(--font-display); font-size: 1.25em; line-height: 1.4; color: var(--ink); }
.post-body figure { margin: 1.6em 0; }
.post-pic { display: block; overflow: hidden; border-radius: 16px; cursor: zoom-in; }
.post-pic img { display: block; width: 100%; height: auto; transition: transform .8s var(--ease); }
.post-pic:hover img { transform: scale(1.02); }
/* коллажи старого сайта — несколько фото подряд в одном абзаце: сеткой */
.post-body p:has(> .post-pic + .post-pic) { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; }
.post-body p:has(> .post-pic + .post-pic) .post-pic img { aspect-ratio: 3 / 4; object-fit: cover; }
.post-about { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 24px; align-items: center; margin: 2.4em 0; padding: 22px; border-radius: 20px; background: var(--powder); font-size: 16px; line-height: 1.6; }
.post-about img { width: 140px; height: 170px; object-fit: cover; object-position: 50% 20%; border-radius: 14px; }
.post-about-t { margin: 0 0 6px; font-family: var(--font-display); font-size: 22px; color: var(--ink); }
.post-about p { margin: 0 0 10px; color: var(--ink-soft); }
.post-about-l { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin: 6px 0 0 !important; }
@media (max-width: 560px) { .post-about { grid-template-columns: 1fr; } .post-about img { width: 100%; height: 220px; } }
.post-svc { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: clamp(24px, 3vw, 40px); }
.post-svc-col { display: grid; align-content: start; padding: 22px 24px; border-radius: 18px; background: var(--ivory); border: 1px solid var(--line); }
.post-svc-col p { margin: 0 0 8px; font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--brass); }
.post-svc-col a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 0; border-top: 1px solid var(--line); font-size: 16px; }
.post-svc-col a:hover { color: var(--brass); }
.post-svc-col .nar { width: 16px; height: 16px; flex: none; transition: transform .3s var(--ease); }
.post-svc-col a:hover .nar { transform: translateX(4px); }
@media (max-width: 860px) { .post-svc { grid-template-columns: 1fr; } }
/* фильтр портфолио на телефоне: не шире экрана (аудит 25.10.2026) */
.pf-bar > *, .pf-sels { min-width: 0; max-width: 100%; }
@media (max-width: 560px) {
  .pf-sels { flex: 1 1 100%; width: 100%; }
  .pf-sel { flex: 1 1 100%; width: 100%; box-sizing: border-box; min-width: 0; }
  .pf-sel select { min-width: 0; width: 100%; text-overflow: ellipsis; }
}
/* длинные галереи свадеб: первые 24 фото, остальные по кнопке (в просмотре листаются все) */
.cs-gal.is-folded .gal > a:nth-child(n+25) { display: none; }
.cs-gal-more { margin-top: 28px; text-align: center; }
/* карточка с фото сверху (вместо значка), фото до краёв карточки */
.card--pic { overflow: hidden; }
.card-pic { aspect-ratio: 16 / 9; margin: calc(clamp(28px, 3vw, 48px) * -1) calc(clamp(28px, 3vw, 48px) * -1) 4px; border-radius: 0; }
.card-pic img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.card--pic:hover .card-pic img { transform: scale(1.03); }
/* список «что входит» и строка «Дополнительно» под ним: больше воздуха, допы — отдельной плашкой */
.split-text .checks { gap: 15px; }
.split-text .checks + .note { margin-top: 14px; padding: 20px 24px 20px 52px; position: relative; max-width: 36em; border-radius: 16px; background: var(--powder); color: var(--ink-soft); line-height: 1.65; }
.split-text .checks + .note::before { content: "+"; position: absolute; left: 20px; top: 17px; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--brass); color: #fff; font-size: 15px; line-height: 1; }
/* кнопка «Смотреть фото» в карточке свадьбы */
.pf-card .pf-more-btn { margin-top: 2px; }
/* ролик в тексте статьи: свой плеер, заставка 16:9 */
.post-body .post-film { margin: 1.8em 0; border-radius: 16px; overflow: hidden; }
/* ролики свадьбы: вертикальные карточки 9:16, горизонтальные 16:9; клик — свой плеер */
.wv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: clamp(12px, 1.4vw, 20px); }
.wv-card { position: relative; display: block; overflow: hidden; padding: 0; border: 0; border-radius: 18px; background: var(--night); cursor: pointer; }
.wv--v { aspect-ratio: 9 / 16; }
.wv--h { aspect-ratio: 16 / 9; grid-column: span 2; }
.wv--h:only-child { grid-column: 1 / -1; max-width: 960px; } /* один горизонтальный ролик — крупно, как фильм */
.wv--h:only-child .wv-play { width: clamp(64px, 6vw, 88px); height: clamp(64px, 6vw, 88px); }
.wv-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.wv-card:hover img { transform: scale(1.04); }
.wv-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(20, 17, 15, .55)); }
.wv-play { position: absolute; z-index: 1; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: rgba(255, 253, 248, .95); color: var(--ink); box-shadow: 0 10px 30px rgba(0, 0, 0, .3); transition: transform .35s var(--ease); }
.wv-play svg { width: 34%; height: 34%; margin-left: 4%; }
.wv-card:hover .wv-play { transform: translate(-50%, -50%) scale(1.07); }
.wv-t { position: absolute; z-index: 1; left: 16px; bottom: 14px; color: #fff; font-size: 14px; font-weight: 500; }
@media (max-width: 600px) { .wv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .wv--h { grid-column: 1 / -1; } }

/* История свадьбы «как на старом сайте» (05.11.2026, Марина): слева колонка «О свадьбе», справа рассказ, между его
   частями — блоки фото в порядке старой страницы, квадратами по три в ряд (single-wedding.php, $wow_blocks).
   Неполный последний ряд — две широкие плитки вместо дыры (6 колонок, у плитки span 2, у последних span 3). */
.cs-old { max-width: 1000px; margin: 0 auto; display: grid; gap: clamp(40px, 4.5vw, 72px); } /* 05.11.2026: одна колонка по центру, «О свадьбе» — плашкой сверху */
.cs-about { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px clamp(24px, 3vw, 48px); align-items: end; padding: clamp(22px, 2.6vw, 36px); border-radius: 18px; background: var(--paper); }
.cs-about .sub-t { grid-column: 1 / -1; margin: 0; }
.cs-about .cs-credits { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px 24px; margin: 0; }
.cs-about .btns { display: grid; gap: 10px; justify-items: stretch; }
.cs-flow { display: grid; gap: clamp(32px, 3.4vw, 56px); min-width: 0; }
.cs-flow .cs-prose { width: 100%; max-width: 760px; margin-inline: auto; } /* текст уже фото, по центру */
.cs-flow .prose h2 { font-size: clamp(26px, 2.2vw, 36px); }
/* Цитата пары (05.11.2026): большая латунная кавычка сверху, текст шрифтом заголовков, короткая черта снизу */
.cs-flow .prose blockquote.cs-quote { position: relative; display: block; max-width: 24em; margin: 0 auto .3em; padding: 0; border: 0; text-align: center; font-family: var(--font-display); font-size: clamp(23px, 2.2vw, 34px); line-height: 1.3; letter-spacing: -.012em; color: var(--ink); }
.cs-flow .prose blockquote.cs-quote::before { content: "“"; display: block; height: .42em; margin-bottom: .1em; font-size: clamp(96px, 8.5vw, 132px); line-height: .9; color: var(--brass); }
.cs-flow .prose blockquote.cs-quote::after { content: ""; display: block; width: 56px; height: 1px; margin: clamp(22px, 2.2vw, 32px) auto 0; background: var(--brass); }
.cs-flow .prose blockquote.cs-quote > p { margin: 0; }
.cs-flow .prose blockquote.cs-quote + h2 { margin-top: 0; text-align: center; }
/* Этапы дня — таймлайн: латунная иконка в кружке, тонкая линия между этапами (wow_day_steps(), 05.11.2026) */
.prose .cs-day { list-style: none; padding: 0; display: grid; gap: clamp(22px, 2.2vw, 32px); margin: .4em 0; }
.cs-day li { position: relative; display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: clamp(16px, 2vw, 26px); }
.cs-day li:not(:last-child)::before { content: ""; position: absolute; left: 26px; top: 60px; bottom: calc(-1 * clamp(22px, 2.2vw, 32px) + 8px); width: 1px; background: color-mix(in srgb, var(--brass) 35%, transparent); }
.cs-day-ico { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--paper); color: var(--brass); }
.cs-day-ico svg { width: 28px; height: 28px; }
.prose .cs-day h3 { margin: 12px 0 6px; font-size: clamp(20px, 1.5vw, 24px); }
.cs-day p { margin: 0; }
/* Блок фото — мозаика (05.11.2026): схема на 6 кадров — большой 2×2 и два маленьких рядом, под ними три; большой
   по очереди слева и справа. Порядок фото не меняется (обычная раскладка grid, без dense). Хвост блока — широкими. */
.gal--sq { columns: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
.gal--sq a { position: relative; margin: 0; aspect-ratio: 1; border-radius: 4px; }
.gal--sq img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 721px) {
  .gal--sq { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(4px, .5vw, 8px); }
  .gal--sq a { grid-column: span 2; border-radius: 6px; }
  .gal--sq a:nth-child(12n+1), .gal--sq a:nth-child(12n+8) { grid-column: span 4; grid-row: span 2; aspect-ratio: auto; }
  .gal--sq a:last-child:nth-child(6n+1), .gal--sq a:last-child:nth-child(6n+4) { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 2 / 1; }
  .gal--sq a:nth-last-child(2):nth-child(6n+1), .gal--sq a:nth-last-child(2):nth-child(6n+1) ~ a,
  .gal--sq a:nth-last-child(2):nth-child(6n+4), .gal--sq a:nth-last-child(2):nth-child(6n+4) ~ a { grid-column: span 3; grid-row: auto; aspect-ratio: 3 / 2; }
}
@media (max-width: 720px) { /* телефон: каждый пятый кадр во всю ширину, одинокий в конце — тоже */
  .gal--sq a:nth-child(5n+1), .gal--sq a:last-child:nth-child(5n+2), .gal--sq a:last-child:nth-child(5n+4) { grid-column: 1 / -1; aspect-ratio: 4 / 3; }
}
@media (max-width: 1000px) {
  .cs-about { grid-template-columns: minmax(0, 1fr); }
  .cs-about .cs-credits { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px 24px; }
  .cs-about .btns { display: flex; flex-wrap: wrap; }
}
@media (max-width: 720px) {
  .cs-about .cs-credits { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; }
  .cs-day li { grid-template-columns: 42px minmax(0, 1fr); gap: 14px; }
  .cs-day-ico { width: 42px; height: 42px; } .cs-day-ico svg { width: 22px; height: 22px; }
  .cs-day li:not(:last-child)::before { left: 21px; top: 50px; }
  .prose .cs-day h3 { margin-top: 8px; }
}

/* Первый экран свадьбы «как на старом сайте» (05.11.2026): всё по центру, без кнопок */
.ph--center .ph-grid { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
.ph--center .ph-main, .ph--center .ph-side { justify-items: center; }
.ph--center .ph-title { max-width: 19em; margin-inline: auto; }
.ph--center .ph-lead { max-width: 40em; margin-inline: auto; }
.ph--center .ph-shade { background: linear-gradient(180deg, rgba(20, 17, 15, .4) 0%, rgba(20, 17, 15, .12) 30%, rgba(20, 17, 15, .3) 55%, rgba(20, 17, 15, .78) 100%); }

/* Преимущества карточками (wow_why_cards(), 05.11.2026): блок во всю ширину рассказа, 3 + 2 в ряд, иконка в кружке */
.cs-flow .cs-prose:has(> .cs-why) { max-width: none; }
.cs-why { display: grid; gap: clamp(28px, 3vw, 48px); margin-top: clamp(24px, 4vw, 72px); } /* отступ от фото сверху — блок читается отдельным разделом */
.prose .cs-why > h3 { display: grid; justify-items: center; gap: clamp(18px, 1.8vw, 26px); max-width: 18em; margin: 0 auto; text-align: center; font-size: clamp(28px, 3vw, 46px); line-height: 1.12; letter-spacing: -.02em; }
.prose .cs-why > h3::before { content: ""; width: 56px; height: 1px; background: var(--brass); }
.cs-why-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: clamp(10px, 1.2vw, 16px); }
.cs-why-grid--3, .cs-why-grid--5, .cs-why-grid--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.cs-why-grid--3 > *, .cs-why-grid--5 > *, .cs-why-grid--6 > * { grid-column: span 2; }
.cs-why-grid--5 > :nth-child(n+4) { grid-column: span 3; }
.cs-why-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cs-why-card { display: grid; align-content: start; gap: 12px; padding: clamp(22px, 2.2vw, 32px); border-radius: 18px; background: var(--paper); }
.cs-why-ico { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 6px; border-radius: 50%; background: var(--ivory); color: var(--brass); }
.cs-why-ico svg { width: 28px; height: 28px; }
.prose .cs-why-card h4 { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: clamp(19px, 1.45vw, 23px); line-height: 1.2; color: var(--ink); }
.prose .cs-why-card p { margin: 0; font-size: .86em; line-height: 1.6; }
@media (max-width: 900px) {
  .cs-why-grid--3, .cs-why-grid--4, .cs-why-grid--5, .cs-why-grid--6 { grid-template-columns: minmax(0, 1fr); }
  .cs-why-grid > *, .cs-why-grid--5 > :nth-child(n+4) { grid-column: auto; }
  .cs-why-card { grid-template-columns: 44px minmax(0, 1fr); column-gap: 16px; row-gap: 6px; }
  .cs-why-ico { grid-row: span 2; width: 44px; height: 44px; margin: 0; } .cs-why-ico svg { width: 24px; height: 24px; }
}

/* Первый экран свадьбы «как на старом сайте»: медленный наезд на фото (05.11.2026) */
@keyframes wow-kb { from { transform: scale(1.03) translate3d(0, 0, 0); } to { transform: scale(1.13) translate3d(-1.6%, -1.2%, 0); } }
.ph--center .ph-bg img { animation: wow-kb 22s ease-in-out infinite alternate; will-change: transform; }
@media (prefers-reduced-motion: reduce) { .ph--center .ph-bg img { animation: none; } }
/* …и кратко о свадьбе под вводным текстом: место · дата · формат, подпись над значением, тонкие разделители */
.ph--center .ph-in > :last-child { display: flex; justify-content: center; }
.ph--center .ph-facts { justify-content: center; gap: 12px 0; padding-top: 0; border-top: 0; }
.ph--center .ph-facts li { padding: 2px clamp(18px, 2.6vw, 40px); text-align: center; gap: 6px; }
.ph--center .ph-facts li + li { border-left: 1px solid rgba(255, 253, 248, .32); }
.ph--center .ph-facts span { order: -1; font-size: 11.5px; }
.ph--center .ph-facts b { font-size: clamp(19px, 1.6vw, 26px); }
@media (max-width: 720px) {
  .ph--center .ph-in > :last-child { display: block; }
  .ph--center .ph-facts { flex-wrap: nowrap; }
  .ph--center .ph-facts li { flex: 1 1 0; min-width: 0; padding-inline: 8px; gap: 4px; }
  .ph--center .ph-facts li:nth-child(n+4) { display: grid; }
  .ph--center .ph-facts span { font-size: 9.5px; letter-spacing: .08em; line-height: 1.3; }
  .ph--center .ph-facts b { font-size: 16.5px; }
}
/* то же для первого экрана с фильмом (ролик в рамке, ph--frame): описание и «место · дата · формат» по центру */
.ph--frame.ph--center .phf-body { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
.ph--frame.ph--center .phf-lead { max-width: 40em; margin-inline: auto; }
.ph--frame.ph--center .phf-facts { display: flex; justify-content: center; margin-top: clamp(20px, 2.4vw, 32px); border-top: 0; }
.ph--frame.ph--center .phf-facts li { display: grid; gap: 6px; padding: 2px clamp(18px, 2.6vw, 40px); text-align: center; border-left: 0; }
.ph--frame.ph--center .phf-facts li + li { border-left: 1px solid var(--line); }
.ph--frame.ph--center .phf-facts > li > span { order: -1; font-size: 11.5px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.ph--frame.ph--center .phf-facts b { font-size: clamp(19px, 1.6vw, 26px); }
@media (max-width: 720px) {
  .ph--frame.ph--center .phf-facts { flex-wrap: nowrap; }
  .ph--frame.ph--center .phf-facts li { flex: 1 1 0; min-width: 0; padding: 2px 8px !important; border: 0 !important; gap: 4px; }
  .ph--frame.ph--center .phf-facts li + li { border-left: 1px solid var(--line) !important; }
  .ph--frame.ph--center .phf-facts > li > span { font-size: 9.5px; letter-spacing: .08em; line-height: 1.3; }
  .ph--frame.ph--center .phf-facts b { font-size: 16.5px; }
}

/* Главная EN 2027 по тексту Марины (05.11.2026, 68-en-home-2027.php) */
.format .format-story { margin-top: -10px; font-size: 14px; color: var(--muted); }
.formats-cost { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 28px; margin-top: clamp(32px, 4vw, 56px); padding-top: 22px; border-top: 1px solid var(--line); }
.formats-cost span { font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.loc-links { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; }
.loc-more { margin: clamp(40px, 4vw, 64px) 0 18px; font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.loc-small .loc > .more { justify-self: start; }
#who .who2-intro p { color: var(--ink-soft); font-size: 1.05em; line-height: 1.6; }
.why--wide { margin-top: clamp(36px, 4vw, 64px); }
.who2-facts li:last-child { font-size: .92em; }
.who2-trip { max-width: 46em; margin: clamp(28px, 3vw, 44px) auto 0; text-align: center; color: var(--ink-soft); line-height: 1.6; }
.who2-trip b { color: var(--ink); font-weight: 500; }
.revs--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.4vw, 20px); }
.rev--q { padding: clamp(24px, 2.4vw, 36px); border-radius: 18px; background: var(--paper); }
.rev--q blockquote { position: relative; padding-top: 40px; font-size: clamp(17px, 1.2vw, 20px); }
.rev--q blockquote::before { content: "“"; position: absolute; top: -12px; left: -4px; font-family: var(--font-display); font-size: 72px; line-height: 1; color: var(--brass); }
.rev--q figcaption { margin-top: auto; }
.rev--q { grid-template-rows: 1fr auto; }
@media (max-width: 1100px) { .revs--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .revs--4 { grid-template-columns: minmax(0, 1fr); } .loc-links .more { flex: 0 0 auto; } }
