/* ============================================================
   sections/join-us.css  —  "Join Us This Sunday"
   Centered layout: See-You-Sunday banner graphic, service
   details, and two actions (What to Expect / Get Directions).
   Uses global tokens; classes namespaced .joinus__.
   ============================================================ */

.joinus {
    max-width: 760px;
    margin-inline: auto;
    text-align: center;
    background-color: #fafafa;
    padding-bottom: 30px;
    border: 3px solid var(--maroon-deep);
}

/* Responsive banner graphic (1000 x 250, 4:1; mobile is portrait) */
.joinus__banner {
  display: block;
  max-width: 1000px;
  margin: 0 auto clamp(1.75rem, 4vw, 2.5rem);
  border-bottom:1px solid var(--maroon-deep);
}
.joinus__banner img {
  width: 100%;
  height: auto;
  border-radius: var(--radius);
}

.joinus__title {
  font-family: var(--font-display);
  font-weight: 400;
  line-height: 1.1;
  font-size: var(--fs-h2);
  color: var(--brown-deep);
  font-variation-settings: "opsz" 96, "SOFT" 50;
  margin-bottom: 0.4rem;
}

.joinus__time {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  color: var(--maroon);
  font-variation-settings: "opsz" 48, "SOFT" 80;
  margin-bottom: 1.1rem;
}

.joinus__place {
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--ink-soft);
  margin-bottom: clamp(1.75rem, 4vw, 2.5rem);
}
.joinus__church {
  display: block;
  font-family: var(--font-display);
  font-size: 1.2rem;
  letter-spacing: 0.06em;
  color: var(--brown-deep);
  margin-bottom: 0.2rem;
  font-variation-settings: "opsz" 36;
}

.joinus__actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.joinus__footer {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 2rem;
}

@media (max-width: 600px) {
  .joinus__actions { flex-direction: column; align-items: stretch; }
  .joinus__actions .btn { justify-content: center; }
}
