/* BLACK ATLAS — отдельный мобильный слой. Десктопные правила не переопределяются. */
.atlas-photo-reveal__picture {
  position: absolute;
  inset: 0;
  display: block;
}

@media (max-width: 760px) {
  html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  body {
    min-width: 320px;
    overscroll-behavior-x: none;
  }

  button,
  select,
  input,
  .map-card__cta,
  .district-focus__offer,
  .curated-catalog__request,
  .ready-catalog-request {
    min-height: 44px;
  }

  /* Первый экран: отдельная вертикальная композиция без обрезанного бренда. */
  body .cinematic-intro > .atlas-photo-reveal {
    right: auto;
    width: 100vw;
  }

  body .atlas-scroll-stage,
  body .atlas-scroll-stage > .cinematic-intro {
    width: 100vw;
    max-width: none;
  }

  .atlas-photo-reveal__picture,
  .atlas-photo-reveal__image {
    width: 100%;
    height: 100%;
  }

  .atlas-photo-reveal__picture {
    inset: 0;
  }

  .atlas-photo-reveal__image,
  .atlas-photo-reveal__foliage {
    object-position: center center;
  }

  .atlas-photo-reveal__image {
    filter: saturate(.9) contrast(1.02) brightness(.84);
  }

  body .atlas-photo-reveal > .atlas-photo-reveal__scene {
    top: -12px;
    right: auto;
    bottom: -12px;
    left: -12px;
    width: calc(100vw + 24px);
    transform: translate3d(0,0,0) scale(calc(1.008 + var(--rising-photo-dim) * .035));
  }

  .atlas-photo-eyebrow {
    top: 34.7%;
    width: min(82vw,350px);
    color: rgba(239,229,214,.9);
    font-size: clamp(8px,2.35vw,10px);
    letter-spacing: .19em;
    line-height: 1.35;
    text-shadow: 0 2px 14px rgba(0,0,0,.72);
  }

  .atlas-scroll-cue {
    bottom: max(18px,env(safe-area-inset-bottom));
  }

  .atlas-scroll-cue__label,
  .deck-scroll-cue > span:last-child {
    font-size: 0;
  }

  .atlas-scroll-cue__label::after,
  .deck-scroll-cue > span:last-child::after {
    content: "Свайпните вверх";
    font-size: 8px;
    letter-spacing: .16em;
    text-transform: uppercase;
  }

  .cinematic-intro__skip {
    min-width: 80px;
    min-height: 44px;
  }

  /* История знакомства внутри первого экрана. */
  .topline {
    top: 18px;
    right: 16px;
    left: 16px;
    gap: 8px;
    font-size: 7px;
    letter-spacing: .12em;
  }

  .topline span:nth-child(2) {
    display: none;
  }

  .scene-deck .deck-heading-column {
    top: 82px;
    right: 18px;
    left: 18px;
    width: auto;
  }

  .scene-deck .deck-heading-column h2 {
    max-width: 330px;
    font-size: clamp(44px,13vw,62px);
    line-height: .88;
  }

  .scene-deck .deck-intro {
    max-width: 310px;
    font-size: 11px;
    line-height: 1.45;
  }

  .scene-deck .deck-stage {
    top: 43%;
    right: 0;
    left: 0;
    width: 100%;
    height: 48%;
  }

  .scene-deck .deck-card {
    width: min(64vw,250px);
    height: min(47vh,400px);
  }

  .scene-deck .deck-card__copy {
    padding: 18px;
  }

  .scene-deck .deck-card__copy strong {
    font-size: clamp(27px,8vw,38px);
  }

  .deck-scroll-cue {
    right: auto;
    bottom: max(18px,env(safe-area-inset-bottom));
    left: 18px;
  }

  .scroll-cue {
    display: none;
  }

  .scene-number {
    right: 16px;
    bottom: max(20px,env(safe-area-inset-bottom));
  }

  .scene-service .service-visual {
    inset: 0;
    width: 100%;
  }

  .scene-service .service-content {
    right: 18px;
    bottom: 13vh;
    left: 18px;
    width: auto;
  }

  .scene-service .service-word strong {
    font-size: clamp(43px,13vw,64px);
    font-weight: 400;
  }

  .scene-service .service-word span {
    max-width: 310px;
    font-size: 11px;
  }

  /* Карта: карточка и фильтры не закрывают весь город. */
  .atlas .topbar {
    padding: 0 14px;
  }

  .atlas .hero-copy {
    top: 78px;
    right: 14px;
    left: 14px;
  }

  .atlas .hero-copy h2 {
    font-size: clamp(38px,11vw,50px);
    line-height: .92;
  }

  .atlas .status {
    top: 76px;
    right: 14px;
  }

  .atlas .district-badge {
    top: 124px;
    right: 12px;
    left: 12px;
    max-width: none;
  }

  .atlas .map-card {
    top: 148px;
    right: 12px;
    left: 12px;
    display: grid;
    width: auto;
    max-height: 154px;
    grid-template-columns: 108px minmax(0,1fr);
    overflow: hidden;
    border-radius: 15px;
  }

  .atlas .map-card__media {
    height: 100%;
    min-height: 154px;
    aspect-ratio: auto;
    border-right: 1px solid rgba(244,240,232,.13);
    border-bottom: 0;
  }

  .atlas .map-card__gallery-control,
  .atlas .map-card__gallery-dots,
  .atlas .map-card__visual-label,
  .atlas .map-card__address,
  .atlas .map-card__facts {
    display: none !important;
  }

  .atlas .map-card__body {
    min-width: 0;
    padding: 13px 12px 11px;
  }

  .atlas .map-card h3 {
    overflow: hidden;
    margin: 5px 0 10px;
    font-size: clamp(22px,7vw,29px);
    line-height: .92;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .atlas .map-card__cta {
    padding: 0 10px;
    font-size: 7px;
    letter-spacing: .045em;
  }

  .atlas.is-map-focused .map-card {
    display: none;
  }

  .atlas .orbit-hint {
    display: none;
  }

  .atlas .atlas-filter--map,
  .atlas .property-filter {
    right: 10px;
    bottom: max(10px,env(safe-area-inset-bottom));
    left: 10px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-height: 184px;
    overflow: hidden;
    border-radius: 16px;
  }

  .atlas .atlas-filter--map > label,
  .atlas .property-filter > label {
    min-width: 0;
    min-height: 52px;
    padding: 8px 10px;
  }

  .atlas .atlas-filter--map select,
  .atlas .property-filter select {
    min-height: 28px;
    font-size: 10px;
  }

  .atlas .atlas-filter--map > button,
  .atlas .property-filter > button {
    min-height: 44px;
    grid-column: 1 / -1;
    margin-top: 0;
  }

  .atlas .map-poi-panel {
    right: 10px;
    bottom: 10px;
    left: 10px;
    max-height: 190px;
    overflow: auto;
  }

  .maplibregl-ctrl-bottom-right {
    display: none;
  }

  /* Колода проектов: читаемый центр и аккуратные соседние карточки. */
  body .project-coverflow {
    min-height: 980px;
    padding: 64px 14px 28px;
  }

  body .project-coverflow .section-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
  }

  body .project-coverflow .section-head h2 {
    max-width: 360px;
    font-size: clamp(42px,12vw,57px);
    line-height: .88;
  }

  .project-coverflow__head-meta {
    min-width: 0;
    text-align: left;
  }

  body .project-coverflow .project-coverflow__stage {
    height: 535px;
    margin-top: 8px;
  }

  body .project-coverflow .project-card {
    width: min(76vw,330px);
    height: 500px;
  }

  body .project-coverflow .project-card[data-coverflow-position="-1"] {
    opacity: .28;
    transform: translate(calc(-50% - 78% + var(--coverflow-drag,0px)),-50%) rotateY(13deg) scale(.8);
  }

  body .project-coverflow .project-card[data-coverflow-position="1"] {
    opacity: .28;
    transform: translate(calc(-50% + 78% + var(--coverflow-drag,0px)),-50%) rotateY(-13deg) scale(.8);
  }

  body .project-coverflow .project-card__content {
    padding: 24px 18px 18px;
  }

  .project-coverflow__hint {
    margin: 3px 0 15px;
  }

  .project-coverflow__filters {
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
    border-radius: 16px;
  }

  .project-coverflow__filter-result,
  .project-coverflow__filters > button {
    grid-column: 1 / -1;
  }

  .project-coverflow__filter-result,
  .project-coverflow__filters > label,
  .project-coverflow__filters > button {
    min-height: 50px;
  }

  /* Закрытые коллекции: заголовок и карточки больше не накладываются. */
  .curated-catalog {
    min-height: auto;
    padding: 70px 14px 44px;
  }

  .curated-catalog__head {
    display: block;
    margin-bottom: 26px;
  }

  .curated-catalog__head h2 {
    max-width: 360px;
    font-size: clamp(46px,13vw,64px);
    line-height: .88;
    letter-spacing: -.045em;
  }

  .curated-catalog__head > p {
    max-width: 340px;
    margin: 20px 0 0;
    font-size: 12px;
    line-height: 1.5;
  }

  .curated-catalog__shell {
    padding: 9px;
    border-radius: 18px;
  }

  .curated-catalog__panels {
    display: grid;
    height: auto;
    min-height: 0;
    gap: 8px;
  }

  .curated-catalog__panel,
  .curated-catalog__panel[aria-expanded="true"] {
    min-height: 92px;
    flex: none;
    border-radius: 13px;
    transition: min-height .62s cubic-bezier(.22,1,.36,1),border-color .35s ease;
  }

  .curated-catalog__panel[aria-expanded="true"] {
    min-height: 540px;
  }

  .curated-catalog__panel-icon,
  .curated-catalog__panel[aria-expanded="true"] .curated-catalog__panel-icon {
    top: 16px;
    left: 16px;
    width: 52px;
    height: 52px;
    transform: none;
  }

  .curated-catalog__panel-copy {
    right: 18px;
    bottom: 18px;
    left: 18px;
    min-width: 0;
  }

  .curated-catalog__panel-copy h3 {
    font-size: clamp(38px,12vw,54px);
  }

  .curated-catalog__panel-copy > p,
  .curated-catalog__panel-inside span {
    font-size: 12px;
  }

  .curated-catalog__panel-actions {
    align-items: stretch;
  }

  .curated-catalog__panel-actions .curated-catalog__request {
    width: 100%;
    white-space: normal;
  }

  /* Остальные редакционные блоки — одна понятная колонка. */
  .editorial-stories,
  .collection-section,
  .ready-homes,
  .services-section,
  .lead-section,
  .journal-section {
    overflow: hidden;
  }

  .district-focus__offer,
  .ready-catalog-request {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .collection-dialog {
    width: calc(100% - 24px);
    max-height: calc(100svh - 24px);
    padding: 32px 20px 24px;
    overflow-y: auto;
  }

  .collection-dialog h2 {
    font-size: clamp(39px,12vw,52px);
  }

  .collection-dialog__close {
    width: 44px;
    height: 44px;
  }
}

@media (max-width: 760px) {
  /* Убираем боковые слова и ставим подпись прямо над BLACK ATLAS. */
  .brand-opening__side {
    display: none !important;
  }

  .brand-opening__name {
    font-size: clamp(38px,13.2vw,54px);
    letter-spacing: .012em;
  }

  .atlas-photo-eyebrow {
    top: 40.8%;
    width: min(64vw,280px);
    font-size: clamp(7px,1.95vw,8px);
    letter-spacing: .18em;
  }

  /* После истории без паузы открываем каталог, затем редакционный экран «Москва». */
  .atlas-scroll-stage {
    height: 100svh;
  }

  .mobile-story-complete .atlas-scroll-stage {
    display: none;
  }

  .mobile-story-complete #projects {
    animation: mobile-projects-enter 1.32s cubic-bezier(.23,1,.32,1) both;
    transform-origin: 50% 10%;
  }

  @keyframes mobile-projects-enter {
    0% { opacity: 0; transform: translate3d(0,28px,0) scale(.99); filter: blur(4px); }
    55% { opacity: .82; filter: blur(1px); }
    100% { opacity: 1; transform: translate3d(0,0,0) scale(1); filter: blur(0); }
  }

  html.story-scroll-lock,
  html.story-scroll-lock body,
  body.black-atlas-story-active {
    overflow: hidden !important;
    position: fixed;
    inset: 0;
    width: 100%;
  }

  html.mobile-story-handoff-lock,
  html.mobile-story-handoff-lock body {
    overflow: hidden !important;
    overscroll-behavior: none;
  }

  .atlas-map-reveal {
    display: none !important;
  }

  /* Подбор / Проверка / Сделка: один читаемый экран за раз. */
  .scene-service .service-visual {
    inset: 0;
    width: 100%;
    opacity: .84;
  }

  .scene-service .service-visual img {
    object-fit: cover;
    object-position: center 62%;
    transform: none;
    filter: grayscale(.03) saturate(.88) contrast(1.02) brightness(.84);
  }

  .scene-service .service-visual picture {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
  }

  .scene-service .service-visual::after {
    background: linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,.06) 34%,rgba(0,0,0,.18) 62%,rgba(0,0,0,.86));
  }

  .scene-service .service-content {
    position: absolute;
    right: 18px;
    top: 31vh;
    bottom: auto;
    left: 18px;
    width: auto;
    height: min(32vh,270px);
    transform: none;
  }

  .scene-service .service-words {
    position: relative;
    display: block;
    height: 100%;
  }

  .scene-service .service-word {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 25px 22px;
    border: 1px solid rgba(238,211,150,.28);
    border-radius: 18px;
    background: rgba(5,6,6,.42);
    box-shadow: 0 26px 70px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.05);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    text-align: center;
  }

  .scene-service .service-word strong {
    font-size: clamp(40px,12vw,56px);
    line-height: .92;
    white-space: normal;
  }

  .scene-service .service-word span {
    max-width: 270px;
    color: rgba(255,255,255,.78);
    font-size: 13px;
    line-height: 1.55;
    text-align: center;
  }

  /* «Москва на ваших условиях»: одна фотография на весь экран. */
  #editorial-moscow .editorial-scene--split {
    position: relative;
    display: block;
    min-height: 100svh;
  }

  #editorial-moscow .editorial-scene--split .editorial-scene__panel:first-of-type {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  #editorial-moscow .editorial-scene--split .editorial-scene__panel:first-of-type img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  #editorial-moscow .editorial-scene--split .editorial-scene__panel:last-of-type {
    display: none;
  }

  #editorial-moscow .editorial-scene--split .editorial-scene__copy {
    position: absolute;
    z-index: 3;
    right: 18px;
    bottom: 54px;
    left: 18px;
    width: auto;
    padding: 24px 22px;
    border: 1px solid rgba(244,224,178,.2);
    border-radius: 18px;
    background: rgba(7,8,8,.46);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }

  /* На телефоне этот подробный блок не показываем. */
  #editorial-materials {
    display: none !important;
  }

  /* Название коллекции видно до нажатия, подробности — после раскрытия. */
  .curated-catalog__panel-copy {
    top: 25px;
    right: 16px;
    bottom: auto;
    left: 82px;
    display: block;
    opacity: 1;
    transform: none;
    pointer-events: none;
  }

  .curated-catalog__panel-copy h3 {
    margin: 0;
    font-size: clamp(20px,6vw,27px);
    line-height: 1;
  }

  .curated-catalog__panel:not([aria-expanded="true"]) .curated-catalog__panel-copy > small,
  .curated-catalog__panel:not([aria-expanded="true"]) .curated-catalog__panel-copy > p,
  .curated-catalog__panel:not([aria-expanded="true"]) .curated-catalog__panel-inside,
  .curated-catalog__panel:not([aria-expanded="true"]) .curated-catalog__panel-actions {
    display: none;
  }

  .curated-catalog__panel[aria-expanded="true"] .curated-catalog__panel-copy {
    top: auto;
    right: 18px;
    bottom: 18px;
    left: 18px;
    pointer-events: auto;
  }

  .curated-catalog__panel[aria-expanded="true"] .curated-catalog__panel-copy h3 {
    font-size: clamp(38px,12vw,54px);
  }

  /* Отдельные чистые мобильные фоны без обрезанных букв. */
  .ready-homes__backdrop-picture,
  .district-focus__backdrop-picture,
  #editorial-lifestyle .editorial-scene__media picture {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
  }

  .ready-homes__backdrop,
  .district-focus__backdrop,
  #editorial-lifestyle .editorial-scene__media picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .ready-homes__backdrop {
    object-position: center 46%;
    filter: saturate(.72) brightness(.48);
  }

  .district-focus__backdrop {
    object-position: 62% center;
    filter: saturate(.72) brightness(.58);
  }

  #editorial-lifestyle .editorial-scene__media picture img {
    object-position: center;
  }

  #editorial-lifestyle .editorial-scene__copy {
    width: calc(100% - 40px);
    margin-left: 20px;
    padding: 28px 20px 24px;
    background: rgba(5,7,8,.38);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }

  #editorial-lifestyle .editorial-scene__location--desktop {
    display: none;
  }

  #editorial-lifestyle .editorial-scene__location--mobile {
    display: grid;
  }

  #editorial-lifestyle .editorial-scene__title {
    font-size: clamp(38px,11.7vw,52px);
  }

  /* Спокойное появление смысловых блоков при прокрутке. */
  .mobile-reveal {
    opacity: .01;
    transform: translate3d(0,32px,0);
    transition: opacity .9s cubic-bezier(.22,.61,.36,1),transform 1.05s cubic-bezier(.22,.61,.36,1);
    will-change: opacity,transform;
  }

  .mobile-reveal.is-mobile-visible {
    opacity: 1;
    transform: translate3d(0,0,0);
  }
}

@media (max-width: 380px) {
  .atlas .map-card {
    grid-template-columns: 92px minmax(0,1fr);
  }

  .atlas .map-card__cta span:first-child {
    max-width: 120px;
  }

  body .project-coverflow .project-card {
    width: 78vw;
  }

  .curated-catalog__head h2 {
    font-size: 43px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .atlas-photo-reveal__image,
  .project-card,
  .deck-card,
  .project-card,
  .curated-catalog__panel,
  .curated-catalog__panel-image {
    animation: none !important;
    transition: none !important;
  }
}

/* Финальный мобильный проход: отдельная горизонтальная логика и безопасная ширина. */
@media (max-width: 760px) {
  /* На телефоне после фирменной фотографии сразу начинается каталог ЖК. */
  html.black-atlas-mobile-direct .atlas-scroll-stage {
    height: 100svh;
  }

  html.black-atlas-mobile-direct .black-atlas-story-play,
  html.black-atlas-mobile-direct .cinematic-intro__skip,
  html.black-atlas-mobile-direct .black-atlas-story-overlay {
    display: none !important;
  }

  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .page,
  .page > * {
    max-width: 100%;
  }

  html:has(body.black-atlas-story-document),
  body.black-atlas-story-document {
    overflow-x: clip;
    overflow-y: visible;
  }

  /* Внутри вступительной истории жест в сторону управляет колодой. */
  .scene-deck,
  .scene-deck .deck-stage {
    touch-action: pan-x pan-y pinch-zoom;
  }

  /* Все ЖК — настоящая горизонтальная лента, без десктопной 3D-укладки. */
  body .project-coverflow {
    min-height: 0;
    padding-bottom: 56px;
  }

  body .project-coverflow .project-coverflow__stage {
    height: auto;
    overflow: visible;
  }

  body .project-coverflow .project-track {
    position: relative;
    display: flex;
    width: calc(100% + 14px);
    height: auto;
    margin-right: -14px;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 8px 18px 20px 0;
    scroll-padding-left: 0;
    scroll-snap-type: x mandatory;
    touch-action: pan-x pan-y pinch-zoom;
    -webkit-overflow-scrolling: touch;
  }

  body .project-coverflow .project-card,
  body .project-coverflow .project-card[data-coverflow-position] {
    position: relative;
    top: auto;
    left: auto;
    flex: 0 0 min(82vw, 340px);
    width: min(82vw, 340px);
    min-width: min(82vw, 340px);
    height: 520px;
    min-height: 520px;
    opacity: 1;
    transform: none !important;
    scroll-snap-align: start;
  }

  body .project-coverflow .project-card__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  body .project-coverflow .project-card__content {
    position: absolute;
    z-index: 3;
    right: 0;
    bottom: 0;
    left: 0;
    min-height: 0;
    padding: 84px 18px 18px;
    background: linear-gradient(180deg, transparent, rgba(3,5,6,.94) 42%);
    opacity: 1;
    transform: none;
  }

  body .project-coverflow .project-card__cta {
    position: relative;
    z-index: 8;
    pointer-events: auto;
  }

  body .project-coverflow .project-card__side-title {
    display: none;
  }

  body .project-coverflow .project-card__ordinal {
    z-index: 4;
  }

  body .project-coverflow .project-card h3 {
    font-size: clamp(33px, 9.5vw, 43px);
  }

  /* Закрытые коллекции — готовые раскрытые карточки в горизонтальной ленте. */
  body .curated-catalog__shell {
    width: calc(100% + 14px);
    margin-right: -14px;
    padding: 0;
    overflow: visible;
    border: 0;
    background: transparent;
  }

  body .curated-catalog__panels {
    display: flex;
    width: 100%;
    height: auto;
    min-height: 0;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 4px 18px 18px 0;
    scroll-padding-left: 0;
    scroll-snap-type: x mandatory;
    touch-action: pan-x pan-y pinch-zoom;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body .curated-catalog__panels::-webkit-scrollbar {
    display: none;
  }

  body .curated-catalog__panel,
  body .curated-catalog__panel[aria-expanded="true"],
  body .curated-catalog__panel[aria-expanded="false"] {
    flex: 0 0 min(86vw, 360px);
    width: min(86vw, 360px);
    min-width: min(86vw, 360px);
    min-height: 590px;
    height: 590px;
    border-radius: 18px;
    scroll-snap-align: start;
  }

  body .curated-catalog__panel-icon,
  body .curated-catalog__panel[aria-expanded="true"] .curated-catalog__panel-icon {
    top: 18px;
    left: 18px;
    width: 52px;
    height: 52px;
    transform: none;
  }

  body .curated-catalog__panel-copy,
  body .curated-catalog__panel:not([aria-expanded="true"]) .curated-catalog__panel-copy,
  body .curated-catalog__panel[aria-expanded="true"] .curated-catalog__panel-copy {
    top: auto;
    right: 18px;
    bottom: 18px;
    left: 18px;
    display: block;
    min-width: 0;
    height: auto;
    max-height: none;
    overflow: visible;
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }

  body .curated-catalog__panel-copy h3,
  body .curated-catalog__panel:not([aria-expanded="true"]) .curated-catalog__panel-copy h3,
  body .curated-catalog__panel[aria-expanded="true"] .curated-catalog__panel-copy h3 {
    margin: 12px 0 10px;
    font-size: clamp(38px, 11vw, 50px);
    line-height: .9;
  }

  body .curated-catalog__panel .curated-catalog__panel-copy > small,
  body .curated-catalog__panel .curated-catalog__panel-copy > p,
  body .curated-catalog__panel .curated-catalog__panel-inside,
  body .curated-catalog__panel .curated-catalog__panel-actions {
    display: revert;
  }

  body .curated-catalog__panel .curated-catalog__panel-inside {
    display: grid;
  }

  body .curated-catalog__panel .curated-catalog__panel-actions {
    display: flex;
  }

  /* «Москва в одном поле зрения»: спокойное появление текста по смысловым слоям. */
  .district-focus .district-focus__about > * {
    opacity: 0;
    transform: translate3d(0,20px,0);
    transition:
      opacity 760ms cubic-bezier(.23,1,.32,1),
      transform 900ms cubic-bezier(.23,1,.32,1);
  }

  .district-focus.is-mobile-visible .district-focus__about > * {
    opacity: 1;
    transform: none;
  }

  .district-focus.is-mobile-visible .district-focus__about > :nth-child(2) { transition-delay: 80ms; }
  .district-focus.is-mobile-visible .district-focus__about > :nth-child(3) { transition-delay: 160ms; }
  .district-focus.is-mobile-visible .district-focus__offer { transition-delay: 240ms; }

  /* Коллекции: даём названиям две полноценные строки. */
  .curated-catalog__panel,
  .curated-catalog__panel[aria-expanded="false"] {
    min-height: 116px;
  }

  .curated-catalog__panel-copy,
  .curated-catalog__panel:not([aria-expanded="true"]) .curated-catalog__panel-copy {
    top: 20px;
    right: 14px;
    bottom: auto;
    left: 82px;
    height: auto;
    max-height: none;
    overflow: visible;
  }

  .curated-catalog__panel-copy h3,
  .curated-catalog__panel:not([aria-expanded="true"]) .curated-catalog__panel-copy h3 {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    margin: 0;
    overflow: visible;
    font-size: clamp(27px, 8vw, 34px);
    line-height: 1;
    padding-bottom: 3px;
    white-space: normal;
  }

  #curated-catalog .mobile-horizontal-hint {
    position: absolute;
    z-index: 8;
    top: 58%;
    right: 12px;
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 1px solid rgba(255,217,140,.34);
    border-radius: 50%;
    color: #f6e8c8;
    background: rgba(5,6,6,.34);
    font: 300 24px/1 Arial,sans-serif;
    pointer-events: none;
    backdrop-filter: blur(12px);
    transform: translateY(-50%);
    animation: mobile-swipe-hint 2.8s cubic-bezier(.23,1,.32,1) infinite;
  }

  #curated-catalog .mobile-horizontal-hint[hidden] {
    display: none;
  }

  /* Готовые дома — одна лента карточек, без отдельной крупной карточки слева. */
  #ready-homes {
    min-height: 100svh;
    padding: 70px 14px 44px;
  }

  #ready-homes .ready-showcase {
    display: block;
    min-height: 0;
    margin-top: 24px;
    padding: 0;
    overflow: visible;
    border: 0;
    background: transparent;
  }

  #ready-feature {
    display: none !important;
  }

  #ready-grid {
    display: flex;
    width: calc(100% + 14px);
    max-height: none;
    margin-right: -14px;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 18px 18px 0;
    scroll-snap-type: x mandatory;
    touch-action: pan-x pan-y pinch-zoom;
    -webkit-overflow-scrolling: touch;
  }

  #ready-grid .ready-choice {
    position: relative;
    display: block;
    flex: 0 0 min(80vw, 330px);
    width: min(80vw, 330px);
    min-height: 590px;
    height: 590px;
    margin: 0;
    overflow: hidden;
    padding: 0;
    border-radius: 18px;
    scroll-snap-align: start;
  }

  #ready-grid .ready-choice img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  #ready-grid .ready-choice > span {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 84px 20px 20px;
    background: linear-gradient(180deg, transparent, rgba(3,5,6,.94));
  }

  #ready-grid .ready-choice strong {
    font-size: clamp(34px, 10vw, 46px);
    line-height: .95;
  }

  /* Три сайта — один полноэкранный горизонтальный свайп. */
  #site-showcase {
    position: relative;
    width: 100%;
    height: 100svh;
    min-height: 680px;
    overflow: hidden;
  }

  #site-showcase .site-showcase__sticky {
    position: relative;
    top: auto;
    height: 100%;
    overflow: hidden;
  }

  #site-showcase .site-showcase__track {
    display: flex;
    width: 100%;
    height: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    touch-action: pan-x pan-y pinch-zoom;
    transform: none !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  #site-showcase .site-showcase__track::-webkit-scrollbar {
    display: none;
  }

  #site-showcase .site-showcase__slide {
    flex: 0 0 100%;
    width: 100%;
    min-height: 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  #site-showcase .site-showcase__media picture,
  #site-showcase .site-showcase__media img {
    display: block;
    width: 100%;
    height: 100%;
  }

  #site-showcase .site-showcase__media img {
    object-fit: cover;
  }

  #site-showcase [data-tone="dao"] .site-showcase__media img {
    object-position: center center;
  }

  #site-showcase::after {
    position: absolute;
    z-index: 8;
    top: 50%;
    right: 12px;
    display: grid;
    width: 52px;
    height: 52px;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(255,217,140,.34);
    border-radius: 50%;
    color: #f6e8c8;
    background: rgba(5,6,6,.34);
    content: "→";
    font: 300 24px/1 Arial,sans-serif;
    pointer-events: none;
    backdrop-filter: blur(12px);
    transform: translateY(-50%);
    animation: mobile-swipe-hint 2.8s cubic-bezier(.23,1,.32,1) infinite;
  }

  @keyframes mobile-swipe-hint {
    0%, 100% { opacity: .18; transform: translate3d(0,-50%,0); }
    48% { opacity: .82; transform: translate3d(5px,-50%,0); border-color: rgba(255,217,140,.66); }
  }

  #site-showcase .site-showcase__slide[data-tone="dao"] .site-showcase__hero-title {
    display: flex;
    width: calc(100vw - 44px);
    max-width: calc(100vw - 44px);
    flex-direction: column;
    align-items: flex-start;
    white-space: normal;
    font-size: clamp(52px,15.5vw,66px);
    line-height: .78;
  }

  #site-showcase .site-showcase__slide[data-tone="dao"] .site-showcase__word--accent {
    align-self: center;
    margin-top: 12px;
    margin-left: 54px;
    padding-right: 0;
  }

  /* Этот повторяющий смысл экран на телефоне убираем. */
  #editorial-lifestyle {
    display: none !important;
  }

  /* Финальная заявка — самостоятельный вертикальный экран без вылета за края. */
  body #lead.lead-banner {
    display: flex;
    width: 100%;
    max-width: 100%;
    min-height: 100svh;
    height: auto;
    margin: 0;
    overflow: hidden;
    flex-direction: column;
    border-radius: 0;
  }

  body #lead .lead-visual {
    flex: 0 0 46svh;
    width: 100%;
    min-height: 360px;
    height: 46svh;
  }

  body #lead .lead-visual img {
    width: 100%;
    height: 100%;
    object-position: center 28%;
  }

  body #lead .lead-visual::after {
    background: linear-gradient(0deg, #171313 0, rgba(23,19,19,.82) 14%, transparent 54%);
  }

  body #lead .lead-visual__brand {
    right: 18px;
    bottom: 34px;
    left: 18px;
    max-width: calc(100% - 36px);
    font-size: clamp(22px, 8vw, 34px);
    letter-spacing: .14em;
  }

  body #lead .lead-panel {
    z-index: 4;
    width: 100%;
    max-width: 100%;
    margin: -18px 0 0;
    padding: 32px 20px max(30px, env(safe-area-inset-bottom));
    border-radius: 20px 20px 0 0;
    box-sizing: border-box;
  }

  body #lead .lead-panel > *,
  body #lead #lead-form,
  body #lead #lead-form > * {
    max-width: 100%;
    box-sizing: border-box;
  }

  body #lead .lead-panel .eyebrow,
  body #lead .lead-panel h2,
  body #lead .lead-intro,
  body #lead .trust-list,
  body #lead #lead-form {
    width: 100%;
    margin-left: 0;
    transform: none;
  }

  body #lead .lead-panel h2 {
    font-size: clamp(40px, 11.7vw, 52px);
    line-height: .93;
    overflow-wrap: anywhere;
  }

  body #lead .lead-intro {
    margin-top: 18px;
    font-size: 13px;
    line-height: 1.55;
  }

  body #lead .trust-list {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 18px;
    margin-bottom: 20px;
  }

  body #lead #lead-form input,
  body #lead #lead-form button,
  body #lead .consent {
    width: 100%;
    max-width: 100%;
  }

  @media (prefers-reduced-motion: reduce) {
    #site-showcase::after {
      animation: none;
      opacity: .55;
    }
  }
}
