/* ===================== FOOTER ===================== */
.ftr{background:var(--bg-alt);border-top:1px solid var(--line);padding:44px 0 28px;margin-top:20px}
.ftr-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:30px;margin-bottom:34px}
.ftr-brand p{font-size:13.5px;color:var(--muted);max-width:280px;margin-top:12px;line-height:1.6}
.ftr h4{font-size:14px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:14px}
.ftr ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.ftr a,.ftr button.linkish{display:inline-flex;width:fit-content;align-items:center;font-size:14px;font-weight: 500;color:var(--muted);background:transparent;border:0;border-radius:6px;padding:3px 6px;margin:-3px -6px;text-align:left;transition:color .16s,background-color .16s}
.ftr a:hover,.ftr button.linkish:hover{color:var(--green-d);background:transparent}
.ftr li a{position:relative}
.ftr li a::after{content:"";position:absolute;left:6px;right:6px;bottom:1px;height:1.5px;border-radius:999px;background:var(--green);transform:scaleX(0);transform-origin:left center;transition:transform .24s cubic-bezier(.22,1,.36,1)}
.ftr li a:hover::after,.ftr li a:focus-visible::after{transform:scaleX(1)}
.ftr-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--muted2)}
@media(max-width:820px){.ftr-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.ftr-grid{grid-template-columns:1fr}}
@media(max-width:600px){
  .ftr{padding:32px 0 22px;margin-top:10px}
  .ftr-grid{gap:22px;margin-bottom:26px}
  .ftr-brand p{font-size:12.5px;margin-top:9px; max-width:100%}
  .ftr h4{font-size:10.5px;margin-bottom:10px}
  .ftr ul{gap:7px}
  .ftr a,.ftr button.linkish{font-size:15.5px; margin:0;}
  .ftr-bottom{padding-top:16px;font-size:10.5px}
}

/* mobile nav drawer */
.mnav{position:fixed;inset:0;z-index:60;background:rgba(18,25,22,.48);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}
.mnav.open{opacity:1;visibility:visible;pointer-events:auto}
.mnav-panel{position:absolute;top:0;right:0;bottom:0;width:min(360px,90vw);background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%);padding:18px 20px 22px;transform:translateX(100%);transition:transform .32s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;box-shadow:-24px 0 60px rgba(16,39,28,.16);overflow-y:auto}
.mnav.open .mnav-panel{transform:none}
.mnav-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.mnav-head .brand-img{height:46px;max-width:160px}
.mnav-x{display:inline-flex;align-items:center;justify-content:center;flex:none;width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);transition:background .2s,border-color .2s,transform .2s}
.mnav-x:hover{background:var(--bg-alt);border-color:#c8d4ce;transform:rotate(4deg)}
.mnav-x svg{width:19px;height:19px}
.mnav-label{padding:24px 12px 9px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.mnav-links{display:flex;flex-direction:column;gap:6px}
.mnav-links a{display:grid;grid-template-columns:34px 1fr 16px;align-items:center;gap:11px;padding:11px 13px;border:1px solid transparent;border-radius:12px;font-size:15px;font-weight:700;color:var(--ink);transition:color .2s,background .2s,border-color .2s,transform .2s}
.mnav-link-icon{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--green-d);background:var(--tint);border:1px solid #d7ece1}
.mnav-link-icon svg{width:16px;height:16px}
.mnav-links>a>svg{width:15px;height:15px;color:#a2aaa6;transition:color .2s,transform .2s}
.mnav-links a:hover,.mnav-links a:focus-visible{color:var(--green-d);background:var(--tint);border-color:#dcefe5;transform:translateX(3px)}
.mnav-links a:hover>svg,.mnav-links a:focus-visible>svg{color:var(--green);transform:translateX(2px)}
.mnav-foot{margin-top:auto;padding:22px 4px 2px;border-top:1px solid var(--line)}
.mnav-foot p{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.55}
.mnav-foot .mnav-back{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 15px;border-radius:11px;background:var(--green);color:#fff;font-size:14px;font-weight:750;box-shadow:none;transition:background .2s,transform .2s}
.mnav-foot .mnav-back:hover{background:var(--green-d);transform:translateY(-1px)}
.mnav-back svg{width:16px;height:16px}
@media(max-width:600px){
  .mnav-panel{padding:14px 16px 18px}
  .mnav-head{padding-bottom:14px}
  .mnav-head .brand-img{height:42px;max-width:145px}
  .mnav-x{width:38px;height:38px;border-radius:10px}
  .mnav-label{padding:19px 10px 7px;font-size:10px}
  .mnav-links a{grid-template-columns:32px 1fr 15px;padding:9px 11px;font-size:13.5px}
  .mnav-link-icon{width:32px;height:32px}
  .mnav-foot p{font-size:12px}
  .mnav-foot .mnav-back{font-size:13px;padding:10px 13px}
}
