/* Shared Full Circle presentation on the homepage and edition archives. */
.fc-presentation .fc-carousel__viewport { touch-action: pan-y pinch-zoom; cursor: grab; }
.fc-presentation .fc-carousel__viewport.is-dragging { cursor: grabbing; }
.fc-presentation .fc-slide { width: var(--fc-circle-size, 280px); height: var(--fc-circle-size, 280px); transition: none; }
.fc-presentation .fc-slide__link { display: block; position: relative; width: 100%; height: 100%; }
.fc-presentation .fc-slide__ring { width: 100%; height: 100%; transition: none; transform-origin: center; }
.fc-presentation .fc-slide__ring img { user-select: none; -webkit-user-drag: none; }
.fc-presentation .fc-slide__label { position: absolute; top: 100%; left: 50%; width: 300px; max-width: min(300px, 80vw); margin-top: 18px; transition: none; }
.fc-presentation .fc-carousel__btn, .fc-presentation .fc-carousel__motion { transition: background-color 160ms ease, color 160ms ease; }
.fc-presentation .fc-carousel__btn:active, .fc-presentation .fc-carousel__motion:active { background: rgba(255,255,255,.15); }
.fc-presentation .fc-carousel { margin-bottom: 36px; }
.fullcircle-page .fullcircle-news .news-card > a { overflow: hidden; }
@media (prefers-reduced-motion: reduce) {
  .fullcircle-page .fullcircle-news .news-card img, .fc-presentation .fc-carousel__btn, .fc-presentation .fc-carousel__motion { transition: none; }
}

.fc-presentation .fc-carousel__viewport { min-height: 420px; }
@media (max-width: 640px) { .fc-presentation .fc-carousel__viewport { min-height: 340px; } }

/* Circular story arc. */
.fc-presentation .fc-carousel { max-width: 1440px; margin-bottom: 20px; }
.fc-presentation .fc-carousel__viewport { overflow: hidden; padding-top: 0; min-height: 0; height: calc(var(--fc-card-height, 384px) + 210px); }
.fc-presentation .fc-carousel__track { height: 100%; min-height: 0; }
.fc-presentation .fc-slide { top: calc(var(--fc-card-height, 384px) / 2 + 45px); height: var(--fc-card-height, 384px); }
.fc-presentation .fc-slide__ring { border-radius: 50%; box-shadow: 0 20px 60px rgba(0,0,0,.3); }
.fc-presentation .fc-slide__label { text-align: center; font-size: clamp(22px, 2.6vw, 34px); margin-top: 26px; width: 100%; max-width: none; }
.fc-presentation .fc-slide__link:focus-visible { outline: 2px solid var(--gold); outline-offset: 8px; }
.fc-presentation .fc-carousel__btn { top: auto; bottom: 0; transform: none; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; width: 44px; height: 44px; }
.fc-presentation .fc-carousel__btn--prev { left: calc(50% - 155px); }
.fc-presentation .fc-carousel__btn--next { left: calc(50% + 111px); }
.fc-presentation .fc-carousel__btn-icon { height: 20px; }
.fc-presentation .fc-carousel__motion { margin: -44px auto 0; height: 44px; position: relative; }
@media (max-width: 640px) {
  .fc-presentation .fc-carousel { width: 100%; }
  .fc-presentation .fc-slide__label { font-size: 24px; }
}

/* Place navigation beside the featured circle, as in the original arc. */
.fc-presentation .fc-carousel__btn { top: calc(var(--fc-card-height, 340px) / 2 + 45px); bottom: auto; transform: translate(-50%, -50%); background: transparent; border: 0; z-index: 30; }
.fc-presentation .fc-carousel__btn--prev { left: calc(50% - var(--fc-nav-offset)); }
.fc-presentation .fc-carousel__btn--next { left: calc(50% + var(--fc-nav-offset)); }
.fc-presentation .fc-carousel__btn-icon { height: 36px; }
/* Prevent the flex card body from shrinking and clipping its image link. */
.fullcircle-page .fullcircle-news .news-card > a { display: block; flex: 0 0 auto; }
.fullcircle-page .fullcircle-news .news-card img { display: block; width: 100%; height: 230px; }
.fullcircle-page .fullcircle-news .news-body { height: auto; flex: 1; }
.fc-edition-archive, .fc-edition-stories { padding: 64px 0; color: var(--white); }
.fc-edition-archive h2, .fc-edition-stories h2 { font-size: clamp(28px, 4vw, 42px); font-weight: 400; margin: 0 0 28px; }
.fc-edition-card h3 { font-size: 28px; font-weight: 400; margin: 8px 0; }
.fc-edition-card p, .fc-edition-intro { font-size: 17px; line-height: 1.6; }
.fc-edition-intro { max-width: 740px; margin-bottom: 32px; }
.fc-edition-link { display: inline-block; padding: 8px 0; text-underline-offset: 5px; text-decoration: underline; }
.fc-edition-related { margin-top: 32px; font-size: 18px; }
.fc-edition-magazine > header { padding-top: 40px; padding-bottom: 32px; }
.fc-edition-magazine h1 { font-size: clamp(30px, 5vw, 48px); font-weight: 400; }
.fullcircle-page .fc-edition-card > a { height: 100%; }
.fullcircle-page .fc-edition-card .news-meta { font-size: 13px; }
.fc-magazine-heading { display: flex; align-items: center; gap: 24px; margin-top: 20px; }
.fc-magazine-cover { width: 80px; max-height: 120px; object-fit: contain; }
@media (max-width: 640px) { .fc-magazine-cover { width: 60px; } .fc-magazine-heading { gap: 16px; } }
