*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#F7F3EC}
img{max-width:100%}
a{color:#2F4A36}a:hover{color:#1E3324}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #A85A36;outline-offset:3px}
input,select,textarea{max-width:100%}
.skip{position:absolute;left:-999px;top:8px;background:#2F4A36;color:#fff;padding:10px 16px;border-radius:8px;z-index:10}
.skip:focus{left:8px}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form-status{margin:0;font-weight:700;font-size:15px}
.form-status[data-state=ok]{color:#2F4A36}
.form-status[data-state=err]{color:#8A2E1A}
.form-status[data-state=busy]{color:#5C5850}
button[disabled]{opacity:.6;cursor:wait}
.site-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.hdr-actions{margin-left:auto}
.map-frame{border:0;width:100%;height:100%;min-height:380px;border-radius:24px;display:block}
@media (max-width:860px){
  .hdr-actions{width:100%!important}
  .hero{padding:40px 20px 48px!important;gap:32px!important}
  .hero h1,.page-h1{font-size:40px!important}
  .hero img{height:320px!important}
  h2{font-size:32px!important}
  section{scroll-margin-top:12px}
  .card-pad{padding:24px!important}
}
@media (max-width:520px){
  .hero h1,.page-h1{font-size:34px!important}
  .site-nav{gap:2px 16px!important;font-size:14px!important}
  .hdr-phone{font-size:15px}
}
/* intake wizard */
.wizard h2{font-family:'Fraunces',serif;font-weight:400;font-size:34px;line-height:1.15;margin:0 0 12px}
.wizard h3{font-family:'Nunito Sans',sans-serif;font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:#5E7A63;margin:28px 0 10px}
.wizard p{margin:0 0 12px;color:#4A4740}
.wizard .step{background:#FBF8F2;border:1px solid #E4DCCD;border-radius:28px;padding:32px}
.wizard .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:14px 18px}
.wizard .field{display:flex;flex-direction:column;gap:6px;min-width:0}
.wizard .field.wide{grid-column:1/-1}
.wizard .f-label{font-weight:600;font-size:15px;color:#2B2A28}
.wizard .req{color:#A85A36;font-weight:700}
.wizard input:not([type=radio]):not([type=checkbox]):not([type=file]),.wizard select,.wizard textarea{font:inherit;font-size:16px;padding:12px 14px;border:1px solid #CFC5B3;border-radius:12px;background:#fff;color:#2B2A28;width:100%}
.wizard input[readonly]{background:#F2EEE6;color:#5C5850}
.wizard input[type=file]{font:inherit;padding:10px;border:1px dashed #B9AD97;border-radius:12px;background:#fff;max-width:100%}
.wizard textarea{resize:vertical}
.wizard .choices{display:flex;flex-wrap:wrap;gap:8px}
.wizard .pill{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #CFC5B3;border-radius:999px;padding:9px 16px;font-weight:600;font-size:15px;cursor:pointer}
.wizard .pill:has(input:checked){border:2px solid #2F4A36;background:#EEF3EC}
.wizard .pill input,.wizard .check input{accent-color:#2F4A36;width:18px;height:18px;margin:0;flex:0 0 18px}
.wizard .checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:8px 18px}
.wizard .check{display:flex;gap:10px;align-items:flex-start;font-size:16px;cursor:pointer}
.wizard .check input{margin-top:4px}
.wizard fieldset.group{border:1px solid #E4DCCD;border-radius:18px;padding:16px 18px 18px;margin:0 0 14px;background:#fff}
.wizard fieldset.group legend{font-weight:700;padding:0 6px;color:#2F4A36}
.wizard .hint{font-size:14px;color:#5C5850}
.wizard ol.terms,.wizard ul.terms{margin:0 0 14px;padding-left:22px;display:flex;flex-direction:column;gap:8px;color:#2B2A28}
.wizard .sign{margin-top:24px;background:#EFE8DC;border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:14px}
.wizard .sign .agree{font-weight:600}
.wizard .sig-input{font-family:'Fraunces',serif!important;font-size:20px!important}
.wizard .note{font-size:15px;background:#F1DDCF;border-radius:14px;padding:12px 16px;margin-top:14px}
.wizard .child-banner{display:inline-block;background:#DCE5DA;color:#2F4A36;font-weight:700;border-radius:999px;padding:6px 14px;font-size:15px}
.wizard .review{background:#fff;border:1px solid #E4DCCD;border-radius:16px;padding:16px 20px;margin-bottom:16px}
.wizard .review ul{margin:0 0 8px;padding-left:20px}
.progress{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.progress li{font-size:13px;font-weight:700;color:#5C5850;background:#EFE8DC;border-radius:999px;padding:5px 12px}
.progress li.done{background:#DCE5DA;color:#2F4A36}
.progress li[aria-current=step]{background:#2F4A36;color:#fff}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 8px;position:sticky;bottom:0;background:#F7F3EC;padding:12px 0;border-top:1px solid #E4DCCD}
.nav-row .btn,.nav-row .btn-sec{font:inherit;font-weight:700;border-radius:999px;padding:14px 28px;cursor:pointer}
.nav-row .btn{background:#2F4A36;color:#fff;border:0}
.nav-row .btn-sec{background:transparent;color:#2F4A36;border:2px solid #2F4A36}
.nav-row [hidden]{display:none}
.step-count{font-size:14px;color:#5C5850}
.done{background:#DCE5DA;border-radius:28px;padding:40px}
.done h2{font-family:'Fraunces',serif;font-weight:400;font-size:32px;margin:0 0 10px}
@media (max-width:860px){
  .hdr-fax,.hdr-contact{display:none!important}
  header>div{padding:12px 16px!important;gap:8px!important}
  .site-nav{order:3;width:100%;flex-wrap:nowrap!important;overflow-x:auto;gap:2px 18px!important;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .site-nav a{white-space:nowrap;padding:6px 0!important}
  .hdr-actions{width:auto!important;margin-left:0}
  .hdr-actions a:last-child{padding:10px 16px!important;font-size:15px}
  .wizard .step{padding:20px}
  .wizard h2{font-size:28px}
  .step-count{display:none}
  .progress{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
  .progress li{white-space:nowrap}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.npp-body h2{font-family:'Fraunces',serif;font-weight:600;font-size:26px;margin:32px 0 10px;color:#2F4A36}
.npp-body p,.npp-body li{color:#2B2A28}
.npp-body ul{padding-left:22px;display:flex;flex-direction:column;gap:8px}
@media print{header,footer,.skip,.no-print,div[style*="A85A36"]{display:none!important}.npp{padding:0!important}body{background:#fff!important}.npp-body h2{font-size:14pt!important;margin:12pt 0 4pt}.npp .page-h1{font-size:24pt!important}.npp-body{font-size:10.5pt;line-height:1.4}a{color:inherit;text-decoration:none}}
