:root{--blue:#008fce;--dark:#434343;--ink:#30343a;--muted:#687078;--line:#e3e6e8;--paper:#f4f6f7}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fff;font:16px/1.75 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}a:hover{color:var(--blue)}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ffbf47;outline-offset:5px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.25;font-weight:700;letter-spacing:-.025em}p+p{margin-top:1.15em}.wrap{width:min(1160px,calc(100% - 64px));margin-inline:auto}.section{padding-block:76px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--blue);text-transform:uppercase;margin-bottom:14px}.section-heading{font-size:34px;margin-bottom:32px}.section-heading:after{content:"";display:block;width:42px;height:3px;background:var(--blue);margin-top:17px}.skip{position:absolute;left:20px;top:-90px;z-index:100;background:#fff;padding:12px}.skip:focus{top:10px}.site-header{background:var(--dark);position:relative;z-index:5;padding-bottom:0}.header-top{min-height:134px;display:flex;align-items:center;gap:32px;padding-block:17px 34px}.brand{flex:0 0 136px;display:block}.brand img{width:127px;height:86px;object-fit:contain}.header-contacts{display:flex;align-items:center;justify-content:flex-end;flex:1;gap:0}.header-phone,.header-email{color:#fff;display:flex;align-items:center;gap:10px;padding-inline:18px;border-left:1px solid #ffffff21;line-height:1.45;white-space:nowrap}.header-phone:first-child{border:0;padding-left:0}.contact-symbol{color:#aeb5bb;font-size:28px;line-height:1}.header-phone strong,.header-email strong{font-size:13px;font-weight:700}.header-contacts small{display:block;color:#c2c6ca;font-size:12px;padding-top:3px}.header-phone:hover,.header-email:hover{color:#fff}.header-phone:hover strong,.header-email:hover strong{color:#55caff}.header-email{padding-right:0}.main-nav{position:relative;display:flex;align-items:stretch;justify-content:center;background:#fff;box-shadow:0 5px 15px #00000016;min-height:70px;margin-bottom:-35px;border-bottom:3px solid var(--blue)}.main-nav>a,.services-menu>summary{display:flex;align-items:center;justify-content:center;list-style:none;padding:21px 34px;font-size:14px;font-weight:700;cursor:pointer}.main-nav>a:after{content:"";height:18px;background:var(--line);position:relative;right:-34px;width:1px}.main-nav>a:last-child:after{display:none}.main-nav>a[aria-current],.main-nav>a:hover,.services-menu[open]>summary,.services-menu>summary:hover{color:var(--blue)}.services-menu{position:relative}.services-menu>summary:after{content:"⌄";margin-left:9px;font-size:16px}.services-menu>summary::-webkit-details-marker{display:none}.services-menu>div{position:absolute;top:100%;left:0;min-width:240px;background:#fff;box-shadow:0 10px 22px #0002;border-top:3px solid var(--blue);padding:8px}.services-menu a{display:block;padding:10px 14px;font-size:14px}.services-menu a:hover{background:var(--paper)}.menu-toggle{display:none}.hero{position:relative;background:#c8cacc;overflow:hidden}.slides{position:relative}.slide img{height:430px;width:100%;object-fit:cover}.slide[hidden]{display:none}.slide figcaption{position:absolute;bottom:36px;left:0;right:0;pointer-events:none}.slide figcaption span{display:inline-block;background:#333d;padding:8px 15px;color:#fff;font-size:15px;font-weight:700;letter-spacing:.03em}.slider-controls{position:absolute;right:max(32px,calc((100vw - 1160px)/2));bottom:36px;display:flex;align-items:center;background:#333d;color:#fff;height:45px}.slider-controls button{background:none;color:#fff;border:0;width:44px;height:45px;font-size:32px;line-height:1}.slider-controls button:hover{background:var(--blue)}.slider-controls span{min-width:48px;text-align:center;font-size:12px}.intro-strip{background:#f4f6f7;border-bottom:1px solid var(--line)}.intro-strip>.wrap{display:flex;gap:32px;align-items:center;justify-content:space-between;padding-block:28px}.intro-strip h1{font-size:21px;line-height:1.5;letter-spacing:-.02em;max-width:780px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:15px 24px;white-space:nowrap;background:var(--blue);color:#fff;font-size:13px;font-weight:700;border:1px solid var(--blue);border-radius:2px;line-height:1.6}.button:hover{background:#0077b0;color:#fff}.button-light{background:#fff;border-color:#fff;color:var(--blue)}.button-light:hover{background:#e9f7ff;color:#00699a}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px}.service-card{min-width:0}.service-image{display:block;overflow:hidden;background:var(--paper)}.service-image img{width:100%;height:195px;object-fit:cover}.service-card h3{font-size:18px;margin:22px 0 12px;text-transform:uppercase}.service-card p{font-size:14px;color:var(--muted);line-height:1.85;margin-bottom:16px}.text-link{display:inline-flex;align-items:center;gap:18px;color:var(--blue);font-size:13px;font-weight:700;border-bottom:1px solid #008fce44;padding-bottom:3px}.text-link:hover{color:#005c8e;border-color:#005c8e}.projects-section{background:#f4f6f7;padding-block:70px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.section-top>p{color:var(--muted);font-size:14px;margin-bottom:35px}.filters{display:flex;gap:0;flex-wrap:wrap;background:var(--dark);padding:5px 12px;margin:0 0 28px}.filters button{background:transparent;color:#fff;border:0;padding:13px 17px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.025em;min-height:44px}.filters button[aria-pressed=true]{background:var(--blue)}.filters button:hover{background:#ffffff22}.filters button[aria-pressed=true]:hover{background:var(--blue)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project[hidden]{display:none}.project{background:#fff;min-width:0}.photo-link{display:block;position:relative;overflow:hidden}.photo-link img{width:100%;height:218px;object-fit:cover}.photo-link>span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:36px;background:#008fce66;opacity:0;transition:opacity .15s}.photo-link:hover>span,.photo-link:focus-visible>span{opacity:1}.project figcaption{font-weight:700;font-size:13px;padding:13px 17px;border-bottom:2px solid #e2e7eb}.about-home{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:62px}.about-image img{width:100%;height:330px;object-fit:cover}.about-home .richtext{font-size:15px;margin-bottom:25px}.brand-strip{display:flex;align-items:center;justify-content:space-around;gap:40px;border-top:1px solid var(--line);padding:30px 10px 50px}.brand-strip img{width:150px;max-height:82px;object-fit:contain}.contact-band{background:var(--blue);color:#fff}.contact-band>.wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:34px}.contact-band h2{font-size:25px;margin-bottom:5px}.contact-band p{font-size:14px;color:#fff}.footer-main{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:65px;padding-block:48px}.site-footer{background:var(--dark);color:#cdd0d3;font-size:13px}.footer-main h2{font-size:14px;text-transform:uppercase;color:#fff;margin-bottom:18px;letter-spacing:.02em}.footer-main p{line-height:1.85;margin-bottom:14px}.footer-brand img{width:100px;margin-bottom:17px}.footer-phone{display:block;font-size:15px;font-weight:700;color:#fff}.footer-phone span{font-size:12px;font-weight:400;color:#cdd0d3}.footer-main a:hover{color:#6acfff}.footer-bottom{background:#353535;color:#b7babc;font-size:11px;padding-block:14px}.footer-bottom>.wrap{display:flex;justify-content:space-between;gap:12px}.footer-bottom a{color:#fff}.page-title{background:#f2f4f5;border-bottom:1px solid var(--line);padding:82px 0 33px}.page-title h1{font-size:38px;max-width:950px}.page-title nav{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--muted);padding-top:22px}.page-title nav a{color:var(--blue)}.content-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:55px}.service-sidebar h2{font-size:17px;padding-bottom:18px}.service-sidebar>a{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-bottom:0;padding:14px 17px;font-size:13px;font-weight:700;background:#f8f9fa;min-height:50px}.service-sidebar>a:last-of-type{border-bottom:1px solid var(--line)}.service-sidebar>a[aria-current]{background:var(--blue);border-color:var(--blue);color:#fff}.sidebar-contact{background:#f0f3f5;padding:22px;margin-top:28px;border-left:3px solid var(--blue)}.sidebar-contact p{font-size:14px;font-weight:700;margin-bottom:10px}.sidebar-contact a{display:block;font-weight:700;font-size:21px;color:var(--blue)}.sidebar-contact span{font-size:12px}.richtext{color:#5d646b;overflow-wrap:anywhere}.richtext h2{color:var(--ink);font-size:28px;margin-bottom:22px}.richtext h3{color:var(--ink);font-size:23px;margin:24px 0 16px}.richtext p{margin-bottom:20px}.richtext strong,.richtext b{color:#353c43}.richtext a{color:var(--blue)}.richtext img{display:inline-block;height:auto;max-width:100%;width:auto;vertical-align:top;margin:8px 10px 12px 0;border-radius:2px}.richtext p>img,.richtext p>a>img{max-width:calc(50% - 12px)}.richtext .detail-hero{display:block;width:100%;max-width:100%;height:320px;object-fit:cover;margin:0 0 32px}.richtext figure{display:inline-block;max-width:100%;margin:10px}.richtext figcaption{font-size:12px;color:var(--muted)}.richtext ul,.richtext ol{padding-left:24px}.company-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:65px;align-items:start}.company-layout .richtext img{width:100%;max-width:100%;height:auto}.company-note{background:var(--paper);border-top:3px solid var(--blue);padding:35px}.company-note h2{font-size:26px}.company-note p:not(.eyebrow){font-size:14px;color:var(--muted);margin:18px 0 24px}.contact-intro{max-width:750px;margin-bottom:35px}.contact-intro>p:last-child{color:var(--muted);font-size:16px}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.contact-card{display:flex;align-items:center;gap:22px;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--blue);padding:28px 23px}.contact-icon{font-size:34px;color:var(--blue)}.contact-card strong{font-size:14px;display:block}.contact-card b{display:block;font-size:23px;color:var(--blue);margin:7px 0}.contact-card small{font-size:12px;color:var(--muted)}.contact-card:hover{background:#e9f5fc}.contact-info{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:36px;margin-top:50px;padding-top:40px;border-top:1px solid var(--line)}.contact-info h2{font-size:20px;margin-bottom:20px}.contact-info p,.contact-info address{font-size:14px;font-style:normal;color:var(--muted)}.contact-info .button{margin-top:20px}.email-link{color:var(--blue);font-weight:700;font-size:16px;overflow-wrap:anywhere}.social-links{display:flex;gap:18px;margin-top:17px;color:var(--blue);font-size:13px}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}.blog-card{min-width:0;border:1px solid var(--line);background:#fff}.blog-card>a>img{width:100%;height:205px;object-fit:cover}.blog-card>div{padding:23px}.blog-card time{font-size:11px;color:var(--muted)}.blog-card h2{font-size:20px;margin:10px 0 15px}.blog-card p{font-size:14px;color:var(--muted);margin-bottom:18px}.blog-article{max-width:850px}.blog-article>time{display:block;font-size:13px;color:var(--muted);margin-bottom:28px}.blog-article>.text-link{margin-top:30px}.blog-article .richtext img{max-width:100%;max-height:600px;object-fit:contain}.blog-article .richtext p:has(>a>img){display:flex;flex-wrap:wrap;gap:12px}.blog-article .richtext p>a:has(>img){flex:1 1 210px;max-width:100%}.blog-article .richtext p>a>img{max-width:100%;width:100%;margin:0}dialog{position:fixed;border:0;background:#1e2228;padding:50px 20px 18px;max-width:95vw;max-height:95vh;color:#fff}dialog::backdrop{background:#000d}dialog img{max-height:75vh;max-width:86vw;width:auto;margin:auto}dialog p{font-size:13px;text-align:center;margin-top:12px}.viewer-close{position:absolute;right:9px;top:4px;background:none;color:#fff;font-size:32px;border:0;width:42px;height:42px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.slide img{height:510px}}
@media(max-width:1100px){.wrap{width:calc(100% - 48px)}.header-top{gap:22px}.brand{flex-basis:110px}.brand img{width:110px}.header-phone,.header-email{padding-inline:12px}.contact-symbol{font-size:22px}.header-phone strong,.header-email strong{font-size:12px}.header-email{padding-right:0}.header-contacts small{font-size:11px}.main-nav>a,.services-menu>summary{padding-inline:27px}.main-nav>a:after{right:-27px}.service-image img{height:170px}.about-home{gap:38px}.footer-main{gap:35px}.contact-card{gap:13px;padding:24px 17px}.contact-card b{font-size:21px}.content-layout{gap:35px;grid-template-columns:235px minmax(0,1fr)}}
@media(max-width:900px){.header-top{min-height:142px}.header-contacts{flex-wrap:wrap;justify-content:flex-start;gap:14px 0}.header-phone{flex:1;padding-inline:15px}.header-phone:first-child{padding-left:15px;border-left:1px solid #ffffff21}.header-email{border:0;padding-left:15px}.header-email .contact-symbol{font-size:18px}.header-email small{display:none}.contact-symbol{font-size:20px}.services-grid,.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-image img{height:210px}.project-grid{gap:18px}.photo-link img{height:175px}.about-home{gap:30px}.brand-strip{gap:22px}.brand-strip img{width:15%;height:auto}.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1;display:flex;align-items:center;gap:30px}.footer-brand img{margin:0}.footer-brand p{margin:0}.content-layout{grid-template-columns:210px minmax(0,1fr);gap:28px}.contact-grid{gap:14px}.contact-card{flex-direction:column;align-items:flex-start;gap:8px}.contact-info{grid-template-columns:1fr 1fr}.company-layout{gap:35px}.company-note{padding:25px}}
@media(max-width:650px){body{font-size:15px}.wrap{width:calc(100% - 36px)}.section{padding-block:46px}.section-heading{font-size:28px;margin-bottom:26px}.eyebrow{font-size:10px}.header-top{padding:16px 0;min-height:0;gap:12px;flex-wrap:wrap}.brand{flex-basis:95px}.brand img{width:91px;height:62px}.header-contacts{display:none}.menu-toggle{display:flex;align-items:center;gap:8px;margin-left:auto;background:#ffffff0e;border:1px solid #ffffff45;color:#fff;padding:8px 13px;border-radius:2px;font-size:20px}.menu-toggle span{font-size:13px;font-weight:700}.main-nav{display:none;width:100%;margin:0;border-bottom:3px solid var(--blue);box-shadow:none;flex-direction:column;padding:7px 18px}.main-nav.is-open{display:flex}.main-nav>a,.services-menu>summary{justify-content:flex-start;padding:12px 8px;min-height:45px;font-size:14px}.main-nav>a:after{display:none}.services-menu>div{position:static;box-shadow:none;border:0;background:#f3f6f8;margin:0 0 8px;padding:8px 12px}.hero .slide img{height:245px;object-fit:cover}.slide figcaption{bottom:20px}.slide figcaption span{font-size:12px;max-width:calc(100% - 134px);padding:6px 10px}.slider-controls{right:18px;bottom:20px;height:36px}.slider-controls button{width:32px;height:36px;font-size:27px}.slider-controls span{font-size:10px;min-width:34px}.intro-strip>.wrap{display:block;padding-block:23px}.intro-strip h1{font-size:20px;line-height:1.45;max-width:100%;margin-bottom:18px}.button{padding:13px 20px;font-size:12px;gap:20px;min-height:46px}.services-grid{grid-template-columns:1fr;gap:30px}.service-image img{height:225px}.service-card{padding-bottom:26px;border-bottom:1px solid var(--line)}.service-card h3{font-size:18px;margin-top:18px}.service-card p{margin-bottom:13px}.section-top{display:block}.section-top>p{margin:-8px 0 24px}.projects-section{padding-block:44px}.filters{padding:5px;gap:0;margin-bottom:18px}.filters button{font-size:10px;padding:9px 10px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.photo-link img{height:133px}.project figcaption{font-size:11px;padding:10px 11px;line-height:1.5;min-height:44px}.about-home{grid-template-columns:1fr;gap:30px}.about-image img{height:250px}.about-home .section-heading{margin-bottom:22px}.brand-strip{gap:18px;justify-content:center;flex-wrap:wrap;padding-block:26px 36px}.brand-strip img{width:26%;height:56px}.contact-band>.wrap{display:block;padding-block:29px}.contact-band h2{font-size:23px}.contact-band p{font-size:13px}.contact-band .button{margin-top:22px}.footer-main{grid-template-columns:1fr;gap:27px;padding-block:35px}.footer-brand{grid-column:auto;display:flex;gap:24px}.footer-brand img{width:83px}.footer-brand p{font-size:12px}.footer-main h2{font-size:13px;margin-bottom:14px}.footer-main p{font-size:12px;margin-bottom:10px}.footer-bottom>.wrap{flex-direction:column;gap:5px;font-size:10px}.page-title{padding:34px 0 26px}.page-title h1{font-size:30px;overflow-wrap:anywhere}.page-title nav{padding-top:17px;gap:10px;font-size:11px}.content-layout{display:flex;flex-direction:column-reverse;gap:36px}.service-sidebar{width:100%}.service-sidebar h2{font-size:18px}.sidebar-contact{margin-top:20px}.richtext .detail-hero{height:230px;margin-bottom:26px}.richtext h2{font-size:25px}.richtext p>img,.richtext p>a>img{max-width:100%;height:auto;margin-right:0}.company-layout{grid-template-columns:1fr;gap:28px}.company-note h2{font-size:25px}.contact-intro{margin-bottom:27px}.contact-intro>p:last-child{font-size:15px}.contact-grid{grid-template-columns:1fr;gap:15px}.contact-card{flex-direction:row;align-items:center;gap:22px;padding:20px 22px}.contact-icon{font-size:32px}.contact-card b{font-size:24px;margin:4px 0}.contact-info{grid-template-columns:1fr;gap:28px;margin-top:32px;padding-top:30px}.contact-info h2{font-size:20px;margin-bottom:13px}.contact-info p,.contact-info address{font-size:14px}.email-link{font-size:15px}.blog-grid{grid-template-columns:1fr;gap:27px}.blog-card>a>img{height:220px}.blog-card>div{padding:22px}.blog-card h2{font-size:22px}.blog-article .richtext p>a:has(>img){flex-basis:150px}.blog-article .richtext img{max-height:none}.richtext figure{margin-inline:0}dialog{padding-inline:12px}dialog img{max-width:84vw}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
