.service-page { background: #f7f5f2; color: var(--ink); }
.service-hero { position: relative; isolation: isolate; overflow: hidden; min-height: 360px; background: #151113; color: #fff; }
.service-hero img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.service-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,#0a090af2 0%,#0a090ad6 42%,#0a090a3d 100%); }
.service-hero-inner { max-width: 1180px; margin: 0 auto; padding: 72px 28px 76px; }
.service-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 20px; color: #d9d0d2; font-size: 13px; }
.service-breadcrumb a { color: #fff; text-decoration: none; }
.service-breadcrumb a:hover { text-decoration: underline; text-underline-offset: 4px; }
.service-hero h1 { max-width: 760px; margin: 0 0 20px; font: 400 46px/1.08 var(--serif); color: #fff; }
.service-hero p:not(.service-breadcrumb) { max-width: 680px; margin: 0; color: #f1e8e8; font-size: 18px; line-height: 1.65; }
.service-shell { max-width: 1180px; margin: 0 auto; padding: 58px 28px 70px; }
.service-layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 42px; align-items: start; }
.service-content h2 { margin: 42px 0 14px; font: 400 32px/1.14 var(--serif); color: #402d37; }
.service-content h2:first-child { margin-top: 0; }
.service-content h3 { margin: 25px 0 9px; font: 700 17px/1.35 var(--sans); color: #3d3037; }
.service-content p,
.service-content li { color: #5f575b; line-height: 1.72; }
.service-content p { margin: 0 0 16px; }
.service-content ul { margin: 0 0 18px; padding-left: 22px; }
.service-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 24px 0; }
.service-card { padding: 22px; border: 1px solid #e7d4d9; border-radius: 8px; background: #fffefd; box-shadow: 0 12px 34px #2a14140a; }
.service-card h3 { margin-top: 0; }
.service-sidebar { position: sticky; top: 24px; display: grid; gap: 16px; }
.service-cta,
.service-note { padding: 24px; border: 1px solid #e2cbd0; border-radius: 8px; background: #fffefd; box-shadow: 0 18px 40px #3418180c; }
.service-cta h2,
.service-note h2 { margin: 0 0 12px; font: 400 28px/1.16 var(--serif); color: #402d37; }
.service-cta p,
.service-note p { margin: 0 0 18px; color: #5f575b; font-size: 15px; line-height: 1.62; }
.service-cta .button-primary,
.service-cta .button-secondary { width: 100%; margin-top: 10px; }
.service-phone { display: block; color: var(--wine); font-weight: 700; text-decoration: none; }
.service-phone:hover { text-decoration: underline; text-underline-offset: 4px; }
.service-links { display: flex; flex-wrap: wrap; gap: 14px 24px; margin-top: 28px; }
.service-links a { color: var(--wine); font-weight: 700; text-decoration: none; }
.service-links a:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 900px) {
 .service-layout { grid-template-columns: 1fr; }
 .service-sidebar { position: static; }
 .service-card-grid { grid-template-columns: 1fr; }
 .service-hero h1 { font-size: 38px; }
}
@media (max-width: 600px) {
 .service-hero-inner { padding: 52px 22px 58px; }
 .service-shell { padding: 42px 22px 58px; }
 .service-hero h1 { font-size: 32px; }
 .service-hero p:not(.service-breadcrumb) { font-size: 16px; }
 .service-content h2 { font-size: 28px; }
 .service-cta,
 .service-note,
 .service-card { padding: 20px; }
}
