@font-face{font-family:Sora;src:url(fonts/sora.woff2);font-weight:400 700}@font-face{font-family:Plex;src:url(fonts/plexsans.woff2);font-weight:400 700}@font-face{font-family:Mono;src:url(fonts/plexmono.woff2)}
:root{--paper:#f4f7f8;--panel:#f9fcfd;--ink:#10202c;--ink-2:#456070;--ink-3:#627e8c;--line:#d1dfe5;--line-strong:#b7cdd7;--accent:#23738d;--accent-bright:#3b98b0;--accent-ink:#15556c;--accent-soft:#e5f0f4;--navy:#10202c;--navy-2:#1b3746;--sans:Plex,sans-serif;--mono:Mono,monospace;--maxw:1320px}
body{font-size:17px;line-height:1.65}.container{padding-left:5vw;padding-right:5vw}header.site{background:#f4f7f8f5;backdrop-filter:blur(12px)}.header-inner{height:84px}.brand{font:650 23px Sora;letter-spacing:-1px}.brand .mark,.foot-brand .mark{background:#1d4a5e;box-shadow:none;border-radius:0;transform:skewY(-12deg)}.nav-item>a{border-radius:0;font-size:14px;padding:10px 12px}.nav-item>a:hover,.nav-item>a.on{background:#e5eef2}.drop{border-radius:0;box-shadow:0 15px 30px #10202c15}.drop li a{border-radius:0}.btn,.mnav summary{border-radius:0;box-shadow:none;font-weight:500}.btn-primary{background:#10202c}.btn-primary:hover{background:#254c60}.dot{background:#62cee1;box-shadow:none}.strip{background:#e4edf1;color:#567280}.strip a{color:#567280}.strip .container{height:30px;font-size:10px}.mnav .mpanel{border-radius:0;max-height:calc(100svh - 110px);overflow:auto}.mnav .mpanel a{border-radius:0}a:focus-visible,summary:focus-visible{outline:3px solid #3299b4;outline-offset:4px}
h1,h2,h3{font-family:Sora;font-weight:500!important}h1{letter-spacing:-.06em!important}h2{letter-spacing:-.045em!important}.pagehead{padding:85px 0 68px;background:#e7eff2}.pagehead::before{background-size:16.67% 100%;opacity:.35}.eyebrow{padding:0;background:none;border:0;border-radius:0;font-size:11px;letter-spacing:.08em}.pagehead h1{font-size:clamp(40px,4.8vw,67px);max-width:15em;margin:25px 0}.pagehead .lede{font-size:20px;max-width:710px;line-height:1.6}.stage{padding:85px 0}.stage:nth-child(even){background:#e9f1f4}.stage-grid{grid-template-columns:1.1fr 1fr;gap:7vw}.stage .idx{font-size:11px;margin-bottom:25px}.stage h2{font-size:38px;line-height:1.2}.stage .txt p{font-size:18px}.caps li{font-size:16px;padding:14px 0}.spec,.shot{border-radius:0;box-shadow:none;background:#10202c;border-color:#496574}.spec .spec-head,.shot .shot-bar{background:#15303f}.spec .spec-body{padding:25px;font-size:13px}.spec .spec-body .row .k,.spec .spec-head,.spec .spec-body .cmt{color:#a1bbc9}.spec .spec-body .row .v.ok{color:#69d2e3}.shot .shot-cap{border-radius:0}.cta{border-radius:0;background:#10202c;padding:55px;margin:70px 0}.cta::after{display:none}.cta h2{font-size:38px}.cta .btn-primary{background:#f4f7f8;color:#10202c}
.layout{grid-template-columns:220px minmax(0,1fr);gap:65px;padding:55px 0 90px}.sidenav{top:115px;padding-right:25px}.sidenav a{border-radius:0;padding:9px 10px}.sidenav .grp{font-size:10px;letter-spacing:.08em;margin-top:28px}.sidenav a:hover{background:#e5eef2}.content{max-width:850px}.content h1{font-size:48px}.content h2{font-size:28px;margin:60px 0 20px;scroll-margin-top:115px}.content h3{font-size:19px;scroll-margin-top:115px}.content p,.content li{font-size:16px;line-height:1.75}.content .desc{font-size:18px;line-height:1.6}.codebox{border-radius:0;box-shadow:none;background:#10202c}.codebox .cb-head{color:#abc2ce}.codebox pre{font-size:13px;line-height:1.85;padding:24px}.codebox .cm{color:#a1bbc9}.codebox .st{color:#69d2e3}.callout{border-radius:0;border:0;border-left:3px solid #3b98b0;padding:18px 24px;background:#e5eef2}.content p code,.content li code{border-radius:0;border-color:#bfd5df}th{background:#e5eef2}td code{border-radius:0}footer.site{background:#10202c;padding-top:65px}.foot-brand{font-family:Sora}.foot-col h5{color:#9cb8c8}.foot-brand p{color:#a5becb}
@media(max-width:960px){.header-inner{height:70px}.brand{font-size:20px}.stage-grid{grid-template-columns:1fr;gap:35px}.layout{grid-template-columns:1fr;gap:30px}.sidenav{position:static;padding-right:0;border-right:0;border-bottom:1px solid var(--line);padding-bottom:25px}.content{max-width:100%}}
@media(max-width:600px){.container{padding-left:22px;padding-right:22px}.pagehead{padding:50px 0}.pagehead h1{font-size:38px}.pagehead .lede{font-size:18px}.stage{padding:55px 0}.stage h2{font-size:30px}.stage .txt p{font-size:17px}.spec .spec-body{padding:18px;font-size:12px}.cta{padding:30px 24px}.cta h2{font-size:30px}.content h1{font-size:35px}.content h2{font-size:26px}.content .desc{font-size:17px}.content p,.content li{font-size:16px}.codebox pre{padding:18px}.layout{padding-top:35px}.mnav .mpanel{width:285px}}
