
:root{--green:#2f7a1f;--brand:#5aab3c;--green-d:#1d3d21;--green-dd:#132a16;--gold:#f2c230;--ink:#1d241e;--muted:#4f5a52;--cream:#f7f5ee;--line:#e2e0d6;--r-sm:8px;--r:16px;--r-lg:24px;--pill:999px;--sh:0 16px 40px rgba(19,42,22,.12);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--f-d:"Fraunces",Georgia,serif;--f-b:"Source Sans 3",system-ui,sans-serif;--edge:max(24px,calc((100vw - var(--site-container,1280px))/2 + 24px))}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font:400 1.0625rem/1.65 var(--f-b);color:var(--ink);background:#fff;overflow-x:clip}
img{max-width:100%;display:block}
[data-motion-navbar]{--nav-accent:var(--green);--nav-surface:#fff}
.hero{position:relative;isolation:isolate;min-height:max(calc(100svh - 44px),680px);display:flex;align-items:flex-end;padding:calc(var(--as-nav-h,64px) + var(--as-nav-top,16px) + 24px) 0 var(--s7);color:#fff;background:var(--green-dd)}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;z-index:-2;--motion-focal-x:50%;--motion-focal-y:40%}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(14,30,17,.9) 0%,rgba(14,30,17,.82) 20%,rgba(14,30,17,.6) 28%,rgba(14,30,17,.35) 33%,rgba(14,30,17,.14) 37%,rgba(14,30,17,.04) 40%,rgba(14,30,17,0) 42%)}
.hero-copy{width:100%;padding-inline:24px;display:flex;flex-direction:column;align-items:flex-start;gap:var(--s4)}
.hero h1{margin:0;font:700 clamp(1.5rem,1rem + 2vw,2.5rem)/1.1 var(--f-d);letter-spacing:-.01em;text-wrap:balance;text-shadow:0 2px 16px rgba(0,0,0,.35)}
.hero-sub{margin:0;font-weight:700;letter-spacing:.08em;font-size:.9375rem;color:var(--gold)}
.chips{display:flex;flex-wrap:wrap;gap:var(--s2);margin:0;padding:0;list-style:none}
.chip{display:inline-flex;align-items:center;gap:var(--s2);height:36px;padding:0 var(--s4);border-radius:var(--pill);border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.12);font-size:.875rem;font-weight:600;color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:52px;padding:0 var(--s6);border-radius:var(--pill);border:2px solid transparent;font:700 1.0625rem/1 var(--f-b);text-decoration:none;cursor:pointer;text-align:center}
.btn-gold{background:var(--gold);color:var(--ink);box-shadow:0 8px 24px rgba(242,194,48,.3)}
.btn-green{background:var(--green);color:#fff}
.btn-ghost{background:transparent;color:inherit;border-color:currentColor}
/* Appointment buttons */
.btn[aria-controls="book-dialog"] {
  background: #7b1fa2;
  color: #fff;
  box-shadow: 0 8px 24px rgba(123, 31, 162, .3);
}
.btn[aria-controls="book-dialog"]:hover {
  background: #5e1780;
}
@media (min-width:1024px){
.hero{align-items:center;padding-bottom:var(--s8)}
.hero::before{background:linear-gradient(90deg,rgba(14,30,17,.86) 0%,rgba(14,30,17,.76) 18%,rgba(14,30,17,.52) 28%,rgba(14,30,17,.28) 33%,rgba(14,30,17,.1) 37%,rgba(14,30,17,.03) 39.5%,rgba(14,30,17,0) 41%)}
.hero-copy{padding:0;margin-left:var(--edge);width:min(460px,calc(39vw - var(--edge)));gap:var(--s5)}
.hero-sub{font-size:1rem}
}
