/* A fixed-size word slot keeps the photograph, supporting copy and CTA still. */
.hero h1 .headline-fixed { display: block; }
.headline-frame { display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; isolation: isolate; padding-block: .09em; line-height: 1.12; color: var(--headline-color, #c3e7d2); }
.headline-word { grid-area: 1 / 1; display: block; white-space: normal; min-width: 0; opacity: 0; visibility: hidden; transform: translateY(115%); }
.headline-word.is-current { opacity: 1; visibility: visible; transform: translateY(0); }
.headline-frame.is-ready .headline-word { transition: transform 520ms cubic-bezier(.22,.7,.15,1), opacity 360ms ease; }
.headline-frame.is-ready .headline-word.is-leaving { opacity: 0; visibility: visible; transform: translateY(-115%); }
.headline-readable { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.headline-toggle { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 8px 0; color: inherit; background: none; border: 0; font: inherit; cursor: pointer; text-align: left; }
.headline-toggle[hidden] { display: none; }
.headline-toggle:hover { color: #fff; }
.headline-toggle:focus-visible { outline: 2px solid #c3e7d2; outline-offset: 5px; border-radius: 2px; }
.headline-toggle-icon { font-size: 12px; width: 14px; text-align: center; }
@media (prefers-reduced-motion: reduce) { .headline-frame .headline-word { transition: none !important; } }
