.portal .section{padding-top:48px;padding-bottom:48px}
.portal .hero{min-height:480px;padding:0;background-position:center}
.portal .hero-content{padding-top:64px;padding-bottom:64px;max-width:1220px}
.portal .hero h1{font-size:44px;max-width:850px;line-height:1.2}
.portal .hero .hero-line{font-size:27px;max-width:820px;line-height:1.45;margin:20px 0 14px}
.portal .hero p:not(.hero-line){max-width:670px;font-size:17px}
.portal .hero .actions{margin-top:24px}
.portal-facts{display:grid;grid-template-columns:1fr 1fr 1.3fr;border-bottom:1px solid var(--line);padding-top:23px;padding-bottom:23px;gap:30px}
.portal-facts>div{display:flex;align-items:center;gap:17px}
.portal-facts strong{font-size:26px;white-space:nowrap;color:var(--blue)}
.portal-facts span{font-size:14px;color:var(--muted);line-height:1.5}
.portal h2{font-size:30px;line-height:1.35;margin:6px 0 15px}
.portal .section-title{margin-bottom:22px;align-items:center;gap:20px}
.portal .section-title h2{margin-bottom:0}
.portal-intro{display:grid;grid-template-columns:1.7fr 1fr;gap:48px;align-items:center}
.portal-intro p{margin:14px 0 18px}
.portal-intro figure{margin:0;position:relative}
.portal-intro figure img{width:100%;height:220px;object-fit:cover;border-radius:4px}
.portal-intro figcaption{font-size:12px;color:var(--muted);margin-top:6px}
.portal-honors{background:#f0f5f7;border-block:1px solid var(--line)}
.portal-honors>.container>p{margin:0 0 22px;color:var(--muted)}
.honor-grid,.showcase-grid,.portal-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gallery-item{color:var(--ink);text-decoration:none;min-width:0}
.gallery-media{position:relative;overflow:hidden;border-radius:4px;background:#e6ecef}
.gallery-media img{display:block;width:100%;height:210px;object-fit:cover;transition:transform .2s}
.gallery-item:hover .gallery-media img{transform:scale(1.025)}
.gallery-item h3{font-size:17px;line-height:1.5;margin:12px 0 0}
.certificate .gallery-media{background:white;border:1px solid #d7e1e6;padding:16px}
.certificate .gallery-media img{height:270px;object-fit:contain}
.image-open{position:absolute;bottom:10px;right:10px;background:white;color:#132d3b;border:1px solid #d7e1e6;width:28px;height:28px;display:grid;place-items:center;border-radius:3px}
.portal-honors .archive-note{font-size:12px;margin-top:18px!important;margin-bottom:0!important}
.portal-services article{border-top:2px solid var(--blue);padding-top:16px}
.portal-services h3{font-size:20px;margin:8px 0}
.portal-services p{font-size:15px;color:var(--muted);margin:0 0 15px}
.portal .news-row{padding:20px 0;gap:24px}
.portal .news-row h3{font-size:19px;margin:4px 0}
.portal .news-row p{font-size:14px;margin:5px 0}
#gallery-dialog{border:0;border-radius:6px;padding:50px 22px 14px;max-width:min(1000px,94vw);max-height:94vh;background:#fff;color:#132d3b}
#gallery-dialog::backdrop{background:rgb(10 22 30 / .8)}
#gallery-image{display:block;max-width:100%;max-height:74vh;width:auto;height:auto;margin:auto;object-fit:contain}
#gallery-caption{text-align:center;font-size:15px;margin:12px 0 0}
.gallery-close{position:absolute;right:16px;top:10px;border:1px solid #c7d3d9;border-radius:3px;background:white;padding:5px 12px;font:inherit;cursor:pointer}
.gallery-item:focus-visible,.gallery-close:focus-visible{outline:3px solid #086a9e;outline-offset:4px}
@media(min-width:1450px){.portal .hero{min-height:510px}}
@media(max-width:1050px){.portal-facts>div{align-items:flex-start;flex-direction:column;gap:3px}.gallery-media img{height:180px}.certificate .gallery-media img{height:230px}.portal-intro{gap:30px}}
@media(max-width:700px){.portal .section{padding-top:34px;padding-bottom:34px}.portal .hero{min-height:0}.portal .hero-content{padding-top:45px;padding-bottom:45px}.portal .hero h1{font-size:32px}.portal .hero .hero-line{font-size:22px}.portal h2{font-size:26px}.portal-facts{gap:14px;grid-template-columns:1fr 1fr}.portal-facts>div:last-child{grid-column:1/-1;flex-direction:row;align-items:center;gap:14px}.portal-facts strong{font-size:23px}.portal-intro{grid-template-columns:1fr;gap:20px}.portal-intro figure img{height:230px}.honor-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.certificate:last-child{grid-column:1/-1;max-width:280px;width:100%;justify-self:center}.certificate .gallery-media{padding:9px}.certificate .gallery-media img{height:200px}.gallery-item h3{font-size:15px}.showcase-grid,.portal-services{grid-template-columns:1fr;gap:24px}.showcase-grid .gallery-media img{height:auto;aspect-ratio:16/10}.portal .section-title{align-items:flex-start;flex-direction:column;gap:8px}.portal .news-row{gap:10px}.portal .news-row h3{font-size:17px}}
@media(prefers-reduced-motion:reduce){.gallery-media img{transition:none}}
