:root{--green:#103d2b;--green-2:#1c5b3b;--lime:#9fcb59;--cream:#f5f8f0;--ink:#18392b;--muted:#557062;--line:#dce8d4;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit}img{max-width:100%}.container{width:min(1180px,calc(100% - 44px));margin:auto}.skip{position:absolute;left:-9999px;top:auto}.skip:focus{left:12px;top:12px;background:white;padding:12px;z-index:20}.topline{background:var(--green);color:#e7f0e2;font-size:14px}.topline .container{display:flex;justify-content:space-between;gap:15px;padding:10px 0}.topline a{text-decoration:none}.site-header{background:#fff;position:relative;z-index:2;box-shadow:0 1px 0 var(--line)}.nav{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1}.brand-icon{width:47px;height:47px;display:grid;place-items:center;border:2px solid #80ad42;border-radius:50%;color:var(--green)}.brand-icon svg{width:30px}.brand strong{font:700 28px/1 Georgia,serif;letter-spacing:.065em}.brand strong span{color:#77a93a}.brand small{display:block;font-size:10px;font-weight:700;letter-spacing:.28em;margin-top:6px}.nav-links{display:flex;align-items:center;gap:27px}.nav-links a{text-decoration:none;font-size:14px;font-weight:700}.nav-links a:hover{color:#5b9133}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:0;border-radius:7px;padding:15px 24px;font:700 15px Arial,sans-serif;cursor:pointer;background:var(--lime);color:var(--green);box-shadow:0 9px 25px #103d2b1c;transition:transform .25s,box-shadow .25s,background .25s}.btn:hover{transform:translateY(-3px);box-shadow:0 14px 28px #103d2b2b;background:#b2d779}.btn.dark{background:var(--green);color:white}.btn.dark:hover{background:var(--green-2)}.btn.ghost{background:transparent;color:var(--green);border:1px solid #a8c597;box-shadow:none}.btn.ghost:hover{background:#eaf2df}
.hero{background:linear-gradient(130deg,#f7faf3 0%,#e8f3df 100%);overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;min-height:620px;align-items:center}.hero-copy{padding:72px 65px 78px 0;position:relative;z-index:1}.eyebrow{color:#548b37;text-transform:uppercase;letter-spacing:.19em;font-size:13px;font-weight:800}.hero h1{font:400 clamp(48px,5.6vw,80px)/1.06 Georgia,serif;letter-spacing:-.045em;margin:23px 0;color:var(--green)}.hero h1 em{font-style:normal;color:#6d9e37}.hero p{max-width:550px;color:#465f4e;font-size:19px;line-height:1.65;margin:0 0 31px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.hero-photo{position:relative;height:100%;min-height:620px}.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.95)}.hero-photo:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#e9f3e2 0%,transparent 22%)}.hero-badge{position:absolute;z-index:1;bottom:34px;left:20px;right:20px;background:#ffffffee;border:1px solid #fff;border-radius:8px;padding:17px 20px;box-shadow:0 20px 35px #173c2926;font:18px Georgia,serif;color:var(--green);text-align:center}
.section{padding:88px 0}.kicker{font-size:13px;text-transform:uppercase;letter-spacing:.2em;color:#6c9b39;font-weight:800;margin:0 0 12px}.section h2,.section-title{font:400 clamp(34px,4vw,54px)/1.15 Georgia,serif;letter-spacing:-.03em;margin:0 0 18px}.lead{color:var(--muted);font-size:18px;line-height:1.6;max-width:730px;margin:0 0 36px}.services{background:#fff}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:28px;min-height:214px;box-shadow:0 12px 27px #1c493010;transition:transform .3s,box-shadow .3s,border-color .3s}.service-card:hover{transform:translateY(-6px);box-shadow:0 22px 38px #1c493022;border-color:#9ec476}.service-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:#4c873c;background:#edf5e4;font-size:25px;margin-bottom:20px}.service-card h3{font-size:21px;margin:0 0 9px}.service-card p{line-height:1.55;color:var(--muted);font-size:15px;margin:0 0 14px}.service-card a{font-weight:700;text-decoration:none;color:#37703a}.service-card a:hover{text-decoration:underline}
.story{background:var(--cream)}.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:58px}.story-copy p{font-size:17px;line-height:1.72;color:var(--muted)}.story-image{margin:0;border-radius:16px;overflow:hidden;box-shadow:0 24px 50px #19402b26;background:white}.story-image img{display:block;width:100%;height:auto}.story-image figcaption{padding:13px 18px;font-size:14px;font-weight:700;background:white}.brand-gallery{background:#fff}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.gallery-grid figure{margin:0;border-radius:12px;overflow:hidden;border:1px solid var(--line);box-shadow:0 16px 36px #19402b12}.gallery-grid img{display:block;width:100%;height:auto;transition:transform .65s}.gallery-grid figure:hover img{transform:scale(1.035)}.gallery-grid figcaption{padding:15px 18px;font-size:14px;color:var(--muted);font-weight:700}.contact{background:var(--green);color:white;text-align:center}.contact .container{max-width:820px}.contact .kicker{color:#b8d989}.contact .lead{color:#deeadb;margin:0 auto 28px}.contact-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.contact-links{margin-top:28px;display:flex;justify-content:center;gap:23px;flex-wrap:wrap;color:#e0ebda}.contact-links a{text-decoration:none;overflow-wrap:anywhere}.contact-links a:hover{text-decoration:underline}.footer{background:#0c3022;color:#d4e6d2;padding:28px 0;font-size:14px}.footer .container{display:flex;justify-content:space-between;gap:18px}
.article-hero{background:var(--green);color:white;padding:78px 0}.article-hero .container{max-width:950px}.crumbs{font-size:14px;color:#cee7c8}.crumbs a{text-decoration:none}.article-hero h1{font:400 clamp(42px,5vw,68px)/1.08 Georgia,serif;letter-spacing:-.035em;margin:21px 0}.article-hero p{font-size:19px;line-height:1.6;color:#e0eddf;max-width:700px;margin:0 0 28px}.article-layout{display:grid;grid-template-columns:minmax(0,760px) 300px;gap:70px;align-items:start}.prose h2{font:400 clamp(29px,3vw,40px)/1.2 Georgia,serif;margin:0 0 16px;color:var(--green)}.prose h2:not(:first-child){margin-top:43px}.prose p,.prose li{font-size:17px;line-height:1.75;color:#405949}.prose p{margin:0 0 21px}.prose ul{padding-left:24px;margin:0 0 25px}.prose li{padding-left:4px;margin-bottom:7px}.sidebox{position:sticky;top:20px;border:1px solid var(--line);border-radius:12px;background:#f0f6e9;padding:20px}.sidebox img{width:100%;height:190px;object-fit:cover;border-radius:7px}.sidebox h2{font-size:23px;margin:19px 0 12px}.sidebox p{line-height:1.55;color:var(--muted)}.sidebox .btn{width:100%;margin-top:12px}.related{background:var(--cream)}.related-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.related-list a{background:white;border:1px solid var(--line);border-radius:8px;padding:22px;text-decoration:none;font-weight:700}.related-list a:hover{border-color:#8db966;color:#357536}
.admin-bg{background:#f1f6eb;min-height:100vh;padding:45px 0}.admin-bg .container{max-width:1050px}.admin-panel{background:white;border:1px solid var(--line);border-radius:12px;padding:27px;margin:20px 0}.admin-panel h1{font:400 42px Georgia,serif;margin:0 0 18px}.admin-panel h2{font-size:23px;margin:0 0 14px}.field{display:block;font-size:15px;font-weight:700;margin:0 0 18px}.field input,.field textarea{display:block;width:100%;padding:12px 13px;margin-top:7px;border:1px solid #adc5a9;border-radius:6px;background:#fff;color:var(--ink);font:16px/1.5 Arial,sans-serif}.field textarea{min-height:96px;resize:vertical}.field textarea.long{min-height:390px;font-family:ui-monospace,monospace;font-size:14px}.admin-grid{display:grid;grid-template-columns:240px 1fr;gap:20px}.admin-nav{list-style:none;padding:0;margin:0}.admin-nav a{display:block;padding:10px 12px;text-decoration:none;border-radius:6px}.admin-nav a:hover{background:var(--cream)}.notice{padding:13px 15px;border-radius:6px;background:#e4f2d8}.notice.error{background:#fbe6e2;color:#843a32}.admin-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.hint{font-size:14px;line-height:1.5;color:var(--muted)}
[data-reveal]{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay,0ms)}.motion-on [data-reveal]{opacity:0;transform:translateY(25px)}.motion-on [data-reveal].shown{opacity:1;transform:none}.hero-copy>*{animation:enter .7s both}.hero-copy>*:nth-child(2){animation-delay:.12s}.hero-copy>*:nth-child(3){animation-delay:.22s}.hero-copy>*:nth-child(4){animation-delay:.32s}@keyframes enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:920px){.nav-links a:not(.btn){display:none}.hero-inner{grid-template-columns:1fr .8fr}.hero-copy{padding-right:22px}.service-grid{grid-template-columns:repeat(2,1fr)}.article-layout{gap:30px;grid-template-columns:minmax(0,1fr) 260px}}
@media(max-width:690px){.container{width:min(100% - 34px,1180px)}.topline .container{justify-content:center}.topline span{display:none}.nav{min-height:75px}.brand-icon{width:40px;height:40px}.brand strong{font-size:21px}.brand small{font-size:9px}.nav-links .btn{padding:11px 13px;font-size:12px}.hero-inner{display:flex;flex-direction:column-reverse}.hero-photo{height:265px;min-height:265px;width:calc(100% + 34px)}.hero-photo:before{background:linear-gradient(0deg,#e8f3df,transparent 30%)}.hero-badge{bottom:18px;padding:10px;font-size:15px}.hero-copy{padding:20px 0 58px}.hero h1{font-size:clamp(45px,11vw,64px)}.hero p{font-size:17px}.hero-actions .btn{flex:1}.section{padding:66px 0}.service-grid,.gallery-grid,.story-grid,.article-layout,.related-list,.admin-grid{grid-template-columns:1fr}.service-card{min-height:auto}.story-grid{gap:26px}.story-image{order:2}.contact-actions .btn{width:100%}.footer .container{display:block;line-height:1.8}.sidebox{position:static}.article-hero{padding:55px 0}.admin-panel{padding:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.motion-on [data-reveal]{opacity:1;transform:none}}
