.forma-carousel {
  --fc-bg: #ffffff;
  --fc-fg: #f0f0e8;
  --fc-muted: #b2b6a9;
  --fc-border: #f0f0e830;
  --fc-accent: #0033cc;
  --fc-gap: clamp(16px, 2.3vw, 30px);
  --fc-pad: clamp(20px, 4vw, 64px);
  position: relative;
  container-type: inline-size;
  box-sizing: border-box;
  background: var(--fc-bg);
  color: var(--fc-fg);
  padding: clamp(32px, 5vw, 72px) 0 32px;
  margin-block: 32px;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  font-family: inherit;
  line-height: 1.5;
  text-align: start;
  border-radius: 6px;
}
.forma-carousel.alignfull { width: auto; max-width: none; }
.forma-carousel.fc-light { --fc-bg: #ffffff; --fc-fg: #20251b; --fc-muted: #585f52; --fc-border: #20251b35; }
.forma-carousel *, .forma-carousel *::before, .forma-carousel *::after { box-sizing: border-box; }
.forma-carousel .fc-eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 var(--fc-pad) 22px; font-size: 10px; letter-spacing: .14em; font-weight: 500; }
.forma-carousel .fc-dot { flex: 0 0 7px; height: 7px; border-radius: 50%; background: var(--fc-accent); border: 1px solid #17191640; }
.forma-carousel .fc-intro { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 0 var(--fc-pad) 36px; }
.forma-carousel .fc-heading { color: var(--fc-fg); margin: 0; padding: 0; font-family: inherit; font-size: clamp(38px, 5vw, 86px); font-weight: 500; line-height: 1.08; letter-spacing: -.055em; text-transform: none; overflow-wrap: anywhere; }
.forma-carousel .fc-heading em { padding-inline-start: .12em; font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-style: italic; }
.forma-carousel .fc-heading sup { color: var(--fc-accent); font: 500 12px/1.4 sans-serif; vertical-align: super; margin-inline-start: 12px; letter-spacing: 0; white-space: nowrap; }
.forma-carousel.fc-light .fc-heading sup { color: var(--fc-fg); }
.forma-carousel .fc-subtitle { font-size: 12px; line-height: 1.8; color: var(--fc-muted); max-width: 210px; flex: 0 1 210px; margin: 0 0 4px; padding: 0; }
.forma-carousel .fc-viewport { overflow-x: auto; overflow-y: hidden; padding: 4px var(--fc-pad) 12px; scroll-padding-inline: var(--fc-pad); scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--fc-muted) transparent; touch-action: auto; overscroll-behavior-x: contain; direction: ltr; }
.forma-carousel.is-enhanced .fc-viewport { scrollbar-width: none; touch-action: pan-y; }
.forma-carousel.is-enhanced .fc-viewport::-webkit-scrollbar { display: none; }
.forma-carousel.is-moving .fc-viewport { scroll-snap-type: none; }
.forma-carousel .fc-track { display: flex; align-items: start; gap: var(--fc-gap); }
.forma-carousel .fc-slide { flex: 0 0 76%; min-width: 0; scroll-snap-align: start; padding: 0; margin: 0; background: none; border: 0; }
.forma-carousel .fc-slide:only-child { flex-basis: 100%; }
.forma-carousel .fc-track::after { content: ''; height: 1px; flex: 0 0 max(0px, calc(24% - var(--fc-gap) + var(--fc-pad))); }
.forma-carousel.fc-single .fc-track::after { display: none; }
.forma-carousel .fc-card { display: block; color: var(--fc-fg); text-decoration: none; border: 0; box-shadow: none; background: none; padding: 0; margin: 0; user-select: none; -webkit-user-drag: none; }
.forma-carousel .fc-card:hover { color: var(--fc-fg); text-decoration: none; }
.forma-carousel.is-enhanced .fc-cover { cursor: grab; }
.forma-carousel.is-dragging .fc-card, .forma-carousel.is-dragging .fc-cover { cursor: grabbing; }
.forma-carousel .fc-cover { position: relative; isolation: isolate; height: clamp(280px, 32vw, 530px); border-radius: 5px; overflow: hidden; background: #ddfa88; color: #244e36; }
.forma-carousel .fc-slide:nth-child(4n+2) .fc-cover { background: #d9cabc; color: #4b3024; }
.forma-carousel .fc-slide:nth-child(4n+3) .fc-cover { background: #b9aff8; color: #282033; }
.forma-carousel .fc-slide:nth-child(4n+4) .fc-cover { background: #bdcbd7; color: #263d36; }
.forma-carousel .fc-image { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; margin: 0; border: 0; border-radius: 0; transition: transform .6s cubic-bezier(.2,.8,.2,1); pointer-events: none; }
.forma-carousel .fc-card:hover .fc-image { transform: scale(1.035); }
.forma-carousel .fc-has-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(#0006, transparent 32%, transparent 65%, #0004); pointer-events: none; }
.forma-carousel .fc-cover-top { position: absolute; z-index: 2; top: 24px; inset-inline: 26px; display: flex; justify-content: space-between; gap: 20px; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.forma-carousel .fc-has-image .fc-cover-top { color: #fff; text-shadow: 0 1px 4px #000; }
.forma-carousel .fc-art { position: absolute; inset: 0; display: grid; place-items: center; overflow: hidden; background: radial-gradient(ellipse at 50% 110%, #31543235, transparent 70%); }
.forma-carousel .fc-orbit { position: absolute; width: 86%; height: 60%; border: 1px solid currentColor; opacity: .25; border-radius: 50%; transform: rotate(-28deg); }
.forma-carousel .fc-orbit:nth-child(2) { transform: rotate(28deg); }
.forma-carousel .fc-orbit:nth-child(3) { transform: rotate(90deg); }
.forma-carousel .fc-art-title { position: relative; width: 88%; text-align: center; font-size: clamp(34px, 6vw, 100px); line-height: .98; font-weight: 700; letter-spacing: -.065em; overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.forma-carousel .fc-open { position: absolute; z-index: 2; right: 22px; bottom: 22px; padding: 10px 17px; background: #171916; color: #f0f0e8; border-radius: 40px; font-size: 12px; display: flex; align-items: center; gap: 22px; }
.forma-carousel .fc-open span { font-size: 20px; line-height: 1; }
.forma-carousel .fc-caption { display: flex; align-items: start; gap: 16px; padding: 21px 0 4px; }
.forma-carousel .fc-caption-main { min-width: 0; flex: 1; }
.forma-carousel .fc-caption h3 { margin: 0 0 6px; padding: 0; color: var(--fc-fg); font-family: inherit; font-size: 24px; font-weight: 500; line-height: 1.25; letter-spacing: -.035em; overflow-wrap: anywhere; text-transform: none; }
.forma-carousel .fc-caption p { margin: 0; padding: 0; color: var(--fc-muted); font-size: 12px; line-height: 1.6; }
.forma-carousel .fc-tag { color: var(--fc-fg); border: 1px solid var(--fc-border); border-radius: 30px; padding: 7px 12px; font-size: 10px; max-width: 30%; overflow-wrap: anywhere; }
.forma-carousel .fc-year { color: var(--fc-muted); font-size: 11px; padding-top: 8px; }
.forma-carousel .fc-controls { display: flex; align-items: center; gap: 28px; padding: 20px var(--fc-pad) 0; }
.forma-carousel .fc-controls[hidden] { display: none !important; }
.forma-carousel .fc-count { display: flex; gap: 12px; font-size: 12px; white-space: nowrap; }
.forma-carousel .fc-count b { font-weight: 500; }
.forma-carousel .fc-count > span { color: var(--fc-muted); }
.forma-carousel .fc-pagination { flex: 1; display: flex; align-items: center; gap: 5px; max-width: 270px; flex-wrap: wrap; }
.forma-carousel button { -webkit-appearance: none; appearance: none; box-shadow: none; text-transform: none; cursor: pointer; min-width: 0; font: inherit; letter-spacing: normal; }
.forma-carousel .fc-pagination button { position: relative; flex: 1 0 14px; min-width: 14px; height: 32px; padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; }
.forma-carousel .fc-pagination button::after { content: ''; position: absolute; inset: 15px 0 auto; height: 2px; background: var(--fc-border); transition: background .2s; }
.forma-carousel .fc-pagination button[aria-current="true"]::after { background: var(--fc-accent); height: 4px; top: 14px; }
.forma-carousel.fc-light .fc-pagination button[aria-current="true"]::after { background: var(--fc-fg); }
.forma-carousel .fc-hint { margin-inline-start: auto; color: var(--fc-muted); font-size: 9px; letter-spacing: .1em; white-space: nowrap; }
.forma-carousel .fc-hint span { padding-inline-start: 10px; font-size: 18px; }
.forma-carousel .fc-arrows { display: flex; gap: 8px; }
.forma-carousel .fc-arrows button { width: 46px; height: 46px; border: 1px solid var(--fc-border); border-radius: 50%; padding: 0; margin: 0; background: transparent; color: var(--fc-fg); font-family: sans-serif; font-size: 23px; line-height: 1; transition: background .2s, color .2s; }
.forma-carousel .fc-arrows button:hover { color: #171916; background: var(--fc-accent); border-color: var(--fc-accent); }
.forma-carousel button:focus-visible, .forma-carousel a:focus-visible, .forma-carousel .fc-viewport:focus-visible { outline: 2px solid var(--fc-accent); outline-offset: 2px; }
.forma-carousel.fc-light button:focus-visible, .forma-carousel.fc-light a:focus-visible, .forma-carousel.fc-light .fc-viewport:focus-visible { outline-color: var(--fc-fg); }
.forma-carousel .fc-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.forma-carousel.fc-empty { padding: 28px; }
.fc-editor .fc-editor-note { font: 12px/1.6 sans-serif; padding: 12px 16px; color: #444; background: #f0f0f0; border: 1px solid #ddd; }
.fc-editor .fc-editor-preview { pointer-events: none; }
.fc-editor .forma-carousel { margin-block: 0; }
@container (max-width: 850px) {
  .forma-carousel .fc-intro { display: block; }
  .forma-carousel .fc-heading { font-size: clamp(38px, 8cqw, 70px); }
  .forma-carousel .fc-subtitle { margin-top: 20px; max-width: 340px; }
  .forma-carousel .fc-slide { flex-basis: 86%; }
  .forma-carousel .fc-track::after { flex-basis: max(0px, calc(14% - var(--fc-gap) + var(--fc-pad))); }
  .forma-carousel .fc-hint { display: none; }
  .forma-carousel .fc-pagination { max-width: none; }
}
@container (max-width: 520px) {
  .forma-carousel .fc-heading { font-size: 11cqw; }
  .forma-carousel .fc-heading em { padding-inline-start: .12em; display: inline; }
  .forma-carousel .fc-heading sup { font-size: 10px; margin-inline-start: 6px; }
  .forma-carousel .fc-eyebrow { font-size: 8px; }
  .forma-carousel .fc-cover { height: 340px; }
  .forma-carousel .fc-art-title { font-size: 12cqw; }
  .forma-carousel .fc-slide { flex-basis: 94%; }
  .forma-carousel .fc-track::after { flex-basis: max(0px, calc(6% - var(--fc-gap) + var(--fc-pad))); }
  .forma-carousel .fc-caption { gap: 10px; flex-wrap: wrap; }
  .forma-carousel .fc-caption h3 { font-size: 21px; }
  .forma-carousel .fc-tag { padding: 5px 8px; font-size: 9px; }
  .forma-carousel .fc-year { display: none; }
  .forma-carousel .fc-controls { gap: 16px; }
  .forma-carousel .fc-arrows button { width: 42px; height: 42px; }
  .forma-carousel .fc-cover-top { inset-inline: 20px; font-size: 8px; }
}
@media (max-width: 600px) {
  .forma-carousel .fc-intro { display: block; }
  .forma-carousel .fc-subtitle { margin-top: 18px; }
  .forma-carousel .fc-hint { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .forma-carousel *, .forma-carousel *::before, .forma-carousel *::after { transition: none !important; scroll-behavior: auto !important; }
}

/* Metric 1.8.2: preserve the theme's breakout widths and font settings. */
.forma-carousel.fc-metric { font-family: var(--metric-font-body, inherit); }
.forma-carousel.fc-metric.alignfull { width: 100vw; max-width: 100vw; }
.forma-carousel.fc-metric.alignwide { width: min(var(--metric-wide, 1300px), 100vw); max-width: 100vw; }
.forma-carousel.fc-metric .fc-heading,
.forma-carousel.fc-metric .fc-caption h3 { font-family: var(--metric-font-headings, inherit); }
.forma-carousel.fc-metric .fc-heading em { font-family: Georgia, 'Times New Roman', serif; }
.forma-carousel.fc-metric .fc-card:hover { opacity: 1; }
html.metric-a11y-no-motion .forma-carousel *,
body.metric-a11y-no-motion .forma-carousel * { transition: none !important; }
html.metric-a11y-high-contrast .forma-carousel {
  --fc-bg: #050505; --fc-fg: #ffffff; --fc-muted: #ffffff; --fc-accent: #ffeb00 !important; --fc-border: #ffffff;
}
html.metric-a11y-high-contrast .forma-carousel .fc-cover,
html.metric-a11y-high-contrast .forma-carousel .fc-art { background: #050505 !important; color: #ffffff !important; }
html.metric-a11y-high-contrast .forma-carousel .fc-cover { border: 1px solid #ffffff; }
html.metric-a11y-high-contrast .forma-carousel .fc-pagination button[aria-current="true"]::after { background: #ffeb00; }
