:root{--blue: #0472b5;--blue-deep: #00509a;--blue-light: #57bdfb;--phone: #62c4ff;--ink: #212529;--muted: #adb5bd;--footer: #383838;--footer-strong: #dee2e6;--hero-overlay: #022841;color-scheme:light}*{box-sizing:border-box}html{background:var(--footer)}body{margin:0;overflow-x:hidden;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}a{color:inherit}.site-header{position:relative;z-index:2;display:grid;grid-template-columns:300px 1fr;grid-template-rows:auto auto;min-height:100px;background:var(--blue)}.brand{position:relative;display:flex;grid-row:1 / span 2;align-items:center;justify-content:flex-end;min-height:100px;padding-right:28px;background:#fff;color:var(--blue-deep)}.brand:after{content:"";position:absolute;top:0;right:-50px;border-style:solid;border-width:50px 0 50px 50px;border-color:transparent transparent transparent #fff}.brand svg{display:block;height:70px;width:auto}.site-header__bar{display:flex;grid-column:2;grid-row:1;justify-content:flex-end;min-width:0;padding:14px 28px 0 70px}.phone{display:inline-flex;align-items:center;gap:12px;color:#f8f9fa;font-size:1.2rem;text-decoration:none}.phone svg{width:20px;height:20px;fill:var(--phone)}.nav-toggle,.nav-toggle__label{display:none}.site-nav{grid-column:2;grid-row:2}.site-nav ul{display:flex;justify-content:flex-end;gap:30px;margin:18px 0 0;padding:0 28px 16px 0;list-style:none}.site-nav a{color:#fff;font-size:.9rem;letter-spacing:1px;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{color:#bbe4fd}.site-footer{position:relative;z-index:2;background:var(--footer);color:var(--muted);padding:60px 40px 48px}.site-footer__grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:24px;max-width:1100px;margin:0 auto}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li+li{margin-top:10px}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{color:#fff}.site-footer__contact{text-align:right}.site-footer__contact p{margin:0 0 16px;line-height:1.6}.site-footer strong{color:var(--footer-strong)}.site-footer .phone{font-size:1.4rem}.site-footer .phone svg{width:25px;height:25px}.site-footer__logo{display:inline-block;margin-top:36px;color:#dbdbdb}.site-footer__logo svg{display:block;height:80px;width:auto}.hero{position:relative;min-height:420px;background:#022841 center bottom / cover no-repeat;color:#fff}.hero__overlay{position:absolute;inset:0;z-index:0;background:var(--hero-overlay);opacity:.5}.motif{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}.motif span{position:absolute;width:100%;height:100%;background-repeat:no-repeat;background-size:524px 450px}.motif--light-right span{margin-left:220px;background-image:url(/images/motif-light.svg);background-position:right center}.motif--dark-left span{margin-left:-220px;background-image:url(/images/motif-dark.svg);background-position:left center;opacity:.2}.motif--dark-right span{margin-left:220px;background-image:url(/images/motif-dark.svg);background-position:right center;opacity:.2}.hero__inner{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:72px 40px 96px}.hero__inner p{margin:0;font-size:1.5rem;font-weight:700}.hero__accent{color:var(--blue-light)}.hero__cta{display:inline-block;margin-top:40px;padding:12px 22px;border:1px solid #f8f9fa;color:#f8f9fa;font-size:1.15rem;text-decoration:none}.hero__cta:hover{background:#f8f9fa;color:#212529}.home-band{position:relative}.intro{position:relative;z-index:2;max-width:800px;margin:0 auto;padding:36px 24px 10px;text-align:center}.intro h1{margin:0 0 15px;font-size:1.1em;font-weight:700}.intro p{margin:0;line-height:2.28}.accreditations{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:30px;max-width:1100px;margin:0 auto;padding:30px 40px 48px}.accreditations img{display:block;max-width:220px;max-height:100px;margin:0 auto}@media(max-width:767px){.site-header{grid-template-columns:200px 1fr;min-height:80px}.brand{grid-row:1;min-height:80px}.brand:after{right:-40px;border-width:40px 0 40px 40px}.brand svg{height:50px}.site-header__bar{align-items:center;align-self:stretch;padding:0 16px 0 56px}.site-header__phone{display:none}.nav-toggle__label{display:flex;flex-direction:column;justify-content:center;gap:5px;width:26px;height:20px;margin-left:auto;cursor:pointer}.nav-toggle__label span{display:block;height:2px;background:#fff}.site-nav{display:none;grid-column:1 / -1;grid-row:2;background:var(--blue)}.site-header:has(.nav-toggle:checked) .site-nav{display:block}.site-nav ul{flex-direction:column;align-items:flex-start;gap:14px;margin:0;padding:8px 16px 20px}.accreditations{grid-template-columns:1fr 1fr}}@media(max-width:1024px){.site-footer{text-align:center}.site-footer__grid{grid-template-columns:1fr;justify-items:center}.site-footer__contact{text-align:center}.site-footer .phone{justify-content:center}.site-footer__logo{display:block;width:fit-content;margin-right:auto;margin-left:auto}}.wrap{width:min(1140px,calc(100% - 48px));margin:0 auto}.page{padding:0 0 70px}.page-title{margin:50px 0 30px;color:#868686;font-size:2.1em;font-weight:700;letter-spacing:2px;text-transform:uppercase}.prose p,.prose ul{margin:0 0 1rem;line-height:1.75}.prose h2{margin:1.6rem 0 .6rem;font-size:1.5rem}.prose a{color:var(--blue)}.prose img{max-width:100%;height:auto}.btn{display:inline-block;padding:12px 22px;border:1px solid var(--blue);font-size:1.15rem;text-decoration:none}.btn--primary{background:var(--blue);color:#fff}.btn--primary:hover{background:#035d94}.btn--outline{background:transparent;color:var(--blue)}.btn--outline:hover{background:var(--blue);color:#fff}.cta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:40px}.band{position:relative;padding:40px 0 50px;overflow:hidden}.band--gray{background:#efefef}.band--blue{background:var(--blue);color:#fff}.title-caps{margin:0 0 20px;color:#ced4da;font-size:2.1em;font-weight:700;letter-spacing:2px;text-align:center;text-transform:uppercase}.band--blue .title-caps{color:#57a1cd}.band__more{margin:18px 0 0;text-align:right}.band__more a{color:#fff;text-decoration:none}.band__more a:hover{color:#bbe4fd}.service-cards,.project-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.service-card{position:relative;display:flex;align-items:center;justify-content:center;height:200px;padding:30px;background:#022841 center / cover no-repeat;box-shadow:1px 0 3px 1px #0003;color:#fff;font-size:1.3em;font-weight:700;text-align:center;text-decoration:none;text-shadow:1px 1px 1px #424242}.service-card:before{content:"";position:absolute;inset:0;background:var(--hero-overlay);opacity:.5;transition:opacity .15s}.service-card:hover:before{opacity:.2}.service-card span{position:relative;z-index:1}.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 20px}.sector{display:block;margin:20px 0 30px;color:inherit;text-align:center;text-decoration:none}.sector img{width:100px;max-width:100%;height:auto;margin-bottom:15px;transition:transform .15s}.sector:hover img{transform:scale(1.1)}.sector span{display:block;font-size:.8em;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.project-card{display:block;color:var(--blue);text-align:center;text-decoration:none}.project-card__image{display:block;height:150px;background:#d8d8d8 center / cover no-repeat;box-shadow:1px 0 3px 1px #0003}.project-card:hover .project-card__image{opacity:.9}.project-card__title{display:block;margin:20px 0;font-size:1.2em;font-weight:700}.project-card:hover .project-card__title{color:#89d1fc}.band--blue .project-card,.band--blue .project-card__title{color:#fff}.detail{position:relative;padding-bottom:70px}.diamond{position:absolute;z-index:0;top:0;right:-100px;width:700px;height:700px;margin-top:-100px;background:#f8f9fa;clip-path:polygon(350px 0,700px 350px,350px 700px,0 350px)}.diamond span{position:absolute;width:500px;height:500px;margin-top:100px;margin-left:100px;background-repeat:no-repeat;background-position:0 0;background-size:cover;clip-path:polygon(250px 0,500px 250px,250px 500px,0 250px)}.detail__copy{position:relative;z-index:1}.detail__photo{display:none;width:100%;height:auto;margin-bottom:20px}.gallery{display:grid;grid-template-columns:repeat(3,90px);gap:8px;margin-bottom:20px}.gallery button{padding:0;border:0;background:transparent;cursor:pointer}.gallery img{display:block;width:90px;height:90px;object-fit:cover}button.diamond{padding:0;border:0;cursor:pointer}.detail__photo-button{display:none;width:100%;padding:0;border:0;background:transparent;cursor:pointer}.lightbox{position:fixed;z-index:30;inset:0;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;align-items:center;background:#000000e6}.lightbox[hidden]{display:none}.lightbox img[data-frame]{grid-column:2;grid-row:2;justify-self:center;max-width:min(1100px,78vw);max-height:74vh;object-fit:contain}.lightbox__close,.lightbox__prev,.lightbox__next{border:0;background:transparent;color:#fff;cursor:pointer}.lightbox__close{grid-column:3;grid-row:1;justify-self:end;margin:18px 22px 0 0;font-size:1rem}.lightbox__prev,.lightbox__next{grid-row:2;font-size:1.4rem;padding:12px 18px}.lightbox__prev{grid-column:1}.lightbox__next{grid-column:3}.lightbox--single .lightbox__prev,.lightbox--single .lightbox__next{visibility:hidden}.lightbox__thumbs{grid-column:1 / -1;grid-row:3;display:flex;justify-content:center;gap:8px;padding:0 20px 22px}.lightbox__thumbs button{padding:0;border:2px solid transparent;background:transparent;cursor:pointer}.lightbox__thumbs img{display:block;width:72px;height:54px;object-fit:cover}.lightbox__thumbs button[aria-current=true]{border-color:#fff}.about{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.quotes{position:relative;margin-top:150px;padding:10px 0 48px 80px}.quotes__mark{position:absolute;top:-.45em;left:0;color:var(--blue);font-size:8rem;line-height:1}.quotes blockquote{width:350px;max-width:100%;margin:0;padding-left:50px;line-height:1.8}.quotes p{margin:0;font-style:italic}.quotes footer{margin-top:15px;color:inherit;font-size:.9em;font-weight:700;line-height:1.5}.quotes__nav{display:flex;gap:10px;margin-top:28px;padding-left:50px}.quotes__nav button{width:20px;height:20px;padding:0;border:0;border-radius:50%;background:var(--blue);opacity:.5;cursor:pointer}.quotes__nav button[aria-current=true]{opacity:1}.team-hero img{display:block;width:100%;height:auto}.team-hero+.wrap .team-title{margin-top:30px}.team-title{text-align:center}.team-row{position:relative;overflow:hidden;padding:60px 0}.team-row--gray{background:#efefef}.team-row__grid{position:relative;z-index:1;display:grid;grid-template-columns:280px 1fr;gap:40px;align-items:center}.team-row__grid--flip{grid-template-columns:1fr 280px}.team-row__grid--flip .portrait{order:2}.portrait{width:250px;height:250px;margin:0 auto;background:#ddd center / cover no-repeat;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.team-row h2{margin:0;font-size:1.2rem}.team-row__quals{margin:4px 0 0;font-size:.9em}.team-row__role{margin:5px 0 10px;color:#adb5bd;font-size:.85rem;font-weight:700;letter-spacing:2px;text-transform:uppercase}.team-row__copy p:last-of-type{max-width:430px;line-height:1.7}.team-row__social img{width:35px;height:auto;margin-top:20px}.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.contact__details .phone{margin:30px 0;color:#212529;font-size:1.8rem;font-weight:700}.contact__details .phone svg{width:30px;height:30px;fill:var(--blue)}.contact__email{color:var(--blue);font-size:1.2rem}@media(min-width:992px){.project-card__image{height:200px}.detail__copy .page-title,.detail__copy .prose,.detail__copy .gallery,.detail__copy .cta{max-width:540px}}@media(min-width:1200px){.diamond{transform:scale(1.5)}}@media(max-width:991px){.about,.contact__grid,.team-row__grid,.team-row__grid--flip{grid-template-columns:1fr}.team-row__grid--flip .portrait{order:0}.diamond{display:none}.detail__photo-button,.detail__photo{display:block}.quotes{margin-top:48px;padding-left:0}.quotes blockquote,.quotes__nav{width:100%;padding-left:0}.detail__copy{width:min(1140px,calc(100% - 48px))}.portrait{transform:scale(.8)}}@media(max-width:767px){.service-cards,.project-cards{grid-template-columns:1fr}.sector-grid{grid-template-columns:1fr 1fr}.project-card__image{height:220px}.team-row{padding:28px 0 36px;text-align:center}.team-row__copy p:last-of-type{max-width:none}.contact,.contact .page-title{text-align:center}.portrait{transform:scale(.7)}}
