.via-portal{--portal-navy:#072d49;--portal-blue:#05538f;--portal-paper:#f5f7f8;color:var(--portal-navy);background:#fff}.portal-shell{max-width:1320px;margin:auto;padding-left:clamp(20px,4.5vw,72px);padding-right:clamp(20px,4.5vw,72px)}.portal-kicker{letter-spacing:.2em;text-transform:uppercase;font-size:10px;font-weight:650;line-height:1.7}.portal-hero{background:var(--portal-navy);color:#fff;position:relative;overflow:hidden}.portal-hero-photo{opacity:.7;background-position:50% 56%;background-size:cover;position:absolute;inset:0}.portal-hero:after{content:"";pointer-events:none;background:linear-gradient(90deg,#031d31f7,#031d31b8 48%,#031d3114);position:absolute;inset:0}.portal-hero-content{z-index:1;padding-top:64px;padding-bottom:68px;position:relative}.portal-hero .portal-kicker{color:#d7e8f3;align-items:center;gap:12px;display:flex}.portal-hero .portal-kicker:before{content:"";background:#e32420;width:30px;height:2px}.portal-hero h1{letter-spacing:-.055em;max-width:740px;margin:26px 0 22px;font-size:clamp(40px,5.4vw,76px);font-weight:550;line-height:1.06}.portal-hero h1 span{color:#a9d5ee}.portal-hero-description{color:#e1eaf0;max-width:470px;font-size:16px;line-height:1.8}.portal-hero-bottom{justify-content:space-between;align-items:end;gap:24px;margin-top:34px;display:flex}.portal-cta{color:var(--portal-blue);background:#fff;align-items:center;gap:32px;padding:15px 22px;font-size:13px;font-weight:650;text-decoration:none;display:inline-flex}.portal-hero-note{color:#e0e9ef;text-align:right;max-width:200px;font-size:11px;line-height:1.7}.portal-intro-strip{background:#f7f9fa;border-bottom:1px solid #dce4e9}.portal-intro-inner{color:#4b6474;flex-wrap:wrap;justify-content:space-between;gap:16px 36px;padding-top:21px;padding-bottom:21px;font-size:12px;display:flex}.portal-intro-inner span{align-items:center;gap:9px;display:flex}.portal-directory{padding-top:54px;padding-bottom:64px;scroll-margin-top:24px}.portal-section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px;display:flex}.portal-section-heading h2{letter-spacing:-.04em;margin-top:8px;font-size:clamp(28px,3vw,40px);font-weight:550}.portal-section-heading p:last-child{color:#5b6e7c;max-width:320px;font-size:13px;line-height:1.7}.portal-filterbar{background:#f7f9fa;border:1px solid #dae3e9;grid-template-columns:2fr 1fr 1fr;gap:20px;padding:22px;display:grid}.portal-filterbar label{color:#405969;font-size:11px;font-weight:600;display:block}.portal-filterbar input,.portal-filterbar select{color:#183b53;background:#fff;border:1px solid #cedbe4;width:100%;height:44px;margin-top:8px;padding:0 12px;font-size:13px}.portal-filterbar input:focus,.portal-filterbar select:focus{outline-offset:2px;outline:2px solid #05538f}.portal-filterbar input:disabled,.portal-filterbar select:disabled{opacity:.6}.portal-search{position:relative}.portal-search svg{color:#617b8c;position:absolute;top:22px;left:12px}.portal-search input{padding-left:39px}.portal-result-line{color:#607787;justify-content:space-between;align-items:center;min-height:60px;font-size:12px;display:flex}.portal-result-line button{color:#05538f;padding:12px;text-decoration:underline}.portal-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.portal-project-card{background:#fff;border:1px solid #d8e2e9;flex-direction:column;min-width:0;transition:box-shadow .2s,transform .2s;display:flex}.portal-project-card:hover{transform:translateY(-4px);box-shadow:0 14px 40px #082f4910}.portal-card-top{background:linear-gradient(125deg,#e9f1f6,#f8fafb);border-bottom:1px solid #e2eaf0;justify-content:space-between;align-items:center;gap:16px;min-height:100px;padding:23px;display:flex}.portal-project-number{letter-spacing:-.07em;color:#95aebf;font-size:46px;font-weight:300;line-height:1}.portal-card-body{flex:1;padding:25px 24px 18px}.portal-card-body .portal-kicker{color:#6c8191;font-size:9px}.portal-card-body h3{letter-spacing:-.02em;overflow-wrap:anywhere;margin:12px 0 20px;font-size:19px;font-weight:600;line-height:1.5}.portal-location{color:#61798a;align-items:start;gap:7px;font-size:12px;display:flex}.portal-location svg{flex-shrink:0;margin-top:2px}.portal-card-link{color:#05538f;border-top:1px solid #e2e9ee;justify-content:space-between;align-items:center;margin:0 24px;padding:18px 0;font-size:12px;font-weight:650;display:flex}.portal-card-link>span:first-child{align-items:center;gap:10px;display:flex}.portal-arrow{background:#edf4f8;place-items:center;width:36px;height:36px;display:grid}.portal-card-link:hover .portal-arrow{color:#fff;background:#05538f}.portal-empty{text-align:center;background:#f7f9fa;border:1px dashed #bccedc;padding:50px 24px}.portal-empty p{color:#61798a;margin-top:10px;font-size:14px}.portal-help{background:#edf3f7}.portal-help-inner{justify-content:space-between;align-items:center;gap:26px;padding-top:32px;padding-bottom:32px;display:flex}.portal-help h2{letter-spacing:-.03em;font-size:22px;font-weight:500}.portal-help p{color:#5b7182;margin-top:8px;font-size:13px}.portal-help a{color:#05538f;white-space:nowrap;align-items:center;gap:18px;font-size:13px;display:flex}.portal-access{padding-top:48px;padding-bottom:56px}.portal-back{color:#61798a;align-items:center;gap:10px;margin-bottom:26px;font-size:12px;display:inline-flex}.portal-access-grid{border:1px solid #d7e2ea;grid-template-columns:1.1fr 1fr;display:grid}.portal-access-intro{color:#fff;background:linear-gradient(150deg,#064b7c,#072d49);flex-direction:column;padding:clamp(28px,4vw,52px);display:flex;position:relative;overflow:hidden}.portal-access-intro:after{content:"";pointer-events:none;border:1px solid #ffffff12;border-radius:50%;width:360px;height:360px;position:absolute;bottom:-170px;right:-140px;box-shadow:0 0 0 55px #ffffff04,0 0 0 110px #ffffff03}.portal-access-intro .portal-kicker{color:#aecbdc}.portal-access-intro h1{letter-spacing:-.03em;overflow-wrap:anywhere;margin:28px 0 24px;font-size:clamp(25px,2.7vw,40px);font-weight:500;line-height:1.3}.portal-access-intro p{color:#c4d8e5;max-width:350px;font-size:14px;line-height:1.8}.portal-access-features{color:#d7e7f1;flex-wrap:wrap;gap:18px;margin-top:auto;padding-top:42px;font-size:11px;display:flex}.portal-access-features span{align-items:center;gap:8px;display:flex}.portal-access-form{background:#fff;padding:clamp(28px,4vw,54px)}.portal-access-form h2{letter-spacing:-.03em;margin-top:24px;font-size:29px;font-weight:550}.portal-access-form p{color:#5b7182;margin-top:12px;font-size:13px;line-height:1.8}.portal-access-form label{margin-top:28px;margin-bottom:10px;font-size:12px;font-weight:600;display:block}.portal-password-wrap{position:relative}.portal-password-wrap input{border:1px solid #bdcdd9;outline-color:#05538f;width:100%;height:52px;padding:0 54px 0 16px}.portal-password-toggle{color:#5b7182;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:4px;right:4px}.portal-unlock{color:#fff;background:#05538f;justify-content:space-between;align-items:center;width:100%;min-height:52px;margin-top:18px;padding:14px 18px;font-size:13px;font-weight:600;display:flex}.portal-unlock:disabled{opacity:.6}.portal-access-form p[role=alert]{color:#b51c1c}.portal-related{border-top:1px solid #dce4ea;padding-top:40px;padding-bottom:56px}.via-portal a:focus-visible,.via-portal button:focus-visible{outline-offset:4px;outline:2px solid #1682bd}@media (width<=1000px){.portal-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.portal-hero-content{padding-top:42px;padding-bottom:42px}.portal-hero-photo{opacity:.45;background-position:65%}.portal-hero-note{display:none}.portal-filterbar{grid-template-columns:1fr 1fr;gap:14px;padding:16px}.portal-filterbar>label:first-child{grid-column:1/-1}.portal-project-grid,.portal-access-grid{grid-template-columns:1fr}.portal-section-heading{flex-direction:column;align-items:start;gap:12px}.portal-directory{padding-top:32px;padding-bottom:40px}.portal-help-inner{flex-direction:column;align-items:start}.portal-access{padding-top:28px}.portal-card-top{min-height:78px}}@media (prefers-reduced-motion:reduce){.portal-project-card{transition:none}.portal-project-card:hover{transform:none}}
