/* Shared navigation and heading layout after removing decorative overlines. */
.section-heading{grid-template-columns:minmax(0,1fr) auto;gap:30px}
.hero__copy{padding-top:0}.hero h1,.project-hero h1,.catalog-intro h1{margin-top:0}
.scope-item h3{margin-top:0}.system-photo h3{margin-top:0}
.header__inner{position:relative}
.services-menu{position:static;border:0;padding:0;margin:0}
.services-menu>summary{display:flex;align-items:center;justify-content:flex-start;gap:7px;padding:12px 0;list-style:none;font-size:13px;line-height:1.6;font-weight:400;letter-spacing:0;white-space:nowrap;cursor:pointer}
.services-menu>summary::-webkit-details-marker{display:none}
.services-menu>summary::after{content:none}
.services-menu>summary>svg{flex-shrink:0;transition:transform .2s}
.services-menu[open]>summary>svg{transform:rotate(180deg)}
.services-menu>summary:hover,.services-menu[open]>summary{color:var(--blue)}
.services-dropdown{position:absolute;top:calc(100% - 1px);left:160px;right:0;max-width:960px;margin-left:auto;z-index:35;padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:0 0 5px 5px;box-shadow:0 16px 30px #18221f14;max-height:calc(100dvh - 115px);overflow-y:auto;overscroll-behavior:contain}
.services-dropdown__catalog{display:flex;align-items:center;justify-content:space-between;padding:0 3px 15px!important;border-bottom:1px solid var(--line);font-size:13px;font-weight:500;margin-bottom:9px}
.services-dropdown__catalog>svg{width:20px;height:20px}
.services-dropdown__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px}
.services-dropdown__grid>a{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 12px!important;min-height:70px;border-radius:3px;font-size:13px;line-height:1.6;color:#405448;transition:background .2s,color .2s}
.services-dropdown__grid>a>span{min-width:0}
.services-dropdown__grid>a>svg{width:17px;height:17px;flex-shrink:0;margin-top:3px;color:#7b9281}
.services-dropdown__grid>a:hover,.services-dropdown__grid>a[aria-current=page]{background:#e6eee5;color:#0875c8}
.services-dropdown__grid>a:focus-visible{outline-offset:0}
.company-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center;padding-block:45px 65px}
.company-hero h1{font-size:70px;line-height:1.05;margin-bottom:28px}
.company-hero h1>span{color:var(--blue)}
.company-hero p{font-size:14px;line-height:1.9;color:#66796b;margin-top:20px;max-width:460px}
.company-hero__photo{height:430px;overflow:hidden;border-radius:4px}
.company-hero__photo img{width:100%;height:100%;object-fit:cover}
.company-directions{border-top:1px solid var(--line)}
.company-services{border-top:1px solid var(--line)}
.company-services>a{display:grid;grid-template-columns:55px minmax(0,1fr) 24px;gap:25px;align-items:center;padding-block:25px;border-bottom:1px solid var(--line)}
.company-services>a>span{font-size:11px;color:#7a907e}
.company-services h3{font-size:25px;line-height:1.3}
.company-services>a>svg{color:#637e6c}
.company-services>a:hover h3{color:var(--blue)}
@media(max-width:1150px){.services-menu>summary{font-size:12px}.services-dropdown{left:0;max-width:850px}.services-dropdown__grid>a{font-size:12px}.company-hero{gap:55px}.company-hero h1{font-size:57px}}
@media(max-width:800px){
 .nav{max-height:calc(100dvh - 75px);overflow-y:auto;overscroll-behavior:contain}
 .services-menu>summary{font-size:23px;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line)}
 .services-menu>summary>svg{width:19px;height:19px}
 .services-dropdown{position:static;inset:auto;max-width:none;width:100%;max-height:none;margin:0;padding:15px 0 18px;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;overflow:visible}
 .services-dropdown__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px}
 .services-dropdown__grid>a{font-size:13px;min-height:65px;padding:12px 10px!important}
 .services-dropdown__catalog{font-size:13px;padding:3px 0 13px!important}
 .section-heading{grid-template-columns:minmax(0,1fr) auto;gap:20px}
 .company-hero{gap:35px;padding-block:35px 50px}.company-hero h1{font-size:47px}.company-hero p{font-size:12px}.company-hero__photo{height:385px}.company-services h3{font-size:23px}
}
@media(max-width:540px){
 .nav{max-height:calc(100dvh - 71px);padding:18px 22px 25px}
 .services-dropdown__grid{grid-template-columns:minmax(0,1fr);gap:3px}
 .services-dropdown__grid>a{font-size:13px;padding:11px 9px!important;min-height:49px;align-items:center}
 .services-dropdown__grid>a>svg{margin-top:0}
 .services-menu>summary{font-size:23px}
 .section-heading{grid-template-columns:minmax(0,1fr);gap:18px}
 .hero__copy{padding-top:0}.hero h1,.project-hero h1,.catalog-intro h1{margin-top:0}
 .company-hero{grid-template-columns:1fr;gap:30px;padding-block:29px 45px}.company-hero h1{font-size:47px;margin-bottom:22px}.company-hero p{font-size:13px}.company-hero__photo{height:320px}
 .company-services>a{grid-template-columns:23px minmax(0,1fr) 20px;gap:14px;padding-block:23px}.company-services h3{font-size:21px}.company-services>a>svg{width:20px;height:20px}
}
@media(max-width:360px){.services-dropdown__grid>a{font-size:12px}.company-hero h1{font-size:42px}.company-services h3{font-size:19px}}
.services-menu[open]>summary::after{content:none}

/* Shared contacts: local SVGs, no icon-font or messenger SDK dependency. */
.header__contact{padding-left:18px}
.header-messengers{display:flex;gap:5px;align-items:center;margin-top:3px}
.messenger{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);padding:6px;cursor:pointer}
.messenger svg{width:19px;height:19px;flex-shrink:0}
.messenger--whatsapp{color:#167843}.messenger--telegram{color:#167ca8}.messenger--max{color:#6c52bd}
.messenger:hover{background:#e7eee6}.messenger[data-pending-channel]{color:#68746d;background:#eef0eb}
.call-us{position:fixed;right:max(28px,env(safe-area-inset-right));bottom:max(28px,env(safe-area-inset-bottom));z-index:29;display:flex;align-items:center;justify-content:center;width:66px;height:66px;border:5px solid #f5f6f3;border-radius:50%;background:var(--blue);color:#fff;box-shadow:0 5px 24px #133f4730;cursor:pointer;transition:transform .2s,box-shadow .2s}
.call-us>svg{width:27px;height:27px}.call-us:hover{transform:translateY(-3px);box-shadow:0 8px 28px #133f4740}
.channels{position:fixed;inset:0;margin:auto;padding:0;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 20px 90px #132c3340}
.channels:not([open]){display:none}.channels::backdrop{background:#14251ed1}
.channels__inner{padding:32px;position:relative}.channels__close{position:absolute;right:18px;top:18px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:10px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer}
.channels h2{font-size:44px;line-height:1.05;padding-right:40px;letter-spacing:-.04em}.channels p{font-size:13px;color:#53675b;margin-top:17px}
.channels__list{margin-top:23px;border-top:1px solid var(--line)}
.channel-row{display:flex;align-items:center;gap:14px;min-height:65px;padding:12px 0;border-bottom:1px solid var(--line);font-size:16px;text-decoration:none}
.channel-row>svg{width:23px;height:23px;flex-shrink:0}.channel-row>span:last-child:not(:first-of-type){margin-left:auto;font-size:19px}.channel-row small{display:block;margin-top:2px;font-size:12px;line-height:1.5;color:#52675a}.channel-row--whatsapp{color:#167843}.channel-row--pending{color:#68746d}.channel-row--pending small{color:#68746d}
a.channel-row:hover{color:var(--blue)}.channels__request{margin-top:24px;width:100%;justify-content:space-between}.channels-open{overflow:hidden}
@media(min-width:1151px) and (max-width:1280px){.header__inner{gap:18px}.nav{gap:18px}.header__button{padding-inline:15px;gap:12px}.brand img{width:120px}}
@media(max-width:800px){
 .header__contact{padding:0;line-height:1.3}.header__contact>span{display:none}.header__contact>a{font-size:13px}
 .header-messengers{margin-top:4px;gap:7px}.messenger{width:36px;height:36px;padding:8px}
 .menu-toggle{width:44px;height:44px}.nav a:not(.services-dropdown__grid>a){min-height:44px}
 input,select,textarea{font-size:16px!important}
 .request-form label{line-height:1.5}.request-form .button{min-height:48px}
}
@media(max-width:540px){
 .header__inner{height:83px;gap:10px}.header__contact>a{font-size:12px}.brand img{width:105px}.menu-toggle{width:40px;height:44px}
 .nav{top:83px;max-height:calc(100dvh - 83px)}html{scroll-padding-top:99px}
 .call-us{width:58px;height:58px;border-width:4px;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}.call-us>svg{width:25px;height:25px}
 .footer-bottom{padding-bottom:80px}.channels__inner{padding:27px 23px}.channels h2{font-size:39px}.channels p{font-size:13px}
 .channel-row{min-height:62px}.channels__list{margin-top:20px}.channels__request{margin-top:21px;min-height:48px}
}
@media(max-width:360px){.header__inner{gap:8px}.brand img{width:90px}.header__contact>a{font-size:11px}.header-messengers{gap:5px}.messenger{width:34px;height:34px}.channels__inner{padding:26px 20px}}
@media(prefers-reduced-motion:reduce){.call-us{transition:none}}
/* Comfortable reading and touch targets on phones. */
@media(max-width:540px){
 main p{font-size:14px;line-height:1.7}
 .hero__caption p{font-size:30px;line-height:1.13}
 .hero__actions{flex-wrap:wrap;gap:14px 20px}.hero__actions .text-link{font-size:12px;min-height:44px}
 .hero__bottom{flex-wrap:wrap;font-size:10px;gap:9px 14px}
 .request-form label{font-size:13px}.request-form .form-note{font-size:12px}
 .specialties__inner>p{font-size:12px}.specialties__items{font-size:12px}
 .systems-bottom .text-link,.services-foot .text-link{font-size:13px;min-height:44px;white-space:normal}
 .footer-grid>div>a:not(.brand){font-size:13px;line-height:1.6;min-height:38px}
 .footer-bottom{font-size:11px;align-items:flex-start}.footer-bottom>a{min-height:44px;display:flex;align-items:center}
 .filter{min-height:40px;font-size:11px}.object-row p{font-size:13px}
 .steps p{font-size:13px}.faq details p{font-size:14px}
}
.channel-row>.channel-arrow{margin-left:auto;width:19px;height:19px}.channels__request>svg{width:22px;height:22px;flex-shrink:0}
.call-us[hidden]{display:none}
/* Supplied branded icons; header and footer are direct messenger anchors. */
.messenger{border:0;background:transparent;padding:0;width:32px;height:32px;border-radius:50%}
.messenger img{display:block;width:32px;height:32px;object-fit:contain;flex-shrink:0}
.messenger:hover{background:transparent}.messenger[aria-disabled=true]{cursor:default}
.messenger[aria-disabled=true]:hover{background:transparent}
.header-messengers{gap:7px}
.footer-messengers{display:flex;gap:10px;align-items:center;margin:17px 0 22px}
.footer-messengers .messenger{width:44px;height:44px;min-height:44px!important;display:flex;align-items:center;justify-content:center}
.channel-row>img{width:27px;height:27px;object-fit:contain;flex-shrink:0}
@media(max-width:800px){.header-messengers{gap:2px}.header-messengers .messenger{width:36px;height:36px}.header-messengers .messenger img{width:29px;height:29px}}
@media(max-width:360px){.header-messengers .messenger{width:34px;height:34px}}

/* Restrained motion and smaller messenger artwork; touch areas stay unchanged. */
:root{--motion-ease:cubic-bezier(.22,.61,.36,1);--motion-duration:280ms}
.messenger img,.header-messengers .messenger img{width:23px;height:23px;transition:transform var(--motion-duration) var(--motion-ease),opacity var(--motion-duration) var(--motion-ease)}
.footer-messengers .messenger img{width:25px;height:25px}
.channel-row>img{width:24px;height:24px}
.button,.filter,.card-link,.text-link,.nav a,.footer a,.channel-row,.channels__close,.menu-toggle,.services-menu>summary{transition:color var(--motion-duration) var(--motion-ease),background-color var(--motion-duration) var(--motion-ease),border-color var(--motion-duration) var(--motion-ease),box-shadow var(--motion-duration) var(--motion-ease)}
.button>svg,.text-link>svg,.card-link>svg,.channel-arrow,.services-menu>summary>svg{transition:transform var(--motion-duration) var(--motion-ease)}
.service-card{transition:background-color 320ms var(--motion-ease),border-color 320ms var(--motion-ease),box-shadow 320ms var(--motion-ease)}
.call-us{transition:transform 320ms var(--motion-ease),box-shadow 320ms var(--motion-ease)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .messenger[href]:hover img{transform:translateY(-2px)}
 .button:hover>svg,.text-link:hover>svg,.card-link:hover>svg{transform:translate(2px,-2px)}
}
@media(prefers-reduced-motion:no-preference){
 .services-menu[open]>.services-dropdown{animation:dropdown-enter 220ms var(--motion-ease)}
 .channels{opacity:0;transform:translateY(10px) scale(.985);transition:opacity 240ms var(--motion-ease),transform 280ms var(--motion-ease),display 280ms allow-discrete,overlay 280ms allow-discrete}
 .channels[open]{opacity:1;transform:none}
 .channels::backdrop{background:#14251e00;transition:background-color 240ms var(--motion-ease),display 280ms allow-discrete,overlay 280ms allow-discrete}
 .channels[open]::backdrop{background:#14251ed1}
 @starting-style{.channels[open]{opacity:0;transform:translateY(10px) scale(.985)}.channels[open]::backdrop{background:#14251e00}}
}
@keyframes dropdown-enter{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(max-width:800px){.nav{transition:opacity 280ms var(--motion-ease),transform 320ms var(--motion-ease),visibility 280ms}.header-messengers .messenger img{width:23px;height:23px}}
@media(prefers-reduced-motion:reduce){.channels,.channels::backdrop,.messenger img,.nav{transition:none!important;animation:none!important}.channels{opacity:1;transform:none}}
/* Consistent hover, focus and press feedback across mouse and touch. */
:root{--motion-duration:340ms;--motion-ease:cubic-bezier(.22,.61,.36,1)}
.button,.filter,.case-tab,.messenger[href],.channels__close,.menu-toggle{transition:color 300ms var(--motion-ease),background-color 340ms var(--motion-ease),border-color 300ms var(--motion-ease),box-shadow 340ms var(--motion-ease),transform 300ms var(--motion-ease)}
.button:active,.filter:active,.case-tab:active,.channels__close:active,.menu-toggle:active{transform:translateY(1px) scale(.985);transition-duration:100ms}
.messenger[href]:active{transform:scale(.94);transition-duration:100ms}
.request-form input,.request-form select,.request-form textarea{transition:border-color 300ms var(--motion-ease),box-shadow 300ms var(--motion-ease),background-color 300ms var(--motion-ease)}
.request-form :is(input,select,textarea):focus{box-shadow:0 0 0 3px #168fea13}
.case-tab:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.button:active,.filter:active,.case-tab:active,.messenger[href]:active,.channels__close:active,.menu-toggle:active{transform:none}.button,.filter,.case-tab,.messenger[href],.channels__close,.menu-toggle,.request-form input,.request-form select,.request-form textarea{transition:none!important}}
html {
    scroll-behavior: smooth;
    scroll-padding-top: 105px;
  }
  
  @media (prefers-reduced-motion: reduce) {
    html {
      scroll-behavior: auto;
    }
  }