/* Shared editorial banner for inner pages. */
.page-hero{--banner-accent:#4168b1;--banner-tint:#edf2f8;background:#fff;padding:38px 0 46px;border-bottom:1px solid #dce4ed;overflow:hidden}
.page-hero .page-hero-grid,.page-hero.with-image .page-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:64px;align-items:center}
.page-hero:not(.with-image) .page-hero-grid{grid-template-columns:1fr}
.page-hero .page-hero-grid>div:first-child{position:relative;padding:0 0 0 28px;border-left:3px solid var(--banner-accent)}
.page-hero .breadcrumbs{font-size:.8rem;color:#687788;line-height:1.6;margin:0 0 25px}
.page-hero .kicker{display:block;width:auto;padding:0;border:0;border-radius:0;box-shadow:none;background:none;color:var(--banner-accent)!important;font-size:.875rem;font-weight:600;letter-spacing:.055em;text-transform:none}
.page-hero .kicker:before,.page-hero .kicker:after{display:none}
.page-hero h1{font-size:clamp(2.25rem,3.7vw,3.65rem);line-height:1.1;letter-spacing:-.035em;font-weight:650;color:#1c334f;margin:14px 0 20px;max-width:22ch;text-wrap:balance;overflow-wrap:break-word}
.page-hero p{font-size:1.06rem;line-height:1.75;color:#566678;max-width:57ch;margin:0}
.page-hero .page-hero-image{height:280px;min-height:0;border-radius:3px;box-shadow:14px 14px 0 var(--banner-tint);margin:0 14px 14px 0;border-bottom:4px solid var(--banner-accent);background:var(--banner-tint)}
.page-hero .page-hero-image img{height:100%;width:100%;object-fit:cover}
.page-hero .hero-actions{margin-top:24px}
.page-hero[data-banner-family="managed"]{--banner-accent:#397b76;--banner-tint:#eaf3f1}
.page-hero[data-banner-family="operations"]{--banner-accent:#94702c;--banner-tint:#f5efe2}
@media(max-width:840px){.page-hero{padding:30px 0 36px}.page-hero .page-hero-grid,.page-hero.with-image .page-hero-grid{grid-template-columns:1fr;gap:30px}.page-hero .page-hero-image{height:240px}.page-hero h1{max-width:26ch}.page-hero .breadcrumbs{margin-bottom:20px}}
@media(max-width:560px){.page-hero .page-hero-grid>div:first-child{padding-left:18px}.page-hero h1{font-size:2.3rem}.page-hero .page-hero-image{height:210px;box-shadow:9px 9px 0 var(--banner-tint);margin-right:9px;margin-bottom:9px}}
/* Integrate banner photography into a continuous background. */
.page-hero.with-image{position:relative;isolation:isolate;background:var(--banner-tint);padding:44px 0}
.page-hero.with-image .page-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:44px;min-height:290px}
.page-hero.with-image .page-hero-grid>div:first-child{z-index:2}
.page-hero.with-image .page-hero-image{position:absolute;inset:0 0 0 auto;width:47%;height:100%;min-height:0;margin:0;border:0;border-radius:0;box-shadow:none;background:var(--banner-tint);z-index:0;overflow:hidden}
.page-hero.with-image .page-hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.75);opacity:.86}
.page-hero.with-image .page-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--banner-tint) 0%,transparent 48%),linear-gradient(0deg,var(--banner-tint) 0%,transparent 23%);pointer-events:none}
@media(max-width:840px){
.page-hero.with-image{padding:30px 0 0}
.page-hero.with-image .page-hero-grid{grid-template-columns:1fr;gap:24px;min-height:0}
.page-hero.with-image .page-hero-image{position:relative;inset:auto;width:calc(100% + 40px);margin:0 -20px;height:240px;z-index:0}
.page-hero.with-image .page-hero-image:after{background:linear-gradient(180deg,var(--banner-tint) 0%,transparent 34%)}
}
@media(max-width:560px){.page-hero.with-image .page-hero-image{width:calc(100% + 28px);margin:0 -14px;height:210px}}
/* Subtle banner actions, coordinated with each service colour. */
.page-hero .hero-actions .btn.primary{background:rgba(255,255,255,.7);color:#344e68;border:1px solid #bccbd9;font-weight:500;padding:11px 18px;box-shadow:none;border-radius:5px}
.page-hero .hero-actions .btn.primary:hover{background:#fff;border-color:var(--banner-accent);color:#203e59;transform:none;box-shadow:none}
.page-hero .hero-actions .btn.primary:focus-visible{outline:2px solid var(--banner-accent);outline-offset:4px}
/* Roomier text column and natural title wrapping. */
.page-hero.with-image .page-hero-grid{grid-template-columns:minmax(0,1.65fr) minmax(0,.75fr);gap:32px;min-height:310px}
.page-hero .page-hero-grid>div:first-child{min-width:0;padding-left:0;border-left:0}
.page-hero .breadcrumbs{margin-bottom:22px;overflow-wrap:break-word}
.page-hero .kicker{line-height:1.5;letter-spacing:.025em}
.page-hero h1{max-width:none;font-size:clamp(2.1rem,3.2vw,3.15rem);line-height:1.18;letter-spacing:-.025em;text-wrap:pretty;overflow-wrap:normal;word-break:normal;margin:13px 0 18px}
.page-hero p{max-width:60ch;font-size:1.04rem;line-height:1.75}
.page-hero.with-image .page-hero-image{width:36%}
.page-hero.with-image .page-hero-image:after{background:linear-gradient(90deg,var(--banner-tint) 0%,transparent 60%),linear-gradient(0deg,var(--banner-tint),transparent 25%)}
.page-hero .hero-actions{margin-top:24px}
@media(max-width:1060px){.page-hero.with-image .page-hero-grid{grid-template-columns:minmax(0,1.8fr) minmax(0,.6fr);gap:24px}.page-hero.with-image .page-hero-image{width:30%}.page-hero h1{font-size:2.65rem}}
@media(max-width:840px){.page-hero.with-image .page-hero-grid{grid-template-columns:1fr;gap:28px;min-height:0}.page-hero.with-image .page-hero-image{width:calc(100% + 40px);height:220px}.page-hero.with-image .page-hero-image:after{background:linear-gradient(180deg,var(--banner-tint),transparent 35%)}.page-hero h1{max-width:none;font-size:2.5rem}}
@media(max-width:560px){.page-hero .page-hero-grid>div:first-child{padding-left:0}.page-hero h1{font-size:2.05rem;line-height:1.2;overflow-wrap:break-word}.page-hero.with-image .page-hero-image{width:calc(100% + 28px);height:190px}.page-hero .hero-actions .btn{max-width:100%;white-space:normal;text-align:center}}