:root{--bg:#f8f5ee;--bg-soft:#f2ecdf;--surface:#fffdf8;--ink:#202015;--muted:#666254;--line:#ddd3bf;--green:#2b664d;--green-deep:#1d4c39;--radius:18px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--ink);background:var(--bg);padding-bottom:0;font-family:Manrope,sans-serif;line-height:1.6}h1,h2,h3{letter-spacing:-.01em;margin:0;font-family:Cormorant Garamond,serif;line-height:1.05}p{margin:0}.container{width:min(1120px,100% - 2.2rem);margin:0 auto}.site-header{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#f8f5eee6;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:1rem;height:84px;display:flex}.brand{color:var(--ink);align-items:center;gap:.7rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-logo{fill:#5e9c67;width:38px;height:38px}.brand-logo .vein{fill:none;stroke:#edf8e3;stroke-width:4px;stroke-linecap:round}.menu{gap:1.4rem;margin:0;padding:0;list-style:none;display:flex}.menu a{color:var(--muted);padding-bottom:.45rem;font-weight:600;text-decoration:none;position:relative}.menu a:after{content:"";background:0 0;border-radius:999px;width:100%;height:2px;position:absolute;bottom:0;left:0}.menu a.is-active:after{background:#000}.menu a:hover{color:var(--ink)}.menu-toggle{display:none}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--green);font-size:.74rem;font-weight:700}.hero{justify-content:center;align-items:center;min-height:calc(100vh - 84px);padding:2rem 0 3rem;display:flex}.hero-left{text-align:center;width:100%;max-width:800px;margin:0 auto}.hero-left h1{margin:.9rem 0 1.1rem;font-size:clamp(2.35rem,7vw,5rem)}.hero-left p{color:var(--muted);margin-top:.8rem;font-size:1.06rem}.hero-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;padding:.74rem 1.24rem;font-weight:700;text-decoration:none}.btn-primary{color:#1f3a30;background:linear-gradient(120deg,#bfe7b8,#a7dca0,#cbeec5,#a7dca0) 0%/220% 220%;border-color:#95cc8e;transition:background-position .45s,transform .2s}.btn-primary:hover{background-position:100%;transform:translateY(-1px)}.btn-link{color:var(--ink);border-color:var(--line)}.services,.about{padding:8rem 0}.split h2{max-width:32ch;margin-top:.65rem;font-size:clamp(1.9rem,4vw,3rem)}.split{display:block}.service-list{margin-top:3.4rem}.service-list article{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,.8fr) 1fr;gap:2rem;padding:2.8rem 0;display:grid}.service-list article:last-child{border-bottom:none}.service-list h3{font-size:1.75rem}.service-list p{color:var(--muted);align-self:center}.about-box{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:1.6rem}.about-box h2{margin:.6rem 0 1.2rem;font-size:clamp(1.8rem,4vw,2.8rem)}.about-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.about-grid p{color:var(--muted);border-left:2px solid var(--line);padding-left:.8rem}.contact{border-top:1px solid var(--line);background:0 0;padding:6rem 0}.contact-inner{display:block}.contact-copy h2{max-width:12ch;margin:.8rem 0 1rem;font-size:clamp(2rem,4.8vw,3.4rem)}.contact-copy p,.contact-meta{color:#5b5648}.contact-meta{margin-top:1rem}.legal-page{padding-top:5rem;padding-bottom:5rem}.legal-copy{max-width:880px}.legal-copy h2{max-width:none;margin-bottom:.8rem}.legal-copy h3{color:var(--ink);margin:1.5rem 0 .6rem;font-family:Manrope,sans-serif;font-size:1.3rem;font-weight:700;line-height:1.25}.legal-copy p{max-width:72ch;margin:.55rem 0 0;line-height:1.7}.location-section{padding:0 0 6rem}.location-grid{grid-template-columns:.9fr 1.1fr;align-items:stretch;gap:1.1rem;display:grid}.location-copy,.location-map{background:0 0;border:none;border-radius:16px;padding:1.2rem}.location-copy h2{margin:.7rem 0 1rem;font-size:clamp(1.6rem,3.6vw,2.5rem)}.location-copy p+p{margin-top:.45rem}.location-map iframe{border:0;border-radius:12px;width:100%;height:100%;min-height:280px}.site-footer{padding:1.4rem 0 .9rem}.footer-content{border-top:1px solid var(--line);padding-top:1.2rem}.footer-title,.footer-subtitle,.footer-copy{margin:0}.footer-title{color:var(--ink);font-weight:700}.footer-subtitle{color:var(--muted);margin-top:.3rem;font-size:.88rem}.footer-copy{color:var(--muted);margin-top:.6rem;font-size:.9rem}.footer-bottom{justify-content:space-between;align-items:center;gap:.8rem;margin-top:.95rem;display:flex}.footer-bottom .footer-copy{margin-top:0}.footer-links{align-items:center;gap:.9rem;margin:0;display:inline-flex}.footer-links a{color:var(--muted);font-size:.9rem;text-decoration:none}.footer-links a:hover{color:var(--ink);text-decoration:underline}.cookie-consent{z-index:60;text-align:center;background:#fffffff2;border:1px solid #d7d1c8;border-radius:8px;width:calc(100% - 2rem);max-width:230px;padding:.58rem .62rem;display:none;position:fixed;bottom:1rem;right:1rem;box-shadow:0 8px 24px #20363a1f}.cookie-consent.is-visible{display:block}.cookie-consent p{color:var(--muted);margin:0;font-size:.76rem;line-height:1.35}.cookie-consent a{color:var(--ink);text-underline-offset:2px}.cookie-btn{color:var(--ink);font:inherit;cursor:pointer;background:#f5f1ea;border:1px solid #d0c9be;border-radius:6px;margin-top:.45rem;padding:.3rem .48rem;font-size:.72rem;font-weight:600}.reveal{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(16px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (width<=920px){.contact-inner,.about-grid,.location-grid{grid-template-columns:1fr}.hero{min-height:auto;padding:3.4rem 0 2.8rem}.hero-left h1{margin:.6rem 0 .8rem}.hero-actions{margin-top:1.6rem}.services,.about,.contact{padding:3.8rem 0}.service-list{margin-top:2.6rem}.service-list article{grid-template-columns:1fr;gap:.6rem;padding:1.85rem 0}.footer-bottom{flex-direction:column;align-items:flex-start}}@media (width<=760px){.container{width:min(1120px,100% - 1.4rem)}.nav{height:74px}.brand{gap:.5rem;font-size:.95rem}.brand-logo{width:33px;height:33px}.hero{padding:2.6rem 0 2.2rem}.hero-left p{font-size:1rem}.split h2{max-width:none}.services,.about,.contact{padding:3.1rem 0}.location-section{padding-bottom:3rem}.site-footer{padding:1.35rem 0 .85rem}.menu-toggle{background:0 0;border:none;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:42px;height:36px;padding:0;display:inline-flex}.menu-toggle span{background:var(--ink);border-radius:999px;width:17px;height:2px;display:block}.menu{border:1px solid var(--line);background:#fffdf8;border-radius:12px;flex-direction:column;gap:.55rem;width:min(250px,100% - 2rem);padding:.7rem;display:none;position:absolute;top:calc(100% + 8px);right:1rem}.menu.open{display:flex}}
