:root{--ink:#183c35;--dark:#173c34;--muted:#5e706a;--cream:#f7f8f2;--lime:#d8e9ae;--line:#dce4da;--white:#fff;--font:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:var(--font);background:var(--cream);line-height:1.6}
a{color:inherit}
button{font:inherit}
button,a{touch-action:manipulation}
:focus-visible{outline:3px solid #85a747;outline-offset:4px}
.skip-link{position:absolute;top:-100px;left:1rem;z-index:20;background:#fff;padding:.7rem}
.skip-link:focus{top:1rem}
.container{width:min(1200px,calc(100% - 48px));margin:auto}
.header{background:var(--cream);border-bottom:1px solid rgba(24,60,53,.1)}
.header-inner{height:92px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:32px;font-weight:700;letter-spacing:-2px;line-height:.8}
.brand-mark{font-size:38px;color:#91ac65;line-height:1}
.brand-dot{color:#8eaa60}
.brand small{display:block;font-size:8px;letter-spacing:1.35px;margin-top:8px}
.nav{display:flex;gap:38px;font-size:14px;font-weight:600}
.nav a,.footer-links a{text-decoration:none}
.nav a:hover,.footer-links a:hover,.text-link:hover{text-decoration:underline}
.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;border:1px solid transparent;border-radius:4px;padding:15px 20px;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer;line-height:1.25;transition:background .2s,color .2s}
.button-dark{background:var(--dark);color:white}
.button-dark:hover{background:#2c594c}
.button-light{background:var(--lime);color:var(--dark)}
.button-light:hover{background:#e8f3cb}
.button-outline{background:transparent;color:var(--dark);border-color:#a9b9ae}
.button-outline:hover{background:#edf3e6}
.hero{padding:42px 0 70px}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:570px;gap:55px;align-items:center}
.hero-copy{padding:35px 0}
.eyebrow,.section-label{font-size:10px;font-weight:700;letter-spacing:2px}
.eyebrow{display:flex;align-items:center;gap:9px}
.status-dot{width:7px;height:7px;background:#a7bf76;border-radius:50%}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-2.5px;line-height:1.08}
h1{font-size:clamp(48px,5.5vw,76px);margin:29px 0 22px}
h1 em,h2 em{font-weight:400;color:#7e9c5c}
.hero-copy>p{max-width:470px;color:var(--muted);font-size:17px}
.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:32px}
.text-link{font-size:13px;font-weight:700;text-decoration:none}
.text-link span{margin-left:8px}
.hero-note{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);margin-top:75px;padding-top:24px;color:var(--muted);font-size:12px;line-height:1.5}
.hero-note strong{color:var(--ink)}
.note-icon{font-size:30px;color:#93ac6d}
.hero-visual{position:relative;overflow:hidden;min-height:570px;background:#dce9cf;border-radius:3px}
.visual-grid{position:absolute;inset:0;background-image:linear-gradient(#b3c9ad55 1px,transparent 1px),linear-gradient(90deg,#b3c9ad55 1px,transparent 1px);background-size:45px 45px}
.orbit{position:absolute;border:1px solid #a6c39b;border-radius:50%;width:410px;height:410px;left:50%;top:48%;transform:translate(-50%,-50%)}
.orbit-two{width:310px;height:310px}
.visual-leaf{position:absolute;background:#638a68;border-radius:100% 0 100% 0;box-shadow:inset -15px -10px 40px #173c3433}
.leaf-one{width:125px;height:215px;top:21%;left:44%;transform:rotate(-25deg)}
.leaf-two{width:105px;height:180px;top:35%;left:26%;transform:rotate(-75deg);background:#779a74}
.leaf-three{width:105px;height:180px;top:35%;left:60%;transform:rotate(22deg);background:#a2bd8b}
.visual-card{position:absolute;bottom:67px;left:30px;display:flex;gap:13px;align-items:center;background:#fff;padding:17px 22px;box-shadow:0 12px 30px #244a3020}
.visual-card-icon{display:grid;place-items:center;width:39px;height:39px;background:#e8f0dc;border-radius:50%;font-size:20px}
.visual-card strong,.visual-card small{display:block}
.visual-card strong{font-size:13px}.visual-card small{font-size:11px;color:var(--muted)}
.visual-caption{position:absolute;right:22px;bottom:20px;font-size:9px;letter-spacing:2px}
.section{padding:110px 0}
.intro{background:#fff}
.intro-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.section-label{margin-bottom:26px;color:#789267}
.section-label span{color:#a1b695;margin-right:12px}
h2{font-size:clamp(38px,4.2vw,58px);margin-bottom:25px}
.intro-text{padding-top:32px;color:var(--muted);font-size:16px}
.intro-text .text-link{display:inline-block;color:var(--ink);margin-top:16px}
.services{background:#f1f5ec}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px}
.section-heading h2{margin-bottom:0}
.section-heading>p{max-width:340px;color:var(--muted);margin-bottom:4px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.service-card{background:#fff;min-height:280px;padding:27px 28px}
.service-number{font-size:11px;color:#99aa9c;font-weight:700}
.service-icon{font-size:30px;color:#8da76b;margin:38px 0 14px}
.service-card h3{font-size:17px;margin-bottom:10px}
.service-card p,.service-disclaimer{font-size:13px;color:var(--muted)}
.service-disclaimer{margin:20px 0 0}
.approach{background:#1b4037;color:#fff}
.approach-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:end}
.approach h2{margin:0}.approach h2 em{color:#c6dda1}
.approach-grid>div:last-child p{color:#c7d7ca;margin-bottom:30px}
.section-label-light{color:#b4cda9}
.contact{background:#fff}
.contact-grid>div:first-child>p:not(.section-label){color:var(--muted);max-width:390px;margin-bottom:28px}
.contact-details{border-top:1px solid var(--line)}
.contact-details>div{padding:21px 0;border-bottom:1px solid var(--line)}
.contact-details span{display:block;color:#8aa08e;font-size:10px;font-weight:700;letter-spacing:1.5px;margin-bottom:6px}
.contact-details a{text-decoration:none;font-weight:700;overflow-wrap:anywhere}
.contact-details a:hover{text-decoration:underline}
.contact-details p{color:var(--muted);font-size:14px;margin-bottom:8px}
.contact-details .map-link{font-size:12px}
.footer{background:#142f29;color:#d6e0d6;padding:55px 0 20px}
.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;padding-bottom:50px}
.brand-light{color:white;align-self:start;justify-self:start}
.footer-top p{color:#9eafa2;font-size:13px}
.footer-links{display:grid;justify-items:start;gap:9px;font-size:12px}
.cookie-settings{border:0;background:none;color:inherit;padding:0;cursor:pointer;text-align:left}
.cookie-settings:hover{text-decoration:underline}
.footer-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #ffffff25;padding-top:19px;color:#9eafa2;font-size:11px}
.cookie-banner{position:fixed;z-index:10;bottom:20px;left:50%;transform:translateX(-50%);width:min(1100px,calc(100% - 32px));background:white;border:1px solid var(--line);box-shadow:0 10px 45px #143c302b;padding:20px 24px;display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.cookie-banner[hidden]{display:none}
.cookie-banner>div:first-child{flex:1;min-width:250px}
.cookie-banner strong{font-size:15px}.cookie-banner p{font-size:12px;color:var(--muted);margin:4px 0 0}.cookie-banner a{color:var(--ink)}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}
.cookie-banner .cookie-error{flex-basis:100%;color:#9c302b}
.legal{background:#fff;padding:75px 0 100px}
.legal-content{max-width:800px}
.legal h1{font-size:clamp(42px,5vw,62px)}
.legal h2{font-family:var(--font);font-size:20px;letter-spacing:0;font-weight:700;margin:36px 0 12px}
.legal p,.legal li{color:#52655c;font-size:15px}
.legal a{color:var(--ink);overflow-wrap:anywhere}
.legal-updated{font-size:12px!important;color:#829488!important}
@media(max-width:800px){.header-inner{height:78px}.nav{gap:16px}.header-cta{display:none}.hero-grid{grid-template-columns:1fr;gap:10px}.hero{padding:20px 0 40px}.hero-copy{padding:32px 0}.hero-note{margin-top:38px}.hero-visual{min-height:400px}.intro-grid,.contact-grid,.approach-grid{grid-template-columns:1fr;gap:25px}.intro-text{padding-top:0}.section{padding:75px 0}.section-heading{display:block}.section-heading>p{margin-top:20px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.service-icon{margin:20px 0 10px}.footer-top{grid-template-columns:1fr 1fr}.footer-links{grid-column:1/-1}.approach-grid{gap:30px}}
@media(max-width:480px){.container{width:calc(100% - 32px)}.brand{font-size:27px}.brand-mark{font-size:30px}.brand small{font-size:7px}.nav{gap:12px;font-size:12px}.hero-actions{gap:18px}.hero-visual{min-height:350px}.orbit{width:310px;height:310px}.orbit-two{width:230px;height:230px}.visual-leaf{transform:scale(.8) rotate(-25deg)}.leaf-two{transform:scale(.8) rotate(-75deg)}.leaf-three{transform:scale(.8) rotate(22deg)}.footer-top{grid-template-columns:1fr}.footer-links{grid-column:auto}.footer-bottom{flex-direction:column}.cookie-actions{width:100%}.cookie-actions .button{flex:1;gap:0;padding:13px 10px}.cookie-banner{bottom:8px;max-height:85vh;overflow:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
