@font-face{font-family:Display;src:url('fonts/display.woff2') format('woff2');font-display:swap;font-weight:400}@font-face{font-family:Text;src:url('fonts/text.woff2') format('woff2');font-display:swap;font-weight:400}
:root{--forest:#2F4E27;--mint:#CBEADD;--paper:#FAFAF7;--ink:#151515;--rule:#6d8873;--measure:48rem;--space:clamp(3.5rem,7vw,7rem)}*{box-sizing:border-box}html{scroll-behavior:auto;scrollbar-color:var(--forest) var(--mint)}body{margin:0;background:var(--paper);color:var(--ink);font-family:Text,Arial,sans-serif;font-size:16px;line-height:1.7}::selection{background:var(--forest);color:white}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px;min-height:44px;display:inline-flex;align-items:center;padding:.5rem 0}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--forest);outline-offset:5px}header a:focus-visible,footer a:focus-visible,.contact-close a:focus-visible{outline-color:var(--mint)}button,input{font:inherit;accent-color:var(--forest)}button{min-height:48px;padding:.65rem 1rem;border:1px solid var(--forest);color:var(--forest);background:var(--paper);cursor:pointer}button:hover{background:var(--mint)}button:disabled{opacity:.6;cursor:not-allowed}.skip{position:absolute;left:1rem;top:-10rem;z-index:5;background:var(--paper);padding:1rem}.skip:focus{top:1rem}header{min-height:116px;background:var(--forest);color:white;display:flex;align-items:center;justify-content:space-between;padding:1.25rem clamp(1.25rem,5vw,5rem);gap:2rem}.brand{font-family:Display,Georgia,serif;font-size:2rem;line-height:1.1;display:block;text-decoration:none}.brand span{display:block;font-family:Text,Arial,sans-serif;font-size:.72rem;line-height:1.5;margin-top:.45rem}.desktop-nav{display:flex;gap:1.7rem;font-size:.9rem}.desktop-nav a{text-decoration:none}.desktop-nav a[aria-current]{text-decoration:underline}.mobile-nav{display:none}.reading{width:min(var(--measure),calc(100% - 3rem));margin:0 auto}section.reading,article.reading{padding-block:var(--space)}h1,h2,h3,.footer-brand{font-family:Display,Georgia,serif;font-weight:400;line-height:1.08;text-wrap:balance}h1{font-size:clamp(3.25rem,6vw,5.6rem);letter-spacing:-.025em;margin:0 0 1.5rem;color:var(--forest)}h2{font-size:clamp(2.1rem,4vw,3.5rem);letter-spacing:-.02em;margin:0 0 1.5rem;color:var(--forest)}h3{font-size:1.65rem;margin:1.5rem 0 .75rem}p{margin:0 0 1.3rem}p:last-child{margin-bottom:0}.lead{font-size:1.12rem;max-width:42rem;line-height:1.75}.small,.sample,figcaption{font-size:.8rem;line-height:1.6}.sample{margin-top:2rem}.work-intro{background:var(--mint);padding:4rem 0 2.5rem}.work-intro h1{font-size:clamp(3.25rem,6vw,5.6rem)}.wide-figure{max-width:1100px;margin:2.5rem auto 0}.wide-figure img{display:block;width:100%;height:auto}.wide-figure figcaption{padding:1rem 1.5rem;text-align:center}.plan-caption{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding-top:1.5rem;border-top:1px solid var(--rule)}.plan-caption p{margin:0}.plan-caption a{gap:1rem}.facts{margin:2rem 0}.facts>div{display:grid;grid-template-columns:8rem 1fr;border-top:1px solid var(--rule);padding:1rem 0;gap:1rem}.facts dt{color:var(--forest)}dd{margin:0}.offerings{background:var(--forest);color:white;padding-block:var(--space)}.offerings h2,.contact-close h2{color:var(--mint)}.service-list{padding:0;list-style:none;margin:2rem 0}.service-list li{border-top:1px solid #769772;padding:1.5rem 0}.service-list h3{margin:0 0 .65rem;color:var(--mint)}.service-list p{max-width:39rem}.questions details{border-bottom:1px solid var(--rule)}summary{cursor:pointer;min-height:55px;padding:1rem 0;color:var(--forest)}details p{padding:0 0 1.5rem}.resources{border-top:1px solid var(--rule)}.button{background:var(--forest);color:white;padding:.85rem 1.25rem;min-height:48px;text-decoration:none;justify-content:center}.button:hover{background:#1e3818}.contact-close{background:var(--forest);color:white;padding-block:var(--space)}.contact-close a{color:var(--mint)}footer{background:var(--forest);color:white;border-top:1px solid #769772;padding:3rem 0}.footer-brand{font-size:2.7rem;margin-bottom:1rem}.identity{font-size:.85rem}.identity>div{margin:1rem 0}.identity dt{color:var(--mint)}.identity a{margin-right:1.25rem}.page-intro{padding-bottom:3rem!important}.service-detail,.process-step{border-top:1px solid var(--rule)}.service-detail dt{font-weight:bold;margin:1.2rem 0 .3rem}.service-detail dd{max-width:40rem}.photo-slot{margin:2rem 0}.photo-slot>div{aspect-ratio:8/5;border:1px solid var(--rule);background:var(--mint);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--forest);padding:1rem;gap:.65rem}.photo-slot strong{font-family:Display,Georgia,serif;font-size:2rem;font-weight:400}.photo-slot span{font-size:.82rem}.portrait{max-width:24rem}.portrait>div{aspect-ratio:4/5}.photo-slot figcaption{margin-top:1rem}.review-note{border-block:1px solid var(--rule);padding:1rem 0 2rem}.review-note h3{font-family:Text,Arial,sans-serif;font-size:1.15rem}.profile-slots dt{margin-top:1rem;color:var(--forest)}.profile-slots dd{font-size:.9rem}.spacing-section{background:var(--mint);padding-block:var(--space)}.spacing-section svg{width:100%;height:auto;display:block;overflow:hidden}.interactive[hidden]{display:none}.interactive{margin-top:2rem}.plot{fill:var(--paper);stroke:var(--forest);stroke-width:2}.plot-grid{stroke:#bacabd;stroke-width:1}.canopy{fill:#a9cda6;fill-opacity:.55;stroke:var(--forest);stroke-width:2}.canopy.conflict{stroke-dasharray:7 4;stroke-width:3}.spacing-section svg text{fill:var(--forest);font:18px Text,Arial,sans-serif}.measure-line{stroke:var(--forest);stroke-dasharray:4 4}.spacing-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}.spacing-controls fieldset{min-width:0;border:1px solid var(--rule);padding:1rem}.spacing-controls legend{font-family:Display,Georgia,serif;font-size:1.5rem}.spacing-controls legend span{display:block;font:12px Text,Arial,sans-serif}.spacing-controls label{display:block;font-size:.8rem}.spacing-controls input{width:100%;min-height:44px;display:block;margin:0}.spacing-controls output{float:right}.spacing-fallback{margin-top:3rem;border-top:1px solid var(--rule);padding-top:1rem}.spacing-example{margin:2rem 0 3rem}.spacing-example svg{background:var(--paper)}.spacing-example figcaption{padding-top:1rem}#spacing-result{margin-top:1.5rem;padding:1.25rem 0;border-top:1px solid var(--rule)}#spacing-result p{margin-bottom:.6rem}#spacing-result ul{padding-left:1.3rem;font-variant-numeric:tabular-nums}li{margin-bottom:.6rem}section[id]{scroll-margin-top:1rem}
@media(max-width:850px){header{gap:1rem;min-height:102px}.desktop-nav{gap:1rem;font-size:.8rem}.brand{font-size:1.7rem}.brand span{font-size:.75rem}.wide-figure{margin-top:2rem}.reading{width:min(var(--measure),calc(100% - 2.5rem))}}
@media(max-width:650px){header{align-items:flex-start;padding:1.15rem 1.25rem;flex-wrap:wrap}.desktop-nav{display:none}.mobile-nav{display:block;margin-left:auto}.mobile-nav summary{color:white;min-width:60px;padding:.4rem 0;text-align:right}.mobile-nav nav{display:flex;flex-direction:column;gap:0;align-items:flex-end;padding-top:1rem}.mobile-nav a{min-width:100px;justify-content:flex-end}.reading{width:calc(100% - 2.5rem)}.work-intro{padding-top:2.75rem}.lead{font-size:1rem}.plan-caption{display:block}.plan-caption a{margin-top:1rem}.wide-figure img{width:100%;min-height:0}.wide-figure figcaption{text-align:left;padding-inline:1.25rem}.facts>div{grid-template-columns:1fr;gap:.3rem}.spacing-controls{grid-template-columns:1fr}.spacing-controls fieldset{padding:.75rem 1rem}.spacing-controls legend span{display:inline;margin-left:.4rem}.spacing-controls input{margin-bottom:.3rem}.spacing-section svg text{font-size:20px}.photo-slot strong{font-size:1.6rem}.photo-slot span{font-size:.75rem}.page-intro{padding-top:3rem!important}.identity a{display:flex;width:max-content;max-width:100%}h1{overflow-wrap:normal}section.reading,article.reading{padding-block:3.5rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.mobile-nav summary:focus-visible,.offerings a:focus-visible{outline-color:#CBEADD}
