:root{
  --qfw-sage:#8FA588;
  --qfw-forest:#2F4A38;
  --qfw-ink:#263029;
  --qfw-body:#4C5C50;
  --qfw-muted:#5C6B5F;
  --qfw-cream:#FBFAF7;
  --qfw-tint:#EDF1E9;
  --qfw-tint2:#F3F5EE;
  --qfw-line:#E2E4D9;
}
body{
  font-family:Karla,system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--qfw-ink);
  background:var(--qfw-cream);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif{font-family:Bitter,Georgia,serif;font-weight:500;line-height:1.15;}
h1{font-size:clamp(32px,5vw,48px);}
h2{font-size:clamp(25px,3.4vw,31px);}
h3{font-size:clamp(19px,2.4vw,22px);}
p{line-height:1.65;color:var(--qfw-body);text-wrap:pretty;}
a{color:var(--qfw-forest);text-decoration:none;}
a:hover{color:var(--qfw-sage);}
.section{padding:clamp(44px,6vw,68px) 0;}
.eyebrow{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--qfw-sage);font-weight:600;}
.bg-tint{background:var(--qfw-tint);}
.bg-tint2{background:var(--qfw-tint2);}
.bg-forest{background:var(--qfw-forest);color:#EEF1E8;}
.bg-forest p{color:#D3DECD;}
.text-muted-sage{color:var(--qfw-muted)!important;}

.topbar{background:var(--qfw-forest);color:#F3F1EA;font-size:13.5px;padding:10px 0;}
.topbar a{color:#F3F1EA;text-decoration:underline;text-underline-offset:3px;font-weight:600;}
.navbar{background:var(--qfw-cream);border-bottom:1px solid #E7E5DB;}
.navbar-brand img{height:clamp(63px,9vw,81px);width:auto;}
.navbar .nav-link{color:#3A4A3D;font-size:15px;}
.navbar .nav-link:hover{color:var(--qfw-sage);}

.btn-forest{background:var(--qfw-forest);color:var(--qfw-cream);border:none;border-radius:4px;padding:15px 26px;font-weight:600;font-size:15.5px;}
.btn-forest:hover{background:#3A5B45;color:var(--qfw-cream);}
.btn-sage{background:var(--qfw-sage);color:var(--qfw-cream);border:none;border-radius:4px;padding:12px 20px;font-weight:600;font-size:14.5px;}
.btn-sage:hover{background:#7F9679;color:var(--qfw-cream);}
.btn-outline-forest{border:1px solid #C3CBBB;color:var(--qfw-forest);border-radius:4px;padding:15px 26px;font-weight:600;font-size:15.5px;background:transparent;}
.btn-outline-forest:hover{background:#F1F4EC;color:var(--qfw-forest);}

.card-qfw{background:var(--qfw-cream);border:1px solid var(--qfw-line);border-radius:5px;padding:26px 24px;height:100%;}
.card-qfw .serif{font-size:19px;color:var(--qfw-forest);display:block;margin-bottom:8px;}
.card-qfw p{font-size:15px;line-height:1.6;color:#566356;margin:0;}
.card-compact{padding:22px;}
.card-compact .serif{font-size:17px;}
.card-compact p{font-size:14.5px;line-height:1.55;}

.img-placeholder{
  background:repeating-linear-gradient(135deg,#E4EADD 0 14px,#EDF1E9 14px 28px);
  min-height:min(56vw,460px);display:flex;align-items:flex-end;padding:20px;
}
.img-placeholder.on-forest{background:repeating-linear-gradient(135deg,#35513E 0 14px,#2F4A38 14px 28px);min-height:min(60vw,400px);}
.img-placeholder span{
  font-family:ui-monospace,Menlo,monospace;font-size:11.5px;color:#6F7F72;
  background:var(--qfw-cream);padding:7px 11px;border-radius:3px;
}
.img-placeholder.on-forest span{color:#C9D5C2;background:transparent;border:1px solid #4E6B57;}

.pill{border:1px solid #4E6B57;border-radius:999px;padding:8px 15px;font-size:13.5px;color:#C9D5C2;display:inline-block;}
.chip{background:var(--qfw-cream);border:1px solid #DDE0D3;border-radius:4px;padding:9px 15px;font-size:14px;color:#3A4A3D;display:inline-block;}

.form-label{font-size:13.5px;font-weight:600;color:#3A4A3D;}
.form-control,.form-select{border:1px solid #D5D9CB;border-radius:4px;padding:13px;font-size:15px;min-height:46px;background:#fff;color:var(--qfw-ink);}
.form-control:focus,.form-select:focus{border-color:var(--qfw-sage);box-shadow:0 0 0 3px rgba(143,165,136,.25);}
.btn-check+.btn-contact{border:1px solid #D5D9CB;color:var(--qfw-muted);border-radius:999px;padding:11px 20px;font-size:14px;background:#fff;}
.btn-check:checked+.btn-contact{border-color:var(--qfw-sage);background:var(--qfw-tint);color:var(--qfw-forest);font-weight:600;}

footer{background:var(--qfw-ink);color:#B9C6B2;font-size:14px;line-height:1.7;padding:clamp(32px,5vw,44px) 0;}
footer a{color:#B9C6B2;}
footer a:hover{color:#fff;}
footer .serif{color:var(--qfw-cream);font-size:17px;}
.fineprint{font-size:13px;color:#8C9C88;}

/* Zocdoc injects a fixed 320px promo popup; hide it on phones/small tablets */
@media (max-width:767px){.zd-alert-box{display:none!important;}}
