/* Site-level additions for the static build (accessibility, mobile menu, form states) */
html{-webkit-text-size-adjust:100%}
body{margin:0}
img{max-width:100%}
.lm-skip{position:absolute;left:12px;top:-60px;z-index:10000;padding:12px 18px;border-radius:10px;background:#ffffff;color:#16161d;font-family:var(--font-body);font-weight:700;text-decoration:none;transition:top .2s ease}
.lm-skip:focus{top:12px;box-shadow:0 10px 30px -10px rgba(0,0,0,.4)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #c9824a;outline-offset:3px}
.lm-faq button{color:var(--ink-deep)}
.lm-faq [hidden]{display:none !important}
.sn-mobile{overflow-y:auto}
.sn-mobile .sn-mobile-logo{height:32px;width:auto;align-self:flex-start;margin:-58px 0 24px}
.sn-mobile a.sn-mobile-cta{margin-top:20px;border:1px solid rgba(255,255,255,.3);border-radius:14px;text-align:center;font-size:18px;padding:16px}
.lm-form-done{padding:24px;border-radius:16px;background:#e5f7ec;color:#1f7a43;font-family:var(--font-body);font-size:17px;font-weight:600;line-height:1.5}
.lm-form-error{color:#b3372d;font-family:var(--font-body);font-size:15px;font-weight:600}
#lm-splash .lm-splash-skip{position:absolute;right:24px;bottom:24px;height:40px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06);color:#fff;font-family:var(--font-body);font-size:14px;font-weight:600;cursor:pointer}
@media (max-width: 900px){
  .lm-svc-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .lm-svc-grid > *{grid-column:span 1 !important}
}
@media (max-width: 600px){
  .lm-svc-grid{grid-template-columns:minmax(0,1fr) !important}
  .sn-logo img{height:30px}
}
/* Nav: switch to the menu button before links get squeezed */
@media (max-width: 1100px){
  .sn-links,.sn-login{display:none !important}
  .sn-spacer{display:block}
  .sn-dots{display:flex}
}
@media (max-width: 640px){
  /* banner: drop the divider when it wraps */
  main > div > div:first-child > span[aria-hidden="true"]{display:none}
}

/* ---------- Buttons: hover and press ---------- */
.lm-btn{transition:transform .28s cubic-bezier(0.22,0.61,0.36,1),box-shadow .28s ease,background-color .2s ease,color .2s ease,border-color .2s ease !important;will-change:transform}
.lm-btn svg{transition:transform .28s cubic-bezier(0.22,0.61,0.36,1)}
.lm-btn:hover,.lm-btn:focus-visible{transform:translateY(-2px)}
.lm-btn:hover svg,.lm-btn:focus-visible svg{transform:translateX(4px)}
.lm-btn:active{transform:translateY(0) scale(.98);transition-duration:.08s !important}
.lm-btn-inverse:hover,.lm-btn-inverse:focus-visible{background:#f2c29b !important;border-color:#f2c29b !important;color:#16161d !important;box-shadow:0 14px 30px -14px rgba(0,0,0,.55)}
.lm-btn-ghost:hover,.lm-btn-ghost:focus-visible{background:rgba(255,255,255,.12) !important;border-color:rgba(255,255,255,.7) !important;color:#fff !important}
.lm-btn-primary:hover,.lm-btn-primary:focus-visible{background:#c9824a !important;border-color:#c9824a !important;color:#16161d !important;box-shadow:0 14px 30px -14px rgba(22,22,29,.45)}
.lm-btn-outline:hover,.lm-btn-outline:focus-visible{background:#16161d !important;color:#fff !important}
.sn-login{transition:background-color .2s ease,border-color .2s ease,transform .28s cubic-bezier(0.22,0.61,0.36,1)}
a.sn-login:hover,a.sn-login:focus-visible,span.sn-login:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.6);color:#fff}
.sn-login a{transition:color .2s ease}
.sn-login a:hover,.sn-login a:focus-visible{color:#f2c29b !important}
.sn-link{transition:opacity .2s ease}
.sn-links:hover .sn-link{opacity:.6}
.sn-links .sn-link:hover,.sn-links .sn-link:focus-visible{opacity:1;color:#fff}
.sn-dots{transition:background-color .2s ease}
.sn-dots:hover{background:rgba(255,255,255,.1)}
main a[href^="tel:"]:not(.lm-btn),main form button[type="submit"],.lm-chip{transition:transform .28s cubic-bezier(0.22,0.61,0.36,1),background-color .2s ease,box-shadow .28s ease}
main form button[type="submit"]:hover{transform:translateY(-2px);background:#c9824a !important;color:#16161d !important}
.lm-svc-card{transition:transform .4s cubic-bezier(0.22,0.61,0.36,1),box-shadow .4s ease}
.lm-svc-card:hover,.lm-svc-card:focus-visible{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(22,22,29,.45)}
.lm-svc-card .lm-svc-go{transition:transform .3s cubic-bezier(0.22,0.61,0.36,1)}
.lm-svc-card:hover .lm-svc-go{transform:translateX(6px)}
@media (hover:none){.lm-btn:hover,.lm-svc-card:hover{transform:none}}

/* ---------- Scroll and entrance animations ---------- */
.lm-js .lm-rv{opacity:0;transform:translate3d(0,32px,0);transition:opacity .9s cubic-bezier(0.22,0.61,0.36,1),transform .9s cubic-bezier(0.22,0.61,0.36,1);transition-delay:var(--lm-d,0ms)}
.lm-js .lm-rv.lm-in{opacity:1;transform:none}
.lm-js .lm-rv-img{overflow:hidden}
.lm-js .lm-rv-img img{transform:scale(1.08);transition:transform 1.6s cubic-bezier(0.22,0.61,0.36,1);transition-delay:var(--lm-d,0ms)}
.lm-js .lm-rv-img.lm-in img{transform:scale(1)}
.lm-js .lm-pop{opacity:0;transform:translate3d(0,16px,0) scale(.94);transition:opacity .7s cubic-bezier(0.22,0.61,0.36,1),transform .7s cubic-bezier(0.34,1.56,0.64,1);transition-delay:var(--lm-d,0ms)}
.lm-js .lm-pop.lm-in{opacity:1;transform:none}
.lm-js .lm-count{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion: reduce){
  .lm-js .lm-rv,.lm-js .lm-pop{opacity:1 !important;transform:none !important;transition:none !important}
  .lm-js .lm-rv-img img{transform:none !important;transition:none !important}
  .lm-btn,.lm-svc-card{transition:none !important}
}
