/* One task at a time: a full-screen email form and a small invitation to help. */
.hero--home button.cta-link { border: 0; font-family: inherit; cursor: pointer; }
.hero--home button.cta-link:disabled { opacity: .7; cursor: wait; }
.home-location-status { max-width: 58ch; margin: 12px 0 0; color: var(--muted); font-size: .9rem; }
.home-location-status:empty { display: none; }
html.signup-open { overflow: hidden; }
.beta-signup[hidden], .community-feedback[hidden] { display: none !important; }
dialog.beta-signup {
  position: fixed;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 72px 24px 40px;
  border: 0;
  border-radius: 0;
  background: #0c141b;
  box-shadow: none;
  backdrop-filter: none;
  overflow-y: auto;
  overscroll-behavior: contain;
  animation: none;
}
dialog.beta-signup[open] { display: flex; }
.beta-signup::backdrop { background: #0c141b; }
.beta-signup__content { width: min(100%, 440px); margin: auto; }
.beta-signup__content .eyebrow { margin: 0 0 24px; }
.beta-signup__content h2 { max-width: none; margin: 0 0 16px; font-size: clamp(2rem, 6vw, 3rem); line-height: 1.12; outline: none; }
.beta-signup__content > p:not(.eyebrow) { margin: 0 0 30px; color: var(--muted); font-size: 1rem; line-height: 1.6; }
.beta-signup__content .beta-signup__form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.beta-signup__content .signup-fields { grid-template-columns: minmax(0, 1fr); }
.beta-signup__content .beta-signup__email { gap: 8px; font-size: .9rem; }
.beta-signup__content .beta-signup__email input { min-height: 54px; border-radius: 6px; font-size: 1rem; }
.beta-signup__content .interest-form__submit { min-height: 50px; border-radius: 6px; font-size: 1rem; }
.beta-signup__content .interest-form__privacy { font-size: .8rem; line-height: 1.6; }
.beta-signup > .beta-signup__close { position: fixed; top: max(16px, env(safe-area-inset-top)); right: max(16px, env(safe-area-inset-right)); }
.beta-signup .interest-form__status:empty, .community-feedback .interest-form__status:empty { display: none; }
.community-feedback {
  --text: #f4f7f5;
  --muted: #c0cdc5;
  --border: #607067;
  position: fixed;
  z-index: 1200;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  width: min(400px, calc(100% - 24px));
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
  padding: 22px;
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--text);
  background: #11221d;
  box-shadow: 0 12px 40px #0005;
}
.community-feedback h2 { margin: 0 28px 12px 0; font-size: 1.45rem; line-height: 1.2; color: var(--text); }
.community-feedback > p { margin: 0 0 16px; color: var(--muted); font-size: .875rem; line-height: 1.5; }
.community-feedback__form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.beta-signup__form > *, .community-feedback__form > * { min-width: 0; }
.community-feedback textarea { display: block; width: 100%; min-height: 90px; resize: vertical; border: 1px solid var(--border); border-radius: 6px; padding: 12px; color: var(--text); background: #0c1713; font: 400 1rem/1.45 var(--font-sans); }
.community-feedback textarea::placeholder { color: #a7b7af; }
.community-feedback textarea:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.community-feedback__future { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.5; }
.community-feedback .interest-form__submit { justify-self: start; min-height: 44px; border-radius: 6px; padding-inline: 20px; }
.community-feedback .interest-form__privacy { font-size: .72rem; line-height: 1.4; }
.community-feedback a { color: #b5edcb; }
.community-feedback .interest-form__status { margin: 0; }
.community-interest__inner { display: block; }
.community-interest__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 24px; margin-top: 20px; }
.community-interest__actions a { min-height: 44px; display: inline-flex; align-items: center; }
.near-me-signup[hidden], .city-guide-signup[hidden] { display: none !important; }
.near-me-signup, .city-guide-signup {
  margin: 28px 0 4px;
  padding-top: 22px;
  border-top: 1px solid var(--border, #d5dde3);
  max-width: 40rem;
}
.near-me-signup h2 {
  margin: 0 0 8px;
  font-size: 1.25rem;
  line-height: 1.25;
}
.near-me-signup p, .city-guide-signup p {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.5;
}
.near-me-signup .cta-link, .city-guide-signup .cta-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
@media (max-width: 600px) {
  dialog.beta-signup { padding: 80px 24px 32px; }
  .beta-signup__content { margin-block: auto; }
  .community-feedback { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); padding: 18px; }
  .community-feedback .interest-form__submit { width: auto; }
}
