/* Local review: original INTERIO GRAND identity, adapted for CONCEPT. */
html{scroll-padding-top:160px}
.site-header.ig-header{height:146px;padding:14px 3%;display:grid;grid-template-columns:250px minmax(240px,1fr) 190px 150px 44px;gap:30px;background:#080808;color:#eee;border:0;box-shadow:none}
.site-header.ig-header.scrolled{background:#080808;border:0;box-shadow:0 4px 18px #0002}
.ig-brand{display:flex;flex-direction:column;align-items:center;width:250px;gap:6px}.ig-brand img{width:250px;height:90px;object-fit:contain}.ig-brand>span{font:400 12px/1.2 var(--sans);letter-spacing:.48em;padding-left:.48em;color:#eee}
.ig-addresses,.ig-contacts,.ig-quick{display:flex;flex-direction:column;gap:9px;font-size:15px;line-height:1.35;min-width:0}.ig-addresses{max-width:400px;color:#c7c7c7}.ig-addresses span{color:#f2f2f2}.ig-contacts{font-size:16px}.ig-email{color:#c7c7c7}.ig-phone{white-space:nowrap}.ig-quick{font-size:15px}
.ig-header a:hover{color:#fff}.ig-header a:focus-visible,.ig-header button:focus-visible{outline-color:#fff}
.ig-header .menu-toggle{display:block;width:44px;height:44px;padding:5px;justify-self:end}.ig-header .menu-toggle span{width:27px;height:1px;margin:7px auto;background:#eee}
.hero{height:calc(100svh - 146px)}
@media(max-width:1250px){.site-header.ig-header{grid-template-columns:210px minmax(200px,1fr) 170px 140px 44px;gap:20px}.ig-brand{width:210px}.ig-brand img{width:210px;height:80px}.ig-addresses{font-size:13px}.ig-contacts,.ig-quick{font-size:14px}}
@media(max-width:1050px){.site-header.ig-header{height:120px;grid-template-columns:210px 1fr 150px 44px;gap:24px}.ig-addresses{display:none}.ig-contacts{justify-self:center;font-size:16px}.hero{height:calc(100svh - 120px)}html{scroll-padding-top:135px}}
@media(max-width:700px){.site-header.ig-header{height:104px;padding:10px 5%;grid-template-columns:180px 1fr 44px;gap:14px}.ig-brand{width:180px;gap:3px}.ig-brand img{width:180px;height:65px}.ig-brand>span{font-size:10px}.ig-quick{display:none}.ig-contacts{font-size:13px;justify-self:end}.ig-email{display:none}.hero{height:calc(100svh - 104px)}html{scroll-padding-top:120px}}
@media(max-width:480px){.site-header.ig-header{height:96px;grid-template-columns:155px 1fr 44px;gap:8px;padding:9px 4%}.ig-brand{width:155px}.ig-brand img{width:155px;height:57px}.ig-contacts{font-size:12px}.ig-phone{max-width:108px;white-space:normal;text-align:right;line-height:1.4}.hero{height:calc(100svh - 96px)}}

/* Reference proportions and top-expanding navigation. */
.site-header.ig-header{height:134px;padding:8px 2.4%;grid-template-columns:270px minmax(280px,1fr) 195px 175px 36px;gap:35px;background:#111}
.ig-brand{width:270px;display:block}.ig-brand img{width:270px;height:114px}.ig-addresses,.ig-contacts,.ig-quick{font-size:17px;line-height:1.22;gap:9px}.ig-addresses{max-width:440px}.ig-contacts a{display:flex;gap:12px;align-items:center}.ig-phone:before{content:'☎';font-size:18px}.ig-email:before{content:'✉';font-size:18px}.ig-header .menu-toggle{width:36px}.hero{height:calc(100svh - 134px)}
#menu-panel.ig-menu{position:fixed;inset:0 0 auto;margin:0;width:100%;max-width:none;height:auto;max-height:100svh;min-height:350px;padding:165px max(5%,calc((100vw - 1100px)/2)) 0;background:#fff;color:#171717;border:0;border-radius:0;overflow:auto;box-shadow:none}
#menu-panel.ig-menu::backdrop{background:transparent}
#menu-panel.ig-menu nav{display:block;padding:0;margin:0}.ig-menu-row{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:92px;border-bottom:1px solid #ddd}
#menu-panel.ig-menu nav a,#menu-panel.ig-menu summary{font-family:StandardCTCond,'Arial Narrow',sans-serif;font-size:22px;font-weight:300;line-height:1.2;text-transform:uppercase;letter-spacing:0;padding:16px 0;border:0;display:block;cursor:pointer}
#menu-panel.ig-menu nav a:hover,#menu-panel.ig-menu summary:hover{color:#888}.ig-menu details{position:relative}.ig-menu summary{list-style:none}.ig-menu summary::-webkit-details-marker{display:none}.ig-menu summary:after{content:'▾';font-family:Arial;font-size:11px;margin-left:8px}.ig-menu details[open] summary:after{content:'▴'}.ig-menu details>div{position:fixed;background:white;border-top:1px solid #ddd;padding:15px 25px;box-shadow:0 12px 18px #0001;min-width:220px;z-index:2}
#menu-panel.ig-menu details>div a{font-size:19px;padding:9px 0;text-transform:none}#menu-panel.ig-menu .dialog-close{position:absolute;right:22px;top:8px;font-family:Arial;font-size:42px;font-weight:200;width:48px;height:48px;padding:0;line-height:1;border:0;background:none;color:#111}
@media(max-width:1250px){.site-header.ig-header{grid-template-columns:245px minmax(230px,1fr) 180px 155px 36px;gap:22px}.ig-brand,.ig-brand img{width:245px}.ig-addresses,.ig-contacts,.ig-quick{font-size:15px}}
@media(max-width:1050px){.site-header.ig-header{grid-template-columns:245px 1fr 160px 36px;height:124px}.ig-addresses{display:none}.hero{height:calc(100svh - 124px)}#menu-panel.ig-menu{padding:100px 5% 0}.ig-menu-row{flex-wrap:wrap;justify-content:center;gap:5px 25px;padding:20px 0}}
@media(max-width:700px){.site-header.ig-header{height:98px;grid-template-columns:185px 1fr 36px;gap:14px;padding:5px 4%}.ig-brand,.ig-brand img{width:185px;height:84px}.ig-contacts{font-size:13px}.ig-phone:before{display:none}.ig-quick{display:none}.hero{height:calc(100svh - 98px)}#menu-panel.ig-menu{padding:65px 7% 28px;min-height:0}.ig-menu-row{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:10px 0}#menu-panel.ig-menu nav a,#menu-panel.ig-menu summary{font-size:23px;padding:12px 0}.ig-menu details>div{position:static;border:0;box-shadow:none;padding:0 0 12px 20px}.ig-menu summary:after{float:right}}
@media(max-width:480px){.site-header.ig-header{grid-template-columns:165px 1fr 32px;gap:8px;height:94px}.ig-brand,.ig-brand img{width:165px;height:80px}.ig-contacts{font-size:12px}.ig-header .menu-toggle{width:32px}.hero{height:calc(100svh - 94px)}}
#menu-panel.ig-menu::backdrop{backdrop-filter:none;background:transparent} #menu-panel.ig-menu{background:#fff;opacity:1} .ig-menu summary:after{display:inline-block}

.ig-menu details>div{max-height:calc(100svh - 340px);overflow-y:auto}@media(max-width:700px){.ig-menu details>div{max-height:none}}

/* Approved reference background and evenly distributed header blocks. */
.site-header.ig-header,.site-header.ig-header.scrolled{background:#202123 url('assets/images/header-decor.jpg') center top/cover no-repeat;grid-template-columns:270px minmax(270px,440px) 205px 175px 36px;justify-content:space-between;align-items:center;gap:clamp(20px,3vw,80px)}
.ig-brand img{mix-blend-mode:screen}
.ig-addresses{width:100%;max-width:440px;color:#dedede}.ig-addresses span{color:inherit}.ig-contacts,.ig-quick,.ig-email{color:#dedede}
.ig-contacts{justify-self:start}
@media(max-width:1250px){.site-header.ig-header,.site-header.ig-header.scrolled{grid-template-columns:230px minmax(230px,340px) 180px 145px 36px;gap:20px}.ig-brand,.ig-brand img{width:230px}}
@media(max-width:1050px){.site-header.ig-header,.site-header.ig-header.scrolled{grid-template-columns:220px 190px 160px 36px;gap:20px}.ig-brand,.ig-brand img{width:220px}.ig-contacts{justify-self:center}}
@media(max-width:700px){.site-header.ig-header,.site-header.ig-header.scrolled{grid-template-columns:185px minmax(0,1fr) 36px;gap:12px}.ig-brand,.ig-brand img{width:185px}.ig-contacts{justify-self:end}}
@media(max-width:480px){.site-header.ig-header,.site-header.ig-header.scrolled{grid-template-columns:155px minmax(0,1fr) 32px;gap:8px}.ig-brand,.ig-brand img{width:155px}}
.ig-brand img{filter:brightness(.95) contrast(1.18)}

/* Shared footer, approved identity. */
footer.footer{background:#111;color:#e5e5e5}
footer.footer .footer-top .logo img{width:270px;height:auto;mix-blend-mode:screen;filter:brightness(.95) contrast(1.18)}
.footer .muted,.footer-bottom,.footer .eyebrow{color:#aaa}
.footer-top,.footer-bottom{border-color:#ffffff26}
.footer a:focus-visible{outline-color:#eee}
@media(max-width:650px){footer.footer .footer-top .logo img{width:220px;max-width:100%}}
/* Header without quick links. */
.site-header.ig-header,.site-header.ig-header.scrolled{grid-template-columns:270px minmax(270px,440px) 205px 36px}
@media(max-width:1250px){.site-header.ig-header,.site-header.ig-header.scrolled{grid-template-columns:230px minmax(230px,340px) 180px 36px}}
@media(max-width:1050px){.site-header.ig-header,.site-header.ig-header.scrolled{grid-template-columns:220px minmax(0,1fr) 36px}}
@media(max-width:700px){.site-header.ig-header,.site-header.ig-header.scrolled{grid-template-columns:185px minmax(0,1fr) 36px}}
@media(max-width:480px){.site-header.ig-header,.site-header.ig-header.scrolled{grid-template-columns:155px minmax(0,1fr) 32px}}
/* Homepage carousel: side arrows at image midpoint, like INTERIO GRAND. */
.hero-reference .hero-bottom{position:static;display:block}
.hero-reference .hero-project-info{position:absolute;left:7.5%;bottom:42px;max-width:80%;z-index:2}
.hero-reference .slider-controls{display:contents}
.hero-reference .slider-controls .slider-prev,.hero-reference .slider-controls .slider-next{position:absolute;top:50%;transform:translateY(-50%);width:62px;height:62px;min-width:62px;min-height:62px;padding:0;border:1px solid #ffffffa6;border-radius:50%;font-size:0;z-index:3;background:#00000010;display:grid;place-items:center}
.hero-reference .slider-prev{left:2.4%}.hero-reference .slider-next{right:2.4%}
.hero-reference .slider-prev:before,.hero-reference .slider-next:before{content:'';width:18px;height:18px;border-top:1px solid #fff;border-right:1px solid #fff;transform:rotate(45deg);margin-left:-7px}
.hero-reference .slider-prev:before{transform:rotate(-135deg);margin-left:7px}
.hero-reference .slider-controls .slider-prev:hover,.hero-reference .slider-controls .slider-next:hover{background:#ffffff26}
.hero-reference .slider-index,.hero-reference .slider-progress{display:none}
.hero-reference .slider-pause{position:absolute;bottom:26px;right:2.4%;z-index:3;opacity:.7}
.hero-reference .hero-project-contact{border-radius:40px;min-width:214px;justify-content:center;margin-top:28px}
@media(max-width:650px){.hero-reference .slider-controls .slider-prev,.hero-reference .slider-controls .slider-next{width:44px;height:44px;min-width:44px;min-height:44px}.hero-reference .slider-prev:before,.hero-reference .slider-next:before{width:13px;height:13px}.hero-reference .hero-project-info{left:6%;bottom:32px;max-width:82%}.hero-reference .slide-caption{font-size:clamp(34px,9vw,52px)}.hero-reference .hero-project-contact{margin-top:20px;min-width:190px}.hero-reference .slider-pause{bottom:28px}}
/* Center chevrons optically inside the circular controls. */
.hero-reference .slider-controls .slider-prev,.hero-reference .slider-controls .slider-next{display:block;line-height:0}
.hero-reference .slider-prev:before,.hero-reference .slider-next:before{position:absolute;top:50%;left:50%;margin:0;box-sizing:border-box}
.hero-reference .slider-prev:before{transform:translate(-35%,-50%) rotate(-135deg)}
.hero-reference .slider-next:before{transform:translate(-65%,-50%) rotate(45deg)}

.hero-reference .slider-controls .slider-pause{display:none}
/* Full photographs: preserve source proportions and prevent cover cropping. */
.hero.hero-reference{height:min(64vw,calc(100svh - 134px));min-height:0;max-height:none;background:#111}
.hero-reference .hero-slide img{object-fit:contain;object-position:center;width:100%;height:100%;transform:none}
.hero-reference .slide-caption{font-size:clamp(32px,4.5vw,64px)}
@media(max-width:1050px){.hero.hero-reference{height:min(64vw,calc(100svh - 124px))}}
@media(max-width:700px){.hero.hero-reference{height:calc(64vw + 190px)}.hero-reference .hero-slides{bottom:190px}.hero-reference .hero-overlay{display:none}.hero-reference .hero-project-info{left:6%;right:6%;bottom:24px;max-width:none;width:auto}.hero-reference .slide-caption{font-size:clamp(28px,6.5vw,40px);line-height:1.12}.hero-reference .hero-project-contact{margin-top:16px;min-height:44px;padding:10px 22px}.hero-reference .slider-controls .slider-prev,.hero-reference .slider-controls .slider-next{top:32vw}}
/* Edge-to-edge photos with their own natural aspect ratio. */
.hero.hero-reference{height:auto;aspect-ratio:var(--slide-ratio,1.55844);min-height:0;max-height:none}
.hero-reference .hero-slides{inset:0}
@media(max-width:700px){.hero.hero-reference{aspect-ratio:auto;height:calc(100vw / var(--slide-ratio,1.55844) + 190px)}.hero-reference .hero-slides{bottom:190px}.hero-reference .slider-controls .slider-prev,.hero-reference .slider-controls .slider-next{top:calc(50vw / var(--slide-ratio,1.55844))}}
.facade-carousel{position:relative;isolation:isolate;margin:0;touch-action:pan-y}
.facade-slides img{display:block;width:100%;height:auto}.facade-slides img[hidden]{display:none}
.facade-carousel button{position:absolute;top:50%;transform:translateY(-50%);width:62px;height:62px;border:1px solid #ffffffb3;border-radius:50%;background:#0003;color:white;padding:0;display:grid;place-items:center;font:300 40px/1 Arial;cursor:pointer}
.facade-prev{left:24px}.facade-next{right:24px}.facade-carousel button:hover{background:#0006}
.facade-count{position:absolute;bottom:18px;right:24px;padding:5px 12px;border-radius:18px;background:#0006;color:white;font-size:13px}
@media(max-width:650px){.facade-carousel button{width:44px;height:44px;font-size:30px}.facade-prev{left:12px}.facade-next{right:12px}.facade-count{bottom:10px;right:12px}}
/* Stable frame for the facade gallery, independent of photo orientation. */
.facade-slides{aspect-ratio:16/10;overflow:hidden}
.facade-slides img{width:100%;height:100%;object-fit:cover;object-position:center}

/* Fixed hero frame: slide dimensions must not move the page. */
.hero.hero-reference{height:clamp(420px,calc(100svh - 134px),850px);aspect-ratio:auto;min-height:0}
.hero-reference .hero-slides{inset:0}
.hero-reference .hero-slide img{object-fit:cover;object-position:center;width:100%;height:100%}
.hero-reference .slider-controls .slider-prev,.hero-reference .slider-controls .slider-next{top:50%}
@media(max-width:1050px) and (min-width:701px){.hero.hero-reference{height:clamp(400px,calc(100svh - 124px),760px)}}
@media(max-width:700px){.hero.hero-reference{height:calc(75vw + 190px);aspect-ratio:auto}.hero-reference .hero-slides{inset:0 0 190px}.hero-reference .slider-controls .slider-prev,.hero-reference .slider-controls .slider-next{top:37.5vw}}
@media(max-height:500px) and (min-width:701px){.hero.hero-reference{height:400px}}

/* Rublevo: show the whole facade within the stable hero frame. */
.hero-reference .hero-slide-rublevo{overflow:hidden;background:#646862}
.hero-reference .hero-slide-rublevo:before{content:"";position:absolute;inset:-25px;background:url('/local/templates/ig_concept_2026/assets/optimized/rublevo-uspenskoe-1672.webp') center/cover no-repeat;filter:blur(20px);opacity:.65}
.hero-reference .hero-slide-rublevo img{position:relative;object-fit:contain;object-position:center;transform:none}

/* Keep the hero visibly separated from the sticky header. */
.hero.hero-reference{margin-top:0}
.hero-reference .hero-slide-rublevo:before{display:none}
.hero-reference .hero-slide-rublevo img{object-fit:cover;object-position:center 40%}
@media(max-width:700px){.hero.hero-reference{margin-top:0}}
