/* Scoped homepage refinements. Base HTML, content, gallery photos and editor are unchanged. */
/* Background equality for sections 01 and 03 */
#gallery.gallery{background:#171714;color:#f5f1e8}
#gallery.gallery::before{
  background-image:url('assets/ui/texture-dark.png');
  background-repeat:repeat;
  background-position:center top;
  background-size:960px 960px;
  opacity:.20;
}
#gallery .section-title{color:#f5f1e8}
#gallery .lead,#gallery .muted{color:#bdb6a9}

/* The first screen melts into section 01 instead of ending at a hard line. */
main > .hero{isolation:isolate}
main > .hero::after{
  content:"";
  position:absolute;
  top:auto;left:0;right:0;bottom:-1px;
  height:clamp(170px,25vh,330px);
  z-index:1;
  background:linear-gradient(180deg,rgba(23,23,20,0) 0%,rgba(23,23,20,.24) 27%,rgba(23,23,20,.72) 65%,#171714 100%);
  pointer-events:none;
}
main > .hero > .hero-copy,main > .hero > .hero-side{position:relative;z-index:3}
main > .hero .hero-side-inner{grid-template-columns:repeat(2,minmax(0,1fr));width:min(400px,100%)}

/* Контраст главного экрана: плотное затемнение под текстом слева,
   которое плавно отпускает фотографию к правому краю. */
main > .hero > .hero-art::before{
  display:block!important;
  background:linear-gradient(
    90deg,
    rgba(0,0,0,.56) 0%,
    rgba(0,0,0,.53) 34%,
    rgba(0,0,0,.31) 52%,
    rgba(0,0,0,.07) 70%,
    rgba(0,0,0,.02) 100%
  )!important;
}

@media(max-width:900px){
  main > .hero > .hero-art::before{
    background:linear-gradient(
      90deg,
      rgba(0,0,0,.58) 0%,
      rgba(0,0,0,.46) 64%,
      rgba(0,0,0,.28) 100%
    )!important;
  }
}
#public.public{background:#171714}
#public.public::before{
  -webkit-mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.2) 50px,#000 170px);
  mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.2) 50px,#000 170px);
}


/* Restore the intended light contact section; previous archive dropped it. */
#contacts.contacts{background:#f5f1e8;color:#171511}
#contacts .eyebrow{color:#84776a}
#contacts .lead{color:#575147}
#contacts .contact-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
#contacts .contact-pill{
  flex:1 1 170px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;
  min-width:0;padding:13px 15px;border-radius:12px;
  border:1px solid rgba(62,47,31,.10);background:#eee8de;
  color:#4d4238;
}
#contacts .contact-pill span{
  font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#827363
}
#contacts .contact-pill strong{
  font-size:12px;font-weight:500;color:#282119;line-height:1.4;overflow-wrap:anywhere
}

#contacts .contact-btn{
  background:#191714;color:#f8f3ea;
  border:1px solid #191714;border-radius:10px;
  font-weight:600;box-shadow:0 10px 24px rgba(34,28,22,.13);
  transition:background .22s ease,transform .22s ease;
}
#contacts .contact-btn:hover{background:#383027;transform:translateY(-2px)}

/* Contact map: framed contemporary cartography in the site's palette. */
#contacts .contact-map-wrap{display:block}
#contacts .contact-grid{align-items:center}
#contacts .contact-map-card{
  background:#eee8dd;
  border:1px solid rgba(48,37,23,.10);
  border-radius:22px;
  padding:16px;
  box-shadow:0 22px 55px rgba(43,34,22,.085);
  overflow:hidden;
}
#contacts .contact-map-head{
  display:flex;justify-content:space-between;align-items:center;gap:15px;
  padding:8px 9px 18px;
}
#contacts .contact-map-head>div{display:flex;flex-direction:column;gap:5px}
#contacts .contact-map-eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#918272}
#contacts .contact-map-head strong{font-weight:500;font-size:18px;line-height:1.2;color:#2b241c}
#contacts .contact-map-metro{font-size:11px;letter-spacing:.02em;color:#716557;text-align:right}
#contacts .contact-map-card img{
  display:block;width:100%;height:auto;
  border-radius:14px;
  background:#eee6d9;
  aspect-ratio:1120/650;
}
#contacts .contact-map-route{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:14px 8px 2px;
  font-size:11px;font-weight:600;letter-spacing:.10em;text-transform:uppercase;
  color:#3b332a;
  text-decoration:none;
  border-bottom:1px solid rgba(51,42,31,.20);
  padding-bottom:12px;
  transition:color .2s,border-color .2s;
}
#contacts .contact-map-route:hover{color:#8d6845;border-color:#8d6845}
#contacts .contact-map-route span{font-size:19px;line-height:1}
#contacts .contact-pills{margin-top:14px}
@media(max-width:900px){
 #contacts .contact-grid{align-items:stretch}
 #contacts .contact-map-card{padding:12px;border-radius:18px}
}
@media(max-width:560px){
 main > .hero::after{height:190px}
 #contacts .contact-map-head{padding:4px 4px 12px;align-items:flex-start}
 #contacts .contact-map-head strong{font-size:16px}
 #contacts .contact-map-metro{font-size:10px;max-width:125px}
 #contacts .contact-map-route{font-size:10px;letter-spacing:.06em;margin:12px 5px 2px}
}


/* Remove circular stamp completely */
.public-seal{display:none!important}


/* Interactive Yandex map replaces the offline mock illustration. */
#contacts .contact-map-card .contact-yandex-embed{
  display:block;width:100%;height:clamp(315px,31vw,425px);
  border:0;border-radius:14px;background:#e8e0d3;
  overflow:hidden;
}
@media(max-width:560px){
  #contacts .contact-map-card .contact-yandex-embed{height:335px;border-radius:12px}
}
