:root{
  --blush:#f7e6de; --blush-2:#fbf1ec; --petal:#efcfc4;
  --leaf:#1f6a49; --leaf-d:#134632; --leaf-l:#cfe3d6;
  --ink:#1d2a24; --muted:#56635c; --rose:#b4533f;
  --rule:rgba(29,42,36,.16);
  --display:'Gloock',Georgia,serif; --body:'Figtree',system-ui,sans-serif;
}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:var(--body);color:var(--ink);background:var(--blush-2);font-size:1.0625rem;line-height:1.65;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--display);font-weight:400;line-height:1.08;letter-spacing:-.01em}
a{color:var(--leaf)}
.eyebrow{font-family:var(--body);font-weight:700;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--rose)}
.frond{stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.btn-leaf{background:var(--leaf);color:#fff;border:2px solid var(--leaf);border-radius:999px;padding:.7rem 1.6rem;font-weight:700}
.btn-leaf:hover{background:var(--leaf-d);border-color:var(--leaf-d);color:#fff}
.btn-line{background:transparent;color:var(--leaf-d);border:2px solid var(--leaf-d);border-radius:999px;padding:.7rem 1.6rem;font-weight:700}
.btn-line:hover{background:var(--leaf-d);color:#fff}

/* utility bar + nav */
.util{background:var(--leaf-d);color:#e9f3ec;font-size:.88rem}
.util a{color:#fff;text-decoration:none;font-weight:600}
.util a:hover{text-decoration:underline}
.util .sep{opacity:.4;margin:0 .6rem}
.site-nav{background:var(--blush-2);border-bottom:1px solid var(--rule);z-index:1030}
.site-nav .navbar-brand{display:flex;align-items:center;gap:.7rem;font-family:var(--display);font-size:1.35rem;color:var(--leaf-d);line-height:1}
.site-nav .navbar-brand img{height:46px;width:auto}
.site-nav .nav-link{color:var(--ink);font-weight:600;font-size:.95rem;padding:.5rem .6rem;white-space:nowrap}
.site-nav .btn-sm{white-space:nowrap;padding:.5rem 1rem}
@media (min-width:992px) and (max-width:1199.98px){.site-nav .navbar-brand span{font-size:1.15rem}.site-nav .nav-link{padding:.5rem .45rem;font-size:.9rem}}
.site-nav .nav-link:hover{color:var(--leaf)}
.navbar-toggler{border-color:var(--leaf-d)}

/* hero */
.hero{position:relative;background:var(--blush);overflow:hidden;padding:4.5rem 0 5rem}
.hero h1{font-size:clamp(2.6rem,6.2vw,5rem);color:var(--leaf-d)}
.hero h1 em{font-style:normal;color:var(--rose)}
.hero .lede{font-size:1.2rem;max-width:34rem;color:var(--ink)}
.hero-arch{position:relative;max-width:440px;margin-left:auto}
.hero-arch img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px 18px 18px;border:6px solid var(--blush-2);box-shadow:14px 14px 0 var(--petal)}
.hero-frond{position:absolute;color:var(--leaf);pointer-events:none}
.hero-frond.f1{width:150px;left:-70px;bottom:-30px;transform:rotate(-14deg)}
.hero-frond.f2{width:110px;right:-40px;top:20px;transform:rotate(20deg);opacity:.7}
.hero-bg-frond{position:absolute;left:-30px;top:30px;width:200px;color:var(--leaf);opacity:.18;transform:rotate(25deg)}

/* stat strip */
.strip{background:var(--leaf-d);color:#fff}
.strip .cell{padding:1.3rem 1rem;text-align:center;border-right:1px solid rgba(255,255,255,.18)}
.strip .cell:last-child{border-right:0}
.strip .big{font-family:var(--display);font-size:1.9rem;line-height:1}
.strip .lbl{font-size:.82rem;letter-spacing:.06em;color:#cfe3d6;margin-top:.25rem}

section{position:relative}
.sec{padding:5.5rem 0}
.sec h2{font-size:clamp(2rem,4vw,3.1rem);color:var(--leaf-d)}
.divider{display:block;width:100%;height:46px;color:var(--leaf);opacity:.55}

/* approach */
.promise{border-top:1px solid var(--rule);padding:1.2rem 0}
.promise h3{font-size:1.5rem;color:var(--leaf-d)}
.promise p{margin:.3rem 0 0;color:var(--muted)}

/* services index */
.svc-band{background:var(--blush)}
.index-list{list-style:none;padding:0;margin:0;columns:2;column-gap:3rem}
.index-list li{break-inside:avoid;border-bottom:1px solid var(--rule);padding:.8rem 0;font-family:var(--display);font-size:1.25rem;color:var(--ink);display:flex;gap:.8rem;align-items:baseline}
.index-list li::before{content:"";flex:0 0 .55rem;height:.55rem;border-radius:0 100% 0 100%;background:var(--leaf);transform:translateY(-.1rem)}
.panel{background:var(--leaf-d);color:#eaf3ed;border-radius:24px;padding:2.6rem}
.panel h3{color:#fff;font-size:2rem}
.panel .badge-chip{background:#fff;border-radius:12px;padding:.6rem .9rem;display:inline-flex}
.panel .badge-chip img{height:48px;width:auto}
.topic{display:inline-block;background:var(--blush-2);border:1.5px solid var(--leaf);color:var(--leaf-d);border-radius:999px;padding:.35rem 1rem;margin:.25rem .2rem .25rem 0;font-weight:600;font-size:.95rem}

/* providers */
.arch{border-radius:999px 999px 14px 14px;overflow:hidden;background:var(--petal)}
.arch img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block}
.prov-lead .arch{box-shadow:10px 10px 0 var(--petal);background:var(--blush)}
.cred{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--leaf-d);background:var(--leaf-l);border-radius:999px;padding:.25rem .8rem;margin:0 .3rem .4rem 0}
.team-card h3{font-size:1.45rem;margin-top:1rem;color:var(--leaf-d)}
.team-card .role{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--rose)}
.team-card p{font-size:.98rem;color:var(--muted)}
.team-card .arch{max-width:230px}
.team-text{border:1.5px dashed var(--leaf);border-radius:18px;padding:1.4rem;height:100%}
.note{font-size:.95rem;color:var(--muted);border-left:3px solid var(--rose);padding-left:1rem}

/* new patients */
.np{background:var(--leaf-d);color:#e7f1ea}
.np h2{color:#fff}
.np .eyebrow{color:var(--petal)}
.step{display:flex;gap:1.1rem;padding:1rem 0;border-top:1px solid rgba(255,255,255,.18)}
.step .n{font-family:var(--display);font-size:2.2rem;line-height:1;color:var(--petal);flex:0 0 2.2rem}
.np a{color:#fff}
.np .bring a.btn-line{color:var(--leaf-d)}
.np .bring a.btn-line:hover{color:#fff}
.np .bring a.btn-leaf{color:#fff}
.bring{background:var(--blush-2);color:var(--ink);border-radius:20px;padding:1.6rem}
.bring h3{color:var(--leaf-d);font-size:1.5rem}
.bring ul{padding-left:1.1rem;margin:0}

/* accordion */
.accordion{--bs-accordion-bg:transparent;--bs-accordion-border-color:var(--rule);--bs-accordion-btn-focus-box-shadow:0 0 0 .2rem rgba(31,106,73,.25);--bs-accordion-active-bg:var(--leaf-l);--bs-accordion-active-color:var(--leaf-d)}
.accordion-button{font-family:var(--display);font-size:1.2rem;color:var(--leaf-d);background:transparent}
.accordion-body{color:var(--ink)}

/* testimonials */
.quotes{background:var(--blush)}
.quote{background:var(--blush-2);border-radius:20px;padding:1.8rem;height:100%;position:relative}
.quote::before{content:"\201C";font-family:var(--display);font-size:4rem;line-height:.6;color:var(--rose);display:block}
.quote p{font-size:1.02rem}
.quote cite{font-style:normal;font-weight:700;color:var(--leaf-d)}
.article{border:1.5px solid var(--leaf);border-radius:20px;padding:1.4rem 1.6rem}

/* location */
.hours{width:100%;max-width:26rem}
.hours td{padding:.45rem 0;border-bottom:1px solid var(--rule)}
.hours td:last-child{text-align:right;font-weight:600}
.map{border:0;width:100%;height:100%;min-height:380px;border-radius:20px}
.photo-pair img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:16px}
.photo-pair .p2{transform:translateY(1.5rem)}

footer.site-foot{background:var(--leaf-d);color:#d3e5da;padding:3.5rem 0 2.5rem}
footer.site-foot a{color:#fff}
.site-foot .chip{background:var(--blush-2);border-radius:14px;padding:.5rem .8rem;display:inline-block}
.site-foot .chip img{height:54px;width:auto;display:block}
.powered{margin-top:1.8rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.2);font-size:.9rem}

@media (max-width:991.98px){
  .hero{padding:3rem 0 4rem}
  .hero-arch{margin:2rem auto 0;max-width:340px}
  .hero-frond.f1{left:-30px}.hero-frond.f2{right:-20px}
  .strip .cell{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}
  .index-list{columns:1}
  .sec{padding:4rem 0}
  .photo-pair .p2{transform:none}
  .site-nav .navbar-collapse{padding:.8rem 0}
}
@media (max-width:575.98px){
  .panel{padding:1.6rem}
  .util .hide-sm{display:none}
}
@media (max-width:575.98px){
  .site-nav .navbar-brand{font-size:1.05rem;gap:.5rem;max-width:calc(100% - 64px)}
  .site-nav .navbar-brand img{height:36px}
  .hero-arch{max-width:280px}
  .hero-arch img{aspect-ratio:1/1}
  .hero-frond.f1{width:90px;bottom:-20px;left:-20px}
  .hero-frond.f2{width:70px;right:-14px}
}
