/* Live-site additions: working mobile menu. */
button.menu { background: none; border-left: 0; border-right: 0; padding: 0; cursor: pointer; }
@media (max-width: 760px) {
  .nav.open { flex-wrap: wrap; height: auto; padding-bottom: 16px; }
  .nav.open .links { display: flex; flex-direction: column; gap: 18px; width: 100%; order: 3; padding-top: 12px; font-size: 17px; }
  .nav.open .btn { display: inline-flex; order: 4; }
}
/* Long-form text (privacy policy, invite steps). */
.prose p, .prose li { font-size: 17px; line-height: 1.6; color: #C9CED6; }
.prose h2 { margin-top: 26px; }
.prose ul, .prose ol { padding-left: 22px; display: grid; gap: 10px; margin: 0; }
.prose a { color: #2CEAFD; text-decoration: underline; }
@media (max-width: 760px) { .prose p, .prose li { font-size: 16px; } }
/* Early-access form (in #join). */
.join { align-items: start; }
.form input[type=email] { height: 52px; border-radius: 14px; background: #131720; border: 0; box-shadow: inset 0 0 0 1px #262B36; color: #fff; font: inherit; font-weight: 400; padding: 0 16px; }
.form input[type=email]:focus-visible, .form .opt:focus-within { outline: 2px solid #2CEAFD; outline-offset: 2px; }
.form fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: 10px; }
.form legend { font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.form .opt { display: flex; gap: 10px; align-items: center; font-weight: 400; font-size: 15px; background: #131720; border-radius: 14px; padding: 12px 14px; box-shadow: inset 0 0 0 1px #262B36; cursor: pointer; }
.form .opt input { accent-color: #2CEAFD; width: 20px; height: 20px; flex: none; margin: 0; }
.form button.btn { border: 0; cursor: pointer; justify-self: start; font: inherit; font-weight: 700; }
.form .fine a { text-decoration: underline; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
/* Hero video (Fridge+ pattern): loops muted; a still replaces it under Reduce Motion. */
.hero-video { justify-self: center; width: min(100%, 360px); aspect-ratio: 9 / 16; border-radius: 32px; overflow: hidden; background: #0B0F16; box-shadow: 0 0 0 1px #262B36, 0 30px 80px rgba(0, 98, 250, .25); }
.hero-video video, .hero-video .still { width: 100%; height: 100%; object-fit: cover; display: block; }
.hero-video .still { display: none; }
@media (prefers-reduced-motion: reduce) { .hero-video video { display: none; } .hero-video .still { display: block; } }
@media (max-width: 760px) { .hero-video { width: min(78%, 320px); } }
.faq details summary { cursor: pointer; }
/* Tighter rhythm: less dead space between sections and around section images. */
section { padding: 64px 0; }
section.tight { padding: 40px 0; }
section .vis { height: 440px; }
@media (max-width: 760px) { section { padding: 44px 0; } section .vis { height: 360px; } }
