/* Local form feedback; Greencoat retains its own original presentation styles. */
.local-form-status { margin: 16px 0; padding: 12px 16px; background: #edf6ef; color: #24593e; border-radius: 6px; }
.is-invalid { outline: 2px solid #b64242; outline-offset: 1px; }
.local-privacy-notice { font-size: 13px; line-height: 1.5; margin-top: 12px; }
.local-embed-placeholder { display: grid; place-items: center; min-height: 300px; background: #edf3ee; }
.local-embed-placeholder button { border: 0; border-radius: 5px; background: #24593e; color: #fff; padding: 12px 24px; }
/* Keep the source's scroll control clear of its mobile contact bar. */
@media (max-width: 768px) { .scroll-to-top { bottom: 90px; } }
.local-back-to-main {
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 100;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 9px 16px;
  border-radius: 24px;
  background: #174b35;
  box-shadow: 0 4px 14px rgb(0 0 0 / 20%);
  color: #fff;
  font: 600 14px/1.2 Arial, sans-serif;
  text-decoration: none;
}
.local-back-to-main:hover,
.local-back-to-main:focus-visible { background: #0c3827; color: #fff; text-decoration: none; }
.local-back-to-main:focus-visible { outline: 3px solid #f3ce61; outline-offset: 3px; }
@media (max-width: 768px) { .local-back-to-main { bottom: 88px; left: 16px; } }
.bottom-footer { padding-bottom: 80px; }
.bottom-footer .container { align-items: flex-start; gap: 12px; }
.bottom-footer .bottom-footer__legal { flex: 1 1 65%; line-height: 1.5; }
.bottom-footer .bottom-footer__developed { flex: 0 1 30%; line-height: 1.5; text-align: right; }
.policy .page { line-height: 1.65; }
.policy .page h1 { margin-bottom: 8px; font-size: clamp(28px, 4vw, 36px); }
.policy .page .date { color: #63766d; font-size: 14px; }
.policy .page .page-wrap-is { margin-top: 28px; }
.policy .page h2 { margin-bottom: 12px; font-size: 23px; line-height: 1.3; }
.policy .page p { margin-bottom: 14px; }
@media (max-width: 1199px) {
  .bottom-footer .container { align-items: center; }
  .bottom-footer .bottom-footer__legal,
  .bottom-footer .bottom-footer__developed { flex-basis: 100%; text-align: center; }
}
@media (max-width: 767px) {
  .policy .page { padding: 28px 20px; }
  .bottom-footer { padding-bottom: 150px; }
}
