
.forestry-investor-section { padding: clamp(48px, 6vw, 96px) 0; background: var(--paper); color: #19332c; }
.forestry-investor-heading { max-width: 920px; margin-bottom: 36px; }
.forestry-investor-section h2 { margin: 0 0 22px; font: 400 clamp(2.2rem, 4vw, 4.2rem)/1.08 Georgia, "Times New Roman", serif; letter-spacing: -.025em; }
.forestry-investor-section h2 span { color: #6d7b47; }
.forestry-investor-section p { font-size: 1rem; line-height: 1.6; }
.forestry-investor-heading > p:not(.forestry-eyebrow) { max-width: 760px; }
.forestry-investor-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.forestry-investor-grid article { padding-top: 22px; border-top: 1px solid #adb6aa; }
.forestry-investor-number { display: block; margin-bottom: 16px; color: #6d7b47; font-size: .85rem; font-weight: 700; letter-spacing: .12em; }
.forestry-investor-section h3 { margin: 0 0 12px; font-size: 1.25rem; line-height: 1.3; }
.forestry-investor-grid p { margin: 0; }
.forestry-journey-list li { scroll-margin-top: 90px; }
.forestry-ownership { background: #e9ede3; }
.forestry-journey-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; padding: 0; margin: 0; list-style: none; }
.forestry-journey-list li { min-width: 0; border-top: 1px solid #adb6aa; padding-top: 22px; }
.forestry-journey-list p { margin: 0 0 16px; }
.forestry-journey-list .forestry-journey-purpose { font-size: .9rem; color: #52674f; }
.forestry-ownership-panel { display: grid; grid-template-columns: 1fr 2fr; gap: 36px; margin-top: 32px; padding: 32px; border: 1px solid #adb6aa; border-radius: 8px; }
.forestry-ownership-panel p { margin: 0 0 12px; }
.forestry-ownership-panel p:last-child { margin-bottom: 0; }
.forestry-local-practices a { color: #d9deb1; text-underline-offset: 3px; }
.forestry-investor-enquiry { background: #19332c; color: #f7f7f2; }
.forestry-investor-enquiry h2 span { color: #d9deb1; }
.forestry-page .forestry-investor-enquiry .forestry-eyebrow { color: #d9deb1; }
.forestry-enquiry-layout { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(32px, 6vw, 100px); align-items: center; }
.forestry-enquiry-layout ul { padding-left: 20px; line-height: 1.8; }
.forestry-enquiry-layout .forestry-button { max-width: 100%; }
@media (max-width: 1100px) {
  .forestry-journey-list { grid-template-columns: 1fr; gap: 0; }
  .forestry-journey-list li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 16px; padding: 22px 0 6px; }
}
@media (max-width: 700px) {
  .forestry-investor-grid, .forestry-ownership-panel, .forestry-enquiry-layout { grid-template-columns: 1fr; gap: 24px; }
  .forestry-ownership-panel { padding: 24px; }
  .forestry-enquiry-layout .forestry-button { white-space: normal; text-align: left; }
}
#people.forestry-people .portrait-placeholder { position: relative; overflow: hidden; }
#people.forestry-people .portrait-placeholder img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 25%; }
#people.forestry-people > .forestry-text-link { display: inline-flex; margin-top: 32px; }
.forestry-page .forestry-crms-framework { display: grid; grid-template-rows: minmax(540px, 1fr); min-height: 100svh; padding: 0; color: #f7f7f2; background: #19332c; }
.forestry-framework-landscape { position: relative; isolation: isolate; min-height: 0; }
.forestry-framework-landscape > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.forestry-framework-video { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; pointer-events: none; }
.forestry-framework-landscape::before { position: absolute; z-index: -1; inset: 0; content: ""; background: linear-gradient(90deg, rgba(8, 31, 29, .94), rgba(8, 31, 29, .86) 35%, rgba(8, 31, 29, .75) 52%, rgba(8, 31, 29, .08) 80%); }
.forestry-framework-copy { max-width: 850px; width: 52%; padding: clamp(36px, 5vh, 60px) 0 160px var(--page-gutter); }
.forestry-framework-copy .forestry-eyebrow { color: #f7f7f2; font-weight: 500; }
.forestry-framework-copy .forestry-eyebrow::before { content: ""; height: 1px; width: 60px; background: currentColor; }
.forestry-framework-copy .forestry-eyebrow::after { content: none; }
.forestry-framework-copy h2 { margin: 0 0 24px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.6rem, min(4vw, 7.5vh), 4.8rem); line-height: 1.03; letter-spacing: -.025em; font-weight: 400; }
.forestry-framework-copy h2 span { color: #d2d8aa; }
.forestry-framework-copy > p:not(.forestry-eyebrow) { max-width: 650px; margin: 0 0 16px; font-size: clamp(1rem, 1.2vw, 1.35rem); line-height: 1.35; }
.forestry-framework-lead { font-weight: 600; }
.forestry-framework-connections { position: absolute; inset: auto 5% 40px 34%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
.forestry-framework-connections li { position: relative; min-height: 130px; padding: 0 0 42px 14px; border-left: 1px solid #cbdcce; }
.forestry-framework-connections li::after { position: absolute; content: ""; width: 10px; height: 10px; border-radius: 50%; background: #eef7ef; box-shadow: 0 0 0 8px rgba(215, 234, 223, .25); bottom: 0; left: -5px; }
.forestry-framework-connections li:nth-child(2) { transform: translateY(-30px); }
.forestry-framework-connections li:nth-child(3) { transform: translateY(-75px); }
.forestry-framework-connections li:nth-child(4) { transform: translateY(-140px); }
.forestry-framework-connections h3 { margin: 0 0 8px; font-size: .85rem; letter-spacing: .04em; line-height: 1.3; text-transform: uppercase; }
.forestry-framework-connections p { margin: 0; font-size: .85rem; line-height: 1.35; }
.forestry-framework-band { display: grid; grid-template-columns: 1.2fr 1.2fr .7fr; gap: clamp(28px, 4vw, 64px); align-items: center; padding: 32px var(--page-gutter); background: radial-gradient(ellipse at bottom right, #284638, transparent 70%), #142e25; }
.forestry-framework-band .forestry-eyebrow { color: #bbc898; margin-bottom: 12px; font-weight: 500; }
.forestry-framework-band h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.8rem, 2.3vw, 2.7rem); line-height: 1.08; font-weight: 400; }
.forestry-framework-band h3 span { color: #d2d8aa; }
.forestry-framework-band > p { margin: 0; font-size: 1rem; line-height: 1.5; }
.forestry-framework-link { display: flex; align-items: center; justify-content: center; gap: 26px; padding: 20px 24px; border: 1px solid #bbc898; border-radius: 999px; color: #e0e4b9; text-decoration: none; white-space: nowrap; }
.forestry-framework-link:hover { background: rgba(210, 216, 170, .12); }
.forestry-framework-copy .forestry-framework-link { display: inline-flex; margin-top: 8px; }
.forestry-framework-copy .forestry-framework-link:focus-visible { outline: 2px solid #e0e4b9; outline-offset: 4px; }
@media (max-width: 1000px) {
  .forestry-framework-landscape::before { background: linear-gradient(90deg, rgba(8, 31, 29, .94), rgba(8, 31, 29, .8) 70%, rgba(8, 31, 29, .25)); }
  .forestry-framework-copy { width: 70%; }
  .forestry-framework-connections { left: var(--page-gutter); right: var(--page-gutter); }
  .forestry-framework-connections li:nth-child(n) { transform: none; }
  .forestry-framework-band { grid-template-columns: 1fr 1fr; }
  .forestry-framework-link { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 760px) {
  .forestry-framework-landscape::before { background: rgba(8, 31, 29, .86); }
}
@media (prefers-reduced-motion: reduce) {
  .forestry-framework-video { display: none; }
}
@media (max-width: 600px) {
  .forestry-page .forestry-crms-framework { grid-template-rows: auto; min-height: 0; }
  .forestry-framework-copy { width: 100%; max-width: none; padding: 48px var(--page-gutter) 32px; }
  .forestry-framework-copy h2 { font-size: clamp(2.5rem, 10vw, 3.4rem); }
  .forestry-framework-connections { position: relative; inset: auto; grid-template-columns: 1fr 1fr; padding: 0 var(--page-gutter) 32px; gap: 24px; }
  .forestry-framework-connections li { min-height: 130px; }
  .forestry-framework-band { grid-template-columns: 1fr; padding-block: 36px; gap: 24px; }
  .forestry-framework-link { grid-column: auto; }
}
.forestry-page .forestry-local-knowledge,
.forestry-page .forestry-local-copy { background: #19332c; color: #f7f7f2; }
.forestry-page .forestry-local-copy h2,
.forestry-page .forestry-local-intro,
.forestry-page .forestry-local-practices p { color: #f7f7f2; }
.forestry-page .forestry-local-copy .forestry-eyebrow,
.forestry-page .forestry-local-practice-title,
.forestry-page .forestry-local-practices h3,
.forestry-page .forestry-local-practices svg { color: #d9deb1; stroke: #d9deb1; }
.forestry-page .forestry-local-practices article > div { border-color: #849781; }
.forestry-page .forestry-local-practice-title::after { background: #849781; }
.forestry-page .forestry-sqep,
.forestry-page .forestry-sqep-copy { background: var(--paper); color: #24332e; }
.forestry-page .forestry-sqep-copy h2,
.forestry-page .forestry-sqep-copy .forestry-eyebrow { color: #24332e; }
.forestry-page .forestry-sqep-copy h2 span,
.forestry-page .forestry-sqep-signoff { color: #6d7b47; }
.forestry-page .forestry-sqep-points h3,
.forestry-page .forestry-sqep-points svg { color: #52674f; }
.forestry-page .forestry-sqep-points,
.forestry-page .forestry-sqep-signoff { border-color: #adb6aa; }
.forestry-page .forestry-sqep-visual { color: #f7f7f2; }
.forestry-page .forestry-sqep { position: relative; display: grid; grid-template-columns: .95fr 1.05fr; min-height: 100svh; padding: 0; overflow: hidden; background: #19332c; color: #f7f7f2; }
.forestry-sqep-copy { position: relative; z-index: 1; display: flex; flex-direction: column; width: calc(100% + 110px); padding: clamp(28px, 4vh, 44px) 120px clamp(24px, 3vh, 36px) var(--page-gutter); background: linear-gradient(120deg, #203c33, #19332c); clip-path: polygon(0 0, calc(100% - 110px) 0, 100% 100%, 0 100%); }
.forestry-sqep-copy .forestry-eyebrow { color: #d9deb1; font-weight: 500; margin-bottom: 24px; }
.forestry-sqep-copy .forestry-eyebrow::before { content: ""; width: 54px; height: 1px; background: currentColor; }
.forestry-sqep-copy .forestry-eyebrow::after { content: none; }
.forestry-sqep-copy h2 { margin: 0 0 20px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.3rem, min(3.3vw, 6.2vh), 3.8rem); font-weight: 400; letter-spacing: -.025em; line-height: 1.03; }
.forestry-sqep-copy h2 span { color: #d2d8aa; }
.forestry-sqep-lead { margin: 0 0 18px; font-size: clamp(1rem, 1.2vw, 1.35rem); font-weight: 600; line-height: 1.3; }
.forestry-sqep-intro p { margin: 0 0 12px; font-size: clamp(.95rem, 1vw, 1.12rem); line-height: 1.35; }
.forestry-sqep-points { display: grid; flex: 1; align-content: space-between; gap: 20px; padding-top: 16px; border-top: 1px solid #8b9b83; }
.forestry-sqep-points article { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 28px; }
.forestry-sqep svg { width: 68px; height: 68px; fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.forestry-sqep-points svg { color: #d9deb1; }
.forestry-sqep-points h3 { margin: 0 0 5px; color: #d9deb1; font-size: 1.05rem; line-height: 1.25; }
.forestry-sqep-points p { margin: 0; font-size: clamp(.95rem, 1vw, 1.12rem); line-height: 1.3; }
.forestry-sqep-signoff { margin: 16px 0 0; padding: 14px 0 0 96px; border-top: 1px solid #8b9b83; color: #bec99a; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.2rem, min(1.45vw, 2.6vh), 1.6rem); line-height: 1.1; }
.forestry-sqep-visual { position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 0; padding: 32px 32px 32px 110px; }
.forestry-sqep-visual > img { display: block; width: 100%; max-width: 560px; height: auto; max-height: calc(100svh - 64px); object-fit: contain; object-position: center; }
@media (min-width: 1001px) and (max-height: 800px) {
  .forestry-sqep-copy { padding-top: 28px; padding-bottom: 28px; }
  .forestry-sqep-copy .forestry-eyebrow { margin-bottom: 16px; }
  .forestry-sqep-copy h2 { margin-bottom: 16px; }
  .forestry-sqep-points { gap: 18px; }
  .forestry-sqep-points article { grid-template-columns: 56px minmax(0, 1fr); gap: 20px; }
  .forestry-sqep-points svg { width: 56px; height: 56px; }
  .forestry-sqep-signoff { padding-left: 76px; }
}
@media (max-width: 1000px) {
  .forestry-page .forestry-sqep { grid-template-columns: 1fr; min-height: 0; }
  .forestry-sqep-copy { width: 100%; padding: 48px var(--page-gutter); clip-path: none; }
  .forestry-sqep-visual { height: clamp(480px, 70vw, 640px); padding: 24px; }
  .forestry-sqep-visual > img { width: auto; max-width: 100%; height: 100%; max-height: 100%; }
}
@media (max-width: 600px) {
  .forestry-sqep-copy h2 { font-size: clamp(2rem, 8vw, 3rem); }
  .forestry-sqep-points article { grid-template-columns: 48px minmax(0, 1fr); gap: 16px; }
  .forestry-sqep-points svg { width: 48px; height: 48px; }
  .forestry-sqep-signoff { padding-left: 0; }
}
.forestry-page .forestry-local-knowledge { position: relative; display: grid; grid-template-columns: 1fr 1.08fr; padding: 0; min-height: 100svh; overflow: hidden; background: var(--paper); color: #24332e; }
.forestry-local-copy { position: relative; z-index: 1; width: calc(100% + 100px); padding: clamp(40px, 4vw, 76px) 110px clamp(32px, 3vw, 56px) var(--page-gutter); background: var(--paper); clip-path: polygon(0 0, calc(100% - 100px) 0, 100% 100%, 0 100%); }
.forestry-local-copy .forestry-eyebrow { display: flex; align-items: center; gap: 16px; color: #24332e; margin-bottom: 26px; }
.forestry-local-copy .forestry-eyebrow::before { content: ""; width: 48px; height: 1px; background: currentColor; }
.forestry-local-copy h2 { margin: 0 0 22px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.6rem, 3.7vw, 4.7rem); font-weight: 400; line-height: 1.02; letter-spacing: -.035em; }
.forestry-local-intro { margin: 0 0 26px; font-size: clamp(1rem, 1.12vw, 1.25rem); line-height: 1.4; }
.forestry-local-practice-title { display: flex; align-items: center; gap: 16px; margin: 0 0 22px; font-size: .8rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.forestry-local-practice-title::after { content: ""; height: 1px; flex: 1; background: #aeb6ac; }
.forestry-local-practices { display: grid; gap: 26px; }
.forestry-local-practices article { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 22px; scroll-margin-top: 90px; }
.forestry-local-practices svg { width: 64px; height: 64px; fill: none; stroke: #596b60; stroke-width: 1.5; stroke-linejoin: round; }
.forestry-local-practices article > div { padding-left: 22px; border-left: 1px solid #adb6aa; }
.forestry-local-practices h3 { margin: 0 0 6px; font-size: clamp(1rem, 1.05vw, 1.2rem); line-height: 1.25; font-weight: 650; }
.forestry-local-practices p { margin: 0; font-size: clamp(.95rem, 1vw, 1.12rem); line-height: 1.4; }
.forestry-local-signoff { margin: 22px 0 0; padding: 16px 0 0 108px; border-top: 1px solid #adb6aa; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.25rem, 1.65vw, 1.85rem); line-height: 1.12; }
.forestry-local-photo { margin: 0; min-width: 0; height: 100%; }
/* Keep the operator, left of centre in the source photo, clear of the angled copy panel. */
.forestry-local-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 25% center; }
@media (min-width: 1001px) {
  .forestry-page .forestry-local-knowledge { height: calc(100svh - 1px); height: calc(100dvh - 1px); min-height: 0; box-sizing: border-box; grid-template-rows: minmax(0, 1fr); }
  .forestry-local-copy { display: flex; flex-direction: column; min-height: 0; padding-top: clamp(28px, 5.5vh, 56px); padding-bottom: clamp(32px, 5.5vh, 56px); }
  .forestry-local-copy .forestry-eyebrow { margin-bottom: clamp(20px, 3vh, 30px); font-size: clamp(.75rem, .9vw, 1rem); }
  .forestry-local-copy h2 { font-size: clamp(2rem, min(3.4vw, 6.8vh), 3.8rem); margin-bottom: clamp(16px, 2.4vh, 24px); }
  .forestry-local-intro { font-size: clamp(.95rem, min(1.12vw, 2.25vh), 1.25rem); line-height: 1.3; margin-bottom: clamp(20px, 3.2vh, 32px); }
  .forestry-local-practice-title { font-size: clamp(.7rem, .9vw, 1rem); margin-bottom: clamp(20px, 2.8vh, 28px); }
  .forestry-local-practices { flex: 1; align-content: space-between; gap: clamp(20px, 3vh, 32px); }
  .forestry-local-practices article { grid-template-columns: clamp(48px, 7.5vh, 68px) minmax(0, 1fr); gap: clamp(18px, 1.6vw, 28px); }
  .forestry-local-practices svg { width: 100%; height: auto; }
  .forestry-local-practices article > div { padding-left: clamp(18px, 1.6vw, 28px); }
  .forestry-local-practices h3 { font-size: clamp(.95rem, min(1.1vw, 2.35vh), 1.25rem); margin-bottom: 6px; }
  .forestry-local-practices p { font-size: clamp(.9rem, min(1.07vw, 2.25vh), 1.2rem); line-height: 1.3; }
  .forestry-local-signoff { font-size: clamp(1.1rem, min(1.65vw, 2.65vh), 1.6rem); margin-top: clamp(14px, 2vh, 20px); padding-top: 14px; padding-left: 94px; }
  .forestry-local-photo { position: relative; min-height: 0; }
  .forestry-local-photo img { position: absolute; inset: 0; }
}
@media (min-width: 1001px) and (max-height: 740px) {
  .forestry-local-copy { padding-top: 28px; padding-bottom: 32px; }
  .forestry-local-copy .forestry-eyebrow { margin-bottom: 18px; }
  .forestry-local-copy h2 { font-size: clamp(1.8rem, 6.2vh, 3rem); margin-bottom: 16px; }
  .forestry-local-intro { margin-bottom: 20px; }
  .forestry-local-practice-title { margin-bottom: 18px; }
  .forestry-local-practices { gap: 16px; }
  .forestry-local-practices article { grid-template-columns: 48px minmax(0, 1fr); gap: 18px; }
  .forestry-local-practices article > div { padding-left: 18px; }
}
@media (max-width: 1000px) {
  .forestry-page .forestry-local-knowledge { grid-template-columns: 1fr; min-height: 0; }
  .forestry-local-copy { width: 100%; padding: 48px var(--page-gutter); clip-path: none; }
  .forestry-local-photo { height: clamp(280px, 55vw, 520px); }
}
@media (max-width: 600px) {
  .forestry-local-practices article { grid-template-columns: 48px minmax(0, 1fr); gap: 14px; }
  .forestry-local-practices svg { width: 48px; height: 48px; }
  .forestry-local-practices article > div { padding-left: 14px; }
  .forestry-local-signoff { padding-left: 0; }
  .forestry-local-practice-title { font-size: .7rem; }
}
.forestry-page .forestry-hero-copy {
  width: calc(100% - (2 * var(--page-gutter)));
  max-width: none;
  margin-inline: var(--page-gutter);
}

.forestry-page .forestry-challenge,
.forestry-page .forestry-approach,
.forestry-page .forestry-crms,
.forestry-page .forestry-people,
.forestry-page .forestry-projects {
  min-height: 0;
}

.forestry-challenge { background: var(--paper); }
.forestry-page .forestry-challenge { min-height: 0; padding-block: clamp(80px, 7vw, 124px) clamp(52px, 5vw, 90px); }
.forestry-page .forestry-challenge-layout { display: block; width: calc(100% - (2 * var(--page-gutter))); max-width: none; min-height: 0; margin-inline: var(--page-gutter); }
.forestry-challenge-copy { max-width: 1500px; }
.forestry-challenge-copy .forestry-eyebrow { margin-bottom: clamp(24px, 3vw, 44px); }
.forestry-challenge-copy h2 { max-width: 1500px; margin: 0 0 clamp(30px, 3vw, 52px); color: #24332e; font-size: clamp(3.6rem, 5vw, 7rem); font-weight: 400; letter-spacing: -.055em; line-height: .98; }
.forestry-challenge-copy h2 span { color: #99a56b; }
.forestry-challenge-narrative { max-width: 850px; }
.forestry-challenge-narrative p { margin: 0; color: #59625e; font-size: clamp(1.05rem, 1.2vw, 1.45rem); line-height: 1.35; }
.forestry-challenge-narrative p + p { margin-top: 26px; }
.forestry-crms-copy h2 { max-width: 760px; margin: 0 0 32px; font-size: clamp(3rem, 5.2vw, 6.2rem); font-weight: 400; letter-spacing: -.045em; line-height: .97; }
.forestry-crms-copy > p:not(.forestry-eyebrow) { max-width: 620px; color: #5d6966; font-size: 1.08rem; line-height: 1.6; }

.forestry-approach { background: #e8e6df; }
.forestry-approach-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(20,45,42,.22); }
.forestry-approach-grid article { min-height: 270px; padding: 30px 32px 34px 0; border-bottom: 1px solid rgba(20,45,42,.18); scroll-margin-top: 110px; }
.forestry-approach-grid article:not(:nth-child(3n+1)) { padding-left: 32px; border-left: 1px solid rgba(20,45,42,.16); }
.forestry-approach-grid span { color: #778644; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.forestry-approach-grid h3 { max-width: 390px; margin: 52px 0 16px; font-size: clamp(1.6rem, 2.1vw, 2.2rem); font-weight: 450; line-height: 1.12; }
.forestry-approach-grid p { max-width: 430px; margin: 0; color: #5f6d69; line-height: 1.55; }

.forestry-crms { color: #fff; background: #142c29; }
.forestry-crms-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(60px, 9vw, 150px); align-items: center; }
.forestry-crms-copy h2 { max-width: 680px; }
.forestry-crms-copy > p:not(.forestry-eyebrow) { color: rgba(255,255,255,.75); }
.forestry-crms-copy .forestry-text-link { display: inline-block; margin-top: 24px; }
.forestry-crms-visual { position: relative; display: grid; min-height: 600px; padding: 50px; align-content: center; border: 1px solid rgba(255,255,255,.2); background: radial-gradient(circle at 50% 50%, rgba(152,165,87,.17), transparent 47%), repeating-linear-gradient(0deg, transparent 0 59px, color-mix(in srgb, var(--paper) 4.0%, transparent) 60px); }
.forestry-crms-visual > strong { margin-bottom: 32px; color: #b6bd83; font-size: clamp(3rem, 5vw, 6rem); font-weight: 400; letter-spacing: -.04em; line-height: 1; }
.forestry-crms-visual ol { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 28px; margin: 0; padding: 0; list-style: none; counter-reset: crms; }
.forestry-crms-visual li { display: flex; gap: 22px; align-items: center; padding: 19px 0; border-top: 1px solid rgba(255,255,255,.2); font-size: clamp(1.1rem, 1.4vw, 1.5rem); counter-increment: crms; }
.forestry-crms-visual li::before { content: counter(crms, decimal-leading-zero); color: #b6bd83; font-size: .72rem; font-weight: 800; letter-spacing: .12em; }

.forestry-page .forestry-people-grid article div { min-height: 118px; }
.forestry-page .forestry-people-grid p { margin-bottom: 0; }
.forestry-page .forestry-featured-project { margin-bottom: 0; }
.forestry-project-summary { max-width: 460px; margin: 0 0 36px; color: #596763; font-size: 1.05rem; line-height: 1.6; }
.forestry-project-cta { display: flex; justify-content: space-between; gap: 30px; align-items: center; padding-top: 32px; border-top: 1px solid rgba(20,45,42,.2); }
.forestry-project-cta p { margin: 0; font-size: clamp(1.4rem, 2vw, 2rem); }

@media (max-width: 1100px) {
  .forestry-crms-layout { grid-template-columns: 1fr; }
  .forestry-challenge-copy h2 br { display: none; }
  .forestry-approach-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .forestry-approach-grid article:not(:nth-child(3n+1)) { padding-left: 0; border-left: 0; }
  .forestry-approach-grid article:nth-child(even) { padding-left: 28px; border-left: 1px solid rgba(20,45,42,.16); }
}

@media (max-width: 700px) {
  .forestry-crms-copy h2 { font-size: clamp(2.8rem, 12vw, 4.3rem); }
  .forestry-page .forestry-challenge { padding-block: 78px 64px; }
  .forestry-page .forestry-challenge-layout { min-height: 0; gap: 58px; }
  .forestry-challenge-copy h2 { font-size: clamp(2.8rem, 10.5vw, 4.5rem); }
  .forestry-challenge-narrative p { font-size: 1rem; line-height: 1.5; }
  .forestry-approach-grid { grid-template-columns: 1fr; }
  .forestry-approach-grid article,
  .forestry-approach-grid article:not(:nth-child(3n+1)),
  .forestry-approach-grid article:nth-child(even) { min-height: 0; padding: 26px 0 32px; border-left: 0; }
  .forestry-approach-grid h3 { margin-top: 24px; }
  .forestry-crms-visual { min-height: 0; padding: 30px 24px; }
  .forestry-crms-visual ol { grid-template-columns: 1fr; }
  .forestry-project-cta { align-items: stretch; flex-direction: column; }
}


.forestry-page .forestry-team-showcase { padding: 0; min-height: 0; color: #16332e; background: #e3e6d5; }
.forestry-team-editorial { position: relative; display: grid; grid-template-columns: 1fr 1.1fr; min-height: 620px; }
.forestry-team-copy { position: relative; z-index: 2; width: calc(100% + 100px); padding: clamp(38px, 4vw, 68px) 115px 32px var(--page-gutter); background: #e3e6d5; clip-path: polygon(0 0, calc(100% - 100px) 0, 100% 100%, 0 100%); }
.forestry-team-label { display: flex; align-items: center; gap: 22px; margin: 0 0 24px; font-size: .75rem; font-weight: 600; letter-spacing: .16em; line-height: 1.5; text-transform: uppercase; }
.forestry-team-label::before, .forestry-team-label::after { content: ''; height: 1px; background: currentColor; opacity: .55; }
.forestry-team-label::before { display: none; content: none; }
.forestry-team-label::after { flex: 1; }
.forestry-team-copy h2 { margin: 0 0 20px; font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: clamp(2.5rem, 3.8vw, 4.7rem); line-height: .99; letter-spacing: -.035em; }
.forestry-team-copy h2 span { color: #798b56; }
.forestry-team-introduction { margin: 0 0 28px; max-width: 660px; font-size: clamp(1rem, 1.15vw, 1.3rem); line-height: 1.4; }
.forestry-team-capabilities { display: grid; grid-template-columns: 1fr; gap: 0; }
.forestry-team-capabilities article { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); align-items: start; gap: 24px; padding: 20px 0; }
.forestry-team-capabilities article + article { border-top: 1px solid #9ba889; }
.forestry-team-capabilities h3 { margin: 0; font-size: .78rem; font-weight: 700; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase; }
.forestry-team-capabilities p { margin: 0; font-size: .9rem; line-height: 1.35; }
.forestry-team-image { position: relative; margin: 0; min-width: 0; }
.forestry-team-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.forestry-team-image:has(img[src$="forestry-group-20261021.webp"]) { background: #0d332a; }
.forestry-team-image img[src$="forestry-group-20261021.webp"] { object-fit: contain; }
.forestry-team-experience { display: grid; grid-template-columns: 1fr 2.7fr; gap: 44px; align-items: center; padding: 28px var(--page-gutter); background: #19332c; color: #f7f7f2; }
.forestry-team-experience-intro { padding-right: 32px; border-right: 1px solid #506256; }
.forestry-team-experience-intro .forestry-team-label { margin-bottom: 15px; font-size: .7rem; }
.forestry-team-experience-intro .forestry-team-label::before { display: none; }
.forestry-team-experience-intro h3 { margin: 0 0 15px; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.6rem, 2.1vw, 2.6rem); font-weight: 400; line-height: 1.05; }
.forestry-team-experience-intro h3 span { color: #bdc894; }
.forestry-team-experience-intro a { color: #d0d8ac; font-size: .8rem; text-underline-offset: 4px; }
.forestry-team-faces { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; text-align: center; }
.forestry-team-faces > article { min-width: 0; }
.forestry-team-faces h4, .forestry-team-faces p { overflow-wrap: anywhere; }
.forestry-team-faces img { width: clamp(78px, 6vw, 110px); height: clamp(78px, 6vw, 110px); border: 1px solid #bdc894; border-radius: 50%; object-fit: cover; object-position: center 25%; }
.forestry-team-faces h4 { margin: 12px 0 5px; font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.forestry-team-faces p { margin: 0; font-size: .85rem; line-height: 1.4; }
@media (min-width: 1101px) { .forestry-team-editorial { min-height: min(72svh, 740px); } }
@media (max-width: 1100px) {
  .forestry-team-editorial { grid-template-columns: 1fr; min-height: 0; }
  .forestry-team-copy { width: 100%; padding: 48px var(--page-gutter); clip-path: none; }
  .forestry-team-copy h2 { font-size: clamp(2.8rem, 6vw, 4.5rem); }
  .forestry-team-image { height: 420px; }
  .forestry-team-experience { grid-template-columns: 1fr; gap: 28px; padding-block: 36px; }
  .forestry-team-experience-intro { padding: 0 0 24px; border-right: 0; border-bottom: 1px solid #506256; }
}
@media (max-width: 600px) {
  .forestry-team-capabilities article { grid-template-columns: 1fr; gap: 10px; }
  .forestry-team-image { height: 300px; }
  .forestry-team-faces { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 28px; }
}


.forestry-page .forestry-sqep { grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr); gap: clamp(32px, 5vw, 88px); align-items: center; min-height: 100svh; padding: clamp(56px, 6vw, 96px) var(--page-gutter); background: var(--paper); color: #24332e; }
.forestry-page .forestry-sqep-copy { width: 100%; padding: 0; clip-path: none; }
.forestry-page .forestry-sqep-copy h2 { margin-bottom: 28px; }
.forestry-page .forestry-sqep-lead { margin-bottom: 24px; line-height: 1.45; }
.forestry-page .forestry-sqep-intro p { margin-bottom: 20px; line-height: 1.55; }
.forestry-page .forestry-sqep-intro { margin-bottom: 12px; }
.forestry-page .forestry-sqep-points { flex: none; gap: 0; padding-top: 0; }
.forestry-page .forestry-sqep-points article { align-items: center; gap: 24px; padding: 24px 0; }
.forestry-page .forestry-sqep-points p { line-height: 1.5; }
.forestry-page .forestry-sqep-points article + article { border-top: 1px solid #adb6aa; }
.forestry-page .forestry-sqep-points svg { padding: 6px; border-radius: 50%; background: #e9ecdf; }
.forestry-page .forestry-sqep-points svg > circle:first-child { stroke: none; }
.forestry-page .forestry-sqep-points h3 { font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 8px; }
.forestry-page .forestry-sqep-signoff { margin: 0; padding: 24px 0 0; line-height: 1.3; }
.forestry-page .forestry-sqep-visual { display: block; width: 100%; max-width: 480px; height: auto; margin: 0 auto; padding: 0; overflow: hidden; border-radius: 12px; background: var(--paper); color: #24332e; box-shadow: 0 14px 36px #19332c14; }
.forestry-page .forestry-sqep-visual > img { width: 100%; max-width: none; height: auto; max-height: none; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 25%; }
.forestry-sqep-visual figcaption { padding: 24px 28px; }
.forestry-sqep-visual figcaption strong { display: block; margin-bottom: 12px; color: #52674f; font-size: .7rem; letter-spacing: .14em; line-height: 1.5; text-transform: uppercase; }
.forestry-sqep-visual figcaption p { margin: 0; font-size: 1rem; line-height: 1.45; }
@media (max-width: 1000px) {
  .forestry-page .forestry-sqep { grid-template-columns: 1fr; gap: 36px; }
  .forestry-page .forestry-sqep-visual { max-width: 460px; }
}
@media (max-width: 600px) {
  .forestry-page .forestry-sqep-points article { gap: 16px; }
  .forestry-sqep-visual figcaption { padding: 20px; }
}

.forestry-page .forestry-hero-media img { object-position: center 30%; }
@media (max-width: 760px) {
  .forestry-page .forestry-hero-media img { object-position: 65% center; }
  .forestry-page .forestry-hero-shade { inset: 0; background: rgba(4, 28, 25, .64); }
  .forestry-investor-grid > article:has(> .forestry-mobile-disclosure),
  .forestry-local-practices > article:has(> .forestry-mobile-disclosure),
  .forestry-sqep-points > article:has(> .forestry-mobile-disclosure) { display: block; }
  .forestry-mobile-disclosure > summary { display: grid; grid-template-columns: minmax(0, 1fr) 12px; align-items: center; gap: 16px; list-style: none; cursor: pointer; }
  .forestry-mobile-disclosure.has-icon > summary { grid-template-columns: 48px minmax(0, 1fr) 12px; }
  .forestry-mobile-disclosure > summary::-webkit-details-marker { display: none; }
  .forestry-mobile-disclosure > summary h3 { margin: 0; }
  .forestry-mobile-disclosure > summary svg { width: 48px; height: 48px; }
  .forestry-mobile-disclosure > summary::after { content: ''; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
  .forestry-mobile-disclosure[open] > summary::after { transform: rotate(225deg); }
  .forestry-mobile-disclosure > summary:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
  .forestry-mobile-disclosure-body { padding-top: 14px; }
  .forestry-mobile-disclosure.has-icon .forestry-mobile-disclosure-body { padding-left: 64px; }
}

@media (max-width: 760px) {
  .forestry-page .forestry-hero { box-sizing: border-box; min-height: calc(100svh - 72px) !important; align-items: flex-end; }
  .forestry-page .forestry-hero-copy { padding-top: 28px; padding-bottom: max(24px, env(safe-area-inset-bottom)); }
  .forestry-page .forestry-hero-summary { margin-top: 22px; }
  body.forestry-page main .forestry-hero-summary p { margin: 0; font-size: var(--type-body) !important; line-height: 1.5 !important; }
  .forestry-page .forestry-actions { margin-top: 24px; width: 100%; }
  .forestry-page .forestry-actions .forestry-button { box-sizing: border-box; width: 100%; min-width: 0; min-height: 52px; padding: 14px 18px; gap: 16px; letter-spacing: .02em; text-transform: none; }
  .forestry-page .forestry-actions .forestry-button span { flex-shrink: 0; }
}

.forestry-framework-link { box-sizing: border-box; max-width: 100%; white-space: normal; }
@media (max-width: 760px) {
  .forestry-page .forestry-framework-link { width: 100%; min-width: 0; gap: 16px; }
  .forestry-framework-link > span { flex-shrink: 0; }
}

/* Supporting CRMS link on the light forestry introduction. */
.forestry-investor-heading .forestry-investor-crms-link { display: inline-flex; align-items: center; gap: 18px; width: fit-content; max-width: 100%; margin-top: 8px; padding: 0 0 6px; border: 0; border-bottom: 1px solid #60734a; border-radius: 0; background: transparent; color: #062b27; font-weight: 600; text-decoration: none; }
.forestry-investor-heading .forestry-investor-crms-link:hover { color: #50623d; border-bottom-color: currentColor; }
.forestry-investor-heading .forestry-investor-crms-link:focus-visible { outline: 2px solid #60734a; outline-offset: 5px; }
