.term-hero-slider,
.term-hero-slider * { box-sizing: border-box; }
.term-hero-slider { position: relative; width: 100%; height: var(--term-slider-height); min-height: 560px; overflow: hidden; background: #050709; color: #fff; }
.term-hero-track,
.term-hero-slide,
.term-hero-media,
.term-hero-shade { position: absolute; inset: 0; }
.term-hero-slide { opacity: 0; visibility: hidden; transition: opacity .65s ease; }
.term-hero-slide.is-active { opacity: 1; visibility: visible; z-index: 1; }
.term-hero-media img,
.term-hero-media video { width: 100%; height: 100%; display: block; object-fit: cover; }
.term-hero-shade { background: linear-gradient(90deg, rgba(5,7,9,var(--term-overlay)) 0%, transparent 68%), linear-gradient(0deg, rgba(5,7,9,.42) 0%, transparent 58%); }
.term-hero-content { position: absolute; z-index: 2; left: clamp(28px,4vw,76px); right: clamp(28px,4vw,76px); bottom: clamp(56px,9vh,110px); max-width: 720px; }
.term-hero-slide.align-center .term-hero-content { left: 50%; right: auto; width: min(90%,800px); max-width: none; text-align: center; transform: translateX(-50%); }
.term-hero-slide.align-right .term-hero-content { left: auto; text-align: right; }
.term-hero-slide.is-dark { color: #050709; }
.term-hero-eyebrow { margin: 0 0 14px; color: #f03e22; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.term-hero-content h2 { margin: 0; font-size: clamp(42px,4vw,76px); font-weight: 800; letter-spacing: -.04em; line-height: 1; }
.term-hero-description { max-width: 620px; margin: 22px 0 0; font-size: clamp(16px,1.2vw,20px); line-height: 1.5; }
.align-center .term-hero-description { margin-inline: auto; }
.align-right .term-hero-description { margin-left: auto; }
.term-hero-button { display: inline-flex; margin-top: 28px; padding: 14px 28px; border-radius: 999px; background: #f03e22; color: #fff !important; text-decoration: none; font-size: 14px; font-weight: 800; letter-spacing: .02em; transition: background .2s ease, transform .2s ease; }
.term-hero-button:hover { background: #2c466b; transform: translateY(-2px); }
.term-hero-controls { position: absolute; z-index: 3; right: clamp(24px,3vw,56px); bottom: 20px; display: flex; align-items: center; gap: 20px; }
.term-hero-dots { display: flex; align-items: center; gap: 11px; }
.term-hero-dots button { width: 64px; height: 5px; padding: 0; border: 0; border-radius: 99px; background: rgba(255,255,255,.28); cursor: pointer; transition: background .25s ease; }
.term-hero-dots button.is-active { background: #fff; }
.term-hero-playback { position: relative; width: 64px; height: 64px; padding: 0; border: 1.5px solid #fff; border-radius: 50%; background: rgba(5,7,9,.18); color: #fff; cursor: pointer; backdrop-filter: blur(3px); }
.term-icon-pause,
.term-icon-pause::after { position: absolute; top: 21px; width: 3px; height: 21px; background: #fff; }
.term-icon-pause { left: 26px; }
.term-icon-pause::after { content: ""; top: 0; left: 9px; }
.term-icon-play { display: none; position: absolute; left: 26px; top: 20px; width: 0; height: 0; border-top: 11px solid transparent; border-bottom: 11px solid transparent; border-left: 17px solid #fff; }
.term-hero-playback.is-paused .term-icon-pause { display: none; }
.term-hero-playback.is-paused .term-icon-play { display: block; }
.term-slider-empty { padding: 32px; background: #e1e2dc; color: #050709; text-align: center; font-weight: 700; }

@media (max-width: 767px) {
  .term-hero-slider { height: calc(100svh - 68px); min-height: 540px; max-height: 760px; }
  .term-hero-content { left: 24px; right: 24px; bottom: 112px; }
  .term-hero-content h2 { font-size: clamp(38px,12vw,58px); }
  .term-hero-description { font-size: 16px; }
  .term-hero-controls { right: 20px; bottom: 22px; gap: 13px; }
  .term-hero-dots { gap: 7px; }
  .term-hero-dots button { width: 28px; height: 4px; }
  .term-hero-playback { width: 50px; height: 50px; }
  .term-icon-pause,
  .term-icon-pause::after { top: 16px; height: 18px; }
  .term-icon-pause { left: 20px; }
  .term-icon-pause::after { top: 0; left: 8px; }
  .term-icon-play { left: 20px; top: 15px; border-top-width: 10px; border-bottom-width: 10px; border-left-width: 15px; }
  .term-hero-slide.align-right .term-hero-content { text-align: left; left: 24px; right: 24px; }
  .term-hero-slide.align-center .term-hero-content { width: calc(100% - 48px); }
}

@media (prefers-reduced-motion: reduce) {
  .term-hero-slide,
  .term-hero-button,
  .term-hero-dots button { transition: none; }
}
