/* Shared public-page rhythm. Content, prices and scope remain intact. */
:root { --sit-section-pad: 2.5rem; --sit-page-gutter: clamp(1.25rem,3vw,2rem); }
/* The former launcher lane is needed only when a chat launcher is rendered. */
body:not(:has(#sit-chatbot)) main :is(.container,.wp-container,.wp-container-breadcrumbs,.sit-container,.sit-hero__wrapper,.sit-infographic) { padding-inline: var(--sit-page-gutter); }
body:not(:has(#sit-chatbot)) main :is(.sit-badges__wrapper,.sit-solutions__header,.sit-solutions__grid,.sit-offers__header,.sit-offers__grid,.sit-proof__header,.sit-proof__metrics,.sit-insights__header,.sit-insights__grid,.sit-hub__wrapper,.sit-contact__wrapper,.sit-about__values-header,.sit-about__values-grid,.sit-about__metrics-wrapper,.sit-booking-banner__wrapper) { padding-right: 0; }
body:not(:has(#sit-chatbot)) main .sit-section--cta .sit-cta-banner { padding-inline: var(--sit-page-gutter); }
main .sit-section { padding-block: 2.5rem; }
main .sit-section__header { margin-bottom: 1.5rem; }
main .sit-section__title { font-size: clamp(1.6rem, 2.6vw, 2rem); line-height: 1.2; margin-bottom: 1rem; }
main .sit-section > :last-child { margin-bottom: 0; }
main .sit-section :is(p, li) { line-height: 1.6; }
main .sit-section > p { max-width: 76ch; }
main .sit-list { margin-bottom: 1rem; }
main .sit-list li { margin-bottom: .5rem; }
main .sit-list li:last-child { margin-bottom: 0; }
main .sit-steps > li { margin-bottom: 1.25rem; }
main .sit-callout { padding: 1rem 1.25rem; margin-bottom: 1rem; }
main :is(.sit-hero, .sit-section--hero) { min-height: 0; padding-block: 2.75rem; }
main .sit-hero .sit-hero__inner { width: 100%; max-width: var(--sit-container,1280px); padding: 0 var(--sit-page-gutter); margin-inline: auto; }
main .sit-hero__inner .sit-hero__title { max-width: 29ch; font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1.15; margin-bottom: 1rem; }
main .sit-hero__inner .sit-hero__text { max-width: 70ch; margin-bottom: 1.25rem; line-height: 1.6; }
main .sit-hero__inner .sit-hero__eyebrow { margin-bottom: .75rem; }
main .sit-hero__inner .sit-breadcrumbs { margin-bottom: 1rem; }
main .sit-hero__inner .sit-hero__trust { margin-bottom: 1rem; }
main :is(.sit-page-header__title,.sit-solution-detail__title) { font-size: clamp(2rem,3.4vw,3rem); line-height: 1.15; }
main :is(.sit-page-header,.sit-solution-detail__header) { padding-block: 0; }
main .sit-home-section { padding-block: 2.5rem; }
main .sit-home-compact .sit-home-hero { padding-block: 2.75rem; }
main :is(.sit-solution-card,.sit-offer-card,.sit-azure__card,.sit-azure__group,.sit-evidence,.sit-industry-card) { padding: 1.25rem; }
main :is(.sit-solutions__grid,.sit-offers__grid,.sit-industries__grid,.sit-azure__grid) { gap: 1rem; }
main .sit-solution-card__icon { margin-bottom: .75rem; }
main .sit-solution-card__title { margin-bottom: .65rem; }
main .sit-solution-card__desc { margin-bottom: 1rem; }
main .sit-solution-card__link { min-height: 44px; align-content: center; }
main .sit-marketplace-offer :is(.sit-list,.sit-steps,.sit-callout) { max-width: none; }
main .sit-marketplace-offer .sit-steps__text { max-width: 76ch; }
main #sit-offer-scope .sit-section__title:is(h3) { font-size: 1.15rem; margin: 1.25rem 0 .75rem; }
main #sit-offer-scope .sit-callout { margin-bottom: 0; }
main :is(#sit-offer-scope,#sit-engagement-scope,#sit-lm-preview) { scroll-margin-top: 8rem; }

/* Native details preserve keyboard support and work without JavaScript. */
main .sit-section.sit-section--disclosure { padding-block: .375rem; }
main .sit-disclosure { border: 1px solid #496079; border-radius: 8px; background: #182c43; overflow: visible; }
main .sit-disclosure > summary { cursor: pointer; padding: 1rem 1.25rem; min-height: 56px; color: #fff; }
main .sit-disclosure > summary::marker { color: #7ddbb9; }
main .sit-disclosure > summary > h2 { display: inline; font-size: 1.15rem; line-height: 1.4; margin: 0; color: #fff; }
main .sit-disclosure > summary:focus-visible { outline: 3px solid #f7b56b; outline-offset: 3px; border-radius: 6px; }
main .sit-disclosure[open] > summary { border-bottom: 1px solid #496079; }
main .sit-disclosure__body { padding: 1.25rem; }
main .sit-disclosure__body > :last-child { margin-bottom: 0; }
main .sit-disclosure .sit-section__header { margin-bottom: 1rem; }
main .sit-disclosure .sit-offer-artifacts { margin-top: 1rem; }
main .sit-disclosure .sit-offer-artifacts__item img { height: auto; }
.sit-footer { padding-block: 2.5rem 1.5rem; }
.sit-footer .sit-footer__container { width: 100%; max-width: var(--sit-container,1280px); margin-inline: auto; padding-inline: var(--sit-page-gutter); }
body:not(:has(#sit-chatbot)) .sit-footer .sit-footer__bottom { padding-inline: 0; }
.sit-footer .sit-footer__grid { gap: 2rem; margin-bottom: 2rem; }
.sit-footer .sit-footer__bottom { padding-top: 1.25rem; }

@media (max-width: 768px) {
  :root { --sit-section-pad: 1.5rem; }
  main .sit-section, main .sit-lm > .sit-section { padding-block: 1.5rem; }
  main :is(.sit-hero,.sit-section--hero), main .sit-lm > .sit-section--hero { padding-block: 2rem; }
  main .sit-hero .sit-hero__inner { width: 100%; }
  main .sit-hero__inner .sit-hero__text { font-size: 1rem; }
  main .sit-section__header { margin-bottom: 1.25rem; }
  main .sit-home-section { padding-block: 1.5rem; }
  main .sit-home-compact .sit-home-hero { padding-block: 2rem; }
  main :is(.sit-solution-card,.sit-offer-card,.sit-azure__card,.sit-azure__group,.sit-evidence,.sit-industry-card) { padding: 1.125rem; }
  main .sit-disclosure > summary { padding: 1rem; }
  main .sit-disclosure__body { padding: 1rem; }
  main .sit-lm > .sit-section.sit-section--disclosure { padding-block: .375rem; }
  .sit-footer { padding-block: 2rem 1.25rem; }
  .sit-footer .sit-footer__grid { gap: 1.5rem; margin-bottom: 1.5rem; }
}
@media (min-width: 360px) and (max-width: 768px) {
  .sit-footer .sit-footer__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sit-footer :is(.sit-footer__column--brand,.sit-footer__column:last-child) { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  main .sit-reveal { transition: none; transform: none; }
}
@media print {
  main .sit-disclosure::details-content { display: block; content-visibility: visible; }
  main .sit-disclosure > summary { border-bottom: 1px solid #496079; }
}

/* Readable content is available immediately, including during audits and slow loads. */
main .sit-reveal { opacity: 1; transform: none; transition: none; }
main .sit-lm__request-form > p > a:not(.sit-btn) { display: inline-flex; align-items: center; min-height: 44px; padding-block: .5rem; }
