/* Independent behavior and accessibility; original visual styles remain in assets/page-*.css. */
html { scroll-behavior: smooth; background: #000; }
body { margin: 0; }
[id] { scroll-margin-top: 112px; }
a, button, input[type=submit], [role=button] { -webkit-tap-highlight-color: transparent; }
button, input[type=submit], [role=button] { cursor: pointer; }
:focus-visible { outline: 2px solid #bf8aff !important; outline-offset: 5px; }
form input, form textarea { min-width: 0; }
input.framer-formspark-input { color: #fff !important; }
[data-framer-name="Menu Mobile"] { cursor: pointer; }
#independent-mobile-menu { position: fixed; z-index: 2000; left: 16px; right: 16px; border: 1px solid #553179; border-radius: 16px; padding: 12px; background: rgba(12, 5, 22, .97); box-shadow: 0 20px 80px #000b; backdrop-filter: blur(18px); }
#independent-mobile-menu[hidden] { display: none; }
#independent-mobile-menu a { display: block; padding: 16px 18px; font: 500 16px/1.4 Inter, sans-serif; color: #fff; text-decoration: none; border-radius: 8px; }
#independent-mobile-menu a:hover { background: #2a1241; }
#independent-mobile-menu .mobile-trial { margin-top: 8px; text-align: center; background: linear-gradient(135deg, #39225d, #7949b4); }
.contact-dialog { box-sizing: border-box; position: fixed; inset: 0; width: min(520px, calc(100vw - 32px)); max-height: calc(100dvh - 40px); overflow: auto; margin: auto; padding: 36px; color: #f9f6ff; background: linear-gradient(145deg, #1a1028, #08060c); border: 1px solid #60368c; border-radius: 22px; box-shadow: 0 24px 100px #000c; font: 15px/1.6 Inter, "PingFang SC", sans-serif; }
.contact-dialog::backdrop { background: #000b; backdrop-filter: blur(6px); }
.contact-dialog h2 { font-size: 24px; line-height: 1.4; margin: 12px 0; }
.contact-dialog p { margin: 10px 0 18px; color: #c0b8ce; }
.contact-dialog .contact-eyebrow { color: #bf8aff; font-size: 10px; letter-spacing: .18em; }
.contact-dialog .dialog-close { position: absolute; top: 12px; right: 14px; border: 0; background: none; color: #c5bbd0; font: 28px/1 sans-serif; padding: 8px; }
.contact-dialog textarea { box-sizing: border-box; width: 100%; min-height: 140px; max-height: 32vh; resize: vertical; padding: 14px; background: #08060d; color: #eee5ff; border: 1px solid #49315e; border-radius: 10px; font: inherit; }
.dialog-actions { display: flex; gap: 10px; margin-top: 20px; }
.dialog-actions > * { flex: 1; text-align: center; border-radius: 9px; padding: 12px 10px; text-decoration: none; color: #fff; font: 600 14px/1.5 Inter, sans-serif; border: 1px solid #553375; background: #241431; }
.dialog-actions .open-telegram { background: #7a4df8; border-color: #9e78ff; }
.contact-dialog .contact-status { font-size: 12px; margin-bottom: 0; }
@media(max-width: 480px) { .contact-dialog { padding: 28px 22px; } .contact-dialog h2 { font-size: 21px; } }
@media(prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
