.standalone-page{padding-top:88px;background:var(--paper);}
.standalone-header{padding:14px 0;background:transparent;backdrop-filter:none;box-shadow:none;}
.standalone-header .wrap{min-height:40px;}
.standalone-back{color:var(--ink-soft);font-size:14px;transition:color .2s ease;}
.standalone-back:hover{color:var(--ink);}
.standalone-intro{padding:82px 0 50px;background:var(--paper);}
.standalone-intro h1{font-size:clamp(52px,8vw,92px);line-height:1;margin-bottom:20px;}
.construction-page .standalone-intro h1{font-size:clamp(20px,4.5vw,52px);line-height:1.08;white-space:nowrap;}
.construction-page .standalone-intro p{font-size:15px;line-height:1.65;}
.standalone-intro p{max-width:620px;color:var(--ink-soft);font-size:18px;}
.gallery-page{padding-top:0;}
.gallery-hero{
  position:relative;
  min-height:78vh;
  padding:0;
  overflow:hidden;
}
.gallery-hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 54%;
}
.gallery-hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.gallery-hero::after{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(20,22,24,.18);
}
.gallery-hero-title{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:0 24px clamp(34px,5vw,64px);
  text-align:center;
}
.gallery-hero-title h1{
  margin:0;
  color:#fff;
  font-size:clamp(42px,5.5vw,72px);
  line-height:1;
  text-shadow:0 3px 22px rgba(0,0,0,.35);
}
.gallery-intro{
  padding:clamp(54px,7vw,92px) 0 clamp(42px,5vw,68px);
  background:var(--paper);
}
.gallery-intro p{
  max-width:720px;
  margin:0 auto;
  font-size:clamp(15px,1.25vw,18px);
  line-height:1.55;
  color:var(--ink-soft);
  text-align:center;
}
.standalone-gallery{padding:0 0 clamp(60px,8vw,110px);background:var(--paper);}
.standalone-gallery > .wrap{width:100%;max-width:none;padding-left:0;padding-right:0;}
.gallery-photo-carousel{width:100%;overflow:hidden;}
.gallery-photo-track{
  --gallery-gap:18px;
  --gallery-half-gap:9px;
  display:flex;
  width:max-content;
  gap:var(--gallery-gap);
  animation:galleryPhotoDrift 160s linear infinite;
  will-change:transform;
}
.gallery-photo-track .gallery-grid-item{
  flex:0 0 100vw;
  width:100vw;
  aspect-ratio:16/9;
  height:auto;
}
@keyframes galleryPhotoDrift{
  from{transform:translateX(0);}
  to{transform:translateX(calc(-50% - var(--gallery-half-gap)));}
}
.standalone-construction{padding:28px 24px clamp(70px,8vw,112px);}
.construction-grid{display:grid;width:min(100%,1180px);margin:0 auto;gap:22px;overflow:hidden;}
.construction-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-height:320px;background:var(--paper);border:0;outline:0;box-shadow:none;}
.construction-row:nth-child(even) .construction-image{order:-1;}
.construction-text{display:flex;align-items:center;padding:clamp(32px,4vw,58px);background:var(--paper);}
.construction-text p{max-width:620px;margin:0;color:var(--ink-soft);font-size:clamp(13px,.95vw,15px);line-height:1.7;}
.construction-text strong{display:block;margin-bottom:14px;color:var(--ink);font-family:var(--serif);font-size:clamp(20px,1.8vw,28px);font-weight:400;line-height:1.18;}
.construction-text b{color:var(--ink);font-weight:600;}
.construction-image{min-height:320px;overflow:hidden;border:0;outline:0;box-shadow:none;}
.construction-image img{width:100%;height:100%;display:block;object-fit:cover;border:0;outline:0;box-shadow:none;}
.situation-page{padding-top:0;background:#fff;}
.situation-page-main{background:#fff;}
.situation-page-hero{position:relative;}
.situation-page-hero .situation-section{background:#d9ddd4;}
.situation-page-title{
  position:absolute;
  left:clamp(22px,5vw,80px);
  bottom:clamp(22px,4vw,58px);
  z-index:6;
  color:#fff;
  font-size:clamp(32px,4.5vw,52px);
  line-height:1;
  text-shadow:0 3px 24px rgba(0,0,0,.6);
  pointer-events:none;
}
.situation-catalog{width:min(92%,1180px);margin:0 auto;padding:82px 0 110px;background:#fff;}
.situation-catalog-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:38px;}
.situation-catalog-head h2{font-size:clamp(30px,4vw,48px);line-height:1.08;}
.situation-catalog-head p{max-width:560px;color:var(--ink-soft);font-size:16px;line-height:1.7;}
.situation-list{border-top:1px solid var(--line);}
.situation-list-head,
.situation-house-row{display:grid;grid-template-columns:.75fr 1.35fr .8fr .8fr .85fr 1fr;gap:22px;align-items:center;}
.situation-list-head{padding:15px 18px;color:var(--ink-soft);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;}
.situation-house-row{min-height:76px;padding:16px 18px;border-top:1px solid var(--line);color:var(--ink);transition:background .25s ease,transform .25s ease;}
.situation-house-row:last-child{border-bottom:1px solid var(--line);}
.situation-house-row:hover{background:var(--paper);transform:translateX(4px);}
.situation-house-name{font-family:var(--serif);font-size:22px;}
.situation-house-row span:not(.situation-house-name):not(.situation-status){font-size:14px;color:var(--ink-soft);}
.situation-status{display:inline-flex;align-items:center;gap:9px;font-size:13px;white-space:nowrap;}
.situation-status::before{content:'';width:9px;height:9px;border-radius:50%;background:#21a357;flex:0 0 auto;}
.situation-status.reserved::before{background:#e88920;}
.situation-status.sold::before{background:#d83b35;}
@media(max-width:900px){
  .situation-catalog-head{align-items:flex-start;flex-direction:column;}
  .situation-list-head{display:none;}
  .situation-house-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;padding:22px 18px;}
  .situation-house-name,.situation-status{grid-column:auto;}
  .situation-house-row span:not(.situation-house-name):not(.situation-status)::before{content:attr(data-label);display:block;margin-bottom:4px;color:var(--ink-soft);font-size:10px;letter-spacing:.06em;text-transform:uppercase;}
  .situation-house-row .house-type::before{content:'Тип';}
  .situation-house-row .house-area::before{content:'РЗП';}
  .situation-house-row .house-yard::before{content:'Двор';}
  .situation-house-row .house-parking::before{content:'Паркоместа';}
}
@media(max-width:560px){
  .situation-page-title{bottom:20px;}
  .situation-catalog{padding:58px 0 80px;}
  .situation-house-row{grid-template-columns:1fr;}
  .situation-status{grid-column:1;}
}
.contacts-page{min-height:calc(100vh - 68px);display:flex;align-items:center;}
.contacts-page .contacts-copy h1{font-size:clamp(42px,5vw,68px);margin-bottom:22px;}
@media (max-width:700px){
  .standalone-page{padding-top:79px;}
  .gallery-page{padding-top:0;}
  .standalone-header .logo{width:207px;height:47px;}
  .standalone-back{font-size:12px;}
  .standalone-intro{padding:58px 0 36px;}
  .standalone-gallery{padding-bottom:70px;}
  .gallery-hero{min-height:68vh;}
  .gallery-hero-bg{object-position:66% center;}
  .gallery-hero-video{object-position:center;}
  .gallery-intro{padding:44px 0 36px;}
  .gallery-photo-track{--gallery-gap:12px;--gallery-half-gap:6px;animation-duration:140s;}
  .gallery-photo-track .gallery-grid-item{flex-basis:100vw;width:100vw;}
  .standalone-construction{padding:12px 18px 70px;}
  .construction-grid{gap:16px;}
  .construction-row{grid-template-columns:1fr;min-height:0;}
  .construction-text{min-height:260px;padding:38px 28px;}
  .construction-image{min-height:0;height:72vw;max-height:460px;}
  .contacts-page{padding-top:60px;}
}
@media (min-width:701px) and (max-width:980px){
  .gallery-photo-track .gallery-grid-item{flex-basis:100vw;width:100vw;}
}

@media (prefers-reduced-motion:reduce){
  .gallery-photo-carousel{overflow-x:auto;scrollbar-width:thin;}
  .gallery-photo-track{animation:none;}
}

.legal-hero{padding:88px 0 54px;background:var(--paper);}
.legal-wrap{max-width:960px;}
.legal-hero h1{font-size:clamp(32px,4.5vw,52px);line-height:1.08;margin:16px 0 20px;}
.legal-hero h1.legal-title-single{white-space:nowrap;}
.legal-hero p{color:var(--ink-soft);font-size:15px;}
.legal-content{padding:24px 0 110px;background:#fff;}
.legal-content h2{margin:54px 0 18px;font-size:clamp(25px,3vw,34px);line-height:1.2;}
.legal-content p,.legal-content li{color:var(--ink-soft);font-size:16px;line-height:1.8;}
.legal-content p+p{margin-top:14px;}
.legal-content ul{margin:16px 0 0 22px;display:grid;gap:9px;}
.legal-content a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;}
.legal-notice{padding:22px 24px;border-left:4px solid var(--wood-dark);background:var(--cream);color:var(--ink)!important;}
.legal-table-wrap{margin-top:22px;overflow-x:auto;}
.legal-content table{width:100%;border-collapse:collapse;min-width:640px;}
.legal-content th,.legal-content td{padding:16px 18px;border:1px solid var(--line);text-align:left;vertical-align:top;font-size:15px;line-height:1.55;}
.legal-content th{background:var(--cream);color:var(--ink);font-weight:600;}
@media(max-width:700px){
  .legal-hero{padding:60px 0 38px;}
  .legal-content{padding:10px 0 76px;}
  .legal-content h2{margin-top:40px;}
  .legal-content p,.legal-content li{font-size:15px;}
}
