:root{ --navy:#0d2b5c; --navy-2:#0a2348; --green:#5cb338; --green-2:#4aa32c; --text:#1c2430; --muted:#5b6573; --line:#e6eaf0; --bg:#f5f7fa; --page-max:1400px; --page-gutter:clamp(24px,5vw,64px);}*{box-sizing:border-box}html{}body{margin:0;font-family:"Open Sans",system-ui,sans-serif;color:var(--text);background:#fff}h1,h2,h3,h4,.brand-name,nav a,.btn{font-family:Montserrat,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(var(--page-max),100%);margin:0 auto;padding-left:var(--page-gutter);padding-right:var(--page-gutter);box-sizing:border-box}.topbar{background:var(--navy);color:#fff;font-size:12.5px;padding:9px 0}.topbar .wrap{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.topbar .left span{opacity:.95;margin-right:18px}.topbar .right{display:flex;gap:16px;align-items:center}.topbar .soc{display:flex;gap:8px}.topbar .soc a{width:22px;height:22px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;font-size:10px}header.nav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}header.nav .wrap{display:flex;align-items:center;gap:18px;min-height:78px}.logo{display:flex;align-items:center;gap:10px}.crest{width:52px;height:58px;flex:none}.brand-name{font-size:13.5px;font-weight:800;letter-spacing:.3px;color:var(--navy);line-height:1.15}.brand-name small{display:block;font-size:9px;font-weight:600;letter-spacing:.8px;color:var(--green);margin-top:3px}nav.menu{margin-left:auto;display:flex;align-items:center;gap:20px;font-size:13.5px;font-weight:600;color:var(--navy)}nav.menu a:hover{color:var(--green)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:4px;font-weight:700;font-size:13px;border:0;cursor:pointer}.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:#081d40}.btn-green{background:var(--green);color:#fff}.btn-green:hover{background:var(--green-2)}.btn-outline{background:#fff;color:var(--navy);border:1.5px solid var(--navy)}.btn-outline:hover{background:var(--navy);color:#fff}.menu-btn{display:none;background:none;border:0;font-size:26px;color:var(--navy);margin-left:auto}.portal-main{background:var(--bg);min-height:40vh;padding:40px 0 56px}.portal-inner{width:min(820px,100%);margin:0 auto;padding-left:var(--page-gutter);padding-right:var(--page-gutter)}.portal-inner.wide{width:min(1100px,100%);margin:0 auto;padding-left:var(--page-gutter);padding-right:var(--page-gutter)}footer.site{background:#092B66;color:#e8eef6;padding:48px 0 0}.fgrid{display:grid;grid-template-columns:1.35fr .85fr .9fr 1.15fr;gap:32px}footer.site .brand-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}footer.site .brand-name{color:#fff;font-size:13px}footer.site .blurb{margin:0 0 16px;line-height:1.7;font-size:13.5px;opacity:.9}.fsoc{display:flex;gap:10px}.fsoc a{width:34px;height:34px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;color:#fff}.fsoc svg{width:14px;height:14px;fill:#fff}footer.site h4{color:#fff;margin:0 0 14px;font-weight:700;font-size:16px}footer.site ul{list-style:none;margin:0;padding:0;line-height:2.05;font-size:14px}footer.site .cinfo{list-style:none;margin:0;padding:0}footer.site .cinfo li{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;font-size:13.5px;line-height:1.45}footer.site .cinfo svg{width:16px;height:16px;flex:none;margin-top:3px;stroke:#fff;fill:none;stroke-width:1.7}.fbottom{background:#5a961d;margin-top:36px;padding:14px 0;color:#fff;font-size:12.5px}.fbottom .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.top{position:fixed;right:18px;bottom:18px;width:44px;height:44px;border-radius:50%;background:#092B66;color:#fff;display:grid;place-items:center;font-weight:700;border:2px solid #6BAF23;text-decoration:none;box-shadow:0 6px 16px rgba(0,0,0,.25)}@media(max-width:1020px){ nav.menu{display:none} nav.menu.open{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:78px;background:#fff;padding:16px 24px 24px;border-bottom:1px solid var(--line);align-items:flex-start} .menu-btn{display:block} header.nav{position:relative} .fgrid{grid-template-columns:1fr 1fr}}@media(max-width:640px){ .fgrid{grid-template-columns:1fr}}

/* ── Mobile app shell ── */
:root{--dock-h:62px}
.header-apply,.mobile-dock,.nav-backdrop,.nav-drawer{display:none}
html{scroll-behavior:smooth}
body.nav-open{overflow:hidden}

.nav-backdrop{position:fixed;inset:0;background:rgba(9,43,102,.45);z-index:80;opacity:0;transition:opacity .25s ease}
.nav-backdrop.open{display:block;opacity:1}
.nav-drawer{position:fixed;top:0;right:0;width:min(320px,88vw);height:100%;background:#fff;z-index:90;transform:translateX(105%);transition:transform .28s ease;box-shadow:-8px 0 32px rgba(9,43,102,.15);display:flex;flex-direction:column;padding:env(safe-area-inset-top,0) 0 env(safe-area-inset-bottom,0)}
.nav-drawer.open{display:flex;transform:translateX(0)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}
.drawer-head strong{font-size:13px;color:var(--navy);line-height:1.3;max-width:220px}
.drawer-close{background:#eef2f7;border:0;width:36px;height:36px;border-radius:50%;font-size:22px;line-height:1;color:var(--navy);cursor:pointer}
.drawer-links{display:flex;flex-direction:column;gap:4px;padding:12px 16px 8px;overflow:auto;flex:1}
.drawer-links a{padding:13px 14px;border-radius:10px;font-size:15px;font-weight:600;color:var(--navy)}
.drawer-links a:active,.drawer-links a:hover{background:#f0f4fa}
.drawer-links .drawer-cta{margin-top:8px;text-align:center;color:#fff}
.drawer-contact{display:flex;gap:10px;padding:14px 16px 18px;border-top:1px solid var(--line)}
.drawer-contact a{flex:1;text-align:center;padding:11px 8px;border-radius:10px;background:#f0f4fa;font-size:13px;font-weight:600;color:var(--navy)}

.mobile-dock{position:fixed;left:0;right:0;bottom:0;z-index:70;background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 24px rgba(9,43,102,.08);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0));grid-template-columns:repeat(5,1fr);gap:2px}
.mobile-dock .dock-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 2px;border-radius:10px;color:#5b6578;font-size:10px;font-weight:600;min-height:48px;-webkit-tap-highlight-color:transparent}
.mobile-dock .dock-item svg{width:22px;height:22px;fill:currentColor;opacity:.85}
.mobile-dock .dock-item.is-active,.mobile-dock .dock-item:active{color:var(--navy)}
.mobile-dock .dock-apply{color:#fff;background:linear-gradient(180deg,#6BAF23,#5a961d);margin:-10px 4px 0;border-radius:14px;box-shadow:0 6px 16px rgba(90,150,29,.35);min-height:52px}
.mobile-dock .dock-apply svg{opacity:1}

@media(max-width:768px){
  :root{--page-gutter:16px;--dock-h:62px}
  body{padding-bottom:calc(var(--dock-h) + env(safe-area-inset-bottom,0));-webkit-tap-highlight-color:transparent}
  .topbar{display:none}
  header.nav{position:sticky;top:0;box-shadow:0 2px 12px rgba(9,43,102,.06)}
  header.nav .wrap{min-height:56px;gap:8px}
  .logo .crest,.logo img{height:42px!important;width:auto!important}
  .brand-name{font-size:11px;max-width:46vw;line-height:1.2}
  .brand-name small{font-size:8px;letter-spacing:.5px}
  .header-apply{display:inline-flex;margin-left:auto;padding:8px 12px;border-radius:999px;background:var(--navy);color:#fff;font-size:11px;font-weight:700;white-space:nowrap}
  nav.menu{display:none!important}
  .menu-btn{display:block;margin-left:0;min-width:44px;min-height:44px}
  .mobile-dock{display:grid}
  .top{bottom:calc(var(--dock-h) + env(safe-area-inset-bottom,0) + 12px);right:14px;width:40px;height:40px;font-size:16px}
  footer.site{padding-bottom:24px}
  .fbottom{padding-bottom:calc(10px + env(safe-area-inset-bottom,0))}
  .btn{min-height:44px;padding:12px 18px;font-size:14px}
  .portal-main{padding:24px 0 32px}
}

/* Apply banner above footer */
.portal-cta-section{padding:8px 0 44px;background:#f3f5f8}
.portal-cta-panel{background-color:#092B66;color:#fff;border-radius:16px;padding:34px clamp(20px,4vw,40px);display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;position:relative;overflow:hidden;background-repeat:no-repeat;background-position:right center;background-size:min(42%,360px) auto;box-shadow:0 12px 32px rgba(9,43,102,.18)}
.portal-cta-panel:after{content:"";position:absolute;right:0;top:0;bottom:0;width:min(42%,360px);background:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 240 160\"><path fill=\"none\" stroke=\"rgba(255,255,255,0.22)\" stroke-width=\"2\" d=\"M24 130h192M48 130V52h144v78M72 52V28h96v24M96 78h48M96 98h48M120 28v22M84 52h72\"/></svg>') right bottom/contain no-repeat;pointer-events:none;opacity:.9}
.portal-cta-panel[style*="background-image"]:after{display:none}
.portal-cta-copy{position:relative;z-index:1;flex:1;min-width:240px;max-width:560px}
.portal-cta-copy h2{margin:0 0 10px;font-size:clamp(24px,3.2vw,34px);font-weight:700;line-height:1.2;font-family:Montserrat,sans-serif}
.portal-cta-copy p{margin:0;opacity:.94;line-height:1.65;font-size:15px}
.portal-cta-actions{display:flex;gap:12px;flex-wrap:wrap;position:relative;z-index:1;align-items:center}
.portal-cta-primary{background:#6BAF23;color:#fff;border-radius:10px;padding:13px 24px;font-weight:600;display:inline-flex;align-items:center;gap:8px;border:0;font-size:14px}
.portal-cta-primary:hover{background:#5a961d;color:#fff}
.portal-cta-secondary{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.85);border-radius:10px;padding:13px 22px;font-weight:600;display:inline-flex;align-items:center;gap:8px;font-size:14px}
.portal-cta-secondary:hover{background:rgba(255,255,255,.08);color:#fff}
.portal-cta-primary .cta-ico,.portal-cta-secondary .cta-ico{width:18px;height:18px;flex:none;stroke:currentColor}
.portal-cta-primary .cta-ico path,.portal-cta-secondary .cta-ico path{stroke:currentColor}
@media(max-width:768px){
  .portal-cta-section{padding-bottom:32px}
  .portal-cta-panel{flex-direction:column;align-items:flex-start;padding:28px 20px;background-size:180px auto;background-position:right -20px bottom}
  .portal-cta-panel:after{width:180px;opacity:.5}
  .portal-cta-actions{width:100%;flex-direction:column;align-items:stretch}
  .portal-cta-primary,.portal-cta-secondary{width:100%;justify-content:center}
}