@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Mono:wght@300;400;500&family=Playfair+Display:ital,wght@1,800&display=swap');
:root{--red:#b60f20;--bright:#ed1b2e;--wine:#720b19;--ink:#111;--paper:#eee9df;--pink:#ec91aa;--line:#28231f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:280px;background:var(--ink);color:var(--paper);font-family:'DM Mono',monospace}img{display:block;max-width:100%}a{color:inherit}.site-header{min-height:88px;padding:18px clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;gap:30px;position:sticky;top:0;z-index:50;background:rgba(17,17,17,.96);border-bottom:1px solid #39332f}.logo{font:clamp(1.35rem,3vw,2rem)/1 'Archivo Black';text-transform:uppercase;text-decoration:none;letter-spacing:-.08em;white-space:nowrap}.logo i{font:italic 800 .75em 'Playfair Display';text-transform:none}.logo span{color:var(--pink)}nav{display:flex;align-items:center;gap:clamp(14px,2.4vw,34px)}nav a{font-size:10px;text-transform:uppercase;text-decoration:none;letter-spacing:.08em}nav a:hover,nav a[aria-current=page]{color:var(--pink)}.menu-button{display:none;background:none;color:white;border:1px solid;padding:8px 12px;font:10px 'DM Mono'}.btn{display:inline-block;padding:14px 22px;background:var(--bright);color:white;border:2px solid white;box-shadow:6px 6px 0 #000;text-decoration:none;font-weight:700;font-size:11px}.btn:hover{transform:translate(3px,3px);box-shadow:3px 3px #000}.eyebrow,.page-title>p,.section-heading p{font-weight:700;font-size:10px;letter-spacing:.18em;color:var(--bright)}
/* Every image lives inside a frame. Overflow hidden is what stops it escaping. */
.landscape-frame,.portrait-frame,.feature-frame,.gallery-frame,.about-image{display:block;position:relative;overflow:hidden;background:var(--wine)}.landscape-frame{width:100%;aspect-ratio:16/10}.portrait-frame{aspect-ratio:4/5}.feature-frame{width:100%;aspect-ratio:16/9;margin:40px 0 65px;border:4px solid #111}.gallery-frame{aspect-ratio:4/3;margin:0}.about-image{aspect-ratio:4/5}.landscape-frame img,.portrait-frame img,.feature-frame img,.gallery-frame img,.about-image img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}.landscape-frame img.contain,.portrait-frame img.contain,.feature-frame img.contain,.gallery-frame img.contain,.about-image img.contain{object-fit:contain}.gallery-frame figcaption{position:absolute;left:12px;bottom:12px;background:#111;color:white;padding:7px 9px;font-size:8px}
/* Opening gate */
.entrance-page{background:var(--wine)}.entrance{min-height:100svh;display:grid;grid-template-columns:1fr 1fr}.entrance-art{min-height:100svh;overflow:hidden;background:var(--wine)}.entrance-art img{width:100%;height:100%;object-fit:cover}.entrance-copy{padding:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle,#31050a,#090909 70%)}.entrance-copy h1{margin:25px 0;font:clamp(4rem,9vw,9rem)/.72 'Archivo Black';letter-spacing:-.09em;text-transform:uppercase}.entrance-copy h1 small{font:italic 800 .45em 'Playfair Display';display:block}.entrance-copy h1 span{color:var(--pink)}.entrance-copy>p:not(.eyebrow){font-size:11px;letter-spacing:.25em;text-transform:uppercase}.entrance-copy .btn{margin-top:25px}.warning{margin-top:28px;font-size:8px;color:#aaa}
/* Homepage */
.hero{max-width:1400px;margin:auto;min-height:700px;padding:70px clamp(20px,5vw,72px);display:grid;grid-template-columns:1.1fr .75fr;gap:clamp(45px,8vw,120px);align-items:center}.hero-copy h1{max-width:800px;margin:20px 0 28px;font:clamp(3.5rem,7vw,7.2rem)/.88 'Archivo Black';letter-spacing:-.07em;text-transform:uppercase}.hero-copy h1 em{font-family:'Playfair Display';color:var(--bright)}.hero-copy>p:not(.eyebrow){max-width:650px;color:#bbb;line-height:1.8;font-size:13px}.hero-copy .btn{margin-top:18px}.hero-media{border:8px solid var(--paper);box-shadow:17px 17px 0 var(--bright);transform:rotate(2deg)}.hero-media span{position:absolute;bottom:18px;left:-22px;background:#f3dda0;color:#111;padding:9px 15px;font:1rem 'Archivo Black';transform:rotate(-5deg)}.paper-section,.paper-page,.article-page{background:var(--paper);color:var(--ink)}.paper-section{padding:80px clamp(20px,5vw,72px) 100px}.section-heading{max-width:1400px;margin:auto;display:flex;justify-content:space-between;align-items:end;border-bottom:5px solid #111;padding-bottom:20px}.section-heading h2,.page-title h1{font:clamp(2.8rem,6vw,6rem)/.9 'Archivo Black';letter-spacing:-.065em;margin:7px 0}.section-heading>a,.text-link{font-weight:700;font-size:10px}.card-grid{max-width:1400px;margin:36px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.review-card{min-width:0;padding-bottom:28px;border-bottom:2px solid #111}.review-card[hidden]{display:none}.review-card .card-image{border:3px solid #111;margin-bottom:15px}.card-meta{display:flex;justify-content:space-between;gap:15px;font-size:9px}.card-meta b,.review-card>div+b{color:var(--bright)}.review-card h2,.review-card h3{margin:12px 0;font:clamp(1.35rem,2.4vw,2rem)/1.05 'Archivo Black'}.review-card h2 a,.review-card h3 a{text-decoration:none}.review-card p{min-height:3.2em;font-size:11px;line-height:1.65}.manifesto{text-align:center;padding:100px 20px;background:var(--bright)}.manifesto p,.manifesto span{font-size:9px;letter-spacing:.18em}.manifesto h2{font:clamp(2.4rem,6vw,5.7rem)/.95 'Archivo Black';text-transform:uppercase;letter-spacing:-.06em}
/* Archive and filters */
.paper-page{min-height:80vh;padding:80px clamp(20px,5vw,72px) 110px}.page-title{max-width:1400px;margin:auto}.page-title>span{display:block;max-width:700px;font-size:12px;line-height:1.6}.filters{max-width:1400px;margin:35px auto 0;padding-top:20px;border-top:2px solid;display:flex;flex-wrap:wrap;gap:10px}.filters button{background:transparent;border:1px solid #111;padding:8px 13px;font:10px 'DM Mono';cursor:pointer}.filters button.active,.filters button:hover{background:#111;color:white}.review-archive{row-gap:55px}
/* Review article */
.article-page{padding:75px clamp(20px,5vw,72px) 110px}.article-page article{max-width:1160px;margin:auto}.article-head>p{color:var(--bright);font-size:10px}.article-head h1{font:clamp(4rem,10vw,8rem)/.85 'Archivo Black';letter-spacing:-.07em;text-transform:uppercase;margin:18px 0}.review-info{display:flex;flex-wrap:wrap;gap:12px 28px;border-block:2px solid;padding:14px 0;font-size:9px}.article-layout{max-width:980px;margin:0 auto 70px;display:grid;grid-template-columns:210px minmax(0,1fr);gap:clamp(35px,7vw,85px)}.article-layout aside{border-top:7px solid var(--bright);padding-top:15px;font-size:10px;line-height:1.6}.article-layout aside a{display:inline-block;margin-top:16px;color:var(--bright);font-weight:700}.story{font:1rem/1.9 Georgia,serif;min-width:0}.story .lead:first-letter{font:4.5rem/.8 'Archivo Black';float:left;color:var(--bright);margin:7px 10px 0 0}.story h2{font:clamp(1.8rem,4vw,2.6rem)/1 'Archivo Black';margin:45px 0 18px}.pullquote{margin:40px 0;padding:28px 0;border-block:2px solid;font:italic 800 clamp(1.5rem,3vw,2.4rem)/1.3 'Playfair Display';color:var(--bright)}.review-gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:60px 0 75px}.score{padding:18px 0;border-block:4px solid;font:11px 'DM Mono'}.score strong{float:right;font:2rem 'Archivo Black';color:var(--bright)}.final{margin-bottom:0}
/* Watched */
.watched-page{min-height:80vh;padding:80px clamp(20px,5vw,72px) 110px}.dark-title{border-bottom:5px solid;padding-bottom:30px}.tape-stack{max-width:880px;margin:50px auto;background:#080808;border:10px solid #292929;padding:17px 20px;box-shadow:0 18px 40px #000}.vhs{height:66px;margin:4px 0;padding:7px 18px;display:grid;grid-template-columns:95px minmax(0,1fr) 110px;align-items:center;background:#191919;border:3px solid #050505;box-shadow:inset 0 0 0 2px #333}.vhs span,.vhs i{font-size:8px;color:#aaa}.vhs i{text-align:right}.vhs strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#eee7d8;color:#111;padding:10px 18px;font-size:13px;border-left:12px solid}.vhs.red strong{border-color:var(--bright)}.vhs.blue strong{border-color:#2f68e9}.vhs.yellow strong{border-color:#e6d320}.vhs.pink strong{border-color:var(--pink)}.edit-note{text-align:center;color:#777;font-size:8px}
/* About / coming */
.about-page section{max-width:1000px;margin:55px auto 0;display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:center}.about-image{border:8px solid #111;box-shadow:14px 14px 0 var(--bright)}.about-page h2{font:clamp(2.2rem,5vw,4rem) 'Archivo Black';margin:0 0 20px}.about-page section p{line-height:1.8;font-size:13px}.coming-page{min-height:calc(100svh - 88px);display:grid;place-items:center;padding:45px 20px;background:var(--wine);text-align:center}.coming-page>div{max-width:720px}.coming-page img{width:min(420px,80vw);aspect-ratio:1;object-fit:cover;margin:auto;border:5px solid white}.coming-page h1{font:clamp(2rem,6vw,4rem)/1 'Archivo Black'}.coming-page p{line-height:1.7;font-size:12px}.coming-page .btn{margin-top:15px}footer{padding:42px clamp(20px,5vw,72px);display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #37322f;font-size:9px}
@media(max-width:800px){.site-header{align-items:center;flex-wrap:wrap}.menu-button{display:block}nav{display:none;width:100%;padding:14px 0 4px;flex-direction:column;align-items:flex-start}nav.open{display:flex}.entrance{grid-template-columns:1fr}.entrance-art{position:absolute;inset:0;min-height:100svh;opacity:.2}.entrance-copy{position:relative;min-height:100svh;background:rgba(0,0,0,.35)}.hero{grid-template-columns:1fr;padding-top:45px}.hero-media{width:min(440px,90%);margin:auto}.card-grid{grid-template-columns:1fr 1fr}.article-layout{grid-template-columns:1fr}.article-layout aside{display:grid;grid-template-columns:repeat(2,1fr)}.feature-frame{aspect-ratio:4/3}.review-gallery{grid-template-columns:1fr}.about-page section{grid-template-columns:1fr}.about-image{max-width:400px}.vhs{grid-template-columns:55px minmax(0,1fr)}.vhs i{display:none}footer{flex-direction:column;text-align:center}}
@media(max-width:540px){.card-grid{grid-template-columns:1fr}.section-heading>a{display:none}.paper-section,.paper-page,.article-page,.watched-page{padding-left:16px;padding-right:16px}.review-info{flex-direction:column}.article-layout aside{grid-template-columns:1fr 1fr}.vhs strong{font-size:10px;padding-inline:8px}.entrance-copy{padding:25px}.score strong{float:none;display:block;margin-top:8px}footer .logo{font-size:1.2rem}}
