/* Trust strip */
.lb-trust{background:var(--ink);color:var(--on-ink);padding:1.6rem 0 1.8rem;overflow:hidden;border-block:1px solid var(--ink-line)}
.lb-trust__k{font:600 .72rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--on-ink-soft);text-align:center;margin:0 0 1rem}
.lb-trust__row{mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.lb-trust__track{display:flex;gap:3rem;width:max-content;animation:lb-marquee 38s linear infinite}
.lb-trust__track span{font:700 clamp(1rem,2vw,1.25rem)/1 var(--font);white-space:nowrap;opacity:.85}
.lb-trust__track span::before{content:"✦";color:var(--hi);margin-right:3rem;font-size:.7em;vertical-align:middle}
@keyframes lb-marquee{to{transform:translateX(-50%)}}

/* Sticky phone bar */
.lb-bar{position:fixed;left:0;right:0;bottom:0;z-index:900;display:none;gap:.5rem;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--ink) 94%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--ink-line)}
.lb-bar__btn{flex:1;display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:12px;font:700 .95rem/1 var(--font);color:var(--on-ink);background:rgba(255,255,255,.08);border:0;text-decoration:none;cursor:pointer}
.lb-bar__btn--hi{flex:1.6;background:var(--hi);color:var(--ink)}
@media (max-width:760px){.lb-bar{display:flex}body.lb-has-bar{padding-bottom:calc(70px + env(safe-area-inset-bottom))}}

/* Floating button (larger screens) */
.lb-fab{position:fixed;right:1.25rem;bottom:1.25rem;z-index:900;display:flex;gap:.5rem;align-items:center;padding:.85rem 1.2rem;border-radius:999px;border:0;cursor:pointer;background:var(--cobalt);color:#fff;font:700 .95rem/1 var(--font);box-shadow:0 12px 30px -10px color-mix(in srgb,var(--cobalt) 70%,transparent);animation:lb-pulse 2.8s var(--ease) 3s infinite;transition:transform .2s var(--ease),background .2s}
.lb-fab:hover{transform:translateY(-2px);background:var(--cobalt-hover)}
@keyframes lb-pulse{0%,100%{box-shadow:0 12px 30px -10px color-mix(in srgb,var(--cobalt) 70%,transparent),0 0 0 0 color-mix(in srgb,var(--cobalt) 45%,transparent)}50%{box-shadow:0 12px 30px -10px color-mix(in srgb,var(--cobalt) 70%,transparent),0 0 0 12px transparent}}
@media (max-width:760px){.lb-fab{display:none}}

/* Modal */
.lb-lock,.lb-lock body{overflow:hidden}
.lb-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1rem;visibility:hidden;opacity:0;transition:opacity .25s var(--ease),visibility .25s}
.lb-modal.is-open{visibility:visible;opacity:1}
.lb-modal__back{position:absolute;inset:0;background:rgba(12,15,21,.6);backdrop-filter:blur(4px)}
.lb-modal__card{position:relative;width:min(460px,100%);max-height:calc(100dvh - 2rem);overflow:auto;background:var(--paper);color:var(--text);border-radius:var(--r);padding:1.6rem 1.4rem 1.2rem;box-shadow:0 30px 80px -20px rgba(0,0,0,.5);transform:translateY(16px) scale(.98);transition:transform .35s var(--ease)}
.lb-modal.is-open .lb-modal__card{transform:none}
.lb-modal__x{position:absolute;top:.6rem;right:.7rem;width:40px;height:40px;border:0;background:none;font-size:1.6rem;cursor:pointer;color:var(--text-soft)}
.lb-k{font:600 .72rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cobalt);margin:0 0 .5rem}
.lb-modal h2{font:800 1.5rem/1.15 var(--font);margin:0 0 1rem;letter-spacing:-.01em}
.lb-calc label{display:flex;justify-content:space-between;font:600 .9rem/1.2 var(--font);margin:.6rem 0 .3rem}
.lb-calc output{font-family:var(--mono);color:var(--cobalt)}
.lb-calc input[type=range]{width:100%;accent-color:var(--cobalt);height:28px}
.lb-result{margin:.9rem 0 .4rem;padding:.9rem;border-radius:12px;background:var(--hi);color:var(--ink);text-align:center;display:flex;flex-direction:column;gap:.15rem;font:600 .85rem/1.2 var(--font)}
.lb-result strong{font:800 2.1rem/1 var(--font);letter-spacing:-.02em}
.lb-fine{font-size:.75rem;color:var(--text-soft);margin:.3rem 0 .8rem}
.lb-fine--c{text-align:center;margin:.7rem 0 0}
.lb-form{display:grid;gap:.55rem}
.lb-form input{min-height:46px;padding:0 .9rem;border:1px solid var(--line);border-radius:10px;font:500 1rem var(--font);background:var(--receipt)}
.lb-form input:focus{outline:2px solid var(--cobalt);outline-offset:1px}
.lb-cta{min-height:50px;border:0;border-radius:12px;background:var(--cobalt);color:#fff;font:800 1.02rem var(--font);cursor:pointer;transition:background .2s}
.lb-cta:hover{background:var(--cobalt-hover)}
.lb-cta:disabled{opacity:.7}
.lb-err{color:var(--cut-ink);font-size:.85rem;margin:0}
.lb-done h3{font:800 1.3rem var(--font);margin:.4rem 0}
.lb-done a{color:var(--cobalt);font-weight:700}
@media (prefers-reduced-motion:reduce){.lb-trust__track,.lb-fab{animation:none}.lb-modal,.lb-modal__card{transition:none}}
