/* ============================================================
   pages.css — page set B: download.html + 404.html
   "The Dorm Wall" (site-v2 experiment). Extends wall.css —
   only page-specific layout lives here. Shadow recipe, tape,
   pins, paper and type voices all come from wall.css.
   ============================================================ */

/* ---------- shared footer extras (both pages) ---------- */
.footstrip .tagline {
  font-size: 1.12rem;
  font-weight: 700;
  max-width: 58ch;
  margin: 0;
}
.footstrip .expnote { /* the marker note under the fine line */
  margin: 14px 0 0;
  font-size: 1.3rem;
  color: var(--ink);
  transform: rotate(-1deg);
}

/* ---------- download: big instruction sheet, center wall ---------- */
.dlsheet {
  max-width: 740px;
  margin: 26px auto 0;
  padding: 46px 48px 58px;
  text-align: center;
}
.dlsheet .pill {
  display: inline-block;
  margin: 0 0 20px;
  font-family: var(--f-type);
  font-size: 0.8rem;
  letter-spacing: 0.04em;
  color: var(--ink);
  background: var(--paper-white);
  border: 2px solid var(--ink);
  border-radius: 999px;
  padding: 6px 16px;
}
.dlsheet h1.anton { font-size: clamp(2.6rem, 6.5vw, 4.4rem); }
.dlsheet .intro {
  font-size: 1.08rem;
  max-width: 50ch;
  margin: 0 auto 30px;
}
.btn-big { font-size: 1.55rem; padding: 20px 42px; }

/* little "TAKE ONE" tear-off stub hanging off the sheet's edge */
.takeone {
  position: absolute;
  right: -40px;
  bottom: 56px;
  width: 96px;
  padding: 10px 10px 12px;
  transform: rotate(5deg);
  background: var(--paper-white);
  color: var(--ink-soft);
  border-top: 2px dashed rgba(36, 28, 18, 0.45);
  box-shadow: var(--shadow-art);
  font-family: var(--f-type);
  font-size: 0.68rem;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s;
}
.takeone::before { /* torn notch, same trick as .flyer .tab */
  content: "";
  position: absolute;
  top: -5px;
  left: 50%;
  width: 8px;
  height: 8px;
  transform: translateX(-50%) rotate(45deg);
  background: var(--wall);
}
.takeone strong {
  display: block;
  color: var(--ink);
  font-size: 0.78rem;
  letter-spacing: 0.06em;
}
.takeone:hover {
  transform: rotate(0deg) translateY(4px);
  background: var(--highlighter);
  color: var(--ink);
}

/* ---------- download: the four taped cards ---------- */
.dlcards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px 36px;
  max-width: 960px;
  margin: 74px auto 0;
}
.dlcards h2.anton { font-size: 1.55rem; }
.dlcards .paper p { margin: 0 0 10px; }
.dlcards .btn-mini { margin-top: 8px; }

/* small chunky button, same recipe as .btn-buy */
.btn-mini {
  display: inline-block;
  font-family: var(--f-display);
  text-transform: uppercase;
  font-size: 1rem;
  letter-spacing: 0.02em;
  background: var(--highlighter);
  color: var(--ink);
  text-decoration: none;
  padding: 8px 18px;
  border: 2.5px solid var(--ink);
  border-radius: 6px;
  box-shadow: 0 3px 0 var(--ink), var(--shadow-art);
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.btn-mini:hover {
  transform: translateY(2px);
  box-shadow: 0 1px 0 var(--ink), var(--shadow-art);
  background: #ffe95e;
}
.btn-mini:active { transform: translateY(4px); box-shadow: 0 0 0 var(--ink); }

/* ---------- 404: the missing poster ---------- */
.ghostwrap {
  text-align: center;
  overflow: hidden; /* the patrolling axolotl must not push out the viewport */
}
.ghostwrap .clanker-walk { animation-delay: -6s; height: auto; } /* start mid-wall; height attr would stretch the sprite */
.ghostwrap .deskedge { margin-top: 84px; } /* patrol line clears the button above */
.ghost {
  position: relative;
  max-width: 540px;
  margin: 30px auto 0;
  aspect-ratio: 4 / 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 36px;
  transform: rotate(-1.2deg);
  /* the faint outline where a poster used to hang */
  border: 3px dashed rgba(247, 240, 221, 0.26);
  border-radius: 4px;
  background: rgba(247, 240, 221, 0.04);
}
.ghost h1.anton {
  font-size: clamp(2.5rem, 7vw, 4.2rem);
  color: var(--paper);
  text-shadow: 0 3px 0 rgba(0, 0, 0, 0.3);
}
.ghost .hand {
  font-size: 1.7rem;
  color: rgba(247, 240, 221, 0.88);
  max-width: 24ch;
  margin: 0;
}
.backrow { margin: 46px 0 0; }

/* ---------- responsive ---------- */
@media (max-width: 860px) and (min-width: 721px) {
  .takeone { right: 10px; } /* keep the stub off the viewport edge */
}
@media (max-width: 720px) {
  /* the settle entrance rotates/scales artifacts past the viewport edge for a
     moment — on a phone that transient overflow expands the layout viewport
     and shifts the whole page sideways. Skip it on small screens. */
  .settle { animation: none; }
  .btn-big { font-size: 1.2rem; padding: 14px 20px; }
  .dlcards { grid-template-columns: 1fr; gap: 30px; margin-top: 56px; }
  .dlsheet, .dlcards .paper { --tilt: 0deg; } /* calm the tilts down */
  .ghost { transform: none; padding: 32px 22px; }
  .takeone { position: static; display: block; margin: 28px auto 0; transform: rotate(-1.5deg); }
}
