.service-page { --service-accent: #496951; }
.service-page .service-hero h1 .service-title-note { display: block; font-size: .58em; letter-spacing: 0; margin-top: 14px; }
.service-page .skip-content { position: fixed; top: 12px; left: 12px; z-index: 100; padding: 14px 18px; background: #fff; color: #223a29; border: 1px solid #78947a; border-radius: 12px; transform: translateY(-200%); }
.service-page .skip-content:focus { transform: translateY(0); }
.service-page .service-hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(28px, 5vw, 72px); padding: 32px var(--site-gutter) 72px; }
.service-page .service-hero h1 { font-family: Georgia, serif; font-size: clamp(40px, 4.8vw, 68px); line-height: 1.05; letter-spacing: -.025em; margin: 22px 0; max-width: 12ch; }
.service-page .service-subtitle { font-size: clamp(24px, 2.3vw, 32px); line-height: 1.35; max-width: 25ch; margin: 0 0 22px; }
.service-page .service-lead { font-size: 18px; line-height: 1.65; max-width: 60ch; }
.service-page .service-hero-visual { margin: 0; }
.service-page .service-hero-visual img { width: 100%; height: auto; aspect-ratio: 5 / 6; object-fit: cover; object-position: 54% center; border-radius: 28px; }
.service-page .service-hero-visual figcaption { font-size: 16px; line-height: 1.5; color: #5b635b; margin-top: 14px; }
.service-page .service-section { padding: clamp(44px, 5.6vw, 80px) var(--site-gutter); border-top: 1px solid #d9ded6; }
.service-page .service-section-heading { max-width: 700px; margin-bottom: 30px; }
.service-page .service-section h2 { font-family: Georgia, serif; font-size: clamp(29px, 3.3vw, 44px); line-height: 1.15; margin: 16px 0; max-width: 24ch; }
.service-page .service-section-heading p:not(.eyebrow) { max-width: 57ch; font-size: 18px; }
.service-page .service-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.service-page .service-choice-grid article { display: flex; flex-direction: column; padding: 28px; border: 1px solid #d2dcce; border-radius: 22px; background: #f9fbf6; }
.service-page .service-choice-grid h3 { font-size: 25px; line-height: 1.25; margin: 0; }
.service-page .service-choice-grid p { font-size: 18px; margin: 18px 0 24px; }
.service-page .service-choice-grid button { margin-top: auto; display: flex; align-items: center; justify-content: center; min-height: 50px; padding: 14px 16px; color: #213b29; font: inherit; border: 1px solid #acc1ac; border-radius: 16px; background: linear-gradient(145deg, #fff, #e5eee1); box-shadow: inset 0 2px 3px #fff, 0 5px 12px #3653330d; cursor: pointer; }
.service-page .service-choice-grid button:hover { border-color: #4f7657; }
.service-page .service-choice-grid button:active { transform: translateY(1px); }
.service-page .consultation-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(24px, 5vw, 72px); background: #f0f4ed; }
.service-page .service-consultation-list article { padding: 24px 0; border-bottom: 1px solid #cbd7c6; }
.service-page .service-consultation-list article:first-child { padding-top: 12px; }
.service-page .service-consultation-list article:last-child { border-bottom: 0; }
.service-page .service-consultation-list h3 { margin: 0 0 10px; font-size: 23px; line-height: 1.3; }
.service-page .service-consultation-list p { margin: 0; font-size: 18px; }
.service-page .service-approach { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(24px, 5vw, 72px); }
.service-page .service-approach p { font-size: 18px; max-width: 60ch; }
.service-page .service-inline-link { display: inline-flex; align-items: center; min-height: 48px; margin-top: 8px; color: #2f5338; text-underline-offset: 5px; }
.service-page .service-preparation { background: #faf8f0; }
.service-page .service-checklist { display: grid; grid-template-columns: 1fr 1fr; list-style: none; gap: 20px 40px; padding: 0; margin: 28px 0; }
.service-page .service-checklist li { padding: 18px 0 18px 28px; position: relative; border-bottom: 1px solid #d8dacc; font-size: 18px; }
.service-page .service-checklist li::before { content: '✓'; position: absolute; left: 0; color: #526f4f; }
.service-page .service-small-note { color: #596351; max-width: 60ch; }
.service-page .service-questions .city-treatment-list { max-width: 1040px; }
.service-page .service-questions summary { min-height: 66px; }
.service-page .book-section { margin-top: 0; }
.service-page .service-form-name { font-size: 18px; margin: 0 0 18px; padding-bottom: 18px; border-bottom: 1px solid #d7dfd1; color: #4c654c; }
.service-page .bf-chips button { font-size: 16px; }
.service-page .section-nav a { font-size: 16px; }
.service-page .section-nav-links { gap: 2px; }
.service-page .section-nav-links a { padding-inline: 8px; }
.service-page .book-lead { align-self: start; }
@media (max-width: 980px) {
  .service-page .service-choice-grid { grid-template-columns: 1fr; }
  .service-page .service-choice-grid article { display: grid; grid-template-columns: 1fr 1.5fr; gap: 10px 26px; }
  .service-page .service-choice-grid p { margin: 0; }
  .service-page .service-choice-grid button { grid-column: 2; justify-self: start; margin-top: 8px; }
}
@media (max-width: 760px) {
  .service-page .service-hero, .service-page .consultation-section, .service-page .service-approach { grid-template-columns: 1fr; }
  .service-page .service-hero { padding-top: 22px; padding-bottom: 44px; gap: 30px; }
  .service-page .service-hero-visual img { aspect-ratio: 4 / 3; border-radius: 20px; }
  .service-page .service-choice-grid article { display: flex; padding: 24px; gap: 0; }
  .service-page .service-choice-grid p { margin: 16px 0 24px; }
  .service-page .service-choice-grid button { width: 100%; margin-top: 0; }
  .service-page .service-checklist { grid-template-columns: 1fr; gap: 0; }
}
