.fm-section { background: var(--fm-bg, #f2f0ec); color: var(--fm-text, #171717); padding: var(--fm-space, 64px) 32px; }
.fm-section, .fm-section * { box-sizing: border-box; }
.fm-inner { max-width: var(--fm-width, 1280px); margin: 0 auto; }
.fm-heading { text-align: center; margin-bottom: 48px; }
.fm-heading h2 { color: inherit; margin: 0; overflow-wrap: anywhere; }
.fm-subtitle { margin-top: 20px; font-family: var(--body-font, inherit); font-size: var(--text-2-font-size, inherit); font-weight: var(--design-body-weight, inherit); line-height: var(--text-2-line-height, inherit); letter-spacing: var(--design-body-letter-spacing, normal); color: var(--fm-muted); }
.fm-subtitle p { margin: 0; font-weight: inherit; }
feature-media-tabs { display: block; }
.fm-item { margin: 0 0 28px; min-width: 0; }
.fm-media { width: 100%; aspect-ratio: var(--fm-ratio, 1.6); border-radius: var(--fm-radius, 8px); overflow: hidden; background: color-mix(in srgb, var(--fm-text) 4%, var(--fm-bg)); position: relative; }
.fm-media picture { display: block; height: 100%; width: 100%; }
.fm-media img, .fm-media video { display: block; width: 100%; height: 100%; object-fit: var(--fm-fit, contain); }
.fm-placeholder { display: grid; place-items: center; height: 100%; color: color-mix(in srgb, var(--fm-accent) 45%, var(--fm-bg)); background: radial-gradient(ellipse at 50% 110%, #b5f3e1 0, #dbeeff 45%, transparent 80%); }
.fm-video-fallback { position: absolute; inset: auto 12px 12px; padding: 8px 12px; border-radius: 4px; background: var(--fm-bg); color: var(--fm-muted); font-family: var(--body-font, inherit); font-size: var(--text-5-font-size, inherit); font-weight: var(--design-body-weight, inherit); line-height: var(--text-5-line-height, inherit); letter-spacing: var(--design-body-letter-spacing, normal); text-align: center; }
.fm-copy { min-width: 0; margin-top: 24px; }
.fm-item-heading { margin: 0; }
.fm-select { display: block; width: 100%; padding: 0; margin: 0; border: 0; border-radius: 0; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; text-align: left; background: transparent; cursor: pointer; white-space: normal; }
.fm-eyebrow { display: block; color: var(--fm-accent); font-family: var(--body-font, inherit); font-size: var(--text-4-font-size, inherit); font-weight: var(--design-body-weight, inherit); line-height: var(--text-4-line-height, inherit); letter-spacing: var(--design-body-letter-spacing, normal); text-transform: none; margin-bottom: 6px; overflow-wrap: anywhere; }
.fm-item-title { display: block; overflow-wrap: anywhere; }
.fm-description { margin-top: 16px; font-family: var(--body-font, inherit); font-size: var(--text-3-font-size, inherit); font-weight: var(--design-body-weight, inherit); line-height: var(--text-3-line-height, inherit); letter-spacing: var(--design-body-letter-spacing, normal); overflow-wrap: anywhere; }
.fm-description p { margin: 0 0 12px; font-weight: inherit; }
.fm-description p:last-child { margin-bottom: 0; }
.fm-description a { color: inherit; text-decoration: underline; }
.fm-description img { max-width: 100%; height: auto; }
.fm-section [hidden] { display: none !important; }
.fm-select:focus-visible, .fm-control:focus-visible, .fm-dot:focus-visible { outline: 2px solid var(--fm-accent); outline-offset: 5px; }
feature-media-tabs[data-ready] .fm-items { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .92fr); column-gap: clamp(40px, 6vw, 104px); row-gap: 24px; align-items: start; }
feature-media-tabs[data-ready] .fm-item { display: contents; }
feature-media-tabs[data-ready] .fm-media { grid-column: 1; grid-row: 1 / span var(--fm-count, 1); align-self: center; }
feature-media-tabs[data-ready] .fm-copy { grid-column: 2; grid-row: var(--fm-row); padding-left: 22px; border-left: 2px solid color-mix(in srgb, var(--fm-muted) 45%, transparent); margin: 0; position: relative; color: var(--fm-muted); }
feature-media-tabs[data-ready] .fm-item.is-active .fm-copy { color: var(--fm-text); }
feature-media-tabs[data-ready] .fm-item.is-active .fm-copy::before { content: ""; position: absolute; left: -3px; top: 0; width: 4px; height: 60px; max-height: 100%; border-radius: 4px; background: var(--fm-accent); }
feature-media-tabs[data-ready] .fm-item:not(.is-active) .fm-eyebrow { opacity: .5; }
.fm-controls { display: flex; gap: 16px; align-items: center; justify-content: space-between; margin-top: 30px; }
.fm-dots { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; }
.fm-dot { position: relative; width: 20px; height: 28px; padding: 0; background: transparent; border: 0; color: var(--fm-muted); cursor: pointer; flex: 0 0 auto; }
.fm-dot::before { content: ""; position: absolute; inset: 12px 7px 10px; background: currentColor; border-radius: 1px; opacity: .65; }
.fm-dot[aria-current="true"] { width: 64px; color: var(--fm-accent); }
.fm-dot[aria-current="true"]::before { inset: 12px 0 13px; background: color-mix(in srgb, var(--fm-muted) 55%, transparent); }
.fm-dot[aria-current="true"]::after { content: ""; position: absolute; inset: 12px 0 13px; background: currentColor; transform: scaleX(var(--fm-progress, 1)); transform-origin: left; }
.fm-arrows { display: flex; gap: 8px; flex: 0 0 auto; }
.fm-control { border: 0; border-radius: 2px; background: var(--fm-accent); color: #fff; padding: 0; width: 36px; height: 36px; display: grid; place-items: center; cursor: pointer; }
.fm-control svg { pointer-events: none; }
.fm-toggle .fm-play-icon, .fm-toggle[aria-pressed="true"] .fm-pause-icon { display: none; }
.fm-toggle[aria-pressed="true"] .fm-play-icon { display: block; }
.fm-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (min-width: 960px) { .fm-controls { max-width: 480px; margin-left: auto; } }
@media (max-width: 959px) {
  .fm-section { padding: var(--fm-mobile-space, 36px) 18px; }
  .fm-heading { text-align: left; margin-bottom: 36px; }
  .fm-subtitle { margin-top: 14px; }
  feature-media-tabs[data-ready] .fm-items { display: block; }
  feature-media-tabs[data-ready] .fm-item { display: block; margin: 0; }
  feature-media-tabs[data-ready] .fm-item:not(.is-active) { display: none; }
  .fm-media { aspect-ratio: var(--fm-mobile-ratio, 1.25); touch-action: pan-y pinch-zoom; }
  feature-media-tabs[data-ready] .fm-copy { padding: 0; border: 0; margin-top: 36px; }
  feature-media-tabs[data-ready] .fm-item.is-active .fm-copy::before { display: none; }
  .fm-eyebrow { margin-bottom: 16px; }
  .fm-description { color: var(--fm-muted); margin-top: 18px; min-height: var(--fm-description-height, 0px); }
  .fm-controls { margin-top: 34px; gap: 8px; }
  .fm-dots { gap: 4px; }
  .fm-dot { width: 16px; }
  .fm-dot::before { left: 5px; right: 5px; }
  .fm-dot[aria-current="true"] { width: 56px; }
  .fm-control { width: 34px; height: 34px; }
}
@media (prefers-reduced-motion: no-preference) { .fm-item.is-active .fm-media { animation: fm-reveal .3s ease; } @keyframes fm-reveal { from { opacity: .5; } to { opacity: 1; } } }
