﻿.sub-header{position:sticky;top:0;z-index:100;background:#0b261d;color:#fff;padding:16px 5%;display:flex;align-items:center;justify-content:space-between;gap:22px}
.sub-logo{color:#fff;display:flex;align-items:center;gap:12px;font:32px Georgia,serif}
.sub-logo span{color:#d3a95f}
.sub-logo small{font:700 10px/1.5 "DM Sans",sans-serif;letter-spacing:.15em}
#sub-nav{display:flex;align-items:center;gap:17px;flex-wrap:wrap}
#sub-nav a{color:#fff;font-size:12px;font-weight:600}
#sub-nav a:hover{color:#d3a95f}
#sub-menu{display:none;background:transparent;color:#fff;border:1px solid #ffffff77;padding:10px}
.sub-hero{background:radial-gradient(circle at 85% 15%,#315b44,#0b261d 65%);color:#fff;padding:110px 8%}
.sub-hero h1{font:500 clamp(48px,7vw,96px)/1.1 "Playfair Display",Georgia,serif;margin:20px 0}
.sub-hero>p:last-child{max-width:700px;line-height:1.8;font-size:18px;color:#e3e9e0}
.sub-kicker{color:#cba15a;font-size:11px;letter-spacing:.18em;font-weight:700}
.sub-content{padding:85px 8% 110px;background:#f6f3eb;min-height:400px}
.sub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px}
.sub-card{background:#fff;padding:30px;min-height:230px;box-shadow:0 10px 35px #0b261d0d}
.sub-card h2{font:500 28px "Playfair Display",Georgia,serif}
.sub-card p{font-size:15px;line-height:1.8;color:#66766b}
.staff-card{padding:0 0 30px;overflow:hidden}
.staff-card h2,.staff-card p{margin-left:25px;margin-right:25px}
.staff-photo{height:350px;background:#dbe5d8;color:#315b44;display:grid;place-items:center}
.staff-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.gallery-photo{display:block;overflow:hidden;background:#e3e8df}
.gallery-photo img{display:block;width:100%;height:290px;object-fit:cover;transition:transform .3s}
.gallery-photo:hover img{transform:scale(1.04)}
.sub-footer{background:#0b261d;color:#fff;padding:35px 8%;display:flex;justify-content:space-between}
.sub-footer a{color:#d3a95f}
@media(max-width:1100px){#sub-nav{gap:10px}#sub-nav a{font-size:11px}}
@media(max-width:900px){#sub-menu{display:block}#sub-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#0b261d;padding:25px 7%;flex-direction:column;align-items:flex-start}#sub-nav.open{display:flex}#sub-nav a{font-size:15px}.sub-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.sub-hero{padding:80px 6%}.sub-content{padding:60px 6%}.sub-grid{grid-template-columns:1fr}.sub-footer{flex-direction:column;gap:15px}}

/* Dedicated pages: responsive navigation */

@media (max-width: 1150px) {
  .sub-header {
    position: sticky;
    top: 0;
  }

  .sub-header #sub-menu {
    display: block;
    cursor: pointer;
  }

  .sub-header #sub-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #0b261d;
    padding: 20px 6%;
    max-height: calc(100dvh - 75px);
    overflow-y: auto;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .sub-header #sub-nav.open {
    display: flex;
  }

  .sub-header #sub-nav a {
    display: block;
    color: white;
    padding: 15px 5px;
    font-size: 15px;
    border-bottom: 1px solid rgba(255,255,255,.12);
  }
}

/* Dedicated page typography improvements */

@media (min-width: 1151px) {
  #sub-nav {
    gap: 32px;
  }

  #sub-nav a {
    font-size: 14px;
    font-weight: 600;
  }
}

.sub-hero h1 {
  font-size: clamp(58px, 8vw, 112px);
}

.sub-card h2 {
  font-size: 31px;
}

@media (max-width: 1150px) {
  .sub-header #sub-nav a {
    font-size: 17px;
  }
}

/* Integrated page content */

.integrated-title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(42px, 5vw, 72px);
  line-height: 1.15;
  letter-spacing: -.035em;
  color: #143b2c;
  margin: 20px 0 30px;
}

.sub-content + .sub-content {
  border-top: 1px solid #dce2d8;
}

.sub-content > p:not(.sub-kicker) {
  max-width: 720px;
  font-size: 17px;
  line-height: 1.8;
  color: #66766b;
}

@media (max-width: 600px) {
  .integrated-title {
    font-size: 42px;
  }
}

/* =========================================
   TEAM PROFILE DESIGN — CONSISTENT CARDS
   ========================================= */

#our-team .sub-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  align-items: stretch;
}

#our-team .staff-card {
  display: flex;
  flex-direction: column;
  padding: 0 !important;
  min-width: 0;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #e6e8df;
  border-radius: 8px;
  box-shadow: 0 14px 35px rgba(11, 38, 29, 0.06);
}

#our-team .staff-photo {
  width: 100%;
  height: 350px;
  min-height: 350px;
  max-height: 350px;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  position: relative;
  background: #dfe7db;
  color: #567362;
  font-size: 15px;
  text-align: center;
}

#our-team .staff-photo img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center 25%;
  position: static;
}

#our-team .staff-card h2 {
  position: static;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 28px;
  line-height: 1.2;
  color: #143b2c;
  margin: 24px 24px 8px !important;
}

#our-team .staff-card p {
  position: static;
  margin: 0 24px 12px !important;
  font-size: 14px;
  line-height: 1.65;
  color: #65766a;
}

#our-team .staff-card p strong {
  color: #ad8442;
  font-size: 13px;
  font-weight: 700;
}

#our-team .staff-card p:last-child {
  margin-bottom: 28px !important;
}

@media (max-width: 900px) {
  #our-team .sub-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  #our-team .sub-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  #our-team .staff-photo {
    height: 360px;
    min-height: 360px;
    max-height: 360px;
  }
}


/* REDEEM THE CHILDREN — OUR WORK */

.work-feature {
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  background: #f5f2e9;
}

.work-feature-copy {
  padding: clamp(55px, 7vw, 110px) 9%;
}

.work-eyebrow {
  display: block;
  font-size: 11px;
  letter-spacing: .2em;
  font-weight: 700;
  color: #a67c3c;
  margin-bottom: 20px;
}

.work-feature h2,
.work-section-heading h2,
.work-process h2 {
  font: 500 clamp(40px, 5vw, 76px)/1.13
    "Playfair Display", Georgia, serif;
  letter-spacing: -.035em;
  color: #143b2c;
  margin: 0 0 28px;
}

.work-feature h2 em,
.work-section-heading h2 em,
.work-process h2 em {
  color: #ae8446;
  font-weight: 500;
}

.work-feature-copy p,
.work-section-heading p {
  max-width: 640px;
  font-size: 16px;
  line-height: 1.9;
  color: #5b6c60;
}

.work-link {
  display: inline-block;
  margin-top: 25px;
  color: #143b2c;
  font-weight: 700;
  border-bottom: 1px solid #b38b4a;
  padding-bottom: 8px;
}

.work-feature-stat {
  background: #143b2c;
  color: white;
  padding: 75px 12%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.work-feature-stat > span {
  color: #d5af6a;
  font-size: 11px;
  letter-spacing: .17em;
  font-weight: 700;
}

.work-feature-stat strong {
  font: 500 clamp(100px, 13vw, 190px)/1
    "Playfair Display", Georgia, serif;
  color: #d5af6a;
  margin: 25px 0;
}

.work-feature-stat strong span {
  font-size: .4em;
}

.work-feature-stat h3 {
  font: 500 29px "Playfair Display", Georgia, serif;
  color: white;
  margin: 0 0 12px;
}

.work-feature-stat p {
  color: #d3dfd5;
  line-height: 1.8;
  max-width: 350px;
}

.work-programmes {
  background: #fffdf8;
  padding: 100px 8%;
}

.work-section-heading {
  max-width: 850px;
  margin-bottom: 55px;
}

.work-programme-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 24px;
}

.work-programme-card {
  background: #f4f3ec;
  padding: clamp(28px, 4vw, 55px);
  min-height: 350px;
  display: flex;
  flex-direction: column;
  transition: transform .25s, box-shadow .25s;
}

.work-programme-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 45px rgba(20,59,44,.09);
}

.work-card-number {
  color: #a67c3c;
  font-size: 11px;
  letter-spacing: .16em;
  font-weight: 700;
}

.work-card-symbol {
  color: #b38b4a;
  font-size: 38px;
  margin: 25px 0 10px;
}

.work-programme-card h3 {
  font: 500 clamp(26px,3vw,36px)
    "Playfair Display", Georgia, serif;
  color: #143b2c;
  margin: 10px 0 15px;
}

.work-programme-card p {
  color: #5b6c60;
  line-height: 1.8;
  font-size: 15px;
  flex: 1;
}

.work-programme-card a {
  color: #143b2c;
  font-weight: 700;
  font-size: 14px;
  margin-top: 25px;
}

.work-process {
  background: #e7ece3;
  padding: 100px 8%;
}

.work-steps {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 25px;
  margin-top: 50px;
}

.work-steps > div {
  border-top: 1px solid #a9b9a8;
  padding-top: 22px;
}

.work-steps b {
  color: #a67c3c;
  font-size: 14px;
}

.work-steps h3 {
  font: 500 25px "Playfair Display", Georgia, serif;
  color: #143b2c;
}

.work-steps p {
  color: #5b6c60;
  line-height: 1.7;
}

@media(max-width:900px) {
  .work-feature {
    grid-template-columns: 1fr;
  }

  .work-feature-stat {
    padding: 55px 8%;
  }

  .work-steps {
    grid-template-columns: repeat(2,1fr);
  }
}

@media(max-width:600px) {
  .work-programmes,
  .work-process {
    padding: 65px 6%;
  }

  .work-feature-copy {
    padding: 65px 6%;
  }

  .work-programme-grid,
  .work-steps {
    grid-template-columns: 1fr;
  }

  .work-programme-card {
    min-height: auto;
  }
}


/* TOURISM PAGE */

.travel-page {background:#f8f6ef}
.travel-page h1,.travel-page h2,.travel-page h3 {
  font-family:"Playfair Display",Georgia,serif;
  font-weight:500;
}
.travel-page h2 {
  font-size:clamp(42px,5vw,76px);
  line-height:1.12;
  letter-spacing:-.035em;
  color:#143b2c;
}
.travel-page em {color:#c99c55;font-weight:500}
.travel-label {
  display:block;
  font-size:11px;
  font-weight:700;
  letter-spacing:.2em;
  color:#c99c55;
}
.travel-hero {
  min-height:720px;
  min-height:85svh;
  position:relative;
  display:flex;
  align-items:center;
  background:#233f31 url("assets/images/murchison-falls.jpg")
    center/cover no-repeat;
  color:white;
}
.travel-hero-overlay {
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(5,30,21,.88),rgba(5,30,21,.2));
}
.travel-hero-content {
  position:relative;z-index:1;
  padding:100px 8%;
  max-width:1000px;
}
.travel-hero h1 {
  font-size:clamp(52px,7vw,108px);
  line-height:1.07;
  letter-spacing:-.04em;
  margin:25px 0;
}
.travel-hero p {
  font-size:18px;
  line-height:1.8;
  max-width:570px;
  color:#f2f1e9;
}
.travel-button {
  display:inline-block;
  margin-top:26px;
  padding:19px 28px;
  background:#d4aa63;
  color:#123226;
  font-size:14px;
  font-weight:700;
}
.travel-photo-credit {
  position:absolute;
  bottom:12px;right:20px;
  color:#fff;
  font-size:10px;
  z-index:2;
  background:#10291eaa;
  padding:5px 8px;
}
.travel-intro {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9%;
  padding:110px 8%;
}
.travel-intro p,.travel-guides p,.travel-enquiry p,
.travel-contribution p {
  font-size:17px;
  line-height:1.9;
  color:#637166;
}
.travel-intro a,.travel-guides a {
  color:#143b2c;
  font-weight:700;
  border-bottom:1px solid #c99c55;
  display:inline-block;
  margin-top:15px;
}
.travel-experiences {
  background:#e9eee7;
  padding:105px 8%;
}
.travel-heading {margin-bottom:50px}
.travel-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.travel-card {
  background:white;
  overflow:hidden;
  transition:transform .25s ease;
}
.travel-card:hover {transform:translateY(-5px)}
.travel-card-image {
  height:270px;
  background:#d6e0d2;
  background-position:center;
  background-size:cover;
  display:grid;
  place-items:center;
}
.falls-image {
  background-image:url("assets/images/murchison-falls.jpg");
}
.travel-card-image span {
  font-size:11px;
  color:#58705e;
  letter-spacing:.15em;
}
.travel-card-body {padding:30px}
.travel-card-body>span {
  color:#ad8345;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
}
.travel-card h3 {
  color:#143b2c;
  font-size:30px;
  margin:15px 0;
}
.travel-card p {
  color:#657367;
  line-height:1.75;
  font-size:15px;
}
.travel-card a {
  display:inline-block;
  margin-top:15px;
  font-size:14px;
  color:#143b2c;
  font-weight:700;
}
.travel-guides {
  padding:110px 8%;
  background:#f8f6ef;
}
.travel-guides p {max-width:760px}
.travel-contribution {
  display:grid;
  grid-template-columns:1.4fr .6fr;
  gap:50px;
  align-items:center;
  padding:100px 8%;
  background:#143b2c;
  color:white;
}
.travel-contribution h2 {color:white}
.travel-contribution p {color:#d6e3d8}
.travel-contribution-number {
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.travel-contribution-number strong {
  font:500 clamp(95px,12vw,180px) Georgia,serif;
  color:#d4aa63;
}
.travel-contribution-number span {
  color:#e1e9de;
  max-width:270px;
  line-height:1.6;
}
.travel-enquiry {
  padding:110px 8%;
  text-align:center;
}
.travel-enquiry p {
  max-width:650px;
  margin:20px auto;
}
@media(max-width:900px) {
  .travel-intro,.travel-contribution {grid-template-columns:1fr}
  .travel-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px) {
  .travel-hero {min-height:680px}
  .travel-hero-content {padding:85px 6%}
  .travel-intro,.travel-experiences,.travel-guides,
  .travel-contribution,.travel-enquiry {padding:70px 6%}
  .travel-grid {grid-template-columns:1fr}
  .travel-card-image {height:250px}
}


/* GET INVOLVED */

.involve-page {background:#f8f6ef}
.involve-page h1,.involve-page h2,.involve-page h3 {
  font-family:"Playfair Display",Georgia,serif;
  font-weight:500;
}
.involve-page h2 {
  font-size:clamp(42px,5vw,74px);
  line-height:1.12;
  letter-spacing:-.035em;
  color:#143b2c;
}
.involve-page em {color:#b48b4c;font-weight:500}
.involve-kicker {
  color:#b48b4c;
  font-size:11px;
  font-weight:700;
  letter-spacing:.19em;
}
.involve-hero {
  background:radial-gradient(circle at 80% 25%,#3c624b,#102c21 70%);
  color:#fff;
  padding:125px 8%;
}
.involve-hero h1 {
  font-size:clamp(55px,8vw,110px);
  line-height:1.06;
  margin:25px 0;
  letter-spacing:-.04em;
}
.involve-hero>p:not(.involve-kicker) {
  max-width:620px;
  font-size:18px;
  line-height:1.8;
  color:#e2e9df;
}
.involve-button {
  display:inline-block;
  background:#d5aa62;
  color:#143b2c;
  border:0;
  padding:18px 28px;
  font:700 14px "DM Sans",sans-serif;
  cursor:pointer;
  margin-top:20px;
}
.involve-intro {
  padding:100px 8%;
  max-width:1100px;
}
.involve-intro>p:last-child {
  font-size:17px;
  line-height:1.85;
  color:#617063;
  max-width:750px;
}
.involve-options {
  padding:20px 8% 110px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.involve-option {
  background:#e9eee6;
  padding:45px;
  display:flex;
  flex-direction:column;
  min-height:310px;
}
.involve-option>span {
  font-size:11px;
  color:#a47c40;
  letter-spacing:.15em;
  font-weight:700;
}
.involve-option h3 {
  font-size:clamp(28px,3vw,40px);
  color:#143b2c;
  margin:25px 0 12px;
}
.involve-option p {
  color:#617063;
  line-height:1.8;
  flex:1;
}
.involve-option a,.involve-story-copy a {
  color:#143b2c;
  font-weight:700;
  font-size:14px;
  margin-top:20px;
}
.involve-story {
  display:grid;
  grid-template-columns:1fr 1fr;
  background:#e4e9df;
}
.involve-story-photo {
  min-height:500px;
  overflow:hidden;
}
.involve-story-photo img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.involve-story-copy {
  padding:80px 10%;
  align-self:center;
}
.involve-story-copy p:not(.involve-kicker) {
  font-size:16px;
  line-height:1.85;
  color:#617063;
}
.involve-contact {
  padding:110px 8%;
  background:#fffdf8;
}
.involve-contact-intro {
  max-width:700px;
  color:#617063;
  font-size:17px;
  line-height:1.8;
}
.involve-form {
  max-width:820px;
  margin-top:45px;
}
.involve-form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.involve-form label {
  display:flex;
  flex-direction:column;
  gap:10px;
  color:#143b2c;
  font-weight:700;
  font-size:13px;
  margin-bottom:24px;
}
.involve-form input,
.involve-form select,
.involve-form textarea {
  width:100%;
  box-sizing:border-box;
  padding:17px;
  border:1px solid #cbd6ca;
  background:#fff;
  color:#143b2c;
  font:15px "DM Sans",sans-serif;
  border-radius:3px;
}
.involve-form input:focus,
.involve-form select:focus,
.involve-form textarea:focus {
  outline:2px solid #b48b4c;
  outline-offset:2px;
}
.involve-feedback {
  color:#315b44;
  line-height:1.7;
  margin-top:18px;
}
@media(max-width:800px) {
  .involve-story {grid-template-columns:1fr}
  .involve-story-photo {min-height:340px}
}
@media(max-width:600px) {
  .involve-hero,.involve-intro,.involve-contact {
    padding:70px 6%;
  }
  .involve-options {
    padding:10px 6% 70px;
    grid-template-columns:1fr;
  }
  .involve-option {padding:30px;min-height:auto}
  .involve-story-copy {padding:65px 6%}
  .involve-form-row {grid-template-columns:1fr;gap:0}
}


/* ABOUT US — EDITORIAL DESIGN */

.about-story,
.about-beliefs,
.about-tourism,
.about-values {
  padding: clamp(65px,8vw,120px) 8%;
}

.about-eyebrow,
.about-story-label span {
  color:#a67c3c;
  font-size:11px;
  letter-spacing:.19em;
  font-weight:700;
}

.about-story {
  display:grid;
  grid-template-columns:.65fr 1.35fr;
  gap:10%;
  background:#f8f6ef;
}

.about-story-label p {
  margin-top:20px;
  font-size:12px;
  color:#65766b;
  letter-spacing:.12em;
}

.about-story h2,
.about-beliefs h2,
.about-tourism h2,
.about-values h2 {
  font:500 clamp(40px,5vw,75px)/1.15
    "Playfair Display",Georgia,serif;
  letter-spacing:-.035em;
  color:#143b2c;
  margin:20px 0 30px;
}

.about-beliefs h2 em,
.about-tourism h2 em {
  color:#bd9453;
  font-weight:500;
}

.about-story-content p,
.about-tourism p {
  font-size:17px;
  line-height:1.9;
  color:#637267;
  max-width:750px;
}

.about-beliefs {
  background:#e8ede5;
}

.about-beliefs-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin-top:55px;
}

.about-beliefs-grid article {
  border-top:1px solid #aebdaf;
  padding-top:25px;
}

.about-beliefs-grid article>span {
  color:#a67c3c;
  font-weight:700;
  font-size:13px;
}

.about-beliefs-grid h3,
.about-values-grid h3 {
  font:500 29px "Playfair Display",Georgia,serif;
  color:#143b2c;
}

.about-beliefs-grid p,
.about-values-grid p {
  color:#637267;
  font-size:15px;
  line-height:1.8;
}

.about-tourism {
  display:grid;
  grid-template-columns:1.4fr .6fr;
  gap:60px;
  align-items:center;
  background:#143b2c;
}

.about-tourism h2 {
  color:#fff;
}

.about-tourism p {
  color:#d9e3da;
}

.about-tourism-number {
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.about-tourism-number strong {
  color:#d4aa63;
  font:500 clamp(90px,12vw,180px) Georgia,serif;
}

.about-tourism-number span {
  color:#e2e9df;
  font-size:14px;
  line-height:1.7;
  max-width:260px;
}

.about-button {
  display:inline-block;
  padding:18px 25px;
  background:#d4aa63;
  color:#143b2c;
  font-weight:700;
  margin-top:20px;
}

.about-values {
  background:#fffdf8;
}

.about-values-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:25px;
  margin-top:45px;
}

.about-values-grid>div {
  border-top:2px solid #d4aa63;
  padding-top:20px;
}

@media(max-width:900px) {
  .about-story,
  .about-tourism {
    grid-template-columns:1fr;
  }

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

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

@media(max-width:600px) {
  .about-story,
  .about-beliefs,
  .about-tourism,
  .about-values {
    padding:65px 6%;
  }

  .about-beliefs-grid,
  .about-values-grid {
    grid-template-columns:1fr;
  }
}


/* ======================================
   REDEEM THE CHILDREN — GLOBAL REFINEMENTS
   ====================================== */

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

body {
  overflow-x: hidden;
}

img {
  max-width: 100%;
}

a, button {
  -webkit-tap-highlight-color: transparent;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid #d4aa63;
  outline-offset: 4px;
}

.sub-header {
  min-height: 82px;
  box-sizing: border-box;
}

.sub-logo {
  text-decoration: none;
  flex-shrink: 0;
}

#sub-nav a {
  transition: color .2s ease;
  text-decoration: none;
}

#sub-nav a:hover {
  color: #d4aa63;
}

.sub-hero {
  padding-top: clamp(90px, 10vw, 145px);
  padding-bottom: clamp(90px, 10vw, 145px);
}

.sub-hero h1 {
  max-width: 1100px;
  letter-spacing: -.045em;
}

.sub-content {
  padding-top: clamp(65px, 7vw, 110px);
  padding-bottom: clamp(65px, 7vw, 110px);
}

.sub-card {
  transition: transform .25s ease, box-shadow .25s ease;
}

.sub-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 45px rgba(11,38,29,.09);
}

.gallery-photo img {
  transition: transform .45s ease;
}

.gallery-photo:hover img {
  transform: scale(1.045);
}

@media (max-width: 1150px) {
  #sub-nav {
    z-index: 200;
  }

  #sub-nav.open {
    display: flex;
  }

  #sub-nav a {
    padding: 17px 5px;
    font-size: 17px;
  }
}

@media (max-width: 600px) {
  .sub-header {
    min-height: 72px;
  }

  .sub-hero {
    padding: 80px 6%;
  }

  .sub-hero h1 {
    font-size: clamp(48px, 12vw, 68px);
    overflow-wrap: break-word;
  }

  .sub-hero > p:last-child {
    font-size: 16px;
  }

  .sub-card {
    min-height: auto;
  }

  .sub-footer {
    padding: 30px 6%;
  }
}

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

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}


/* BUTTON SYSTEM — SITE WIDE */

.travel-button,
.involve-button,
.about-button,
.work-link,
.travel-card a,
.involve-option a,
.involve-story-copy a {
  text-decoration: none;
  transition:
    background-color .25s ease,
    color .25s ease,
    transform .25s ease,
    box-shadow .25s ease;
}

.travel-button:hover,
.involve-button:hover,
.about-button:hover {
  background:#173e2d;
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(10,45,29,.2);
}

.work-link:hover,
.travel-card a:hover,
.involve-option a:hover,
.involve-story-copy a:hover {
  color:#a67c3c;
}

.travel-button:active,
.involve-button:active,
.about-button:active {
  transform:translateY(0);
}

.travel-button:focus-visible,
.involve-button:focus-visible,
.about-button:focus-visible {
  outline:3px solid #d4aa63;
  outline-offset:4px;
}

@media(hover:none) {
  .travel-button:hover,
  .involve-button:hover,
  .about-button:hover {
    transform:none;
    box-shadow:none;
  }
}


/* DONATE PAGE */

.donate-page {background:#faf8f2}
.donate-page h1,.donate-page h2,.donate-page h3 {
  font-family:"Playfair Display",Georgia,serif;
  font-weight:500;
}
.donate-page em {color:#d4aa63;font-weight:500}
.donate-eyebrow {
  display:block;
  color:#b68c4a;
  font-size:11px;
  letter-spacing:.19em;
  font-weight:700;
}
.donate-hero {
  padding:110px 8%;
  background:radial-gradient(circle at 80% 15%,#41644d,#102c21 75%);
  color:#fff;
}
.donate-hero h1 {
  font-size:clamp(52px,7vw,105px);
  line-height:1.1;
  letter-spacing:-.04em;
  margin:25px 0;
}
.donate-hero p {
  max-width:650px;
  color:#e0e8df;
  font-size:18px;
  line-height:1.8;
}
.donate-primary {
  display:inline-block;
  background:#d4aa63;
  color:#143b2c;
  border:0;
  padding:18px 28px;
  font:700 14px "DM Sans",sans-serif;
  cursor:pointer;
  text-decoration:none;
  margin-top:20px;
  transition:background .2s,color .2s,transform .2s;
}
.donate-primary:hover {
  background:#143b2c;
  color:white;
  transform:translateY(-2px);
}
.donate-main {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7%;
  padding:110px 8%;
}
.donate-copy h2,.donate-other h2 {
  font-size:clamp(42px,5vw,70px);
  line-height:1.15;
  color:#143b2c;
  margin:25px 0;
}
.donate-copy>p {
  color:#617063;
  font-size:17px;
  line-height:1.85;
}
.donate-purpose {margin-top:40px}
.donate-purpose>div {
  display:flex;
  gap:20px;
  border-top:1px solid #cbd6ca;
  padding:20px 0;
  color:#143b2c;
}
.donate-purpose b {color:#b68c4a}
.donate-panel {
  padding:40px;
  background:white;
  border:1px solid #e0e5da;
  box-shadow:0 20px 60px rgba(20,59,44,.07);
  align-self:start;
}
.donate-panel h3 {
  color:#143b2c;
  font-size:35px;
  margin:15px 0 25px;
}
.donate-frequency {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:30px;
}
.donate-frequency button,.donate-amounts button {
  padding:16px 10px;
  background:#f0f3ed;
  color:#143b2c;
  border:1px solid #d8e1d6;
  cursor:pointer;
  font-weight:700;
}
.donate-frequency button.selected,
.donate-amounts button.selected {
  background:#143b2c;
  color:white;
  border-color:#143b2c;
}
.donate-field-label {
  display:block;
  color:#143b2c;
  font-weight:700;
  font-size:13px;
  margin:18px 0 12px;
}
.donate-amounts {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
#custom-amount {
  box-sizing:border-box;
  width:100%;
  padding:16px;
  border:1px solid #cbd6ca;
  font-size:16px;
}
.donate-total {
  margin-top:28px;
  padding:24px;
  background:#e8eee5;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.donate-total span {font-size:13px;color:#617063}
.donate-total strong {font-size:30px;color:#143b2c}
.donate-total small {color:#617063}
.donate-payment-note {
  color:#657367;
  line-height:1.7;
  font-size:13px;
  margin-top:25px;
}
.donate-panel .donate-primary {width:100%}
.donate-other {
  background:#e8eee5;
  padding:100px 8%;
}
.donate-other-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:25px;
  margin-top:45px;
}
.donate-other-grid article {
  background:#fffdf8;
  padding:35px;
}
.donate-other-grid h3 {
  font-size:27px;
  color:#143b2c;
}
.donate-other-grid p {
  color:#617063;
  line-height:1.8;
}
.donate-other-grid a {
  color:#143b2c;
  font-weight:700;
}
@media(max-width:900px) {
  .donate-main {grid-template-columns:1fr}
  .donate-other-grid {grid-template-columns:1fr}
}
@media(max-width:600px) {
  .donate-hero,.donate-main,.donate-other {padding:65px 6%}
  .donate-panel {padding:25px}
}


/* STEP 31 — SHARED NAVIGATION */

.sub-header #sub-nav .nav-donate {
  background:#d3a95f;
  color:#102b21;
  padding:13px 20px;
  border-radius:3px;
  font-weight:800;
  text-align:center;
  transition:background .2s ease,color .2s ease;
}

.sub-header #sub-nav .nav-donate:hover {
  background:#fff;
  color:#102b21;
}

@media(max-width:1150px) {
  .sub-header {
    position:sticky;
    top:0;
    z-index:9999;
  }

  .sub-header #sub-menu {
    display:block;
    color:white;
    background:transparent;
    border:1px solid #ffffff88;
    padding:12px 18px;
    cursor:pointer;
  }

  .sub-header #sub-nav {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:9999;
    background:#0b261d;
    flex-direction:column;
    align-items:stretch;
    padding:20px 6%;
    max-height:calc(100vh - 80px);
    overflow-y:auto;
    box-shadow:0 20px 35px rgba(0,0,0,.25);
  }

  .sub-header #sub-nav.open {
    display:flex;
  }

  .sub-header #sub-nav a {
    display:block;
    color:#fff;
    padding:14px 10px;
    font-size:16px;
  }

  .sub-header #sub-nav .nav-donate {
    color:#102b21;
    margin-top:8px;
  }
}


#sub-nav .nav-donate {
    background:#d3a95f;
    color:#102b21 !important;
    padding:12px 20px;
    border-radius:4px;
    font-weight:800;
    text-decoration:none;
    display:inline-block;
}

#sub-nav .nav-donate:hover {
    background:#ffffff;
    color:#102b21 !important;
}


/* STEP 31J — CLEAN NAVIGATION SPACING */

/* Consistent header layout */
.sub-header {
    gap: 24px;
    padding-left: 4%;
    padding-right: 4%;
}

/* Desktop navigation */
@media (min-width: 1151px) {

    .sub-header #sub-nav,
    #main-nav {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: nowrap;
        gap: clamp(14px, 1.65vw, 28px);
    }

    .sub-header #sub-nav a,
    #main-nav a {
        white-space: nowrap;
        font-size: 13px;
        font-weight: 600;
        letter-spacing: 0.01em;
        line-height: 1.4;
    }

    .sub-header .sub-logo {
        flex-shrink: 0;
    }

    .sub-header #sub-nav .nav-donate,
    #main-nav .nav-donate {
        padding: 13px 22px;
        margin-left: 6px;
        white-space: nowrap;
    }
}

/* Mobile and tablet navigation */
@media (max-width: 1150px) {

    .sub-header #sub-nav.open {
        gap: 4px;
    }

    .sub-header #sub-nav a {
        padding: 15px 12px;
        line-height: 1.5;
    }

    .sub-header #sub-nav .nav-donate {
        margin-top: 12px;
        padding: 16px 20px;
        text-align: center;
    }
}


/* STEP 35 — FOUNDATION BRANDING */

.sub-header .sub-logo {
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    flex-shrink:0;
}

.sub-header .sub-logo small {
    display:block;
    font-size:10px;
    line-height:1.35;
    letter-spacing:0.07em;
    font-weight:700;
    max-width:155px;
}

@media(max-width:600px) {
    .sub-header .sub-logo {
        gap:7px;
    }

    .sub-header .sub-logo small {
        font-size:8px;
        letter-spacing:0.02em;
        max-width:120px;
    }
}

