:root{--blue:#3a97dc;--blue-dark:#2b7fc0;--logo:#2f78cf;--ink:#111;--grey:#777;--top:#262626;--head:#1b1b1b;--bar:#262626;--about:#eee;--white:#fff}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:"Open Sans",Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.75;background:var(--white);font-size:15px}
a{color:var(--blue)}
a:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
img{max-width:100%;height:auto}
.wrap{max-width:1200px;margin:0 auto;padding:0 18px}
.icon{width:1em;height:1em;fill:currentColor;vertical-align:-.12em}
/* top bar */
.topbar{background:var(--top);color:#ddd;font-size:13px}
.topbar .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:6px;padding-bottom:6px}
.topbar a{color:#ddd;text-decoration:none;margin-left:14px}
.topbar a .icon{color:#bbb;margin-right:6px}
/* header */
.header{background:var(--head);border-bottom:1px solid #ddd}
.header .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:20px;padding-bottom:20px}
.logo{font-family:Roboto,Arial,sans-serif;font-weight:700;font-size:clamp(22px,3vw,35px);color:var(--logo);text-transform:uppercase;text-decoration:none;letter-spacing:.2px;line-height:1.2}
.nav{display:flex;list-style:none;margin:0;padding:0}
.nav li{border-right:1px solid #444}
.nav a{display:block;padding:0 15px;line-height:1.2;text-decoration:none;color:#fff;text-transform:uppercase;font-size:13px}
.nav a:hover,.nav a[aria-current=page]{color:var(--blue)}
/* support bar */
.supportbar{background:var(--bar);color:#fff}
.supportbar .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:16px;padding-bottom:16px}
.supportbar h2{margin:0;font-weight:400;font-size:25px}
.btn{display:inline-block;background:var(--blue);color:#fff;padding:9px 24px;text-decoration:none;text-transform:uppercase;border-radius:5px;font-size:15px}
.btn:hover{background:var(--blue-dark)}
/* about */
.about{background:var(--about);text-align:center;padding:80px 0 60px}
.about h2{display:inline-block;margin:0 0 36px;padding:0 95px 2px;border-bottom:2px solid var(--blue);font-weight:400;font-size:29px;text-transform:uppercase;line-height:1.3}
.about p{margin:0;font-size:14px;line-height:2}
/* services */
.services{background:var(--white);padding:70px 0}
.services .wrap{display:grid;grid-template-columns:minmax(0,620px) 1fr;gap:40px;align-items:start}
.services h2{margin:0 0 20px;font-weight:400;font-size:29px;text-transform:uppercase;line-height:1.3}
.services .intro{color:var(--grey);margin:0 0 40px;font-size:14px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 40px}
.grid h3{margin:0 0 20px;font-weight:400;font-size:23px;text-transform:uppercase;line-height:1.3}
.grid h3 .icon{color:var(--blue);margin-right:12px;font-size:22px}
.grid p{color:var(--grey);margin:0 0 40px;font-size:14px}
.services .img{text-align:center;padding-top:10px}
/* tagline band */
.tagline{background:var(--about);text-align:center;padding:80px 0 50px}
.tagline h2{margin:0;font-weight:400;font-size:clamp(20px,2.4vw,31px);text-transform:uppercase;line-height:1.1}
.tagline h2::after{content:"";display:block;width:336px;max-width:60%;margin:4px auto 34px;border-bottom:2px solid var(--blue)}
/* background image band */
.parallax{background:#2a2a2a url(/assets/images/background.jpg) center/cover no-repeat fixed;color:#fff;padding:90px 0 80px;text-align:center}
.cta-text::before{content:"";display:block;width:336px;max-width:80%;margin:0 auto 30px;border-top:2px solid var(--blue)}
.cta-text h4{font-size:18px;font-weight:400;margin:0 0 30px}
.btn-outline{display:inline-block;border:2px solid #fff;color:#fff;padding:6px 15px;text-decoration:none;text-transform:uppercase;border-radius:3px;font-size:16px}
.btn-outline:hover{background:#fff;color:#1b1b1b}
/* back to top */
.totop{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom,0px));width:36px;height:36px;color:#ccc;opacity:.85}
.totop:hover{opacity:1;color:#fff}
.totop svg{width:100%;height:100%;display:block}
/* inner pages */
.page{padding:50px 0}
.page h1{font-weight:400;font-size:29px;text-transform:uppercase;margin:0 0 24px}
.page ul{padding-left:20px}
.page .float{float:right;margin:0 0 20px 30px;max-width:300px}
.partners{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:20px;margin-top:20px;text-align:center}
.partners img{height:75px;width:auto;object-fit:contain}
.partners strong{display:block;margin-top:8px}
.footer{background:var(--top);color:#ddd;padding:14px 0;font-size:13px}
.footer a{color:#ddd;text-decoration:none}
@media(max-width:860px){.services .wrap{grid-template-columns:1fr}.about h2{padding:0 30px 2px}}
@media(max-width:560px){.grid{grid-template-columns:1fr}.page .float{float:none;margin:0 0 20px}.nav a{padding:0 10px}.topbar a{margin-left:0;margin-right:14px}}
@media(hover:none){.parallax{background-attachment:scroll}}
