:root{--bone:#f8f3ea;--paper:#fffdf8;--ink:#1c2a22;--leaf:#2f7d32;--leaf-d:#1d4f2a;--amber:#e8a817;--brick:#9a3f2b;--mute:#52605a;--line:#e3d9c6}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{font-family:'Figtree',system-ui,sans-serif;font-size:1.08rem;line-height:1.65;color:var(--ink);background:var(--bone)}
h1,h2,h3,h4,.brand-name{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.08;color:var(--leaf-d)}
h2{font-size:clamp(2rem,4.5vw,3.2rem)}
a{color:var(--leaf-d)}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:.5rem;z-index:99}
.eyebrow{font-family:'DM Mono',monospace;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brick);font-weight:500;margin-bottom:.7rem}
section{padding:5rem 0}
.util{background:var(--leaf-d);color:#eaf3ea;font-size:.9rem;padding:.4rem 0}
.util a{color:#fff;font-weight:700;text-decoration:none}
.site-head{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:3px solid var(--amber)}
.navbar{padding:.5rem 0}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.brand img{width:56px;height:auto}
.brand-name{font-size:1.45rem;color:var(--leaf-d)}
.brand-name small{display:block;font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brick);font-weight:500;margin-top:.2rem}
.navbar-nav .nav-link{font-weight:600;color:var(--ink);padding:.5rem .8rem}
.navbar-nav .nav-link:hover{color:var(--leaf)}
.btn-leaf{background:var(--leaf);color:#fff;font-weight:700;border-radius:50rem;padding:.8rem 1.7rem;border:2px solid var(--leaf)}
.btn-leaf:hover{background:var(--leaf-d);border-color:var(--leaf-d);color:#fff}
.btn-amber{background:var(--amber);color:#1c1a10;font-weight:700;border-radius:50rem;padding:.8rem 1.7rem;border:2px solid var(--amber)}
.btn-amber:hover{background:#f3bc3c;color:#1c1a10}
.btn-line{border:2px solid var(--leaf-d);color:var(--leaf-d);font-weight:700;border-radius:50rem;padding:.75rem 1.6rem}
.btn-line:hover{background:var(--leaf-d);color:#fff}
/* hero */
.hero{padding:0;background:var(--leaf-d);color:#fff;position:relative;overflow:hidden}
.hero .row{min-height:620px}
.hero-copy{padding:4.5rem 1.5rem 4.5rem;position:relative;z-index:2}
.hero h1{color:#fff;font-size:clamp(2.6rem,6vw,4.6rem);margin-bottom:1.1rem}
.hero h1 em{font-style:italic;color:var(--amber)}
.hero .eyebrow{color:var(--amber)}
.hero p.lead{color:#e3eee4;max-width:34rem}
.hero-photo{background:url('img/storefront.webp') center/cover no-repeat;min-height:340px;position:relative}
.hero-team{position:absolute;left:24px;bottom:24px;width:170px;border:6px solid var(--bone);border-radius:50%;aspect-ratio:1;object-fit:cover;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.hero-leaf{position:absolute;right:-40px;top:-30px;width:260px;opacity:.14;pointer-events:none}
.hero-badge{display:inline-flex;gap:.6rem;align-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);border-radius:50rem;padding:.4rem 1rem;font-size:.95rem;margin-bottom:1.4rem}
/* leaf turn divider */
.turn{height:14px;background:linear-gradient(90deg,var(--leaf-d),var(--leaf) 35%,#a6b52a 65%,var(--amber))}
/* about */
.promise{border-top:3px solid var(--amber);padding-top:1rem}
.promise h3{font-size:1.35rem}
.team-photo{border-radius:1rem;width:100%;height:auto;aspect-ratio:1;object-fit:cover;box-shadow:12px 12px 0 var(--amber)}
/* doctors */
.docs{background:var(--paper)}
.doc img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50% 50% 1rem 1rem}
.doc h3{margin-top:1rem;font-size:1.5rem}
.doc .role{font-family:'DM Mono',monospace;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brick)}
.doc-text{border:2px dashed var(--line);border-radius:1rem;padding:2rem;height:100%;display:flex;flex-direction:column;justify-content:center}
/* services index */
.svc-list{list-style:none;padding:0;margin:0;border-top:2px solid var(--leaf-d)}
.svc-list li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:1rem;padding:1.2rem .25rem;border-bottom:1px solid var(--line);align-items:baseline}
.svc-list h3{font-size:clamp(1.4rem,2.6vw,2rem);margin:0}
.svc-list p{margin:0;color:var(--mute)}
.svc-list li:hover h3{color:var(--leaf)}
@media(max-width:700px){.svc-list li{grid-template-columns:1fr;gap:.3rem}}
/* tech / gallery */
.tech{background:var(--leaf-d);color:#e9f2ea}
.tech h2{color:#fff}.tech .eyebrow{color:var(--amber)}
.tech img{width:100%;height:auto;border-radius:1rem}
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}
.gal img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/2;border-radius:.7rem}
.gal .wide{grid-column:span 2}
@media(max-width:700px){.gal{grid-template-columns:repeat(2,1fr)}}
/* quotes */
.quote{background:var(--amber);color:#1c1a10}
.q{font-family:'Fraunces',serif;font-size:1.25rem;line-height:1.45}
.qwho{font-family:'DM Mono',monospace;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-top:.8rem}
.stars{letter-spacing:.2em;font-size:1.2rem}
/* financing */
.fin{background:var(--paper)}
.chip{display:inline-block;border:1px solid var(--line);background:var(--bone);border-radius:50rem;padding:.3rem .9rem;margin:.2rem;font-weight:600;font-size:.95rem}
/* hours/contact */
.hours{width:100%;border-collapse:collapse}
.hours td{padding:.55rem 0;border-bottom:1px solid var(--line)}
.hours td:last-child{text-align:right;font-weight:700}
.map{border:0;width:100%;height:100%;min-height:360px;border-radius:1rem}
footer{background:var(--ink);color:#cfd8d2;padding:3.5rem 0 2rem}
footer a{color:#fff}
.chipLogo{background:var(--bone);display:inline-block;border-radius:.8rem;padding:.4rem .8rem}
.chipLogo img{width:90px;height:auto}
.powered{font-size:.9rem;margin-top:2rem}
@media(max-width:991px){.hero-team{left:auto;right:12px;bottom:12px;width:130px}.hero .row{min-height:0}}
