.arc-hero { position: relative; height: 100vh; height: 100svh; min-height: 640px; overflow: hidden; background: #111; color: #fff; }
.arc-hero__slides, .arc-hero__slide { position: absolute; inset: 0; }
.arc-hero__slides { animation: arcMask 1.4s cubic-bezier(.22, .9, .28, 1) both; }
.arc-hero__slide { opacity: 0; transition: opacity 1s ease; }
.arc-hero__slide.is-active { opacity: 1; z-index: 1; }
.arc-hero__img { display: block; width: 100%; height: 100%; object-fit: cover; filter: contrast(1.06) saturate(1.03); }
.arc-hero__slide.is-active .arc-hero__img { animation: arcDrift 16s ease-in-out infinite alternate; }
.arc-hero__shade { position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(180deg, rgba(0, 0, 0, .38) 0%, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, .62) 100%); }

.arc-hero__eyebrow { position: absolute; z-index: 3; left: var(--arc-gutter); top: 120px; display: flex; align-items: center; gap: 12px; font-family: var(--arc-font-sans); font-size: 11px; line-height: 1; letter-spacing: .18em; text-transform: uppercase; animation: arcRise 1s .2s ease both; }
.arc-hero__rule { width: 26px; height: 1px; background: rgba(255, 255, 255, .6); }

.arc-hero__tagline { position: absolute; z-index: 3; left: var(--arc-gutter); right: var(--arc-gutter); top: 46.7%; margin: 0; text-align: center; font-family: var(--arc-font-sans); font-weight: 400; font-size: 12px; line-height: 16px; letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .78); animation: arcRise 1s .5s ease both; }

.arc-hero__arrow { position: absolute; z-index: 3; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; padding: 0; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .3); background: rgba(255, 255, 255, .12); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); color: #fff; font-size: 16px; line-height: 1; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .3s ease; }
.arc-hero__arrow:hover { background: rgba(255, 255, 255, .22); }
.arc-hero__arrow--prev { left: clamp(8px, 1.5vw, 28px); }
.arc-hero__arrow--next { right: clamp(8px, 1.5vw, 28px); }

.arc-hero__bar { position: absolute; z-index: 3; left: var(--arc-gutter); right: var(--arc-gutter); bottom: 56px; display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; animation: arcRise 1s .35s ease both; }
.arc-hero__captions { display: grid; }
.arc-hero__caption { grid-area: 1 / 1; opacity: 0; transform: translateY(12px); transition: opacity .8s ease, transform .8s ease; pointer-events: none; }
.arc-hero__caption.is-active { opacity: 1; transform: none; }
.arc-hero__title { margin: 0; font-family: var(--arc-font-serif); font-weight: 400; font-size: clamp(48px, 3.75vw, 72px); line-height: 1; letter-spacing: -.01em; }
.arc-hero__meta { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 28px; font-family: var(--arc-font-sans); font-size: 11px; line-height: 1.2; letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .75); }
.arc-hero__dots { display: flex; gap: 10px; margin-top: 24px; }
.arc-hero__dot { width: 16px; height: 4px; padding: 0; border: 0; border-radius: 2px; background: rgba(255, 255, 255, .4); cursor: pointer; transition: width .35s ease, background .35s ease; }
.arc-hero__dot.is-active { width: 32px; background: #fff; }
.arc-hero__cta { flex: none; }

@media (max-width: 991.98px) {
  .arc-hero__arrow { display: none; }
  .arc-hero__bar { flex-direction: column; align-items: flex-start; gap: 24px; bottom: 40px; }
  .arc-hero__eyebrow { top: 100px; }
}
@media (max-width: 575.98px) {
  .arc-hero { min-height: 560px; }
  .arc-hero__tagline { top: 40%; font-size: 11px; }
}
