@font-face{font-family:"Anton";src:url(fonts/anton.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Mr Dafoe";src:url(fonts/mrdafoe.woff2) format("woff2");font-display:swap}
:root{
  --black:#000;--red:#E3141B;--orange:#FF5A1F;--yellow:#FFD100;--white:#F7EFE2;--smoke:#8C847A;--line:#2a2522;
  --sunset:linear-gradient(180deg,var(--yellow) 0%,#FFA51A 32%,var(--orange) 55%,var(--red) 100%);
  --display:"Anton","Avenir Next Condensed","Arial Narrow",Impact,sans-serif;
  --body:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box;margin:0}
html{background:var(--black);color:var(--white);font:17px/1.6 var(--body);-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
body{overflow-x:hidden}
a{color:inherit}
img,video{display:block;max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--yellow);color:#000;padding:8px 12px;z-index:9}
.skip:focus{left:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.topbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:14px clamp(16px,4vw,56px);background:rgba(0,0,0,.72);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font-weight:600;letter-spacing:.01em}
.topbar nav{display:flex;gap:clamp(12px,2.4vw,32px);font-size:15px}
.topbar nav a{text-decoration:none;color:var(--smoke)}
.topbar nav a:hover{color:var(--yellow)}

/* HERO: the one loud thing */
.hero{position:relative;min-height:min(92vh,900px);display:flex;align-items:center;padding:80px clamp(16px,5vw,72px) 120px;overflow:hidden;isolation:isolate}
.sun{position:absolute;z-index:-2;width:min(78vw,820px);aspect-ratio:1;right:-12vw;top:50%;transform:translateY(-58%);border-radius:50%;
  background:var(--sunset);
  -webkit-mask:linear-gradient(#000 0 52%,transparent 0) top/100% 100% no-repeat,repeating-linear-gradient(180deg,#000 0 22px,transparent 22px 30px) bottom/100% 48% no-repeat;
          mask:linear-gradient(#000 0 52%,transparent 0) top/100% 100% no-repeat,repeating-linear-gradient(180deg,#000 0 22px,transparent 22px 30px) bottom/100% 48% no-repeat;
  filter:drop-shadow(0 0 60px rgba(227,20,27,.55)) drop-shadow(0 0 140px rgba(255,90,31,.35))}
.grid{position:absolute;z-index:-1;left:-20%;right:-20%;bottom:-2px;height:38%;
  background:linear-gradient(transparent 0,var(--black) 92%),repeating-linear-gradient(90deg,rgba(227,20,27,.55) 0 2px,transparent 2px 90px),repeating-linear-gradient(0deg,rgba(227,20,27,.55) 0 2px,transparent 2px 46px);
  transform:perspective(420px) rotateX(62deg);transform-origin:bottom}
.hero-copy{max-width:760px}
.for{color:var(--yellow);font-weight:600;margin-bottom:18px}
h1{display:grid;line-height:.86;margin-bottom:28px}
h1 .big{font-family:var(--display);font-weight:400;font-size:clamp(76px,13vw,188px);letter-spacing:-.01em;color:var(--white);text-transform:uppercase}
h1 .neon{font-family:"Mr Dafoe",cursive;font-weight:400;font-size:clamp(64px,9vw,132px);line-height:1;color:var(--yellow);margin:-.32em 0 0 .6em;transform:rotate(-6deg);
  text-shadow:0 0 6px rgba(255,209,0,.9),0 0 22px var(--red),0 0 52px var(--red)}
.lede{font-size:clamp(18px,1.6vw,21px);max-width:34em;color:#e9dfcf}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 18px}
.btn{display:inline-block;padding:14px 22px;font-weight:700;text-decoration:none;border-radius:2px}
.btn.hot{background:var(--yellow);color:#000;box-shadow:0 0 0 1px var(--yellow),0 0 28px rgba(255,209,0,.45)}
.btn.hot:hover{background:#fff1a0}
.btn.ghost{border:1px solid var(--red);color:var(--white)}
.btn.ghost:hover{background:var(--red)}
.meta{font-size:14px;color:var(--smoke)}

/* FILM */
.film{padding:0 clamp(16px,5vw,72px) 110px}
.screen{position:relative;max-width:1280px;margin:0 auto;border:1px solid #3a1210;box-shadow:0 0 0 1px #000,0 30px 120px rgba(227,20,27,.28)}
.play{all:unset;position:absolute;inset:0;cursor:pointer;display:block}
.play img{width:100%;height:100%;object-fit:cover}
.play span{position:absolute;right:28px;bottom:24px;display:flex;flex-direction:column;padding:12px 22px 10px;background:rgba(0,0,0,.6);border-left:3px solid var(--yellow)}
.play span::before{display:none;content:"";position:absolute;left:22px;top:50%;transform:translateY(-50%);border-left:20px solid var(--yellow);border-top:12px solid transparent;border-bottom:12px solid transparent}
.play b{font-family:var(--display);font-weight:400;font-size:30px;letter-spacing:.02em;text-transform:uppercase;line-height:1.1}
.play small{color:var(--smoke);font-size:14px}
.play:hover span,.play:focus-visible span{background:var(--red)}
.play:hover small,.play:focus-visible small{color:var(--white)}
.film-note,.film-status{max-width:1280px;margin:14px auto 0;font-size:14px;color:var(--smoke)}

/* LEVELS: the sunset returns as bars */
.levels{padding:110px clamp(16px,5vw,72px);border-top:1px solid var(--line)}
.head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:end;max-width:1280px;margin:0 auto 54px}
h2{font-family:var(--display);font-weight:400;font-size:clamp(48px,7vw,104px);line-height:.92;text-transform:uppercase;letter-spacing:-.005em}
.head p{color:#d8cdbd;max-width:30em}
.tapes{list-style:none;padding:0;max-width:1280px;margin:0 auto;display:grid;gap:10px}
.tapes li{display:grid;grid-template-columns:150px 200px 1fr 110px;align-items:center;gap:20px;padding:16px 18px;border:1px solid transparent;cursor:pointer}
.tapes li:hover{border-color:var(--line)}
.tapes li.pick{border-color:var(--yellow);background:rgba(255,209,0,.05)}
.tapes .name{font-family:var(--display);font-size:34px;text-transform:uppercase;line-height:1}
.tapes .rule{color:var(--smoke);font-size:15px}
.tapes .bar{height:30px;background:#140b09;position:relative}
.tapes .bar i{position:absolute;inset:0 auto 0 0;width:var(--w);background:linear-gradient(90deg,var(--red),var(--orange) 55%,var(--yellow));
  -webkit-mask:repeating-linear-gradient(90deg,#000 0 10px,transparent 10px 13px);mask:repeating-linear-gradient(90deg,#000 0 10px,transparent 10px 13px)}
.tapes [data-level="RC-HQ"]{--w:66.67%}.tapes [data-level="RC-MQ"]{--w:50%}.tapes [data-level="RC-ELQ"]{--w:33.33%}.tapes [data-level="RC-XLQ"]{--w:25%}
.tapes li.pick .bar i{filter:drop-shadow(0 0 10px rgba(255,90,31,.8))}
.tapes b{font-family:var(--display);font-weight:400;font-size:30px;text-align:right}
.small{max-width:1280px;margin:20px auto 0;color:var(--smoke);font-size:14px}
.app{max-width:1280px;margin:80px auto 0}
.app img{border:1px solid var(--line)}
.app figcaption{margin-top:12px;color:var(--smoke);font-size:14px}

/* FITS */
.fits{padding:110px clamp(16px,5vw,72px);background:linear-gradient(180deg,#000,#120403)}
.fits h2,.cols{max-width:1280px;margin:0 auto}
.cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:48px}
.cols h3{color:var(--yellow);font-size:18px;margin-bottom:10px}
.cols p{color:#d8cdbd}

/* BUY */
.buy{position:relative;overflow:hidden;isolation:isolate;padding:140px clamp(16px,5vw,72px);text-align:center;border-top:1px solid #3a1210}
.small-sun{width:min(90vw,620px);left:50%;right:auto;top:auto;bottom:-46%;transform:translateX(-50%);opacity:.9}
.buy h2{display:flex;justify-content:center;align-items:baseline;gap:.25em;flex-wrap:wrap}
.buy .price{font-size:clamp(84px,14vw,200px);color:var(--white);text-shadow:0 0 30px rgba(0,0,0,.6)}
.buy .once{font-family:"Mr Dafoe",cursive;text-transform:none;font-size:clamp(56px,7vw,110px);color:var(--yellow);text-shadow:0 0 8px rgba(255,209,0,.8),0 0 30px var(--red)}
.buy p{max-width:34em;margin:22px auto 0;color:#efe4d3;text-shadow:0 1px 12px #000}
.buy .status{font-weight:700}
.buy .status a{color:var(--yellow)}

.fine{max-width:none;margin:0;padding:28px clamp(16px,5vw,72px);color:var(--smoke);font-size:14px;border-top:1px solid var(--line)}
.fine summary{cursor:pointer;color:var(--white)}
.fine p{margin-top:12px;max-width:72em}
.foot{display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between;padding:28px clamp(16px,5vw,72px) 40px;color:var(--smoke);font-size:14px;border-top:1px solid var(--line)}
.foot a{margin-left:16px}

@media (max-width:820px){
  .head,.cols{grid-template-columns:1fr}
  .tapes li{grid-template-columns:1fr auto;gap:6px 14px}
  .tapes .bar{grid-column:1/-1}
  .tapes .rule{grid-column:1;grid-row:2}
  .tapes b{grid-row:1;grid-column:2}
  .topbar nav a:not([href="#buy"]){display:none}
  .sun{right:-30vw;top:30%;opacity:.75}
  .play span{right:10px;bottom:10px;padding:6px 12px 5px}
  .play span::before{left:14px;border-left-width:14px;border-top-width:9px;border-bottom-width:9px}
  .play b{font-size:20px}
  .play small{display:none}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ===== FILM ERA LAYER ===== */
@font-face{font-family:"VT323";src:url(fonts/vt323.woff2) format("woff2");font-display:swap}
:root{--vcr:"VT323",ui-monospace,Menlo,monospace;--halation:0 0 1px rgba(255,120,60,.7),0 0 14px rgba(227,20,27,.45),0 0 40px rgba(227,20,27,.18)}

/* Grain: fixed noise over everything, never blocks clicks */
body::after{content:"";position:fixed;inset:-50%;z-index:20;pointer-events:none;opacity:.13;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 .9  0 0 0 0 .8  0 0 0 1.1 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation:grain .9s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}

/* Halation: the red bloom film throws around bright highlights */
h1 .big,h2,.buy .price,.tapes .name,.tapes b{text-shadow:var(--halation)}

/* Title card */
.title-card{font-family:"Mr Dafoe",cursive;font-size:clamp(26px,2.4vw,34px);color:var(--white);opacity:.85;margin-bottom:6px;line-height:1}

/* VCR on-screen display */
.osd{position:absolute;top:22px;right:clamp(16px,5vw,72px);z-index:2;display:flex;gap:18px;font-family:var(--vcr);font-size:26px;letter-spacing:.06em;color:var(--white);text-shadow:2px 0 0 rgba(227,20,27,.6),-2px 0 0 rgba(0,180,255,.25)}
.osd .rec{color:var(--red)}
.osd .rec{animation:blink 1.2s steps(2) infinite}
@keyframes blink{50%{opacity:.15}}
.play b{font-family:var(--vcr);font-size:40px;letter-spacing:.08em;text-shadow:2px 0 0 rgba(227,20,27,.7)}
.play small{font-family:var(--vcr);font-size:20px;letter-spacing:.05em}

/* 35mm strip: perforations + edge print around the film */
.strip{max-width:1340px;margin:0 auto;background:#050302;padding:44px 30px;position:relative;box-shadow:0 30px 120px rgba(227,20,27,.22)}
.strip::before,.strip::after{content:"";position:absolute;left:0;right:0;height:16px;
  background:repeating-linear-gradient(90deg,transparent 0 14px,#2b201a 14px 30px,transparent 30px 44px);
  -webkit-mask:linear-gradient(#000,#000);opacity:.95}
.strip::before{top:6px}.strip::after{bottom:6px}
.strip .screen{box-shadow:none;border-color:#1a0c08}
.edge{position:absolute;left:30px;right:30px;top:-1px;display:flex;justify-content:space-between;font-family:var(--vcr);font-size:14px;letter-spacing:.14em;color:#ff7a2e;opacity:.9;transform:translateY(23px);pointer-events:none}
.edge-b{top:auto;bottom:-1px;transform:translateY(-23px)}
.cue{position:absolute;right:4%;top:5%;width:clamp(14px,1.6vw,22px);aspect-ratio:1;border-radius:50%;z-index:3;pointer-events:none;
  background:radial-gradient(circle,rgba(255,255,255,.95) 0 35%,rgba(255,210,150,.5) 55%,transparent 72%);mix-blend-mode:screen}

/* Billing block footer, like an 80s one-sheet */
.foot{display:block;padding:70px clamp(16px,5vw,72px) 40px}
.billing{max-width:980px;margin:0 auto 44px;text-align:center;color:#cdbfae}
.presents{font-family:"Mr Dafoe",cursive;font-size:34px;color:var(--yellow);text-shadow:0 0 18px rgba(227,20,27,.6)}
.credits{font-family:var(--display);text-transform:uppercase;font-size:clamp(15px,1.5vw,20px);line-height:1.25;letter-spacing:.02em;transform:scaleY(1.35);margin:16px 0 22px}
.credits span{font-size:.62em;letter-spacing:.06em;color:var(--smoke);vertical-align:.25em}
.credits b{font-weight:400;color:var(--white)}
.rating{display:inline-block;border:2px solid var(--smoke);padding:4px 12px;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.legal{display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px}
.legal a{margin-left:16px}

@media (max-width:820px){
  .osd{font-size:20px;gap:10px;top:14px}
  .strip{padding:26px 10px}
  .edge{left:10px;right:10px;font-size:11px}
  .edge span:nth-child(n+4){display:none}
  .play b{font-size:28px}
}
@media (prefers-reduced-motion:reduce){body::after,.osd .rec{animation:none}}

/* ===== POLISH v3 ===== */
/* VCR counter under the level tapes */
.counter{max-width:1280px;margin:22px auto 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;padding:14px 18px;background:#0a0402;border:1px solid #3a1210;
  font-family:var(--vcr);font-size:clamp(22px,2.2vw,30px);letter-spacing:.06em;color:var(--yellow);text-shadow:2px 0 0 rgba(227,20,27,.6)}
.counter .lbl{color:var(--smoke);font-size:.7em;text-shadow:none}
.counter .arrow{color:var(--red)}

/* Clapperboard slate above the app screenshot */
.slate{background:#0b0b0b;border:1px solid #2a2522;border-bottom:none}
.sticks{height:26px;background:repeating-linear-gradient(-55deg,var(--white) 0 26px,#0b0b0b 26px 52px)}
.slate dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0}
.slate dl div{padding:10px 16px;border-right:1px solid #2a2522}
.slate dl div:last-child{border-right:none}
.slate dt{font-size:12px;color:var(--smoke)}
.slate dd{margin:0;font-family:"Mr Dafoe",cursive;font-size:28px;line-height:1.1;color:var(--white)}

/* The rising sun behind the price gets its scanlines */
.small-sun{-webkit-mask:linear-gradient(#000 0 24%,transparent 0) top/100% 100% no-repeat,repeating-linear-gradient(180deg,#000 0 18px,transparent 18px 26px) bottom/100% 76% no-repeat;
          mask:linear-gradient(#000 0 24%,transparent 0) top/100% 100% no-repeat,repeating-linear-gradient(180deg,#000 0 18px,transparent 18px 26px) bottom/100% 76% no-repeat}

/* Fine print reads as end credits */
.fine summary{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-size:18px}

@media (max-width:820px){
  .slate dl{grid-template-columns:repeat(3,minmax(0,1fr))}
  .slate dl div:nth-child(n+4){display:none}
  .slate dd{font-size:22px}
}

/* ===== Support / Privacy pages ===== */
.doc .page{max-width:760px;margin:0 auto;padding:90px clamp(16px,5vw,32px) 80px;position:relative}
.doc .page::before{content:"";position:absolute;z-index:-1;width:520px;aspect-ratio:1;border-radius:50%;right:-320px;top:-160px;background:var(--sunset);opacity:.16;filter:blur(2px)}
.page-title{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(64px,10vw,120px);line-height:.9;text-shadow:var(--halation);margin-bottom:28px}
.page .support-intro{font-size:19px;color:#e9dfcf}
.page section{margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}
.page h2{font-size:clamp(30px,4vw,44px);margin-bottom:14px}
.page h3{color:var(--yellow);font-size:18px;margin:24px 0 8px}
.page p{color:#d8cdbd;margin-top:12px}
.page a{color:var(--yellow)}
.page .btn{margin-top:18px;color:var(--white)}
.page .contact-panel{padding:26px 26px 28px;border:1px solid #3a1210;background:#0a0402;border-top:none;margin-top:44px;position:relative}
.page .contact-panel::before{content:"";position:absolute;left:-1px;right:-1px;top:-14px;height:14px;background:repeating-linear-gradient(-55deg,var(--white) 0 14px,#0b0b0b 14px 28px)}
.page .contact-panel h2{font-size:32px}

/* never scroll sideways */
html,body{overflow-x:clip}
.doc .page::before{right:-160px}
@media (max-width:820px){.doc .page::before{width:320px;right:-120px;top:-80px}}
.osd-inline{font-family:var(--vcr);font-size:26px;letter-spacing:.08em;color:var(--red);text-shadow:2px 0 0 rgba(255,209,0,.4)}
.page .btn.hot{color:#000}

/* Level colours match the app (Master sky, Studio green, Edit amber, Max coral) */
.tapes [data-level="RC-HQ"]{--lc:#8fb8ff}.tapes [data-level="RC-MQ"]{--lc:#7fd6a2}.tapes [data-level="RC-ELQ"]{--lc:#ffc66b}.tapes [data-level="RC-XLQ"]{--lc:#ff8f7a}
.tapes .bar i{background:linear-gradient(90deg,color-mix(in srgb,var(--lc) 55%,#000),var(--lc))}
.tapes .name{color:var(--lc)}
.tapes li.pick{border-color:var(--lc);background:color-mix(in srgb,var(--lc) 7%,transparent)}
.tapes li.pick .bar i{filter:drop-shadow(0 0 10px color-mix(in srgb,var(--lc) 70%,transparent))}
.tapes .name,.tapes b{text-shadow:0 0 14px color-mix(in srgb,var(--lc) 35%,transparent)}
