
:root{--bg:#1c1d26;--panel:#272833;--accent:#288aaa;--ink:rgba(255,255,255,.75);--head:#fff;--line:rgba(255,255,255,.15);--plus:#6ee7a8}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:300 16.5pt/1.75 Roboto,Helvetica,sans-serif;letter-spacing:.025em}
@media (max-width:1280px){body{font-size:13pt}}
@media (max-width:736px){body{font-size:12pt}}
a{color:var(--accent);text-decoration:none;border-bottom:1px dotted currentColor}
a:hover{border-bottom-color:transparent;color:var(--accent)}
h1,h2,h3,h4{color:var(--head);font-weight:300;text-transform:uppercase;letter-spacing:.225em;line-height:1.5;margin:0 0 1em}
h1{font-size:2.25em}h2{font-size:1.6em}h3{font-size:1.1em}h4{font-size:.9em}
strong,b{color:var(--head);font-weight:300}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.plus{color:var(--plus)}
/* header */
#header{position:fixed;top:0;left:0;width:100%;height:3.25em;line-height:3.25em;background:rgba(39,40,51,.965);box-shadow:0 0 .25em 0 rgba(0,0,0,.25);z-index:100}
#header .logo{position:absolute;left:1.25em;top:0;border:0;color:#fff;font-weight:300;text-transform:uppercase;letter-spacing:.25em;font-size:.9em}
#header .logo span{color:var(--accent)}
#header nav{position:absolute;right:1em;top:0}
#header nav>ul{list-style:none;margin:0;padding:0;display:flex}
#header nav>ul>li{position:relative;margin-left:1.5em;font-size:.8em;text-transform:uppercase;letter-spacing:.225em}
#header nav a{color:#fff;border:0;display:block}
#header nav a:hover,#header nav li.active>a{color:var(--accent)}
#header nav ul ul{display:none;position:absolute;top:3.25em;left:-1em;min-width:15em;list-style:none;margin:0;padding:.75em 0;background:var(--panel);box-shadow:0 .5em 1em rgba(0,0,0,.35);border-radius:4px;line-height:2.75em}
#header nav ul ul a{padding:0 1.25em;color:var(--ink);text-transform:none;letter-spacing:.05em;font-size:1.15em}
#header nav ul ul a:hover{color:#fff;background:rgba(255,255,255,.05)}
#header nav>ul>li:hover>ul,#header nav>ul>li:focus-within>ul{display:block}
#header nav .button{height:2.25em;line-height:2.25em;margin-top:.5em;padding:0 1.5em}
#menuBtn{display:none;position:absolute;right:0;top:0;width:3.25em;height:3.25em;background:none;border:0;color:#fff;font-size:1.25em;cursor:pointer}
@media (max-width:980px){
  #header nav{display:none;position:fixed;top:3.25em;right:0;left:0;background:var(--panel);max-height:calc(100vh - 3.25em);overflow:auto;line-height:2.6em;padding:.5em 1em 1em}
  #header nav.open{display:block}
  #header nav>ul{flex-direction:column}
  #header nav>ul>li{margin:0}
  #header nav ul ul{display:block;position:static;box-shadow:none;background:none;padding:0 0 0 1em;line-height:2.2em}
  #menuBtn{display:block}
}
/* buttons */
.button{display:inline-block;height:3.5em;line-height:3.5em;padding:0 2.25em;border-radius:4px;border:0;background:transparent;box-shadow:inset 0 0 0 1px var(--line);color:#fff!important;font-size:.8em;font-weight:300;letter-spacing:.225em;text-transform:uppercase;cursor:pointer;transition:all .2s}
.button:hover{box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent)!important}
.button.primary{background:var(--accent);box-shadow:none}
.button.primary:hover{background:#2f9cc0;color:#fff!important}
/* banner */
#banner{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:6em 16px 4em;background:linear-gradient(rgba(28,29,38,.72),rgba(28,29,38,.72)),radial-gradient(900px 600px at 20% 30%,#1f5f78 0,transparent 60%),radial-gradient(800px 500px at 80% 70%,#233a66 0,transparent 60%),#1c1d26;position:relative;overflow:hidden}
#banner h1{font-size:2.6em;margin-bottom:.4em}
#banner h1 em{font-style:normal;color:var(--accent)}
#banner p{font-size:1.1em;max-width:44em;margin:0 auto 2em}
#banner .grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(40,138,170,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(40,138,170,.08) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}
#banner .inner{position:relative}
.page-head{padding:7em 0 3em;text-align:center;background:linear-gradient(rgba(28,29,38,.8),rgba(28,29,38,.95)),radial-gradient(900px 400px at 50% 0,#1f5f78 0,transparent 70%)}
.page-head .major{display:inline-block}
.major:after{content:"";display:block;width:4em;height:1px;background:var(--line);margin:1.5em auto 0}
.crumbs{font-size:.75em;text-transform:uppercase;letter-spacing:.2em;margin-bottom:1.5em}
.crumbs a{color:var(--ink);border:0}
/* sections */
.spotlight{display:grid;grid-template-columns:1fr 1fr;min-height:28em;border-top:1px solid var(--line)}
.spotlight .art{background:linear-gradient(135deg,#1f5f78,#272833 70%);display:flex;align-items:center;justify-content:center;font-size:7em;color:rgba(255,255,255,.25)}
.spotlight .content{padding:4em 3em;background:var(--panel);display:flex;flex-direction:column;justify-content:center}
.spotlight.flip .art{order:2}
@media (max-width:980px){.spotlight{grid-template-columns:1fr}.spotlight .art{min-height:10em;order:0!important}}
.wrapper{padding:5em 0}
.wrapper.style2{background:var(--panel)}
.center{text-align:center}
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2.5em 3em;margin-top:3em;text-align:left}
.feature{display:flex;gap:1.25em}
.icon.major{flex:0 0 auto;width:4.5em;height:4.5em;line-height:4.5em;text-align:center;border-radius:100%;box-shadow:inset 0 0 0 1px var(--line);color:var(--accent);font-size:1em}
.icon.major i{font-size:1.75em;line-height:4.5em}
.feature h3{margin-bottom:.5em;font-size:.95em}
.feature p{margin:0}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2em;margin-top:3em}
.stat .num{font-size:3em;font-weight:100;color:#fff;line-height:1.1}
.stat .lbl{text-transform:uppercase;letter-spacing:.2em;font-size:.75em}
.boxgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5em;margin-top:3em}
.box{background:var(--bg);border-radius:4px;box-shadow:inset 0 0 0 1px var(--line);padding:2em;text-align:left;display:flex;flex-direction:column}
.wrapper:not(.style2) .box{background:var(--panel)}
.box .icon.major{margin-bottom:1em}
.box h3{font-size:.95em}
.box p{flex:1}
.box.plusone{box-shadow:inset 0 0 0 2px var(--plus)}
.badges{display:flex;flex-wrap:wrap;justify-content:center;gap:1em;margin-top:2em}
.badges span{border-radius:100%;width:8.5em;height:8.5em;display:flex;align-items:center;justify-content:center;text-align:center;box-shadow:inset 0 0 0 1px var(--accent);color:#fff;font-size:.75em;letter-spacing:.15em;text-transform:uppercase;padding:1em}
blockquote{margin:0;border-left:3px solid var(--accent);padding:.25em 0 .25em 1.5em;font-style:italic}
blockquote cite{display:block;margin-top:1em;font-style:normal;font-size:.8em;text-transform:uppercase;letter-spacing:.2em;color:var(--accent)}
.cta{padding:6em 0;text-align:center;background:linear-gradient(rgba(40,138,170,.85),rgba(40,138,170,.85)),#1c1d26;color:#fff}
.cta h2{margin-bottom:.5em}
.cta .button{box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
.cta .button:hover{background:#fff;color:var(--accent)!important}
form{display:grid;gap:1em;max-width:40em;margin:2em auto 0;text-align:left}
input,select,textarea{width:100%;background:rgba(144,144,144,.075);border:1px solid var(--line);border-radius:4px;color:#fff;font:300 1em Roboto,sans-serif;padding:.8em 1em}
select option{background:var(--panel)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:1em}
@media (max-width:736px){.two{grid-template-columns:1fr}}
#footer{background:var(--panel);padding:5em 0 3em;text-align:center}
#footer .icons{list-style:none;margin:0 0 2em;padding:0;display:flex;gap:1em;justify-content:center}
#footer .icons a{border:0;width:2.5em;height:2.5em;line-height:2.5em;display:inline-block;border-radius:100%;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink)}
#footer .icons a:hover{color:var(--accent)}
#footer .copyright{font-size:.75em;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.5);list-style:none;padding:0;margin:0}
#footer .copyright li{display:inline-block;margin:0 .75em}
.ticker{overflow:hidden;white-space:nowrap;background:#15161d;color:var(--accent);font:500 .7em "Courier New",monospace;letter-spacing:.1em;padding:.5em 0;margin-top:3.25em;position:relative;z-index:1}
.ticker span{display:inline-block;padding-left:100%;animation:tick 45s linear infinite}
@keyframes tick{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){.ticker span{animation:none;padding-left:1em}}
.osi{font-family:"Courier New",monospace;font-size:.85em;text-align:left;max-width:30em;margin:2em auto 0}
.osi div{border:1px solid var(--line);border-radius:4px;padding:.4em 1em;margin:.35em 0}
.osi .top{border:2px solid var(--plus);color:var(--plus)}
.osi .eight{opacity:.5;text-decoration:line-through}
.fine{font-size:.7em;opacity:.7;letter-spacing:.1em}
