/* Scoped Services landing page. Shared site chrome stays unchanged. */
.services-page { background: #fff; }
.services-page .sp-section { padding-block: clamp(52px, 6vw, 88px); }
.services-page .sp-image { width: 100%; height: 100%; object-fit: cover; display: block; }
.services-page h2 { font-size: clamp(1.85rem, 3vw, 2.7rem); }
.services-page h3 { font-size: 1.2rem; line-height: 1.3; }
.services-page p { color: var(--em-muted); line-height: 1.8; }
.services-page .em-eyebrow { color: var(--em-red); }
.services-page .sp-hero { padding: 56px 0 64px; background: linear-gradient(125deg,#edf3f8,#faf8f4); }
.services-page .sp-hero-grid { display: grid; grid-template-columns: 1fr 1.03fr; gap: 56px; align-items: center; }
.services-page h1 { font-size: clamp(2.5rem,4.1vw,3.9rem); line-height: 1.09; letter-spacing: -.045em; }
.services-page h1 span { display: block; color: var(--em-red); margin-top: 7px; }
.services-page .sp-lead { font-size: 1.03rem; max-width: 535px; }
.services-page .sp-badge { display: inline-flex; gap: 8px; align-items: center; border: 1px solid #dce4ec; border-radius: 30px; background: #fff; color: var(--em-navy); padding: 7px 12px; font-size: .78rem; font-weight: 650; margin-bottom: 25px; }
.services-page .sp-badge .em-icon { color: var(--em-red); width: 18px; height: 18px; }
.services-page .sp-hero-photo { height: 500px; border-radius: 20px 70px 20px 20px; overflow: hidden; box-shadow: var(--em-shadow-md); }
.services-page .sp-hero-photo img { object-position: center 40%; }
.services-page .sp-flex-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.services-page .sp-combinations { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; list-style: none; margin: 0; padding: 0; }
.services-page .sp-combinations li { display: flex; align-items: center; gap: 10px; padding: 17px; background: #f5f8fb; border: 1px solid #e0e7ef; border-radius: 12px; font-size: .87rem; font-weight: 650; }
.services-page .sp-combinations .em-icon { color: var(--em-red); width: 19px; }
.services-page .sp-combinations li:last-child { background: #fff1f3; border-color: #f0cbd1; }
.services-page small { display: block; font-weight: 400; margin-top: 4px; }
.services-page .sp-directory { background: var(--em-section-tint); }
.services-page .sp-section-heading { max-width: 730px; margin: 0 auto 36px; text-align: center; }
.services-page .sp-service-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-rows: 1fr; gap: 26px; }
.services-page .sp-card { min-width: 0; display: flex; flex-direction: column; border-radius: 18px; background: #fff; overflow: hidden; border: 1px solid #e1e8ef; box-shadow: var(--em-shadow-sm); transition: transform 180ms ease,box-shadow 180ms ease; }
.services-page .sp-card-image { position: relative; flex: none; aspect-ratio: 3 / 2; overflow: hidden; background: #f3f6f9; }
.services-page .sp-card-image > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.services-page .sp-card-icon { position: absolute; left: 24px; bottom: 16px; width: 42px; height: 42px; display: grid; place-items: center; background: #fff; border: 1px solid #e3e9ef; border-radius: 12px; color: var(--em-red); box-shadow: var(--em-shadow-sm); }
.services-page .sp-card-body { padding: 26px; flex: 1; display: flex; flex-direction: column; }
.services-page .sp-card h3 { min-height: 2.6em; }
.services-page .sp-card h3 a { color: var(--em-navy); text-decoration: none; }
.services-page .sp-card p { flex: 1; min-height: 3.6em; font-size: .92rem; margin-bottom: 24px; }
.services-page .sp-explore { display: flex; justify-content: space-between; align-items: center; gap: 15px; min-height: 46px; border-top: 1px solid #e1e7ee; padding-top: 15px; margin-top: auto; text-decoration: none; color: var(--em-navy); font-size: .85rem; font-weight: 650; }
.services-page .sp-explore .em-icon { color: var(--em-red); width: 21px; }
.services-page .sp-split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 64px; }
.services-page .sp-feature-photo { min-height: 460px; height: 100%; border-radius: 20px; overflow: hidden; }
.services-page .sp-feature-list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; padding: 0; list-style: none; margin: 24px 0 30px; }
.services-page .sp-feature-list li { display: flex; gap: 9px; font-size: .85rem; }
.services-page .sp-feature-list .em-icon { width: 18px; height: 22px; color: var(--em-red); }
.services-page .sp-residential { background: #f7f5f2; }
.services-page .sp-residential-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 65px; margin-bottom: 28px; }
.services-page .sp-residential-photo { height: 470px; overflow: hidden; border-radius: 20px; }
.services-page .sp-residential-photo img { object-position: center 15%; }
.services-page .sp-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; padding: 0; margin: 20px 0 0; list-style: none; }
.services-page .sp-options a { min-height: 72px; display: flex; align-items: center; gap: 14px; padding: 20px; border-radius: 12px; background: #fff; border: 1px solid #e0e6ed; color: var(--em-navy); text-decoration: none; font-size: .94rem; font-weight: 650; }
.services-page .sp-options a > span { flex: 1; }
.services-page .sp-options .em-icon { width: 22px; color: var(--em-red); }
.services-page .sp-business { background: var(--em-navy); color: #fff; }
.services-page .sp-business h2 { color: #fff; }
.services-page .sp-business p { color: #d0dce8; }
.services-page .sp-business .em-eyebrow { color: #ff8798; }
.services-page .sp-business .sp-options { grid-template-columns: 1fr; margin-bottom: 28px; }
.services-page .sp-business .sp-options a { min-height: 56px; padding: 13px 16px; color: #fff; background: #ffffff08; border-color: #ffffff26; }
.services-page .sp-business .sp-options .em-icon { color: #ff8798; }
.services-page .sp-storage { background: #eef3f8; }
.services-page .sp-process { background: #fff; }
.services-page .sp-journey { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); padding: 0; margin: 0; list-style: none; border: 1px solid #dce5ee; border-radius: 16px; overflow: hidden; }
.services-page .sp-journey li { display: flex; gap: 16px; align-items: flex-start; padding: 24px; border-right: 1px solid #dce5ee; }
.services-page .sp-journey li:last-child { border: 0; }
.services-page .sp-number { width: 32px; height: 32px; flex-shrink: 0; border-radius: 50%; background: #fff1f3; color: var(--em-red); display: grid; place-items: center; font-weight: 700; }
.services-page .sp-journey h3 { font-size: .96rem; margin: 3px 0 0; }
.services-page .sp-journey p { margin: 10px 0 0; font-size: .87rem; }
.services-page .sp-cta { background: var(--em-red); }
.services-page .sp-cta h2,.services-page .sp-cta p { color: #fff; }
.services-page .sp-cta .em-eyebrow { color: #ffe0e5; }
.services-page .sp-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.services-page .sp-cta-inner > div:first-child { max-width: 650px; }
.services-page .sp-cta .button-row { flex-shrink: 0; }
.services-page .sp-cta-note { display: flex; gap: 8px; align-items: center; font-size: .78rem; margin: 0; }
.services-page .sp-cta-note .em-icon { width: 18px; height: 18px; }
@media (hover:hover) { .services-page .sp-card:hover { transform: translateY(-4px); box-shadow: var(--em-shadow-md); } .services-page .sp-options a:hover { border-color: var(--em-red); } }
@media (max-width:1199px) { .services-page .sp-hero-grid,.services-page .sp-flex-inner,.services-page .sp-split { gap: 32px; } .services-page .sp-hero-photo { height: 510px; } .services-page .sp-card-body { padding: 22px; } .services-page .sp-cta-inner { flex-direction: column; align-items: flex-start; gap: 25px; } }
@media (max-width:1024px) { .services-page .sp-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .services-page .sp-journey { grid-template-columns: repeat(2,minmax(0,1fr)); } .services-page .sp-journey li { border-bottom: 1px solid #dce5ee; } .services-page .sp-journey li:nth-child(2n) { border-right: 0; } .services-page .sp-journey li:nth-last-child(2) { border-bottom: 0; } }
@media (max-width:900px) { .services-page .sp-hero-grid,.services-page .sp-flex-inner,.services-page .sp-split { grid-template-columns: 1fr; } .services-page .sp-hero-photo { height: 390px; } .services-page .sp-hero-photo img { object-position: center 25%; } .services-page .sp-hero-grid > div:first-child { max-width: 650px; } .services-page .sp-feature-photo { min-height: 0; height: 410px; } .services-page .sp-residential-heading { grid-template-columns: 1fr; gap: 8px; } .services-page .sp-residential-photo { height: 390px; } .services-page .sp-options a { padding: 17px 12px; gap: 8px; } }
@media (max-width:600px) { .services-page .sp-hero { padding-block: 34px 42px; } .services-page h1 { font-size: clamp(2.4rem,9vw,3rem); } .services-page .sp-hero-photo { height: 310px; border-radius: 16px 45px 16px 16px; } .services-page .sp-hero-photo img { object-position: center; } .services-page .sp-service-grid { grid-template-columns: 1fr; gap: 22px; } .services-page .sp-combinations { gap: 10px; } .services-page .sp-combinations li { padding: 14px 12px; font-size: .83rem; } .services-page .sp-feature-photo { height: 330px; } .services-page .sp-residential-photo { height: 300px; } .services-page .sp-options { grid-template-columns: 1fr; } .services-page .sp-options a { padding: 17px; min-height: 60px; } .services-page .sp-feature-list { gap: 14px 12px; font-size: .82rem; } .services-page .sp-journey { grid-template-columns: 1fr; } .services-page .sp-journey li { border-right: 0; padding: 22px; } .services-page .sp-journey li:nth-last-child(2) { border-bottom: 1px solid #dce5ee; } .services-page .sp-cta .button-row { width: 100%; } }
@media (max-width:480px) { .services-page .button-row { flex-direction: column; } .services-page .button-row .em-button { width: 100%; } }
@media (prefers-reduced-motion:reduce) { .services-page .sp-card:hover { transform: none; } }
