/* October 1 review: preserve the agreed desktop working area. */
.gallery-track{position:relative;width:100%;height:100%;isolation:isolate}
.gallery-window{overflow:visible}
.gallery-window .gallery-track>.gallery-main{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;transform-origin:center;will-change:transform,opacity;box-shadow:0 8px 20px #0002}
.gallery .gallery-left,.gallery .gallery-right{display:none}
.gallery .gallery-prev,.gallery .gallery-next,.gallery .gallery-dots{z-index:5}
.button{transition:box-shadow 260ms ease}
.button-label{display:inline-block;transition:transform 260ms ease}
.button:hover,.button:focus-visible{box-shadow:0 0 0 3px var(--accent);font-size:var(--button-font-size)}
.button:hover .button-label,.button:focus-visible .button-label{transform:translateX(4px)}
.button:hover>img,.button:focus-visible>img{transform:translateX(10px)}
.contact-submit:hover,.contact-submit:focus-visible,.estimate-submit:hover,.estimate-submit:focus-visible{font-size:15px}
.services-link{left:402px}
.services-arrow{left:402px;top:495px;width:103px;height:8px}
.gallery-left,.gallery-right{opacity:.72;filter:blur(1px)}
.gallery-left{left:708px}.gallery-right{left:904px}
.project-image-link{position:absolute;inset:0;z-index:2}
.project-image-link:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.projects figure>div{transition:transform 300ms ease}
.projects figcaption,.projects figure>p{pointer-events:none}
.project-reutov>img{width:120.186%;height:100%;left:-19.313%;top:0}
.engineering-image{transition:transform 300ms ease;transform-origin:center}
.process-link{transition:color 220ms ease,font-size 220ms ease}
.process-link:hover,.process-link:focus-visible{font-size:17px}
.process-link:hover+.process-arrow,.process-link:focus-visible+.process-arrow{transform:translateX(18px)}
.hero-photo>img{animation-duration:8s}
/* Move the photograph left so the view zooms toward the sofas on the right. */
@keyframes hero-drift{from{transform:translateX(0) scale(-1.06,1.06)}to{transform:translateX(-6%) scale(-1.16,1.16)}}
.footer-social{display:flex;align-items:center;gap:29px;width:148px;height:31px}
.footer-vk,.footer-telegram{background:var(--accent);border-radius:7px}
.footer-max-tint{position:relative;display:block;flex:none;width:30px;height:30px;isolation:isolate;overflow:hidden;border-radius:7px;background:var(--paper)}
.footer-max-tint::after{content:'';position:absolute;inset:0;background:var(--accent);mix-blend-mode:color;pointer-events:none}
.footer-max{width:30px;height:30px;object-fit:contain}
.footer-max{opacity:.7}
.contact.reveal-ready .stage{opacity:0;transform:translateY(28px);transition:opacity 850ms ease,transform 850ms cubic-bezier(.2,.7,.2,1)}
.contact.reveal-ready.is-visible .stage{opacity:1;transform:none}
@media(hover:hover){
  .projects figure:hover>div,.projects figure:focus-within>div,.engineering-image:hover{transform:scale(1.035);z-index:1}
}
@media(min-width:1024px){
  .hero-copy{top:350px}.hero-cta{top:485px}
  .about{height:1054px}
  .engineering-title{width:750px}
  .engineering-grid article:nth-child(5) p{width:215px}
  .process{margin-top:54px;height:494px}
  .estimate{height:458px}.estimate .stage{transform:none}
  .estimate-label{top:64px}.estimate-title{top:100px}.estimate-copy{top:243px}
  .estimate-area{top:100px;height:43px}.estimate-type{top:161px}.estimate-name{top:223px}.estimate-phone{top:285px}
  .estimate-submit{top:352.46px;height:43.81px}.estimate-status{top:412px}
  .footer{height:144px;border-top:0}.footer .stage{transform:none}
  .footer-logo{top:36px}.footer nav a{top:59px}
  .footer-phone{top:49px}.footer-hours{top:69px}
  .footer-social{left:1172px;top:54px}
}
@media(max-width:1023px){
  .services .stage{padding-bottom:20px}
  .benefits-grid{row-gap:68px}
  .deadline-title::after{content:' договора'}
  .projects .stage{padding-bottom:0}
  .hero-cta{--button-font-size:14px}
  .gallery-window{left:20px;width:calc(100% - 40px);aspect-ratio:335/280}
  .gallery-left,.gallery-right{display:block;top:16px;width:calc(100% - 40px);height:calc(100% - 76px)}
  .gallery-left{left:0}.gallery-right{left:40px}
  .gallery-prev{left:20px}.gallery-next{right:20px}
  .process-link:hover,.process-link:focus-visible{font-size:15px}
  .estimate .stage{padding-top:32px;padding-bottom:32px}
  .footer .stage{padding-top:26px;padding-bottom:26px;gap:16px}
  .footer-social{width:148px}
  .projects-track figure:hover>div{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .button,.button-label,.engineering-image,.projects figure>div,.process-link,.contact.reveal-ready .stage{transition:none}
  .contact.reveal-ready .stage{opacity:1;transform:none}
}
/* Complete October 2 mobile frame; desktop working-area scale is unchanged. */
@media(max-width:1023px){
  .process .stage{padding-top:42px;padding-bottom:0}
  .process-title{max-width:216px;margin-top:21px}
  .process-copy{max-width:306px;margin-top:36px}
  .process-grid{margin-top:42px;gap:44px 24px}
  .process-grid article{padding-left:12px;border-left:1px solid #b8956a55}
  .process-grid article>p:first-child{font-size:24px;line-height:32px}
  .process-grid article>h3{font-size:14px;line-height:20px;white-space:nowrap}
  .process-grid article>p:last-of-type{margin-top:6px}
  .process-link,.process-arrow{display:none}
  .engineering .stage{padding-top:54px;padding-bottom:30px}
  .engineering-title{font-size:36px;line-height:48px;max-width:300px}
  .engineering-copy{margin-top:36px}
  .engineering-grid{grid-template-columns:minmax(0,1fr);margin-top:42px;gap:50px}
  .engineering-image{aspect-ratio:343/224}
  .engineering-grid h3{font-size:14px;line-height:20px;margin-top:18px}
  .engineering-grid p{font-size:14px;line-height:22px;margin-top:8px}
  .engineering-grid article:nth-child(5) p{max-width:215px}
  .engineering-grid article:nth-child(1) img{width:100.36%;height:153.85%;left:-.36%;top:-38.59%}
  .engineering-grid article:nth-child(2) img{width:100%;height:153.73%;left:0;top:-20.34%}
  .engineering-grid article:nth-child(3) img{width:102.6%;height:157.05%;left:-1.17%;top:-20.54%}
  .engineering-grid article:nth-child(4) img{width:108.07%;height:166.15%;left:-7.29%;top:-46.84%}
  .engineering-grid article:nth-child(5) img{width:100%;height:153.74%;left:0;top:-.4%}
  .engineering-grid article:nth-child(6) img{width:107.03%;height:163.82%;left:-7.03%;top:-53.01%}
  .estimate .stage{padding-top:27px;padding-bottom:44px}
  .estimate-title{font-size:36px;line-height:47px;margin-top:21px}
  .estimate-copy{max-width:296px;margin-top:36px}
  .estimate form{margin-top:28px}
  .estimate-area{order:0}.estimate-type{order:1}.estimate-phone{order:2}.estimate-name{order:3}.estimate-submit{order:4}.estimate-status{order:5}
  .footer{border-top:0}
  .footer .stage{display:flex;flex-direction:column;align-items:center;gap:0;padding:0 16px 58px}
  .footer-logo{width:59px;height:62px}
  .footer nav{display:flex;justify-content:space-between;width:100%;gap:0;margin-top:28px}
  .footer nav a{font-size:14px;line-height:25px;min-height:44px}
  .footer-phone{font-size:14px;line-height:20px;margin-top:6px}
  .footer-hours{font-size:10px;line-height:20px;margin-top:2px}
  .footer-social{width:154px;height:36px;gap:23px;margin-top:26px}
  .footer-social img,.footer-max-tint{width:36px;height:36px}
  .footer-max-tint::after{display:none}
}
/* Mobile review: flat swipe carousel and a stationary hero photograph. */
@media(max-width:1023px){
  .gallery-window{left:0;width:100%;aspect-ratio:375/280;overflow:hidden}
  .gallery-window .gallery-track>.gallery-main{box-shadow:none}
  .gallery .gallery-prev,.gallery .gallery-next{display:none}
  .projects .mobile-dots button::after{background:#fff}
  .projects .mobile-dots button.active::after{background:var(--accent)}
  .hero{clip-path:inset(0);isolation:isolate}
  .hero .hero-photo{position:fixed;inset:0 auto auto 0;width:100%;height:813px}
  .services{background:var(--paper)}
}
@media(max-width:1023px) and (prefers-reduced-motion:reduce){
  .hero .hero-photo{position:absolute}
}
.gallery .phone-gallery-track{display:none}
@media(max-width:1023px){
  .gallery .gallery-window,.gallery>.gallery-dots{display:none}
  .gallery .phone-gallery-track{display:flex;width:100%;gap:16px}
  .phone-gallery-card{flex:0 0 100%;min-width:0;aspect-ratio:375/280;overflow:hidden;scroll-snap-align:center}
  .phone-gallery-card img{width:100%;height:100%;object-fit:cover;object-position:14% center}
}
