.portal-hero{background:linear-gradient(115deg,#19334c,#345d85);color:#f5f8fb;overflow:hidden}
.portal-hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center;padding-top:60px;padding-bottom:50px}
.portal-intro .eyebrow{color:#bed5e9;font-size:12px;letter-spacing:.1em;margin-bottom:24px}
.portal-intro h1{font-size:clamp(44px,5.5vw,76px);line-height:1.04;letter-spacing:-.045em;color:white;margin:0 0 27px;overflow-wrap:normal}
.portal-intro .portal-lead{font-size:25px;line-height:1.4;font-weight:600;color:#fff;margin-bottom:22px}
.portal-intro>p{font-size:17px;line-height:1.75;color:#d6e1eb;max-width:610px}
.portal-cta,.portal-hero .portal-cta{background:#ff851b;border-color:#ff851b;color:#162f49;font-weight:700;font-size:16px;min-height:56px;margin-top:12px}
.portal-cta:hover,.portal-hero .portal-cta:hover{background:#ff9a42;border-color:#ff9a42;color:#162f49}
.portal-expert{align-self:end;max-width:440px;width:100%;justify-self:end}
.portal-portrait{position:relative;isolation:isolate;padding:0 20px}
.portal-portrait:before{content:'';position:absolute;inset:20% 0 0;border:1px solid #b7d1e644;border-bottom:0;border-radius:160px 160px 0 0;z-index:-1}
.portal-portrait img{display:block;width:100%;max-height:460px;height:auto;object-fit:contain;object-position:bottom}
.portal-expertise{position:relative;background:#142e46;padding:25px 28px;border-top:3px solid #7faace}
.portal-expertise .eyebrow{font-size:11px;letter-spacing:.08em;color:#a9c7e0;margin-bottom:7px}
.portal-expertise h2{font-size:28px;line-height:1.25;color:#fff;margin:0 0 15px}
.portal-expertise ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:15px;line-height:1.45;color:#d6e1eb}
.portal-expertise li{padding-left:16px;position:relative}.portal-expertise li:before{content:'';position:absolute;left:0;top:.55em;width:5px;height:5px;background:#8bb6db;border-radius:50%}
.portal-services .section-head h2{font-size:clamp(34px,4vw,48px)}
.portal-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.portal-service{background:#e3edf5;padding:30px;display:flex;flex-direction:column;align-items:flex-start;border:1px solid #d1e0ed}
.portal-service-label{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700;color:#52799c;margin-bottom:17px}
.portal-service h3{font-size:27px;line-height:1.18;margin:0 0 16px;color:#203b55}
.portal-service p,.portal-documents li{font-size:16px;line-height:1.65}
.portal-benefit{font-weight:500;border-left:2px solid #6c96ba;padding-left:15px;margin:20px 0 0}
.portal-documents{margin:24px 0;flex:1}.portal-documents h4{font-size:14px;margin:0 0 12px}
.portal-documents ul{padding-left:19px;margin:0;display:grid;gap:7px}
.portal-request{font-size:15px;min-height:52px;margin-top:auto}
.portal-service-main{grid-column:1/-1;background:#203f5b;color:#edf4fa;border-color:#203f5b;display:grid;grid-template-columns:1.1fr 1fr;gap:0 50px;padding:40px}
.portal-service-main h3{color:#fff;font-size:clamp(30px,3vw,40px)}.portal-service-main .portal-service-label{color:#b5d2ea}
.portal-service-main .portal-benefit{border-color:#ffad62}.portal-service-main .portal-documents{margin-top:35px}
.portal-service-main .portal-request{justify-self:start;background:#ff851b;border-color:#ff851b;color:#162f49;font-weight:700;margin-top:25px}
.portal-scope-note{font-size:14px;max-width:850px;color:#617789;margin:22px 0 0;line-height:1.65}
.portal-steps{margin-top:34px;display:grid;grid-template-columns:1fr 1fr;gap:35px 50px}
.portal-steps article{display:grid;grid-template-columns:48px 1fr;gap:20px;padding-top:25px;border-top:1px solid #b6cada}
.portal-steps .step-num{font-size:25px;color:#6e91b0}.portal-steps h3{font-size:22px;line-height:1.3;margin:0 0 12px}.portal-steps p{font-size:16px;line-height:1.75;margin:0}
.portal-contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start;scroll-margin-top:120px}
.portal-contact h2{font-size:clamp(34px,4vw,48px);line-height:1.15}.portal-contact p{font-size:16px;line-height:1.7}
.portal-mail{font-size:20px;font-weight:600;overflow-wrap:anywhere}.portal-contact .portal-contact-small{font-size:14px;color:#607486;margin-top:22px}
.request-form{background:#f8fbfd;border:1px solid #ccdae6;padding:32px;min-width:0}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-field{margin-bottom:20px;min-width:0}
.form-field label{display:block;font-size:14px;font-weight:600;color:#203b55;margin-bottom:8px}.form-field label span{font-weight:400;color:#65798b}
.form-field input,.form-field select,.form-field textarea{display:block;width:100%;min-width:0;border:1px solid #aec3d4;border-radius:0;background:#fff;color:#203b55;padding:12px 13px;min-height:48px;font:inherit;font-size:16px;line-height:1.5}
.form-field textarea{resize:vertical}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:2px solid #517fa5;outline-offset:1px}
.file-field{background:#eaf1f7;padding:18px;border:1px dashed #8dabc3}.file-field #file-help{font-size:13px;line-height:1.55;margin:0 0 12px}.file-field input{padding:0;border:0;background:transparent;font-size:14px;min-height:35px}
.file-field input::file-selector-button{border:1px solid #89a7bf;background:white;color:#203b55;padding:9px 12px;margin-right:10px;cursor:pointer;font:inherit}
#file-list{margin:10px 0 0;padding:0;list-style:none;font-size:13px;overflow-wrap:anywhere}
.form-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6}.form-consent input{width:18px;height:18px;flex-shrink:0;margin-top:2px}.form-consent a{text-decoration:underline}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-status{margin:14px 0 0!important;font-size:14px!important}.form-status:empty{display:none}.form-status[data-state="error"]{color:#9a2c21}.form-status[data-state="success"]{color:#175940;font-weight:600}
.request-form button:disabled{opacity:.6;cursor:wait}.request-form .form-footnote{font-size:12px;color:#65798b;margin:12px 0 0}
@media(max-width:1050px){.portal-hero-grid{gap:30px}.portal-hero-grid{grid-template-columns:1.1fr 1fr}.portal-intro h1{font-size:48px}.portal-contact-grid{gap:30px;grid-template-columns:.75fr 1.25fr}.request-form{padding:25px}.portal-service-main{gap:0 28px}}
@media(max-width:760px){.portal-hero-grid{grid-template-columns:1fr;padding-top:35px;padding-bottom:30px;gap:30px}.portal-intro h1{font-size:clamp(36px,8.5vw,60px)}.portal-intro .portal-lead{font-size:22px}.portal-intro>p{font-size:16px}.portal-expert{justify-self:center;max-width:380px}.portal-portrait img{max-height:360px}.portal-expertise{padding:22px}.portal-service-grid{grid-template-columns:1fr;gap:18px}.portal-service,.portal-service-main{display:flex;padding:25px;gap:0}.portal-service-main .portal-documents{margin-top:24px}.portal-service-main .portal-request{margin-top:0}.portal-service h3{font-size:27px}.portal-service-main h3{font-size:32px}.portal-steps{grid-template-columns:1fr;gap:20px}.portal-contact-grid{grid-template-columns:1fr;gap:25px}.portal-contact-grid{scroll-margin-top:100px}.request-form{padding:22px}.portal-request{width:100%;justify-content:space-between}.portal-contact .portal-contact-small{margin-top:15px}}
@media(max-width:440px){.form-row{grid-template-columns:1fr;gap:0}.request-form{padding:18px}.portal-steps article{grid-template-columns:34px 1fr;gap:12px}.portal-intro .eyebrow{font-size:11px}.portal-intro h1{font-size:36px}.portal-cta{width:100%;justify-content:space-between}}
/* Shared request forms and linked online overview. */
.upload-mail-note{font-size:14px;line-height:1.65;color:#4e687e;margin:0 0 14px;overflow-wrap:anywhere}
.upload-mail-note a{text-decoration:underline;text-underline-offset:3px}
.portal-service[id]{scroll-margin-top:120px}
.online-preview>a{display:flex;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid #576b7f;text-decoration:none;color:inherit}
.online-preview>a:hover,.online-preview>a:focus-visible{background:#ffffff0b;color:#fff}
.online-preview>a:focus-visible{outline:2px solid #b9d7ef;outline-offset:4px}
.online-preview>a p{flex:1}
.town-group span{display:inline-flex;align-items:center;gap:40px}
.town-group span:after{display:none}
.town-group .town-pin{width:20px;height:24px;flex:none;color:var(--blue);opacity:.75}
.regional-contact .contact-options{margin-top:32px}
.regional-contact .contact-line strong{font-size:clamp(18px,2vw,25px);overflow-wrap:anywhere}
.regional-contact .contact-address{gap:20px}
.regional-contact .contact-regions{margin-bottom:25px}
@media(max-width:760px){.online-preview>a{padding:15px 0;gap:12px}.town-group span{gap:25px}.town-group .town-pin{width:18px;height:22px}.portal-service[id]{scroll-margin-top:100px}}
/* Keep each linked service in the familiar number / title / arrow row. */
.online-preview>a{display:grid;grid-template-columns:28px minmax(0,1fr) 22px;align-items:center;gap:18px;width:100%;padding:20px 0}
.online-preview>a p{margin:0;line-height:1.5}.online-preview>a .arrow{justify-self:end;margin:0}
.portal-flow{background:#203f5b;color:#e3edf6;padding:46px;margin-top:16px;margin-bottom:0}
.portal-flow>.eyebrow{color:#b4cfe5}.portal-flow h2,.portal-flow h3{color:#fff}
.portal-flow .portal-steps article{border-color:#ffffff32}.portal-flow .step-num{color:#ff9a42}.portal-flow .portal-steps p{color:#d6e4f0}
.portal-example{padding-top:42px;padding-bottom:55px}.example-heading .eyebrow{margin-bottom:12px}.example-heading h2{font-size:clamp(28px,3vw,38px);margin-bottom:22px}
.example-card{display:grid;grid-template-columns:1fr 1fr;border:1px solid #c7d9e8;background:#edf3f8}
.example-customer,.example-answer{padding:27px 30px}.example-answer{background:#dfeaf3}
.example-person{display:flex;gap:18px;align-items:flex-start}.customer-icon{width:54px;height:66px;flex:none;color:#345d85}
.example-card h3{font-size:21px;line-height:1.35;margin:0 0 10px}.example-card h4{font-size:15px;margin:20px 0 10px}
.example-card p,.example-card li{font-size:15px;line-height:1.65}.example-card p{margin:0 0 10px}.example-card ul{margin:0;padding-left:19px;display:grid;gap:5px}
.example-answer .eyebrow{font-size:12px;margin-bottom:12px}.example-customer .example-photo-note{font-size:14px;margin:14px 0 0;color:#587087}
.example-price{border-top:1px solid #b5cada;margin-top:20px;padding-top:15px;display:grid;gap:3px}.example-price>span,.example-price small{font-size:13px}.example-price strong{font-size:25px;color:#203b55}
.example-note{font-size:13px;line-height:1.65;color:#60768a;margin:14px 0 0;max-width:950px}
@media(max-width:760px){.online-preview>a{grid-template-columns:24px minmax(0,1fr) 20px;gap:12px;padding:15px 0}.portal-flow{padding:30px 24px}.example-card{grid-template-columns:1fr}.example-customer,.example-answer{padding:23px}.portal-example{padding-top:32px;padding-bottom:38px}.example-person{gap:12px}.customer-icon{width:44px;height:57px}.mobile-expertise-reveal{transition:opacity .5s ease,transform .5s ease;transition-delay:var(--expertise-delay,0ms)}.mobile-expertise-reveal.expertise-pending{opacity:0;transform:translateY(12px)}}
@media(prefers-reduced-motion:reduce){.mobile-expertise-reveal,.mobile-expertise-reveal.expertise-pending{opacity:1;transform:none;transition:none}}

.portal-service-grid>.portal-example-inline{grid-column:1/-1;width:100%;min-width:0;margin:0;padding:8px 0 22px}

/* Jump links are limited to the mobile portal introduction. */
.mobile-service-overview{display:none}
@media(max-width:760px){
 .portal-intro>.portal-cta{display:none}
 .mobile-service-overview{display:block;margin-top:25px;padding-top:20px;border-top:1px solid #b7d1e644}
 .mobile-service-overview h2{font-size:15px;line-height:1.4;color:#e4edf5;margin:0 0 12px;font-weight:600;letter-spacing:0}
 .mobile-service-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .mobile-service-links a{display:flex;align-items:center;min-height:46px;padding:10px 12px;border:1px solid #9ebbd566;background:#ffffff0a;color:#f5f8fb;font-size:14px;line-height:1.4;text-decoration:none;overflow-wrap:break-word}
 .mobile-service-links .mobile-service-primary{grid-column:1/-1;border-color:#ff9a42;background:#ff851b;color:#162f49;font-weight:700}
 .mobile-service-links a:hover{background:#ffffff1a}.mobile-service-links .mobile-service-primary:hover{background:#ff9a42}
 .mobile-service-links a:focus-visible{outline:2px solid #fff;outline-offset:2px}
}

.approved-service[id]{scroll-margin-top:120px}
@media(max-width:760px){
 .regional-service-overview{margin-top:24px;padding:0;border:0}
 .regional-service-overview h2{color:#203b55}
 .regional-service-overview .mobile-service-links a{color:#203b55;background:#e3edf5;border-color:#bdcfdf}
 .regional-service-overview .mobile-service-links .mobile-service-primary{color:#162f49;background:#ff851b;border-color:#ff851b}
 .regional-service-overview .mobile-service-links a:hover{background:#d3e3f0}
 .regional-service-overview .mobile-service-links .mobile-service-primary:hover{background:#ff9a42}
 .regional-service-overview .mobile-service-links a:focus-visible{outline-color:#203b55}
 .approved-service[id]{scroll-margin-top:100px}
}

@media(max-width:760px){
 .portal-hero-grid>.mobile-service-overview{margin-top:0;width:100%}
 .regional-service-overview .mobile-service-links{grid-template-columns:minmax(0,1fr)}
}

.rg-hero .mobile-hero-online{display:none}
@media(max-width:760px){
 .rg-hero .mobile-hero-online{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:15px 18px;margin:0 0 25px;background:#ff851b;border-color:#ff851b;color:#162f49;font-size:15px;font-weight:700}
 .rg-hero .mobile-hero-online:hover{background:#ff9a42;border-color:#ff9a42}
}
