/* v0.12: scoped carousel refinements; base design and v0.11 are preserved. */
/* Brand references remain part of the sentence, with subtle interaction cues. */
a.brand-link, a.brand-link:visited {
  color:inherit; font-style:italic; font-weight:inherit;
  text-decoration:none; border:0; transition:color 180ms ease;
}
a.brand-link:hover, a.brand-link:focus-visible { color:#59664e; }
a.brand-link:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
@media (prefers-reduced-motion:reduce) { a.brand-link { transition:none; } }
.facts span { font-size:29px; }
.facts small { font-size:16px; line-height:1.5; }
.text-carousel { min-width:0; --carousel-gap:28px; }
.carousel-controls { display:none; }
.carousel-status {
  position:absolute; width:1px; height:1px; padding:0; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap;
}
.credentials { padding-block:46px; }
.credentials > .wrap {
  max-width:1240px; grid-template-columns:minmax(190px,220px) minmax(0,1fr); gap:36px;
}
.awards { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.awards article { min-width:0; }
.awards article p { max-width:none; line-height:1.6; }
/* Every card contributes its height, including those outside the window. */
.text-carousel.is-enhanced > .facts,
.text-carousel.is-enhanced > .awards {
  display:grid; grid-template-columns:minmax(0,1fr); gap:0;
  position:relative; isolation:isolate; touch-action:pan-y; overflow:hidden;
}
.text-carousel.is-enhanced .carousel-slide {
  grid-area:1 / 1; display:flex; flex-direction:column; align-items:flex-start;
  width:calc((100% - (var(--visible-count) - 1) * var(--carousel-gap)) / var(--visible-count));
  min-width:0; margin:0; padding:4px 0; border:0;
  visibility:hidden; pointer-events:none;
  opacity:0 !important;
  transform:translateX(calc(var(--slot,0) * (100% + var(--carousel-gap)))) !important;
  transition:transform 450ms ease,opacity 450ms ease,visibility 450ms !important;
  transition-delay:0s !important;
}
.text-carousel.is-enhanced .carousel-slide.is-active {
  visibility:visible; opacity:1 !important; pointer-events:auto;
}
.text-carousel.is-enhanced .carousel-slide.is-preparing,
.text-carousel.is-enhanced.is-resizing .carousel-slide { transition:none !important; }
.text-carousel.is-enhanced .carousel-slide .award-year,
.text-carousel.is-enhanced .carousel-slide .award-rule,
.text-carousel.is-enhanced .carousel-slide p {
  opacity:1 !important; transform:none !important; transition:none !important;
}
.text-carousel.is-enhanced .award-rule { margin:18px 0; }
.text-carousel.is-enhanced .awards article p { margin:0; text-wrap:pretty; }
.text-carousel.is-enhanced .carousel-controls,
.credentials-intro > .carousel-controls {
  display:flex; justify-content:center; align-items:center; gap:4px;
  margin:6px auto 0; color:inherit;
}
.carousel-controls button {
  display:inline-flex; align-items:center; justify-content:center;
  flex:0 0 auto; border:0; border-radius:0; width:44px; height:44px;
  padding:0; background:transparent; color:inherit; cursor:pointer;
  font:400 12px/1 var(--sans);
}
.carousel-controls button svg { width:15px; height:15px; }
.carousel-controls .carousel-toggle { width:44px; margin:0; }
.carousel-controls button:hover { opacity:.75; }
.credentials-intro > .carousel-controls { justify-content:flex-start; margin:12px 0 0; }
.carousel-controls button[hidden] { display:none; }
.carousel-controls button:focus-visible { outline:2px solid currentColor; outline-offset:1px; }
@media (min-width:1101px) {
  .credentials-intro > .carousel-controls { gap:0; margin-left:-6.5px; }
  .credentials-intro > .carousel-controls button { width:28px; height:44px; }
}
@media (min-width:641px) and (max-width:1100px) {
  .credentials > .wrap { grid-template-columns:minmax(0,1fr); gap:20px; }
  .credentials-intro { text-align:left; }
  .credentials h2 { margin-top:10px; }
  .credentials h2 br { display:none; }
  .awards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:781px) and (max-width:1050px) {
  .facts span { font-size:26px; }
}
@media (max-width:780px) {
  .credibility { padding-block:24px 16px; }
  main .credibility .eyebrow { text-align:center; margin-bottom:12px; }
  .facts span { font-size:28px; }
  .facts small { font-size:16px; }
  .text-carousel.is-enhanced > .facts > .carousel-slide {
    align-items:center; justify-content:center; text-align:center; min-height:96px;
  }
  .text-carousel.is-enhanced .facts span { max-width:100%; line-height:1.15; }
  .text-carousel.is-enhanced .facts small { max-width:280px; margin:8px auto 0; }
  .awards .award-year { font-size:54px; }
  .awards article p { font-size:16px; line-height:1.5; }
}
@media (max-width:640px) {
  .credentials { padding-block:28px 20px; }
  .credentials > .wrap { grid-template-columns:minmax(0,1fr); gap:16px; }
  .credentials-intro { text-align:center; }
  .credentials h2 { margin-top:10px; }
  .awards { grid-template-columns:minmax(0,1fr); gap:24px; }
  .text-carousel.is-enhanced > .awards > .carousel-slide { align-items:center; text-align:center; }
  .text-carousel.is-enhanced .award-rule { margin:12px auto; }
  .text-carousel.is-enhanced .awards article p { max-width:32ch; margin:0 auto; }
}
@media (prefers-reduced-motion:reduce) {
  .text-carousel.is-enhanced .carousel-slide { transition:none !important; }
}
.footer .footer-socials {
  display:flex; align-items:center; flex:0 0 auto; gap:4px;
}
.footer-socials a {
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; color:inherit; text-decoration:none;
  border:0; background:transparent;
}
.footer-socials a svg { display:block; }
.footer-socials a:hover { color:#d8ddce; }
.footer-socials a:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
@media (max-width:780px) {
  .footer .footer-socials { flex-basis:100%; justify-content:flex-start; }
}
@media print {
  .text-carousel.is-enhanced > .facts,
  .text-carousel.is-enhanced > .awards { display:block; overflow:visible; }
  .text-carousel.is-enhanced .carousel-slide {
    display:block; width:100%; visibility:visible; opacity:1 !important; transform:none !important;
    margin-bottom:20px; break-inside:avoid;
  }
  .text-carousel.is-enhanced .carousel-controls,
  .credentials-intro > .carousel-controls { display:none; }
}
