/* =========================================================
   OBJECT PAGE — pixel-perfect to Figma 1920
   (Villa Paradise / Paraiso Alto — single object detail page)
   ========================================================= */

.big_block_home--object {
  background: #FFFFFF;
  height: auto;
  min-height: 0;
}
.big_block_home--object > .container {
  padding: 0;
  height: auto;
}
/* Mega-menu logo override (logo1.svg is already dark) */
.big_block_home--object header .mega-menu .logo img { filter: none; }

/* ----- Vertical rails — Figma Lines 64 (x=1824) & 100 (x=96)
   Rails sit ABOVE header so they remain visible at the very top of the page
   AND visually break the header's horizontal divider at the intersection
   (Figma: vertical line crosses over horizontal). They're 1.6px so they don't
   visibly affect text/images they pass through. Only painted over the
   header+hero+main area (NOT the footer). ----- */
.big_block_home--object,
.obj_main { position: relative; }
.big_block_home--object::before,
.big_block_home--object::after,
.obj_main::before,
.obj_main::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1.6px;
  background: #E1E1E1;
  z-index: 200;
  pointer-events: none;
}
.big_block_home--object::before,
.obj_main::before { left: 96px; }
.big_block_home--object::after,
.obj_main::after  { right: 96px; }

/* Hide rails when mega-menu overlay is open */
body:has(.mega-menu.active) .big_block_home--object::before,
body:has(.mega-menu.active) .big_block_home--object::after,
body:has(.mega-menu.active) .obj_main::before,
body:has(.mega-menu.active) .obj_main::after,
body:has(.mega-menu.active) .obj_loc::before,
body:has(.mega-menu.active) .obj_loc::after,
body:has(.mega-menu.active) .obj_gallery::before,
body:has(.mega-menu.active) .obj_gallery::after,
body:has(.mega-menu.active) .obj_details::before,
body:has(.mega-menu.active) .obj_details::after,
body:has(.mega-menu.active) .obj_progress::before,
body:has(.mega-menu.active) .obj_progress::after,
body:has(.mega-menu.active) .obj_visit::before,
body:has(.mega-menu.active) .obj_visit::after,
body:has(.mega-menu.active) .obj_similar::before,
body:has(.mega-menu.active) .obj_similar::after {
  display: none;
}

/* ----- HERO: breadcrumbs + title + subtitle (Figma: title at y=304, top divider at y=565) ----- */
.obj_hero {
  padding: 85px 96px 93px;
  text-align: center;
  background: #FFFFFF;
  /* Break out of .container's 96px side padding so the bottom divider spans the full
     viewport (Figma Line 126 at x=3..1923) instead of stopping at the rails. */
  margin-left: -96px;
  margin-right: -96px;
  border-bottom: 1.6px solid #E1E1E1;
  position: relative;
}
.obj_hero__breadcrumbs {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  color: #C4C4C4;
  margin-bottom: 32px;
}
.obj_hero__breadcrumbs a,
.obj_hero__breadcrumbs span {
  color: #C4C4C4;
  text-decoration: none;
  transition: color .2s;
}
.obj_hero__breadcrumbs a:hover { color: #010101; }
.obj_hero__sep { display: inline-block; }

.obj_hero__title {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 80px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #010101;
  text-transform: uppercase;
  margin: 0 auto 32px;
  max-width: 1482px;
}
.obj_hero__subtitle {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 44px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #010101;
  margin: 0 auto;
  max-width: 1482px;
}

/* ----- MAIN: 2 rows with internal divider, full-bleed with side rails (1.6px borders at x=96 and x=1824) ----- */
.obj_main {
  width: 100%;
  background: #FFFFFF;
  border-bottom: 1.6px solid #E1E1E1;
}
.obj_main__inner {
  position: relative;
  max-width: 1920px;
  margin: 0 auto;
  padding: 0 96px;
  box-sizing: border-box;
}
.obj_row {
  display: grid;
  align-items: start;
}
.obj_row--top {
  /* concept text (494) | big photo (1100) — Figma proportions */
  grid-template-columns: 36% 64%;
  height: 766px;
}
.obj_row--bottom {
  /* photo1 (546) | photo2 (555) | location text (494) */
  grid-template-columns: 32% 32% 36%;
  column-gap: 32px;
  min-height: 825px;
  align-items: start;
}
.obj_divider {
  height: 1.6px;
  background: #E1E1E1;
  margin: 0;
}

/* Row 3: full-width feature photo under bottom row (Figma 1920_Object 1728×803). */
.obj_row--wide {
  display: block;
  width: 100%;
  margin-top: 32px;
}
.obj_row--wide img,
.obj_row--wide video {
  width: 100%;
  height: 803px;
  object-fit: cover;
  display: block;
}

/* Text columns — Figma: concept/location at x=128, body width 494 */
.obj_col--text {
  padding: 46px 32px 0 32px;
}
.obj_block__title {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 44px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #010101;
  margin: 0 0 25px;
}
.obj_block__text {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  color: #3C3C3B;
  margin: 0;
  max-width: 494px;
}

/* Big hero photo (top-right) */
.obj_col--photo {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.obj_col--photo img,
.obj_col--photo video,
.obj_col__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Bottom row — 2 photos side by side */
.obj_col--photos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 32px;
  grid-column: span 2;
}
.obj_col--photos img {
  width: 100%;
  height: 794px;
  object-fit: cover;
  display: block;
}

/* For .obj_row--bottom: 2 photo cells (546+555) + 1 text cell (494)
   Override grid: photos in 2 separate columns, text in 3rd */
.obj_row--bottom > .obj_col--photos { grid-column: 1 / 3; padding-top: 32px; }
.obj_row--bottom > .obj_col--text {
  grid-column: 3 / 4;
  /* Figma: title at y=384 from row top → place location block lower (per design) */
  padding: 384px 32px 0 50px;
}

/* =========================================================
   NEIGHBORHOOD BLOCK — title + map (1730×1011) with photo overlay (818×915)
   Figma: title "Объект расположен..." 1658×176; map at x=96, y=3412
   ========================================================= */
.obj_loc {
  background: #FFFFFF;
  padding: 96px 96px 96px;
  position: relative;
}
/* Rails extend through this section */
.obj_loc::before,
.obj_loc::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1.6px;
  background: #E1E1E1;
  z-index: 200;
  pointer-events: none;
}
.obj_loc::before { left: 96px; }
.obj_loc::after  { right: 96px; }
.obj_loc__head {
  text-align: center;
  margin-bottom: 56px;
}
.obj_loc__title {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 80px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #010101;
  text-transform: uppercase;
  margin: 0 auto;
  max-width: 1658px;
}
.obj_loc__body {
  display: flex;
  justify-content: center;
}
/* Map: 1730×1011 (Figma) — full content width inside container */
.obj_loc__map {
  position: relative;
  width: 100%;
  max-width: 1730px;
  height: 1011px;
  background: #EAEAEA;
  overflow: hidden;
}
.obj_loc__map-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
/* Marker pin + label (Figma: 62px ring + 54px inner #41545C circle + white "X") */
.obj_loc__marker {
  position: absolute;
  top: 36%;
  left: 8%;
  display: flex;
  align-items: center;
  gap: 19px;
  z-index: 4;
  pointer-events: none;
}
.obj_loc__pin {
  width: 62px;
  height: 62px;
  border: 1.6px solid #41545C;
  border-radius: 50%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: transparent;
}
.obj_loc__pin::before {
  content: "";
  position: absolute;
  top: 4px; left: 4px; right: 4px; bottom: 4px;
  background: #41545C;
  border-radius: 50%;
  border: 1.92px dashed #41545C;
}
.obj_loc__pin svg { position: relative; z-index: 2; }
.obj_loc__addr {
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: 25px;
  line-height: 120%;
  color: #41545C;
  background: #FFFFFF;
  padding: 6px 12px;
  white-space: nowrap;
  pointer-events: auto;
}

/* Photo overlay on right: 818×915, 48px from map top/right/bottom (Figma) */
.obj_loc__overlay {
  position: absolute;
  top: 48px;
  right: 48px;
  width: 818px;
  height: 915px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.obj_loc__overlay-top {
  position: absolute;
  top: 32px;
  left: 32px;
  right: 32px;
  z-index: 2;
}
.obj_loc__progress {
  position: relative;
  width: 100%;
  height: 1.6px;
  background: rgba(255, 255, 255, 0.4);
  margin-bottom: 30px;
}
.obj_loc__progress-bar {
  position: absolute;
  left: 0; top: 0; bottom: 0;
  background: #FFFFFF;
}
.obj_loc__caption {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
}
.obj_loc__caption-text {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 32px;
  line-height: 120%;
  color: #FFFFFF;
}
.obj_loc__caption-num {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 44px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #FFFFFF;
}
.obj_loc__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* =========================================================
   GALLERY — row1 (573+1126) + row2 (1728), each 803h. Figma 1728×1638
   ========================================================= */
.obj_gallery {
  background: #FFFFFF;
  padding: 0 96px 96px;
  position: relative;
}
.obj_gallery__row {
  display: grid;
  margin-bottom: 32px;
}
.obj_gallery__row:last-child { margin-bottom: 0; }
.obj_gallery__row--top {
  /* Figma: 573 + 28.8 + 1126 = 1727.8 */
  grid-template-columns: 573fr 1126fr;
  column-gap: 28.8px;
}
.obj_gallery__row--bottom {
  grid-template-columns: 1fr;
}
.obj_gallery__img {
  width: 100%;
  height: 803px;
  object-fit: cover;
  display: block;
}
/* Rails — same as other sections so they continue through gallery */
.obj_gallery::before,
.obj_gallery::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1.6px;
  background: #E1E1E1;
  z-index: 200;
  pointer-events: none;
}
.obj_gallery::before { left: 96px; }
.obj_gallery::after  { right: 96px; }

/* =========================================================
   DETAILS — 3×3 spec grid (Figma 1730×822)
   ========================================================= */
.obj_details {
  background: #FFFFFF;
  padding: 96px 96px 96px;
  position: relative;
}
.obj_details::before,
.obj_details::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1.6px;
  background: #E1E1E1;
  z-index: 200;
  pointer-events: none;
}
.obj_details::before { left: 96px; }
.obj_details::after  { right: 96px; }

.obj_details__head {
  text-align: center;
  padding-bottom: 80px;
  border-bottom: 1.6px solid #E1E1E1;
  margin-bottom: 0;
}
.obj_details__title {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 80px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #010101;
  text-transform: uppercase;
  margin: 0;
}
.obj_details__grid {
  display: grid;
  /* Figma columns: 572 | 587 | 571 (sums to 1730) */
  grid-template-columns: 572fr 587fr 571fr;
  border-bottom: 1.6px solid #E1E1E1;
}
.obj_details__cell {
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 17px;
  min-height: 218px;
  border-right: 1.6px solid #E1E1E1;
  border-bottom: 1.6px solid #E1E1E1;
  position: relative;
  box-sizing: border-box;
}
/* Remove rightmost column's right-border so it joins the page rails cleanly */
.obj_details__cell:nth-child(3n) { border-right: 0; }
/* Remove bottom row's bottom-border (parent grid has its own bottom border) */
.obj_details__cell:nth-last-child(-n+3) { border-bottom: 0; }
.obj_details__label {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  color: rgba(1, 1, 1, 0.5);
}
.obj_details__value {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 32px;
  line-height: 120%;
  color: #010101;
  text-transform: uppercase;
}
/* "+" expand button — Figma: 37×37 ring, vertical+horizontal lines, color #C4C4C4 */
.obj_details__expand {
  position: absolute;
  bottom: 16px;
  right: 16px;
  width: 37px;
  height: 37px;
  border: 1.6px solid #C4C4C4;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  padding: 0;
  transition: border-color .2s, background .2s;
}
.obj_details__expand::before,
.obj_details__expand::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: #C4C4C4;
  transition: background .2s;
}
.obj_details__expand::before {
  width: 18px;
  height: 1.6px;
  transform: translate(-50%, -50%);
}
.obj_details__expand::after {
  width: 1.6px;
  height: 18px;
  transform: translate(-50%, -50%);
}
.obj_details__expand:hover {
  border-color: #010101;
}
.obj_details__expand:hover::before,
.obj_details__expand:hover::after {
  background: #010101;
}

/* =========================================================
   PROGRESS — "Строительные работы" / "Завершенные работы" (Figma 1920×1584)
   Each row: label on left, big photo on right, divider between rows.
   ========================================================= */
.obj_progress {
  background: #FFFFFF;
  position: relative;
  padding: 0 96px;
  border-top: 1.6px solid #E1E1E1;
}
.obj_progress::before,
.obj_progress::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1.6px;
  background: #E1E1E1;
  z-index: 200;
  pointer-events: none;
}
.obj_progress::before { left: 96px; }
.obj_progress::after  { right: 96px; }

.obj_progress__row {
  display: grid;
  /* Figma: label area 573 + photo 1155 = 1728 (full content width) */
  grid-template-columns: 573fr 1155fr;
  align-items: start;
  padding-top: 48px;
  padding-bottom: 0;
  border-bottom: 1.6px solid #E1E1E1;
}
.obj_progress__row:last-child { border-bottom: 0; }

.obj_progress__label {
  padding: 0 32px 0 32px; /* 32 from rail (which sits at section edge after 96 padding) */
}
.obj_progress__heading {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 44px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #010101;
  margin: 0;
  max-width: 443px;
}
.obj_progress__photo {
  width: 100%;
}
.obj_progress__photo img {
  width: 100%;
  height: 766px;
  object-fit: cover;
  display: block;
}

/* =========================================================
   VISIT CTA — mountain bg + 1349×942 white card (Figma 1920×1342)
   ========================================================= */
.obj_visit {
  position: relative;
  width: 100%;
  min-height: 1342px;
  background-color: #2A2A2A;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 200px 96px;
  box-sizing: border-box;
  overflow: hidden;
}
/* BG image as separate layer ABOVE rails — hides them where opaque photo covers */
.obj_visit__bg {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 250;
  pointer-events: none;
}
/* Rails extend through this section */
.obj_visit::before,
.obj_visit::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1.6px;
  background: #E1E1E1;
  z-index: 200;
  pointer-events: none;
}
.obj_visit::before { left: 96px; }
.obj_visit::after  { right: 96px; }

.obj_visit__card {
  position: relative;
  z-index: 300;
  width: 100%;
  max-width: 1349px;
  min-height: 942px;
  background: #FAFAFA;
  padding: 131px 48px 101px;
  text-align: center;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.obj_visit__title {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 80px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #010101;
  text-transform: uppercase;
  margin: 0 0 32px;
  max-width: 1261px;
}
.obj_visit__sub {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 44px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #010101;
  margin: 0 auto;
  max-width: 920px;
}
.obj_visit__btn {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 700px;
  height: 80px;
  background: transparent;
  color: #232323;
  border: 1.6px solid #232323;
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 25px;
  line-height: 150%;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .25s, color .25s;
}
.obj_visit__btn:hover { background: #010101; color: #FFFFFF; border-color: #010101; }
.obj_visit__micro {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  color: #3C3C3B;
  margin: 24px auto 0;
  max-width: 700px;
}

/* =========================================================
   SIMILAR PROJECTS — title + 3 project cards (Figma 1920×997)
   ========================================================= */
.obj_similar {
  background: #FFFFFF;
  position: relative;
  padding: 96px 0 0;
  border-bottom: 1.6px solid #E1E1E1;
  margin-bottom: 96px;
}
.obj_similar::before,
.obj_similar::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1.6px;
  background: #E1E1E1;
  z-index: 200;
  pointer-events: none;
}
.obj_similar::before { left: 96px; }
.obj_similar::after  { right: 96px; }

.obj_similar__head {
  text-align: center;
  padding: 0 96px;
  margin-bottom: 80px;
}
.obj_similar__title {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 80px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #010101;
  text-transform: uppercase;
  margin: 0 auto;
  max-width: 1642px;
}
.obj_similar__grid {
  display: grid;
  /* Figma columns: 668 | 587 | 665 (sums to 1920) */
  grid-template-columns: 668fr 587fr 665fr;
}
.obj_similar__cell {
  position: relative;
  padding-top: 45px;
  padding-bottom: 16px;
  border-right: 1.6px solid #E1E1E1;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
}
.obj_similar__cell:last-child { border-right: 0; }
/* Padding for inner content — Figma offsets per column */
.obj_similar__cell:nth-child(1) { padding-left: 96px; padding-right: 17px; }
.obj_similar__cell:nth-child(2) { padding-left: 15px; padding-right: 17px; }
.obj_similar__cell:nth-child(3) { padding-left: 17px; padding-right: 93px; }

.obj_similar__name {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 44px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #010101;
  margin: 0 0 35px;
  /* Reserve space for up to 2 lines so all photos align */
  min-height: 96px;
}
.obj_similar__photo-wrap {
  position: relative;
  width: 555px;
  height: 560px;
  overflow: hidden;
}
.obj_similar__photo {
  width: 555px;
  height: 560px;
  object-fit: cover;
  display: block;
  transition: transform .6s ease;
  will-change: transform;
}
.obj_similar__cell:hover .obj_similar__photo {
  transform: scale(1.06);
}
.obj_similar__link {
  position: absolute;
  bottom: 16px;
  right: 32px;
  width: 37px;
  height: 37px;
  border-radius: 50%;
  border: 1.6px solid #FFFFFF;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.05);
  transition: background .2s, border-color .2s;
}
.obj_similar__cell:hover .obj_similar__link {
  background: rgba(255, 255, 255, 0.2);
  border-color: #FFFFFF;
}

/* =========================================================
   ADAPTIVE — tablet ≤1200
   ========================================================= */
/* Pixel-perfect to Figma 1200_Object Investment (1200x8650).
   Content area 1080 (60px side padding). Hero title 50px Felidae uppercase,
   subtitle 28px Felidae. Section titles 50px, block titles 28px Felidae,
   body 16px Inter (309 wide). Details labels 16px Inter, values 20px Inter ls 2%.
   Concept row: text 33% / image 67% (722×479). Bottom row: 2 photos (~341+347, gap 22) + Местоположение (309 wide).
   Map 1081×632, overlay 511×572. Gallery rows 502 height (358:704 + 1080).
   Details 3×3 grid cells 137 tall, padding 20. Progress photos 722×479.
   Visit card 843×589 padding 80×28. Similar photos 347×350. */
@media (max-width: 1200px) {
  /* Vertical rails — Figma at x=60 and x=1140 (60px from sides) */
  .big_block_home--object::before,
  .obj_main::before,
  .obj_loc::before,
  .obj_gallery::before,
  .obj_details::before,
  .obj_progress::before,
  .obj_visit::before,
  .obj_similar::before { left: 60px; }
  .big_block_home--object::after,
  .obj_main::after,
  .obj_loc::after,
  .obj_gallery::after,
  .obj_details::after,
  .obj_progress::after,
  .obj_visit::after,
  .obj_similar::after  { right: 60px; }

  /* Hero: 48 60 60 padding, breadcrumbs 16px, title 50px (max 926), sub 28px (max 926) */
  .obj_hero { padding: 48px 60px 60px; margin-left: -60px; margin-right: -60px; }
  .obj_hero__title { font-size: 50px; line-height: 110%; letter-spacing: 0.02em; max-width: 926px; margin-bottom: 20px; }
  .obj_hero__subtitle { font-size: 28px; line-height: 110%; letter-spacing: 0.02em; max-width: 926px; }
  .obj_hero__breadcrumbs { font-size: 16px; gap: 6px; margin-bottom: 25px; }

  /* Main 60px padding, content 1080 */
  .obj_main__inner { padding: 0 60px; }

  /* Concept row: text col 33%, image 67% — image 722×479 */
  .obj_row--top { grid-template-columns: 33% 67%; height: auto; min-height: 480px; }
  .obj_col--text { padding: 30px 16px 0 20px; }
  .obj_col--photo { min-height: 479px; }
  .obj_col--photo img,
  .obj_col--photo video { height: 479px; min-height: 479px; }

  /* Row 3: full-width photo, ~502 tall on 1200 (proportional to bottom row 496) */
  .obj_row--wide { margin-top: 22px; }
  .obj_row--wide img,
  .obj_row--wide video { height: 502px; }

  /* Bottom row: 2 photos (each ~340) + Местоположение (309) */
  .obj_row--bottom {
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 0;
    min-height: 496px;
  }
  .obj_col--photos { column-gap: 22px; }
  .obj_col--photos img { height: 496px; }
  .obj_row--bottom > .obj_col--photos { padding-top: 0; }
  .obj_row--bottom > .obj_col--text { padding: 220px 16px 0 30px; }

  /* Block titles 28px / body 16px, body max 309 to match figma wrapping */
  .obj_block__title { font-size: 28px; line-height: 110%; letter-spacing: 0.02em; margin: 0 0 20px; }
  .obj_block__text { font-size: 16px; line-height: 130%; max-width: 309px; }

  /* Location section: title 50px max 1036, map 1081×632, overlay 511×572 */
  .obj_loc { padding: 64px 60px; }
  .obj_loc__title { font-size: 50px; line-height: 110%; letter-spacing: 0.02em; max-width: 1036px; }
  .obj_loc__head { margin-bottom: 50px; }
  .obj_loc__map { max-width: 1081px; height: 632px; }
  .obj_loc__overlay { width: 511px; height: 572px; right: 30px; top: 30px; }
  .obj_loc__overlay-top { top: 35px; left: 30px; right: 30px; }
  .obj_loc__caption-text { font-size: 20px; }
  .obj_loc__caption-num { font-size: 28px; }
  .obj_loc__pin { width: 39px; height: 39px; }
  .obj_loc__pin::before { top: 2.5px; left: 2.5px; right: 2.5px; bottom: 2.5px; }
  .obj_loc__addr { font-size: 16px; padding: 5px 10px; }
  .obj_loc__marker { gap: 10px; top: 50%; left: 11%; }

  /* Gallery: figma 1078×1024 = 502 + gap + 502, top row 358:704 */
  .obj_gallery { padding: 0 60px 60px; }
  .obj_gallery__row { margin-bottom: 20px; }
  .obj_gallery__row--top { grid-template-columns: 358fr 704fr; column-gap: 16px; }
  .obj_gallery__img { height: 502px; }

  /* Details: 1081×514, title 50px (~55h), grid 3×3 cells 137 tall */
  .obj_details { padding: 64px 60px; }
  .obj_details__title { font-size: 50px; line-height: 110%; letter-spacing: 0.02em; max-width: 1081px; }
  .obj_details__head { padding-bottom: 50px; margin-bottom: 0; }
  .obj_details__grid { grid-template-columns: 1fr 1fr 1fr; }
  .obj_details__cell { min-height: 137px; padding: 20px; gap: 9px; }
  .obj_details__label { font-size: 16px; line-height: 130%; }
  .obj_details__value { font-size: 20px; line-height: 110%; letter-spacing: 0.02em; }
  .obj_details__expand { width: 23px; height: 23px; bottom: 12px; right: 12px; }
  .obj_details__expand::before { width: 11px; }
  .obj_details__expand::after  { height: 11px; }

  /* Progress: 1200×990, label 277 + photo 722×479. Heading 28px */
  .obj_progress { padding: 0 60px; }
  .obj_progress__row { grid-template-columns: 33% 67%; padding-top: 30px; padding-bottom: 30px; }
  .obj_progress__label { padding: 0 32px 0 20px; }
  .obj_progress__heading { font-size: 28px; line-height: 110%; max-width: 277px; }
  .obj_progress__photo img { height: 479px; }

  /* Visit CTA: section 1200×849, white card 843×589 */
  .obj_visit { padding: 130px 60px; min-height: 849px; }
  .obj_visit__card {
    max-width: 843px;
    min-height: 589px;
    padding: 80px 28px;
  }
  .obj_visit__title { font-size: 50px; line-height: 110%; letter-spacing: 0.02em; max-width: 788px; margin: 0 0 20px; }
  .obj_visit__sub { font-size: 28px; line-height: 110%; letter-spacing: 0.02em; max-width: 575px; }
  .obj_visit__btn { font-size: 16px; height: 50px; line-height: 150%; letter-spacing: 0.05em; max-width: 437px; }
  .obj_visit__micro { font-size: 16px; line-height: 130%; max-width: 433px; margin-top: 20px; }

  /* Similar: 1200×623, photos 347×350. Names 28px, 3 cards */
  .obj_similar { padding: 64px 0 0; }
  .obj_similar__head { padding: 0 60px; margin-bottom: 50px; }
  .obj_similar__title { font-size: 50px; line-height: 110%; letter-spacing: 0.02em; max-width: 1026px; }
  .obj_similar__name { font-size: 28px; line-height: 110%; letter-spacing: 0.02em; min-height: 62px; margin-bottom: 30px; }
  .obj_similar__cell { padding-top: 28px; }
  .obj_similar__cell:nth-child(1) { padding-left: 60px; padding-right: 11px; }
  .obj_similar__cell:nth-child(2) { padding-left: 0; padding-right: 0; }
  .obj_similar__cell:nth-child(3) { padding-left: 0; padding-right: 60px; }
  .obj_similar__photo-wrap { width: 347px; max-width: 100%; height: 350px; }
  .obj_similar__photo { width: 100%; max-width: 347px; height: 350px; }
}

/* =========================================================
   ADAPTIVE — tablet ≤768
   ========================================================= */
/* Pixel-perfect to Figma 768_Object Investment (768x5526).
   Content padding 40px (688 content). Hero title 35px Felidae (max 679),
   subtitle 19.2px Felidae (max 514), breadcrumbs 12px Inter.
   Concept row: text 210 (12px Inter, 10 lines) | photo 454×281.
   Bottom row: 2 photos (227+221, 10 gap) | text 218 (10 lines).
   Wide photo 689×281. "Объект расположен" 35px (max 693).
   Map 689×403, overlay 324×366. Gallery rows 321 height (235:444 + 689).
   Details 3×3 grid cells ~74h, label 14px (#a6a6a6), value 14px ls 2%.
   Progress photos 453×307, label 20px (181 wide).
   Visit card 534×373, title 35px (max 499), sub 20px (max 459), btn 325×30 (10px Felidae).
   Similar photos 225/211×201, names 20px. */
@media (max-width: 768px) {
  /* Hide secondary navigation (Проекты/Каталог/О нас/Контакты + burger) — Figma 768 has only top header */
  .big_block_home--object header .about_block .bottom_header { display: none !important; }

  /* Vertical rails at x=40 / x=728 */
  .big_block_home--object::before,
  .obj_main::before,
  .obj_loc::before,
  .obj_gallery::before,
  .obj_details::before,
  .obj_progress::before,
  .obj_visit::before,
  .obj_similar::before { left: 40px; }
  .big_block_home--object::after,
  .obj_main::after,
  .obj_loc::after,
  .obj_gallery::after,
  .obj_details::after,
  .obj_progress::after,
  .obj_visit::after,
  .obj_similar::after  { right: 40px; }

  /* Hero — centered, breadcrumbs 12px, title 35px (1 line), subtitle 19.2px (1 line) */
  .obj_hero { padding: 32px 40px 40px; margin-left: -40px; margin-right: -40px; }
  .obj_hero__breadcrumbs { font-size: 12px; gap: 6px; margin-bottom: 16px; }
  .obj_hero__title { font-size: 35px; line-height: 110%; letter-spacing: 0.02em; max-width: 679px; margin-bottom: 16px; }
  .obj_hero__subtitle { font-size: 19.2px; line-height: 110%; letter-spacing: 0.02em; max-width: 514px; }

  /* Main: padding 40px, content 688 */
  .obj_main__inner { padding: 0 40px; border: 0; }

  /* Concept row: text 210 (31%) | photo 454 (66%) */
  .obj_row--top {
    grid-template-columns: 31% 66%;
    column-gap: 21px;
    height: auto;
    min-height: 281px;
  }
  .obj_col--text { padding: 22px 0 0 0; }
  .obj_col--photo { min-height: 281px; }
  .obj_col--photo img,
  .obj_col--photo video { height: 281px; min-height: 281px; }

  /* Row 3: full-width photo, ~321 tall on 768 (proportional to bottom row 311) */
  .obj_row--wide { margin-top: 14px; }
  .obj_row--wide img,
  .obj_row--wide video { height: 321px; }

  /* Bottom row: 2 photos (227+221, 10 gap) | Местоположение text 218 */
  .obj_row--bottom {
    grid-template-columns: 458fr 218fr;
    column-gap: 14px;
    min-height: 311px;
    gap: 0;
  }
  .obj_col--photos {
    grid-template-columns: 1fr 1fr;
    column-gap: 10px;
  }
  .obj_col--photos img { height: 311px; }
  .obj_row--bottom > .obj_col--photos { padding-top: 0; grid-column: 1 / 2; }
  .obj_row--bottom > .obj_col--text { padding: 87px 0 0 0; grid-column: 2 / 3; }

  /* Block titles 20px Felidae / body 12px Inter, body max 218 */
  .obj_block__title { font-size: 20px; line-height: 110%; letter-spacing: 0.02em; margin: 0 0 11px; }
  .obj_block__text { font-size: 12px; line-height: 130%; max-width: 218px; }
  .obj_row--top .obj_block__text { max-width: 210px; }

  /* Location section: title 35px (max 693), map 689×403, overlay 324×366 */
  .obj_loc { padding: 30px 40px; }
  .obj_loc__head { margin-bottom: 30px; }
  .obj_loc__title { font-size: 35px; line-height: 110%; letter-spacing: 0.02em; max-width: 693px; }
  .obj_loc__map { max-width: 689px; height: 403px; }
  .obj_loc__overlay { width: 324px; height: 366px; right: 20px; top: 20px; }
  .obj_loc__overlay-top { top: 13px; left: 14.4px; right: 14.4px; }
  .obj_loc__caption-text { font-size: 14px; }
  .obj_loc__caption-num { font-size: 20px; }
  .obj_loc__pin { width: 25px; height: 25px; }
  .obj_loc__pin::before { top: 1.6px; left: 1.6px; right: 1.6px; bottom: 1.6px; }
  .obj_loc__pin svg { width: 13px; height: 13px; }
  .obj_loc__addr { font-size: 14px; padding: 4px 8px; }
  .obj_loc__marker { gap: 7px; top: 53%; left: 12%; }

  /* Gallery: rows 321 height, top row 235:444 (10 gap) */
  .obj_gallery { padding: 0 40px 30px; }
  .obj_gallery__row { margin-bottom: 10px; }
  .obj_gallery__row--top { grid-template-columns: 235fr 444fr; column-gap: 10px; row-gap: 0; }
  .obj_gallery__img { height: 321px; }

  /* Details: 689 wide, title 35px, grid 3×3 cells ~228×74. Label 14px (#a6a6a6), value 14px ls 2% */
  .obj_details { padding: 30px 40px; }
  .obj_details__title { font-size: 35px; line-height: 110%; letter-spacing: 0.02em; max-width: 693px; }
  .obj_details__head { padding-bottom: 32px; margin-bottom: 0; }
  .obj_details__grid { grid-template-columns: 1fr 1fr 1fr; }
  .obj_details__cell { min-height: 74px; padding: 11px 10px; gap: 5px; }
  .obj_details__label { font-size: 14px; line-height: 130%; color: #A6A6A6; }
  .obj_details__value { font-size: 14px; line-height: 110%; letter-spacing: 0.02em; }
  .obj_details__expand { width: 20px; height: 20px; bottom: 8px; right: 8px; }
  .obj_details__expand::before { width: 9px; }
  .obj_details__expand::after  { height: 9px; }

  /* Progress: 768x624. Label 20px (max 181), photo 453×307. Grid 31:66 */
  .obj_progress { padding: 0 40px; }
  .obj_progress__row { grid-template-columns: 33% 65%; column-gap: 10px; padding-top: 20px; padding-bottom: 0; }
  .obj_progress__label { padding: 0 0 0 0; }
  .obj_progress__heading { font-size: 20px; line-height: 110%; max-width: 181px; }
  .obj_progress__photo img { height: 307px; }

  /* Visit CTA: 768×533, white card 534×373. Card padding 50 top/bot, ~28 sides */
  .obj_visit { padding: 80px 40px; min-height: 533px; }
  .obj_visit__card {
    max-width: 534px;
    min-height: 373px;
    padding: 50px 17.5px;
  }
  .obj_visit__title { font-size: 35px; line-height: 110%; letter-spacing: 0.02em; max-width: 499px; margin: 0 0 10px; }
  .obj_visit__sub { font-size: 20px; line-height: 110%; letter-spacing: 0.02em; max-width: 459px; }
  .obj_visit__btn { font-size: 10px; height: 30px; line-height: 150%; letter-spacing: 0.05em; max-width: 325px; }
  .obj_visit__micro { font-size: 12px; line-height: 130%; max-width: 325px; margin-top: 13px; }

  /* Similar: 768x441, title 35px (max 679, 3 lines). Photos 225/211/212×201, names 20px.
     Layout: 41 + 225 + 20 + 211 + 20 + 212 + 39 = 768. */
  .obj_similar { padding: 40px 0 0; margin-bottom: 40px; }
  .obj_similar__head { padding: 0 40px; margin-bottom: 30px; }
  .obj_similar__title { font-size: 35px; line-height: 110%; letter-spacing: 0.02em; max-width: 679px; }
  .obj_similar__grid { grid-template-columns: 266fr 231fr 271fr; }
  .obj_similar__cell { padding: 19px 0 16px; }
  .obj_similar__cell:nth-child(1) { padding-left: 41px; padding-right: 0; }
  .obj_similar__cell:nth-child(2) { padding-left: 20px; padding-right: 0; }
  .obj_similar__cell:nth-child(3) { padding-left: 20px; padding-right: 39px; }
  .obj_similar__name { font-size: 20px; line-height: 110%; letter-spacing: 0.02em; min-height: 44px; margin-bottom: 32px; }
  .obj_similar__photo-wrap { width: 100%; max-width: 225px; height: 201px; }
  .obj_similar__photo { width: 100%; max-width: 225px; height: 201px; }
  .obj_similar__cell:nth-child(2) .obj_similar__photo-wrap,
  .obj_similar__cell:nth-child(2) .obj_similar__photo { max-width: 211px; }
  .obj_similar__cell:nth-child(3) .obj_similar__photo-wrap,
  .obj_similar__cell:nth-child(3) .obj_similar__photo { max-width: 212px; }
}

/* Pixel-perfect to Figma 360_Object Investment (360x7104).
   Content padding 25px (310 content). Hero title 30px Felidae 2 lines (max 332),
   subtitle 20px Felidae 4 lines ls 4% (max 332). Breadcrumbs 14px Inter (#A6A6A6).
   Single-column stacked layout. Body text 14px Inter (max 320).
   Concept/Location: photo 310×220 above text. Section titles 30px Felidae.
   Map photo 310×311, overlay 310×366 stacked below. Wide gallery 360×708.
   Details 2-col grid cells 165×58. Progress photo 310×275 stacked above label.
   Visit card 310×549 padding 50/20. Similar stacked single column, photos 310×260. */
@media (max-width: 360px) {
  /* Hide secondary navigation (Проекты/Каталог/О нас/Контакты + burger) — Figma 360 has only top header */
  .big_block_home--object header .about_block .bottom_header { display: none !important; }

  /* Vertical rails at x=15 / x=345 */
  .big_block_home--object::before,
  .obj_main::before,
  .obj_loc::before,
  .obj_gallery::before,
  .obj_details::before,
  .obj_progress::before,
  .obj_visit::before,
  .obj_similar::before { left: 15px; }
  .big_block_home--object::after,
  .obj_main::after,
  .obj_loc::after,
  .obj_gallery::after,
  .obj_details::after,
  .obj_progress::after,
  .obj_visit::after,
  .obj_similar::after  { right: 15px; }

  /* Hero — 30px title (2 lines), 20px subtitle (~4 lines, ls 4%), breadcrumbs 14px */
  .obj_hero { padding: 24px 25px 40px; margin-left: -25px; margin-right: -25px; }
  .obj_hero__breadcrumbs { font-size: 14px; gap: 4px; margin-bottom: 16px; }
  .obj_hero__title { font-size: 30px; line-height: 110%; letter-spacing: 0.02em; max-width: 332px; margin-bottom: 10px; }
  .obj_hero__subtitle { font-size: 20px; line-height: 130%; letter-spacing: 0.04em; max-width: 332px; }

  /* Main: padding 25, content 310. Stacked single-column for both rows. */
  .obj_main__inner { padding: 0 25px; border: 0; }
  /* Row 3: full-width photo, 220 tall on 360 (matches photo cells height) */
  .obj_row--wide { margin-top: 16px; }
  .obj_row--wide img,
  .obj_row--wide video { height: 220px; }
  .obj_row--top, .obj_row--bottom {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 0;
    min-height: auto;
    height: auto;
  }
  .obj_col--photos {
    grid-template-columns: 1fr;
    grid-column: span 1;
    column-gap: 0;
    row-gap: 16px;
  }
  .obj_col--photos img { height: 220px; }
  .obj_col--photo { min-height: 220px; }
  .obj_col--photo img,
  .obj_col--photo video { height: 220px; min-height: 220px; }
  .obj_col--text { padding: 16px 0 24px 0; }
  .obj_row--bottom > .obj_col--photos {
    padding-top: 0;
    grid-column: auto;
  }
  .obj_row--bottom > .obj_col--text {
    padding: 16px 0 24px 0;
    grid-column: auto;
  }

  /* Block titles 20px / body 14px (~6 lines concept, ~9 lines location), max 320 */
  .obj_block__title { font-size: 20px; line-height: 110%; letter-spacing: 0.02em; margin: 0 0 16px; }
  .obj_block__text { font-size: 14px; line-height: 130%; max-width: 320px; }
  .obj_row--top .obj_block__text { max-width: 320px; }

  /* Location section: title 30px, map 310×311, overlay 310×366 stacked below */
  .obj_loc { padding: 30px 25px; }
  .obj_loc__head { margin-bottom: 24px; }
  .obj_loc__title { font-size: 30px; line-height: 110%; letter-spacing: 0.02em; max-width: 332px; }
  .obj_loc__body { display: block; }
  .obj_loc__map { width: 100%; max-width: 310px; height: 311px; margin: 0 auto; }
  .obj_loc__overlay {
    position: relative;
    right: auto; top: auto;
    width: 100%; max-width: 310px; height: 366px;
    margin: 16px auto 0;
  }
  .obj_loc__overlay-top { top: 14px; left: 11px; right: 11px; }
  .obj_loc__caption-text { font-size: 14px; }
  .obj_loc__caption-num { font-size: 20px; }
  .obj_loc__pin { width: 39px; height: 39px; }
  .obj_loc__pin::before { top: 2.5px; left: 2.5px; right: 2.5px; bottom: 2.5px; }
  .obj_loc__pin svg { width: 16px; height: 16px; }
  .obj_loc__addr { font-size: 14px; padding: 6px 8px; }
  .obj_loc__marker { gap: 8px; top: 53%; left: 30%; transform: translateY(-50%); }

  /* Gallery: stacked single column, all images 310×220 */
  .obj_gallery { padding: 0 25px 30px; }
  .obj_gallery__row { margin-bottom: 16px; }
  .obj_gallery__row--top { grid-template-columns: 1fr; row-gap: 16px; }
  .obj_gallery__img { height: 220px; }

  /* Details: 30px title, 2-col grid cells 165×58. Label 12px (#A6A6A6), value 14px */
  .obj_details { padding: 30px 25px; }
  .obj_details__title { font-size: 30px; line-height: 110%; letter-spacing: 0.02em; max-width: 332px; }
  .obj_details__head { padding-bottom: 24px; margin-bottom: 0; }
  .obj_details__grid { grid-template-columns: 1fr 1fr; }
  .obj_details__cell {
    min-height: 58px;
    padding: 9px 10px;
    gap: 4px;
    border-right: 1.6px solid #E1E1E1;
    border-bottom: 1.6px solid #E1E1E1;
  }
  .obj_details__cell:nth-child(2n) { border-right: 0 !important; }
  .obj_details__cell:nth-last-child(-n+2) { border-bottom: 0; }
  .obj_details__cell:last-child { border-bottom: 0 !important; }
  .obj_details__label { font-size: 12px; line-height: 130%; color: #A6A6A6; }
  .obj_details__value { font-size: 14px; line-height: 110%; letter-spacing: 0.02em; }
  .obj_details__expand { width: 17px; height: 17px; bottom: 5px; right: 5px; }
  .obj_details__expand::before { width: 8px; }
  .obj_details__expand::after  { height: 8px; }

  /* Progress: stacked. Label 20px (max 271), photo 310×275 */
  .obj_progress { padding: 0 25px; }
  .obj_progress__row { grid-template-columns: 1fr; column-gap: 0; row-gap: 16px; padding-top: 24px; padding-bottom: 0; }
  .obj_progress__label { padding: 0; }
  .obj_progress__heading { font-size: 20px; line-height: 110%; letter-spacing: 0.02em; max-width: 271px; }
  .obj_progress__photo img { height: 275px; }

  /* Visit CTA: 360×709, white card 310×549 */
  .obj_visit { padding: 80px 25px; min-height: 709px; }
  .obj_visit__card {
    max-width: 310px;
    min-height: 549px;
    padding: 50px 20px;
  }
  .obj_visit__title { font-size: 30px; line-height: 110%; letter-spacing: 0.02em; max-width: 250px; margin: 0 0 16px; }
  .obj_visit__sub { font-size: 14px; line-height: 130%; letter-spacing: 0; max-width: 276px; }
  .obj_visit__btn { font-size: 14px; height: 50px; line-height: 130%; letter-spacing: 0.05em; max-width: 270px; }
  .obj_visit__micro { font-size: 12px; line-height: 130%; max-width: 236px; margin-top: 16px; }

  /* Similar: stacked single column, photos 310×260, names 20px */
  .obj_similar { padding: 30px 0 0; margin-bottom: 30px; }
  .obj_similar__head { padding: 0 25px; margin-bottom: 24px; }
  .obj_similar__title { font-size: 30px; line-height: 110%; letter-spacing: 0.02em; max-width: 332px; }
  .obj_similar__grid { grid-template-columns: 1fr; }
  .obj_similar__cell {
    border-right: 0;
    border-bottom: 1.6px solid #E1E1E1;
    padding: 16px 25px !important;
  }
  .obj_similar__cell:last-child { border-bottom: 0; }
  .obj_similar__name { font-size: 20px; line-height: 110%; letter-spacing: 0.02em; min-height: auto; margin-bottom: 16px; }
  .obj_similar__photo-wrap { width: 100%; max-width: 310px; height: 260px; }
  .obj_similar__photo { width: 100%; max-width: 310px; height: 260px; }
  .obj_similar__cell:nth-child(2) .obj_similar__photo-wrap,
  .obj_similar__cell:nth-child(2) .obj_similar__photo,
  .obj_similar__cell:nth-child(3) .obj_similar__photo-wrap,
  .obj_similar__cell:nth-child(3) .obj_similar__photo { max-width: 310px; }
}

/* =========================================================
   LIGHTBOX — клик по фото галереи открывает полноэкранный
   просмотр с навигацией. Без сторонних библиотек, чтобы не
   тянуть лишний JS на страницу.
   ========================================================= */
.obj_gallery__img { cursor: zoom-in; }

.obj_lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.92);
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.25s ease;
}
.obj_lightbox.is-open {
  display: flex;
  opacity: 1;
}
.obj_lightbox__stage {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px;
  box-sizing: border-box;
}
.obj_lightbox__img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  user-select: none;
  -webkit-user-drag: none;
}
.obj_lightbox__btn {
  position: absolute;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #fff;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
  padding: 0;
}
.obj_lightbox__btn:hover,
.obj_lightbox__btn:focus-visible {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.5);
  outline: none;
}
.obj_lightbox__close { top: 24px; right: 24px; }
.obj_lightbox__prev  { left: 24px;  top: 50%; transform: translateY(-50%); }
.obj_lightbox__next  { right: 24px; top: 50%; transform: translateY(-50%); }
.obj_lightbox__btn svg { width: 20px; height: 20px; display: block; }
.obj_lightbox__caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 24px;
  text-align: center;
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  letter-spacing: 0.02em;
  padding: 0 80px;
  opacity: 0.85;
  pointer-events: none;
}
.obj_lightbox__counter {
  position: absolute;
  top: 32px;
  left: 32px;
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: 13px;
  letter-spacing: 0.04em;
  opacity: 0.75;
  pointer-events: none;
}

/* Tablet */
@media (max-width: 1024px) {
  .obj_lightbox__stage { padding: 40px; }
  .obj_lightbox__btn { width: 44px; height: 44px; }
  .obj_lightbox__close { top: 16px; right: 16px; }
  .obj_lightbox__prev  { left: 12px; }
  .obj_lightbox__next  { right: 12px; }
  .obj_lightbox__counter { top: 20px; left: 20px; }
}

/* Mobile */
@media (max-width: 600px) {
  .obj_lightbox__stage { padding: 16px; }
  .obj_lightbox__btn { width: 40px; height: 40px; }
  .obj_lightbox__close { top: 12px; right: 12px; }
  .obj_lightbox__prev  { left: 8px; }
  .obj_lightbox__next  { right: 8px; }
  .obj_lightbox__caption { font-size: 12px; bottom: 16px; padding: 0 60px; }
  .obj_lightbox__counter { font-size: 12px; top: 16px; left: 16px; }
}

/* Headless / reduced motion — без перехода */
@media (prefers-reduced-motion: reduce) {
  .obj_lightbox { transition: none; }
}

/* === obj_loc__slider — мульти-фото слайдер на странице объекта (prod fix) === */
.obj_loc__slider {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
}
.obj_loc__slider .swiper-wrapper,
.obj_loc__slider .swiper-slide {
    width: 100%;
    height: 100%;
}
.obj_loc__slider .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
