:root{
  --ab-bg:#050505; --ab-surface:#0E0E10; --ab-line:#1F1F23;
  --ab-text:#EDEDED; --ab-muted:#8A8A93; --ab-white:#FFFFFF;
  --ab-head:'Space Grotesk',sans-serif; --ab-body:'Inter',sans-serif;
}
html{overflow-x:clip}
body{background:var(--ab-bg);color:var(--ab-text);font-family:var(--ab-body);margin:0;overflow-x:clip}
body{padding-top:84px}
body.home{padding-top:0}

/* ---------- header ---------- */
.ab-header{position:fixed;inset:0 0 auto 0;z-index:999;display:flex;justify-content:center;padding:16px 20px 0;pointer-events:none}
.ab-header__inner{pointer-events:auto;display:flex;align-items:center;gap:28px;max-width:1180px;width:100%;padding:10px 14px 10px 18px;border:1px solid var(--ab-line);border-radius:999px;background:rgba(8,8,9,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:background .3s,border-color .3s}
.ab-header--scrolled .ab-header__inner{background:rgba(5,5,5,.92);border-color:#2A2A30}
.ab-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.ab-logo__mark{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#FFFFFF}
.ab-logo__mark img{width:22px;height:22px;object-fit:contain;display:block}
.ab-logo__word{color:var(--ab-white);font:600 15px/1 var(--ab-head);letter-spacing:2.5px}
.ab-nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.ab-nav__link{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:0;border-radius:9px;background:none;cursor:pointer;
  color:var(--ab-muted);text-decoration:none;font:500 13.5px var(--ab-body);letter-spacing:.2px;transition:color .2s,background .2s}
.ab-nav__link:hover{color:var(--ab-white);background:rgba(255,255,255,.05)}
.ab-nav__item{position:relative}
.ab-nav__item.is-open>.ab-nav__link{color:var(--ab-white);background:rgba(255,255,255,.06)}
.ab-caret{width:7px;height:7px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(45deg) translateY(-1px);transition:transform .25s}
.ab-nav__item.is-open .ab-caret{transform:rotate(225deg) translateY(-1px)}

/* mega panel */
.ab-mega{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(8px);width:640px;
  background:rgba(8,8,10,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid #26262C;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.65);
  opacity:0;visibility:hidden;transition:opacity .25s,transform .25s,visibility .25s;overflow:hidden}
.ab-nav__item.is-open .ab-mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.ab-mega--small{width:320px}
.ab-mega__grid--three{grid-template-columns:1fr 1fr 1fr;gap:6px 2px;padding:16px 14px;width:auto}
.ab-nav__item--mega .ab-mega{width:820px}
.ab-mega__col{padding:8px 12px}
.ab-mega__head{display:block;color:#fff;text-decoration:none;font:600 13px var(--ab-body);padding:6px 8px;margin:0 -8px 4px;border-radius:8px}
.ab-mega__head:hover{background:rgba(255,255,255,.07)}
.ab-mega__col>a:not(.ab-mega__head){display:block;color:#8A8A93;text-decoration:none;font:400 12px/1.4 var(--ab-body);padding:5px 8px;margin:0 -8px;border-radius:7px;transition:color .15s,background .15s}
.ab-mega__col>a:not(.ab-mega__head):hover{color:#fff;background:rgba(255,255,255,.06)}
.ab-mega__grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:10px}
.ab-mega__grid--one{grid-template-columns:1fr}
.ab-mega__cell{display:block;padding:14px 16px;border-radius:12px;text-decoration:none;transition:background .2s}
.ab-mega__cell:hover{background:rgba(255,255,255,.06)}
.ab-mega__cell b{display:block;color:#fff;font:600 13.5px var(--ab-body);margin-bottom:4px}
.ab-mega__cell span{display:block;color:#7E7E88;font:400 12px/1.55 var(--ab-body)}
.ab-mega__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-top:1px solid #1C1C21;background:#0B0B0E}
.ab-mega__foot span{color:#7E7E88;font:400 12px var(--ab-body)}
.ab-mega__foot a{color:#fff;text-decoration:none;font:600 12.5px var(--ab-body);white-space:nowrap}
.ab-cta{white-space:nowrap;text-decoration:none;color:#050505;background:var(--ab-white);border-radius:999px;padding:10px 20px;font:600 13.5px var(--ab-body);transition:transform .2s,box-shadow .2s}
.ab-cta:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(255,255,255,.18)}
.ab-burger{display:none;background:none;border:1px solid var(--ab-line);border-radius:10px;width:40px;height:40px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.ab-burger span{display:block;width:18px;height:1.6px;background:var(--ab-white);transition:transform .3s,opacity .3s}
.ab-burger[aria-expanded="true"] span:first-child{transform:translateY(3.8px) rotate(45deg)}
.ab-burger[aria-expanded="true"] span:last-child{transform:translateY(-3.8px) rotate(-45deg)}

/* ---------- drawer ---------- */
.ab-drawer{position:fixed;inset:0;z-index:998;background:rgba(5,5,5,.97);backdrop-filter:blur(10px);display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.ab-drawer.is-open{opacity:1;visibility:visible}
.ab-drawer__nav{display:flex;flex-direction:column;gap:22px;text-align:center}
.ab-drawer__nav a{color:var(--ab-text);text-decoration:none;font:500 22px var(--ab-head)}
.ab-drawer__nav .ab-drawer__cta{margin-top:14px;color:#050505;background:var(--ab-white);border-radius:999px;padding:14px 34px;font:600 16px var(--ab-body)}

/* ---------- footer ---------- */
.ab-footer{border-top:1px solid var(--ab-line);background:#070708;margin-top:0}
.ab-footer__inner{max-width:1180px;margin:0 auto;padding:64px 24px 40px;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px}
.ab-footer__brand p{color:var(--ab-muted);font:400 14px/1.7 var(--ab-body);max-width:320px;margin-top:16px}
.ab-footer__col h4{color:var(--ab-white);font:600 13px var(--ab-body);letter-spacing:1.5px;text-transform:uppercase;margin:0 0 16px}
.ab-footer__col a{display:block;color:var(--ab-muted);text-decoration:none;font:400 14px var(--ab-body);margin-bottom:10px;transition:color .2s}
.ab-footer__col a:hover{color:var(--ab-white)}
.ab-footer__bar{border-top:1px solid var(--ab-line);text-align:center;padding:20px 24px;color:#5C5C63;font:400 12.5px var(--ab-body)}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .ab-nav,.ab-header .ab-cta{display:none}
  .ab-burger{display:flex}
  .ab-header__inner{gap:12px;justify-content:space-between}
  .ab-footer__inner{grid-template-columns:1fr;gap:32px;padding:48px 20px 32px}
  body{padding-top:76px}
  body.home{padding-top:0}
}
