/* ============================================================
   THE MISSION / WHO WE ARE — International Typographic Style
   ------------------------------------------------------------
   Dark ground kept (#1b1b1b) exactly as before. Same grid, gutter
   and type discipline as the Plan Your Visit section, so the two
   align to one another down the page.

   Hierarchy is inverted on purpose: the heading used to be huge
   and the mission statement small. The statement IS the content,
   so it now carries the display size and the label steps back.
   ============================================================ */

.section3 {
  --s3-paper: #1b1b1b;
  --s3-ink: #fff;
  --s3-accent: #ff820d;
  --s3-muted: rgba(255, 255, 255, 0.68);
  --s3-rule: rgba(255, 255, 255, 0.22);
  --s3-rule-strong: rgba(255, 255, 255, 0.85);

  /* Matches section6 so both sections share one left edge. */
  --s3-gutter: clamp(1.25rem, 5vw, 6rem);
  --s3-max: 1440px;

  background-color: var(--s3-paper);
  color: var(--s3-ink);
  width: 100%;
  font-family: 'Sofia Pro', sans-serif;
  padding: clamp(3.5rem, 8vw, 7rem) 0;
}

/* ------------------------------------------------------------
   Two editorial blocks on one 12-column grid.
   They mirror each other: text left / image right, then image
   left / text right. Alternation is what stops a two-block
   section reading like a repeated template.
   ------------------------------------------------------------ */
.container-section-01,
.container-section-02 {
  max-width: var(--s3-max);
  margin: 0 auto;
  padding-inline: var(--s3-gutter);
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: clamp(1rem, 2vw, 2rem);
  row-gap: clamp(1.75rem, 4vw, 3rem);
  align-items: center;
}

.container-section-02 {
  margin-top: clamp(3.5rem, 7vw, 6rem);
  padding-top: clamp(3.5rem, 7vw, 6rem);
  border-top: 1px solid var(--s3-rule);
}

/* Block 1 — text then image */
.information-container-sect3-01 {
  grid-column: 1 / span 5;
  min-width: 0;
}

.image-contianer-sect3-01 {
  grid-column: 7 / span 6;
  min-width: 0;
}

/* Block 2 — image then text, mirrored. DOM order keeps the text
   first for screen readers; only the visual order swaps. */
.image-contianer-sect3-02 {
  grid-column: 1 / span 6;
  grid-row: 1;
  min-width: 0;
}

.information-container-sect3-02 {
  grid-column: 8 / span 5;
  grid-row: 1;
  min-width: 0;
}

/* ------------------------------------------------------------
   Labels — the heading steps back to an overline
   ------------------------------------------------------------ */
.information-container-sect3-H1-01,
.information-container-sect3-H1-02 {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  margin: 0 0 clamp(1.25rem, 2.5vw, 2rem);
  font-family: 'Sofia Pro', sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--s3-accent);
}

/* Index numeral, matching the numbered notes further down the page. */
.sect3-index {
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
  color: var(--s3-accent);
}

.sect3-index::after {
  content: "";
  display: inline-block;
  width: clamp(1.5rem, 3vw, 3rem);
  height: 1px;
  background: var(--s3-accent);
  vertical-align: middle;
  margin-left: 0.9rem;
}

/* ------------------------------------------------------------
   The mission statement — this is the display type now
   ------------------------------------------------------------ */
.information-container-sect3-P-01 {
  margin: 0;
  font-family: 'Sofia Pro', sans-serif;
  font-size: clamp(1.5rem, 3.2vw, 2.75rem);
  font-weight: 300;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--s3-ink);
  max-width: 22ch;              /* display measure, deliberately narrow */
  text-wrap: balance;
}

/* The four verbs carry the statement. Weight + colour only. */
.goal-sect3 {
  color: var(--s3-accent);
  font-weight: 700;
}

/* ------------------------------------------------------------
   Who We Are — lead paragraph, then supporting copy
   ------------------------------------------------------------ */
.information-container-sect3-P-02 {
  margin: 0;
  color: var(--s3-muted);
}

.information-container-sect3-P-02 p {
  margin: 0 0 1.1rem;
  font-family: 'Sofia Pro', sans-serif;
  font-size: clamp(1rem, 1.15vw, 1.125rem);
  font-weight: 300;
  line-height: 1.6;
  max-width: 56ch;
}

/* First line is the thesis: give it size and full-strength ink. */
.information-container-sect3-P-02 .s3-lead {
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -0.015em;
  color: var(--s3-ink);
  margin-bottom: 1.4rem;
  max-width: 30ch;
}

.information-container-sect3-P-02 .s3-invite {
  color: var(--s3-ink);
  font-weight: 600;
  margin-bottom: 0;
}

/* ------------------------------------------------------------
   Images — precise rectangles on the grid, not letterboxed
   `contain` used to leave dead space inside the container; a
   fixed ratio plus `cover` makes each image a clean block.
   ------------------------------------------------------------ */
.image-contianer-sect3-01,
.image-contianer-sect3-02 {
  display: block;
  overflow: hidden;
}

.image-sect3-01,
.image-sect3-02 {
  width: 100%;
  /* Both source images are 1350x900. Matching the box to their own 3:2
     ratio means `cover` fits exactly: no crop and no letterboxing. */
  aspect-ratio: 3 / 2;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: local;
}

.image-sect3-01 {
  background-image: url('../Assets/The-Rock-Church-congregation.jpg');
  background-position: center;
}

.image-sect3-02 {
  background-image: url('../Assets/front-David-Stovall.jpg');
  background-position: center;
}

/* ------------------------------------------------------------
   Call to action
   ------------------------------------------------------------ */
.button-container-sect3 {
  margin-top: clamp(1.75rem, 3vw, 2.5rem);
}

/* The same trap the hero's buttons had: this is a <Link>, so an <a>, and
   browsers leave <a> at content-box while giving <button> border-box. With
   preflight off, `width: 100%` put its 72px of padding outside that width and
   ran it 52px past the screen. */
.section3 .button-landing-extra,
.button-landing-extra {
  box-sizing: border-box;
}

.button-landing-extra {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 1rem 2.25rem;
  border: 0;
  border-radius: 0;
  background: var(--s3-ink);
  color: #000;
  font-family: 'Sofia Pro', sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}

.button-landing-extra:hover {
  background: var(--s3-accent);
  color: #000;
}

.button-landing-extra:focus-visible {
  outline: 2px solid var(--s3-accent);
  outline-offset: 3px;
}

/* ------------------------------------------------------------
   Responsive — the grid collapses, the left edge never moves
   ------------------------------------------------------------ */
@media screen and (max-width: 1024px) {

  .information-container-sect3-01,
  .image-contianer-sect3-01,
  .information-container-sect3-02,
  .image-contianer-sect3-02 {
    grid-column: 1 / -1;
  }

  /* Stacked, the text leads in both blocks. */
  .information-container-sect3-02 {
    grid-row: 1;
  }

  .image-contianer-sect3-02 {
    grid-row: 2;
  }

  .information-container-sect3-P-01 {
    max-width: 30ch;
  }
}

@media screen and (max-width: 620px) {

  .information-container-sect3-P-01 {
    max-width: none;
  }

  /* Sized to its label, on the same left edge as the text above it --
     matching the hero button on every other page. */
  .button-landing-extra {
    width: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .button-landing-extra {
    transition: none;
  }
}
