.h9-voice {
  position: relative;
  isolation: isolate;
  padding: var(--h9-voice-space) var(--space-4);
  color: var(--h8-expertise-text);
  background: var(--h8-expertise-background);
  font-family: var(--font-body);
  border-top: var(--h9-voice-rule);
}
.h9-voice [hidden] { display: none !important; }
.h9-voice__intro { max-width: var(--h9-voice-copy-width); margin: 0 auto var(--space-6); text-align: center; }
.h9-voice__eyebrow { color: var(--brand-primary); font-size: var(--h8-expertise-eyebrow-size); letter-spacing: var(--h9-voice-eyebrow-tracking); font-weight: 600; text-transform: uppercase; margin: 0 0 var(--space-4); }
.h9-voice h2 { font-size: var(--h9-voice-title); line-height: var(--h9-voice-leading); letter-spacing: var(--h8-expertise-tight-tracking); margin: 0 0 var(--space-4); color: var(--h8-expertise-text); }
.h9-voice__intro > p:last-child { font-size: var(--h9-voice-copy); line-height: 1.65; color: var(--h8-expertise-muted); margin: 0; }
.h9-voice__panel { max-width: var(--h9-voice-width); margin: auto; padding: var(--h9-voice-padding); border: var(--h8-expertise-border); border-radius: var(--h9-voice-radius); background: var(--h9-voice-panel); box-shadow: var(--h9-voice-glow); text-align: center; }
.h9-voice__identity { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding-bottom: var(--space-5); border-bottom: var(--h9-voice-rule); font-size: var(--h9-voice-small); color: var(--h8-expertise-muted); }
.h9-voice__identity strong { color: var(--h8-expertise-text); font-weight: 600; }
.h9-voice__wave { display: flex; align-items: center; justify-content: center; height: var(--h9-voice-wave-height); gap: var(--h9-voice-wave-gap); margin-top: var(--space-5); }
.h9-voice__wave span { width: var(--h9-voice-wave-width); height: 70%; border-radius: var(--h9-voice-button-radius); background: var(--h9-voice-wave-tone); transform: scaleY(.25); }
.h9-voice__wave span:nth-child(2), .h9-voice__wave span:nth-child(6) { transform: scaleY(.5); }
.h9-voice__wave span:nth-child(3), .h9-voice__wave span:nth-child(5) { transform: scaleY(.75); }
.h9-voice__wave span:nth-child(4) { transform: scaleY(1); }
.h9-voice[data-voice-state="speaking"] .h9-voice__wave span { animation: h9-voice-speaking var(--h9-voice-wave-speed) ease-in-out infinite alternate; }
.h9-voice[data-voice-state="speaking"] .h9-voice__wave span:nth-child(even) { animation-direction: alternate-reverse; }
.h9-voice[data-voice-visible="false"] .h9-voice__wave span { animation-play-state: paused; }
@keyframes h9-voice-speaking { from { transform: scaleY(var(--h9-voice-wave-low)); } to { transform: scaleY(var(--h9-voice-wave-high)); } }
.h9-voice__status { font-size: var(--h9-voice-copy); line-height: 1.6; margin: var(--space-3) 0 var(--space-5); color: var(--h8-expertise-text); }
.h9-voice__button { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-3); min-height: var(--h9-voice-button-height); padding: var(--space-3) var(--h9-voice-button-pad); border: var(--h8-expertise-border); border-radius: var(--h9-voice-button-radius); font: 600 var(--h9-voice-copy)/1.25 var(--font-body); background: var(--h9-voice-quiet); color: var(--h8-expertise-text); cursor: pointer; }
.h9-voice__button--start { background: var(--h9-voice-button-bg); color: var(--h9-voice-button-ink); border-color: var(--h9-voice-wave-tone); }
.h9-voice__button--end { color: var(--h9-voice-end); background: var(--h9-voice-end-bg); border-color: currentColor; }
.h9-voice__button:disabled { opacity: .5; cursor: wait; }
.h9-voice__button:hover:not(:disabled) { filter: brightness(1.08); }
.h9-voice :is(button,a):focus-visible { outline: var(--space-1) solid var(--h9-voice-wave-tone); outline-offset: var(--space-1); }
.h9-voice__controls { display: flex; justify-content: center; gap: var(--space-3); flex-wrap: wrap; }
.h9-voice__timer { align-self: center; min-width: 5ch; font-variant-numeric: tabular-nums; font-size: var(--h9-voice-small); }
.h9-voice__prompts { display: flex; justify-content: center; flex-wrap: wrap; gap: var(--space-2) var(--space-5); padding: 0; list-style: none; margin: var(--space-5) 0 0; color: var(--h8-expertise-muted); font-size: var(--h9-voice-small); line-height: 1.7; }
.h9-voice__notice { max-width: var(--h9-voice-copy-width); margin: var(--space-5) auto 0; color: var(--h8-expertise-muted); font-size: var(--h9-voice-small); line-height: 1.7; }
.h9-voice__notice a { color: var(--h9-voice-wave-tone); text-underline-offset: var(--space-1); }
.h9-voice__captions { max-height: var(--h9-voice-caption-height); overflow-y: auto; overscroll-behavior: contain; margin: var(--space-5) 0 0; padding: var(--space-4); border-radius: var(--h9-voice-caption-radius); background: var(--h9-voice-caption-bg); text-align: left; scrollbar-color: var(--h8-expertise-muted) transparent; }
.h9-voice__utterance { margin: 0 0 var(--space-4); font-size: var(--h9-voice-copy); line-height: 1.6; overflow-wrap: anywhere; }
.h9-voice__utterance strong { display: block; color: var(--h9-voice-wave-tone); font-size: var(--h9-voice-small); }
.h9-voice__utterance--visitor strong { color: var(--h8-expertise-muted); }
@media (prefers-reduced-motion: reduce) { .h9-voice__wave span { animation: none !important; } }
@media (max-width: 480px) { .h9-voice__identity { align-items: flex-start; text-align: left; } .h9-voice__identity > span { text-align: right; } }
