/* Shared footer and menu refinement. All alignment rules stop at the footer. */
footer.lm-footer,
body.lm-theme .mobile-shell footer.lm-footer {
  text-align:center;
  padding:38px 22px calc(28px + env(safe-area-inset-bottom)) !important;
}
footer.lm-footer .lm-footer-main,
.mobile-shell footer.lm-footer .lm-footer-main {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:20px; padding:0 0 26px; border:0;
}
footer.lm-footer .lm-footer-brand { display:block; margin:0 auto; }
footer.lm-footer .lm-footer-brand img { display:block; width:181px; height:auto; margin:0 auto; }
footer.lm-footer .lm-footer-phone { display:inline-flex; align-items:center; justify-content:center; margin:0 auto; min-height:44px; }
footer.lm-footer .lm-footer-main nav,
.mobile-shell footer.lm-footer .lm-footer-main nav {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:4px 24px; width:100%; margin:0; padding:0;
}
footer.lm-footer .lm-footer-main nav a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; }
footer.lm-footer .lm-footer-bottom,
.mobile-shell footer.lm-footer .lm-footer-bottom {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:8px; width:100%; text-align:center; padding-top:22px;
}
footer.lm-footer .lm-footer-bottom :is(p,a) { margin:0 auto; text-align:center; flex-basis:auto; }
footer.lm-footer .lm-footer-bottom a { min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
/* The provider credit sits in the final 34 px of the hosted form. Keep that chrome
   outside the embedded viewport; preserve the full original 660/1220 px content area. */
.lm-form-embed { --lm-form-content-height:660px; height:var(--lm-form-content-height); width:100%; overflow:hidden; overflow:clip; background:#fff; border-radius:0; }
.mobile-document .lm-form-embed { --lm-form-content-height:1220px; }
.mobile-document .service-form .lm-form-embed { --lm-form-content-height:660px; }
.lm-form-embed>iframe { display:block; width:100%; max-width:100%; height:calc(var(--lm-form-content-height) + 40px) !important; min-height:calc(var(--lm-form-content-height) + 40px) !important; border:0; border-radius:0; }
/* A compact, consistent menu. Panel height is animated by the shared controller. */
.lm-header .lm-site-menu { animation:none !important; box-shadow:0 18px 32px #0003; padding:24px 0; border-top:1px solid #dfc78e24; }
.lm-header .lm-menu-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px 40px; }
.lm-header .lm-menu-group { min-width:0; }
.lm-header .lm-menu-group .lm-eyebrow { margin:0 0 10px; color:#dfc78e; font-size:10px; letter-spacing:1.5px; }
.lm-header .lm-menu-list { list-style:none; margin:0; padding:0; }
.lm-header .lm-menu-list li { margin:0; padding:0; border:0; }
.lm-header .lm-menu-list a { display:flex; align-items:center; min-height:46px; padding:8px 10px; margin-inline:-10px; border-radius:3px; font-size:22px; line-height:1.3; text-wrap:balance; transition:background-color 180ms ease,color 180ms ease; }
.lm-header .lm-menu-list a:is(:hover,:focus-visible) { background:#dfc78e12; color:#dfc78e; }
.lm-header .lm-menu-list a[aria-current=page] { color:#dfc78e; }
.lm-header .lm-menu-utility { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:4px 24px; border-top:1px solid #dfc78e30; padding-top:12px; }
.lm-header .lm-menu-utility a { display:inline-flex; align-items:center; gap:10px; min-height:44px; font:500 12px/1.5 Inter,Arial,sans-serif; color:#dfc78e; }
.lm-header .lm-menu-toggle { min-height:48px; }
.mobile-destination .lm-header .lm-menu-layout { grid-template-columns:minmax(0,1fr); gap:22px; }
@media(max-width:760px) {
 .lm-header .lm-menu-layout { grid-template-columns:minmax(0,1fr); gap:22px; }
 .lm-header .lm-menu-list a { font-size:21px; }
 .lm-header .lm-site-menu { padding-block:20px; max-height:calc(100dvh - var(--header-offset,94px) - 80px - env(safe-area-inset-bottom)); }
 footer.lm-footer .lm-footer-main nav { gap:0 22px; }
}
@media(prefers-reduced-motion:reduce) { .lm-header .lm-menu-list a { transition:none; } }
