/* Static quality illustration, flush with the band's top and bottom. */
.ep-home-quality { --ep-band-gold: #f4bd32; --ep-band-blue: #03438b; position: relative; isolation: isolate; grid-column: 1 / -1; width: 100%; min-width: 0; margin-block: clamp(1.75rem, 3vw, 3rem); background: var(--ep-band-blue); color: #fff; box-shadow: 0 0 0 100vmax var(--ep-band-blue); clip-path: inset(0 -100vmax); font-family: inherit; }
.ep-home-quality, .ep-home-quality * { box-sizing: border-box; }
.ep-home-quality::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(ellipse at 85% 35%, #234d963b, transparent 65%); }
.ep-home-quality .ep-home-quality-main { display: grid; gap: 0; align-items: center; padding-block: 0; }
.ep-home-quality .ep-home-quality-eyebrow { display: inline-flex; gap: .5rem; align-items: center; color: #ffd267; font-size: .6875rem; font-weight: 700; line-height: 1.5; letter-spacing: .12em; }
.ep-home-quality .ep-home-quality-eyebrow::before { content: ""; width: 1.25rem; height: 2px; background: var(--ep-band-gold); }
.ep-home-quality h2 { margin: .6rem 0 .75rem; color: #fff; font-family: inherit; font-size: clamp(1.4rem, 2.1vw, 1.9rem); line-height: 1.25; font-weight: 800; letter-spacing: -.025em; }
.ep-home-quality h2 em { color: #ffd267; font-style: normal; }
.ep-home-quality .ep-home-quality-copy > p { margin: 0; max-width: 32rem; color: #dbe5f8; font-size: .9375rem; line-height: 1.65; }
.ep-home-quality .ep-home-quality-actions { display: flex; flex-wrap: wrap; gap: .5rem .875rem; align-items: center; margin-top: 1rem; }
.ep-home-quality .ep-home-quality-cta, .ep-home-quality .ep-home-quality-phone { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; min-height: 44px; padding: .6rem .9rem; border-radius: .65rem; color: #fff; font-size: .875rem; font-weight: 700; text-decoration: none; }
.ep-home-quality .ep-home-quality-cta { background: var(--ep-band-gold); color: #091b43; }
.ep-home-quality .ep-home-quality-cta span { font-size: 1.25rem; }
.ep-home-quality .ep-home-quality-phone { border: 1px solid #a2b3d277; }
.ep-home-quality .ep-home-quality-copy > .ep-home-quality-trust { display: flex; flex-wrap: wrap; gap: .35rem 1.1rem; margin-top: .875rem; font-size: .75rem; color: #d0dcf3; }
.ep-home-quality .ep-home-quality-trust b { color: #ffd267; }
@media (hover: hover) and (pointer: fine) {
    .ep-home-quality .ep-home-quality-cta:hover { background: #ffcf5a; }
    .ep-home-quality .ep-home-quality-phone:hover { background: #ffffff12; }
}
@media (min-width: 768px) {
    .ep-home-quality { column-gap: inherit; }
    .ep-home-quality .ep-home-quality-main { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; column-gap: inherit; padding-block: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .ep-home-quality *, .ep-home-quality *::before { transition: none; }
}

.ep-home-quality .ep-home-quality-copy { min-width: 0; padding-block: 1.5rem; }
.ep-home-quality .ep-home-quality-cta { max-width: 100%; line-height: 1.5; }
.ep-home-quality .ep-home-quality-cta span { flex: none; }
.ep-home-quality a:focus-visible { outline: 3px solid #ffd267; outline-offset: 5px; }
/* Preserve the supplied image ratio: no letterboxing or hover movement. */
.ep-home-quality .ep-home-quality-visual { display: block; position: relative; min-width: 0; overflow: hidden; border-radius: 12px; background: #f7f7f9; aspect-ratio: 2528 / 1686; box-shadow: 0 12px 30px #002d6326; }
.ep-home-quality .ep-home-quality-visual img { display: block; width: 100%; height: auto; aspect-ratio: 2528 / 1686; object-fit: contain; }
.ep-home-quality .ep-home-quality-visual::after { content: ""; position: absolute; left: 33.5%; top: 42.5%; width: 23%; height: 9.5%; pointer-events: none; opacity: 0; clip-path: polygon(0 0, 100% 10%, 100% 100%, 0 85%); background: linear-gradient(110deg, transparent 34%, #fff5db26 42%, #fff8e580 48%, #ffffffb3 50%, #fff8e580 52%, #fff5db26 58%, transparent 66%) 100% 0 / 300% 100% no-repeat; mix-blend-mode: screen; }
@media (prefers-reduced-motion: no-preference) {
    .ep-home-quality .ep-home-quality-visual::after { animation: ep-quality-logo-shine 3.6s ease-in-out infinite; }
}
@keyframes ep-quality-logo-shine {
    0% { opacity: 0; background-position: 100% 0; }
    12% { opacity: .65; }
    70% { opacity: .65; background-position: 0% 0; }
    82%, 100% { opacity: 0; background-position: 0% 0; }
}
@media (max-width: 767px) {
    .ep-home-quality { margin-block: 4rem; }
}
