.port-hero{background-image:linear-gradient(#ffffff59,#ffffff8c),url(https://images.unsplash.com/photo-1582407947304-fd86f028f716?auto=format&fit=crop&w=1920&q=80);background-position:50%;background-size:cover;justify-content:center;align-items:center;min-height:80vh;padding:160px 20px 100px;display:flex;position:relative;overflow:hidden}.port-hero:before{content:"";z-index:1;background:radial-gradient(at 100% 0,#0040801f,#0000 55%);position:absolute;inset:0}.hero-inner{z-index:2;text-align:center;position:relative}.gold-line{background:#004080;width:80px;height:2px;margin:0 auto 26px}.hero-eyebrow{letter-spacing:5px;text-transform:uppercase;color:#004080;margin-bottom:18px;font-family:Work Sans,sans-serif;font-size:.78rem}.hero-headline{color:#1a1a1a;letter-spacing:-2px;margin-bottom:20px;font-family:Noto Serif,serif;font-size:clamp(3rem,6vw,5.5rem);font-weight:500;line-height:1.05}.hero-headline em{color:#004080;font-style:italic}.hero-sub{color:#000;max-width:520px;margin:0 auto 48px;font-size:1.05rem;line-height:1.8}.hero-stats{flex-wrap:wrap;justify-content:center;gap:48px;display:flex}.hero-stat{text-align:center}.hero-stat-num{color:#004080;margin-bottom:4px;font-family:Noto Serif,serif;font-size:2rem;font-weight:600;line-height:1}.hero-stat-lbl{letter-spacing:3px;text-transform:uppercase;color:#0000008c;font-size:.72rem}.hero-stat-divider{background:#00000026;align-self:stretch;width:1px}.filter-section{z-index:100;background:#fff;padding:30px 0;position:sticky;top:0;box-shadow:0 4px 20px #0000000f}.filter-wrap{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.filter-btn{letter-spacing:1px;color:#555;cursor:pointer;background:0 0;border:1px solid #0000001f;border-radius:999px;padding:9px 22px;font-family:Work Sans,sans-serif;font-size:.8rem;font-weight:500;transition:all .25s}.filter-btn:hover{color:#004080;border-color:#004080}.filter-btn.active{color:#fff;background:#004080;border-color:#004080;font-weight:700}.cards-section{background:#f8f6f2;padding:80px 0}.portfolio-card{background:#fff;border-radius:10px;height:100%;transition:all .35s;overflow:hidden;box-shadow:0 4px 20px #00000012}.portfolio-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px #00000021}.card-img-wrap{overflow:hidden}.card-img-wrap img{transition:transform .6s;display:block}.portfolio-card:hover .card-img-wrap img{transform:scale(1.06)}.card-body-inner{padding:20px 22px 24px}.card-heading{color:#111;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:6px;font-family:Noto Serif,serif;font-size:1.05rem;line-height:1.35;display:-webkit-box;overflow:hidden}.card-desc{color:#888;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.84rem;line-height:1.6;display:-webkit-box;overflow:hidden}.no-results{text-align:center;color:#888;padding:80px 0}.no-results i{color:#004080;margin-bottom:18px;font-size:3rem;display:block}.cat-section{background:#111;padding:90px 0}.sec-tag{letter-spacing:5px;text-transform:uppercase;color:#004080;margin-bottom:12px;font-family:Work Sans,sans-serif;font-size:.75rem;display:block}.sec-headline{color:#fff;margin-bottom:48px;font-family:Noto Serif,serif;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:500}.cat-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:20px;height:100%;padding:28px 24px;transition:all .35s;display:flex}.cat-card:hover{background:#00408012;border-color:#0040804d;transform:translateY(-4px)}.cat-count{color:#004080;flex-shrink:0;min-width:52px;font-family:Noto Serif,serif;font-size:2.2rem;font-weight:700;line-height:1}.cat-info{flex:1}.cat-name{color:#fff;margin-bottom:4px;font-family:Noto Serif,serif;font-size:1rem}.cat-desc{color:#ffffff73;margin:0 0 12px;font-size:.82rem;line-height:1.55}.cat-btn{color:#004080;letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #00408080;border-radius:999px;padding:7px 18px;font-size:.72rem;font-weight:600;transition:all .25s}.cat-btn:hover{color:#fff;background:#004080;border-color:#004080}@media (max-width:768px){.port-hero{padding:150px 20px 80px}.hero-headline{letter-spacing:-1px}.hero-stat-divider{display:none}.filter-section{position:static}}
