/* Hive — mobile hamburger drawer
   Shipped 2026-05-05 as part of R1.
   Self-contained. Only renders on viewports < 960px. */

.hive-burger{
  display:none;
  position:relative;
  width:44px; height:44px;
  align-items:center; justify-content:center;
  background:transparent;
  border:1px solid rgba(232,237,243,0.18);
  border-radius:10px;
  cursor:pointer;
  transition:border-color .2s ease, background .2s ease;
  margin-left:auto;
  flex:none;
}
.hive-burger:hover{ border-color:rgba(180,115,18,0.55); background:rgba(180,115,18,0.04); }
.hive-burger:focus-visible{ outline:2px solid #EBA628; outline-offset:2px; }
.hive-burger .bars{ position:relative; width:20px; height:14px; }
.hive-burger .bars span{
  position:absolute; left:0; right:0;
  height:1.5px; background:#EBA628;
  transition:transform .25s ease, opacity .2s ease, top .25s ease;
}
.hive-burger .bars span:nth-child(1){ top:0; }
.hive-burger .bars span:nth-child(2){ top:6.5px; }
.hive-burger .bars span:nth-child(3){ top:13px; }
.hive-burger[aria-expanded="true"] .bars span:nth-child(1){ top:6.5px; transform:rotate(45deg); }
.hive-burger[aria-expanded="true"] .bars span:nth-child(2){ opacity:0; }
.hive-burger[aria-expanded="true"] .bars span:nth-child(3){ top:6.5px; transform:rotate(-45deg); }

.hive-drawer-backdrop{
  position:fixed; inset:0;
  background:rgba(8,11,16,0.72);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  z-index:998;
  opacity:0; pointer-events:none;
  transition:opacity .25s ease;
}
.hive-drawer-backdrop.is-open{ opacity:1; pointer-events:auto; }

.hive-drawer{
  position:fixed; top:0; right:0; bottom:0;
  width:min(86vw, 360px);
  background:#0B0F14;
  border-left:1px solid rgba(180,115,18,0.18);
  box-shadow:-20px 0 60px rgba(0,0,0,0.5);
  z-index:999;
  transform:translateX(100%);
  transition:transform .28s cubic-bezier(.2,.8,.2,1);
  display:flex; flex-direction:column;
  overflow-y:auto;
}
.hive-drawer.is-open{ transform:translateX(0); }
.hive-drawer-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 22px;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.hive-drawer-head .label{
  font-size:11px; letter-spacing:.28em; text-transform:uppercase;
  color:rgba(232,237,243,0.55);
}
.hive-drawer-close{
  background:transparent; border:0; color:#EBA628;
  font-size:22px; line-height:1; cursor:pointer;
  width:32px; height:32px; display:flex; align-items:center; justify-content:center;
  border-radius:8px;
}
.hive-drawer-close:hover{ background:rgba(180,115,18,0.08); }
.hive-drawer-close:focus-visible{ outline:2px solid #EBA628; outline-offset:2px; }

.hive-drawer-section{ padding:18px 22px; border-bottom:1px solid rgba(255,255,255,0.05); }
.hive-drawer-section:last-of-type{ border-bottom:0; }
.hive-drawer-section .section-label{
  font-size:10.5px; letter-spacing:.26em; text-transform:uppercase;
  color:rgba(232,237,243,0.42);
  margin-bottom:12px;
}
.hive-drawer a{
  display:block;
  padding:12px 0;
  color:rgba(232,237,243,0.86);
  font-size:15px;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,0.04);
  transition:color .15s ease, padding-left .15s ease;
}
.hive-drawer a:last-child{ border-bottom:0; }
.hive-drawer a:hover{ color:#EBA628; padding-left:4px; }
.hive-drawer a.is-pq{ color:#EBA628; }
.hive-drawer a.is-pq:hover{ color:#EBA628; }

.hive-drawer-cta{
  padding:18px 22px 28px;
  display:flex; flex-direction:column; gap:10px;
  margin-top:auto;
  border-top:1px solid rgba(180,115,18,0.18);
  background:linear-gradient(180deg, transparent 0%, rgba(180,115,18,0.04) 100%);
}
.hive-drawer-cta .btn{ display:block; text-align:center; }

@media (max-width:960px){
  .hive-burger{ display:inline-flex; }
}

/* Lock body scroll while drawer open */
body.hive-drawer-open{ overflow:hidden; }
