/* Rent & Stay — главная: «фильм» на первом экране. */
.film{height:640vh;position:relative;background:var(--ivory)}
.stage{position:sticky;top:0;height:100vh;height:100lvh;overflow:hidden;background:var(--ivory)}
#city{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity 1.2s ease}
.gl-ready #city{opacity:1}
/* постер, пока грузится 3D (и вместо 3D на слабых устройствах) */
.stage-poster{position:absolute;inset:0;background:
  radial-gradient(120% 80% at 75% 70%,rgba(255,148,67,.16),rgba(255,148,67,0) 60%),
  linear-gradient(180deg,#F3EADA 0%,#EADCC4 100%);transition:opacity 1.2s ease}
.stage-poster svg{position:absolute;right:0;bottom:0;width:min(1100px,100%);height:auto;opacity:.55}
.gl-ready .stage-poster{opacity:0}
.no-gl .stage-poster{background:#E7D9BE url("../../images/apartment-02-1.jpg") center/cover}
.no-gl .stage-poster svg{display:none}
.veil{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(240,230,211,.92) 0%,rgba(240,230,211,.7) 30%,rgba(240,230,211,0) 58%)}
.chapter{position:absolute;left:max(var(--gutter),calc((100vw - 1360px)/2 + var(--gutter)));top:50%;margin-top:-210px;width:min(640px,calc(100vw - 80px));
  opacity:0;visibility:hidden;pointer-events:none;will-change:opacity,transform}
.chapter.first{opacity:1;visibility:visible}
.chapter.live{pointer-events:auto}
.chapter .h-display{margin:24px 0 22px;font-size:clamp(42px,5.8vw,92px)}
.chapter p{font-size:19px;color:var(--ink);opacity:.82;max-width:500px}
.chapter .cta{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.chapter .num{font-family:var(--serif);font-size:130px;line-height:.8;color:transparent;-webkit-text-stroke:1px var(--orange-deep);display:block;margin-bottom:-6px}
.portal{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;will-change:clip-path,opacity;background:var(--ivory-deep)}
.portal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform}
.portal::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(29,23,18,.78) 0%,rgba(29,23,18,.45) 32%,rgba(29,23,18,0) 62%)}
.flash{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(255,160,90,.7),rgba(255,148,67,0) 55%);opacity:0;pointer-events:none}
.finale{position:absolute;left:0;right:0;bottom:120px;opacity:0;visibility:hidden;pointer-events:none;color:#fff;z-index:3}
.finale.live{pointer-events:auto}
.finale .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}
.finale .eyebrow{color:rgba(255,255,255,.85)}
.finale .h-display{margin-top:18px;font-size:clamp(48px,6.6vw,108px)}
.finale .h-display em{color:var(--orange)}
.finale p{font-size:18px;max-width:440px;margin-top:14px;text-shadow:0 1px 14px rgba(29,23,18,.7)}
.finale .cta{display:flex;gap:12px;flex-wrap:wrap}
.player{position:absolute;left:0;right:0;bottom:0;z-index:4;padding-bottom:26px;color:var(--ink);transition:color .6s}
.player.light{color:#fff}
.player .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center}
.tc{font-size:12px;letter-spacing:.14em;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:10px;white-space:nowrap}
.tc i{width:7px;height:7px;border-radius:50%;background:var(--orange-deep)}
.track{position:relative;height:30px}
.track .rail{position:absolute;left:0;right:0;top:50%;height:1px;background:currentColor;opacity:.25}
.track .fill{position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-.5px;background:var(--orange-deep);transform-origin:0 50%;transform:scaleX(0)}
.track .tick{position:absolute;top:50%;font-size:11px;letter-spacing:.12em;text-transform:uppercase;transform:translate(-50%,-150%);opacity:.45;transition:opacity .4s;white-space:nowrap}
.track .tick::after{content:"";position:absolute;left:50%;top:calc(100% + 5px);width:5px;height:5px;border-radius:50%;background:currentColor;transform:translateX(-50%)}
.track .tick.on{opacity:1}
.hint{font-size:12px;letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:10px;white-space:nowrap}
.mouse{width:18px;height:28px;border:1.5px solid currentColor;border-radius:10px;position:relative}
.mouse::after{content:"";position:absolute;left:50%;top:5px;width:2px;height:6px;margin-left:-1px;background:currentColor;border-radius:2px;animation:wheel 1.6s infinite}
@keyframes wheel{to{transform:translateY(9px);opacity:0}}

/* развилка «снимаю / сдаю» */
.paths{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.path{display:block}
.path:nth-child(2){margin-top:120px}
.path-img{display:block;aspect-ratio:4/5;overflow:hidden;border-radius:2px;position:relative;background:var(--ivory-deep)}
.path-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease);transform:scale(1.06)}
.path:hover .path-img img{transform:scale(1.01)}
.path-tag{position:absolute;left:20px;top:20px;background:var(--paper);padding:8px 14px;border-radius:100px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.path-body{padding-top:30px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end}
.path h3{font-family:var(--serif);font-weight:500;font-size:clamp(38px,3.6vw,52px);line-height:1}
.path .lede{margin-top:12px;font-size:16px}
.path-ask{margin-top:26px;font-family:var(--serif);font-style:italic;font-size:22px}
.path ul{list-style:none;margin-top:10px;border-top:1px solid var(--line)}
.path li{padding:12px 0;border-bottom:1px solid var(--line);font-size:16.5px;display:flex;gap:14px}
.path li::before{content:"—";color:var(--orange-deep)}
.path .btn{margin-top:28px}
.arrow{width:64px;height:64px;border-radius:50%;border:1px solid var(--ink);display:grid;place-items:center;font-size:22px;transition:all .4s var(--ease)}
.path:hover .arrow{background:var(--orange-deep);border-color:var(--orange-deep);color:#fff;transform:rotate(-45deg)}

.about{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.about-imgs{position:relative;height:680px}
.about-imgs div{position:absolute;overflow:hidden;border-radius:2px;background:var(--ivory-deep)}
.about-imgs div:first-child{inset:0 22% 18% 0}
.about-imgs div:last-child{width:46%;height:46%;right:0;bottom:0;border:10px solid var(--ivory)}
.about-imgs img{width:100%;height:100%;object-fit:cover}
.about-text p{color:var(--muted);font-size:19px;margin-top:24px}
.chips{margin-top:36px;display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.chip{padding:14px 0;border-bottom:1px solid var(--line);font-size:16px;display:flex;gap:12px}
.chip::before{content:"✦";color:var(--orange-deep);font-size:11px;line-height:2}

@media(max-width:960px){
  .film{height:560vh}
  .veil{background:linear-gradient(0deg,rgba(240,230,211,.96) 0%,rgba(240,230,211,.8) 40%,rgba(240,230,211,0) 64%)}
  .chapter{left:16px;width:calc(100vw - 32px);top:auto;margin-top:0;bottom:96px}
  .chapter .h-display{font-size:37px;margin:14px 0}
  .chapter p{font-size:16px}
  .chapter .num{font-size:76px}
  .finale{bottom:90px}
  .finale .h-display{font-size:46px}
  .portal::after{background:linear-gradient(0deg,rgba(29,23,18,.88) 0%,rgba(29,23,18,.6) 42%,rgba(29,23,18,0) 72%)}
  .player{padding-bottom:16px}
  .player .wrap{grid-template-columns:auto 1fr;gap:16px}
  .hint{display:none}
  .track .tick{font-size:0}
  .paths,.about{grid-template-columns:1fr}
  .path:nth-child(2){margin-top:0}
  .about{gap:48px}.about-imgs{height:440px}
  .chips{grid-template-columns:1fr}
}

/* время суток в «фильме»: закат и ночь */
.film.t-evening,.film.t-evening .stage{background:#EFC4A2}
.t-evening .veil{background:linear-gradient(90deg,rgba(239,196,162,.92) 0%,rgba(239,196,162,.62) 32%,rgba(239,196,162,0) 60%)}
.film.t-night,.film.t-night .stage{background:#323A55}
.t-night .veil{background:linear-gradient(90deg,rgba(38,44,68,.9) 0%,rgba(38,44,68,.6) 34%,rgba(38,44,68,0) 62%)}
.t-night .chapter,.t-night .player{color:#F3EBDD}
.t-night .chapter p{color:#F3EBDD;opacity:.86}
.t-night .chapter .eyebrow{color:rgba(243,235,221,.82)}
.t-night .chapter .btn-ink{background:#F3EBDD;color:var(--ink)}
.t-night .chapter .btn-ink:hover{background:var(--orange-deep);color:#fff}
.t-night .chapter .btn-line{color:#F3EBDD}
.t-night .chapter .h-display em{color:var(--orange)}
.film-night .sn:not(.solid){color:#F3EBDD}
.film-night .sn:not(.solid) .lang-switch{background:rgba(255,255,255,.12);border-color:rgba(243,235,221,.3)}
.film-night .sn:not(.solid) .lang-switch button{color:rgba(243,235,221,.8)}
.film-night .sn:not(.solid) .lang-switch button[aria-pressed="true"]{background:#F3EBDD;color:var(--ink)}
.film-night .sn:not(.solid) .sn-cta{background:#F3EBDD;color:var(--ink)}
@media(max-width:960px){
  .t-evening .veil{background:linear-gradient(0deg,rgba(239,196,162,.96) 0%,rgba(239,196,162,.8) 40%,rgba(239,196,162,0) 64%)}
  .t-night .veil{background:linear-gradient(0deg,rgba(38,44,68,.95) 0%,rgba(38,44,68,.78) 40%,rgba(38,44,68,0) 66%)}
}
