:root{--ink:#172d29;--ink-soft:#213b35;--paper:#f4f2e9;--cream:#e9e8dc;--white:#fffdf5;--lime:#d3f078;--orange:#ee9762;--muted:#64716b;--line:#d2d5c9;--font-body:'Cabin',Arial,sans-serif;--font-display:'Fraunces',Georgia,serif;--wrap:1200px;--z-header:30;--z-float:50}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}img,svg{display:block}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(var(--wrap),calc(100% - 80px));margin-inline:auto}.section-dark{background:var(--ink);color:var(--white)}.section-paper{background:var(--paper)}.section-cream{background:var(--cream)}.section-olive{background:#29433b;color:var(--white)}
.skip-link{position:absolute;left:16px;top:-100px;z-index:100;background:var(--lime);color:var(--ink);padding:12px 18px}.skip-link:focus{top:12px}.site-header{height:82px;position:sticky;top:0;z-index:var(--z-header);background:rgba(244,242,233,.97);border-bottom:1px solid rgba(23,45,41,.1);backdrop-filter:blur(12px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand img{width:46px;height:46px}.brand strong,.brand small{display:block;line-height:1.15}.brand strong{font-size:18px;letter-spacing:.02em}.brand small{margin-top:5px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#60706a}.navigation{display:flex;align-items:center;gap:36px;white-space:nowrap}.navigation>a{font-size:14px;font-weight:600}.navigation>a:not(.nav-cta):hover,.footer-top:hover{color:#4f632d}.nav-cta{background:var(--ink);color:var(--white);padding:12px 17px;border-radius:2px;transition:background .2s,color .2s}.nav-cta span{margin-left:12px;color:var(--lime)}.nav-cta:hover{background:#29433b}.menu-toggle{display:none}
.hero{min-height:680px;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr auto;align-items:center;column-gap:6%;padding-top:65px;padding-bottom:22px;min-height:680px}.hero-copy{padding:12px 0 54px}.eyebrow{margin:0 0 23px;display:flex;align-items:center;gap:10px;color:#c5d2c7;font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.eyebrow-line{display:block;width:29px;height:1px;background:var(--lime)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--font-display);font-weight:500;letter-spacing:-.045em}h1{font-size:clamp(62px,7vw,96px);line-height:.99;margin:0 0 27px}h1 em,h2 em{color:var(--lime);font-weight:500}h1 em{font-style:italic}.hero-lede{max-width:465px;color:#d1d8cc;font-size:17px;line-height:1.7;margin-bottom:29px}.hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:18px;padding:0 19px;font-size:14px;font-weight:700;border:1px solid transparent;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button-lime{color:var(--ink);background:var(--lime)}.button-lime:hover{background:#e0f89a}.button-quiet{border-color:#687a70;color:#f4f2e9}.button-quiet:hover{background:#29433b}.rating-pill{display:inline-flex;align-items:center;gap:13px;margin-top:30px;padding:10px 14px;border:1px solid rgba(226,236,220,.24);border-radius:3px}.stars{color:#d9f080;letter-spacing:.12em;font-size:15px;white-space:nowrap}.rating-pill strong,.rating-pill small{display:block;line-height:1.2}.rating-pill strong{font-size:13px}.rating-pill small{font-size:10px;color:#bac8bb;margin-top:4px}.pill-arrow{font-size:16px;color:var(--lime);margin-left:6px}.hero-art{position:relative;padding:0 18px;border:1px solid rgba(231,239,223,.22);background:#1d3731}.art-top,.art-bottom{display:flex;align-items:center;justify-content:space-between;color:#aebeb1;font-size:9px;letter-spacing:.14em}.art-top{padding:15px 13px 0}.art-bottom{padding:0 13px 15px}.circuit-map{width:100%;height:auto}.contour{fill:none;stroke:#cbd7c5;stroke-width:1.2;opacity:.24}.route-under{fill:none;stroke:#162c27;stroke-width:14;stroke-linecap:square;stroke-linejoin:round}.route-main{fill:none;stroke:url(#route);stroke-width:3;stroke-linecap:square;stroke-linejoin:round}.circuit-line{fill:none;stroke:#aec995;stroke-opacity:.55;stroke-width:1.5;stroke-dasharray:4 5}.node{fill:var(--lime);stroke:#1a342d;stroke-width:5}.node-warm{fill:var(--orange)}.pulse{fill:none;stroke:var(--lime);opacity:.55;stroke-width:1}.pulse-end{stroke:var(--orange)}.map-label{fill:var(--white)}.place-name{font:700 15px var(--font-body);letter-spacing:.14em}.place-caption{font:9px var(--font-body);fill:#b8c8b6;letter-spacing:.12em}.map-center circle{fill:var(--lime)}.map-center path{fill:var(--ink)}.map-small{font:9px var(--font-body);fill:#a8b9aa;letter-spacing:.12em}.pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--lime);margin-left:auto}.hero-footnote{grid-column:1/-1;border-top:1px solid rgba(226,236,220,.2);padding-top:15px;display:flex;justify-content:space-between;color:#b6c3b9;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.hero-footnote span:first-child{color:var(--lime)}
.intro{padding:125px 0 82px}.intro-grid{display:grid;grid-template-columns:1fr 1.5fr 1.1fr;gap:38px;align-items:start}.section-index{display:flex;align-items:center;gap:14px;padding-top:13px;font-size:10px;letter-spacing:.16em;font-weight:700;color:#78847b}.index-stroke{height:1px;max-width:55px;flex:1;background:#aeb6a8}.eyebrow-dark{color:#58685b}.intro-main h2,.section-heading h2,.local-copy h2{font-size:clamp(48px,5.3vw,72px);line-height:1.04;margin:0}.intro-main h2 em,.section-heading h2 em,.local-copy h2 em{color:#4f632d}.intro-text{padding-top:39px;color:#4f5e55}.intro-text p{font-size:16px;line-height:1.75;margin-bottom:22px}.text-link{display:inline-flex;gap:13px;align-items:center;font-weight:700;font-size:13px;border-bottom:1px solid #a3ad9c;padding-bottom:6px}.text-link span{color:#4f632d;font-size:17px}.text-link:hover{border-color:#4f632d}
.services{padding:58px 0 112px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:40px}.section-heading .eyebrow{margin-bottom:17px}.section-heading>p{width:270px;margin:0 0 8px;color:#65726a;line-height:1.65;font-size:15px}.service-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card{position:relative;padding:25px 28px 32px 31px;min-height:355px;border-left:1px solid var(--line)}.service-card:first-child{border-left:0;padding-left:0}.service-number{display:flex;gap:13px;align-items:center;color:#4f632d;font-family:var(--font-display);font-size:20px}.service-number span{font:700 9px var(--font-body);letter-spacing:.12em;color:#59675d}.service-icon{width:55px;height:55px;margin:33px 0 17px;color:#4f632d}.service-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.service-feature .service-icon{color:var(--ink)}.service-feature:before{content:"";position:absolute;inset:0 0 0 0;background:var(--lime);z-index:0}.service-feature>*{position:relative;z-index:1}.service-feature .service-number,.service-feature .service-number span{color:var(--ink)}.service-card h3{font-family:var(--font-display);font-size:27px;line-height:1.13;font-weight:500;letter-spacing:-.025em;margin-bottom:13px}.service-card p{max-width:330px;color:#58665d;font-size:14px;line-height:1.65;margin-bottom:17px}.service-tag{display:inline-block;color:#4f632d;font-size:10px;font-weight:700;letter-spacing:.04em}.service-feature .service-tag{color:#38512c}.services-note{margin:21px 0 0;color:#59675d;font-size:12px}
.proof-band{padding:82px 0}.proof-grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:35px}.proof-lead .eyebrow{margin-bottom:19px}.proof-lead h2{font-family:var(--font-display);font-size:40px;font-weight:500;line-height:1.08;letter-spacing:-.03em;margin:0}.proof-lead h2 em{color:var(--lime);font-style:italic}.proof-item{padding-top:8px;border-top:1px solid #708278}.proof-mark{display:inline-flex;width:27px;height:27px;align-items:center;justify-content:center;background:var(--lime);color:var(--ink);font-size:11px;font-weight:700;border-radius:50%;margin:3px 0 23px}.proof-item h3{font-family:var(--font-display);font-size:23px;font-weight:500;margin-bottom:8px}.proof-item p{font-size:13px;color:#d2ddd2;line-height:1.65;margin:0;max-width:190px}
.reviews{padding:116px 0 106px}.review-heading{align-items:center}.rating-large{min-width:180px;padding-left:25px;border-left:1px solid var(--line);display:grid;grid-template-columns:auto auto;column-gap:12px;align-items:center}.rating-large .stars{grid-column:1/-1;color:#4f632d;margin-bottom:3px}.rating-large strong{font-family:var(--font-display);font-weight:500;font-size:43px;line-height:1}.rating-large small{color:#627068;font-size:12px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.review-card{margin:0;padding:29px 32px 25px;background:#eeeee3;border:1px solid #e0e2d7;min-height:250px;display:flex;flex-direction:column}.review-card-top{display:flex;justify-content:space-between;align-items:center}.review-card .stars{color:#4f632d}.google-g{font-family:Arial,sans-serif;font-weight:700;font-size:18px;background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 25% 45%,#fbbc05 45% 68%,#ea4335 68% 82%,#4285f4 82%);color:transparent;background-clip:text}.review-card blockquote{white-space:pre-line;margin:22px 0 24px;color:#3e4b43;font-family:var(--font-display);font-size:21px;line-height:1.42}.review-card figcaption{margin-top:auto;display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid #d7dacf;padding-top:14px}.review-card figcaption strong{font-size:10px;letter-spacing:.11em}.review-card figcaption span{font-size:11px;color:#59675d}.reviews-link{margin-top:25px}
.local{padding:100px 0}.local-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:10%}.local-art{position:relative;background:#dee3d2;min-height:400px;display:flex;align-items:center}.local-art svg{width:100%;height:auto}.local-contour{fill:none;stroke:#89987e;stroke-width:1.1;opacity:.45}.local-route{fill:none;stroke:#70883d;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.local-art svg>circle{fill:#d3f078;stroke:#29433b;stroke-width:4}.local-pin path{fill:#29433b}.local-pin circle{fill:#d3f078}.local-art text{font:700 13px var(--font-body);letter-spacing:.15em;fill:#29433b}.local-stamp{position:absolute;right:22px;bottom:20px;display:flex;width:78px;height:78px;border:1px solid #889780;border-radius:50%;align-items:center;justify-content:center;flex-direction:column;color:#53614d;font-size:9px;letter-spacing:.15em}.local-stamp strong{font:500 30px var(--font-display);line-height:1}.local-copy{max-width:430px}.local-copy .eyebrow{margin-bottom:20px}.local-copy h2{margin-bottom:24px}.local-copy>p:not(.eyebrow){color:#56645b;line-height:1.75;margin-bottom:25px}.local-points{display:flex;gap:18px;margin-bottom:27px;font-size:12px;font-weight:700}.local-points span{display:flex;align-items:center;gap:7px}.local-points i{width:6px;height:6px;border-radius:50%;background:#84994e}
.contact{padding:104px 0 96px;position:relative;overflow:hidden}.contact-rule{position:absolute;top:0;left:50%;width:min(var(--wrap),calc(100% - 80px));height:1px;background:#465d52;transform:translateX(-50%)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:15%}.contact-copy h2{font-size:clamp(56px,7vw,86px);line-height:.98;margin-bottom:24px}.contact-copy h2 em{font-style:italic;color:var(--lime)}.contact-copy>p:not(.eyebrow){max-width:350px;color:#c0cec2;line-height:1.65;margin-bottom:26px}.contact-details{padding-top:13px}.contact-row{display:grid;grid-template-columns:120px 1fr;gap:15px;padding:19px 0;border-top:1px solid #475b52}.contact-row>span{color:#aebeb0;font-size:10px;font-weight:700;letter-spacing:.14em}.contact-row>a,.contact-row>p{margin:0;color:#fffdf5;font-size:15px;line-height:1.6}.contact-row>a:hover,.small-link:hover{color:var(--lime)}.contact-row>a>span:not(.stars){color:var(--lime);margin-left:7px}.contact-row .small-link{grid-column:2;color:#d4e77d;font-size:12px}.contact-google{align-items:center}.contact-google>a{font-weight:600}.contact-google .stars{font-size:12px}
.site-footer{background:#10231f;color:#e8ede3;padding:27px 0 20px}.footer-main{display:flex;align-items:center;justify-content:space-between;padding-bottom:24px}.footer-brand img{width:40px;height:40px}.footer-brand strong{font-size:16px}.footer-brand small{font-size:10px;color:#aebdb0}.footer-main>p{margin:0;color:#aebdb0;font-family:var(--font-display);font-size:20px}.footer-top{font-size:12px;color:#d3f078}.footer-legal{border-top:1px solid #30433b;padding-top:14px;display:flex;justify-content:space-between;color:#aebdb0;font-size:10px;letter-spacing:.04em}.footer-legal a:hover{color:var(--lime)}.whatsapp-float{position:fixed;z-index:var(--z-float);right:22px;bottom:22px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#d3f078;color:#172d29;box-shadow:0 8px 25px #101e1955;transition:transform .2s,background .2s}.whatsapp-float:hover{transform:translateY(-3px);background:#e0f89a}.whatsapp-float svg{width:23px;height:23px;fill:currentColor}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}.js .reveal.is-visible{opacity:1;transform:translateY(0)}
:focus-visible{outline:3px solid #89a94b;outline-offset:4px}.section-dark :focus-visible{outline-color:var(--lime)}
@media(max-width:1050px){.wrap{width:min(var(--wrap),calc(100% - 52px))}.hero-grid{gap:4%}.navigation{gap:21px}.intro-grid{grid-template-columns:.8fr 1.3fr 1fr;gap:23px}.service-card{padding-inline:22px}.service-card:first-child{padding-left:0}.proof-grid{gap:22px}.proof-lead h2{font-size:34px}.contact-grid{gap:8%}}
@media(max-width:760px){html{scroll-behavior:auto}.wrap{width:calc(100% - 40px)}.site-header{height:72px}.brand img{width:42px;height:42px}.menu-toggle{display:flex;position:relative;z-index:2;flex-direction:column;justify-content:center;gap:6px;width:48px;height:48px;padding:10px;background:transparent;border:1px solid #bac2b7;color:var(--ink);cursor:pointer}.menu-toggle span{display:block;width:21px;height:1.5px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.navigation{position:absolute;top:71px;left:0;right:0;padding:10px 20px 22px;background:var(--paper);border-bottom:1px solid var(--line);display:none;align-items:stretch;gap:0;white-space:normal}.navigation.is-open{display:flex;flex-direction:column}.navigation>a{padding:13px 5px;border-bottom:1px solid #d9ddd2}.navigation .nav-cta{margin-top:12px;text-align:center;padding:14px}.hero{min-height:0}.hero-grid{min-height:0;display:flex;flex-direction:column;align-items:stretch;padding-top:55px;padding-bottom:19px;gap:28px}.hero-copy{padding:0}.eyebrow{font-size:10px;margin-bottom:18px}.hero h1{font-size:clamp(59px,15vw,82px);margin-bottom:20px}.hero-lede{font-size:16px;line-height:1.62}.hero-actions{align-items:stretch;flex-direction:column}.button{min-height:50px}.button-quiet{justify-content:center}.rating-pill{margin-top:21px}.hero-art{padding:0 11px}.art-top,.art-bottom{font-size:8px}.hero-footnote{font-size:8px;gap:10px;letter-spacing:.07em}.hero-footnote span:last-child{text-align:right}.intro{padding:78px 0 45px}.intro-grid{display:grid;grid-template-columns:1fr;gap:17px}.section-index{padding-top:0}.intro-main h2,.section-heading h2,.local-copy h2{font-size:52px}.intro-text{padding-top:0}.intro-text p{font-size:16px}.services{padding:54px 0 74px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{width:auto;margin-top:17px}.service-grid{grid-template-columns:1fr;border-bottom:0}.service-card,.service-card:first-child{min-height:0;padding:22px 20px 26px;border-left:0;border-bottom:1px solid var(--line)}.service-feature{margin-bottom:0}.service-icon{margin:25px 0 14px}.service-card h3{font-size:26px}.service-card p{font-size:14px;max-width:none}.services-note{line-height:1.6}.proof-band{padding:67px 0}.proof-grid{grid-template-columns:1fr 1fr;gap:28px 18px}.proof-lead{grid-column:1/-1}.proof-lead h2{font-size:39px}.proof-item{padding-top:12px}.proof-item p{font-size:12px}.proof-item h3{font-size:21px}.reviews{padding:77px 0 70px}.review-heading{display:flex;align-items:end;gap:15px}.rating-large{min-width:112px;padding-left:14px;grid-template-columns:auto;row-gap:2px}.rating-large .stars{font-size:11px}.rating-large strong{font-size:33px}.rating-large small{font-size:10px}.review-grid{grid-template-columns:1fr;gap:12px}.review-card{padding:23px 21px;min-height:0}.review-card blockquote{font-size:20px;margin:17px 0 20px}.review-card figcaption{align-items:flex-start;flex-direction:column;gap:4px}.local{padding:66px 0}.local-grid{grid-template-columns:1fr;gap:34px}.local-art{min-height:0}.local-copy{max-width:none}.local-copy>p:not(.eyebrow){font-size:15px}.contact{padding:72px 0 74px}.contact-rule{width:calc(100% - 40px)}.contact-grid{grid-template-columns:1fr;gap:39px}.contact-copy h2{font-size:68px}.contact-copy>p:not(.eyebrow){font-size:15px}.contact-details{padding-top:0}.contact-row{grid-template-columns:94px 1fr;gap:7px;padding:16px 0}.contact-row>a,.contact-row>p{font-size:14px}.site-footer{padding:22px 0 18px}.footer-main{flex-wrap:wrap;gap:15px}.footer-main>p{order:3;flex-basis:100%;font-size:17px}.footer-top{font-size:11px}.footer-legal{gap:12px;flex-wrap:wrap;font-size:9px}.whatsapp-float{right:14px;bottom:14px;width:49px;height:49px}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:58px}.hero-footnote{font-size:7px}.review-heading{align-items:flex-start}.rating-large{min-width:95px}.footer-legal{font-size:8px}}
@media(hover:hover){.service-card:not(.service-feature){transition:background .2s}.service-card:not(.service-feature):hover{background:#eeeee3}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js .reveal{opacity:1;transform:none}}
