/* Точная доводка блоков главной после первых двух экранов. */

.archive-section--intro h2 {
  font-family: var(--font-display);
  font-size: 56px;
  line-height: 1.2;
}

.archive-section--intro .archive-collage {
  width: min(1100px, 100%);
  min-height: 805px;
  margin-top: 70px;
}

.archive-section--intro .archive-collage .archive-collage__photo--history {
  left: 50%;
  top: 0;
  width: 609px;
  max-width: 56%;
  transform: translateX(-50%);
}

.archive-section--intro .archive-collage .archive-collage__photo--author {
  left: 6%;
  top: 475px;
  width: 276px;
  transform: none;
}

.archive-section--intro .archive-collage .archive-collage__photo--creative {
  right: 7%;
  top: 430px;
  width: 227px;
  transform: none;
}

.archive-section--intro .archive-collage .archive-collage__postcard {
  left: 3%;
  top: 116px;
  width: 170px;
}

.archive-section--intro .archive-collage .archive-collage__stamp {
  left: auto;
  right: 4%;
  top: 106px;
  width: 160px;
  transform: none;
}

.archive-section--map {
  min-height: 1191px;
  background: #fffdf7;
}

.city-timeline {
  position: relative;
  display: grid;
  width: min(1040px, calc(100% - 80px));
  margin: 60px auto 0;
  grid-template-columns: repeat(4, 1fr);
  color: var(--blue);
  font: 700 18px/1.2 var(--font-display);
}

.city-timeline::before {
  position: absolute;
  top: 11px;
  right: 12.5%;
  left: 12.5%;
  border-top: 2px dashed var(--blue);
  content: '';
}

.city-timeline__item {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 12px;
  justify-items: center;
}

.city-timeline__dot {
  box-sizing: border-box;
  display: block;
  width: 24px;
  height: 24px;
  border: 3px solid var(--blue);
  border-radius: 50%;
  background: #fffdf7;
  box-shadow: inset 0 0 0 5px #fffdf7, inset 0 0 0 8px var(--blue);
}

.archive-section--map .place-grid {
  width: min(1120px, 100%);
  min-height: 700px;
  margin: 44px auto 0;
}

.archive-section--map .place-grid__pattern--one { left: 1%; top: 8px; width: 43%; }
.archive-section--map .place-grid__pattern--two { right: 1%; top: 24px; width: 38%; }
.archive-section--map .place-grid__pattern--three { left: 30%; top: 344px; width: 40%; }
.archive-section--map .place-grid__photo:nth-of-type(4) { left: 7%; top: 72px; width: 31%; transform: none; }
.archive-section--map .place-grid__icon:nth-of-type(5) { left: 46%; top: 84px; width: 88px; }
.archive-section--map .place-grid__photo:nth-of-type(6) { right: 7%; top: 86px; width: 26%; transform: none; }
.archive-section--map .place-grid__photo:nth-of-type(7) { left: 12%; top: 392px; width: 23%; transform: none; }
.archive-section--map .place-grid__icon:nth-of-type(8) { left: 47%; top: 425px; width: 92px; }
.archive-section--map .place-grid__photo:nth-of-type(9) { right: 8%; top: 378px; width: 28%; transform: none; }

.archive-section--send .send-layout__photos img:first-child {
  left: 3%;
  top: 40px;
  width: 50%;
  transform: rotate(-1deg);
}

.archive-section--send .send-layout__photos img:last-child {
  right: 2%;
  bottom: 35px;
  width: 50%;
  transform: rotate(1deg);
}

.archive-section--send .send-layout__photos::before {
  left: 1%;
  top: 22px;
  width: 52%;
  height: 74%;
}

.archive-section--send .archive-send__stamp {
  top: 486px;
  left: calc(50% + 80px);
  width: 150px;
  transform: none;
}

.archive-partner {
  box-sizing: border-box;
  min-height: 646px;
  padding: 238px 0 77px;
  background-color: #f6f1e8;
  isolation: isolate;
}

.archive-partner__line {
  top: -101px;
  width: min(1261px, 100vw);
}

.archive-partner .partner-card {
  z-index: 2;
  box-sizing: border-box;
  width: min(888px, calc(100% - 40px));
  min-height: 331px;
  margin: 0 auto;
  padding: 78px 60px 52px;
  background-color: #fffdf7;
  border-radius: 28px;
  overflow: hidden;
}

.archive-partner::after {
  position: absolute;
  z-index: 8;
  right: 0;
  bottom: -47px;
  left: 0;
  height: 95px;
  background: #fffdf7;
  -webkit-mask: url('archive/home/latest/winter-transition.svg') center / 1944px 95px no-repeat;
  mask: url('archive/home/latest/winter-transition.svg') center / 1944px 95px no-repeat;
  content: '';
  pointer-events: none;
}

.archive-showcase {
  height: 3500px;
  min-height: 3500px;
  padding-top: 140px;
}

.archive-showcase img:nth-child(-n+2) { width: min(712px, calc(100vw - 96px)); }
.archive-showcase img:nth-child(n+3) { width: min(456px, calc(100vw - 96px)); }

.archive-section--postcross .postcross-layout {
  position: relative;
  display: block;
  width: min(1200px, calc(100% - 40px));
  height: 523px;
  margin: 0 auto;
  padding: 0;
  text-align: center;
}

.postcross-layout__frame {
  top: 48px;
  right: auto;
  bottom: auto;
  left: 50%;
  width: 1030px;
  max-width: calc(100% - 120px);
  height: 370px;
  transform: translateX(-50%);
}

.postcross-layout__copy {
  position: absolute;
  z-index: 3;
  top: 124px;
  left: 50%;
  width: 659px;
  max-width: calc(100% - 400px);
  transform: translateX(-50%);
}

.postcross-layout__copy h2 {
  margin: 0 0 10px;
  font-family: var(--font-display);
  font-size: 36px;
  line-height: 1.2;
}

.postcross-layout__copy p {
  margin: 0 auto 24px;
  font-size: 22px;
  line-height: 1.5;
}

.postcross-layout__photos {
  position: absolute;
  z-index: 2;
  inset: 0;
  min-height: 0;
}

.postcross-layout__photos img:nth-child(1) { left: 12px; top: 240px; width: 192px; transform: rotate(-4deg); }
.postcross-layout__photos img:nth-child(2) { right: 16px; top: 146px; width: 153px; transform: rotate(4deg); }
.postcross-layout__photos img:nth-child(3) { right: 170px; bottom: 24px; width: 190px; transform: none; }
.postcross-layout__pin--one { left: 0 !important; top: 214px !important; }
.postcross-layout__pin--two { right: 4px !important; top: 120px !important; }

.archive-section--join {
  box-sizing: border-box;
  min-height: 617px;
  padding: 50px 0 100px;
}

.archive-join__pattern {
  top: 72px;
  width: max(100%, 1430px);
}

.archive-section--join .partner-card {
  box-sizing: border-box;
  width: min(1030px, calc(100% - 80px));
  min-height: 417px;
  padding: 80px 100px 48px;
  background-color: #fffdf7;
}

.archive-section--join .partner-card h2 {
  width: min(726px, 100%);
  margin: 0 auto 24px;
  font-family: var(--font-display);
  font-size: 36px;
  line-height: 1.2;
}

.archive-section--join .partner-card__stamp {
  top: 248px;
  left: 42px;
  width: 127px;
  transform: none;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .archive-section--intro { height: 1120px; min-height: 1120px; padding-top: 80px; }
  .archive-section--intro h2 { font-size: 48px; }
  .archive-section--intro .archive-collage { min-height: 650px; }
  .archive-section--intro .archive-collage .archive-collage__photo--history { width: 54%; }
  .archive-section--intro .archive-collage .archive-collage__photo--author { left: 5%; top: 380px; width: 28%; }
  .archive-section--intro .archive-collage .archive-collage__photo--creative { right: 5%; top: 340px; width: 24%; }
  .archive-section--intro .archive-collage .archive-collage__postcard { left: 2%; top: 78px; width: 120px; }
  .archive-section--intro .archive-collage .archive-collage__stamp { right: 2%; top: 78px; width: 120px; }

  .archive-section--map { min-height: 1220px; padding-top: 80px; }
  .city-timeline { width: calc(100% - 40px); }
  .archive-section--map .place-grid { min-height: 760px; }
  .archive-section--map .place-grid__photo:nth-of-type(4) { left: 3%; width: 36%; }
  .archive-section--map .place-grid__photo:nth-of-type(6) { right: 3%; width: 31%; }
  .archive-section--map .place-grid__photo:nth-of-type(7) { left: 6%; width: 29%; }
  .archive-section--map .place-grid__photo:nth-of-type(9) { right: 4%; width: 33%; }

  .archive-partner { padding-top: 190px; }
  .archive-partner__line { top: -70px; width: 1034px; }
  .archive-showcase { height: 3200px; min-height: 3200px; }
  .postcross-layout__copy { max-width: calc(100% - 300px); }
  .postcross-layout__photos img:nth-child(1) { width: 150px; }
  .postcross-layout__photos img:nth-child(2) { width: 126px; }
  .postcross-layout__photos img:nth-child(3) { right: 110px; width: 150px; }
  .archive-section--join .partner-card { width: min(840px, calc(100% - 40px)); }
}

@media (max-width: 767px) {
  .archive-section--intro {
    height: auto;
    min-height: 1210px;
    padding: 64px 20px 40px;
  }

  .archive-section--intro h2 { font-size: 34px; }
  .archive-section--intro .archive-lead { max-width: 100%; font-size: 17px; }
  .archive-section--intro .archive-collage { min-height: 720px; margin-top: 42px; }
  .archive-section--intro .archive-collage .archive-collage__postcard,
  .archive-section--intro .archive-collage .archive-collage__stamp { display: none; }
  .archive-section--intro .archive-collage .archive-collage__photo--history { top: 0; width: 100%; max-width: none; }
  .archive-section--intro .archive-collage .archive-collage__photo--author { left: 0; top: 300px; width: 64%; }
  .archive-section--intro .archive-collage .archive-collage__photo--creative { right: 0; top: 475px; width: 48%; }

  .archive-section--map { min-height: 1490px; padding: 70px 20px 40px; }
  .city-timeline {
    width: 100%;
    margin-top: 40px;
    grid-template-columns: 1fr;
    gap: 24px;
    font-size: 17px;
  }
  .city-timeline::before { top: 12px; bottom: 12px; left: 11px; right: auto; border-top: 0; border-left: 2px dashed var(--blue); }
  .city-timeline__item { grid-template-columns: 24px 1fr; gap: 14px; justify-items: start; align-items: center; text-align: left; }
  .archive-section--map .place-grid { min-height: 850px; margin-top: 38px; }
  .archive-section--map .place-grid__pattern--one { left: -28%; top: 0; width: 96%; }
  .archive-section--map .place-grid__pattern--two { right: -25%; top: 250px; width: 88%; }
  .archive-section--map .place-grid__pattern--three { left: -12%; top: 520px; width: 100%; }
  .archive-section--map .place-grid__photo:nth-of-type(4) { left: 0; top: 72px; width: 58%; }
  .archive-section--map .place-grid__icon:nth-of-type(5) { left: auto; right: 3%; top: 74px; width: 70px; }
  .archive-section--map .place-grid__photo:nth-of-type(6) { right: 0; top: 270px; width: 54%; }
  .archive-section--map .place-grid__photo:nth-of-type(7) { left: 0; top: 480px; width: 48%; }
  .archive-section--map .place-grid__icon:nth-of-type(8) { left: auto; right: 5%; top: 515px; width: 72px; }
  .archive-section--map .place-grid__photo:nth-of-type(9) { right: 0; top: 650px; width: 56%; }

  .archive-section--send .archive-send__stamp { top: auto; bottom: 28px; left: 10%; width: 96px; }
  .archive-section--send .send-layout__photos img:first-child { left: 0; top: 30px; width: 55%; }
  .archive-section--send .send-layout__photos img:last-child { right: 0; bottom: 20px; width: 55%; }

  .archive-partner { min-height: 520px; padding: 150px 0 60px; }
  .archive-partner__line { top: -20px; width: 820px; }
  .archive-partner .partner-card { min-height: 310px; padding: 75px 28px 40px; background-size: 112% 100%; }

  .archive-showcase { height: 2700px; min-height: 2700px; padding-top: 90px; }
  .archive-showcase img:nth-child(n) { width: min(88vw, 420px); }

  .archive-section--postcross { height: 696px; min-height: 696px; padding: 36px 0; }
  .archive-section--postcross .postcross-layout { width: 100%; height: 624px; }
  .postcross-layout__frame { top: 0; width: 320px; max-width: calc(100% - 40px); height: 391px; }
  .postcross-layout__copy { top: 58px; width: 264px; max-width: calc(100% - 80px); }
  .postcross-layout__copy h2 { font-size: 22px; }
  .postcross-layout__copy p { font-size: 17px; }
  .postcross-layout__photos img:nth-child(1) { left: 22px; top: 390px; width: 145px; }
  .postcross-layout__photos img:nth-child(2) { right: 24px; top: 430px; width: 124px; }
  .postcross-layout__photos img:nth-child(3) { display: none; }
  .postcross-layout__pin--one { left: 10px !important; top: 370px !important; width: 46px !important; }
  .postcross-layout__pin--two { right: 10px !important; top: 410px !important; width: 46px !important; }

  .archive-section--join { min-height: 520px; padding: 24px 0 57px; }
  .archive-join__pattern { top: 48px; width: 760px; }
  .archive-section--join .partner-card { width: 320px; max-width: calc(100% - 40px); min-height: 415px; padding: 58px 28px 40px; background-size: 100% 100%; }
  .archive-section--join .partner-card h2 { font-size: 26px; }
  .archive-section--join .partner-card p { font-size: 17px; }
  .archive-section--join .partner-card__stamp { top: 300px; left: 18px; width: 82px; }
}

/* Intro: official long brand pattern below the photo collage. */
.archive-intro__brand-pattern {
  position: relative;
  z-index: 2;
  display: block;
  width: 100vw;
  max-width: none;
  height: 360px;
  margin: -48px 0 0 50%;
  object-fit: cover;
  object-position: center bottom;
  opacity: .15;
  pointer-events: none;
  transform: translateX(-50%);
}

.archive-section--intro {
  z-index: auto;
  overflow: visible;
}

.archive-section--map > .container {
  position: relative;
  z-index: 3;
}

.archive-section--map > .container {
  position: relative;
  z-index: 3;
}

@media (max-width: 767px) {
  .archive-section--intro {
    min-height: 1385px;
  }

  .archive-intro__brand-pattern {
    width: 100vw;
    height: 260px;
    margin-top: -20px;
  }
}

/* Пунктирный маршрут: только оригинальные SVG и координаты последнего архива. */
.archive-section--map {
  position: relative;
  isolation: isolate;
}

.archive-section--map::before {
  position: absolute;
  z-index: 0;
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  content: '';
  pointer-events: none;
}

.archive-section--map > .container {
  position: relative;
  z-index: 1;
}

.archive-winter__pattern,
.archive-partner__line,
.archive-join__pattern {
  max-width: none;
}

@media (min-width: 1600px) {
  .archive-hero__route {
    top: 35.052vw;
    width: 105vw;
    height: auto;
  }

  .archive-winter__pattern {
    top: -3.646vw;
    width: 105.104vw;
    height: auto;
  }

  .archive-section--map::before {
    top: 41.667vw;
    left: 3.125vw;
    width: 93.75vw;
    aspect-ratio: 75 / 1;
    background-image: url('archive/home/routes/map-1920.svg');
  }

  .archive-partner__line {
    top: -5.313vw;
    left: 9.557vw;
    width: 65.677vw;
    height: auto;
    transform: none;
  }

  .archive-join__pattern {
    top: 6.042vw;
    width: 105.104vw;
    height: auto;
  }
}

@media (min-width: 1360px) and (max-width: 1599px) {
  .archive-hero__route {
    top: 48.824vw;
    width: 105vw;
    height: auto;
  }

  .archive-winter__pattern {
    top: 3.309vw;
    width: 105vw;
    height: auto;
  }

  .archive-section--map::before {
    top: 51.471vw;
    left: 50%;
    width: 91.103vw;
    aspect-ratio: 1239 / 25;
    background-image: url('archive/home/routes/map-1360.svg');
    transform: translateX(-50%);
  }

  .archive-partner__line {
    top: -7.426vw;
    left: 4.412vw;
    width: 75.735vw;
    height: auto;
    transform: none;
  }

  .archive-join__pattern {
    top: 5.294vw;
    width: 105.147vw;
    height: auto;
  }
}

@media (min-width: 1200px) and (max-width: 1359px) {
  .archive-hero__route {
    top: 61.083vw;
    width: 105.083vw;
    height: auto;
  }

  .archive-winter__pattern {
    top: 7.5vw;
    width: 105.083vw;
    height: auto;
  }

  .archive-section--map::before {
    top: 56vw;
    left: 50%;
    width: 90vw;
    aspect-ratio: 1080 / 23;
    background-image: url('archive/home/routes/map-1200.svg');
    transform: translateX(-50%);
  }

  .archive-partner__line {
    top: -8.083vw;
    left: 4.667vw;
    width: 86.167vw;
    height: auto;
    transform: none;
  }

  .archive-join__pattern {
    top: 7.25vw;
    width: 105.25vw;
    height: auto;
  }
}

@media (min-width: 960px) and (max-width: 1199px) {
  .archive-hero__route {
    display: block;
    top: 75vw;
    width: 148.75vw;
    height: auto;
  }

  .archive-winter__pattern {
    top: -6.25vw;
    width: 148.75vw;
    height: auto;
  }

  .archive-section--map::before {
    top: 31.979vw;
    left: 6.25vw;
    width: 2.292vw;
    aspect-ratio: 22 / 2221;
    background-image: url('archive/home/routes/map-960.svg');
  }

  .archive-partner__line {
    top: 1.667vw;
    left: 11.146vw;
    width: 61.771vw;
    height: auto;
    transform: none;
  }

  .archive-join__pattern {
    top: 9.063vw;
    width: 131.354vw;
    height: auto;
  }
}

@media (min-width: 640px) and (max-width: 959px) {
  .archive-hero__route {
    display: block;
    top: 114.219vw;
    left: -24.375vw;
    width: 148.75vw;
    height: auto;
    transform: none;
  }

  .archive-section--map::before {
    top: 61.25vw;
    left: 5.625vw;
    width: 3.438vw;
    aspect-ratio: 22 / 1450;
    background-image: url('archive/home/routes/map-640.svg');
  }

  .archive-partner__line {
    top: 2.5vw;
    left: -2.031vw;
    width: 82.031vw;
    height: auto;
    transform: none;
  }
}

@media (max-width: 639px) {
  .archive-hero__route {
    display: block;
    top: 190.556vw;
    width: 271.667vw;
    height: auto;
  }

  .archive-section--map::before {
    top: 74.167vw;
    left: 5.556vw;
    width: 3.889vw;
    aspect-ratio: 14 / 959;
    background-image: url('archive/home/routes/map-360.svg');
  }

  .archive-partner__line {
    top: 1.111vw;
    left: 1.944vw;
    width: 75vw;
    height: auto;
    transform: none;
  }
}

/* Маршрут остаётся самостоятельным слоем: плавная архивная дуга не скрывается фотографией. */
.archive-hero__route {
  z-index: 5;
}

.archive-hero__icon {
  z-index: 6;
}

@media (min-width: 960px) and (max-width: 1359px) {
  .archive-hero__route {
    top: 664px;
  }
}

/* Финальная блочная сверка: Figma 1920/360 + последняя версия веб-архива. */
.site-header {
  position: relative;
  border-bottom: 0;
}

.site-header::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: repeating-linear-gradient(90deg, rgba(61, 50, 138, .65) 0 10px, transparent 10px 24px);
  content: '';
  pointer-events: none;
}

.guide-button__icon {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
}

.button,
.guide-button,
.archive-winter__button,
.archive-partner .button,
.archive-section--postcross .button,
.archive-section--join .button {
  font-family: var(--font-display);
  font-weight: 500;
}

.archive-winter::after,
.archive-section--postcross::after,
.archive-section--join::before {
  position: absolute;
  z-index: 8;
  right: 0;
  left: 0;
  height: 95px;
  background: url('archive/home/latest/winter-transition.svg') center / 1944px 95px no-repeat;
  content: '';
  pointer-events: none;
}

.archive-section--join::before { display: none; }

.site-footer {
  position: relative;
  margin-top: 47px;
}

.site-footer::before {
  position: absolute;
  z-index: 2;
  top: -48px;
  left: 50%;
  width: 1944px;
  height: 95px;
  max-width: none;
  background: url('archive/home/latest/footer-transition.svg') center / 100% 100% no-repeat;
  content: '';
  pointer-events: none;
  transform: translateX(-50%);
}

.site-footer__rule {
  height: 1px;
  border: 0;
  background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .62) 0 9px, transparent 9px 23px);
}

.site-footer__logo {
  width: 140px;
  height: 66px;
}

@media (min-width: 1024px) {
  .archive-hero.container,
  .archive-hero__scene {
    height: 940px;
  }

  .archive-hero h1 { top: 92px; }
  .archive-hero > p { top: 242px; }
  .archive-actions { top: 377px; }

  .archive-hero__scene::after {
    top: 551px;
    height: 389px;
  }

  .archive-hero__route {
    z-index: 5;
    top: 486px !important;
  }

  .archive-hero__icon { z-index: 6; }
  .archive-hero__icon--mailbox { top: 380px; }
  .archive-hero__icon--map { top: 376px; }
  .archive-hero__icon--postcard { top: 376px; }
  .archive-hero__icon--traveler { top: 380px; }

  .archive-winter {
    min-height: 1034px;
    background: #fffff9;
  }

  .archive-winter__transition {
    top: -26px;
    height: 95px;
  }

  .archive-winter::after {
    bottom: -47px;
  }

  .archive-winter__button {
    top: 301px;
    bottom: auto;
    width: 259px;
    min-width: 259px;
    min-height: 63px;
    font-size: 18px;
  }

  .archive-winter__cards { height: 900px; }
  .archive-winter__cards > img { border-radius: 18px; }
  .archive-winter__cards > img:nth-of-type(1) { top: 364px; left: calc(50% - 620px); width: 397px; transform: rotate(3deg); }
  .archive-winter__cards > img:nth-of-type(2) { z-index: 3; top: 489px; left: 50%; width: 397px; transform: translateX(-50%) rotate(3deg); }
  .archive-winter__cards > img:nth-of-type(4) { top: 364px; right: calc(50% - 620px); width: 397px; transform: rotate(-3deg); }
  .archive-winter__center-back { position: absolute; z-index: 2; top: 505px; left: 50%; width: 397px; height: 397px; border-radius: 18px; background: #d8d2de; transform: translateX(-50%) rotate(3deg); }
  .archive-winter__cards > .archive-winter__pin { z-index: 5; top: 452px; left: calc(50% - 223px); width: 45px; border-radius: 0; transform: rotate(-2deg); }

  .archive-section--intro {
    height: 1390px;
    min-height: 1390px;
    background: #f6f1e8;
  }

  .archive-section--intro h2,
  .archive-section--map h2,
  .archive-section--send h2,
  .archive-partner h3,
  .archive-section--postcross h2,
  .archive-section--join h2 {
    font-family: var(--font-display);
    font-weight: 700;
  }

  .archive-section--intro .archive-collage { width: min(1100px, 100%); min-height: 898px; margin-top: 70px; }
  .archive-collage .archive-collage__photo,
  .archive-collage .archive-collage__frame,
  .archive-collage .archive-collage__pattern { position: absolute; height: auto; max-width: none; box-shadow: none; }
  .archive-collage .archive-collage__photo { z-index: 2; border-radius: 18px; }
  .archive-collage .archive-collage__frame { z-index: 3; border-radius: 0; }
  .archive-collage .archive-collage__pattern { z-index: 1; border-radius: 0; }
  .archive-collage .archive-collage__photo--history { top: 233px; left: 50%; width: 609px; max-width: none; transform: translateX(-50%); }
  .archive-collage .archive-collage__photo--creative { top: 122px; right: 0; width: 227px; transform: rotate(7deg); }
  .archive-collage .archive-collage__frame--upper { top: 105px; right: -16px; width: 259px; transform: rotate(7deg); }
  .archive-collage .archive-collage__photo--author { top: 577px; right: 0; left: auto; width: 276px; transform: none; }
  .archive-collage .archive-collage__frame--author { top: 563px; right: -16px; width: 308px; }
  .archive-collage .archive-collage__photo--left { top: 453px; left: 0; width: 227px; transform: rotate(-7deg); }
  .archive-collage .archive-collage__frame--left { top: 435px; left: -16px; width: 259px; transform: rotate(-7deg); }
  .archive-collage__postcard { top: 46px; left: 14%; width: 185px; }
  .archive-collage__stamp { top: 48px; right: 4%; left: auto; width: 160px; transform: none; }
  .archive-collage .archive-collage__pattern--left { top: 229px; left: 3%; width: 150px; }
  .archive-collage .archive-collage__pattern--bottom { top: 692px; left: 47%; width: 140px; }

  .archive-section--map {
    min-height: 1058px;
    padding: 150px 0 0;
    background-color: #f6f1e8;
  }

  .archive-section--map > .container { position: static; }
  .archive-section--map h2 { position: relative; z-index: 4; margin-bottom: 8px; font-size: 56px; line-height: 1.2; }
  .archive-section--map .archive-lead { position: relative; z-index: 4; font-size: 22px; line-height: 1.5; }
  .city-timeline { display: none; }
  .archive-section--map .place-grid { position: absolute; z-index: 2; inset: 0; width: 100%; max-width: none; min-height: 1058px; margin: 0; }
  .archive-section--map .place-grid__pattern,
  .archive-section--map .place-grid__photo,
  .archive-section--map .place-grid__icon,
  .archive-section--map .place-grid__connector { position: absolute; height: auto; max-width: none; margin: 0; }
  .archive-section--map .place-grid__pattern { z-index: 0; opacity: 1; }
  .archive-section--map .place-grid__pattern--one { top: 250px; left: 23%; width: 47.4%; }
  .archive-section--map .place-grid__pattern--two { top: 213px; left: -12%; width: 40.8%; }
  .archive-section--map .place-grid__pattern--three { top: 213px; right: -9%; left: auto; width: 46.7%; }
  .archive-section--map .place-grid > .place-grid__photo { z-index: 3; width: 21%; border-radius: 16px; box-shadow: 12px 12px 0 #d8d2de !important; transform: none; }
  .archive-section--map .place-grid > .place-grid__photo--essentuki { top: 433px !important; right: auto !important; left: 3.125% !important; }
  .archive-section--map .place-grid > .place-grid__photo--kislovodsk { top: 816px !important; right: auto !important; left: 26.875% !important; }
  .archive-section--map .place-grid > .place-grid__photo--pyatigorsk { top: 433px !important; right: auto !important; left: 50.625% !important; }
  .archive-section--map .place-grid > .place-grid__photo--zheleznovodsk { top: 816px !important; right: auto !important; left: 74.375% !important; }
  .archive-section--map .place-grid > .place-grid__icon { z-index: 2; top: 520px !important; width: 16.2%; }
  .archive-section--map .place-grid > .place-grid__icon--traveler { right: auto !important; left: 32.75% !important; }
  .archive-section--map .place-grid > .place-grid__icon--mailbox { right: auto !important; left: 80.25% !important; }
  .archive-section--map .place-grid__connector { z-index: 2; width: 2px; height: 55px; }
  .archive-section--map .place-grid__connector--one { top: 657px; left: 14.3%; }
  .archive-section--map .place-grid__connector--two { top: 746px; left: 38.05%; }
  .archive-section--map .place-grid__connector--three { top: 657px; left: 61.8%; }
  .archive-section--map .place-grid__connector--four { top: 746px; left: 85.55%; }

  .archive-section--send { min-height: 566px; padding: 0; overflow: visible; background: #f6f1e8; }
  .archive-section--send .send-layout { position: relative; display: block; width: 100%; max-width: none; height: 566px; }
  .archive-section--send .send-layout__copy { position: absolute; z-index: 3; top: 256px; left: 5%; width: 41.25%; text-align: left; }
  .archive-section--send .send-layout__copy h2 { margin: 0 0 72px; font-size: 36px; line-height: 1.2; }
  .archive-section--send .send-layout__copy p { margin: 0; font-size: 22px; line-height: 1.5; }
  .archive-section--send .send-layout__photos { position: absolute; inset: 0; min-height: 0; }
  .archive-section--send .send-layout__photos::before { top: 165px; left: 52.1%; width: 238px; height: 317px; }
  .archive-section--send .send-layout__photos > img { position: absolute; height: auto; max-width: none; border-radius: 18px; box-shadow: none; }
  .archive-section--send .send-layout__photos > img:nth-of-type(1) { top: 182px; left: 53.5%; width: 203px; transform: rotate(-7deg); }
  .archive-section--send .send-layout__photos > img:nth-of-type(2) { z-index: 3; top: 238px; right: 5.8%; bottom: auto; width: 329px; transform: rotate(3deg); }
  .archive-section--send .send-layout__photo-back { position: absolute; z-index: 2; top: 251px; right: 4.8%; width: 329px; height: 329px; border-radius: 18px; background: #d8d2de; transform: rotate(3deg); }
  .archive-section--send .send-layout__photos > img.send-layout__pin:last-child { z-index: 5; top: 194px !important; right: 3.5% !important; bottom: auto !important; left: auto !important; width: 53px !important; border-radius: 0; transform: none !important; }
  .archive-section--send .archive-send__stamp { top: 428px; left: 59.8%; width: 135px; transform: none; }

  .archive-partner { overflow: visible; }
  .archive-partner h3 { font-size: 36px; line-height: 1.2; }
  .archive-partner .button { width: 231px; min-height: 63px; font-size: 18px; }
  .archive-partner .partner-card__stamp { top: auto; right: 34px; bottom: 20px; left: auto; width: 127px; transform: none; }

  .archive-section--postcross::after { bottom: -47px; }
  .archive-section--postcross .postcross-layout { width: min(1200px, calc(100% - 40px)); height: 623px; }
  .postcross-layout__frame { top: 51px; left: 50%; width: 955px; height: 344px; transform: translateX(-50%); }
  .postcross-layout__copy { top: 113px; width: 659px; max-width: none; }
  .postcross-layout__copy h2 { font-size: 36px; line-height: 1.2; }
  .postcross-layout__copy p { font-size: 22px; line-height: 1.5; }
  .postcross-layout__copy .button { width: 195px; min-height: 63px; font-size: 18px; }
  .postcross-layout__stamp { position: absolute; z-index: 1; top: 118px; left: 14px; width: 244px; height: auto; }
  .postcross-layout__photos { position: absolute; z-index: 3; inset: 0; }
  .postcross-layout__photos img { max-width: none; box-shadow: none; }
  .postcross-layout__photos img:nth-child(1) { top: 309px; right: 91px; left: auto; width: 203px; transform: none; }
  .postcross-layout__photos img:nth-child(2) { top: 228px; right: 0; width: 163px; transform: none; }
  .postcross-layout__photos img:nth-child(3) { top: 307px; left: 24px; width: 205px; transform: none; }
  .postcross-layout__photos .postcross-layout__pin--one { top: 204px !important; right: -9px !important; left: auto !important; width: 63px; transform: none; }
  .postcross-layout__photos .postcross-layout__pin--two { top: 284px !important; right: auto !important; left: -26px !important; width: 63px; transform: none; }

  .archive-section--join { min-height: 693px; padding: 53px 0 107px; }
  .archive-section--join::before { top: -47px; }
  .archive-section--join .partner-card { width: 955px; min-height: 480px; padding: 135px 80px 50px; background-image: url('archive/home/latest/join-card-1200.svg'); }
  .archive-section--join .partner-card h2 { width: 726px; font-size: 36px; line-height: 1.2; }
  .archive-section--join .partner-card .button { width: 196px; min-height: 63px; font-size: 18px; }
  .archive-section--join .partner-card__stamp { top: auto; right: 38px; bottom: 20px; left: auto; width: 127px; transform: none; }
  .site-footer__inner { min-height: 370px; padding-top: 36px; }
}

@media (max-width: 1023px) {
  .archive-winter__center-back { position: absolute; z-index: 2; border-radius: 14px; background: #d8d2de; }
  .archive-winter__cards > .archive-winter__pin { position: absolute; z-index: 5; border-radius: 0; }
  .archive-collage .archive-collage__frame,
  .archive-collage .archive-collage__pattern,
  .archive-collage .archive-collage__photo { position: absolute; height: auto; box-shadow: none; }
  .archive-collage .archive-collage__frame { z-index: 3; border-radius: 0; }
  .archive-collage .archive-collage__pattern { z-index: 1; border-radius: 0; }
  .archive-section--map { background-color: #f6f1e8; }
  .city-timeline { display: none; }
  .archive-section--map .place-grid__connector { position: absolute; z-index: 2; width: 2px; height: 52px; }
  .archive-section--send h2,
  .archive-section--map h2,
  .archive-partner h3,
  .archive-section--postcross h2,
  .archive-section--join h2 { font-family: var(--font-display); }
  .archive-partner { overflow: visible; }
  .archive-partner .partner-card__stamp,
  .archive-section--join .partner-card__stamp { top: auto; right: 18px; bottom: 16px; left: auto; transform: none; }
  .postcross-layout__stamp { position: absolute; z-index: 1; width: 180px; height: auto; }
}

@media (max-width: 767px) {
  .site-footer { margin-top: 9px; }
  .site-footer::before { top: -9px; width: 368px; height: 18px; }
  .site-footer__logo { width: 120px; height: 57px; }
  .archive-winter__center-back { top: 14px; left: 50%; width: 62%; aspect-ratio: 1; transform: translateX(-47%) rotate(3deg); }
  .archive-winter__cards > .archive-winter__pin { top: -18px; left: 18%; width: 34px; }
  .archive-winter__cards > img:nth-of-type(4) { right: -30%; top: 62px; width: 69%; }
  .archive-section--intro { min-height: 1280px; }
  .archive-section--intro .archive-collage { min-height: 820px; }
  .archive-collage .archive-collage__photo--history { top: 180px; left: 50%; width: 92%; max-width: none; transform: translateX(-50%); }
  .archive-collage .archive-collage__photo--creative { top: 55px; right: -8%; width: 46%; transform: rotate(7deg); }
  .archive-collage .archive-collage__frame--upper { top: 43px; right: -12%; width: 53%; transform: rotate(7deg); }
  .archive-collage .archive-collage__photo--author { top: 570px; right: -6%; left: auto; width: 52%; transform: none; }
  .archive-collage .archive-collage__frame--author { top: 558px; right: -10%; width: 59%; }
  .archive-collage .archive-collage__photo--left { top: 500px; left: -7%; width: 47%; transform: rotate(-7deg); }
  .archive-collage .archive-collage__frame--left { top: 486px; left: -11%; width: 54%; transform: rotate(-7deg); }
  .archive-collage__postcard { top: 16px; left: 2%; width: 90px; }
  .archive-collage__stamp { top: 0; right: 1%; left: auto; width: 92px; }
  .archive-collage .archive-collage__pattern--left { top: 350px; left: -4%; width: 110px; }
  .archive-collage .archive-collage__pattern--bottom { top: 735px; left: 42%; width: 95px; }
  .archive-section--map { min-height: 1227px; padding-top: 48px; }
  .archive-section--map .place-grid { min-height: 1080px; margin-top: 28px; }
  .archive-section--map .place-grid__pattern--one { top: 150px; left: 0; width: 100%; }
  .archive-section--map .place-grid__pattern--two { top: -80px; left: 0; width: 100%; }
  .archive-section--map .place-grid__pattern--three { top: 510px; right: 0; left: auto; width: 100%; }
  .archive-section--map .place-grid > .place-grid__photo { right: auto !important; left: 10px !important; width: 300px !important; border-radius: 14px; transform: none !important; }
  .archive-section--map .place-grid > .place-grid__photo--essentuki { top: 160px !important; }
  .archive-section--map .place-grid > .place-grid__photo--kislovodsk { top: 409px !important; }
  .archive-section--map .place-grid > .place-grid__photo--pyatigorsk { top: 658px !important; }
  .archive-section--map .place-grid > .place-grid__photo--zheleznovodsk { top: 907px !important; }
  .archive-section--map .place-grid > .place-grid__icon--traveler { top: 345px !important; right: 8px !important; left: auto !important; width: 72px; }
  .archive-section--map .place-grid > .place-grid__icon--mailbox { top: 842px !important; right: 8px !important; left: auto !important; width: 72px; }
  .archive-section--map .place-grid__connector { display: none; }
  .archive-section--send .send-layout__photo-back { position: absolute; z-index: 1; right: 2%; bottom: 9px; width: 55%; aspect-ratio: 1; border-radius: 14px; background: #d8d2de; transform: rotate(3deg); }
  .archive-section--send .send-layout__photos > img.send-layout__pin:last-child { position: absolute; z-index: 5; top: 4px !important; right: 0 !important; bottom: auto !important; left: auto !important; width: 36px !important; border-radius: 0; transform: none !important; }
  .postcross-layout__stamp { top: 330px; left: 24px; width: 145px; }
}

/* Точечная сверка главной: геометрия блоков, не затрагивающая Посткроссинг. */
.archive-section--join {
  background-color: #fffff9;
}

@media (min-width: 1024px) {
  /* Между нижней кромкой кнопок и началом графики — около половины
     расстояния от хедера до заголовка. */
  .archive-hero.container,
  .archive-hero__scene {
    height: 980px;
  }

  .archive-hero__scene::after {
    top: 590px;
    height: 390px;
  }

  .archive-hero__route {
    top: 510px !important;
  }

  .archive-hero__icon--mailbox,
  .archive-hero__icon--traveler {
    top: 486px;
  }

  .archive-hero__icon--map,
  .archive-hero__icon--postcard {
    top: 482px;
  }

  /* Зимняя серия: боковые карточки смотрят к точкам дуги, центральная
     карточка и её подложка лежат почти параллельно. */
  .archive-winter {
    z-index: 2;
    overflow: visible;
  }

  .archive-winter::after {
    z-index: 20;
    bottom: -47px;
    display: block;
  }

  .archive-winter__cards > img:nth-of-type(1) {
    top: 358px;
    left: calc(50% - 608px);
    transform: rotate(-3deg);
  }

  .archive-winter__cards > img:nth-of-type(2) {
    top: 484px;
    transform: translateX(-50%) rotate(1.5deg);
  }

  .archive-winter__cards > img:nth-of-type(4) {
    top: 358px;
    right: calc(50% - 608px);
    transform: rotate(3deg);
  }

  .archive-winter__center-back {
    top: 497px;
    transform: translateX(-50%) rotate(1.5deg);
  }

  .archive-winter__cards > .archive-winter__pin {
    top: 458px;
    left: calc(50% - 210px);
    width: 38px;
    transform: rotate(-1deg);
  }

  /* Figma 113:3336, приведённая к рабочей ширине коллажа 1100 px. */
  .archive-section--intro {
    position: relative;
    z-index: 1;
  }

  .archive-section--intro .archive-collage {
    min-height: 760px;
    margin-top: 70px;
  }

  .archive-section--intro .archive-collage .archive-collage__photo--history {
    top: 130px;
    width: 611px;
  }

  .archive-section--intro .archive-collage .archive-collage__photo--creative {
    top: 13px;
    right: 13px;
    width: 256px;
  }

  .archive-collage .archive-collage__frame--upper {
    top: 0;
    right: 0;
    width: 280px;
  }

  .archive-section--intro .archive-collage .archive-collage__photo--left {
    top: 338px;
    left: 12px;
    width: 256px;
  }

  .archive-collage .archive-collage__frame--left {
    top: 326px;
    left: 0;
    width: 280px;
  }

  .archive-section--intro .archive-collage .archive-collage__photo--author {
    top: 468px;
    right: 11px;
    width: 268px;
  }

  .archive-collage .archive-collage__frame--author {
    top: 456px;
    right: 0;
    width: 290px;
  }

  .archive-collage__postcard {
    top: 16px;
    left: 9%;
    width: 150px;
  }

  .archive-collage__stamp {
    top: 32px;
    right: 28%;
    width: 145px;
  }

  .archive-collage .archive-collage__pattern--left {
    top: 245px;
    left: 1%;
  }

  .archive-collage .archive-collage__pattern--bottom {
    top: 695px;
    left: 46%;
  }

  /* Карта — только подложка визуальной части, ниже заголовка и лида. */
  .archive-section--map .place-grid__pattern--one {
    top: 390px;
  }

  .archive-section--map .place-grid__pattern--two,
  .archive-section--map .place-grid__pattern--three {
    top: 360px;
  }

  /* Figma 113:3425: более просторная секция и синхронный наклон
     фотографии с её пунктирной рамкой. */
  .archive-section--send {
    min-height: 760px;
  }

  .archive-section--send .send-layout {
    height: 760px;
  }

  .archive-section--send .send-layout__copy {
    top: 294px;
    left: 11%;
    width: 31%;
  }

  .archive-section--send .send-layout__copy h2 {
    margin-bottom: 16px;
  }

  .archive-section--send .send-layout__photos::before {
    top: 116px;
    left: 45.4%;
    width: 238px;
    height: 317px;
    transform: rotate(-7deg);
    transform-origin: 50% 50%;
  }

  .archive-section--send .send-layout__photos > img:nth-of-type(1) {
    top: 133px;
    left: 46.8%;
  }

  .archive-section--send .send-layout__photos > img:nth-of-type(2) {
    top: 183px;
    right: 5.8%;
    transform: none;
  }

  .archive-section--send .send-layout__photo-back {
    top: 196px;
    right: 4.8%;
    transform: none;
  }

  .archive-section--send .send-layout__photos > img.send-layout__pin:last-child {
    top: 129px !important;
  }

  .archive-section--send .archive-send__stamp {
    top: 391px;
    left: 55.8%;
  }

  .archive-section--join .partner-card {
    padding-top: 98px;
  }

  .archive-section--join .partner-card__stamp {
    bottom: 56px;
  }
}

/* Коллаж «Больше, чем просто открытки»: порядок слоёв Figma 113:3336/4434. */
.archive-collage__label {
  position: absolute;
  z-index: 6;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 260px;
  height: 144px;
  margin: 0;
  background: url('archive/home/latest/intro-label.svg') center / 100% 100% no-repeat;
  color: #252525;
  font: 700 24px/1.2 var(--font-display);
  text-align: center;
  pointer-events: none;
}

.archive-collage__label span {
  color: #3d328a;
}

@media (min-width: 1024px) {
  .archive-section--intro .archive-collage {
    width: min(1100px, 100%);
    height: 690px;
    min-height: 690px;
    overflow: visible;
  }

  .archive-collage__label--history {
    top: 0;
    left: 460px;
  }

  .archive-collage__label--author {
    top: 167px;
    left: -10px;
  }

  .archive-collage__label--creative {
    top: 590px;
    left: 460px;
  }

  .archive-section--intro .archive-collage .archive-collage__photo--history {
    top: 130px;
    left: 244px;
    width: 611px;
    transform: none;
  }

  .archive-collage .archive-collage__frame--upper {
    top: 0;
    right: 0;
    width: 280px;
    transform: rotate(7deg);
  }

  .archive-section--intro .archive-collage .archive-collage__photo--creative {
    top: 13px;
    right: 13px;
    width: 256px;
    transform: rotate(7deg);
  }

  .archive-collage .archive-collage__frame--left {
    top: 326px;
    left: 0;
    width: 280px;
    transform: rotate(-7deg);
  }

  .archive-section--intro .archive-collage .archive-collage__photo--left {
    top: 338px;
    left: 12px;
    width: 256px;
    transform: rotate(-7deg);
  }

  .archive-collage .archive-collage__frame--author {
    top: 456px;
    right: 0;
    width: 290px;
  }

  .archive-section--intro .archive-collage .archive-collage__photo--author {
    top: 468px;
    right: 11px;
    left: auto;
    width: 268px;
  }

  .archive-section--intro .archive-collage .archive-collage__postcard {
    z-index: 7;
    top: 0;
    left: 120px;
    width: 130px;
    transform: rotate(-25deg);
  }

  /* Архивные печать и паттерны остаются тихими фоновыми акцентами. */
  .archive-section--intro .archive-collage .archive-collage__stamp {
    z-index: 1;
    top: 20px;
    right: auto;
    left: 280px;
    width: 130px;
    opacity: .42;
  }

  .archive-section--intro .archive-collage .archive-collage__pattern--left {
    display: none;
  }

  .archive-section--intro .archive-collage .archive-collage__pattern--bottom {
    top: 650px;
    right: 10px;
    left: auto;
    width: 110px;
    opacity: .7;
  }
}

@media (max-width: 767px) {
  .archive-section--intro {
    min-height: 1238px;
  }

  .archive-section--intro .archive-collage {
    position: relative;
    left: 50%;
    width: 360px;
    max-width: none;
    height: 771px;
    min-height: 771px;
    margin-top: 24px;
    overflow: hidden;
    transform: translateX(-50%);
  }

  .archive-collage__label {
    width: 154px;
    height: 85px;
    font-size: 16px;
  }

  .archive-collage__label--history {
    top: 8px;
    left: 186px;
  }

  .archive-collage__label--author {
    top: 177px;
    left: 20px;
  }

  .archive-collage__label--creative {
    top: 615px;
    left: 186px;
  }

  .archive-section--intro .archive-collage .archive-collage__postcard {
    z-index: 7;
    display: block;
    top: 20px;
    left: 40px;
    width: 120px;
    transform: rotate(-25deg);
  }

  .archive-collage__stamp,
  .archive-collage .archive-collage__pattern {
    display: none;
  }

  .archive-section--intro .archive-collage .archive-collage__photo--history {
    z-index: 2;
    top: 326px;
    left: 20px;
    width: 320px;
    height: 227px;
    object-fit: cover;
    border-radius: 8px;
    transform: none;
  }

  .archive-collage .archive-collage__frame--upper {
    z-index: 4;
    top: 119px;
    right: 12px;
    width: 156px;
    transform: rotate(5deg);
  }

  .archive-section--intro .archive-collage .archive-collage__photo--creative {
    z-index: 3;
    top: 127px;
    right: 20px;
    width: 142px;
    transform: rotate(5deg);
  }

  .archive-collage .archive-collage__frame--left {
    z-index: 4;
    top: 546px;
    left: 12px;
    width: 156px;
    transform: rotate(-5deg);
  }

  .archive-section--intro .archive-collage .archive-collage__photo--left {
    z-index: 3;
    top: 554px;
    left: 20px;
    width: 142px;
    transform: rotate(-5deg);
  }

  .archive-collage .archive-collage__frame--author,
  .archive-section--intro .archive-collage .archive-collage__photo--author {
    display: none;
  }
}

/* Keep the official pattern in the normal flow below the finished collage. */
@media (min-width: 1024px) {
  .archive-section--intro {
    height: 1414px;
    min-height: 1414px;
  }

  .archive-section--map {
    padding-top: 90px;
  }

  .archive-section--map .place-grid__pattern--one {
    top: 630px;
  }

  .archive-section--map .place-grid__pattern--two,
  .archive-section--map .place-grid__pattern--three {
    top: 600px;
  }

  .archive-section--map::before,
  .archive-section--map .place-grid__photo,
  .archive-section--map .place-grid__icon,
  .archive-section--map .place-grid__connector {
    translate: 0 -70px;
  }

  .archive-section--send {
    height: 584px;
    min-height: 584px;
    top: 0;
    margin-bottom: -160px !important;
  }

  .archive-section--send .send-layout {
    height: 584px;
    top: -160px;
  }

  .archive-section--send .send-layout__copy {
    top: 256px;
    left: 5%;
    transform: none;
  }

  .archive-section--send .send-layout__photos::before {
    top: 165px;
    left: 52.1%;
    width: 238px;
    height: 317px;
  }

  .archive-section--send .send-layout__photos > img:nth-of-type(1) {
    top: 182px;
    left: 53.5%;
    width: 203px;
    transform: rotate(-7deg);
  }

  .archive-section--send .send-layout__photos > img:nth-of-type(2) {
    top: 238px;
    right: 5.8%;
    width: 329px;
    transform: rotate(3deg);
  }

  .archive-section--send .send-layout__photo-back {
    top: 251px;
    right: 4.8%;
    width: 329px;
    height: 329px;
    transform: rotate(3deg);
  }

  .archive-section--send .send-layout__photos > img.send-layout__pin:last-child {
    top: 194px !important;
    right: 3.5% !important;
    width: 53px !important;
    transform: none !important;
  }

  .archive-section--send .archive-send__stamp {
    top: 268px;
    left: 59.8%;
    width: 135px;
  }

  .archive-partner {
    min-height: 834px;
    padding: 254px 0 224px;
  }

  .archive-partner__line {
    translate: none;
  }

  .archive-partner .partner-card {
    width: 900px;
    min-height: 335px;
  }

  .archive-showcase {
    height: 3200px;
    min-height: 3200px;
  }
}

.archive-showcase img:nth-child(n) {
  width: min(700px, calc(100vw - 80px));
  height: auto;
}

.archive-showcase img:nth-child(5) {
  z-index: 5;
  margin-bottom: 130px;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .archive-showcase {
    height: 3000px;
    min-height: 3000px;
  }

  .archive-showcase img:nth-child(n) {
    width: min(700px, calc(100vw - 64px));
  }

}

@media (max-width: 767px) {
  .archive-section--intro {
    height: auto;
    min-height: 1385px;
  }

  .archive-showcase {
    height: 2640px;
    min-height: 2640px;
  }

  .archive-showcase img:nth-child(n) {
    width: min(420px, calc(100vw - 40px));
  }

}

.archive-showcase::after {
  position: absolute;
  z-index: 8;
  right: 0;
  bottom: -47px;
  left: 0;
  height: 95px;
  background: #f6f1e8;
  -webkit-mask: url('archive/home/latest/winter-transition.svg') center / 1944px 95px no-repeat;
  mask: url('archive/home/latest/winter-transition.svg') center / 1944px 95px no-repeat;
  content: '';
  pointer-events: none;
}

/* Посткроссинг и финальное приглашение образуют единый бежевый блок. */
.archive-section--postcross::after {
  display: none;
}

.archive-section--join {
  background-color: #f1ede4;
}

/* Единый бежевый фон двух финальных блоков без белых углов под карточкой. */
.archive-section--postcross,
.archive-section--join {
  background-color: #f6f1e8;
}

.archive-section--join .partner-card {
  background-color: transparent;
}

/* Нижняя лента футера: копирайт над белым фирменным паттерном. */
.site-footer__inner {
  min-height: 0;
  padding-bottom: 0;
}

.site-footer__rule {
  display: none;
}

.site-footer__copyright {
  margin: 0;
}

.site-footer__pattern {
  position: relative;
  display: block;
  flex: 0 0 auto;
  width: 100vw;
  height: 150px;
  max-width: none;
  margin-top: 24px;
  object-fit: cover;
  object-position: center 44%;
  opacity: .58;
  filter: brightness(0) invert(1);
}

@media (max-width: 767px) {
  .site-footer__inner {
    min-height: 0;
    padding-bottom: 0;
  }

  .site-footer__copyright {
    margin-top: 20px;
  }

  .site-footer__pattern {
    height: 96px;
    margin-top: 20px;
    object-position: center 44%;
  }
}

.archive-hero__scene::before {
  display: none;
}

/* Точные размеры и координаты Transition.svg из последней версии
   веб-архива (25.12.2025) и соответствующих адаптивов Figma. */
.archive-winter__transition {
  position: absolute;
  z-index: 3;
  top: -48px;
  left: 50%;
  display: block;
  width: 1944px;
  height: 95px;
  max-width: none;
  object-fit: fill;
  transform: translateX(-50%);
}

.archive-winter::before {
  display: none;
}

@media (min-width: 960px) and (max-width: 1199px) {
  .archive-winter__transition {
    top: -24px;
    width: 976px;
    height: 48px;
  }
}

@media (min-width: 640px) and (max-width: 959px) {
  .archive-winter__transition {
    top: -15px;
    width: 656px;
    height: 32px;
  }
}

@media (max-width: 639px) {
  .archive-winter__transition {
    top: -9px;
    width: 368px;
    height: 18px;
  }
}

/* Блок уже находится на странице при первом кадре; его фотографии тоже не
   участвуют в общей reveal-анимации главной. */
.has-motion .archive-winter__cards > img {
  opacity: 1;
  transition: none;
}

/* Зимняя серия: фотографии ближе к точкам маршрута, пин закреплён
   на левом верхнем углу центральной карточки. */
@media (min-width: 1024px) {
  .archive-winter {
    min-height: 1000px;
  }

  .archive-winter > .container {
    height: 1000px;
  }

  .archive-winter::after {
    bottom: -47px;
  }

  .archive-winter__cards > img:nth-of-type(1),
  .archive-winter__cards > img:nth-of-type(4) {
    top: 361px;
  }

  .archive-winter__cards > img:nth-of-type(2) {
    top: 477px;
  }

  .archive-winter__center-back {
    top: 490px;
  }

  .archive-winter__cards > .archive-winter__pin {
    top: 439px;
    left: calc(50% - 194px);
    transform: rotate(-12deg);
    transform-origin: 50% 100%;
  }
}

/* Паттерн свободно пересекает границу двух соседних секций. */
.archive-section--intro {
  z-index: auto;
  overflow: visible;
}

/* Карта должна сохранять собственные пропорции SVG. Общее ограничение
   высоты изображений в сетке сплющивало контуры и превращало их в линии. */
.archive-section--map .place-grid__pattern {
  height: auto;
  max-height: none;
  object-fit: contain;
}

@media (min-width: 1024px) {
  .archive-section--map .place-grid__pattern--one {
    top: 420px;
    left: 31.5%;
    width: 37%;
    transform: none;
  }

  .archive-section--map .place-grid__pattern--two {
    top: 420px;
    left: 6%;
    right: auto;
    width: 32%;
    transform: none;
  }

  .archive-section--map .place-grid__pattern--three {
    top: 420px;
    right: 6%;
    left: auto;
    width: 36%;
    transform: none;
  }
}

/* Общая координатная сетка для дуги и фотографий «Эльбруса». */
@media (min-width: 1024px) {
  .archive-winter {
    --winter-card-size: clamp(320px, 31vw, 397px);
    --winter-node-left: 18.5%;
    --winter-node-center: 50%;
    --winter-node-right: 81.5%;
  }

  .archive-winter__pattern {
    top: calc(439px - 28.1vw);
    left: 50%;
    width: 105vw;
    height: auto;
    transform: translateX(-50%);
  }

  .archive-winter__cards > img:nth-of-type(1),
  .archive-winter__cards > img:nth-of-type(4) {
    top: calc(471px - 8.6vw);
    width: var(--winter-card-size);
  }

  .archive-winter__cards > img:nth-of-type(1) {
    right: auto;
    left: var(--winter-node-left);
    transform: translateX(-50%) rotate(3deg);
  }

  .archive-winter__cards > img:nth-of-type(4) {
    right: auto;
    left: var(--winter-node-right);
    transform: translateX(-50%) rotate(-3deg);
  }

  .archive-winter__cards > img:nth-of-type(2) {
    top: 477px;
    left: var(--winter-node-center);
    width: var(--winter-card-size);
  }

  .archive-winter__center-back {
    top: 490px;
    left: var(--winter-node-center);
    width: var(--winter-card-size);
    height: var(--winter-card-size);
  }

  .archive-winter__cards > .archive-winter__pin {
    top: 439px;
    left: calc(var(--winter-node-center) - (var(--winter-card-size) * .5) + 4px);
  }
}

/* На десктопе маршрут карты, карточки, иконки и соединители используют
   координаты одних и тех же четырёх точек. */
@media (min-width: 1024px) {
  .archive-section--map {
    --map-node-1: 15.9%;
    --map-node-2: 38.7%;
    --map-node-3: 61.4%;
    --map-node-4: 84.3%;
  }

  .archive-section--map::before {
    top: 717px;
    left: 50%;
    width: 90%;
    aspect-ratio: 75 / 1;
    background-image: url('archive/home/latest/city-route.svg');
    transform: translateX(-50%);
  }

  .archive-section--map .place-grid > .place-grid__photo {
    width: clamp(220px, 21vw, 403px);
    transform: translateX(-50%);
  }

  .archive-section--map .place-grid > .place-grid__photo--essentuki {
    left: var(--map-node-1) !important;
  }

  .archive-section--map .place-grid > .place-grid__photo--kislovodsk {
    left: var(--map-node-2) !important;
  }

  .archive-section--map .place-grid > .place-grid__photo--pyatigorsk {
    left: var(--map-node-3) !important;
  }

  .archive-section--map .place-grid > .place-grid__photo--zheleznovodsk {
    left: var(--map-node-4) !important;
  }

  .archive-section--map .place-grid > .place-grid__icon--traveler {
    left: var(--map-node-2) !important;
  }

  .archive-section--map .place-grid > .place-grid__icon--mailbox {
    left: var(--map-node-4) !important;
  }

  .archive-section--map .place-grid > .place-grid__icon--traveler,
  .archive-section--map .place-grid > .place-grid__icon--mailbox {
    top: 682px !important;
    width: clamp(140px, 16.2vw, 210px);
    transform: translate(-50%, -100%);
  }

  .archive-section--map .place-grid__connector--one,
  .archive-section--map .place-grid__connector--three {
    top: calc(457px + 14.9vw);
    height: max(22px, calc(260px - 14.9vw));
  }

  .archive-section--map .place-grid__connector--one {
    left: var(--map-node-1);
  }

  .archive-section--map .place-grid__connector--three {
    left: var(--map-node-3);
  }

  .archive-section--map .place-grid__connector--two,
  .archive-section--map .place-grid__connector--four {
    top: 717px;
    height: 75px;
  }

  .archive-section--map .place-grid__connector--two {
    left: var(--map-node-2);
  }

  .archive-section--map .place-grid__connector--four {
    left: var(--map-node-4);
  }
}

/* Планшет: та же дуга и те же три узла, но с компактными карточками. */
@media (min-width: 768px) and (max-width: 1023px) {
  .archive-winter {
    --winter-card-size: clamp(220px, 34vw, 264px);
    --winter-node-left: 18.5%;
    --winter-node-center: 50%;
    --winter-node-right: 81.5%;
  }

  .archive-winter__pattern {
    top: calc(340px - 28.1vw);
    left: 50%;
    width: 105vw;
    height: auto;
    transform: translateX(-50%);
  }

  .archive-winter__cards > img:nth-of-type(1),
  .archive-winter__cards > img:nth-of-type(4) {
    top: calc(371px - 8.6vw);
    width: var(--winter-card-size);
  }

  .archive-winter__cards > img:nth-of-type(1) {
    right: auto;
    left: var(--winter-node-left);
    transform: translateX(-50%) rotate(3deg);
  }

  .archive-winter__cards > img:nth-of-type(4) {
    right: auto;
    left: var(--winter-node-right);
    transform: translateX(-50%) rotate(-3deg);
  }

  .archive-winter__cards > img:nth-of-type(2) {
    z-index: 3;
    top: 378px;
    left: var(--winter-node-center);
    width: var(--winter-card-size);
    transform: translateX(-50%) rotate(3deg);
  }

  .archive-winter__center-back {
    top: 390px;
    left: var(--winter-node-center);
    width: var(--winter-card-size);
    height: var(--winter-card-size);
    transform: translateX(-50%) rotate(3deg);
  }

  .archive-winter__cards > .archive-winter__pin {
    top: 340px;
    left: calc(50% - 128px);
    transform: rotate(-12deg);
  }

  .archive-section--map {
    --tablet-card-width: clamp(220px, 32vw, 280px);
    min-height: 1220px;
  }

  .archive-section--map > .container {
    position: static;
  }

  .archive-section--map::before {
    top: 330px;
    left: 50px;
    width: 12px;
    aspect-ratio: 22 / 1450;
    background-image: url('archive/home/routes/map-640.svg');
    transform: none;
  }

  .archive-section--map .place-grid {
    position: absolute;
    inset: 0;
    width: 100%;
    min-height: 1220px;
    margin: 0;
  }

  .archive-section--map .place-grid > .place-grid__photo {
    right: auto !important;
    left: 90px !important;
    width: var(--tablet-card-width);
    transform: translateY(-50%) !important;
  }

  .archive-section--map .place-grid > .place-grid__photo--essentuki { top: 414px !important; }
  .archive-section--map .place-grid > .place-grid__photo--kislovodsk { top: 618px !important; }
  .archive-section--map .place-grid > .place-grid__photo--pyatigorsk { top: 823px !important; }
  .archive-section--map .place-grid > .place-grid__photo--zheleznovodsk { top: 1027px !important; }

  .archive-section--map .place-grid > .place-grid__icon--traveler,
  .archive-section--map .place-grid > .place-grid__icon--mailbox {
    right: auto !important;
    left: calc(90px + var(--tablet-card-width) + 48px) !important;
    width: 86px;
    transform: translateY(-50%);
  }

  .archive-section--map .place-grid > .place-grid__icon--traveler { top: 618px !important; }
  .archive-section--map .place-grid > .place-grid__icon--mailbox { top: 1027px !important; }

  .archive-section--map .place-grid__connector {
    display: block;
    left: 50px;
    width: 2px;
    height: 40px;
    transform: rotate(-90deg);
    transform-origin: top left;
  }

  .archive-section--map .place-grid__connector--one { top: 414px; }
  .archive-section--map .place-grid__connector--two { top: 618px; }
  .archive-section--map .place-grid__connector--three { top: 823px; }
  .archive-section--map .place-grid__connector--four { top: 1027px; }

  .archive-section--map .place-grid__pattern--one { top: 330px; left: 12%; width: 50%; }
  .archive-section--map .place-grid__pattern--two { top: 570px; right: 2%; left: auto; width: 44%; }
  .archive-section--map .place-grid__pattern--three { top: 790px; left: 18%; width: 52%; }
}

/* Мобильный: вертикальные маршруты с карточками, центрированными по точкам. */
@media (max-width: 767px) {
  .archive-winter {
    --mobile-winter-card: min(300px, calc(100vw - 75px));
    min-height: 1252px;
  }

  .archive-winter__pattern {
    top: 230px;
    left: 20px;
    width: 24px;
    height: 780px;
    transform: none;
  }

  .archive-winter__cards > img:nth-of-type(1),
  .archive-winter__cards > img:nth-of-type(2),
  .archive-winter__cards > img:nth-of-type(4) {
    right: auto;
    left: 55px;
    width: var(--mobile-winter-card);
  }

  .archive-winter__cards > img:nth-of-type(1) {
    top: 330px;
    transform: translateY(-50%) rotate(3deg);
  }

  .archive-winter__cards > img:nth-of-type(2) {
    z-index: 3;
    top: 620px;
    transform: translateY(-50%) rotate(3deg);
  }

  .archive-winter__cards > img:nth-of-type(4) {
    top: 910px;
    transform: translateY(-50%) rotate(-3deg);
  }

  .archive-winter__center-back {
    top: 620px;
    left: 55px;
    width: var(--mobile-winter-card);
    height: var(--mobile-winter-card);
    transform: translateY(-50%) rotate(3deg);
  }

  .archive-winter__cards > .archive-winter__pin {
    top: calc(470px - 7.2vw);
    left: 59px;
    transform: rotate(-12deg);
  }

  .archive-winter__button {
    top: 1080px;
  }

  .archive-section--map {
    --mobile-map-card: min(300px, calc(100vw - 75px));
    min-height: 1300px;
  }

  .archive-section--map > .container {
    position: static;
  }

  .archive-section--map::before {
    top: 300px;
    left: 20px;
    width: 14px;
    aspect-ratio: 14 / 959;
    background-image: url('archive/home/routes/map-360.svg');
    transform: none;
  }

  .archive-section--map .place-grid {
    position: absolute;
    inset: 0;
    width: 100%;
    min-height: 1300px;
    margin: 0;
  }

  .archive-section--map .place-grid > .place-grid__photo {
    right: auto !important;
    left: 55px !important;
    width: var(--mobile-map-card) !important;
    transform: translateY(-50%) !important;
  }

  .archive-section--map .place-grid > .place-grid__photo--essentuki { top: 400px !important; }
  .archive-section--map .place-grid > .place-grid__photo--kislovodsk { top: 649px !important; }
  .archive-section--map .place-grid > .place-grid__photo--pyatigorsk { top: 898px !important; }
  .archive-section--map .place-grid > .place-grid__photo--zheleznovodsk { top: 1147px !important; }

  .archive-section--map .place-grid > .place-grid__icon--traveler,
  .archive-section--map .place-grid > .place-grid__icon--mailbox {
    right: auto !important;
    left: calc(55px + var(--mobile-map-card) - 24px) !important;
    width: 58px;
    transform: translate(-50%, -50%);
  }

  .archive-section--map .place-grid > .place-grid__icon--traveler { top: 568px !important; }
  .archive-section--map .place-grid > .place-grid__icon--mailbox { top: 1066px !important; }

  .archive-section--map .place-grid__connector {
    display: block;
    left: 20px;
    width: 2px;
    height: 35px;
    transform: rotate(-90deg);
    transform-origin: top left;
  }

  .archive-section--map .place-grid__connector--one { top: 400px; }
  .archive-section--map .place-grid__connector--two { top: 649px; }
  .archive-section--map .place-grid__connector--three { top: 898px; }
  .archive-section--map .place-grid__connector--four { top: 1147px; }

  .archive-section--map .place-grid__pattern--one { top: 300px; left: 8%; width: 85%; }
  .archive-section--map .place-grid__pattern--two { top: 560px; right: -8%; left: auto; width: 82%; }
  .archive-section--map .place-grid__pattern--three { top: 850px; left: 4%; width: 90%; }
}

/* Мобильная страховка: секции не создают скрытый горизонтальный холст,
   а текстовые и интерактивные элементы всегда помещаются в 320px. */
@media (max-width: 767px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
  }

  .archive-home > section,
  .archive-hero,
  .archive-winter,
  .archive-partner,
  .archive-showcase,
  .site-footer {
    width: 100%;
    max-width: 100vw;
    overflow-x: clip;
  }

  .archive-hero h1,
  .archive-hero > p {
    width: calc(100% - 40px);
    max-width: 320px;
    overflow-wrap: break-word;
  }

  .archive-actions {
    right: 20px;
    left: 20px;
    width: auto;
    transform: none;
  }

  .archive-actions .button {
    width: 100%;
    min-width: 0;
  }

  .archive-winter__transition {
    right: 0;
    left: 0;
    width: 100%;
    transform: none;
  }

  .archive-winter {
    --mobile-winter-card: min(300px, calc(100vw - 90px));
  }

  .archive-winter h2 {
    right: 0;
    left: 0;
    width: 100%;
    font-size: 32px;
    line-height: 1.12;
  }

  .archive-winter > .container > p {
    top: 178px;
    right: 0;
    left: 0;
    width: 100%;
  }

  .archive-winter__pattern {
    top: 250px;
  }

  .archive-winter__cards > img:nth-of-type(1),
  .archive-winter__cards > img:nth-of-type(2),
  .archive-winter__cards > img:nth-of-type(4),
  .archive-winter__center-back {
    left: 35px;
  }

  .archive-winter__cards > img:nth-of-type(1) {
    top: 370px;
  }

  .archive-winter__cards > img:nth-of-type(2),
  .archive-winter__center-back {
    top: 650px;
  }

  .archive-winter__cards > img:nth-of-type(4) {
    top: 930px;
  }

  .archive-winter__cards > .archive-winter__pin {
    top: calc(500px - 7.2vw);
    left: 39px;
  }

  .archive-winter__button {
    right: auto;
    left: 50%;
    width: min(320px, calc(100vw - 40px));
    transform: translateX(-50%);
  }

  .archive-section--send .send-layout__photos > img:nth-of-type(1) {
    top: 30px;
    left: 0;
    width: 55%;
    transform: rotate(-4deg);
  }

  .archive-section--send .send-layout__photos > img:nth-of-type(2) {
    z-index: 3;
    top: 88px;
    right: 0;
    bottom: auto;
    left: auto;
    width: 55%;
    transform: rotate(4deg);
  }

  .archive-section--send .send-layout__photo-back {
    top: 98px;
    right: 0;
    bottom: auto;
    width: 55%;
    transform: rotate(4deg);
  }

  .archive-section--send .send-layout__photos > img.send-layout__pin:last-child {
    top: 60px !important;
    right: 0 !important;
    transform: rotate(8deg) !important;
  }

  .archive-section--intro > .container,
  .archive-section--map > .container,
  .archive-section--join > .container {
    width: 100%;
    max-width: 100%;
  }

  .archive-section--intro .archive-collage {
    left: 0;
    width: 100%;
    max-width: 100%;
    transform: none;
  }

  .archive-section--intro .archive-collage .archive-collage__photo--history {
    left: 50%;
    width: min(320px, 100%);
    height: auto;
    transform: translateX(-50%);
  }

  .archive-section--map .place-grid__pattern--two {
    right: 0;
    width: 80%;
  }

  .archive-section h2,
  .archive-section .archive-lead,
  .partner-card h2,
  .partner-card h3,
  .partner-card p,
  .postcross-layout__copy {
    max-width: 100%;
    overflow-wrap: break-word;
  }

  .archive-partner .partner-card,
  .archive-section--postcross .postcross-layout,
  .archive-section--join .partner-card {
    box-sizing: border-box;
    max-width: calc(100vw - 40px);
    margin-right: auto;
    margin-left: auto;
  }
}
