/* U4WDA combined stylesheet. Page scopes preserve each original design. */

/* index.php */
body.page-index {
      --u4-dark: #11130f;
      --u4-charcoal: #20231d;
      --u4-green: #5f7f2b;
      --u4-green-dark: #41591d;
      --u4-orange: #d9651f;
      --u4-orange-dark: #a84916;
      --u4-sand: #f3eadb;
      --u4-cream: #fbf7ee;
      --u4-muted: #6f7568;
      --u4-border: rgba(32, 35, 29, .15);
      --u4-shadow: 0 18px 50px rgba(0, 0, 0, .15);
      --u4-radius: 18px;
    }

    html {
      scroll-behavior: smooth;
    }

    body.page-index {
      margin: 0;
      color: var(--u4-charcoal);
      background: var(--u4-cream);
      font-family: "Inter", Arial, Helvetica, sans-serif;
      line-height: 1.55;
    }

    body.page-index h1,
body.page-index h2,
body.page-index h3,
body.page-index h4,
body.page-index h5,
body.page-index h6,
body.page-index .navbar-brand,
body.page-index .btn,
body.page-index .section-kicker,
body.page-index .nav-link {
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-weight: 400;
      letter-spacing: .03em;
      text-transform: uppercase;
    }

    body.page-index .btn,
body.page-index .nav-link,
body.page-index .section-kicker {
      font-weight: 600;
    }

    body.page-index p {
      color: #40443a;
    }

    body.page-index a {
      color: var(--u4-green-dark);
    }

    body.page-index .btn {
      border-radius: 0;
      padding: .85rem 1.4rem;
      font-size: .95rem;
      border-width: 2px;
    }

    body.page-index .btn-u4-green {
      background: var(--u4-green);
      border-color: var(--u4-green);
      color: #fff;
    }

    body.page-index .btn-u4-green:hover,
body.page-index .btn-u4-green:focus {
      background: var(--u4-green-dark);
      border-color: var(--u4-green-dark);
      color: #fff;
    }

    body.page-index .btn-u4-orange {
      background: var(--u4-orange);
      border-color: var(--u4-orange);
      color: #fff;
    }

    body.page-index .btn-u4-orange:hover,
body.page-index .btn-u4-orange:focus {
      background: var(--u4-orange-dark);
      border-color: var(--u4-orange-dark);
      color: #fff;
    }

    body.page-index .btn-u4-outline-light {
      border-color: rgba(255,255,255,.8);
      color: #fff;
      background: transparent;
    }

    body.page-index .btn-u4-outline-light:hover,
body.page-index .btn-u4-outline-light:focus {
      background: #fff;
      color: var(--u4-dark);
    }

    body.page-index .btn-u4-outline-dark {
      border-color: var(--u4-charcoal);
      color: var(--u4-charcoal);
      background: transparent;
    }

    body.page-index .btn-u4-outline-dark:hover,
body.page-index .btn-u4-outline-dark:focus {
      background: var(--u4-charcoal);
      color: #fff;
    }

    body.page-index .site-header {
      position: sticky;
      top: 0;
      z-index: 1000;
      background: #050604;
      border-bottom: 1px solid rgba(255,255,255,.08);
    }

    body.page-index .navbar {
      padding: .7rem 0;
    }

    body.page-index .navbar-brand {
      color: #fff;
      display: flex;
      align-items: center;
      gap: .7rem;
      font-size: 1.45rem;
      line-height: 1;
    }

    body.page-index .site-logo {
      height: 80px;
      width: auto;
      display: block;
    }

    body.page-index .navbar-toggler {
      border-color: rgba(255,255,255,.4);
    }

    body.page-index .navbar-toggler-icon {
      filter: invert(1);
    }

    body.page-index .navbar-nav .nav-link {
      color: rgba(255,255,255,.86);
      font-size: .9rem;
      font-weight: 700;
      padding-left: .85rem;
      padding-right: .85rem;
    }

    body.page-index .navbar-nav .nav-link:hover,
body.page-index .navbar-nav .nav-link.active {
      color: #9abd4c;
    }

    body.page-index .hero {
      min-height: 650px;
      color: #fff;
      position: relative;
      display: flex;
      align-items: center;
      overflow: hidden;
      background:
        linear-gradient(90deg, rgba(0,0,0,.74) 0%, rgba(0,0,0,.62) 28%, rgba(0,0,0,.30) 48%, rgba(0,0,0,.08) 70%, rgba(0,0,0,.02) 100%),
        url('../img/hero-image.jpg') center right / cover no-repeat,
        linear-gradient(135deg, #2e3328 0%, #7b4b2b 48%, #c27b44 100%);
    }

    body.page-index .hero::after {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        radial-gradient(circle at 76% 40%, rgba(255,255,255,.08), transparent 0 4px, transparent 5px),
        linear-gradient(transparent 92%, rgba(255,255,255,.025) 93%);
      background-size: 90px 90px, 100% 18px;
      opacity: .10;
      pointer-events: none;
    }

    body.page-index .hero-content {
      position: relative;
      z-index: 2;
      max-width: 740px;
      padding-top: 4rem;
      padding-bottom: 4rem;
    }

    body.page-index .hero h1 {
      font-size: clamp(3rem, 6.4vw, 6rem);
      line-height: 1;
      font-weight: 400;
      letter-spacing: .025em;
      margin-bottom: 1.25rem;
      text-shadow: 0 8px 28px rgba(0,0,0,.55);
    }

    body.page-index .hero .lead {
      color: rgba(255,255,255,.92);
      max-width: 650px;
      font-size: 1.16rem;
    }

    body.page-index .hero-tags {
      display: flex;
      flex-wrap: wrap;
      gap: .75rem 1.1rem;
      margin-top: 1.5rem;
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      text-transform: uppercase;
      letter-spacing: .14em;
      color: rgba(255,255,255,.9);
      font-weight: 600;
    }

    body.page-index .hero-tags span:not(:last-child)::after {
      content: "•";
      margin-left: 1.1rem;
      color: rgba(255,255,255,.75);
    }

    body.page-index .section-padding {
      padding: 5rem 0;
    }

    body.page-index .section-kicker {
      color: var(--u4-green-dark);
      font-size: .9rem;
      margin-bottom: .35rem;
    }

    body.page-index .section-title {
      font-size: clamp(2rem, 4vw, 3.2rem);
      line-height: 1.05;
      font-weight: 400;
      letter-spacing: .025em;
      margin-bottom: 1rem;
    }

    body.page-index .mission-strip {
      background: var(--u4-sand);
      border-bottom: 1px solid var(--u4-border);
    }

    body.page-index .mission-item {
      padding: 2.2rem 1.4rem;
      height: 100%;
      border-right: 1px solid var(--u4-border);
      text-align: center;
    }

    body.page-index .mission-item:last-child {
      border-right: 0;
    }

    body.page-index .mission-icon {
      width: 58px;
      height: 58px;
      margin: 0 auto 1rem;
      color: var(--u4-green);
      font-size: 2.2rem;
    }

    body.page-index .mission-item h3 {
      font-size: 1.25rem;
      margin-bottom: .6rem;
    }

    body.page-index .mission-item p {
      margin: 0;
      font-size: .95rem;
    }

    body.page-index .split-section {
      background: #fff;
      position: relative;
      overflow: hidden;
    }

    body.page-index .split-section::before,
body.page-index .split-section::after {
      content: "";
      position: absolute;
      width: 230px;
      height: 230px;
      opacity: .06;
      pointer-events: none;
      background: repeating-linear-gradient(45deg, var(--u4-charcoal), var(--u4-charcoal) 8px, transparent 8px, transparent 18px);
    }

    body.page-index .split-section::before {
      left: -95px;
      bottom: -40px;
      transform: rotate(14deg);
    }

    body.page-index .split-section::after {
      right: -85px;
      bottom: 35px;
      clip-path: polygon(50% 0, 100% 100%, 0 100%);
      background: var(--u4-green);
    }

    body.page-index .check-list {
      list-style: none;
      padding: 0;
      margin: 1.5rem 0 0;
    }

    body.page-index .check-list li {
      display: flex;
      gap: .75rem;
      margin-bottom: .9rem;
      font-weight: 700;
      color: #30352d;
    }

    body.page-index .check-list i {
      color: var(--u4-green);
      flex: 0 0 auto;
    }

    body.page-index .get-involved {
      background: #fff;
      padding-top: 1rem;
      padding-bottom: 4rem;
    }

    body.page-index .card-u4 {
      border: 0;
      border-radius: 14px;
      box-shadow: 0 14px 38px rgba(0,0,0,.08);
      overflow: hidden;
      background: var(--u4-cream);
      height: 100%;
    }

    body.page-index .card-img-placeholder {
      height: 150px;
      position: relative;
      display: grid;
      place-items: center;
      color: transparent;
      font-size: 0;
      border-radius: 14px 14px 0 0;
      background:
        linear-gradient(rgba(0,0,0,.22), rgba(0,0,0,.22)),
        linear-gradient(135deg, #39402f, #b15f2b);
      background-position: center center;
      background-size: cover;
      background-repeat: no-repeat;
    }

    body.page-index .card-img-member {
      background-image:
        linear-gradient(rgba(0,0,0,.22), rgba(0,0,0,.22)),
        url('../img/become-a-member.jpg');
    }

    body.page-index .card-img-volunteer {
      background-image:
        linear-gradient(rgba(0,0,0,.22), rgba(0,0,0,.22)),
        url('../img/volunteer.jpg');
    }

    body.page-index .card-img-donate {
      background-image:
        linear-gradient(rgba(0,0,0,.22), rgba(0,0,0,.22)),
        url('../img/donate.jpg');
    }

    body.page-index .card-img-events {
      background-image:
        linear-gradient(rgba(0,0,0,.22), rgba(0,0,0,.22)),
        url('../img/attend-events.jpg');
    }

    body.page-index .floating-icon {
      width: 72px;
      height: 72px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      color: #fff;
      background: var(--u4-green);
      border: 5px solid #fff;
      font-size: 2rem;
      margin: -36px auto 1rem;
      position: relative;
      z-index: 2;
    }

    body.page-index .floating-icon.orange {
      background: var(--u4-orange);
    }

    body.page-index .card-u4 .card-body {
      padding: 0 1.5rem 1.6rem;
      text-align: center;
      display: flex;
      flex-direction: column;
      min-height: 250px;
    }

    body.page-index .card-u4 .card-body p {
      flex-grow: 1;
    }

    body.page-index .card-u4 .card-body .btn {
      align-self: center;
      margin-top: auto;
    }

    body.page-index .card-u4 h3 {
      font-size: 1.28rem;
    }

    body.page-index .events-strip {
      background: var(--u4-sand);
      border-top: 1px solid var(--u4-border);
      border-bottom: 1px solid var(--u4-border);
      padding: 2rem 0;
    }

    body.page-index .event-mini {
      display: flex;
      gap: 1rem;
      align-items: flex-start;
      padding: .75rem 1rem;
      border-left: 1px solid var(--u4-border);
      height: 100%;
    }

    body.page-index .event-mini i {
      color: var(--u4-green);
      font-size: 1.7rem;
      margin-top: .15rem;
    }

    body.page-index .event-mini h3 {
      font-size: 1rem;
      margin-bottom: .2rem;
    }

    body.page-index .event-mini p {
      margin: 0;
      font-size: .92rem;
    }

    body.page-index .feature-grid {
      background: var(--u4-dark);
    }

    body.page-index .compass-preview {
      background: var(--u4-sand);
    }

    body.page-index .compass-preview-cover {
      display: inline-block;
      width: min(100%, 330px);
      height: auto;
      border: 8px solid #fff;
      box-shadow: var(--u4-shadow);
      transition: transform .2s ease, box-shadow .2s ease;
    }

    body.page-index a:hover .compass-preview-cover,
    body.page-index a:focus .compass-preview-cover {
      transform: translateY(-4px);
      box-shadow: 0 24px 55px rgba(0, 0, 0, .22);
    }

    body.page-index .compass-preview-lead {
      font-size: 1.12rem;
      max-width: 780px;
    }

    body.page-index .feature-grid .row > [class*="col-"] {
      display: flex;
    }

    body.page-index .feature-panel {
      min-height: 360px;
      width: 100%;
      flex: 1 1 auto;
      position: relative;
      padding: 2rem;
      color: #fff;
      overflow: hidden;
      display: flex;
      align-items: flex-end;
      border-right: 2px solid rgba(255,255,255,.25);
      background:
        linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.82)),
        linear-gradient(135deg, #34402b, #80502e);
      background-position: center center;
      background-size: cover;
      background-repeat: no-repeat;
    }

    body.page-index .feature-stewardship {
      background-image:
        linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.82)),
        url('../img/stewardship.jpg');
    }

    body.page-index .feature-advocacy {
      background-image:
        linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.82)),
        url('../img/advocacy.jpg');
    }

    body.page-index .feature-clubs {
      background-image:
        linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.82)),
        url('../img/clubs.jpg');
    }

    body.page-index .feature-panel > div {
      position: relative;
      z-index: 2;
    }

    body.page-index .feature-panel h2 {
      font-size: 2rem;
      line-height: 1;
    }

    body.page-index .feature-panel p,
body.page-index .feature-panel li {
      color: rgba(255,255,255,.88);
    }

    body.page-index .feature-panel ul {
      padding-left: 1.1rem;
      margin-bottom: 1.2rem;
    }

    body.page-index .resources-preview {
      background: #fff;
      padding: 2.5rem 0;
    }

    body.page-index .resource-item {
      text-align: center;
      padding: 1.2rem .75rem;
      height: 100%;
      border-left: 1px solid var(--u4-border);
    }

    body.page-index .resource-item:first-child {
      border-left: 0;
    }

    body.page-index .resource-item i {
      color: var(--u4-green);
      font-size: 2rem;
      display: block;
      margin-bottom: .75rem;
    }

    body.page-index .resource-item span {
      display: block;
      font-size: .95rem;
      line-height: 1.25;
      color: var(--u4-charcoal);
    }

    body.page-index .final-cta {
      background:
        linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,0,0,.74)),
        linear-gradient(135deg, #12140f, #303a29);
      color: #fff;
      padding: 3rem 0;
    }

    body.page-index .final-cta p {
      color: rgba(255,255,255,.82);
      margin-bottom: 0;
    }

    body.page-index .footer {
      background: #050604;
      color: rgba(255,255,255,.7);
      padding: 1.5rem 0;
      font-size: .9rem;
    }

    body.page-index .final-cta-icon {
      width: 120px;
      max-width: 100%;
      height: auto;
      display: block;
    }

    @media (max-width: 991.98px) {
      body.page-index .final-cta-icon {
        width: 90px;
        margin-bottom: 1rem;
      }

      body.page-index .navbar-collapse {
        padding: 1rem 0;
      }

      body.page-index .hero {
        min-height: 570px;
      }

      body.page-index .mission-item,
body.page-index .resource-item,
body.page-index .event-mini,
body.page-index .feature-panel {
        border-right: 0;
        border-left: 0;
      }

      body.page-index .mission-item {
        border-bottom: 1px solid var(--u4-border);
      }

      body.page-index .event-mini {
        border-top: 1px solid var(--u4-border);
      }

      body.page-index .resource-item {
        border-top: 1px solid var(--u4-border);
      }
    }

    @media (max-width: 575.98px) {
      body.page-index .hero h1 {
        font-size: 3.3rem;
      }

      body.page-index .hero .btn {
        width: 100%;
      }

      body.page-index .hero-tags span:not(:last-child)::after {
        content: "";
        margin: 0;
      }

      body.page-index .section-padding {
        padding: 3.75rem 0;
      }
    }

/* about.php */
body.page-about {
      --u4-dark: #11130f;
      --u4-charcoal: #20231d;
      --u4-green: #5f7f2b;
      --u4-green-dark: #41591d;
      --u4-orange: #d9651f;
      --u4-orange-dark: #a84916;
      --u4-sand: #f3eadb;
      --u4-cream: #fbf7ee;
      --u4-muted: #6f7568;
      --u4-border: rgba(32, 35, 29, .15);
      --u4-shadow: 0 18px 50px rgba(0, 0, 0, .15);
      --u4-radius: 18px;
    }

    html {
      scroll-behavior: smooth;
    }

    body.page-about {
      margin: 0;
      color: var(--u4-charcoal);
      background: var(--u4-cream);
      font-family: "Inter", Arial, Helvetica, sans-serif;
      line-height: 1.55;
    }

    body.page-about h1,
body.page-about h2,
body.page-about h3,
body.page-about h4,
body.page-about h5,
body.page-about h6,
body.page-about .navbar-brand,
body.page-about .btn,
body.page-about .section-kicker,
body.page-about .nav-link {
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-weight: 400;
      letter-spacing: .03em;
      text-transform: uppercase;
    }

    body.page-about .btn,
body.page-about .nav-link,
body.page-about .section-kicker {
      font-weight: 600;
    }

    body.page-about p {
      color: #40443a;
    }

    body.page-about a {
      color: var(--u4-green-dark);
    }

    body.page-about .btn {
      border-radius: 0;
      padding: .85rem 1.4rem;
      font-size: .95rem;
      border-width: 2px;
    }

    body.page-about .btn-u4-green {
      background: var(--u4-green);
      border-color: var(--u4-green);
      color: #fff;
    }

    body.page-about .btn-u4-green:hover,
body.page-about .btn-u4-green:focus {
      background: var(--u4-green-dark);
      border-color: var(--u4-green-dark);
      color: #fff;
    }

    body.page-about .btn-u4-orange {
      background: var(--u4-orange);
      border-color: var(--u4-orange);
      color: #fff;
    }

    body.page-about .btn-u4-orange:hover,
body.page-about .btn-u4-orange:focus {
      background: var(--u4-orange-dark);
      border-color: var(--u4-orange-dark);
      color: #fff;
    }

    body.page-about .btn-u4-outline-light {
      border-color: rgba(255,255,255,.8);
      color: #fff;
      background: transparent;
    }

    body.page-about .btn-u4-outline-light:hover,
body.page-about .btn-u4-outline-light:focus {
      background: #fff;
      color: var(--u4-dark);
    }

    body.page-about .btn-u4-outline-dark {
      border-color: var(--u4-charcoal);
      color: var(--u4-charcoal);
      background: transparent;
    }

    body.page-about .btn-u4-outline-dark:hover,
body.page-about .btn-u4-outline-dark:focus {
      background: var(--u4-charcoal);
      color: #fff;
    }

    body.page-about .site-header {
      position: sticky;
      top: 0;
      z-index: 1000;
      background: #050604;
      border-bottom: 1px solid rgba(255,255,255,.08);
    }

    body.page-about .navbar {
      padding: .7rem 0;
    }

    body.page-about .navbar-brand {
      color: #fff;
      display: flex;
      align-items: center;
      gap: .7rem;
      font-size: 1.45rem;
      line-height: 1;
    }

    body.page-about .site-logo {
      height: 80px;
      width: auto;
      display: block;
    }

    body.page-about .brand-text small {
      display: block;
      font-family: Arial, Helvetica, sans-serif;
      letter-spacing: .08em;
      font-size: .62rem;
      color: rgba(255,255,255,.68);
      margin-top: .22rem;
    }

    body.page-about .navbar-toggler {
      border-color: rgba(255,255,255,.4);
    }

    body.page-about .navbar-toggler-icon {
      filter: invert(1);
    }

    body.page-about .navbar-nav .nav-link {
      color: rgba(255,255,255,.86);
      font-size: .9rem;
      font-weight: 700;
      padding-left: .85rem;
      padding-right: .85rem;
    }

    body.page-about .navbar-nav .nav-link:hover,
body.page-about .navbar-nav .nav-link.active {
      color: #9abd4c;
    }

    body.page-about .interior-hero {
      min-height: 260px;
      color: #fff;
      position: relative;
      display: flex;
      align-items: center;
      overflow: hidden;
      background:
        linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.62) 36%, rgba(0,0,0,.26) 68%, rgba(0,0,0,.12) 100%),
        url('../img/hero-image.jpg') center center / cover no-repeat,
        linear-gradient(135deg, #2e3328 0%, #7b4b2b 48%, #c27b44 100%);
    }

    body.page-about .interior-hero::after {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        radial-gradient(circle at 76% 40%, rgba(255,255,255,.08), transparent 0 4px, transparent 5px),
        linear-gradient(transparent 92%, rgba(255,255,255,.025) 93%);
      background-size: 90px 90px, 100% 18px;
      opacity: .10;
      pointer-events: none;
    }

    body.page-about .interior-hero-content {
      position: relative;
      z-index: 2;
      max-width: 820px;
      padding-top: 2.5rem;
      padding-bottom: 2.5rem;
    }

    body.page-about .eyebrow {
      color: #9abd4c;
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-weight: 600;
      letter-spacing: .12em;
      text-transform: uppercase;
      margin-bottom: .75rem;
    }

    body.page-about .interior-hero h1 {
      font-size: clamp(2.35rem, 4.6vw, 4rem);
      line-height: 1;
      font-weight: 400;
      letter-spacing: .025em;
      margin-bottom: .75rem;
      text-shadow: 0 8px 28px rgba(0,0,0,.55);
    }

    body.page-about .interior-hero .lead {
      color: rgba(255,255,255,.92);
      max-width: 740px;
      font-size: 1.05rem;
      margin-bottom: 0;
    }

    body.page-about .section-padding {
      padding: 5rem 0;
    }

    body.page-about .section-kicker {
      color: var(--u4-green-dark);
      font-size: .9rem;
      margin-bottom: .35rem;
    }

    body.page-about .section-title {
      font-size: clamp(2rem, 4vw, 3.2rem);
      line-height: 1.05;
      font-weight: 400;
      letter-spacing: .025em;
      margin-bottom: 1rem;
    }

    body.page-about .intro-section {
      background: #fff;
      position: relative;
      overflow: hidden;
    }

    body.page-about .intro-section::before {
      content: "";
      position: absolute;
      left: -95px;
      bottom: -40px;
      width: 230px;
      height: 230px;
      opacity: .06;
      pointer-events: none;
      transform: rotate(14deg);
      background: repeating-linear-gradient(45deg, var(--u4-charcoal), var(--u4-charcoal) 8px, transparent 8px, transparent 18px);
    }

    body.page-about .about-card {
      background: var(--u4-cream);
      border: 1px solid var(--u4-border);
      border-radius: 16px;
      padding: 2rem;
      height: 100%;
      box-shadow: 0 14px 38px rgba(0,0,0,.06);
    }

    body.page-about .about-card h3 {
      font-size: 1.35rem;
      margin-bottom: .75rem;
    }

    body.page-about .about-card p:last-child {
      margin-bottom: 0;
    }

    body.page-about .icon-badge {
      width: 58px;
      height: 58px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--u4-green);
      color: #fff;
      font-size: 1.8rem;
      margin-bottom: 1rem;
    }

    body.page-about .stats-band {
      background: var(--u4-sand);
      border-top: 1px solid var(--u4-border);
      border-bottom: 1px solid var(--u4-border);
      padding: 2.5rem 0;
    }

    body.page-about .stat-item {
      text-align: center;
      padding: 1rem;
      height: 100%;
      border-right: 1px solid var(--u4-border);
    }

    body.page-about .stat-item:last-child {
      border-right: 0;
    }

    body.page-about .stat-number {
      display: block;
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-size: clamp(2.4rem, 5vw, 4rem);
      line-height: 1;
      color: var(--u4-green-dark);
      text-transform: uppercase;
      letter-spacing: .02em;
      margin-bottom: .5rem;
    }

    body.page-about .stat-label {
      display: block;
      font-weight: 700;
      color: var(--u4-charcoal);
    }

    body.page-about .timeline-section {
      background: #fff;
    }

    body.page-about .timeline {
      position: relative;
      padding-left: 2rem;
      border-left: 4px solid var(--u4-green);
    }

    body.page-about .timeline-item {
      position: relative;
      margin-bottom: 2rem;
      padding-left: 1rem;
    }

    body.page-about .timeline-item:last-child {
      margin-bottom: 0;
    }

    body.page-about .timeline-item::before {
      content: "";
      position: absolute;
      left: -2.65rem;
      top: .35rem;
      width: 18px;
      height: 18px;
      border-radius: 50%;
      background: var(--u4-orange);
      border: 4px solid #fff;
      box-shadow: 0 0 0 2px var(--u4-orange);
    }

    body.page-about .timeline-year {
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      color: var(--u4-green-dark);
      font-size: 1.35rem;
      text-transform: uppercase;
      letter-spacing: .04em;
      margin-bottom: .25rem;
    }

    body.page-about .image-callout {
      min-height: 520px;
      color: #fff;
      position: relative;
      display: flex;
      align-items: flex-end;
      overflow: hidden;
      background:
        linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.86)),
        url('../img/stewardship.jpg') center center / cover no-repeat,
        linear-gradient(135deg, #34402b, #80502e);
    }

    body.page-about .image-callout-content {
      position: relative;
      z-index: 2;
      padding: 2rem;
    }

    body.page-about .image-callout h2 {
      font-size: clamp(2.1rem, 4vw, 3.4rem);
      line-height: 1;
      margin-bottom: 1rem;
    }

    body.page-about .image-callout p {
      color: rgba(255,255,255,.9);
    }

    body.page-about .check-list {
      list-style: none;
      padding: 0;
      margin: 1.5rem 0 0;
    }

    body.page-about .check-list li {
      display: flex;
      gap: .75rem;
      margin-bottom: .9rem;
      font-weight: 700;
      color: #30352d;
    }

    body.page-about .check-list i {
      color: var(--u4-green);
      flex: 0 0 auto;
    }

    body.page-about .values-section {
      background: var(--u4-cream);
    }

    body.page-about .value-card {
      background: #fff;
      border: 1px solid var(--u4-border);
      border-radius: 16px;
      padding: 2rem;
      height: 100%;
      box-shadow: 0 14px 38px rgba(0,0,0,.05);
    }

    body.page-about .nonprofit-band {
      background: var(--u4-charcoal);
      color: #fff;
      padding: 4rem 0;
    }

    body.page-about .nonprofit-band p {
      color: rgba(255,255,255,.82);
    }

    body.page-about .nonprofit-box {
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 16px;
      padding: 2rem;
    }

    body.page-about .nonprofit-box strong {
      color: #fff;
    }

    body.page-about .final-cta {
      background:
        linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,0,0,.74)),
        linear-gradient(135deg, #12140f, #303a29);
      color: #fff;
      padding: 3rem 0;
    }

    body.page-about .final-cta p {
      color: rgba(255,255,255,.82);
      margin-bottom: 0;
    }

    body.page-about .footer {
      background: #050604;
      color: rgba(255,255,255,.7);
      padding: 1.5rem 0;
      font-size: .9rem;
    }

    body.page-about .final-cta-icon {
      width: 120px;
      max-width: 100%;
      height: auto;
      display: block;
    }

    @media (max-width: 991.98px) {
      body.page-about .final-cta-icon {
        width: 90px;
        margin-bottom: 1rem;
      }

      body.page-about .navbar-collapse {
        padding: 1rem 0;
      }

      body.page-about .interior-hero {
        min-height: 240px;
      }

      body.page-about .stat-item {
        border-right: 0;
        border-bottom: 1px solid var(--u4-border);
      }

      body.page-about .stat-item:last-child {
        border-bottom: 0;
      }

      body.page-about .image-callout {
        min-height: 420px;
      }
    }

    @media (max-width: 575.98px) {
      body.page-about .interior-hero {
        min-height: 230px;
      }

      body.page-about .interior-hero-content {
        padding-top: 2rem;
        padding-bottom: 2rem;
      }

      body.page-about .interior-hero h1 {
        font-size: 2.35rem;
      }

      body.page-about .interior-hero .lead {
        font-size: 1rem;
      }

      body.page-about .section-padding {
        padding: 3.75rem 0;
      }

      body.page-about .final-cta .btn,
body.page-about .interior-hero .btn {
        width: 100%;
      }
    }

/* join.php */
body.page-join {
      --u4-dark: #11130f;
      --u4-charcoal: #20231d;
      --u4-green: #5f7f2b;
      --u4-green-dark: #41591d;
      --u4-orange: #d9651f;
      --u4-orange-dark: #a84916;
      --u4-sand: #f3eadb;
      --u4-cream: #fbf7ee;
      --u4-muted: #6f7568;
      --u4-border: rgba(32, 35, 29, .15);
      --u4-shadow: 0 18px 50px rgba(0, 0, 0, .15);
      --u4-radius: 18px;
    }

    html {
      scroll-behavior: smooth;
    }

    body.page-join {
      margin: 0;
      color: var(--u4-charcoal);
      background: var(--u4-cream);
      font-family: "Inter", Arial, Helvetica, sans-serif;
      line-height: 1.55;
    }

    body.page-join h1,
body.page-join h2,
body.page-join h3,
body.page-join h4,
body.page-join h5,
body.page-join h6,
body.page-join .navbar-brand,
body.page-join .btn,
body.page-join .section-kicker,
body.page-join .nav-link {
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-weight: 400;
      letter-spacing: .03em;
      text-transform: uppercase;
    }

    body.page-join .btn,
body.page-join .nav-link,
body.page-join .section-kicker {
      font-weight: 600;
    }

    body.page-join p {
      color: #40443a;
    }

    body.page-join a {
      color: var(--u4-green-dark);
    }

    body.page-join .btn {
      border-radius: 0;
      padding: .85rem 1.4rem;
      font-size: .95rem;
      border-width: 2px;
    }

    body.page-join .btn-u4-green {
      background: var(--u4-green);
      border-color: var(--u4-green);
      color: #fff;
    }

    body.page-join .btn-u4-green:hover,
body.page-join .btn-u4-green:focus {
      background: var(--u4-green-dark);
      border-color: var(--u4-green-dark);
      color: #fff;
    }

    body.page-join .btn-u4-orange {
      background: var(--u4-orange);
      border-color: var(--u4-orange);
      color: #fff;
    }

    body.page-join .btn-u4-orange:hover,
body.page-join .btn-u4-orange:focus {
      background: var(--u4-orange-dark);
      border-color: var(--u4-orange-dark);
      color: #fff;
    }

    body.page-join .btn-u4-outline-light {
      border-color: rgba(255,255,255,.8);
      color: #fff;
      background: transparent;
    }

    body.page-join .btn-u4-outline-light:hover,
body.page-join .btn-u4-outline-light:focus {
      background: #fff;
      color: var(--u4-dark);
    }

    body.page-join .btn-u4-outline-dark {
      border-color: var(--u4-charcoal);
      color: var(--u4-charcoal);
      background: transparent;
    }

    body.page-join .btn-u4-outline-dark:hover,
body.page-join .btn-u4-outline-dark:focus {
      background: var(--u4-charcoal);
      color: #fff;
    }

    body.page-join .site-header {
      position: sticky;
      top: 0;
      z-index: 1000;
      background: #050604;
      border-bottom: 1px solid rgba(255,255,255,.08);
    }

    body.page-join .navbar {
      padding: .7rem 0;
    }

    body.page-join .navbar-brand {
      color: #fff;
      display: flex;
      align-items: center;
      gap: .7rem;
      font-size: 1.45rem;
      line-height: 1;
    }

    body.page-join .site-logo {
      height: 80px;
      width: auto;
      display: block;
    }

    body.page-join .brand-text small {
      display: block;
      font-family: Arial, Helvetica, sans-serif;
      letter-spacing: .08em;
      font-size: .62rem;
      color: rgba(255,255,255,.68);
      margin-top: .22rem;
    }

    body.page-join .navbar-toggler {
      border-color: rgba(255,255,255,.4);
    }

    body.page-join .navbar-toggler-icon {
      filter: invert(1);
    }

    body.page-join .navbar-nav .nav-link {
      color: rgba(255,255,255,.86);
      font-size: .9rem;
      font-weight: 700;
      padding-left: .85rem;
      padding-right: .85rem;
    }

    body.page-join .navbar-nav .nav-link:hover,
body.page-join .navbar-nav .nav-link.active {
      color: #9abd4c;
    }

    body.page-join .interior-hero {
      min-height: 260px;
      color: #fff;
      position: relative;
      display: flex;
      align-items: center;
      overflow: hidden;
      background:
        linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.62) 36%, rgba(0,0,0,.26) 68%, rgba(0,0,0,.12) 100%),
        url('../img/become-a-member.jpg') center center / cover no-repeat,
        linear-gradient(135deg, #2e3328 0%, #7b4b2b 48%, #c27b44 100%);
    }

    body.page-join .interior-hero::after {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        radial-gradient(circle at 76% 40%, rgba(255,255,255,.08), transparent 0 4px, transparent 5px),
        linear-gradient(transparent 92%, rgba(255,255,255,.025) 93%);
      background-size: 90px 90px, 100% 18px;
      opacity: .10;
      pointer-events: none;
    }

    body.page-join .interior-hero-content {
      position: relative;
      z-index: 2;
      max-width: 820px;
      padding-top: 2.5rem;
      padding-bottom: 2.5rem;
    }

    body.page-join .eyebrow {
      color: #9abd4c;
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-weight: 600;
      letter-spacing: .12em;
      text-transform: uppercase;
      margin-bottom: .75rem;
    }

    body.page-join .interior-hero h1 {
      font-size: clamp(2.35rem, 4.6vw, 4rem);
      line-height: 1;
      font-weight: 400;
      letter-spacing: .025em;
      margin-bottom: .75rem;
      text-shadow: 0 8px 28px rgba(0,0,0,.55);
    }

    body.page-join .interior-hero .lead {
      color: rgba(255,255,255,.92);
      max-width: 740px;
      font-size: 1.05rem;
      margin-bottom: 0;
    }

    body.page-join .section-padding {
      padding: 5rem 0;
    }

    body.page-join .section-kicker {
      color: var(--u4-green-dark);
      font-size: .9rem;
      margin-bottom: .35rem;
    }

    body.page-join .section-title {
      font-size: clamp(2rem, 4vw, 3.2rem);
      line-height: 1.05;
      font-weight: 400;
      letter-spacing: .025em;
      margin-bottom: 1rem;
    }

    body.page-join .intro-section {
      background: #fff;
      position: relative;
      overflow: hidden;
    }

    body.page-join .intro-section::before {
      content: "";
      position: absolute;
      left: -95px;
      bottom: -40px;
      width: 230px;
      height: 230px;
      opacity: .06;
      pointer-events: none;
      transform: rotate(14deg);
      background: repeating-linear-gradient(45deg, var(--u4-charcoal), var(--u4-charcoal) 8px, transparent 8px, transparent 18px);
    }

    body.page-join .intro-card,
body.page-join .membership-card,
body.page-join .support-card,
body.page-join .step-card {
      background: var(--u4-cream);
      border: 1px solid var(--u4-border);
      border-radius: 16px;
      padding: 2rem;
      height: 100%;
      box-shadow: 0 14px 38px rgba(0,0,0,.06);
    }

    body.page-join .icon-badge {
      width: 58px;
      height: 58px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--u4-green);
      color: #fff;
      font-size: 1.8rem;
      margin-bottom: 1rem;
    }

    body.page-join .icon-badge.orange {
      background: var(--u4-orange);
    }

    body.page-join .quick-band {
      background: var(--u4-sand);
      border-top: 1px solid var(--u4-border);
      border-bottom: 1px solid var(--u4-border);
      padding: 2rem 0;
    }

    body.page-join .quick-pill {
      display: inline-flex;
      align-items: center;
      gap: .4rem;
      padding: .5rem .8rem;
      background: #fff;
      border: 1px solid var(--u4-border);
      color: var(--u4-charcoal);
      text-decoration: none;
      font-weight: 700;
      font-size: .88rem;
      margin: .25rem;
    }

    body.page-join .quick-pill:hover {
      background: var(--u4-charcoal);
      color: #fff;
    }

    body.page-join .membership-section {
      background: #fff;
    }

    body.page-join .membership-card {
      background: #fff;
      display: flex;
      flex-direction: column;
    }

    body.page-join .membership-card h3 {
      font-size: 1.45rem;
      margin-bottom: .75rem;
    }

    body.page-join .price-note {
      display: inline-block;
      background: var(--u4-sand);
      border: 1px solid var(--u4-border);
      padding: .45rem .7rem;
      font-weight: 800;
      margin-bottom: 1rem;
    }

    body.page-join .membership-card p {
      flex-grow: 1;
    }

    body.page-join .membership-card .btn {
      align-self: flex-start;
      margin-top: auto;
    }

    body.page-join .check-list {
      list-style: none;
      padding: 0;
      margin: 1.25rem 0 0;
    }

    body.page-join .check-list li {
      display: flex;
      gap: .75rem;
      margin-bottom: .9rem;
      font-weight: 700;
      color: #30352d;
    }

    body.page-join .check-list i {
      color: var(--u4-green);
      flex: 0 0 auto;
    }

    body.page-join .donate-band {
      background: var(--u4-charcoal);
      color: #fff;
      padding: 5rem 0;
    }

    body.page-join .donate-band p {
      color: rgba(255,255,255,.82);
    }

    body.page-join .donate-box {
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 16px;
      padding: 2rem;
      height: 100%;
    }

    body.page-join .donate-box h3 {
      color: #fff;
      font-size: 1.35rem;
      margin-bottom: .75rem;
    }

    body.page-join .donate-amounts {
      display: flex;
      flex-wrap: wrap;
      gap: .65rem;
      margin-top: 1rem;
    }

    body.page-join .donate-amount {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 72px;
      background: rgba(255,255,255,.08);
      border: 1px solid rgba(255,255,255,.18);
      color: #fff;
      padding: .55rem .85rem;
      font-weight: 800;
      text-decoration: none;
    }

    body.page-join .donate-amount:hover {
      background: #fff;
      color: var(--u4-charcoal);
    }

    body.page-join .support-section {
      background: var(--u4-cream);
    }

    body.page-join .support-card {
      background: #fff;
    }

    body.page-join .support-card h3 {
      font-size: 1.35rem;
      margin-bottom: .75rem;
    }

    body.page-join .sponsors-showcase {
      margin-top: 4rem;
      padding-top: 3rem;
      border-top: 1px solid var(--u4-border);
    }

    body.page-join .sponsors-title {
      font-size: clamp(1.8rem, 3vw, 2.5rem);
      margin-bottom: 0;
    }

    body.page-join .sponsor-logo-card {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 150px;
      height: 100%;
      padding: 2rem;
      background: #fff;
      border: 1px solid var(--u4-border);
      border-radius: 16px;
      box-shadow: 0 14px 38px rgba(0,0,0,.06);
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }

    body.page-join .sponsor-logo-card:hover,
    body.page-join .sponsor-logo-card:focus {
      transform: translateY(-4px);
      border-color: rgba(95, 127, 43, .55);
      box-shadow: 0 20px 45px rgba(0,0,0,.12);
    }

    body.page-join .sponsor-logo {
      display: block;
      max-width: 100%;
      max-height: 76px;
      width: auto;
      height: auto;
    }

    body.page-join .sponsor-logo-bfg {
      width: min(100%, 300px);
    }

    body.page-join .sponsor-logo-warn {
      max-height: 92px;
    }

    body.page-join .sponsor-logo-teraflex {
      width: min(100%, 279px);
    }

    body.page-join .step-section {
      background: #fff;
    }

    body.page-join .step-card {
      background: var(--u4-cream);
    }

    body.page-join .step-number {
      width: 44px;
      height: 44px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--u4-orange);
      color: #fff;
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-size: 1.25rem;
      margin-bottom: 1rem;
    }

    body.page-join .form-panel {
      background: var(--u4-sand);
      border-top: 1px solid var(--u4-border);
      border-bottom: 1px solid var(--u4-border);
      padding: 5rem 0;
    }

    body.page-join .form-box {
      background: #fff;
      border: 1px solid var(--u4-border);
      border-radius: 16px;
      padding: 2rem;
      box-shadow: 0 14px 38px rgba(0,0,0,.06);
    }

    body.page-join .form-control,
body.page-join .form-select {
      border-radius: 0;
      border: 1px solid var(--u4-border);
      padding: .8rem .9rem;
    }

    body.page-join .form-label {
      font-weight: 700;
      color: var(--u4-charcoal);
      margin-bottom: .35rem;
    }

    body.page-join .final-cta {
      background:
        linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,0,0,.74)),
        linear-gradient(135deg, #12140f, #303a29);
      color: #fff;
      padding: 3rem 0;
    }

    body.page-join .final-cta p {
      color: rgba(255,255,255,.82);
      margin-bottom: 0;
    }

    body.page-join .footer {
      background: #050604;
      color: rgba(255,255,255,.7);
      padding: 1.5rem 0;
      font-size: .9rem;
    }

    body.page-join .final-cta-icon {
      width: 120px;
      max-width: 100%;
      height: auto;
      display: block;
    }

    @media (max-width: 991.98px) {
      body.page-join .final-cta-icon {
        width: 90px;
        margin-bottom: 1rem;
      }

      body.page-join .navbar-collapse {
        padding: 1rem 0;
      }

      body.page-join .interior-hero {
        min-height: 240px;
      }
    }

    @media (max-width: 575.98px) {
      body.page-join .interior-hero {
        min-height: 230px;
      }

      body.page-join .interior-hero-content {
        padding-top: 2rem;
        padding-bottom: 2rem;
      }

      body.page-join .interior-hero h1 {
        font-size: 2.35rem;
      }

      body.page-join .interior-hero .lead {
        font-size: 1rem;
      }

      body.page-join .section-padding {
        padding: 3.75rem 0;
      }

      body.page-join .final-cta .btn,
body.page-join .interior-hero .btn {
        width: 100%;
      }
    }

/* events.php */
body.page-events {
      --u4-dark: #11130f;
      --u4-charcoal: #20231d;
      --u4-green: #5f7f2b;
      --u4-green-dark: #41591d;
      --u4-orange: #d9651f;
      --u4-orange-dark: #a84916;
      --u4-sand: #f3eadb;
      --u4-cream: #fbf7ee;
      --u4-muted: #6f7568;
      --u4-border: rgba(32, 35, 29, .15);
      --u4-shadow: 0 18px 50px rgba(0, 0, 0, .15);
      --u4-radius: 18px;
    }

    html {
      scroll-behavior: smooth;
    }

    body.page-events {
      margin: 0;
      color: var(--u4-charcoal);
      background: var(--u4-cream);
      font-family: "Inter", Arial, Helvetica, sans-serif;
      line-height: 1.55;
    }

    body.page-events h1,
body.page-events h2,
body.page-events h3,
body.page-events h4,
body.page-events h5,
body.page-events h6,
body.page-events .navbar-brand,
body.page-events .btn,
body.page-events .section-kicker,
body.page-events .nav-link {
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-weight: 400;
      letter-spacing: .03em;
      text-transform: uppercase;
    }

    body.page-events .btn,
body.page-events .nav-link,
body.page-events .section-kicker {
      font-weight: 600;
    }

    body.page-events p {
      color: #40443a;
    }

    body.page-events a {
      color: var(--u4-green-dark);
    }

    body.page-events .btn {
      border-radius: 0;
      padding: .85rem 1.4rem;
      font-size: .95rem;
      border-width: 2px;
    }

    body.page-events .btn-u4-green {
      background: var(--u4-green);
      border-color: var(--u4-green);
      color: #fff;
    }

    body.page-events .btn-u4-green:hover,
body.page-events .btn-u4-green:focus {
      background: var(--u4-green-dark);
      border-color: var(--u4-green-dark);
      color: #fff;
    }

    body.page-events .btn-u4-orange {
      background: var(--u4-orange);
      border-color: var(--u4-orange);
      color: #fff;
    }

    body.page-events .btn-u4-orange:hover,
body.page-events .btn-u4-orange:focus {
      background: var(--u4-orange-dark);
      border-color: var(--u4-orange-dark);
      color: #fff;
    }

    body.page-events .btn-u4-outline-light {
      border-color: rgba(255,255,255,.8);
      color: #fff;
      background: transparent;
    }

    body.page-events .btn-u4-outline-light:hover,
body.page-events .btn-u4-outline-light:focus {
      background: #fff;
      color: var(--u4-dark);
    }

    body.page-events .btn-u4-outline-dark {
      border-color: var(--u4-charcoal);
      color: var(--u4-charcoal);
      background: transparent;
    }

    body.page-events .btn-u4-outline-dark:hover,
body.page-events .btn-u4-outline-dark:focus {
      background: var(--u4-charcoal);
      color: #fff;
    }

    body.page-events .site-header {
      position: sticky;
      top: 0;
      z-index: 1000;
      background: #050604;
      border-bottom: 1px solid rgba(255,255,255,.08);
    }

    body.page-events .navbar {
      padding: .7rem 0;
    }

    body.page-events .navbar-brand {
      color: #fff;
      display: flex;
      align-items: center;
      gap: .7rem;
      font-size: 1.45rem;
      line-height: 1;
    }

    body.page-events .site-logo {
      height: 80px;
      width: auto;
      display: block;
    }

    body.page-events .brand-text small {
      display: block;
      font-family: Arial, Helvetica, sans-serif;
      letter-spacing: .08em;
      font-size: .62rem;
      color: rgba(255,255,255,.68);
      margin-top: .22rem;
    }

    body.page-events .navbar-toggler {
      border-color: rgba(255,255,255,.4);
    }

    body.page-events .navbar-toggler-icon {
      filter: invert(1);
    }

    body.page-events .navbar-nav .nav-link {
      color: rgba(255,255,255,.86);
      font-size: .9rem;
      font-weight: 700;
      padding-left: .85rem;
      padding-right: .85rem;
    }

    body.page-events .navbar-nav .nav-link:hover,
body.page-events .navbar-nav .nav-link.active {
      color: #9abd4c;
    }

    body.page-events .interior-hero {
      min-height: 260px;
      color: #fff;
      position: relative;
      display: flex;
      align-items: center;
      overflow: hidden;
      background:
        linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.62) 36%, rgba(0,0,0,.26) 68%, rgba(0,0,0,.12) 100%),
        url('../img/attend-events.jpg') center center / cover no-repeat,
        linear-gradient(135deg, #2e3328 0%, #7b4b2b 48%, #c27b44 100%);
    }

    body.page-events .interior-hero::after {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        radial-gradient(circle at 76% 40%, rgba(255,255,255,.08), transparent 0 4px, transparent 5px),
        linear-gradient(transparent 92%, rgba(255,255,255,.025) 93%);
      background-size: 90px 90px, 100% 18px;
      opacity: .10;
      pointer-events: none;
    }

    body.page-events .interior-hero-content {
      position: relative;
      z-index: 2;
      max-width: 820px;
      padding-top: 2.5rem;
      padding-bottom: 2.5rem;
    }

    body.page-events .eyebrow {
      color: #9abd4c;
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-weight: 600;
      letter-spacing: .12em;
      text-transform: uppercase;
      margin-bottom: .75rem;
    }

    body.page-events .interior-hero h1 {
      font-size: clamp(2.35rem, 4.6vw, 4rem);
      line-height: 1;
      font-weight: 400;
      letter-spacing: .025em;
      margin-bottom: .75rem;
      text-shadow: 0 8px 28px rgba(0,0,0,.55);
    }

    body.page-events .interior-hero .lead {
      color: rgba(255,255,255,.92);
      max-width: 740px;
      font-size: 1.05rem;
      margin-bottom: 0;
    }

    body.page-events .section-padding {
      padding: 5rem 0;
    }

    body.page-events .section-kicker {
      color: var(--u4-green-dark);
      font-size: .9rem;
      margin-bottom: .35rem;
    }

    body.page-events .section-title {
      font-size: clamp(2rem, 4vw, 3.2rem);
      line-height: 1.05;
      font-weight: 400;
      letter-spacing: .025em;
      margin-bottom: 1rem;
    }

    body.page-events .intro-section {
      background: #fff;
      position: relative;
      overflow: hidden;
    }

    body.page-events .intro-section::before {
      content: "";
      position: absolute;
      left: -95px;
      bottom: -40px;
      width: 230px;
      height: 230px;
      opacity: .06;
      pointer-events: none;
      transform: rotate(14deg);
      background: repeating-linear-gradient(45deg, var(--u4-charcoal), var(--u4-charcoal) 8px, transparent 8px, transparent 18px);
    }

    body.page-events .intro-card,
body.page-events .event-card,
body.page-events .type-card,
body.page-events .submit-card {
      background: var(--u4-cream);
      border: 1px solid var(--u4-border);
      border-radius: 16px;
      padding: 2rem;
      height: 100%;
      box-shadow: 0 14px 38px rgba(0,0,0,.06);
    }

    body.page-events .icon-badge {
      width: 58px;
      height: 58px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--u4-green);
      color: #fff;
      font-size: 1.8rem;
      margin-bottom: 1rem;
    }

    body.page-events .icon-badge.orange {
      background: var(--u4-orange);
    }

    body.page-events .quick-band {
      background: var(--u4-sand);
      border-top: 1px solid var(--u4-border);
      border-bottom: 1px solid var(--u4-border);
      padding: 2rem 0;
    }

    body.page-events .quick-pill {
      display: inline-flex;
      align-items: center;
      gap: .4rem;
      padding: .5rem .8rem;
      background: #fff;
      border: 1px solid var(--u4-border);
      color: var(--u4-charcoal);
      text-decoration: none;
      font-weight: 700;
      font-size: .88rem;
      margin: .25rem;
    }

    body.page-events .quick-pill:hover {
      background: var(--u4-charcoal);
      color: #fff;
    }

    body.page-events .events-list-section {
      background: #fff;
    }

    body.page-events .event-card {
      background: #fff;
      display: flex;
      gap: 1.25rem;
      padding: 0;
      overflow: hidden;
    }

    body.page-events .event-date {
      flex: 0 0 96px;
      background: var(--u4-charcoal);
      color: #fff;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 1rem .5rem;
    }

    body.page-events .event-date .month {
      display: block;
      color: #9abd4c;
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      letter-spacing: .08em;
      text-transform: uppercase;
      font-weight: 700;
      font-size: .9rem;
    }

    body.page-events .event-date .day {
      display: block;
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-size: 2.25rem;
      line-height: 1;
    }

    body.page-events .event-date .day.range {
      font-size: 1.55rem;
      white-space: nowrap;
    }

    body.page-events .event-date .status {
      display: block;
      font-size: .72rem;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
      margin-top: .35rem;
    }

    body.page-events .event-body {
      padding: 1.5rem 1.5rem 1.5rem 0;
      flex: 1;
    }

    body.page-events .event-body h3 {
      font-size: 1.45rem;
      margin-bottom: .5rem;
    }

    body.page-events .event-meta {
      display: flex;
      flex-wrap: wrap;
      gap: .5rem;
      margin-bottom: .85rem;
    }

    body.page-events .event-tag {
      display: inline-flex;
      align-items: center;
      gap: .35rem;
      color: var(--u4-charcoal);
      background: var(--u4-sand);
      border: 1px solid var(--u4-border);
      padding: .35rem .55rem;
      font-size: .82rem;
      font-weight: 700;
    }

    body.page-events .event-actions {
      display: flex;
      flex-wrap: wrap;
      gap: .5rem;
      margin-top: 1rem;
    }

    body.page-events .event-actions .btn {
      padding: .55rem .9rem;
      font-size: .84rem;
    }

    body.page-events .types-section {
      background: var(--u4-cream);
    }

    body.page-events .type-card {
      background: #fff;
    }

    body.page-events .type-card h3 {
      font-size: 1.35rem;
      margin-bottom: .75rem;
    }

    body.page-events .calendar-band {
      background: var(--u4-charcoal);
      color: #fff;
      padding: 5rem 0;
    }

    body.page-events .calendar-band p {
      color: rgba(255,255,255,.82);
    }

    body.page-events .calendar-box {
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 16px;
      padding: 2rem;
      height: 100%;
    }

    body.page-events .calendar-box h3 {
      color: #fff;
      font-size: 1.35rem;
      margin-bottom: .75rem;
    }

    body.page-events .check-list {
      list-style: none;
      padding: 0;
      margin: 1.25rem 0 0;
    }

    body.page-events .check-list li {
      display: flex;
      gap: .75rem;
      margin-bottom: .9rem;
      font-weight: 700;
      color: #30352d;
    }

    body.page-events .check-list i {
      color: var(--u4-green);
      flex: 0 0 auto;
    }

    body.page-events .calendar-band .check-list li {
      color: rgba(255,255,255,.9);
    }

    body.page-events .submit-section {
      background: #fff;
    }

    body.page-events .form-control,
body.page-events .form-select {
      border-radius: 0;
      border: 1px solid var(--u4-border);
      padding: .8rem .9rem;
    }

    body.page-events .form-label {
      font-weight: 700;
      color: var(--u4-charcoal);
      margin-bottom: .35rem;
    }

    body.page-events .final-cta {
      background:
        linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,0,0,.74)),
        linear-gradient(135deg, #12140f, #303a29);
      color: #fff;
      padding: 3rem 0;
    }

    body.page-events .final-cta p {
      color: rgba(255,255,255,.82);
      margin-bottom: 0;
    }

    body.page-events .footer {
      background: #050604;
      color: rgba(255,255,255,.7);
      padding: 1.5rem 0;
      font-size: .9rem;
    }

    body.page-events .final-cta-icon {
      width: 120px;
      max-width: 100%;
      height: auto;
      display: block;
    }

    @media (max-width: 991.98px) {
      body.page-events .final-cta-icon {
        width: 90px;
        margin-bottom: 1rem;
      }

      body.page-events .navbar-collapse {
        padding: 1rem 0;
      }

      body.page-events .interior-hero {
        min-height: 240px;
      }
    }

    @media (max-width: 575.98px) {
      body.page-events .interior-hero {
        min-height: 230px;
      }

      body.page-events .interior-hero-content {
        padding-top: 2rem;
        padding-bottom: 2rem;
      }

      body.page-events .interior-hero h1 {
        font-size: 2.35rem;
      }

      body.page-events .interior-hero .lead {
        font-size: 1rem;
      }

      body.page-events .event-card {
        flex-direction: column;
      }

      body.page-events .event-date {
        flex-basis: auto;
        flex-direction: row;
        gap: .75rem;
        justify-content: flex-start;
        padding: .85rem 1rem;
      }

      body.page-events .event-date .day {
        font-size: 1.75rem;
      }

      body.page-events .event-body {
        padding: 1.35rem;
      }

      body.page-events .section-padding {
        padding: 3.75rem 0;
      }

      body.page-events .final-cta .btn,
body.page-events .interior-hero .btn {
        width: 100%;
      }
    }

/* advocacy.php */
body.page-advocacy {
      --u4-dark: #11130f;
      --u4-charcoal: #20231d;
      --u4-green: #5f7f2b;
      --u4-green-dark: #41591d;
      --u4-orange: #d9651f;
      --u4-orange-dark: #a84916;
      --u4-sand: #f3eadb;
      --u4-cream: #fbf7ee;
      --u4-muted: #6f7568;
      --u4-border: rgba(32, 35, 29, .15);
      --u4-shadow: 0 18px 50px rgba(0, 0, 0, .15);
      --u4-radius: 18px;
    }

    html {
      scroll-behavior: smooth;
    }

    body.page-advocacy {
      margin: 0;
      color: var(--u4-charcoal);
      background: var(--u4-cream);
      font-family: "Inter", Arial, Helvetica, sans-serif;
      line-height: 1.55;
    }

    body.page-advocacy h1,
body.page-advocacy h2,
body.page-advocacy h3,
body.page-advocacy h4,
body.page-advocacy h5,
body.page-advocacy h6,
body.page-advocacy .navbar-brand,
body.page-advocacy .btn,
body.page-advocacy .section-kicker,
body.page-advocacy .nav-link {
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-weight: 400;
      letter-spacing: .03em;
      text-transform: uppercase;
    }

    body.page-advocacy .btn,
body.page-advocacy .nav-link,
body.page-advocacy .section-kicker {
      font-weight: 600;
    }

    body.page-advocacy p {
      color: #40443a;
    }

    body.page-advocacy a {
      color: var(--u4-green-dark);
    }

    body.page-advocacy .btn {
      border-radius: 0;
      padding: .85rem 1.4rem;
      font-size: .95rem;
      border-width: 2px;
    }

    body.page-advocacy .btn-u4-green {
      background: var(--u4-green);
      border-color: var(--u4-green);
      color: #fff;
    }

    body.page-advocacy .btn-u4-green:hover,
body.page-advocacy .btn-u4-green:focus {
      background: var(--u4-green-dark);
      border-color: var(--u4-green-dark);
      color: #fff;
    }

    body.page-advocacy .btn-u4-orange {
      background: var(--u4-orange);
      border-color: var(--u4-orange);
      color: #fff;
    }

    body.page-advocacy .btn-u4-orange:hover,
body.page-advocacy .btn-u4-orange:focus {
      background: var(--u4-orange-dark);
      border-color: var(--u4-orange-dark);
      color: #fff;
    }

    body.page-advocacy .btn-u4-outline-light {
      border-color: rgba(255,255,255,.8);
      color: #fff;
      background: transparent;
    }

    body.page-advocacy .btn-u4-outline-light:hover,
body.page-advocacy .btn-u4-outline-light:focus {
      background: #fff;
      color: var(--u4-dark);
    }

    body.page-advocacy .btn-u4-outline-dark {
      border-color: var(--u4-charcoal);
      color: var(--u4-charcoal);
      background: transparent;
    }

    body.page-advocacy .btn-u4-outline-dark:hover,
body.page-advocacy .btn-u4-outline-dark:focus {
      background: var(--u4-charcoal);
      color: #fff;
    }

    body.page-advocacy .site-header {
      position: sticky;
      top: 0;
      z-index: 1000;
      background: #050604;
      border-bottom: 1px solid rgba(255,255,255,.08);
    }

    body.page-advocacy .navbar {
      padding: .7rem 0;
    }

    body.page-advocacy .navbar-brand {
      color: #fff;
      display: flex;
      align-items: center;
      gap: .7rem;
      font-size: 1.45rem;
      line-height: 1;
    }

    body.page-advocacy .site-logo {
      height: 80px;
      width: auto;
      display: block;
    }

    body.page-advocacy .brand-text small {
      display: block;
      font-family: Arial, Helvetica, sans-serif;
      letter-spacing: .08em;
      font-size: .62rem;
      color: rgba(255,255,255,.68);
      margin-top: .22rem;
    }

    body.page-advocacy .navbar-toggler {
      border-color: rgba(255,255,255,.4);
    }

    body.page-advocacy .navbar-toggler-icon {
      filter: invert(1);
    }

    body.page-advocacy .navbar-nav .nav-link {
      color: rgba(255,255,255,.86);
      font-size: .9rem;
      font-weight: 700;
      padding-left: .85rem;
      padding-right: .85rem;
    }

    body.page-advocacy .navbar-nav .nav-link:hover,
body.page-advocacy .navbar-nav .nav-link.active {
      color: #9abd4c;
    }

    body.page-advocacy .interior-hero {
      min-height: 260px;
      color: #fff;
      position: relative;
      display: flex;
      align-items: center;
      overflow: hidden;
      background:
        linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.62) 36%, rgba(0,0,0,.26) 68%, rgba(0,0,0,.12) 100%),
        url('../img/advocacy.jpg') center center / cover no-repeat,
        linear-gradient(135deg, #2e3328 0%, #7b4b2b 48%, #c27b44 100%);
    }

    body.page-advocacy .interior-hero::after {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        radial-gradient(circle at 76% 40%, rgba(255,255,255,.08), transparent 0 4px, transparent 5px),
        linear-gradient(transparent 92%, rgba(255,255,255,.025) 93%);
      background-size: 90px 90px, 100% 18px;
      opacity: .10;
      pointer-events: none;
    }

    body.page-advocacy .interior-hero-content {
      position: relative;
      z-index: 2;
      max-width: 820px;
      padding-top: 2.5rem;
      padding-bottom: 2.5rem;
    }

    body.page-advocacy .eyebrow {
      color: #9abd4c;
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-weight: 600;
      letter-spacing: .12em;
      text-transform: uppercase;
      margin-bottom: .75rem;
    }

    body.page-advocacy .interior-hero h1 {
      font-size: clamp(2.35rem, 4.6vw, 4rem);
      line-height: 1;
      font-weight: 400;
      letter-spacing: .025em;
      margin-bottom: .75rem;
      text-shadow: 0 8px 28px rgba(0,0,0,.55);
    }

    body.page-advocacy .interior-hero .lead {
      color: rgba(255,255,255,.92);
      max-width: 740px;
      font-size: 1.05rem;
      margin-bottom: 0;
    }

    body.page-advocacy .section-padding {
      padding: 5rem 0;
    }

    body.page-advocacy .section-kicker {
      color: var(--u4-green-dark);
      font-size: .9rem;
      margin-bottom: .35rem;
    }

    body.page-advocacy .section-title {
      font-size: clamp(2rem, 4vw, 3.2rem);
      line-height: 1.05;
      font-weight: 400;
      letter-spacing: .025em;
      margin-bottom: 1rem;
    }

    body.page-advocacy .intro-section {
      background: #fff;
      position: relative;
      overflow: hidden;
    }

    body.page-advocacy .intro-section::before {
      content: "";
      position: absolute;
      left: -95px;
      bottom: -40px;
      width: 230px;
      height: 230px;
      opacity: .06;
      pointer-events: none;
      transform: rotate(14deg);
      background: repeating-linear-gradient(45deg, var(--u4-charcoal), var(--u4-charcoal) 8px, transparent 8px, transparent 18px);
    }

    body.page-advocacy .action-alerts {
      background: var(--u4-sand);
      border-top: 1px solid var(--u4-border);
      border-bottom: 1px solid var(--u4-border);
    }

    body.page-advocacy .alert-card {
      background: #fff;
      border: 1px solid var(--u4-border);
      border-radius: 16px;
      padding: 1.6rem;
      height: 100%;
      box-shadow: 0 14px 38px rgba(0,0,0,.05);
    }

    body.page-advocacy .alert-status {
      display: inline-flex;
      align-items: center;
      gap: .35rem;
      font-size: .78rem;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: #fff;
      background: var(--u4-orange);
      padding: .35rem .6rem;
      margin-bottom: 1rem;
    }

    body.page-advocacy .alert-status.muted {
      background: var(--u4-green);
    }

    body.page-advocacy .alert-card h3 {
      font-size: 1.4rem;
      margin-bottom: .65rem;
    }

    body.page-advocacy .legislator-section {
      background: #f7f9f3;
      border-bottom: 1px solid var(--u4-border);
    }

    body.page-advocacy .privacy-note {
      display: flex;
      align-items: flex-start;
      gap: .8rem;
      padding: 1rem 1.1rem;
      background: #fff;
      border: 1px solid var(--u4-border);
      color: #555b4d;
      font-size: .9rem;
    }

    body.page-advocacy .privacy-note i {
      color: var(--u4-green);
      font-size: 1.35rem;
      flex: 0 0 auto;
    }

    body.page-advocacy .legislator-card {
      display: flex;
      flex-direction: column;
      height: 100%;
      padding: 2rem;
      background: #fff;
      border: 1px solid var(--u4-border);
      border-radius: 16px;
      box-shadow: 0 14px 38px rgba(0,0,0,.05);
    }

    body.page-advocacy .legislator-card .icon-badge.orange {
      background: var(--u4-orange);
    }

    body.page-advocacy .government-level {
      color: var(--u4-green-dark);
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-size: .78rem;
      font-weight: 600;
      letter-spacing: .1em;
      text-transform: uppercase;
      margin-bottom: .35rem;
    }

    body.page-advocacy .legislator-card h3 {
      font-size: 1.4rem;
      margin-bottom: .75rem;
    }

    body.page-advocacy .legislator-card p {
      flex-grow: 1;
    }

    body.page-advocacy .legislator-card .btn {
      align-self: flex-start;
      margin-top: auto;
    }

    body.page-advocacy .contact-guidance {
      display: flex;
      align-items: flex-start;
      gap: .9rem;
      padding: 1.25rem 1.4rem;
      background: var(--u4-charcoal);
      color: #fff;
    }

    body.page-advocacy .contact-guidance i {
      color: #9abd4c;
      font-size: 1.4rem;
      flex: 0 0 auto;
    }

    body.page-advocacy .contact-guidance p {
      color: rgba(255,255,255,.88);
    }

    body.page-advocacy .icon-badge {
      width: 58px;
      height: 58px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--u4-green);
      color: #fff;
      font-size: 1.8rem;
      margin-bottom: 1rem;
    }

    body.page-advocacy .step-card {
      background: #fff;
      border: 1px solid var(--u4-border);
      border-radius: 16px;
      padding: 2rem;
      height: 100%;
      box-shadow: 0 14px 38px rgba(0,0,0,.05);
    }

    body.page-advocacy .step-number {
      width: 44px;
      height: 44px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--u4-orange);
      color: #fff;
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-size: 1.25rem;
      margin-bottom: 1rem;
    }

    body.page-advocacy .issue-band {
      background: var(--u4-charcoal);
      color: #fff;
      padding: 5rem 0;
    }

    body.page-advocacy .issue-band p {
      color: rgba(255,255,255,.82);
    }

    body.page-advocacy .issue-card {
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 16px;
      padding: 1.6rem;
      height: 100%;
    }

    body.page-advocacy .issue-card h3 {
      color: #fff;
      font-size: 1.25rem;
      margin-bottom: .75rem;
    }

    body.page-advocacy .comment-guide {
      background: #fff;
    }

    body.page-advocacy .guide-box {
      background: var(--u4-cream);
      border: 1px solid var(--u4-border);
      border-radius: 16px;
      padding: 2rem;
      height: 100%;
    }

    body.page-advocacy .guide-box.do {
      border-top: 6px solid var(--u4-green);
    }

    body.page-advocacy .guide-box.dont {
      border-top: 6px solid var(--u4-orange);
    }

    body.page-advocacy .check-list,
body.page-advocacy .x-list {
      list-style: none;
      padding: 0;
      margin: 1.25rem 0 0;
    }

    body.page-advocacy .check-list li,
body.page-advocacy .x-list li {
      display: flex;
      gap: .75rem;
      margin-bottom: .9rem;
      font-weight: 700;
      color: #30352d;
    }

    body.page-advocacy .check-list i {
      color: var(--u4-green);
      flex: 0 0 auto;
    }

    body.page-advocacy .x-list i {
      color: var(--u4-orange);
      flex: 0 0 auto;
    }

    body.page-advocacy .resource-panel {
      background: var(--u4-cream);
      border-top: 1px solid var(--u4-border);
      border-bottom: 1px solid var(--u4-border);
      padding: 3rem 0;
    }

    body.page-advocacy .resource-link {
      display: flex;
      align-items: center;
      gap: 1rem;
      background: #fff;
      border: 1px solid var(--u4-border);
      border-radius: 14px;
      padding: 1.2rem;
      height: 100%;
      text-decoration: none;
      color: var(--u4-charcoal);
      box-shadow: 0 10px 25px rgba(0,0,0,.04);
    }

    body.page-advocacy .resource-link:hover {
      color: var(--u4-charcoal);
      transform: translateY(-2px);
    }

    body.page-advocacy .resource-link i {
      color: var(--u4-green);
      font-size: 1.65rem;
      flex: 0 0 auto;
    }

    body.page-advocacy .resource-link strong {
      display: block;
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: .025em;
      margin-bottom: .15rem;
    }

    body.page-advocacy .resource-link span {
      display: block;
      font-size: .92rem;
      color: #555b4d;
    }

    body.page-advocacy .final-cta {
      background:
        linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,0,0,.74)),
        linear-gradient(135deg, #12140f, #303a29);
      color: #fff;
      padding: 3rem 0;
    }

    body.page-advocacy .final-cta p {
      color: rgba(255,255,255,.82);
      margin-bottom: 0;
    }

    body.page-advocacy .footer {
      background: #050604;
      color: rgba(255,255,255,.7);
      padding: 1.5rem 0;
      font-size: .9rem;
    }

    body.page-advocacy .final-cta-icon {
      width: 120px;
      max-width: 100%;
      height: auto;
      display: block;
    }

    @media (max-width: 991.98px) {
      body.page-advocacy .final-cta-icon {
        width: 90px;
        margin-bottom: 1rem;
      }

      body.page-advocacy .navbar-collapse {
        padding: 1rem 0;
      }

      body.page-advocacy .interior-hero {
        min-height: 240px;
      }
    }

    @media (max-width: 575.98px) {
      body.page-advocacy .interior-hero {
        min-height: 230px;
      }

      body.page-advocacy .interior-hero-content {
        padding-top: 2rem;
        padding-bottom: 2rem;
      }

      body.page-advocacy .interior-hero h1 {
        font-size: 2.35rem;
      }

      body.page-advocacy .interior-hero .lead {
        font-size: 1rem;
      }

      body.page-advocacy .section-padding {
        padding: 3.75rem 0;
      }

      body.page-advocacy .final-cta .btn,
body.page-advocacy .interior-hero .btn {
        width: 100%;
      }
    }

/* stewardship.php */
body.page-stewardship {
      --u4-dark: #11130f;
      --u4-charcoal: #20231d;
      --u4-green: #5f7f2b;
      --u4-green-dark: #41591d;
      --u4-orange: #d9651f;
      --u4-orange-dark: #a84916;
      --u4-sand: #f3eadb;
      --u4-cream: #fbf7ee;
      --u4-muted: #6f7568;
      --u4-border: rgba(32, 35, 29, .15);
      --u4-shadow: 0 18px 50px rgba(0, 0, 0, .15);
      --u4-radius: 18px;
    }

    html {
      scroll-behavior: smooth;
    }

    body.page-stewardship {
      margin: 0;
      color: var(--u4-charcoal);
      background: var(--u4-cream);
      font-family: "Inter", Arial, Helvetica, sans-serif;
      line-height: 1.55;
    }

    body.page-stewardship h1,
body.page-stewardship h2,
body.page-stewardship h3,
body.page-stewardship h4,
body.page-stewardship h5,
body.page-stewardship h6,
body.page-stewardship .navbar-brand,
body.page-stewardship .btn,
body.page-stewardship .section-kicker,
body.page-stewardship .nav-link {
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-weight: 400;
      letter-spacing: .03em;
      text-transform: uppercase;
    }

    body.page-stewardship .btn,
body.page-stewardship .nav-link,
body.page-stewardship .section-kicker {
      font-weight: 600;
    }

    body.page-stewardship p {
      color: #40443a;
    }

    body.page-stewardship a {
      color: var(--u4-green-dark);
    }

    body.page-stewardship .btn {
      border-radius: 0;
      padding: .85rem 1.4rem;
      font-size: .95rem;
      border-width: 2px;
    }

    body.page-stewardship .btn-u4-green {
      background: var(--u4-green);
      border-color: var(--u4-green);
      color: #fff;
    }

    body.page-stewardship .btn-u4-green:hover,
body.page-stewardship .btn-u4-green:focus {
      background: var(--u4-green-dark);
      border-color: var(--u4-green-dark);
      color: #fff;
    }

    body.page-stewardship .btn-u4-orange {
      background: var(--u4-orange);
      border-color: var(--u4-orange);
      color: #fff;
    }

    body.page-stewardship .btn-u4-orange:hover,
body.page-stewardship .btn-u4-orange:focus {
      background: var(--u4-orange-dark);
      border-color: var(--u4-orange-dark);
      color: #fff;
    }

    body.page-stewardship .btn-u4-outline-light {
      border-color: rgba(255,255,255,.8);
      color: #fff;
      background: transparent;
    }

    body.page-stewardship .btn-u4-outline-light:hover,
body.page-stewardship .btn-u4-outline-light:focus {
      background: #fff;
      color: var(--u4-dark);
    }

    body.page-stewardship .btn-u4-outline-dark {
      border-color: var(--u4-charcoal);
      color: var(--u4-charcoal);
      background: transparent;
    }

    body.page-stewardship .btn-u4-outline-dark:hover,
body.page-stewardship .btn-u4-outline-dark:focus {
      background: var(--u4-charcoal);
      color: #fff;
    }

    body.page-stewardship .site-header {
      position: sticky;
      top: 0;
      z-index: 1000;
      background: #050604;
      border-bottom: 1px solid rgba(255,255,255,.08);
    }

    body.page-stewardship .navbar {
      padding: .7rem 0;
    }

    body.page-stewardship .navbar-brand {
      color: #fff;
      display: flex;
      align-items: center;
      gap: .7rem;
      font-size: 1.45rem;
      line-height: 1;
    }

    body.page-stewardship .site-logo {
      height: 80px;
      width: auto;
      display: block;
    }

    body.page-stewardship .brand-text small {
      display: block;
      font-family: Arial, Helvetica, sans-serif;
      letter-spacing: .08em;
      font-size: .62rem;
      color: rgba(255,255,255,.68);
      margin-top: .22rem;
    }

    body.page-stewardship .navbar-toggler {
      border-color: rgba(255,255,255,.4);
    }

    body.page-stewardship .navbar-toggler-icon {
      filter: invert(1);
    }

    body.page-stewardship .navbar-nav .nav-link {
      color: rgba(255,255,255,.86);
      font-size: .9rem;
      font-weight: 700;
      padding-left: .85rem;
      padding-right: .85rem;
    }

    body.page-stewardship .navbar-nav .nav-link:hover,
body.page-stewardship .navbar-nav .nav-link.active {
      color: #9abd4c;
    }

    body.page-stewardship .interior-hero {
      min-height: 260px;
      color: #fff;
      position: relative;
      display: flex;
      align-items: center;
      overflow: hidden;
      background:
        linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.62) 36%, rgba(0,0,0,.26) 68%, rgba(0,0,0,.12) 100%),
        url('../img/stewardship.jpg') center center / cover no-repeat,
        linear-gradient(135deg, #2e3328 0%, #7b4b2b 48%, #c27b44 100%);
    }

    body.page-stewardship .interior-hero::after {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        radial-gradient(circle at 76% 40%, rgba(255,255,255,.08), transparent 0 4px, transparent 5px),
        linear-gradient(transparent 92%, rgba(255,255,255,.025) 93%);
      background-size: 90px 90px, 100% 18px;
      opacity: .10;
      pointer-events: none;
    }

    body.page-stewardship .interior-hero-content {
      position: relative;
      z-index: 2;
      max-width: 820px;
      padding-top: 2.5rem;
      padding-bottom: 2.5rem;
    }

    body.page-stewardship .eyebrow {
      color: #9abd4c;
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-weight: 600;
      letter-spacing: .12em;
      text-transform: uppercase;
      margin-bottom: .75rem;
    }

    body.page-stewardship .interior-hero h1 {
      font-size: clamp(2.35rem, 4.6vw, 4rem);
      line-height: 1;
      font-weight: 400;
      letter-spacing: .025em;
      margin-bottom: .75rem;
      text-shadow: 0 8px 28px rgba(0,0,0,.55);
    }

    body.page-stewardship .interior-hero .lead {
      color: rgba(255,255,255,.92);
      max-width: 740px;
      font-size: 1.05rem;
      margin-bottom: 0;
    }

    body.page-stewardship .section-padding {
      padding: 5rem 0;
    }

    body.page-stewardship .section-kicker {
      color: var(--u4-green-dark);
      font-size: .9rem;
      margin-bottom: .35rem;
    }

    body.page-stewardship .section-title {
      font-size: clamp(2rem, 4vw, 3.2rem);
      line-height: 1.05;
      font-weight: 400;
      letter-spacing: .025em;
      margin-bottom: 1rem;
    }

    body.page-stewardship .intro-section {
      background: #fff;
      position: relative;
      overflow: hidden;
    }

    body.page-stewardship .intro-section::before {
      content: "";
      position: absolute;
      left: -95px;
      bottom: -40px;
      width: 230px;
      height: 230px;
      opacity: .06;
      pointer-events: none;
      transform: rotate(14deg);
      background: repeating-linear-gradient(45deg, var(--u4-charcoal), var(--u4-charcoal) 8px, transparent 8px, transparent 18px);
    }

    body.page-stewardship .intro-card {
      background: var(--u4-cream);
      border: 1px solid var(--u4-border);
      border-radius: 16px;
      padding: 2rem;
      height: 100%;
      box-shadow: 0 14px 38px rgba(0,0,0,.06);
    }

    body.page-stewardship .icon-badge {
      width: 58px;
      height: 58px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--u4-green);
      color: #fff;
      font-size: 1.8rem;
      margin-bottom: 1rem;
    }

    body.page-stewardship .impact-band {
      background: var(--u4-sand);
      border-top: 1px solid var(--u4-border);
      border-bottom: 1px solid var(--u4-border);
      padding: 2.5rem 0;
    }

    body.page-stewardship .impact-item {
      text-align: center;
      padding: 1rem;
      height: 100%;
      border-right: 1px solid var(--u4-border);
    }

    body.page-stewardship .impact-item:last-child {
      border-right: 0;
    }

    body.page-stewardship .impact-icon {
      color: var(--u4-green-dark);
      font-size: 2.25rem;
      margin-bottom: .75rem;
    }

    body.page-stewardship .impact-item h3 {
      font-size: 1.35rem;
      margin-bottom: .5rem;
    }

    body.page-stewardship .impact-item p {
      margin: 0;
      font-size: .95rem;
    }

    body.page-stewardship .project-card {
      background: #fff;
      border: 1px solid var(--u4-border);
      border-radius: 16px;
      padding: 2rem;
      height: 100%;
      box-shadow: 0 14px 38px rgba(0,0,0,.05);
    }

    body.page-stewardship .project-card h3 {
      font-size: 1.35rem;
      margin-bottom: .75rem;
    }

    body.page-stewardship .image-callout {
      min-height: 520px;
      color: #fff;
      position: relative;
      display: flex;
      align-items: flex-end;
      overflow: hidden;
      background:
        linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.86)),
        url('../img/stewardship.jpg') center center / cover no-repeat,
        linear-gradient(135deg, #34402b, #80502e);
    }

    body.page-stewardship .image-callout-content {
      position: relative;
      z-index: 2;
      padding: 2rem;
    }

    body.page-stewardship .image-callout h2 {
      font-size: clamp(2.1rem, 4vw, 3.4rem);
      line-height: 1;
      margin-bottom: 1rem;
    }

    body.page-stewardship .image-callout p {
      color: rgba(255,255,255,.9);
    }

    body.page-stewardship .check-list {
      list-style: none;
      padding: 0;
      margin: 1.5rem 0 0;
    }

    body.page-stewardship .check-list li {
      display: flex;
      gap: .75rem;
      margin-bottom: .9rem;
      font-weight: 700;
      color: #30352d;
    }

    body.page-stewardship .check-list i {
      color: var(--u4-green);
      flex: 0 0 auto;
    }

    body.page-stewardship .volunteer-section {
      background: var(--u4-cream);
    }

    body.page-stewardship .volunteer-card {
      background: #fff;
      border: 1px solid var(--u4-border);
      border-radius: 16px;
      padding: 2rem;
      height: 100%;
      box-shadow: 0 14px 38px rgba(0,0,0,.05);
    }

    body.page-stewardship .step-number {
      width: 44px;
      height: 44px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--u4-orange);
      color: #fff;
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-size: 1.25rem;
      margin-bottom: 1rem;
    }

    body.page-stewardship .partner-band {
      background: var(--u4-charcoal);
      color: #fff;
      padding: 5rem 0;
    }

    body.page-stewardship .partner-band p {
      color: rgba(255,255,255,.82);
    }

    body.page-stewardship .partner-card {
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 16px;
      padding: 1.6rem;
      height: 100%;
    }

    body.page-stewardship .partner-card h3 {
      color: #fff;
      font-size: 1.25rem;
      margin-bottom: .75rem;
    }

    body.page-stewardship .resource-panel {
      background: #fff;
      padding: 3rem 0;
    }

    body.page-stewardship .resource-link {
      display: flex;
      align-items: center;
      gap: 1rem;
      background: var(--u4-cream);
      border: 1px solid var(--u4-border);
      border-radius: 14px;
      padding: 1.2rem;
      height: 100%;
      text-decoration: none;
      color: var(--u4-charcoal);
      box-shadow: 0 10px 25px rgba(0,0,0,.04);
    }

    body.page-stewardship .resource-link:hover {
      color: var(--u4-charcoal);
      transform: translateY(-2px);
    }

    body.page-stewardship .resource-link i {
      color: var(--u4-green);
      font-size: 1.65rem;
      flex: 0 0 auto;
    }

    body.page-stewardship .resource-link strong {
      display: block;
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: .025em;
      margin-bottom: .15rem;
    }

    body.page-stewardship .resource-link span {
      display: block;
      font-size: .92rem;
      color: #555b4d;
    }

    body.page-stewardship .final-cta {
      background:
        linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,0,0,.74)),
        linear-gradient(135deg, #12140f, #303a29);
      color: #fff;
      padding: 3rem 0;
    }

    body.page-stewardship .final-cta p {
      color: rgba(255,255,255,.82);
      margin-bottom: 0;
    }

    body.page-stewardship .footer {
      background: #050604;
      color: rgba(255,255,255,.7);
      padding: 1.5rem 0;
      font-size: .9rem;
    }

    body.page-stewardship .final-cta-icon {
      width: 120px;
      max-width: 100%;
      height: auto;
      display: block;
    }

    @media (max-width: 991.98px) {
      body.page-stewardship .final-cta-icon {
        width: 90px;
        margin-bottom: 1rem;
      }

      body.page-stewardship .navbar-collapse {
        padding: 1rem 0;
      }

      body.page-stewardship .interior-hero {
        min-height: 240px;
      }

      body.page-stewardship .impact-item {
        border-right: 0;
        border-bottom: 1px solid var(--u4-border);
      }

      body.page-stewardship .impact-item:last-child {
        border-bottom: 0;
      }

      body.page-stewardship .image-callout {
        min-height: 420px;
      }
    }

    @media (max-width: 575.98px) {
      body.page-stewardship .interior-hero {
        min-height: 230px;
      }

      body.page-stewardship .interior-hero-content {
        padding-top: 2rem;
        padding-bottom: 2rem;
      }

      body.page-stewardship .interior-hero h1 {
        font-size: 2.35rem;
      }

      body.page-stewardship .interior-hero .lead {
        font-size: 1rem;
      }

      body.page-stewardship .section-padding {
        padding: 3.75rem 0;
      }

      body.page-stewardship .final-cta .btn,
body.page-stewardship .interior-hero .btn {
        width: 100%;
      }
    }

/* clubs.php */
body.page-clubs {
      --u4-dark: #11130f;
      --u4-charcoal: #20231d;
      --u4-green: #5f7f2b;
      --u4-green-dark: #41591d;
      --u4-orange: #d9651f;
      --u4-orange-dark: #a84916;
      --u4-sand: #f3eadb;
      --u4-cream: #fbf7ee;
      --u4-muted: #6f7568;
      --u4-border: rgba(32, 35, 29, .15);
      --u4-shadow: 0 18px 50px rgba(0, 0, 0, .15);
      --u4-radius: 18px;
    }

    html {
      scroll-behavior: smooth;
    }

    body.page-clubs {
      margin: 0;
      color: var(--u4-charcoal);
      background: var(--u4-cream);
      font-family: "Inter", Arial, Helvetica, sans-serif;
      line-height: 1.55;
    }

    body.page-clubs h1,
body.page-clubs h2,
body.page-clubs h3,
body.page-clubs h4,
body.page-clubs h5,
body.page-clubs h6,
body.page-clubs .navbar-brand,
body.page-clubs .btn,
body.page-clubs .section-kicker,
body.page-clubs .nav-link {
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-weight: 400;
      letter-spacing: .03em;
      text-transform: uppercase;
    }

    body.page-clubs .btn,
body.page-clubs .nav-link,
body.page-clubs .section-kicker {
      font-weight: 600;
    }

    body.page-clubs p {
      color: #40443a;
    }

    body.page-clubs a {
      color: var(--u4-green-dark);
    }

    body.page-clubs .btn {
      border-radius: 0;
      padding: .85rem 1.4rem;
      font-size: .95rem;
      border-width: 2px;
    }

    body.page-clubs .btn-u4-green {
      background: var(--u4-green);
      border-color: var(--u4-green);
      color: #fff;
    }

    body.page-clubs .btn-u4-green:hover,
body.page-clubs .btn-u4-green:focus {
      background: var(--u4-green-dark);
      border-color: var(--u4-green-dark);
      color: #fff;
    }

    body.page-clubs .btn-u4-orange {
      background: var(--u4-orange);
      border-color: var(--u4-orange);
      color: #fff;
    }

    body.page-clubs .btn-u4-orange:hover,
body.page-clubs .btn-u4-orange:focus {
      background: var(--u4-orange-dark);
      border-color: var(--u4-orange-dark);
      color: #fff;
    }

    body.page-clubs .btn-u4-outline-light {
      border-color: rgba(255,255,255,.8);
      color: #fff;
      background: transparent;
    }

    body.page-clubs .btn-u4-outline-light:hover,
body.page-clubs .btn-u4-outline-light:focus {
      background: #fff;
      color: var(--u4-dark);
    }

    body.page-clubs .btn-u4-outline-dark {
      border-color: var(--u4-charcoal);
      color: var(--u4-charcoal);
      background: transparent;
    }

    body.page-clubs .btn-u4-outline-dark:hover,
body.page-clubs .btn-u4-outline-dark:focus {
      background: var(--u4-charcoal);
      color: #fff;
    }

    body.page-clubs .site-header {
      position: sticky;
      top: 0;
      z-index: 1000;
      background: #050604;
      border-bottom: 1px solid rgba(255,255,255,.08);
    }

    body.page-clubs .navbar {
      padding: .7rem 0;
    }

    body.page-clubs .navbar-brand {
      color: #fff;
      display: flex;
      align-items: center;
      gap: .7rem;
      font-size: 1.45rem;
      line-height: 1;
    }

    body.page-clubs .site-logo {
      height: 80px;
      width: auto;
      display: block;
    }

    body.page-clubs .brand-text small {
      display: block;
      font-family: Arial, Helvetica, sans-serif;
      letter-spacing: .08em;
      font-size: .62rem;
      color: rgba(255,255,255,.68);
      margin-top: .22rem;
    }

    body.page-clubs .navbar-toggler {
      border-color: rgba(255,255,255,.4);
    }

    body.page-clubs .navbar-toggler-icon {
      filter: invert(1);
    }

    body.page-clubs .navbar-nav .nav-link {
      color: rgba(255,255,255,.86);
      font-size: .9rem;
      font-weight: 700;
      padding-left: .85rem;
      padding-right: .85rem;
    }

    body.page-clubs .navbar-nav .nav-link:hover,
body.page-clubs .navbar-nav .nav-link.active {
      color: #9abd4c;
    }

    body.page-clubs .interior-hero {
      min-height: 260px;
      color: #fff;
      position: relative;
      display: flex;
      align-items: center;
      overflow: hidden;
      background:
        linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.62) 36%, rgba(0,0,0,.26) 68%, rgba(0,0,0,.12) 100%),
        url('../img/clubs.jpg') center center / cover no-repeat,
        linear-gradient(135deg, #2e3328 0%, #7b4b2b 48%, #c27b44 100%);
    }

    body.page-clubs .interior-hero::after {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        radial-gradient(circle at 76% 40%, rgba(255,255,255,.08), transparent 0 4px, transparent 5px),
        linear-gradient(transparent 92%, rgba(255,255,255,.025) 93%);
      background-size: 90px 90px, 100% 18px;
      opacity: .10;
      pointer-events: none;
    }

    body.page-clubs .interior-hero-content {
      position: relative;
      z-index: 2;
      max-width: 820px;
      padding-top: 2.5rem;
      padding-bottom: 2.5rem;
    }

    body.page-clubs .eyebrow {
      color: #9abd4c;
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-weight: 600;
      letter-spacing: .12em;
      text-transform: uppercase;
      margin-bottom: .75rem;
    }

    body.page-clubs .interior-hero h1 {
      font-size: clamp(2.35rem, 4.6vw, 4rem);
      line-height: 1;
      font-weight: 400;
      letter-spacing: .025em;
      margin-bottom: .75rem;
      text-shadow: 0 8px 28px rgba(0,0,0,.55);
    }

    body.page-clubs .interior-hero .lead {
      color: rgba(255,255,255,.92);
      max-width: 740px;
      font-size: 1.05rem;
      margin-bottom: 0;
    }

    body.page-clubs .section-padding {
      padding: 5rem 0;
    }

    body.page-clubs .section-kicker {
      color: var(--u4-green-dark);
      font-size: .9rem;
      margin-bottom: .35rem;
    }

    body.page-clubs .section-title {
      font-size: clamp(2rem, 4vw, 3.2rem);
      line-height: 1.05;
      font-weight: 400;
      letter-spacing: .025em;
      margin-bottom: 1rem;
    }

    body.page-clubs .intro-section {
      background: #fff;
      position: relative;
      overflow: hidden;
    }

    body.page-clubs .intro-section::before {
      content: "";
      position: absolute;
      left: -95px;
      bottom: -40px;
      width: 230px;
      height: 230px;
      opacity: .06;
      pointer-events: none;
      transform: rotate(14deg);
      background: repeating-linear-gradient(45deg, var(--u4-charcoal), var(--u4-charcoal) 8px, transparent 8px, transparent 18px);
    }

    body.page-clubs .intro-card,
body.page-clubs .club-card,
body.page-clubs .region-card {
      background: var(--u4-cream);
      border: 1px solid var(--u4-border);
      border-radius: 16px;
      padding: 2rem;
      height: 100%;
      box-shadow: 0 14px 38px rgba(0,0,0,.06);
    }

    body.page-clubs .icon-badge {
      width: 58px;
      height: 58px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--u4-green);
      color: #fff;
      font-size: 1.8rem;
      margin-bottom: 1rem;
    }

    body.page-clubs .directory-band {
      background: var(--u4-sand);
      border-top: 1px solid var(--u4-border);
      border-bottom: 1px solid var(--u4-border);
      padding: 2rem 0;
    }

    body.page-clubs .directory-note {
      background: rgba(255,255,255,.75);
      border: 1px solid var(--u4-border);
      border-radius: 14px;
      padding: 1.25rem;
    }

    body.page-clubs .filter-pill {
      display: inline-flex;
      align-items: center;
      gap: .4rem;
      padding: .5rem .8rem;
      background: #fff;
      border: 1px solid var(--u4-border);
      color: var(--u4-charcoal);
      text-decoration: none;
      font-weight: 700;
      font-size: .88rem;
      margin: .25rem;
    }

    body.page-clubs .filter-pill:hover {
      background: var(--u4-charcoal);
      color: #fff;
    }

    body.page-clubs .clubs-section {
      background: #fff;
    }

    body.page-clubs .club-card {
      background: #fff;
      display: flex;
      flex-direction: column;
    }

    body.page-clubs .club-card h3 {
      font-size: 1.35rem;
      margin-bottom: .5rem;
    }

    body.page-clubs .club-meta {
      display: flex;
      flex-wrap: wrap;
      gap: .5rem;
      margin-bottom: 1rem;
    }

    body.page-clubs .club-tag {
      display: inline-flex;
      align-items: center;
      gap: .35rem;
      color: var(--u4-charcoal);
      background: var(--u4-sand);
      border: 1px solid var(--u4-border);
      padding: .35rem .55rem;
      font-size: .82rem;
      font-weight: 700;
    }

    body.page-clubs .club-actions {
      margin-top: auto;
      display: flex;
      flex-wrap: wrap;
      gap: .5rem;
    }

    body.page-clubs .club-actions .btn {
      padding: .55rem .9rem;
      font-size: .84rem;
    }

    body.page-clubs .region-section {
      background: var(--u4-cream);
    }

    body.page-clubs .region-card {
      background: #fff;
    }

    body.page-clubs .region-card h3 {
      font-size: 1.35rem;
      margin-bottom: .75rem;
    }

    body.page-clubs .simple-list {
      list-style: none;
      padding: 0;
      margin: 1rem 0 0;
    }

    body.page-clubs .simple-list li {
      display: flex;
      gap: .6rem;
      margin-bottom: .7rem;
      color: #30352d;
      font-weight: 700;
    }

    body.page-clubs .simple-list i {
      color: var(--u4-green);
      flex: 0 0 auto;
    }

    body.page-clubs .historic-club-name {
      flex: 1 1 auto;
    }

    body.page-clubs .historic-update {
      flex: 0 0 auto;
      color: var(--u4-green-dark);
      font-size: .78rem;
      font-weight: 700;
      text-transform: uppercase;
      text-decoration: none;
      letter-spacing: .03em;
    }

    body.page-clubs .historic-update:hover,
    body.page-clubs .historic-update:focus {
      color: var(--u4-orange-dark);
      text-decoration: underline;
    }

    body.page-clubs .join-club-band {
      background: var(--u4-charcoal);
      color: #fff;
      padding: 5rem 0;
    }

    body.page-clubs .join-club-band p {
      color: rgba(255,255,255,.82);
    }

    body.page-clubs .join-box {
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 16px;
      padding: 2rem;
      height: 100%;
    }

    body.page-clubs .join-box h3 {
      color: #fff;
      font-size: 1.35rem;
    }

    body.page-clubs .final-cta {
      background:
        linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,0,0,.74)),
        linear-gradient(135deg, #12140f, #303a29);
      color: #fff;
      padding: 3rem 0;
    }

    body.page-clubs .final-cta p {
      color: rgba(255,255,255,.82);
      margin-bottom: 0;
    }

    body.page-clubs .footer {
      background: #050604;
      color: rgba(255,255,255,.7);
      padding: 1.5rem 0;
      font-size: .9rem;
    }

    body.page-clubs .final-cta-icon {
      width: 120px;
      max-width: 100%;
      height: auto;
      display: block;
    }

    @media (max-width: 991.98px) {
      body.page-clubs .final-cta-icon {
        width: 90px;
        margin-bottom: 1rem;
      }

      body.page-clubs .navbar-collapse {
        padding: 1rem 0;
      }

      body.page-clubs .interior-hero {
        min-height: 240px;
      }
    }

    @media (max-width: 575.98px) {
      body.page-clubs .interior-hero {
        min-height: 230px;
      }

      body.page-clubs .interior-hero-content {
        padding-top: 2rem;
        padding-bottom: 2rem;
      }

      body.page-clubs .interior-hero h1 {
        font-size: 2.35rem;
      }

      body.page-clubs .interior-hero .lead {
        font-size: 1rem;
      }

      body.page-clubs .section-padding {
        padding: 3.75rem 0;
      }

      body.page-clubs .final-cta .btn,
body.page-clubs .interior-hero .btn {
        width: 100%;
      }
    }

/* resources.php */
body.page-resources {
      --u4-dark: #11130f;
      --u4-charcoal: #20231d;
      --u4-green: #5f7f2b;
      --u4-green-dark: #41591d;
      --u4-orange: #d9651f;
      --u4-orange-dark: #a84916;
      --u4-sand: #f3eadb;
      --u4-cream: #fbf7ee;
      --u4-muted: #6f7568;
      --u4-border: rgba(32, 35, 29, .15);
      --u4-shadow: 0 18px 50px rgba(0, 0, 0, .15);
      --u4-radius: 18px;
    }

    html {
      scroll-behavior: smooth;
    }

    body.page-resources {
      margin: 0;
      color: var(--u4-charcoal);
      background: var(--u4-cream);
      font-family: "Inter", Arial, Helvetica, sans-serif;
      line-height: 1.55;
    }

    body.page-resources h1,
body.page-resources h2,
body.page-resources h3,
body.page-resources h4,
body.page-resources h5,
body.page-resources h6,
body.page-resources .navbar-brand,
body.page-resources .btn,
body.page-resources .section-kicker,
body.page-resources .nav-link {
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-weight: 400;
      letter-spacing: .03em;
      text-transform: uppercase;
    }

    body.page-resources .btn,
body.page-resources .nav-link,
body.page-resources .section-kicker {
      font-weight: 600;
    }

    body.page-resources p {
      color: #40443a;
    }

    body.page-resources a {
      color: var(--u4-green-dark);
    }

    body.page-resources .btn {
      border-radius: 0;
      padding: .85rem 1.4rem;
      font-size: .95rem;
      border-width: 2px;
    }

    body.page-resources .btn-u4-green {
      background: var(--u4-green);
      border-color: var(--u4-green);
      color: #fff;
    }

    body.page-resources .btn-u4-green:hover,
body.page-resources .btn-u4-green:focus {
      background: var(--u4-green-dark);
      border-color: var(--u4-green-dark);
      color: #fff;
    }

    body.page-resources .btn-u4-orange {
      background: var(--u4-orange);
      border-color: var(--u4-orange);
      color: #fff;
    }

    body.page-resources .btn-u4-orange:hover,
body.page-resources .btn-u4-orange:focus {
      background: var(--u4-orange-dark);
      border-color: var(--u4-orange-dark);
      color: #fff;
    }

    body.page-resources .btn-u4-outline-light {
      border-color: rgba(255,255,255,.8);
      color: #fff;
      background: transparent;
    }

    body.page-resources .btn-u4-outline-light:hover,
body.page-resources .btn-u4-outline-light:focus {
      background: #fff;
      color: var(--u4-dark);
    }

    body.page-resources .btn-u4-outline-dark {
      border-color: var(--u4-charcoal);
      color: var(--u4-charcoal);
      background: transparent;
    }

    body.page-resources .btn-u4-outline-dark:hover,
body.page-resources .btn-u4-outline-dark:focus {
      background: var(--u4-charcoal);
      color: #fff;
    }

    body.page-resources .site-header {
      position: sticky;
      top: 0;
      z-index: 1000;
      background: #050604;
      border-bottom: 1px solid rgba(255,255,255,.08);
    }

    body.page-resources .navbar {
      padding: .7rem 0;
    }

    body.page-resources .navbar-brand {
      color: #fff;
      display: flex;
      align-items: center;
      gap: .7rem;
      font-size: 1.45rem;
      line-height: 1;
    }

    body.page-resources .site-logo {
      height: 80px;
      width: auto;
      display: block;
    }

    body.page-resources .brand-text small {
      display: block;
      font-family: Arial, Helvetica, sans-serif;
      letter-spacing: .08em;
      font-size: .62rem;
      color: rgba(255,255,255,.68);
      margin-top: .22rem;
    }

    body.page-resources .navbar-toggler {
      border-color: rgba(255,255,255,.4);
    }

    body.page-resources .navbar-toggler-icon {
      filter: invert(1);
    }

    body.page-resources .navbar-nav .nav-link {
      color: rgba(255,255,255,.86);
      font-size: .9rem;
      font-weight: 700;
      padding-left: .85rem;
      padding-right: .85rem;
    }

    body.page-resources .navbar-nav .nav-link:hover,
body.page-resources .navbar-nav .nav-link.active {
      color: #9abd4c;
    }

    body.page-resources .interior-hero {
      min-height: 260px;
      color: #fff;
      position: relative;
      display: flex;
      align-items: center;
      overflow: hidden;
      background:
        linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.62) 36%, rgba(0,0,0,.26) 68%, rgba(0,0,0,.12) 100%),
        url('../img/hero-image.jpg') center center / cover no-repeat,
        linear-gradient(135deg, #2e3328 0%, #7b4b2b 48%, #c27b44 100%);
    }

    body.page-resources .interior-hero::after {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        radial-gradient(circle at 76% 40%, rgba(255,255,255,.08), transparent 0 4px, transparent 5px),
        linear-gradient(transparent 92%, rgba(255,255,255,.025) 93%);
      background-size: 90px 90px, 100% 18px;
      opacity: .10;
      pointer-events: none;
    }

    body.page-resources .interior-hero-content {
      position: relative;
      z-index: 2;
      max-width: 820px;
      padding-top: 2.5rem;
      padding-bottom: 2.5rem;
    }

    body.page-resources .eyebrow {
      color: #9abd4c;
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-weight: 600;
      letter-spacing: .12em;
      text-transform: uppercase;
      margin-bottom: .75rem;
    }

    body.page-resources .interior-hero h1 {
      font-size: clamp(2.35rem, 4.6vw, 4rem);
      line-height: 1;
      font-weight: 400;
      letter-spacing: .025em;
      margin-bottom: .75rem;
      text-shadow: 0 8px 28px rgba(0,0,0,.55);
    }

    body.page-resources .interior-hero .lead {
      color: rgba(255,255,255,.92);
      max-width: 740px;
      font-size: 1.05rem;
      margin-bottom: 0;
    }

    body.page-resources .section-padding {
      padding: 5rem 0;
    }

    body.page-resources .section-kicker {
      color: var(--u4-green-dark);
      font-size: .9rem;
      margin-bottom: .35rem;
    }

    body.page-resources .section-title {
      font-size: clamp(2rem, 4vw, 3.2rem);
      line-height: 1.05;
      font-weight: 400;
      letter-spacing: .025em;
      margin-bottom: 1rem;
    }

    body.page-resources .intro-section {
      background: #fff;
      position: relative;
      overflow: hidden;
    }

    body.page-resources .intro-section::before {
      content: "";
      position: absolute;
      left: -95px;
      bottom: -40px;
      width: 230px;
      height: 230px;
      opacity: .06;
      pointer-events: none;
      transform: rotate(14deg);
      background: repeating-linear-gradient(45deg, var(--u4-charcoal), var(--u4-charcoal) 8px, transparent 8px, transparent 18px);
    }

    body.page-resources .intro-card,
body.page-resources .resource-card,
body.page-resources .guide-card {
      background: var(--u4-cream);
      border: 1px solid var(--u4-border);
      border-radius: 16px;
      padding: 2rem;
      height: 100%;
      box-shadow: 0 14px 38px rgba(0,0,0,.06);
    }

    body.page-resources .icon-badge {
      width: 58px;
      height: 58px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--u4-green);
      color: #fff;
      font-size: 1.8rem;
      margin-bottom: 1rem;
    }

    body.page-resources .quick-nav {
      background: var(--u4-sand);
      border-top: 1px solid var(--u4-border);
      border-bottom: 1px solid var(--u4-border);
      padding: 2rem 0;
    }

    body.page-resources .quick-pill {
      display: inline-flex;
      align-items: center;
      gap: .4rem;
      padding: .5rem .8rem;
      background: #fff;
      border: 1px solid var(--u4-border);
      color: var(--u4-charcoal);
      text-decoration: none;
      font-weight: 700;
      font-size: .88rem;
      margin: .25rem;
    }

    body.page-resources .quick-pill:hover {
      background: var(--u4-charcoal);
      color: #fff;
    }

    body.page-resources .resources-grid {
      background: #fff;
    }

    body.page-resources .resource-card {
      background: #fff;
      display: flex;
      flex-direction: column;
    }

    body.page-resources .resource-card h3 {
      font-size: 1.35rem;
      margin-bottom: .75rem;
    }

    body.page-resources .resource-card p {
      flex-grow: 1;
    }

    body.page-resources .resource-card .btn {
      align-self: flex-start;
      margin-top: auto;
    }

    body.page-resources .education-band {
      background: var(--u4-charcoal);
      color: #fff;
      padding: 5rem 0;
    }

    body.page-resources .education-band p {
      color: rgba(255,255,255,.82);
    }

    body.page-resources .education-box {
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 16px;
      padding: 1.6rem;
      height: 100%;
    }

    body.page-resources .education-box h3 {
      color: #fff;
      font-size: 1.25rem;
      margin-bottom: .75rem;
    }

    body.page-resources .check-list {
      list-style: none;
      padding: 0;
      margin: 1.25rem 0 0;
    }

    body.page-resources .check-list li {
      display: flex;
      gap: .75rem;
      margin-bottom: .9rem;
      font-weight: 700;
      color: #30352d;
    }

    body.page-resources .check-list i {
      color: var(--u4-green);
      flex: 0 0 auto;
    }

    body.page-resources .education-band .check-list li {
      color: rgba(255,255,255,.9);
    }

    body.page-resources .guide-section {
      background: var(--u4-cream);
    }

    body.page-resources .guide-card {
      background: #fff;
      display: flex;
      gap: 1rem;
    }

    body.page-resources .guide-card i {
      color: var(--u4-green);
      font-size: 1.65rem;
      flex: 0 0 auto;
      margin-top: .15rem;
    }

    body.page-resources .guide-card h3 {
      font-size: 1.25rem;
      margin-bottom: .5rem;
    }

    body.page-resources .guide-card p {
      margin-bottom: 0;
    }

    body.page-resources .download-panel {
      background: #fff;
      border-top: 1px solid var(--u4-border);
      border-bottom: 1px solid var(--u4-border);
      padding: 3rem 0;
    }

    body.page-resources .resource-link {
      display: flex;
      align-items: center;
      gap: 1rem;
      background: var(--u4-cream);
      border: 1px solid var(--u4-border);
      border-radius: 14px;
      padding: 1.2rem;
      height: 100%;
      text-decoration: none;
      color: var(--u4-charcoal);
      box-shadow: 0 10px 25px rgba(0,0,0,.04);
    }

    body.page-resources .resource-link:hover {
      color: var(--u4-charcoal);
      transform: translateY(-2px);
    }

    body.page-resources .resource-link i {
      color: var(--u4-green);
      font-size: 1.65rem;
      flex: 0 0 auto;
    }

    body.page-resources .resource-link strong {
      display: block;
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: .025em;
      margin-bottom: .15rem;
    }

    body.page-resources .resource-link span {
      display: block;
      font-size: .92rem;
      color: #555b4d;
    }

    body.page-resources .final-cta {
      background:
        linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,0,0,.74)),
        linear-gradient(135deg, #12140f, #303a29);
      color: #fff;
      padding: 3rem 0;
    }

    body.page-resources .final-cta p {
      color: rgba(255,255,255,.82);
      margin-bottom: 0;
    }

    body.page-resources .footer {
      background: #050604;
      color: rgba(255,255,255,.7);
      padding: 1.5rem 0;
      font-size: .9rem;
    }

    body.page-resources .final-cta-icon {
      width: 120px;
      max-width: 100%;
      height: auto;
      display: block;
    }

    @media (max-width: 991.98px) {
      body.page-resources .final-cta-icon {
        width: 90px;
        margin-bottom: 1rem;
      }

      body.page-resources .navbar-collapse {
        padding: 1rem 0;
      }

      body.page-resources .interior-hero {
        min-height: 240px;
      }
    }

    @media (max-width: 575.98px) {
      body.page-resources .interior-hero {
        min-height: 230px;
      }

      body.page-resources .interior-hero-content {
        padding-top: 2rem;
        padding-bottom: 2rem;
      }

      body.page-resources .interior-hero h1 {
        font-size: 2.35rem;
      }

      body.page-resources .interior-hero .lead {
        font-size: 1rem;
      }

      body.page-resources .section-padding {
        padding: 3.75rem 0;
      }

      body.page-resources .final-cta .btn,
body.page-resources .interior-hero .btn {
        width: 100%;
      }
    }

/* contact.php */
body.page-contact {
      --u4-dark: #11130f;
      --u4-charcoal: #20231d;
      --u4-green: #5f7f2b;
      --u4-green-dark: #41591d;
      --u4-orange: #d9651f;
      --u4-orange-dark: #a84916;
      --u4-sand: #f3eadb;
      --u4-cream: #fbf7ee;
      --u4-muted: #6f7568;
      --u4-border: rgba(32, 35, 29, .15);
      --u4-shadow: 0 18px 50px rgba(0, 0, 0, .15);
      --u4-radius: 18px;
    }

    html {
      scroll-behavior: smooth;
    }

    body.page-contact {
      margin: 0;
      color: var(--u4-charcoal);
      background: var(--u4-cream);
      font-family: "Inter", Arial, Helvetica, sans-serif;
      line-height: 1.55;
    }

    body.page-contact h1,
body.page-contact h2,
body.page-contact h3,
body.page-contact h4,
body.page-contact h5,
body.page-contact h6,
body.page-contact .navbar-brand,
body.page-contact .btn,
body.page-contact .section-kicker,
body.page-contact .nav-link {
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-weight: 400;
      letter-spacing: .03em;
      text-transform: uppercase;
    }

    body.page-contact .btn,
body.page-contact .nav-link,
body.page-contact .section-kicker {
      font-weight: 600;
    }

    body.page-contact p {
      color: #40443a;
    }

    body.page-contact a {
      color: var(--u4-green-dark);
    }

    body.page-contact .btn {
      border-radius: 0;
      padding: .85rem 1.4rem;
      font-size: .95rem;
      border-width: 2px;
    }

    body.page-contact .btn-u4-green {
      background: var(--u4-green);
      border-color: var(--u4-green);
      color: #fff;
    }

    body.page-contact .btn-u4-green:hover,
body.page-contact .btn-u4-green:focus {
      background: var(--u4-green-dark);
      border-color: var(--u4-green-dark);
      color: #fff;
    }

    body.page-contact .btn-u4-orange {
      background: var(--u4-orange);
      border-color: var(--u4-orange);
      color: #fff;
    }

    body.page-contact .btn-u4-orange:hover,
body.page-contact .btn-u4-orange:focus {
      background: var(--u4-orange-dark);
      border-color: var(--u4-orange-dark);
      color: #fff;
    }

    body.page-contact .btn-u4-outline-light {
      border-color: rgba(255,255,255,.8);
      color: #fff;
      background: transparent;
    }

    body.page-contact .btn-u4-outline-light:hover,
body.page-contact .btn-u4-outline-light:focus {
      background: #fff;
      color: var(--u4-dark);
    }

    body.page-contact .btn-u4-outline-dark {
      border-color: var(--u4-charcoal);
      color: var(--u4-charcoal);
      background: transparent;
    }

    body.page-contact .btn-u4-outline-dark:hover,
body.page-contact .btn-u4-outline-dark:focus {
      background: var(--u4-charcoal);
      color: #fff;
    }

    body.page-contact .site-header {
      position: sticky;
      top: 0;
      z-index: 1000;
      background: #050604;
      border-bottom: 1px solid rgba(255,255,255,.08);
    }

    body.page-contact .navbar {
      padding: .7rem 0;
    }

    body.page-contact .navbar-brand {
      color: #fff;
      display: flex;
      align-items: center;
      gap: .7rem;
      font-size: 1.45rem;
      line-height: 1;
    }

    body.page-contact .site-logo {
      height: 80px;
      width: auto;
      display: block;
    }

    body.page-contact .brand-text small {
      display: block;
      font-family: Arial, Helvetica, sans-serif;
      letter-spacing: .08em;
      font-size: .62rem;
      color: rgba(255,255,255,.68);
      margin-top: .22rem;
    }

    body.page-contact .navbar-toggler {
      border-color: rgba(255,255,255,.4);
    }

    body.page-contact .navbar-toggler-icon {
      filter: invert(1);
    }

    body.page-contact .navbar-nav .nav-link {
      color: rgba(255,255,255,.86);
      font-size: .9rem;
      font-weight: 700;
      padding-left: .85rem;
      padding-right: .85rem;
    }

    body.page-contact .navbar-nav .nav-link:hover,
body.page-contact .navbar-nav .nav-link.active {
      color: #9abd4c;
    }

    body.page-contact .interior-hero {
      min-height: 260px;
      color: #fff;
      position: relative;
      display: flex;
      align-items: center;
      overflow: hidden;
      background:
        linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.62) 36%, rgba(0,0,0,.26) 68%, rgba(0,0,0,.12) 100%),
        url('../img/hero-image.jpg') center center / cover no-repeat,
        linear-gradient(135deg, #2e3328 0%, #7b4b2b 48%, #c27b44 100%);
    }

    body.page-contact .interior-hero::after {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        radial-gradient(circle at 76% 40%, rgba(255,255,255,.08), transparent 0 4px, transparent 5px),
        linear-gradient(transparent 92%, rgba(255,255,255,.025) 93%);
      background-size: 90px 90px, 100% 18px;
      opacity: .10;
      pointer-events: none;
    }

    body.page-contact .interior-hero-content {
      position: relative;
      z-index: 2;
      max-width: 820px;
      padding-top: 2.5rem;
      padding-bottom: 2.5rem;
    }

    body.page-contact .eyebrow {
      color: #9abd4c;
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-weight: 600;
      letter-spacing: .12em;
      text-transform: uppercase;
      margin-bottom: .75rem;
    }

    body.page-contact .interior-hero h1 {
      font-size: clamp(2.35rem, 4.6vw, 4rem);
      line-height: 1;
      font-weight: 400;
      letter-spacing: .025em;
      margin-bottom: .75rem;
      text-shadow: 0 8px 28px rgba(0,0,0,.55);
    }

    body.page-contact .interior-hero .lead {
      color: rgba(255,255,255,.92);
      max-width: 740px;
      font-size: 1.05rem;
      margin-bottom: 0;
    }

    body.page-contact .section-padding {
      padding: 5rem 0;
    }

    body.page-contact .section-kicker {
      color: var(--u4-green-dark);
      font-size: .9rem;
      margin-bottom: .35rem;
    }

    body.page-contact .section-title {
      font-size: clamp(2rem, 4vw, 3.2rem);
      line-height: 1.05;
      font-weight: 400;
      letter-spacing: .025em;
      margin-bottom: 1rem;
    }

    body.page-contact .intro-section {
      background: #fff;
      position: relative;
      overflow: hidden;
    }

    body.page-contact .intro-section::before {
      content: "";
      position: absolute;
      left: -95px;
      bottom: -40px;
      width: 230px;
      height: 230px;
      opacity: .06;
      pointer-events: none;
      transform: rotate(14deg);
      background: repeating-linear-gradient(45deg, var(--u4-charcoal), var(--u4-charcoal) 8px, transparent 8px, transparent 18px);
    }

    body.page-contact .contact-card,
body.page-contact .contact-form-card,
body.page-contact .info-card,
body.page-contact .quick-card {
      background: var(--u4-cream);
      border: 1px solid var(--u4-border);
      border-radius: 16px;
      padding: 2rem;
      height: 100%;
      box-shadow: 0 14px 38px rgba(0,0,0,.06);
    }

    body.page-contact .icon-badge {
      width: 58px;
      height: 58px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--u4-green);
      color: #fff;
      font-size: 1.8rem;
      margin-bottom: 1rem;
    }

    body.page-contact .icon-badge.orange {
      background: var(--u4-orange);
    }

    body.page-contact .contact-options {
      background: var(--u4-sand);
      border-top: 1px solid var(--u4-border);
      border-bottom: 1px solid var(--u4-border);
      padding: 4rem 0;
    }

    body.page-contact .quick-card {
      background: #fff;
    }

    body.page-contact .quick-card h3 {
      font-size: 1.35rem;
      margin-bottom: .75rem;
    }

    body.page-contact .form-section {
      background: #fff;
    }

    body.page-contact .contact-form-card {
      background: var(--u4-cream);
    }

    body.page-contact .form-control,
body.page-contact .form-select {
      border-radius: 0;
      border: 1px solid var(--u4-border);
      padding: .8rem .9rem;
    }

    body.page-contact .form-label {
      font-weight: 700;
      color: var(--u4-charcoal);
      margin-bottom: .35rem;
    }

    body.page-contact .info-band {
      background: var(--u4-charcoal);
      color: #fff;
      padding: 5rem 0;
    }

    body.page-contact .info-band p {
      color: rgba(255,255,255,.82);
    }

    body.page-contact .info-box {
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 16px;
      padding: 2rem;
      height: 100%;
    }

    body.page-contact .info-box h3 {
      color: #fff;
      font-size: 1.35rem;
      margin-bottom: .75rem;
    }

    body.page-contact .check-list {
      list-style: none;
      padding: 0;
      margin: 1.25rem 0 0;
    }

    body.page-contact .check-list li {
      display: flex;
      gap: .75rem;
      margin-bottom: .9rem;
      font-weight: 700;
      color: #30352d;
    }

    body.page-contact .check-list i {
      color: var(--u4-green);
      flex: 0 0 auto;
    }

    body.page-contact .info-band .check-list li {
      color: rgba(255,255,255,.9);
    }

    body.page-contact .social-panel {
      background: var(--u4-cream);
      border-top: 1px solid var(--u4-border);
      border-bottom: 1px solid var(--u4-border);
      padding: 3rem 0;
    }

    body.page-contact .social-link {
      display: flex;
      align-items: center;
      gap: 1rem;
      background: #fff;
      border: 1px solid var(--u4-border);
      border-radius: 14px;
      padding: 1.2rem;
      height: 100%;
      text-decoration: none;
      color: var(--u4-charcoal);
      box-shadow: 0 10px 25px rgba(0,0,0,.04);
    }

    body.page-contact .social-link:hover {
      color: var(--u4-charcoal);
      transform: translateY(-2px);
    }

    body.page-contact .social-link i {
      color: var(--u4-green);
      font-size: 1.65rem;
      flex: 0 0 auto;
    }

    body.page-contact .social-link strong {
      display: block;
      font-family: "Oswald", Arial, Helvetica, sans-serif;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: .025em;
      margin-bottom: .15rem;
    }

    body.page-contact .social-link span {
      display: block;
      font-size: .92rem;
      color: #555b4d;
    }

    body.page-contact .final-cta {
      background:
        linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,0,0,.74)),
        linear-gradient(135deg, #12140f, #303a29);
      color: #fff;
      padding: 3rem 0;
    }

    body.page-contact .final-cta p {
      color: rgba(255,255,255,.82);
      margin-bottom: 0;
    }

    body.page-contact .footer {
      background: #050604;
      color: rgba(255,255,255,.7);
      padding: 1.5rem 0;
      font-size: .9rem;
    }

    body.page-contact .final-cta-icon {
      width: 120px;
      max-width: 100%;
      height: auto;
      display: block;
    }

    @media (max-width: 991.98px) {
      body.page-contact .final-cta-icon {
        width: 90px;
        margin-bottom: 1rem;
      }

      body.page-contact .navbar-collapse {
        padding: 1rem 0;
      }

      body.page-contact .interior-hero {
        min-height: 240px;
      }
    }

    @media (max-width: 575.98px) {
      body.page-contact .interior-hero {
        min-height: 230px;
      }

      body.page-contact .interior-hero-content {
        padding-top: 2rem;
        padding-bottom: 2rem;
      }

      body.page-contact .interior-hero h1 {
        font-size: 2.35rem;
      }

      body.page-contact .interior-hero .lead {
        font-size: 1rem;
      }

      body.page-contact .section-padding {
        padding: 3.75rem 0;
      }

      body.page-contact .final-cta .btn,
body.page-contact .interior-hero .btn {
        width: 100%;
      }
    }

body.page-contact .contact-trap {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

body.page-contact .alert {
  border-radius: 0;
}

body.page-contact .form-control.is-invalid,
body.page-contact .form-select.is-invalid {
  border-color: #b02a37;
}

.footer a,
.footer .footer-social-link {
  color: rgba(255, 255, 255, .86);
}

.footer a:hover,
.footer a:focus,
.footer .footer-social-link:hover,
.footer .footer-social-link:focus {
  color: #9abd4c;
}

.footer-social-link {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  text-decoration: none;
  white-space: nowrap;
}

/* compass.php uses the established About page framework with magazine-specific content. */
body.page-compass .interior-hero {
  min-height: 300px;
  background:
    linear-gradient(100deg, rgba(7, 10, 6, .96), rgba(31, 43, 24, .88)),
    linear-gradient(135deg, #10140d, #43542d);
}

body.page-compass .current-issue {
  background: #fbf7ee;
}

body.page-compass .compass-cover {
  display: inline-block;
  width: min(100%, 410px);
  height: auto;
  border: 10px solid #fff;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .22);
  transition: transform .2s ease, box-shadow .2s ease;
}

body.page-compass a:hover .compass-cover,
body.page-compass a:focus .compass-cover {
  transform: translateY(-4px);
  box-shadow: 0 30px 68px rgba(0, 0, 0, .28);
}

body.page-compass .issue-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1.2rem;
  margin: 1rem 0 1.4rem;
  color: #555b4d;
  font-weight: 600;
}

body.page-compass .issue-meta span {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}

body.page-compass .issue-meta i {
  color: #5f7f2b;
}

body.page-compass .lead-copy {
  font-size: 1.12rem;
}

body.page-compass .issue-highlights {
  margin-top: 1.5rem;
  padding: 1.4rem 1.5rem;
  background: #fff;
  border-left: 5px solid #d9651f;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .08);
}

body.page-compass .issue-highlights h3 {
  font-size: 1.15rem;
}

body.page-compass .issue-highlights ul {
  margin-bottom: 0;
}

body.page-compass .file-help {
  color: #62685a;
  font-size: .92rem;
}

body.page-compass .archive-section {
  background: #fff;
}

body.page-compass .archive-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  padding: 1.5rem;
  background: #fbf7ee;
  border: 1px solid rgba(32, 35, 29, .15);
  border-left: 6px solid #5f7f2b;
}

body.page-compass .archive-card h3 {
  margin: .2rem 0;
}

body.page-compass .archive-date {
  color: #5f7f2b;
  font-family: "Oswald", Arial, Helvetica, sans-serif;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}

@media (max-width: 767.98px) {
  body.page-compass .archive-card {
    align-items: flex-start;
    flex-direction: column;
  }

  body.page-compass .archive-card .btn {
    width: auto;
  }
}

/* Shared accessibility and footer refinements */
.skip-link {
  position: fixed;
  top: .75rem;
  left: .75rem;
  z-index: 1100;
  padding: .7rem 1rem;
  color: #fff;
  background: #20231d;
  border: 2px solid #fff;
  border-radius: .25rem;
  font-weight: 700;
  transform: translateY(-180%);
}

.skip-link:focus {
  color: #fff;
  transform: translateY(0);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex="-1"]:focus-visible {
  outline: 3px solid #f3a323;
  outline-offset: 3px;
}

main[tabindex="-1"]:focus {
  outline: 0;
}

.footer-nav {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1.25rem;
}

.footer-nav a {
  color: #fff;
  font-weight: 700;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}

.footer-nav a:hover,
.footer-nav a:focus {
  color: #dfeebc;
}

.footer-divider {
  height: 1px;
  margin: 1.35rem 0;
  background: rgba(255, 255, 255, .25);
}

.privacy-contact-card {
  position: sticky;
  top: 2rem;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
