/* ==========================================================
PAUL JONES & FIONA HENDLEY JONES
Neutral Cream / Stone Homepage Styles
MDB5 / Bootstrap 5
========================================================== */


/* ==========================================================
ROOT
========================================================== */

:root {
  --ivory: #fcfaf6;
  --warm-white: #fffdf9;
  --cream: #f8f4ee;
  --linen: #f4efe7;
  --stone: #ece6dc;
  --soft-stone: #f1ece5;

  --soft-gold: #b9965a;
  --bronze: #6b5641;
  --bronze-hover: #82684f;

  --charcoal: #2d2924;
  --muted: #6f6962;
  --dark: #3b322a;

 --serif: "EB Garamond", serif;
--sans: "Inter", sans-serif;
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
	padding-top:120px;
}


/* ==========================================================================
   BASE REVEAL
   ========================================================================== */

.scroll-reveal {
  opacity: 0;
  transform: translateY(24px);

  transition:
    opacity .8s ease,
    transform .8s cubic-bezier(.22, 1, .36, 1);
}

.scroll-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}


/* ==========================================================================
   SOFTER VARIATIONS
   ========================================================================== */

.scroll-reveal-soft {
  opacity: 0;
  transform: translateY(14px);

  transition:
    opacity .9s ease,
    transform .9s cubic-bezier(.22, 1, .36, 1);
}

.scroll-reveal-soft.is-visible {
  opacity: 1;
  transform: translateY(0);
}


.scroll-reveal-left {
  opacity: 0;
  transform: translateX(-22px);

  transition:
    opacity .85s ease,
    transform .85s cubic-bezier(.22, 1, .36, 1);
}

.scroll-reveal-left.is-visible {
  opacity: 1;
  transform: translateX(0);
}


.scroll-reveal-right {
  opacity: 0;
  transform: translateX(22px);

  transition:
    opacity .85s ease,
    transform .85s cubic-bezier(.22, 1, .36, 1);
}

.scroll-reveal-right.is-visible {
  opacity: 1;
  transform: translateX(0);
}


/* ==========================================================================
   STAGGERED CHILDREN
   ========================================================================== */

.scroll-stagger > * {
  opacity: 0;
  transform: translateY(18px);

  transition:
    opacity .7s ease,
    transform .7s cubic-bezier(.22, 1, .36, 1);
}

.scroll-stagger.is-visible > * {
  opacity: 1;
  transform: translateY(0);
}

.scroll-stagger.is-visible > *:nth-child(1) {
  transition-delay: .05s;
}

.scroll-stagger.is-visible > *:nth-child(2) {
  transition-delay: .13s;
}

.scroll-stagger.is-visible > *:nth-child(3) {
  transition-delay: .21s;
}

.scroll-stagger.is-visible > *:nth-child(4) {
  transition-delay: .29s;
}

.scroll-stagger.is-visible > *:nth-child(5) {
  transition-delay: .37s;
}


/* ==========================================================================
   IMAGE REVEAL
   ========================================================================== */

.scroll-image {
  overflow: hidden;
}

.scroll-image img {
  transform: scale(1.035);
  transition:
    transform 1.2s cubic-bezier(.22, 1, .36, 1),
    filter 1.2s ease;
}

.scroll-image.is-visible img {
  transform: scale(1);
}


/* ==========================================================================
   ANCHOR HIGHLIGHT
   ========================================================================== */

section:target {
  animation: section-arrival 1s ease;
}

@keyframes section-arrival {

  0% {
    filter: brightness(.97);
  }

  100% {
    filter: brightness(1);
  }

}


/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

  html {
    scroll-behavior: auto;
  }

  .scroll-reveal,
  .scroll-reveal-soft,
  .scroll-reveal-left,
  .scroll-reveal-right,
  .scroll-stagger > * {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .scroll-image img {
    transform: none;
    transition: none;
  }

  section:target {
    animation: none;
  }

}


body {
  font-family: var(--sans);
  color: var(--charcoal);
  background: var(--ivory);
  font-size: 16px;
  line-height: 1.8;
  overflow-x: hidden; 
}

img {
  max-width: 100%;
  height: auto;
}

h1,
h2,
h3,
.navbar-brand span {
  font-family: var(--serif);
  font-weight: 500;
  color:#594536 !important;
}

h1 {
  font-size: clamp(3.4rem, 6.5vw, 7rem);
  line-height: .92;
  color: #fff;
  margin-bottom: 1.6rem;
}

h2 {
  font-size: clamp(2.5rem, 4vw, 4.5rem);
  line-height: 1;
  margin-bottom: 1.5rem;
}

h3 {
  font-size: 1.5rem;
}

p {
  color: var(--muted);
}

strong {
  font-weight: 600;
  color: var(--charcoal);
}

em {
  font-style: italic;
}
.navbar-brand {
    display: flex;
    flex-direction: column;
    line-height: 1;
    text-decoration: none;
}

.logo-main {
    font-family: var(--serif);
    font-size: 2.7rem !important;
    font-weight: 500;
    color: var(--bronze);
    letter-spacing: -.02em;
}

.navbar-brand small {
    margin-top: .6rem;
    font-size: .68rem;
    letter-spacing: .32em;
    text-transform: uppercase;
    color: var(--muted);
    font-family: var(--sans);
}
/* ==========================================================
HELPERS
========================================================== */

.section-padding {
  padding: 7rem 0;
}

.section-padding-sm {
  padding: 5rem 0;
}

.section-ivory {
  background: var(--ivory);
}

.section-mist,
.world-section {
  background: var(--soft-stone);
}

.section-sand,
.intro-section {
  background: var(--cream);
}

.section-sage,
.careers-section {
  background: var(--linen);
}

.section-stone,
.dates-section {
  background: var(--stone);
}

.section-label {
  display: inline-block;
  margin-bottom: 1rem;
  font-size: .74rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--soft-gold);
  font-weight: 600;
}

.section-intro {
  max-width: 700px;
  margin: 1.5rem auto 0;
}

.text-link {
  display: inline-block;
  margin-top: 1rem;
  font-size: .78rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--bronze);
  font-weight: 600;
  border-bottom: 1px solid var(--soft-gold);
  padding-bottom: .35rem;
}

.text-link:hover {
  color: var(--soft-gold);
}


/* ==========================================================
HEADER
========================================================== */

.site-header {
  background: rgba(255,253,249,.97);
  border-bottom: 1px solid rgba(45,41,36,.06);
}

.navbar {
  min-height: 110px;
  box-shadow: none;
}

.navbar-brand {
  display: flex;
  flex-direction: column;
  line-height: 1;
}

.navbar-brand span {
  font-size: 2rem;
  color: var(--bronze);
}

.navbar-brand small {
  margin-top: .8rem;
  font-size: .65rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--muted);
  font-family: var(--sans);
}

.nav-link {
  font-size: .75rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--charcoal);
  margin: 0 .7rem;
}

.nav-link.active,
.nav-link:hover {
  color: var(--soft-gold);
}

.nav-btn {
  border-radius: 0;
  letter-spacing: .16em;
  text-transform: uppercase;
  padding: .8rem 1.4rem;
}


/* ==========================================================
BUTTONS
========================================================== */

.btn {

    border-radius: 0;
    box-shadow: none;

    letter-spacing: .16em;
    text-transform: uppercase;

    font-size: .75rem;
    font-weight: 600;

    padding: 1rem 2rem;

    transition:
        background .35s ease,
        border-color .35s ease,
        color .35s ease,
        transform .25s ease,
        box-shadow .35s ease;

}


/* ----------------------------------------------------------
Primary
---------------------------------------------------------- */

.btn-primary-custom {

    background:
        linear-gradient(
            to bottom,
            #c8a66b 0%,
            #b89355 100%
        );

    border: 1px solid #b89355;

    color: #fff;

    box-shadow:
        inset 0 1px rgba(255,255,255,.25),
        0 10px 22px rgba(87,63,33,.18);

}

.btn-primary-custom:hover {

    background:
        linear-gradient(
            to bottom,
            #d4b57f 0%,
            #c39a5b 100%
        );

    border-color: #c39a5b;

    color: #fff;

    transform: translateY(-2px);

    box-shadow:
        inset 0 1px rgba(255,255,255,.30),
        0 14px 28px rgba(87,63,33,.24);

}


/* ----------------------------------------------------------
Outline
---------------------------------------------------------- */

.btn-outline-light-custom {

    background: rgba(255,255,255,.06);

    border: 1px solid rgba(255,255,255,.75);

    color: #fff;

    backdrop-filter: blur(4px);

}

.btn-outline-light-custom:hover {

    background: rgba(255,255,255,.95);

    border-color: #fff;

    color: var(--bronze);

    transform: translateY(-2px);

    box-shadow:
        0 12px 24px rgba(0,0,0,.12);

}

/* ==========================================================
HERO
========================================================== */

.hero-section {
    position: relative;
    min-height: 80vh;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.hero-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:

        /* Darker on the left for text, fading gently to clear */

        linear-gradient(
            90deg,
            rgba(42,32,22,.72) 0%,
            rgba(42,32,22,.60) 15%,
            rgba(42,32,22,.44) 35%,
            rgba(42,32,22,.22) 58%,
            rgba(42,32,22,.08) 80%,
            rgba(42,32,22,0) 100%
        ),

        /* Gentle warm wash */

        linear-gradient(
            180deg,
            rgba(148,114,67,.08) 0%,
            rgba(95,73,48,.05) 100%
        );
}

.hero-overlay::after {
    content: "";
    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            ellipse at center,
            transparent 60%,
            rgba(0,0,0,.08) 100%
        );

    pointer-events: none;
}

.hero-content {
    position: relative;
    z-index: 2;
}

.hero-content .row > div {
    max-width: 620px;
}

.hero-content h1 {
    text-shadow:
        0 3px 18px rgba(0,0,0,.18);
}

.hero-content p {
    max-width: 560px;
    margin-bottom: 2rem;
    color: rgba(255,255,255,.94);
    font-size: 1.12rem;

    text-shadow:
        0 2px 10px rgba(0,0,0,.15);
}

.hero-buttons {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}
.hero-video {
  opacity: 0;
  animation: heroVideoFadeIn .7s ease-out forwards;
}

@keyframes heroVideoFadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-video {
    opacity: 1;
    animation: none;
  }
}

/* ==========================================================
RESPONSIVE
========================================================== */

@media (max-width: 991px) {

    .hero-section {
        min-height: 72vh;
    }

    .hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(42,32,22,.72) 0%,
                rgba(42,32,22,.58) 46%,
                rgba(42,32,22,.24) 76%,
                rgba(42,32,22,.08) 100%
            ),

            linear-gradient(
                180deg,
                rgba(148,114,67,.08) 0%,
                rgba(95,73,48,.08) 100%
            );
    }

}

@media (max-width: 575px) {

    .hero-section {
        min-height: 78vh;
    }

    .hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(42,32,22,.70) 0%,
                rgba(42,32,22,.60) 55%,
                rgba(42,32,22,.32) 100%
            ),

            linear-gradient(
                180deg,
                rgba(42,32,22,.10) 0%,
                rgba(42,32,22,.30) 100%
            );
    }

    .hero-content .row > div {
        max-width: 100%;
    }

    .hero-content p {
        max-width: 100%;
        font-size: 1rem;
    }

    .hero-buttons {
        gap: .8rem;
    }

}

/* ==========================================================
INTRO
========================================================== */

.intro-section {
  position: relative;
}

.image-frame {
  position: relative;
}

.image-frame img {
  width: 100%;
  display: block;
  object-fit: cover;
  box-shadow: 0 22px 70px rgba(45,41,36,.08);
}

.image-frame::before {
  content: "";
  position: absolute;
  left: -1.2rem;
  bottom: -1.2rem;
  width: 45%;
  height: 45%;
  border-left: 1px solid var(--soft-gold);
  border-bottom: 1px solid var(--soft-gold);
  z-index: 1;
  pointer-events: none;
}


/* ==========================================================
   HOME PAGE MINISTRY
   ========================================================== */

.ministry-transition {
  max-width: 900px;
  margin: 0 auto 5rem;
  padding-bottom: 3rem;
  text-align: center;
  border-bottom: 1px solid rgba(107, 86, 65, .12);
}

.ministry-transition .section-label {
  margin-bottom: 1.4rem;
}

.ministry-transition h2 {
  max-width: 760px;
  margin: 0 auto 1.6rem;
  color: var(--charcoal);
  font-size: clamp(2.6rem, 4vw, 4rem);
  line-height: 1.08;
  text-wrap: balance;
}

.ministry-transition p {
  max-width: 700px;
  margin: 0 auto;
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.9;
}


/* ==========================================================
   INVITE US INTRODUCTION
   ========================================================== */

.ministry-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(
      circle at 12% 18%,
      rgba(185, 150, 90, .08),
      transparent 32%
    ),
    linear-gradient(
      135deg,
      var(--warm-white) 0%,
      var(--cream) 100%
    );
}

.ministry-section::before {
  content: "";
  position: absolute;
  top: -170px;
  right: -150px;
  width: 390px;
  height: 390px;
  border: 1px solid rgba(185, 150, 90, .1);
  border-radius: 50%;
  pointer-events: none;
}

.ministry-section .container {
  position: relative;
  z-index: 1;
}

.ministry-heading {
  max-width: 780px;
  margin-bottom: clamp(2.5rem, 4vw, 3.5rem);
  padding-right: clamp(0rem, 3vw, 3rem);
}

.ministry-heading h2 {
  max-width: 750px;
  margin: 0 0 1.8rem;
  color: #594536;
  font-family: var(--serif);
  font-size: clamp(3rem, 4.8vw, 5rem);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.ministry-heading-intro {
  max-width: 610px;
  margin: 0;
  padding-top: 1.4rem;
  border-top: 1px solid rgba(185, 150, 90, .18);
  color: rgba(92, 78, 67, .66);
  font-family: var(--serif);
  font-size: clamp(1.2rem, 1.65vw, 1.5rem);
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: .005em;
  text-wrap: balance;
}


/* ==========================================================
   INVITE US PHOTOGRAPH
   ========================================================== */

.ministry-intro-image {
  position: relative;
  overflow: hidden;
  box-shadow: 0 28px 70px rgba(45, 36, 28, .11);
}

.ministry-intro-image::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  border: 1px solid rgba(255, 255, 255, .14);
  pointer-events: none;
}

.ministry-intro-image > img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center top !important;
  transform: none !important;
}

.ministry-intro-image-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      to top,
      rgba(30, 23, 18, .82) 0%,
      rgba(30, 23, 18, .32) 35%,
      rgba(30, 23, 18, .04) 68%,
      transparent 100%
    );
  pointer-events: none;
}

.ministry-intro-image-caption {
  position: absolute;
  right: clamp(1.6rem, 3vw, 2.5rem);
  bottom: clamp(1.6rem, 3vw, 2.5rem);
  left: clamp(1.6rem, 3vw, 2.5rem);
  z-index: 3;
  max-width: 520px;
}

.ministry-intro-image-caption p {
  max-width: 520px;
  margin: 0 0 .55rem;
  color: #fffaf2;
  font-family: var(--serif);
  font-size: clamp(1.55rem, 2.4vw, 2.35rem);
  line-height: 1.18;
  text-wrap: balance;
}

.ministry-intro-image-caption span {
  display: block;
  margin: 0;
  color: #e2bd7d;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}


/* ==========================================================
   INVITE US RIGHT-HAND PANEL
   ========================================================== */

.ministry-intro-group {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: clamp(2.2rem, 3.5vw, 3.4rem);
  border: 1px solid rgba(185, 150, 90, .14);
  background: rgba(255, 253, 249, .88);
  box-shadow:
    0 24px 65px rgba(70, 53, 36, .07),
    inset 0 1px rgba(255, 255, 255, .75);
}

.ministry-intro-group::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 3px;
  background:
    linear-gradient(
      to bottom,
      rgba(185, 150, 90, .85),
      rgba(185, 150, 90, .18)
    );
}

.ministry-intro-block {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  gap: 1.3rem;
  align-items: start;
}

.ministry-intro-block + .ministry-intro-block {
  margin-top: 2.4rem;
  padding-top: 2.4rem;
  border-top: 1px solid rgba(107, 86, 65, .12);
}

.ministry-intro-icon {
  position: relative;
  width: 50px;
  height: 50px;
  border: 1px solid rgba(185, 150, 90, .18);
  border-radius: 50%;
  background: rgba(185, 150, 90, .08);
  color: var(--soft-gold);
  font-size: 1rem;
}

.ministry-intro-icon i {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0;
  line-height: 1;
  transform: translate(-50%, -50%) translateY(3px);
}

.ministry-intro-copy h3 {
  margin: 0 0 .8rem;
  color: #594536;
  font-family: var(--serif);
  font-size: clamp(1.45rem, 2vw, 1.7rem);
  font-weight: 600;
  line-height: 1.2;
}

.ministry-intro-copy p {
  margin: 0;
  color: rgba(45, 40, 35, .82);
  font-size: .96rem;
  line-height: 1.82;
}


/* ==========================================================
   FEATURED MINISTRY PHOTOGRAPH
   ========================================================== */

.ministry-feature {
  position: relative;
  min-height: 650px;
  height: 100%;
  overflow: hidden;
  background: var(--stone);
}

.ministry-feature img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% center;
  transition: transform .8s ease;
}

.ministry-feature:hover img {
  transform: scale(1.025);
}

.ministry-feature-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      to top,
      rgba(45, 34, 26, .82) 0%,
      rgba(45, 34, 26, .34) 44%,
      rgba(45, 34, 26, .03) 74%
    );
}

.ministry-feature-copy {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  padding: 3.2rem;
}

.ministry-feature-copy span {
  display: block;
  margin-bottom: 1rem;
  color: rgba(255, 255, 255, .78);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.ministry-feature-copy h3 {
  max-width: 520px;
  margin: 0;
  color: #fff;
  font-family: var(--serif);
  font-size: clamp(2rem, 3vw, 3.25rem);
  font-weight: 500;
  line-height: 1.08;
  text-wrap: balance;
}


/* ==========================================================
   HOME MINISTRY RESPONSIVE
   ========================================================== */

@media (max-width: 991.98px) {

  .ministry-heading {
    max-width: 820px;
    padding-right: 0;
  }

  .ministry-heading h2 {
    max-width: 800px;
  }

  .ministry-intro-group {
    height: auto;
    margin-top: 1rem;
  }

  .ministry-feature {
    min-height: 560px;
  }

}

@media (max-width: 767.98px) {

  .ministry-feature {
    min-height: 520px;
  }

  .ministry-feature-copy {
    padding: 2.4rem;
  }

}

@media (max-width: 575.98px) {

  .ministry-heading {
    margin-bottom: 2rem;
  }

  .ministry-heading h2 {
    font-size: clamp(2.6rem, 12vw, 3.5rem);
  }

  .ministry-heading-intro {
    padding-top: 1.25rem;
  }

  .ministry-intro-image-caption {
    right: 1.4rem;
    bottom: 1.4rem;
    left: 1.4rem;
  }

  .ministry-intro-image-caption p {
    font-size: 1.55rem;
  }

  .ministry-intro-group {
    padding: 1.6rem;
  }

  .ministry-intro-block {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 1rem;
  }

  .ministry-intro-block + .ministry-intro-block {
    margin-top: 1.8rem;
    padding-top: 1.8rem;
  }

  .ministry-intro-icon {
    width: 42px;
    height: 42px;
    font-size: .9rem;
  }

  .ministry-intro-copy h3 {
    font-size: 1.4rem;
  }

  .ministry-feature {
    min-height: 500px;
  }

  .ministry-feature-copy {
    padding: 2rem;
  }

}
/* ==========================================================
DISTINGUISHED CAREERS
========================================================== */

.careers-section {
  position: relative;
  padding: 8rem 0 7rem;
  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(255, 255, 255, .9) 0%,
      rgba(255, 253, 249, .65) 38%,
      rgba(248, 244, 238, .95) 100%
    );
}

.careers-heading {
  max-width: 1000px;
  margin: 0 auto 5rem;
}

.careers-heading h2 {
  max-width: 950px;
  margin: 0 auto 1.7rem;
  font-size: clamp(2.8rem, 4.8vw, 5rem);
  line-height: 1.02;
  text-wrap: balance;
}

.careers-heading p {
  max-width: 720px;
  margin: 0 auto;
  font-size: 1rem;
  line-height: 1.8;
}


/* Grid */

.careers-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  max-width: 1320px;
  margin: 0 auto;
}


/* Individual item */

.career-item {
  position: relative;
  min-height: 390px;
  padding: 1.5rem 2rem 2rem;
  text-align: center;
}

.career-item:not(:last-child) {
  border-right: 1px solid rgba(107, 86, 65, .12);
}


/* Icon */

.career-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 74px;
  height: 74px;
  margin: 0 auto 1.75rem;
  color: rgba(185, 150, 90, .78);
  font-size: 3.05rem;
  transition:
    color .35s ease,
    transform .35s ease;
}

.career-item:hover .career-icon {
  color: var(--bronze);
  transform: translateY(-3px);
}


/* Heading */

.career-item h3 {
  min-height: 58px;
  margin: 0;
  color: var(--charcoal);
  font-family: var(--serif);
  font-size: 1.35rem;
  font-weight: 600;
  letter-spacing: .12em;
  line-height: 1.25;
  text-transform: uppercase;
}


/* Small accent */

.career-accent {
  display: block;
  width: 34px;
  height: 1px;
  margin: 1.2rem auto 1.5rem;
  background: var(--soft-gold);
}


/* Copy */

.career-item p {
  max-width: 220px;
  margin: 0 auto;
  font-size: .94rem;
  line-height: 1.75;
}

.career-item .collapse p + p {
  margin-top: 1rem;
}


/* Soft text links */

.soft-link {
  color: rgba(107, 86, 65, .82);
  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: rgba(185, 150, 90, .5);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  transition:
    color .25s ease,
    text-decoration-color .25s ease;
}

.soft-link:hover,
.soft-link:focus {
  color: var(--bronze);
  text-decoration-color: var(--bronze);
}

/* ==========================================================================
   READ MORE
   ========================================================================== */

.career-read-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;

  margin-top: 1.35rem;
  padding: .62rem 1.2rem;

  border: 1px solid rgba(185, 150, 90, .42);
  border-radius: 50px;

  background: rgba(185, 150, 90, .055);

  color: #6f5844;

  font-size: .75rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .07em;

  cursor: pointer;

  transition:
    background-color .25s ease,
    border-color .25s ease,
    color .25s ease,
    transform .25s ease;
}

.career-read-more i {
  color: var(--soft-gold);
  font-size: .72rem;

  transition:
    transform .25s ease;
}

.career-read-more:hover,
.career-read-more:focus-visible {
  border-color: rgba(185, 150, 90, .7);

  background: rgba(185, 150, 90, .12);

  color: #554234;

  transform: translateY(-1px);
}

.career-read-more:hover i,
.career-read-more:focus-visible i {
  transform: translateX(4px);
}

.career-read-more:focus-visible {
  outline: 2px solid rgba(185, 150, 90, .3);
  outline-offset: 3px;
}

/* Closing statement */

.careers-closing {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  margin-top: 4.5rem;
  text-align: center;
}

.careers-closing span {
  width: 95px;
  height: 1px;
  background: rgba(185, 150, 90, .55);
}

.careers-closing p {
  margin: 0;
  color: var(--charcoal);
  font-family: var(--serif);
  font-size: clamp(1.5rem, 2vw, 2rem);
  font-style: italic;
  line-height: 1.3;
}
/* ==========================================================
RESPONSIVE
========================================================== */

@media (max-width: 1199px) {

  .careers-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .career-item {
    min-height: 360px;
  }

  .career-item:nth-child(3) {
    border-right: 0;
  }

  .career-item:nth-child(-n+3) {
    border-bottom: 1px solid rgba(107,86,65,.12);
  }

  .career-item:nth-child(4) {
    grid-column: 1 / 2;
  }

  .career-item:nth-child(5) {
    grid-column: 2 / 3;
    border-right: 0;
  }

}


@media (max-width: 767px) {

  .careers-section {
    padding: 5.5rem 0;
  }

  .careers-heading {
    margin-bottom: 3.5rem;
  }

  .careers-heading h2 {
    font-size: clamp(2.5rem, 9vw, 3.5rem);
  }

  .careers-grid {
    grid-template-columns: 1fr;
  }

  .career-item,
  .career-item:nth-child(4),
  .career-item:nth-child(5) {
    grid-column: auto;
    min-height: auto;
    padding: 2.5rem 1.5rem;
    border-right: 0;
    border-bottom: 1px solid rgba(107,86,65,.12);
  }

  .career-item:last-child {
    border-bottom: 0;
  }

  .career-item h3 {
    min-height: auto;
  }

  .career-item p {
    max-width: 420px;
  }

  .careers-closing {
    gap: 1rem;
    margin-top: 3.5rem;
  }

  .careers-closing span {
    width: 36px;
  }

}

/* ==========================================================
HOME PAGE VISION FEATURE
========================================================== */

.pf-home-vision {
    position: relative;
    min-height: 680px;
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: 8rem 0;
    background: #e8ddcf;
}


/* Background */

.pf-home-vision__background,
.pf-home-vision__background img,
.pf-home-vision__overlay {
    position: absolute;
    inset: 0;
}

.pf-home-vision__background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;

    filter:
        brightness(1.04)
        saturate(.72)
        contrast(.9);

    transform: scale(1.03);
}


/* Overlay */

.pf-home-vision__overlay {
    background:

    /* Warm cream wash */

    linear-gradient(
        180deg,
        rgba(246,240,231,.70) 0%,
        rgba(237,226,211,.66) 100%
    ),

    /* Softer central glow */

    radial-gradient(
        circle at 50% 42%,
        rgba(255,253,248,.58) 0%,
        rgba(255,253,248,.22) 34%,
        rgba(255,253,248,0) 70%
    ),

    /* Very subtle golden warmth */

    radial-gradient(
        circle at 50% 60%,
        rgba(215,184,120,.08) 0%,
        rgba(215,184,120,0) 65%
    );
}


/* Edge shading */

.pf-home-vision::after {
    content: "";
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(102,77,53,.06) 0%,
            rgba(102,77,53,0) 20%,
            rgba(102,77,53,0) 80%,
            rgba(102,77,53,.06) 100%
        );

    pointer-events: none;
}


/* Content */

.pf-home-vision .container {
    position: relative;
    z-index: 2;
}

.pf-home-vision__content {
    max-width: 960px;
    margin: 0 auto;
    text-align: center;
}


/* Label */

.pf-home-vision__label {
    display: inline-block;
    margin-bottom: 1.5rem;

    color: var(--soft-gold);

    font-family: var(--sans);
    font-size: .74rem;
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
}


/* Quote mark */

.pf-home-vision__quote-mark {
    height: 118px;
    margin-bottom: .5rem;

    color: rgba(175,133,73,.2);

    font-family: Georgia, serif;
    font-size: 13rem;
    line-height: .7;

    user-select: none;
    pointer-events: none;
}


/* Quote */

.pf-home-vision__quote {
	max-width: 880px;
	margin: 0 auto;
	color: #594536;
	font-family: var(--serif);
	font-size: clamp(2.8rem, 4.8vw, 5rem);
	font-weight: 500;
	line-height: 1.08;
	text-wrap: balance;
	text-shadow: 0 2px 20px rgba(255,255,255,.28);
}


/* Reference */

.pf-home-vision__reference {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.4rem;

    margin-top: 3rem;

    color: var(--bronze);

    font-family: var(--sans);
    font-size: .76rem;
    font-weight: 600;
    letter-spacing: .3em;
    text-transform: uppercase;
}

.pf-home-vision__reference span {
    width: 58px;
    height: 1px;
    background: rgba(175,133,73,.42);
}


/* ==========================================================
RESPONSIVE
========================================================== */

@media (max-width: 991px) {

    .pf-home-vision {
        min-height: 610px;
        padding: 7rem 0;
    }

    .pf-home-vision__quote-mark {
        height: 100px;
        font-size: 11rem;
    }

}


@media (max-width: 767px) {

    .pf-home-vision {
        min-height: 540px;
        padding: 6rem 0;
    }

    .pf-home-vision__quote-mark {
        height: 78px;
        font-size: 8.5rem;
    }

    .pf-home-vision__quote {
        font-size: clamp(2.2rem, 8vw, 3.2rem);
        line-height: 1.12;
    }

    .pf-home-vision__reference {
        margin-top: 2.4rem;
        gap: 1rem;
        letter-spacing: .22em;
    }

    .pf-home-vision__reference span {
        width: 36px;
    }

}


@media (max-width: 480px) {

    .pf-home-vision {
        min-height: 500px;
        padding: 5.2rem 0;
    }

    .pf-home-vision__quote {
        font-size: 2.25rem;
    }

}/* ==========================================================
UPCOMING EVENTS
========================================================== */

.dates-section {
    position: relative;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(255,255,255,.72) 0%,
            rgba(255,255,255,0) 38%
        ),
        linear-gradient(
            180deg,
            #eee7dc 0%,
            #e8ded1 100%
        );
}


/* Gentle background detail */

.dates-section::before {
    content: "";
    position: absolute;
    right: -180px;
    bottom: -220px;

    width: 560px;
    height: 560px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(185,150,90,.09) 0%,
            rgba(185,150,90,0) 70%
        );

    pointer-events: none;
}

.dates-section .container {
    position: relative;
    z-index: 2;
}


/* ==========================================================
FEATURED EVENT CARD
========================================================== */

.featured-date-card {
    position: relative;

    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) auto;
    align-items: stretch;

    max-width: 980px;
    margin: 0 auto;

    overflow: hidden;

    background: rgba(255,253,249,.94);

    border:
        1px solid rgba(107,86,65,.09);

    box-shadow:
        0 28px 75px rgba(63,48,36,.09);

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.featured-date-card:hover {
    transform: translateY(-4px);

    box-shadow:
        0 34px 90px rgba(63,48,36,.13);
}


/* Fine highlight across the top */

.featured-date-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 180px;
    right: 0;

    height: 2px;

    background:
        linear-gradient(
            90deg,
            rgba(185,150,90,.65),
            rgba(185,150,90,0)
        );
}


/* ==========================================================
DATE BLOCK
========================================================== */

.featured-date {
    position: relative;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    min-height: 230px;
    padding: 2.6rem 1.8rem;

    text-align: center;
    color: #fff;

    background:
        linear-gradient(
            145deg,
            #82694f 0%,
            #6f5843 100%
        );
}


/* Subtle glow inside date block */

.featured-date::before {
    content: "";
    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            circle at 50% 15%,
            rgba(255,255,255,.12) 0%,
            rgba(255,255,255,0) 52%
        );

    pointer-events: none;
}

.featured-day,
.featured-month {
    position: relative;
    z-index: 2;
}

.featured-date{
    flex: 0 0 220px;      /* increase from about 180-190px */
    padding: 2.25rem 1.5rem;
    text-align: center;
}

.featured-day{
    display:block;
    font-family:var(--serif);
    font-size:4.2rem;
    font-weight:500;
    line-height:1;
    letter-spacing:-0.03em;
    white-space:nowrap;
}

.featured-month{
    display:block;
    margin-top:1.3rem;
    font-size:.78rem;
    letter-spacing:.28em;
    text-transform:uppercase;
}
.featured-month {
    display: block;
    margin-top: 1rem;

    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .3em;
    text-transform: uppercase;

    color: rgba(255,255,255,.88);
}

.ministry-content-section {
  position: relative;
  padding: 0 0 7rem;
  background: var(--warm-white);
}

/* ==========================================================
EVENT INFORMATION
========================================================== */

.featured-date-content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 2.7rem 3rem;
}

.featured-event-label {
    display: flex;
    align-items: center;
    gap: .8rem;

    margin-bottom: .8rem;

    color: var(--soft-gold);

    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.featured-event-label::after {
    content: "";

    width: 42px;
    height: 1px;

    background: rgba(185,150,90,.4);
}

.featured-date-content h3 {
    max-width: 420px;
    margin-bottom: .9rem;


    color: var(--heading);
    font-family: var(--serif);
    font-size: clamp(2rem, 3vw, 2.8rem);
    font-weight: 500;
    line-height: 1.05;
}

.featured-location {
    margin-bottom: .35rem;

    color: var(--charcoal);
    font-size: .98rem;
}

.featured-time {
    margin: 0;

    color: var(--muted);

    font-size: .78rem;
    font-weight: 500;
    letter-spacing: .13em;
    text-transform: uppercase;
}


/* Optional icons within event details */

.featured-location i,
.featured-time i {
    width: 1.3rem;
    margin-right: .35rem;

    color: var(--soft-gold);
    text-align: center;
}

/* ==========================================================
   ADDITIONAL UPCOMING EVENTS
   ========================================================== */

.pf-upcoming-events-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  max-width: 1120px;
  margin: 2.5rem auto 0;
}

.pf-upcoming-event-card {
  display: grid;
  grid-template-columns: 145px minmax(0, 1fr);
  min-height: 165px;
  overflow: hidden;
  border: 1px solid rgba(107, 86, 65, .1);
  background: rgba(255, 253, 249, .88);
  box-shadow: 0 18px 45px rgba(45, 41, 36, .05);
  transition:
    transform .3s ease,
    box-shadow .3s ease,
    border-color .3s ease;
}

.pf-upcoming-event-card:hover {
  transform: translateY(-3px);
  border-color: rgba(185, 150, 90, .24);
  box-shadow: 0 24px 55px rgba(45, 41, 36, .08);
}


/* DATE PANEL */

.pf-upcoming-event-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 1rem;
  border-right: 1px solid rgba(107, 86, 65, .08);
  background:
    linear-gradient(
      145deg,
      rgba(107, 86, 65, .11),
      rgba(185, 150, 90, .07)
    );
  text-align: center;
}

.pf-upcoming-event-day {
  display: block;
  white-space: nowrap;
  color: var(--bronze);
  font-family: var(--serif);
  font-size: clamp(2.5rem, 3vw, 3.3rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.035em;
}

.pf-upcoming-event-month {
  display: block;
  margin-top: .85rem;
  color: var(--soft-gold);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.2;
  text-transform: uppercase;
}


/* EVENT DETAILS */

.pf-upcoming-event-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 1.75rem 2rem;
}

.pf-upcoming-event-type {
  display: block;
  margin-bottom: .55rem;
  color: var(--soft-gold);
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.3;
  text-transform: uppercase;
}

.pf-upcoming-event-copy h3 {
  margin: 0 0 .45rem;
  color: var(--charcoal);
  font-family: var(--serif);
  font-size: clamp(1.65rem, 2vw, 2rem);
  font-weight: 500;
  line-height: 1.15;
}

.pf-upcoming-event-copy p {
  margin: 0;
  color: var(--muted);
  font-size: .95rem;
  line-height: 1.6;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 991.98px) {

  .pf-upcoming-events-grid {
    grid-template-columns: 1fr;
    max-width: 760px;
  }

}

@media (max-width: 575.98px) {

  .pf-upcoming-event-card {
    grid-template-columns: 105px minmax(0, 1fr);
    min-height: 145px;
  }

  .pf-upcoming-event-date {
    padding: 1.2rem .65rem;
  }

  .pf-upcoming-event-day {
    font-size: 2.15rem;
  }

  .pf-upcoming-event-month {
    font-size: .56rem;
    letter-spacing: .1em;
  }

  .pf-upcoming-event-copy {
    padding: 1.35rem 1.25rem;
  }

  .pf-upcoming-event-copy h3 {
    font-size: 1.5rem;
  }

}
/* ==========================================================
ACTION
========================================================== */

.featured-date-action {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    min-width: 220px;
    padding: 2.5rem 2.7rem;
}

.featured-date-action::before {
    content: "";
    position: absolute;
    top: 2.5rem;
    bottom: 2.5rem;
    left: 0;

    width: 1px;

    background:
        linear-gradient(
            180deg,
            rgba(107,86,65,0),
            rgba(107,86,65,.16),
            rgba(107,86,65,0)
        );
}

.featured-date-action .btn {
    white-space: nowrap;
}


/* ==========================================================
RESPONSIVE
========================================================== */

@media (max-width: 991px) {

    .featured-date-card {
        grid-template-columns: 160px minmax(0, 1fr);
    }

    .featured-date-card::before {
        left: 160px;
    }

    .featured-date {
        min-height: 220px;
    }

    .featured-date-action {
        grid-column: 1 / -1;

        min-width: 0;
        padding: 0 2.5rem 2.5rem;
    }

    .featured-date-action::before {
        display: none;
    }

}


@media (max-width: 575px) {

    .featured-date-card {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .featured-date-card::before {
        left: 0;
    }

    .featured-date {
        min-height: auto;
        padding: 2.2rem 1.5rem;
    }

    .featured-day {
        font-size: 4.4rem;
    }

    .featured-date-content {
        align-items: center;
        padding: 2.4rem 1.5rem 1.8rem;
    }

    .featured-event-label {
        justify-content: center;
    }

    .featured-event-label::after {
        display: none;
    }

    .featured-date-content h3 {
        max-width: 320px;
    }

    .featured-date-action {
        grid-column: auto;
        padding: 0 1.5rem 2.3rem;
    }

}
/* ==========================================================
SCRIPTURE
========================================================== */

.scripture-section {
  position: relative;
  min-height: 620px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--dark);
}

.scripture-background {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.scripture-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter:
    blur(2px)
   
    saturate(.82)
    contrast(.94);
  transform: scale(1.04);
}

.scripture-overlay {
  position: absolute;
  inset: 0;

}

.scripture-content {
  position: relative;
  z-index: 2;
  text-align: center;
}

.scripture-content blockquote {
  max-width: 880px;
  margin: 0 auto;
  color: #fffdf9;
  font-family: var(--serif);
  font-size: clamp(2.4rem, 4vw, 4.2rem);
  font-weight: 500;
  line-height: 1.18;
  text-wrap: balance;
  text-shadow: 0 4px 24px rgba(35,28,22,.28);
}

.scripture-reference {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  margin-top: 2.6rem;
}

.scripture-reference span {
  width: 52px;
  height: 1px;
  background: rgba(255,253,249,.46);
}

.scripture-reference cite {
  color: rgba(255,253,249,.88);
  font-family: var(--sans);
  font-size: .76rem;
  font-style: normal;
  font-weight: 600;
  letter-spacing: .32em;
  text-transform: uppercase;
}

@media (max-width: 767px) {

  .scripture-section {
    min-height: 500px;
  }

  .scripture-content blockquote {
    font-size: 2.35rem;
  }

  .scripture-reference {
    gap: 1rem;
  }

  .scripture-reference span {
    width: 34px;
  }

}

/* ==========================================================
FOOTER
========================================================== */

.site-footer {

    position: relative;
    overflow: hidden;

    padding: 4.75rem 0 1.75rem;

    background:
        linear-gradient(
            to bottom,
            #f1ebe3 0%,
            #e9dfd3 100%
        );

    border-top: 1px solid rgba(107,86,65,.10);

}


/* ----------------------------------------------------------
Soft glow
---------------------------------------------------------- */

.site-footer::before {

    content: "";

    position: absolute;
    left: 50%;
    top: -85px;

    width: 620px;
    height: 210px;

    transform: translateX(-50%);

    background:
        radial-gradient(
            ellipse at center,
            rgba(255,255,255,.82) 0%,
            rgba(255,252,246,.46) 35%,
            rgba(255,255,255,0) 72%
        );

    pointer-events: none;

}


/* Gentle warmth behind logo */

.site-footer::after {

    content: "";

    position: absolute;
    left: 50%;
    top: .6rem;

    width: 300px;
    height: 140px;

    transform: translateX(-50%);

    background:
        radial-gradient(
            ellipse at center,
            rgba(185,150,90,.08) 0%,
            rgba(185,150,90,0) 72%
        );

    pointer-events: none;

}


/* ----------------------------------------------------------
Layout
---------------------------------------------------------- */

.site-footer .container {

    position: relative;
    z-index: 2;

}

.footer-main {

    max-width: 760px;
    margin: 0 auto;

}


/* ==========================================================
FOOTER LOGO
========================================================== */

.footer-logo {

    display: inline-flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    line-height: 1;

}

.footer-logo-main {

    font-family: var(--serif);
    font-size: clamp(2.5rem,4vw,3rem);
    font-weight: 500;
    letter-spacing: -.02em;
    color: var(--bronze);
    line-height: 1;

}

.footer-logo small {

    margin-top: .55rem;

    font-family: var(--sans);

    font-size: .66rem;

    font-weight: 500;

    letter-spacing: .30em;

    text-transform: uppercase;

    color: #756c63;

}


/* ----------------------------------------------------------
Intro
---------------------------------------------------------- */

.footer-intro {

    max-width: 560px;

    margin: 1.5rem auto 0;

    color: #6d655e;

    font-size: .96rem;

    line-height: 1.75;

}


/* ----------------------------------------------------------
Navigation
---------------------------------------------------------- */

.footer-nav {

    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 1rem 2rem;

    margin-top: 2rem;

}

.footer-nav a {

    position: relative;

    color: #4d453e;

    font-size: .74rem;

    font-weight: 600;

    letter-spacing: .16em;

    text-transform: uppercase;

    text-decoration: none;

    transition: .3s ease;

}

.footer-nav a::after {

    content: "";

    position: absolute;

    left: 50%;

    bottom: -.45rem;

    width: 0;

    height: 1px;

    background: var(--soft-gold);

    transform: translateX(-50%);

    transition: width .3s ease;

}

.footer-nav a:hover {

    color: var(--bronze);

}

.footer-nav a:hover::after {

    width: 24px;

}


/* ----------------------------------------------------------
Button
---------------------------------------------------------- */

.footer-button {

    margin-top: 2.2rem;

}


/* ----------------------------------------------------------
Bottom
---------------------------------------------------------- */

.footer-bottom {

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 1rem;

    margin-top: 3.25rem;

    padding-top: 1.4rem;

    border-top: 1px solid rgba(107,86,65,.12);

}

.footer-bottom p {

    margin: 0;

    color: #746b63;

    font-size: .8rem;

}


/* ----------------------------------------------------------
Legal
---------------------------------------------------------- */

.footer-legal {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 1rem;

}

.footer-legal a {

    color: #746b63;

    font-size: .8rem;

    text-decoration: none;

    transition: color .3s ease;

}

.footer-legal a:hover {

    color: var(--bronze);

}


/* ==========================================================
RESPONSIVE
========================================================== */

@media (max-width:767px){

    .site-footer{

        padding:3.75rem 0 1.5rem;

    }

    .site-footer::before{

        width:460px;
        height:170px;
        top:-70px;

    }

    .site-footer::after{

        width:220px;
        height:110px;

    }

    .footer-logo-main{

        font-size:2.5rem;

    }

    .footer-logo small{

        font-size:.62rem;
        letter-spacing:.24em;

    }

    .footer-intro{

        margin-top:1.25rem;
        font-size:.92rem;

    }

    .footer-nav{

        gap:.8rem 1.2rem;
        margin-top:1.8rem;

    }

    .footer-button{

        margin-top:2rem;

    }

    .footer-bottom{

        flex-direction:column;
        text-align:center;

        margin-top:3rem;

    }

    .footer-legal{

        justify-content:center;

    }

}

@media (max-width:480px){

    .footer-nav{

        flex-direction:column;

        align-items:center;

    }

    .footer-button{

        width:100%;
        max-width:280px;

    }

}/* ==========================================================
ABOUT HERO
========================================================== */

.about-hero {
    position: relative;
    min-height: 660px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--dark);
}

.about-hero-background,
.about-hero-background img,
.about-hero-overlay {
    position: absolute;
    inset: 0;
}

.about-hero-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about-hero-overlay {
    background:
        linear-gradient(
            rgba(48,36,26,.48),
            rgba(48,36,26,.58)
        );
}

.about-hero .container {
    position: relative;
    z-index: 2;
}

.about-hero h1 {
    max-width: 920px;
    margin: 0 auto 1.6rem;
}

.about-hero p {
    max-width: 680px;
    margin: 0 auto;
    color: rgba(255,255,255,.9);
    font-size: 1.1rem;
}


/* ==========================================================
THEIR STORY
========================================================== */

.about-story {
    background: var(--cream);
}

.about-story-image {
    position: relative;
    padding: 1rem;
}

.about-story-image::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--warm-white);
    box-shadow: 0 25px 70px rgba(45,41,36,.08);
    transform: rotate(-1deg);
}

.about-story-image img {
    position: relative;
    z-index: 1;
    width: 100%;
    display: block;
}

.about-story-copy {
    max-width: 540px;
    margin-left: auto;
}

.about-story-copy p:last-child {
    margin-bottom: 0;
}


/* ==========================================================
PROFILE SECTIONS
========================================================== */

.profile-section-paul {
    background: var(--warm-white);
}

.profile-section-fiona {
    background: var(--linen);
}

.profile-copy {
    max-width: 530px;
}

.profile-image {
    position: relative;
    overflow: hidden;
    box-shadow: 0 25px 70px rgba(45,41,36,.07);
}

.profile-image img {
    width: 100%;
    min-height: 610px;
    display: block;
    object-fit: cover;
}

.profile-image-paul img {
    object-position: center;
}

.profile-image-fiona img {
    object-position: center 20%;
}


/* Highlights */

.profile-highlights {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 5rem;
    background: rgba(255,253,249,.58);
}

.profile-highlight {
    padding: 2rem 1.5rem;
    text-align: center;
}

.profile-highlight:not(:last-child) {
    border-right: 1px solid rgba(107,86,65,.1);
}

.profile-highlight span {
    display: block;
    margin-bottom: .6rem;
    color: var(--soft-gold);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.profile-highlight p {
    margin: 0;
    color: var(--charcoal);
    font-family: var(--serif);
    font-size: 1.2rem;
    line-height: 1.35;
}


/* ==========================================================
SALVATION
========================================================== */

.salvation-section {
    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(255,255,255,.8),
            transparent 42%
        ),
        var(--soft-stone);
}

.salvation-heading {
    max-width: 760px;
    margin: 0 auto 4rem;
}

.salvation-card {
    padding: 4rem;
    background: rgba(255,253,249,.78);
    box-shadow: 0 25px 70px rgba(45,41,36,.05);
}

.salvation-card blockquote {
    max-width: 760px;
    margin: 0 auto 2.8rem;
    color: var(--bronze);
    font-family: var(--serif);
    font-size: clamp(2rem, 3.2vw, 3.3rem);
    font-weight: 500;
    line-height: 1.15;
    text-align: center;
}

.salvation-copy {
    max-width: 760px;
    margin: 0 auto;
}

.salvation-copy p:last-child {
    margin-bottom: 0;
}


/* ==========================================================
ABOUT SCRIPTURE
========================================================== */

.about-scripture {
    position: relative;
    min-height: 560px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--dark);
}

.about-scripture-background,
.about-scripture-background img,
.about-scripture-overlay {
    position: absolute;
    inset: 0;
}

.about-scripture-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter:
        brightness(.82)
        saturate(.82)
        contrast(.94);
}

.about-scripture-overlay {
    background: rgba(72,56,40,.38);
}

.about-scripture .container {
    position: relative;
    z-index: 2;
}

.about-scripture blockquote {
    margin: 0;
    color: #fffdf9;
    font-family: var(--serif);
    font-size: clamp(2.4rem, 4vw, 4.2rem);
    font-weight: 500;
    line-height: 1.18;
    text-shadow: 0 4px 24px rgba(35,28,22,.28);
}

.about-scripture-reference {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.4rem;
    margin-top: 2.6rem;
}

.about-scripture-reference span {
    width: 52px;
    height: 1px;
    background: rgba(255,253,249,.46);
}

.about-scripture-reference cite {
    color: rgba(255,253,249,.88);
    font-family: var(--sans);
    font-size: .76rem;
    font-style: normal;
    font-weight: 600;
    letter-spacing: .32em;
    text-transform: uppercase;
}


/* ==========================================================
CALLING
========================================================== */

.calling-section {
    background: var(--warm-white);
}

.calling-heading {
    max-width: 460px;
}

.calling-copy {
    max-width: 680px;
}

.calling-lead {
    color: var(--charcoal);
    font-family: var(--serif);
    font-size: clamp(1.55rem, 2.4vw, 2.15rem);
    line-height: 1.35;
}


/* ==========================================================
VISION
========================================================== */

.about-vision {
    background:
        radial-gradient(
            circle at top,
            #fff 0%,
            #fcfaf7 42%,
            #f2ebe1 100%
        );
}

.about-vision h2 {
    max-width: 930px;
    margin: 0 auto 3rem;
    font-size: clamp(2.5rem, 4vw, 4.4rem);
    line-height: 1.08;
    text-wrap: balance;
}

.vision-copy {
    max-width: 760px;
    margin: 0 auto;
}

.vision-copy p {
    font-size: 1.02rem;
}

.vision-copy p:last-child {
    margin-bottom: 0;
}


/* ==========================================================
RESPONSIVE
========================================================== */

@media (max-width: 991px) {

    .about-hero {
        min-height: 560px;
    }

    .about-story-copy,
    .profile-copy,
    .calling-heading,
    .calling-copy {
        max-width: none;
    }

    .profile-image img {
        min-height: 540px;
    }

    .profile-highlights {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .profile-highlight:nth-child(2) {
        border-right: 0;
    }

    .profile-highlight:nth-child(-n+2) {
        border-bottom: 1px solid rgba(107,86,65,.1);
    }

}


@media (max-width: 767px) {

    .about-hero {
        min-height: 500px;
    }

    .about-hero h1 {
        font-size: 3.2rem;
    }

    .profile-image img {
        min-height: 460px;
    }

    .salvation-card {
        padding: 2.7rem 2rem;
    }

    .about-scripture {
        min-height: 480px;
    }

}


@media (max-width: 575px) {

    .profile-highlights {
        grid-template-columns: 1fr;
    }

    .profile-highlight {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(107,86,65,.1);
    }

    .profile-highlight:last-child {
        border-bottom: 0;
    }

    .about-scripture-reference {
        gap: 1rem;
    }

    .about-scripture-reference span {
        width: 32px;
    }

}


/* ==========================================================
ABOUT HERO
========================================================== */

.about-hero {
    position: relative;
    min-height: 650px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #3f3227;
}

.about-hero-background,
.about-hero-background img,
.about-hero-overlay {
    position: absolute;
    inset: 0;
}

.about-hero-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter:
        brightness(.98)
        saturate(.88)
        contrast(.94);
    transform: scale(1.02);
}

.about-hero-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(46,35,25,.72) 0%,
            rgba(46,35,25,.58) 22%,
            rgba(46,35,25,.34) 48%,
            rgba(46,35,25,.12) 72%,
            rgba(46,35,25,0) 100%
        ),
        linear-gradient(
            180deg,
            rgba(147,112,65,.08) 0%,
            rgba(61,46,31,.08) 100%
        );
}

.about-hero .container-fluid {
    position: relative;
    z-index: 2;
}

.about-hero-content {
    max-width: 720px;
}

.about-hero h1 {
    margin-bottom: 1.6rem;
    color: #fff;
    text-shadow: 0 3px 18px rgba(0,0,0,.18);
}

.about-hero p {
    max-width: 600px;
    margin: 0;
    color: rgba(255,255,255,.92);
    font-size: 1.1rem;
    line-height: 1.8;
    text-shadow: 0 2px 10px rgba(0,0,0,.14);
}


/* ==========================================================
RESPONSIVE
========================================================== */

@media (max-width: 991px) {

    .about-hero {
        min-height: 560px;
    }

    .about-hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(46,35,25,.7) 0%,
                rgba(46,35,25,.55) 50%,
                rgba(46,35,25,.2) 100%
            );
    }

}

@media (max-width: 575px) {

    .about-hero {
        min-height: 520px;
    }

    .about-hero h1 {
        font-size: 3.2rem;
    }

    .about-hero p {
        font-size: 1rem;
    }

}
/* ==========================================================
OUR SALVATION STORY
========================================================== */

.salvation-section {
    position: relative;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 12% 10%,
            rgba(255,255,255,.78) 0%,
            rgba(255,255,255,0) 34%
        ),
        linear-gradient(
            135deg,
            #eee4d7 0%,
            #e6d8c7 100%
        );
}


/* Soft glow */

.salvation-section::before {
    content: "";
    position: absolute;
    right: -160px;
    bottom: -180px;

    width: 520px;
    height: 520px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(202,164,101,.12) 0%,
            rgba(202,164,101,0) 70%
        );

    pointer-events: none;
}


/* Heading */

.salvation-heading {
    position: relative;
    z-index: 2;

    max-width: 820px;
    margin: 0 auto 4.5rem;
}

.salvation-heading h2 {
    margin-bottom: 0;
}


/* Main layout */

.salvation-layout {
    position: relative;
    z-index: 2;

    max-width: 1180px;
    margin: 0 auto;

    background: rgba(255,253,249,.7);

    border: 1px solid rgba(107,86,65,.1);

    box-shadow:
        0 30px 90px rgba(67,51,38,.09);
}


/* ==========================================================
IMAGE
========================================================== */

.salvation-image {
    position: relative;
    min-height: 100%;
    overflow: hidden;
    background: #8b735a;
}

.salvation-image img {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    filter:
        brightness(.9)
        saturate(.82)
        contrast(.92);

    transform: scale(1.02);
}

.salvation-image-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(58,43,30,.06) 0%,
            rgba(58,43,30,.18) 55%,
            rgba(45,33,23,.66) 100%
        );
}


/* Small detail over image */

.salvation-image-detail {
    position: absolute;
    left: 2.5rem;
    right: 2.5rem;
    bottom: 2.5rem;

    z-index: 2;

    color: #fff;
}

.salvation-image-detail span {
    display: inline-block;
    margin-bottom: .8rem;

    color: #f0d5a2;

    font-family: var(--sans);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .28em;
    text-transform: uppercase;
}

.salvation-image-detail p {
    margin: 0;

    color: rgba(255,255,255,.94);

    font-family: var(--serif);
    font-size: clamp(1.65rem, 2.4vw, 2.3rem);
    line-height: 1.16;
}


/* ==========================================================
OUR SALVATION STORY
========================================================== */

.salvation-section {
    position: relative;
    overflow: hidden;

    background:
        linear-gradient(
            180deg,
            #f8f4ee 0%,
            #eee4d8 100%
        );
}


/* Heading */

.salvation-heading {
    max-width: 780px;
    margin: 0 auto 3.5rem;
}

.salvation-heading h2 {
    margin-bottom: 0;
}


/* Main feature */

.salvation-feature {
    position: relative;
    max-width: 1180px;
    margin: 0 auto;
    padding-bottom: 7rem;
}


/* Image */

.salvation-image {
    position: relative;
    height: 480px;
    overflow: hidden;

    box-shadow:
        0 26px 70px rgba(58,43,30,.08);
}

.salvation-image img {
    width: 100%;
    height: 100%;
    display: block;

    object-fit: cover;
    object-position: center;

    filter:
        brightness(.97)
        saturate(.88)
        contrast(.94);
}

.salvation-image-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(57,42,29,.04) 0%,
            rgba(57,42,29,.16) 100%
        );
}


/* Year */

.salvation-year {
    position: absolute;
    top: 2rem;
    left: 2.2rem;

    color: rgba(255,255,255,.95);

    font-family: var(--serif);
    font-size: 3.8rem;
    line-height: 1;

    text-shadow:
        0 3px 18px rgba(0,0,0,.22);
}


/* Overlapping card */

.salvation-card {
    position: relative;
    z-index: 2;

    width: calc(100% - 10rem);
    max-width: 920px;

    margin: -7rem auto 0;
    padding: 3.8rem 4.5rem;

    background: rgba(255,253,249,.97);

    border: 1px solid rgba(107,86,65,.09);

    box-shadow:
        0 30px 80px rgba(58,43,30,.11);
}


/* Quotation mark */

.salvation-quote-mark {
    position: absolute;
    top: 1.4rem;
    right: 2.8rem;

    color: rgba(185,150,90,.13);

    font-family: Georgia, serif;
    font-size: 10rem;
    line-height: .7;

    pointer-events: none;
}


/* Testimony */

.salvation-card blockquote {
    position: relative;
    z-index: 2;

    margin: 0;
    padding: 0;

    border: 0;
}

.salvation-card blockquote p {
    margin-bottom: 1rem;

    color: var(--heading);
    font-family: var(--serif);
    font-size: clamp(1.35rem, 1.8vw, 1.72rem);
    font-weight: 500;
    line-height: 1.5;
}

.salvation-card blockquote p:last-child {
    margin-bottom: 0;
}


/* Supporting copy */

.salvation-copy {
    position: relative;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.5rem;

    margin-top: 2.4rem;
    padding-top: 2.2rem;

    border-top: 1px solid rgba(107,86,65,.12);
}

.salvation-copy p {
    margin: 0;

    color: var(--muted);
    font-size: .98rem;
    line-height: 1.85;
}

.salvation-copy strong {
    color: var(--bronze);
    font-weight: 600;
}


/* ==========================================================
RESPONSIVE
========================================================== */

@media (max-width: 991px) {

    .salvation-feature {
        padding-bottom: 5rem;
    }

    .salvation-image {
        height: 420px;
    }

    .salvation-card {
        width: calc(100% - 4rem);
        margin-top: -5rem;
        padding: 3.5rem;
    }

}


@media (max-width: 767px) {

    .salvation-heading {
        margin-bottom: 2.8rem;
    }

    .salvation-feature {
        padding-bottom: 3rem;
    }

    .salvation-image {
        height: 340px;
    }

    .salvation-year {
        top: 1.4rem;
        left: 1.5rem;
        font-size: 3rem;
    }

    .salvation-card {
        width: calc(100% - 2rem);
        margin-top: -3.5rem;
        padding: 3.2rem 2rem 2.5rem;
    }

    .salvation-quote-mark {
        top: 1.2rem;
        right: 1.3rem;
        font-size: 7.5rem;
    }

    .salvation-copy {
        grid-template-columns: 1fr;
        gap: 1.3rem;
    }

}


@media (max-width: 480px) {

    .salvation-image {
        height: 290px;
    }

    .salvation-card {
        width: 100%;
        margin-top: 0;
    }

}

/* ==========================================================
THE MESSAGE OF TRUE ABUNDANCE
========================================================== */

.abundance-section {
    position: relative;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 85% 12%,
            rgba(255,255,255,.72) 0%,
            rgba(255,255,255,0) 34%
        ),
        linear-gradient(
            135deg,
            #faf7f2 0%,
            #f1e8dc 100%
        );
}


/* Soft glow */

.abundance-section::before {
    content: "";
    position: absolute;
    left: -180px;
    bottom: -220px;

    width: 560px;
    height: 560px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(185,150,90,.09) 0%,
            rgba(185,150,90,0) 72%
        );

    pointer-events: none;
}


/* Copy */

.abundance-copy {
    position: relative;
    z-index: 2;

    max-width: 560px;
}

.abundance-copy h2 {
    max-width: 540px;
    margin-bottom: 2rem;
}

.abundance-lead {
    color: var(--heading);
    font-family: var(--serif);
    font-size: clamp(1.45rem, 2.2vw, 2rem);
    line-height: 1.42;
}

.abundance-copy p {
    margin-bottom: 1.45rem;
}


/* ==========================================================
FEATURE IMAGE
========================================================== */

.abundance-feature {
    position: relative;
    padding-bottom: 5.5rem;
}

.abundance-image {
    position: relative;
    height: 570px;
    overflow: hidden;

    box-shadow:
        0 28px 75px rgba(61,46,34,.09);
}

.abundance-image img {
    width: 100%;
    height: 100%;
    display: block;

    object-fit: cover;
    object-position: center;

    filter:
        brightness(1.02)
        saturate(.82)
        contrast(.92);
}

.abundance-image-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(255,245,225,.02) 0%,
            rgba(73,53,35,.16) 100%
        );
}


/* Scripture panel */

.abundance-scripture {
    position: absolute;
    left: -3rem;
    right: 3rem;
    bottom: 0;

    margin: 0;
    padding: 2.8rem 3rem;

    background: rgba(255,253,249,.97);
    border: 1px solid rgba(107,86,65,.09);

    box-shadow:
        0 24px 65px rgba(61,46,34,.1);
}

.scripture-label {
    display: block;
    margin-bottom: 1rem;

    color: var(--soft-gold);

    font-family: var(--sans);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .25em;
    text-transform: uppercase;
}

.abundance-scripture p {
    margin: 0;

    color: var(--heading);

    font-family: var(--serif);
    font-size: clamp(1.45rem, 2.2vw, 2rem);
    font-style: italic;
    line-height: 1.4;
}


/* ==========================================================
CLOSING COPY
========================================================== */

.abundance-closing {
    position: relative;
    z-index: 2;

    max-width: 850px;
    margin: 6rem auto 0;
    padding-top: 3.5rem;

    text-align: center;

    border-top: 1px solid rgba(107,86,65,.12);
}

.abundance-closing p {
    max-width: 790px;
    margin: 0 auto 1.4rem;

    font-size: 1.02rem;
    line-height: 1.9;
}

.abundance-final {
    margin-top: 2rem !important;

    color: var(--bronze) !important;

    font-family: var(--serif);
    font-size: clamp(1.6rem, 2.6vw, 2.35rem) !important;
    font-weight: 500;
    line-height: 1.35 !important;
}


/* ==========================================================
RESPONSIVE
========================================================== */

@media (max-width: 991px) {

    .abundance-copy {
        max-width: none;
    }

    .abundance-feature {
        margin-top: 1rem;
    }

    .abundance-image {
        height: 520px;
    }

    .abundance-scripture {
        left: 2rem;
        right: 2rem;
    }

    .abundance-closing {

        margin-top: 5rem;
    }

}


@media (max-width: 767px) {

    .abundance-feature {
        padding-bottom: 0;
    }

    .abundance-image {
        height: 420px;
    }

    .abundance-scripture {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;

        margin: -3rem 1rem 0;
        padding: 2.4rem 2rem;
    }

    .abundance-closing {
        margin-top: 4.5rem;
        padding-top: 2.8rem;
    }

}


@media (max-width: 480px) {

    .abundance-image {
        height: 340px;
    }

    .abundance-scripture {
        margin: -2rem 0 0;
        padding: 2.2rem 1.5rem;
    }

    .abundance-final {
        font-size: 1.7rem !important;
    }

}
/* ==========================================================
MINISTRY PAGE
Uses the existing global :root colours and fonts
========================================================== */

.pf-ministry-page {
  position: relative;
  overflow: hidden;
  color: var(--charcoal);
  background: var(--warm-white);
  font-family: var(--sans);
}

.pf-ministry-page *,
.pf-ministry-page *::before,
.pf-ministry-page *::after {
  box-sizing: border-box;
}

.pf-ministry-page h1,
.pf-ministry-page h2,
.pf-ministry-page h3 {
  font-family: var(--serif);
  font-weight: 500;
}

.pf-ministry-page p {
  color: var(--muted);
}

.pf-ministry-page-label {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  margin-bottom: 1.3rem;
  color: #efd39b;
  font-family: var(--sans);
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .22em;
  line-height: 1.4;
  text-transform: uppercase;
}

.pf-ministry-page-label::before {
  width: 36px;
  height: 1px;
  content: "";
  background: currentColor;
  opacity: .7;
}

.pf-ministry-page-lead {
  color: var(--bronze);
  font-family: var(--serif);
  font-size: clamp(1.4rem, 2.2vw, 1.8rem);
  line-height: 1.5;
}


/* ==========================================================
MINISTRY HERO
========================================================== */

.pf-ministry-page-hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 680px;
  overflow: hidden;
  background: var(--dark);
}

.pf-ministry-page-hero-background,
.pf-ministry-page-hero-background img,
.pf-ministry-page-hero-overlay {
  position: absolute;
  inset: 0;
}

.pf-ministry-page-hero-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter:
    brightness(.96)
    saturate(.88)
    contrast(.96);
  transform: scale(1.02);
}

.pf-ministry-page-hero-overlay {
  z-index: 1;
  background:
    linear-gradient(
      90deg,
      rgba(45,35,27,.82) 0%,
      rgba(45,35,27,.68) 35%,
      rgba(45,35,27,.34) 65%,
      rgba(45,35,27,.08) 100%
    ),
    radial-gradient(
      circle at 75% 18%,
      rgba(185,150,90,.18) 0%,
      rgba(185,150,90,0) 46%
    );
}

.pf-ministry-page-hero::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  content: "";
  background:
    radial-gradient(
      ellipse at center,
      transparent 58%,
      rgba(0,0,0,.1) 100%
    );
  pointer-events: none;
}

.pf-ministry-page-hero-container {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-top: 7rem;
  padding-bottom: 7rem;
}

.pf-ministry-page-hero h1 {
  max-width: 760px;
  margin-bottom: 1.6rem;
  color: #fff;
  font-size: clamp(3.5rem, 6.5vw, 6.5rem);
  line-height: .96;
  text-shadow: 0 4px 24px rgba(0,0,0,.18);
  text-wrap: balance;
}

.pf-ministry-page-hero p {
  max-width: 650px;
  margin-bottom: 2.2rem;
  color: rgba(255,255,255,.92);
  font-size: 1.1rem;
  line-height: 1.8;
  text-shadow: 0 2px 14px rgba(0,0,0,.18);
}


/* ==========================================================
INTRODUCTION
========================================================== */

.pf-ministry-page-intro {
  position: relative;
  overflow: hidden;
  padding: 8rem 0;
  background:
    radial-gradient(
      circle at 8% 8%,
      rgba(185,150,90,.08),
      transparent 32%
    ),
    var(--ivory);
}

.pf-ministry-page-intro::after {
  position: absolute;
  right: -180px;
  bottom: -240px;
  width: 520px;
  height: 520px;
  content: "";
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgba(185,150,90,.07),
      rgba(185,150,90,0) 70%
    );
  pointer-events: none;
}

.pf-ministry-page-intro .container {
  position: relative;
  z-index: 2;
}

.pf-ministry-page-intro-heading {
  max-width: 520px;
}

.pf-ministry-page-intro-heading h2 {
  margin-bottom: 0;
  color: #594536;
  font-size: clamp(2.8rem, 5vw, 4.8rem);
  line-height: 1.02;
  text-wrap: balance;
}

.pf-ministry-page-intro-copy {
  max-width: 680px;
  padding-top: .4rem;
}

.pf-ministry-page-intro-copy p:last-child {
  margin-bottom: 0;
}


/* ==========================================================
SECTION HEADING
========================================================== */

.pf-ministry-page-section-heading {
  max-width: 780px;
  margin: 0 auto 4.5rem;
}

.pf-ministry-page-section-heading h2 {
  margin-bottom: 1.4rem;
  color: #594536;
  font-size: clamp(2.8rem, 5vw, 4.8rem);
  line-height: 1.02;
  text-wrap: balance;
}

.pf-ministry-page-section-heading p {
  max-width: 650px;
  margin: 0 auto;
  font-size: 1rem;
  line-height: 1.8;
}


/* ==========================================================
MINISTRY PILLARS
========================================================== */

.pf-ministry-page-pillars {
  position: relative;
  padding: 8rem 0;
  background: var(--warm-white);
}

.pf-ministry-page-pillar {
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(107,86,65,.1);
  background: var(--warm-white);
  box-shadow: 0 20px 55px rgba(45,41,36,.055);
  transition:
    transform .35s ease,
    box-shadow .35s ease;
}

.pf-ministry-page-pillar:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 72px rgba(45,41,36,.1);
}

.pf-ministry-page-pillar-image {
  position: relative;
  height: 340px;
  overflow: hidden;
  background: var(--stone);
}

.pf-ministry-page-pillar-image::after {
  position: absolute;
  inset: 0;
  content: "";
  background:
    linear-gradient(
      180deg,
      rgba(45,35,27,0) 54%,
      rgba(45,35,27,.24) 100%
    );
}

.pf-ministry-page-pillar-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s ease;
}

.pf-ministry-page-pillar:hover
.pf-ministry-page-pillar-image img {
  transform: scale(1.035);
}

.pf-ministry-page-pillar-number {
  position: absolute;
  right: 1.6rem;
  bottom: -1.8rem;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 68px;
  height: 68px;
  border: 5px solid var(--warm-white);
  border-radius: 50%;
  color: #fff;
  background:
    linear-gradient(
      145deg,
      var(--bronze-hover),
      var(--bronze)
    );
  font-family: var(--serif);
  font-size: 1.2rem;
  box-shadow: 0 10px 24px rgba(45,41,36,.15);
}

.pf-ministry-page-pillar-content {
  padding: 2.8rem 2.2rem 2.6rem;
}

.pf-ministry-page-pillar-label {
  display: block;
  margin-bottom: .8rem;
  color: var(--soft-gold);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.pf-ministry-page-pillar h3 {
  margin-bottom: 1rem;
  color: #594536;
  font-size: 2.5rem;
  line-height: 1.05;
}

.pf-ministry-page-pillar p {
  margin-bottom: 0;
  font-size: .96rem;
  line-height: 1.8;
}


/* ==========================================================
WHAT TO EXPECT
========================================================== */

.pf-ministry-page-expect {
  position: relative;
  overflow: hidden;
  padding: 8.5rem 0;
  background:
    linear-gradient(
      90deg,
      var(--cream) 0%,
      var(--cream) 55%,
      var(--linen) 55%,
      var(--linen) 100%
    );
}

.pf-ministry-page-expect-image {
  position: relative;
  max-width: 580px;
  margin: 0 auto;
}

.pf-ministry-page-expect-image::before {
  position: absolute;
  top: -22px;
  right: -22px;
  width: 55%;
  height: 52%;
  content: "";
  border-top: 1px solid var(--soft-gold);
  border-right: 1px solid var(--soft-gold);
  opacity: .65;
}

.pf-ministry-page-expect-image::after {
  position: absolute;
  bottom: -24px;
  left: -24px;
  width: 48%;
  height: 40%;
  content: "";
  background: rgba(185,150,90,.11);
}

.pf-ministry-page-expect-image img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  min-height: 640px;
  object-fit: cover;
  box-shadow: 0 28px 75px rgba(45,41,36,.11);
}

.pf-ministry-page-expect-content {
  max-width: 650px;
  padding-left: clamp(0rem, 3vw, 2rem);
}

.pf-ministry-page-expect-content h2 {
  margin-bottom: 1.5rem;
  color: #594536;
  font-size: clamp(2.8rem, 5vw, 4.7rem);
  line-height: 1.02;
  text-wrap: balance;
}

.pf-ministry-page-event-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 2.2rem;
  border-top: 1px solid rgba(107,86,65,.15);
}

.pf-ministry-page-event-item {
  position: relative;
  padding: 1rem .8rem 1rem 1.4rem;
  border-bottom: 1px solid rgba(107,86,65,.15);
  color: var(--muted);
  font-size: .92rem;
  line-height: 1.5;
}

.pf-ministry-page-event-item::before {
  position: absolute;
  top: 1.45rem;
  left: 0;
  width: 5px;
  height: 5px;
  content: "";
  border-radius: 50%;
  background: var(--soft-gold);
}


/* ==========================================================
SCRIPTURE
========================================================== */

.pf-ministry-page-scripture {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 600px;
  overflow: hidden;
  background: var(--dark);
}

.pf-ministry-page-scripture-background,
.pf-ministry-page-scripture-background img,
.pf-ministry-page-scripture-overlay {
  position: absolute;
  inset: 0;
}

.pf-ministry-page-scripture-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter:
    brightness(.9)
    saturate(.78)
    contrast(.92);
  transform: scale(1.03);
}

.pf-ministry-page-scripture-overlay {
  background:
    linear-gradient(
      180deg,
      rgba(45,35,27,.6),
      rgba(45,35,27,.72)
    ),
    radial-gradient(
      circle at 50% 36%,
      rgba(185,150,90,.22),
      rgba(185,150,90,0) 52%
    );
}

.pf-ministry-page-scripture .container {
  position: relative;
  z-index: 2;
}

.pf-ministry-page-scripture-content {
  max-width: 940px;
  margin: 0 auto;
  padding: 7rem 0;
  text-align: center;
}

.pf-ministry-page-scripture-mark {
  display: block;
  height: 105px;
  color: rgba(239,211,155,.3);
  font-family: Georgia, serif;
  font-size: 12rem;
  line-height: .72;
  user-select: none;
}

.pf-ministry-page-scripture blockquote {
  max-width: 900px;
  margin: 0 auto;
  color: var(--warm-white);
  font-family: var(--serif);
  font-size: clamp(2.7rem, 5vw, 4.8rem);
  font-weight: 500;
  line-height: 1.12;
  text-shadow: 0 4px 24px rgba(0,0,0,.25);
  text-wrap: balance;
}

.pf-ministry-page-scripture-reference {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  margin-top: 2.8rem;
}

.pf-ministry-page-scripture-reference span {
  width: 55px;
  height: 1px;
  background: rgba(239,211,155,.48);
}

.pf-ministry-page-scripture-reference cite {
  color: rgba(255,253,249,.88);
  font-family: var(--sans);
  font-size: .75rem;
  font-style: normal;
  font-weight: 600;
  letter-spacing: .3em;
  text-transform: uppercase;
}


/* ==========================================================
APPROACH
========================================================== */

.pf-ministry-page-approach {
  position: relative;
  overflow: hidden;
  padding: 8rem 0;
  background:
    radial-gradient(
      circle at 88% 10%,
      rgba(185,150,90,.07),
      transparent 30%
    ),
    var(--ivory);
}

.pf-ministry-page-approach-heading {
  max-width: 520px;
}

.pf-ministry-page-approach-heading h2 {
  margin-bottom: 0;
  color: #594536;
  font-size: clamp(2.8rem, 5vw, 4.7rem);
  line-height: 1.02;
  text-wrap: balance;
}

.pf-ministry-page-approach-copy {
  max-width: 690px;
  padding: 1.5rem 0 1.5rem clamp(2rem, 5vw, 5rem);
  border-left: 1px solid rgba(185,150,90,.5);
}

.pf-ministry-page-approach-copy p:last-child {
  margin-bottom: 0;
}


/* ==========================================================
INVITATION CTA
========================================================== */

.pf-ministry-page-cta {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 620px;
  overflow: hidden;
  background: var(--dark);
}

.pf-ministry-page-cta-background,
.pf-ministry-page-cta-background img,
.pf-ministry-page-cta-overlay {
  position: absolute;
  inset: 0;
}

.pf-ministry-page-cta-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
  filter:
    brightness(.96)
    saturate(.88)
    contrast(.95);
  transform: scale(1.025);
}

.pf-ministry-page-cta-overlay {
  z-index: 1;
  background:
    linear-gradient(
      90deg,
      rgba(45,35,27,.84) 0%,
      rgba(45,35,27,.7) 40%,
      rgba(45,35,27,.3) 72%,
      rgba(45,35,27,.08) 100%
    ),
    radial-gradient(
      circle at 18% 12%,
      rgba(239,201,128,.18),
      rgba(239,201,128,0) 52%
    );
}

.pf-ministry-page-cta::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  content: "";
  background:
    radial-gradient(
      ellipse at center,
      transparent 58%,
      rgba(0,0,0,.1) 100%
    );
  pointer-events: none;
}

.pf-ministry-page-cta-container {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-top: 7rem;
  padding-bottom: 7rem;
}

.pf-ministry-page-cta h2 {
  max-width: 760px;
  margin-bottom: 1.5rem;
  color: #fff;
  font-size: clamp(3rem, 5.5vw, 5.2rem);
  line-height: 1;
  text-shadow: 0 4px 24px rgba(0,0,0,.2);
  text-wrap: balance;
}

.pf-ministry-page-cta p {
  max-width: 650px;
  margin-bottom: 2.2rem;
  color: rgba(255,255,255,.92);
  font-size: 1.08rem;
  line-height: 1.8;
  text-shadow: 0 2px 14px rgba(0,0,0,.17);
}


/* ==========================================================
MINISTRY PAGE RESPONSIVE
========================================================== */

@media (max-width: 991px) {

  .pf-ministry-page-hero {
    min-height: 620px;
  }

  .pf-ministry-page-hero-overlay {
    background:
      linear-gradient(
        90deg,
        rgba(45,35,27,.82) 0%,
        rgba(45,35,27,.65) 52%,
        rgba(45,35,27,.24) 100%
      );
  }

  .pf-ministry-page-intro,
  .pf-ministry-page-pillars,
  .pf-ministry-page-expect,
  .pf-ministry-page-approach {
    padding-top: 6.5rem;
    padding-bottom: 6.5rem;
  }

  .pf-ministry-page-intro-copy {
    padding-top: 0;
  }

  .pf-ministry-page-section-heading {
    margin-bottom: 3.5rem;
  }

  .pf-ministry-page-expect {
    background: var(--cream);
  }

  .pf-ministry-page-expect-image {
    margin-bottom: 2.5rem;
  }

  .pf-ministry-page-expect-image img {
    min-height: 540px;
  }

  .pf-ministry-page-expect-content {
    padding-left: 0;
  }

  .pf-ministry-page-approach-copy {
    padding-top: 0;
    padding-left: 0;
    border-left: 0;
  }

  .pf-ministry-page-cta-overlay {
    background:
      linear-gradient(
        90deg,
        rgba(45,35,27,.78),
        rgba(45,35,27,.54)
      );
  }

}


@media (max-width: 767px) {

  .pf-ministry-page-hero {
    min-height: 570px;
  }

  .pf-ministry-page-hero-container {
    padding-top: 5.5rem;
    padding-bottom: 5.5rem;
  }

  .pf-ministry-page-hero h1 {
    font-size: clamp(3.1rem, 12vw, 4.4rem);
  }

  .pf-ministry-page-hero p {
    font-size: 1rem;
  }

  .pf-ministry-page-pillar-image {
    height: 310px;
  }

  .pf-ministry-page-expect-image::before {
    top: -12px;
    right: -12px;
  }

  .pf-ministry-page-expect-image::after {
    bottom: -14px;
    left: -12px;
  }

  .pf-ministry-page-expect-image img {
    min-height: 450px;
  }

  .pf-ministry-page-event-list {
    grid-template-columns: 1fr;
  }

  .pf-ministry-page-scripture {
    min-height: 520px;
  }

  .pf-ministry-page-scripture-content {
    padding: 5.5rem 0;
  }

  .pf-ministry-page-scripture-mark {
    height: 80px;
    font-size: 9rem;
  }

  .pf-ministry-page-scripture blockquote {
    font-size: clamp(2.35rem, 8vw, 3.4rem);
  }

  .pf-ministry-page-cta {
    min-height: 560px;
  }

  .pf-ministry-page-cta-container {
    padding-top: 5.5rem;
    padding-bottom: 5.5rem;
  }

}


@media (max-width: 575px) {

  .pf-ministry-page-intro,
  .pf-ministry-page-pillars,
  .pf-ministry-page-expect,
  .pf-ministry-page-approach {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .pf-ministry-page-section-heading {
    margin-bottom: 2.8rem;
  }

  .pf-ministry-page-pillar-image {
    height: 280px;
  }

  .pf-ministry-page-pillar-content {
    padding: 2.6rem 1.6rem 2.2rem;
  }

  .pf-ministry-page-pillar-number {
    right: 1.2rem;
    width: 62px;
    height: 62px;
  }

  .pf-ministry-page-expect-image img {
    min-height: 380px;
  }

  .pf-ministry-page-scripture-mark {
    height: 65px;
    font-size: 7.5rem;
  }

  .pf-ministry-page-scripture-reference {
    gap: .9rem;
  }

  .pf-ministry-page-scripture-reference span {
    width: 32px;
  }

  .pf-ministry-page-scripture-reference cite {
    letter-spacing: .22em;
  }

  .pf-ministry-page-cta h2 {
    font-size: 2.9rem;
  }

}

/* ==========================================================================
   DATES PAGE
   ========================================================================== */

.pf-dates-page {
  overflow: hidden;
  background: var(--warm-white);
}


/* ==========================================================================
   HERO
   ========================================================================== */

.pf-dates-page-hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: clamp(560px, 72vh, 760px);
  overflow: hidden;
  background: var(--charcoal);
}

.pf-dates-page-hero-background,
.pf-dates-page-hero-overlay {
  position: absolute;
  inset: 0;
}

.pf-dates-page-hero-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.pf-dates-page-hero-overlay {
  background:
    linear-gradient(
      90deg,
      rgba(34, 27, 21, .44) 0%,
      rgba(34, 27, 21, .83) 38%,
      rgba(34, 27, 21, .4) 68%,
      rgba(34, 27, 21, .14) 100%
    ),
    linear-gradient(
      0deg,
      rgba(34, 27, 21, .22),
      rgba(34, 27, 21, .06)
    );
}

.pf-dates-page-hero-container {
  position: relative;
  z-index: 2;
  padding-top: clamp(5rem, 9vw, 8rem);
  padding-bottom: clamp(5rem, 9vw, 8rem);
}

.pf-dates-page-label {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  margin-bottom: 1.5rem;
  color: #e2bd7d;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .2em;
  line-height: 1.2;
  text-transform: uppercase;
}

.pf-dates-page-label::before {
  content: "";
  width: 34px;
  height: 1px;
  background: currentColor;
}

.pf-dates-page-hero h1 {
  max-width: 780px;
  margin: 0 0 1.6rem;
  color: #fffaf2;
  font-family: var(--serif);
  font-size: clamp(3.8rem, 7vw, 6.8rem);
  font-weight: 400;
  line-height: .95;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.pf-dates-page-hero p {
  max-width: 660px;
  margin: 0 0 2.2rem;
  color: rgba(255, 250, 242, .84);
  font-size: clamp(1rem, 1.5vw, 1.16rem);
  line-height: 1.85;
}

.pf-dates-page-hero-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: .9rem;
}

.pf-dates-page-outline-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .85rem 1.4rem;
  border: 1px solid rgba(255, 250, 242, .48);
  border-radius: 0;
  color: #fffaf2;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    color 180ms ease;
}

.pf-dates-page-outline-button:hover {
  border-color: #fffaf2;
  background: #fffaf2;
  color: var(--charcoal);
}

/* ==========================================================================
   INTRODUCTION
   ========================================================================== */

.pf-dates-page-intro {
  position: relative;
  overflow: hidden;
  padding: clamp(5.5rem, 9vw, 9rem) 0;

  background:
    radial-gradient(
      circle at 88% 14%,
      rgba(185,150,90,.08),
      transparent 29%
    ),
    var(--warm-white);
}

.pf-dates-page-section-heading {
    max-width: 760px;
    margin: 0 auto 4rem;
    text-align: center;
}

.pf-dates-page-section-heading h2 {
    margin: .5rem 0 1rem;
    font-size: clamp(3.2rem, 5vw, 5.2rem);
    line-height: 1.02;
}

.pf-dates-page-section-heading p {
    max-width: 560px;
    margin: 0 auto;
    font-size: 1.05rem;
    line-height: 1.8;
}

/* --------------------------------------------------------------------------
   Content
   -------------------------------------------------------------------------- */

.pf-dates-page-intro .container {
  position: relative;
  z-index: 2;
}


.pf-dates-page-intro-heading {
  max-width: 540px;
}

.pf-dates-page-intro-heading .section-label {
  margin-bottom: 1.25rem;
}

.pf-dates-page-intro-heading h2 {
  margin: 0;
  color: var(--charcoal);
  font-family: var(--serif);
  font-size: clamp(3rem, 5vw, 5rem);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -.025em;
  text-wrap: balance;
}


.pf-dates-page-intro-copy {
  max-width: 690px;
  padding-left: clamp(0rem, 3vw, 3rem);
  border-left: 1px solid rgba(185,150,90,.26);
}

.pf-dates-page-intro-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.9;
}

.pf-dates-page-intro-copy p + p {
  margin-top: 1.3rem;
}

.pf-dates-page-lead {
  color: var(--charcoal) !important;
  font-family: var(--serif);
  font-size: clamp(1.45rem, 2vw, 1.85rem) !important;
  line-height: 1.48 !important;
}


/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 991.98px) {

  .pf-dates-page-intro::before {
    background-size: 720px auto;
    background-position: right -60px center;
    opacity: .35;
  }

}

@media (max-width: 767.98px) {

  .pf-dates-page-intro {
    padding: 5rem 0;
  }

  .pf-dates-page-intro::before {
    background-size: 500px auto;
    background-position: center bottom;
    opacity: .18;
  }

  .pf-dates-page-intro::after {
    background:
      linear-gradient(
        180deg,
        rgba(250,247,241,.96) 0%,
        rgba(250,247,241,.90) 55%,
        rgba(250,247,241,.98) 100%
      );
  }

  .pf-dates-page-intro-copy {
    padding-left: 0;
    padding-top: 2rem;
    border-left: none;
    border-top: 1px solid rgba(185,150,90,.22);
  }

}
/* ==========================================================================
   UPCOMING EVENT
   ========================================================================== */

.pf-dates-page-upcoming {
  position: relative;
  padding: clamp(5.5rem, 9vw, 9rem) 0;
  background:
    linear-gradient(
      135deg,
      #f3ecdf 0%,
      #f9f5ed 52%,
      #eee3d2 100%
    );
}

.pf-dates-page-upcoming::before {
  content: "";
  position: absolute;
  top: -170px;
  right: -150px;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(185, 150, 90, .14);
  border-radius: 50%;
  pointer-events: none;
}

.pf-dates-page-upcoming .container {
  position: relative;
  z-index: 1;
}

.pf-dates-page-featured-event {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr) auto;
  align-items: stretch;
  max-width: 1060px;
  margin: 0 auto;
  border: 1px solid rgba(107, 86, 65, .11);
  background: rgba(255, 253, 249, .92);
  box-shadow: 0 30px 80px rgba(60, 44, 29, .09);
}

.pf-dates-page-featured-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 250px;
  padding: 2rem 1.4rem;
  background:
    linear-gradient(
      145deg,
      #806448,
      #5f4937
    );
  color: #fffaf2;
  text-align: center;
}

.pf-dates-page-featured-month {
  margin-bottom: .65rem;
  color: rgba(255, 250, 242, .72);
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.pf-dates-page-featured-date strong {
  font-family: var(--serif);
  font-size: 3.5rem;
  font-weight: 400;
  line-height: 1;
}

.pf-dates-page-featured-year {
  margin-top: .7rem;
  color: #e2bd7d;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
}

.pf-dates-page-featured-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 4vw, 3.4rem);
}

.pf-dates-page-event-type {
  margin-bottom: .65rem;
  color: var(--soft-gold);
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.pf-dates-page-featured-content h3 {
  margin: 0 0 .75rem;
  color: var(--charcoal);
  font-family: var(--serif);
  font-size: clamp(2.1rem, 3.2vw, 3.2rem);
  font-weight: 400;
  line-height: 1.08;
}

.pf-dates-page-location {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin: 0 0 1rem !important;
  color: var(--bronze) !important;
  font-size: .84rem !important;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.pf-dates-page-featured-content > p {
  max-width: 590px;
  margin: 0;
  color: var(--muted);
  font-size: .98rem;
  line-height: 1.8;
}

.pf-dates-page-featured-action {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2.5rem;
  border-left: 1px solid rgba(107, 86, 65, .1);
}

.pf-dates-page-note {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  max-width: 820px;
  margin: 2.2rem auto 0;
  padding: 1.3rem 1.5rem;
  border: 1px solid rgba(185, 150, 90, .16);
  background: rgba(255, 253, 249, .48);
}

.pf-dates-page-note-icon {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(185, 150, 90, .1);
  color: var(--bronze);
}

.pf-dates-page-note p {
  margin: 0;
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.7;
}


/* ==========================================================================
   RECENT DATES
   ========================================================================== */

.pf-dates-page-recent {
  padding: clamp(5.5rem, 9vw, 9rem) 0;
  background: var(--warm-white);
}

.pf-dates-page-recent-heading {
  max-width: 680px;
}

.pf-dates-page-recent-heading .section-label {
  margin-bottom: 1.2rem;
}

.pf-dates-page-recent-heading h2 {
  margin: 0;
  color: var(--charcoal);
  font-family: var(--serif);
  font-size: clamp(3rem, 5vw, 5rem);
  font-weight: 400;
  line-height: 1.03;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.pf-dates-page-recent-intro {
  max-width: 500px;
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.85;
}

.pf-dates-page-timeline {
  position: relative;
  max-width: 1020px;
  margin: 0 auto;
}

.pf-dates-page-timeline::before {
  content: "";
  position: absolute;
  top: 30px;
  bottom: 30px;
  left: 167px;
  width: 1px;
  background:
    linear-gradient(
      to bottom,
      rgba(185, 150, 90, .15),
      rgba(185, 150, 90, .7),
      rgba(185, 150, 90, .15)
    );
}

.pf-dates-page-timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 130px 42px minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
}

.pf-dates-page-timeline-item + .pf-dates-page-timeline-item {
  margin-top: 1.2rem;
}

.pf-dates-page-timeline-marker {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  grid-column: 2;
  grid-row: 1;
  width: 15px;
  height: 15px;
  margin: 0 auto;
  border: 4px solid var(--warm-white);
  border-radius: 50%;
  background: var(--soft-gold);
  box-shadow: 0 0 0 1px rgba(185, 150, 90, .35);
  color: #fff;
  font-size: .7rem;
}

.pf-dates-page-timeline-date {
  grid-column: 1;
  grid-row: 1;
  padding-right: .75rem;
  text-align: right;
}

.pf-dates-page-timeline-date span {
  display: block;
  margin-bottom: .25rem;
  color: var(--bronze);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.pf-dates-page-timeline-date strong {
  display: block;
  color: var(--charcoal);
  font-family: var(--serif);
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
}

.pf-dates-page-timeline-date small {
  display: block;
  margin-top: .35rem;
  color: var(--muted);
  font-size: .65rem;
  letter-spacing: .12em;
}

.pf-dates-page-timeline-content {
  grid-column: 3;
  grid-row: 1;
  padding: 1.65rem 1.9rem;
  border: 1px solid rgba(107, 86, 65, .1);
  background: #fffdf9;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease;
}

.pf-dates-page-timeline-content:hover {
  transform: translateY(-2px);
  border-color: rgba(185, 150, 90, .26);
  box-shadow: 0 18px 45px rgba(60, 44, 29, .07);
}

.pf-dates-page-timeline-label {
  display: block;
  margin-bottom: .45rem;
  color: var(--soft-gold);
  font-size: .63rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.pf-dates-page-timeline-content h3 {
  margin: 0 0 .3rem;
  color: var(--charcoal);
  font-family: var(--serif);
  font-size: 1.65rem;
  font-weight: 500;
  line-height: 1.2;
}

.pf-dates-page-timeline-content p {
  margin: 0;
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.6;
}

.pf-dates-page-timeline-item-highlight .pf-dates-page-timeline-marker {
  width: 34px;
  height: 34px;
  border-width: 5px;
  background: var(--bronze);
  box-shadow: 0 0 0 1px rgba(107, 86, 65, .3);
}

.pf-dates-page-timeline-item-highlight .pf-dates-page-timeline-content {
  border-color: rgba(185, 150, 90, .2);
  background:
    linear-gradient(
      135deg,
      #fffdf9,
      #f8f1e5
    );
}
/* ==========================================================
   MORE DATES
   ========================================================== */

.pf-more-dates{
    max-width:900px;
    margin:3.5rem auto 0;
}

.pf-more-dates-title{
    margin:0 0 1.75rem;
    color:var(--bronze);
    font-family:var(--serif);
    font-size:1.7rem;
    font-weight:500;
}


/* ==========================================================
   DATE ROW
   ========================================================== */

.pf-date-row{
    display:grid;
    grid-template-columns:130px minmax(0,1fr);
    align-items:center;
    gap:2rem;

    padding:1.5rem 0;

    border-top:1px solid rgba(107,86,65,.12);

    transition:
        padding .3s ease,
        transform .3s ease;
}

.pf-date-row:last-child{
    border-bottom:1px solid rgba(107,86,65,.12);
}

.pf-date-row:hover{
    transform:translateX(4px);
}


/* ==========================================================
   DATE
   ========================================================== */

.pf-date-row-date{
    text-align:center;
}

.pf-date-row-date strong{
    display:block;

    color:var(--bronze);

    font-family:var(--serif);

    font-size:3rem;

    font-weight:500;

    line-height:1;
}

.pf-date-row-date span{
    display:block;

    margin-top:.45rem;

    color:var(--soft-gold);

    font-size:.72rem;

    font-weight:700;

    letter-spacing:.16em;

    text-transform:uppercase;
}


/* ==========================================================
   CONTENT
   ========================================================== */

.pf-date-row-content h4{

    margin:0 0 .35rem;

    color:var(--charcoal);

    font-family:var(--serif);

    font-size:1.8rem;

    font-weight:500;

    line-height:1.2;
}

.pf-date-row-content p{

    margin:0;

    color:var(--muted);

    font-size:1rem;

    line-height:1.7;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width:767.98px){

    .pf-date-row{

        grid-template-columns:90px 1fr;

        gap:1.25rem;
    }

    .pf-date-row-date strong{

        font-size:2.25rem;
    }

    .pf-date-row-content h4{

        font-size:1.45rem;
    }

}
/* ==========================================================================
   SCRIPTURE
   ========================================================================== */

.pf-dates-page-scripture {
  position: relative;
  display: flex;
  align-items: center;
  min-height: clamp(460px, 58vw, 650px);
  overflow: hidden;
  background: #62503e;
}

.pf-dates-page-scripture-background,
.pf-dates-page-scripture-overlay {
  position: absolute;
  inset: 0;
}

.pf-dates-page-scripture-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.pf-dates-page-scripture-overlay {
  background:
    linear-gradient(
      90deg,
      rgba(55, 43, 31, .74),
      rgba(55, 43, 31, .37),
      rgba(55, 43, 31, .68)
    );
}

.pf-dates-page-scripture .container {
  position: relative;
  z-index: 2;
}

.pf-dates-page-scripture-content {
  max-width: 850px;
  margin: 0 auto;
  padding: clamp(5rem, 9vw, 8rem) 0;
  text-align: center;
}

.pf-dates-page-scripture-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  margin: 0 auto 1.8rem;
  border: 1px solid rgba(255, 250, 242, .34);
  border-radius: 50%;
  color: #e2bd7d;
  font-size: 1.15rem;
}

.pf-dates-page-scripture blockquote {
  margin: 0;
  color: #fffaf2;
  font-family: var(--serif);
  font-size: clamp(2.5rem, 5vw, 5rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.pf-dates-page-scripture-reference {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-top: 1.8rem;
}

.pf-dates-page-scripture-reference span {
  width: 42px;
  height: 1px;
  background: rgba(255, 250, 242, .4);
}

.pf-dates-page-scripture-reference cite {
  color: rgba(255, 250, 242, .78);
  font-size: .68rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}


/* ==========================================================================
   INVITATION SECTION
   ========================================================================== */

.pf-dates-page-invitation {
  padding: clamp(5.5rem, 9vw, 9rem) 0;
  background:
    linear-gradient(
      135deg,
      #f8f3eb,
      #fffdf9
    );
}

.pf-dates-page-invitation-image {
  position: relative;
  min-height: 540px;
  overflow: hidden;
}

.pf-dates-page-invitation-image::before {
  content: "";
  position: absolute;
  top: -24px;
  left: -24px;
  z-index: 0;
  width: 62%;
  height: 62%;
  border: 1px solid rgba(185, 150, 90, .22);
}

.pf-dates-page-invitation-image img {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pf-dates-page-invitation-content {
  max-width: 620px;
  padding-left: clamp(0rem, 4vw, 4rem);
}

.pf-dates-page-invitation-content .section-label {
  margin-bottom: 1.25rem;
}

.pf-dates-page-invitation-content h2 {
  margin: 0 0 1.5rem;
  color: var(--charcoal);
  font-family: var(--serif);
  font-size: clamp(3rem, 5vw, 5rem);
  font-weight: 400;
  line-height: 1.03;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.pf-dates-page-invitation-content p {
  margin: 0 0 1.2rem;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.85;
}

.pf-dates-page-invitation-content .btn {
  margin-top: .8rem;
}


/* ==========================================================================
   FINAL CTA
   ========================================================================== */

.pf-dates-page-cta {
  position: relative;
  display: flex;
  align-items: center;
  min-height: clamp(480px, 58vw, 650px);
  overflow: hidden;
  background: var(--charcoal);
}

.pf-dates-page-cta-background,
.pf-dates-page-cta-overlay {
  position: absolute;
  inset: 0;
}

.pf-dates-page-cta-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.pf-dates-page-cta-overlay {
  background:
    linear-gradient(
      90deg,
      rgba(38, 29, 21, .93) 0%,
      rgba(38, 29, 21, .77) 44%,
      rgba(38, 29, 21, .32) 75%,
      rgba(38, 29, 21, .14) 100%
    );
}

.pf-dates-page-cta-container {
  position: relative;
  z-index: 2;
  padding-top: clamp(5rem, 9vw, 8rem);
  padding-bottom: clamp(5rem, 9vw, 8rem);
}

.pf-dates-page-cta h2 {
  max-width: 780px;
  margin: 0 0 1.5rem;
  color: #fffaf2;
  font-family: var(--serif);
  font-size: clamp(3rem, 5.5vw, 5.5rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.03em;
  text-wrap: balance;
}

.pf-dates-page-cta p {
  max-width: 630px;
  margin: 0 0 2rem;
  color: rgba(255, 250, 242, .8);
  font-size: 1.03rem;
  line-height: 1.85;
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 1199.98px) {

  .pf-dates-page-featured-event {
    grid-template-columns: 170px minmax(0, 1fr);
  }

  .pf-dates-page-featured-action {
    grid-column: 1 / -1;
    padding: 1.5rem 2rem 2rem;
    border-top: 1px solid rgba(107, 86, 65, .1);
    border-left: 0;
  }

}


@media (max-width: 991.98px) {

  .pf-dates-page-hero {
    min-height: 660px;
  }

  .pf-dates-page-hero-overlay {
    background:
      linear-gradient(
        90deg,
        rgba(34, 27, 21, .9),
        rgba(34, 27, 21, .62)
      );
  }

  .pf-dates-page-intro-copy {
    padding-top: 2rem;
    padding-left: 0;
    border-top: 1px solid rgba(185, 150, 90, .26);
    border-left: 0;
  }

  .pf-dates-page-recent-intro {
    max-width: 680px;
  }

  .pf-dates-page-invitation-image {
    min-height: 480px;
  }

  .pf-dates-page-invitation-content {
    padding-left: 0;
  }

}


@media (max-width: 767.98px) {

  .pf-dates-page-hero {
    min-height: 620px;
  }

  .pf-dates-page-hero h1 {
    font-size: clamp(3.3rem, 13vw, 5rem);
  }

  .pf-dates-page-featured-event {
    grid-template-columns: 1fr;
  }

  .pf-dates-page-featured-date {
    min-height: auto;
    padding: 2rem;
  }

  .pf-dates-page-featured-content {
    padding: 2rem;
    text-align: center;
  }

  .pf-dates-page-location {
    justify-content: center;
  }

  .pf-dates-page-featured-content > p {
    margin-right: auto;
    margin-left: auto;
  }

  .pf-dates-page-featured-action {
    grid-column: auto;
    padding: 0 2rem 2rem;
    text-align: center;
  }

  .pf-dates-page-note {
    align-items: flex-start;
  }

  .pf-dates-page-timeline::before {
    left: 16px;
  }

  .pf-dates-page-timeline-item {
    grid-template-columns: 33px minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
  }

  .pf-dates-page-timeline-marker {
    grid-column: 1;
    grid-row: 1;
    margin-top: 1.35rem;
  }

  .pf-dates-page-timeline-date {
    grid-column: 2;
    grid-row: 1;
    padding: 0 0 .7rem;
    text-align: left;
  }

  .pf-dates-page-timeline-date span,
  .pf-dates-page-timeline-date strong,
  .pf-dates-page-timeline-date small {
    display: inline-block;
  }

  .pf-dates-page-timeline-date span {
    margin-right: .45rem;
  }

  .pf-dates-page-timeline-date strong {
    margin-right: .4rem;
    font-size: 1.6rem;
  }

  .pf-dates-page-timeline-content {
    grid-column: 2;
    grid-row: 2;
  }

  .pf-dates-page-timeline-item-highlight .pf-dates-page-timeline-marker {
    margin-left: -10px;
  }

  .pf-dates-page-invitation-image {
    min-height: 420px;
  }

}


@media (max-width: 575.98px) {

  .pf-dates-page-hero {
    min-height: 590px;
  }

  .pf-dates-page-hero-background img {
    object-position: 62% center;
  }

  .pf-dates-page-hero-overlay {
    background: rgba(34, 27, 21, .72);
  }

  .pf-dates-page-hero-buttons {
    align-items: stretch;
    flex-direction: column;
  }

  .pf-dates-page-hero-buttons .btn {
    width: 100%;
  }

  .pf-dates-page-intro-heading h2,
  .pf-dates-page-section-heading h2,
  .pf-dates-page-recent-heading h2,
  .pf-dates-page-invitation-content h2 {
    font-size: clamp(2.7rem, 12vw, 3.8rem);
  }

  .pf-dates-page-featured-content h3 {
    font-size: 2.35rem;
  }

  .pf-dates-page-note {
    flex-direction: column;
  }

  .pf-dates-page-timeline-content {
    padding: 1.4rem;
  }

  .pf-dates-page-timeline-content h3 {
    font-size: 1.45rem;
  }

  .pf-dates-page-scripture blockquote {
    font-size: clamp(2.4rem, 11vw, 3.6rem);
  }

  .pf-dates-page-invitation-image {
    min-height: 350px;
  }

  .pf-dates-page-cta-overlay {
    background: rgba(38, 29, 21, .7);
  }

  .pf-dates-page-cta h2 {
    font-size: clamp(2.8rem, 12vw, 4rem);
  }

}

/* ==========================================================
   CALL OF GOD EXPANDED CONTENT
   ========================================================== */

#callOfGodMore {
  margin-top: 1.5rem;
}

#callOfGodMore .row {
  margin-top: 3.5rem !important;
}

#callOfGodMore .col-lg-10,
#callOfGodMore .col-xl-9 {
  max-width: 900px;
}


/* Main body copy */

#callOfGodMore p {
  max-width: 800px;

  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.75rem;

  color: rgba(69, 60, 52, .78);

  font-size: 1rem;
  font-weight: 400;
  line-height: 1.95;
}

#callOfGodMore p:last-child {
  margin-bottom: 0;
}


/* Opening story */

#callOfGodMore .text-start > p:first-child {
  max-width: 760px;

  margin-bottom: 3.75rem;

  color: rgba(67, 56, 47, .76);

  font-family: var(--serif);
  font-size: clamp(1.25rem, 1.7vw, 1.5rem);
  font-weight: 400;
  line-height: 1.7;

  text-align: center;
}


/* Section headings */

#callOfGodMore h3 {
  position: relative;

  margin: 4.5rem auto 2.1rem !important;

  color: rgba(55, 45, 38, .88);

  font-family: var(--serif);
  font-size: clamp(1.8rem, 2.4vw, 2.3rem);
  font-weight: 400;
  line-height: 1.2;

  text-align: center;
}


/* Small gold detail beneath headings */

#callOfGodMore h3::after {
  content: "";

  display: block;

  width: 38px;
  height: 1px;

  margin: 1rem auto 0;

  background: rgba(185, 150, 90, .42);
}


/* Expanded content area */

#callOfGodMore .text-start {
  position: relative;

  padding: .5rem 0 2rem;

  text-align: left !important;
}


/* Mobile */

@media (max-width: 767.98px) {

  #callOfGodMore .row {
    margin-top: 2.5rem !important;
  }

  #callOfGodMore h3 {
    margin-top: 3.5rem !important;

    font-size: 1.8rem;
  }

  #callOfGodMore p {
    font-size: .97rem;
    line-height: 1.85;
  }

  #callOfGodMore .text-start > p:first-child {
    margin-bottom: 3rem;

    font-size: 1.2rem;
    line-height: 1.65;
  }

}

/* ==========================================================
   CAREERS — LONG-FORM READING
   ========================================================== */

.pf-careers-modal-link {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
}

.pf-careers-modal-link i {
  font-size: .8rem;
  transition: transform .25s ease;
}

.pf-careers-modal-link:hover i {
  transform: translateX(4px);
}


/* ==========================================================
   READING MODAL
   ========================================================== */

.pf-reading-modal .modal-dialog {
  width: min(1180px, calc(100% - 2rem));
  max-width: 1180px;
}

.pf-reading-modal .modal-content {
  overflow: hidden;
  border: 0;
  border-radius: 0;

  background:
    radial-gradient(
      circle at 92% 7%,
      rgba(185, 150, 90, .08),
      transparent 26%
    ),
    var(--warm-white);

  box-shadow:
    0 30px 100px rgba(35, 28, 21, .2);
}


/* ==========================================================
   MODAL HEADER
   ========================================================== */

.pf-reading-modal-header {
  align-items: flex-start;

  padding:
    clamp(2rem, 4vw, 3.5rem)
    clamp(1.5rem, 5vw, 5rem)
    clamp(1.6rem, 3vw, 2.5rem);

  border-bottom:
    1px solid rgba(185, 150, 90, .15);

  background: transparent;
}

.pf-reading-modal-header .section-label {
  display: block;
  margin-bottom: .8rem;
}

.pf-reading-modal-header h2 {
  max-width: 820px;
  margin: 0;

  color: var(--charcoal);

  font-family: var(--serif);
  font-size: clamp(2.5rem, 4.5vw, 4.5rem);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -.025em;

  text-wrap: balance;
}

.pf-reading-modal-header .btn-close {
  flex: 0 0 auto;
  margin: .25rem 0 0 1rem;
}


/* ==========================================================
   MODAL BODY
   ========================================================== */

.pf-reading-modal-body {
  padding:
    clamp(2.5rem, 5vw, 5rem)
    clamp(1.5rem, 7vw, 7rem)
    clamp(3rem, 6vw, 6rem);
}


/* Lead paragraph */

.pf-reading-lead {
  max-width: 800px;
  margin: 0 auto clamp(3.5rem, 6vw, 5.5rem);
  text-align: center;
}

.pf-reading-lead p {
  margin: 0;

  color: rgba(67, 56, 47, .76);

  font-family: var(--serif);
  font-size: clamp(1.35rem, 2.1vw, 1.8rem);
  font-weight: 400;
  line-height: 1.6;
}


/* ==========================================================
   READING SECTIONS
   ========================================================== */

.pf-reading-section {
  max-width: 820px;
  margin: 0 auto;
}

.pf-reading-section + .pf-reading-section {
  margin-top: clamp(4rem, 7vw, 6.5rem);
}

.pf-reading-section h3 {
  position: relative;

  margin: 0 0 2rem;

  color: rgba(55, 45, 38, .88);

  font-family: var(--serif);
  font-size: clamp(2rem, 3vw, 2.65rem);
  font-weight: 400;
  line-height: 1.15;

  text-align: center;
}

.pf-reading-section h3::after {
  content: "";

  display: block;

  width: 42px;
  height: 1px;

  margin: 1rem auto 0;

  background: rgba(185, 150, 90, .5);
}

.pf-reading-section > p {
  margin: 0;

  color: rgba(69, 60, 52, .78);

  font-size: 1rem;
  font-weight: 400;
  line-height: 1.95;
}

.pf-reading-section > p + p {
  margin-top: 1.65rem;
}


/* ==========================================================
   QUOTED PASSAGES
   ========================================================== */

.pf-reading-quote {
  position: relative;

  max-width: 760px;

  margin: 2.2rem auto;

  padding:
    clamp(1.8rem, 3vw, 2.7rem)
    clamp(1.6rem, 4vw, 3.2rem);

  border-left: 2px solid rgba(185, 150, 90, .45);

  background:
    linear-gradient(
      135deg,
      rgba(185, 150, 90, .06),
      rgba(255, 253, 249, .3)
    );
}

.pf-reading-quote p {
  margin: 0;

  color: rgba(61, 51, 43, .78);

  font-family: var(--serif);
  font-size: clamp(1.15rem, 1.7vw, 1.35rem);
  line-height: 1.7;
}

.pf-reading-quote p + p {
  margin-top: 1.3rem;
}


/* ==========================================================
   SCRIPTURE FEATURE
   ========================================================== */

.pf-reading-scripture {
  max-width: 720px;

  margin: 2.8rem auto;

  padding:
    clamp(2rem, 4vw, 3rem);

  text-align: center;

  border-top:
    1px solid rgba(185, 150, 90, .22);

  border-bottom:
    1px solid rgba(185, 150, 90, .22);
}

.pf-reading-scripture p {
  margin: 0 0 1rem;

  color: var(--bronze);

  font-family: var(--serif);
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  line-height: 1.55;
}

.pf-reading-scripture span {
  color: var(--soft-gold);

  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}


/* ==========================================================
   FOOTER
   ========================================================== */

.pf-reading-modal-footer {
  justify-content: center;

  padding:
    1.6rem
    clamp(1.5rem, 5vw, 5rem);

  border-top:
    1px solid rgba(185, 150, 90, .14);

  background: var(--cream);
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 991.98px) {

  .pf-reading-modal .modal-dialog {
    width: calc(100% - 1.5rem);
    margin-right: auto;
    margin-left: auto;
  }

  .pf-reading-modal-header {
    padding: 2rem;
  }

  .pf-reading-modal-body {
    padding: 3rem 2.5rem 4rem;
  }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 575.98px) {

  .pf-reading-modal .modal-dialog {
    width: 100%;
    max-width: 100%;

    height: 100%;

    margin: 0;
  }

  .pf-reading-modal .modal-content {
    height: 100%;
    border-radius: 0;
  }

  .pf-reading-modal-header {
    padding: 1.5rem 1.25rem;
  }

  .pf-reading-modal-header h2 {
    padding-right: .5rem;

    font-size: clamp(2.2rem, 10vw, 3rem);
  }

  .pf-reading-modal-header .btn-close {
    margin-left: .5rem;
  }

  .pf-reading-modal-body {
    padding: 2.5rem 1.35rem 3.5rem;
  }

  .pf-reading-lead {
    margin-bottom: 3.5rem;
  }

  .pf-reading-lead p {
    font-size: 1.25rem;
    line-height: 1.6;
  }

  .pf-reading-section + .pf-reading-section {
    margin-top: 4rem;
  }

  .pf-reading-section h3 {
    margin-bottom: 1.7rem;
    font-size: 2rem;
  }

  .pf-reading-section > p {
    font-size: .98rem;
    line-height: 1.85;
  }

  .pf-reading-section > p + p {
    margin-top: 1.5rem;
  }

  .pf-reading-quote {
    margin: 2rem 0;

    padding: 1.5rem 1.3rem;
  }

  .pf-reading-quote p {
    font-size: 1.1rem;
  }

  .pf-reading-scripture {
    margin: 2.5rem 0;

    padding: 2rem .75rem;
  }

}


/* ==========================================================================
   CAREERS — MODAL LINKS
   ========================================================================== */

.pf-careers-modal-link {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
}

.pf-careers-modal-link i {
  font-size: .8rem;
  transition: transform .25s ease;
}

.pf-careers-modal-link:hover i {
  transform: translateX(4px);
}


/* ==========================================================================
   READING MODALS
   ========================================================================== */

.pf-reading-modal .modal-dialog {
  width: min(1180px, calc(100% - 2rem));
  max-width: 1180px;
}

.pf-reading-modal .modal-content {
  overflow: hidden;

  border: 0;
  border-radius: 0;

  background:
    radial-gradient(
      circle at 92% 7%,
      rgba(185, 150, 90, .07),
      transparent 27%
    ),
    var(--warm-white);

  box-shadow:
    0 30px 100px rgba(35, 28, 21, .18);
}


/* ==========================================================================
   MODAL HEADER
   ========================================================================== */

.pf-reading-modal-header {
  position: relative;

  display: block;

  padding:
    clamp(2.5rem, 5vw, 4.5rem)
    clamp(4rem, 8vw, 7rem)
    clamp(2.2rem, 4vw, 3.5rem);

  border-bottom:
    1px solid rgba(185, 150, 90, .15);

  background: transparent;

  text-align: center;
}

.pf-reading-modal-title {
  width: 100%;
  max-width: 900px;

  margin: 0 auto;
}

.pf-reading-modal-header .section-label {
  display: block;

  margin-bottom: 1rem;

  text-align: center;
}

.pf-reading-modal-header h2 {
  max-width: 900px;

  margin: 0 auto;

  color: var(--charcoal);

  font-family: var(--serif);
  font-size: clamp(2.6rem, 4.5vw, 4.5rem);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -.025em;

  text-align: center;
  text-wrap: balance;
}


/* Close button */

.pf-reading-modal-header .btn-close {
  position: absolute;

  top: 1.75rem;
  right: 1.75rem;

  margin: 0;

  opacity: .5;

  transition:
    opacity .2s ease,
    transform .2s ease;
}

.pf-reading-modal-header .btn-close:hover {
  opacity: .8;
  transform: rotate(90deg);
}


/* ==========================================================================
   MODAL BODY
   ========================================================================== */

.pf-reading-modal-body {
  padding:
    clamp(3rem, 6vw, 5.5rem)
    clamp(1.5rem, 7vw, 7rem)
    clamp(4rem, 7vw, 6.5rem);
}


/* ==========================================================================
   LEAD INTRODUCTION
   ========================================================================== */

.pf-reading-lead {
  max-width: 800px;

  margin:
    0 auto
    clamp(4rem, 7vw, 6rem);

  text-align: center;
}

.pf-reading-lead p {
  margin: 0;

  color: rgba(67, 56, 47, .72);

  font-family: var(--serif);
  font-size: clamp(1.35rem, 2.1vw, 1.8rem);
  font-weight: 400;
  line-height: 1.65;
}


/* ==========================================================================
   READING SECTIONS
   ========================================================================== */

.pf-reading-section {
  max-width: 820px;

  margin-right: auto;
  margin-left: auto;
}

.pf-reading-section + .pf-reading-section {
  margin-top: clamp(4.5rem, 8vw, 7rem);
}


/* Headings */

.pf-reading-section h3 {
  position: relative;

  margin: 0 0 2.4rem;

  color: rgba(55, 45, 38, .86);

  font-family: var(--serif);
  font-size: clamp(2rem, 3vw, 2.65rem);
  font-weight: 400;
  line-height: 1.15;

  text-align: center;
}

.pf-reading-section h3::after {
  content: "";

  display: block;

  width: 42px;
  height: 1px;

  margin: 1rem auto 0;

  background: rgba(185, 150, 90, .5);
}


/* Body copy */

.pf-reading-section > p {
  margin: 0;

  color: rgba(69, 60, 52, .76);

  font-size: 1rem;
  font-weight: 400;
  line-height: 1.95;

  text-align: left;
}

.pf-reading-section > p + p {
  margin-top: 1.75rem;
}


/* ==========================================================================
   QUOTATIONS
   ========================================================================== */

.pf-reading-quote {
  max-width: 760px;

  margin: 2.5rem auto;

  padding:
    clamp(1.8rem, 3vw, 2.7rem)
    clamp(1.6rem, 4vw, 3.2rem);

  border-left:
    2px solid rgba(185, 150, 90, .42);

  background:
    linear-gradient(
      135deg,
      rgba(185, 150, 90, .06),
      rgba(255, 253, 249, .3)
    );
}

.pf-reading-quote p {
  margin: 0;

  color: rgba(61, 51, 43, .76);

  font-family: var(--serif);
  font-size: clamp(1.15rem, 1.7vw, 1.35rem);
  line-height: 1.75;
}

.pf-reading-quote p + p {
  margin-top: 1.4rem;
}


/* ==========================================================================
   SCRIPTURE
   ========================================================================== */

.pf-reading-scripture {
  max-width: 720px;

  margin: 3rem auto;

  padding:
    clamp(2rem, 4vw, 3rem);

  border-top:
    1px solid rgba(185, 150, 90, .22);

  border-bottom:
    1px solid rgba(185, 150, 90, .22);

  text-align: center;
}

.pf-reading-scripture p {
  margin: 0 0 1rem;

  color: var(--bronze);

  font-family: var(--serif);
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  line-height: 1.6;
}

.pf-reading-scripture span {
  color: var(--soft-gold);

  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}


/* ==========================================================================
   MODAL FOOTER
   ========================================================================== */

.pf-reading-modal-footer {
  justify-content: center;

  padding:
    1.8rem
    clamp(1.5rem, 5vw, 5rem);

  border-top:
    1px solid rgba(185, 150, 90, .14);

  background: var(--cream);
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 991.98px) {

  .pf-reading-modal .modal-dialog {
    width: calc(100% - 1.5rem);

    margin-right: auto;
    margin-left: auto;
  }

  .pf-reading-modal-header {
    padding:
      3rem
      4rem
      2.5rem;
  }

  .pf-reading-modal-body {
    padding:
      3.5rem
      2.5rem
      4.5rem;
  }

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 575.98px) {

  .pf-reading-modal .modal-dialog {
    width: 100%;
    max-width: 100%;
    height: 100%;

    margin: 0;
  }

  .pf-reading-modal .modal-content {
    height: 100%;

    border-radius: 0;
  }


  /* Header */

  .pf-reading-modal-header {
    padding:
      3.5rem
      2.5rem
      2.25rem;
  }

  .pf-reading-modal-header h2 {
    font-size: clamp(2.2rem, 10vw, 3rem);
    line-height: 1.08;
  }

  .pf-reading-modal-header .btn-close {
    top: 1.25rem;
    right: 1.25rem;
  }


  /* Body */

  .pf-reading-modal-body {
    padding:
      2.75rem
      1.35rem
      4rem;
  }


  /* Lead */

  .pf-reading-lead {
    margin-bottom: 3.75rem;
  }

  .pf-reading-lead p {
    font-size: 1.25rem;
    line-height: 1.65;
  }


  /* Sections */

  .pf-reading-section + .pf-reading-section {
    margin-top: 4.25rem;
  }

  .pf-reading-section h3 {
    margin-bottom: 1.8rem;

    font-size: 2rem;
  }

  .pf-reading-section > p {
    font-size: .98rem;
    line-height: 1.85;
  }

  .pf-reading-section > p + p {
    margin-top: 1.55rem;
  }


  /* Quotes */

  .pf-reading-quote {
    margin: 2.25rem 0;

    padding:
      1.6rem
      1.35rem;
  }

  .pf-reading-quote p {
    font-size: 1.1rem;

  }


  /* Scripture */

  .pf-reading-scripture {
    margin: 2.75rem 0;

    padding:
      2rem
      .75rem;
  }

}
/* ==========================================================================
   INVITE US / CONTACT CTA
   ========================================================================== */

.contact-cta {
  position: relative;
  overflow: hidden;

  min-height: 650px;

  display: flex;
  align-items: center;

  padding:
    clamp(5rem, 8vw, 8rem)
    0;

  background:
    url("../img/contact-bg.jpg")
    center center / cover
    no-repeat;
}


/* ==========================================================================
   OVERLAY
   ========================================================================== */

.contact-cta-overlay {
  position: absolute;
  inset: 0;
  z-index: 0;

  background:
    linear-gradient(
      90deg,
      rgba(32, 28, 22, .88) 0%,
      rgba(32, 28, 22, .78) 25%,
      rgba(32, 28, 22, .53) 47%,
      rgba(32, 28, 22, .13) 70%,
      rgba(32, 28, 22, .03) 100%
    );
}

.contact-cta .container {
  position: relative;
  z-index: 1;
}


/* ==========================================================================
   CONTENT
   ========================================================================== */

.contact-cta-content {
  max-width: 590px;
}


/* Label */

.contact-cta .section-label {
  display: block;

  margin-bottom: 1.5rem;

  color: rgba(210, 173, 106, .94);

  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .22em;

  text-transform: uppercase;
}


/* Heading */

.contact-cta h2 {
  margin:
    0 0
    1.8rem;

  color: rgba(255, 252, 246, .97);

  font-family: var(--serif);
  font-size: clamp(3.6rem, 5.3vw, 5.4rem);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -.035em;

  text-wrap: balance;
}


/* ==========================================================================
   DECORATIVE RULE
   ========================================================================== */

.contact-cta-rule {
  display: flex;
  align-items: center;

  max-width: 410px;

  margin:
    0 0
    1.8rem;

  color: rgba(201, 159, 88, .82);
}

.contact-cta-rule span {
  display: block;
  flex: 1;

  height: 1px;

  background:
    rgba(201, 159, 88, .58);
}

.contact-cta-rule i {
  margin:
    0
    .75rem;

  font-size: .7rem;
}


/* ==========================================================================
   INTRO COPY
   ========================================================================== */

.contact-cta-intro {
  max-width: 470px;

  margin:
    0 0
    2rem;

  color: rgba(255, 255, 255, .82);

  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
}


/* ==========================================================================
   ACTIONS
   ========================================================================== */

.contact-cta-actions {
  display: flex;
  flex-direction: column;

  align-items: flex-start;

  gap: .85rem;

  width: 100%;
  max-width: 410px;
}


/* ==========================================================================
   CONTACT BUTTONS
   ========================================================================== */

.contact-cta-button {
  display: flex;
  align-items: center;

  width: 100%;
  min-height: 60px;

  padding:
    .9rem
    1.4rem;

  border:
    1px solid rgba(201, 159, 88, .72);

  background:
    rgba(28, 24, 19, .14);

  color: rgba(255, 255, 255, .92);

  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;

  text-decoration: none;
  text-transform: uppercase;

  backdrop-filter: blur(2px);

  transition:
    background-color .22s ease,
    border-color .22s ease,
    color .22s ease,
    transform .22s ease;
}

.contact-cta-button i {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 26px;

  margin-right: 1rem;

  color: rgba(210, 173, 106, .96);

  font-size: 1.05rem;

  transition: color .22s ease;
}

.contact-cta-button:hover,
.contact-cta-button:focus-visible {
  border-color: rgba(210, 173, 106, .95);

  background:
    rgba(201, 159, 88, .92);

  color: #fff;

  transform: translateY(-2px);
}

.contact-cta-button:hover i,
.contact-cta-button:focus-visible i {
  color: #fff;
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 991.98px) {

  .contact-cta {
    min-height: 620px;

    background-position: 60% center;
  }

  .contact-cta-overlay {
    background:
      linear-gradient(
        90deg,
        rgba(32, 28, 22, .9) 0%,
        rgba(32, 28, 22, .76) 48%,
        rgba(32, 28, 22, .3) 78%,
        rgba(32, 28, 22, .12) 100%
      );
  }

  .contact-cta-content {
    max-width: 520px;
  }

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 575.98px) {

  .contact-cta {
    min-height: 690px;

    align-items: flex-end;

    padding:
      5rem
      0
      4rem;

    background-position: 68% center;
  }

  .contact-cta-overlay {
    background:
      linear-gradient(
        180deg,
        rgba(30, 26, 21, .22) 0%,
        rgba(30, 26, 21, .48) 28%,
        rgba(30, 26, 21, .9) 67%,
        rgba(30, 26, 21, .96) 100%
      );
  }

  .contact-cta-content {
    max-width: 100%;
  }

  .contact-cta .section-label {
    margin-bottom: 1rem;

    font-size: .68rem;
  }

  .contact-cta h2 {
    margin-bottom: 1.5rem;

    font-size: clamp(3rem, 14vw, 4rem);
  }

  .contact-cta-rule {
    max-width: 260px;

    margin-bottom: 1.5rem;
  }

  .contact-cta-intro {
    max-width: 100%;

    font-size: .96rem;
    line-height: 1.75;
  }

  .contact-cta-actions {
    max-width: 100%;
  }

  .contact-cta-button {
    min-height: 58px;

    padding:
      .85rem
      1.15rem;

    font-size: .68rem;
  }

}

/* ==========================================================================
   BACK TO TOP
   ========================================================================== */
.back-to-top {
  position: fixed;
  right: clamp(1.25rem, 3vw, 2.5rem);
  bottom: clamp(1.25rem, 3vw, 2.5rem);
  z-index: 999;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 52px;
  height: 52px;

  padding: 0;

  border: 1px solid rgba(185, 150, 90, .55);
  border-radius: 50%;

  background: rgba(255, 253, 249, .92);

  color: var(--bronze);

  font-size: .95rem;

  opacity: 0;
  visibility: hidden;

  transform: translateY(16px);

  box-shadow:
    0 10px 35px rgba(45, 38, 30, .1);

  backdrop-filter: blur(8px);

  cursor: pointer;

  transition:
    opacity .35s ease,
    visibility .35s ease,
    transform .35s cubic-bezier(.22, 1, .36, 1),
    background-color .25s ease,
    border-color .25s ease,
    color .25s ease;
}

.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;

  transform: translateY(0);
}

.back-to-top:hover,
.back-to-top:focus-visible {
  border-color: var(--soft-gold);

  background: var(--soft-gold);

  color: #fff;

  transform: translateY(-3px);
}

.back-to-top i {
  transition:
    transform .25s ease;
}

.back-to-top:hover i {
  transform: translateY(-2px);
}


/* Mobile */

@media (max-width: 575.98px) {

  .back-to-top {
    right: 1rem;
    bottom: 1rem;

    width: 46px;
    height: 46px;
  }

}


/* Reduced motion */

@media (prefers-reduced-motion: reduce) {

  .back-to-top {
    transition:
      opacity .2s ease,
      visibility .2s ease;
  }

}

/* ==========================================================================
   FIXED NAVIGATION
   ========================================================================== */

.navbar {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;

  background: rgba(255, 253, 249, .96);

  transition:
    padding .35s cubic-bezier(.22, 1, .36, 1),
    background-color .35s ease,
    box-shadow .35s ease,
    border-color .35s ease;

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}


/* Scrolled state */

.navbar.navbar-scrolled {
  background: rgba(255, 253, 249, .97);

  border-bottom:
    1px solid rgba(185, 150, 90, .12);

  box-shadow:
    0 8px 30px rgba(45, 38, 30, .06);
}


/* Logo transition */

.navbar .navbar-brand,
.navbar .logo-main,
.navbar .navbar-brand small {
  transition:
    font-size .35s cubic-bezier(.22, 1, .36, 1),
    transform .35s cubic-bezier(.22, 1, .36, 1),
    opacity .35s ease;
}


/* Slightly more compact after scrolling */

.navbar.navbar-scrolled .logo-main {
  transform: scale(.94);
  transform-origin: left center;
}

.navbar.navbar-scrolled .navbar-brand small {
  opacity: .7;
}


/* Make anchor destinations clear the fixed nav */

html {
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
}


/* Mobile */

@media (max-width: 991.98px) {

  html {
    scroll-padding-top: 90px;
  }

  .navbar {
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }

}


/* Reduced motion */

@media (prefers-reduced-motion: reduce) {

  .navbar,
  .navbar .navbar-brand,
  .navbar .logo-main,
  .navbar .navbar-brand small {
    transition: none;
  }

}

/* ==========================================================================
   MINISTRY SERVICES PANEL
   ========================================================================== */

.ministry-services-panel {
  display: flex;
  flex-direction: column;
  height: 100%;
}


/* ==========================================================================
   FEATURED SERVICE
   ========================================================================== */

.ministry-service-featured {
  margin-bottom: 1.2rem;

  padding:
    clamp(2rem, 4vw, 3rem);

  border:
    1px solid rgba(185, 150, 90, .18);

  background:
    linear-gradient(
      145deg,
      rgba(185, 150, 90, .08),
      rgba(255, 253, 249, .72)
    );
}

.ministry-service-label {
  display: block;

  margin-bottom: .7rem;

  color: var(--soft-gold);

  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .16em;

  text-transform: uppercase;
}


/* ==========================================================================
   SERVICE LIST
   ========================================================================== */

.ministry-service-list {
  display: grid;
  gap: 0;
}

.ministry-service {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);

  gap: 1.35rem;

  align-items: start;

  padding:
    1.8rem
    0;

  border-bottom:
    1px solid rgba(185, 150, 90, .14);
}

.ministry-service:first-child {
  border-top:
    1px solid rgba(185, 150, 90, .14);
}


/* ==========================================================================
   ICONS
   ========================================================================== */

.ministry-service-icon {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 50px;
  height: 50px;

  flex: 0 0 50px;

  border:
    1px solid rgba(185, 150, 90, .18);

  border-radius: 50%;

  background:
    rgba(185, 150, 90, .07);

  color: var(--soft-gold);

  font-size: 1rem;
}


/* ==========================================================================
   COPY
   ========================================================================== */

.ministry-service-copy h3 {
  margin:
    0
    0
    .75rem;

  color: var(--charcoal);

  font-family: var(--serif);
  font-size: clamp(1.55rem, 2vw, 1.9rem);
  font-weight: 400;
  line-height: 1.2;
}

.ministry-service-copy p {
  margin: 0;

  color: rgba(69, 60, 52, .75);

  font-size: .97rem;
  line-height: 1.8;
}


/* ==========================================================================
   MINISTRY ASSURANCE
   ========================================================================== */

.ministry-assurance {
  position: relative;

  margin-top: 2.4rem;

  padding:
    2.6rem
    clamp(1.5rem, 3vw, 2.5rem);

  border-top: 1px solid rgba(185, 150, 90, .2);
  border-bottom: 1px solid rgba(185, 150, 90, .2);

  background: transparent;

  text-align: center;
}

.ministry-assurance-mark {
  display: block;

  margin: 0 0 .85rem;

  color: rgba(185, 150, 90, .45);

  font-family: Georgia, "Times New Roman", serif;
  font-size: 5rem;
  font-weight: 400;
  line-height: .65;
}

.ministry-assurance p {
  max-width: 620px;

  margin: 0 auto;

  color: rgba(67, 56, 47, .72);

  font-family: var(--serif);
  font-size: clamp(1.2rem, 1.8vw, 1.5rem);
  font-style: normal;
  line-height: 1.65;
}


@media (max-width: 575.98px) {

  .ministry-assurance {
    margin-top: 2rem;

    padding:
      2.2rem
      1rem;
  }

  .ministry-assurance-mark {
    font-size: 4.5rem;
  }

}

/* Mobile */

@media (max-width: 575.98px) {

  .ministry-assurance {
    margin-top: 1.8rem;

    padding:
      2rem
      1rem;
  }

  .ministry-assurance-mark {
    font-size: 4rem;
  }

}
/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 991.98px) {

  .ministry-services-panel {
    height: auto;
  }

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 575.98px) {

  .ministry-service-featured {
    padding:
      1.8rem
      1.4rem;
  }

  .ministry-service {
    grid-template-columns: 44px minmax(0, 1fr);

    gap: 1rem;

    padding:
      1.5rem
      0;
  }

  .ministry-service-icon {
    width: 44px;
    height: 44px;

    flex-basis: 44px;
  }

  .ministry-service-copy h3 {
    font-size: 1.45rem;
  }

  .ministry-service-copy p {
    font-size: .94rem;
    line-height: 1.75;
  }

  .ministry-assurance {
    margin-top: 1.8rem;

    padding:
      1.8rem
      1rem;
  }

}
/* ==========================================================================
   MINISTRY IN ACTION
   ========================================================================== */

.pf-ministry-action {
  position: relative;
  overflow: hidden;

  background:
    linear-gradient(
      180deg,
      var(--warm-white) 0%,
      var(--cream) 100%
    );
}


/* ==========================================================================
   HEADING
   ========================================================================== */

.pf-ministry-action-heading {
  max-width: 900px;

  margin:
    0 auto
    clamp(3.5rem, 6vw, 5.5rem);
}

.pf-ministry-action-heading h2 {
  max-width: 820px;

  margin:
    0 auto;

  color: #594536;

  font-family: var(--serif);
  font-size: clamp(2.8rem, 4.6vw, 4.8rem);
  font-weight: 500;
  line-height: 1.04;

  text-wrap: balance;
}


/* ==========================================================================
   PHOTOGRAPH
   ========================================================================== */

.pf-ministry-action-feature {
  position: relative;

  width: 100%;
  height: 100%;
  min-height: 720px;

  overflow: hidden;

  background: var(--stone);

  box-shadow:
    0 28px 75px rgba(45, 36, 28, .1);
}

.pf-ministry-action-feature img {
  position: absolute;
  inset: 0;

  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  transition:
    transform .8s cubic-bezier(.22, 1, .36, 1);
}

.pf-ministry-action-feature:hover img {
  transform: scale(1.02);
}


/* Overlay */

.pf-ministry-action-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;

  background:
    linear-gradient(
      to top,
      rgba(37, 28, 22, .82) 0%,
      rgba(37, 28, 22, .34) 38%,
      rgba(37, 28, 22, .04) 72%,
      transparent 100%
    );

  pointer-events: none;
}


/* Image copy */

.pf-ministry-action-feature-copy {
  position: absolute;

  right: clamp(1.8rem, 4vw, 3.2rem);
  bottom: clamp(1.8rem, 4vw, 3.2rem);
  left: clamp(1.8rem, 4vw, 3.2rem);

  z-index: 2;

  max-width: 540px;
}

.pf-ministry-action-feature-copy span {
  display: block;

  margin-bottom: 1rem;

  color: rgba(255, 255, 255, .78);

  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .2em;

  text-transform: uppercase;
}

.pf-ministry-action-feature-copy h3 {
  margin: 0;

  color: #fffaf4;

  font-family: var(--serif);
  font-size: clamp(2rem, 3vw, 3.1rem);
  font-weight: 500;
  line-height: 1.08;

  text-wrap: balance;
}


/* ==========================================================================
   RIGHT COLUMN
   ========================================================================== */

.pf-ministry-action-content {
  display: flex;
  flex-direction: column;

  width: 100%;
}


/* ==========================================================================
   MAIN MINISTRY ITEM
   ========================================================================== */

.pf-ministry-action-main {
  display: grid;

  grid-template-columns:
    58px
    minmax(0, 1fr);

  gap: 1.6rem;

  align-items: start;

  padding:
    clamp(2rem, 4vw, 3rem);

  border:
    1px solid rgba(185, 150, 90, .2);

  background:
    linear-gradient(
      145deg,
      rgba(185, 150, 90, .09),
      rgba(255, 253, 249, .75)
    );

  box-shadow:
    0 20px 55px rgba(60, 45, 32, .05);
}

.pf-ministry-action-label {
  display: block;

  margin-bottom: .7rem;

  color: var(--soft-gold);

  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .18em;

  text-transform: uppercase;
}


/* ==========================================================================
   ICON
   ========================================================================== */

.pf-ministry-action-icon {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 58px;
  height: 58px;

  border:
    1px solid rgba(185, 150, 90, .2);

  border-radius: 50%;

  background:
    rgba(185, 150, 90, .07);

  color: var(--soft-gold);

  font-size: 1rem;
}


/* ==========================================================================
   HEADINGS AND COPY
   ========================================================================== */

.pf-ministry-action-main h3,
.pf-ministry-action-item h3 {
  margin:
    0
    0
    .75rem;

  color: #594536;

  font-family: var(--serif);
  font-size: clamp(1.55rem, 2vw, 1.95rem);
  font-weight: 500;
  line-height: 1.2;
}

.pf-ministry-action-main p,
.pf-ministry-action-item p {
  margin: 0;

  color: rgba(69, 60, 52, .75);

  font-size: .97rem;
  line-height: 1.8;
}


/* ==========================================================================
   OTHER MINISTRY ITEMS
   ========================================================================== */

.pf-ministry-action-list {
  margin-top: 1.25rem;

  border-top:
    1px solid rgba(185, 150, 90, .14);
}

.pf-ministry-action-item {
  display: grid;

  grid-template-columns:
    50px
    minmax(0, 1fr);

  gap: 1.4rem;

  align-items: start;

  padding:
    1.8rem
    .4rem;

  border-bottom:
    1px solid rgba(185, 150, 90, .14);
}

.pf-ministry-action-item .pf-ministry-action-icon {
  width: 50px;
  height: 50px;
}


/* ==========================================================================
   QUOTATION
   ========================================================================== */

.pf-ministry-action-quote {
  position: relative;

  margin:
    2.4rem
    0
    0;

  padding:
    2.5rem
    clamp(1.5rem, 3vw, 2.5rem);

  border-top:
    1px solid rgba(185, 150, 90, .22);

  border-bottom:
    1px solid rgba(185, 150, 90, .22);

  background:
    rgba(185, 150, 90, .035);

  text-align: center;
}

.pf-ministry-action-quote-mark {
  display: block;

  margin:
    0
    0
    .8rem;

  color:
    rgba(185, 150, 90, .45);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 4.8rem;
  font-weight: 400;
  line-height: .65;
}

.pf-ministry-action-quote p {
  max-width: 610px;

  margin: 0 auto;

  color:
    rgba(67, 56, 47, .72);

  font-family: var(--serif);
  font-size: clamp(1.2rem, 1.75vw, 1.5rem);
  font-weight: 400;
  line-height: 1.65;
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 991.98px) {

  .pf-ministry-action-feature {
    height: auto;
    min-height: 620px;
  }

  .pf-ministry-action-content {
    margin-top: .5rem;
  }

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 575.98px) {

  .pf-ministry-action-heading {
    margin-bottom: 3rem;
  }

  .pf-ministry-action-heading h2 {
    font-size: clamp(2.5rem, 11vw, 3.4rem);
  }

  .pf-ministry-action-feature {
    min-height: 520px;
  }

  .pf-ministry-action-feature-copy {
    right: 1.5rem;
    bottom: 1.6rem;
    left: 1.5rem;
  }

  .pf-ministry-action-feature-copy h3 {
    font-size: 2rem;
  }

  .pf-ministry-action-main {
    grid-template-columns:
      46px
      minmax(0, 1fr);

    gap: 1rem;

    padding:
      1.7rem
      1.35rem;
  }

  .pf-ministry-action-item {
    grid-template-columns:
      44px
      minmax(0, 1fr);

    gap: 1rem;

    padding:
      1.5rem
      0;
  }

  .pf-ministry-action-icon {
    width: 46px;
    height: 46px;
  }

  .pf-ministry-action-item .pf-ministry-action-icon {
    width: 44px;
    height: 44px;
  }

  .pf-ministry-action-main h3,
  .pf-ministry-action-item h3 {
    font-size: 1.45rem;
  }

  .pf-ministry-action-main p,
  .pf-ministry-action-item p {
    font-size: .94rem;
    line-height: 1.75;
  }

  .pf-ministry-action-quote {
    margin-top: 2rem;

    padding:
      2.2rem
      1.2rem;
  }

  .pf-ministry-action-quote-mark {
    font-size: 4.2rem;
  }

}

.policy-content h2 {
  margin-top: 2.5rem;
  margin-bottom: 1rem;

  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}