/* Preserve the original forest homepage with current accessibility and form states. */
:root { --ink-faint:#57635b; }
::selection { background:#c9dcc9; color:#183627; }
:focus-visible { outline:3px solid #8b592b; outline-offset:5px; }
input,textarea { caret-color:var(--green); }
html { scroll-padding-top:110px; scrollbar-color:#687c6b var(--paper); }
a { text-underline-offset:.22em; }
.skip-link { position:fixed; top:8px; left:8px; transform:translateY(-200%); z-index:1000; padding:1rem; background:white; color:var(--ink); }
.skip-link:focus { transform:none; }
.footer-work { font:inherit; color:inherit; background:none; border:0; cursor:pointer; text-decoration:underline; text-underline-offset:.22em; }
.form-status { font-size:14px; line-height:1.6; color:#91351b; }
.form-status:empty { display:none; }
button:disabled { opacity:.65; cursor:wait; }
.modal { max-height:calc(100dvh - 32px); overflow-y:auto; }
.modal[tabindex='-1']:focus { outline:none; }
/* Content remains readable when JavaScript is unavailable. */
.content-section { opacity:1; transform:none; }
.footer-tmd { opacity:1; transform:none; }
.footer-links { flex-wrap:wrap; justify-content:center; }
.footer-contact-item { overflow-wrap:anywhere; }
@media(max-width:900px) { .site-nav:not(.is-open) { display:none; } }
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation:none!important; transition:none!important; }
 .hero-section { height:100vh; }
 .scroll-hint { display:none; }
}
/* The long contact email must wrap instead of widening the mobile grid. */
.contact-section > * { min-width:0; }
.contact-detail dd { overflow-wrap:anywhere; }
.pricing-badge,.contact-detail dt { font-size:12px; }
