:root{
  --bg:#ffffff;
  --fg:#0a0a0a;
  --muted:#555555;
  --hot:#0a0a0a;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  letter-spacing:.2px;
}
img{max-width:100%; height:auto; display:block}
a{color:var(--fg); text-decoration:none}
a:focus, a:hover{outline:none; color:var(--hot)}

.wrap{max-width:var(--max); margin:0 auto; padding:var(--pad)}

.topbar{
  position:sticky; top:0; z-index:10;
  background: var(--bg);
  border-bottom: var(--line) solid var(--fg);
}
.topbar .wrap{display:flex; align-items:center; justify-content:space-between; gap:12px}

.brand{font-weight:800; text-transform:uppercase; font-size:14px; letter-spacing:2px}

.grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:14px;
}
@media (min-width: 820px){
  .grid{grid-template-columns: 1.1fr .9fr; gap:18px}
}

.card{
  border: var(--line) solid var(--fg);
  padding: 14px;
  background: rgba(255,255,255,.02);
  box-shadow: var(--shadow);
}

.heroTitle{
  font-size: clamp(36px, 8vw, 88px);
  line-height: .9;
  margin: 6px 0 10px;
  text-transform: uppercase;
}

.kicker{color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:2px}

.photo{
  border: var(--line) solid var(--fg);
  box-shadow: var(--shadow);
}

.actions{display:grid; grid-template-columns:1fr; gap:10px; margin-top:12px}
@media (min-width: 520px){ .actions{grid-template-columns:1fr 1fr} }

.btn{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px;
  padding: 14px 14px;
  border: var(--line) solid var(--fg);
  background: transparent;
  box-shadow: var(--shadow);
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:2px;
  font-size: 14px;
}
.btn span{color:var(--muted); font-weight:700; letter-spacing:1px; text-transform:none}
.btn:hover{border-color:var(--hot)}

.list{display:flex; flex-direction:column; gap:10px}
.item{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding: 12px;
  border: var(--line) dashed var(--fg);
}
.item code{color:var(--muted)}

.big{
  display:block;
  font-size: clamp(44px, 12vw, 120px);
  line-height: .9;
  margin: 0;
  padding: 10px 0;
  text-transform: uppercase;
}

.big + .big{ padding-top: 18px; }

.small{color:var(--muted); font-size:12px}

/* mobile comfort */
@media (max-width: 420px){
  :root{--pad:14px; --line:3px}
  .btn{padding:16px 14px}
  .card{padding:14px}
}

/* reduce motion */
@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto}
}
