:root{--green: #1F4A38;--green-dark: #163228;--cream: #F2ECDF;--terra: #C4583E;--ink: #1A1A1A;--stone: #6B6B6B;--paper: #FAFAF7;--border: rgba(31, 74, 56, .12)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;font-size:17px;line-height:1.6;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.word{display:inline-block;position:relative;white-space:nowrap}.word .dot{display:inline-block;width:.13em;height:.13em;background:var(--terra);border-radius:50%;margin-left:.04em;vertical-align:.05em}.banner{background:var(--terra);color:var(--cream);text-align:center;padding:10px 20px;font-size:14px;letter-spacing:.5px}.banner a{color:var(--cream);font-weight:500;border-bottom:1px solid currentColor;text-decoration:none}nav{position:sticky;top:0;background:#fafaf7f2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);z-index:100}nav .inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 32px}.logo-link{text-decoration:none;color:var(--green);flex-shrink:0}.logo-link .word{font-size:28px;font-weight:400;letter-spacing:-.01em;display:block;line-height:1}.open-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 12px 6px 10px;border-radius:999px;font-size:12px;font-weight:500;letter-spacing:.02em;line-height:1;margin-right:auto;white-space:nowrap;background:#1f4a380f;color:var(--green);border:1px solid rgba(31,74,56,.12);position:relative;top:1px}.open-badge .open-dot{width:8px;height:8px;border-radius:50%;background:var(--stone);flex-shrink:0;animation:open-blink 1.6s ease-in-out infinite}.open-badge.is-open{background:#228b5a1a;color:#1f6a45;border-color:#228b5a38}.open-badge.is-open .open-dot{background:#22a06b}.open-badge.is-closed{background:#c4583e14;color:#9a3f2c;border-color:#c4583e2e}.open-badge.is-closed .open-dot{background:#c4583e}@keyframes open-blink{0%,to{opacity:1}50%{opacity:.35}}nav ul{display:flex;list-style:none;gap:28px;align-items:center}nav a{color:var(--green);text-decoration:none;font-size:15px;font-weight:400;transition:opacity .2s ease}nav a:hover{opacity:.6}nav .nav-cta{background:var(--green);color:var(--cream);padding:9px 18px;border-radius:4px;font-weight:500;transition:background .2s ease}nav .nav-cta:hover{opacity:1;background:var(--green-dark)}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:none;cursor:pointer;padding:4px;flex-shrink:0}.hamburger span{display:block;height:2px;background:var(--green);border-radius:2px;transition:transform .25s ease,opacity .25s ease;transform-origin:center}.hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.is-open span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:none;flex-direction:column;background:#fafaf7fa;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border);padding:8px 0 20px}.mobile-menu a{display:block;padding:14px 24px;color:var(--green);text-decoration:none;font-size:17px;font-weight:400;border-bottom:1px solid var(--border);transition:background .15s ease}.mobile-menu a:last-child{border-bottom:none}.mobile-menu a:active{background:#1f4a380d}.mobile-menu .mobile-menu-cta{margin:12px 24px 0;padding:13px 18px;background:var(--green);color:var(--cream);border-radius:4px;font-weight:500;text-align:center;border-bottom:none}.hero{background:var(--green);color:var(--cream);padding:140px 32px 130px;text-align:center}.hero .word{font-size:clamp(80px,14vw,200px);font-weight:400;line-height:1;letter-spacing:-.02em}.hero .word .dot{width:.11em;height:.11em}.hero-rule{width:220px;height:1px;background:var(--cream);opacity:.4;margin:36px auto}.hero .descriptor{letter-spacing:.45em;font-size:clamp(15px,2.2vw,22px);font-weight:500;text-indent:.45em}.hero .lead{margin-top:70px;font-size:clamp(18px,2.4vw,24px);font-weight:300;opacity:.92;max-width:580px;margin-left:auto;margin-right:auto}.hero .loc{margin-top:30px;font-size:14px;letter-spacing:.1em;opacity:.7}section{padding:110px 32px}section .container{max-width:1100px;margin:0 auto}.eyebrow{font-size:12px;letter-spacing:.35em;color:var(--stone);text-transform:uppercase;margin-bottom:16px;font-weight:500}section h2{font-family:Outfit,sans-serif;font-size:clamp(28px,4vw,44px);font-weight:500;line-height:1.15;color:var(--green);margin-bottom:24px;letter-spacing:-.01em}section .lede{color:var(--stone);font-size:18px;max-width:560px;margin-bottom:64px}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:56px 48px}.service h3{font-size:24px;font-weight:500;color:var(--green);margin-bottom:14px}.service p{color:var(--stone);font-size:16px}.service .items{margin-top:14px;font-size:14px;color:var(--stone)}.how-it-works{background:var(--cream)}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:56px 40px}.step .num{font-family:Cormorant Garamond,serif;font-style:italic;font-size:56px;color:var(--terra);line-height:1;margin-bottom:18px}.step h3{font-size:22px;font-weight:500;color:var(--green);margin-bottom:10px}.step p{color:var(--green);opacity:.75;font-size:16px}.pricelist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:56px 80px}.price-category h3{font-size:12px;letter-spacing:.3em;color:var(--stone);text-transform:uppercase;font-weight:500;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--border)}.price-row{display:flex;align-items:baseline;gap:12px;padding:10px 0}.price-row .item{flex:1;color:var(--ink);font-size:16px}.price-row .dots{flex:1 1 auto;border-bottom:1px dotted rgba(31,74,56,.3);height:1px;transform:translateY(-5px)}.price-row .price{color:var(--green);font-weight:500;font-size:16px;white-space:nowrap}.price-note{margin-top:56px;padding:28px 32px;background:var(--cream);border-radius:6px;color:var(--green);font-size:15px;max-width:720px}.price-note strong{display:block;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--stone);margin-bottom:8px;font-weight:500}.price-meta{margin-top:24px;font-size:13px;color:var(--stone);letter-spacing:.04em}.photo-strip{background:var(--cream);padding:0}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:4px}.photo-tile{aspect-ratio:4 / 3;overflow:hidden}.photo-tile img{width:100%;height:100%;object-fit:cover;display:block}.photo-placeholder{aspect-ratio:4 / 3;background:#1f4a380a;border:2px dashed rgba(31,74,56,.25);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center}.photo-placeholder .ph-label{font-size:11px;letter-spacing:.3em;color:var(--stone);text-transform:uppercase;margin-bottom:12px;font-weight:500}.photo-placeholder .ph-title{color:var(--green);font-size:18px;font-weight:500;margin-bottom:8px}.photo-placeholder .ph-hint{font-size:13px;color:var(--stone);max-width:240px;line-height:1.5}.find-us .container{max-width:1200px}.find-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.find-info{padding-top:8px}.find-block{margin-bottom:36px}.find-block h3{font-size:12px;letter-spacing:.3em;color:var(--stone);text-transform:uppercase;margin-bottom:14px;font-weight:500}.find-block .address-line{font-size:18px;color:var(--ink);line-height:1.55}.find-block .address-line.muted{color:var(--stone)}.find-block a{color:var(--green);text-decoration:none;border-bottom:1px solid var(--green);padding-bottom:1px;transition:opacity .2s ease;display:inline-block;margin-top:14px;font-size:15px}.find-block a:hover{opacity:.6}.find-block a.review-link{color:#fff;border-bottom:none;padding-bottom:0}.find-block a.review-link:hover{opacity:1;background:var(--green-dark)}.hours-row{display:flex;justify-content:space-between;max-width:280px;padding:5px 0;font-size:16px}.hours-row .day{color:var(--ink);display:inline-flex;align-items:center;gap:10px}.hours-row .time{color:var(--stone)}.hours-row.is-today{padding:7px 0}.hours-row.is-today .day,.hours-row.is-today .time{color:var(--green);font-weight:500}.today-pill{display:inline-block;font-size:9px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;background:var(--terra);color:var(--cream);padding:3px 7px;border-radius:3px;line-height:1}.map{border-radius:8px;overflow:hidden;height:480px;border:1px solid var(--border);box-shadow:0 1px 3px #0000000a}.map iframe{width:100%;height:100%;border:0;display:block}.contact{background:var(--green);color:var(--cream)}.contact .eyebrow{color:#f2ecdfb3}.contact h2{color:var(--cream)}.contact .lede{color:#f2ecdfbf}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:48px;margin-top:24px}.contact-block h3{font-size:12px;letter-spacing:.3em;color:#f2ecdf99;text-transform:uppercase;margin-bottom:14px;font-weight:500}.contact-block .ch-text{font-size:20px;color:var(--cream);margin-bottom:8px}.contact-block .ch-hint{font-size:14px;color:#f2ecdfa6;margin-bottom:14px}.contact-block a{color:var(--cream);text-decoration:none;border-bottom:1px solid var(--cream);padding-bottom:1px;font-size:15px;transition:opacity .2s ease}.contact-block a:hover{opacity:.7}.contact-badge{display:inline-block;font-size:10px;letter-spacing:.15em;text-transform:uppercase;background:#f2ecdf26;color:#f2ecdfcc;border-radius:3px;padding:3px 8px;margin-bottom:10px}.review-block{margin-top:8px;margin-bottom:0;padding:24px 26px 26px;background:var(--cream);border-radius:8px;border:1px solid var(--border);display:flex;flex-direction:column;align-items:flex-start;gap:10px}.review-block h3{margin-bottom:0}.review-block .address-line{font-size:16px;line-height:1.5;color:var(--ink);margin:0}.review-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:6px;background:var(--green);color:#fff;text-decoration:none;padding:14px 22px;border-radius:6px;font-size:14px;font-weight:500;line-height:1.2;transition:background .2s ease}.review-link:hover{background:var(--green-dark)}.wa-float{position:fixed;bottom:28px;right:28px;z-index:200;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #00000038;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.wa-float:hover{transform:scale(1.07);box-shadow:0 6px 20px #00000047}footer{background:var(--green-dark);color:var(--cream);padding:60px 32px 40px;text-align:center}footer .footer-mark .word{font-size:44px;font-weight:400}footer .footer-rule{width:120px;height:1px;background:var(--cream);opacity:.35;margin:16px auto}footer .footer-descriptor{letter-spacing:.35em;font-size:12px;font-weight:500;opacity:.9;margin-bottom:36px}footer .footer-links{display:flex;justify-content:center;gap:28px;margin-bottom:32px;flex-wrap:wrap}footer .footer-links a{color:var(--cream);text-decoration:none;font-size:14px;opacity:.8;transition:opacity .2s ease}footer .footer-links a:hover{opacity:1}.footer-socials{display:flex;justify-content:center;gap:18px;margin:4px auto 28px}.footer-socials a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:var(--cream);opacity:.75;text-decoration:none;transition:opacity .2s ease,background .2s ease,transform .2s ease}.footer-socials a:hover{opacity:1;background:#f2ecdf1a;transform:translateY(-1px)}.affiliate{display:inline-flex;flex-direction:column;align-items:center;gap:10px;margin:4px auto 28px;padding:14px 22px 12px;background:var(--cream);border-radius:8px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.affiliate:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000002e}.affiliate-label{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--stone);font-weight:500}.affiliate img{display:block;height:44px;width:auto}footer .copy{font-size:12px;opacity:.55;letter-spacing:.05em}.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease;will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.open-badge .open-dot{animation:none;opacity:1}html{scroll-behavior:auto}}@media(max-width:860px){.find-grid{grid-template-columns:1fr}.map{height:360px}}@media(max-width:760px){nav .inner{padding:14px 20px;gap:10px}.nav-desktop{display:none}.hamburger,.mobile-menu{display:flex}.open-badge{font-size:11px;padding:4px 9px 4px 8px}.logo-link .word{font-size:24px}.hero{padding:80px 20px 72px}.hero-wordmark{font-size:clamp(72px,22vw,120px)}.hero-rule{margin:24px auto;width:60px}.hero .lead{margin-top:40px;font-size:20px}.hero .address{font-size:11px;letter-spacing:.18em}section{padding:64px 20px}section .overline{font-size:10px}section h2{font-size:clamp(28px,8vw,44px)}section .lede{font-size:16px;margin-bottom:40px}.services-grid,.steps{gap:36px;grid-template-columns:1fr}.step-num{font-size:56px}.pricelist-grid{grid-template-columns:1fr;gap:8px}.price-note{padding:20px;font-size:13px}.photo-grid{grid-template-columns:1fr;gap:4px}.find-grid{grid-template-columns:1fr;gap:40px}.map{height:280px}.contact-grid{gap:36px;grid-template-columns:1fr}footer{padding:48px 20px 32px}footer .footer-inner{flex-direction:column;gap:28px;align-items:flex-start}footer .footer-mark .word{font-size:32px}footer .footer-links{flex-wrap:wrap;gap:14px}}
