/* Ask AP: a discreet, voice-led information point within the Home hero. */
.hero-ask-slot { width: min(25rem, 100%); justify-self: end; pointer-events: auto; }
.ask-ap { width: 100%; padding: .5rem .62rem .55rem; color: var(--white); border: 1px solid rgba(248,247,242,.42); background: rgba(17,23,21,.54); backdrop-filter: blur(8px); }
.ask-row { display: flex; align-items: center; gap: .35rem; min-width: 0; }
.ask-mic, .ask-sound, .ask-audio-action { border: 0; background: transparent; color: inherit; cursor: pointer; }
.ask-mic { display: inline-flex; align-items: center; gap: .42rem; min-width: 0; margin: 0; padding: .28rem 0; font-size: .65rem; line-height: 1.25; letter-spacing: .075em; text-align: left; text-transform: uppercase; }
.ask-mic svg, .ask-sound svg { flex: 0 0 auto; width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.ask-prompt { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ask-brand { margin-left: auto; font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.ask-sound { position: relative; display: grid; place-items: center; width: 27px; height: 27px; padding: 5px; opacity: .8; }
.ask-sound.is-muted::after { content: ''; position: absolute; width: 21px; height: 1px; background: currentColor; transform: rotate(-45deg); }
.ask-audio-action { flex: 0 0 auto; min-height: 28px; padding: .16rem .18rem; border-bottom: 1px solid currentColor; font-size: .62rem; letter-spacing: .06em; text-transform: uppercase; }
.ask-mic:disabled { opacity: .45; cursor: default; }
.ask-ap.is-recording .ask-mic { padding-inline: .25rem; color: var(--ink); background: var(--accent); }
.ask-form { display: flex; align-items: baseline; gap: .45rem; margin-top: .28rem; padding-top: .34rem; border-top: 1px solid rgba(248,247,242,.33); }
.ask-form label { flex: 0 0 auto; font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.ask-form input { width: 100%; min-width: 0; padding: .22rem 0; border: 0; background: transparent; color: inherit; font: inherit; font-size: .83rem; line-height: 1.35; }
.ask-form input::placeholder { color: inherit; opacity: .72; }
.ask-form input:focus-visible, .ask-mic:focus-visible, .ask-sound:focus-visible, .ask-audio-action:focus-visible { outline: 1px solid currentColor; outline-offset: 3px; }
.ask-ap[hidden], .ask-ap [hidden] { display: none !important; }
.ask-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.ask-visible-status { display: block; margin-top: .35rem; font-size: .76rem; line-height: 1.4; max-height: 9rem; overflow-y: auto; overflow-wrap: anywhere; }
@media (max-width: 760px) { .hero-ask-slot { width: min(100%, 25rem); justify-self: start; } .ask-ap { padding: .46rem .55rem .5rem; } .ask-prompt { font-size: .6rem; } }
@media (max-width: 390px) { .ask-prompt { display: none; } .ask-mic { padding-inline: .15rem; } .ask-form input { font-size: .76rem; } }
@media (prefers-reduced-motion: reduce) { .ask-ap { backdrop-filter: none; } }
