

/* about page */
@media (max-width: 760px) {

  .about-copy-panel,
  .form-panel {
    padding: 16px !important;
    border-radius: 14px !important;
  }

  .feature-list p {
    font-size: 13.5px !important;
    overflow-wrap: anywhere !important;
  }

  .faq-item summary {
    font-size: 14px !important;
    padding-right: 26px !important;
  }

  .faq-item p {
    font-size: 13px !important;
  }

  .page-head h1 {
    font-size: clamp(25px, 7.5vw, 38px) !important;
  }

  .page-head .lead {
    font-size: 14px !important;
  }
}

/* register form */
.form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
}

.form-grid .full {
  grid-column: 1 / -1;
}

.register-layout {
  display: grid;
  grid-template-columns: minmax(0, 320px) minmax(0, 1fr);
  gap: clamp(16px, 2.4vw, 28px);
  align-items: start;
}

.register-process {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}

@media (max-width: 980px) {
  .register-layout {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 700px) {
  .form-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .register-process {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .register-form-panel,
  .register-side {
    padding: 14px !important;
    border-radius: 14px !important;
  }

  .form-title {
    font-size: 15.5px !important;
  }

  .register-form input,
  .register-form select,
  .register-form textarea,
  .form-panel input,
  .form-panel select,
  .form-panel textarea {
    font-size: 16px !important;
    /* 16px stops iOS from zooming the page on focus */
    padding: 11px 13px !important;
  }

  .submit-btn {
    width: 100% !important;
    justify-content: center !important;
  }

  .reg-hero-inner {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    justify-items: center !important;
  }

  .reg-hero-tags {
    justify-content: center !important;
    flex-wrap: wrap !important;
  }

  .reg-hero-tags span {
    font-size: 12px !important;
  }

  .member-box {
    padding: 12px !important;
  }
}

/* footer + nav polish */
@media (max-width: 760px) {
  .footer-topline {
    display: grid !important;
    gap: 14px !important;
    text-align: center !important;
    justify-items: center !important;
  }

  .footer-main {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .footer-contact a,
  .footer-contact span {
    overflow-wrap: anywhere !important;
    font-size: 13px !important;
  }

  .ticker span {
    font-size: 12px !important;
  }

  .section-heading h2 {
    font-size: clamp(21px, 6vw, 30px) !important;
  }

  .section-heading p {
    font-size: 13.5px !important;
  }

  .phase-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .feature-card-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 420px) {
  .phase-timeline {
    grid-template-columns: 1fr !important;
  }
}

/* tap targets never smaller than a thumb */
@media (max-width: 760px) {

  .btn,
  .mini-action,
  .danger-link,
  .icon-btn {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
  }
}