.em26-home-announcement {
  --em26-announcement-accent: var(--em26-cobalt);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 1rem;
  align-items: center;
  padding: 0.75rem clamp(1rem, 3vw, 2.5rem);
  border-bottom: 1px solid color-mix(in srgb, var(--em26-announcement-accent) 30%, transparent);
  background: color-mix(in srgb, var(--em26-announcement-accent) 9%, var(--em26-paper));
  color: var(--em26-ink);
}
.em26-home-announcement--magenta { --em26-announcement-accent: var(--em26-magenta); }
.em26-home-announcement--turquoise { --em26-announcement-accent: var(--em26-turquoise); }
.em26-home-announcement--saffron { --em26-announcement-accent: var(--em26-saffron); }
.em26-home-announcement p { margin: 0; font-size: clamp(0.875rem, 1.2vw, 1rem); }
.em26-home-announcement a { font-weight: 750; color: var(--em26-announcement-accent); text-decoration-thickness: 2px; }
.em26-home-announcement button { min-width: 2.75rem; min-height: 2.75rem; border: 1px solid currentColor; border-radius: 50%; background: transparent; color: inherit; }

.em26-home-real-service-policy {
  padding: 0.9rem clamp(1rem, 4vw, 4rem);
  background: var(--em26-ink);
  color: var(--em26-paper);
  text-align: center;
}
.em26-home-real-service-policy p { max-width: 78rem; margin: 0 auto; font-weight: 650; font-size: clamp(0.8rem, 1.2vw, 0.95rem); }

.em26-home-real-faq__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}
.em26-home-real-faq details { border: 1px solid var(--em26-border); border-radius: 0.75rem; background: var(--em26-surface); }
.em26-home-real-faq summary { cursor: pointer; padding: 1rem 3rem 1rem 1rem; font-weight: 760; list-style: none; position: relative; }
.em26-home-real-faq summary::-webkit-details-marker { display: none; }
.em26-home-real-faq summary::after { content: "+"; position: absolute; right: 1rem; top: 50%; translate: 0 -50%; color: var(--em26-cobalt); font-size: 1.35rem; }
.em26-home-real-faq details[open] summary::after { content: "−"; }
.em26-home-real-faq details p { margin: 0; padding: 0 1rem 1rem; color: var(--em26-muted); }

@media (max-width: 47.99rem) {
  .em26-home-announcement { grid-template-columns: minmax(0, 1fr) auto; }
  .em26-home-announcement p { grid-column: 1 / -1; }
  .em26-home-real-faq__grid { grid-template-columns: minmax(0, 1fr); }
}

/* Managed announcement strip (owner review, 26 Oct 18:36): a quiet plate in the hero's own column, not a raw full-width band.
   Accent only on the left rule and the tag; text and link stay ink so contrast holds for every accent. */
.em26-home-real .em26-home-announcement {
  --em26-ann-line: var(--em26-announcement-accent);
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.875rem;
  margin: 0 0 1rem;
  padding: 0.5rem 0.5rem 0.5rem 1.25rem;
  border: 1px solid var(--em26-border, rgba(22, 53, 61, 0.14));
  border-radius: 0.75rem;
  background: var(--em26-surface, #fffefa);
  color: var(--em26-ink);
  overflow: hidden;
}
.em26-home-real .em26-home-announcement::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 0.3125rem; background: var(--em26-ann-line); }
.em26-home-real .em26-home-announcement__tag {
  flex: 0 0 auto;
  padding: 0.25rem 0.625rem;
  border-radius: 0.375rem;
  background: color-mix(in srgb, var(--em26-announcement-accent) 14%, var(--em26-surface, #fffefa));
  color: var(--em26-ink);
  font: 650 0.6875rem/1.2 "IBM Plex Mono", Consolas, monospace;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.em26-home-real .em26-home-announcement p { flex: 1 1 18rem; margin: 0; font-size: 0.9375rem; line-height: 1.45; color: var(--em26-ink); }
.em26-home-real .em26-home-announcement a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: 0.375rem;
  padding: 0 0.875rem;
  border-radius: 0.5rem;
  color: var(--em26-ink);
  font-weight: 750;
  text-decoration: underline;
  text-decoration-color: var(--em26-announcement-accent);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.25em;
}
.em26-home-real .em26-home-announcement a:hover { background: color-mix(in srgb, var(--em26-announcement-accent) 10%, transparent); }
.em26-home-real .em26-home-announcement a:focus-visible,
.em26-home-real .em26-home-announcement button:focus-visible { outline: 3px solid var(--em26-cobalt); outline-offset: 2px; }
.em26-home-real .em26-home-announcement button { display: inline-grid; place-items: center; width: 2.75rem; min-width: 2.75rem; height: 2.75rem; border: 0; border-radius: 0.5rem; background: transparent; color: var(--em26-muted, #5b6b70); cursor: pointer; }
.em26-home-real .em26-home-announcement button:hover { background: rgba(22, 53, 61, 0.06); color: var(--em26-ink); }
.em26-home-real .em26-home-announcement a { margin-left: auto; }
@media (max-width: 47.99rem) {
  .em26-home-real .em26-home-announcement { padding: 0.625rem 0.75rem 0.25rem 1.125rem; gap: 0.375rem; }
  .em26-home-real .em26-home-announcement p { flex-basis: 100%; font-size: 0.875rem; }
  .em26-home-real .em26-home-announcement a { margin-left: -0.875rem; }
}
/* Comparison only (?strip=top): the old place, full-bleed above the header. */
.em26-home-real > .em26-home-announcement { margin: 0; padding-inline: max(1rem, calc((100% - 78rem) / 2)); border-width: 0 0 1px; border-radius: 0; }
