/* Finishing layer: retain the forest, warm light, and established typography. */
html { scrollbar-gutter: stable; }
button, a, summary { -webkit-tap-highlight-color: transparent; }
[hidden] { display: none !important; }
main:focus { outline: none; }
.skip { z-index: 50; }
.nav nav a:not(.btn) { padding: 8px 0; }
.home-forest > .nav { background: linear-gradient(180deg,#062417b3,transparent); }
.home-forest .experience { min-height: calc(100vh + 88px); min-height: calc(100svh + 88px); padding: 132px 6% 168px; }
.home-forest .experience-inner { grid-template-columns: minmax(0,1.55fr) minmax(310px,1fr); gap: clamp(32px,5vw,80px); }
.home-forest .experience h1 { font-size: clamp(62px,6.3vw,92px); }
.home-forest .experience .scene, .tree-depth { position:absolute; inset:-60px; width:calc(100% + 120px); height:calc(100% + 120px); object-fit:cover; object-position:center 55%; pointer-events:none; }
.home-forest .experience .scene { z-index:-6; transform:translate3d(var(--scene-x,0px),var(--scene-y,0px),0) scale(1.035); transition:transform 1s cubic-bezier(.16,.8,.22,1); }
.tree-depth { z-index:-5; mask-image:linear-gradient(90deg,transparent 21%,#000 40%,#000 75%,transparent 96%); transform:translate3d(var(--tree-x,0px),var(--tree-y,0px),0) scale(1.035); transition:transform 1.2s cubic-bezier(.16,.8,.22,1); will-change:transform; }
.home-forest .experience:before { background:linear-gradient(90deg,#062417ed 0%,#082a1bbd 37%,#08271940 78%),linear-gradient(0deg,#061e17a6,transparent 40%); }
.home-forest .hero-bottom { bottom:115px; }
.forest-fade { height:88px; }
.home-forest .hero-promise { color:#d6e4cf; }
.goal-picker { background:linear-gradient(135deg,#173c2ce8,#0e241ceb); }
.goal-panel { min-height:208px; }
.goal-panel a { padding:8px 0; }
.goal-tab { min-height:52px; }
.motion-switch { min-height:36px; padding:8px 14px; font-size:10px; }
.home-forest .leaf-layer { transition:transform .8s cubic-bezier(.16,.8,.22,1); }
.home-forest .experience.still .scene, .home-forest .experience.still .tree-depth { transform:scale(1.035); transition:none; }
.home-forest .experience.still *, .home-forest .experience.still:after { animation-play-state:paused; }
.experience.still ~ * .care-card { transform:none; }
.home-main-service { max-width:880px; }
.home-main-service h2 { font-size:clamp(40px,5vw,64px); }
.home-main-service h2 { color:#234d35; }
.home-other-services .service-duo { margin-top:12px; }
.home-other-services .service-card { background:#e5eddd; padding:34px; display:flex; flex-direction:column; align-items:flex-start; }
.home-other-services .service-card h2 { font-size:clamp(28px,3vw,37px); letter-spacing:-1.2px; }
.home-other-services .service-card p { font-size:15px; }
.home-other-services .service-card .btn { margin-top:auto; }
.home-forest .copy-section { padding:64px 0; }
.home-forest .audience-highlight { margin:12px 0 20px; }
.proof-strip { transition:background .25s; }
.proof-strip:hover { background:#dbe5ce; }
.proof-strip .eyebrow { margin-bottom:10px; }
.proof-strip p { margin:10px 0; }
.copy-section .pain-list li { text-wrap:pretty; }
.service-nav { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:8px 22px; font-size:12px; padding:24px 0 0; }
.service-nav a { padding:5px 0; }
.service-nav a[aria-current] { color:#1c4c32; border-color:#758c4c; }
.service-nav a:first-child { color:#63755b; }
.inner-page .copy-hero { max-width:none; }
.inner-hero-grid { grid-template-columns:minmax(0,1.55fr) minmax(260px,.7fr); }
.inner-page .copy-hero h1 { text-wrap:balance; }
.inner-page .copy-hero h1 em { font-family:'Instrument Serif',Georgia,serif; }
.service-panel p { max-width:760px; }
.inner-page .service-panel:first-child p, .inner-page .service-panel:first-child .eyebrow { color:#dae6c8; }
.inner-page .service-panel:first-child p strong { color:#f4f5e8; }
.inner-page .service-panel:first-child .btn { border-color:#e5eac6; }
.video-card video { background:#10291d; }
.video-copy .client-role { font-size:12px; }
.video-copy .eyebrow { margin-bottom:12px; }
.quote-card { overflow-wrap:anywhere; }
.inner-page .story-section { max-width:900px; }
.inner-page .story-section > h2 { font-size:clamp(30px,3.5vw,42px); }
.draft-review { margin-top:24px; border-top:1px solid #bdc9ab; padding-top:8px; }
.draft-review h3 { line-height:1.3; letter-spacing:-.5px; }
.draft-review > p { font-size:12px; }
.draft-review pre { white-space:pre-wrap; overflow-wrap:anywhere; font:14px/1.7 'DM Sans',Arial,sans-serif; background:#f7f9ef; color:#26442c; padding:18px; border-radius:12px; }
.draft-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.draft-actions .btn { margin-top:0; }
#form-status { color:#294c31; font-weight:500; }
.footer a:not(.logo):hover, .service-nav a:hover { text-decoration:underline; text-underline-offset:4px; }
@media(min-width:1450px) { .home-forest .experience { padding-left:max(6%,calc((100vw - 1280px)/2)); padding-right:max(6%,calc((100vw - 1280px)/2)); } }
@media(max-width:1000px) { .home-forest .experience { padding-left:4%; padding-right:4%; } .home-forest .experience-inner { grid-template-columns:minmax(0,1.3fr) minmax(290px,1fr); gap:30px; } .home-forest .experience h1 { font-size:clamp(52px,6.8vw,70px); } .inner-hero-grid { gap:32px; grid-template-columns:minmax(0,1.5fr) minmax(210px,.7fr); } }
@media(max-width:760px) {
 .home-forest .experience { padding:122px 24px 148px; min-height:calc(100svh + 88px); }
 .home-forest .experience-inner { grid-template-columns:1fr; gap:34px; }
 .home-forest .experience h1 { font-size:clamp(50px,11.8vw,78px); }
 .home-forest .experience h1 em { font-size:.89em; }
 .home-forest .hero-promise { font-size:14px!important; max-width:460px; }
 .home-forest .hero-bottom { bottom:108px; left:24px; right:24px; gap:12px; }
 .home-forest .experience .scene, .tree-depth { object-position:67% center; }
 .tree-depth { mask-image:linear-gradient(90deg,transparent 15%,#000 40%,#000 80%,transparent); }
 .goal-picker { max-width:460px; justify-self:start; width:100%; }
 .goal-panel { min-height:190px; }
 .goal-tab { font-size:14px; min-height:50px; }
 .home-forest .copy-section { padding:44px 0; }
 .home-other-services .service-card { padding:26px; }
 .home-other-services .service-card h2 { font-size:32px; }
 .service-nav { gap:5px 16px; font-size:11px; padding-top:20px; }
 .inner-page .copy-hero { padding-top:36px; }
 .nav nav.open { display:flex; flex-direction:column; align-items:stretch; gap:8px; }
 .nav nav.open > a:not(.btn) { padding:10px 4px; }
 .nav nav.open .btn { align-self:flex-start; margin-top:6px; }
 .home-forest .nav.menu-open { background:#0c2e20; }
}
@media(max-width:680px) { .inner-hero-grid { grid-template-columns:1fr; } .service-nav span { display:none; } .inner-page .copy-hero h1 { font-size:clamp(36px,9.5vw,52px); } }
@media(max-width:380px) { .home-forest .experience { padding-left:20px; padding-right:20px; } .home-forest .experience h1 { font-size:49px; } .home-forest .hero-bottom { left:20px; right:20px; letter-spacing:.5px; } .scroll-line { display:none; } .motion-switch { font-size:9px; padding:6px 10px; } .wrap { padding-left:20px; padding-right:20px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .tree-depth, .home-forest .experience .scene { transform:scale(1.035); transition:none; } .home-forest .experience *, .home-forest .experience:after { animation:none!important; transition:none!important; } .proof-strip { transition:none; } }

@media(max-width:760px) { .home-forest .experience:before { background:linear-gradient(90deg,#062417eb,#082a1ba8),linear-gradient(0deg,#061e17b3,transparent 60%); } }
