/* V4.1 Voice Concierge · Emerald / Ivory / Gold · accessible light/dark */
.vn-spotlight,.vn-overlay {font-family:'Manrope',system-ui,sans-serif;box-sizing:border-box}
.vn-spotlight *,.vn-overlay * {box-sizing:border-box}
.vn-spotlight {position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:94px 1fr auto;gap:26px;align-items:center;padding:31px 35px;margin-bottom:22px;background:linear-gradient(113deg,#15372e 5%,#1b5443 65%,#264c3c);border:1px solid rgba(217,188,131,.55);box-shadow:0 20px 50px rgba(24,59,47,.16);color:#f8f4e9;border-radius:6px}
.vn-spotlight-glow {position:absolute;inset:-100px -10% auto auto;width:330px;height:330px;border-radius:50%;border:1px solid #e2c78c35;box-shadow:0 0 0 52px #e2c78c09,0 0 0 115px #e2c78c07;pointer-events:none;z-index:-1}
.vn-spotlight-emblem {display:grid;place-items:center;width:76px;height:76px;border-radius:50%;border:1px solid #d2b98295;background:#ffffff0b;color:#e7c995;position:relative;flex-shrink:0}
.vn-spotlight-emblem svg {height:28px;width:28px}
.vn-pulse-ring {position:absolute;inset:-10px;border:1px solid #bda36c3d;border-radius:50%}
.vn-spotlight-copy {min-width:0}
.vn-overline,.vn-eyebrow {font-size:10px;font-weight:750;letter-spacing:.24em;text-transform:uppercase;color:#d9bc81}
.vn-spotlight-copy h3 {font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(29px,3vw,40px);font-weight:500;line-height:1.06;color:#fff7e7;margin:8px 0}
.vn-spotlight-copy p {font-size:12px;line-height:1.7;color:#d7e3da;max-width:590px;margin:0}
.vn-open {z-index:1;white-space:nowrap;display:flex;gap:18px;align-items:center;justify-content:center;padding:16px 19px;border:1px solid #e7d4aa;background:#e5c995;color:#193e32;letter-spacing:.02em;font-size:12px;font-weight:750;border-radius:3px;cursor:pointer;min-height:52px;transition:background .2s,transform .2s}
.vn-open:hover {background:#f2dab0;transform:translateY(-2px)}
.vn-open span:last-child {font-size:21px;font-weight:400}
.vn-overlay[hidden],.vn-result[hidden],.vn-warning[hidden] {display:none!important}
.vn-overlay {position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:22px;color:var(--v4-ink);}
.vn-backdrop {position:absolute;inset:0;background:#061f19c9;backdrop-filter:blur(8px)}
.vn-modal {position:relative;width:min(690px,100%);max-height:min(92dvh,950px);overflow:auto;border-radius:10px;border:1px solid var(--v4-border);background:var(--v4-surface);box-shadow:0 30px 100px #0007;}
.vn-modal-header {display:flex;align-items:start;justify-content:space-between;gap:22px;padding:28px 33px 23px;border-bottom:1px solid var(--v4-border);background:linear-gradient(140deg,var(--v4-surface),var(--v4-soft))}
.vn-eyebrow {color:var(--v4-gold)}
.vn-modal-header h2 {font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(30px,4vw,45px);font-weight:550;line-height:1.03;color:var(--v4-ink);margin:9px 0 0}
.vn-close {display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--v4-border);background:var(--v4-surface);color:var(--v4-ink);font-size:27px;cursor:pointer;flex-shrink:0}
.vn-modal-body {padding:26px 33px 30px}
.vn-stages {display:flex;align-items:center;gap:9px;margin-bottom:17px;color:var(--v4-muted)}
.vn-dot {height:7px;width:7px;background:var(--v4-border);border-radius:50%}
.vn-dot.active {background:var(--v4-gold);box-shadow:0 0 0 3px #c8a56d30}
.vn-connector {width:38px;height:1px;background:var(--v4-border)}
.vn-stages-text {margin-left:4px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--v4-gold);font-weight:700}
.vn-description {margin:0 0 20px;font-size:13px;line-height:1.65;color:var(--v4-muted)}
.vn-recorder {display:flex;align-items:center;gap:20px;background:var(--v4-soft);padding:16px 20px;border:1px solid var(--v4-border);border-radius:8px}
.vn-mic {display:grid;place-items:center;width:72px;height:72px;border-radius:50%;border:1px solid #d5b478;background:linear-gradient(160deg,#215947,#133c30);color:#f3dfb8;cursor:pointer;box-shadow:0 7px 24px #112f2826;flex-shrink:0;transition:transform .2s}
.vn-mic svg {width:30px;height:30px}
.vn-mic:hover {transform:scale(1.04)}
.vn-mic:focus-visible,.vn-open:focus-visible,.vn-overlay button:focus-visible,.vn-overlay select:focus-visible,.vn-overlay textarea:focus-visible {outline:3px solid var(--v4-gold);outline-offset:3px}
.vn-mic.is-listening {background:linear-gradient(150deg,#bb7044,#9d392f);box-shadow:0 0 0 8px #b34b3831}
.vn-recorder-content {flex:1;min-width:0}
.vn-recorder-content strong {font-size:13px;font-weight:700;color:var(--v4-ink)}
.vn-rec-badge {align-self:start;font-size:9px;letter-spacing:.2em;color:var(--v4-gold);font-weight:800}
.vn-equalizer {display:flex;align-items:center;gap:4px;height:21px;margin:8px 0 0}
.vn-equalizer i {height:5px;width:4px;border-radius:5px;background:var(--v4-gold);opacity:.58;transform-origin:50% 50%}
.vn-mic.is-listening~.vn-recorder-content .vn-equalizer i {animation:vnEqualizer 0.75s ease-in-out infinite alternate}
.vn-mic.is-listening~.vn-recorder-content .vn-equalizer i:nth-child(2n) {animation-delay:-.32s}
.vn-mic.is-listening~.vn-recorder-content .vn-equalizer i:nth-child(3n) {animation-delay:-.58s}
.vn-interim {font-size:11px;color:var(--v4-muted);line-height:1.5}
.vn-status {font-size:12px;color:var(--v4-muted);min-height:19px;margin:12px 0}
.vn-label {display:block;color:var(--v4-ink);font-size:12px;font-weight:700;margin:16px 0 8px}
.vn-transcript,.vn-select {width:100%;padding:13px 14px;color:var(--v4-ink);border:1px solid var(--v4-border);border-radius:4px;background:var(--v4-paper);font:inherit;font-size:13px;line-height:1.7;outline-color:var(--v4-gold)}
.vn-transcript {min-height:94px;resize:vertical}
.vn-transcript:disabled {opacity:.7;cursor:wait}
.vn-warning {border-left:3px solid #bd8655;padding:9px 12px;color:var(--v4-ink);background:var(--v4-soft);font-size:12px;line-height:1.5}
.vn-actions,.vn-result-buttons {display:flex;flex-wrap:wrap;gap:10px;margin-top:13px}
.vn-primary,.vn-secondary {border-radius:3px;min-height:43px;padding:12px 17px;font-size:12px;font-weight:750;cursor:pointer}
.vn-primary {color:#fff;background:#1d5643;border:1px solid #1d5643}
.vn-primary:disabled {opacity:.6;cursor:wait}
.vn-secondary {color:var(--v4-ink);background:transparent;border:1px solid var(--v4-border)}
.vn-result {margin-top:22px;padding:20px 23px;background:var(--v4-soft);border:1px solid var(--v4-border);border-left:3px solid var(--v4-gold);border-radius:4px}
.vn-result-kicker {font-size:10px;color:var(--v4-gold);letter-spacing:.15em;font-weight:800}
.vn-result h3 {color:var(--v4-ink);font-family:'Cormorant Garamond',Georgia,serif;font-size:28px;font-weight:600;margin:7px 0}
.vn-result .vn-label {margin-top:9px}
.vn-result h4 {font-size:13px;color:var(--v4-ink);font-weight:700}
.vn-result li,.vn-result p {font-size:12px;line-height:1.8;color:var(--v4-ink)}
.vn-result ul {padding-left:18px}
.vn-text-button {border:0;background:none;padding:8px 2px;color:var(--v4-gold);font-size:12px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.vn-response {margin-top:15px}
.vn-footnote {font-size:11px;line-height:1.8;color:var(--v4-muted);margin:20px 0 0}
.vn-disclaimer {margin-top:7px}
.vn-lock {overflow:hidden}
@keyframes vnEqualizer {0%{height:5px;opacity:.55}100%{height:22px;opacity:1}}
@media(max-width:850px) {.vn-spotlight{grid-template-columns:70px 1fr;gap:20px;padding:26px}.vn-spotlight-emblem{height:64px;width:64px}.vn-open{grid-column:1/-1;justify-self:stretch}}
@media(max-width:520px){.vn-spotlight{grid-template-columns:1fr;gap:12px;padding:25px}.vn-spotlight-emblem{height:62px;width:62px}.vn-open{grid-column:1}.vn-modal-header{padding:20px}.vn-modal-body{padding:20px}.vn-overlay{padding:8px}.vn-modal{max-height:96dvh}.vn-recorder{padding:12px;gap:12px}.vn-mic{height:58px;width:58px}.vn-result{padding:16px}.vn-result-buttons>*{flex:1}}
@media(prefers-reduced-motion:reduce){.vn-equalizer i,.vn-open,.vn-mic{animation:none!important;transition:none!important}}
