body.service-page { background: #fff; }
.service-page .site-header { position: sticky; }
.service-hero { background: linear-gradient(135deg, #f4f9e9 0%, #fff 58%, #e8f2d4 100%); padding: 92px 0 76px; border-bottom: 1px solid var(--line); }
.service-hero__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr); gap: 70px; align-items: end; }
.service-hero h1 { font-family: var(--heading); color: var(--forest); font-size: clamp(42px, 5vw, 66px); line-height: 1.08; max-width: 760px; }
.service-hero__lead { font-size: 18px; color: #405145; max-width: 670px; margin-top: 25px; }
.service-hero__aside { background: var(--forest); color: #fff; padding: 30px; }
.service-hero__aside strong { display: block; font-family: var(--heading); font-size: 27px; line-height: 1.2; }
.service-hero__aside p { margin-top: 12px; font-size: 13px; line-height: 1.65; }
.breadcrumb { font-size: 12px; color: #52604d; margin-bottom: 26px; }
.breadcrumb a { color: var(--forest-2); font-weight: 700; }
.service-intro { padding: 100px 0; }
.service-intro__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 10%; align-items: start; }
.service-intro h2, .service-section h2, .service-contact h2 { color: var(--forest); font-family: var(--heading); font-size: clamp(34px, 3.5vw, 50px); line-height: 1.13; }
.service-intro__copy { border-left: 1px solid var(--line); padding-left: 48px; color: #425248; }
.service-intro__copy p + p { margin-top: 18px; }
.service-section { background: var(--paper); padding: 100px 0; }
.service-section--white { background: #fff; }
.service-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 42px; }
.service-detail-card { background: #fff; border: 1px solid var(--line); padding: 29px; min-height: 205px; }
.service-detail-card i { color: var(--olive); font-size: 25px; }
.service-detail-card h3 { color: var(--forest); font-family: var(--heading); font-size: 22px; line-height: 1.25; margin: 18px 0 10px; }
.service-detail-card p { color: #52604d; font-size: 13px; line-height: 1.7; }
.service-list { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 36px; margin-top: 32px; }
.service-list li { position: relative; padding-left: 25px; color: #435347; font-size: 14px; }
.service-list li::before { content: '✓'; position: absolute; left: 0; color: var(--forest); font-weight: 700; }
.service-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 42px; counter-reset: steps; }
.service-step { border-top: 3px solid var(--olive); padding: 21px 6px 0; }
.service-step__number { color: var(--forest); font-size: 12px; font-weight: 700; letter-spacing: .1em; }
.service-step h3 { color: var(--forest); font-family: var(--heading); font-size: 22px; margin: 10px 0 8px; }
.service-step p { color: #52604d; font-size: 13px; }
.service-contact { background: var(--forest); color: #fff; padding: 85px 0; }
.service-contact__grid { display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.service-contact h2 { color: #fff; max-width: 700px; }
.service-contact p { max-width: 680px; margin-top: 17px; color: #ecf4e5; }
.service-contact .button { background: #fff; color: var(--forest); border-color: #fff; flex: none; }
.service-contact .button:hover { background: var(--mist); }
.service-footer { background: #101b12; color: #e7eee4; padding: 42px 0; font-size: 12px; }
.service-footer__grid { display: flex; justify-content: space-between; align-items: center; gap: 26px; }
.service-footer a { color: #fff; }
.service-card__page-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 16px; color: var(--forest-2); border-bottom: 1px solid var(--forest); padding-bottom: 3px; font-size: 11px; font-weight: 700; }
.services__grid--business .service-card--featured .service-card__page-link { color: var(--forest-2); }
@media (max-width: 780px) { .service-hero { padding: 65px 0 56px; } .service-hero__grid, .service-intro__grid { grid-template-columns: 1fr; gap: 32px; } .service-intro { padding: 70px 0; } .service-intro__copy { border-left: 0; border-top: 1px solid var(--line); padding: 28px 0 0; } .service-section { padding: 70px 0; } .service-card-grid { grid-template-columns: 1fr; margin-top: 30px; } .service-list { grid-template-columns: 1fr; } .service-steps { grid-template-columns: 1fr 1fr; } .service-contact__grid, .service-footer__grid { align-items: flex-start; flex-direction: column; } }
@media (max-width: 480px) { .service-steps { grid-template-columns: 1fr; } .service-hero__lead { font-size: 16px; } }
