:root{
  --jet: #303442;
  --white: #ffffff;
  --bronze: #F9B250;
  --khaki: #C3B29E;
  --grey0: #F8F8F8;
  --stroke: #EAEBEC;
}

body { margin: 0; overflow-x: hidden; padding-top: 112px; }
html { overflow-x: hidden; }
*, *::before, *::after { box-sizing: border-box; }

.hero__row{
  min-height: 428px;
}

/* LEFT */
.hero__left{
  background: var(--jet);
  color: var(--white);
}

.hero__content{
  padding: 48px 16px 64px 16px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 62px;
  max-width: 573px;
}

@media (min-width: 992px){
  .hero__content{
    padding-left: 80px;
    padding-right: 0;
  }
}

.hero__logo{
  width: 140px;
  line-height: 1;
}

.hero__logo-title{
  font-family: "Mulish", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 44px;
  letter-spacing: 0.5px;
}

.hero__logo-subtitle{
  margin-top: 6px;
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--grey0);
  opacity: 0.95;
}

.hero__title{
  margin: 0;
  font-family: "Mulish", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 1.1;
}

.hero__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 16px 24px;
  border-radius: 4px;
  background: var(--bronze);
  color: var(--jet);
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 16px;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  transition: filter 0.2s;
}

.hero__btn:hover{ filter: brightness(0.88); color: var(--jet); background: var(--bronze); }

/* RIGHT */
.hero__right{ background: #111; position: relative; display: flex; overflow: hidden; }

.hero__slide{
  flex: 1;
  height: 100%;
  min-height: 428px;
  background: radial-gradient(1200px 500px at 70% 30%, rgba(249,178,80,.25), rgba(48,52,66,1) 70%), linear-gradient(120deg, #2d3040, #1b1e29);
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: flex-end;
  padding: 24px;
}

@media (max-width: 991.98px){
  .hero__slide{ height: 320px; min-height: 320px; }
  .hero__row{ min-height: auto; }
}



/* Hero slider (Swiper) */
.hero__swiper{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.hero__swiper .swiper-wrapper,
.hero__swiper .swiper-slide{
  width: 100%;
  height: 100%;
}

.hero__swiper-slide{
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /* placeholder: if image doesn't load, hero__slide gradient remains visible */
  background-color: transparent;
}

.hero__swiper-slide--video{
  border: 0;
  padding: 0;
  position: relative;
  cursor: pointer;
}

.hero__swiper-slide--video::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.26));
}

.hero__video-play{
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  width: 88px;
  height: 88px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.45);
  background: rgba(0,0,0,.35);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(8px);
  z-index: 2;
  transition: transform .2s ease, background .2s ease;
}

.hero__swiper-slide--video:hover .hero__video-play{
  transform: translate(-50%, -50%) scale(1.05);
  background: rgba(0,0,0,.48);
}

.hero__controls{
  position: relative;
  z-index: 2;
}

/* Controls */
.hero__controls{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.hero__nav{
  display: flex;
  gap: 8px;
}

.hero__icon-btn{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: rgba(241,241,242,.2);
  border: 1px solid var(--stroke);
  color: var(--grey0);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(6px);
}

.hero__icon-btn:hover{ filter: brightness(1.05); }

.hero__dots{
  display: flex;
  gap: 8px;
}

.hero__dot{
  width: 40px;
  height: 6px;
  border-radius: 4px;
  background: var(--grey0);
  opacity: 0.85;
}

.hero__dot.is-active{
  background: var(--bronze);
  opacity: 1;
}


/* =========================
   Section: Quick selection
   ========================= */
.section{
  padding: 64px 0;
  background: #fff;
}

.quick__panel{
  background: var(--grey0);
  border-radius: 4px;
  padding: 24px;
  height: 100%;
}

@media (min-width: 992px){
  .quick__panel{
    padding: 24px 36px;
  }
}

.quick__head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.quick__title{
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.15;
  color: var(--jet);
}

.quick__prices{
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: var(--jet);
  opacity: .95;
}

.quick__prices strong{ font-weight: 700; }

.quick__body{
  margin-top: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.quick__tabs{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.quick__tab{
  border: 0;
  background: #EAEBEC;
  color: var(--jet);
  border-radius: 4px;
  padding: 10px 16px;
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.1;
}

.quick__tab.is-active{
  background: #DEE0E3;
}

.quick__cta{
  background: var(--bronze);
  border-radius: 4px;
  padding: 12px 16px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--jet);
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  white-space: nowrap;
}

.quick__cta:hover{ filter: brightness(.98); }

.quick__cta-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  font-weight: 700;
}

.quick__banner{
  position: relative;
  height: 100%;
  min-height: 168px;
  background: var(--khaki);
  border-radius: 4px;
  overflow: hidden;
}

/* One banner image that covers the whole block */
.quick__banner-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.quick__banner-family{
  position: absolute;
  width: 130px;
  height: 129px;
  left: 0;
  bottom: 0;
  border-radius: 0 0 0 4px;
  background: radial-gradient(circle at 30% 30%, rgba(48,52,66,.18), rgba(48,52,66,.0) 70%);
}

.quick__banner-building{
  position: absolute;
  right: -24px;
  bottom: -40px;
  width: 330px;
  height: 240px;
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(48,52,66,.15), rgba(48,52,66,0));
  box-shadow: inset 0 0 0 1px rgba(48,52,66,.12);
}

/* =========================
   Cards
   ========================= */
.pos-card{
  background: var(--grey0);
  border-radius: 4px;
  overflow: hidden;
  height: 100%;
  box-shadow: 0 0 0 1px rgba(48,52,66,.06);
}

.pos-card__media{
  position: relative;
  height: 370px;
  padding: 12px 12px 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: 4px;
  overflow: hidden;
}

.pos-card__media--1{
  background-image: linear-gradient(135deg, rgba(249,178,80,.15), rgba(48,52,66,.0)), radial-gradient(900px 300px at 20% 20%, rgba(195,178,158,.35), rgba(48,52,66,.0) 60%), linear-gradient(120deg, #3b3f52, #1f2230);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.pos-card__media--2{
  background-image: radial-gradient(700px 260px at 20% 20%, rgba(195,178,158,.35), rgba(48,52,66,.0) 60%), linear-gradient(120deg, #2f3242, #191c27);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.pos-card__media--3{
  background-image: radial-gradient(700px 260px at 60% 20%, rgba(195,178,158,.35), rgba(48,52,66,.0) 60%), linear-gradient(120deg, #2f3242, #191c27);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.pos-card__overlay{
  z-index: 1;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 130px;
  background: linear-gradient(0deg, rgba(48, 52, 66, 0) 0%, #303442 100%);
  transform: matrix(1, 0, 0, -1, 0, 0);
}

.pos-card__tag{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  border-radius: 4px;
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: .02em;
  color: var(--grey0);
  position: relative;
  z-index: 2;
}

.pos-card__tag--sale{
  background: var(--khaki);
  align-self: flex-start;
}

.pos-card__tag--soon{
  background: var(--jet);
  align-self: flex-start;
}

.pos-card__features{
  display: flex;
  flex-direction: column;
  gap: 6px;
  position: relative;
  z-index: 2;
  color: rgba(241,241,242,.95);
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .02em;
}

.pos-card__feature{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.pos-card__feature::before{
  content: "";
  width: 16px;
  height: 16px;
  border-radius: 3px;
  box-shadow: inset 0 0 0 2px rgba(195,178,158,1);
  opacity: .8;
}

.pos-card__footer{
  padding: 24px 12px 12px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pos-card__footer-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.pos-card__name{
  margin: 0;
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 20px;
  line-height: 1.15;
  color: var(--jet);
}

.pos-card__time{
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 12px;
  color: #BFC0C4;
  white-space: nowrap;
}

.pos-card__addr{
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 12px;
  color: #BFC0C4;
}

.pos-card__list{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pos-card__row{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: var(--jet);
  text-decoration: none;
}

.pos-card__row span:last-child{
  color: #6B6E78;
  font-weight: 600;
}

.pos-card__row.is-accent span:first-child{
  color: var(--jet);
}

.pos-card__row.is-accent span:last-child{
  color: #6B6E78;
}

.pos-card__row.is-accent:hover span:first-child{
  color: var(--bronze);
}

.pos-card__row.is-accent:hover span:last-child{
  color: var(--bronze);
}

.pos-card__arrow{
  margin-left: 8px;
  font-weight: 700;
}

.pos-card.is-muted{
  opacity: .35;
}

@media (max-width: 575.98px){
  .pos-card__media{ height: 320px; }
  .quick__prices{ font-size: 12px; }
}


/* SECTION--QUICK-TAB (TABS) */
.section.section--quick-tab{
  background:#fff;
  padding: 24px 0 80px;
}

/* Title: Mulish 56/105%, center, #C3B29E */
/*.quick__title{*/
/*  max-width: 1138px;*/
/*  margin: 0 auto 64px;*/
/*  font-family: 'Mulish', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;*/
/*  font-weight: 300;*/
/*  font-size: 56px;*/
/*  line-height: 1.05;*/
/*  text-align: center;*/
/*  color: #C3B29E;*/
/*}*/

.quick__tabs{
  display: flex;
  justify-content: space-between;
  gap: 48px;
  margin: 0 auto 36px;
  max-width: 1280px;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #C3B29E #EAEBEC;
  padding-bottom: 6px;
}

.quick__tabs::-webkit-scrollbar {
  height: 3px;
}

.quick__tabs::-webkit-scrollbar-track {
  background: #EAEBEC;
  border-radius: 2px;
}

.quick__tabs::-webkit-scrollbar-thumb {
  background: #C3B29E;
  border-radius: 2px;
}

.quick__tab{
  background: transparent;
  border: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  cursor: pointer;
}

.quick__tab-label{
  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 18px;
  line-height: 22px;
  font-weight: 500;
  color: #303442;
  text-align: center;
  padding: 0 4px;
}

.quick__tab-line{
  display: none;
  width: 100%;
  border-bottom: 2px solid #C3B29E;
}

.quick__tab.is-active .quick__tab-label{
  font-weight: 700;
  color: #C3B29E;
}

.quick__tab.is-active .quick__tab-line{
  display: block;
}

.quick__content{
  max-width: 1280px;
  margin: 0 auto;
}

.quick__h3{
  font-family: 'Mulish', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 300;
  font-size: 36px;
  line-height: 1.10;
  color: #303442;
  margin: 0 0 24px;
  max-width: 398px;
}

.quick__text{
  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.10;
  color: #303442;
  margin: 0 0 40px;
  max-width: 337px;
}

.quick__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 16px 24px;
  border-radius: 4px;
  background: #F9B250;
  color: #303442;
  text-transform: uppercase;
  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: filter 0.2s;
}
.quick__btn:hover{
  filter: brightness(0.88);
  color: #303442;
  background: #F9B250;
}

.quick__media{
  height: 520px;
  border-radius: 4px;
  background: linear-gradient(135deg, #e9e9e9, #dcdcdc);
  overflow: hidden;
}

.quick__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Responsive */
@media (max-width: 991.98px){
  .section.section--quick-tab{
    padding: 24px 0 56px;
  }
  .quick__title{
    font-size: 32px;
    margin-bottom: 40px;
  }
  .quick__tabs{
    justify-content: flex-start;
    gap: 16px 24px;
    margin-bottom: 24px;
  }
  .quick__media{
    height: 320px;
  }
}


/* SECTION--LOCATION */
.section.section--location{
  background:#fff;
  padding:24px 0 0;
}

.location__head{
  text-align:center;
  margin-bottom:48px;
}

.location__title{
  font-family:'Mulish',sans-serif;
  font-weight:300;
  font-size:56px;
  line-height:105%;
  color:#C3B29E;
  margin-bottom:16px;
}

.location__subtitle{
  font-family:'Montserrat',sans-serif;
  font-size:16px;
  color:#303442;
}

.location__tabs{
  display:flex;
  gap:32px;
  margin-bottom:24px;
}

.location__tab{
  background:none;
  border:none;
  font-family:'Montserrat',sans-serif;
  font-size:18px;
  font-weight:500;
  color:#303442;
  border-bottom:2px solid transparent;
  padding-bottom:4px;
}

.location__tab.is-active{
  color:#C3B29E;
  border-color:#C3B29E;
}

.location__map{
  height:auto;
  background:linear-gradient(135deg,#dcdcdc,#e9e9e9);
  overflow: hidden;
}

.location__map img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width:992px){
  .location__title{font-size:32px;}
  .location__map{height:auto;}
}


/* SECTION--HOTSPOTS */
.section.section--hotspots{
  background:#fff;
  padding:36px 0 0px;
}

.hotspots__head{
  text-align:center;
  margin-bottom:24px;
}

.hotspots__title{
  font-family:'Mulish',sans-serif;
  font-weight:300;
  font-size:56px;
  line-height:105%;
  color:#C3B29E;
}

.hotspots__stage{
  position:relative;
  height:650px;
  background:linear-gradient(135deg,#dcdcdc,#e9e9e9);
}

.hotspots_h1{
    top:35%;left:75%;
}
.hotspots_h2{
    top:15%;left:45%;
}
.hotspots_h3{
    top:45%;left:15%;
}

@media (max-width:480px){
    .hotspots_h1{
        top: 45%;left: 55%;
    }
    .hotspots_h2{
        top: 15%;left: 15%;
    }
    .hotspots_h3{
        top: 70%;left: 0%;
    }

}



/* Desktop stage height */
@media (min-width:993px){
  .hotspots__stage{height:750px;}
}

.hotspots__canvas{
  position:relative;
  width:100%;
  height:100%;
}

.hotspot{
  position:absolute;
  background:none;
  border:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:8px;
}

.hotspot__label{
  background:#F1F1F2;
  padding:6px 10px;
  border-radius:4px;
  font-family:'Montserrat',sans-serif;
  font-size:14px;
}

.hotspot__dot{
  width:36px;
  height:36px;
  background:#F9B250;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:bold;
}

.hotspots__modal { display: none; }

/* ── Building Modal Card (Figma) ── */
.bm-card {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 100;
  display: none;

  width: 420px;
  background: #FFFFFF;
  border-radius: 8px;
  padding: 28px 28px 24px;
  box-shadow: 0 16px 48px rgba(0,0,0,0.18);
  font-family: 'Montserrat', system-ui, sans-serif;
}

.bm-card.active {
  display: block;
}

/* Close button */
.bm-card__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  border-radius: 4px;
  transition: background 0.2s;
}
.bm-card__close:hover { background: #F1F1F2; }

/* Title */
.bm-card__title {
  margin: 0 0 20px;
  font-family: 'Mulish', system-ui, sans-serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.1;
  color: #303442;
}

/* List */
.bm-card__list {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.bm-card__item {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: baseline;
  padding: 10px 0;
  border-bottom: 1px solid #F1F1F2;
  gap: 8px;
}

.bm-card__item:last-child {
  border-bottom: none;
}

/* Flat name */
.bm-card__flat {
  font-size: 14px;
  font-weight: 400;
  color: #303442;
  white-space: nowrap;
}

.bm-card__flat strong {
  font-weight: 700;
}

.bm-card__area {
  font-size: 14px;
  font-weight: 400;
  color: #303442;
}

.bm-card__unit {
  font-size: 10px;
  font-weight: 400;
  color: #303442;
  vertical-align: super;
}

/* Price */
.bm-card__price {
  font-size: 14px;
  font-weight: 400;
  color: #303442;
  white-space: nowrap;
  text-align: right;
}

.bm-card__price strong {
  font-weight: 700;
}

/* CTA button */
.bm-card__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 52px;
  background: #F9B250;
  border-radius: 4px;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #303442;
  text-decoration: none;
  transition: filter 0.2s;
}
.bm-card__btn:hover {
  filter: brightness(0.97);
  color: #303442;
}

@media (max-width:992px){
  .hotspots__title{font-size:32px;}
  .hotspots__stage{height:400px;}
}
@media (max-width:480px){
    .hotspots__stage{height:270px;}
}

/* SECTION--FORM */
.section.section--form{
  background:#303442;
  border-radius:4px;
  padding:48px 80px;
}

.form__wrap{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
}

.form__content{
  max-width:789px;
}

.form__title{
  font-family:'Mulish',sans-serif;
  font-weight:300;
  font-size:36px;
  line-height:110%;
  color:#F8F8F8;
  margin-bottom:24px;
}

@media (max-width: 576px){
  .form__title,
  .form2__title{
    font-size: 26px;
  }
}

.form__row{
  display:flex;
  gap:16px;
  align-items:flex-end;
  margin-bottom:12px;
}

.form__field input{
  width:256px;
  min-width:192px;
  height:56px;
  padding:16px;
  border:1px solid #F8F8F8;
  border-radius:4px;
  font-family:'Montserrat',sans-serif;
  font-size:16px;
}

.form__btn{
  display:flex;
  align-items:center;
  gap:6px;
  height:56px;
  padding:16px 24px;
  background:#F9B250;
  border:none;
  border-radius:4px;
  font-family:'Montserrat',sans-serif;
  font-weight:600;
  font-size:16px;
  text-transform:uppercase;
  color:#303442;
}

.form__disclaimer{
  font-family:'Montserrat',sans-serif;
  font-size:12px;
  letter-spacing:0.02em;
  color:#68696B;
}

.form__logo{
  text-align:right;
}

.form__logo-title{
  font-family:'Mulish',sans-serif;
  font-weight:700;
  font-size:32px;
  color:#F8F8F8;
}

.form__logo-sub{
  font-size:12px;
  text-transform:uppercase;
  color:#F8F8F8;
}

@media(max-width:992px){
  .section.section--form{
    padding:32px;
  }
  .form__wrap{
    flex-direction:column;
    align-items:flex-start;
  }
  .form__row{
    flex-direction:column;
    align-items:flex-start;
  }
  .form__field input{
    width:100%;
  }
}


/* SECTION--ABOUT-HOME (hotspots-3) */
.section.section--about-home{
  display:flex;
  justify-content:center;
  padding:80px;
  height:880px;
  background:#C3B29E;
  border-top:2px solid #6B6257;
  border-radius:0 0 4px 4px;
  position:relative;
}

.about-home__inner{
  width:100%;
  max-width:1440px;
  position:relative;
  display:flex;
}

.about-home__content{
  width:204px;
  display:flex;
  flex-direction:column;
  gap:16px;
  z-index:2;
}

.about-home__title{
  font-family:'Mulish',sans-serif;
  font-weight:300;
  font-size:56px;
  line-height:105%;
  color:#303442;
}

.about-home__text{
  font-family:'Montserrat',sans-serif;
  font-weight:500;
  font-size:12px;
  line-height:120%;
  letter-spacing:0.02em;
  color:#303442;
}

.about-home__btn{
  margin-top:20px;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  padding:12px 16px;
  width:192px;
  height:44px;
  background:#F9B250;
  border-radius:4px;
  font-family:'Montserrat',sans-serif;
  font-weight:600;
  font-size:16px;
  color:#303442;
  text-decoration:none;
  transition: filter 0.2s;
}
.about-home__btn:hover{
  filter: brightness(0.88);
  color:#303442;
}

.about-home__hotspots{
  position:absolute;
  inset:0;
}

.about-hotspot{
  position:absolute;
  width:44px;
  height:44px;
  background:#F9B250;
  border-radius:50%;
  box-shadow:0 8px 8px rgba(48,52,66,0.33);
  border:0;
  cursor:pointer;
}

/* About-home mobile list — hidden on desktop */
.about-home__list {
  display: none;
}

@media(max-width:992px){
  .section.section--about-home{
    height:auto;
    padding: 32px 20px;
    background-color: #C3B29E;
  }
  .about-home__inner{
    flex-direction:column;
  }
  .about-home__content{
    width: 100%;
  }
  .about-home__title {
    color: #fff;
  }
  .about-home__text {
    color: #fff;
    background: rgba(0,0,0,0.15);
    padding: 5px;
    border-radius: 2px;
  }
  .about-home__hotspots{
    display:none;
  }
  .about-home__list {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    margin-top: 24px;
    z-index: 2;
  }
  .about-home__list-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  }
  .about-home__list-item:last-child {
    border-bottom: none;
  }
  .about-home__list-num {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F9B250;
    border-radius: 50%;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 12px;
    color: #303442;
  }
  .about-home__list-text {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.4;
    color: #F8F8F8;
    padding: 5px;
    background: rgba(0,0,0,0.1);
    border-radius: 2px;
  }
}

/* SECTION--GALLERY */
.section.section--gallery{
  /* 1440+ / gallery-model */
  background:#FFFFFF;
  padding: 64px 80px 80px;
}

.section--gallery .gallery__inner{
  max-width: 1440px;
  margin: 0 auto;
  display:flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
}

.section--gallery .gallery__title-wrap{
  width: 1280px;
  max-width: 100%;
  height: 59px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.section--gallery .gallery__title{
  margin:0;
  flex: 1;
  width: 214px;
  height: 59px;
  font-family: 'Mulish', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 300;
  font-size: 56px;
  line-height: 1.05;
  text-align: center;
  color: #C3B29E;
}

/* Gallery tabs (reuse quick__tabs styles) */
.section--gallery .gallery__tabs{
  width: 100%;
  max-width: 1280px;
}

.section--gallery .gallery__slider{
  width: 1290px;
  max-width: 100%;
  height: 494px;
  display:flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 24px;
  padding: 0;
}

.section--gallery .gallery__controls{
  width: 1280px;
  max-width: 100%;
  height: 64px;
  display:flex;
  justify-content: space-between;
  align-items: center;
  gap: 48px;
  position: relative;
  isolation: isolate;
}

.section--gallery .gallery__tabs{
  margin: 0 auto;
  width: 1160px;
  max-width: 100%;
  height: auto;
  min-height: 26px;
  display:flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 24px;
  flex: 1 1 auto;
  z-index: 0;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #C3B29E #EAEBEC;
  padding-bottom: 4px;
}

.section--gallery .gallery__tab{
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
}

.section--gallery .gallery__tab.is-active{
  display:flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  width: 311px;
  height: auto;
  min-height: 26px;
}

.section--gallery .gallery__tab:not(.is-active){
  display:flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 4px;
  height: auto;
  min-height: 22px;
}

.section--gallery .gallery__tab-label{
  display:flex;
  justify-content:center;
  align-items:center;
  padding: 0 4px;
  height: auto;
  min-height: 22px;

  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 18px;
  line-height: 22px;
  text-align: center;
  color: #303442;
  font-weight: 500;
  white-space: normal;
}

.section--gallery .gallery__tab.is-active .gallery__tab-label{
  width: 311px;
  color: #C3B29E;
  font-weight: 700;
}

.section--gallery .gallery__tab-line{
  display: none;
  width: 100%;
  height: 0;
  border: 2px solid #C3B29E;
}

.section--gallery .gallery__tab.is-active .gallery__tab-line{
  display:block;
  align-self: stretch;
}

.section--gallery .gallery__fade{
  position:absolute;
  width: 68px;
  height: 64px;
  right: 114px;
  top: 50%;
  transform: translateY(-50%);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 60.94%);
  z-index: 1;
  pointer-events:none;
}

.section--gallery .gallery__slider-controls{
  margin: 0 auto;
  width: 120px;
  height: 64px;
  display:flex;
  flex-direction: row;
  align-items: center;
  padding: 4px;
  background: #F1F1F2;
  border-radius: 4px;
  z-index: 2;
}

.section--gallery .gallery__arrow{
  width: 56px;
  height: 56px;
  min-height: 56px;
  padding: 16px;
  border: 0;
  border-radius: 4px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: #F1F1F2;
}

.section--gallery .gallery__arrow--next{
  background: #EAEBEC;
}

.section--gallery .gallery__icon{
  width: 24px;
  height: 24px;
  position: relative;
  display:block;
}

.section--gallery .gallery__icon::before{
  content:"";
  position:absolute;
  left: 8.33%;
  right: 8.33%;
  top: 33.33%;
  bottom: 33.33%;
  border: 2px solid #BFC0C4; /* prev default */
  transform: rotate(0deg);
  border-left: 0;
  border-top: 0;
  width: 10px;
  height: 10px;
  margin:auto;
  top: 0;
  bottom: 0;
  right: 6px;
  left: 0;
  transform: rotate(135deg);
}

.section--gallery .gallery__icon--next::before{
  border-color: #303442;
  right: 0;
  left: 6px;
  transform: rotate(-45deg);
}

.section--gallery .gallery__grid{
  width: 1290px;
  max-width: 100%;
  height: 406px;
  display:flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 36px;
}

.section--gallery .gallery__item{
  width: 406px;
  height: 406px;
  border-radius: 4px;
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg,#ddd,#bbb);
  display:flex;
  flex-direction: column;
  align-items: flex-end;
  padding: 16px;
  gap: 12px;
  isolation: isolate;
}

.section--gallery .gallery__item::after{
  content:"";
  position:absolute;
  height: 130px;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(0deg, rgba(48, 52, 66, 0) 0%, #303442 100%);
  transform: matrix(1,0,0,-1,0,0);
  z-index: 0;
}

/* Responsive (keeps layout without breaking the 1440 design) */
@media (max-width: 1399.98px){
  .section.section--gallery{ padding-left: 16px; padding-right: 16px; }
  .section--gallery .gallery__inner{ align-items: stretch; }
  .section--gallery .gallery__title-wrap,
  .section--gallery .gallery__controls{ width: 100%; }
  .section--gallery .gallery__slider{ width: 100%; height: auto; align-items: stretch; }
  .section--gallery .gallery__tabs{ width: 100%; }
  .section--gallery .gallery__grid{ width: 100%; height: auto; }
  .section--gallery .gallery__item{ flex: 1 1 0; min-width: 280px; }
  .section--gallery .gallery__fade{ right: 124px; }
}

@media (max-width: 991.98px){
  .section--gallery .gallery__title{ font-size: 32px; height: auto; }
  .section--gallery .gallery__title-wrap{ height: auto; }
  .section--gallery .gallery__controls{ height: auto; gap: 16px; flex-wrap: wrap; justify-content: flex-end; }
  .section--gallery .gallery__fade{ display:none; }
  .section--gallery .gallery__tabs{ order: 0; width: 100%; justify-content: flex-start; }
  .section--gallery .gallery__slider-controls{ order: 1; margin-left: auto; }
  .section--gallery .gallery__grid{ flex-direction: column; gap: 16px; }
  .section--gallery .gallery__item{ width: 100%; height: 320px; }
}



/* SECTION--WHITEBOX (1440+ / hotspots-whitebox) */
.section.section--whitebox{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:80px;
  width:100%;
  height:760px;
  background: linear-gradient(180deg,#f2f2f2,#e6e6e6);
  border-radius:4px;
  position:relative;
  isolation:isolate;
}

.whitebox__content{
  width:321px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:16px;
  z-index:2;
}

.whitebox__title{
  font-family:'Mulish',sans-serif;
  font-weight:300;
  font-size:36px;
  line-height:110%;
  text-align:center;
  color:#303442;
}

.whitebox__text{
  font-family:'Montserrat',sans-serif;
  font-weight:500;
  font-size:12px;
  line-height:120%;
  letter-spacing:0.02em;
  color:#303442;
}

.whitebox__hotspot{
  position:absolute;
  width:44px;
  height:44px;
  background:#F9B250;
  box-shadow:0px 8px 8px rgba(48,52,66,0.33);
  border-radius:192px;
  border:0;
}

/* Whitebox mobile list — hidden on desktop */
.whitebox__list {
  display: none;
}

@media(max-width:992px){
  .section.section--whitebox{
    height:auto;
    padding: 32px 20px;
    flex-direction: column;
    align-items: flex-start;
    background-position: center top;
    min-height: 320px;
  }
  .whitebox__hotspot{
    display:none !important;
  }
  .whitebox__list {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    margin-top: 24px;
    z-index: 2;
  }
  .whitebox__list-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(48, 52, 66, 0.1);
  }
  .whitebox__list-item:last-child {
    border-bottom: none;
  }
  .whitebox__list-num {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F9B250;
    border-radius: 50%;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 12px;
    color: #303442;
  }
  .whitebox__list-text {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.4;
    color: #303442;
    padding-top: 4px;
  }
}



/* SECTION--ADVANTAGES (1440+ / tab-2) */
.section.section--advantages{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:64px 80px 80px;
  gap:64px;
  background:#FFFFFF;
}

.advantages__inner{
  width:1280px;
  max-width:100%;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:64px;
}

.advantages__title-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
  width:1280px;
  max-width:100%;
  height:59px;
}

.advantages__title{
  font-family:'Mulish',sans-serif;
  font-weight:300;
  font-size:56px;
  line-height:105%;
  text-align:center;
  color:#C3B29E;
}

.advantages__slider{
  display:flex;
  flex-direction:column;
  gap:36px;
}

.advantages__tabs{
  display:flex;
  flex-direction:row;
  gap:48px;
  align-items:flex-start;
}

.advantages__tab{
  background:none;
  border:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.advantages__label{
  font-family:'Montserrat',sans-serif;
  font-size:18px;
  font-weight:500;
  color:#303442;
}

.advantages__tab.is-active .advantages__label{
  font-weight:700;
  color:#C3B29E;
}

.advantages__line{
  width:100%;
  height:0;
  border:2px solid #C3B29E;
}

.advantages__tab:not(.is-active) .advantages__line{
  display:none;
}

.advantages__content{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:47px;
  width:1280px;
  max-width:100%;
  height:309px;
}

.advantages__image{
  width:835px;
  height:371px;
  border-radius:4px;
  background:linear-gradient(135deg,#ddd,#bbb);
  overflow: hidden;
}

.advantages__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.advantages__info{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  width:398px;
  height:309px;
}

.advantages__text{
  width:337px;
  font-family:'Montserrat',sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:110%;
  color:#303442;
}

.advantages__btn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  padding:16px 24px;
  min-height:56px;
  background:#F9B250;
  border-radius:4px;
  font-family:'Montserrat',sans-serif;
  font-weight:600;
  font-size:16px;
  text-transform:uppercase;
  color:#303442;
  text-decoration:none;
  border:none;
  cursor:pointer;
  transition: filter 0.2s;
}
.advantages__btn:hover{
  filter: brightness(0.88);
  color:#303442;
}

@media(max-width:992px){
  .section.section--advantages{
    padding:40px;
  }
  .advantages__inner,
  .advantages__content{
    width:100%;
  }
  .advantages__content{
    flex-direction:column;
    height:auto;
  }
  .advantages__image{
    width:100%;
  }
}


/* SECTION--PURCHASE (1440+ / tab-3) */
.section.section--purchase{
  display:flex;
  flex-direction: column;
  align-items: center;
  padding: 64px 0 80px;
  gap: 48px;
  width: 100%;
  background: #E3DCD2;
  border-radius: 4px;
}

.purchase__inner{
  width: 100%;
  max-width: 1440px;
  display:flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  padding: 0 80px;
  box-sizing: border-box;
}

.purchase__head{
  width: 100%;
  height: auto;
  display:flex;
  flex-direction: column;
  align-items: center;
  padding: 0;
}

.purchase__title-wrap{
  width: 100%;
  height: auto;
  display:flex;
  justify-content: center;
  align-items: center;
}

.purchase__title{
  margin:0;
  width: 469px;
  height: 59px;
  font-family: 'Mulish', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 300;
  font-size: 56px;
  line-height: 1.05;
  text-align: center;
  color: #303442;
}

.purchase__tabs{
  width: 100%;
  height: auto;
  display:flex;
  align-items: flex-start;
  padding: 0;
  gap: 24px;
}

.purchase__tabs{
  justify-content: space-between;
}

.purchase__tab{
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  display:flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.purchase__tab-label{
  display:flex;
  justify-content: center;
  align-items: center;
  padding: 0 4px;
  height: 22px;

  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 18px;
  line-height: 22px;
  text-align: center;
  color: #303442;
  font-weight: 500;
  white-space: nowrap;
}

.purchase__tab.is-active .purchase__tab-label{
  font-weight: 700;
  color: #C3B29E;
}

.purchase__tab-line{
  display:none;
  width: 100%;
  height: 0;
  border: 2px solid #C3B29E;
}

.purchase__tab.is-active .purchase__tab-line{
  display:block;
}

.purchase__slider{
  width: 1440px;
  max-width: 100%;
  height: 400px;
  display:flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0 80px;
  gap: 36px;
}

.purchase__slider{
  padding-top: 0;
  padding-bottom: 0;
}

.purchase__slider > .purchase__media,
.purchase__slider > .purchase__info{
  /* will be overridden by row container below */
}

.purchase__slider{
  /* inner row */
}

.purchase__slider{
  gap: 0;
}

.purchase__slider{
  height: auto;
}

.purchase__slider{
  /* Create the 1280 row */
}

.purchase__slider{
  display:flex;
}

.purchase__slider{
  flex-direction: row;
  align-items: center;
  gap: 48px;
}

.purchase__media{
  width: 868px;
  height: 400px;
  border-radius: 4px;
  background: linear-gradient(135deg,#ddd,#bbb);
  overflow: hidden;
}

.purchase__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.purchase__info{
  width: 364px;
  height: 400px;
  display:flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
}

.purchase__h3{
  margin: 0;
  width: 364px;
  height: 40px;
  font-family: 'Mulish', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 300;
  font-size: 36px;
  line-height: 1.10;
  color: #303442;
}

.purchase__table{
  width: 364px;
  display:flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 24px;
}

.purchase__row{
  width: 364px;
  height: 26px;
  display:flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
}

.purchase__cell{
  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.10;
  color: #303442;
}

.purchase__cell--label{
  font-weight: 700;
  width: 150px;
}

.purchase__cell--value{
  margin-left: auto;
  display:flex;
  align-items: baseline;
  gap: 4px;
  font-weight: 400;
}

.purchase__prefix{
  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.20;
  letter-spacing: 0.02em;
  color: #303442;
}

.purchase__row::after{
  content:"";
  display:block;
}

.purchase__row{
  position: relative;
}

.purchase__row::before{
  content:"";
  position:absolute;
  left:0;
  right:34px; /* 330px line inside 364 */
  bottom: 0;
  border-bottom: 1px solid #CFC1B1;
}

.purchase__btn-wrap{
  width: 364px;
  height: 56px;
  display:flex;
  align-items: flex-start;
}

.purchase__btn{
  display:flex;
  justify-content:center;
  align-items:center;
  padding: 16px 24px;
  gap: 6px;
  min-height: 56px;
  background: #F9B250;
  border-radius: 4px;
  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.10;
  text-transform: uppercase;
  color: #303442;
  text-decoration:none;
  border:none;
  cursor:pointer;
  transition: filter 0.2s;
}
.purchase__btn:hover{
  filter: brightness(0.88);
  color:#303442;
}

/* Responsive */
@media (max-width: 1399.98px){
  .purchase__inner,
  .purchase__head,
  .purchase__tabs,
  .purchase__slider{
    width: 100%;
  }
  .purchase__title-wrap{ width: 100%; }
  .purchase__tabs{ flex-wrap: wrap; justify-content: flex-start; }
}

@media (max-width: 991.98px){
  .section.section--purchase{ padding: 40px 0 56px; }
  .purchase__inner{ padding: 0 16px; }
  .purchase__head{ padding: 0; height: auto; }
  .purchase__tabs{ padding: 0; height: auto; gap: 16px 24px; }
  .purchase__slider{ padding: 0 16px; flex-direction: column; gap: 24px; }
  .purchase__title{ font-size: 32px; width: auto; height: auto; }
  .purchase__media{ width: 100%; height: 280px; }
  .purchase__info{ width: 100%; height: auto; }
  .purchase__h3{ width: 100%; }
  .purchase__table, .purchase__row{ width: 100%; }
  .purchase__row::before{ right: 0; }
}



/* SECTION--MORE (1440+ / dop-link) */
.section.section--more{
  display:flex;
  flex-direction: column;
  align-items: center;
  padding: 64px 0 36px;
  gap: 48px;
  width: 100%;
  background: #FFFFFF;
}

.more__inner{
  width: 1440px;
  max-width: 100%;
  display:flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
}

.more__title-wrap{
  display:flex;
  justify-content: center;
  align-items: center;
  padding: 0 80px;
  width: 1440px;
  max-width: 100%;
  height: 59px;
}

.more__title{
  width: 1280px;
  max-width: 100%;
  font-family: 'Mulish', sans-serif;
  font-weight: 300;
  font-size: 56px;
  line-height: 105%;
  text-align: center;
  color: #C3B29E;
}

.more__cards{
  display:flex;
  flex-direction: row;
  align-items: stretch;
  padding: 0 80px;
  gap: 24px;
  width: 1440px;
  max-width: 100%;
  height: auto;
}

.more-card{
  display:flex;
  flex-direction: column;
  align-items: flex-start;
  width: 410.67px;
  height: auto;
  align-self: stretch;
}

.more-card__header{
  display:flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 8px;
  width: 410.67px;
  height: 336px;
  background: #F8F8F8;
  border-radius: 4px;
}

.more-card__image{
  width: 394.67px;
  height: 320px;
  border-radius: 4px;
  background: linear-gradient(135deg,#ddd,#bbb);
  overflow: hidden;
}

.more-card__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.more-card__footer{
  display:flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 24px 16px;
  gap: 12px;
  width: 410.67px;
  height: auto;
  flex: 1;
  background: #F8F8F8;
  border-radius: 4px;
}

.more-card__title{
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 115%;
  color: #303442;
}
.more-card__title a,
.more-card__title a:hover,
.more-card__title a:visited {
  color: inherit;
  text-decoration: none;
}

/*.more-card__text{
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 110%;
  color: #303442;
}*/

@media (max-width: 1399.98px){
  .more__inner,
  .more__title-wrap,
  .more__cards{
    width: 100%;
  }
  .more__cards{
    flex-wrap: wrap;
    height: auto;
  }
}

@media (max-width: 991.98px){
  .section.section--more{
    padding: 40px 0 24px;
  }
  .more__cards{
    flex-direction: column;
    padding: 0 16px;
    gap: 16px;
  }
  .more-card{
    width: 100%;
    height: auto;
  }
  .more-card__header,
  .more-card__footer{
    width: 100%;
  }
  .more-card__image{
    width: 100%;
  }
  .more__title{
    font-size: 32px;
  }
}



/* SECTION--NEWS (1440+ / news) */

.section.section--news{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:36px 0;
  gap:48px;
  background:#FFFFFF;
}

.news__inner{
  width:1440px;
  max-width:100%;
  display:flex;
  flex-direction:column;
  gap:48px;
}

.news__title-wrap{
  display:flex;
  justify-content:center;
  padding:0 80px;
}

.news__title{
  width:1280px;
  max-width:100%;
  font-family:'Mulish',sans-serif;
  font-weight:300;
  font-size:56px;
  line-height:105%;
  text-align:center;
  color:#C3B29E;
}

.news__control{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 80px;
}

.news__tabs{
  display:flex;
  gap:24px;
}

.news-tab{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-family:'Montserrat',sans-serif;
  font-size:18px;
  font-weight:500;
  color:#303442;
}

.news-tab.is-active{
  font-weight:700;
  color:#C3B29E;
}

.news-tab__line{
  width:100%;
  border:2px solid #C3B29E;
}

.news__subscribe-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px 24px;
  height:56px;
  background:#EAEBEC;
  border-radius:4px;
  font-family:'Montserrat',sans-serif;
  font-weight:600;
  font-size:16px;
  text-transform:uppercase;
  color:#303442;
  text-decoration:none;
}

.news__grid{
  display:flex;
  gap:24px;
  padding:0;
}

.news-card{
  width:302px;
  height:428px;
  display:flex;
  flex-direction:column;
}

.news-card__header{
  height:320px;
  background:#F8F8F8;
  border-radius:4px;
}

.news-card__footer{
  height:110px;
  padding:24px 16px;
  background:#F8F8F8;
  border-radius:4px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.news-card__text{
  font-family:'Montserrat',sans-serif;
  font-size:16px;
  color:#303442;
}

.news-card__date{
  font-family:'Montserrat',sans-serif;
  font-size:12px;
  text-align:right;
  color:#989899;
}

.news-card--more{
  background:#303442;
  border-radius:4px;
  justify-content:space-between;
}

.news-card__more-body{
  padding:24px 16px;
  height:326px;
  display:flex;
  align-items:center;
}

.news-card__more-title{
  font-family:'Mulish',sans-serif;
  font-size:36px;
  font-weight:300;
  color:#F8F8F8;
}

.news-card__more-footer{
  padding:24px 16px;
}

.news-card__more-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:210px;
  height:56px;
  background:#EAEBEC;
  border-radius:4px;
  font-family:'Montserrat',sans-serif;
  font-weight:600;
  font-size:16px;
  text-transform:uppercase;
  color:#303442;
  text-decoration:none;
}



/* SECTION--STAGES (1440+ / stages) */
.section.section--stages{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:36px 80px 80px;
  gap:48px;
  background:#FFFFFF;
  position: relative;
  z-index: 1;
}

.stages__inner{
  width:1280px;
  max-width:100%;
  display:flex;
  flex-direction:column;
  gap:48px;
}

.stages__title-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
}

.stages__title{
  font-family:'Mulish',sans-serif;
  font-weight:300;
  font-size:56px;
  line-height:105%;
  text-align:center;
  color:#C3B29E;
}

.stages__gallery{
  display:flex;
  gap:24px;
}

.stages-card{
  position:relative;
  width:412px;
  height:320px;
  border-radius:4px;
  padding:16px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:linear-gradient(135deg,#ccc,#999);
  overflow:hidden;
}

.stages-card::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:130px;
  background:linear-gradient(0deg,rgba(48,52,66,0) 0%,#303442 100%);
  transform:matrix(1,0,0,-1,0,0);
}

.stages-card__tag{
  display:flex;
  align-items:center;
  gap:4px;
  padding:4px 8px;
  background:#303442;
  border-radius:4px;
  width:63px;
  z-index:2;
  text-decoration:none;
  transition: opacity 0.2s ease;
}

.stages-card__tag--report{
  width:min-content;
  cursor:default;
}

/* Превью фотоотчёта внутри карточки */
.stages-photo__thumbs{
  position:absolute;
  bottom:56px;
  left:16px;
  right:16px;
  display:flex;
  gap:6px;
  z-index:3;
  overflow:hidden;
}

.stages-photo__thumb{
  flex:1;
  height:52px;
  border-radius:4px;
  overflow:hidden;
  border:2px solid transparent;
  padding:0;
  background:none;
  cursor:pointer;
  transition:border-color 0.2s ease, opacity 0.2s ease;
  opacity:0.75;
}

.stages-photo__thumb:hover{
  border-color:#F8F8F8;
  opacity:1;
}

.stages-photo__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  pointer-events:none;
}
a.stages-card__tag:hover{
  opacity:0.8;
}

.stages-card__live-dot{
  width:8px;
  height:8px;
  background:#FF3B30;
  border-radius:50%;
}

.stages-card__live-text{
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:12px;
  letter-spacing:0.02em;
  color:#F8F8F8;
}

.stages-card__footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  z-index:2;
}

.stages-card__title{
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:20px;
  color:#F8F8F8;
}

.stages-card__btn{
  width:44px;
  height:44px;
  border-radius:192px;
  background:rgba(241,241,242,0.2);
  border:1px solid #EAEBEC;
  backdrop-filter:blur(6px);
}



.pos-card__img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  z-index: 0;
}


/* Unified tabs style (quick/location/advantages/purchase/news) */
.quick__tabs, .location__tabs, .advantages__tabs, .purchase__tabs, .news__tabs {
  --tab-active: #C3B29E;
  --tab-inactive: #303442;
}

.quick__tab,
.location__tab,
.advantages__tab,
.purchase__tab,
.news-tab {
  position: relative;
  color: var(--tab-inactive);
}

/* active text color */
.quick__tab.is-active,
.location__tab.is-active,
.advantages__tab.is-active,
.purchase__tab.is-active,
.news-tab.is-active {
  color: var(--tab-active);
}

/* underline: default hidden */
.quick__tab::after,
.location__tab::after,
.advantages__tab::after,
.purchase__tab::after,
.news-tab::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 2px;
  background: var(--tab-active);
  opacity: 0;
  pointer-events: none;
}

/* show underline only for active */
.quick__tab.is-active::after,
.location__tab.is-active::after,
.advantages__tab.is-active::after,
.purchase__tab.is-active::after,
.news-tab.is-active::after {
  opacity: 1;
}

/* Hide legacy line elements when inactive (if present) */
.quick__tab-line,
.purchase__tab-line,
.advantages__line,
.news-tab__line {
  background: var(--tab-active);
}

.quick__tab:not(.is-active) .quick__tab-line,
.purchase__tab:not(.is-active) .purchase__tab-line,
.advantages__tab:not(.is-active) .advantages__line,
.news-tab:not(.is-active) .news-tab__line {
  opacity: 0;
}

/* ensure buttons don't get default styles in some browsers */
.location__tab,
.advantages__tab,
.news-tab {
  background: transparent;
  border: 0;
  padding: 0;
}

/* Bootstrap tabs: treat .active same as .is-active for our tab buttons */
.quick__tab.active,
.location__tab.active,
.advantages__tab.active,
.purchase__tab.active,
.news-tab.active {
  color: var(--tab-active);
}
.quick__tab.active::after,
.location__tab.active::after,
.advantages__tab.active::after,
.purchase__tab.active::after,
.news-tab.active::after {
  opacity: 1;
}
.quick__tab:not(.is-active):not(.active) .quick__tab-line,
.purchase__tab:not(.is-active):not(.active) .purchase__tab-line,
.advantages__tab:not(.is-active):not(.active) .advantages__line,
.news-tab:not(.is-active):not(.active) .news-tab__line {
  opacity: 0;
}

/* Prevent Bootstrap's default nav/tab styles from affecting layout */
.quick__tabs.nav,
.location__tabs.nav,
.advantages__tabs.nav,
.purchase__tabs.nav,
.news__tabs.nav {
  border-bottom: 0;
}


/* ===========================
   About-hotspot: active state
   =========================== */

.about-hotspot {
  transition: background 0.2s ease, box-shadow 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

/* Plus / cross icon via pseudo-elements */
.about-hotspot::before,
.about-hotspot::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 18px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  opacity: 1;
  transition: transform 0.2s ease, background 0.2s ease, opacity 0.2s ease;
  pointer-events: none;
  transform-origin: center;
}
.about-hotspot::before { transform: translate(-50%, -50%) rotate(90deg); }
.about-hotspot::after  { transform: translate(-50%, -50%) rotate(0deg); }

/* Active state: grey background + cross */
.about-hotspot.is-active {
  background: #8A8D98 !important;
  box-shadow: 0 4px 8px rgba(48, 52, 66, 0.18);
}
.about-hotspot.is-active::before { transform: translate(-50%, -50%) rotate(45deg); }
.about-hotspot.is-active::after  { transform: translate(-50%, -50%) rotate(-45deg); }

/* Tooltip */
.about-hotspot__tooltip {
  position: absolute;
  bottom: calc(100% + 14px);
  left: 50%;
  transform: translateX(-50%) translateY(6px);
  background: #303442;
  color: #F8F8F8;
  font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  padding: 12px 16px;
  border-radius: 6px;
  width: 220px;
  text-align: left;
  white-space: normal;
  box-shadow: 0 8px 24px rgba(48, 52, 66, 0.28);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
  z-index: 20;
}

/* Arrow under tooltip */
.about-hotspot__tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 7px solid transparent;
  border-top-color: #303442;
}

/* Show tooltip on active hotspot */
.about-hotspot.is-active .about-hotspot__tooltip {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}


/* ===========================
   Whitebox-hotspot: active state
   =========================== */

.whitebox__hotspot {
  transition: background 0.2s ease, box-shadow 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  cursor: pointer;
}

.whitebox__hotspot::before,
.whitebox__hotspot::after {
  content: '';
  position: absolute;
  width: 18px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}
.whitebox__hotspot::before { transform: rotate(45deg); }
.whitebox__hotspot::after  { transform: rotate(-45deg); }

.whitebox__hotspot.is-active {
  background: #8A8D98 !important;
  box-shadow: 0 4px 8px rgba(48, 52, 66, 0.18);
}
.whitebox__hotspot.is-active::before,
.whitebox__hotspot.is-active::after {
  opacity: 1;
}

.whitebox__hotspot__tooltip {
  position: absolute;
  bottom: calc(100% + 14px);
  left: 50%;
  transform: translateX(-50%) translateY(6px);
  background: #303442;
  color: #F8F8F8;
  font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  padding: 12px 16px;
  border-radius: 6px;
  width: 220px;
  text-align: left;
  white-space: normal;
  box-shadow: 0 8px 24px rgba(48, 52, 66, 0.28);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
  z-index: 20;
}

.whitebox__hotspot__tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 7px solid transparent;
  border-top-color: #303442;
}

.whitebox__hotspot.is-active .whitebox__hotspot__tooltip {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}


/* ===========================
   Gallery Swiper fix
   =========================== */

/* Gallery width / layout fixes */
.section.section--gallery {
  padding: 64px 0 80px;
}

.section--gallery .gallery__inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}

.section--gallery .gallery__title-wrap,
.section--gallery .gallery__tabs,
.section--gallery .gallery__slider,
.section--gallery .gallery__slider .swiper {
  width: 100% !important;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

/* Обёртка слайдера — убираем фиксированные размеры, даём Swiper работать */
.section--gallery .gallery__slider {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  flex-direction: unset !important;
  align-items: unset !important;
  gap: 0 !important;
  padding: 0 !important;
}

/* Swiper занимает всю ширину */
.section--gallery .gallery__slider .swiper {
  width: 100%;
  overflow: hidden;
}

/* Слайд — фиксированная высота, картинка заполняет */
.section--gallery .swiper-slide {
  height: 406px;
  border-radius: 4px;
  overflow: hidden;
  position: relative;
  background: #ddd;
}

.section--gallery .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 4px;
}

/* Caption поверх картинки (gallery-2) */
.gallery2-slide {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  text-decoration: none;
}

.gallery2__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 14px 16px;
  background: linear-gradient(0deg, rgba(48,52,66,0.85) 0%, rgba(48,52,66,0) 100%);
  color: #F8F8F8;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 14px;
  font-weight: 600;
  border-radius: 0 0 4px 4px;
}

/* gallery__inner — вертикальная колонка */
.section--gallery .gallery__inner {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* title-wrap — строка с заголовком и стрелками */
.section--gallery .gallery__title-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: auto !important;
}

/* Адаптив */
@media (max-width: 991.98px) {
  .section--gallery .swiper-slide {
    height: 280px;
  }
}

@media (max-width: 575.98px) {
  .section--gallery .swiper-slide {
    height: 220px;
  }
}


/* ===========================
   SITE FOOTER
   =========================== */

.site-footer {
  font-family: 'Montserrat', system-ui, sans-serif;
  background: #303442;
  color: #fff;
}

/* ── Top section ── */
.site-footer__top {
  padding: 64px 80px 56px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.site-footer__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 0;
  align-items: flex-start;
}

/* Brand column */
.site-footer__brand {
  flex: 0 0 320px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-right: 12px;
}

.site-footer__logo {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: #fff;
}

.site-footer__logo-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.site-footer__logo-title {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.1;
  color: #fff;
}

.site-footer__logo-sub {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #989898;
}

.site-footer__socials {
  display: flex;
  align-items: center;
  gap: 16px;
}

.site-footer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0.85;
  transition: opacity 0.2s;
}

.site-footer__social-link:hover { opacity: 1; }

.site-footer__copy {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #fff;
}

/* Nav columns */
.site-footer__nav {
  flex: 0 0 200px;
  padding: 0 12px;
}

.site-footer__nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.site-footer__nav ul li a {
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 30px;
  color: #fff;
  text-decoration: none;
  transition: opacity 0.2s;
}

.site-footer__nav ul li a:hover { opacity: 0.7; }

/* Contact columns */
.site-footer__contacts {
  flex: 1 1 0;
  padding: 0 12px;
}

.site-footer__contacts h4 {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  color: #fff;
}

.site-footer__contacts ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.site-footer__contact-item {
  position: relative;
  padding: 6px 0 6px 22px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #fff;
}

.site-footer__contact-item a {
  color: #fff;
  text-decoration: none;
  transition: opacity 0.2s;
}

.site-footer__contact-item a:hover { opacity: 0.7; }

/* Icons via pseudo */
.site-footer__contact-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  background-color: #fff;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
}

.site-footer__contact-item--phone::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.6 1.6C3.2.8 2.2.4 1.4.8L.6 1.2C-.4 1.8-.2 3.4.4 4.8c1.4 3.4 4.4 6.4 7.8 7.8 1.4.6 3 .8 3.6-.2l.4-.8c.4-.8 0-1.8-.8-2.2L9.6 8.6c-.6-.4-1.4-.2-1.8.4l-.4.4C6 8.6 4.4 7 3.6 5.6l.4-.4c.6-.4.8-1.2.4-1.8L3.6 1.6z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.6 1.6C3.2.8 2.2.4 1.4.8L.6 1.2C-.4 1.8-.2 3.4.4 4.8c1.4 3.4 4.4 6.4 7.8 7.8 1.4.6 3 .8 3.6-.2l.4-.8c.4-.8 0-1.8-.8-2.2L9.6 8.6c-.6-.4-1.4-.2-1.8.4l-.4.4C6 8.6 4.4 7 3.6 5.6l.4-.4c.6-.4.8-1.2.4-1.8L3.6 1.6z'/%3E%3C/svg%3E");
}

.site-footer__contact-item--geo::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a5 5 0 00-5 5c0 3.5 5 9 5 9s5-5.5 5-9a5 5 0 00-5-5zm0 7a2 2 0 110-4 2 2 0 010 4z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a5 5 0 00-5 5c0 3.5 5 9 5 9s5-5.5 5-9a5 5 0 00-5-5zm0 7a2 2 0 110-4 2 2 0 010 4z'/%3E%3C/svg%3E");
}

.site-footer__contact-item--clock::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6.5' stroke='white' stroke-width='1.5' fill='none'/%3E%3Cpath d='M8 4v4l2.5 2.5' stroke='white' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6.5' stroke='white' stroke-width='1.5' fill='none'/%3E%3Cpath d='M8 4v4l2.5 2.5' stroke='white' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-color: transparent;
  border: 1.5px solid #fff;
  border-radius: 50%;
  width: 13px;
  height: 13px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 2v3l2 2' stroke='white' stroke-width='1.2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 70%;
  background-position: center;
  -webkit-mask-image: none;
  mask-image: none;
}

.site-footer__contact-item--email::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect x='1' y='3' width='14' height='10' rx='1.5' stroke='white' stroke-width='1.5' fill='none'/%3E%3Cpath d='M1 4l7 5 7-5' stroke='white' stroke-width='1.5' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect x='1' y='3' width='14' height='10' rx='1.5' stroke='white' stroke-width='1.5' fill='none'/%3E%3Cpath d='M1 4l7 5 7-5' stroke='white' stroke-width='1.5' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect x='1' y='3' width='14' height='10' rx='1.5' stroke='white' stroke-width='1.5' fill='none'/%3E%3Cpath d='M1 4l7 5 7-5' stroke='white' stroke-width='1.5' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-mask-image: none;
  mask-image: none;
}

/* ── Bottom section ── */
.site-footer__bottom {
  padding: 32px 80px 40px;
}

.site-footer__bottom-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 32px;
}

/* Badges */
.site-footer__badges {
  flex: 0 0 320px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0;
}

.site-footer__badge {
  flex: 0 0 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
}

.site-footer__badge--nadejny svg {
  width: 142px;
  height: 142px;
}

.site-footer__erz-text {
  margin: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  color: #fff;
  text-align: center;
}

/* Disclaimer */
.site-footer__disclaimer {
  flex: 1 1 0;
  padding: 32px 12px 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.site-footer__disclaimer p {
  margin: 0;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.5;
  color: #989898;
}

/* ── Responsive ── */
@media (max-width: 1199.98px) {
  .site-footer__top { padding: 48px 24px 40px; }
  .site-footer__bottom { padding: 24px 24px 32px; }
  .site-footer__inner { flex-wrap: wrap; gap: 32px; }
  .site-footer__brand { flex: 0 0 100%; padding-right: 0; }
  .site-footer__nav { flex: 0 0 calc(50% - 16px); }
  .site-footer__contacts { flex: 0 0 calc(50% - 16px); }
  .site-footer__bottom-inner { flex-direction: column; }
  .site-footer__badges { flex: none; width: 100%; justify-content: flex-start; }
  .site-footer__disclaimer { padding-top: 0; }
}

@media (max-width: 575.98px) {
  .site-footer__top { padding: 32px 16px 32px; }
  .site-footer__bottom { padding: 24px 16px; }
  .site-footer__nav,
  .site-footer__contacts { flex: 0 0 100%; }
  .site-footer__badges { flex-direction: column; align-items: flex-start; }
}


/* ===========================
   SECTION--FORM2  (Figma: 1440+ / Form #2)
   =========================== */

.section.section--form2 {
  padding: 0 0px;
  background: transparent;
  overflow: visible;
  position: relative;
  z-index: 3;
}

.form2__inner {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 48px 80px;
  gap: 10px;
  background: #C3B29E;
  border-radius: 4px;
  min-height: 322px;
  position: relative;
  overflow: visible;
}

/* ── Left column ── */
.form2__content {
  flex: 0 0 789px;
  max-width: 789px;
  display: flex;
  flex-direction: column;
  gap: 36px;
  z-index: 2;
}

.form2__title {
  margin: 0;
  font-family: 'Mulish', system-ui, sans-serif;
  font-weight: 300;
  font-size: 36px;
  line-height: 1.1;
  color: #303442;
  max-width: 423px;
}

.form2__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Form row */
.form2__form {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 16px;
  flex-wrap: wrap;
}

/* Field (label + input) */
.form2__field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 256px;
  min-width: 192px;
}

.form2__label {
  padding: 0 16px;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.02em;
  color: #303442;
}

.form2__input {
  box-sizing: border-box;
  width: 256px;
  min-width: 192px;
  height: 56px;
  padding: 16px;
  background: #fff;
  border: 1px solid #F8F8F8;
  border-radius: 4px;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #303442;
  outline: none;
  transition: border-color 0.2s;
}

.form2__input::placeholder {
  color: #989899;
}

.form2__input:focus {
  border-color: #C3B29E;
}

/* Button */
.form2__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 56px;
  min-height: 56px;
  padding: 16px 24px;
  background: #F9B250;
  border: none;
  border-radius: 4px;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.1;
  text-transform: uppercase;
  color: #303442;
  cursor: pointer;
  white-space: nowrap;
  transition: filter 0.2s;
}

.form2__btn:hover {
  filter: brightness(0.97);
}

.form2__btn-icon {
  flex-shrink: 0;
}

/* Disclaimer */
.form2__disclaimer {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.02em;
  color: #68696B;
  max-width: 380px;
}

.form2__disclaimer a {
  color: #68696B;
  text-decoration: underline;
}

/* ── Right column: image + logo ── */
.form2__image {
  flex: 1 1 0;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-end;
  align-self: stretch;
  padding: 10px 0 36px;
  min-height: 226px;
  overflow: visible;
}

/* Photo — выступает снизу за границу секции, как в макете */
.form2__photo {
  position: absolute;
  right: 0;
  top: -120px;
  width: 362px;
  height: 370px;
  object-fit: contain;
  object-position: top center;
  z-index: 5;
  pointer-events: none;
}

/* Logo */
.form2__logo {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  margin-right: 8px;
}

.form2__logo-title {
  font-family: 'Mulish', system-ui, sans-serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 1;
  color: #F8F8F8;
  letter-spacing: 0.5px;
}

.form2__logo-sub {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #F8F8F8;
}

/* ── Responsive ── */
@media (max-width: 1199.98px) {
  .section.section--form2 {
    padding: 0 24px;
  }
  .form2__inner {
    padding: 48px 40px;
  }
  .form2__content {
    flex: 1 1 auto;
    max-width: 100%;
  }
  .form2__photo {
    width: 280px;
    height: 290px;
    top: -90px;
  }
}

@media (max-width: 991.98px) {
  .section.section--form2 {
    padding: 0 16px;
  }
  .form2__inner {
    flex-direction: column;
    padding: 40px 24px 200px;
    overflow: hidden;
  }
  .form2__image {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 200px;
    padding: 0;
  }
  .form2__photo {
    position: static;
    width: 200px;
    height: 240px;
    bottom: 0;
  }
  .form2__logo {
    display: none;
  }
}

@media (max-width: 575.98px) {
  .form2__inner {
    padding: 32px 16px 220px;
  }
  .form2__form {
    flex-direction: column;
    align-items: stretch;
  }
  .form2__field,
  .form2__input {
    width: 100%;
  }
  .form2__btn {
    width: 100%;
  }
}


/* ===========================
   SECTION--NEWS  (redesign by Figma)
   =========================== */

.section.section--news {
  width: 100%;
  max-width: 100%;
  background: #fff;
  padding: 64px 0 80px;
  overflow-x: hidden;
}

.news__inner {
  width: 100%;
  max-width: 1280px;
  min-width: 0;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.news__inner > * {
  min-width: 0;
}

/* Title */
.news__title-wrap {
  text-align: center;
  margin-bottom: 48px;
}

.news__title {
  margin: 0;
  font-family: 'Mulish', system-ui, sans-serif;
  font-weight: 300;
  font-size: 56px;
  line-height: 1.05;
  color: #C3B29E;
}

/* Controls row */
.news__control {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 32px;
  gap: 16px;
}

/* Tabs */
.news__tabs {
  display: flex;
  align-items: flex-end;
  gap: 32px;
  min-width: 0;
  border: none !important;
}

.news-tab {
  background: none;
  border: none;
  padding: 0 0 6px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: relative;
}

.news-tab__label {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 18px;
  font-weight: 500;
  color: #303442;
  line-height: 1.2;
  transition: color 0.2s, font-weight 0.2s;
}

.news-tab.is-active .news-tab__label,
.news-tab.active .news-tab__label {
  font-weight: 700;
  color: #C3B29E;
}

.news-tab::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: #C3B29E;
  opacity: 0;
  transition: opacity 0.2s;
}

.news-tab.is-active::after,
.news-tab.active::after {
  opacity: 1;
}

/* Subscribe button */
.news__subscribe-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 56px;
  padding: 16px 24px;
  background: #EAEBEC;
  border-radius: 4px;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #303442;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.2s;
}

.news__subscribe-btn:hover {
  background: #dfe0e2;
  color: #303442;
}

/* Tab content wrapper */
.news__tab-content {
  width: 100%;
}

/* Cards grid */
.news__grid {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

/* News card */
.news-card {
  display: flex;
  flex-direction: column;
  border-radius: 4px;
  overflow: hidden;
  background: #F8F8F8;
}

.news-card__img-wrap {
  height: 320px;
  overflow: hidden;
  flex-shrink: 0;
  background: #ddd;
}

.news-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.news-card:hover .news-card__img {
  transform: scale(1.04);
}

.news-card__footer {
  padding: 20px 16px 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  gap: 8px;
}

.news-card__text {
  margin: 0;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  color: #303442;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.news-card__date {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: #989899;
  text-align: right;
  display: block;
}

/* CTA "more" card */
.news-card--more {
  background: #303442;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.news-card__more-body {
  flex: 1;
  display: flex;
  align-items: center;
  padding: 24px 16px;
}

.news-card__more-title {
  margin: 0;
  font-family: 'Mulish', system-ui, sans-serif;
  font-weight: 300;
  font-size: 36px;
  line-height: 1.1;
  color: #F8F8F8;
}

.news-card__more-footer {
  padding: 0 16px 24px;
}

.news-card__more-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  height: 56px;
  background: #EAEBEC;
  border-radius: 4px;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #303442;
  text-decoration: none;
  transition: background 0.2s;
}

.news-card__more-btn:hover {
  background: #dfe0e2;
  color: #303442;
}

/* Responsive */
@media (max-width: 1199.98px) {
  .news__inner { padding: 0 24px; }
  .news__title { font-size: 40px; }
}

@media (max-width: 991.98px) {
  .section.section--news { padding: 48px 0 56px; }
  .news__title { font-size: 32px; }
  .news__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .news-card__img-wrap { height: 220px; }
}

@media (max-width: 575.98px) {
  .news__inner { padding: 0 16px; }
  .news__control { flex-direction: column; align-items: flex-start; min-width: 0; }
  .news__tabs { flex-wrap: wrap; gap: 16px; }
  .news__subscribe-btn { max-width: 100%; white-space: normal; }
  .news__grid { grid-template-columns: 1fr; }
  .news-card { width: 100%; max-width: 100%; }
  .news-card__img-wrap { height: 200px; }
}

@media (max-width: 375px) {
  .news__inner { padding: 0 12px; }
  .news__title { font-size: 28px; }
  .news__control { margin-bottom: 24px; gap: 12px; }
  .news__tabs { gap: 12px; }
  .news-tab__label { font-size: 16px; }
  .news__subscribe-btn { width: 100%; padding: 14px 16px; }
  .news-card__img-wrap { height: 184px; }
}


/* ===========================
   STICKY NAV
   =========================== */

.site-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: #313542;
  box-shadow: 0 2px 24px rgba(0,0,0,0.18);
}

.site-nav.is-scrolled {
  background: #313542;
}

.site-nav__top {
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.site-nav__top-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 80px;
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.site-nav__top-left,
.site-nav__top-right {
  display: flex;
  align-items: center;
  gap: 14px;
}

.site-nav__city-select {
  min-width: 122px;
  height: 28px;
  padding: 0 28px 0 12px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  color: #fff;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, rgba(255,255,255,0.9) 50%), linear-gradient(135deg, rgba(255,255,255,0.9) 50%, transparent 50%);
  background-position: calc(100% - 13px) 11px, calc(100% - 8px) 11px;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

.site-nav__city-select option {
  color: #303442;
}

.site-nav__city-select:hover,
.site-nav__city-select:focus {
  border-color: rgba(249,178,80,0.72);
  background-color: rgba(255,255,255,0.1);
}

.site-nav__top-phone {
  color: rgba(255,255,255,0.9);
  text-decoration: none;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: color 0.2s ease;
}

.site-nav__top-phone:hover {
  color: #F9B250;
}

.site-nav__social {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.88);
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.site-nav__social svg {
  width: 15px;
  height: 15px;
}

.site-nav__social:hover {
  color: #F9B250;
  background: rgba(249,178,80,0.12);
  border-color: rgba(249,178,80,0.28);
  transform: translateY(-1px);
}

.site-nav__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 80px;
  height: 72px;
  display: flex;
  align-items: center;
  gap: 40px;
}

/* Logo */
.site-nav__logo {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  flex-shrink: 0;
}

.site-nav__logo-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.site-nav__logo-title {
  font-family: 'Mulish', system-ui, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1;
  color: #fff;
  letter-spacing: 0.5px;
}

.site-nav__logo-sub {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 600;
  font-size: 8px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.65);
}

/* Menu */
.site-nav__menu {
  display: flex;
  align-items: center;
  gap: 32px;
  flex: 1;
}

.site-nav__link {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s;
  position: relative;
}

.site-nav__link::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 2px;
  background: #F9B250;
  transform: scaleX(0);
  transition: transform 0.2s ease;
}

.site-nav__link:hover {
  color: #fff;
}

.site-nav__link:hover::after {
  transform: scaleX(1);
}

/* CTA button */
.site-nav__cta {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 0 20px;
  background: #F9B250;
  border-radius: 4px;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #303442;
  text-decoration: none;
  white-space: nowrap;
  transition: filter 0.2s;
}

.site-nav__cta:hover {
  filter: brightness(0.96);
  color: #303442;
}

/* Burger button */
.site-nav__burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 10px;
  background: none;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
  margin-left: auto;
}

.site-nav__burger span {
  display: block;
  width: 24px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transform-origin: center;
}

/* Burger → X when open */
.site-nav__burger.is-open span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.site-nav__burger.is-open span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
.site-nav__burger.is-open span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* ── Mobile Drawer ── */
.nav-drawer {
  position: fixed;
  inset: 0;
  z-index: 999;
  pointer-events: none;
}

.nav-drawer.is-open {
  pointer-events: all;
}

.nav-drawer__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0);
  transition: background 0.3s ease;
}

.nav-drawer.is-open .nav-drawer__overlay {
  background: rgba(0,0,0,0.45);
}

.nav-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  width: 300px;
  max-width: 85vw;
  height: 100%;
  background: #303442;
  display: flex;
  flex-direction: column;
  padding: 80px 32px 40px;
  gap: 8px;
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: -8px 0 32px rgba(0,0,0,0.2);
}

.nav-drawer.is-open .nav-drawer__panel {
  transform: translateX(0);
}

.nav-drawer__close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.1);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.2s;
}

.nav-drawer__close:hover {
  background: rgba(255,255,255,0.2);
}

.nav-drawer__close svg path {
  stroke: #fff;
}

.nav-drawer__menu {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}

.nav-drawer__link {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 18px;
  font-weight: 500;
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  transition: color 0.2s;
}

.nav-drawer__link:hover {
  color: #F9B250;
}

.nav-drawer__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 56px;
  background: #F9B250;
  border-radius: 4px;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 600;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #303442;
  text-decoration: none;
  margin-top: 16px;
  transition: filter 0.2s;
}

.nav-drawer__cta:hover {
  filter: brightness(0.96);
  color: #303442;
}

/* Drawer extras: LIVE badge */
.nav-drawer__live {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 0;
}
.nav-drawer__live .stages-card__tag {
  background: rgba(255,255,255,0.08);
}

/* Drawer extras: contacts */
.nav-drawer__contacts {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.nav-drawer__phone {
  color: rgba(255,255,255,0.9);
  text-decoration: none;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: color 0.2s;
}
.nav-drawer__phone:hover {
  color: #F9B250;
}
.nav-drawer__socials {
  display: flex;
  align-items: center;
  gap: 10px;
}
.nav-drawer__socials .site-nav__social {
  width: 36px;
  height: 36px;
}
.nav-drawer__socials .site-nav__social svg {
  width: 18px;
  height: 18px;
}

/* ── Responsive ── */
@media (max-width: 1199.98px) {
  .site-nav__top-inner,
  .site-nav__inner {
    padding: 0 32px;
  }

  .site-nav__inner {
    gap: 16px;
  }
  .site-nav__menu {
    gap: 14px;
  }
  .site-nav__link {
    font-size: 12px;
  }
  .site-nav__inner > .stages-card__tag {
    display: none;
  }
  .site-nav__cta {
    padding: 0 14px;
    font-size: 12px;
    height: 40px;
  }
}

@media (max-width: 991.98px) {
  body {
    padding-top: 104px;
  }
  .site-nav__menu,
  .site-nav__cta,
  .site-nav__inner > .stages-card__tag {
    display: none;
  }
  .site-nav__burger {
    display: flex;
  }
  .site-nav__top-inner,
  .site-nav__inner {
    padding: 0 16px;
  }

  .site-nav__top-inner {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 10px;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .site-nav__top-left,
  .site-nav__top-right {
    width: auto;
    min-width: 0;
  }

  .site-nav__top-left {
    flex: 1 1 auto;
  }

  .site-nav__top-right {
    flex: 0 0 auto;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: nowrap;
  }

  .site-nav__city-select {
    min-width: 0;
    max-width: 100%;
    width: auto;
    white-space: nowrap;
  }

  .site-nav__top-phone {
    font-size: 12px;
    white-space: nowrap;
  }

  .site-nav__social {
    flex-shrink: 0;
  }
}

@media (max-width: 575.98px) {
  .site-nav__top-inner {
    gap: 8px;
    padding-left: 12px;
    padding-right: 12px;
  }

  .site-nav__city-select {
    min-width: 108px;
    padding-left: 10px;
    padding-right: 24px;
    background-position: calc(100% - 12px) 11px, calc(100% - 7px) 11px;
  }

  .site-nav__top-right {
    gap: 6px;
  }

  .site-nav__top-phone {
    font-size: 11px;
    letter-spacing: 0;
  }

  .site-nav__social {
    width: 26px;
    height: 26px;
  }
}


/* ===========================
   SECTION--QUICK  (redesign by Figma)
   =========================== */

.section.section--quick {
  background: #fff;
  padding: 24px 80px;
}

.quick__wrap {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 16px;
  height: 168px;
}

/* ── Filter panel ── */
.quick__panel {
  flex: 1 1 0;
  background: #F8F8F8;
  border-radius: 4px;
  padding: 24px 36px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  min-width: 0;
}

/* Header row */
.quick__head {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.quick__title {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.15;
  color: #303442;
  white-space: nowrap;
}

/* Prices */
.quick__prices {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 20px;
}

.quick__price-item {
  display: flex;
  align-items: baseline;
  gap: 2px;
  font-family: 'Montserrat', system-ui, sans-serif;
  color: #303442;
}

.quick__price-prefix {
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

.quick__price-item strong {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.1;
}

.quick__price-measure {
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.02em;
}

/* Free apartments counter */
.quick__free-count {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.quick__free-label {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 500;
  font-size: 14px;
  color: #303442;
  opacity: 0.65;
}
.quick__free-num {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #303442;
  transition: opacity 0.2s ease;
}

/* Body row: tabs + CTA */
.quick__body {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.quick__tabs-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex: 1 1 0;
  overflow: hidden;
}

/* Override old nav styles */
.section--quick .quick__tabs,
.section--advantages .advantages__tabs {
  display: flex !important;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 8px;
  border: none !important;
  margin: 0 !important;
  padding: 0 0 4px !important;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #C3B29E #EAEBEC;
}

.section--quick .quick__tabs::-webkit-scrollbar,
.section--advantages .advantages__tabs::-webkit-scrollbar {
  height: 3px;
}

.section--quick .quick__tabs::-webkit-scrollbar-track,
.section--advantages .advantages__tabs::-webkit-scrollbar-track {
  background: #EAEBEC;
  border-radius: 2px;
}

.section--quick .quick__tabs::-webkit-scrollbar-thumb,
.section--advantages .advantages__tabs::-webkit-scrollbar-thumb {
  background: #C3B29E;
  border-radius: 2px;
}

.section--quick .quick__tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 12px 16px;
  background: #EAEBEC;
  border: none;
  border-radius: 4px;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.1;
  color: #303442;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s;
}

.section--quick .quick__tab:hover {
  background: #dfe0e2;
}

.section--quick .quick__tab.is-active,
.section--quick .quick__tab.active {
  background: #DEE0E3;
}

/* CTA button */
.section--quick .quick__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 44px;
  padding: 12px 20px;
  background: #F9B250;
  border-radius: 4px;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.1;
  color: #303442;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  transition: filter 0.2s;
}

.section--quick .quick__cta:hover {
  filter: brightness(0.97);
  color: #303442;
}

/* ── Banner ── */
.quick__banner {
  width: 372px;
  flex-shrink: 0;
  height: 168px;
  background: #C3B29E;
  border-radius: 4px;
  position: relative;
  overflow: hidden;
}

.quick__banner-building {
  position: absolute;
  right: -3px;
  bottom: 0;
  width: 278px;
  height: 160px;
  object-fit: cover;
  object-position: left center;
  z-index: 0;
}

.quick__banner-family {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 130px;
  height: 129px;
  object-fit: cover;
  object-position: top center;
  z-index: 1;
}

/* ── Responsive ── */
@media (max-width: 1199.98px) {
  .section.section--quick {
    padding: 24px;
  }
  .quick__wrap {
    height: auto;
  }
  .quick__banner {
    width: 280px;
    height: auto;
    min-height: 120px;
  }
}

@media (max-width: 991.98px) {
  .section.section--quick {
    padding: 16px;
  }
  .quick__wrap {
    flex-direction: column;
    height: auto;
  }
  .quick__panel {
    padding: 20px 24px;
  }
  .quick__banner {
    width: 100%;
    height: 120px;
  }
  .quick__body {
    flex-wrap: wrap;
    gap: 12px;
  }
  .section--quick .quick__cta {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 575.98px) {
  .quick__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}


/* ===========================
   SECTION--GALLERY-2  (Figma redesign)
   =========================== */

.section.section--gallery.section--gallery-2 {
  background: #fff;
  padding: 36px 0 80px;
  overflow: hidden;
}

.g2__inner {
  max-width: 1280px;
  margin: 0 auto;
  /*padding: 0 80px;*/
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Title */
.g2__title {
  margin: 0;
  font-family: 'Mulish', system-ui, sans-serif;
  font-weight: 300;
  font-size: 56px;
  line-height: 1.05;
  text-align: center;
  color: #C3B29E;
}

/* Controls row */
.g2__controls {
  display: flex;
  justify-content: flex-end;
}

.g2__arrows {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 4px;
  gap: 0;
  background: #F1F1F2;
  border-radius: 4px;
  width: 120px;
  height: 64px;
}

.g2__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  background: #F1F1F2;
  transition: background 0.2s;
  flex-shrink: 0;
}

.g2__arrow--next {
  background: #EAEBEC;
}

.g2__arrow:hover {
  background: #dfe0e2;
}

.g2__arrow.swiper-button-disabled {
  opacity: 0.4;
  cursor: default;
}

/* Slider wrapper — overflow visible to show peek of next slide */
.g2__slider-wrap {
  width: 100%;
  overflow: hidden;
}

.g2__swiper {
  overflow: visible !important;
}

/* Slide */
.g2__slide {
  display: block;
  position: relative;
  width: 100%;
  height: 320px;
  border-radius: 4px;
  overflow: hidden;
  text-decoration: none;
  isolation: isolate;
}

.g2__slide-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.g2__slide:hover .g2__slide-img {
  transform: scale(1.04);
}

/* Bottom gradient */
.g2__slide-gradient {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 130px;
  background: linear-gradient(180deg, rgba(48, 52, 66, 0) 0%, #303442 100%);
  z-index: 1;
  border-radius: 0 0 4px 4px;
}

/* Footer: caption + zoom button */
.g2__slide-footer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 16px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  z-index: 2;
}

.g2__slide-title {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 22px;
  color: #C3B29E;
  border-bottom: 2px solid #C3B29E;
  padding-bottom: 2px;
}

.g2__zoom {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: rgba(241, 241, 242, 0.2);
  border: 1px solid #EAEBEC;
  backdrop-filter: blur(6px);
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.2s;
}

.g2__zoom:hover {
  background: rgba(241, 241, 242, 0.35);
}

/* Responsive */
@media (max-width: 1199.98px) {
  .g2__inner { padding: 0 24px; }
  .g2__title { font-size: 40px; }
}

@media (max-width: 767.98px) {
  .section.section--gallery.section--gallery-2 { padding: 32px 0 48px; }
  .g2__inner { padding: 0 16px; }
  .g2__title { font-size: 32px; }
  .g2__slide { height: 240px; }
}

/* Slide width — fixed like Figma (412px), 4th slide peeks */
.g2__swiper .swiper-slide {
  width: 412px;
  height: 320px;
  flex-shrink: 0;
}

@media (max-width: 1199.98px) {
  .g2__swiper .swiper-slide { width: 340px; }
}
@media (max-width: 767.98px) {
  .g2__swiper .swiper-slide { width: 280px; height: 240px; }
}
@media (max-width: 479.98px) {
  .g2__swiper .swiper-slide { width: 240px; }
}

/* ─────────────────────────────────────────────────────────────
   Quick подбор: вывод квартир под фильтром
   ───────────────────────────────────────────────────────────── */
.section--quick .quick__cta{
  border: 0;
  cursor: pointer;
}
.section--quick .quick__cta:disabled{
  opacity: .7;
  cursor: not-allowed;
}

.section--quick .quick__results{
  margin-top: 16px;
}

.section--quick .quick__empty{
  background: #fff;
  border-radius: 10px;
  padding: 16px;
  box-shadow: 0px 20px 28px rgba(117,117,117,0.18);
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: #303442;
}

.section--quick .flat-cards{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 309px));
  gap: 20px;
  justify-content: start;
}

@media (max-width: 991px){
  .section--quick .flat-cards{ grid-template-columns: repeat(2, minmax(0, 309px)); }
}
@media (max-width: 575px){
  .section--quick .flat-cards{ grid-template-columns: 1fr; }
}

.section--quick .flat-card{
  width: 309px;
  height: 376px;
  background: #FFFFFF;
  border-radius: 10px;
  box-shadow: 0px 20px 28px rgba(117, 117, 117, 0.5);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
}

.section--quick .flat-card__link{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  color:inherit;
  text-decoration:none;
}

.section--quick .flat-card__link:hover{
  text-decoration:none;
}

.section--quick .flat-card__media{
  width: 100%;
  height: 289px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 10px;
}

.section--quick .flat-card__img{
  width: 220px;
  max-width: 85%;
  height: 289px;
  object-fit: contain;
  display: block;
}

.section--quick .flat-card__text{
  padding: 10px 16px 18px;
  text-align: center;
  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 22px;
  color: #303442;
}

.section--quick .flat-card__title,
.section--quick .flat-card__area{
  margin: 0;
}
/* =========================================================
   Section titles (Mulish)
   ========================================================= */

.location__title,
.hotspots__title,
.advantages__title,
.more__title,
.news__title,
.stages__title,
.quick__title-tab{
  font-family: 'Mulish', sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 56px;
  line-height: 105%;
  text-align: center;
  color: #C3B29E;
  margin: 0 auto 44px;
  /*max-width: 1100px;*/
}

.purchase__title{
  font-family: 'Mulish', sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 56px;
  line-height: 105%;
  text-align: center;
  color: #303442;
  margin: 0 auto 44px;
  max-width: 1100px;
}

/* Tablet */
@media (max-width: 1024px){
  .quick__title,
  .quick__title-tab,
  .location__title,
  .hotspots__title,
  .about-home__title,
  .advantages__title,
  .more__title,
  .news__title,
  .stages__title,
  .purchase__title{
    font-size: 48px;
    margin-bottom: 36px;
  }
}

/* Mobile */
@media (max-width: 576px){
  .quick__title,
  .quick__title-tab,
  .location__title,
  .hotspots__title,
  .about-home__title,
  .advantages__title,
  .more__title,
  .news__title,
  .stages__title,
  .purchase__title{
    font-size: 32px;
    margin-bottom: 24px;
  }
}


/* === PATCH FIX: remove bold text === */
.quick__text,
.location__subtitle,
.galleryModalText,
.advantages__text,
.purchase__text p,
/*.more-card__text,*/
.news-card__text {
    font-weight: 400 !important;
}

.purchase__text,
.purchase__text p {
    font-family: 'Montserrat', sans-serif;
}

.about-home__text,
.whitebox__text,
.whitebox__hotspot__tooltip {
    font-weight: 400 !important;
}
.img-logo {
    height: 40px;
}

@media (max-width: 991.98px) {
  .site-nav__inner .img-logo {
    height: 20px;
  }
}
/* =========================
   Gallery 2 modal (hero__nav 1:1)
   ========================= */
.gallery2-modal{ position: relative; }

.gallery2-modal__close{
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 5;
}

.gallery2-modal__media{
  position: relative;
}

.gallery2-modal__nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
}

.gallery2-modal__nav--prev{ left: 12px; }
.gallery2-modal__nav--next{ right: 12px; }


/* ===========================
   Request modal (styled separately, based on section--form2)
   =========================== */
.request-modal .modal-dialog {
  max-width: 760px;
  padding: 0 16px;
}

.request-modal__dialog {
  margin: 1.75rem auto;
}

.request-modal__content {
  border: 0;
  border-radius: 4px;
  background: #C3B29E;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(48, 52, 66, 0.18);
}

.request-modal__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 32px 32px 0;
  border: 0;
  background: transparent;
}

.request-modal__title {
  margin: 0;
  font-family: 'Mulish', system-ui, sans-serif;
  font-weight: 300;
  font-size: 36px;
  line-height: 1.05;
  color: #303442;
}

.request-modal__close {
  margin: 0;
  padding: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  opacity: 1;
  background-color: rgba(248, 248, 248, 0.55);
  background-size: 14px;
}

.request-modal__close:hover {
  opacity: 1;
  filter: brightness(0.97);
}

.request-modal__body {
  padding: 24px 32px 32px;
}

.request-modal__field {
  margin-bottom: 16px !important;
}

.request-modal__label {
  display: block;
  margin-bottom: 4px;
  padding: 0 16px;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.02em;
  color: #303442;
}

.request-modal__input {
  box-sizing: border-box;
  width: 100%;
  min-height: 56px;
  padding: 16px;
  border: 1px solid #F8F8F8;
  border-radius: 4px;
  background: #FFFFFF;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 16px;
  color: #303442;
  box-shadow: none;
}

.request-modal__input::placeholder {
  color: #989899;
}

.request-modal__input:focus {
  border-color: #F9B250;
  box-shadow: none;
}

.request-modal__check {
  margin: 0 0 20px !important;
  padding-left: 30px;
}

.request-modal__check-input {
  margin-top: 0.2em;
  border-color: #303442;
}

.request-modal__check-input:checked {
  background-color: #303442;
  border-color: #303442;
}

.request-modal__check-label {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 12px;
  line-height: 1.4;
  color: #68696B;
}

.request-modal__check-label a {
  color: #68696B;
}

.request-modal__actions {
  margin-top: 8px;
}

.request-modal__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 16px 24px;
  border: 0;
  border-radius: 4px;
  background: #F9B250;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.1;
  text-transform: uppercase;
  color: #303442;
}

.request-modal__submit:hover,
.request-modal__submit:focus,
.request-modal__submit:active {
  background: #F9B250 !important;
  color: #303442 !important;
  filter: brightness(0.97);
  box-shadow: none !important;
}

.request-modal .invalid-feedback {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 12px;
}

@media (max-width: 767.98px) {
  .request-modal__header {
    padding: 24px 24px 0;
  }

  .request-modal__body {
    padding: 20px 24px 24px;
  }

  .request-modal__title {
    font-size: 30px;
  }
}

/* ===========================
   PRO fixed contacts widget
   =========================== */
.fixed-contacts {
  position: fixed;
  right: clamp(16px, 2vw, 28px);
  bottom: clamp(16px, 2vw, 28px);
  z-index: 1200;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 14px;
  pointer-events: none;
}

.fixed-contacts__panel {
  display: flex;
  flex-direction: column;
  gap: 12px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(14px) scale(0.96);
  transform-origin: bottom right;
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
}

.fixed-contacts.is-open .fixed-contacts__panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.fixed-contacts__item {
  min-width: 240px;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border: 0;
  border-radius: 20px;
  background: rgba(48, 52, 66, 0.96);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 16px 40px rgba(48, 52, 66, 0.22);
  backdrop-filter: blur(10px);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.fixed-contacts__item:hover,
.fixed-contacts__item:focus-visible {
  transform: translateY(-2px) scale(1.01);
  box-shadow: 0 20px 44px rgba(48, 52, 66, 0.28);
  color: #fff;
}

.fixed-contacts__item--phone { background: linear-gradient(135deg, #303442 0%, #3f4557 100%); }
.fixed-contacts__item--telegram { background: linear-gradient(135deg, #25a3e1 0%, #1f8fca 100%); }
.fixed-contacts__item--callback { background: linear-gradient(135deg, #f9b250 0%, #e99d32 100%); color: #303442; }
.fixed-contacts__item--callback:hover,
.fixed-contacts__item--callback:focus-visible { color: #303442; }

.fixed-contacts__icon {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.16);
}

.fixed-contacts__item--callback .fixed-contacts__icon {
  background: rgba(48, 52, 66, 0.12);
}

.fixed-contacts__icon svg {
  width: 22px;
  height: 22px;
}

.fixed-contacts__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}

.fixed-contacts__title {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.2;
}

.fixed-contacts__text {
  font-family: 'Mulish', system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.25;
  opacity: 0.9;
}

.fixed-contacts__toggle {
  position: relative;
  width: 68px;
  height: 68px;
  border: 0;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: linear-gradient(135deg, #303442 0%, #454b5c 100%);
  box-shadow: 0 18px 42px rgba(48, 52, 66, 0.28);
  pointer-events: auto;
  cursor: pointer;
}

.fixed-contacts__toggle:hover,
.fixed-contacts__toggle:focus-visible {
  transform: translateY(-2px);
}

.fixed-contacts__toggle-ring,
.fixed-contacts__toggle::before,
.fixed-contacts__toggle::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
}

.fixed-contacts__toggle-ring {
  background: radial-gradient(circle at 50% 50%, rgba(249,178,80,0.34) 0%, rgba(249,178,80,0) 70%);
  transform: scale(1.18);
}

.fixed-contacts__toggle::before,
.fixed-contacts__toggle::after {
  border: 1px solid rgba(249, 178, 80, 0.55);
  animation: fixedContactsPulse 2.6s ease-out infinite;
}

.fixed-contacts__toggle::after {
  animation-delay: 1.3s;
}

.fixed-contacts__toggle-icon {
  position: relative;
  z-index: 1;
  width: 26px;
  height: 26px;
}

.fixed-contacts__toggle-svg {
  position: absolute;
  inset: 0;
  width: 26px;
  height: 26px;
  transition: opacity 0.22s ease, transform 0.22s ease;
}

.fixed-contacts__toggle-svg--close {
  opacity: 0;
  transform: rotate(-90deg) scale(0.6);
}

.fixed-contacts.is-open .fixed-contacts__toggle-svg--phone {
  opacity: 0;
  transform: rotate(90deg) scale(0.6);
}

.fixed-contacts.is-open .fixed-contacts__toggle-svg--close {
  opacity: 1;
  transform: rotate(0deg) scale(1);
}

.fixed-contacts__hint {
  position: absolute;
  right: calc(100% + 14px);
  top: 50%;
  transform: translateY(-50%);
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(48, 52, 66, 0.92);
  color: #fff;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 12px 30px rgba(48, 52, 66, 0.18);
  opacity: 0;
  visibility: hidden;
  transform-origin: right center;
}

.fixed-contacts.is-prompt .fixed-contacts__hint {
  opacity: 1;
  visibility: visible;
  animation: fixedContactsHint 2.2s ease;
}

@keyframes fixedContactsPulse {
  0% {
    transform: scale(1);
    opacity: 0.55;
  }
  100% {
    transform: scale(1.55);
    opacity: 0;
  }
}

@keyframes fixedContactsHint {
  0%, 100% { transform: translateY(-50%) translateX(0); }
  25% { transform: translateY(-50%) translateX(-6px); }
  55% { transform: translateY(-50%) translateX(0); }
}

/* ===========================
   Whitebox hotspot refresh
   =========================== */
.whitebox__hotspot {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  cursor: pointer;
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.whitebox__hotspot::before,
.whitebox__hotspot::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 18px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  opacity: 1;
  transition: transform 0.2s ease, opacity 0.2s ease;
  pointer-events: none;
  transform-origin: center;
}

.whitebox__hotspot::before { transform: translate(-50%, -50%) rotate(90deg); }
.whitebox__hotspot::after  { transform: translate(-50%, -50%) rotate(0deg); }

.whitebox__hotspot:not(.is-active):hover {
  transform: translateY(-1px);
}

.whitebox__hotspot:not(.is-active)::selection { background: transparent; }

.whitebox__hotspot:focus-visible {
  outline: 2px solid rgba(48, 52, 66, 0.4);
  outline-offset: 3px;
}

.whitebox__hotspot.is-active {
  background: #8A8D98 !important;
  box-shadow: 0 4px 8px rgba(48, 52, 66, 0.18);
}

.whitebox__hotspot.is-active::before { transform: translate(-50%, -50%) rotate(45deg); }
.whitebox__hotspot.is-active::after  { transform: translate(-50%, -50%) rotate(-45deg); }

.whitebox__hotspot::marker { content: ''; }

.whitebox__hotspot::selection { background: transparent; }

.whitebox__hotspot::backdrop { background: transparent; }

.whitebox__hotspot > * { pointer-events: none; }

.whitebox__hotspot:not(.is-active) {
  animation: whiteboxHotspotPulse 2.4s ease-out infinite;
}

@keyframes whiteboxHotspotPulse {
  0%, 100% { box-shadow: 0 8px 8px rgba(48,52,66,0.33), 0 0 0 0 rgba(249,178,80,0.45); }
  70% { box-shadow: 0 8px 8px rgba(48,52,66,0.33), 0 0 0 14px rgba(249,178,80,0); }
}

@media (max-width: 767.98px) {
  .fixed-contacts {
    right: 14px;
    bottom: 14px;
  }

  .fixed-contacts__panel {
    width: min(86vw, 320px);
  }

  .fixed-contacts__item {
    min-width: 100%;
    padding: 13px 16px;
    border-radius: 18px;
  }

  .fixed-contacts__toggle {
    width: 62px;
    height: 62px;
  }

  .fixed-contacts__hint {
    display: none;
  }
}


/* === flat-page pro === */
.flat-page {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 64px 0;
  gap: 36px;
  background: #FFFFFF;
}
.flat-page .container {
  max-width: 1440px;
}
.flat-page__breadcrumbs {
  margin-bottom: 24px;
}
/* Унифицированные стили хлебных крошек для всего сайта */
.breadcrumb {
  margin: 0;
  gap: 6px;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
}
.breadcrumb a {
  color: #303442;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.breadcrumb a:hover {
  text-decoration: none;
  opacity: 0.7;
}
/* Стилизация разделителя */
.breadcrumb-item + .breadcrumb-item::before {
  color: #989899;
  font-size: 12px;
}
.flat-page__not-found {
  background: #F8F8F8;
  border-radius: 4px;
  padding: 32px;
  color: #303442;
}
.flat-layout {
  display: flex;
  align-items: flex-start;
  gap: 26px;
}
.flat-gallery {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 737px;
  flex: 1 1 auto;
}
.flat-gallery__viewport {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding: 16px;
  gap: 12px;
  isolation: isolate;
  min-height: 510px;
  background: #F1F1F2;
  border-radius: 4px;
  overflow: hidden;
}
.flat-gallery__viewport.is-loading::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.45) 50%, rgba(255,255,255,0) 100%), #ECEDEF;
  background-size: 220px 100%;
  animation: flatSkeleton 1.2s infinite linear;
  z-index: 3;
}
.flat-gallery__viewport.is-loading .flat-gallery__image {
  opacity: 0;
}
.flat-gallery__viewport .swiper,
.flat-gallery__viewport .swiper-wrapper,
.flat-gallery__viewport .swiper-slide {
  width: 100%;
  height: 100%;
}
.flat-gallery__image {
  width: 100%;
  min-height: 478px;
  max-height: 478px;
  object-fit: contain;
  display: block;
  position: relative;
  z-index: 1;
  transition: opacity .25s ease;
}
.flat-gallery__gradient {
  position: absolute;
  height: 130px;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(0deg, rgba(48, 52, 66, 0) 0%, #303442 100%);
  transform: matrix(1, 0, 0, -1, 0, 0);
  z-index: 0;
}
.flat-gallery__controls {
  position: absolute;
  right: 16px;
  bottom: 16px;
  display: flex;
  gap: 8px;
  z-index: 2;
}
.flat-gallery__arrow {
  width: 56px;
  height: 56px;
  min-height: 56px;
  border: 0;
  border-radius: 4px;
  background: #F1F1F2;
  color: #303442;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .2s ease, background .2s ease;
}
.flat-gallery__arrow:hover {
  transform: translateY(-2px);
  background: #EAEBEC;
}
.flat-card {
  width: 517px;
  background: #F8F8F8;
  border-radius: 4px;
  flex: 0 0 517px;
}
.flat-card__sticky {
  position: sticky;
  top: 110px;
}
.flat-card__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px 36px 64px;
  gap: 16px;
}
.flat-card__headline {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.flat-card__title {
  margin: 0;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 115%;
  color: #303442;
}
.flat-card__badge {
  font-size: 12px;
  line-height: 120%;
  letter-spacing: 0.02em;
  color: #C3B29E;
  white-space: nowrap;
}
.flat-card__description {
  max-width: 337px;
  margin: 0;
  font-size: 12px;
  line-height: 120%;
  letter-spacing: 0.02em;
  color: #303442;
}
.flat-card__prices {
  width: 100%;
  display: grid;
  gap: 10px;
}
.flat-price-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
}
.flat-price-row__label {
  font-size: 12px;
  line-height: 120%;
  letter-spacing: 0.02em;
  color: #303442;
}
.flat-price-row__value {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 110%;
  text-align: right;
  color: #303442;
}
.flat-price-row__value span {
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.02em;
}
.flat-price-row--old .flat-price-row__value {
  color: #8D909A;
  text-decoration: line-through;
}
.flat-specs {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.flat-spec {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
}
.flat-spec__section {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  padding: 0 0 6px;
  width: 100%;
  border-bottom: 1px solid #EAEBEC;
}
.flat-spec__item {
  font-size: 16px;
  line-height: 110%;
  color: #303442;
}
.flat-spec__price {
  display: flex;
  align-items: baseline;
  gap: 4px;
  white-space: nowrap;
}
.flat-spec__value {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 110%;
  color: #303442;
}
.flat-spec__suffix {
  font-size: 12px;
  line-height: 120%;
  letter-spacing: 0.02em;
  color: #303442;
}
.flat-card__actions {
  padding-top: 24px;
  width: 100%;
}
.flat-card__button, .flat__btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 12px 14px;
  background: #F9B250;
  border: 0;
  border-radius: 4px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 110%;
  color: #303442;
}
.flat-card__button:hover, .flat__btn:hover {
  filter: brightness(.98);
}
.flat-chess {
  padding: 0 0 64px;
}
.flat-chess__head {
  margin-bottom: 20px;
}
.flat-chess__title {
  margin: 0 0 6px;
  font-family: 'Montserrat', sans-serif;
  font-size: 24px;
  line-height: 115%;
  color: #303442;
}
.flat-chess__note {
  margin: 0;
  font-size: 14px;
  color: #6B7280;
}
@keyframes flatSkeleton {
  0% { background-position: -220px 0; }
  100% { background-position: calc(100% + 220px) 0; }
}
@media (max-width: 1199.98px) {
  .flat-page {
    padding: 48px 0;
  }
  .flat-layout {
    flex-direction: column;
  }
  .flat-gallery,
  .flat-card {
    width: 100%;
    flex: 1 1 auto;
  }
  .flat-card__sticky {
    position: static;
  }
}
@media (max-width: 767.98px) {
  .flat-page {
    padding: 32px 0;
  }
  .flat-gallery__viewport {
    min-height: 360px;
    padding: 12px;
  }
  .flat-gallery__image {
    min-height: 336px;
    max-height: 336px;
  }
  .flat-card__body {
    padding: 20px 18px 32px;
  }
  .flat-card__headline {
    flex-direction: column;
    align-items: flex-start;
  }
  .flat-spec {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .flat-spec__section {
    width: 100%;
  }
}


/* ===========================
   MOBILE OVERFLOW FIX
   =========================== */

/* --- Stages section: missing mobile overrides --- */
@media (max-width: 992px) {
  .section.section--stages {
    padding: 36px 16px 56px;
  }
  .stages__inner {
    width: 100%;
  }
  .stages__gallery {
    flex-direction: column;
    gap: 16px;
  }
  .stages-card {
    width: 100%;
    height: 280px;
  }
  .stages__title {
    font-size: 32px;
  }
}

/* --- Advantages section: title-wrap, info, text fixed widths --- */
@media (max-width: 992px) {
  .advantages__title-wrap {
    width: 100%;
    height: auto;
  }
  .advantages__info {
    width: 100%;
    height: auto;
  }
  .advantages__text {
    width: 100%;
  }
  .advantages__tabs {
    gap: 16px 24px;
  }
}

@media (max-width: 575.98px) {
  .section.section--advantages {
    padding: 32px 16px;
  }
  .section.section--stages {
    padding: 24px 16px 48px;
  }
  .section.section--about-home {
    padding: 32px 16px;
  }
  .section.section--form {
    padding: 24px 16px;
  }
}

/* --- Quick-tabs section: add horizontal padding on mobile --- */
@media (max-width: 991.98px) {
  .section.section--quick-tab {
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: 56px;
  }
}

/* --- Global safety net --- */
html {
  overflow-x: hidden;
}
body {
  overflow-x: clip;
}

/* --- Purchase: btn-wrap fixed width on mobile --- */
@media (max-width: 991.98px) {
  .purchase__btn-wrap {
    width: 100%;
  }
}

/* --- Hotspots: bm-card modal on small screens --- */
@media (max-width: 575.98px) {
  .bm-card {
    width: calc(100vw - 32px);
    max-width: 420px;
  }
}

/* --- More section: title fixed width --- */
@media (max-width: 1399.98px) {
  .more__title {
    width: 100%;
  }
}

/* --- More section: title-wrap padding on mobile --- */
@media (max-width: 991.98px) {
  .more__title-wrap {
    padding: 0 16px;
  }
}

/* ===========================
   MOBILE OVERFLOW FIX
   =========================== */

/* --- Stages section: responsive --- */
@media (max-width: 991.98px) {
  .section.section--stages {
    padding: 40px 16px;
  }
  .stages__inner {
    width: 100%;
  }
  .stages__title {
    font-size: 32px;
  }
  .stages__gallery {
    flex-direction: column;
    gap: 16px;
  }
  .stages-card {
    width: 100%;
    height: 240px;
  }
}

/* --- Advantages section: padding on small screens --- */
@media (max-width: 575.98px) {
  .section.section--advantages {
    padding: 40px 16px;
  }
  .advantages__title {
    font-size: 32px;
  }
  .advantages__info {
    width: 100%;
    height: auto;
  }
  .advantages__text {
    width: 100%;
  }
  .advantages__image {
    height: 240px;
  }
  .advantages__title-wrap {
    width: 100%;
    height: auto;
  }
}

/* --- Form section: inputs overflow --- */
@media (max-width: 575.98px) {
  .section.section--form {
    padding: 24px 16px;
  }
  .form__field input {
    width: 100%;
    min-width: 0;
  }
}

/* --- Gallery section: padding on small screens --- */
@media (max-width: 575.98px) {
  .section.section--gallery {
    padding: 40px 16px;
  }
}

/* --- About-home: padding on small screens --- */
@media (max-width: 575.98px) {
  .section.section--about-home {
    padding: 24px 16px;
  }
}

/* --- Purchase: media overflow on mobile --- */
@media (max-width: 575.98px) {
  .purchase__media {
    width: 100%;
    height: 220px;
  }
  .purchase__info {
    width: 100%;
    height: auto;
  }
  .purchase__slider {
    padding: 0 16px;
  }
}

/* --- News old section (before redesign): fix width --- */
@media (max-width: 1399.98px) {
  .news__inner {
    width: 100%;
  }
  .news__title {
    width: 100%;
  }
}
@media (max-width: 991.98px) {
  .news__control {
    padding: 0 16px;
  }
  .news__title-wrap {
    padding: 0 16px;
  }
}

/* --- More-card: prevent overflow --- */
@media (max-width: 575.98px) {
  .more-card {
    width: 100%;
  }
  .more__cards {
    padding: 0 16px;
  }
}

/* --- Global: prevent any wide element from breaking layout --- */
img, video, iframe, embed, object {
  max-width: 100%;
}


/* =========================================================
   PAGE: О компании (/o-kompanii/)
   ========================================================= */

/* HERO */
.about-hero {
  background: var(--jet);
  padding: 80px 0;
}
.about-hero__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 80px;
  display: flex;
  align-items: center;
  gap: 60px;
}
.about-hero__text {
  flex: 1;
}
.about-hero__title {
  font-family: 'Mulish', sans-serif;
  font-weight: 300;
  font-size: 56px;
  line-height: 1.05;
  color: var(--khaki);
  margin: 0 0 32px;
}
.about-hero__lead {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: rgba(255,255,255,0.8);
  margin: 0 0 16px;
}
.about-hero__photo {
  flex-shrink: 0;
  width: 420px;
}
.about-hero__photo img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}

/* STATS */
.about-stats {
  background: var(--bronze);
  padding: 48px 0;
}
.about-stats__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 80px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.about-stats__item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: center;
}
.about-stats__num {
  font-family: 'Mulish', sans-serif;
  font-weight: 500;
  font-size: 36px;
  line-height: 1;
  color: var(--jet);
}
.about-stats__label {
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.4;
  color: var(--jet);
  opacity: 0.7;
}

/* MISSION */
.about-mission {
  background: #fff;
  padding: 80px 0;
}
.about-mission__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 80px;
  display: flex;
  gap: 60px;
}
.about-mission__block {
  flex: 1;
}
.about-mission__title {
  font-family: 'Mulish', sans-serif;
  font-weight: 300;
  font-size: 40px;
  line-height: 1.1;
  color: var(--jet);
  margin: 0 0 32px;
}
.about-mission__text {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.65;
  color: var(--jet);
  margin: 0 0 16px;
}
.about-mission__sign {
  flex-shrink: 0;
  width: 320px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 4px;
  padding-top: 40px;
}
.about-mission__regards {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  color: var(--jet);
  opacity: 0.6;
  margin: 0 0 16px;
}
.about-mission__name {
  font-family: 'Mulish', sans-serif;
  font-weight: 500;
  font-size: 24px;
  color: var(--jet);
  margin: 0;
}
.about-mission__role {
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--khaki);
  margin: 4px 0 0;
}

/* AWARD */
.about-award {
  background: var(--jet);
  padding: 64px 0;
  text-align: center;
}
.about-award__inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 40px;
}
.about-award__title {
  font-family: 'Mulish', sans-serif;
  font-weight: 300;
  font-size: 40px;
  line-height: 1.1;
  color: var(--khaki);
  margin: 0 0 16px;
}
.about-award__text {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.5;
  color: rgba(255,255,255,0.65);
  margin: 0;
}

/* VALUES */
.about-values {
  background: var(--grey0);
  padding: 80px 0;
}
.about-values__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 80px;
}
.about-values__title {
  font-family: 'Mulish', sans-serif;
  font-weight: 300;
  font-size: 40px;
  line-height: 1.1;
  color: var(--jet);
  text-align: center;
  margin: 0 0 48px;
}
.about-values__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.about-values__card {
  border-radius: 4px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 16px rgba(48,52,66,0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.about-values__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(48,52,66,0.12);
}
.about-values__card-img {
  height: 200px;
  overflow: hidden;
}
.about-values__card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about-values__card-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.4;
  color: var(--jet);
  padding: 16px;
  margin: 0;
}

/* --- About page responsive --- */

@media (max-width: 1199.98px) {
  .about-hero__inner,
  .about-stats__inner,
  .about-mission__inner,
  .about-values__inner {
    padding: 0 32px;
  }
  .about-values__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 991.98px) {
  .about-hero {
    padding: 48px 0;
  }
  .about-hero__inner {
    flex-direction: column;
    gap: 32px;
    padding: 0 20px;
  }
  .about-hero__title {
    font-size: 36px;
  }
  .about-hero__photo {
    width: 100%;
    max-width: 360px;
  }
  .about-stats__inner {
    grid-template-columns: repeat(2, 1fr);
    padding: 0 20px;
    gap: 24px;
  }
  .about-stats__num {
    font-size: 28px;
  }
  .about-mission {
    padding: 48px 0;
  }
  .about-mission__inner {
    flex-direction: column;
    gap: 32px;
    padding: 0 20px;
  }
  .about-mission__title {
    font-size: 30px;
  }
  .about-mission__sign {
    width: 100%;
    padding-top: 0;
  }
  .about-award {
    padding: 40px 0;
  }
  .about-award__title {
    font-size: 28px;
  }
  .about-values {
    padding: 48px 0;
  }
  .about-values__inner {
    padding: 0 20px;
  }
  .about-values__title {
    font-size: 30px;
    margin-bottom: 32px;
  }
  .about-values__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}

@media (max-width: 575.98px) {
  .about-hero__title {
    font-size: 30px;
  }
  .about-hero__lead {
    font-size: 14px;
  }
  .about-stats__inner {
    grid-template-columns: 1fr 1fr;
    gap: 20px 16px;
  }
  .about-stats__num {
    font-size: 24px;
  }
  .about-stats__label {
    font-size: 12px;
  }
  .about-mission__title {
    font-size: 26px;
  }
  .about-award__title {
    font-size: 24px;
  }
  .about-values__title {
    font-size: 26px;
  }
  .about-values__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .about-values__card-img {
    height: 180px;
  }
}

/* =========================================================
   PAGE: Акции (/promotions/)
   ========================================================= */

/* Listing */
.promo-page {
  background: #fff;
  padding: 64px 0 80px;
}
.promo-page__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 80px;
}
.promo-page__title {
  font-family: 'Mulish', sans-serif;
  font-weight: 300;
  font-size: 48px;
  line-height: 1.05;
  color: var(--khaki);
  margin: 0 0 40px;
}
.promo-page__empty {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  color: #6b7280;
}
.promo-page__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.news-card--promo-link {
  text-decoration: none;
  color: inherit;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.news-card--promo-link:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(48,52,66,0.1);
  color: inherit;
}

/* Detail */
.promo-detail {
  background: #fff;
  padding: 48px 0 80px;
}
.promo-detail__inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 40px;
}
.promo-detail__back {
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 14px;
  color: var(--khaki);
  text-decoration: none;
  margin-bottom: 32px;
  transition: color 0.2s;
}
.promo-detail__back:hover {
  color: var(--bronze);
}
.promo-detail__img-wrap {
  width: 100%;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 32px;
}
.promo-detail__img {
  width: 100%;
  height: auto;
  display: block;
}
.promo-detail__title {
  font-family: 'Mulish', sans-serif;
  font-weight: 300;
  font-size: 36px;
  line-height: 1.15;
  color: var(--jet);
  margin: 0 0 16px;
}
.promo-detail__meta {
  margin-bottom: 32px;
}
.promo-detail__date {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #989899;
}
.promo-detail__body {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
  color: var(--jet);
}

/* Responsive */
@media (max-width: 1199.98px) {
  .promo-page__inner {
    padding: 0 32px;
  }
  .promo-page__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 991.98px) {
  .promo-page {
    padding: 48px 0 56px;
  }
  .promo-page__inner {
    padding: 0 20px;
  }
  .promo-page__title {
    font-size: 36px;
    margin-bottom: 28px;
  }
  .promo-page__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
  .promo-detail__inner {
    padding: 0 20px;
  }
  .promo-detail__title {
    font-size: 28px;
  }
}
@media (max-width: 575.98px) {
  .promo-page__title {
    font-size: 30px;
  }
  .promo-page__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .promo-detail__title {
    font-size: 24px;
  }
}

/* =========================================================
   Floor plan on flat page
   ========================================================= */
.flat-floorplan {
  padding: 48px 0 64px;
  background: #fff;
}
.flat-floorplan__head {
  margin-bottom: 24px;
}
.flat-floorplan__title {
  font-family: 'Mulish', sans-serif;
  font-weight: 300;
  font-size: 32px;
  line-height: 1.1;
  color: var(--jet);
  margin: 0 0 8px;
}
.flat-floorplan__note {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  color: #989899;
  margin: 0;
}
.flat-floorplan__wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  background: var(--grey0);
  border-radius: 4px;
  padding: 24px;
}
.flat-floorplan__wrap svg {
  display: block;
  width: 100%;
  height: auto;
  min-width: 800px;
}

/* SVG paths transparent before JS adds classes */
.flat-floorplan__wrap svg path[data-category="flat"] {
  fill: transparent;
  stroke: transparent;
  cursor: pointer;
  transition: fill 0.3s ease, stroke 0.3s ease;
}

/* All apartments dimmed by default */
.floorplan-apt {
  fill: rgba(48, 52, 66, 0.06) !important;
  stroke: rgba(48, 52, 66, 0.15) !important;
  stroke-width: 1;
}

/* Free apartments — soft green */
.floorplan-apt.is-free {
  fill: rgba(76, 175, 80, 0.12) !important;
  stroke: rgba(76, 175, 80, 0.5) !important;
  stroke-width: 1.5;
  cursor: pointer;
}

/* Hover on free apartments */
.floorplan-apt.is-free:hover {
  fill: rgba(76, 175, 80, 0.25) !important;
  stroke: rgba(76, 175, 80, 0.8) !important;
  stroke-width: 2;
}

/* Active / highlighted apartment — bronze */
.floorplan-apt.is-active {
  fill: rgba(249, 178, 80, 0.25) !important;
  stroke: var(--bronze) !important;
  stroke-width: 2.5;
  filter: drop-shadow(0 0 8px rgba(249, 178, 80, 0.35));
}

/* Unavailable / sold / reserved apartment */
.floorplan-apt.is-unavailable {
  fill: rgba(48, 52, 66, 0.04) !important;
  stroke: rgba(48, 52, 66, 0.08) !important;
  cursor: default !important;
  pointer-events: none;
}

@media (max-width: 991.98px) {
  .flat-floorplan {
    padding: 32px 0 48px;
  }
  .flat-floorplan__title {
    font-size: 26px;
  }
  .flat-floorplan__wrap {
    padding: 16px;
  }
}

/* =========================================================
   PAGE: Link Form (/link-form/)
   ========================================================= */
.linkform-page {
  background: var(--grey0);
  padding: 64px 0 80px;
  min-height: 60vh;
  display: flex;
  align-items: center;
}
.linkform-page__inner {
  max-width: 560px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
}
.linkform-page__card {
  background: #fff;
  border-radius: 8px;
  padding: 48px 40px;
  box-shadow: 0 8px 32px rgba(48,52,66,0.06);
}
.linkform-page__title {
  font-family: 'Mulish', sans-serif;
  font-weight: 300;
  font-size: 32px;
  line-height: 1.1;
  color: var(--jet);
  margin: 0 0 12px;
}
.linkform-page__text {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #6b7280;
  margin: 0 0 32px;
}
.linkform-page__form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.linkform-page__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.linkform-page__label {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: var(--jet);
}
.linkform-page__input {
  height: 48px;
  padding: 0 16px;
  border: 1px solid var(--stroke);
  border-radius: 4px;
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  color: var(--jet);
  background: #fff;
  outline: none;
  transition: border-color 0.2s;
}
.linkform-page__input:focus {
  border-color: var(--bronze);
}
.linkform-page__input::placeholder {
  color: #b0b0b0;
}
.linkform-page__check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.linkform-page__check-input {
  margin-top: 3px;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  accent-color: var(--bronze);
}
.linkform-page__check-label {
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  line-height: 1.5;
  color: #6b7280;
}
.linkform-page__check-label a {
  color: var(--khaki);
  text-decoration: underline;
}
.linkform-page__submit {
  height: 52px;
  background: var(--bronze);
  border: none;
  border-radius: 4px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--jet);
  cursor: pointer;
  transition: filter 0.2s;
}
.linkform-page__submit:hover {
  filter: brightness(0.95);
}
.linkform-page__success {
  text-align: center;
  padding: 24px 0;
}
.linkform-page__success svg {
  margin-bottom: 16px;
}
.linkform-page__success p {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: var(--jet);
  margin: 0;
}

@media (max-width: 575.98px) {
  .linkform-page__card {
    padding: 32px 20px;
  }
  .linkform-page__title {
    font-size: 26px;
  }
}

/* =========================================================
   PAGE: Partners (/partners/)
   ========================================================= */
.partners-page {
  background: #fff;
  padding: 64px 0 80px;
}
.partners-page__inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 40px;
}
.partners-page__title {
  font-family: 'Mulish', sans-serif;
  font-weight: 300;
  font-size: 48px;
  line-height: 1.05;
  color: var(--khaki);
  margin: 0 0 40px;
}
.partners-page__content {
  margin-bottom: 48px;
}
.partners-page__content p {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
  color: var(--jet);
  margin: 0 0 16px;
}
.partners-page__content p:last-child {
  margin-bottom: 0;
}
.partners-page__links {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.partners-page__link-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 24px 32px;
  background: var(--jet);
  border-radius: 4px;
  text-decoration: none;
  min-width: 260px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.partners-page__link-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(48,52,66,0.18);
}
.partners-page__link-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 15px;
  color: #fff;
}
.partners-page__link-arrow {
  font-size: 20px;
  color: var(--bronze);
}

@media (max-width: 991.98px) {
  .partners-page__inner {
    padding: 0 20px;
  }
  .partners-page__title {
    font-size: 36px;
    margin-bottom: 28px;
  }
}
@media (max-width: 575.98px) {
  .partners-page__title {
    font-size: 30px;
  }
  .partners-page__link-card {
    width: 100%;
    min-width: 0;
  }
}


/* Gallery tabs: no fade animation + keep active tab visible */
.section--gallery .tab-pane.fade,
.section--gallery .tab-pane.fade.show {
  transition: none !important;
}

.section--gallery .gallery__tabs {
  scroll-behavior: smooth;
}

.section--gallery .gallery__tabs::-webkit-scrollbar {
  display: none;
}

/* === flat-page additions === */
.flat-page__back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 20px;
  font-size: 13px;
  font-weight: 500;
  color: #303442;
  text-decoration: none;
  opacity: .7;
  transition: opacity .2s;
}
.flat-page__back:hover { opacity: 1; text-decoration: none; color: #303442; }

.flat-card__badges {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}

.flat-status {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .04em;
  white-space: nowrap;
  text-transform: uppercase;
}
.flat-status--free     { background: #E6F9F0; color: #1A7A4C; }
.flat-status--reserved { background: #FFF4E0; color: #B07000; }
.flat-status--sold     { background: #FDECEA; color: #C0392B; }
.flat-status--unknown  { background: #F1F1F2; color: #6B7280; }

.flat-card__actions {
  padding-top: 24px;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
}
.flat-card__button, .flat__btn {
  flex: 1 1 auto;
}
.flat-card__share {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 14px;
  background: transparent;
  border: 1.5px solid #EAEBEC;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 500;
  color: #303442;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color .2s, background .2s;
}
.flat-card__share:hover { border-color: #C3B29E; background: #F8F6F3; }

/* Similar apartments */
.flat-similar {
  padding: 0 0 64px;
}
.flat-similar__title {
  margin: 0 0 20px;
  font-family: 'Montserrat', sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 115%;
  color: #303442;
}
.flat-similar__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.sim-card {
  display: flex;
  flex-direction: column;
  background: #F8F8F8;
  border-radius: 4px;
  overflow: hidden;
  text-decoration: none;
  color: #303442;
  transition: transform .2s ease, box-shadow .2s ease;
}
.sim-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(48,52,66,.1);
  color: #303442;
}
.sim-card__img-wrap {
  aspect-ratio: 4/3;
  background: #ECEDEF;
  overflow: hidden;
}
.sim-card__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.sim-card__body {
  padding: 12px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.sim-card__title {
  font-size: 13px;
  font-weight: 600;
  line-height: 130%;
}
.sim-card__meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 12px;
  color: #6B7280;
}
.sim-card__meta span::after { content: '·'; margin-left: 8px; }
.sim-card__meta span:last-child::after { content: ''; margin: 0; }
.sim-card__price {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #303442;
  margin-top: 4px;
}
.sim-card__price span { font-size: 12px; font-weight: 500; }

/* Mobile sticky bottom bar */
.flat-mobile-bar {
  display: none;
}
@media (max-width: 1199.98px) {
  .flat-mobile-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 200;
    background: #fff;
    border-top: 1px solid #EAEBEC;
    padding: 12px 16px;
    padding-bottom: max(12px, env(safe-area-inset-bottom));
    box-shadow: 0 -4px 16px rgba(48,52,66,.08);
    transition: transform .3s ease;
  }
  .flat-mobile-bar.is-hidden {
    transform: translateY(110%);
  }
  .flat-mobile-bar__price {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  .flat-mobile-bar__amount {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: #303442;
  }
  .flat-mobile-bar__area {
    font-size: 12px;
    color: #6B7280;
  }
  .flat-mobile-bar__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 20px;
    background: #F9B250;
    border: 0;
    border-radius: 4px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #303442;
    white-space: nowrap;
  }
  /* Add bottom padding so content isn't hidden by the bar */
  body { padding-bottom: 80px; }
}

@media (max-width: 991.98px) {
  .flat-similar__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 575.98px) {
  .flat-similar__grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .flat-card__share span { display: none; }
  .flat-card__share { padding: 10px; }
}

/* === Gallery promo slide (mortgage) === */
.flat-gallery__viewport .swiper-slide--promo {
  position: relative;
  height: 100%;
}
.gallery-promo {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 36px 44px;
  background: linear-gradient(135deg, #1a2340 0%, #2a3a6e 60%, #3a4e8c 100%);
  gap: 14px;
  box-sizing: border-box;
  height: 100%;
  min-height: 478px;
}
.gallery-promo__banks {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.gallery-promo__bank-logo {
  height: 32px;
  width: auto;
  max-width: 110px;
  flex-shrink: 0;
  object-fit: contain;
  opacity: .85;
}
.gallery-promo__headline {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 38px;
  line-height: 110%;
  color: #fff;
  letter-spacing: -0.01em;
}
.gallery-promo__sub {
  font-size: 14px;
  line-height: 150%;
  color: rgba(255,255,255,.72);
  max-width: 360px;
}
.gallery-promo__btn {
  margin-top: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 28px;
  background: #F9B250;
  border: 0;
  border-radius: 4px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #303442;
  cursor: pointer;
  transition: filter .2s;
  white-space: nowrap;
}
.gallery-promo__btn:hover { filter: brightness(.96); }

@media (max-width: 767.98px) {
  .gallery-promo {
    padding: 24px 22px;
    gap: 10px;
    min-height: 336px;
  }
  .gallery-promo__headline {
    font-size: 26px;
  }
  .gallery-promo__sub {
    font-size: 12px;
  }
  .gallery-promo__btn {
    padding: 11px 20px;
    font-size: 14px;
  }
  .gallery-promo__bank-logo {
    height: 26px;
    max-width: 90px;
  }
}


/* =============================================
   ABOUT2 — новая страница О компании
   ============================================= */

.about2 {
  background: #fff;
  padding: 0;
}

.about2__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 80px 24px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 64px;
}

/* ---- Левая колонка ---- */
.about2__left {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 64px;
  padding-top: 96px;
}

.about2__section {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.about2__h1 {
  font-family: 'Mulish', sans-serif;
  font-weight: 300;
  font-size: 56px;
  line-height: 1.05;
  color: #303442;
  margin: 0;
}

.about2__h2 {
  font-family: 'Mulish', sans-serif;
  font-weight: 300;
  font-size: 56px;
  line-height: 1.05;
  color: #303442;
  margin: 0;
}

.about2__body {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: #303442;
  margin: 0;
}

/* Цитата / блокквот */
.about2__quote {
  border-left: 3px solid #f9b250;
  padding-left: 20px;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.about2__quote p {
  font-family: 'Montserrat', sans-serif;
  font-style: italic;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: #303442;
  margin: 0;
}

/* Счётчики */
.about2__counters {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.about2__counter-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 80px;
  padding: 24px 0;
}

.about2__counter-row:last-child {
}

.about2__counter-item {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.about2__counter-num {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 2px;
  font-family: 'Mulish', sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 1.1;
}

.about2__val {
  color: #F9B250;
}

.about2__pfx {
  color: #F9B250;
}

.about2__sfx {
  color: #F9B250;
}

.about2__counter-label {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  color: #1E1F22;
}

/* Ценности */
.about2__values {
  display: flex;
  flex-direction: column;
  gap: 48px;
}

.about2__value-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 20px;
}

.about2__value-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
}

.about2__value-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 900;
  font-size: 16px;
  line-height: 1.1;
  color: #4B4C4E;
  margin-bottom: 8px;
}

.about2__value-body {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: #1E1F22;
}

.about2__value-body small {
  font-size: 12px;
  opacity: 0.6;
}

/* ---- Правая колонка ---- */
.about2__right {
  flex: 0 0 408px;
  width: 408px;
  display: flex;
  flex-direction: column;
  gap: 64px;
  padding-top: 96px;
}

/* Лого */
.about2__logo-wrap {
  padding: 0 12px;
}

.about2__logo {
  max-width: 100%;
  height: 56px;
}

.about2__logo-fallback {
  display: flex;
  align-items: center;
  gap: 12px;
}

.about2__logo-name {
  font-family: 'Montserrat', sans-serif;
  font-weight: 900;
  font-size: 22px;
  letter-spacing: 0.04em;
  color: #121D3C;
  line-height: 1;
}

.about2__logo-desc {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 10px;
  letter-spacing: 0.08em;
  color: #121D3C;
  margin-top: 4px;
}

/* Бейдж ЭСКРОУ */
.about2__badge-escrow {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  padding: 12px;
  background: #EAEBEC;
  border-radius: 16px;
  width: 100%;
}

.about2__badge-escrow-icon {
  flex-shrink: 0;
  width: 88px;
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.about2__badge-escrow-text {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  color: #303442;
  margin: 0;
}

/* ЕРЗ */
.about2__erz {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0 12px;
}

.about2__erz-label {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: #303442;
}

.about2__erz-logo {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
}

.about2__erz-name {
  font-family: 'Montserrat', sans-serif;
  font-weight: 900;
  font-size: 28px;
  color: #303442;
  display: block;
  line-height: 1;
}

.about2__erz-sub {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 13px;
  color: #303442;
  display: block;
  line-height: 1.3;
}

/* Щиты */
.about2__shields {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px;
  padding: 0 12px;
}

.about2__shield {
  flex-shrink: 0;
}

/* ---- Адаптив ---- */
@media (max-width: 1199.98px) {
  .about2__inner {
    padding: 0 32px 24px;
    gap: 40px;
  }
  .about2__right {
    flex: 0 0 320px;
    width: 320px;
  }
}

@media (max-width: 991.98px) {
  .about2__inner {
    flex-direction: column;
    padding: 0 20px 24px;
    gap: 0;
  }
  .about2__left,
  .about2__right {
    width: 100%;
    flex: none;
    padding-top: 48px;
  }
  .about2__right {
    gap: 32px;
    padding-bottom: 48px;
  }
  .about2__h1,
  .about2__h2 {
    font-size: 36px;
  }
  .about2__counter-row {
    gap: 32px;
  }
  .about2__counter-num {
    font-size: 28px;
  }
}

@media (max-width: 575.98px) {
  .about2__counter-row {
    flex-direction: column;
    gap: 24px;
  }
  .about2__shields {
    padding: 0;
  }
}


/* =============================================
   ABOUT2-PRINCIPLES — Наши принципы
   ============================================= */

.about2-principles {
  background: #fff;
  padding: 24px 80px 80px;
}

.about2-principles__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 48px;
}

.about2-principles__title {
  font-family: 'Mulish', sans-serif;
  font-weight: 300;
  font-size: 56px;
  line-height: 1.05;
  color: #303442;
  margin: 0;
}

.about2-principles__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

/* Карточка — базовые стили */
.about2-card {
  position: relative;
  border-radius: 4px;
  overflow: hidden;
  padding: 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-size: cover;
  background-position: center;
  height: 320px;
}

/* Градиент поверх фото */
.about2-card__gradient {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 130px;
  background: linear-gradient(0deg, rgba(48,52,66,0) 0%, #303442 100%);
  transform: matrix(1,0,0,-1,0,0);
  z-index: 0;
}

.about2-card__footer {
  position: relative;
  z-index: 1;
  margin-top: auto;
}

.about2-card__title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.15;
  color: #F8F8F8;
  margin: 0;
}

/* Полуширокая карточка (2 в ряд) */
.about2-card--half {
  width: calc(50% - 12px);
}

/* Трёть карточка (3 в ряд) */
.about2-card--third {
  width: calc(33.333% - 16px);
}

/* Адаптив */
@media (max-width: 1199.98px) {
  .about2-principles {
    padding: 24px 32px 64px;
  }
}

@media (max-width: 767.98px) {
  .about2-principles {
    padding: 24px 20px 48px;
  }
  .about2-principles__title {
    font-size: 36px;
  }
  .about2-card--half,
  .about2-card--third {
    width: 100%;
  }
  .about2-card {
    height: 260px;
  }
}

/* Hero — logo image size */
section.hero .hero__left .site-nav__logo img {
  width: 160px;
  height: auto;
}

/* =============================================
   FLAT-BANNER — баннер на странице квартиры
   ============================================= */

.flat-banner {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  padding: 24px 36px;
  background: #F9B250;
  border-radius: 4px;
  overflow: hidden;
  min-height: 174px;
  isolation: isolate;
}

.flat-banner__content {
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 2;
  flex: 0 0 auto;
  width: 55%;
  min-width: 0;
}

.flat-banner__header {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.flat-banner__headline {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.15;
  color: #303442;
}

.flat-banner__tag {
  display: inline-block;
  padding: 4px 8px;
  background: #303442;
  border-radius: 2px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.15;
  color: #F8F8F8;
  width: fit-content;
}

.flat-banner__caption {
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.02em;
  color: #303442;
}

.flat-banner__img {
  position: absolute;
  right: -10px;
  bottom: 0;
  height: 115%;
  width: auto;
  max-width: 60%;
  object-fit: contain;
  object-position: right bottom;
  z-index: 1;
  pointer-events: none;
  display: block;
}

/* Request modal promo text */
.request-modal__promo {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  color: rgba(48,52,66,0.7);
  margin: 0;
  padding: 24px 32px 32px;
}

/* Stages LIVE modal */
.stages-live-modal {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.75);
  z-index: 1055;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.stages-live-modal.show {
  display: flex;
}

.stages-live-modal__dialog {
  position: relative;
  width: 100%;
  max-width: 680px;
  background: #000;
  border-radius: 8px;
  overflow: hidden;
}

.stages-live-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 10;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(0,0,0,0.6);
  border: none;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s;
}

.stages-live-modal__close:hover {
  background: rgba(0,0,0,0.9);
}

.stages-live-modal__body {
  aspect-ratio: 4/3;
  width: 100%;
}

/* News card — title link & excerpt */
.news-card__title-link {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.4;
  color: #303442;
  text-decoration: none;
  margin-bottom: 6px;
  transition: color 0.2s;
}

.news-card__title-link:hover {
  color: #F9B250;
}

.news-card__excerpt {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.5;
  color: #6B6E78;
  margin: 0 0 8px;
}

/* Loadmore button — center align */
.quick__loadmore {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 8px;
}


.flat-card__certificate-btn,
.flat-card__certificate-btn:hover,
.flat-card__certificate-btn:focus {
  background: none;
  border: 0;
  font-size: 13px;
  font-weight: 500;
  color: #303442;
  white-space: nowrap;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.flat-card__certificate-btn::before {
  content: "";
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px 14px;
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.083 1.75H8.458L10.5 3.792V11.083C10.5 11.728 9.978 12.25 9.333 12.25H4.083C3.439 12.25 2.917 11.728 2.917 11.083V2.917C2.917 2.272 3.439 1.75 4.083 1.75Z' stroke='%23303442' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8.167 1.75V4.083H10.5' stroke='%23303442' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.958 6.125H8.458' stroke='%23303442' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.958 8.167H8.458' stroke='%23303442' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
