.voice-page { background: #fffdf8; }
.voice-main { box-sizing: border-box; padding-top: 24px; padding-bottom: 48px; }
.voice-main h1, .voice-main h2, .voice-main h3 { color: var(--tab-text); line-height: 1.25; }
.voice-main h1 { font-size: clamp(32px, 4.2vw, 52px); margin: 16px 0 20px; }
.voice-main h2 { font-size: 26px; }
.voice-main h3 { font-size: 19px; margin-bottom: 12px; }
.voice-main p { line-height: 1.75; }
.voice-main p + p { margin-top: 12px; }
.voice-main a:not(.voice-button) { color: #895000; }
.voice-main a:not(.voice-button):hover { text-decoration: underline; }
.voice-hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 44px; align-items: center; padding: 44px; border: 1px solid #ffe4a6; border-radius: 24px; background: linear-gradient(120deg, #fff8db, #fff0d2); }
.voice-hero > div > p { max-width: 570px; font-size: 17px; }
.voice-eyebrow { display: inline-flex; align-items: center; gap: 8px; color: #895000; font-weight: 700; }
.voice-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 24px; }
.voice-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 12px 22px; border-radius: 24px; background: linear-gradient(135deg, var(--accent-yellow), var(--accent-orange)); color: var(--tab-text); font-weight: 700; text-align: center; box-shadow: 0 4px 12px rgba(255, 165, 0, .18); }
.voice-button:hover { filter: brightness(1.04); }
.voice-button-secondary { background: #fff; border: 1px solid #e7b85e; box-shadow: none; }
.voice-text-link { font-weight: 700; }
.voice-hero-note { padding: 28px; border-radius: 18px; background: rgba(255, 255, 255, .8); border: 1px solid #ffe4a6; }
.voice-hero-note > .fa { display: block; font-size: 48px; color: var(--accent-orange-deep); margin-bottom: 22px; }
.voice-hero-note h2 { font-size: 22px; margin-bottom: 12px; }
.voice-hero-note > span { display: inline-block; margin-top: 20px; color: #895000; font-size: 13px; font-weight: 700; }
.voice-section-nav { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 36px; }
.voice-section-nav a { padding: 8px 16px; border: 1px solid #edd8ae; background: #fff; border-radius: 20px; }
.voice-section { margin-bottom: 40px; scroll-margin-top: 24px; }
.voice-section-heading { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 20px; }
.voice-section-heading p { margin-top: 8px; }
.voice-step { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 14px; background: var(--accent-yellow); color: var(--tab-text); font-weight: 700; }
.voice-card { background: #fff; border: 1px solid #f0e4cf; border-radius: 16px; padding: 24px; box-shadow: 0 4px 16px rgba(59, 42, 8, .04); }
.voice-download { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.voice-download > div:first-child { max-width: 620px; }
.voice-download .voice-actions { margin-top: 0; flex-shrink: 0; }
.voice-notice { display: flex; align-items: baseline; gap: 10px; padding: 16px 20px; margin-top: 16px; border-radius: 12px; background: #fff4d8; color: #61400d; }
.voice-install-list { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; counter-reset: installation; }
.voice-install-list > li { counter-increment: installation; }
.voice-install-list h3::before { content: counter(installation) ". "; color: #895000; }
.voice-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.voice-settings-grid h3 .fa { color: #895000; margin-right: 6px; }
.voice-main kbd, .voice-main code { font-family: monospace; font-size: .95em; padding: 2px 6px; border: 1px solid #ead8b7; border-radius: 5px; background: #fff8e8; color: var(--tab-text); overflow-wrap: anywhere; }
.voice-faq { display: grid; gap: 12px; }
.voice-faq .voice-card { padding: 0; }
.voice-faq summary { padding: 20px 24px; cursor: pointer; color: var(--tab-text); font-weight: 700; font-size: 16px; }
.voice-faq details[open] summary { border-bottom: 1px solid #f0e4cf; }
.voice-faq details p { padding: 20px 24px; }
.voice-support { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 28px; background: #fff0cf; border-radius: 18px; }
.voice-support p { max-width: 650px; margin-top: 12px; }
.voice-support .voice-button { flex-shrink: 0; }
.voice-docs { margin-top: 24px; font-size: 13px; }
.voice-main a:focus-visible, .voice-main summary:focus-visible { outline: 2px solid #895000; outline-offset: 4px; }
@media (max-width: 1199px) { .voice-download { align-items: flex-start; flex-direction: column; } }
@media (max-width: 767px) {
    .voice-main { padding-top: 12px; padding-bottom: 32px; }
    .voice-hero { grid-template-columns: minmax(0, 1fr); padding: 24px; gap: 24px; border-radius: 18px; }
    .voice-hero-note { padding: 22px; }
    .voice-main h2 { font-size: 23px; }
    .voice-install-list, .voice-settings-grid { grid-template-columns: minmax(0, 1fr); }
    .voice-card { padding: 20px; }
    .voice-support { align-items: flex-start; flex-direction: column; padding: 24px; }
    .voice-notice { display: block; }
    .voice-notice > .fa { margin-right: 6px; }
}
@media (max-width: 479px) { .voice-actions { align-items: stretch; flex-direction: column; } .voice-hero { padding: 20px; } }
