.tlcs-slider {
  --control-bg: #171717;
  box-sizing: border-box;
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: var(--desktop-height, 600px);
  overflow: hidden;
  background: var(--control-bg);
  color: #fff;
  isolation: isolate;
  font-family: var(--tlc-font-sans, system-ui, sans-serif);
}
.tlcs-slider *, .tlcs-slider *::before, .tlcs-slider *::after { box-sizing: border-box; }
.tlcs-stage { position: relative; flex: 1; min-height: 0; touch-action: pan-y; }
.tlcs-slide {
  position: absolute; inset: 0; display: flex; flex-direction: column;
  overflow: hidden; visibility: hidden; opacity: 0; pointer-events: none;
  background: var(--slide-bg); color: var(--slide-color);
  transition: opacity 350ms ease, visibility 0s linear 350ms;
}
.tlcs-slide.is-active { visibility: visible; opacity: 1; pointer-events: auto; transition-delay: 0s; }
.tlcs-picture { display: block; min-height: 0; }
.tlcs-picture img { display: block; width: 100%; height: 100%; max-width: none; object-fit: var(--fit); object-position: var(--x) var(--y); }
.tlcs-slide--poster .tlcs-picture { flex: 1; overflow: hidden; }
.tlcs-poster-action { flex: 0 0 auto; display: flex; justify-content: center; padding: 10px 16px; }
.tlcs-slider .tlcs-button {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; max-width: 100%; padding: 11px 24px;
  border: 1px solid transparent; border-radius: 999px;
  color: var(--button-color); background: var(--button-bg);
  font: inherit; font-size: 14px; font-weight: 750; line-height: 1.3;
  text-align: center; text-decoration: none; overflow-wrap: anywhere;
}
.tlcs-slider .tlcs-button:hover { filter: brightness(.94); }
.tlcs-slider a:focus-visible, .tlcs-slider button:focus-visible { outline: 3px solid currentColor; outline-offset: -4px; }
.tlcs-slide--composition .tlcs-picture { position: absolute; inset: 0; }
.tlcs-slide--composition::after { content: ''; position: absolute; inset: 0; background: #000; opacity: var(--overlay); pointer-events: none; }
.tlcs-slide--composition.tlcs-fit--contain .tlcs-picture { left: var(--text-width); padding: 24px; }
.tlcs-content { position: relative; z-index: 1; width: var(--text-width); max-height: 100%; margin-block: auto; padding: clamp(20px, 3vw, 60px); overflow: auto; }
.tlcs-slider .tlcs-content h2 { margin: 0 0 16px; color: inherit; font-size: clamp(20px, 3.6vw, var(--title)); font-weight: 750; line-height: 1.12; letter-spacing: -.025em; overflow-wrap: anywhere; }
.tlcs-slider .tlcs-eyebrow { margin: 0 0 12px; font-size: 13px; font-weight: 700; letter-spacing: .06em; line-height: 1.4; }
.tlcs-slider .tlcs-description { margin: 0 0 20px; font-size: clamp(15px, 1.35vw, 20px); line-height: 1.45; overflow-wrap: anywhere; }
.tlcs-align--center .tlcs-content { align-self: center; text-align: center; }
.tlcs-align--right .tlcs-content { align-self: flex-end; text-align: right; }
.tlcs-position--top .tlcs-content { margin-top: 0; }
.tlcs-position--bottom .tlcs-content { margin-bottom: 0; }
.tlcs-controls {
  flex: 0 0 56px; display: flex; align-items: center; justify-content: center;
  gap: 4px; padding: 6px 12px; color: #fff; background: var(--control-bg);
}
.tlcs-controls[hidden] { display: none; }
.tlcs-slider .tlcs-controls button {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 44px; min-height: 44px; margin: 0; padding: 4px;
  border: 0; border-radius: 8px; color: inherit; background: transparent;
  font-family: inherit; line-height: 1; cursor: pointer;
}
.tlcs-slider .tlcs-controls button:hover { background: #393939; }
.tlcs-slider .tlcs-arrow { font-size: 24px; }
.tlcs-slider .tlcs-toggle { min-width: 62px; font-size: 12px; font-weight: 700; }
.tlcs-dots { display: flex; min-width: 0; overflow: auto; scrollbar-width: thin; }
.tlcs-slider .tlcs-dot { min-width: 24px; }
.tlcs-dot span { display: block; width: 7px; height: 7px; border-radius: 999px; background: #999; }
.tlcs-dot.is-active span { width: 18px; background: #fac344; }
.tlcs-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (min-width: 768px) and (max-width: 1024px) { .tlcs-slider { height: var(--tablet-height, 540px); } }
@media (max-width: 767px) {
  .tlcs-slider { height: var(--mobile-height, 520px); }
  .tlcs-picture img { object-fit: var(--mobile-fit); object-position: var(--mx) var(--my); }
  .tlcs-content { width: 100%; padding: 22px; }
  .tlcs-slider .tlcs-content h2 { font-size: var(--mobile-title); margin-bottom: 12px; }
  .tlcs-slider .tlcs-description { font-size: 16px; margin-bottom: 16px; }
  .tlcs-slide--composition.tlcs-mobile-fit--contain { display: grid; grid-template-rows: minmax(0, 1fr) 35%; }
  .tlcs-slide--composition.tlcs-mobile-fit--contain .tlcs-picture { position: relative; inset: auto; grid-row: 2; padding: 8px 20px 12px; }
  .tlcs-slide--composition.tlcs-mobile-fit--contain .tlcs-content { grid-row: 1; grid-column: 1; align-self: center; margin: 0; }
  .tlcs-slide--composition.tlcs-mobile-fit--cover .tlcs-picture { inset: 0; padding: 0; }
  .tlcs-poster-action { padding-block: 8px; }
}
@media (prefers-reduced-motion: reduce) { .tlcs-slide { transition: none; } }
/* Keep the image and text in separate columns in the uncropped desktop layout. */
@media (min-width: 768px) {
  .tlcs-slide--composition.tlcs-fit--contain.tlcs-align--right .tlcs-picture { left: 0; right: var(--text-width); }
  .tlcs-slide--composition.tlcs-fit--contain.tlcs-align--center .tlcs-content { align-self: flex-start; }
}
