/* Preserve the theme's native card and article UI; normalize only photo ratios. */
.guardian-service-directory #filter-layout .tt-obj__img img {
  width: 100%;
  aspect-ratio: 370 / 228;
  object-fit: cover;
}
.guardian-service-detail .services-item__img img {
  width: 100%;
  aspect-ratio: 870 / 494;
  object-fit: cover;
}
/* Existing sidebar typography, arrows and classification headers stay native. */
.guardian-service-navigation .tt-item__content {
  max-height: 360px;
  overflow-y: auto;
  overscroll-behavior-y: contain;
}
.guardian-service-navigation summary {
  display: block;
  padding-left: 18px;
  cursor: pointer;
  font-size: 16px;
  color: #303442;
  list-style: none;
}
.guardian-service-navigation summary::-webkit-details-marker { display: none; }
.guardian-service-navigation summary:hover { color: #f47629; }
.guardian-service-navigation li:has(details[open])::before { transform: rotate(90deg); }
.guardian-service-option { margin: 8px 0 0 18px; }
.guardian-service-option__label { display: block; padding-left: 18px; font-size: 16px; }
.guardian-service-navigation .guardian-service-choices {
  display: flex;
  gap: 20px;
  padding-left: 18px;
}
.guardian-service-navigation .guardian-service-choices a {
  padding: 5px 0;
  min-height: 34px;
}
.guardian-service-navigation a[aria-current="page"],
.guardian-service-intents a[aria-current="page"] { color: #f47629; text-decoration: underline; text-underline-offset: 4px; }
/* Long-form service answers clear the native sticky header when followed by a link. */
.guardian-service-detail .services-item__layout h2[id]{scroll-margin-top:120px}
.guardian-service-intents { display: flex; gap: 24px; margin: 0 0 24px; }
.guardian-service-navigation summary:focus-visible,
.guardian-service-navigation [role="button"]:focus-visible,
.guardian-service-navigation a:focus-visible,
.guardian-service-intents a:focus-visible { outline: 2px solid #f47629; outline-offset: 3px; }
@media (max-width: 767.98px) {
  .guardian-service-navigation .guardian-service-choices a { min-height: 44px; padding-top: 10px; }
}
