:root{--primary:#597b64;--accent:#af936e;--bg:#fbfcf8;--surface:#edf2e9;--text:#172319;--muted:#5e6e60;--deep:#233c2d;--line:rgba(23,35,25,.18);--max:1160px}*{box-sizing:border-box}html,body{margin:0;overflow-x:clip;background:var(--bg);color:var(--text)}body{font:400 17px/1.65 Inter,Arial,sans-serif}img{display:block;max-width:100%;object-fit:cover}a{color:inherit}button{font:inherit}.svg-sprite{position:absolute;width:0;height:0}.svg-sprite path,.svg-sprite circle,.svg-sprite rect{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.wrap{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.nav{position:sticky;top:0;z-index:40;background:rgba(251,252,248,.96);border-bottom:1px solid var(--line)}.nav-inner{width:min(var(--max),calc(100% - 40px));margin:auto;min-height:72px;display:flex;align-items:center;gap:1.2rem;justify-content:space-between}.nav-brand,.footer-brand{display:flex;align-items:center;gap:.65rem;min-width:0;flex-shrink:1;text-decoration:none}.biz-logo{height:44px;width:auto;max-width:200px;object-fit:contain}.biz-logo[data-shape="tall"]{height:40px}.wordmark{font:400 1.05rem/1.1 Prata,serif;overflow-wrap:anywhere;hyphens:none}.nav .wordmark{max-width:min(40vw,340px);overflow-wrap:anywhere;hyphens:none}.nav-links{display:flex;align-items:center;gap:1rem;font-size:.83rem}.nav-links a{text-decoration:none}.nav-links .nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.7rem 1.05rem;background:var(--primary);color:#fff;border:1px solid var(--primary);text-decoration:none}.nav-links .nav-login{border-bottom:1px solid var(--accent)}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;padding:.55rem .7rem}.hero{position:relative;min-height:100svh;display:grid;place-items:center;color:#fff;isolation:isolate}.hero>img{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,30,18,.82),rgba(15,30,18,.45) 55%,rgba(15,30,18,.7))}.hero-content{width:min(900px,calc(100% - 40px));text-align:center;padding:8rem 0 4rem}.eyebrow{text-transform:uppercase;font-size:.7rem;letter-spacing:.17em;font-variant:small-caps;margin:0 0 1rem;font-weight:600}.hero h1{font:400 clamp(3.7rem,8.3vw,8.4rem)/.98 Prata,serif;letter-spacing:-.04em;margin:0;overflow-wrap:anywhere;hyphens:none}.hero-content>p:not(.eyebrow){max-width:44ch;margin:1.5rem auto 2rem}.hero-actions{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap}.button-outline{background:transparent;border-color:#fff;color:#fff}.trust{background:var(--deep);color:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:108px;align-items:center;gap:1rem}.trust-grid>div{display:flex;gap:.65rem;align-items:center;font-size:.85rem}.trust svg{width:22px;height:22px;flex:none}.social-header{justify-content:flex-end}.social-header a,.socials a{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid currentColor;text-decoration:none;margin-right:.3rem;font-size:.7rem}.curve{height:76px;line-height:0}.curve svg{width:100%;height:100%}.curve-surface{background:var(--deep)}.curve-surface path{fill:var(--surface)}.curve-bg{background:var(--surface)}.curve-bg path{fill:var(--bg)}.curve-primary{background:var(--bg)}.curve-primary path{fill:var(--primary)}.services{background:var(--surface);padding-bottom:2rem}.section-head{max-width:700px;padding:2rem 0 3rem}.section-head h2,.about h2,.contact h2,.faqs h2{font:400 clamp(2.35rem,4vw,4.4rem)/1.06 Prata,serif;letter-spacing:-.03em;overflow-wrap:anywhere;hyphens:none;margin:.1rem 0 1rem}.section-head p:last-child{max-width:62ch;margin:0}.services-grid{display:flex;justify-content:center;flex-wrap:wrap;gap:1.35rem}.service-card{background:var(--bg);border:1px solid rgba(23,35,25,.1);flex:0 1 calc(33.333% - .9rem);min-width:min(100%,270px);display:flex;flex-direction:column;animation:float 6s ease-in-out infinite}.service-card:nth-child(2n){animation-delay:-2s}.service-card:nth-child(3n){animation-delay:-4s}.card-image{overflow:hidden;aspect-ratio:16/10}.card-image img,.gallery-card img,.about-photo img,.faq-layout>div>img{width:100%;height:100%;transition:clip-path .3s ease;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.service-card:hover img,.gallery-card:hover img,.about-photo:hover img,.faq-layout>div>img:hover{clip-path:polygon(4% 0,100% 0,96% 100%,0 100%)}.service-copy{padding:1.35rem;display:flex;flex:1;flex-direction:column}.service-copy h3,.about h3,.footer h3{font:400 1.25rem/1.2 Prata,serif;margin:0 0 .65rem;overflow-wrap:anywhere;hyphens:none}.service-copy p{font-size:.92rem;margin:0 0 1rem}.service-copy a{margin-top:auto;font-size:.82rem;color:#355f44}.amenities{margin-top:4rem;padding:3rem 0;background-color:#e5ede0;background-image:linear-gradient(90deg,transparent 46%,rgba(23,35,25,.055) 46% 54%,transparent 54%),linear-gradient(transparent 46%,rgba(23,35,25,.055) 46% 54%,transparent 54%);background-size:24px 24px}.petal-list{display:grid;grid-template-columns:190px minmax(0,1fr);gap:2rem;align-items:center}.petal-core{border:1px solid var(--accent);border-radius:50%;aspect-ratio:1;display:grid;place-items:center;text-align:center;font:400 1.22rem/1.25 Prata,serif;background:var(--bg)}.petal-grid{display:flex;flex-wrap:wrap;gap:.75rem}.amenity{display:flex;align-items:center;gap:.6rem;flex:1 1 220px;min-width:0;padding:.8rem 0;border-bottom:1px solid var(--line)}.amenity svg{width:21px;height:21px;flex:none}svg use{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media(min-width:1100px){.services-grid:has(>.service-card:nth-child(4):last-child)>.service-card{flex-basis:calc(25% - 1.02rem);min-width:0}}.amenity svg path,.amenity svg circle,.amenity svg rect{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.promo{padding:4rem 0}.promo-art{position:relative;overflow:hidden;min-height:220px;color:#fff;display:grid;place-items:center;text-align:center}.promo-art svg{position:absolute;inset:0;width:100%;height:100%}.promo-art rect:nth-child(1){fill:#8a714d}.promo-art rect:nth-child(2){fill:#c2a056}.promo-art rect:nth-child(3){fill:#54745e}.promo-art>div{position:relative;padding:2rem;max-width:70ch}.promo-art p{font-size:.73rem;text-transform:uppercase;letter-spacing:.16em;margin:0}.promo-art h2{font:400 clamp(2.1rem,5vw,4rem)/1 Prata,serif;margin:.4rem 0}.gallery,.reviews{padding:4rem 0}.gallery-grid,.reviews-grid,.branch-grid{display:flex;gap:1rem;flex-wrap:wrap}.gallery-card{padding:0;border:0;background:var(--bg);text-align:left;flex:1 1 260px;overflow:hidden}.gallery-card img{aspect-ratio:16/10;height:auto}.gallery-card span{display:block;padding:.8rem}.faqs{padding:4rem 0}.faq-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:5rem;align-items:start}.faq-layout>div>img{margin-top:2rem;aspect-ratio:16/10;height:auto}.faq{border-bottom:1px solid var(--line)}.faq button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;text-align:left;background:transparent;border:0;padding:1.15rem 0;color:var(--text);font-weight:600;cursor:pointer}.faq b{font-size:1.5rem;font-weight:400}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.faq-answer p{min-height:0;overflow:hidden;margin:0;font-size:.93rem}.faq.open .faq-answer{grid-template-rows:1fr}.faq.open .faq-answer p{padding-bottom:1.1rem}.reviews blockquote{flex:1 1 250px;margin:0;padding:1.4rem;border-left:2px solid var(--accent);background:var(--bg)}.reviews p{font:400 1.15rem/1.45 Prata,serif}.about{padding:1rem 0 6rem}.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,7vw,8rem);align-items:center}.about-photo img{aspect-ratio:16/10;height:auto}.about>div>div>p{max-width:65ch}.expect,.story{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.2rem}.expect p,.story p{font-size:.94rem}.contact{background:var(--primary);color:#fff;padding:3rem 0}.contact-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2.5rem;align-items:stretch}.contact h2{color:#fff}.contact-copy{padding:1rem 0}.contact .button{background:var(--accent);border-color:var(--accent);color:var(--text);margin:1rem .7rem 1rem 0}.contact-wa{display:inline-flex;min-height:46px;align-items:center;border:1px solid #fff;padding:.7rem 1rem;color:#fff;text-decoration:none}.contact address{font-style:normal;margin-top:1.5rem}.contact-inline{font-size:.85rem;margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.6rem}.contact-inline span{border-top:1px solid rgba(255,255,255,.35);padding-top:.5rem;flex:1 1 180px}.contact-map{min-height:360px}.map-embed{border:0;width:100%;height:100%;min-height:260px;filter:grayscale(.25) saturate(.9)}.contact-form{display:none}.contact[data-contact="form"] .contact-form{display:block;grid-column:1/-1;background:var(--bg);color:var(--text);padding:1.5rem}.contact-form form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.contact-form label{display:grid;gap:.35rem}.contact-form textarea{resize:vertical}.contact-form input,.contact-form textarea{padding:.7rem;border:1px solid var(--line);font:inherit}.contact-form button{background:var(--accent);color:#fff;border:0;min-height:44px}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.branches{padding:4rem 0}.branches article{flex:1 1 250px;padding:1.5rem;background:var(--surface)}.footer{background:var(--deep);color:#eaf0e8;padding:4rem 0 1rem}.footer-grid{display:grid;grid-template-columns:1.1fr minmax(0,1fr) minmax(0,.85fr) minmax(0,.5fr);gap:2rem}.footer .wordmark{font-size:1.25rem}.footer p{font-size:.9rem;max-width:30ch}.footer-map{min-height:200px}.footer .map-embed{filter:grayscale(.3) saturate(.85)}.hours div{display:flex;justify-content:space-between;gap:.6rem;border-bottom:1px solid rgba(255,255,255,.17);font-size:.78rem;padding:.25rem 0}.footer-legal{border-top:1px solid rgba(255,255,255,.18);margin-top:2rem;padding-top:1rem;display:flex;justify-content:space-between;gap:1rem;font-size:.75rem}.lightbox{position:fixed;z-index:9999;inset:0;background:rgba(10,18,12,.94);padding:4rem 1.5rem;align-items:center;justify-content:center}.lightbox img{max-height:85vh;max-width:min(100%,1100px)}.lightbox-close{position:absolute;top:1rem;right:1rem;border:0;background:transparent;color:#fff;font-size:2rem}.lightbox[hidden],[hidden]{display:none!important}#lb-cookie-notice{position:fixed;left:12px;right:12px;bottom:12px;z-index:9990;display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:rgba(23,35,25,.96);color:#f2f4f0;padding:14px 18px;border:1px solid rgba(255,255,255,.2);font-size:.85rem;line-height:1.45}#lb-cookie-notice[hidden]{display:none}#lb-cookie-notice p{margin:0;flex:1 1 260px}#lb-cookie-notice a{color:inherit;text-decoration:underline}#lb-cookie-btn{flex:0 0 auto;min-height:44px;padding:10px 22px;border:0;background:var(--accent);color:var(--text);font-weight:600;cursor:pointer}@keyframes float{50%{transform:translateY(-6px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}@media(max-width:850px){.nav-links{display:none}.nav-links.open{display:flex;position:absolute;top:100%;left:0;right:0;background:var(--bg);padding:1.25rem 20px;flex-direction:column;align-items:stretch}.menu-toggle{display:block}.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:1rem 0}.service-card{flex-basis:calc(50% - .7rem)}.faq-layout,.about-grid,.contact-layout{grid-template-columns:1fr;gap:2rem}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-form form{grid-template-columns:1fr}.petal-list{grid-template-columns:1fr}.petal-core{max-width:150px;width:150px}.contact-map{min-height:280px}}@media(max-width:520px){body{font-size:16px}.nav-inner{width:calc(100% - 24px);min-height:65px}.nav .wordmark{max-width:48vw}.hero-content{width:calc(100% - 28px);padding-top:6rem}.hero h1{font-size:clamp(3.35rem,15vw,4.5rem)}.trust-grid{grid-template-columns:1fr}.service-card{flex-basis:100%}.section-head{padding-bottom:2rem}.footer-grid{grid-template-columns:1fr}.footer-legal{flex-direction:column}.curve{height:46px}.contact{padding-top:2rem}}