#siteAnnouncement[hidden]{display:none !important}

.homepage-announcement{
  --announcement-theme-bg: linear-gradient(135deg, #113c78 0%, #1d5fb7 55%, #5aa3ff 100%);
  position:relative;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 24px 60px rgba(2,6,23,.16);
  color:#fff;
  isolation:isolate;
  background:none;
}

.homepage-announcement.theme-forest{
  --announcement-theme-bg: linear-gradient(135deg, #175b4a 0%, #1f8268 55%, #43b58d 100%);
}

.homepage-announcement.theme-ember{
  --announcement-theme-bg: linear-gradient(135deg, #84410d 0%, #d46614 55%, #f0a33e 100%);
}

.homepage-announcement.theme-neutral{
  --announcement-theme-bg: linear-gradient(135deg, #334155 0%, #475569 55%, #94a3b8 100%);
}

.homepage-announcement::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  transform:scale(1.04);
  background-image:
    linear-gradient(135deg, rgba(3,9,20,.58), rgba(7,30,62,.24)),
    var(--announcement-bg-image, none),
    var(--announcement-theme-bg);
  background-size:cover, cover, cover;
  background-position:center, center, center;
  background-repeat:no-repeat, no-repeat, no-repeat;
}

.homepage-announcement__inner{
  position:relative;
  z-index:1;
  display:grid;
  gap:18px;
  padding:24px clamp(18px, 3vw, 34px);
}

.homepage-announcement__content{
  max-width:760px;
}

.homepage-announcement__eyebrow{
  margin:0 0 10px;
  font-size:.86rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.9;
}

.homepage-announcement__title{
  margin:0 0 10px;
  font-size:clamp(1.5rem, 3vw, 2.4rem);
  line-height:1.08;
}

.homepage-announcement__body{
  font-size:1rem;
  line-height:1.7;
  max-width:70ch;
}

.homepage-announcement__body p{
  margin:0 0 12px;
}

.homepage-announcement__body p:last-child{
  margin-bottom:0;
}

.homepage-announcement__button{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:16px;
  padding:12px 18px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#0f274b;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 14px 28px rgba(2,6,23,.18);
}

.homepage-announcement__button:hover{
  transform:translateY(-1px);
}

.homepage-announcement__ticker{
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.18);
  padding-top:16px;
}

.homepage-announcement__ticker-track{
  display:flex;
  width:max-content;
  min-width:100%;
  animation:homepageAnnouncementMarquee 24s linear infinite;
}

.homepage-announcement__ticker-row{
  display:flex;
  align-items:center;
  gap:12px;
  padding-right:12px;
}

.homepage-announcement__ticker-item{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 14px;
  border-radius:999px;
  font-weight:800;
  white-space:nowrap;
  box-shadow:0 10px 22px rgba(2,6,23,.16);
}

.homepage-announcement__ticker-item:nth-child(3n+1){
  background:rgba(255,255,255,.94);
  color:#0f274b;
}

.homepage-announcement.theme-forest .homepage-announcement__ticker-item:nth-child(3n+1){
  color:#18473f;
}

.homepage-announcement.theme-ember .homepage-announcement__ticker-item:nth-child(3n+1){
  color:#6d3408;
}

.homepage-announcement__ticker-item:nth-child(3n+2){
  background:rgba(255,255,255,.16);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
}

.homepage-announcement__ticker-item:nth-child(3n){
  background:rgba(11,18,32,.28);
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
}

.homepage-announcement--ticker-only .homepage-announcement__inner{
  padding-block:16px;
}

.homepage-announcement--ticker-only .homepage-announcement__ticker{
  border-top:none;
  padding-top:0;
}

.homepage-announcement--ticker-only .homepage-announcement__ticker-item{
  min-height:42px;
  padding:10px 16px;
}

@keyframes homepageAnnouncementMarquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

@media (prefers-reduced-motion: reduce){
  .homepage-announcement__ticker-track{animation:none}
}

@media (max-width: 720px){
  .homepage-announcement__inner{padding:18px}
  .homepage-announcement__ticker-item{min-height:34px;padding:7px 12px;font-size:.92rem}
  .homepage-announcement--ticker-only .homepage-announcement__ticker-item{min-height:38px;padding:8px 13px}
}