:root { --ink:#193528; --paper:#f8f8f4; --line:#d8ddd3; --moss:#365f43; --lime:#a7c969; --footer:#092418; --max:100%; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { min-height:100vh; margin:0; min-width:320px; display:flex; flex-direction:column; background:var(--paper); color:var(--ink); font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size:16px; line-height:1.4; }
a { color:inherit; }
a:focus-visible { outline:2px solid var(--lime); outline-offset:4px; }
.skip-link { position:fixed; top:-5rem; left:1rem; z-index:5; padding:.7rem 1rem; background:var(--footer); color:#fff; }
.skip-link:focus { top:1rem; }
.site-header { width:min(100%, var(--max)); min-height:94px; margin:auto; padding:0 60px; display:flex; align-items:center; border-bottom:1px solid #bfc8ba; }
.brand { display:inline-flex; align-items:center; gap:12px; color:var(--ink); font-size:21px; font-weight:400; letter-spacing:-.035em; text-decoration:none; }
.tree-mark { width:23px; height:29px; fill:var(--ink); }
.hero { width:min(100%, var(--max)); min-height:clamp(369px, 38vw, 620px); margin:auto; padding:15px 0 16px 60px; display:grid; grid-template-columns:44.4% 55.6%; align-items:center; }
.hero-copy { align-self:center; padding-right:30px; }
.hero h1 { margin:0; font-size:clamp(3.4rem, 5.4vw, 6.3rem); line-height:1.01; font-weight:350; letter-spacing:-.065em; }
.hero-rule { display:block; width:35px; height:1px; margin:25px 0 27px; background:var(--lime); }
.hero-copy p { max-width:375px; margin:0; font-size:16px; line-height:1.45; letter-spacing:-.02em; }
.hero-media { height:clamp(337px, 35vw, 580px); margin:0; overflow:hidden; border-radius:min(15vw, 185px) 0 0 0; }
.hero-media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 50%; }
main { flex:1 0 auto; display:flex; }
.site-footer { width:min(100%, var(--max)); min-height:96px; margin:0 auto; padding:0 60px; display:flex; align-items:center; color:#dce6dd; background:linear-gradient(100deg, #0b3020 0%, #082419 60%); }
.footer-inner { width:100%; display:flex; align-items:center; justify-content:space-between; gap:32px; font-size:13px; line-height:1.35; }
.footer-left, .footer-right { display:flex; align-items:center; gap:22px; }
.footer-left > span:first-child { color:#fff; font-weight:500; }
.footer-right { justify-content:flex-end; }
.footer-right a { color:#dce6dd; text-decoration:none; }
.footer-right > a { color:#a7c969; }
.footer-right a:hover { color:#fff; }
.footer-right a:focus-visible { outline-color:#a7c969; }
@media (max-width:720px) { .site-header { min-height:72px; padding:0 20px; }.brand { font-size:18px; }.tree-mark { width:19px; height:24px; }.hero { min-height:unset; display:flex; flex-direction:column; align-items:stretch; padding:43px 20px 24px; }.hero-copy { padding:0; }.hero h1 { font-size:clamp(3.05rem, 14.4vw, 4rem); }.hero-rule { margin:24px 0; }.hero-copy p { font-size:15px; }.hero-media { height:auto; aspect-ratio:1.18; margin-top:38px; border-radius:115px 0 0 0; }.site-footer { min-height:0; padding:22px 20px; }.footer-inner, .footer-left, .footer-right { align-items:flex-start; flex-direction:column; gap:10px; }.footer-inner { gap:18px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
