.archive-hero {
  min-height:72vh; display:flex; align-items:flex-end;
  padding-top:150px; padding-bottom:72px;
  border-bottom:1px solid var(--border);
}
.archive-hero .container { width:100%; position:relative; }
.archive-back {
  display:inline-flex; align-items:center; gap:9px; margin-bottom:54px;
  color:var(--text-dimmer); text-decoration:none; font-family:var(--font-mono);
  font-size:.6rem; letter-spacing:.13em; text-transform:uppercase;
  transition:color .2s;
}
.archive-back:hover { color:var(--phosphor); }
.archive-hero h1 {
  max-width:800px; color:var(--text); font-size:clamp(3.2rem,10vw,7.2rem);
  font-weight:500; line-height:.94; letter-spacing:-.035em;
}
.archive-hero h1 em { color:var(--phosphor); font-style:normal; }
.archive-hero > .container > p {
  max-width:630px; margin-top:30px; color:var(--text-dim); font-size:1.05rem; line-height:1.8;
}
.archive-count {
  display:flex; align-items:flex-end; gap:12px; margin-top:42px;
  color:var(--text-dimmer); font-family:var(--font-mono); text-transform:uppercase;
  font-size:.55rem; letter-spacing:.12em; line-height:1.5;
}
.archive-count strong { color:var(--text); font-family:var(--font-display); font-size:2.4rem; line-height:.9; }
.archive-live { display:inline-flex; margin-top:28px; }
.archive-list { padding-top:0; padding-bottom:0; }
.archive-project {
  display:grid; grid-template-columns:1fr; gap:22px;
  padding:72px 0; border-bottom:1px solid var(--border); scroll-margin-top:90px;
}
.archive-index {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  color:var(--text-dimmer); font-family:var(--font-mono); font-size:.6rem;
  letter-spacing:.13em; text-transform:uppercase;
}
.archive-index span { color:var(--phosphor); }
.archive-content { display:grid; grid-template-columns:1fr; gap:34px; min-width:0; }
.archive-copy { align-self:start; }
.archive-domain {
  margin-bottom:14px; color:var(--phosphor); font-family:var(--font-mono);
  font-size:.58rem; letter-spacing:.16em; text-transform:uppercase;
}
.archive-copy h2 {
  margin-bottom:18px; color:var(--text); font-size:clamp(2rem,6vw,3.4rem);
  font-weight:500; line-height:1.05; letter-spacing:-.025em;
}
.archive-copy > p:not(.archive-domain) {
  max-width:620px; color:var(--text-dim); font-size:1rem; line-height:1.8;
}
.archive-gallery { margin:0; border-radius:10px; }
.archive-gallery .gallery-main { background:var(--bg-2); border-color:var(--border); }
.archive-signal {
  min-height:260px; display:flex; align-items:center; justify-content:center; gap:7px;
  position:relative; overflow:hidden; border:1px solid var(--border); border-radius:10px;
  background:var(--bg-card);
}
.archive-signal::before {
  content:''; position:absolute; inset:0;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:42px 42px; opacity:.4;
}
.archive-signal span {
  position:absolute; top:18px; left:20px; color:var(--phosphor);
  font-family:var(--font-mono); font-size:.58rem; letter-spacing:.12em;
}
.archive-signal i {
  width:4px; height:25%; background:var(--phosphor); border-radius:3px;
  box-shadow:0 0 14px var(--phosphor-glow); transform-origin:center;
}
.archive-signal i:nth-of-type(2),.archive-signal i:nth-of-type(11) { height:38%; }
.archive-signal i:nth-of-type(3),.archive-signal i:nth-of-type(10) { height:58%; }
.archive-signal i:nth-of-type(4),.archive-signal i:nth-of-type(9) { height:78%; }
.archive-signal i:nth-of-type(5),.archive-signal i:nth-of-type(8) { height:48%; }
.archive-signal i:nth-of-type(6),.archive-signal i:nth-of-type(7) { height:88%; }
.archive-end { text-align:center; }
.archive-end .container { display:flex; flex-direction:column; align-items:center; gap:24px; }
.archive-end p { color:var(--text); font-size:clamp(1.6rem,5vw,3rem); }

@media (min-width:961px) {
  .archive-hero { padding-top:180px; padding-bottom:92px; }
  .archive-count { position:absolute; right:0; bottom:8px; margin:0; }
  .archive-project { grid-template-columns:128px minmax(0,1fr); gap:44px; padding:108px 0; }
  .archive-index { flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:18px; }
  .archive-index span { font-size:.72rem; }
  .archive-content { grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:clamp(24px,4vw,64px); align-items:start; }
  .archive-content-text { align-items:stretch; }
}
