@font-face{font-family:Abel;src:url('../fonts/abel.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Oswald;src:url('../fonts/oswald.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:OiTIcons;src:url('../fonts/modules.woff') format('woff');font-weight:400;font-style:normal;font-display:block}

/* Shared design tokens. Service colors preserve the original site's palette. */
:root{--dark-blue:#1b98e0;--light-blue:#27c2f2;--text:#666;--heading:#333;--footer:#222;--header-height:97px;--section-space:min(4vw,54px);--row-space:min(2vw,27px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 16px)}
body{margin:0;padding-top:var(--header-height);color:var(--text);background:#fff;font-family:Abel,Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.4875;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;color:var(--heading);font-family:Oswald,'Arial Narrow',sans-serif;font-weight:400;text-transform:uppercase}
p{margin:0;padding-bottom:1em}
a{color:var(--dark-blue);text-decoration:none}
a:hover{color:var(--light-blue)}
a:focus-visible,button:focus-visible{outline:3px solid var(--light-blue);outline-offset:5px}
button{font:inherit}
img{max-width:100%;height:auto}
[hidden]{display:none!important}
.container{width:80%;max-width:1080px;margin-inline:auto}
.oit-icon{display:inline-block;font-family:OiTIcons!important;font-weight:400;font-style:normal;line-height:1;text-transform:none;speak:never}
.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;z-index:1000;top:8px;left:8px;padding:12px 20px;background:white;color:#222}

/* Shared fixed masthead — the source site has no desktop menu items. */
.site-header{position:fixed;inset:0 0 auto;z-index:100}
.contact-bar{height:31px;background:var(--dark-blue);color:#fff;font-size:12px;line-height:31px}
.contact-bar a{color:inherit}
.contact-bar .oit-icon{vertical-align:-1px}
.main-header{height:66px;background:#fff;transition:background .25s}
.header-inner{position:relative;height:100%;display:flex;align-items:center;justify-content:space-between}
.brand{display:block;width:276.25px;max-width:80%;line-height:0}
.brand img{display:block;width:100%}
.site-header.is-scrolled .main-header{background:rgba(255,255,255,.85)}
.menu-toggle{display:none;background:none;border:0;padding:12px;cursor:pointer;color:#555}
.menu-toggle span{display:block;width:24px;height:2px;background:currentColor;margin:5px 0}
.mobile-menu{position:absolute;top:100%;left:0;width:100%;padding:16px;background:#fff;border-top:3px solid var(--dark-blue);box-shadow:0 7px 12px #0002}
.mobile-menu a{display:block;padding:10px 12px;color:#555}

/* Image-only opening, matching the original full-height Divi section. */
.hero{position:relative;min-height:360px;height:calc(100vh - var(--header-height));height:calc(100svh - var(--header-height));background:#030710 url('../images/home-bg.jpg') center top/cover no-repeat fixed}
.scroll-down{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:white;line-height:1;font-size:75px}
.scroll-down:hover{color:white;transform:translate(-50%,4px)}
.scroll-down:focus-visible{outline-color:white;border-radius:50%}
.services-section{padding-block:var(--section-space)}
.services-intro{text-align:center;padding-block:var(--row-space)}
.intro-icon{display:block;font-size:96px;color:var(--dark-blue);margin-bottom:30px}
.services-intro h2{font-size:20px;line-height:1;padding-bottom:10px}
.services-intro p{max-width:550px;margin:auto;padding:0;line-height:1.7}
.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-block:var(--row-space)}
.service{padding:20px;text-align:center;color:#fff;background:var(--service-color)}
.service-design{--service-color:#e55934}
.service-tools{--service-color:#9bc53d}
.service-gears{--service-color:#fa7921}
.service-building{--service-color:#5bc0eb}
.service-icon{background:#fff;color:var(--service-color);font-size:48px;border-radius:50%;padding:25px;margin-bottom:30px}
.service h3{font-size:24px;line-height:1.15;color:#fff;padding-bottom:10px;overflow-wrap:break-word}

/* Same slanted double divider and typography as the two source pages. */
.legal-banner{position:relative;isolation:isolate;background:var(--dark-blue);padding:60px 0 80px}
.legal-banner h1{font-size:30px;line-height:1;color:#fff;position:relative;z-index:1}
.banner-divider{position:absolute;top:0;left:0;width:100%;height:100px;pointer-events:none}
.legal-content{padding-block:calc(var(--section-space) + var(--row-space));overflow-wrap:anywhere}
.legal-content h3{font-size:22px;line-height:1.12;padding-bottom:10px}
.legal-content h4{font-size:18px;line-height:1.2;padding-bottom:10px}
.legal-content ul{padding:0 0 23px 1em;margin:0;line-height:26px;list-style-position:inside}
.legal-content p:last-child{padding-bottom:0}
.legal-content hr{border:0;border-top:1px solid #ddd;margin:16px 0}
.section-nav{position:fixed;right:0;top:50%;transform:translateY(-50%);display:grid;padding:10px 8px;background:#0006;border-radius:5px 0 0 5px;z-index:10}
.section-nav a{display:grid;place-items:center;width:24px;height:22px}
.section-nav a::before{content:'';width:7px;height:7px;background:#ffffff70;border-radius:50%}
.section-nav a[aria-current]::before,.section-nav a:hover::before{background:#fff}

/* Footer shared by all pages, using the supplied repeating texture. */
.site-footer{background:var(--footer) url('../images/footerbg.png') repeat;color:#fff;font-size:14px;line-height:1.7}
.footer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5.5%;padding-block:min(4.8vw,64.8px) min(4.4vw,59.4px)}
.footer-logo img{display:block;width:100%;max-width:300px}
.site-footer h2{font-size:18px;line-height:1;color:var(--dark-blue);padding-bottom:10px}
.footer-about p{font-size:16px;line-height:normal;text-align:justify}
.site-footer p{padding-bottom:1em}
.site-footer p:last-child{padding-bottom:0}
.site-footer address{font-style:normal}
.site-footer a{color:inherit}
.site-footer a:hover,.footer-nav a[aria-current]{color:var(--light-blue)}
.footer-nav{background:#ffffff0d}
.footer-nav ul{display:flex;flex-wrap:wrap;gap:6px 22px;list-style:none;padding-block:15px;padding-left:0}
.footer-nav a{font-weight:bold}
.footer-bottom{padding:15px 0;color:#666;background:#00000052}
.back-to-top{position:fixed;right:0;bottom:125px;z-index:50;padding:5px;background:#0006;color:white;border-radius:5px 0 0 5px;line-height:1;font-size:30px}
.back-to-top:hover{background:var(--dark-blue);color:white}

@media(min-width:981px){.mobile-menu{display:none!important}}
@media(max-width:980px){
 :root{--header-height:111px;--section-space:50px;--row-space:30px}
 .main-header{height:80px}
 .brand{width:276px;max-width:75%}
 .menu-toggle{display:block}
 .hero{background-attachment:scroll;background-position:center center}
 .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 7.5%;padding-block:50px}
 .footer-logo img{max-width:240px}
 .legal-banner{padding-block:100px 80px}
}
@media(max-width:600px){
 :root{--header-height:111px}
 .contact-bar{text-align:center}
 .container{width:86%}
 .hero{min-height:360px}
 .scroll-down{font-size:64px}
 .services-intro p{line-height:1.7}
 .services-grid{grid-template-columns:1fr}
 .service{padding:28px 20px}
 .footer-grid{grid-template-columns:1fr;gap:30px}
 .footer-logo img{max-width:200px}
 .footer-about p{text-align:left}
 .footer-nav ul{gap:12px 22px}
 .footer-bottom{font-size:13px}
 .legal-banner h1{font-size:28px}
 .legal-content{padding-block:50px}
 .legal-content h3{font-size:21px;line-height:1.25}
 .section-nav{display:none}
 .back-to-top{bottom:30px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.hero{background-attachment:scroll}}

/* Fix the compass size and centering */
.services-intro .intro-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    padding: 0;
    margin: 0 auto 30px;
    font-size: 96px;
}

/* Fix service circles and their icons */
.service .service-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 98px;
    height: 98px;
    min-width: 98px;
    padding: 25px;
    border-radius: 50%;
    font-size: 48px;
    line-height: 1;
}

.service .service-icon svg {
    width: 48px !important;
    height: 48px !important;
}

/* Prevent margins from creating a gap between footer bars */
.site-footer .footer-nav {
    display: flow-root;
    margin: 0 !important;
    padding: 0 !important;
}

.site-footer .footer-nav > ul.container {
    margin: 0 auto !important;
    padding: 15px 0;
}

.site-footer .footer-bottom {
    margin: 0 !important;
}

/* SVG icons */
.oit-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
}

.oit-icon svg {
    display: block;
    width: 1em;
    height: 1em;
    flex-shrink: 0;
}

.intro-icon {
    display: flex;
    justify-content: center;
}

.service-icon {
    width: 98px;
    height: 98px;
    padding: 25px;
}

/* Remove default list margins between the footer bars */
.footer-nav ul {
    margin-block: 0;
}

.footer-bottom {
    margin-top: 0;
}
