.source-flow .h5{font-size:1rem;margin:1.25rem 0 .5rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.page-intro{padding:var(--s6) 0;background:var(--bg);border-bottom:1px solid var(--line)}.page-intro h1{font-size:var(--fs-h2);max-width:1000px}.source-content{padding:var(--s6) 0}.source-flow{max-width:1000px}.source-block{margin:0 0 1.5rem}.source-flow h2,.source-flow h3{margin:2rem 0 1rem;line-height:1.3}.source-flow h2{font-size:var(--fs-h3)}.source-flow p{margin:1rem 0}.source-flow ul,.source-flow ol{list-style:revert;padding-left:1.4rem;margin:1rem 0}.source-flow li{margin:.5rem 0}.source-flow img{max-width:100%;height:auto;display:block;margin:1rem 0}.source-flow iframe{border:0;width:100%;min-height:350px}.source-card{margin:1.5rem 0}.source-flow a{text-decoration:underline;text-underline-offset:.2em}.source-flow .form a{text-decoration:none}.content-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.hero-media .ph picture,.about .ph picture{position:absolute;inset:0;display:block}.pf-media picture{display:block;width:100%;height:100%}.hero-media .ph img,.about .ph img,.pf-media img{width:100%;height:100%;object-fit:cover;display:block}.hero-media .ph,.about .ph{padding:0}.pf-media{overflow:hidden}.hero h1{font-size:clamp(2.4rem,4.2vw,4.6rem)}.about .lede p,.careers .lede p{margin-top:1rem}.band h2,.band p{color:#fff}.band h2{font-size:var(--fs-h3);margin-bottom:1rem}.honeypot{position:absolute;left:-9999px;width:1px;height:1px}.full{grid-column:1/-1}.consent-info{font-size:.8rem;color:var(--text-soft)}.form label{display:block}.form input,.form textarea{width:100%}.form-status{font-size:.95rem}.scroll-top{position:fixed;right:20px;bottom:20px;z-index:20;background:var(--phi-blue);color:#fff;border:0;width:42px;height:42px;cursor:pointer}.container{width:min(100% - 2*var(--gutter),var(--maxw));margin:auto}.page-hero{padding:var(--s6) 0;background:var(--bg)}.section{padding:var(--s6) 0}.detail-list{list-style:disc;padding-left:1.5rem}.brand-icon{width:1.2em;height:1.2em}.source-flow .form{max-width:850px}.hero-media{min-width:0}.hero-copy{min-width:0}img{max-width:100%}input,textarea{min-width:0}@media(max-width:600px){.page-intro{padding:40px 0}.source-content{padding:40px 0}.hero h1{font-size:2.5rem}.source-flow h1{font-size:2rem}}
[hidden]{display:none!important}.media-tag button{margin-left:16px;background:transparent;color:var(--phi-blue);border:0;font:inherit;cursor:pointer}.hero-media .ph{height:100%}.source-flow [class*=gallery] img{width:100%;height:auto}

:root{--cc-accent:#0060A8;--cc-accent-hover:#004077}.cc-btn{border-radius:0!important}

/* Footer: brand over a wide two-column service directory. */
.site-footer{padding-block:48px 24px}
.foot-grid{grid-template-columns:minmax(0,2.3fr) minmax(130px,.7fr) minmax(220px,1fr);grid-template-areas:"brand brand brand" "services company contact";gap:28px 40px;align-items:start}
.foot-brand{grid-area:brand}.foot-services{grid-area:services}.foot-company{grid-area:company}.foot-contact{grid-area:contact}
.foot-brand img{height:48px;width:auto}
.foot-brand p{max-width:75ch;margin-top:14px;font-size:18px;line-height:1.6}
.foot-services ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px}
.foot-grid li{margin:0;font-size:15px;line-height:1.55;overflow-wrap:anywhere}
.foot-grid a{display:inline-block;padding-block:4px}
.foot-company li,.foot-contact li{margin-bottom:6px}
.foot-grid h4,.foot-grid .foot-title{font-size:17px;font-weight:700;letter-spacing:.08em;line-height:1.4;margin-bottom:18px}
.foot-bottom{margin-top:32px;align-items:center;line-height:1.6}
.source-flow p,.source-flow li{max-width:75ch;line-height:1.75}
.source-flow h2,.source-flow h3{max-width:32ch;text-wrap:balance}
.svc h3{line-height:1.4;text-wrap:balance}.svc p{line-height:1.7}
@media(max-width:1050px){.foot-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"brand brand" "services services" "company contact";gap:28px 32px}.foot-services ul{gap:8px 32px}}
@media(max-width:520px){.site-footer{padding-top:36px}.foot-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"brand" "services" "company" "contact";gap:28px}.foot-services ul{grid-template-columns:1fr;gap:4px}.foot-bottom{gap:16px}.foot-grid a{padding-block:6px}.foot-brand p{max-width:38ch}}

.foot-services h4,.foot-services .foot-title{text-align:center}
.service-summary{font-size:15px;line-height:1.65;margin:12px 0 18px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.section-number{display:block;font:500 14px/1.4 var(--font-mono);color:var(--phi-blue);margin-bottom:12px;letter-spacing:.08em}
.band .section-number{color:#fff}
.svc .ico{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
