
#page-privacy,#page-terms,#page-accessibility,#page-contact{
  background:#fff; font-family:'Nunito',system-ui,sans-serif;
}
.lg-top{ background:#FBF6EC; padding:34px 20px 28px; text-align:center; position:relative; }
.lg-back{
  position:absolute; top:16px; left:18px; display:inline-flex; align-items:center; gap:6px;
  background:#243447; border:none; color:#fff !important; -webkit-text-fill-color:#fff !important;
  padding:10px 16px; border-radius:999px; font:inherit; font-weight:700; font-size:.8rem;
  cursor:pointer; min-height:44px;    /* WCAG target size */
}
/* the shared mic button is 42px — lift it to 44 on these pages */
#page-contact .hc-mic{ min-height:44px; }
.lg-back svg{ width:15px; height:15px; }
.lg-eb{
  font-size:.72rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
  color:#7d9e77 !important; -webkit-text-fill-color:#7d9e77 !important; margin:0 0 8px;
}
.lg-top h2{
  font-family:'Playfair Display',serif; font-size:clamp(1.8rem,3.6vw,2.4rem); margin:0 0 8px;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
.lg-upd{ color:#78766c !important; -webkit-text-fill-color:#78766c !important; font-size:.86rem; margin:0; }
.lg-wrap{ max-width:780px; margin:0 auto; padding:30px 20px 70px; }
.lg-note{
  background:#FBF1DC; border:1px solid #E8D9AE; border-left:4px solid #CF9E3F;
  border-radius:12px; padding:14px 16px; margin:0 0 26px;
  color:#6b5a33 !important; -webkit-text-fill-color:#6b5a33 !important; font-size:.88rem; line-height:1.6;
}
.lg-wrap h3{
  font-family:'Playfair Display',serif; font-size:1.25rem; margin:28px 0 10px;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
.lg-wrap p,.lg-wrap li{
  color:#4a4a44 !important; -webkit-text-fill-color:#4a4a44 !important;
  line-height:1.75; font-size:.97rem;
}
.lg-wrap p{ margin:0 0 12px; }
.lg-wrap ul{ margin:0 0 14px; padding-left:22px; }
.lg-wrap li{ margin-bottom:6px; }
.lg-toc{
  background:#FBF6EC; border:1px solid #EAE2D4; border-radius:16px; padding:16px 20px; margin:0 0 26px;
}
.lg-toc a{
  display:block; padding:5px 0; font-weight:700; font-size:.9rem; text-decoration:none; cursor:pointer;
  color:#5E7E57 !important; -webkit-text-fill-color:#5E7E57 !important;
}
.lg-toc a:hover{ text-decoration:underline; }

/* contact form */
.cf-form{ display:grid; gap:16px; }
.cf-f label{
  display:block; font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
  color:#7d9e77 !important; -webkit-text-fill-color:#7d9e77 !important; margin-bottom:6px;
}
.cf-f input,.cf-f textarea,.cf-f select{
  width:100%; border:1.5px solid #EAE2D4; border-radius:14px; padding:12px 14px;
  font:inherit; font-size:.95rem; background:#fff; min-height:48px;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
.cf-f textarea{ min-height:130px; resize:vertical; }
.cf-f input:focus,.cf-f textarea:focus,.cf-f select:focus{ outline:none; border-color:#7d9e77; }
.cf-f input.cf-bad,.cf-f textarea.cf-bad{ border-color:#C6764F; }
.cf-err{
  display:none; color:#C6764F !important; -webkit-text-fill-color:#C6764F !important;
  font-size:.82rem; font-weight:700; margin-top:5px;
}
.cf-err.on{ display:block; }
.cf-send{
  background:#5E7E57; border:2px solid #5E7E57; border-radius:999px;
  padding:14px 32px; min-height:52px; font:inherit; font-weight:800; font-size:1rem;
  color:#fff !important; -webkit-text-fill-color:#fff !important;
  cursor:pointer; justify-self:start; transition:transform .12s ease, background .15s ease;
}
.cf-send:hover{ background:#4d6a47; }
.cf-send:active{ transform:scale(.97); }
.cf-send:focus-visible,.lg-back:focus-visible,.cf-f input:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }
.cf-ok{
  display:none; background:#EAF1E4; border:1px solid #C9DBC0; border-radius:16px;
  padding:22px; text-align:center;
}
.cf-ok.on{ display:block; }
.cf-ok b{ display:block; font-size:1.05rem; margin-bottom:4px;
  color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
.cf-ok p{ margin:0; }
.cf-alt{
  margin-top:26px; padding-top:20px; border-top:1px solid #EAE2D4;
  color:#78766c !important; -webkit-text-fill-color:#78766c !important; font-size:.9rem;
}
@media (max-width:600px){ .cf-send{ width:100%; justify-self:stretch; } }
@media (prefers-reduced-motion:reduce){ .cf-send{ transition:none !important; } }
