/* IDYLEASE TREE FARM — SELF-CONTAINED EDITORIAL GRID / IMAGE SYSTEM */

/* The new editorial modules do not depend on Bootstrap columns. */
.rz-editorial-section .container {
  width: min(1180px, calc(100% - 80px));
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}

.rz-editorial-layout,
.rz-editorial-layout.row {
  display: grid !important;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: 56px;
  align-items: stretch;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto !important;
}

.rz-stewardship-section .rz-editorial-layout,
.rz-water-section .rz-editorial-layout {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
}

.rz-editorial-layout > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
}

.rz-media-column {
  display: block !important;
  min-width: 0;
}

.rz-copy-block,
.rz-copy-roomy {
  max-width: none !important;
  padding-right: 0 !important;
}

.rz-editorial-media {
  --rz-media-position: 50% 50%;
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
  background: #e9ebe7;
  isolation: isolate;
}

.rz-editorial-media .rz-media-img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: var(--rz-media-position);
}

.rz-editorial-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(17,17,17,.07);
}

.rz-media-history { --rz-media-position: 50% 50%; min-height: 360px; }
.rz-media-stewardship { --rz-media-position: 50% 48%; min-height: 520px; }
.rz-media-management { --rz-media-position: 50% 50%; min-height: 470px; }
.rz-media-water { --rz-media-position: 50% 52%; min-height: 430px; }

.rz-media-with-caption::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.76) 100%);
}

.rz-media-caption-overlay {
  position: absolute;
  left: 30px;
  right: 30px;
  bottom: 28px;
  z-index: 2;
  color: #fff;
}
.rz-media-caption-overlay .rz-year-mark {
  display: block;
  margin: 0 0 14px;
  color: #fff !important;
  opacity: .96;
  font-size: 72px;
  line-height: .9;
  font-weight: 700;
  letter-spacing: -.04em;
}
.rz-media-caption-overlay p {
  margin: 0;
  max-width: 440px;
  color: #fff;
  font-size: 16px;
  line-height: 1.55;
}

/* Horizontal history timeline is a line with milestones, not cards.
   Consolidated from the final working cascade. */
.rz-mini-timeline-horizontal {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
  max-width: 1180px;
  margin: 34px auto 0;
  padding-top: 18px;
}
.rz-mini-timeline-horizontal::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: rgba(17,17,17,.16);
}
.rz-mini-point {
  position: relative;
  padding: 20px 12px 0 0;
}
.rz-mini-point::before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  left: 0;
  top: -5px;
  background: var(--primary-color);
  box-shadow: 0 0 0 6px #fff;
}
.rz-mini-year {
  display: block;
  margin: 0 0 7px;
  font-size: 28px;
  line-height: 1;
  letter-spacing: -.03em;
  font-weight: 700;
  color: #111;
}
.rz-mini-point p {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
}

/* 2021–2023 is a compact vertical timeline. */
.rz-mini-timeline-vertical,
.rz-stewardship-steps {
  position: relative;
  margin: 0 0 0 18px !important;
  padding: 0 0 0 34px !important;
  border-left: 1px solid rgba(17,17,17,.16);
}
.rz-mini-timeline-vertical {
  border-left-color: rgba(17,17,17,.14);
}
.rz-mini-step {
  position: relative;
  margin: 0 0 20px;
  padding: 0 0 25px;
  border-bottom: 1px solid rgba(17,17,17,.09);
}
.rz-mini-step:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
.rz-mini-step::before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  left: -40px;
  top: 7px;
  background: var(--primary-color);
  box-shadow: 0 0 0 6px #fff;
}
.rz-mini-step .rz-mini-year {
  margin-bottom: 5px;
  font-size: 24px;
}
.rz-mini-step h4 {
  margin: 0 0 7px;
  font-size: 19px;
  line-height: 1.3;
}
.rz-mini-step p {
  margin: 0;
  font-size: 15px;
  line-height: 25px;
}

.rz-accountability {
  margin: 30px 0 0 52px !important;
}

/* Keep metric information compact and secondary. */
.rz-stat-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  max-width: 1180px;
  margin: 42px auto 0;
  border-top: 1px solid rgba(17,17,17,.13);
  border-bottom: 1px solid rgba(17,17,17,.13);
}
.rz-stat-strip .rz-stat {
  min-height: 0 !important;
  padding: 24px 26px;
  border: 0 !important;
  border-right: 1px solid rgba(17,17,17,.10) !important;
  background: transparent !important;
}
.rz-stat-strip .rz-stat:last-child { border-right: 0 !important; }
.rz-stat-strip .rz-stat h4 { margin: 0 0 7px; }
.rz-stat-strip .rz-stat p { margin: 0; }

.rz-objectives-inline { margin: 28px 0 0 !important; }
.rz-objectives-inline ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 0 26px;
}

.rz-focus-left { --rz-media-position: 30% 50%; }
.rz-focus-right { --rz-media-position: 70% 50%; }
.rz-focus-top { --rz-media-position: 50% 30%; }
.rz-focus-bottom { --rz-media-position: 50% 70%; }

@media (max-width: 991px) {
  .rz-editorial-section .container {
    width: min(100% - 44px, 760px);
  }
  .rz-editorial-layout,
  .rz-editorial-layout.row,
  .rz-stewardship-section .rz-editorial-layout,
  .rz-water-section .rz-editorial-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .rz-media-history,
  .rz-media-stewardship,
  .rz-media-management,
  .rz-media-water {
    min-height: 0;
    height: auto;
    aspect-ratio: 16 / 10;
  }
  .rz-editorial-media .rz-media-img { position: absolute; inset: 0; }
  .rz-mini-timeline-horizontal {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .rz-mini-timeline-horizontal::before { display: none; }
  .rz-mini-point {
    padding-top: 14px;
  }
  .rz-mini-timeline-vertical,
  .rz-stewardship-steps {
    margin-left: 0 !important;
    padding-left: 28px !important;
  }
  .rz-accountability { margin-left: 28px !important; }
  .rz-stat-strip { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 575px) {
  .rz-editorial-section .container { width: calc(100% - 32px); }
  .rz-mini-year { font-size: 24px; }
  .rz-mini-step .rz-mini-year { font-size: 22px; }
  .rz-media-history,
  .rz-media-stewardship,
  .rz-media-management,
  .rz-media-water { aspect-ratio: 4 / 3; }
  .rz-stat-strip { grid-template-columns: 1fr; }
  .rz-stat-strip .rz-stat {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(17,17,17,.10) !important;
  }
  .rz-stat-strip .rz-stat:last-child { border-bottom: 0 !important; }
  .rz-objectives-inline ul { grid-template-columns: 1fr; }
  .rz-media-caption-overlay { left: 22px; right: 22px; bottom: 22px; }
  .rz-media-caption-overlay .rz-year-mark { font-size: 50px; }
}


/* =========================================================
   IDYLEASE TREE FARM — HOMEPAGE-STYLE COMPACT PARALLAX
   Same stable media/veil/content geometry and direct
   scroll-linked image movement used by the Idylease framework.
   ========================================================= */
.rz-tree-parallax {
    position: relative;
    z-index: 1;
    width: min(94vw, 1860px);
    margin-left: auto;
    margin-right: auto;
    min-height: clamp(340px, 27vw, 410px);
    display: flex;
    align-items: center;
    overflow: hidden;
    isolation: isolate;
    background: #111;
    color: #fff;
    text-align: center;
}

.rz-tree-parallax,
.rz-tree-parallax * {
    box-sizing: border-box;
}

.rz-tree-parallax__media {
    position: absolute;
    inset: -12% 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    background: #111;
}

.rz-tree-parallax__image {
    position: absolute;
    left: 0;
    top: -10%;
    width: 100%;
    height: 128%;
    max-width: none;
    display: block;
    object-fit: cover;
    object-position: var(--rz-parallax-position, 50% 48%);
    transform: translate3d(0,-64px,0) scale(1.045);
    transform-origin: center center;
    will-change: transform;
    backface-visibility: hidden;
}

.rz-tree-parallax--history { --rz-parallax-position: 50% 48%; }
.rz-tree-parallax--management { --rz-parallax-position: 50% 52%; }
.rz-tree-parallax--team-field { --rz-parallax-position: 50% 50%; }

/* Visual-only pace break: no added copy, just a full-width pause between sections. */
.rz-tree-parallax--visual-only {
    min-height: clamp(250px, 22vw, 330px);
}
.rz-tree-parallax--visual-only .rz-tree-parallax__veil {
    background: linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.05) 48%, rgba(0,0,0,.18) 100%);
}

/* The stewardship statement now carries the pause between the professional team and field notes. */
.rz-tree-parallax--stewardship-quote {
    min-height: clamp(310px, 28vw, 410px);
}
.rz-tree-parallax--stewardship-quote .rz-tree-parallax__veil {
    background:
        radial-gradient(circle at 50% 48%, rgba(0,0,0,.08) 0%, rgba(0,0,0,.28) 62%, rgba(0,0,0,.54) 100%),
        linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.08) 42%, rgba(0,0,0,.30) 100%);
}
.rz-tree-parallax--stewardship-quote .rz-tree-parallax__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: inherit;
}
.rz-tree-parallax__quote {
    max-width: 980px;
    margin: 0 auto;
    padding: 0 24px;
    text-align: center;
}
.rz-tree-parallax__quote p {
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(28px, 3vw, 44px);
    line-height: 1.24;
    font-weight: 400;
    color: #fff;
    text-shadow: 0 3px 18px rgba(0,0,0,.62);
}
.rz-tree-parallax__quote cite {
    display: block;
    margin-top: 18px;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    line-height: 1.4;
    font-style: normal;
    letter-spacing: .05em;
    color: rgba(255,255,255,.88);
    text-shadow: 0 2px 12px rgba(0,0,0,.58);
}


.rz-tree-parallax__veil {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 48%, rgba(0,0,0,.10) 0%, rgba(0,0,0,.30) 58%, rgba(0,0,0,.58) 100%),
        linear-gradient(90deg, rgba(0,0,0,.40) 0%, rgba(0,0,0,.18) 48%, rgba(0,0,0,.38) 100%),
        linear-gradient(180deg, rgba(0,0,0,.22) 0%, rgba(0,0,0,.08) 46%, rgba(0,0,0,.34) 100%);
}

.rz-tree-parallax__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    padding: 58px 32px 54px;
}

.rz-tree-parallax__content {
    max-width: 850px;
    margin: 0 auto;
    text-align: center;
}

.rz-tree-parallax__kicker {
    margin: 0 0 12px;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4em;
    letter-spacing: 5px;
    text-transform: uppercase;
    color: var(--primary-color, #d47a16);
    text-shadow: 0 3px 14px rgba(0,0,0,.45);
}

.rz-tree-parallax__title {
    max-width: 800px;
    margin: 0 auto 22px;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(31px, 3.1vw, 38px);
    font-weight: 700;
    line-height: 1.10em;
    letter-spacing: -.02em;
    color: #fff;
    text-align: center;
    text-shadow: 0 4px 22px rgba(0,0,0,.58);
}

.rz-tree-parallax__title::after {
    content: "";
    display: block;
    width: 72px;
    height: 1px;
    margin: 18px auto 0;
    background: rgba(214,168,67,.88);
}

.rz-tree-parallax__support {
    max-width: 820px;
    margin: 0 auto;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.60em;
    color: rgba(255,255,255,.91);
    text-align: center;
    text-shadow: 0 3px 16px rgba(0,0,0,.60);
}

@media screen and (max-width: 991px) {
    .rz-tree-parallax {
        width: calc(100% - 32px);
        min-height: auto;
    }
    .rz-tree-parallax--visual-only { min-height: 220px; }
    .rz-tree-parallax--stewardship-quote { min-height: 300px; }
    .rz-tree-parallax__quote { padding: 0 12px; }
    .rz-tree-parallax__media { inset: 0; }
    .rz-tree-parallax__image {
        top: 0;
        height: 100%;
        object-position: var(--rz-parallax-position, 50% 48%);
        transform: none !important;
        will-change: auto;
    }
    .rz-tree-parallax__inner { padding: 56px 24px; }
    .rz-tree-parallax__kicker { font-size: 12px; letter-spacing: 4px; }
    .rz-tree-parallax__title { font-size: 30px; line-height: 1.12em; }
    .rz-tree-parallax__support { font-size: 16px; line-height: 1.6em; }
}

@media screen and (max-width: 575px) {
    .rz-tree-parallax { width: 100%; }
    .rz-tree-parallax--visual-only { min-height: 180px; }
    .rz-tree-parallax--stewardship-quote { min-height: 270px; }
    .rz-tree-parallax__quote p { font-size: 27px; line-height: 1.28; }
    .rz-tree-parallax__inner { padding: 48px 20px; }
    .rz-tree-parallax__title { font-size: 28px; margin-bottom: 20px; }
    .rz-tree-parallax__support { font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
    .rz-tree-parallax__image {
        transform: none !important;
        will-change: auto;
    }
}

/* LAND INTRO — three documentary thumbnails anchor the open lower-right area.
   The Bootstrap column already stretches to the height of the row; using a flex
   column lets the thumbnail strip sit at the bottom without absolute positioning. */
.rz-land-media-column {
    display: flex;
    flex-direction: column;
}

.rz-land-thumbs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    margin-top: auto;
    padding-top: 18px;
}

.rz-land-thumbs figure {
    margin: 0;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #ececea;
}

.rz-land-thumbs img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media screen and (max-width: 991px) {
    .rz-land-media-column {
        display: block;
    }

    .rz-land-thumbs {
        margin-top: 18px;
        padding-top: 0;
    }
}

@media screen and (max-width: 575px) {
    .rz-land-thumbs {
        gap: 5px;
    }
}

/* =========================================================
   HOMEPAGE DOCUMENTARY PHOTO SYSTEM
   Consolidated from the former inline homepage patch stack.
   Geometry and responsive behavior preserved unchanged.
   ========================================================= */
/* Homepage documentary photo groups. These replace the one-image-per-section pattern
   with varied 2–4 image compositions while keeping a consistent editorial rhythm. */
.rz-photo-grid {
  display: grid;
  gap: 8px;
  width: 100%;
  min-height: 390px;
}
.rz-photo-grid figure {
  margin: 0;
  overflow: hidden;
  min-width: 0;
  min-height: 0;
  background: #ececea;
}
.rz-photo-grid img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* Four-image editorial groups: deliberately rectangular, never a square card wall. */
.rz-photo-grid--four {
  min-height: 0;
}
.rz-photo-grid--history,
.rz-photo-grid--management {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: auto;
  align-items: start;
}
.rz-photo-grid--history figure:first-child,
.rz-photo-grid--management figure:last-child {
  grid-column: 1 / -1;
  aspect-ratio: 16 / 9;
}
.rz-photo-grid--history figure:not(:first-child),
.rz-photo-grid--management figure:not(:last-child) {
  aspect-ratio: 4 / 3;
}
.rz-photo-story {
  position: relative;
  min-height: 470px;
  overflow: hidden;
}
/* Locked stewardship mosaic geometry for Photoshop replacement files.
   Image filenames stay unchanged. Desktop/tablet source ratios:
   large left 1254 × 2000; upper/lower right 1440 × 2000. */
.rz-photo-grid--three {
  grid-template-columns: calc(63.525836% - 3.2525px) calc(36.474164% - 4.7475px);
  grid-template-rows: auto auto;
  gap: 8px;
  min-height: 0;
  align-items: start;
}
.rz-photo-grid--three figure:first-child {
  grid-row: 1 / span 2;
  aspect-ratio: 1254 / 2000;
}
.rz-photo-grid--three figure:nth-child(2),
.rz-photo-grid--three figure:nth-child(3) {
  aspect-ratio: 1440 / 2000;
}
.rz-stewardship-section .rz-photo-story {
  min-height: 0;
}
.rz-photo-story__caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 42px 28px 24px;
  color: #fff;
  background: linear-gradient(to bottom, rgba(18,18,18,0), rgba(18,18,18,.82) 44%, rgba(18,18,18,.93));
}
.rz-photo-story__caption .rz-year-mark {
  display: block;
  margin: 0 0 10px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 42px;
  line-height: 1;
  font-weight: 700;
}
.rz-photo-story__caption p {
  max-width: 560px;
  margin: 0;
  font-size: 15px;
  line-height: 24px;
}
.rz-photo-grid--two {
  grid-template-columns: 1fr;
  grid-template-rows: 1.15fr .85fr;
  min-height: 455px;
}
@media (max-width: 991px) {
  .rz-photo-grid,
  .rz-photo-grid--three,
  .rz-photo-grid--two { min-height: 420px; }
  .rz-photo-grid--history,
  .rz-photo-grid--management { min-height: 0; }
  .rz-photo-story { min-height: 420px; }
}
@media (max-width: 575px) {
  .rz-photo-grid--history,
  .rz-photo-grid--management {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 0;
    gap: 5px;
  }
  .rz-photo-grid--history figure:first-child,
  .rz-photo-grid--management figure:last-child {
    grid-column: 1 / -1;
    aspect-ratio: 16 / 9;
  }
  .rz-photo-grid--history figure:not(:first-child),
  .rz-photo-grid--management figure:not(:last-child) {
    aspect-ratio: 4 / 3;
  }
  .rz-photo-grid--history figure:last-child,
  .rz-photo-grid--management figure:first-child {
    grid-column: 1 / -1;
    aspect-ratio: 16 / 9;
  }
  .rz-photo-grid--three {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1.25fr .75fr;
    min-height: 390px;
    gap: 5px;
  }
  .rz-photo-grid--three figure:first-child { grid-column: 1 / span 2; grid-row: auto; }
  .rz-photo-grid--three figure:first-child,
  .rz-photo-grid--three figure:nth-child(2),
  .rz-photo-grid--three figure:nth-child(3) { aspect-ratio: auto; }
  .rz-photo-grid--two { min-height: 390px; gap: 5px; }
  .rz-photo-story { min-height: 390px; }
  .rz-photo-story__caption { position: static; padding: 22px; background: #2f302f; }
  .rz-photo-story__caption .rz-year-mark { font-size: 34px; }
}

/* Keep the 2016 caption readable over photography. */
.rz-stewardship-section .rz-photo-story__caption {
  color: #fff !important;
  background: linear-gradient(to bottom, rgba(18,18,18,0), rgba(18,18,18,.58) 40%, rgba(18,18,18,.84));
  text-shadow: 0 1px 2px rgba(0,0,0,.45);
}
.rz-stewardship-section .rz-photo-story__caption .rz-year-mark,
.rz-stewardship-section .rz-photo-story__caption p {
  color: #fff !important;
  opacity: 1 !important;
}

/* Additional field-photo slots. Landscape proportions only; no square thumbnails. */
.rz-stewardship-thumbs,
.rz-objective-thumbs {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}
.rz-stewardship-thumbs {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.rz-objective-thumbs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 52px;
}
.rz-stewardship-thumbs figure,
.rz-objective-thumbs figure {
  margin: 0;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #ececea;
}
.rz-stewardship-thumbs img,
.rz-objective-thumbs img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 575px) {
  .rz-objective-thumbs {
    grid-template-columns: 1fr;
  }
  .rz-objective-thumbs figure {
    aspect-ratio: 16 / 9;
  }
}

/* NATIVE SPLIT GRID — headline-aligned photography for History and Active Management. */
.rz-native-split {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  column-gap: 30px;
  align-items: start;
}
.rz-native-split .rz-section-head {
  margin: 0 0 42px;
  max-width: none;
}
.rz-native-split .rz-copy-block {
  max-width: 720px;
}
.rz-native-split__media {
  align-self: start;
  min-width: 0;
  padding-top: 24px; /* native alignment with the main headline, not the kicker */
}
.rz-history-section .rz-mini-timeline-horizontal {
  margin-top: 44px;
}
.rz-management-section .rz-stat-strip {
  margin-top: 44px;
}
@media (max-width: 991px) {
  .rz-native-split {
    display: block;
  }
  .rz-native-split .rz-section-head {
    margin-bottom: 30px;
  }
  .rz-native-split__media {
    margin-top: 28px;
    padding-top: 0;
  }
  .rz-history-section .rz-mini-timeline-horizontal,
  .rz-management-section .rz-stat-strip {
    margin-top: 34px;
  }
}

/* FOREST STAND GRID — equal-height technical stand summaries. */
.forest-stand-grid > [class*="col-"] {
  display: flex;
}
.forest-stand-grid .service-box {
  width: 100%;
  display: flex;
}
.forest-stand-grid .service-box .media {
  width: 100%;
  align-items: flex-start;
}
.forest-stand-grid .sb-icon {
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
  object-fit: contain;
  margin-top: 2px;
}
.forest-stand-grid .sb-caption {
  flex: 1 1 auto;
}
@media (min-width: 768px) {
  .forest-stand-grid .service-box {
    min-height: 190px;
  }
}

/* =========================================================
   HOMEPAGE PILLAR HIERARCHY / SECTION RHYTHM
   Consolidated from the verified inline cascade.
   ========================================================= */
/* PILLAR HIERARCHY — form follows function.
         No copy changes: this pass establishes primary, supporting and closing rhythms. */
      .rz-pillar-home header > .container.mt-5.mb-5 {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 78px;
        padding-bottom: 82px;
      }

      .rz-pillar-home .home-about h3 {
        max-width: 620px;
        margin-bottom: 22px;
        font-size: clamp(38px, 4vw, 56px);
        line-height: 1.02;
        letter-spacing: -.03em;
      }

      .rz-pillar-home .home-about .hb-box {
        margin-top: 30px;
      }

      /* Primary narrative spine: history -> renewed stewardship -> active management. */
      .rz-pillar-home .rz-history-section,
      .rz-pillar-home .rz-stewardship-section,
      .rz-pillar-home .rz-management-section,
      .rz-pillar-home .rz-water-section {
        padding-top: 84px;
        padding-bottom: 88px;
      }

      .rz-pillar-home .rz-history-section,
      .rz-pillar-home .rz-management-section {
        background: #f7f8f5;
      }

      .rz-pillar-home .rz-stewardship-section,
      .rz-pillar-home .rz-water-section {
        background: #fff;
      }

      .rz-pillar-home .rz-history-section .rz-section-head,
      .rz-pillar-home .rz-stewardship-section .rz-section-head,
      .rz-pillar-home .rz-management-section .rz-section-head,
      .rz-pillar-home .rz-water-section .rz-section-head {
        margin-bottom: 46px;
      }

      .rz-pillar-home .rz-history-section .rz-section-head h3,
      .rz-pillar-home .rz-stewardship-section .rz-section-head h3,
      .rz-pillar-home .rz-management-section .rz-section-head h3,
      .rz-pillar-home .rz-water-section .rz-section-head h3 {
        max-width: 760px;
      }

      /* Technical forest composition follows the stewardship story instead of interrupting it. */
      .rz-pillar-home .services-layer {
        margin-bottom: 0 !important;
        padding-top: 74px;
        padding-bottom: 74px;
      }

      .rz-pillar-home .services-layer .section-title {
        margin-bottom: 36px;
      }

      /* Supporting proof remains visible but does not compete with the narrative spine. */
      .rz-pillar-home .rz-support-section,
      .rz-pillar-home .rz-field-notes-section {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 68px;
        padding-bottom: 72px;
      }

      .rz-pillar-home .rz-support-section {
        border-top: 1px solid rgba(17,17,17,.10);
      }

      .rz-pillar-home .rz-field-notes-section {
        border-top: 1px solid rgba(17,17,17,.10);
      }

      .rz-pillar-home .rz-support-section .section-title,
      .rz-pillar-home .rz-field-notes-section .section-title {
        max-width: 900px;
        margin-left: auto;
        margin-right: auto;
      }

      /* The Idylease connection becomes the editorial close, not another module. */
      .rz-pillar-home .rz-pillar-bridge {
        padding-top: 88px;
        padding-bottom: 92px;
        background: #f7f8f5;
        border-top: 1px solid rgba(17,17,17,.12) !important;
      }

      .rz-pillar-home .rz-pillar-bridge .section-title {
        margin-bottom: 34px;
      }

      .rz-pillar-home .rz-pillar-bridge .rz-editorial-copy {
        max-width: 900px;
      }

      /* Contact is a utility close after the editorial argument has finished. */
      .rz-pillar-home .rz-contact-final {
        margin-bottom: 0 !important;
        border-top: 1px solid rgba(17,17,17,.10);
      }

      .rz-pillar-home .rz-contact-final iframe {
        display: block;
      }

      @media (max-width: 991px) {
        .rz-pillar-home header > .container.mt-5.mb-5 {
          padding-top: 58px;
          padding-bottom: 62px;
        }
        .rz-pillar-home .rz-history-section,
        .rz-pillar-home .rz-stewardship-section,
        .rz-pillar-home .rz-management-section,
        .rz-pillar-home .rz-water-section,
        .rz-pillar-home .rz-pillar-bridge {
          padding-top: 60px;
          padding-bottom: 64px;
        }
        .rz-pillar-home .services-layer {
          padding-top: 58px;
          padding-bottom: 58px;
        }
      }

      @media (max-width: 575px) {
        .rz-pillar-home header > .container.mt-5.mb-5 {
          padding-top: 46px;
          padding-bottom: 50px;
        }
        .rz-pillar-home .rz-support-section,
        .rz-pillar-home .rz-field-notes-section {
          padding-top: 52px;
          padding-bottom: 56px;
        }
      }

/* =========================================================
   HOMEPAGE EDITORIAL TYPOGRAPHY / CORE SECTION RHYTHM
   Consolidated from the formerly inline homepage rules.
   ========================================================= */
.slider-caption .hero-heading {
  font-size: 60px;
  line-height: 70px;
  width: 80%;
  color: #FFF;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
}

.home-about .hb-inner h4 {
  font-size: 18px;
  line-height: 24px;
  margin: 12px 0 8px;
}

.rz-editorial-section .section-title { max-width: 920px; }

.rz-editorial-copy {
  max-width: 1080px;
  margin: 0 auto;
}
.rz-editorial-copy p { margin: 0 0 18px; }
.rz-history-bridge .rz-editorial-copy { text-align: center; }

.rz-history-link {
  display: inline-block;
  margin-top: 8px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--primary-color);
}
.rz-history-link:hover {
  color: var(--secundary-color);
  text-decoration: none;
}

.rz-editorial-section {
  padding: 68px 0 72px;
  background: #fff;
  border-top: 0 !important;
}

.rz-section-head {
  max-width: 1180px;
  margin: 0 auto 42px;
  text-align: left;
}
.rz-section-head h2 {
  margin: 0 0 8px !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  letter-spacing: .16em !important;
  font-weight: 700 !important;
  color: var(--primary-color) !important;
  opacity: 1 !important;
  text-transform: uppercase;
  position: static !important;
  transform: none !important;
}
.rz-section-head h2::before,
.rz-section-head h2::after { display: none !important; }
.rz-section-head h3 {
  margin: 0 !important;
  max-width: 920px;
  font-size: clamp(34px, 3.1vw, 52px) !important;
  line-height: 1.03 !important;
  letter-spacing: -.025em !important;
  text-transform: none !important;
}

.rz-copy-block p {
  margin: 0 0 22px;
  font-size: 15px;
  line-height: 25px;
}

@media (max-width: 991px) {
  .rz-editorial-section { padding: 54px 0 58px; }
  .rz-section-head { margin-bottom: 30px; }
}

@media (max-width: 767px) {
  .slider-caption .hero-heading {
    font-size: 35px;
    line-height: 45px;
    width: 100%;
  }
}

@media (max-width: 575px) {
  .rz-section-head h3 { font-size: 32px !important; }
  .rz-copy-block p { font-size: 15px; line-height: 25px; }
}



/* =========================================================
   FINAL CONSOLIDATION — REMAINING HOMEPAGE-SPECIFIC RULES
   Extracted from the former inline <style> block without
   changing cascade values.
   ========================================================= */
.rz-accountability p,
      .rz-objectives li {
        font-size: 15px;
        line-height: 25px;
      }

      .rz-year-mark {
        display: block;
        margin: -8px 0 12px;
        font-size: clamp(66px, 7vw, 108px);
        line-height: .9;
        letter-spacing: -.055em;
        font-weight: 700;
        color: rgba(17,17,17,.075);
      }
      .rz-accountability h4,
      .rz-objectives h4 {
        margin: 0 0 7px;
        font-size: 19px;
        line-height: 1.3;
      }
      .rz-accountability {
        padding: 18px 20px 16px;
        border-left: 3px solid var(--primary-color);
        background: rgba(17,17,17,.025);
      }
      .rz-accountability p { margin: 0; font-size: 15px; line-height: 25px; }

      /* Personal continuity: compact historical note, separated from the 2016 stewardship section. */
      .rz-planting-note {
        max-width: 1080px;
        margin: 30px auto 0;
        padding-top: 22px;
        border-top: 1px solid rgba(17,17,17,.10);
        display: grid;
        grid-template-columns: minmax(150px, .28fr) minmax(0, 1fr);
        gap: 26px;
        align-items: start;
      }
      .rz-planting-note__label {
        margin: 0;
        font-family: Montserrat, sans-serif;
        font-size: 13px;
        line-height: 1.45;
        font-weight: 700;
        letter-spacing: .12em;
        text-transform: uppercase;
        color: var(--primary-color);
      }
      .rz-planting-note p {
        margin: 0;
        font-size: 15px;
        line-height: 25px;
      }

      .rz-stat h4 {
        font-size: 31px;
        line-height: 1.05;
      }
      .rz-stat p {
        font-size: 15px;
        line-height: 1.48;
      }

      /* Water section: prose plus a restrained objective list. */
      .rz-objectives {
        padding: 28px 30px 25px;
        border-top: 3px solid var(--primary-color);
        background: rgba(17,17,17,.025);
      }
      .rz-objectives ul { list-style: none; margin: 16px 0 0; padding: 0; }
      .rz-objectives li {
        position: relative;
        padding: 11px 0 11px 24px;
        border-top: 1px solid rgba(17,17,17,.09);
        font-size: 15px;
        line-height: 25px;
      }
      .rz-objectives li:first-child { border-top: 0; }
      .rz-objectives li::before {
        content: '';
        position: absolute;
        width: 7px;
        height: 7px;
        border-radius: 50%;
        left: 2px;
        top: 20px;
        background: var(--primary-color);
      }

      @media (max-width: 991px) {
        .rz-planting-note { grid-template-columns: 1fr; gap: 8px; margin-top: 28px; padding-top: 20px; }
      }

      .rz-recognition-issuer {
        display: inline-block;
        margin-top: 3px;
        font-size: 13px;
        line-height: 20px;
        font-weight: 600;
        color: #6f7476;
      }
