/* Homepage service explorer only. No imports, remote assets, or automatic motion. */
.service-explorer *, .service-explorer *::before, .service-explorer *::after { animation: none !important; transition: none !important; }
body[data-page-id="home"] .service-explorer .section-heading { margin-bottom: 12px; }
body[data-page-id="home"] .service-explorer-instruction { margin: 0 0 20px; color: #4b6269; }
.service-explorer-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 16px; }
.service-explorer-tabs a { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 90px; padding: 16px 18px; border: 1px solid #b4cbc0; border-radius: 10px; background: #fff; color: #0e1f24; text-decoration: none; }
.service-explorer-tabs strong { display: block; font-size: 1.05rem; line-height: 1.3; overflow-wrap: normal; }
.service-explorer-tabs small { display: block; margin-top: 5px; color: #4b6269; font-size: .875rem; line-height: 1.4; }
.service-explorer-number { align-self: flex-start; flex: 0 0 2ch; padding-top: 2px; color: #4b6269; font-size: .8rem; }
.service-explorer-icon { display: inline-block; position: relative; flex: 0 0 16px; width: 16px; height: 16px; margin-left: 8px; vertical-align: middle; }
.service-explorer-icon::before { content: ""; position: absolute; width: 9px; height: 9px; right: 2px; top: 2px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; }
.service-explorer-icon::after { content: ""; position: absolute; width: 14px; height: 2px; left: 0; top: 8px; background: currentColor; transform: rotate(-45deg); }
.service-explorer-arrow { margin-left: auto; }
.service-explorer-tabs a:hover { border-color: #226c55; }
.service-explorer-tabs a[aria-selected="true"] { color: #fff; background: #173e39; border-color: #173e39; }
.service-explorer-tabs a[aria-selected="true"] :is(small, .service-explorer-number) { color: #d1e8db; }
.service-explorer :is(a, [tabindex]):focus-visible { outline: 3px solid #226c55; outline-offset: 4px; }
.service-explorer-panels { border: 1px solid #ccdcd3; border-radius: 16px; background: #fff; }
.service-explorer-panel { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
.service-explorer-panel[hidden] { display: none; }
.service-explorer-panel + .service-explorer-panel { border-top: 1px solid #ccdcd3; }
.service-explorer[data-service-explorer-bound] .service-explorer-panel { border-top: 0; }
.service-explorer-photo { position: relative; margin: 0; min-width: 0; min-height: 480px; background: #e3ddd3; border-radius: 15px 0 0 15px; overflow: hidden; }
.service-explorer-photo img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.service-explorer-photo figcaption { position: absolute; left: 22px; right: 22px; bottom: 22px; max-width: 430px; padding: 14px 18px; border-left: 3px solid #226c55; border-radius: 5px; background: #f7faf8; color: #0e1f24; font-size: 1rem; line-height: 1.5; }
.service-explorer-photo figcaption span { display: block; color: #235f4b; font-size: .75rem; font-weight: 700; letter-spacing: .05em; margin-bottom: 4px; }
.service-explorer-copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 32px; }
body[data-page-id="home"] .service-explorer-copy .eyebrow { margin: 0 0 12px; }
body[data-page-id="home"] .service-explorer-copy .service-explorer-headline { margin: 0 0 16px; font-size: clamp(1.75rem, 2.7vw, 2.3rem); line-height: 1.15; letter-spacing: -.03em; max-width: 16ch; font-weight: 650; color: #0e1f24; }
body[data-page-id="home"] .service-explorer-copy > p:not(.service-explorer-headline) { color: #4b6269; margin: 0 0 16px; }
.service-explorer-copy ul { margin: 0 0 22px; padding-left: 20px; color: #24454d; }
.service-explorer-copy li { margin: 6px 0; }
.service-explorer-copy .button { min-width: 0; max-width: 100%; white-space: normal; text-align: left; gap: 12px; }
body[data-page-id="home"] .service-explorer-copy .service-explorer-scope { margin: 16px 0 0; }
body[data-page-id="home"] .service-explorer-disclosure { margin: 12px 0 0; color: #4b6269; }
body[data-page-id="home"] .service-explorer-assessment { margin: 16px 0 0; color: #4b6269; }
.service-explorer-assessment a { color: #235f4b; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1000px) {
  .service-explorer-tabs a { padding: 14px 12px; gap: 8px; }
  .service-explorer-arrow { display: none; }
  .service-explorer-panel { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .service-explorer-copy { padding: 26px; }
  .service-explorer-photo figcaption { left: 16px; right: 16px; bottom: 16px; }
}
/* Tablet panels use each photo's intrinsic landscape ratio, avoiding face crops. */
@media (min-width: 701px) and (max-width: 1000px) {
  .service-explorer-panel { grid-template-columns: minmax(0, 1fr); }
  .service-explorer-photo { min-height: 0; border-radius: 15px 15px 0 0; }
  .service-explorer-photo img { position: static; height: auto; }
}
@media (max-width: 700px) {
  .service-explorer-tabs { gap: 6px; margin-bottom: 12px; }
  .service-explorer-tabs a { display: block; padding: 12px 8px; }
  .service-explorer-tabs strong { font-size: .875rem; }
  .service-explorer-tabs small { display: none; }
  .service-explorer-number { display: block; margin-bottom: 8px; }
  .service-explorer-panel { grid-template-columns: minmax(0, 1fr); }
  .service-explorer-photo { min-height: 0; aspect-ratio: 4 / 3; border-radius: 15px 15px 0 0; }
  .service-explorer-copy { padding: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .service-explorer, .service-explorer * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
