/* Shared component decisions from Paula's September design review.
 * Swiper owns the dimensions and transforms of initialized slides. The fallback
 * rows below apply before initialization, including when JavaScript is absent. */

body[data-brand="glass"] .s-tabbed-img-desc-link__btn {
  box-shadow: none !important;
  margin-inline: 0 !important;
}
body[data-brand="glass"] .s-tabbed-img-desc-link__nav {
  justify-content: center !important;
  justify-content: safe center !important;
}
body[data-brand="glass"] :is(.s-tabbed-img-desc-link, .b-tabbed-img-desc-link) .u-color-primary-blue {
  color: #48b4ff !important;
}

/* Each theme link has one pill surface. */
body[data-brand="glass"] .b-themes-title-desc-link__item {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  padding: 0 !important;
  margin: 0 12px 12px 0 !important;
  border-radius: 999px !important;
}
body[data-brand="glass"] .b-themes-title-desc-link__item-button {
  background: #fff !important;
  border: 1px solid rgba(21, 35, 97, .12) !important;
  border-radius: 999px !important;
  padding: 10px 18px 10px 14px !important;
  color: #152361 !important;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
body[data-brand="glass"] .b-themes-title-desc-link__item-button:hover {
  background: #152361 !important;
  border-color: #152361 !important;
  color: #fff !important;
}

/* Trust marks share a horizontal centre line at every screen size. */
body[data-brand="glass"] :is(.b-slider-media-logo-row, .b-partners-reviews) {
  border-top: 0 !important;
  border-bottom: 0 !important;
}
body[data-brand="glass"] .b-slider-media-logo-row .swiper-wrapper {
  align-items: center;
  padding: 0 !important;
}
body[data-brand="glass"] .b-slider-media-logo-row .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  height: auto !important;
}
body[data-brand="glass"] .b-slider-media-logo-row .b-slider-media-logo-row__logo {
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: 48px !important;
  max-height: 48px !important;
  padding: 0 !important;
  width: 100%;
}
body[data-brand="glass"] .b-slider-media-logo-row .b-slider-media-logo-row__logo img {
  height: 30px !important;
  max-height: 30px !important;
  width: auto !important;
  max-width: min(140px, 100%) !important;
  object-fit: contain;
  margin: 0 !important;
}
/* The migrated square logo files include generous transparent whitespace.
 * Size their canvas separately so the visible mark remains readable. */
body[data-brand="glass"] .b-slider-media-logo-row .b-slider-media-logo-row__logo img[width="300"][height="300"] {
  width: 100px !important;
  height: 100px !important;
  max-height: 100px !important;
}
body[data-brand="glass"] .b-slider-media-logo-row .swiper-pagination-bullets-dynamic {
  left: auto !important;
  transform: none !important;
  margin-inline: auto !important;
}

/* Event-date navigation uses bare arrows; the hit area stays intact. */
body[data-brand="glass"] .c-card-space__event-slider .c-slider__nav-button .c-btn-round {
  background: none !important;
  box-shadow: none !important;
  border: 0 !important;
  width: 36px !important;
}

/* Consistent gutters, without competing with Swiper's measured slide widths. */
body[data-brand="glass"] :is(.s-block-team__slider, .s-block-related-expert__slider, .s-related-podcasts__slider, .b-posts-featured__slider, .b-cards-cta__slider) {
  margin-inline: 0 !important;
  max-width: 100%;
}
body[data-brand="glass"] :is(.s-block-team__slider, .s-block-related-expert__slider, .s-related-podcasts__slider, .b-posts-featured__slider, .b-cards-cta__slider) > .swiper-wrapper {
  box-sizing: border-box;
  margin: 0;
}
body[data-brand="glass"] :is(.s-block-team__slider, .s-block-related-expert__slider, .s-related-podcasts__slider, .b-posts-featured__slider, .b-cards-cta__slider) > .swiper-wrapper > .swiper-slide {
  padding: 0 !important;
  min-width: 0;
  height: auto;
}
/* Reserve room inside the clipped viewport for the existing scale, lift,
 * shadow and focus ring. Desktop gutters compensate the padding; edge-to-edge
 * mobile rows gain an inset. Swiper continues to measure the available width. */
body[data-brand="glass"] :is(.s-block-team__slider, .s-block-related-expert__slider, .s-related-podcasts__slider, .b-posts-featured__slider, .b-slider-theme__slider) {
  --review-hover-gutter: 16px;
  margin-inline: 0 !important;
  width: 100%;
  max-width: 100%;
  padding: 32px var(--review-hover-gutter) 44px;
  box-sizing: border-box;
}
@media (min-width: 1280px) {
  body[data-brand="glass"] :is(.s-block-team__slider, .s-block-related-expert__slider, .s-related-podcasts__slider, .b-posts-featured__slider, .b-slider-theme__slider) {
    --review-hover-gutter: 32px;
    margin-inline: -32px !important;
    width: calc(100% + 64px);
    max-width: calc(100% + 64px);
  }
}
body[data-brand="glass"] :is(.s-block-team__slider, .s-block-related-expert__slider, .s-related-podcasts__slider, .b-posts-featured__slider, .b-cards-cta__slider, .b-slider-media-logo-row__slider):not(.swiper-initialized) {
  overflow-x: auto;
}
body[data-brand="glass"] :is(.s-block-team__slider, .s-block-related-expert__slider, .s-related-podcasts__slider, .b-posts-featured__slider, .b-cards-cta__slider, .b-slider-media-logo-row__slider):not(.swiper-initialized) > .swiper-wrapper {
  display: flex;
  gap: 24px;
}
body[data-brand="glass"] :is(.s-block-team__slider, .s-block-related-expert__slider, .s-related-podcasts__slider, .b-posts-featured__slider, .b-cards-cta__slider, .b-slider-media-logo-row__slider):not(.swiper-initialized) > .swiper-wrapper > .swiper-slide {
  flex: 0 0 var(--review-slide-width, calc((100% - 2.4px) / 1.1));
  width: var(--review-slide-width, calc((100% - 2.4px) / 1.1));
  margin: 0;
}
body[data-brand="glass"] :is(.s-block-team__slider, .s-block-related-expert__slider) { --review-slide-width: calc((100% - 6px) / 1.25); }
body[data-brand="glass"] .b-cards-cta__slider { --review-slide-width: 100%; }
body[data-brand="glass"] .b-slider-media-logo-row__slider { --review-slide-width: calc((100% - 24px) / 2); }
@media (min-width: 567px) {
  body[data-brand="glass"] :is(.s-block-team__slider, .s-block-related-expert__slider) { --review-slide-width: calc((100% - 24px) / 2); }
  body[data-brand="glass"] .b-slider-media-logo-row__slider { --review-slide-width: calc((100% - 48px) / 3); }
}
@media (min-width: 767px) {
  body[data-brand="glass"] :is(.s-block-team__slider, .s-block-related-expert__slider) { --review-slide-width: calc((100% - 48px) / 3); }
  body[data-brand="glass"] :is(.s-related-podcasts__slider, .b-posts-featured__slider, .b-cards-cta__slider) { --review-slide-width: calc((100% - 24px) / 2); }
  body[data-brand="glass"] .b-slider-media-logo-row__slider { --review-slide-width: calc((100% - 160px) / 6); }
  body[data-brand="glass"] .b-slider-media-logo-row__slider:not(.swiper-initialized) > .swiper-wrapper { gap: 32px; }
}
@media (min-width: 991px) {
  body[data-brand="glass"] :is(.s-block-team__slider, .s-block-related-expert__slider) { --review-slide-width: calc((100% - 72px) / 4); }
  body[data-brand="glass"] :is(.s-related-podcasts__slider, .b-posts-featured__slider, .b-cards-cta__slider) { --review-slide-width: calc((100% - 48px) / 3); }
}
@media (min-width: 1024px) {
  body[data-brand="glass"] .b-cards-cta__slider { --review-slide-width: calc((100% - 72px) / 4); }
  body[data-brand="glass"] .b-cards-cta__slider[data-cards-count="3"] { --review-slide-width: calc((100% - 48px) / 3); }
}
@media (min-width: 767px) {
  body[data-brand="glass"] .b-cards-cta__slider[data-cards-count="2"] { --review-slide-width: calc((100% - 24px) / 2); }
}
body[data-brand="glass"] .b-cards-cta__slider[data-cards-count="1"] { --review-slide-width: 100%; }

/* Audience cards share the Employees reference frame, regardless of image dimensions. */
body[data-brand="glass"] .b-cards-cta .b-cards-cta__slider__card,
body[data-brand="glass"] .b-cards-cta .b-cards-cta__slider__card:hover {
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  transform: none !important;
  overflow: visible;
  border-radius: 0 !important;
}
body[data-brand="glass"] .b-cards-cta .b-cards-cta__slider__card-media {
  border-radius: 20px !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
  aspect-ratio: 768 / 910;
  overflow: hidden;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
body[data-brand="glass"] .b-cards-cta .b-cards-cta__slider__card-media img {
  border-radius: 20px !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center top;
}
body[data-brand="glass"] .b-cards-cta .b-cards-cta__slider__card:hover .b-cards-cta__slider__card-media img {
  scale: 1.03 !important;
  transition: scale .35s ease;
}
body[data-brand="glass"] .b-cards-cta .b-cards-cta__slider__card-content { padding: 0 4px !important; }

/* Real icon variants have a sprite container or a v7 line-icon asset. Large SVG
 * illustrations in the ordinary image cards retain their illustration layout. */
body[data-brand="glass"] .b-cards-cta .b-cards-cta__slider__card-icon,
body[data-brand="glass"] .b-cards-cta .b-cards-cta__slider__card-media:has(img[src*="/v7-icons/"]) {
  background: none !important;
  color: #00a885 !important;
  padding: 0 !important;
  margin: 0 0 16px !important;
  aspect-ratio: auto !important;
  height: 44px !important;
  overflow: visible;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  border-radius: 0 !important;
}
body[data-brand="glass"] .b-cards-cta .b-cards-cta__slider__card-icon svg,
body[data-brand="glass"] .b-cards-cta .b-cards-cta__slider__card-media img[src*="/v7-icons/"] {
  width: 44px !important;
  height: 44px !important;
  border-radius: 0 !important;
  object-fit: contain !important;
  scale: 1 !important;
}
body[data-brand="glass"] .b-cards-cta .b-cards-cta__slider__card:has(.b-cards-cta__slider__card-icon, img[src*="/v7-icons/"]) .b-cards-cta__slider__card-content { padding: 0 !important; }
body[data-brand="glass"] .c-image-card:has(.c-image-card__image img[src*="/v7-icons/"]) {
  display: flex;
  flex-direction: column;
  padding: 32px 30px !important;
  min-height: 0 !important;
  height: auto !important;
}
body[data-brand="glass"] .c-image-card__wrap:has(.c-image-card__image img[src*="/v7-icons/"]) { height: auto !important; padding-block: 12px !important; }
body[data-brand="glass"] .c-image-card__image:has(img[src*="/v7-icons/"]) {
  order: -1;
  margin: 0 0 18px !important;
  position: static !important;
  justify-content: flex-start !important;
  width: 44px !important;
  height: 44px !important;
}
body[data-brand="glass"] .c-image-card__image img[src*="/v7-icons/"] { width: 44px !important; height: 44px !important; min-width: 0 !important; margin: 0 !important; }
body[data-brand="glass"] .c-image-card:has(.c-image-card__image img[src*="/v7-icons/"]) .c-image-card__description { margin: 0 !important; padding: 0 !important; }

/* Keep the live composition: an introduction beside a stack of client photos,
 * with one active quote overlapping its photo. Native Swiper owns the stack. */
body[data-brand="glass"] .b-slider-client-stories { padding-block: 80px 150px !important; }
body[data-brand="glass"] .b-slider-client-stories .c-intro { text-align: left; }
body[data-brand="glass"] .b-slider-client-stories .b-slider-client-stories__slider {
  width: min(350px, 100% - 80px);
  max-width: 350px;
  margin-inline: 0;
  overflow: visible;
}
body[data-brand="glass"] .b-slider-client-stories .b-slider-client-stories__card {
  width: 100%;
  height: 478px;
}
body[data-brand="glass"] .b-slider-client-stories .b-slider-client-stories__card-content {
  left: 20%;
  width: 100%;
  max-width: none;
  padding: 24px;
  border-radius: 20px;
  box-shadow: var(--ou-shadow-1);
}
body[data-brand="glass"] .b-slider-client-stories .b-slider-client-stories__card-title { margin-bottom: 24px; }
body[data-brand="glass"] .b-slider-client-stories .b-slider-client-stories__card-navigation {
  width: 100%;
  left: 0;
}
@media (max-width: 991px) {
  body[data-brand="glass"] .b-slider-client-stories .c-intro { max-width: 620px; margin: 0 auto 40px; text-align: center; }
  body[data-brand="glass"] .b-slider-client-stories .b-slider-client-stories__slider { margin-inline: auto; }
}
@media (max-width: 767px) {
  body[data-brand="glass"] .b-slider-client-stories { padding-block: 56px 160px !important; }
  body[data-brand="glass"] .b-slider-client-stories .b-slider-client-stories__slider { width: min(263px, 100% - 48px); }
  body[data-brand="glass"] .b-slider-client-stories .b-slider-client-stories__card { height: 335px; }
  body[data-brand="glass"] .b-slider-client-stories .b-slider-client-stories__card-content { left: 12%; bottom: -32px; padding: 18px; }
}

/* The script enables the reveal only after an observer has been installed. */
body[data-brand="glass"] .s-steps-numerated[data-design-review-steps] .s-steps-numerated__list-item {
  transition: opacity .55s cubic-bezier(.2, .7, .2, 1), transform .55s cubic-bezier(.2, .7, .2, 1);
}
body[data-brand="glass"] .s-steps-numerated[data-design-review-steps="pending"] .s-steps-numerated__list-item { opacity: 0; transform: translateY(18px); }
body[data-brand="glass"] .s-steps-numerated[data-design-review-steps] .s-steps-numerated__list-item:nth-child(2) { transition-delay: .12s; }
body[data-brand="glass"] .s-steps-numerated[data-design-review-steps] .s-steps-numerated__list-item:nth-child(3) { transition-delay: .24s; }
body[data-brand="glass"] .s-steps-numerated[data-design-review-steps] .s-steps-numerated__list-item:nth-child(4) { transition-delay: .36s; }
body[data-brand="glass"] .s-steps-numerated[data-design-review-steps] .s-steps-numerated__list-item:nth-child(5) { transition-delay: .48s; }
body[data-brand="glass"] .s-steps-numerated[data-design-review-steps] .s-steps-numerated__list-item:nth-child(6) { transition-delay: .6s; }
@media (prefers-reduced-motion: reduce) {
  body[data-brand="glass"] .s-steps-numerated[data-design-review-steps] .s-steps-numerated__list-item { opacity: 1 !important; transform: none !important; transition: none !important; }
  body[data-brand="glass"] .b-cards-cta .b-cards-cta__slider__card:hover .b-cards-cta__slider__card-media img { scale: 1 !important; transition: none !important; }
}

/* Keep the four story indicators on one row at narrow mobile widths. */
body[data-brand="glass"] .b-slider-client-stories__card-navigation .swiper-pagination {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
body[data-brand="glass"] .b-slider-client-stories__card-navigation .swiper-pagination .swiper-pagination-bullet {
  flex: none;
  margin: 0 !important;
}

/* A hovered card lifts 4px and casts a 52px shadow. The related-resources track
   left only 20px below the card, where the other sliders leave 44px, so the
   shadow was clipped and the coerced overflow-y grew a scrollbar for a single
   row. Match the other tracks and keep the vertical axis clipped. */
.s-related-posts-mergeup .s-related-posts-mergeup__slider {
  overflow-y: hidden;
  padding-bottom: 24px;
}


/* Reviews block (s-block-reviews, 24 pages): the rating is the design system's
   Google rating link (c-review-link, built at render time in lib/reviews-block.mjs)
   and the review count is the text-link-with-arrow in its on-navy form. */
.s-block-reviews .s-block-reviews__stats { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; margin-top: 28px; }
.s-block-reviews .s-block-reviews__stats .c-review-link { background: #fff; color: #5b6590; padding: 8px 14px; border-radius: 999px; gap: 6px; }
.s-block-reviews .s-block-reviews__stats .c-review-link__text { font: 600 13px/1.3 var(--ou-font-sans, Montserrat, sans-serif); letter-spacing: .3px; }
.s-block-reviews .s-block-reviews__stats--link,
.s-block-reviews .s-block-reviews__stats--link.u-color-primary-dark-blue {
  display: inline-flex; align-items: center; gap: 8px;
  color: #fff !important; font: 600 16px/1.4 var(--ou-font-sans, Montserrat, sans-serif);
  text-decoration: none !important; transition: gap .18s ease;
}
.s-block-reviews .s-block-reviews__stats--link::after { content: "\2192"; font-size: 18px; line-height: 1; }
.s-block-reviews .s-block-reviews__stats--link:hover { gap: 12px; text-decoration: underline !important; text-underline-offset: 4px; }

/* Card sliders: a hovered card lifts 4px and casts a 52px shadow. Every track
   keeps at least 44px below its cards and clips only sideways, so the shadow
   shows and the coerced overflow-y no longer grows a scrollbar for one row. */
.b-cards-cta .b-cards-cta__slider { padding-bottom: 50px; overflow-y: hidden !important; }
.s-block-team__slider, .b-posts-featured__slider, .b-slider-theme__slider { padding-bottom: 64px !important; }
.s-related-posts-mergeup .s-related-posts-mergeup__slider { padding-bottom: 44px; }
.s-block-team__slider, .b-posts-featured__slider, .b-slider-theme__slider, .s-block-related-expert__slider,
.s-related-podcasts__slider { overflow-y: hidden !important; }
