.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid var(--line);
  background:transparent;
  color:var(--text);
  cursor:pointer;
  font-family:var(--font);
  font-size:14px;
}
.button:hover{ border-color:rgba(255,255,255,0.22); }
.button.primary{
  background:var(--accent);
  border-color:rgba(204,85,0,0.35);
  color:#0b0f17;
  font-weight:700;
}
.button.primary:hover{ filter:brightness(1.05); }

.kicker{
  color:var(--muted);
  font-size:13px;
  margin:0 0 6px;
}

.h1{
  font-size:28px;
  margin:0 0 10px;
}
.lead{
  margin:0 0 16px;
  color:var(--muted);
  max-width:70ch;
}

.menu-toggle{
  width:42px;
  height:42px;
  border-radius:12px;
  border:1px solid var(--line);
  background:transparent;
  cursor:pointer;
  display:grid;
  place-items:center;
}
.menu-toggle span{
  display:block;
  width:18px;
  height:2px;
  background:var(--text);
  margin:2px 0;
  opacity:0.9;
}

.side-menu{
  position:fixed;
  top:0;
  right:-320px;
  width:320px;
  height:100%;
  background:rgba(15,22,36,0.96);
  backdrop-filter: blur(10px);
  border-left:1px solid var(--line);
  z-index:80;
  padding:76px 18px 18px;
  transition:right 180ms ease;
}
.side-menu.open{ right:0; }

.side-menu a{
  display:block;
  padding:12px 10px;
  border-radius:12px;
  border:1px solid transparent;
}
.side-menu a:hover{
  border-color:var(--line);
  text-decoration:none;
}

.backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.55);
  z-index:70;
  display:none;
}
.backdrop.open{ display:block; }

.modal{
  position:fixed;
  inset:0;
  display:none;
  z-index:90;
}
.modal.open{ display:block; }
.modal .modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.65);
}
.modal .modal-card{
  position:relative;
  max-width:860px;
  margin:8vh auto 0;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:14px;
}
.modal .modal-close{
  position:absolute;
  top:10px;
  right:10px;
  border:1px solid var(--line);
  background:transparent;
  color:var(--text);
  width:36px;
  height:36px;
  border-radius:12px;
  cursor:pointer;
  font-size:18px;
}
.modal h2{ margin:0 0 10px; font-size:18px; }
.modal p{ margin:10px 0 0; color:var(--muted); }
