/* СРАЗУ_ХОДЬБА (30.09): тур открывается в ходьбе — прячем макет, вкладки, помещения, мини-план, «О компании», интро */
body.ofis-walk .modes, body.ofis-walk #side, body.ofis-walk #rooms-open, body.ofis-walk #minimap, body.ofis-walk #btn-card,
body.ofis-walk .intro-copy, body.ofis-walk .invite, body.ofis-walk .skip, body.ofis-walk .labels, body.ofis-walk .wk-pick, body.ofis-walk #caption, body.ofis-walk #hotspots,
body.ofis-walk #card, body.ofis-walk #btn-gyro, body.ofis-walk .flight, body.ofis-walk #wk-cta { display: none !important; }
body.ofis-walk .intro { background: radial-gradient(120% 90% at 30% 20%, #1c3f2c 0%, #132c1f 45%, #0b1d13 100%); transition: opacity 700ms ease; }
body.ofis-walk .loader { color: #f2e8cb; }
.pill-site { display: inline-flex; align-items: center; text-decoration: none; background: linear-gradient(180deg, #f0c04a, #dba318) !important; color: #132c1f !important;
  border-color: #dba318 !important; font-weight: 700; }
body.ofis-walk .wk-room { top: calc(var(--top) + 64px); }
/* Презентации зон офиса LaWEra (js/prez.js): зелёный #132c1f, золото #ebb32e/#dba318, крем #f2e8cb, Montserrat. */
.pz { --g: #132c1f; --g2: #0b1d13; --gold: #ebb32e; --gold2: #dba318; --cr: #f2e8cb; --px: 0; --py: 0;
  position: fixed; inset: 0; z-index: 60; color: var(--cr); font-family: Montserrat, 'Segoe UI', system-ui, sans-serif;
  background: radial-gradient(120% 90% at 30% 20%, #1c3f2c 0%, var(--g) 45%, var(--g2) 100%);
  opacity: 0; visibility: hidden; transform: scale(1.02); transition: opacity 480ms ease, transform 620ms cubic-bezier(.22,1,.36,1), visibility 0s linear 520ms; overflow: hidden; }
.pz.is-on { opacity: 1; visibility: visible; transform: none; transition: opacity 480ms ease, transform 620ms cubic-bezier(.22,1,.36,1); }
.pz::before { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background: radial-gradient(50% 40% at calc(70% + var(--px) * 8%) calc(30% + var(--py) * 8%), rgba(235,179,46,.14), transparent 70%); }
.pz-deck { position: absolute; inset: 0; }
.pz-slide { position: absolute; inset: 0; display: grid; place-items: center; padding: 96px clamp(28px, 7vw, 120px) 110px; overflow: hidden;
  opacity: 0; pointer-events: none; transform: translateX(calc(6% * var(--dir, 1))); transition: opacity 560ms ease, transform 760ms cubic-bezier(.22,1,.36,1); }
.pz-slide.is-prev { transform: translateX(-6%); } .pz-slide.is-next { transform: translateX(6%); }
.pz-slide.is-cur { opacity: 1; pointer-events: auto; transform: none; }
.pz.is-v .pz-slide.is-prev { transform: translateY(-6%); } .pz.is-v .pz-slide.is-next { transform: translateY(6%); }
.pz-slide [style*="--i"] { opacity: 0; transform: translateY(26px); }
.pz-slide.is-anim [style*="--i"] { animation: pz-in 900ms cubic-bezier(.22,1,.36,1) both; animation-delay: calc(var(--i) * 95ms + 180ms); }
@keyframes pz-in { from { opacity: 0; transform: translateY(26px); filter: blur(4px); } to { opacity: 1; transform: none; filter: none; } }
.pz-in { position: relative; width: min(1180px, 100%); max-height: 100%; }
.pz-kicker { display: block; font: 700 .72rem/1.3 Montserrat, sans-serif; letter-spacing: .32em; text-transform: uppercase; color: var(--gold); margin-bottom: 18px; }
.pz-title { margin: 0 0 22px; font: 800 clamp(1.9rem, 3.6vw, 3.4rem)/1.08 Montserrat, sans-serif; letter-spacing: -.015em; color: #fff8e4; max-width: 22ch; }
.pz-xl { font-size: clamp(2.6rem, 6vw, 5.6rem); max-width: 14ch; }
.pz-lead { margin: 0; max-width: 62ch; font: 400 clamp(1rem, 1.3vw, 1.18rem)/1.62 Montserrat, sans-serif; color: rgba(242,232,203,.9); }
.pz-rule { display: block; width: 96px; height: 2px; margin: 4px 0 26px; background: linear-gradient(90deg, var(--gold), rgba(235,179,46,0)); }
.pz-btns { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.pz-btn { display: inline-flex; align-items: center; gap: 10px; height: 48px; padding: 0 24px; border-radius: 4px; text-decoration: none;
  font: 700 .74rem/1 Montserrat, sans-serif; letter-spacing: .18em; text-transform: uppercase; color: var(--cr); border: 1px solid rgba(235,179,46,.55);
  transition: background-color 220ms ease, color 220ms ease, transform 220ms ease, box-shadow 220ms ease; }
.pz-btn i { font-style: normal; color: var(--gold); transition: transform 220ms ease; }
.pz-btn:hover { background: rgba(235,179,46,.12); transform: translateY(-1px); } .pz-btn:hover i { transform: translate(2px,-2px); }
.pz-btn.is-main { background: linear-gradient(180deg, #f0c04a, var(--gold2)); color: var(--g); border-color: var(--gold2); box-shadow: 0 16px 36px -16px rgba(235,179,46,.6); }
.pz-btn.is-main i { color: var(--g); } .pz-btn.is-ghost { height: 42px; padding: 0 18px; }
/* обложка: фон с медленным наездом и параллаксом */
.pz-bg { position: absolute; inset: -4%; background-size: cover; background-position: center; filter: saturate(.85);
  transform: translate(calc(var(--px) * -18px), calc(var(--py) * -12px)) scale(1.06); }
.pz-slide.is-anim .pz-bg { animation: pz-kb 14s ease-out both; }
@keyframes pz-kb { from { scale: 1.12; } to { scale: 1.0; } }
.pz-veil { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,29,19,.94) 0%, rgba(11,29,19,.72) 45%, rgba(11,29,19,.25) 100%), linear-gradient(0deg, rgba(11,29,19,.8), transparent 45%); }
.pz-cover { align-self: end; margin-bottom: 4vh; }
/* две колонки: текст + фото */
.pz-split { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(28px, 5vw, 80px); align-items: center; }
.pz-photo { margin: 0; border-radius: 6px; overflow: hidden; box-shadow: 0 40px 80px -40px rgba(0,0,0,.7), 0 0 0 1px rgba(235,179,46,.25); }
.pz-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pz-par { transform: translate(calc(var(--px) * 14px), calc(var(--py) * 10px)); transition: transform 600ms cubic-bezier(.22,1,.36,1); }
.pz-split .pz-photo { max-height: 70vh; aspect-ratio: 560 / 891; justify-self: center; width: min(360px, 100%); }
.pz-words { display: grid; gap: 6px; margin: 6px 0 28px; }
.pz-word { display: flex; align-items: baseline; gap: 22px; }
.pz-word b { font: 800 clamp(3rem, 7vw, 6.4rem)/1 Montserrat, sans-serif; letter-spacing: -.02em; color: #fff8e4; }
.pz-word:nth-child(2) b { color: var(--gold); }
.pz-word span { font: 600 .8rem/1 Montserrat, sans-serif; letter-spacing: .3em; text-transform: uppercase; color: rgba(242,232,203,.7); }
.pz-quote { margin: 0; padding-left: 26px; border-left: 2px solid var(--gold); font: 500 clamp(1rem, 1.35vw, 1.2rem)/1.7 Montserrat, sans-serif; color: rgba(242,232,203,.94); max-width: 58ch; }
.pz-people2 { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.pz-person { margin: 0; } .pz-person img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 6px; box-shadow: 0 0 0 1px rgba(235,179,46,.3), 0 30px 60px -30px #000; }
.pz-person figcaption, .pz-member figcaption { display: grid; gap: 4px; margin-top: 12px; }
.pz-person b, .pz-member b { font: 700 .98rem/1.2 Montserrat, sans-serif; color: #fff8e4; }
.pz-person span, .pz-member span { font: 500 .74rem/1.35 Montserrat, sans-serif; color: var(--gold); letter-spacing: .04em; }
.pz-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin: 14px 0 32px; }
.pz-stat { padding: 26px 22px; border-radius: 6px; background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015)); box-shadow: inset 0 0 0 1px rgba(235,179,46,.22); }
.pz-stat b { display: block; font: 800 clamp(2.6rem, 5vw, 4.4rem)/1 Montserrat, sans-serif; color: var(--gold); }
.pz-stat span { display: block; margin-top: 10px; font: 600 .78rem/1.4 Montserrat, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: rgba(242,232,203,.85); }
.pz-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.pz-card, .pz-case { padding: 26px 24px; border-radius: 6px; background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.015)); box-shadow: inset 0 0 0 1px rgba(235,179,46,.2); }
.pz-num { font: 800 .9rem/1 Montserrat, sans-serif; color: var(--gold); letter-spacing: .2em; }
.pz-card h3, .pz-case h3 { margin: 12px 0 14px; font: 700 1.12rem/1.3 Montserrat, sans-serif; color: #fff8e4; }
.pz-card ul { margin: 0 0 18px; padding: 0; list-style: none; display: grid; gap: 10px; }
.pz-card li { position: relative; padding-left: 16px; font: 400 .88rem/1.5 Montserrat, sans-serif; color: rgba(242,232,203,.88); }
.pz-card li::before { content: ''; position: absolute; left: 0; top: .62em; width: 6px; height: 6px; transform: rotate(45deg); background: var(--gold); }
.pz-chips { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; margin-top: 30px; }
.pz-chip { padding: 28px 16px; text-align: center; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(235,179,46,.35); background: rgba(235,179,46,.05); }
.pz-chip b { display: block; font: 800 clamp(1.4rem, 2.4vw, 2.2rem)/1 Montserrat, sans-serif; color: var(--gold); }
.pz-chip span { display: block; margin-top: 10px; font: 600 .74rem/1 Montserrat, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.pz-cases { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.pz-case b { display: block; font: 800 clamp(1.8rem, 2.8vw, 2.6rem)/1 Montserrat, sans-serif; color: var(--gold); }
.pz-case p { margin: 0; font: 400 .84rem/1.55 Montserrat, sans-serif; color: rgba(242,232,203,.86); }
.pz-note { margin: 22px 0 0; max-width: 80ch; font: 400 .74rem/1.5 Montserrat, sans-serif; color: rgba(242,232,203,.6); }
.pz-team { display: grid; grid-template-columns: repeat(8, 1fr); gap: 14px; margin-top: 28px; }
.pz-member { margin: 0; } .pz-member img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 50%; box-shadow: 0 0 0 2px rgba(235,179,46,.45); filter: saturate(.9); transition: transform 300ms ease; }
.pz-member:hover img { transform: scale(1.05); }
.pz-member figcaption { text-align: center; } .pz-member b { font-size: .8rem; } .pz-member span { font-size: .64rem; }
.pz-contact { text-align: left; } .pz-logo { height: 54px; width: auto; margin-bottom: 26px; }
.pz-rows { display: grid; gap: 0; margin: 10px 0 0; max-width: 760px; }
.pz-rows div { display: grid; grid-template-columns: 220px 1fr; gap: 20px; padding: 14px 0; border-bottom: 1px solid rgba(235,179,46,.18); }
.pz-rows dt { font: 600 .74rem/1.4 Montserrat, sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--gold); }
.pz-rows dd { margin: 0; font: 500 1rem/1.45 Montserrat, sans-serif; } .pz-rows a { color: #fff8e4; text-decoration: none; border-bottom: 1px solid rgba(235,179,46,.5); }
.pz-sections { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 10px; }
.pz-section { position: relative; display: block; border-radius: 6px; overflow: hidden; aspect-ratio: 4 / 5; text-decoration: none; color: var(--cr); box-shadow: 0 0 0 1px rgba(235,179,46,.25); }
.pz-section img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 900ms cubic-bezier(.22,1,.36,1); }
.pz-section:hover img { transform: scale(1.06); }
.pz-section span { position: absolute; inset: auto 0 0 0; padding: 60px 22px 22px; background: linear-gradient(0deg, rgba(11,29,19,.95), rgba(11,29,19,0)); display: grid; gap: 8px; }
.pz-section b { font: 800 1.2rem/1.2 Montserrat, sans-serif; color: #fff8e4; } .pz-section em { font: 400 .84rem/1.45 Montserrat, sans-serif; font-style: normal; }
.pz-article { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(28px, 4vw, 64px); align-items: center; }
.pz-wide { aspect-ratio: 16 / 9; }
.pz-article .pz-title { font-size: clamp(1.5rem, 2.6vw, 2.5rem); }
/* рамка: шапка, счётчик, стрелки, точки, прогресс */
.pz-bar { position: absolute; left: 0; right: 0; top: 0; z-index: 3; display: flex; align-items: center; gap: 16px; padding: max(18px, env(safe-area-inset-top)) clamp(18px, 3vw, 36px) 0; }
.pz-mark { width: 30px; height: 30px; } .pz-name { font: 700 .74rem/1 Montserrat, sans-serif; letter-spacing: .3em; text-transform: uppercase; }
.pz-count { margin-left: auto; font: 600 .74rem/1 Montserrat, sans-serif; letter-spacing: .2em; color: rgba(242,232,203,.7); }
.pz-close { width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(235,179,46,.5); color: var(--cr); font: 300 1.7rem/1 Montserrat, sans-serif; background: rgba(11,29,19,.5); cursor: pointer; transition: transform 300ms ease, background-color 200ms ease; }
.pz-close:hover { transform: rotate(90deg); background: rgba(235,179,46,.15); }
.pz-nav { position: absolute; top: 50%; z-index: 3; width: 56px; height: 56px; margin-top: -28px; border-radius: 50%; border: 1px solid rgba(235,179,46,.45); background: rgba(11,29,19,.45); cursor: pointer; transition: opacity 250ms ease, background-color 200ms ease; }
.pz-nav svg { width: 22px; height: 22px; fill: none; stroke: var(--gold); stroke-width: 1.6; }
.pz-nav:hover { background: rgba(235,179,46,.16); } .pz-prev { left: clamp(10px, 2vw, 28px); } .pz-next { right: clamp(10px, 2vw, 28px); }
.pz.is-first .pz-prev, .pz.is-last .pz-next { opacity: 0; pointer-events: none; }
.pz-dots { position: absolute; left: 50%; bottom: max(26px, env(safe-area-inset-bottom)); z-index: 3; display: flex; gap: 10px; transform: translateX(-50%); }
.pz-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: rgba(242,232,203,.3); cursor: pointer; transition: width 300ms ease, background-color 300ms ease; }
.pz-dots button.is-on { width: 28px; border-radius: 4px; background: var(--gold); }
.pz-progress { position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: rgba(235,179,46,.12); z-index: 3; }
.pz-progress b { display: block; height: 100%; background: var(--gold); transform-origin: left; transition: transform 600ms cubic-bezier(.22,1,.36,1); }
body.pz-open .bar, body.pz-open .walk-ui, body.pz-open .hint { opacity: 0 !important; pointer-events: none !important; }
/* телефон в портрете: вертикальные слайды, всё в колонку */
@media (max-width: 760px) {
  .pz-slide { place-items: start center; padding: 84px 22px 86px; overflow-y: auto; }
  .pz-split, .pz-article { grid-template-columns: 1fr; gap: 22px; }
  .pz-split .pz-photo { width: 58%; max-height: 34vh; order: -1; }
  .pz-stats { grid-template-columns: 1fr 1fr; } .pz-cols, .pz-cases, .pz-sections { grid-template-columns: 1fr; }
  .pz-sections .pz-section { aspect-ratio: 16 / 9; } .pz-chips { grid-template-columns: repeat(3, 1fr); } .pz-team { grid-template-columns: repeat(4, 1fr); }
  .pz-rows div { grid-template-columns: 1fr; gap: 4px; } .pz-nav { display: none; } .pz-name { display: none; }
  .pz-cover { align-self: end; margin-bottom: 0; } .pz-slide.pz-t-обложка { place-items: end start; }
  .pz-dots { flex-direction: column; left: auto; right: 12px; bottom: 50%; transform: translateY(50%); }
  .pz-dots button.is-on { width: 8px; height: 22px; }
}
@media (prefers-reduced-motion: reduce) { .pz-slide [style*="--i"] { animation: none !important; opacity: 1; transform: none; } .pz-bg { animation: none !important; } }
/* 01.10: фото-фон под слайдами (цифры, арбитраж, контакты) — приглушён, текст читается; мишени ≥ 44 px */
.pz-bg-soft { opacity: .72; filter: saturate(.6) brightness(.85); }
.pz-veil-soft { background: linear-gradient(180deg, rgba(11,29,19,.74) 0%, rgba(11,29,19,.86) 55%, rgba(11,29,19,.94) 100%), radial-gradient(80% 60% at 20% 30%, rgba(11,29,19,.35), transparent 70%); }
.pz-dots button { position: relative; } .pz-dots button::after { content: ''; position: absolute; inset: -18px; }
.pz-btn.is-ghost { height: 44px; } .pz-rows a { display: inline-block; padding: 11px 0; margin: -11px 0; }
.pz-section { min-height: 44px; }
@media (max-width: 760px) {
  .has-bg > .pz-bg-soft, .has-bg > .pz-veil-soft { position: fixed; }
  .pz-title { font-size: clamp(1.55rem, 7vw, 2.2rem); max-width: none; } .pz-xl { font-size: clamp(2.1rem, 10vw, 3rem); }
  .pz-lead { font-size: 1rem; } .pz-word b { font-size: clamp(2.4rem, 13vw, 3.4rem); }
  .pz-stat { padding: 18px 14px; } .pz-stat span { letter-spacing: .06em; }
  .pz-chip { padding: 18px 8px; } .pz-chip span { letter-spacing: .06em; font-size: .64rem; line-height: 1.3; }
  .pz-btns { gap: 10px; } .pz-btn { height: 48px; padding: 0 18px; letter-spacing: .12em; }
  .pz-member b { font-size: .72rem; } .pz-member span { font-size: .6rem; }
}
/* телефон в альбоме: мало высоты — слайд прокручивается, всё компактнее */
@media (max-height: 500px) and (orientation: landscape) {
  .pz-slide { place-items: start center; padding: 64px 84px 40px; overflow-y: auto; }
  .pz-title { font-size: clamp(1.3rem, 3.4vw, 2rem); margin-bottom: 12px; } .pz-xl { font-size: clamp(1.8rem, 5vw, 2.6rem); }
  .pz-lead { font-size: .92rem; line-height: 1.5; } .pz-word b { font-size: clamp(2rem, 6vw, 3rem); }
  .pz-split .pz-photo { max-height: 60vh; } .pz-cover { align-self: start; margin-bottom: 0; }
  .pz-stat { padding: 14px; } .pz-stat b { font-size: 2.2rem; } .pz-card, .pz-case { padding: 16px; }
  .pz-dots { bottom: 8px; } .pz-bar { padding-top: 10px; }
}

@media (pointer: coarse) { .pill-site { min-height: 44px; } }
/* 01.10: команда не распирает слайд (длинные должности), кнопки шапки на касании ≥ 44 px */
.pz-team { grid-template-columns: repeat(8, minmax(0, 1fr)); } .pz-member figcaption { min-width: 0; } .pz-member b, .pz-member span { overflow-wrap: anywhere; hyphens: auto; }
@media (max-width: 760px) { .pz-team { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 10px; } }
@media (pointer: coarse) { .bar .icon { min-width: 44px !important; min-height: 44px !important; } }
@media (max-width: 420px) { body.ofis-walk .brand-name { white-space: nowrap; font-size: 1rem; } }
