/* Hero-only treatment. Page bodies and shared shell are unchanged. */
body[data-site-design="approved-20261023"] .ep-service-hero { position:relative; isolation:isolate; overflow:hidden; background:#fff; color:var(--ep-heading); }
body[data-site-design="approved-20261023"] .ep-hero-inner { display:grid; grid-template-columns:minmax(0,1.13fr) minmax(0,1fr); align-items:center; gap:42px; min-height:520px; padding-block:56px; }
body[data-site-design="approved-20261023"] .ep-hero-copy { position:relative; z-index:2; min-width:0; }
body[data-site-design="approved-20261023"] .ep-hero-kicker { font-size:14px; font-weight:700; letter-spacing:.025em; line-height:1.7; color:var(--ep-action); margin:0 0 20px; }
body[data-site-design="approved-20261023"] .ep-service-hero h1 { color:var(--ep-heading); font-size:clamp(36px,2.95vw,44px); font-weight:700; line-height:1.48; letter-spacing:.01em; font-feature-settings:normal; margin:0 0 25px; }
body[data-site-design="approved-20261023"] .ep-hero-lead { color:var(--ep-text); font-size:18px; font-weight:400; line-height:1.85; max-width:31em; margin:0 0 28px; }
body[data-site-design="approved-20261023"] .ep-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
body[data-site-design="approved-20261023"] .ep-hero-actions a:not(.button-primary) { display:inline-flex; align-items:center; gap:12px; min-height:50px; padding:11px 19px; border:1px solid var(--ep-action); border-radius:30px; color:var(--ep-action); background:#fff; font-size:16px; font-weight:700; text-decoration:none; }
body[data-site-design="approved-20261023"] .ep-hero-actions a:not(.button-primary):hover { background:var(--ep-surface); }
body[data-site-design="approved-20261023"] .ep-hero-local { margin:24px 0 0; font-size:14px; color:var(--ep-text-sub); line-height:1.8; }
body[data-site-design="approved-20261023"] .ep-hero-art { min-width:0; position:relative; margin:0; }
body[data-site-design="approved-20261023"] .ep-hero-art>img { display:block; width:100%; height:auto; }
body[data-site-design="approved-20261023"] .ep-hero-direction .ep-hero-art { width:116%; margin-left:-8%; }
body[data-site-design="approved-20261023"] .ep-hero-flow .ep-hero-art { width:124%; margin-left:-4%; }
body[data-site-design="approved-20261023"] .ep-hero-unfold .ep-hero-art { width:112%; margin-left:-6%; }
/* Photographic fields preserve existing raster texture; no recreation as vectors. */
body[data-site-design="approved-20261023"] :is(.ep-hero-workplace,.ep-hero-learning,.ep-hero-welfare) .ep-hero-inner { display:block; min-height:530px; padding-block:72px; }
body[data-site-design="approved-20261023"] :is(.ep-hero-workplace,.ep-hero-learning,.ep-hero-welfare) .ep-hero-copy { max-width:610px; }
body[data-site-design="approved-20261023"] :is(.ep-hero-workplace,.ep-hero-learning,.ep-hero-welfare) .ep-hero-art { position:absolute; inset:0; z-index:0; }
body[data-site-design="approved-20261023"] :is(.ep-hero-workplace,.ep-hero-learning,.ep-hero-welfare) .ep-hero-art>img { height:100%; width:100%; object-fit:cover; object-position:center; }
body[data-site-design="approved-20261023"] :is(.ep-hero-workplace,.ep-hero-learning,.ep-hero-welfare) .ep-hero-art:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#fff 7%,rgba(255,255,255,.94) 30%,rgba(255,255,255,.6) 48%,transparent 72%); }
body[data-site-design="approved-20261023"] .ep-hero-welfare .ep-hero-copy { max-width:590px; }
body[data-site-design="approved-20261023"] .ep-hero-learning .ep-hero-copy { max-width:570px; }
/* A place to start: retain the town's watercolor texture and open horizon. */
body[data-site-design="approved-20261023"] .ep-hero-town .ep-hero-inner { grid-template-columns:1fr 1.1fr; min-height:530px; }
body[data-site-design="approved-20261023"] .ep-hero-town .ep-hero-art { width:138%; margin-left:-17%; }
body[data-site-design="approved-20261023"] .ep-hero-town .ep-hero-art img { mix-blend-mode:multiply; }
/* Third-party product: exact supplied logo and app artwork, without invented imagery. */
body[data-site-design="approved-20261023"] .ep-hero-workspace .ep-hero-inner { grid-template-columns:1.12fr 1fr; gap:56px; }
body[data-site-design="approved-20261023"] .ep-hero-workspace .ep-hero-art { padding:32px 0 32px 26px; }
body[data-site-design="approved-20261023"] .ep-hero-art>.ep-hero-wordmark { width:100%; max-width:430px; height:auto; }
body[data-site-design="approved-20261023"] .ep-hero-apps { display:flex; gap:26px; margin-top:32px; }
body[data-site-design="approved-20261023"] .ep-hero-apps>span { display:flex; flex-direction:column; align-items:center; gap:10px; font-size:13px; color:var(--ep-text-sub); }
body[data-site-design="approved-20261023"] .ep-hero-apps img { width:42px; height:42px; object-fit:contain; }
@media(max-width:1100px) {
 body[data-site-design="approved-20261023"] .ep-hero-inner { gap:24px; min-height:470px; padding-block:44px; }
 body[data-site-design="approved-20261023"] .ep-service-hero h1 { font-size:32px; }
 body[data-site-design="approved-20261023"] :is(.ep-hero-workplace,.ep-hero-learning,.ep-hero-welfare) .ep-hero-copy { max-width:57%; }
 body[data-site-design="approved-20261023"] .ep-hero-workspace .ep-hero-inner { gap:24px; }
 body[data-site-design="approved-20261023"] .ep-hero-apps { gap:20px; }
}
@media(max-width:760px) {
 body[data-site-design="approved-20261023"] .ep-hero-inner { display:flex; flex-direction:column; gap:6px; align-items:stretch; min-height:0; padding-block:34px 24px; }
 body[data-site-design="approved-20261023"] .ep-service-hero h1 { font-size:clamp(27px,7.35vw,36px); line-height:1.5; letter-spacing:0; margin-bottom:20px; }
 body[data-site-design="approved-20261023"] .ep-hero-kicker { font-size:13px; margin-bottom:16px; }
 body[data-site-design="approved-20261023"] .ep-hero-lead { font-size:18px; line-height:1.85; margin-bottom:24px; }
 body[data-site-design="approved-20261023"] .ep-hero-local { margin-top:20px; font-size:13px; }
 body[data-site-design="approved-20261023"] :is(.ep-hero-direction,.ep-hero-flow,.ep-hero-unfold,.ep-hero-town) .ep-hero-art { width:100%; margin:0; }
 body[data-site-design="approved-20261023"] :is(.ep-hero-direction,.ep-hero-unfold) .ep-hero-art { max-width:400px; margin-inline:auto; }
 body[data-site-design="approved-20261023"] .ep-hero-flow .ep-hero-art { width:116%; margin-left:-8%; }
 body[data-site-design="approved-20261023"] :is(.ep-hero-workplace,.ep-hero-learning,.ep-hero-welfare) .ep-hero-inner { min-height:0; padding:34px 0 245px; }
 body[data-site-design="approved-20261023"] :is(.ep-hero-workplace,.ep-hero-learning,.ep-hero-welfare) .ep-hero-copy { max-width:none; }
 body[data-site-design="approved-20261023"] :is(.ep-hero-workplace,.ep-hero-learning,.ep-hero-welfare) .ep-hero-art { top:auto; height:240px; }
 body[data-site-design="approved-20261023"] :is(.ep-hero-workplace,.ep-hero-learning,.ep-hero-welfare) .ep-hero-art>img { object-position:78% center; }
 body[data-site-design="approved-20261023"] :is(.ep-hero-workplace,.ep-hero-learning,.ep-hero-welfare) .ep-hero-art:after { background:linear-gradient(#fff,rgba(255,255,255,0) 30%); }
 body[data-site-design="approved-20261023"] .ep-hero-town .ep-hero-inner { min-height:0; }
 body[data-site-design="approved-20261023"] .ep-hero-workspace .ep-hero-inner { display:flex; gap:26px; padding-bottom:40px; }
 body[data-site-design="approved-20261023"] .ep-hero-workspace .ep-hero-art { padding:12px 0; max-width:380px; }
 body[data-site-design="approved-20261023"] .ep-hero-apps { margin-top:24px; gap:25px; }
}
/* Final width and phrase adjustments from the three-width review. */
body[data-site-design="approved-20261023"] .bp-hero-shell { background:#fff; }
body[data-site-design="approved-20261023"] .ep-hero-lead { text-wrap:balance; }
@media(min-width:761px) {
 body[data-site-design="approved-20261023"] .ep-hero-flow .ep-hero-art { width:104%; margin-left:0; }
 body[data-site-design="approved-20261023"] .ep-hero-learning .ep-hero-art>img { object-position:right center; }
}
@media(max-width:760px) {
 body[data-site-design="approved-20261023"] .ep-hero-unfold .ep-hero-actions .button-primary { width:auto; min-width:132px; flex:0 0 auto; padding-inline:18px; }
 body[data-site-design="approved-20261023"] .ep-hero-unfold .ep-hero-actions a:not(.button-primary) { width:auto; flex:0 0 auto; padding-inline:12px; white-space:nowrap; }
}
