/* anchors land just below the sticky header; --hdr is the header's real height, measured by site.js */
section[id], main[id], .samples-anchor, .pricing-anchor { scroll-margin-top:calc(var(--hdr, 110px) + 16px); }
.skip-link { position:fixed; top:-100px; left:16px; z-index:100; padding:14px 20px; background:#7cc8d4; color:#0b1727; }
.skip-link:focus { top:12px; }
.eyebrow { color:#7cc8d4; font-size:12px; letter-spacing:.18em; font-weight:700; margin:0 0 22px; }
.secondary-button { border:1px solid #7cc8d4; background:transparent; color:#e9f1f7; border-radius:24px; padding:12px 20px; cursor:pointer; width:fit-content; font-size:15px; }
button:disabled { opacity:.6; cursor:wait; }
.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
#order-status { font-size:16px; line-height:1.6; color:#dbe6ef; }
#order-status:empty { display:none; }
#inquiry-copy { width:100%; background:#101f34; color:#e9f1f7; border:1px solid #7cc8d4; padding:14px; margin-top:12px; }
.demo-audio { min-width:0; }
.demo-audio-status { min-height:1.5em; }
.demo-audio-play { min-width:44px; min-height:44px; }
nav a { min-height:44px; display:inline-flex; align-items:center; }
#demos article { transition:border-color .18s ease; }
#demos article:hover { border-color:#7cc8d4 !important; }
@media (max-width:760px) {
 /* header layout for narrow screens lives in index.html's own @media block:
    row 1 = logo + "Start your song", row 2 = the section links wrapping. */
 header nav.site-nav a { font-size:13.5px !important; font-weight:700 !important; }
 section[id], main[id], .samples-anchor, .pricing-anchor { scroll-margin-top:calc(var(--hdr, 190px) + 16px); }
 #top > section:first-child { min-height:0 !important; }
 #top > section:first-child > div:last-child { padding:48px 20px 56px !important; }
 #hero-h { font-size:clamp(36px,10vw,54px) !important; }
 #pricing [style*="min-width:200px"] { min-width:0 !important; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto !important; }
 * { transition:none !important; }
}

/* FAQ accordion (native details/summary — no script) */
.faq-list { display:grid; gap:10px; }
.faq-item { border:1px solid rgba(124,200,212,0.22); border-radius:14px; background:#0f2034; }
.faq-item summary { cursor:pointer; list-style:none; padding:18px 52px 18px 20px; font-size:17px; font-weight:600; color:#e9f1f7; position:relative; min-height:44px; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:"+"; position:absolute; right:20px; top:50%; transform:translateY(-50%); font-size:24px; color:#7cc8d4; }
.faq-item[open] summary::after { content:"–"; }
.faq-item summary:focus-visible { outline:2px solid #7cc8d4; outline-offset:2px; border-radius:14px; }
.faq-item p { margin:0; padding:0 20px 18px; color:#b9c9d8; font-size:16px; line-height:1.65; }
