
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/inter-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-tight-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/inter-tight-latin-700-normal.woff2) format("woff2")}

@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#FFFFFF;color:#2B2C3A;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
figure{margin:0}
a{color:#000080;text-decoration:none;transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .2s ease}
a:hover{color:#1F2AB8}
:focus-visible{outline:3px solid #3D5AFE;outline-offset:3px;border-radius:4px}
h1,h2,h3,h4{font-family:"Inter Tight",Inter,system-ui,sans-serif;color:#0E0E2C;margin:0;font-weight:700;letter-spacing:-.022em;text-wrap:balance}
p{margin:0;text-wrap:pretty}
ul,ol{margin:0;padding:0;list-style:none}
dl,dd{margin:0}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.mono{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#4A4C66}
.label{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.label::after{content:"";flex:1;height:1px;background:#D6D8E6}
.skip{position:absolute;left:16px;top:-60px;background:#000080;color:#FFFFFF;padding:10px 16px;border-radius:8px;z-index:60}
.skip:focus{top:12px;color:#FFFFFF}
.sec{padding:104px 0}
.tint{background:#F3F4F8}
.big{font-size:clamp(36px,4.6vw,62px);line-height:.98;letter-spacing:-.035em}
.lead{font-size:19px;line-height:1.6;color:#40414E}
.muted{color:#5A5B6A}
.cap{margin-top:10px;font-size:13px;line-height:1.45;color:#6A6B7A}
.brandlogo{flex:none;width:auto;max-width:112px;object-fit:contain}
.txtbrand{flex:none;font-family:"Inter Tight",Inter,sans-serif;font-weight:700;font-size:16px;letter-spacing:.14em;text-transform:uppercase;color:#2E3040;line-height:1}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:8px;font-weight:600;font-size:16px;line-height:1.2;border:1.5px solid transparent;white-space:nowrap;text-align:center}
.btn-p{background:#000080;color:#FFFFFF}
.btn-p:hover{background:#1A1AA8;color:#FFFFFF}
.btn-s{background:#FFFFFF;color:#000080;border-color:#000080}
.btn-s:hover{background:#F0F1FA;color:#000080}
.btn-w{background:#FFFFFF;color:#000080}
.btn-w:hover{background:#E9EBFF;color:#000080}
.btn-o{color:#FFFFFF;border-color:rgba(255,255,255,.7)}
.btn-o:hover{background:rgba(255,255,255,.1);color:#FFFFFF;border-color:#FFFFFF}
.btn-sm{min-height:44px;padding:0 18px;font-size:15px}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.tlink{display:inline-flex;align-items:center;gap:8px;font-weight:600}
.tlink svg{transition:transform .2s ease}
.tlink:hover svg{transform:translateX(3px)}
.doclink{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:14.5px;line-height:1.3}
.doclink svg{width:22px;height:22px;flex:none}
.doclink small{display:block;font-weight:400;color:#5A5B6A;font-size:12.5px;margin-top:2px}

/* utility bar + header */
.util{background:#F3F4F8;border-bottom:1px solid #E4E5EE;font-size:13.5px}
.util .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px}
.util nav{display:flex;align-items:center;gap:22px}
.util a{color:#2B2C3A}
.util a:hover{color:#000080}
.util .mf{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:#000080;padding:0 14px;min-height:30px;border:1px solid #000080;border-radius:999px}
.util .mf:hover{background:#000080;color:#FFFFFF}
.hdr{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid #E4E5EE}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:88px}
.brand img{height:72px;width:auto}
.nav{display:flex;align-items:center;gap:4px}
.nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;color:#2B2C3A;font-size:15px;font-weight:500;border-radius:6px}
.nav a:hover{color:#000080;background:#F2F3FA}
.nav a.on{color:#000080;font-weight:600;box-shadow:inset 0 -2px 0 #000080;border-radius:0}
.nav a.navcta{margin-left:10px;background:#000080;color:#FFFFFF;border-radius:8px;padding:0 20px;font-weight:600}
.nav a.navcta:hover{background:#1A1AA8;color:#FFFFFF}
.nav a.navcta.on{box-shadow:0 0 0 3px #C9CCF2}
.mnav{display:none}
.mnav summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #D6D7E2;border-radius:8px;color:#000080;cursor:pointer;background:#FFFFFF}
.mnav summary::-webkit-details-marker{display:none}
.mnav .ic-close{display:none}
.mnav[open] .ic-open{display:none}
.mnav[open] .ic-close{display:inline}
.mpanel{position:absolute;left:0;right:0;top:100%;max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain;background:#FFFFFF;border-bottom:1px solid #E4E5EE;box-shadow:0 18px 30px rgba(0,0,50,.08);padding:8px 20px 24px}
.mpanel nav a{display:flex;align-items:center;min-height:52px;border-bottom:1px solid #EEEFF5;color:#1A1A24;font-size:18px;font-weight:500}
.mpanel nav a.on{color:#000080;font-weight:600}
.mpanel nav a.mfm{color:#000080;font-weight:600}
.mpanel .mcontact{display:flex;flex-direction:column;gap:6px;margin-top:16px;font-size:15px}
.mpanel .mcontact a{min-height:40px;display:flex;align-items:center}

/* page hero (inner pages) */
.phero{padding:72px 0 64px}
.phero h1{margin-top:4px;font-size:clamp(42px,6vw,88px);line-height:.94;letter-spacing:-.045em;max-width:13ch}
.phero .lead{margin-top:28px;max-width:640px}

/* home hero */
.hhero{padding-top:60px}
.hmeta{grid-column:1/8;display:flex;gap:10px 28px;flex-wrap:wrap}
.h1x{grid-column:1/8;margin-top:26px;font-size:clamp(52px,7.6vw,118px);line-height:.9;letter-spacing:-.045em}
.h1x span{display:block}
.h1x span:nth-child(2){padding-left:.9em}
.h1x span:nth-child(3){color:#000080}
.hcopy{grid-column:1/7;margin-top:38px}
.hcopy .lead{max-width:520px}
.hcopy .ctas{margin-top:30px}
.hcopy .tl2{display:inline-flex;margin-top:18px}
.hfig{grid-column:8/13;grid-row:1/5;margin-top:8px}
.hfig img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:52% 55%;border-radius:4px}
.spec{grid-column:1/13;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:72px;border-top:2px solid #000080}
.spec > div{padding:18px 24px 20px 0;border-right:1px solid #E1E2EC}
.spec > div+div{padding-left:24px}
.spec > div:last-child{border-right:0}
.spec dd{margin-top:6px;font-family:"Inter Tight",sans-serif;font-weight:600;font-size:17px;line-height:1.35;color:#0E0E2C}

/* solutions (home) */
.srow{margin-top:52px;align-items:start}
.srow1 .fig{grid-column:1/8}
.srow1 .txt{grid-column:9/13;padding-top:4px}
.sfig img{width:100%;object-fit:cover;border-radius:4px}
.srow1 .fig img{aspect-ratio:3/2}
.srow2 > div:first-child{grid-column:1/7}
.srow2 > div:last-child{grid-column:7/13}
.srow2 .sfig img{aspect-ratio:3/2}
.srow2 .txt{margin-top:24px}
.kick{font-family:"Inter Tight",sans-serif;font-weight:700;font-size:14px;letter-spacing:.06em;color:#000080;text-transform:uppercase}
.sol h3{font-size:clamp(26px,2.6vw,34px);line-height:1.05;margin-top:10px}
.sol .bl{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:16px}
.sol .bl small{font-size:13.5px;color:#5A5B6A}
.sol p.d{margin-top:14px;font-size:16px;color:#40414E}
.sol ul.f{margin-top:16px;border-top:1px solid #E1E2EC}
.sol ul.f li{padding:9px 0;border-bottom:1px solid #E1E2EC;font-size:14.5px;color:#2B2C3A}
.sol .acts{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;margin-top:22px}
.also{margin-top:80px}
.also table{width:100%;border-collapse:collapse}
.also tr{border-top:1px solid #DCDDE8}
.also tr:last-child{border-bottom:1px solid #DCDDE8}
.also td{padding:18px 16px 18px 0;vertical-align:middle}
.also td.t{width:132px}
.also td.t img{width:112px;height:84px;object-fit:cover;border-radius:3px}
.also td.n{width:32%}
.also td.n strong{display:block;font-family:"Inter Tight",sans-serif;font-size:20px;color:#0E0E2C;line-height:1.2}
.also td.n span{display:block;margin-top:4px;font-size:13.5px;color:#5A5B6A}
.also td.d{font-size:15px;color:#40414E}
.also td.a{text-align:right;white-space:nowrap;padding-right:0}

/* brands */
.brands .g12{align-items:start}
.brands .lhs{grid-column:1/4}
.brands .lhs h2{font-size:26px;line-height:1.15}
.brands .lhs p{margin-top:12px;font-size:15px;color:#5A5B6A}
.bgrid{grid-column:4/13;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #DCDDE8;border-left:1px solid #DCDDE8}
.bgrid > *{display:flex;align-items:center;justify-content:center;height:100px;border-right:1px solid #DCDDE8;border-bottom:1px solid #DCDDE8;padding:0 14px}
.bgrid .more{grid-column:span 1;justify-content:flex-start;padding:0 24px;background:#FAFAFC}
.bgrid .more span{font-size:14px;color:#5A5B6A}

/* method */
.mintro{grid-column:1/6}
.mintro p{margin-top:20px;color:#40414E;font-size:17px}
.mtable{grid-column:1/13;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:60px}
.mtable .col{padding-right:32px}
.mtable .col+.col{padding-left:32px;border-left:1px solid #D6D8E6}
.stepn{display:flex;align-items:center;gap:12px}
.stepn b{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#000080;color:#FFFFFF;font-size:14px;font-family:"Inter Tight",sans-serif}
.stepn i{flex:1;height:1px;background:#000080;opacity:.35}
.mtable h3{margin-top:20px;font-size:30px}
.mtable p{margin-top:10px;color:#40414E;font-size:15.5px}
.mtable .mono{display:block;margin-top:24px;padding-top:14px;border-top:1px solid #D6D8E6}
.mtable ul{margin-top:10px}
.mtable li{font-size:14.5px;color:#2B2C3A;padding:3px 0}

/* customers */
.cust .lhs{grid-column:1/5}
.cust .rhs{grid-column:5/13;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #DCDDE8}
.cust .rhs > div{padding:26px 28px 28px 0;border-bottom:1px solid #DCDDE8}
.cust .rhs > div:nth-child(even){padding-left:28px;padding-right:0;border-left:1px solid #DCDDE8}
.cust h3{font-size:22px}
.cust p{margin-top:8px;color:#5A5B6A;font-size:15px}
.cust .links{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:12px;font-size:14px;font-weight:600}

/* manufacturers */
.mfr{background:#000080;color:#D5D8FF;scroll-margin-top:96px}
.mfr .mono{color:#B9BFFF}
.mfr .label::after{background:rgba(185,191,255,.35)}
.mfr .lhs{grid-column:1/6}
.mfr h2{color:#FFFFFF;font-size:clamp(36px,4.6vw,62px);line-height:.98;letter-spacing:-.035em}
.mfr .lhs p{margin-top:22px;font-size:18px;color:#E6E8FF}
.mfr .lhs small{display:block;margin-top:16px;font-size:14px;color:#B9BFFF}
.mfr .rhs{grid-column:7/13}
.mfr ol{border-top:1px solid rgba(185,191,255,.35)}
.mfr li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;padding:18px 0;border-bottom:1px solid rgba(185,191,255,.35)}
.mfr li b{font-family:"IBM Plex Mono",monospace;font-weight:500;color:#B9BFFF;font-size:13px;padding-top:4px}
.mfr li strong{display:block;color:#FFFFFF;font-family:"Inter Tight",sans-serif;font-size:20px}
.mfr li span{display:block;margin-top:3px;font-size:15px}
.mfr .ctas{margin-top:30px}

/* contact rows */
.crow .lhs{grid-column:1/6}
.crow .lhs p{margin-top:18px;color:#40414E;font-size:17px;max-width:440px}
.crow .rhs{grid-column:7/13;border-top:2px solid #000080}
.crow .rhs a{display:grid;grid-template-columns:130px minmax(0,1fr) auto;align-items:center;gap:16px;padding:24px 0;border-bottom:1px solid #DCDDE8;color:#0E0E2C}
.crow .rhs a:hover{color:#000080}
.crow .rhs strong{font-family:"Inter Tight",sans-serif;font-size:clamp(20px,2.4vw,30px);letter-spacing:-.02em;word-break:break-word}
.crow .rhs a > svg{color:#000080}

/* footer */
.ftr{border-top:1px solid #DCDDE8;background:#FFFFFF;font-size:14.5px}
.ftr .wrap{padding-top:48px;padding-bottom:28px}
.ftr .top{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr));gap:32px}
.ftr .flogo{height:64px;width:auto}
.ftr .ftag{margin-top:14px;font-size:14px;color:#5A5B6A;max-width:280px}
.ftr h2{font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#4A4C66;margin-bottom:12px}
.ftr ul{display:flex;flex-direction:column;gap:8px}
.ftr a{color:#2B2C3A}
.ftr a:hover{color:#000080}
.ftr .bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:40px;padding-top:18px;border-top:1px solid #E4E5EE;font-size:13px;color:#5A5B6A}
.ftr .bot span{white-space:nowrap}
.ftr .bot .r{display:flex;flex-wrap:wrap;gap:8px 24px}
.ftr .bot a{color:#5A5B6A;text-decoration:underline;text-decoration-color:#C9CCDA;text-underline-offset:3px}
.ftr .bot a:hover{color:#000080}
.acard p.invite{margin-top:18px;padding-left:14px;border-left:2px solid #000080;font-size:15.5px;font-weight:500;color:#0E0E2C}
.prose{max-width:760px}
.prose h2{font-size:24px;line-height:1.2;margin:44px 0 14px}
.prose p{margin-top:14px;color:#40414E;font-size:16.5px;line-height:1.7}
.prose p.upd{margin-top:0;font-size:14px;color:#5A5B6A}

/* products page */
.pindex{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:56px;border-top:2px solid #000080}
.pindex a{display:flex;flex-direction:column;gap:6px;padding:18px 18px 20px 0;color:#0E0E2C;border-right:1px solid #E1E2EC}
.pindex a+a{padding-left:18px}
.pindex a:last-child{border-right:0}
.pindex a:hover{color:#000080}
.pindex strong{font-family:"Inter Tight",sans-serif;font-size:17px;line-height:1.25}
.pindex .mono{color:#5A5B6A}
.band{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:560px;scroll-margin-top:96px}
.band.rev{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.band.rev .bmedia{order:2}
.bmedia{position:relative;min-height:420px;margin:0}
.bmedia img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bmedia figcaption{position:absolute;left:20px;bottom:18px;font-size:13px;color:#FFFFFF;background:rgba(2,2,40,.62);padding:6px 11px;border-radius:6px}
.btxt{display:flex;flex-direction:column;justify-content:center;padding:64px 56px;background:#FFFFFF}
.band:not(.rev) .btxt{padding-right:max(32px,calc((100vw - 1200px)/2 + 32px))}
.band.rev .btxt{padding-left:max(32px,calc((100vw - 1200px)/2 + 32px))}
.band.alt .btxt{background:#F3F4F8}
.btxt h2{margin-top:12px;font-size:clamp(32px,3.6vw,50px);line-height:1.02;letter-spacing:-.03em;max-width:14ch}
.btxt .bl{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:22px}
.btxt .bl small{flex-basis:100%;font-size:14px;color:#5A5B6A}
.btxt p.i{margin-top:18px;font-size:17px;color:#40414E;max-width:500px}
.btxt .acts{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;margin-top:28px}
.pdet{padding:56px 0 88px}
.pdet .fam{grid-column:1/8}
.pdet .side{grid-column:9/13}
.famlist{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;border-top:1px solid #DCDDE8}
.famlist li{padding:14px 0;border-bottom:1px solid #EAEBF2}
.famlist strong{display:block;font-size:16px;color:#0E0E2C}
.famlist span{display:block;font-size:14.5px;line-height:1.5;color:#5A5B6A;margin-top:2px}
.famlist em{display:block;font-style:normal;margin-top:6px}
.side .apps{font-size:15.5px;color:#40414E;line-height:1.7}
.side .det{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
.side .det.one{grid-template-columns:1fr}
.side .det img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:4px}
.disc{margin-top:28px;border-top:1px solid #DCDDE8;border-bottom:1px solid #DCDDE8}
.disc summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;cursor:pointer;font-weight:600;font-size:16px;color:#0E0E2C}
.disc summary::-webkit-details-marker{display:none}
.disc summary:hover{color:#000080}
.disc .chev{transition:transform .2s ease;color:#000080;flex:none}
.disc[open] .chev{transform:rotate(45deg)}
.disc ul{padding:0 0 18px;display:flex;flex-direction:column;gap:10px}
.disc li{position:relative;padding-left:18px;font-size:15px;line-height:1.6;color:#40414E}
.disc li::before{content:"";position:absolute;left:0;top:10px;width:7px;height:7px;border-radius:2px;background:#000080}
.enqrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px}
.enqrow .lbl{font-size:14.5px;color:#5A5B6A;margin-right:6px}
.addl{display:grid;grid-template-columns:1fr 1fr;gap:56px 48px;margin-top:8px}
.acard{scroll-margin-top:96px}
.acard figure img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:4px}
.acard h3{margin-top:22px;font-size:30px;line-height:1.08}
.acard .bl{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:16px}
.acard .bl small{flex-basis:100%;font-size:14px;color:#5A5B6A}
.acard p.i{margin-top:14px;font-size:16px;color:#40414E}
.acard .famlist{grid-template-columns:1fr;margin-top:20px}
.acard .apps{margin-top:16px;font-size:15px;color:#40414E}
.backtop{display:inline-flex;align-items:center;gap:6px;margin-top:24px;font-size:14px;font-weight:600}

/* about */
.wideimg{width:100%;aspect-ratio:21/8;object-fit:cover;border-radius:4px}
.ed{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;padding:48px 0;border-top:1px solid #DCDDE8}
.ed > .h{grid-column:1/5}
.ed > .h h2{font-size:clamp(26px,2.8vw,34px);line-height:1.1;margin-top:6px}
.ed > .b{grid-column:5/13}
.ed > .b > p{font-size:17px;line-height:1.7;color:#40414E}
.ed > .b > p+p{margin-top:14px}
.flist{display:grid;grid-template-columns:1fr 1fr;margin-top:22px;border-top:1px solid #DCDDE8}
.flist a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;border-bottom:1px solid #DCDDE8;color:#0E0E2C;font-weight:600;font-size:15.5px;padding-right:16px}
.flist a:nth-child(odd){margin-right:14px}
.flist a:nth-child(even){margin-left:14px}
.flist a:hover{color:#000080}
.mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px}
.mini div{padding-top:14px;border-top:2px solid #000080}
.mini h3{font-size:15px;letter-spacing:.14em;text-transform:uppercase}
.mini p{margin-top:8px;font-size:15px;color:#5A5B6A}
.groups{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #DCDDE8}
.groups > div{padding:20px 20px 20px 0;border-bottom:1px solid #DCDDE8}
.groups > div:nth-child(even){padding-left:20px;padding-right:0;border-left:1px solid #DCDDE8}
.groups h3{font-size:18px}
.groups p{margin-top:6px;font-size:14.5px;color:#5A5B6A}
.cov{display:grid;grid-template-columns:1fr 1fr;margin-top:22px;border-top:2px solid #000080}
.cov > div{padding:18px 24px 18px 0}
.cov > div+div{padding-left:24px;border-left:1px solid #DCDDE8}
.cov dd{margin-top:6px;font-family:"Inter Tight",sans-serif;font-weight:600;font-size:20px;color:#0E0E2C}
.mval{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;margin-top:18px}
.mval li{position:relative;padding-left:20px;font-size:15.5px;line-height:1.5;color:#2B2C3A}
.mval li::before{content:"";position:absolute;left:0;top:7px;width:9px;height:9px;border-radius:2px;background:#000080}

/* contact */
.cdet{grid-column:5/13;display:grid;grid-template-columns:1fr 1fr;border-top:2px solid #000080}
.cdet > div{padding:20px 24px 22px 0;border-bottom:1px solid #DCDDE8}
.cdet > div:nth-child(even){padding-left:24px;padding-right:0;border-left:1px solid #DCDDE8}
.cdet dd{margin-top:8px;font-size:16px;line-height:1.55;color:#0E0E2C}
.cdet dd strong{font-family:"Inter Tight",sans-serif;font-size:18px}
.cdet .full{grid-column:1/-1;border-left:0 !important;padding-left:0 !important}
.cdet .sel{user-select:all;font-family:"IBM Plex Mono",monospace;font-size:16px;letter-spacing:.02em}
.guide .lhs{grid-column:1/6}
.guide .rhs{grid-column:7/13}
.glist{border-top:1px solid #DCDDE8;margin-top:8px}
.glist li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;padding:15px 0;border-bottom:1px solid #DCDDE8}
.glist li svg{color:#000080;margin-top:2px}
.glist strong{display:block;font-size:16px;color:#0E0E2C}
.glist span{display:block;font-size:14.5px;color:#5A5B6A;margin-top:2px}
.guide img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}

/* responsive */
@media (max-width:1080px){
  .h1x{grid-column:1/13}
  .hmeta{grid-column:1/13}
  .hcopy{grid-column:1/8}
  .hfig{grid-column:8/13;grid-row:auto;margin-top:38px}
  .brands .lhs{grid-column:1/13;margin-bottom:24px}
  .bgrid{grid-column:1/13}
  .pindex{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pindex a:nth-child(3){border-right:0}
  .pindex a:nth-child(4){padding-left:0}
  .pindex a:nth-child(n+4){border-top:1px solid #E1E2EC}
  .btxt{padding:56px 40px}
}
@media (max-width:900px){
  .util .tag{display:none}
  .util nav a:not(.mf){display:none}
  .util .wrap{justify-content:flex-end;min-height:40px}
  .nav{display:none}
  .mnav{display:block}
  .hdr .wrap{height:72px}
  .brand img{height:56px}
  .wrap{padding:0 24px}
  .sec{padding:72px 0}
  .g12{grid-template-columns:minmax(0,1fr);column-gap:0}
  .g12 > *{grid-column:1/-1 !important}
  .h1x span:nth-child(2){padding-left:0}
  .hfig{margin-top:32px;grid-row:auto}
  .hfig img{aspect-ratio:16/10}
  .spec{margin-top:28px}
  .srow{margin-top:36px}
  .srow1 .txt{margin-top:22px}
  .srow2 > div:last-child{margin-top:48px}
  .also{margin-top:56px}
  .also td.d{display:none}
  .mtable{grid-template-columns:minmax(0,1fr);gap:36px;margin-top:40px}
  .mtable .col,.mtable .col+.col{padding:0;border-left:0}
  .cust .rhs{grid-template-columns:minmax(0,1fr);margin-top:28px}
  .cust .rhs > div:nth-child(even){padding-left:0;border-left:0}
  .mfr .rhs{margin-top:36px}
  .crow .rhs{margin-top:28px}
  .ftr .top{grid-template-columns:1fr 1fr}
  .phero{padding:48px 0 44px}
  .band,.band.rev{grid-template-columns:minmax(0,1fr);min-height:0}
  .band.rev .bmedia{order:0}
  .bmedia{min-height:0;aspect-ratio:16/10}
  .btxt,.band:not(.rev) .btxt,.band.rev .btxt{padding:32px 24px 8px}
  .band.alt .btxt{background:#FFFFFF}
  .pdet{padding:20px 0 64px}
  .pdet .side{margin-top:28px}
  .addl{grid-template-columns:minmax(0,1fr);gap:56px}
  .ed{grid-template-columns:minmax(0,1fr);padding:36px 0}
  .ed > .h,.ed > .b{grid-column:1/-1}
  .ed > .b{margin-top:16px}
  .cdet{margin-top:20px}
  .guide .rhs{margin-top:32px}
}
@media (max-width:640px){
  body{font-size:16px}
  .wrap{padding:0 20px}
  .lead{font-size:17px}
  .hhero{padding-top:32px}
  .hmeta{gap:4px 14px}
  .h1x{margin-top:16px;font-size:clamp(44px,13.5vw,62px)}
  .hcopy{margin-top:22px}
  .hcopy .ctas{margin-top:22px}
  .btn{width:100%;white-space:normal;padding:10px 18px}
  .spec{grid-template-columns:repeat(3,minmax(0,1fr));border-top-width:1.5px}
  .spec > div,.spec > div+div{padding:12px 10px 12px 0}
  .spec > div+div{padding-left:10px}
  .spec .mono{font-size:10px}
  .spec dd{font-size:13px;line-height:1.3}
  .sol h3{font-size:26px}
  .bgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bgrid .more{grid-column:span 3;padding:0 12px}
  .bgrid .more span{font-size:12px;line-height:1.35}
  .bgrid > *{height:64px;padding:0 8px}
  .bgrid .brandlogo{max-width:78px;transform:scale(.82)}
  .bgrid .txtbrand{font-size:12px;letter-spacing:.1em}
  .also td.t{width:88px}
  .also td.t img{width:72px;height:56px}
  .also td.n{width:auto}
  .also td.n strong{font-size:17px}
  .also td.a .tlink span{display:none}
  .mtable .mono,.mtable ul{display:none}
  .crow .rhs a{grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:18px 0}
  .crow .rhs a .mono{grid-column:1/-1}
  .ftr .top{grid-template-columns:minmax(0,1fr)}
  .ftr .bot{flex-direction:column}
  .phero h1{font-size:clamp(40px,12vw,58px)}
  .pindex{grid-template-columns:1fr 1fr}
  .pindex a,.pindex a+a{padding:14px 10px 14px 0;border-right:0;border-top:1px solid #E1E2EC}
  .pindex a:nth-child(even){padding-left:12px;border-left:1px solid #E1E2EC}
  .pindex a:nth-child(-n+2){border-top:0}
  .pindex strong{font-size:15px}
  .btxt,.band:not(.rev) .btxt,.band.rev .btxt{padding:28px 20px 4px}
  .famlist{grid-template-columns:1fr}
  .enqrow .lbl{flex-basis:100%}
  .enqrow .btn{width:auto;flex:1 1 120px}
  .flist{grid-template-columns:1fr}
  .flist a:nth-child(n){margin:0}
  .mini,.groups,.cov,.mval,.cdet{grid-template-columns:1fr}
  .groups > div:nth-child(even),.cdet > div:nth-child(even){padding-left:0;border-left:0}
  .cov > div+div{padding-left:0;border-left:0;border-top:1px solid #DCDDE8}
  .wideimg{aspect-ratio:3/2}
  .stepn b{width:36px;height:36px}
  .mtable h3{font-size:26px;margin-top:14px}
}
@media (max-width:360px){
  .brand img{height:50px}
  .spec{grid-template-columns:1fr}
  .spec > div,.spec > div+div{padding:10px 0;border-right:0;border-top:1px solid #E1E2EC}
  .spec > div:first-child{border-top:0}
  .spec dd{font-size:15px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none !important;animation:none !important}
}

.svc{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid #DCDDE8}
.svc li{position:relative;padding:16px 0 16px 34px;border-bottom:1px solid #DCDDE8;font-size:16.5px;line-height:1.55;color:#2E3040}
.svc li::before{content:"";position:absolute;left:4px;top:24px;width:14px;height:2px;background:#000080}
.bgrid > a{display:flex;align-items:center;justify-content:center;height:100px;border-right:1px solid #DCDDE8;border-bottom:1px solid #DCDDE8;padding:0 14px;text-decoration:none;color:inherit;transition:background .25s ease}
.bgrid > a .brandlogo,.bgrid > a .txtbrand{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.bgrid > a:hover{background:#F6F7FB}
.bgrid > a:hover .brandlogo,.bgrid > a:hover .txtbrand{transform:scale(1.06)}
.bgrid > a:focus-visible{outline:2px solid #000080;outline-offset:-4px}
.cform{border-top:1px solid #DCDDE8}
.cform .lhs{grid-column:1/5}
.cform .rhs{grid-column:6/13;display:grid;gap:18px}
.cform .frow{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cform label{display:grid;gap:8px;font-size:14px;font-weight:500;color:#2E3040}
.cform .lt b{color:#000080;font-weight:600;margin-left:3px}
.cform input,.cform select,.cform textarea{font:inherit;font-size:16px;color:#14151F;background:#fff;border:1px solid #C9CBD8;border-radius:6px;padding:12px 14px;width:100%;transition:border-color .2s,box-shadow .2s}
.cform textarea{resize:vertical;min-height:150px}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:#000080;box-shadow:0 0 0 3px rgba(0,0,128,.12)}
.cform [aria-invalid="true"]{border-color:#B42318;box-shadow:0 0 0 3px rgba(180,35,24,.10)}
.cform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cform .fnote{font-size:13px;color:#5A5B6A;margin:0}
.cform .factions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.cform button[disabled]{opacity:.6;cursor:progress}
.fstatus{margin:0;font-size:14.5px;color:#40414E}
.fstatus.ok{color:#05603A;font-weight:500}
.fstatus.err{color:#B42318;font-weight:500}
.acard figure{overflow:hidden;border-radius:4px}
.acard figure img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.acard:hover figure img{transform:scale(1.035)}
.bmedia{overflow:hidden}
.bmedia img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.band:hover .bmedia img{transform:scale(1.025)}
.hdr{transition:box-shadow .3s ease}
.hdr.sc{box-shadow:0 6px 24px rgba(10,12,40,.07)}
.btn{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease}
.btn:hover{transform:translateY(-1px)}
.btn-p:hover{box-shadow:0 8px 20px rgba(0,0,128,.22)}
@keyframes sps-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes sps-fade{from{opacity:0}to{opacity:1}}
@keyframes sps-settle{from{opacity:0;transform:scale(1.07)}to{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion: no-preference){
  .hhero .hmeta{animation:sps-fade .8s ease both}
  .hhero .h1x span{display:block;animation:sps-rise .9s cubic-bezier(.2,.7,.2,1) both}
  .hhero .h1x span:nth-child(2){animation-delay:.12s}
  .hhero .h1x span:nth-child(3){animation-delay:.24s}
  .hhero .hcopy{animation:sps-rise .9s cubic-bezier(.2,.7,.2,1) .38s both}
  .hhero .hfig{overflow:hidden;border-radius:4px}
  .hhero .hfig img{animation:sps-settle 1.6s cubic-bezier(.2,.7,.2,1) .1s both}
  .hhero .spec{animation:sps-fade 1s ease .6s both}
  .phero .wrap > *{animation:sps-rise .8s cubic-bezier(.2,.7,.2,1) both}
  .phero .wrap > *:nth-child(2){animation-delay:.08s}
  .phero .wrap > *:nth-child(3){animation-delay:.16s}
  .phero .wrap > *:nth-child(n+4){animation-delay:.24s}
  .js .rv{opacity:0;transform:translateY(20px);transition:opacity .75s cubic-bezier(.2,.7,.2,1) var(--rd,0ms),transform .75s cubic-bezier(.2,.7,.2,1) var(--rd,0ms)}
  .js .rv.in{opacity:1;transform:none}
}
@media (max-width: 900px){
  .cform .lhs,.cform .rhs{grid-column:1/-1}
  .cform .rhs{margin-top:28px}
}
@media (max-width: 600px){
  .cform .frow{grid-template-columns:1fr}
  .bgrid > a{height:64px;padding:0 8px}
}
