:root { --site-announcement-height:34px; }
.site-announcement {
  position:sticky;
  top:0;
  z-index:61;
  display:flex;
  height:var(--site-announcement-height);
  overflow:hidden;
  background:#718577;
  color:#faf8f3;
  font:12px/1.5 var(--sans, sans-serif);
  letter-spacing:.08em;
}
.site-announcement-link { display:flex; align-items:center; flex:1; min-width:0; overflow:hidden; color:inherit; text-decoration:none; }
.site-announcement-track { display:flex; width:max-content; animation:site-announcement-scroll 50s linear infinite; }
.site-announcement-group { display:flex; align-items:center; justify-content:space-around; flex-shrink:0; min-width:calc(100vw - 36px); gap:64px; padding:0 32px; }
.site-announcement-group span { flex-shrink:0; white-space:nowrap; }
.site-announcement-toggle { flex:0 0 36px; padding:0; border:0; background:transparent; color:inherit; font:16px/1 sans-serif; cursor:pointer; }
.site-announcement-toggle[hidden] { display:none; }
.site-announcement-link:focus-visible,.site-announcement-toggle:focus-visible { outline:1px solid currentColor; outline-offset:-4px; }
.site-announcement:hover .site-announcement-track,
.site-announcement:focus-within .site-announcement-track,
.site-announcement.is-paused .site-announcement-track { animation-play-state:paused; }
@keyframes site-announcement-scroll { to { transform:translateX(-50%); } }

/* Each sticky row starts directly below the row above it. */
html body .site-header { top:var(--site-announcement-height) !important; }
html body .wedding-nav { top:calc(var(--site-announcement-height) + var(--site-header-height)) !important; }
html { scroll-padding-top:calc(240px + var(--site-announcement-height)); }
@media(max-width:600px) {
  html body .wedding-menu-toggle { top:calc(var(--site-announcement-height) + var(--site-header-height)); }
  html body .wedding-nav { top:calc(var(--site-announcement-height) + var(--site-header-height) + 52px) !important; }
  html { scroll-padding-top:calc(260px + var(--site-announcement-height)); }
}
@media(prefers-reduced-motion:reduce) {
  .site-announcement-track { width:100%; animation:none; }
  .site-announcement-group { width:100%; min-width:0; padding:0 12px; }
  .site-announcement-group + .site-announcement-group,
  .site-announcement-group span + span,
  .site-announcement-toggle { display:none; }
}
