/* Главная страница в композиции утверждённого референса. */
.home-page { background: #fff; }
.home-page .paper-section::after { display: none; }
.home-page .edge-paper { filter: brightness(0) invert(1) !important; }
.home-page .site-header { position: absolute; inset: 0 0 auto; z-index: 60; color: #f8f4eb; }
.home-page .header-inner { height: 78px; }
.home-page .main-nav { gap: clamp(12px, 1.7vw, 25px); }
.home-page .header-cta { background: rgba(30, 51, 36, .9); }

.home-page .hero {
  min-height: clamp(560px, 55vw, 760px) !important;
  background-position: center 48% !important;
}
.home-page .hero-shade {
  background: linear-gradient(90deg, rgba(5, 13, 10, .69) 0%, rgba(5, 13, 10, .36) 41%, rgba(5, 13, 10, .04) 82%),
    linear-gradient(180deg, rgba(8, 17, 14, .26) 0%, transparent 38%, rgba(6, 13, 10, .42) 100%) !important;
}
.home-page .hero-content {
  --home-copy-left: clamp(70px, 12vw, 150px);
  min-height: clamp(560px, 55vw, 760px) !important;
  padding: clamp(128px, 13vw, 182px) 0 114px var(--home-copy-left) !important;
  align-items: flex-start;
}
.home-page .hero-copy { width: min(78%, 790px) !important; padding: 0 !important; }
.home-page .chapter-line { left: calc(-1 * var(--home-copy-left) + 18px); top: 130px; height: 178px; }
.home-page .hero-title { line-height: .76 !important; letter-spacing: -.055em !important; }
.home-page .hero-title > span:first-child { font-size: clamp(60px, 8vw, 108px) !important; }
.home-page .hero-title .hero-rest-line {
  display: block !important;
  min-height: clamp(108px, 13vw, 170px) !important;
  margin-top: -4px !important;
}
.home-page .hero-title .hero-rest-line strong {
  margin-left: clamp(104px, 9.6vw, 146px) !important;
  font-size: clamp(102px, 14vw, 184px) !important;
  font-weight: 500 !important;
  line-height: .8 !important;
}
.home-page .hero-title-tree {
  left: 0 !important;
  bottom: 34px !important;
  width: clamp(110px, 10vw, 150px) !important;
  max-height: 130px !important;
  opacity: .91;
}
.home-page .hero-kicker {
  margin: 3px 0 18px 0 !important;
  font-size: clamp(10px, 1.1vw, 14px) !important;
  line-height: 1.5 !important;
  letter-spacing: .28em !important;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .5);
}
.home-page .hero-symbols { margin-left: 0 !important; gap: clamp(16px, 2.8vw, 36px) !important; }
.home-page .hero-symbols a { font-size: 8px; text-shadow: 0 1px 6px rgba(0, 0, 0, .5); }
.home-page .hero-symbols svg { width: 34px; height: 24px; }
.home-page .trip-search {
  left: var(--home-copy-left) !important;
  right: clamp(30px, 20vw, 260px) !important;
  bottom: clamp(48px, 5vw, 72px) !important;
  min-height: 54px !important;
  padding: 5px !important;
  border-radius: 13px !important;
  background: #f7f4eb !important;
  box-shadow: 0 13px 32px rgba(0, 0, 0, .24) !important;
}
.home-page .trip-search .search-field { padding-inline: 12px; }
.home-page .trip-search .search-field small { display: none; }
.home-page .trip-search .search-submit { background: #283f2b; }

.home-page .formats { padding: 40px 0 44px !important; background: #fff; }
.home-page .formats-heading { grid-template-columns: 1.1fr .78fr; gap: 30px; align-items: center; }
.home-page .formats-heading h2 { font-size: clamp(54px, 6vw, 82px) !important; line-height: .82 !important; }
.home-page .section-intro { max-width: 340px; justify-self: end; }
.home-page .section-intro p { margin-bottom: 20px; font-size: 12px; line-height: 1.5; }
.home-page .sketch-divider { top: 32px !important; left: 49% !important; width: 280px !important; opacity: .65 !important; pointer-events: none; }
.home-page .sketch-divider img { display: block; width: 100%; height: auto; }
.home-page .format-grid { margin-top: 25px !important; grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 7px !important; }
.home-page .format-card {
  min-height: 222px !important;
  border-radius: 7px !important;
  background-image: linear-gradient(180deg, rgba(4, 10, 8, .02) 21%, rgba(4, 13, 10, .92) 100%), var(--card-image) !important;
  background-position: center center !important;
}
.home-page .format-card-copy { left: 12px; right: 10px; bottom: 15px; }
.home-page .format-card h3 { font-size: clamp(19px, 2.1vw, 26px); line-height: .88; text-transform: uppercase; }
.home-page .format-card p { max-width: 90%; font-size: 10px; line-height: 1.35; }
.home-page .format-card .circle-arrow { width: 25px; height: 25px; right: 9px; bottom: 9px; }
.home-page .formats::before,
.home-page .tours::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: -92px;
  top: 110px;
  width: clamp(190px, 22vw, 285px);
  height: clamp(160px, 20vw, 240px);
  background: url('assets/images/home-spruce-branch-v89.png') left top / contain no-repeat;
  opacity: .82;
  pointer-events: none;
}
.home-page .branch { display: none; }

.home-page .map-section {
  min-height: 360px !important;
  background-color: #12251d !important;
  background-image: none !important;
}
.home-page .formats > .edge-map { display: none !important; }
.home-page .map-background {
  position: absolute;
  z-index: 0;
  top: calc(-1 * var(--site-edge-height));
  right: 0;
  bottom: 0;
  left: 0;
  background-image: var(--map-image);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  pointer-events: none;
}
.home-page .map-torn-white {
  position: absolute;
  z-index: 5;
  left: -1px;
  right: -1px;
  top: calc(-1 * var(--site-edge-height));
  width: calc(100% + 2px);
  height: var(--site-edge-height);
  background: url('assets/images/edge-paper-v61.png') center / 100% 100% no-repeat;
  filter: brightness(0) invert(1);
  transform: scaleY(-1);
  pointer-events: none;
}
.home-page .map-overlay {
  top: calc(-1 * var(--site-edge-height));
  z-index: 1 !important;
}
.home-page .map-overlay {
  background: linear-gradient(90deg, rgba(6, 20, 15, .88) 0%, rgba(7, 22, 16, .52) 37%, rgba(7, 21, 16, .16) 70%, rgba(7, 20, 15, .35) 100%) !important;
}
.home-page .map-layout { min-height: 360px !important; grid-template-columns: .72fr 1.28fr; gap: 15px; }
.home-page .map-copy { padding: 0 0 8px 0; }
.home-page .map-copy h2 { font-size: clamp(56px, 6.4vw, 83px) !important; line-height: .79 !important; }
.home-page .map-copy > p:not(.eyebrow) { max-width: 320px; font-size: 12px; line-height: 1.55; }
.home-page .map-copy .button { margin-top: 8px; background: rgba(41, 63, 43, .77); }
.home-page .map-board { min-height: 320px; }
.home-page .map-routes { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .63; pointer-events: none; }
.home-page .map-routes path { fill: none; stroke: rgba(245, 240, 227, .8); stroke-width: 1.2; stroke-dasharray: 4 7; }
.home-page .map-pin { z-index: 2; padding: 3px 10px 3px 3px; border-radius: 22px; font-size: 9px; }
.home-page .pin-photo { width: 39px; }
.home-page .pin-ural { left: 31%; top: 23%; }
.home-page .pin-karelia { left: 5%; top: 36%; }
.home-page .pin-altai { left: 22%; top: 60%; }
.home-page .pin-baikal { left: 55%; top: 56%; }
.home-page .pin-caucasus { left: 58%; top: 38%; }
.home-page .pin-kamchatka { right: 2%; top: 16%; }
.home-page .pin-turkey { left: 3%; top: 76%; }
.home-page .compass { right: 0; bottom: 1%; width: 64px; height: 64px; font-size: 33px; }

.home-page .tours { padding: 43px 0 58px !important; background: #fff; }
.home-page .tours::before { top: 92px; opacity: .72; }
.home-page .tours-topline { grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: end; }
.home-page .tours-topline h2 { font-size: clamp(44px, 5.4vw, 70px) !important; line-height: .86 !important; }
.home-page .tours-note p { display: none; }
.home-page .tours-note .text-link { margin-bottom: 5px; }
.home-page .tours .tour-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 10px !important; margin-top: 20px; }
.home-page .tours .tour-card { border-radius: 8px; background: #f8f5ee; }
.home-page .tours .tour-photo { height: 142px; }
.home-page .tours .tour-body { padding: 10px 12px 12px; }
.home-page .tours .tour-body h3 { font-size: 15px; }
.home-page .tours .tour-meta strong { font-size: 17px; }
.home-page .season-tabs { margin: 23px 0 0; }
.home-page .tour-discover-card { display: flex; flex-direction: column; min-height: 240px; }
.home-page .tour-discover-card .tour-photo { background-image: linear-gradient(180deg, transparent 25%, rgba(6, 17, 12, .28)), url('assets/images/hero.jpg'); background-position: center; }
.home-page .tour-discover-card .tour-body { display: flex; flex: 1; align-items: center; justify-content: space-between; gap: 10px; }
.home-page .tour-discover-card .tour-body h3 { margin: 0; }
.home-page .tour-discover-card .discover-arrow { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #283f2b; color: #fff; }
.home-page .reviews { background: #fff; }

/* Финальный призыв и панорама составляют цельный компактный подвал. */
.home-page .about-strip {
  min-height: 0 !important;
  padding: 0 0 42px !important;
  background: #102019 !important;
}
.home-page .about-strip-inner {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-items: start !important;
  gap: 18px !important;
  padding: clamp(46px, 5vw, 68px) 0 0 !important;
}
.home-page .about-strip h2 { max-width: 800px; font-size: clamp(46px, 6vw, 76px); line-height: .84; }
.home-page .about-strip p { max-width: 640px; font-size: 14px; line-height: 1.55; }
.home-page .about-strip .button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 56px;
  margin-top: 4px;
}
.home-page .panorama-footer {
  min-height: 450px !important;
  padding: clamp(68px, 8vw, 110px) 0 22px !important;
  background: #102019 !important;
}
.home-page .panorama-footer .footer-panorama {
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 52% !important;
}
.home-page .panorama-footer .footer-panorama-shade {
  background: linear-gradient(180deg, rgba(6, 20, 15, .23), rgba(6, 20, 15, .6) 35%, rgba(6, 20, 15, .9) 78%, #102019 100%) !important;
}
.home-page .panorama-footer .footer-main {
  grid-template-columns: 1fr !important;
  gap: 22px !important;
  padding: 0 0 24px !important;
  border-top: 0 !important;
}
.home-page .panorama-footer .footer-brand {
  grid-column: 1 !important;
  justify-self: center;
  margin-bottom: 16px;
}
.home-page .panorama-footer .footer-nav {
  grid-column: 1 !important;
  justify-self: center;
  width: min(630px, 100%);
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px 42px !important;
  font-size: 14px !important;
}
.home-page .panorama-footer .footer-socials {
  grid-column: 1 !important;
  justify-content: center;
  gap: 15px 28px;
  padding-top: 22px !important;
  font-size: 12px !important;
}
.home-page .panorama-footer .footer-bottom {
  border-top: 1px solid rgba(245, 240, 227, .2);
  color: rgba(245, 240, 227, .76);
}


@media (max-width: 900px) {
  .home-page .hero-content { --home-copy-left: 58px; padding-top: 145px !important; }
  .home-page .hero-title > span:first-child { font-size: clamp(64px, 8vw, 82px) !important; }
  .home-page .hero-title .hero-rest-line strong { margin-left: clamp(98px, 12vw, 122px) !important; font-size: clamp(110px, 15vw, 145px) !important; }
    .home-page .trip-search { right: 28px !important; }
  .home-page .format-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .home-page .format-card { min-height: 240px !important; }
  .home-page .map-layout { grid-template-columns: .8fr 1.2fr; }
  .home-page .tours .tour-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 620px) {
  .home-page .hero { min-height: 560px !important; background-position: 62% center !important; }
  .home-page .hero-content { --home-copy-left: 6px; min-height: 560px !important; padding: 100px 6px 148px !important; }
  .home-page .hero-copy { width: 100% !important; }
  .home-page .chapter-line { display: none; }
  .home-page .hero-title > span:first-child { font-size: clamp(48px, 11vw, 68px) !important; }
  .home-page .hero-title .hero-rest-line { min-height: 90px !important; margin-top: 4px !important; }
  .home-page .hero-title .hero-rest-line strong { margin-left: 77px !important; font-size: clamp(72px, 18vw, 107px) !important; }
  .home-page .hero-title-tree { width: 82px !important; max-height: 82px !important; bottom: 28px !important; }
  .home-page .hero-kicker { margin: 6px 0 18px !important; font-size: 9px !important; letter-spacing: .16em !important; }
  .home-page .hero-symbols { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px !important; }
  .home-page .hero-symbols svg { width: 29px; height: 22px; }
  .home-page .hero-symbols a { font-size: 6px; text-align: center; }
    .home-page .trip-search { left: 0 !important; right: 0 !important; bottom: 44px !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0 !important; padding: 5px !important; }
  .home-page .trip-search .search-field { min-height: 42px; padding: 7px; }
  .home-page .trip-search .search-field:nth-child(3) { grid-column: 1 / -1; }
  .home-page .trip-search .search-submit { grid-column: 1 / -1; min-height: 44px; }
  .home-page .formats { padding: 42px 0 46px !important; }
  .home-page .formats-heading { grid-template-columns: 1fr; gap: 18px; }
  .home-page .formats-heading h2 { font-size: clamp(53px, 13vw, 70px) !important; }
  .home-page .section-intro { max-width: 100%; justify-self: start; }
  .home-page .section-intro p { margin-bottom: 10px; }
  .home-page .sketch-divider { display: none; }
  .home-page .format-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; margin-top: 20px !important; }
  .home-page .format-card { min-height: 225px !important; }
  .home-page .format-card h3 { font-size: 21px; }
  .home-page .map-section, .home-page .map-layout { min-height: 0 !important; }
  .home-page .map-layout { grid-template-columns: 1fr; padding-top: 53px; padding-bottom: 30px; }
  .home-page .map-copy h2 { font-size: 62px !important; }
  .home-page .map-board { min-height: 285px; }
  .home-page .map-pin { font-size: 8px; }
  .home-page .pin-photo { width: 31px; }
  .home-page .pin-caucasus { display: none; }
  .home-page .tours { padding: 42px 0 50px !important; }
  .home-page .tours-topline { grid-template-columns: 1fr; }
  .home-page .tours-topline h2 { font-size: 52px !important; }
  .home-page .tours .tour-grid { grid-template-columns: 1fr !important; }
  .home-page .tours .tour-photo { height: 210px; }
  .home-page .about-strip { padding-bottom: 32px !important; }
  .home-page .about-strip-inner { padding-top: 42px !important; gap: 16px !important; }
  .home-page .about-strip h2 { font-size: clamp(44px, 12vw, 62px); }
  .home-page .panorama-footer { padding-top: 60px !important; min-height: 460px !important; }
  .home-page .panorama-footer .footer-brand { margin-bottom: 10px; }
  .home-page .panorama-footer .footer-nav { gap: 13px 16px !important; font-size: 12px !important; }
  .home-page .formats::before, .home-page .tours::before { left: -54px; width: 142px; height: 120px; opacity: .65; }
  .home-page .formats::before { top: 96px; }
  .home-page .tours::before { top: 86px; }
}
