html { scroll-behavior: smooth; }
#hero, #services, #about, #faq, #early-access { scroll-margin-top: 104px; }
.brand { display: flex !important; align-items: center; gap: 4px; width: 148px !important; height: 44px !important; color: white; font: 700 18px/1.05 Inter, sans-serif; white-space: nowrap; }
.brand img { width: 42px; height: 42px; object-fit: contain; transform: scale(1.18); }
.brand strong { color: #ad8aff; }
.brand small { display: block; color: #d3d0dc; font-size: 9px; font-weight: 500; letter-spacing: .04em; margin-top: 3px; }
nav a[href]:hover, footer a[href]:hover { filter: brightness(1.25); }
a:focus-visible, button:focus-visible { outline: 2px solid #b29aff; outline-offset: 4px; }
.waveform { display: flex; align-items: center; gap: clamp(3px,.55vw,9px); justify-content: center; width: 100%; height: 100%; overflow: hidden; pointer-events: none; mask-image: linear-gradient(90deg,transparent,black 15%,black 85%,transparent); }
.waveform i { flex: 1 0 2px; max-width: 6px; height: var(--height); border-radius: 999px; background: rgba(255,255,255,.23); animation: pulse var(--speed) var(--delay) ease-in-out infinite alternate; }
@keyframes pulse { from { transform: scaleY(.3); } to { transform: scaleY(1); } }
.reveal.animated { animation: reveal .68s cubic-bezier(.12,.23,.5,1) both; }
@keyframes reveal { from { opacity: 0; transform: var(--reveal-from); } to { opacity: 1; transform: none; } }
.faq-button { appearance: none; border: 0; background: none; color: inherit; cursor: pointer; width: 100%; padding: 0; text-align: left; }
.faq-button .framer-1nsueb9 { min-width: 0; flex: 1; }
.faq-button .framer-nix0h5 { flex-shrink: 0; }
.faq-row { gap: 0 !important; }
.faq-answer { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .25s ease, opacity .22s ease; }
.faq-answer p { overflow: hidden; margin: 0; min-height: 0; color: #d2d0d5; font: inherit; font-size: 15px; line-height: 1.6; }
.faq-row.is-open .faq-answer { grid-template-rows: 1fr; opacity: 1; margin-top: 12px; }
.faq-button .framer-dombwf { transition: transform .25s ease; }
.faq-row.is-open .framer-dombwf { transform: rotate(0) !important; }
.mobile-toggle { border: 0; background: transparent; padding: 0; cursor: pointer; }
#mobile-menu { position: absolute; inset: calc(100% + 8px) 0 auto; display: grid; gap: 2px; padding: 8px; background: #141414; border: 1px solid #484848; border-radius: 16px; }
#mobile-menu[hidden] { display: none; }
#mobile-menu a { color: white; text-decoration: none; padding: 12px 16px; border-radius: 8px; }
#mobile-menu a:hover { background: #252525; }
.large-text [data-framer-name="White"] { clip-path: inset(0 calc(100% - var(--progress,100%)) 0 0); }
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 .waveform i, .reveal.animated { animation: none; }
 .faq-answer, .faq-button .framer-dombwf { transition: none; }
 .large-text [data-framer-name="White"] { clip-path: none; }
}
.waveform { height: 160px; }
#hero h1, #services h2, #about h2, #faq h2, #early-access h2 { text-align: center; }
nav a [data-framer-name="Main Text"] { transition: color .2s ease, transform .2s ease; }
nav a:hover [data-framer-name="Main Text"] { color: white; transform: translateY(-2px) !important; }
@media (max-width: 809.98px) {
 .waveform { height: 100px; }
}
