:root{--forest:#123c35;--deep:#0e302b;--green:#204d43;--lime:#d3ed84;--cream:#f7f7ef;--ink:#193a32;--muted:#667970;--line:#dce4d9}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;color:var(--ink);background:var(--cream);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #8eae37;outline-offset:4px}
.container{width:min(1200px,calc(100% - 80px));margin:0 auto}
.skip-link{position:absolute;z-index:20;top:-60px;left:15px;background:#fff;padding:12px}
.skip-link:focus{top:10px}
.site-header{background:var(--cream);border-bottom:1px solid #e6e9df}
.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:var(--forest);color:#fff;font-family:Georgia,serif;font-size:34px;line-height:1;letter-spacing:-5px;padding:0 6px 5px 0}
.brand-mark span{color:var(--lime)}
.brand-name{font-size:23px;font-weight:700;letter-spacing:-1.3px;line-height:.95}
.brand-name small{display:block;font-size:9px;letter-spacing:.1px;font-weight:400;margin-top:5px}
.main-nav{display:flex;gap:38px;align-items:center}
.main-nav a{text-decoration:none;font-size:13px;font-weight:600}
.main-nav a:hover,.text-link:hover,.site-footer a:hover{text-decoration:underline}
.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:52px;padding:0 23px;border:1px solid transparent;border-radius:3px;text-decoration:none;font-size:12px;font-weight:700;cursor:pointer;transition:background .2s,color .2s}
.button span{font-size:17px}
.button-dark{background:var(--forest);color:#fff}
.button-dark:hover{background:#275d50}
.button-lime{background:var(--lime);color:var(--deep)}
.button-lime:hover{background:#e2f5a6}
.hero{background:var(--forest);color:#fff;overflow:hidden}
.hero-grid{min-height:568px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}
.hero-copy{padding:60px 0}
.eyebrow,.section-label{font-size:10px;font-weight:700;letter-spacing:1.6px}
.eyebrow{display:flex;align-items:center;gap:10px;color:#d9e7dc}
.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--lime)}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:500;letter-spacing:-.045em}
h1{font-size:clamp(48px,5.5vw,76px);line-height:1.05;margin:27px 0}
h1 em,h2 em{font-family:Georgia,serif;font-weight:400}
.hero-copy>p{max-width:460px;color:#d3e2d9;font-size:15px;line-height:1.8}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}
.text-link{font-size:12px;font-weight:700;text-decoration:none}
.text-link span{margin-left:7px}
.hero-note{display:flex;align-items:center;gap:10px;margin-top:65px;color:#b9cfc2;font-size:11px}
.note-icon{color:var(--lime);font-size:20px}
.hero-art{position:relative;height:460px;max-width:520px;width:100%;margin-left:auto}
.art-grid{position:absolute;inset:30px 0 20px 20px;background-image:linear-gradient(#ffffff0c 1px,transparent 1px),linear-gradient(90deg,#ffffff0c 1px,transparent 1px);background-size:45px 45px}
.art-circle{position:absolute;width:330px;height:330px;border-radius:50%;background:#a9c876;top:52px;right:53px}
.art-card{position:absolute;box-shadow:0 22px 65px #06231f45}
.art-card-main{width:245px;height:313px;top:80px;left:80px;transform:rotate(-8deg);background:#f8f8ec;color:var(--forest);padding:29px}
.art-card-label,.art-card-bottom{font-size:8px;letter-spacing:1.2px;font-weight:bold}
.art-card-title{display:block;font-size:36px;font-weight:bold;letter-spacing:-2px;line-height:1.08;margin-top:35px}
.art-card-title span{color:#92b954}
.art-lines{margin-top:27px}.art-lines i{display:block;height:3px;background:#d6e1d0;margin-top:9px;width:90%}.art-lines i:nth-child(2){width:70%}.art-lines i:nth-child(3){width:48%}
.art-card-bottom{position:absolute;bottom:25px;left:29px;right:29px;display:flex;justify-content:space-between;align-items:center}.art-card-bottom span:last-child{font-size:21px}
.art-card-small{right:4px;bottom:77px;display:flex;align-items:center;gap:13px;background:#fff;color:var(--forest);padding:19px 24px;font-size:12px;line-height:1.5;transform:rotate(5deg)}
.small-icon{display:grid;place-items:center;width:35px;height:35px;background:#e8f4ce;border-radius:50%;font-size:17px}
.art-caption{position:absolute;right:15px;top:20px;color:#b6cdbd;font-size:9px;letter-spacing:1px}.art-caption span{color:var(--lime);font-size:18px;margin-left:10px}
.hero-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff24;padding:20px 0;color:#a9c4b5;font-size:9px;letter-spacing:1.3px}
.section{padding:110px 0}
.section-label{color:#708579;margin-bottom:32px}
.section-label span{color:#9db585;margin-right:15px}
.intro-grid{display:grid;grid-template-columns:1fr 2fr;gap:60px}
.section h2{font-size:clamp(37px,4vw,55px);line-height:1.14;margin-bottom:0}
.intro-bottom{display:flex;justify-content:space-between;gap:40px;margin-top:32px}.intro-bottom p,.section-heading>p{max-width:560px;color:var(--muted);font-size:15px;line-height:1.8;margin-bottom:0}.intro-symbol{font-size:67px;color:#b4cf81;line-height:1}
.services{background:#eef2e8}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:50px}.section-heading>p{max-width:355px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.service-card{min-height:275px;background:#fff;padding:29px;display:flex;flex-direction:column}
.service-card-top{display:flex;justify-content:space-between;align-items:center;color:#8b9b8e;font-size:9px;font-weight:700;letter-spacing:1px}
.service-icon{display:grid;place-items:center;border:1px solid #dfe9d9;border-radius:50%;width:40px;height:40px;color:var(--forest);font-size:19px}
.service-card h3{font-size:26px;line-height:1.15;margin:45px 0 14px}.service-card p{color:var(--muted);font-size:13px;line-height:1.7;margin-bottom:0}
.service-disclaimer{margin:22px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.approach-list>div{display:grid;grid-template-columns:50px 1fr;gap:15px;padding:22px 0;border-bottom:1px solid var(--line)}.approach-list>div:first-child{padding-top:0}.approach-list>div>span{color:#8ea67a;font-size:11px}.approach-list p{color:var(--muted);font-size:13px;line-height:1.7;margin:0}.approach-list strong{display:block;color:var(--ink);font-size:17px;margin-bottom:4px}
.contact{background:#dcebbf}.contact-heading{display:flex;justify-content:space-between;align-items:center}.contact-star{font-size:110px;line-height:1;color:#87aa5f}.contact-intro{font-size:15px;color:#58715b;margin:25px 0 55px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.contact-item{position:relative;border-top:1px solid #aebf9b;padding:22px 20px 0 0;text-decoration:none;min-width:0}.contact-item>span:first-child{display:block;font-size:9px;letter-spacing:1.3px;font-weight:bold;color:#6b8165;margin-bottom:14px}.contact-item strong{font-size:15px;overflow-wrap:anywhere}.contact-item:hover strong{text-decoration:underline}.contact-arrow{position:absolute;right:0;top:38px}
.site-footer{background:var(--deep);color:#e2ede3}.footer-main{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px;padding-top:70px;padding-bottom:70px}.brand-light .brand-mark{background:var(--lime);color:var(--forest)}.brand-light .brand-mark span{color:#789d43}.footer-main p{font-size:12px;line-height:1.9;color:#adc2b5;margin:22px 0 0}.footer-main h2{font-size:10px;letter-spacing:1.3px;font-weight:700;margin:5px 0 23px}.footer-main>div>a:not(.brand),.footer-cookie{display:block;color:#adc2b5;font-size:12px;text-decoration:none;margin:0 0 14px}.footer-cookie{padding:0;border:0;background:none;cursor:pointer;text-align:left}.footer-cookie:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff20;padding:23px 0;font-size:10px;color:#91ac9c}.footer-bottom>span:last-child{letter-spacing:1px}.footer-bottom>span span{color:var(--lime)}
.cookie-banner{position:fixed;z-index:10;bottom:20px;left:50%;transform:translateX(-50%);width:min(1100px,calc(100% - 40px));background:#fff;box-shadow:0 10px 45px #09241e40;padding:24px 28px;display:flex;align-items:center;gap:30px;justify-content:space-between;border:1px solid #d8e2d5}.cookie-banner[hidden]{display:none}.cookie-banner h2{font-size:18px;font-weight:700;letter-spacing:-.02em;margin:0 0 8px}.cookie-banner p{max-width:620px;color:#5e7065;font-size:12px;line-height:1.6;margin:0}.cookie-banner a{font-weight:bold}.cookie-actions{display:flex;gap:10px;flex-shrink:0}.cookie-actions .button{min-height:45px;padding:0 16px}.cookie-reject{background:#fff;border-color:#bacabe;color:var(--forest)}.cookie-reject:hover{background:#f0f4ed}.cookie-banner .cookie-error{color:#a12727;margin-top:8px}
.legal-hero{background:var(--forest);color:#fff;padding:75px 0}.legal-hero .section-label{color:#bdd1c1}.legal-hero h1{font-size:clamp(42px,5vw,65px);margin:0}.legal-hero p:last-child{color:#cfdfd2;margin:18px 0 0;line-height:1.7}.legal-content{max-width:820px;padding:70px 0 100px}.legal-content h2{font-size:25px;margin:40px 0 15px}.legal-content h2:first-child{margin-top:0}.legal-content p,.legal-content li{color:#526a5c;font-size:15px;line-height:1.85}.legal-content li{margin-bottom:8px}.legal-content a{color:var(--forest);overflow-wrap:anywhere}.legal-content .button{margin-top:10px}
@media(max-width:850px){.container{width:min(100% - 48px,1200px)}.header-cta{display:none}.hero-grid{gap:15px}.hero-art{transform:scale(.85);transform-origin:center right}.art-card-main{left:35px}.intro-grid{grid-template-columns:1fr 2fr;gap:25px}.approach-grid{gap:45px}.cookie-banner{align-items:flex-start;flex-direction:column;gap:15px}.footer-main{gap:30px}}
@media(max-width:620px){.container{width:calc(100% - 40px)}.header-inner{min-height:76px;flex-wrap:wrap;gap:0;padding:14px 0}.main-nav{gap:20px}.main-nav a{font-size:12px}.brand-mark{width:38px;height:38px;font-size:30px}.brand-name{font-size:20px}.brand-name small{font-size:8px}.hero-grid{grid-template-columns:1fr;gap:0}.hero-copy{padding:65px 0 0}.hero-copy h1{font-size:48px}.hero-actions{flex-wrap:wrap;gap:20px}.hero-note{margin-top:35px}.hero-art{height:360px;max-width:390px;margin:0 auto;transform:scale(.8);transform-origin:center center}.art-circle{right:20px;top:20px}.art-card-main{top:40px;left:30px}.art-card-small{right:-10px;bottom:20px}.art-caption{top:-5px;right:0}.hero-bottom{font-size:8px}.section{padding:75px 0}.intro-grid,.approach-grid{grid-template-columns:1fr;gap:5px}.intro-bottom{gap:15px}.intro-symbol{font-size:45px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:25px}.service-grid{grid-template-columns:1fr}.service-card{min-height:220px}.service-card h3{margin-top:28px}.approach-list{margin-top:35px}.contact-star{font-size:65px}.contact-grid{grid-template-columns:1fr;gap:24px}.contact-intro{margin-bottom:35px}.footer-main{grid-template-columns:1fr;gap:35px;padding:55px 0}.footer-main h2{margin-bottom:15px}.footer-bottom{flex-direction:column}.cookie-banner{bottom:10px;width:calc(100% - 20px);padding:20px;max-height:calc(100vh - 20px);overflow:auto}.cookie-actions{width:100%;flex-direction:column}.cookie-actions .button{width:100%}.legal-hero{padding:55px 0}.legal-content{padding:50px 0 70px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
