/* The shared carousel follows the navy Abstract theme on every page template. */
.content-carousel { min-width:0; max-width:100%; color:#fff; background:transparent; font-family:"IBM Plex Sans",system-ui,sans-serif; }
.content-carousel *, .content-carousel *::before, .content-carousel *::after { box-sizing:border-box; }
.content-carousel .content-carousel__eyebrow, .content-carousel .content-carousel__category { color:var(--exact-accent, #ef6c00); font-size:.8rem; line-height:1.6; font-weight:500; letter-spacing:.15em; text-transform:uppercase; margin:0 0 1.25rem; }
.content-carousel .content-carousel__heading { margin:0 0 1.25rem; font-size:clamp(2rem,4vw,3.5rem); font-weight:400; line-height:1.12; color:#fff; letter-spacing:-.03em; }
.content-carousel .content-carousel__introduction { color:#c4cee0; font-size:clamp(1rem,1.5vw,1.2rem); line-height:1.65; margin:0 0 2rem; max-width:65ch; white-space:pre-line; }
.content-carousel__track { display:flex; gap:0; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; min-width:0; cursor:grab; }
.content-carousel__track.is-dragging { cursor:grabbing; user-select:none; }
.content-carousel__track::-webkit-scrollbar { display:none; }
.content-carousel__progress { height:4px; margin-top:18px; overflow:hidden; background:rgba(255,255,255,.2); }
.content-carousel__progress>span { display:block; width:calc(100% / var(--carousel-count,1)); height:100%; background:var(--exact-accent,#ef6c00); transform:translateX(calc(var(--carousel-index,0) * 100%)); transition:transform 240ms ease; }
.content-carousel__slide { position:relative; flex:0 0 100%; min-width:0; scroll-snap-align:start; background:rgba(11,23,56,.65); border:1px solid #283859; overflow-wrap:anywhere; isolation:isolate; }
.content-carousel__slide::before { position:absolute; inset:0; z-index:0; pointer-events:none; content:""; opacity:0; background:radial-gradient(460px circle at var(--carousel-glow-x,50%) var(--carousel-glow-y,50%),rgba(66,165,245,.18),transparent 72%); transition:opacity 200ms; }
.content-carousel__slide:hover::before,.content-carousel__slide:focus-within::before { opacity:1; }
.content-carousel__image { position:relative; z-index:1; display:block; width:100%; aspect-ratio:16 / 9; object-fit:cover; }
.content-carousel__body { position:relative; z-index:1; padding:clamp(1.25rem,4vw,3.5rem); min-height:clamp(320px,35vw,480px); display:flex; flex-direction:column; justify-content:center; }
.content-carousel .content-carousel__body :is(h1,h2,h3,h4,h5,h6) { margin:0 0 1rem; color:#fff; font-size:clamp(1.4rem,2.5vw,2rem); font-weight:400; line-height:1.25; }
.content-carousel .content-carousel__body > h3 { font-size:clamp(1.75rem,3vw,2.75rem); }
.content-carousel .content-carousel__body p { margin:0 0 1.5rem; color:#c4cee0; line-height:1.65; font-size:clamp(1rem,1.25vw,1.2rem); max-width:78ch; }
.content-carousel .content-carousel__body .content-carousel__category { color:var(--exact-accent, #ef6c00); font-size:.8rem; }
.content-carousel .content-carousel__body .content-carousel__subheading { color:#fff; font-size:clamp(1.05rem,1.8vw,1.25rem); }
.content-carousel__plain { white-space:pre-line; }
.content-carousel__richtext { color:#c4cee0; font-size:clamp(1rem,1.25vw,1.2rem); line-height:1.65; }
.content-carousel__richtext :is(p,li) { color:inherit; font:inherit; }
.content-carousel__richtext p { margin:0 0 1.5rem; max-width:78ch; }
.content-carousel__richtext :is(ul,ol) { padding-left:1.5rem; margin:0 0 1.5rem; }
.content-carousel__richtext img { max-width:100%; height:auto; }
.content-carousel__richtext table { display:block; max-width:100%; overflow-x:auto; }
.content-carousel__quote, .content-carousel__richtext blockquote { border-left:2px solid #ef6c00; padding-left:clamp(1rem,3vw,2rem); margin:2rem 0 0; max-width:70ch; }
.content-carousel__quote blockquote { margin:0; }
.content-carousel .content-carousel__quote p, .content-carousel__richtext blockquote p { font-style:italic; }
.content-carousel .content-carousel__quote p { margin-bottom:1rem; }
.content-carousel__quote figcaption { color:var(--exact-accent, #ef6c00); font-size:.75rem; line-height:1.7; letter-spacing:.1em; text-transform:uppercase; }
.content-carousel .content-carousel__body a { color:var(--exact-accent, #ef6c00); text-decoration:underline; text-underline-offset:.2em; }
.content-carousel .content-carousel__body > a { display:inline-flex; align-items:center; gap:1rem; min-height:44px; margin-top:1.5rem; font-weight:500; }
.content-carousel__announcement { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.content-carousel :focus-visible { outline:3px solid var(--exact-accent, #ef6c00); outline-offset:3px; }
@media(max-width:620px) { .content-carousel__body { min-height:0; } }
@media(prefers-reduced-motion:reduce) { .content-carousel__slide::before,.content-carousel__progress>span { transition:none; } }
