
/* Final polish pass: spacing, imagery, accessibility, and responsive refinements */

/* Consistent Level 3 hero/content spacing */
body.service-page .section.alt {
  padding-top: 28px !important;
  padding-bottom: 24px !important;
}

body.service-page .section.alt .wrap {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.service-page .breadcrumbs {
  margin-bottom: 8px !important;
}

body.service-page .eyebrow {
  margin-bottom: 6px !important;
}

body.service-page .title-nav-row {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.service-page .section:not(.alt) {
  padding-top: 34px !important;
}

body.service-page .wrap.content {
  align-items: flex-start !important;
}

/* Standardize article image presentation */
body.service-page .article-photo-left,
body.service-page .article-photo-right,
body.service-page .cloud-services-photo {
  width: 38% !important;
  max-width: 390px !important;
  min-width: 280px !important;
  margin-top: 4px !important;
  margin-bottom: 20px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 14px 34px rgba(1,25,54,.12) !important;
}

body.service-page .article-photo-left {
  float: left !important;
  margin-right: 24px !important;
  margin-left: 0 !important;
}

body.service-page .article-photo-right {
  float: right !important;
  margin-left: 24px !important;
  margin-right: 0 !important;
}

body.service-page .article-photo-left img,
body.service-page .article-photo-right img,
body.service-page .cloud-services-photo img {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  height: auto !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 14px !important;
}

/* Keep CTA and local section visually consistent */
body.service-page .seo-local-inline {
  clear: both !important;
  margin-top: 32px !important;
}

body.service-page .cta {
  clear: both !important;
  margin-top: 30px !important;
}

/* Better keyboard accessibility */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
.pager-link:focus-visible,
.navlinks a:focus-visible,
.tag-link:focus-visible,
.btn:focus-visible {
  outline: 3px solid #EFB37A !important;
  outline-offset: 3px !important;
  border-radius: 8px !important;
}

/* FAQ usability polish */
.faq-topic > summary {
  transition: background-color .15s ease, color .15s ease, transform .15s ease !important;
}

.faq-topic > summary:hover {
  filter: brightness(.97);
}

.faq-item summary:hover {
  text-decoration: underline;
}

/* Mobile: avoid awkward floats and oversized header blocks */
@media (max-width: 760px) {
  body.service-page .section.alt {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }

  body.service-page .section:not(.alt) {
    padding-top: 24px !important;
  }

  body.service-page .article-photo-left,
  body.service-page .article-photo-right,
  body.service-page .cloud-services-photo {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 18px 0 22px !important;
  }

  body.service-page .article-photo-left img,
  body.service-page .article-photo-right img,
  body.service-page .cloud-services-photo img {
    aspect-ratio: 16 / 10 !important;
  }

  body.service-page .service-pager {
    width: 100% !important;
  }

  body.service-page .service-pager .pager-link {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
  }
}
