/* Homepage narrative. Keep the original hero assets and brand typography. */
.home-page .forest-hero-main{min-height:0}
.home-page .forest-hero-copy{padding-block:44px}
.home-page #hero-title span{display:block}
.home-page #hero-title span+span{margin-top:.35em}
.home-actions{display:flex;flex-wrap:wrap;gap:0 28px}
.home-page .home-section,.home-page .needs{padding-block:64px}
.home-context,.home-process-intro{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px}
.home-page .needs h2{margin-bottom:32px;max-width:850px}
.home-needs article{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px;border-top:1px solid #a8ae9b;padding-block:26px}
.home-needs article:last-child{border-bottom:1px solid #a8ae9b}
.home-needs p{color:#3d4438;max-width:65ch}
.home-networks{margin-top:28px;max-width:75ch}
.home-page .home-process{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:36px 64px;align-items:start}
.home-process-intro{grid-column:1/-1}
.home-process-intro p{margin-top:20px}
.home-process .material-photo{grid-column:1;grid-row:2;max-width:none}
.home-process .material-photo img{aspect-ratio:4/3;object-fit:cover;object-position:center}
.home-process-steps{grid-column:2;grid-row:2}
.home-process-steps ol{list-style:none;padding:0;margin:0}
.home-process-steps li{padding:24px 0 26px;border-top:1px solid var(--rule)}
.home-process-steps h3{margin-bottom:16px}
.home-process-steps .text-link{margin-top:0}
.home-lens-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:64px;align-items:center;margin-bottom:36px}
.home-lens-intro p,.home-section-deck{margin-top:24px;max-width:72ch}
.home-lens-intro img{aspect-ratio:4/3;object-fit:cover;object-position:center}
.home-domains,.home-people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 64px}
.home-domains article,.home-people-grid article{border-top:1px solid var(--rule);padding-top:24px}
.home-domains article{border-color:#a8ae9b}
.home-domains h3,.home-people-grid h3{margin-bottom:16px}
.home-people-grid{margin-top:32px}
.home-planning dl{margin:32px 0 0}
.home-planning dl>div{display:grid;grid-template-columns:minmax(0,.4fr) minmax(0,1.6fr);gap:32px;border-top:1px solid #a8ae9b;padding-block:22px}
.home-planning dt{font-weight:600}
.home-planning dd{margin:0;max-width:75ch}
.home-page .home-closing{padding-block:48px;display:flex;align-items:start;justify-content:space-between;gap:48px}
.home-closing>div{max-width:800px}
.home-closing p{margin-top:24px}
.home-closing>.text-link{flex-shrink:0}
@media(max-width:800px){
 .home-page #main{display:block}
 body.home-page #main .forest-hero{display:block;margin:0;width:100%}
 body.home-page #main .forest-hero-main{width:100%;min-height:0;height:auto}
 body.home-page #main .forest-hero-copy{padding:32px 24px}
 body.home-page #main .forest-hero-support{display:block;width:100%;margin:0}
 body.home-page #main .forest-hero-support img{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:58% center}
 body.home-page #main .home-section,body.home-page #main .needs{padding-block:36px}
 .home-context,.home-process-intro,.home-lens-intro,.home-domains,.home-people-grid{grid-template-columns:1fr;gap:24px}
 body.home-page #main .home-needs article{grid-template-columns:1fr;gap:14px;padding-block:24px}
 body.home-page #main .needs h2{margin-bottom:24px}
 body.home-page #main .home-process{grid-template-columns:1fr;gap:24px}
 .home-process-intro{grid-column:1}
 .home-page .home-process .material-photo{grid-column:1;grid-row:2}
 .home-page .home-process-steps{grid-column:1;grid-row:3}
 body.home-page #main .material-photo img{aspect-ratio:3/2;object-fit:cover;object-position:center;height:auto}
 .home-lens-intro img{aspect-ratio:3/2}
 .home-planning dl>div{grid-template-columns:1fr;gap:8px}
 body.home-page #main .home-closing{padding-block:36px;flex-direction:column;gap:16px}
 .home-closing>.text-link{margin-top:0}
}

/* Editorial homepage organization, scoped to this page. */
.home-page .home-context{padding-block:40px}
.home-page .home-needs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.home-page .home-needs article{display:grid;grid-template-columns:1fr;grid-template-rows:subgrid;grid-row:span 3;gap:20px;padding:24px;border:1px solid #a8ae9b;background:rgba(157,165,132,.14)}
.home-page .home-needs article p{margin:0}
.home-page .home-process{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px 48px}
.home-page .home-process-intro{grid-column:1;grid-row:1;display:block}
.home-page .home-process-intro h2{margin-bottom:24px}
.home-page .home-process .material-photo{grid-column:2;grid-row:1;width:100%;margin:0}
.home-page .home-process-steps{grid-column:1/-1;grid-row:2}
.home-page .home-process-steps ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.home-page .home-process-steps li{padding:24px 20px;border-top:1px solid var(--rule)}
.home-page .home-process-steps li:nth-child(2){background:rgba(157,165,132,.12);border-top-color:var(--green)}
.home-page .home-process-steps>.text-link{margin-top:24px}
.home-page .home-domains{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.home-page .home-domain{border-top:1px solid #a8ae9b;padding-top:20px;min-width:0}
.home-page .home-domain summary{display:block;list-style:none;cursor:default;min-height:0}
.home-page .home-domain summary::-webkit-details-marker{display:none}
.home-page .home-domain h3{margin-bottom:16px}
.home-page .home-domain .domain-question{display:block;font-size:1.0625rem;line-height:1.75}
.home-page .home-domain>p{margin-top:20px}
.home-page .home-people-grid{gap:40px}
.home-page .home-portrait{width:auto;max-width:100%;height:190px;object-fit:contain;object-position:left center;margin-bottom:24px}
.home-page .home-planning dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.home-page .home-planning dl>div{grid-template-columns:1fr;gap:8px}
.home-page .site-footer .footer-inner{padding-bottom:8px}
@media(min-width:801px) and (max-width:1100px){
 .home-page .home-domains{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-page .home-needs{gap:12px}
 .home-page .home-needs article{padding:18px}
 .home-page .home-process-steps ol{gap:16px}
 .home-page .home-process-steps li{padding-inline:12px}
}
@media(max-width:800px){
 body.home-page #main .home-needs{grid-template-columns:1fr;gap:20px}
 body.home-page #main .home-needs article{grid-row:auto;grid-template-rows:auto;gap:20px;padding:24px}
 body.home-page #main .home-process{grid-template-columns:1fr}
 .home-page .home-process-intro{grid-column:1;grid-row:1}
 .home-page .home-process .material-photo{grid-column:1;grid-row:2}
 .home-page .home-process-steps{grid-column:1;grid-row:3}
 .home-page .home-process-steps ol{grid-template-columns:1fr;gap:0}
 .home-page .home-process-steps li{padding:24px 16px}
 .home-page .home-domains{grid-template-columns:1fr;gap:0}
 .home-page .home-domain{padding:0}
 .home-page .home-domain summary{padding:24px 28px 24px 0;position:relative;cursor:pointer}
 .home-page .home-domain summary:after{content:'+';position:absolute;right:0;top:24px;font:400 24px/1 var(--sans)}
 .home-page .home-domain[open] summary:after{content:'−'}
 .home-page .home-domain>p{margin:0 0 24px}
 .home-page .home-domain h3{margin-bottom:12px}
 .home-page .home-planning dl{grid-template-columns:1fr}
 .home-page .home-portrait{height:180px}
 .home-page .home-people-grid{grid-template-columns:1fr;gap:32px}
}

/* Refined editorial rows, integrated lens photograph, balanced portraits. */
.home-page .home-needs{grid-template-columns:1fr;gap:0}
.home-page .home-needs article{grid-row:auto;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-rows:auto auto;gap:18px 56px;padding:32px 0;border:0;border-top:1px solid #a8ae9b;background:transparent}
.home-page .home-needs article:last-child{border-bottom:1px solid #a8ae9b}
.home-page .home-needs article h3{grid-column:1;grid-row:1/3;max-width:20ch}
.home-page .home-needs article p{grid-column:2}
.home-page .home-needs article p:last-child{padding-top:16px;border-top:1px solid rgba(157,165,132,.35)}
.home-page .home-lens{background:var(--ink);color:var(--paper)}
.home-page .home-lens-intro{position:relative;isolation:isolate;min-height:370px;display:flex;align-items:center;margin-bottom:32px;padding-block:36px}
.home-page .home-lens-intro>div{position:relative;z-index:1;width:49%}
.home-page .home-lens-intro figure{position:absolute;inset:0 0 0 auto;width:58%;height:100%;z-index:-1;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 30%);-webkit-mask-image:linear-gradient(to right,transparent,#000 30%)}
.home-page .home-lens-intro img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 62%}
.home-page .home-lens-intro figure:after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,var(--ink),transparent 18%,transparent 78%,var(--ink))}
.home-page .home-domains{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 48px}
.home-page .home-domain{border-color:var(--rule)}
.home-page .home-domain summary{padding:0}
.home-page .home-domain h3{color:var(--headline-olive)}
.home-page .home-domain>p{color:var(--muted)}
.home-page .home-domain .domain-question{color:var(--paper)}
.home-page .home-lens>.shell>.text-link{color:var(--headline-olive)}
.home-page .home-people-grid{gap:48px}
.home-page .home-portrait{width:100%;height:340px;max-width:100%;object-fit:cover;object-position:50% 28%;margin-bottom:24px}
.home-page .home-people-grid article{padding-top:0;border-top:0}
@media(max-width:800px){
 body.home-page #main .home-needs article{grid-template-columns:1fr;grid-template-rows:auto;gap:20px;padding:28px 0}
 .home-page .home-needs article h3,.home-page .home-needs article p{grid-column:1;grid-row:auto;max-width:none}
 .home-page .home-lens-intro{display:flex;flex-direction:column;min-height:0;align-items:stretch;padding:0;gap:16px;margin-bottom:16px}
 .home-page .home-lens-intro>div{width:100%}
 .home-page .home-lens-intro figure{position:relative;inset:auto;width:100%;height:240px;z-index:0;mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 80%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 80%,transparent)}
 .home-page .home-domains{grid-template-columns:1fr;gap:0}
 .home-page .home-domain summary{padding:24px 28px 24px 0}
 .home-page .home-portrait{height:auto;aspect-ratio:4/5;object-position:50% 25%;max-width:420px}
}

/* Preserve the original headroom in both founder portraits. */
body.home-page #main .home-portrait{object-position:50% top}

/* Full original portraits at every screen size, without cropping. */
body.home-page #main .home-portrait{width:100%;max-width:420px;height:auto;aspect-ratio:auto;object-fit:contain;object-position:left top}

/* Equal portrait height aligns both profiles while retaining full proportions. */
body.home-page #main .home-portrait{width:auto;height:420px;max-width:100%;aspect-ratio:auto;object-fit:contain;object-position:left top}
body.home-page #main .home-portrait[src$="about-ana.webp"]{clip-path:inset(.6%)}
@media(max-width:800px){body.home-page #main .home-portrait{height:clamp(280px,100vw - 64px,420px)}}

/* One identical frame for both photos; trim only Ana's embedded edge. */
body.home-page #main .home-portrait-frame{width:min(100%,340px);aspect-ratio:2/3;position:relative;overflow:hidden;margin-bottom:24px}
body.home-page #main .home-portrait-frame .home-portrait{position:absolute;inset:0;width:100%;height:100%;max-width:none;aspect-ratio:auto;object-fit:cover;object-position:center;clip-path:none;margin:0}
body.home-page #main .home-portrait-frame .home-portrait[src$="about-ana.webp"]{transform:scale(1.025);transform-origin:center}

/* Keep planning descriptions immediately below their labels in equal-height cells. */
.home-page .home-planning dl>div{grid-template-rows:auto auto;align-content:start;align-items:start;row-gap:8px}

/* Portrait beside biography, one profile per row. */
body.home-page #main .home-people-grid{display:grid;grid-template-columns:1fr;gap:36px}
body.home-page #main .home-people-grid article{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:40px;align-items:center;border-top:1px solid var(--rule);padding-top:32px}
body.home-page #main .home-people-grid .home-portrait-frame{width:100%;margin:0}
body.home-page #main .home-person-copy{max-width:65ch;min-width:0}
body.home-page #main .home-person-copy h3{margin-bottom:12px}
@media(max-width:800px){body.home-page #main .home-people-grid article{grid-template-columns:1fr;gap:24px}body.home-page #main .home-people-grid .home-portrait-frame{width:min(100%,320px)}}
/* Two founder profiles alongside one another on desktop. */
body.home-page #main .home-people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
body.home-page #main .home-people-grid article{display:block;min-width:0}
body.home-page #main .home-people-grid .home-portrait-frame{width:min(100%,320px);margin-bottom:24px}
@media(max-width:800px){body.home-page #main .home-people-grid{grid-template-columns:1fr;gap:32px}}

/* Context into practice: editorial introduction and numbered, natural-height rows. */
.home-work-revised{padding-block:56px;color:var(--ink);background:var(--paper)}
.home-work-revised .work-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:start}
.home-work-revised .work-intro h2{margin:14px 0 24px}
.home-work-revised .work-steps ol{list-style:none;counter-reset:work; padding:0;margin:0}
.home-work-revised .work-steps li{counter-increment:work;position:relative;padding:24px 0 28px 44px;border-top:1px solid #a8ae9b}
.home-work-revised .work-steps li:before{content:counter(work,decimal-leading-zero);position:absolute;left:0;top:28px;font:500 16px/1.5 var(--sans);color:#536044}
.home-work-revised .work-steps h3{margin-bottom:16px}
body.home-page #main .home-work-revised p{color:#3d4438}
.home-work-revised .work-steps .text-link{margin-top:8px}
@media(max-width:800px){.home-work-revised{padding-block:36px}.home-work-revised .work-layout{grid-template-columns:1fr;gap:28px}.home-work-revised .work-steps li{padding-left:36px}}

/* Restore the dark horizontal engagement layout, retaining current copy. */
body.home-page #main .work-dark-horizontal{background:var(--ink);color:var(--paper)}
body.home-page #main .work-dark-horizontal .work-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px 56px}
body.home-page #main .work-dark-horizontal .work-material{margin:0;align-self:stretch}
body.home-page #main .work-dark-horizontal .work-material img{width:100%;height:100%;max-height:340px;aspect-ratio:3/2;object-fit:cover}
body.home-page #main .work-dark-horizontal .work-steps{grid-column:1/-1}
body.home-page #main .work-dark-horizontal .work-steps ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
body.home-page #main .work-dark-horizontal .work-steps li{padding:48px 0 24px;border-color:var(--rule)}
body.home-page #main .work-dark-horizontal .work-steps li:before{top:16px;color:var(--green)}
body.home-page #main .work-dark-horizontal p{color:var(--muted)}
body.home-page #main .work-dark-horizontal .text-link{color:var(--headline-olive);border-color:var(--green)}
@media(max-width:800px){
 body.home-page #main .work-dark-horizontal .work-layout{grid-template-columns:1fr;gap:24px}
 body.home-page #main .work-dark-horizontal .work-material{grid-row:1}
 body.home-page #main .work-dark-horizontal .work-material img{height:auto;max-height:none}
 body.home-page #main .work-dark-horizontal .work-steps ol{grid-template-columns:1fr;gap:0}
 body.home-page #main .work-dark-horizontal .work-steps li{padding:24px 0 28px 36px}
 body.home-page #main .work-dark-horizontal .work-steps li:before{top:28px}
}
