/* Accessibility, lead-capture buttons, legal/404 pages */
.skip{position:absolute;left:-999px;top:0;z-index:100;background:#fff;color:var(--ink);padding:.75rem 1rem;border-radius:0 0 .5rem 0;font-weight:600;font-size:.875rem}
.skip:focus{left:0}

/* Floating WhatsApp + Call (desktop) */
.fab{position:fixed;right:1.25rem;bottom:1.25rem;z-index:55;display:none;flex-direction:column;gap:.75rem}
.fab a{width:3.25rem;height:3.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;box-shadow:0 12px 30px -10px #000a;transition:transform .2s}
.fab a:hover{transform:translateY(-3px) scale(1.05)}
.fab-wa{background:#25D366}.fab-call{background:var(--grad)}

/* Sticky Call / WhatsApp / Quote bar (mobile) */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:55;display:grid;grid-template-columns:repeat(3,1fr);background:var(--soft);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.mbar a{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.625rem .25rem;font-size:.6875rem;font-weight:600;color:#fff}
.mbar a .ic{font-size:20px}
.mbar a.q{background:var(--grad)}
@media(min-width:768px){.fab{display:flex}.mbar{display:none}}
@media(max-width:767px){body{padding-bottom:3.75rem}}

/* Clickable contact details */
.info a,.fg4 li a{transition:color .2s}
.info a:hover{color:var(--bright)}

/* Legal pages */
.legal{padding:9.5rem 0 5rem}
@media(min-width:1024px){.legal{padding:11rem 0 7rem}}
.prose{max-width:48rem}
.prose h2{font-size:1.375rem;margin-top:2.5rem}
.prose p,.prose li{color:var(--sl);line-height:1.8;margin-top:.75rem;font-size:.9375rem}
.prose ul{list-style:disc;padding-left:1.25rem}
.prose a{color:var(--bright);text-decoration:underline;text-underline-offset:3px}
.prose .upd{font-size:.8125rem;color:var(--mute)}

/* 404 */
.nf{text-align:center;padding:11rem 0 6rem}
.nf .big{font-family:'Space Grotesk',sans-serif;font-size:6rem;font-weight:700;line-height:1;background:linear-gradient(90deg,#5b8dff,#8b5cf6 60%,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent}
.nf p{margin:1rem auto 0;max-width:30rem;color:var(--sl)}
.nf .acts{justify-content:center}
.nf ul{margin:2.5rem auto 0;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}
.nf ul a{border:1px solid var(--line);background:var(--card);border-radius:.5rem;padding:.625rem 1rem;font-size:.875rem}
.nf ul a:hover{border-color:#3b6ef680}
