/* Flow layout keeps the first screen stable between breakpoints. */
.hero{height:auto;min-height:max(760px,100svh)}
.hero__content{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:24px 32px;padding:clamp(140px,16vh,190px) 0 150px}
.hero__content>.eyebrow,.hero__title,.hero__lead,.hero__actions{grid-column:1/-1;margin:0}
.hero__title{font-size:clamp(36px,6.3vw,88px);line-height:1.04;max-width:100%;overflow-wrap:normal}
.hero__stats{position:static;grid-column:1;grid-row:5;margin:16px 0 0;display:flex;flex-wrap:wrap;gap:24px 38px;align-items:center;justify-content:flex-start}
.hero__orbit{position:relative;grid-column:2;grid-row:5;left:auto;bottom:auto;transform:none;width:96px;height:96px;margin:8px;display:grid;align-self:center}
.hero__orbit span{top:18px;font-size:6px}.hero__orbit b{font-size:24px}
.contact{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0}
.contact__info{min-width:0;padding:80px clamp(24px,3vw,64px);container-type:inline-size}
.contact__phone{display:inline-block;max-width:100%;white-space:nowrap;font-size:clamp(20px,6.5cqi,46px);line-height:1.3}
.contact__map{min-width:0;min-height:540px;height:auto;isolation:isolate}
#service-map{position:absolute;inset:0;z-index:0;background:#d8d5cd}
.contact__map-label{z-index:450;max-width:calc(100% - 96px);left:20px;top:20px}
.contact__route{z-index:450;bottom:36px;left:20px;padding:13px 16px}
.map-reset{position:absolute;z-index:450;right:12px;top:94px;max-width:145px;background:white;color:#111;border:1px solid #bbb;border-radius:4px;padding:10px;cursor:pointer;font:700 11px Manrope,sans-serif}
.map-status{position:absolute;z-index:460;top:160px;left:20px;right:20px;background:#fff;color:#222;padding:16px;box-shadow:0 4px 20px #0002;font-size:13px;line-height:1.6}
.map-status[hidden]{display:none}.map-status a{display:block;text-decoration:underline;font-weight:800}
.service-map-pin{background:transparent;border:0}.service-map-pin span{display:block;width:26px;height:26px;border:4px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#b49300;box-shadow:0 2px 8px #0006}
.leaflet-control-attribution{max-width:100%;font-size:10px}.leaflet-control-attribution a{color:#07557c}
.about-company__content{min-width:0;padding:clamp(24px,3vw,58px)}
.about-company h2{font-size:clamp(36px,4.3vw,66px)}
.about-company__actions{flex-wrap:wrap}.about-company__facts{gap:0}.about-company__facts b{font-size:clamp(15px,1.6vw,20px)}
.project-card__head{flex-wrap:wrap;gap:8px;padding:10px 0}.project-card h3{overflow-wrap:anywhere}
.contact-dock{left:auto;right:18px;bottom:18px;transform:none}
.footer{padding-bottom:110px}
.reviews__viewport{overflow:hidden;padding-top:10px;margin-top:-10px}
.reviews__track blockquote{flex-basis:calc((100% - 44px)/3);min-width:0}
.reviews__controls button:disabled{opacity:.3;cursor:default;background:transparent;color:#111}
@media(max-width:1000px){.reviews__track blockquote{flex-basis:calc((100% - 22px)/2)}}
@media(max-width:700px){.reviews__track blockquote{flex-basis:100%}}
.contact-dock.is-context-hidden{opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:700px){.hero__title{font-size:clamp(26px,8.2vw,52px)!important}.hero__title span{white-space:nowrap}.hero__content>.eyebrow{font-size:9px;letter-spacing:.12em}}
@media(max-width:1150px){.header{gap:18px;padding-left:22px;padding-right:22px}.brand{min-width:190px}.nav{gap:15px}.nav a{font-size:11px}.header__phone b{font-size:12px}}
@media(max-width:1000px){.nav{top:76px;max-height:calc(100svh - 76px);overflow:auto;visibility:hidden;pointer-events:none}.nav.open{visibility:visible;pointer-events:auto}.nav a{font-size:18px}.header.is-scrolled .nav{top:72px}.hero__content{grid-template-columns:minmax(0,1fr)}.hero__orbit{display:none}.hero__stats{grid-column:1/-1}.contact{grid-template-columns:minmax(0,1fr)}.contact__map{height:480px;min-height:0}.contact__info{padding:64px 30px}.contact-dock a{width:42px;height:42px}}
@media(max-width:700px){.hero{min-height:0}.hero__content{padding:125px 0 115px;gap:24px}.hero__title{font-size:clamp(32px,9.2vw,58px);letter-spacing:-.055em}.hero__title span:nth-child(3){font-size:1em;letter-spacing:inherit}.hero__lead{max-width:100%}.hero__stats{gap:18px;justify-content:space-between;margin:0}.hero__stats strong{font-size:25px}.hero__actions{width:100%;max-width:360px}.contact__info{padding:60px 20px}.contact__map{height:440px}.about-company h2{font-size:clamp(34px,9vw,52px)}.about-company__facts b{font-size:20px}.contact-dock{right:10px;bottom:10px}.contact__map-label b{font-size:12px}.map-reset{top:98px}.map-status{top:154px}}
