@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-vietnamese-wdth-normal.rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-ext-wdth-normal.7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-wdth-normal.DY7AcnAa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-normal.BjhtXyW2.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-normal.BQn1nviT.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-normal.s-izfB6B.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-italic.DTr-ymY4.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-italic.CSPGnFdO.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-italic.kJKFiXvB.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bolt-pink:#de0f85;--sane-blue:#43b5e5;--beard-red:#ba161a;--font-display:"Archivo Variable", "Archivo", "Arial Narrow", sans-serif;--font-ui:"Archivo Variable", "Archivo", system-ui, sans-serif;--font-prose:"Newsreader Variable", "Newsreader", Georgia, serif;--step--1:clamp(.8rem, .78rem + .1vw, .875rem);--step-0:clamp(1rem, .96rem + .2vw, 1.0625rem);--step-1:clamp(1.2rem, 1.1rem + .45vw, 1.4rem);--step-2:clamp(1.45rem, 1.25rem + .9vw, 1.95rem);--step-3:clamp(1.9rem, 1.5rem + 1.9vw, 3rem);--step-4:clamp(2.5rem, 1.7rem + 3.8vw, 5rem);--gutter:16px;--radius-s:6px;--radius:14px;--measure:66ch;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-expo:cubic-bezier(.16, 1, .3, 1);--spring:cubic-bezier(.34, 1.36, .64, 1);--dur-fast:.16s;--dur:.28s;--dur-slow:.56s;--bg:#0c0a0f;--bg-raised:#16131b;--bg-sunken:#08070a;--line:#2a2530;--text:#f7f3ec;--text-muted:#b1aab8;--accent:#ff4fa8;--accent-2:#5ec4ef;--on-accent:#0c0a0f;--shadow-a:var(--bolt-pink);--shadow-b:var(--sane-blue);--skeleton:#1d1923;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f7f3ec;--bg-raised:#fff;--bg-sunken:#efe9df;--line:#e2dacd;--text:#141116;--text-muted:#5d5663;--accent:#c4086f;--accent-2:#0b6e9c;--on-accent:#fff;--skeleton:#e9e2d6;color-scheme:light}}:root[data-theme=light]{--bg:#f7f3ec;--bg-raised:#fff;--bg-sunken:#efe9df;--line:#e2dacd;--text:#141116;--text-muted:#5d5663;--accent:#c4086f;--accent-2:#0b6e9c;--on-accent:#fff;--skeleton:#e9e2d6;color-scheme:light}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;scrollbar-gutter:stable;interpolate-size:allow-keywords}body{font:400 var(--step-0) / 1.6 var(--font-ui);background:var(--bg);min-height:100dvh;transition:background-color var(--dur) var(--ease-out), color var(--dur) var(--ease-out);flex-direction:column;margin:0;display:flex;overflow-x:clip}main{flex:1}img{max-width:100%;height:auto;display:block}a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}::selection{background:var(--bolt-pink);color:#fff}:focus-visible{outline:3px solid var(--accent-2);outline-offset:3px;border-radius:4px}h1,h2,h3,.display{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.005em;text-wrap:balance;margin:0;font-weight:800;font-stretch:72%;line-height:.95}h1{font-size:var(--step-4)}h2{font-size:var(--step-3)}h3{font-size:var(--step-1);line-height:1.05}.wrap{width:min(1200px, 100% - 2 * var(--gutter));margin-inline:auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip{left:var(--gutter);z-index:50;background:var(--accent);color:var(--on-accent);border-radius:var(--radius-s);padding:.6rem 1rem;font-weight:700;text-decoration:none;position:absolute;top:-100px}.skip:focus{top:var(--gutter)}.kicker{font:700 var(--step--1) / 1 var(--font-ui);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);align-items:center;gap:.45em;display:inline-flex}.kicker .tag-gig{color:var(--accent)}.kicker .tag-festival{color:var(--accent-2)}.kicker svg{width:.8em;height:auto}.site-header{z-index:20;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid var(--line);view-transition-name:site-header;position:sticky;top:0}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;padding-block:.65rem;display:flex}.brand{color:var(--text);align-items:center;gap:.65rem;text-decoration:none;display:flex}.brand img{width:34px;height:auto;transition:transform var(--dur) var(--spring)}@media (hover:hover) and (pointer:fine){.brand:hover img{transform:rotate(-8deg)scale(1.08)}}.brand-word{font:850 1.35rem / .9 var(--font-display);text-transform:uppercase;letter-spacing:.01em;font-stretch:68%}.brand-word span{color:var(--accent)}.nav{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.nav a{color:var(--text);font:650 .9rem / 1 var(--font-ui);text-transform:uppercase;letter-spacing:.06em;transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .8rem;text-decoration:none;display:inline-flex;position:relative}@media (hover:hover) and (pointer:fine){.nav a:hover{background:var(--bg-raised)}}.nav a[aria-current=page]{color:var(--on-accent)}.nav .pill{z-index:-1;background:var(--accent);view-transition-name:nav-pill;border-radius:999px;position:absolute;inset:0}.nav a[aria-current=page]{isolation:isolate}.nav svg{width:1.05em;height:1.05em}.theme-toggle{border:1px solid var(--line);width:2.25rem;height:2.25rem;color:var(--text);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;border-radius:999px;place-items:center;display:inline-grid}@media (hover:hover) and (pointer:fine){.theme-toggle:hover{background:var(--bg-raised)}}.theme-toggle:active{transform:scale(.92)}.theme-toggle svg{width:1.1rem;height:1.1rem;transition:opacity var(--dur) var(--ease-out), transform var(--dur) var(--spring), filter var(--dur) var(--ease-out);grid-area:1/1}.theme-toggle .sun{opacity:0;filter:blur(4px);transform:scale(.4)rotate(-90deg)}:root[data-theme=light] .theme-toggle .sun{opacity:1;filter:none;transform:none}:root[data-theme=light] .theme-toggle .moon{opacity:0;filter:blur(4px);transform:scale(.4)rotate(90deg)}.site-footer{border-top:1px solid var(--line);background:var(--bg-sunken);color:var(--text-muted);font-size:var(--step--1);margin-top:6rem}.footer-inner{grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;padding-block:2.5rem;display:grid}.footer-inner img{width:44px;height:auto}.footer-inner p{margin:0}.footer-inner strong{color:var(--text);font:800 1.1rem var(--font-display);text-transform:uppercase;font-stretch:70%}.social{gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.social a{border:1px solid var(--line);width:2.5rem;height:2.5rem;color:var(--text);transition:transform var(--dur) var(--spring), border-color var(--dur-fast), color var(--dur-fast);border-radius:999px;place-items:center;display:inline-grid}@media (hover:hover) and (pointer:fine){.social a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-3px)}}.social svg{width:1.1rem;height:1.1rem}@media (width<=640px){.footer-inner{grid-template-columns:1fr;justify-items:start}}.btn{font:700 .95rem / 1 var(--font-ui);text-transform:uppercase;letter-spacing:.06em;border:2px solid var(--accent);transition:transform var(--dur) var(--spring), box-shadow var(--dur) var(--ease-out), background-color var(--dur-fast);border-radius:999px;align-items:center;gap:.5rem;padding:.8rem 1.25rem;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-ghost{color:var(--text);border-color:var(--line)}@media (hover:hover) and (pointer:fine){.btn:hover{box-shadow:4px 4px 0 var(--shadow-b);transform:translateY(-2px)}}.btn:active{box-shadow:none;transform:translateY(0)}.more{font:700 var(--step--1) / 1 var(--font-ui);text-transform:uppercase;letter-spacing:.1em;color:var(--text);align-items:center;gap:.4rem;text-decoration:none;display:inline-flex}.more .arrow{color:var(--accent);transition:transform var(--dur) var(--spring);display:inline-block}@media (hover:hover) and (pointer:fine){.more:hover .arrow{transform:translate(5px)}}.section{margin-top:clamp(3rem,6vw,5.5rem)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.5rem;padding-bottom:.9rem;display:flex;position:relative}.section-head:after{content:"";background:var(--text);transform-origin:0;height:2px;position:absolute;inset:auto 0 0}.section-head h2{align-items:center;gap:.6rem;display:flex}.section-head h2 svg{flex:none;width:.55em}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:clamp(1rem,2.5vw,2rem);margin:0;padding:0;list-style:none;display:grid}.card{background:var(--bg-raised);border-radius:var(--radius);border:1px solid var(--line);transition:transform var(--dur) var(--spring), box-shadow var(--dur) var(--ease-out), border-color var(--dur-fast);flex-direction:column;display:flex;position:relative}@media (hover:hover) and (pointer:fine){.card:hover{border-color:var(--text);box-shadow:4px 4px 0 var(--shadow-a), 8px 8px 0 var(--shadow-b);transform:translate(-3px,-3px)}}.card:has(:focus-visible){border-color:var(--text);box-shadow:4px 4px 0 var(--shadow-a), 8px 8px 0 var(--shadow-b);transform:translate(-3px,-3px)}.cover{aspect-ratio:3/2;border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0;background:var(--skeleton);position:relative;overflow:hidden}.cover img{object-fit:cover;width:100%;height:100%;transition:transform var(--dur-slow) var(--ease-out)}.cover .no-photo{color:var(--line);place-items:center;display:grid;position:absolute;inset:0}.cover .no-photo svg{width:22%}.card-body{flex-direction:column;flex:1;gap:.55rem;padding:1.1rem 1.2rem 1.3rem;display:flex}.card h3{font-size:var(--step-1)}.card h3 a{color:var(--text);text-decoration:none}.card h3 a:after{content:"";border-radius:var(--radius);position:absolute;inset:0}.card .meta{margin-top:auto}.meta{color:var(--text-muted);font-size:var(--step--1);margin:0}.meta .dot{opacity:.6;margin-inline:.4em}.card.lead{grid-template-columns:1fr;display:grid}.card.lead .cover{aspect-ratio:16/10}.card.lead h3{font-size:var(--step-3)}.card.lead .standfirst{font:400 var(--step-1) / 1.5 var(--font-prose);color:var(--text-muted);margin:0}@media (width>=860px){.card.lead{grid-template-columns:1.35fr 1fr}.card.lead .cover{aspect-ratio:auto;border-radius:calc(var(--radius) - 1px) 0 0 calc(var(--radius) - 1px);min-height:100%}.card.lead .card-body{justify-content:center;gap:1rem;padding:clamp(1.5rem,3vw,2.5rem)}}.pubs{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:clamp(1rem,2.5vw,2rem);margin:0;padding:0;list-style:none;display:grid}.pub{border-radius:var(--radius);background:var(--bg-raised);border:1px solid var(--line);border-top:6px solid var(--shadow-a);transition:transform var(--dur) var(--spring), box-shadow var(--dur) var(--ease-out), border-color var(--dur-fast);flex-direction:column;gap:.6rem;padding:1.3rem 1.3rem 1.2rem;display:flex}.pub:nth-child(2n){border-top-color:var(--shadow-b)}@media (hover:hover) and (pointer:fine){.pub:hover{border-inline-color:var(--text);border-bottom-color:var(--text);box-shadow:4px 4px 0 var(--shadow-a), 8px 8px 0 var(--shadow-b);transform:translate(-3px,-3px)}}.pub:has(:focus-visible){border-inline-color:var(--text);border-bottom-color:var(--text);box-shadow:4px 4px 0 var(--shadow-a), 8px 8px 0 var(--shadow-b);transform:translate(-3px,-3px)}.pub h3{font-size:var(--step-3);line-height:.95}.pub h3 a{color:var(--text);text-decoration:none}.pub h3 a:hover{color:var(--accent)}.pub-count{color:var(--text-muted);font-size:var(--step--1);font-variant-numeric:tabular-nums}.pub-count strong{color:var(--text)}.pub-latest{color:var(--text-muted);font-size:var(--step--1);margin:0}.pub-latest a{color:var(--text)}.pub-site{text-transform:none;letter-spacing:.02em;margin-top:auto;padding-top:.4rem}.outlet-links{flex-wrap:wrap;gap:.75rem 1.75rem;display:flex}.chips{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.chips a{background:var(--bg-raised);border:1px solid var(--line);color:var(--text);font:600 .82rem / 1.2 var(--font-ui);text-transform:uppercase;letter-spacing:.05em;transition:border-color var(--dur-fast), color var(--dur-fast), transform var(--dur) var(--spring);border-radius:999px;align-items:baseline;gap:.45rem;padding:.45rem .85rem;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.chips a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}}.chips small{color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:700}.disclosure{border-bottom:1px solid var(--line)}.disclosure summary{cursor:pointer;font:800 var(--step-1) / 1 var(--font-display);text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;padding-block:1rem;font-stretch:72%;list-style:none;display:flex}.disclosure summary::-webkit-details-marker{display:none}.disclosure summary .count{vertical-align:.2em;background:var(--bg-raised);color:var(--text-muted);font:700 .75rem / 1.4 var(--font-ui);border-radius:999px;margin-left:.4rem;padding:.1rem .5rem;font-stretch:100%}@media (hover:hover) and (pointer:fine){.disclosure summary:hover{color:var(--accent)}}.disclosure summary .chev{width:1.1rem;transition:transform var(--dur) var(--spring)}.disclosure[open] summary .chev{transform:rotate(180deg)}.disclosure::details-content{block-size:0;transition:block-size var(--dur) var(--ease-out), content-visibility var(--dur) allow-discrete;overflow:clip}.disclosure[open]::details-content{block-size:auto}.disclosure .chips{padding-bottom:1.25rem}.page-head{padding-block:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,3vw,2.5rem)}.page-head h1{margin-block:.6rem 1rem}.intro{font:400 var(--step-1) / 1.5 var(--font-prose);color:var(--text-muted);max-width:58ch;margin:0}.year-group{margin-top:3rem}.year-label{z-index:5;border-radius:var(--radius-s);background:var(--text);color:var(--bg);font:850 var(--step-2) / 1 var(--font-display);margin-bottom:1.25rem;padding:.25rem .8rem;font-stretch:70%;display:inline-block;position:sticky;top:4.1rem}.hero{align-items:center;gap:2rem;padding-block:clamp(2.5rem,7vw,6rem) clamp(1rem,3vw,2rem);display:grid;position:relative}@media (width>=860px){.hero{grid-template-columns:1.3fr 1fr}}.hero h1{margin-block:1rem 1.5rem;font-size:clamp(3rem,1.8rem + 6vw,7.5rem);line-height:.88}.hero h1 .line{display:block}.hero h1 .hot{color:var(--accent)}.hero .intro{margin-bottom:2rem}.hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.hero-art{place-items:center;min-height:320px;display:grid;position:relative}@media (width<=859px){.hero-art{margin-top:2rem}}.hero-art .bolt{width:auto;height:118%;color:var(--bolt-pink);filter:drop-shadow(12px 0 0 var(--sane-blue)) drop-shadow(0 0 0 transparent);transition:transform var(--dur-slow) var(--spring);position:absolute;right:6%}.hero-art .tilt{position:relative}.hero-art .sticker{filter:drop-shadow(0 18px 30px #00000059);width:min(300px,62vw);transition:transform var(--dur-slow) var(--spring);transform:rotate(-6deg)}@media (hover:hover) and (pointer:fine){.hero-art:hover .sticker{transform:rotate(3deg)scale(1.04)}.hero-art:hover .bolt{transform:translate(-10px)skew(-4deg)}}.hero-art:has(.tilt.is-hover) .sticker{transform:rotate(3deg)scale(1.04)}.hero-art:has(.tilt.is-hover) .bolt{transform:translate(-10px)skew(-4deg)}.stats{flex-wrap:wrap;gap:.5rem 2.25rem;margin:2.5rem 0 0;padding:0;list-style:none;display:flex}.stats li{flex-direction:column;display:flex}.stats strong{font:850 var(--step-3) / 1 var(--font-display);font-variant-numeric:tabular-nums;font-stretch:70%}.reel{display:inline-flex}.reel-col{--cell:1.2em;height:var(--cell);margin-block:-.1em;overflow:hidden;mask-image:linear-gradient(#0000,#000 12% 88%,#0000)}.reel-strip{white-space:pre-line;line-height:var(--cell);text-align:center;transform:translateY(calc((10 + var(--d)) * -1 * var(--cell)));display:block}.stats li>span{font-size:var(--step--1);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.progress{z-index:30;background:linear-gradient(90deg, var(--bolt-pink), var(--sane-blue));transform-origin:0;view-transition-name:none;height:3px;position:fixed;inset:0 0 auto;transform:scaleX(0)}.review-head{max-width:980px;margin-inline:auto;padding-block:clamp(2rem,5vw,3.5rem) 1.5rem}.review-head h1{margin-block:.8rem 1.5rem;font-size:clamp(2.2rem,1.4rem + 4vw,4.6rem)}.facts{border-block:1px solid var(--line);flex-wrap:wrap;gap:.6rem 2rem;margin:0;padding-block:1rem;display:flex}.facts div{flex-direction:column;gap:.15rem;display:flex}.facts dt{font:700 .72rem / 1 var(--font-ui);text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted)}.facts dd{margin:0;font-weight:600}.facts a{color:var(--text);text-decoration-color:var(--accent)}.review-hero{max-width:1100px;margin:0 auto 2.5rem}.review-hero img{object-fit:cover;border-radius:var(--radius);background:var(--skeleton);width:100%;max-height:78vh}.review-hero figcaption,.prose figcaption{font-size:var(--step--1);color:var(--text-muted);margin-top:.6rem}.prose{max-width:var(--measure);font:400 clamp(1.1rem, 1.02rem + .35vw, 1.25rem) / 1.72 var(--font-prose);font-optical-sizing:auto;margin-inline:auto}.prose p{margin:0 0 1.25em}.prose>p:first-of-type{font-size:1.18em;line-height:1.55}.prose>p:first-of-type:first-letter{float:left;font:900 3.6em / .78 var(--font-display);color:var(--accent);margin:.06em .1em 0 0;font-stretch:70%}.prose figure{margin:2.25em -2rem}.prose figure img{border-radius:var(--radius);background:var(--skeleton);width:100%}@media (width<=720px){.prose figure{margin-inline:0}}.review-gallery{max-width:1100px;margin:3rem auto 0}.review-gallery h2{margin-bottom:1rem}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:1rem;display:grid}.gallery-grid figure{margin:0}.gallery-grid img{border-radius:var(--radius);background:var(--skeleton);width:100%;height:auto}.gallery-grid figcaption{font-size:var(--step--1);color:var(--text-muted);margin-top:.4rem}.attribution{max-width:var(--measure);border-radius:var(--radius);border:1px dashed var(--line);background:var(--bg-raised);font-size:var(--step--1);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:3rem auto 0;padding:1.1rem 1.3rem;display:flex}.attribution strong{color:var(--text)}.pager{grid-template-columns:1fr 1fr;gap:1rem;max-width:980px;margin:4rem auto 0;display:grid}.pager a{border-radius:var(--radius);border:1px solid var(--line);color:var(--text);transition:border-color var(--dur-fast), transform var(--dur) var(--spring);flex-direction:column;gap:.4rem;padding:1.2rem 1.3rem;text-decoration:none;display:flex}@media (hover:hover) and (pointer:fine){.pager a:hover{border-color:var(--accent);transform:translateY(-3px)}}.pager .next{text-align:right;grid-column:2}.pager span.kicker{justify-content:inherit}.pager strong{font:800 var(--step-1) / 1.05 var(--font-display);text-transform:uppercase;font-stretch:72%}@media (width<=640px){.pager{grid-template-columns:1fr}.pager .next{grid-column:1}}.shots{columns:4 150px;column-gap:clamp(.6rem,1.5vw,1rem);margin:0;padding:0;list-style:none}.shots li{break-inside:avoid;margin-bottom:clamp(.8rem,2vw,1.25rem)}.shot{margin:0}.shot-img{border-radius:var(--radius-s);background:var(--skeleton);transition:transform var(--dur) var(--spring), box-shadow var(--dur) var(--ease-out);display:block;overflow:hidden}.shot-img img{width:100%}@media (hover:hover) and (pointer:fine){.shot-img:hover{box-shadow:3px 3px 0 var(--shadow-a), 6px 6px 0 var(--shadow-b);transform:translate(-2px,-2px)}}.shot-img:focus-visible{box-shadow:3px 3px 0 var(--shadow-a), 6px 6px 0 var(--shadow-b)}.shot figcaption,.lightbox figcaption{color:var(--text-muted);flex-direction:column;gap:.15rem;margin-top:.45rem;font-size:.78rem;line-height:1.35;display:flex}.shot-caption{color:var(--text)}.credit a{color:var(--text);text-decoration-color:var(--accent)}.credit .dot{opacity:.6;margin-inline:.35em}.gig-set{margin-top:clamp(2.5rem,5vw,4rem)}.gig-set-head{border-bottom:2px solid var(--text);margin-bottom:1.1rem;padding-bottom:.8rem}.gig-set-head h2{font-size:var(--step-2)}.gig-set-head h2 a{color:var(--text);text-decoration:none}@media (hover:hover) and (pointer:fine){.gig-set-head h2 a:hover{color:var(--accent)}}.gig-set-head .meta{margin-top:.5rem}.gig-set-head .meta a,.page-head .kicker a{color:inherit}.page-links{margin:1.25rem 0 0}.gig-head{max-width:none;margin:0}.gig-actions{flex-wrap:wrap;gap:.75rem;margin:1.5rem 0 0;display:flex}.gig-photos-link{max-width:var(--measure);margin:2.5rem auto 0}.lightbox{color:#f7f3ec;background:#08070af0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0}.lightbox::backdrop{background:#0009}.lightbox[open]{animation:lb-in var(--dur) var(--ease-out);place-items:center;display:grid}@keyframes lb-in{0%{opacity:0}}.lightbox figure{justify-items:center;gap:.25rem;max-width:100%;margin:0;padding:3.5rem 4.5rem 1.25rem;display:grid}.lightbox img{object-fit:contain;border-radius:var(--radius-s);background:#16131b;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 9rem)}.lightbox figcaption{color:#b1aab8;text-align:center;font-size:var(--step--1)}.lightbox figcaption a,.lightbox .shot-caption{color:#f7f3ec}.lb-count{font:700 var(--step--1) / 1 var(--font-ui);letter-spacing:.1em;color:#b1aab8;margin:0;position:absolute;top:1rem;left:1.25rem}.lb-btn{color:#f7f3ec;width:2.75rem;height:2.75rem;font:400 1.6rem / 1 var(--font-ui);cursor:pointer;transition:border-color var(--dur-fast), transform var(--dur-fast) var(--ease-out);background:#16131bcc;border:1px solid #2a2530;border-radius:999px;place-items:center;display:grid;position:absolute}@media (hover:hover) and (pointer:fine){.lb-btn:hover{border-color:var(--bolt-pink)}}.lb-btn:active{transform:scale(.92)}.lb-btn svg{width:1.2rem;height:1.2rem}.lb-close{top:.6rem;right:.75rem}.lb-prev,.lb-next{margin-top:-1.375rem;top:50%}.lb-prev{left:.75rem}.lb-next{right:.75rem}@media (width<=720px){.lightbox figure{padding:3.5rem .5rem 4.5rem}.lb-prev,.lb-next{margin-top:0;top:auto;bottom:1rem}.lb-prev{left:calc(50% - 3.5rem)}.lb-next{right:calc(50% - 3.5rem)}}.search-box{--pagefind-ui-scale:1;--pagefind-ui-primary:var(--accent);--pagefind-ui-text:var(--text);--pagefind-ui-background:var(--bg-raised);--pagefind-ui-border:var(--line);--pagefind-ui-tag:var(--bg-sunken);--pagefind-ui-border-width:1px;--pagefind-ui-border-radius:14px;--pagefind-ui-font:var(--font-ui);max-width:820px}.search-box .pagefind-ui__result-title{font-family:var(--font-display);text-transform:uppercase;font-stretch:72%}.about{align-items:start;gap:3rem;padding-top:clamp(2.5rem,6vw,4.5rem);display:grid}@media (width>=860px){.about{grid-template-columns:1fr 2fr}}.about .sticker{width:min(260px,60vw);margin-inline:auto;transform:rotate(-5deg)}.sticker{position:relative}.sticker img{width:100%;height:auto}.about .prose{margin:0}.about .prose>p:first-of-type:first-letter{all:unset}@view-transition{navigation:auto}::view-transition-old(root){animation:vt-out .2s var(--ease-out) both}::view-transition-new(root){animation:vt-in .38s var(--ease-expo) both}::view-transition-group(nav-pill){animation-duration:.42s;animation-timing-function:var(--spring)}::view-transition-group(*.review-image){animation-duration:.48s;animation-timing-function:var(--ease-expo)}::view-transition-image-pair(*.review-image){isolation:auto}@keyframes vt-out{to{opacity:0;filter:blur(4px);transform:translate(-24px)}}@keyframes vt-in{0%{opacity:0;filter:blur(4px);transform:translate(32px)}}.rise>*{animation:rise .8s var(--ease-expo) both;animation-delay:calc(var(--i,0) * 90ms + 60ms)}@keyframes rise{0%{opacity:0;filter:blur(8px);transform:translateY(.45em)}}.js img.reveal{opacity:0;filter:blur(14px);transform:scale(1.04)}.js img.reveal.is-loaded{opacity:1;filter:none;transition:opacity var(--dur-slow) var(--ease-out), filter var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);transform:none}@media (hover:hover) and (pointer:fine){.card:hover .cover img,.card:hover .cover img.reveal.is-loaded{transform:scale(1.045)}}.cover:has(img.reveal:not(.is-loaded)),.review-hero:has(img.reveal:not(.is-loaded)),.shot-img:has(img.reveal:not(.is-loaded)){background:linear-gradient(100deg, var(--skeleton) 30%, color-mix(in srgb, var(--skeleton) 60%, var(--text) 8%) 50%, var(--skeleton) 70%) 0 0 / 300% 100%;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-150% 0}}.reel-strip{animation:reel-spin 1.4s var(--ease-expo) var(--delay,0s) both}@keyframes reel-spin{0%{filter:blur(.6px);transform:translateY(0)}60%{filter:none}}.shimmer{--glint:#fff;position:relative}:root[data-theme=light] .shimmer{--glint:var(--sane-blue)}.shimmer:before{content:attr(data-text);pointer-events:none;background:linear-gradient(100deg, transparent 42%, var(--glint) 50%, transparent 58%) 100% 0 / 400% 100% no-repeat;color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:6s linear 1.2s infinite glint;position:absolute;inset:0}@keyframes glint{0%{background-position:100% 0}30%,to{background-position:0 0}}.hero-art .bolt{animation:1.3s linear .2s both strike}@keyframes strike{0%,8%{opacity:0}10%{opacity:1;filter:drop-shadow(12px 0 0 var(--sane-blue)) drop-shadow(0 0 48px var(--bolt-pink))}14%{opacity:.1}20%{opacity:1}25%{opacity:.35}32%{opacity:1;filter:drop-shadow(12px 0 0 var(--sane-blue)) drop-shadow(0 0 32px var(--bolt-pink))}to{opacity:1;filter:drop-shadow(12px 0 0 var(--sane-blue)) drop-shadow(0 0 0 transparent)}}.tilt-card{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform 1s var(--ease-out)}.tilt.is-tilting .tilt-card{transition-duration:.4s}.sticker .glare{pointer-events:none;opacity:0;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%), #ffffffbf, transparent 40%), linear-gradient(115deg, transparent 15%, var(--bolt-pink) 35%, var(--sane-blue) 48%, #fff 54%, var(--bolt-pink) 66%, transparent 85%) var(--gx,50%) 0 / 300% 100% no-repeat;mix-blend-mode:color-dodge;mask:var(--sticker-mask) 0 0 / 100% 100% no-repeat;-webkit-mask:var(--sticker-mask) 0 0 / 100% 100% no-repeat;transition:opacity var(--dur) var(--ease-out);position:absolute;inset:0}.tilt.is-hover .glare{opacity:.6}@supports (animation-timeline:view()){.grid>.card,.pubs>.pub{animation-name:card-in;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry entry 35%}@keyframes card-in{0%{opacity:0;transform:translateY(40px)scale(.98)}}.progress{animation-name:progress;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root)}.section-head{view-timeline:--head}.section-head:after{animation-name:draw;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--head;animation-range:entry 20% cover 35%}@keyframes draw{0%{transform:scaleX(0)}}.chips li{animation-name:chip-in;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry entry 80%}@keyframes chip-in{0%{opacity:0;transform:translateY(14px)scale(.9)}}@keyframes progress{to{transform:scaleX(1)}}}.io :is(.grid>.card,.pubs>.pub,.chips li){transition:opacity .6s var(--ease-out), transform .6s var(--ease-expo)}.io :is(.grid>.card,.pubs>.pub):not(.in-view){opacity:0;transform:translateY(40px)scale(.98)}.io .chips li:not(.in-view){opacity:0;transform:translateY(14px)scale(.9)}.io .chips li{transition-delay:calc(var(--n,0) * 30ms)}.io .section-head:after{transition:transform .7s var(--ease-expo)}.io .section-head:not(.in-view):after{transform:scaleX(0)}.io .progress{transform:scaleX(var(--p,0))}@media (hover:none),(pointer:coarse){a,button,summary{-webkit-tap-highlight-color:transparent}.card:active,.pub:active{border-color:var(--text);transform:scale(.975)}.card:active{box-shadow:3px 3px 0 var(--shadow-a), 6px 6px 0 var(--shadow-b)}.btn:active{box-shadow:3px 3px 0 var(--shadow-b);transform:scale(.95)}.chips a:active{border-color:var(--accent);color:var(--accent);transform:scale(.93)}.pager a:active{border-color:var(--accent);transform:scale(.97)}.social a:active{border-color:var(--accent);color:var(--accent);transform:scale(.9)}.nav a:active{transform:scale(.94)}.brand:active img{transform:rotate(-8deg)scale(1.08)}.more:active .arrow{transform:translate(5px)}.disclosure summary:active{color:var(--accent)}.hero-art .tilt{animation:7s ease-in-out 1.6s infinite sway}.hero-art .tilt.is-hover{animation-play-state:paused}}@keyframes sway{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-8px)rotate(2deg)}}@media (width<=720px){::view-transition-old(root){animation-name:vt-out-m;animation-duration:.18s}::view-transition-new(root){animation-name:vt-in-m;animation-duration:.32s}::view-transition-group(*.review-image){animation-duration:.42s}@keyframes vt-out-m{to{opacity:0;transform:translate(-12px)}}@keyframes vt-in-m{0%{opacity:0;transform:translate(20px)}}.rise>*{animation-name:rise-m;animation-duration:.65s}@keyframes rise-m{0%{opacity:0;filter:blur(4px);transform:translateY(.35em)}}.js img.reveal{filter:blur(8px);transform:scale(1.02)}@keyframes card-in-m{0%{opacity:0;transform:translateY(24px)}}.io :is(.grid>.card,.pubs>.pub):not(.in-view){transform:translateY(24px)}}@supports (animation-timeline:view()){@media (width<=720px){.grid>.card,.pubs>.pub{animation-name:card-in-m;animation-range:entry entry 25%}}}@media (prefers-reduced-motion:reduce){*,:before,:after,::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){transition-duration:.01ms!important;animation:none!important}.js img.reveal{opacity:1;filter:none;transform:none}.io :is(.grid>.card,.pubs>.pub,.chips li):not(.in-view){opacity:1;transform:none}.io .section-head:not(.in-view):after{transform:none}}@media (width<=720px){.header-inner{gap:.35rem;padding-block:.5rem .4rem}.brand img{width:28px}.brand-word{font-size:1.15rem}.nav{width:calc(100% + 2 * var(--gutter));margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto;mask-image:linear-gradient(90deg,#000 88%,#0000)}.nav::-webkit-scrollbar{display:none}.nav a{white-space:nowrap;flex:none;padding:.45rem .7rem;font-size:.8rem}.theme-toggle{flex:none;width:2rem;height:2rem}.year-label{top:5.6rem}.stats{grid-template-columns:repeat(3,auto);justify-content:start;gap:1.25rem;display:grid}.stats strong{font-size:var(--step-2)}.stats li>span{font-size:.68rem}.hero-art{min-height:260px}}
