/* Sitewide Lumo helper: independent of hero mascot and pricing styles. */
.lumo-helper[hidden],.lumo-helper [hidden]{display:none!important}
.lumo-helper{position:fixed;right:20px;bottom:calc(18px + env(safe-area-inset-bottom) + var(--lumo-bar-offset,0px));z-index:900;color:#14243a;font-family:inherit}
.lumo-helper *{box-sizing:border-box}.lumo-helper button{font-family:inherit;cursor:pointer}
.lumo-helper-launcher{position:relative;display:flex;justify-content:flex-end}
.lumo-helper-toggle{display:flex;align-items:center;gap:8px;border:1px solid #d9e6cb;border-radius:22px;background:#f9fcef;padding:4px 18px 4px 5px;color:#14243a;box-shadow:0 8px 28px #12213922;font-weight:750;font-size:14px}
.lumo-helper-toggle svg{width:64px;height:72px;overflow:visible}.lumo-helper-dismiss,.lumo-helper-close{border:1px solid #dce6d3;background:#fff;color:#14243a;width:32px;height:32px;border-radius:50%;font-size:22px;line-height:1}
.lumo-helper-dismiss{position:absolute;right:-6px;top:-14px}.lumo-helper-close{position:absolute;right:16px;top:16px}
.lumo-helper-panel{position:relative;width:min(340px,calc(100vw - 32px));max-height:calc(100dvh - 160px - var(--lumo-bar-offset,0px));overflow:auto;margin-bottom:14px;padding:25px 20px 20px;border:1px solid #d5e4c5;border-radius:24px;background:linear-gradient(145deg,#f2fadf,#fff 65%);box-shadow:0 18px 60px #12213930}
.lumo-helper-eyebrow{font-size:10px;letter-spacing:1.5px;color:#4b7021;font-weight:800}.lumo-helper-panel h2{font-size:28px;line-height:1.2;margin:10px 0 8px;color:#14243a}.lumo-helper-panel p{font-size:14px;line-height:1.6;margin:0 0 18px;color:#53644e}
.lumo-helper-panel nav{display:grid;gap:9px}.lumo-helper-panel a{position:relative;display:block;padding:14px 36px 14px 14px;border:1px solid #dce6d3;border-radius:13px;background:#fff;color:#14243a;text-decoration:none}.lumo-helper-panel a span{display:block;font-size:14px;font-weight:750}.lumo-helper-panel small{display:block;font-size:12px;line-height:1.5;color:#5c6d55;margin-top:4px}.lumo-helper-panel b{position:absolute;right:14px;top:18px;color:#547c21}.lumo-helper-panel a:hover{background:#effbd9;border-color:#a4d42b}
.lumo-helper :focus-visible{outline:3px solid #537e18;outline-offset:4px}.lumo-helper.has-waved .lumo-helper-wave{transform-origin:112px 106px;animation:lumo-helper-wave .9s ease-in-out 1}
@keyframes lumo-helper-wave{0%,100%{transform:rotate(0)}30%{transform:rotate(-14deg)}65%{transform:rotate(10deg)}}
@media(max-width:600px){.lumo-helper{right:16px}.lumo-helper-toggle{padding:3px;border-radius:20px}.lumo-helper-toggle svg{width:52px;height:59px}.lumo-helper-toggle>span{display:none}.lumo-helper-panel{max-height:calc(100dvh - 140px - var(--lumo-bar-offset,0px))}}
@media(prefers-reduced-motion:reduce){.lumo-helper.has-waved .lumo-helper-wave{animation:none}}

/* Append to the END of /assets/css/lumo-helper.css.
   Mobile: helper occupies its own row below the footer.
   Desktop: existing floating behaviour remains. */
@media (max-width:600px) {
 .lumo-helper {
  position:relative;
  inset:auto;
  z-index:auto;
  width:100%;
  padding:20px 20px calc(20px + env(safe-area-inset-bottom));
  background:#0b1220;
  color:#14243a;
 }
 .lumo-helper-launcher {justify-content:center;align-items:center;gap:12px;}
 .lumo-helper-toggle {
  padding:4px 16px 4px 7px;
  border-radius:16px;
  min-height:48px;
  max-width:calc(100% - 56px);
  box-shadow:none;
 }
 .lumo-helper-toggle svg {width:42px;height:48px;flex-shrink:0;}
 .lumo-helper-toggle>span {display:block;font-size:14px;}
 .lumo-helper-dismiss {
  position:static;
  width:44px;height:44px;flex-shrink:0;
  font-size:22px;
 }
 .lumo-helper-panel {
  width:100%;max-width:380px;
  max-height:none;
  overflow:visible;
  margin:0 auto 18px;
  padding:25px 20px 20px;
  box-shadow:none;
 }
 .lumo-helper-close {width:44px;height:44px;right:12px;top:12px;}
 .lumo-helper-eyebrow {display:block;padding-right:46px;}
 .lumo-helper-panel h2 {padding-right:42px;}
 .lumo-helper-panel a {min-height:48px;}
}
