html, body { margin: 0; padding-bottom: 0; }
.wp-site-blocks { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; padding-bottom: 0; }
.wp-site-blocks > main { flex: 1 0 auto; width: 100%; box-sizing: border-box; }
.wp-site-blocks > footer { flex-shrink: 0; margin-bottom: 0 !important; }
.wp-site-blocks > footer footer { margin-bottom: 0; }
#join-us { margin-bottom: 0; }
#join-us > .wp-block-columns { display: grid; grid-template-columns: minmax(180px, 280px) minmax(0, 1fr); align-items: start; gap: 2rem; }
#join-us .wp-block-column { padding-top: 0 !important; }
#join-us figure { margin: 0; text-align: center; }
#join-us .wp-image-196 { width: auto !important; max-width: 100%; max-height: 340px; height: auto; }
#join-us + .wp-block-buttons { margin-top: 1.5rem !important; margin-bottom: 2rem !important; }
.legal-content { width: min(100%, 840px) !important; margin: 0 auto !important; padding: 2rem 24px 3rem; line-height: 1.75; }
.legal-content h1 { font-size: clamp(2rem, 5vw, 3rem); line-height: 1.2; margin: 0 0 1.5rem; }
.legal-content h2 { font-size: 1.3rem; margin: 1.5rem 0 .5rem; }
.legal-content p { margin: 0 0 1rem; }
.latest-issue { margin: 2rem auto 3rem; padding: 1.5rem; border: 1px solid #d5dce3; max-width: 900px; }
.latest-issue h2 { margin-top: 0; }
.issue-actions { display: flex; flex-wrap: wrap; gap: 1rem; }
@media(max-width:600px) {
 #join-us > .wp-block-columns { grid-template-columns: 1fr; gap: 1rem; }
 #join-us .wp-image-196 { max-height: 280px; }
}

.team-roster {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem 1rem;
  align-items: start;
}
.team-roster > div { display: grid; gap: .25rem; }
.team-roster h4, .team-roster p { margin: 0; }
@media (max-width: 540px) {
  .team-roster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 360px) {
  .team-roster { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: no-preference) {
  #scrollbuttontwo svg {
    animation: home-arrow-slide 3.2s ease-in-out infinite;
  }

  @keyframes home-arrow-slide {
    0%, 100% { transform: translateY(-3px); opacity: 0; }
    18% { opacity: 1; }
    72% { transform: translateY(5px); opacity: 1; }
    88% { transform: translateY(6px); opacity: 0; }
  }
}

.latest-issue .issue-divider {
  width: 60%;
  margin: 1.5rem auto;
  border: 0;
  border-top: 1px solid #aeb8c2;
}

.latest-issue #issue-contents {
  text-align: center;
}
