/* Corporate layout v1: utility bar, mega menu, page heroes, footer */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.topbar{background:#06142e;color:#cbd5e1;font-size:13px}
.tb{display:flex;justify-content:space-between;align-items:center;min-height:36px;gap:12px}
.tb nav{display:flex;gap:18px}.tb a{color:#e2e8f0;text-decoration:none;font-weight:600}.tb a:hover{color:#fff;text-decoration:underline}
header.ch{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid #e5e7eb;backdrop-filter:none;box-shadow:0 2px 10px rgba(10,31,68,.06)}
.chn{display:flex;align-items:center;justify-content:space-between;height:76px;gap:16px}
header.ch .brand,footer.cf .brand{display:flex;align-items:center;gap:10px;color:#0a1f44;text-decoration:none;font-weight:800;line-height:1.1}
header.ch .brand small{display:block;color:#1d4ed8;font-weight:600;font-size:11px;letter-spacing:1px}
.brand picture img{width:48px;height:48px;object-fit:contain}
.cnav .l1{display:flex;list-style:none;gap:2px;align-items:center;margin:0;padding:0}
.cnav .l1>li>a:not(.btn),.cnav .mmb{display:block;padding:27px 11px;color:#0a1f44;font:600 15px/1 Inter,system-ui,sans-serif;background:none;border:0;cursor:pointer;text-decoration:none;border-bottom:3px solid transparent}
.cnav .l1>li>a:not(.btn):hover,.cnav .mmb:hover,.mm.open>.mmb{color:#1d4ed8;border-bottom-color:#1d4ed8}
.mmb:after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:currentColor;vertical-align:middle;transform:translateY(2px)}
.ncta{margin-left:8px}.ncta .btn{padding:11px 16px;white-space:nowrap}
.mega{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 24px 48px rgba(10,31,68,.18)}
.mm.open .mega{display:block}
.mg{display:grid;grid-template-columns:1.1fr repeat(4,1fr);gap:28px;padding:30px 22px 34px}
.mgi{background:#0a1f44;color:#fff;border-radius:12px;padding:22px}.mgt{font-size:22px;font-weight:800;margin-bottom:10px}
.mall{color:#bfdbfe;font-weight:700;text-decoration:none}.mall:hover{color:#fff}
.mgh{font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:#1d4ed8;font-weight:700;margin-bottom:8px}
.cnav .mg ul{display:block;list-style:none;margin:0;padding:0}.cnav .mg a{display:block;padding:6px 0;color:#0f172a;font-weight:500;font-size:15px;text-decoration:none}
.cnav .mg a:hover{color:#1d4ed8;text-decoration:underline}
.cmenu{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer}
.bars,.bars:before,.bars:after{display:block;width:24px;height:2px;background:#0a1f44;position:relative;margin:auto;transition:.2s}
.bars:before,.bars:after{content:"";position:absolute;left:0}.bars:before{top:-7px}.bars:after{top:7px}
@media(min-width:1101px){.mm:hover .mega,.mm:focus-within .mega{display:block}}
@media(max-width:1100px){.cmenu{display:block}.tb span{display:none}.tb{justify-content:center}
 .cnav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - 112px);overflow:auto;background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 20px 40px rgba(0,0,0,.15)}
 .cnav.open{display:block}.cnav .l1{flex-direction:column;align-items:stretch;gap:0}
 .cnav .l1>li>a:not(.btn),.cnav .mmb{padding:16px 22px;width:100%;text-align:left;border-bottom:1px solid #eef2f7}
 .mega{position:static;box-shadow:none;border:0}.mm:hover .mega{display:none}.mm.open .mega{display:block}
 .mg{grid-template-columns:1fr;gap:14px;padding:6px 22px 18px}.mgi{display:none}.ncta{margin:16px 22px}.ncta .btn{display:block;text-align:center}}
.chero{background:linear-gradient(100deg,rgba(6,20,46,.94),rgba(10,31,68,.82) 55%,rgba(29,78,216,.55)),url(/assets/hero.webp) center/cover;color:#fff;padding:38px 0 58px}
.chero h1{font-size:clamp(30px,4.4vw,50px);line-height:1.1;margin:14px 0 14px;max-width:820px;letter-spacing:-.5px}
.chero .lead{font-size:19px;color:#dbeafe;max-width:740px}.chero .lead a{color:#fff}
.chero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.bc ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;font-size:14px;color:#bfdbfe;padding:0;margin:0}.bc li+li:before{content:"/";margin-right:6px;opacity:.6}.bc a{color:#e2e8f0;text-decoration:none}.bc a:hover{text-decoration:underline}
.btn-o{border:2px solid #fff;color:#fff;background:transparent}.btn-o:hover{background:#fff;color:#0a1f44}
.trust{background:#0f2d5c;color:#e2e8f0;font-size:14px;font-weight:600}.trust .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding:14px 22px}
.csec{padding:56px 0}.csec.alt{background:#f5f8fd}.narrow{max-width:860px}
.csec h2{font-size:clamp(23px,2.6vw,30px);color:#0a1f44;margin:30px 0 12px;line-height:1.2}.csec h2:first-child{margin-top:0}
.csec p{margin:0 0 14px;color:#334155}.ul{padding-left:20px;margin:0 0 18px}.ul li{margin:7px 0;color:#334155}
.notice{background:#fff7ed;border-left:4px solid #f59e0b;padding:14px 16px;border-radius:6px}
.faq{border-bottom:1px solid #dbe3f0;padding:14px 0}.faq summary{cursor:pointer;font-weight:700;color:#0a1f44}.faq p{margin-top:10px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.card{display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-height:120px;padding:20px;border:1px solid #dbe3f0;border-radius:12px;text-decoration:none;color:#0a1f44;background:#fff;transition:.15s}
.card:hover{border-color:#1d4ed8;box-shadow:0 10px 24px rgba(29,78,216,.12);transform:translateY(-2px)}.card span{color:#1d4ed8;font-weight:600;font-size:14px}
.cband{background:#0a1f44;color:#fff;padding:44px 0}.cband .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.cband h2{font-size:28px;margin-bottom:6px}.cband p{color:#cbd5e1}.cband .btn{margin-right:10px}
.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px;margin:10px 0 20px}.logos figure{text-align:center;margin:0}.logos img{width:110px;height:110px;object-fit:contain;margin:0 auto 8px}.logos figcaption{font-weight:600;font-size:14px}
.jobs iframe{width:100%;min-height:1100px;border:1px solid #dbe3f0;border-radius:12px;background:#fff}
.mapw iframe{width:100%;height:380px;border:0;border-radius:12px}
.small{font-size:13px;color:#64748b}
.cform{display:grid;gap:14px;max-width:560px}.cform label{display:grid;gap:6px;font-weight:600;color:#0a1f44}.cform input,.cform textarea{font:inherit;padding:11px 12px;border:1px solid #cbd5e1;border-radius:8px}
.evtabs{display:flex;gap:8px;margin-bottom:14px}.evtabs button{font:inherit;font-weight:700;padding:8px 16px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;cursor:pointer}.evtabs [aria-selected=true]{background:#0a1f44;color:#fff;border-color:#0a1f44}
.smap{columns:3 240px}
footer.cf{background:#06142e;color:#cbd5e1;padding:56px 0 24px;margin:0}footer.cf a{color:#e2e8f0;text-decoration:none}footer.cf a:hover{text-decoration:underline}
footer.cf .brand{color:#fff}footer.cf .brand small{color:#93c5fd;display:block;font-size:11px;letter-spacing:1px}
.cfg{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:28px}.cfb p{margin-top:12px;font-size:14px}
.fh{color:#fff;font-weight:700;margin-bottom:10px}footer.cf ul{list-style:none;padding:0;margin:0;display:block}footer.cf li{margin:7px 0;font-size:14px}
.cfl{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:18px;font-size:13px}.cfl span a{margin-left:16px}
@media(max-width:900px){.cfg{grid-template-columns:1fr 1fr}.cfb{grid-column:1/-1}}
/* v2 readability: brighter text, larger sizes, stronger contrast on the dark theme */
:root{--ink:#f1f5f9;--mute:#d6e0ee}
body{font-size:17px;line-height:1.7}
a{color:#93c5fd}
.kicker,.hero .tag{color:#93c5fd}.lead{color:#e8eef7}
.card p,.faq p,.note{color:#d6e0ee}.note{font-size:14px}
.crumb{font-size:14px;color:#dbeafe}.crumb a{color:#fff}
.hero{background:linear-gradient(90deg,rgba(10,31,68,.97) 0%,rgba(10,31,68,.9) 50%,rgba(10,31,68,.72) 100%),url(/assets/hero.webp) center/cover}
.hero p,.phero p{color:#eef4ff}
.chero{background:linear-gradient(100deg,rgba(6,20,46,.97),rgba(10,31,68,.92) 55%,rgba(15,45,92,.82)),url(/assets/hero.webp) center/cover}
.chero .lead{color:#eef4ff}.bc ol{color:#e2e8f0;font-size:15px}.bc a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.btn-p{background:#1d4ed8;color:#fff}.btn-p:hover{background:#1e40af}
.mbar a:last-child{background:#1d4ed8}
.topbar{font-size:14px}.tb a{color:#fff}
header.ch .brand small{color:#1e40af;font-size:12px}.brand small{font-size:12px}
.cnav .l1>li>a:not(.btn),.cnav .mmb{font-size:16px;color:#0a1f44}
.mgh{color:#1e40af;font-size:13px}.cnav .mg a{color:#0a1f44;font-size:16px}
.trust{font-size:15px;color:#fff}
.csec{background:#050d1f}.csec.alt{background:#081631}
.csec h2{color:#fff}.csec p,.csec li,.ul li{color:#e8eef7}
.csec a:not(.btn):not(.card){color:#93c5fd;text-decoration:underline;text-underline-offset:3px}
.card{background:#0b1d3d;border-color:#2a4a7f;color:#f1f5f9}
.cards>.card strong{color:#fff;font-size:17px}.cards>.card span{color:#93c5fd;font-size:15px}
.faq summary,details.faq summary{color:#fff}details.faq{border-bottom-color:#2a4a7f}
.notice{background:#2a1f05;border-left-color:#f59e0b;color:#fde68a}
.small{color:#d6e0ee;font-size:14px}
.cform label{color:#fff}.evtabs button{color:#0a1f44}.logos figcaption{color:#f1f5f9}
.who span{color:#f1f5f9}.report table{font-size:15px}#consent{font-size:15px;color:#f1f5f9}
input::placeholder,textarea::placeholder{color:#a8b5c8}
footer.cf{color:#e8eef7;font-size:15px}footer.cf li{font-size:15px}.cfb p{font-size:15px}.cfl{font-size:14px}footer.cf a{color:#fff}
#apptabs a,html.app-mode nav#apptabs a{color:#d6e0ee;font-size:12px}

/* credentials */
.creds{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px;margin-bottom:20px}.cred{margin:0;background:#0b1d3d;border:1px solid #2a4a7f;border-radius:14px;overflow:hidden}.cred img{width:100%;height:auto;background:#fff}.cred figcaption{padding:16px 18px}.cred h3{color:#fff;font-size:18px;margin-bottom:6px}.cred p{color:#e8eef7;margin:0;font-size:15px}

/* credentials v2 */
.credx{display:grid;grid-template-columns:minmax(260px,1fr) 1.2fr;gap:28px;align-items:start;padding:28px 0;border-top:1px solid #1e3a66}.credi img{width:100%;height:auto;border-radius:10px;background:#fff}.credk{color:#93c5fd !important;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}.credt h2{margin-top:0}.credt h3{color:#fff;font-size:19px;margin:16px 0 6px}@media(max-width:760px){.credx{grid-template-columns:1fr}}

/* reputation strip */
.rep{border-top:1px solid rgba(255,255,255,.12);margin-top:32px;padding-top:24px}.repg{display:flex;flex-wrap:wrap;gap:14px;align-items:stretch;margin:6px 0 10px}
.rbadge{display:flex;flex-direction:column;justify-content:center;min-height:72px;padding:8px 14px;border-radius:10px;background:#fff;color:#0a1f44 !important;text-decoration:none !important;line-height:1.25}
.rbadge.img{padding:8px 12px}.rbadge img{height:56px;width:auto}.rbadge strong{font-size:15px;color:#0a1f44}.rbadge span{font-size:13px;color:#334155}.rbadge:hover{outline:3px solid #60a5fa}
.rep .small{color:#cbd5e1}

/* Candid nonprofit transparency recognition */
.rbadge.candid-gold{border-left:5px solid #bd923d;background:#fff9e9;gap:4px;max-width:100%;overflow-wrap:anywhere}.rbadge.candid-gold:focus-visible{outline:3px solid #60a5fa;outline-offset:3px}

/* Keep navigation usable on touch screens and prevent narrow-screen overflow. */
.social-links{margin-top:28px}
footer.cf .social-links ul{display:flex;flex-wrap:wrap;gap:12px}
footer.cf .social-links li{margin:0}
footer.cf .social-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid #64748b;border-radius:8px;font-size:16px}
footer.cf .social-links a:hover{background:#12305e}
.grid>*,.cfg>*,.split>*,.credx>*{min-width:0}
.tb nav{position:static;flex-wrap:wrap;align-items:center;justify-content:center;padding:0;max-height:none;overflow:visible;background:transparent}
.tb nav a{display:inline-flex;align-items:center;min-height:44px}
.report{overflow-x:auto}
.creds{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
:focus-visible{outline:3px solid #60a5fa;outline-offset:4px}
@media(min-width:1101px){
 header.ch .brand{flex-wrap:wrap;column-gap:8px;max-width:190px;font-size:16px}
 header.ch .brand small{letter-spacing:0;font-size:11px}
 .cnav .l1>li>a:not(.btn),.cnav .mmb{padding-left:7px;padding-right:7px;font-size:15px}
 .ncta .btn{padding-left:10px;padding-right:10px;font-size:15px}
}
@media(max-width:1100px){
 .cnav .mg a{min-height:44px;padding:9px 0;line-height:1.6}
 .cnav{max-height:calc(100dvh - 76px);overscroll-behavior:contain}
}
@media(max-width:620px){
 .wrap{padding-left:16px;padding-right:16px}
 .tb nav{gap:4px 16px}
 .tb nav a{font-size:14px}
 header.ch .brand{flex-wrap:wrap;gap:6px;max-width:230px;font-size:17px}
 header.ch .brand small{font-size:12px;letter-spacing:.5px}
 .cmenu{flex:none}
 .cfg{grid-template-columns:1fr}
 .brand,.cfb,.cfl,.rbadge{overflow-wrap:anywhere}
 footer.cf li a,.cfl a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0}
 .cfl span:last-child{display:flex;flex-wrap:wrap;gap:8px 20px}
 .cfl span a{margin-left:0}
 .cta .btn,.ctas .btn{width:100%;text-align:center}
 .faq summary{min-height:44px;padding:8px 0}
 .mbar a{font-size:15px;padding:12px 10px;min-height:52px}
 .mbar{padding-bottom:env(safe-area-inset-bottom);background:#0f2d5c}
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 #ibGo,#ibX{min-width:44px;min-height:44px}
 .evtabs{flex-wrap:wrap}
 .evtabs button{min-height:44px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
}
