.announcement-bar { background: #111827; color: white; border-top: 1px solid rgba(255,255,255,.08); }
.announcement-bar__inner { position: relative; min-height: 42px; }
.announcement-bar button { position: absolute; top: 50%; z-index: 4; width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border: 0; background: transparent; color: white; font-size: 1.5rem; line-height: 1; cursor: pointer; opacity: .8; transform: translateY(-50%); }
.announcement-bar button:hover { opacity: 1; }
.announcement-bar [data-announcement-prev] { left: 0; }
.announcement-bar [data-announcement-next] { right: 0; }
.announcement-bar__viewport { position: relative; width: 100%; min-width: 0; min-height: 42px; overflow: hidden; }
.announcement-item { position: absolute; top: 0; bottom: 0; left: 46px; right: 46px; min-width: 0; display: flex; align-items: center; justify-content: center; gap: 12px; text-align: center; opacity: 0; transform: translateY(8px); transition: opacity .28s ease, transform .28s ease; pointer-events: none; font-size: .9rem; font-weight: 700; }
.announcement-item > span { flex: 1 1 auto; width: auto; min-width: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; word-break: normal; overflow-wrap: normal; }
.announcement-item.is-active { opacity: 1; transform: translateY(0); pointer-events: auto; }
.announcement-item a { flex: 0 0 auto; color: #cfe0ff; white-space: nowrap; }
.marketing-hero { background: #080b10; color: white; }
.marketing-hero__viewport { position: relative; overflow: hidden; min-height: clamp(320px, 43vw, 610px); }
.marketing-hero__track { display: flex; height: 100%; will-change: transform; }
.marketing-hero__slide { position: relative; min-width: 100%; height: clamp(320px, 43vw, 610px); overflow: hidden; }
.marketing-hero__slide > img { width: 100%; height: 100%; object-fit: cover; display: block; }
.marketing-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,9,15,.76) 0%, rgba(5,9,15,.46) 42%, rgba(5,9,15,.04) 76%); }
.marketing-hero__content { position: absolute; inset: 0; display: flex; align-items: center; pointer-events: none; }
.marketing-hero__copy { max-width: 660px; padding: 46px 0; pointer-events: auto; }
.marketing-hero__copy .eyebrow { color: #b9cdfa; }
.marketing-hero__copy h1 { margin: 9px 0 14px; max-width: 760px; color: white; font-size: clamp(2rem, 5vw, 4.5rem); line-height: .98; letter-spacing: -.05em; text-wrap: balance; }
.marketing-hero__copy p { max-width: 620px; margin: 0 0 22px; color: #e2e8f0; font-size: clamp(.95rem, 1.4vw, 1.15rem); line-height: 1.65; }
.marketing-hero__control { position: absolute; top: 50%; z-index: 4; width: 46px; height: 46px; display: grid; place-items: center; transform: translateY(-50%); border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: rgba(7,12,19,.45); color: white; font-size: 1.7rem; cursor: pointer; backdrop-filter: blur(8px); }
.marketing-hero__control--prev { left: 18px; }
.marketing-hero__control--next { right: 18px; }
.marketing-hero__dots { position: absolute; z-index: 5; left: 50%; bottom: 18px; display: flex; gap: 7px; transform: translateX(-50%); }
.marketing-hero__dots button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,.48); cursor: pointer; transition: width .2s ease, background .2s ease; }
.marketing-hero__dots button.is-active { width: 28px; background: white; }
@media (max-width: 760px) {
  .marketing-hero__shade { background: linear-gradient(90deg, rgba(5,9,15,.78), rgba(5,9,15,.34)); }
  .marketing-hero__copy { padding: 38px 18px; }
  .marketing-hero__control { width: 38px; height: 38px; }
  .marketing-hero__control--prev { left: 8px; }
  .marketing-hero__control--next { right: 8px; }
  .announcement-bar__inner { min-height: 54px; }
  .announcement-bar button { width: 30px; height: 42px; font-size: 1.3rem; }
  .announcement-bar__viewport { min-height: 54px; }
  .announcement-item { left: 36px; right: 36px; gap: 4px; flex-direction: column; justify-content: center; font-size: .78rem; }
  .announcement-item > span { flex: 0 1 auto; width: 100%; overflow: visible; text-overflow: clip; white-space: normal; word-break: normal; overflow-wrap: normal; line-height: 1.25; }
  .announcement-item a { flex: 0 0 auto; }
}
@media (prefers-reduced-motion: reduce) {
  .announcement-item { transition: none; }
  .marketing-hero__track { transition: none !important; }
}
