:root{
  --paper:#f4e8c8;--ink:#14110e;--blood:#c41e2a;--gold:#f0c83c;
  --kraft:#d9c49a;--halftone:#2a241c;--sky:#5ec4ff;--pop:#ff5c8a;
  --font-display:"Comic Neue",Comic Sans MS,cursive;
  --font-impact:Impact,"Arial Black",sans-serif;
  --font-body:"Source Serif 4",Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);background:#1a1510;color:var(--ink);
  min-height:100vh;line-height:1.45;
  background-image:
    radial-gradient(circle at 10% 20%,rgba(196,30,42,.25),transparent 40%),
    radial-gradient(circle at 90% 80%,rgba(240,200,60,.15),transparent 35%);
}
a{color:var(--blood);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block;height:auto}

.issue-wrap{
  max-width:1100px;margin:1.5rem auto;background:var(--paper);
  border:8px solid var(--ink);box-shadow:16px 16px 0 #000,0 0 0 4px var(--blood);
  position:relative;
}
@media(max-width:640px){.issue-wrap{margin:.5rem;border-width:5px;box-shadow:8px 8px 0 #000}}

.masthead{
  background:var(--blood);color:var(--paper);padding:1rem 1.25rem .85rem;
  border-bottom:6px solid var(--ink);text-align:center;position:relative;
}
.masthead .issue-num{
  font-family:var(--font-impact);font-size:.85rem;letter-spacing:.2em;
  text-transform:uppercase;opacity:.9;margin-bottom:.35rem;
}
.masthead h1{
  font-family:var(--font-impact);font-size:clamp(2rem,6vw,3.6rem);
  letter-spacing:.02em;line-height:.95;text-transform:uppercase;
  text-shadow:3px 3px 0 #000;
}
.masthead .tagline{
  font-family:var(--font-display);font-weight:700;font-size:1rem;
  margin-top:.5rem;letter-spacing:.04em;
}
.price-box{
  position:absolute;top:1rem;right:1rem;background:var(--paper);color:var(--ink);
  border:3px solid var(--ink);padding:.35rem .55rem;font-family:var(--font-impact);
  font-size:.75rem;line-height:1.2;transform:rotate(4deg);
}
@media(max-width:600px){.price-box{display:none}}

.banner-cta{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem;
  background:#111;color:var(--paper);padding:.75rem 1rem;border-bottom:4px solid var(--ink);
  font-family:var(--font-impact);letter-spacing:.06em;text-transform:uppercase;
}
.banner-cta a.issue-btn{
  background:var(--gold,#f0c83c);color:#111;padding:.55rem 1.1rem;
  border:3px solid #fff;font-size:1rem;text-decoration:none;
  box-shadow:4px 4px 0 var(--blood);
}
.banner-cta a.issue-btn:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--blood);text-decoration:none}
.banner-cta .status{font-family:var(--font-display);font-size:.85rem;color:#aaa;letter-spacing:.04em;text-transform:none}
.banner-cta .status.live{color:#7dff7d}

.splash{
  display:grid;grid-template-columns:1.3fr .7fr;gap:0;border-bottom:6px solid var(--ink);
}
@media(max-width:800px){.splash{grid-template-columns:1fr}}
.splash-art{position:relative;border-right:4px solid var(--ink);min-height:280px}
@media(max-width:800px){.splash-art{border-right:none;border-bottom:4px solid var(--ink)}}
.splash-art img{width:100%;height:100%;object-fit:cover;min-height:280px}
.burst{
  position:absolute;top:1rem;left:1rem;background:var(--gold,#f0c83c);color:#111;
  font-family:var(--font-impact);font-size:1.1rem;padding:.5rem .8rem;
  border:3px solid #111;transform:rotate(-6deg);box-shadow:4px 4px 0 #111;
}
.splash-copy{padding:1.5rem 1.25rem;background:var(--kraft)}
.splash-copy .kicker{
  font-family:var(--font-impact);font-size:.8rem;letter-spacing:.14em;color:var(--blood);
  text-transform:uppercase;margin-bottom:.5rem;
}
.splash-copy h2{
  font-family:var(--font-impact);font-size:clamp(1.6rem,3.5vw,2.3rem);
  line-height:1.05;text-transform:uppercase;margin-bottom:.75rem;
}
.splash-copy p{font-size:1.02rem;margin-bottom:1rem}
.splash-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.splash-actions a{
  font-family:var(--font-display);font-weight:700;font-size:.9rem;
  padding:.55rem .9rem;border:3px solid var(--ink);background:var(--paper);color:var(--ink);
  text-decoration:none;
}
.splash-actions a.primary{background:var(--blood);color:var(--paper)}
.splash-actions a:hover{background:var(--ink);color:var(--paper);text-decoration:none}
.note{font-size:.78rem;color:#5a4a3a;margin-top:.85rem}

.stats-strip{
  display:grid;grid-template-columns:repeat(4,1fr);border-bottom:6px solid var(--ink);
  background:#111;color:var(--paper);
}
@media(max-width:700px){.stats-strip{grid-template-columns:1fr 1fr}}
.stat-box{
  padding:1rem .75rem;text-align:center;border-right:3px solid var(--paper);
}
.stat-box:last-child{border-right:none}
.stat-box .n{font-family:var(--font-impact);font-size:1.8rem;color:var(--gold,#f0c83c)}
.stat-box .l{font-family:var(--font-display);font-size:.75rem;font-weight:700;margin-top:.2rem}

.page-spread{
  display:grid;grid-template-columns:320px 1fr;gap:0;border-bottom:6px solid var(--ink);
}
@media(max-width:850px){.page-spread{grid-template-columns:1fr}}
.wanted-col{
  border-right:4px solid var(--ink);background:#efe0b8;padding:0;
}
@media(max-width:850px){.wanted-col{border-right:none;border-bottom:4px solid var(--ink)}}
.wanted-col img{width:100%;border-bottom:4px solid var(--ink)}
.wanted-bio{padding:1rem 1.1rem}
.wanted-bio h3{
  font-family:var(--font-impact);font-size:1.5rem;color:var(--blood);letter-spacing:.03em;
}
.wanted-bio p{font-size:.95rem;margin-top:.5rem}
.wanted-bio .stamp-tag{
  display:inline-block;margin-top:.75rem;font-family:var(--font-impact);
  font-size:.75rem;letter-spacing:.1em;border:3px solid var(--blood);color:var(--blood);
  padding:.3rem .55rem;transform:rotate(-2deg);
}

.gossip-col{padding:1.25rem}
.gossip-col h3{
  font-family:var(--font-impact);font-size:1.4rem;text-transform:uppercase;
  border-bottom:4px double var(--ink);padding-bottom:.4rem;margin-bottom:1rem;
}
.gossip-col .sub{font-size:.88rem;color:#5a4a3a;margin:-.5rem 0 1rem}
.scoop-grid{display:flex;flex-direction:column;gap:.75rem}
.scoop{
  display:grid;grid-template-columns:auto 1fr auto;gap:.85rem;align-items:center;
  padding:.75rem;background:#fff8e4;border:3px solid var(--ink);
  box-shadow:3px 3px 0 rgba(0,0,0,.2);text-decoration:none;color:inherit;
}
.scoop:hover{background:#ffe8a8;text-decoration:none}
.scoop .chain{
  font-family:var(--font-impact);font-size:1rem;background:var(--ink);color:var(--paper);
  padding:.35rem .5rem;min-width:3.2rem;text-align:center;
}
.scoop .sym{font-family:var(--font-impact);font-size:1.2rem;letter-spacing:.02em}
.scoop .topic{font-family:var(--font-display);font-weight:700;font-size:.85rem;color:#5a4a3a}
.scoop .mc{font-family:var(--font-impact);font-size:1.05rem;color:var(--blood);white-space:nowrap}

.rex-column{
  margin:0;padding:1.5rem 1.25rem;background:#111;color:var(--paper);
  border-bottom:6px solid var(--ink);position:relative;
}
.rex-column .byline{
  font-family:var(--font-impact);font-size:.85rem;letter-spacing:.12em;color:var(--gold,#f0c83c);
  margin-bottom:.75rem;text-transform:uppercase;
}
.rex-column blockquote{
  font-family:var(--font-display);font-weight:700;font-size:clamp(1.15rem,2.8vw,1.55rem);
  line-height:1.35;max-width:48rem;
}
.rex-column cite{
  display:block;margin-top:1rem;font-style:normal;font-family:var(--font-body);
  font-size:.85rem;color:#aaa;
}

.social-page{padding:1.25rem;background:var(--kraft);border-bottom:6px solid var(--ink)}
.social-page h3{font-family:var(--font-impact);font-size:1.3rem;margin-bottom:.4rem;text-transform:uppercase}
.social-page p{font-size:.9rem;margin-bottom:1rem;color:#4a3a2a}
.sticker-row{display:flex;flex-wrap:wrap;gap:.45rem}
.sticker{
  font-family:var(--font-display);font-weight:700;font-size:.8rem;
  padding:.4rem .7rem;border:2px solid var(--ink);background:var(--paper);color:var(--ink);
  text-decoration:none;transform:rotate(-1deg);
}
.sticker:nth-child(even){transform:rotate(1.5deg)}
.sticker:hover{background:var(--ink);color:var(--paper);text-decoration:none}
.sticker.loud{background:var(--blood);color:var(--paper);border-color:#111}

.issue-foot{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;
  padding:1.25rem;background:#efe0b8;
}
.issue-foot strong{
  display:block;font-family:var(--font-impact);font-size:.75rem;letter-spacing:.08em;
  margin-bottom:.3rem;text-transform:uppercase;
}
.issue-foot a{font-size:.95rem}
.colophon{grid-column:1/-1;font-size:.75rem;color:#5a4a3a;line-height:1.55;margin-top:.25rem}
.colophon a{font-size:inherit}


/* === kit: reviews + video + locked footer === */
.kit-wrap { max-width: 1100px; margin: 0 auto; padding: 0 1rem; }
.kit-reviews { padding: 2.5rem 0 1.5rem; }
.kit-reviews-title, .kit-video-title { font-size: 1.35rem; margin: 0 0 0.35rem; }
.kit-reviews-lead { opacity: 0.75; margin: 0 0 1.25rem; font-size: 0.95rem; }
.reviews-grid { display: grid; gap: 1rem; }
.reviews-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.reviews-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 720px) {
  .reviews-grid-2, .reviews-grid-3 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .reviews-grid-3 { grid-template-columns: 1fr; }
}
.reviews-stacked { display: flex; flex-direction: column; gap: 1rem; max-width: 420px; margin: 0 auto; }
.reviews-carousel { overflow-x: auto; -webkit-overflow-scrolling: touch; scroll-snap-type: x mandatory; }
.reviews-track { display: flex; gap: 1rem; padding-bottom: 0.5rem; }
.reviews-track .review-card { flex: 0 0 min(280px, 75vw); scroll-snap-align: start; }
.review-card { margin: 0; border-radius: 8px; overflow: hidden; background: rgba(0,0,0,0.08); }
.review-card img { display: block; width: 100%; height: auto; }
.kit-video-sec { padding: 1.5rem 0 2.5rem; }
.kit-video { width: 100%; max-width: 900px; display: block; margin: 0 auto; border-radius: 10px; background: #000; aspect-ratio: 16/9; }
.kit-locked-foot { text-align: center; padding: 1.25rem 1rem 1.75rem; font-size: 0.9rem; line-height: 1.55; opacity: 0.9; }
.kit-locked-foot p { margin: 0; }
.kit-thick { padding: 1.5rem 0; }
.kit-thick .kit-pill-row { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.75rem; }
.kit-thick .kit-pill { display: inline-block; padding: 0.35rem 0.7rem; border: 1px solid currentColor; border-radius: 999px; font-size: 0.8rem; text-decoration: none; }
