.service-hero { position: relative; min-height: 60vh; display: flex; align-items: center; justify-content: center; isolation: isolate; overflow: hidden; color: white; }
.service-hero-image { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1s ease-in-out; }
.service-hero-image.active { opacity: 1; }
.service-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top,#000b,#0007,#0003); }
.service-hero-content { margin-top: 80px; padding-block: 40px; text-align: center; }
.service-hero h1 { font-size: 36px; line-height: 45px; }
.service-hero h1 em { color: #c8ddff; }
.service-hero-content > p { max-width: 768px; margin: 0 auto 8px; padding-bottom: 16px; font-size: 20px; line-height: 32.5px; }
.service-hero-controls { position: absolute; bottom: 24px; left: 0; right: 0; display: flex; align-items: center; justify-content: center; gap: 12px; }
.service-hero-controls [data-service-slide] { position: relative; width: 6px; height: 6px; border: 0; padding: 0; border-radius: 999px; background: #ffffff4d; transition: width .3s, background .3s; cursor: pointer; }
.service-hero-controls [data-service-slide]::before { content: ''; position: absolute; inset: -12px -4px; }
.service-hero-controls [data-service-slide].active { width: 20px; background: #ffffffa6; }
.service-hero-controls [data-service-slide]:hover { background: #ffffffbf; }
.service-hero-controls [data-service-slide]:focus-visible { outline: 2px solid white; outline-offset: 6px; }
.service-feature-list { list-style: none; padding: 0; margin: 8px 0 24px; width: 100%; }
.service-feature-list li { display: flex; align-items: flex-start; gap: 12px; color: #d1d5db; font-size: 16px; line-height: 24px; }
.service-feature-list li + li { margin-top: 12px; }
.service-feature-list svg { flex-shrink: 0; width: 20px; height: 20px; margin-top: 2px; color: var(--accent-light); }
.service-panel p { margin-bottom: 16px; }
.service-panel .button { margin-top: 0; }
.service-insurance, .service-seasonal, .service-reviews { background: var(--navy); color: white; }
.service-insurance > .container { max-width: 1024px; }
.insurance-card { display: flex; flex-direction: column; gap: 16px; padding: 24px; border-radius: 12px; background: linear-gradient(135deg,var(--red),#002e68); }
.insurance-icon { display: grid; place-items: center; width: 64px; height: 64px; flex-shrink: 0; border-radius: 12px; background: #ffffff33; }
.insurance-icon svg { width: 32px; height: 32px; }
.insurance-card h2 { font-size: 24px; line-height: 32px; margin-bottom: 16px; }
.insurance-card p { font-size: 16px; line-height: 26px; color: #dbeafe; margin-bottom: 24px; }
.insurance-card ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr; gap: 16px; }
.insurance-card li { display: flex; gap: 12px; font-size: 14px; line-height: 20px; }
.insurance-card li svg { width: 20px; height: 20px; flex-shrink: 0; }
.service-extras, .service-benefits { background: white; }
.services-page .section-heading > p { color: #6b7280; }
.services-page :is(.service-seasonal,.service-reviews) .section-heading > p { color: #9ca3af; }
.services-page :is(.service-seasonal,.service-reviews) em { color: var(--accent-light); }
.service-extra-grid, .service-season-grid, .service-benefit-grid { display: grid; grid-template-columns: 1fr; gap: 32px; }
.service-extra-card { background: #111827; color: white; border: 1px solid #1f2937; border-radius: 12px; padding: 24px; text-align: center; scroll-margin-top: 112px; }
.round-service-icon { display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 16px; border-radius: 50%; background: var(--red); color: white; }
.round-service-icon svg { width: 32px; height: 32px; }
.service-extra-card h3, .service-benefit-grid h3 { font-size: 20px; line-height: 28px; margin-bottom: 12px; }
.service-extra-card p { font-size: 16px; line-height: 24px; color: #9ca3af; }
.service-season-card { padding: 32px; background: #1f2937; border: 1px solid #374151; border-radius: 12px; }
.service-season-card .round-service-icon { margin: 0 0 24px; background: linear-gradient(135deg,var(--red),#002e68); }
.season-label { display: inline-block; padding: 4px 12px; margin-bottom: 16px; font-size: 12px; line-height: 16px; font-weight: 700; color: #d1d5db; background: #111827; border-radius: 999px; }
.service-season-card h3 { font-size: 24px; line-height: 32px; margin-bottom: 16px; }
.service-season-card p { font-size: 16px; line-height: 26px; color: #9ca3af; }
.service-benefits { display: none; }
.service-benefit-grid article { text-align: center; color: #4b5563; }
.service-benefit-grid p { font-size: 16px; line-height: 24px; }
.service-review-grid { display: grid; grid-template-columns: 1fr; grid-auto-rows: 1fr; gap: 24px; }
.service-review-card { display: flex; flex-direction: column; padding: 24px; border: 1px solid #374151; border-radius: 12px; background: #1f2937; }
.small-quote { width: 32px; height: 32px; color: var(--accent-light); opacity: .5; margin-bottom: 16px; }
.service-review-card blockquote { margin: 0 0 24px; color: #d1d5db; font-size: 14px; line-height: 22.75px; }
.service-review-card figcaption { display: flex; align-items: center; gap: 12px; margin-top: auto; border-top: 1px solid #374151; padding-top: 16px; }
.review-avatar { display: block; flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; object-fit: cover; background: #294c75; }
.service-review-author { display: flex; flex-direction: column; min-width: 0; }
.service-review-card strong { font-size: 16px; line-height: 24px; margin-top: 5px; }
.service-review-author > span:last-child { font-size: 12px; line-height: 16px; color: #9ca3af; }
.service-statement { background: #f4f4f5; text-align: center; }
.service-statement > .container, .service-final > .container { max-width: 896px; }
.service-statement h2 { font-size: 36px; line-height: 40px; color: #334155; margin-bottom: 24px; }
.service-statement blockquote { color: #4b5563; font-size: 20px; line-height: 32.5px; font-style: italic; margin: 0 0 32px; }
.service-statement p { color: #6b7280; }
.service-final { background: linear-gradient(135deg,var(--red),#002e68); color: white; text-align: center; }
.service-final h2 { margin-bottom: 24px; }
.service-final p { color: #dbeafe; font-size: 20px; line-height: 28px; margin-bottom: 40px; }
.service-final .button { padding: 10px 32px; min-height: 48px; border-radius: 12px; background: white; color: var(--red); font-size: 18px; line-height: 28px; font-weight: 500; }
.service-extra-card, .service-season-card, .service-review-card { transition: transform .3s, box-shadow .3s; }
.service-extra-card:hover, .service-season-card:hover, .service-review-card:hover { transform: translateY(-2px); box-shadow: 0 20px 40px #01489e33; }
@media (min-width: 768px) {
 .service-hero { min-height: 70vh; }
 .service-hero h1 { font-size: 48px; line-height: 60px; }
 .service-hero-content > p { font-size: 24px; line-height: 39px; }
 .insurance-card { flex-direction: row; gap: 24px; padding: 48px; }
 .insurance-card h2 { font-size: 30px; line-height: 36px; }
 .insurance-card p { font-size: 18px; line-height: 29.25px; }
 .insurance-card ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .insurance-card li { font-size: 16px; line-height: 24px; }
 .service-extra-grid, .service-benefit-grid, .service-review-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .service-season-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .service-benefits { display: block; }
}
@media (min-width: 1024px) {
 .service-hero h1 { font-size: 60px; line-height: 75px; }
 .service-extra-grid, .service-review-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .service-benefit-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (prefers-reduced-motion: reduce) {
 .service-hero-image, .service-hero-controls [data-service-slide] { transition: none; }
 .service-extra-card:hover, .service-season-card:hover, .service-review-card:hover { transform: none; }
}
.service-hero-controls { display: none; }
.js-service-slider .service-hero-controls { display: flex; }
@media (prefers-reduced-motion: no-preference) { .service-hero-content { animation: reference-hero .6s ease-out both; } }
.service-hero-content > p { color: #f8fafc; }
.service-reviews { background: #fff; color: #17212f; }
.services-page .service-reviews .section-heading > p { color: #64748b; }
.services-page .service-reviews em { color: var(--red); }
.service-review-card { position: relative; min-height: 245px; border: 0; border-radius: 4px; background: #f5f5f5; color: #323840; }
.service-review-card::after { content: "G"; position: absolute; top: 22px; right: 22px; font: 700 19px/1 Arial,sans-serif; color: #4285f4; }
.service-review-card .small-quote { display: none; }
.service-review-card figcaption { order: 0; margin: 0 26px 14px 0; padding: 0; border: 0; }
.service-review-card blockquote { order: 1; margin: 0; color: #444b55; font-size: 13px; line-height: 1.55; }
.service-review-card strong { order: -1; margin: 0; color: #202124; font-size: 14px; line-height: 18px; }
.service-review-author .stars { order: 0; font-size: 15px; line-height: 22px; color: #f6aa19; }
.service-review-author > span:last-child { order: 1; color: #717782; }
