/* ================================================================

   POUTERIA CHARITABLE TRUST   SITE CSS

   Based on the Serif Dotclear theme style (style.css)

   Palette:

     Forest dark:   #2d3b2e  (nav, footer)

     Canopy mid:    #3f5540  (accents, hover)

     Bark:          #6b5a3e  (sub-accents)

     Cream:         #f4f1eb  (page bg)

     Sand:          #e8e3d8  (card bg)

     Ink:           #2e2c29  (body text)

     Mist:          #cde8d0  (blockquote / comment bg   replaces the blue)

   Typography:

     Display:       Georgia, "DejaVu Serif", serif

     Body:          Georgia, "DejaVu Serif", serif

     UI / nav:      "DejaVu Sans", system-ui, sans-serif

================================================================ */



/* ---------------------------------------------------------------

   0. CUSTOM FONTS (mirroring original @font-face declarations)

--------------------------------------------------------------- */

@font-face { font-family: "DejaVu Sans";  src: url(fonts/DejaVuSans.ttf); }

@font-face { font-family: "DejaVu Serif"; src: url(fonts/DejaVuSerif.ttf); }

@font-face { font-family: "DejaVu Mono";  src: url(fonts/DejaVuSansMono.ttf); }



/* ---------------------------------------------------------------

   1. RESET & BASE

--------------------------------------------------------------- */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }



html {

  font-size: 101%;

  overflow-x: hidden;

  -webkit-text-size-adjust: 101%;

  scroll-behavior: smooth;

}



body {

  font-family: "DejaVu Serif", Georgia, serif;

  background-color: #f4f1eb;

  color: #2e2c29;

  font-size: 100%;

  line-height: 1.65em;

  -webkit-font-smoothing: antialiased;

  text-rendering: geometricPrecision;

  font-feature-settings: 'liga' 1, 'kern' 1;

}



a { color: #2e2c29; text-decoration: none; transition: all 0.2s ease-in-out; }

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

ul { list-style: none; }

h1,h2,h3,h4,h5,h6 { clear: both; font-weight: 100; line-height: 1.3em; }

h1 { font-size: 2.4em; }

h2 { font-size: 1.7em; }

h3 { font-size: 1.2em; }

hr { background-color: #2d3b2e; clear: both; width: 40%; height: 1px; border: none; margin: 2em auto; }



blockquote {

  max-width: 540px;

  background-color: #cde8d0;

  border-radius: 1em;

  padding: 0.5% 2.5%;

}

blockquote p { width: 100% !important; margin: 0.5em 0 !important; }



pre, code { font-family: "DejaVu Mono", monospace; white-space: normal; }



table { border-collapse: collapse; border-spacing: 0; max-width: 600px; width: 100%; margin: 3em auto; }

th, td { padding: 6px; border-bottom: 1px dotted #c8c4bc; }



/* ---------------------------------------------------------------

   2. PAGE WRAPPER

--------------------------------------------------------------- */

#page { background-color: #fff; margin: 0 auto; max-width: 1400px; }



/* ---------------------------------------------------------------

   3. TOP / NAVIGATION

--------------------------------------------------------------- */

#top {

  background-color: #2d3b2e;

  width: 100%;

  position: sticky;

  top: 0;

  z-index: 100;

}



#topwidth {

  margin: 0 auto;

  padding: 0 2.5%;

  display: flex;

  align-items: center;

  justify-content: space-between;

  flex-wrap: nowrap;   /* keep everything on one line on desktop */

  gap: 1em;

}



.blogname {

  font-family: "DejaVu Sans", system-ui, sans-serif;

  font-size: 90%;

  text-transform: uppercase;

  letter-spacing: 0.06em;

  padding: 10px 0;

  white-space: nowrap;   /* never let the title wrap mid-word */

  flex-shrink: 0;        /* title never gets squished */

}

.blogname a {

  color: #f4f1eb;

  font-weight: 100;

  border-bottom: 1px dotted rgba(255,255,255,0.3);

  padding-bottom: 1px;

  transition: all 0.2s ease-in-out;

}

.blogname a:hover {

  color: #cde8d0;

  border-bottom-color: #cde8d0;

}



/* Wider dropdown for long menu labels */

.has-dropdown:nth-child(2) .dropdown { min-width: 260px; }



/* NAV */

#main-nav { }

#main-nav > ul {

  display: flex;

  flex-wrap: wrap;

  margin: 0;

  padding: 0;

}

#main-nav > ul > li {

  position: relative;

}

#main-nav > ul > li > a {

  display: block;

  color: #f4f1eb;

  font-family: "DejaVu Sans", system-ui, sans-serif;

  font-size: 76%;

  text-transform: uppercase;

  letter-spacing: 0.04em;

  padding: 14px 10px;

  white-space: nowrap;

}

#main-nav > ul > li > a:hover,

#main-nav > ul > li.active > a {

  color: #cde8d0;

  background-color: rgba(255,255,255,0.06);

}



/* DROPDOWNS */

.dropdown {

  display: none;

  position: absolute;

  top: 100%;

  left: 0;

  background-color: #3f5540;

  min-width: 210px;

  border-top: 2px solid #6b5a3e;

  z-index: 200;

}

.has-dropdown:hover .dropdown,

.has-dropdown:focus-within .dropdown {

  display: block;

}

.dropdown li a {

  display: block;

  color: #f4f1eb;

  font-family: "DejaVu Sans", system-ui, sans-serif;

  font-size: 82%;

  padding: 9px 16px;

  border-bottom: 1px solid rgba(255,255,255,0.07);

  white-space: nowrap;

}

.dropdown li a:hover {

  background-color: #4f6b51;

  color: #cde8d0;

}



/* ---------------------------------------------------------------

   3b. RECRUITMENT BANNER

--------------------------------------------------------------- */

#recruit-banner {

  background-color: #6b5a3e;

  color: #f4f1eb;

  text-align: center;

  padding: 9px 5%;

  font-family: "DejaVu Sans", system-ui, sans-serif;

  font-size: 85%;

  line-height: 1.4em;

}

#recruit-banner p { margin: 0; }

#recruit-banner a { color: #cde8d0; border-bottom: 1px dotted #cde8d0; }

#recruit-banner a:hover { color: #fff; border-bottom-color: #fff; }

#recruit-banner strong { font-weight: 700; }



/* ---------------------------------------------------------------

   4. HERO (home page only)   text left, photo right

--------------------------------------------------------------- */

#hero {

  display: flex;

  height: 300px;

  background-color: #2d3b2e;

}



/* Left half: dark green, holds text */

#hero-text {

  flex: 0 0 50%;

  display: flex;

  flex-direction: column;

  justify-content: center;

  padding: 2em 5%;

  background-color: #2d3b2e;

  color: #f4f1eb;

}



/* Right half: tree illustration */

#hero-photo {

  flex: 0 0 50%;

  background-color: #2d3b2e;

  display: flex;

  align-items: center;

  justify-content: center;

  overflow: hidden;

}

#hero-photo img {

  height: 90%;

  width: auto;

  display: block;

}



#hero-text h1 {

  font-size: 2.2em;

  font-weight: 100;

  line-height: 1.15em;

  margin-bottom: 0.4em;

  color: #f4f1eb;

}

#hero-text h1 span {

  display: block;

  font-size: 50%;

  text-transform: uppercase;

  letter-spacing: 0.15em;

  color: #cde8d0;

  font-weight: 100;

}

.hero-tagline {

  font-size: 1em;

  line-height: 1.6em;

  margin-bottom: 1.2em;

  color: #ddd8cf;

}

.hero-btn {

  display: inline-block;

  align-self: flex-start;

  background-color: #3f5540;

  color: #ffffff;

  font-family: "DejaVu Sans", system-ui, sans-serif;

  font-size: 85%;

  text-transform: uppercase;

  letter-spacing: 0.08em;

  padding: 10px 22px;

  border-radius: 2px;

  transition: background-color 0.2s;

  font-weight: 700;

}

.hero-btn:hover { background-color: #2d3b2e; color: #cde8d0; }
.hero-btn,
.hero-btn:link,
.hero-btn:visited,
.inner-content .hero-btn,
.inner-content .hero-btn:link,
.inner-content .hero-btn:visited {
  color: #ffffff !important;
  border-bottom: none !important;
  font-style: normal !important;
  text-decoration: none !important;
}
.hero-btn:hover,
.inner-content .hero-btn:hover { color: #cde8d0 !important; }



/* ---------------------------------------------------------------

   4b. MAIN PHOTO BAND   now above the cards, with intro overlay

--------------------------------------------------------------- */

#bottom-photo {

  width: 100%;

  height: 420px;

  background-image: url(img/bottom-bg.jpg); /* swap in your main photo */

  background-size: cover;

  background-position: center;

  position: relative;

  display: flex;

  flex-direction: column;

  justify-content: space-between;

}



/* Intro text superimposed at the top of the photo */

#home-intro-overlay {

#  background: linear-gradient(to bottom, rgba(45,59,46,0.82) 0%, rgba(45,59,46,0.0) 0%);

  padding: 2em 5% 3em 5%;

  color: #f4f1eb;

  font-size: 1.05em;

  line-height: 1.8em;

  max-width: 780px;

}

#home-intro-overlay strong { font-weight: 700; color: #cde8d0; }



/* Caption bottom-right */

#bottom-photo-caption {

  align-self: flex-end;

  background-color: rgba(45, 59, 46, 0.65);

  color: #f4f1eb;

  font-family: "DejaVu Sans", system-ui, sans-serif;

  font-size: 78%;

  padding: 6px 14px;

  border-radius: 4px 0 0 0;

  font-style: italic;

}

#bottom-photo-caption p { margin: 0; }



/* ---------------------------------------------------------------

   7. HOME PAGE   cards + links side by side

--------------------------------------------------------------- */

.home-bottom-row {

  display: flex;

  align-items: flex-start;

  gap: 2em;

  padding: 2.5em 3% 3em 3%;

}



/* Cards take the bulk of the width */

.home-cards {

  flex: 1 1 0;

  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 1.2em;

}

.card {

  background-color: #e8e3d8;

  border-radius: 4px;

  padding: 1.5em 1.3em;

}

.card-icon { font-size: 1.8em; margin-bottom: 0.3em; }

.card h3 { font-size: 1em; font-weight: 700; margin-bottom: 0.5em; }

.card p { font-size: 0.9em; line-height: 1.6em; margin-bottom: 0.8em; color: #4a4a45; }

.card a { font-size: 0.86em; color: #3f5540; border-bottom: 1px dotted #3f5540; }

.card a:hover { color: #2d3b2e; border-bottom-color: #2d3b2e; }



/* Links sit to the right, fixed width */

.home-links {

  flex: 0 0 220px;

  border-left: 2px solid #e8e3d8;

  padding-left: 1.8em;

}

.home-links h2 { font-size: 1em; font-weight: 700; margin-bottom: 0.8em; border-bottom: 1px dotted #c8c4bc; padding-bottom: 0.4em; text-transform: uppercase; letter-spacing: 0.06em; }

.home-links ul { padding-left: 0; }

.home-links ul li { padding: 0.45em 0; border-bottom: 1px dotted #e8e3d8; font-size: 0.92em; }

.home-links ul li a { color: #3f5540; border-bottom: 1px dotted #3f5540; }

.home-links ul li a:hover { color: #2d3b2e; }



/* ---------------------------------------------------------------

   5. PAGE HERO (inner pages)

--------------------------------------------------------------- */

.page-hero {

  background-color: #3f5540;

  background-image: url(img/hero-bg.jpg);

  background-size: cover;

  background-position: center;

  background-blend-mode: multiply;

  color: #f4f1eb;

  padding: 4em 5%;

  min-height: 200px;

  display: flex;

  align-items: flex-end;

}

.page-hero h1 {

  font-size: 2.2em;

  font-weight: 100;

  color: #f4f1eb;

  max-width: 700px;

}

.page-hero .page-hero-sub {

  font-family: "DejaVu Sans", system-ui, sans-serif;

  font-size: 80%;

  text-transform: uppercase;

  letter-spacing: 0.12em;

  color: #cde8d0;

  margin-bottom: 0.5em;

}



/* ---------------------------------------------------------------

   6. MAIN CONTENT WRAPPER

--------------------------------------------------------------- */

#wrapper { text-align: left; padding: 0 0 2em 0; }

#content { min-height: 400px; }



/* ---------------------------------------------------------------

   7. HOME PAGE SECTIONS

--------------------------------------------------------------- */

/* Cards grid   see .home-bottom-row / .home-cards below */



/* ---------------------------------------------------------------

   8b. PAGE PHOTO & MANTRA CARDS

--------------------------------------------------------------- */

.page-photo {

  width: 100%;

  max-height: 420px;

  object-fit: cover;

  object-position: center 30%;

  border-radius: 4px;

  margin: 0 0 2em 0;

  display: block;

}



.mantra-grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));

  gap: 1.2em;

  margin: 1.5em 0 2em 0;

}

.mantra-card {

  background-color: #e8e3d8;

  border-left: 3px solid #3f5540;

  border-radius: 0 4px 4px 0;

  padding: 1.2em 1.4em;

}

.mantra-card h3 {

  font-size: 0.95em;

  font-weight: 700;

  color: #2d3b2e;

  margin: 0 0 0.5em 0;

  line-height: 1.3em;

}

.page-figure {

  margin: 2em auto;

  text-align: center;

  max-width: 100%;

}

.people-photo-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5em;
}
.people-photo-grid img {
  width: 100%;
  height: auto;              /* never crop — let the image dictate height */
  display: block;
  border-radius: 3px;
  object-fit: contain;
  background-color: #f4f1eb;
}
@media (max-width: 600px) {
  .people-photo-grid {
    grid-template-columns: 1fr;
  }
}

.page-figure figcaption {

  font-size: 0.82em;

  color: #6b6560;

  font-family: "DejaVu Sans", system-ui, sans-serif;

  margin-top: 0.6em;

  font-style: italic;

}



.stats-grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));

  gap: 1.2em;

  margin: 1.8em 0;

}

.stat-card {

  background-color: #2d3b2e;

  border-radius: 4px;

  padding: 2.2em 1.6em;

  color: #f4f1eb;

  text-align: center;

}

.stat-number {

  font-size: 3.2em;

  font-weight: 700;

  color: #cde8d0;

  line-height: 1.1em;

  margin-bottom: 0.3em;

  letter-spacing: -0.02em;

}

.stat-label {

  font-size: 0.85em;

  line-height: 1.5em;

  color: #ddd8cf;

}

.stat-note {

  font-size: 0.75em;

  color: #a9a9a9;

  margin-top: 0.5em;

  font-style: italic;

}



.mantra-card p {

  font-size: 0.88em;

  line-height: 1.6em;

  margin: 0;

  color: #4a4a45;

}



/* ---------------------------------------------------------------

   8c. ABOUT PAGE SPECIFIC STYLES

--------------------------------------------------------------- */



/* In-page section navigation */

.section-nav {

  background-color: #e8e3d8;

  border-left: 3px solid #3f5540;

  padding: 1em 1.5em;

  margin: 0 auto 2em auto;

  max-width: 700px;

}

.section-nav ul {

  display: flex;

  flex-wrap: wrap;

  gap: 0.3em 1.5em;

  padding: 0;

  margin: 0;

}

.section-nav ul li { list-style: none; font-size: 0.85em; }

.section-nav ul li a {

  color: #3f5540;

  border-bottom: 1px dotted #3f5540;

  font-family: "DejaVu Sans", system-ui, sans-serif;

  text-transform: uppercase;

  letter-spacing: 0.04em;

  font-size: 0.9em;

}

.section-nav ul li a:hover { color: #2d3b2e; }



/* Section headings with anchor offset for sticky nav */

.about-section { scroll-margin-top: 60px; }

.about-section h2 {

  font-size: 1.6em;

  font-weight: 100;

  border-bottom: 1px dotted #c8c4bc;

  padding-bottom: 0.3em;

  margin: 0 0 0.8em 0;

}

.about-section h3 {

  font-size: 1.05em;

  font-weight: 700;

  margin: 1.5em 0 0.5em 0;

  color: #3f5540;

}



/* Reserve and detail lists */

.reserve-list, .detail-list {

  padding-left: 0;

  margin: 1em 0;

}

.reserve-list li, .detail-list li {

  list-style: none;

  padding: 0.6em 0 0.6em 1.2em;

  border-bottom: 1px dotted #e8e3d8;

  position: relative;

  font-size: 0.97em;

  line-height: 1.7em;

}

.reserve-list li::before, .detail-list li::before {

  content: " ";

  position: absolute;

  left: 0;

  color: #6b5a3e;

  font-weight: 700;

}



/* Sponsor list */

.sponsor-list {

  padding-left: 0;

  margin: 1em 0 1.5em 0;

  display: flex;

  flex-wrap: wrap;

  gap: 0.8em;

}

.sponsor-list li {

  list-style: none;

  background-color: #e8e3d8;

  padding: 0.5em 1.2em;

  border-radius: 2px;

  font-size: 0.88em;

  font-family: "DejaVu Sans", system-ui, sans-serif;

}



/* People grid */

.people-grid {

  display: grid;

  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));

  gap: 2em;

  margin: 1.5em 0;

}

.person-card {

  background-color: #f4f1eb;

  border: 1px solid #e8e3d8;

  border-radius: 4px;

  padding: 1.2em;

}

.person-card h3 { font-size: 1em; font-weight: 700; margin: 0 0 0.2em 0; }



/* ---------------------------------------------------------------

   STAKEHOLDERS PAGE

--------------------------------------------------------------- */

.stakeholder-group {

  margin: 2.5em 0;

}

.stakeholder-group h2 {

  font-size: 1.1em;

  font-weight: 700;

  text-transform: uppercase;

  letter-spacing: 0.08em;

  color: #3f5540;

  font-family: "DejaVu Sans", system-ui, sans-serif;

  border-bottom: 2px solid #3f5540;

  padding-bottom: 0.4em;

  margin-bottom: 1.2em;

}

.stakeholder-grid {

  display: flex;

  flex-direction: column;

  gap: 1em;

}

.stakeholder-card {

  display: flex;

  align-items: flex-start;

  gap: 1.5em;

  background-color: #f4f1eb;

  border: 1px solid #e8e3d8;

  border-radius: 4px;

  padding: 1.4em;

}

.stakeholder-card--full {

  background-color: #e8e3d8;

}

.stakeholder-card img {

  width: 120px;

  height: 70px;

  object-fit: contain;

  flex-shrink: 0;

  background: #fff;

  border-radius: 3px;

  padding: 6px;

}

/* QEII logo — dark bg JPG, fill the slot edge to edge */
.stakeholder-card img[src*="qe2"] {
  padding: 0;
  object-fit: cover;
  border-radius: 3px;
}

.stakeholder-logo-placeholder {

  width: 120px;

  min-height: 70px;

  flex-shrink: 0;

  background-color: #2d3b2e;

  color: #cde8d0;

  border-radius: 3px;

  display: flex;

  align-items: center;

  justify-content: center;

  text-align: center;

  font-family: "DejaVu Sans", system-ui, sans-serif;

  font-size: 0.78em;

  font-weight: 700;

  padding: 8px;

  line-height: 1.3em;

}

.stakeholder-info h3 {

  font-size: 1em;

  font-weight: 700;

  margin: 0 0 0.4em 0;

  color: #2d3b2e;

}

.stakeholder-info h3 span {

  display: block;

  font-weight: 100;

  font-size: 0.88em;

  color: #6b5a3e;

  font-style: italic;

}

.stakeholder-info p {

  font-size: 0.9em;

  line-height: 1.65em;

  margin: 0;

  color: #4a4a45;

}



@media (max-width: 600px) {

  .stakeholder-card { flex-direction: column; }

  .stakeholder-card img,

  .stakeholder-logo-placeholder { width: 100%; height: 60px; }

}



.logo-grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));

  gap: 1.5em;

  margin: 2em 0 2.5em 0;

  align-items: stretch;

}

.logo-card {

  background-color: #fff;

  border: 1px solid #e8e3d8;

  border-radius: 4px;

  padding: 1.8em 1.4em 1.2em 1.4em;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  text-align: center;

  gap: 1em;

}

.logo-card img {

  max-width: 160px;

  max-height: 90px;

  width: auto;

  height: auto;

  object-fit: contain;

  display: block;

}

.logo-card p {

  font-size: 0.85em;

  font-family: "DejaVu Sans", system-ui, sans-serif;

  color: #4a4a45;

  margin: 0;

  line-height: 1.4em;

}

.logo-card p span {

  color: #6b6560;

  font-size: 0.92em;

}

.logo-card--text {

  background-color: #e8e3d8;

  border-color: #d8d3c8;

}

.logo-card-icon {

  font-size: 2.5em;

}



.person-photo {

  width: 100%;

  height: auto;             /* full image always visible, no cropping */

  display: block;

  border-radius: 4px;

  margin: 0 0 1em 0;

  object-fit: contain;

  background-color: #f4f1eb;

}

.person-role {

  font-size: 0.82em;

  font-family: "DejaVu Sans", system-ui, sans-serif;

  text-transform: uppercase;

  letter-spacing: 0.06em;

  color: #6b5a3e;

  margin: 0 0 0.8em 0;

}

.person-card p { font-size: 0.9em; line-height: 1.65em; margin: 0; }



/* ---------------------------------------------------------------
   DONATE PAGE
--------------------------------------------------------------- */
.donate-layout {
  display: flex;
  gap: 2.5em;
  align-items: flex-start;
  margin: 1em 0;
}
.donate-photo-col {
  flex: 0 0 38%;
}
.donate-photo {
  width: 100%;
  border-radius: 4px;
  display: block;
  object-fit: cover;
}
.donate-text-col {
  flex: 1 1 0;
}
.donate-lead {
  font-size: 1.08em;
  line-height: 1.75em;
  font-weight: 700;
  color: #2d3b2e;
  margin-bottom: 1.2em;
}
.donate-bank {
  background-color: #2d3b2e;
  color: #f4f1eb;
  border-radius: 4px;
  padding: 1.4em 1.8em;
  margin: 1.5em 0;
  text-align: center;
}
.donate-bank-label {
  font-family: "DejaVu Sans", system-ui, sans-serif;
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #cde8d0;
  margin-bottom: 0.4em;
}
.donate-bank-number {
  font-size: 2em;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #cde8d0;
  font-family: "DejaVu Mono", monospace;
  margin-bottom: 0.4em;
}
.donate-bank-hint {
  font-size: 0.8em;
  color: #a9c9aa;
  font-style: italic;
}
.donate-cta {
  margin: 1.5em 0 1em 0;
}
.donate-footer-note {
  font-size: 0.88em;
  color: #6b6560;
  line-height: 1.6em;
  margin-top: 1em;
}
.donate-footer-note a { color: #3f5540; border-bottom: 1px dotted #3f5540; }

/* ---------------------------------------------------------------
   WALKS PAGE — CLOSURE NOTICE
--------------------------------------------------------------- */
.walks-notice {
  display: flex;
  gap: 1.2em;
  align-items: flex-start;
  background-color: #fdf6ec;
  border: 1px solid #e8d8bc;
  border-left: 4px solid #6b5a3e;
  border-radius: 0 4px 4px 0;
  padding: 1.4em 1.6em;
  margin: 0 0 2em 0;
}
.walks-notice-icon {
  font-size: 1.8em;
  flex-shrink: 0;
  line-height: 1.2em;
}
.walks-notice h2 {
  font-size: 1.05em;
  font-weight: 700;
  margin: 0 0 0.5em 0;
  color: #2d3b2e;
  border: none;
  padding: 0;
}
.walks-notice p {
  font-size: 0.92em;
  line-height: 1.65em;
  margin: 0 0 0.5em 0;
}

/* ---------------------------------------------------------------
   TRACK MAINTENANCE PAGE
--------------------------------------------------------------- */
.track-photo-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.8em;
  margin: 2em 0;
}
.track-photo-pair figure {
  margin: 0;
}
.track-photo-pair img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  object-position: center;
  border-radius: 4px;
  display: block;
}
.track-photo-pair figcaption {
  font-size: 0.78em;
  color: #6b6560;
  font-style: italic;
  margin-top: 0.4em;
  font-family: "DejaVu Sans", system-ui, sans-serif;
}
@media (max-width: 640px) {
  .track-photo-pair { grid-template-columns: 1fr; }
  .track-photo-pair img { height: 220px; }
}

/* ---------------------------------------------------------------
   PEST PLANT PAGE — SEASONAL TIMELINE
--------------------------------------------------------------- */
.season-timeline {
  display: flex;
  flex-direction: column;
  gap: 0.8em;
  margin: 1.2em 0 1.5em 0;
}
.season-block {
  display: grid;
  grid-template-columns: 90px 90px 1fr;
  gap: 0 1em;
  align-items: start;
  padding: 1em 1.2em;
  border-radius: 4px;
  border-left: 4px solid;
}
.season-early  { background-color: #eef7ee; border-left-color: #3f5540; }
.season-mid    { background-color: #f4f0e8; border-left-color: #6b5a3e; }
.season-late   { background-color: #f0ede8; border-left-color: #8a7560; }
.season-label {
  font-family: "DejaVu Sans", system-ui, sans-serif;
  font-size: 0.78em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #2d3b2e;
  padding-top: 2px;
}
.season-months {
  font-family: "DejaVu Mono", monospace;
  font-size: 0.82em;
  color: #6b5a3e;
  font-weight: 700;
  padding-top: 2px;
}
.season-desc {
  font-size: 0.9em;
  line-height: 1.65em;
  color: #2e2c29;
}
@media (max-width: 600px) {
  .season-block { grid-template-columns: 1fr; gap: 0.2em; }
  .season-months { color: #8a7560; }
}

/* ---------------------------------------------------------------
   BIRD COUNT PAGE
--------------------------------------------------------------- */
.bird-gallery {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 0.6em;
  margin: 2em 0;
}
.bird-gallery-main img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  border-radius: 4px;
  display: block;
}
.bird-gallery-main figcaption,
.bird-gallery-side figcaption {
  font-size: 0.78em;
  color: #6b6560;
  font-style: italic;
  margin-top: 0.4em;
  font-family: "DejaVu Sans", system-ui, sans-serif;
}
.bird-gallery-side {
  display: flex;
  flex-direction: column;
  gap: 0.6em;
}
.bird-gallery-side figure { margin: 0; }
.bird-gallery-side img {
  width: 100%;
  height: 153px;
  object-fit: cover;
  border-radius: 4px;
  display: block;
}

.bird-aside {
  display: flex;
  gap: 1.5em;
  align-items: flex-start;
  background-color: #f4f1eb;
  border: 1px solid #e8e3d8;
  border-radius: 4px;
  padding: 1.4em;
  margin: 2em 0;
}
.bird-aside img {
  width: 160px;
  height: 200px;
  object-fit: cover;
  border-radius: 3px;
  flex-shrink: 0;
}
.bird-aside-text h3 {
  font-size: 1em;
  font-weight: 700;
  margin: 0 0 0.5em 0;
  color: #2d3b2e;
}
.bird-aside-text p {
  font-size: 0.9em;
  line-height: 1.65em;
  margin: 0 0 0.6em 0;
}

@media (max-width: 680px) {
  .bird-gallery { grid-template-columns: 1fr; }
  .bird-gallery-main img { height: 220px; }
  .bird-gallery-side img { height: 180px; }
  .bird-aside { flex-direction: column; }
  .bird-aside img { width: 100%; height: 200px; }
}

/* ---------------------------------------------------------------
   CLEANUP PAGE
--------------------------------------------------------------- */
.cleanup-with-insert {
  display: flex;
  gap: 2em;
  align-items: flex-start;
  margin: 1.5em 0;
}
.cleanup-text {
  flex: 1 1 0;
}
.cleanup-insert {
  flex: 0 0 300px;
}
.cleanup-shed-photo {
  width: 100%;
  border-radius: 4px;
  display: block;
  object-fit: cover;
  max-height: 360px;
}
@media (max-width: 680px) {
  .cleanup-with-insert { flex-direction: column; }
  .cleanup-insert { flex: none; width: 100%; }
}

/* ---------------------------------------------------------------
   BAITING ROLE CARDS
--------------------------------------------------------------- */
.baiting-roles {
  display: flex;
  flex-direction: column;
  gap: 1em;
  margin: 1.5em 0;
}
.baiting-role-card {
  background-color: #f4f1eb;
  border: 1px solid #e8e3d8;
  border-left: 4px solid #3f5540;
  border-radius: 0 4px 4px 0;
  padding: 1.2em 1.5em;
}
.baiting-role-card--highlight {
  background-color: #2d3b2e;
  border-left-color: #6b5a3e;
  color: #f4f1eb;
}
.baiting-role-card--highlight p,
.baiting-role-card--highlight h3 { color: #f4f1eb; }
.baiting-role-card--highlight h3 { color: #cde8d0; }
.baiting-role-icon {
  font-size: 1.6em;
  margin-bottom: 0.3em;
}
.baiting-role-card h3 {
  font-size: 1em;
  font-weight: 700;
  margin: 0 0 0.6em 0;
  color: #2d3b2e;
}
.baiting-role-card p {
  font-size: 0.9em;
  line-height: 1.65em;
  margin: 0 0 0.6em 0;
}

@media (max-width: 680px) {
  .donate-layout { flex-direction: column; }
  .donate-photo-col { flex: none; width: 100%; }
}

/* Thank-you page */
.thankyou-block {
  background-color: #f4f1eb;
  border: 1px solid #e8e3d8;
  border-left: 4px solid #3f5540;
  border-radius: 4px;
  padding: 2em 2.5em;
  margin: 1em 0 2em 0;
}
.thankyou-intro {
  font-size: 1.1em;
  color: #2d3b2e;
  font-weight: 700;
  margin-bottom: 1.5em;
}
.thankyou-table {
  width: 100%;
  max-width: 600px;
  margin: 0 0 1em 0;
  font-size: 0.92em;
}
.thankyou-table th {
  text-align: left;
  font-weight: 700;
  padding: 7px 14px 7px 0;
  border-bottom: 1px dotted #c8c4bc;
  width: 25%;
  vertical-align: top;
  color: #4a4a45;
}
.thankyou-table td {
  padding: 7px 0;
  border-bottom: 1px dotted #c8c4bc;
  vertical-align: top;
  white-space: pre-wrap;
}

/* Contact form error message */
.contact-error {
  background-color: #fdf0e8;
  border-left: 4px solid #c44;
  padding: 1em 1.5em;
  border-radius: 0 4px 4px 0;
  margin-bottom: 1.5em;
  font-size: 0.95em;
  color: #7a2020;
}

/* Legal table */

.legal-table {

  width: 100%;

  max-width: 500px;

  margin: 1.5em 0;

  font-size: 0.92em;

}

.legal-table th {

  text-align: left;

  font-weight: 700;

  padding: 6px 12px 6px 0;

  border-bottom: 1px dotted #c8c4bc;

  width: 60%;

  color: #4a4a45;

}

.legal-table td {

  padding: 6px 0;

  border-bottom: 1px dotted #c8c4bc;

  font-family: "DejaVu Mono", monospace;

  font-size: 0.95em;

}

.inner-content {

  max-width: 700px;

  margin: 3em auto;

  padding: 0 5%;

  font-size: 1.05em;

  line-height: 1.8em;

}

.inner-content h2 { font-size: 1.5em; margin: 1.5em 0 0.5em 0; font-weight: 100; border-bottom: 1px dotted #c8c4bc; padding-bottom: 0.3em; }

.inner-content h3 { font-size: 1.1em; font-weight: 700; margin: 1.2em 0 0.4em 0; }

.inner-content p { margin: 0.8em 0 1.2em 0; }

.inner-content ul, .inner-content ol { padding-left: 1.5em; margin-bottom: 1em; }

.inner-content ul li { list-style: circle; padding: 0.2em 0; }

.inner-content ol li { list-style: decimal; padding: 0.2em 0; }

.inner-content a { border-bottom: 1px dotted #2e2c29; font-style: italic; color: #3f5540; }

.inner-content a:hover { color: #2d3b2e; }



/* Placeholder text block */

.placeholder-block {

  background-color: #e8e3d8;

  border-left: 3px solid #6b5a3e;

  border-radius: 0 4px 4px 0;

  padding: 1.5em 2em;

  margin: 2em 0;

  font-style: italic;

  color: #6b6560;

  font-size: 0.92em;

}



/* Photo placeholder */

.photo-placeholder {

  background-color: #cde8d0;

  width: 100%;

  max-width: 700px;

  height: 320px;

  border-radius: 4px;

  display: flex;

  align-items: center;

  justify-content: center;

  margin: 2em auto;

  color: #3f5540;

  font-family: "DejaVu Sans", system-ui, sans-serif;

  font-size: 0.85em;

  text-transform: uppercase;

  letter-spacing: 0.1em;

}



/* ---------------------------------------------------------------

   9. CONTACT PAGE

--------------------------------------------------------------- */

.contact-grid {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 3em;

  max-width: 900px;

  margin: 2em auto;

  padding: 0 5%;

}

@media (max-width: 640px) { .contact-grid { grid-template-columns: 1fr; } }

.contact-info h3 { font-weight: 700; margin-bottom: 0.8em; }

.contact-info p { font-size: 0.95em; line-height: 1.7em; margin-bottom: 0.5em; }

.contact-form label { display: block; font-size: 0.85em; text-transform: uppercase; letter-spacing: 0.06em; margin: 1em 0 0.3em 0; }

.contact-form input,

.contact-form textarea {

  width: 100%;

  background: transparent;

  border: 1px solid rgba(0,0,0,0.22);

  padding: 8px 12px;

  font: inherit;

  border-radius: 2px;

  font-size: 0.95em;

}

.contact-form textarea { min-height: 140px; resize: vertical; }

.captcha-block {
  margin: 1em 0;
  padding: 1em 1.2em;
  background-color: #e8e3d8;
  border-radius: 4px;
  border-left: 3px solid #6b5a3e;
}
.captcha-block label {
  display: block;
  font-size: 0.9em;
  font-weight: 700;
  margin-bottom: 0.5em;
  text-transform: none;
  letter-spacing: 0;
  color: #2e2c29;
}
.captcha-block input {
  width: 100px;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.22);
  padding: 6px 10px;
  font: inherit;
  font-size: 0.95em;
  border-radius: 2px;
}

.contact-form button {

  margin-top: 1em;

  background-color: #3f5540;

  color: #f4f1eb;

  border: none;

  padding: 10px 24px;

  font-family: "DejaVu Sans", system-ui, sans-serif;

  font-size: 85%;

  text-transform: uppercase;

  letter-spacing: 0.08em;

  cursor: pointer;

  border-radius: 2px;

  transition: background-color 0.2s;

}

.contact-form button:hover { background-color: #2d3b2e; }



/* ---------------------------------------------------------------

   10. LOGIN PAGE

--------------------------------------------------------------- */

.login-wrap {

  max-width: 400px;

  margin: 4em auto;

  padding: 2.5em;

  background-color: #e8e3d8;

  border-radius: 4px;

}

.login-wrap h2 { font-weight: 700; margin-bottom: 1.2em; text-align: center; font-size: 1.3em; }

.login-wrap label { display: block; font-size: 0.82em; text-transform: uppercase; letter-spacing: 0.06em; margin: 1em 0 0.3em; }

.login-wrap input {

  width: 100%;

  background: #fff;

  border: 1px solid rgba(0,0,0,0.18);

  padding: 8px 12px;

  font: inherit;

  font-size: 0.95em;

  border-radius: 2px;

}

.login-wrap button {

  margin-top: 1.5em;

  width: 100%;

  background-color: #3f5540;

  color: #f4f1eb;

  border: none;

  padding: 11px;

  font-family: "DejaVu Sans", system-ui, sans-serif;

  font-size: 85%;

  text-transform: uppercase;

  letter-spacing: 0.08em;

  cursor: pointer;

  border-radius: 2px;

  transition: background-color 0.2s;

}

.login-wrap button:hover { background-color: #2d3b2e; }

.login-wrap .forgot { display: block; text-align: center; font-size: 0.82em; margin-top: 1em; color: #6b5a3e; }



/* ---------------------------------------------------------------

   11. FOOTER

--------------------------------------------------------------- */

#footer {
  background-color: #2d3b2e;
  color: #a9a9a9;
  font-size: 85%;
  font-family: "DejaVu Sans", system-ui, sans-serif;
  padding: 0;
}

#footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 2.5%;
  gap: 1em;
  flex-wrap: wrap;
}

#footer-sponsors {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

#footer-sponsors span {
  color: #a9a9a9;
  white-space: nowrap;
  font-size: 90%;
}

#footer-sponsors img {
  height: 32px;
  width: auto;
  object-fit: contain;
  border-radius: 2px;
  background: #fff;
  padding: 2px 5px;
  display: block;
}

#footer-links {
  color: #a9a9a9;
  white-space: nowrap;
}

#footer a { color: #cde8d0; text-transform: uppercase; font-size: 90%; }
#footer a:hover { color: #fff; }

/* Remove old footer p rule */
#footer p { margin: 0; }



/* ---------------------------------------------------------------

   12. BREADCRUMB

--------------------------------------------------------------- */

#breadcrumb {

  font-size: 80%;

  font-family: "DejaVu Sans", system-ui, sans-serif;

  color: #6b6560;

  padding: 0.8em 5%;

  border-bottom: 1px dotted #e8e3d8;

}

#breadcrumb a { color: #3f5540; }

#breadcrumb a:hover { color: #2d3b2e; }



/* ---------------------------------------------------------------

   13. RESPONSIVE

--------------------------------------------------------------- */

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

  body { font-family: "DejaVu Sans", system-ui, sans-serif; }

  #topwidth { padding: 0 3%; flex-wrap: wrap; }

  .blogname { font-size: 100%; }

  #main-nav > ul { flex-direction: column; display: none; width: 100%; background-color: #3f5540; }

  #main-nav.open > ul { display: flex; }

  #main-nav > ul > li > a { padding: 12px 16px; border-bottom: 1px solid rgba(255,255,255,0.08); }

  /* Add chevron to dropdown parents on mobile */
  #main-nav .has-dropdown > a::after {
    content: ' ?';
    font-size: 75%;
    opacity: 0.7;
    float: right;
  }
  #main-nav .has-dropdown.open > a::after {
    content: ' ?';
  }

  .dropdown { position: static; display: none !important; background-color: #2d3b2e; }

  .has-dropdown.open .dropdown { display: block !important; }

  .dropdown li a { padding: 10px 16px 10px 28px; font-size: 85%; }

  /* hero stacks vertically on mobile */

  #hero { flex-direction: column; }

  #hero-text { flex: none; padding: 2.5em 5%; }

  #hero-text h1 { font-size: 2em; }

  #hero-photo { flex: none; height: 240px; }

  /* bottom photo shorter on mobile */

  #bottom-photo { height: 280px; }

  /* cards+links stack on mobile */

  .home-bottom-row { flex-direction: column; padding: 1.5em 4%; }

  .home-cards { grid-template-columns: 1fr; }

  .home-links { flex: none; width: 100%; border-left: none; padding-left: 0; border-top: 2px solid #e8e3d8; padding-top: 1.2em; }

  .nav-toggle {

    display: flex;

    align-items: center;

    cursor: pointer;

    color: #f4f1eb;

    font-family: "DejaVu Sans", system-ui, sans-serif;

    font-size: 85%;

    text-transform: uppercase;

    letter-spacing: 0.06em;

    padding: 12px 0;

    background: none;

    border: none;

    gap: 6px;

  }

}

@media only screen and (min-width: 769px) {

  .nav-toggle { display: none; }

}



/* ---------------------------------------------------------------

   14. GO TOP

--------------------------------------------------------------- */

#gotop {

  display: none;

  z-index: 1000;

  position: fixed;

  bottom: 0;

  right: 0.5em;

  padding: 0.25em 0.75em;

  border-radius: 0.25em 0.25em 0 0;

  background-color: #2d3b2e;

  border: 1px solid #3f5540;

  color: white;

  font-size: 90%;

  font-family: "DejaVu Sans", system-ui, sans-serif;

}

#gotop a { color: white; }