/* =========================================================
   SIREN 11 · PAIN SIREN
   black base · hot pink lead · toxic green accent
   every lowercase i wears a star: all fonts below are rebuilt
   (tools/starify.py) so the glyph itself has a star for a dot.
   ========================================================= */

@font-face { font-family: "Pain Siren Hand"; src: url(assets/fonts/PainSirenHand.woff2) format("woff2"); font-display: block; }
@font-face { font-family: "Pain Siren Hand Star"; src: url(assets/fonts/PainSirenHandStar.woff2) format("woff2"); font-display: block; }
@font-face { font-family: "Marker Fill"; src: url(assets/fonts/PermanentMarker.woff2) format("woff2"); }
@font-face { font-family: "Inter Star"; src: url(assets/fonts/Inter-star-400.woff2) format("woff2"); font-weight: 400; }
@font-face { font-family: "Inter Star"; src: url(assets/fonts/Inter-star-600.woff2) format("woff2"); font-weight: 600; }
@font-face { font-family: "Inter Star"; src: url(assets/fonts/Inter-star-800.woff2) format("woff2"); font-weight: 800; }
@font-face { font-family: "Inter Star"; src: url(assets/fonts/Inter-star-900.woff2) format("woff2"); font-weight: 900; }
@font-face { font-family: "Elite Star"; src: url(assets/fonts/SpecialElite-star.woff2) format("woff2"); }
@font-face { font-family: "Stencil Star"; src: url(assets/fonts/BigShouldersStencil-star.woff2) format("woff2"); font-weight: 800; }

:root {
  --black: #070707;
  --ink: #111;
  --pink: #FF2EAA;
  --pink-deep: #c4127f;
  /* brand bible green; swap to #39FF14 here for a harsher acid */
  --green: #93DF3E;
  --paper: #ecebe6;
  --white: #f5f3ee;
  --hand: "Pain Siren Hand", "Marker Fill", "Inter Star", sans-serif;
  --hand-star: "Pain Siren Hand Star", "Marker Fill", sans-serif;
  --body: "Inter Star", system-ui, sans-serif;
  --mono: "Elite Star", "Courier New", monospace;
  --stencil: "Stencil Star", "Inter Star", sans-serif;
  --maxw: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body {
  margin: 0;
  background: var(--black) url(assets/img/wall.png);
  color: var(--white);
  font: 400 17px/1.6 var(--body);
  font-variant-ligatures: none;   /* keep "fi" etc. apart so every i shows its star */
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
img { max-width: 100%; display: block; }
main { overflow-x: clip; }
svg { display: block; }

/* photocopy grain over everything */
.grain {
  position: fixed; inset: 0; z-index: 100; pointer-events: none;
  background: url(assets/img/grain.png);
  opacity: .32; mix-blend-mode: screen;
}

/* ---------- type helpers ---------- */
.hand { font-family: var(--hand); font-weight: 400; letter-spacing: .02em; line-height: .95; }
.hand-star { font-family: var(--hand-star); }
.mono { font-family: var(--mono); }
.stencil { font-family: var(--stencil); font-weight: 800; }
.g { color: var(--green); }
.c-pink { color: var(--pink); }
.c-green { color: var(--green); }

/* placeholder copy: obviously unfinished, still readable */
.ph {
  background: repeating-linear-gradient(-45deg, transparent 0 6px, rgba(147,223,62,.10) 6px 12px);
  outline: 1px dashed rgba(147,223,62,.55); outline-offset: 2px;
  font-style: italic;
}
.card--paper .ph, .specs__sheet .ph, .slot .ph { outline-color: rgba(0,0,0,.35); background: repeating-linear-gradient(-45deg, transparent 0 6px, rgba(255,46,170,.10) 6px 12px); }
.ph-inline {
  font-family: var(--mono); font-size: .8em; font-style: normal;
  color: var(--black); background: var(--green); padding: 0 .35em; border-radius: 2px;
  white-space: nowrap;
}
.ph-hand { opacity: .7; }

/* ---------- buttons ---------- */
.btn {
  --c: var(--pink);
  display: inline-flex; align-items: center; gap: .55em;
  font: 800 1.05rem/1 var(--stencil); text-transform: uppercase; letter-spacing: .06em;
  text-decoration: none; color: var(--black); background: var(--c);
  padding: .95em 1.5em .9em;
  clip-path: polygon(2% 6%, 98% 0, 100% 88%, 96% 100%, 3% 95%, 0 40%);
  position: relative; transition: transform .15s, filter .15s;
  filter: drop-shadow(5px 5px 0 var(--green));
}
.btn:hover { transform: translate(-2px,-2px) rotate(-1deg); }
.btn--pink { --c: var(--pink); }
.btn--ghost { background: transparent; color: var(--white); filter: none; outline: 2px dashed var(--white); outline-offset: -4px; clip-path: none; }
.btn--ghost:hover { color: var(--green); outline-color: var(--green); }
.btn--sm { font-size: .82rem; padding: .7em 1.1em .65em; filter: drop-shadow(3px 3px 0 var(--green)); }
.btn--big { font-size: 1.3rem; padding: 1em 1.8em .95em; }
.btn__ico { width: 1.05em; height: 1.05em; }

/* ---------- tape ---------- */
.tape {
  position: absolute; width: 110px; height: 30px; z-index: 3;
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.05)), rgba(230,225,200,.55);
  box-shadow: 0 1px 2px rgba(0,0,0,.25);
  clip-path: polygon(0 8%, 4% 0, 8% 10%, 12% 0, 100% 4%, 97% 20%, 100% 38%, 96% 58%, 100% 80%, 96% 100%, 6% 92%, 2% 100%, 0 70%, 3% 48%, 0 26%);
  backdrop-filter: blur(1px);
}
.tape--tl { top: -12px; left: -28px; transform: rotate(-32deg); }
.tape--tr { top: -10px; right: -26px; transform: rotate(28deg); }
.tape--bl { bottom: -10px; left: -26px; transform: rotate(24deg); }
.tape--br { bottom: -12px; right: -28px; transform: rotate(-30deg); }
.tape--top { top: -15px; left: 50%; transform: translateX(-50%) rotate(-3deg); }

.tilt-l { transform: rotate(-2deg); } .tilt-r { transform: rotate(1.6deg); }
.tilt-l2 { transform: rotate(-1deg); } .tilt-r2 { transform: rotate(2.4deg); }

/* ---------- placeholder art slots (photocopy frames) ---------- */
.slot {
  margin: 0; position: relative;
  background: var(--paper) url(assets/img/paper.png);
  color: var(--ink);
  padding: 14px;
  box-shadow: 0 18px 40px rgba(0,0,0,.55), 0 2px 0 rgba(0,0,0,.4);
}
.slot__inner {
  height: 100%; min-height: inherit;
  border: 2px dashed rgba(0,0,0,.45);
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
  padding: 18px; gap: 6px;
  background:
    linear-gradient(45deg, transparent 49.4%, rgba(0,0,0,.12) 49.6% 50.4%, transparent 50.6%),
    linear-gradient(-45deg, transparent 49.4%, rgba(0,0,0,.12) 49.6% 50.4%, transparent 50.6%);
}
.slot__label {
  margin: 0; font: 400 clamp(1.3rem, 2.2vw, 2rem)/1 var(--hand);
  background: var(--ink); color: var(--white); padding: .3em .5em .2em;
  transform: rotate(-2deg);
}
.slot__note { margin: 4px 0 0; font: .82rem/1.3 var(--mono); color: #333; max-width: 30ch; }
.slot__ico { width: 54px; height: 54px; color: var(--pink); margin-bottom: 6px; }

/* ---------- nav ---------- */
.nav {
  position: sticky; top: 0; z-index: 50;
  display: flex; align-items: center; gap: 28px;
  padding: 14px clamp(16px, 4vw, 48px);
  background: rgba(7,7,7,.88); backdrop-filter: blur(6px);
  border-bottom: 2px solid #1d1d1d;
}
.nav__logo { font-size: 2.2rem; color: var(--pink); text-decoration: none; }
.nav__links { display: flex; gap: 26px; margin-left: auto; font-weight: 600; font-size: .98rem; }
.nav__links a { text-decoration: none; opacity: .85; position: relative; }
.nav__links a:hover { color: var(--green); opacity: 1; }

/* ---------- section scaffolding ---------- */
.section { position: relative; padding: clamp(64px, 9vw, 120px) clamp(18px, 5vw, 64px); }
.section > * { max-width: var(--maxw); margin-left: auto; margin-right: auto; }
.sec-head { position: relative; display: flex; align-items: flex-end; gap: 18px; margin-bottom: 56px; }
.sec-head h2 { margin: 0; font-size: clamp(3rem, 7vw, 6rem); color: var(--white); position: relative; z-index: 1; }
.sec-num {
  font-size: clamp(1.1rem, 1.6vw, 1.4rem); color: var(--black); background: var(--green);
  padding: .25em .5em .15em; transform: rotate(-4deg) translateY(-1.3em);
}
.sec-head__squiggle { position: absolute; left: 70px; bottom: -22px; width: min(340px, 60vw); height: 30px; color: var(--pink); }
.sec-head--center { justify-content: center; }

/* ---------- hero ---------- */
.hero {
  position: relative; overflow: hidden;
  display: grid; grid-template-columns: 1.05fr 1fr; gap: 40px; align-items: center;
  max-width: 1440px; margin: 0 auto;
  padding: clamp(40px, 6vw, 80px) clamp(18px, 5vw, 64px) 110px;
  min-height: 760px;
}
.spray { position: absolute; pointer-events: none; z-index: 0; }
.spray--hero-pink { width: 620px; left: -200px; top: -170px; opacity: .55; transform: rotate(18deg); }
.spray--hero-green { width: 440px; right: -110px; bottom: -150px; opacity: .45; }
.hero__copy, .hero__art { position: relative; z-index: 2; }

.stamp {
  display: inline-block; margin: 0 0 14px;
  font: 400 1rem/1 var(--mono); text-transform: lowercase;
  padding: .45em .7em .35em; transform: rotate(-2deg);
}
.stamp .hand-star { font-size: 1.25em; letter-spacing: .03em; }
.stamp--green { background: var(--green); color: var(--black); }
.stamp--pink { background: var(--pink); color: var(--black); }

.hero__title { margin: 0; display: flex; align-items: flex-end; gap: .12em; line-height: .8; }
.hero__siren {
  font-size: clamp(5rem, 12.5vw, 11.5rem); color: var(--pink);
  text-shadow: 6px 6px 0 #000, 9px 9px 0 rgba(147,223,62,.85);
}
.hero__eleven {
  font-size: clamp(5.4rem, 13.5vw, 12.5rem); color: var(--black);
  -webkit-text-stroke: 0; background: var(--green);
  padding: .02em .12em 0; transform: rotate(4deg) translateY(.06em);
  box-shadow: 6px 6px 0 var(--pink);
}
.hero__tag { font: 800 clamp(1.4rem, 2.4vw, 2rem)/1.2 var(--body); margin: 34px 0 10px; max-width: 26ch; }
.hero__sub { font-size: 1.08rem; color: #cfcdc6; max-width: 46ch; margin: 0 0 30px; }
.hero__cta { display: flex; gap: 18px; flex-wrap: wrap; align-items: center; }
.hero__meta { margin: 26px 0 0; font-size: .92rem; color: #aaa; }

.hero__art { min-height: 560px; }
.slot--ui { position: absolute; top: 40px; left: 0; right: 10px; aspect-ratio: 16/10; }
.slot--ui .slot__inner { background-color: rgba(255,46,170,.05); }
.slot--logo { position: absolute; width: 230px; left: -46px; bottom: 6px; aspect-ratio: 4/3; z-index: 4; }
.slot--logo .slot__label { font-size: 1.35rem; }
.sticker-green {
  position: absolute; right: -6px; bottom: 30px; width: 170px; height: 170px; border-radius: 50%;
  background: var(--green); padding: 10px; z-index: 4; transform: rotate(10deg);
  box-shadow: 4px 6px 0 rgba(0,0,0,.6), inset 0 0 0 4px #fff;
}
.sticker-green .slot__inner { border-radius: 50%; border-color: rgba(0,0,0,.55); padding: 10px; background: none; }
.sticker-green .slot__label { font-size: 1.05rem; background: var(--black); }
.sticker-green .slot__note { font-size: .72rem; color: #111; }
.doodle { position: absolute; z-index: 5; pointer-events: none; }
.doodle--hero-star { width: 90px; height: 90px; top: -6px; right: -18px; color: var(--pink); transform: rotate(14deg); }
.doodle--hero-arrow { width: 130px; height: 66px; left: 215px; bottom: 58px; color: var(--green); transform: rotate(-4deg); }
.scrawl--hero { position: absolute; left: 215px; bottom: 6px; font-size: 1.9rem; color: var(--green); transform: rotate(-5deg); z-index: 5; text-shadow: 2px 2px 0 #000; }

/* ---------- ticker ---------- */
.ticker {
  background: var(--pink); color: var(--black); overflow: hidden;
  transform: rotate(-1.6deg); margin: -30px -20px 0; position: relative; z-index: 6;
  border-top: 3px solid #000; border-bottom: 3px solid #000;
  box-shadow: 0 8px 0 var(--green);
}
.ticker__track { display: flex; align-items: center; gap: 26px; white-space: nowrap; padding: 14px 0 10px; font-size: 2.1rem; width: max-content; animation: tick 28s linear infinite; }
.ticker__track svg { width: 26px; height: 26px; flex: none; }
@keyframes tick { to { transform: translateX(-50%); } }

/* ---------- feature cards ---------- */
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 46px 38px; }
.card { position: relative; padding: 34px 28px 30px; min-height: 230px; box-shadow: 0 16px 34px rgba(0,0,0,.5); }
.card h3 { font-size: 2.5rem; margin: 10px 0 14px; }
.card p { margin: 0; font-size: 1rem; line-height: 1.55; }
.card__num { position: absolute; top: 14px; right: 18px; font-size: 1.1rem; opacity: .6; }
.card__doodle { position: absolute; right: 18px; bottom: -22px; width: 60px; height: 60px; color: var(--black); }
.card--paper { background: var(--paper) url(assets/img/paper.png); color: var(--ink); }
.card--paper h3 { color: var(--black); }
.card--pink { background: var(--pink); color: var(--black); }
.card--pink .ph { outline-color: rgba(0,0,0,.4); background: repeating-linear-gradient(-45deg, transparent 0 6px, rgba(0,0,0,.08) 6px 12px); }
.card--green { background: var(--green); color: var(--black); }
.card--green .ph { outline-color: rgba(0,0,0,.4); background: repeating-linear-gradient(-45deg, transparent 0 6px, rgba(0,0,0,.08) 6px 12px); }
.card--black { background: #0d0d0d; border: 2px solid #2a2a2a; outline: 2px dashed var(--pink); outline-offset: -10px; }
.card--black h3 { color: var(--pink); }
.card--black .card__doodle { width: 110px; height: 28px; bottom: 18px; }

/* ---------- torn edges ---------- */
.torn { height: 60px; position: relative; z-index: 2; margin: 0 0 -1px; }
.torn--paper { background: var(--paper) url(assets/img/paper.png); -webkit-mask: url(assets/img/torn-1.svg) 0 0/100% 100%; mask: url(assets/img/torn-1.svg) 0 0/100% 100%; }
.torn--black-on-paper { background: var(--paper) url(assets/img/paper.png); -webkit-mask: url(assets/img/torn-2.svg) 0 0/100% 100%; mask: url(assets/img/torn-2.svg) 0 0/100% 100%; margin: 0 0 -1px; }

/* ---------- demo ---------- */
.demo { background: var(--paper) url(assets/img/paper.png); color: var(--ink); }
.sec-head--dark h2 { color: var(--black); }
.demo__grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 56px; align-items: center; }
.player { background: var(--black); padding: 18px; box-shadow: 10px 10px 0 var(--pink); transform: rotate(-.8deg); }
.player__screen {
  position: relative; aspect-ratio: 16/9; color: var(--white);
  background:
    radial-gradient(circle at 30% 30%, rgba(255,46,170,.18), transparent 55%),
    radial-gradient(circle at 80% 80%, rgba(147,223,62,.14), transparent 50%),
    #0b0b0b url(assets/img/wall.png);
  border: 2px dashed #3a3a3a;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; overflow: hidden;
}
.player__label { margin: 0; font-size: 1.5rem; text-transform: uppercase; letter-spacing: .1em; }
.player__note { margin: 0; font-size: .9rem; color: #aaa; }
.player__play {
  margin-top: 14px; width: 92px; height: 92px; border-radius: 50%; display: grid; place-items: center;
  background: var(--pink); color: var(--black); box-shadow: 5px 5px 0 var(--green); z-index: 2;
}
.player__play svg { width: 42px; height: 42px; margin-left: 6px; }
.wave { position: absolute; left: 0; right: 0; bottom: 14px; width: 100%; height: 70px; opacity: .85; }
.tracks { list-style: none; margin: 16px 0 0; padding: 0; color: var(--white); }
.tracks li { display: flex; gap: 16px; align-items: center; padding: 12px 8px; border-top: 1px dashed #333; font-size: .98rem; }
.tracks li span:nth-child(2) { flex: 1; }
.tracks__n { color: var(--green); }
.slot--ilfr { aspect-ratio: 1/1; }
.slot--ilfr .slot__inner { background-color: rgba(255,46,170,.08); }

/* ---------- showcase ---------- */
.showcase { overflow: hidden; }
.spray--ui { width: 560px; right: -160px; top: 30px; opacity: .35; }
.showcase__wrap { position: relative; padding: 0 70px; }
.slot--wide { aspect-ratio: 16/9; padding: 20px; }
.slot--wide .slot__label { font-size: clamp(1.6rem, 3vw, 2.6rem); }
.callout { position: absolute; display: flex; align-items: center; gap: 4px; z-index: 4; }
.callout .hand { font-size: 2rem; color: var(--green); white-space: nowrap; }
.callout__arrow { width: 120px; height: 60px; color: var(--green); }
.callout--1 { left: -10px; top: 18%; flex-direction: column-reverse; align-items: flex-start; }
.callout--1 .hand { color: var(--pink); transform: rotate(-8deg); }
.callout--1 .callout__arrow { color: var(--pink); transform: rotate(10deg); }
.callout--2 { right: -10px; top: 56%; flex-direction: column; align-items: flex-end; }
.callout--2 .callout__arrow { transform: scaleX(-1) rotate(-10deg); }
.callout--3 { left: 42%; bottom: -36px; }
.callout__circle { width: 220px; height: 90px; color: var(--pink); position: absolute; left: -22px; top: -22px; }
.callout--3 .hand { color: var(--white); position: relative; }
.thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; margin-top: 80px; padding: 0 70px; }
.slot--thumb { aspect-ratio: 4/3; }
.slot--thumb .slot__label { font-size: 1.3rem; }

/* ---------- checker strip ---------- */
.checker {
  height: 46px; transform: rotate(1.2deg); margin: 10px -20px;
  background: repeating-conic-gradient(var(--white) 0 25%, var(--black) 0 50%) 0 0/23px 23px;
  border-top: 3px solid var(--green); border-bottom: 3px solid var(--green);
  -webkit-mask: linear-gradient(#000, #000), url(assets/img/grain.png); mask-composite: exclude;
  opacity: .9;
}

/* ---------- specs ---------- */
.specs__sheet {
  position: relative; max-width: 860px; background: var(--paper) url(assets/img/paper.png); color: var(--ink);
  padding: 46px 52px 40px; box-shadow: 0 20px 44px rgba(0,0,0,.55);
}
.specs__title { margin: 0 0 18px; font-size: 1.2rem; text-transform: uppercase; letter-spacing: .14em; border-bottom: 3px double #111; padding-bottom: 12px; }
.specs__list { margin: 0; }
.specs__list > div { display: grid; grid-template-columns: 200px 1fr; gap: 18px; padding: 12px 0; border-bottom: 1px dashed rgba(0,0,0,.35); }
.specs__list dt { font: 400 1.6rem/1 var(--hand); color: var(--pink-deep); }
.specs__list dd { margin: 0; font-weight: 600; align-self: center; }
.specs__stamp { position: absolute; right: -30px; top: 22px; width: 200px; height: 90px; transform: rotate(-12deg); }
.specs__draft { position: absolute; right: 22px; top: 44px; font-size: 2.3rem; color: var(--pink); transform: rotate(-12deg); }

/* ---------- pricing ---------- */
.pricing { overflow: hidden; }
.spray--price { width: 700px; left: 50%; top: 40px; transform: translateX(-60%) rotate(30deg); opacity: .35; }
.ticket {
  position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 140px; max-width: 760px;
  background: #0c0c0c; border: 3px solid var(--pink);
  box-shadow: 12px 12px 0 var(--green); transform: rotate(-1deg);
}
.ticket__main { padding: 44px 48px 38px; }
.ticket__name { font-size: 4.2rem; margin: 10px 0 22px; color: var(--pink); }
.ticket__price { font-size: 6rem; margin: 0; line-height: 1; color: var(--green); }
.ph-price { outline: 3px dashed var(--green); outline-offset: 6px; padding: 0 .1em; }
.ticket__list { list-style: none; padding: 0; margin: 26px 0 32px; display: grid; gap: 10px; }
.ticket__list li { display: flex; gap: 12px; align-items: center; font-weight: 600; }
.ticket__list svg { width: 18px; height: 18px; color: var(--pink); flex: none; }
.ticket__fine { font-size: .85rem; color: #999; margin: 22px 0 0; }
.ticket__stub {
  border-left: 3px dashed var(--pink); background: var(--pink); color: var(--black);
  display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 26px 0;
  -webkit-mask: radial-gradient(circle at 0 0, transparent 14px, #000 15px) 0 0/100% 51% no-repeat, radial-gradient(circle at 0 100%, transparent 14px, #000 15px) 0 100%/100% 50% no-repeat;
}
.ticket__stub-text { writing-mode: vertical-rl; font-size: 3.4rem; transform: rotate(180deg); }
.ticket__stub-no { writing-mode: vertical-rl; font-size: .9rem; }
.slot--heart { position: absolute; right: -215px; top: -20px; width: 200px; height: 190px; transform: rotate(12deg); z-index: 3; }
.slot--heart .slot__label { font-size: 1.2rem; }

/* ---------- faq ---------- */
.faq { background: var(--paper) url(assets/img/paper.png); color: var(--ink); }
.faq .sec-head h2 { color: var(--black); }
.faq__list { max-width: 900px; }
.faq details { border-top: 3px solid #111; padding: 6px 0; }
.faq details:last-child { border-bottom: 3px solid #111; }
.faq summary {
  list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px;
  font: 800 clamp(1.1rem, 1.8vw, 1.35rem)/1.3 var(--body); padding: 16px 0;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: "+"; font: 800 1.6rem/1 var(--stencil); color: var(--black); background: var(--green);
  width: 40px; height: 40px; display: grid; place-items: center; flex: none; transform: rotate(-6deg);
}
.faq details[open] summary::after { content: "–"; background: var(--pink); }
.faq details p { margin: 0 0 18px; max-width: 70ch; }

/* ---------- footer ---------- */
.footer {
  position: relative; padding: 80px clamp(18px, 5vw, 64px) 46px;
  display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: center;
  max-width: 1440px; margin: 0 auto;
}
.footer__brand { display: flex; align-items: center; gap: 30px; flex-wrap: wrap; }
.footer__name { margin: 0; font-size: clamp(3.6rem, 8vw, 7rem); line-height: .9; color: var(--pink); text-shadow: 5px 5px 0 rgba(147,223,62,.8); }
.slot--footlogo { width: 190px; aspect-ratio: 4/3; padding: 10px; }
.slot--footlogo .slot__label { font-size: 1.1rem; }
.footer__links { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.footer__links a {
  display: flex; flex-direction: column; gap: 6px; text-decoration: none; padding: 14px 16px;
  border: 2px solid #2a2a2a; background: #0c0c0c;
}
.footer__links a .hand { font-size: 1.9rem; }
.footer__links a:hover { border-color: var(--green); }
.footer__links a:hover .hand { color: var(--green); }
.footer__links a .ph-inline { align-self: flex-start; font-size: .72rem; }
.footer__fine { grid-column: 1 / -1; color: #888; font-size: .85rem; margin: 20px 0 0; border-top: 1px dashed #333; padding-top: 20px; }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
  .cards { grid-template-columns: repeat(2, 1fr); }
  .slot--heart { right: -40px; top: -110px; width: 160px; height: 150px; }
}
@media (max-width: 860px) {
  body { font-size: 16px; }
  .nav { gap: 12px; }
  .nav__links { display: none; }
  .nav .btn--sm { margin-left: auto; }
  .hero { grid-template-columns: 1fr; padding-bottom: 90px; min-height: 0; gap: 10px; }
  .hero__art { min-height: 0; aspect-ratio: 1 / 1.02; margin-top: 18px; }
  .slot--ui { top: 4%; left: 0; right: 0; }
  .slot--logo { width: 46%; left: -2%; bottom: 4%; }
  .sticker-green { width: 34%; height: auto; aspect-ratio: 1; right: 0; bottom: 6%; }
  .sticker-green .slot__note { display: none; }
  .doodle--hero-star { width: 62px; height: 62px; top: -10px; right: -6px; }
  .doodle--hero-arrow { display: none; }
  .scrawl--hero { left: 47%; bottom: -2%; font-size: 1.5rem; }
  .hero__siren { text-shadow: 4px 4px 0 #000, 6px 6px 0 rgba(147,223,62,.85); }
  .hero__eleven { box-shadow: 4px 4px 0 var(--pink); }
  .slot--logo { padding: 8px; } .slot--logo .slot__inner { padding: 8px; } .slot--logo .slot__note { display: none; } .slot--logo .slot__label { font-size: 1.05rem; }
  .card { min-height: 0; padding: 30px 22px 34px; }
  .card h3 { font-size: 2.2rem; }
  .player { padding: 12px; box-shadow: 7px 7px 0 var(--pink); }
  .player__label { font-size: 1.05rem; }
  .player__note { font-size: .78rem; }
  .player__play { width: 64px; height: 64px; margin-top: 6px; }
  .player__play svg { width: 30px; height: 30px; }
  .wave { height: 44px; bottom: 8px; }
  .specs__draft { right: 8px; top: -2px; font-size: 1.7rem; }
  .ticker__track { font-size: 1.6rem; }
  .cards { grid-template-columns: 1fr; gap: 34px; }
  .demo__grid { grid-template-columns: 1fr; gap: 50px; }
  .slot--ilfr { width: 78%; margin: 0 auto; }
  .showcase__wrap, .thumbs { padding: 0; }
  .callout--1 { left: 0; top: -66px; flex-direction: row-reverse; }
  .callout--1 .callout__arrow { width: 80px; height: 40px; transform: rotate(40deg); }
  .callout--2 { right: 0; top: auto; bottom: -76px; flex-direction: row; }
  .callout--2 .callout__arrow { width: 80px; height: 40px; transform: scaleX(-1) rotate(-40deg); }
  .callout--3 { display: none; }
  .showcase__wrap { margin-top: 90px; margin-bottom: 40px; }
  .callout .hand { font-size: 1.6rem; }
  .thumbs { grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 60px; }
  .tape { width: 72px; height: 22px; }
  .tape--tl, .tape--bl { left: -16px; } .tape--tr, .tape--br { right: -16px; }
  .thumbs .slot:last-child { display: none; }
  .specs__sheet { padding: 36px 22px 28px; }
  .specs__list > div { grid-template-columns: 1fr; gap: 4px; }
  .specs__stamp { width: 130px; right: -10px; top: -20px; }
  .ticket { grid-template-columns: 1fr; }
  .ticket__main { padding: 34px 24px 30px; }
  .ticket__name { font-size: 3.2rem; }
  .ticket__price { font-size: 4.6rem; }
  .ticket__stub { display: none; }
  .btn--big { font-size: 1.1rem; width: 100%; justify-content: center; }
  .slot--heart { right: -8px; top: -96px; width: 130px; height: 122px; }
  .slot--heart .slot__note { display: none; }
  .pricing .sec-head { margin-bottom: 110px; }
  .footer { grid-template-columns: 1fr; }
  .sec-head { margin-bottom: 44px; }
}
@media (prefers-reduced-motion: reduce) { .ticker__track { animation: none; } html { scroll-behavior: auto; } }

/* ---------- real UI screenshots in the photocopy frames ---------- */
.slot--shot { padding: 12px; }
.slot--shot .slot__img { display: block; width: 100%; height: auto; border: 2px solid var(--ink); filter: contrast(1.04) saturate(1.05); }
.slot--shot::after { content: ""; position: absolute; inset: 12px; pointer-events: none; background: url(assets/img/grain.png); opacity: .14; mix-blend-mode: screen; }
.slot--ui.slot--shot { aspect-ratio: auto; }
.slot--wide.slot--shot { aspect-ratio: auto; padding: 16px; }
.slot--wide.slot--shot::after { inset: 16px; }
.slot--thumb.slot--shot { aspect-ratio: auto; padding: 10px 10px 8px; }
.slot--thumb.slot--shot::after { inset: 10px 10px auto; height: calc(100% - 52px); }
.slot__cap { display: block; margin: 8px 2px 0; font-size: 1.35rem; line-height: 1; color: var(--ink); transform: rotate(-1deg); }

.callout .hand { background: var(--black); padding: .08em .3em 0; }
.callout--2 { top: 40%; }
