:root{--sage: #e6ebdd;--porcelain: #f8f6ec;--pine: #24322a;--moss: #5c6b51;--petal: #ce8067;--hairline: rgba(36, 50, 42, .16);--leaf: 999px 16px 999px 16px;--leaf-flip: 16px 999px 16px 999px;--leaf-ui: 20px 6px 20px 6px;--radius-card: 24px 8px 24px 8px;--font-display: "Marcellus", serif;--font-body: "Figtree", sans-serif;--font-accent: "Cormorant Garamond", serif;--maxw: 1140px;--pad: 24px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--sage);color:var(--pine);font-family:var(--font-body);font-size:1.02rem;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit}button{font-family:inherit;cursor:pointer}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--petal);outline-offset:3px}.container{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);width:100%}main{display:block}section{position:relative}.section-pad{padding-top:clamp(48px,8vw,96px);padding-bottom:clamp(48px,8vw,96px)}h1{font-family:var(--font-display);font-weight:400;font-size:clamp(2.4rem,5.5vw,4.4rem);line-height:1.1;letter-spacing:.01em}h2{font-family:var(--font-display);font-weight:400;font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.15;letter-spacing:.01em}p{color:var(--pine)}.secondary{color:var(--moss)}.accent{font-family:var(--font-accent);font-style:italic;font-weight:500;color:var(--petal);text-transform:lowercase}.accent-over{display:block;font-size:.55em;line-height:1.1;margin-bottom:.15em}.eyebrow{font-family:var(--font-body);font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--moss)}.lead{font-size:1.08rem;color:var(--pine)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--leaf-ui);font-family:var(--font-body);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.14em;padding:14px 26px;text-decoration:none;border:1px solid transparent;transition:background .25s ease,color .25s ease,transform .25s ease,border-color .25s ease}.btn-primary{background:var(--pine);color:var(--porcelain)}.btn-primary:hover{background:var(--moss);transform:translateY(-2px)}.btn-ghost{background:transparent;color:var(--pine);border:1px solid var(--pine)}.btn-ghost:hover{background:var(--pine);color:var(--porcelain)}.btn-on-pine{background:var(--porcelain);color:var(--pine)}.btn-on-pine:hover{background:var(--sage);transform:translateY(-2px)}.btn-row{display:flex;flex-wrap:wrap;gap:14px}.sprig{display:inline-block;color:var(--moss);vertical-align:middle}.dot-sep{display:inline-flex;align-items:center;color:var(--petal);margin:0 .5em}.leaf-frame{position:relative;aspect-ratio:4 / 5;overflow:hidden;border-radius:var(--leaf);background:var(--porcelain);transition:transform .35s ease,box-shadow .35s ease}.leaf-frame.flip{border-radius:var(--leaf-flip)}.leaf-frame img{width:100%;height:100%;object-fit:cover}.leaf-frame:hover{transform:translateY(-4px) rotate(1deg);box-shadow:0 18px 40px #24322a24}.leaf-ph{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:var(--porcelain);border:1px dashed rgba(36,50,42,.45);border-radius:inherit;padding:20px;text-align:center}.leaf-ph span{font-family:var(--font-body);font-weight:600;font-size:11px;letter-spacing:.1em;color:var(--moss);text-transform:uppercase}.site-header{position:sticky;top:0;z-index:100;background:var(--sage);border-bottom:1px solid var(--hairline);transition:box-shadow .3s ease}.site-header.scrolled{box-shadow:0 6px 24px #24322a14}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:14px;padding-bottom:14px}.brand{display:inline-flex;align-items:center;text-decoration:none}.brand img{height:68px;width:auto}.brand-wordmark{font-family:var(--font-display);font-size:1.2rem;letter-spacing:.16em;text-transform:uppercase;color:var(--pine)}.main-nav{display:flex;align-items:center;gap:26px}.main-nav a{position:relative;font-family:var(--font-body);font-weight:500;font-size:13px;letter-spacing:.04em;text-decoration:none;color:var(--pine);padding-bottom:4px}.main-nav a:after{content:"";position:absolute;left:50%;bottom:-6px;width:6px;height:6px;border-radius:999px;background:var(--petal);transform:translate(-50%) scale(0);opacity:0;transition:opacity .25s ease,transform .25s ease}.main-nav a:hover:after{opacity:1;transform:translate(-50%) scale(1)}.main-nav a.active:after{opacity:1;transform:translate(-50%) scale(1)}.header-cta{display:inline-flex}.hamburger{display:none;background:transparent;border:0;padding:6px;color:var(--pine)}.mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--sage);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px}.mobile-overlay a{font-family:var(--font-display);font-size:2.2rem;text-decoration:none;color:var(--pine);line-height:1.5}.mobile-overlay a.active{color:var(--petal)}.mobile-close{position:absolute;top:20px;right:20px;background:transparent;border:0;color:var(--pine);padding:8px}.mobile-sprig{margin-top:18px;color:var(--moss)}.site-footer{background:var(--pine);color:var(--porcelain)}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:40px;padding-top:64px;padding-bottom:48px}.footer-logo img{height:76px;width:auto}.footer-logo-card{display:inline-block;background:#ede8d0;border-radius:14px;padding:12px}.footer-logo-card img{height:60px}.footer-tagline{font-family:var(--font-accent);font-style:italic;font-size:1.4rem;color:#f8f6ecd9;margin-top:12px}.footer-eyebrow{font-family:var(--font-body);font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#a9b49b;margin-bottom:14px}.footer-col p,.footer-col a{color:#f8f6ecd9;text-decoration:none;line-height:1.7}.footer-col a:hover{color:var(--porcelain)}.footer-links{display:flex;flex-direction:column;gap:6px;margin-top:8px}.footer-social{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.footer-social a{display:inline-flex;align-items:center;gap:8px}.footer-bar{border-top:1px solid rgba(248,246,236,.2);padding-top:18px;padding-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-family:var(--font-body);font-size:11px;color:#f8f6ecbf}.footer-bar a{color:#f8f6ece6;text-decoration:none}.footer-bar a:hover{text-decoration:underline}.section-head{max-width:640px}.section-head.center{margin-left:auto;margin-right:auto;text-align:center}.section-head .eyebrow{margin-bottom:12px}.section-head h2 .accent-over,.page-head h1 .accent-over{color:var(--petal)}.star-row{display:inline-flex;gap:4px;color:var(--petal)}.cta-band{background:var(--pine);color:var(--porcelain);text-align:center}.cta-band h2{color:var(--porcelain)}.cta-band .cta-sub{color:#f8f6ecbf;max-width:520px;margin:14px auto 26px}.cta-band .cta-phone{display:inline-block;margin-top:20px;font-family:var(--font-display);font-size:1.6rem;color:var(--porcelain);text-decoration:none}.cta-band .cta-phone:hover{text-decoration:underline}.trust-row{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;font-family:var(--font-body);font-weight:600;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--moss)}.hero{text-align:center;padding-top:clamp(48px,8vw,92px);padding-bottom:clamp(40px,6vw,72px)}.hero .accent{font-size:1.6rem;display:block;margin-bottom:14px}.hero h1{max-width:15ch;margin:0 auto}.hero-sub{max-width:520px;margin:20px auto 28px;color:var(--moss)}.hero .btn-row{justify-content:center}.hero-trust{margin-top:26px}.hero-bloom{display:flex;justify-content:center;align-items:flex-end;margin-top:48px}.bloom-pos{position:relative;flex:0 0 auto;transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .9s cubic-bezier(.2,.7,.2,1)}.bloom-pos+.bloom-pos{margin-left:-18px}.bloom-float{transition:transform .5s cubic-bezier(.22,.8,.3,1)}.bloom-frame{position:relative;overflow:hidden;background:var(--porcelain);rotate:var(--rot, 0deg);border-radius:var(--radius, var(--leaf));transition:rotate .5s cubic-bezier(.22,.8,.3,1),border-radius .5s cubic-bezier(.22,.8,.3,1)}.bloom-frame img{width:100%;height:100%;object-fit:cover;transform:scale(1);transition:transform .5s cubic-bezier(.22,.8,.3,1)}.bp-ol .bloom-frame{width:165px;height:215px;--rot: -16deg;--radius: var(--leaf)}.bp-il .bloom-frame{width:190px;height:250px;--rot: -8deg;--radius: var(--leaf)}.bp-c .bloom-frame{width:240px;height:300px;--rot: 0deg;--radius: 999px;box-shadow:0 12px 28px #24322a1f}.bp-ir .bloom-frame{width:190px;height:250px;--rot: 8deg;--radius: var(--leaf-flip)}.bp-or .bloom-frame{width:165px;height:215px;--rot: 16deg;--radius: var(--leaf-flip)}.bp-c{margin-bottom:28px;z-index:3;transition-delay:0ms}.bp-il,.bp-ir{margin-bottom:12px;z-index:2;transition-delay:90ms}.bp-ol,.bp-or{margin-bottom:0;z-index:1;transition-delay:.18s}@keyframes bloomFloat{0%,to{translate:0 0}50%{translate:0 -6px}}@media (prefers-reduced-motion: no-preference){.bloom-float{animation:bloomFloat 7s ease-in-out infinite}.bloom-frame img{transform:scale(1.12)}.bloom-frame:hover,.bloom-frame:focus-within{rotate:0deg;border-radius:22px}.bloom-frame:hover img,.bloom-frame:focus-within img{transform:scale(1)}}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:var(--porcelain);border:1px solid var(--hairline);border-radius:var(--radius-card);padding:28px}.svc-card .sprig{color:var(--moss)}.svc-card h3{font-family:var(--font-display);font-size:1.3rem;font-weight:400;margin:14px 0 8px}.svc-card p{color:var(--moss);margin-bottom:16px}.arrow-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-weight:600;font-size:13px;letter-spacing:.03em;color:var(--pine);text-decoration:none}.arrow-link .arw{color:var(--petal);transition:transform .25s ease}.arrow-link:hover .arw{transform:translate(4px)}.about-lead-photo{width:100%;height:auto;display:block;border-radius:16px;background:var(--porcelain)}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}.split.narrow-left{grid-template-columns:45fr 55fr;align-items:start}.split .split-body p+p{margin-top:16px}.info-card{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;background:var(--porcelain);border:1px solid var(--hairline);border-radius:var(--radius-card);padding:16px 22px;margin-top:24px;font-family:var(--font-body);font-weight:500;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--pine)}.review-band{background:var(--porcelain);text-align:center}.review-band .quote{font-family:var(--font-display);font-weight:400;font-size:clamp(1.4rem,2.5vw,1.9rem);line-height:1.35;max-width:20ch;margin:20px auto}.review-band .attrib{font-family:var(--font-accent);font-style:italic;font-size:1.4rem;color:var(--moss);margin-bottom:24px}.pill-note{display:inline-block;background:var(--porcelain);border:1px solid var(--hairline);border-radius:var(--leaf-ui);padding:8px 18px;font-family:var(--font-body);font-size:12px;color:var(--moss);margin-top:18px}.menu-section{margin-top:clamp(36px,5vw,56px)}.menu-section h2{display:flex;align-items:center;gap:10px;margin-bottom:18px}.menu-row{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:8px;padding:14px 0;border-bottom:1px dotted var(--hairline)}.menu-row .m-name{font-family:var(--font-body);font-weight:600;font-size:14px}.menu-row .m-desc{color:var(--moss);font-size:.95rem;line-height:1.5;margin-top:2px}.menu-row .m-price{font-family:var(--font-body);font-weight:500;white-space:nowrap;text-align:right;align-self:start}.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:28px}.chip{border-radius:var(--leaf-ui);border:1px solid var(--pine);background:transparent;color:var(--pine);font-family:var(--font-body);font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:9px 18px;transition:background .2s ease,color .2s ease}.chip.active,.chip:hover{background:var(--pine);color:var(--porcelain)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px}.gallery-grid button{border:0;background:transparent;padding:0;border-radius:var(--leaf)}.gallery-empty{text-align:center;max-width:480px;margin:36px auto 0}.gallery-empty p{color:var(--moss);margin-bottom:20px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#24322aed;display:flex;align-items:center;justify-content:center;padding:24px}.lightbox img{max-height:86vh;max-width:100%;width:auto;border-radius:16px}.lb-btn{position:absolute;background:#f8f6ec1f;border:1px solid rgba(248,246,236,.4);color:var(--porcelain);border-radius:999px;width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center}.lb-btn:hover{background:#f8f6ec3d}.lb-prev{left:20px;top:50%;transform:translateY(-50%)}.lb-next{right:20px;top:50%;transform:translateY(-50%)}.lb-close{top:20px;right:20px}.values-row{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;text-align:center}.value-item .sprig{color:var(--moss)}.value-item h3{font-family:var(--font-display);font-weight:400;font-size:1.2rem;margin:14px 0 8px}.value-item p{color:var(--moss)}.sprig-divider{display:flex;justify-content:center;color:var(--moss);margin:clamp(40px,6vw,72px) 0}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.team-member h3{font-family:var(--font-display);font-weight:400;font-size:1.25rem;margin:14px 0 4px}.team-member .role{font-family:var(--font-body);font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--moss)}.reviews-hero{text-align:center}.reviews-hero .big-score{font-family:var(--font-display);font-weight:400;font-size:clamp(4rem,10vw,7rem);line-height:1;margin:8px 0 12px}.reviews-hero .sub{color:var(--moss);margin-top:12px}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.review-card{background:var(--porcelain);border:1px solid var(--hairline);border-radius:var(--radius-card);padding:26px;display:flex;flex-direction:column;gap:14px}.review-card .quote{font-family:var(--font-body);font-size:1rem;line-height:1.65}.review-card .attrib{font-family:var(--font-accent);font-style:italic;font-size:1.3rem;color:var(--pine)}.review-card .attrib a{color:var(--pine);text-decoration:none}.review-card .attrib a:hover{text-decoration:underline}.review-card .on-google{font-family:var(--font-body);font-weight:600;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--moss)}.reviews-cta{text-align:center;margin-top:clamp(40px,6vw,64px)}.reviews-cta p{margin-bottom:18px}.contact-block{margin-bottom:32px}.contact-block .eyebrow{margin-bottom:10px}.contact-phone{font-family:var(--font-display);font-size:1.8rem;color:var(--pine);text-decoration:none}.contact-phone:hover{text-decoration:underline}.hours-table{width:100%;border-collapse:collapse;font-family:var(--font-body);font-size:13px}.hours-table td{padding:6px 0}.hours-table td:last-child{text-align:right;color:var(--moss)}.map-wrap{border-radius:var(--leaf);overflow:hidden;min-height:520px}.map-wrap iframe{width:100%;height:100%;min-height:520px;border:0;display:block}.social-inline{display:flex;gap:20px}.social-inline a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--pine);font-weight:500;font-size:14px}.social-inline a:hover{color:var(--moss)}.page-head{text-align:center;padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(20px,3vw,36px);max-width:680px;margin:0 auto}.page-head .eyebrow{margin-bottom:14px}.page-head .sub{color:var(--moss);margin-top:18px;max-width:560px;margin-left:auto;margin-right:auto}.fade-up{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}.fade-up.in{opacity:1;transform:none}.leaf-frame.reveal{transition:transform .5s cubic-bezier(.22,.8,.3,1),box-shadow .5s cubic-bezier(.22,.8,.3,1),border-radius .5s cubic-bezier(.22,.8,.3,1)}.leaf-frame.reveal img{transform:scale(1.12);transition:transform .5s cubic-bezier(.22,.8,.3,1)}.leaf-frame.reveal:hover,.leaf-frame.reveal:focus-within{transform:translateY(-4px);border-radius:22px;box-shadow:0 18px 40px #24322a24}.leaf-frame.reveal:hover img,.leaf-frame.reveal:focus-within img{transform:scale(1)}.sprig-divider path{stroke-dasharray:1200;stroke-dashoffset:1200;transition:stroke-dashoffset 1.6s ease}.sprig-divider.in path{stroke-dashoffset:0}@media (max-width: 1024px){.main-nav,.header-cta{display:none}.hamburger{display:inline-flex}.grid-4{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.reviews-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.brand img{height:56px}.split,.split.narrow-left{grid-template-columns:1fr}.values-row{grid-template-columns:1fr;gap:28px}.team-grid{grid-template-columns:repeat(2,1fr)}.reviews-grid{grid-template-columns:1fr}.footer-bar{justify-content:flex-start}}@media (max-width: 520px){.grid-4{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr}.bp-c .bloom-frame{width:40vw;height:50vw}.bp-il .bloom-frame,.bp-ir .bloom-frame{width:29vw;height:38vw}.bloom-pos+.bloom-pos{margin-left:-10px}.team-grid{grid-template-columns:repeat(2,1fr)}.bp-ol,.bp-or{display:none}.bp-c .bloom-frame{width:170px;height:215px}.bp-il .bloom-frame,.bp-ir .bloom-frame{width:130px;height:170px}.bloom-pos+.bloom-pos{margin-left:-12px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}.fade-up{opacity:1;transform:none}.sprig-divider path{stroke-dashoffset:0}.leaf-frame.reveal img{transform:none}.leaf-frame.reveal:hover,.leaf-frame.reveal:focus-within{transform:none;border-radius:var(--leaf);box-shadow:none}.leaf-frame.reveal.flip:hover,.leaf-frame.reveal.flip:focus-within{border-radius:var(--leaf-flip)}}
