/* MagnifyLab footer. Container-query responsive: layout switches on the footer's own width (<= 768px = mobile).
   Design handoff: ML Design System - Footer. All rules scoped under .ml-footer. */

/* Isolation: stop Astra / theme element styles (h2, ul, p, a, address, summary) leaking in. */
.ml-footer,.ml-footer *,.ml-footer *::before,.ml-footer *::after{box-sizing:border-box}
.ml-footer :where(h2,p,ul,li,address,details,summary,nav,b){font-family:inherit;color:inherit;text-transform:none;letter-spacing:normal;margin:0;padding:0;border:0;background:none}
.ml-footer :where(ul,li){list-style:none}
.ml-footer :where(a,a:visited,a:focus){text-decoration:none;box-shadow:none;border:0}
.ml-footer a:focus-visible,.ml-footer summary:focus-visible{outline:2px solid #18DE77;outline-offset:3px;border-radius:2px}

.ml-footer{container-type:inline-size;background:#0B0B0B;color:#FAFAF8;font-family:Inter,system-ui,sans-serif;overflow:hidden}
.ml-footer a{color:inherit;text-decoration:none}.ml-footer a:hover{color:#18DE77}
.ml-footer__in{padding:96px 120px 0}
.ml-footer__top{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.ml-footer__title{margin:0;font-weight:800;font-size:60px;line-height:1.02;letter-spacing:-.035em;white-space:nowrap}
.ml-footer__contact{font-style:normal}
.ml-footer__contact p{margin:0 0 18px;font-size:20px;color:rgba(255,255,255,.72)}
.ml-footer__contact .ph{font-weight:600;font-size:30px;color:#FAFAF8;letter-spacing:-.01em}
.ml-footer__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:104px;padding-bottom:56px}
.ml-footer__col summary{list-style:none;margin:0 0 26px;font-weight:600;font-size:15px;letter-spacing:.16em;text-transform:uppercase;color:#FAFAF8;cursor:default;pointer-events:none}
.ml-footer__col summary::-webkit-details-marker{display:none}
.ml-footer__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.ml-footer__col li a{font-size:17px;line-height:1.35;color:rgba(255,255,255,.62)}
.ml-footer__col li a:hover{color:#18DE77}
.ml-footer__util{display:flex;flex-wrap:wrap;align-items:center;gap:12px 36px;padding:24px 0 56px;border-top:1px solid rgba(255,255,255,.12);font-size:16px}
.ml-footer__util span{font-weight:600;font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.ml-footer__util a{color:rgba(255,255,255,.62)}.ml-footer__util a:hover{color:#18DE77}
.ml-footer__wm{position:relative;height:300px;overflow:hidden}
.ml-footer__wm b{position:absolute;left:-10px;right:0;top:-40px;font-weight:900;font-size:360px;line-height:1;letter-spacing:-.05em;color:#262626;white-space:nowrap;text-align:center}
.ml-footer__wm p{position:absolute;left:0;right:0;bottom:56px;margin:0;text-align:center;font-size:14px;line-height:1.7;color:rgba(255,255,255,.5)}
@container (max-width:768px){
.ml-footer__in{padding:56px 24px 0}
.ml-footer__top{grid-template-columns:1fr;gap:28px}
.ml-footer__title{font-size:40px;white-space:normal}.ml-footer__title br.d{display:none}
.ml-footer__contact p{font-size:17px}.ml-footer__contact .ph{font-size:24px}
.ml-footer__cols{grid-template-columns:1fr;gap:0;margin-top:40px;padding-bottom:32px;border-top:1px solid rgba(255,255,255,.12)}
.ml-footer__col{border-bottom:1px solid rgba(255,255,255,.12)}
.ml-footer__col summary{display:flex;align-items:center;justify-content:space-between;margin:0;padding:20px 0;font-size:14px;letter-spacing:.14em;cursor:pointer;pointer-events:auto}
.ml-footer__col summary::after{content:"";width:9px;height:9px;border-right:2px solid #18DE77;border-bottom:2px solid #18DE77;transform:rotate(45deg) translate(-2px,-2px);transition:transform .22s}
.ml-footer__col[open] summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
.ml-footer__col ul{gap:12px;padding:0 0 22px}.ml-footer__col li a{font-size:15px}
.ml-footer__util{gap:12px 24px;padding:24px 0 40px}
.ml-footer__wm{height:230px}
.ml-footer__wm b{font-size:64px;top:0;left:0;letter-spacing:-.04em}
.ml-footer__wm p{bottom:24px;font-size:12px;padding:0 20px}}
