/* Dedicated information pages. The existing home-page geometry is unchanged. */
.company-section>p+p{margin-top:18px}
.company-section:first-child{margin-top:0}
.company-article>.company-section:first-of-type{margin-top:36px}
.page-related{display:flex;gap:22px 36px;flex-wrap:wrap;margin-top:36px;color:#3976c5;font-size:18px;line-height:1.5}
.company-factory img{object-fit:contain;max-height:none}
.company-body[data-page=uslugi] .company-factory{max-width:680px}
.page-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}
.page-product{position:relative;display:flex;flex-direction:column;align-items:stretch;min-width:0;min-height:340px;aspect-ratio:1/1.16;padding:26px;border:0;border-radius:14px;background:linear-gradient(115deg,#e7effe,#fff);color:#434343;text-align:left;transition:box-shadow .2s,transform .2s}
.page-product:hover{transform:translateY(-3px);box-shadow:0 10px 26px #1f518512}
.page-product h2{font-size:clamp(18px,1.45vw,27px);line-height:1.2;letter-spacing:-.02em}
.page-product-images{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;margin:24px 0 30px}
.page-product-images img{max-width:100%;width:100%;height:100%;max-height:270px;object-fit:contain}
.page-product-images img+img{width:48%}
.page-product-images:has(img+img) img{width:48%}
.page-product.product-3 .page-product-images,.page-product.product-8 .page-product-images{transform:scale(.9)}
.page-product.product-1 .page-product-images,.page-product.product-8 .page-product-images{scale:-1 1}
.page-product-arrow{position:absolute;bottom:20px;right:20px;width:26px;height:26px}
.page-works .m-case{margin:48px 0 0}
.page-works .m-case h3{font-size:clamp(23px,1.65vw,32px);line-height:1.25;letter-spacing:-.02em;margin-bottom:22px}
.page-works .m-case>div{display:flex;gap:20px;overflow-x:auto;padding-bottom:14px;scroll-snap-type:x proximity}
.page-works .m-case img{width:calc((100% - 60px)/4);min-width:220px;height:300px;object-fit:cover;border-radius:14px;cursor:pointer;scroll-snap-align:start}
.page-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 64px}
.page-contact-grid .company-section{margin-top:0!important}
.page-contact-grid .company-section:last-child{grid-column:1/-1}
.page-contact-link{color:#3976c5;overflow-wrap:anywhere}
.page-contact-grid .primary{font-size:17px;margin-top:22px}
.page-hours{margin:0;font-size:clamp(16px,1.2vw,23px);line-height:1.5;color:#434343}
.page-hours>div{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:18px 0;border-bottom:1px solid #e5e9ef}
.page-hours dt,.page-hours dd{margin:0}
@media(max-width:1000px) and (min-width:701px){.page-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.page-product{aspect-ratio:1.1;min-height:300px}}
@media(max-width:700px){
 .company-section>p+p{margin-top:16px}
 .page-related{font-size:16px;gap:16px;margin-top:28px}
 .page-catalog{grid-template-columns:1fr;gap:20px;margin-top:28px}
 .page-product{padding:22px;min-height:330px;aspect-ratio:1/1.08}
 .page-product h2{font-size:22px}
 .page-product-images{margin:20px 0 26px}
 .page-product-images img{max-height:240px}
 .page-works .m-case{margin-top:36px}
 .page-works .m-case h3{font-size:25px;margin-bottom:18px}
 .page-works .m-case>div{gap:14px}
 .page-works .m-case img{width:76%;min-width:0;height:300px;border-radius:12px}
 .page-contact-grid{grid-template-columns:1fr;gap:36px}
 .page-hours{font-size:16px}
 .page-hours>div{grid-template-columns:1fr;gap:5px;padding:16px 0}
 .page-hours dd{color:#717171}
}
@media(prefers-reduced-motion:reduce){.page-product{transition:none}.page-product:hover{transform:none}}

/* Real client video reviews: native playback, full frame, no autoplay. */
.review-videos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px;margin-top:36px}
.review-video{min-width:0}
.review-video video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:#1c2533;border-radius:14px}
.review-video video:focus-visible{outline:3px solid #7ab4ff;outline-offset:4px}
.review-caption{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:15px}
.review-caption h2{font-size:clamp(18px,1.2vw,23px);line-height:1.3;letter-spacing:-.02em;margin:0;color:#434343}
.review-caption>span{font-size:14px;color:#717171;white-space:nowrap}
.review-playback-error{margin-top:12px;font-size:14px;line-height:1.5;color:#717171}
.review-playback-error a{color:#3976c5;text-decoration:underline}
@media(min-width:701px) and (max-width:1000px){.review-videos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.review-videos{grid-template-columns:1fr;gap:30px;margin-top:28px}.review-video{width:100%;max-width:440px;margin:auto}.review-video video{border-radius:12px}.review-caption{margin-top:12px}.review-caption h2{font-size:20px}.review-caption>span{font-size:13px}}
/* Preserve the full frame of wide table and sink photographs. */
.page-works .cheese-tables-case img{width:calc((100% - 40px)/3);min-width:260px;height:280px;object-fit:contain;background:#f3f7fc}
.work-gallery-hint{font-size:14px;line-height:1.5;color:#717171;margin:-8px 0 16px}
@media(max-width:700px){.page-works .cheese-tables-case img{width:88%;min-width:0;height:280px}.work-gallery-hint{font-size:13px}}

.review-frame{position:relative}
.review-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:66px;height:66px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:#7ab4ff;color:#fff;box-shadow:0 4px 24px #18233333;transition:background .2s}
.review-play::before{content:'';display:block;width:0;height:0;margin-left:5px;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:18px solid #fff}
.review-play:hover{background:#609ff0}
.review-play[hidden]{display:none}

/* Work-photo strips: never compress every photo into the available row. */
.m-case>div{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.m-case img[data-zoom]{flex-shrink:0;object-fit:contain}
.page-works .m-case>div{display:flex;gap:20px;scroll-snap-type:x mandatory;padding-bottom:14px}
.page-works .m-case img,.page-works .cheese-tables-case img{flex:0 0 32%;width:32%;min-width:220px;max-width:100%;height:300px;aspect-ratio:auto;object-fit:contain;background:#f3f7fc;border-radius:14px;scroll-snap-align:start}
/* A second footer column matches the existing primary navigation. */
.desktop #contacts .footer-secondary-nav{position:absolute;left:66cqw;top:5.41666667cqw;display:grid;grid-auto-rows:2.03125cqw;font-family:'Helvetica Neue',Arial,sans-serif;font-weight:400;font-size:1.04166667cqw;line-height:normal;color:#717171}
.desktop #contacts .footer-secondary-nav a{white-space:nowrap}
.company-body[data-page=uslugi] .company-factory.figure-wide{max-width:none}
@media(max-width:700px){
 .page-works .m-case>div{gap:14px}
 .page-works .m-case img,.page-works .cheese-tables-case img{flex:0 0 88%;width:88%;min-width:0;max-width:88%;height:300px;border-radius:12px;object-fit:contain}
 .mobile .m-case img[data-zoom]{flex:0 0 88%;width:88%;min-width:0;max-width:88%;height:280px;aspect-ratio:auto;object-fit:contain;background:#f3f7fc}
 .m-footer-navs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:26px}
 .m-footer .m-footer-navs nav{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:14px;margin:0;font-size:14px;line-height:1.5;color:#d8dadd}
 .m-footer .m-footer-navs a{max-width:100%;overflow-wrap:normal}
}

/* Match the reference: rounded photographs, natural proportions, equal gaps.
   Intrinsic dimensions in HTML prevent lazy images from starting at zero width. */
.page-works .m-case{margin:0 0 72px}
.page-works .m-case h3{margin:0 0 20px}
.page-works .m-case>div,.mobile .m-case>div{display:flex;align-items:flex-start;gap:clamp(20px,1.875vw,36px);padding:0 0 14px;scroll-snap-type:x mandatory}
.page-works .m-case img,.page-works .cheese-tables-case img,.mobile .m-case img[data-zoom]{display:block;flex:0 0 auto;width:auto;min-width:0;max-width:none;height:330px;aspect-ratio:auto;object-fit:contain;background:transparent;border-radius:20px;margin:0;scroll-snap-align:start}
@media(max-width:700px){
 .page-works .m-case{margin:0 0 48px}
 .page-works .m-case h3{margin-bottom:18px}
 .page-works .m-case>div,.mobile .m-case>div{gap:16px}
 .page-works .m-case img,.page-works .cheese-tables-case img,.mobile .m-case img[data-zoom]{height:min(280px,calc((100vw - 44px)*.66));border-radius:18px}
}
