/* ==========================================================================
   Memoryseeker — Xerox rave-flyer theme
   Tokens: ink / paper / toner + acid (screen accent) + stamp pink (stamp only)
   Fonts are self-hosted (no Google CDN) so pages never stall in China.
   ========================================================================== */
@font-face{font-family:"Archivo";src:url("../../fonts/archivo-latin-standard-normal.woff2") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"Space Mono";src:url("../../fonts/space-mono-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Space Mono";src:url("../../fonts/space-mono-latin-700-normal.woff2") format("woff2");font-weight:700;font-display:swap}

:root{
  color-scheme:dark;
  --ink:#0A0A0A;--ink-2:#161615;--paper:#F2F0EA;--paper-2:#DCD9D0;--toner:#8C8A84;--rule:#2A2A28;
  --acid:#D4FF3A;--stamp:#FF3D9A;
  --display:"Archivo","Arial Black",Impact,sans-serif;
  --body:"Archivo","Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;
  --mono:"Space Mono","Courier New",monospace;
  --gut:clamp(16px,4vw,48px);--max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.ms{margin:0;background:var(--ink);color:var(--paper);font-family:var(--body);font-size:16px;line-height:1.55;font-variation-settings:"wdth" 100;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--acid);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.muted{color:var(--toner)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.ms-skip{position:absolute;left:-9999px;top:0;background:var(--acid);color:var(--ink);padding:10px 14px;z-index:100}
.ms-skip:focus{left:8px}

/* photocopy grain over everything (inline SVG, no request) */
body.ms::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.12;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 1  0 0 0 0 1  0 0 0 1.4 -.35'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}

/* ---------- header ---------- */
.ms-top{position:sticky;top:0;z-index:40;background:var(--ink);border-bottom:1px solid var(--rule)}
.admin-bar .ms-top{top:32px}
@media (max-width:782px){.admin-bar .ms-top{top:46px}}
@media (max-width:600px){.admin-bar .ms-top{top:0}}
.ms-top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.ms-mark{display:block;line-height:0}
.ms-mark img{height:18px;width:auto}
.ms-nav{display:flex;gap:clamp(12px,2.2vw,28px);flex-wrap:wrap;justify-content:flex-end;align-items:center}
.ms-nav a{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--paper-2);padding-block:4px;border-bottom:1px solid transparent}
.ms-nav a:hover,.ms-nav .current-menu-item a{color:var(--paper);border-bottom-color:var(--paper)}
.ms-nav a.zh{letter-spacing:.05em;border:1px solid var(--toner);padding:3px 7px}
.ms-navtoggle{display:none;background:none;border:1.5px solid var(--paper);color:var(--paper);padding:7px 10px;cursor:pointer}
@media (max-width:760px){
  .ms-navtoggle{display:block}
  .ms-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ink);border-bottom:1px solid var(--rule);flex-direction:column;align-items:flex-start;padding:10px var(--gut) 18px;gap:12px}
  .ms-nav.open{display:flex}
  .ms-top .wrap{position:relative}
}

/* ---------- registration marks ---------- */
.reg{position:absolute;width:22px;height:22px;pointer-events:none;opacity:.7;color:var(--toner)}
.reg::before,.reg::after{content:"";position:absolute;background:currentColor}
.reg::before{left:50%;top:0;bottom:0;width:1px}
.reg::after{top:50%;left:0;right:0;height:1px}
.reg i{position:absolute;inset:5px;border:1px solid currentColor;border-radius:50%}
.reg.tl{top:14px;left:14px}.reg.tr{top:14px;right:14px}.reg.bl{bottom:14px;left:14px}.reg.br{bottom:14px;right:14px}

/* ---------- hero ---------- */
.ms-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--rule)}
.ms-hero canvas,.ms-artist-head canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.ms-hero .wrap{position:relative;z-index:2;padding-block:clamp(56px,11vw,140px) clamp(40px,7vw,90px);display:grid;gap:28px}
.kicker{color:var(--paper-2)}
.kicker a{text-decoration:none;border-bottom:1px solid var(--toner)}
.word{position:relative;margin:0;font-family:var(--display);font-weight:900;font-variation-settings:"wdth" 125;font-stretch:125%;text-transform:uppercase;
  font-size:clamp(40px,11.2vw,158px);line-height:.84;letter-spacing:-.01em;color:var(--paper);word-break:break-word}
.word>span,.word .ghost>span{display:block}
.word .ghost{position:absolute;inset:0;color:transparent;-webkit-text-stroke:1px var(--toner);transform:translate(5px,4px);z-index:-1;animation:ms-mis 4.2s steps(1) infinite}
.word:hover .ghost{-webkit-text-stroke-color:var(--acid)}
@keyframes ms-mis{0%{transform:translate(5px,4px)}8%{transform:translate(-3px,2px)}9%{transform:translate(9px,-2px)}10%{transform:translate(5px,4px)}62%{transform:translate(5px,4px)}63%{transform:translate(1px,7px)}64%{transform:translate(5px,4px)}}
.ms-load .word>span:not(.ghost){animation:ms-jolt .5s steps(3) both}
.ms-load .word>span:nth-child(2){animation-delay:.08s}
@keyframes ms-jolt{0%{transform:translate(-14px,0);opacity:.2}34%{transform:translate(8px,-3px);opacity:.7}67%{transform:translate(-3px,2px);opacity:1}100%{transform:none}}
.tag{max-width:34ch;font-size:clamp(20px,2.6vw,30px);line-height:1.2;font-weight:500;font-variation-settings:"wdth" 88;margin:0;text-wrap:balance}
.tag b{font-weight:800}
.seps{color:var(--toner)}
.seps em{font-style:normal;color:var(--acid)}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:13px 18px;border:2px solid var(--paper);background:transparent;color:var(--paper);cursor:pointer;transition:transform .12s steps(2),box-shadow .12s steps(2)}
.btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--toner)}
.btn.hot{background:var(--acid);border-color:var(--acid);color:var(--ink)}
.btn.hot:hover{box-shadow:4px 4px 0 var(--paper)}
.btn.inv{border-color:var(--ink);background:var(--ink);color:var(--acid)}

/* ---------- torn edges ---------- */
.tear{display:block;width:100%;height:26px;margin-top:-1px}
.tear.down{transform:scaleY(-1);margin-top:0;margin-bottom:-1px}

/* ---------- sections ---------- */
section{position:relative}
.sec{padding-block:clamp(56px,8vw,104px)}
.ruled{border-top:1px solid var(--rule)}
.label{display:flex;align-items:baseline;gap:14px;margin-bottom:28px;flex-wrap:wrap}
.label h2{margin:0;font-family:var(--display);font-weight:900;font-variation-settings:"wdth" 70;font-stretch:70%;text-transform:uppercase;font-size:clamp(34px,5.4vw,64px);line-height:.92;letter-spacing:-.005em;text-wrap:balance}
.label .mono{color:var(--toner)}
.label a.mono{text-decoration:none}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px)}
@media (max-width:820px){.two{grid-template-columns:1fr}}
.more{margin-top:28px}

/* ---------- page heads ---------- */
.ms-pagehead{border-bottom:1px solid var(--rule);overflow:hidden}
.ms-pagehead .sec{padding-block:clamp(48px,8vw,96px) clamp(36px,5vw,64px);display:grid;gap:18px;position:relative;z-index:2}
.ms-h1{margin:0;font-family:var(--display);font-weight:900;font-variation-settings:"wdth" 110;font-stretch:110%;text-transform:uppercase;font-size:clamp(44px,8vw,112px);line-height:.88;letter-spacing:-.01em;text-wrap:balance}
.ms-h1.wide{font-variation-settings:"wdth" 125;font-stretch:125%}
.crumbs{color:#5f5d57;margin:0 0 18px}
.crumbs a{color:inherit}

/* ---------- paper panel / latest release ---------- */
.paper{background:var(--paper);color:var(--ink)}
.paper .label .mono{color:#5f5d57}
.ms-latest{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,4vw,56px);align-items:start}
@media (max-width:820px){.ms-latest{grid-template-columns:1fr}}
.ms-cover{position:relative;display:block;aspect-ratio:1;max-width:100%;background:var(--ink-2);overflow:hidden}
.ms-cover img{width:100%;height:100%;object-fit:cover;display:block}
.ms-cover.big{border:2px solid var(--ink)}
.ms-cover .cat{position:absolute;left:0;bottom:0;background:var(--ink);color:var(--paper);padding:6px 10px}
.ms-cover-empty{display:block;width:100%;height:100%;background:radial-gradient(circle,var(--toner) 28%,transparent 30%) 0 0/10px 10px,var(--ink-2)}
.rel-title{font-family:var(--display);font-weight:900;font-variation-settings:"wdth" 112;font-stretch:112%;text-transform:uppercase;font-size:clamp(34px,4.6vw,64px);line-height:.92;margin:0 0 10px;text-wrap:balance;overflow-wrap:anywhere;hyphens:auto}
.rel-title a{text-decoration:none}
.rel-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:22px;color:#4a4843}
.rel-copy{max-width:52ch;margin:0 0 24px}
.facade{display:flex;align-items:center;gap:14px;width:100%;border:2px dashed var(--ink);background:transparent;color:var(--ink);padding:14px 16px;cursor:pointer;text-align:left;font:inherit;margin-bottom:24px}
.facade .play{flex:none;width:44px;height:44px;border-radius:50%;background:var(--ink);display:grid;place-items:center}
.facade .play::before{content:"";border-left:13px solid var(--paper);border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:4px}
.facade small{display:block;color:#5f5d57;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.ms-embed{margin-bottom:24px;border:2px solid var(--ink);background:var(--ink)}
.ms-embed iframe{display:block;width:100%;height:352px;border:0}
.ms-links-h{margin:0 0 8px;color:#5f5d57}
body .ms-links-h:not(.paper *){color:var(--toner)}
.ms-plat{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.ms-plat a{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-decoration:none;padding:8px 12px;border:1.5px solid currentColor;text-transform:uppercase}
.ms-plat a:hover{color:var(--acid);background:var(--ink);border-color:var(--ink)}
.ms-plat a[lang="zh"]{text-transform:none;letter-spacing:.02em}

/* ---------- about ---------- */
.ms-about{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(24px,5vw,72px)}
@media (max-width:820px){.ms-about{grid-template-columns:1fr}}
.pull{font-family:var(--display);font-weight:800;font-variation-settings:"wdth" 62;font-stretch:62%;text-transform:uppercase;font-size:clamp(30px,4.2vw,52px);line-height:.95;margin:0;text-wrap:balance}
.pull u{text-decoration:none;color:var(--acid)}
.prose p,.prose li{max-width:62ch;color:var(--paper-2);font-size:17px}
.prose p{margin:0 0 1em}
.prose>p:first-child,.prose .lede{color:var(--paper);font-size:19px}
.prose h2,.prose h3{font-family:var(--display);font-weight:900;font-variation-settings:"wdth" 80;font-stretch:80%;text-transform:uppercase;line-height:1;margin:1.6em 0 .5em}
.prose h2{font-size:clamp(26px,3vw,36px)}
.prose a{color:var(--paper);text-decoration-color:var(--acid);text-underline-offset:3px}
.ms-page{max-width:760px}
.ms-page table{border-collapse:collapse;width:100%;font-size:14px}
.ms-page td,.ms-page th{border:1px solid var(--rule);padding:8px}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;border-top:1px solid var(--rule);margin:28px 0 0}
.facts div{padding:14px 0;border-bottom:1px solid var(--rule)}
.facts dt{color:var(--toner)}
.facts dd{margin:4px 0 0;font-weight:600}
.facts a{text-decoration-color:var(--acid)}

/* ---------- catalogue grid ---------- */
.ms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:clamp(14px,2vw,24px)}
.ms-card{text-decoration:none;display:grid;gap:8px;align-content:start}
.ms-card .ms-cover{border:2px solid var(--paper)}
.ms-card:hover .ms-cover{outline:2px solid var(--acid);outline-offset:3px}
.ms-card:hover .num{color:var(--acid)}
.ms-card-t{font-family:var(--display);font-weight:800;font-variation-settings:"wdth" 80;font-stretch:80%;text-transform:uppercase;font-size:21px;line-height:1}
.ms-card .row{display:flex;justify-content:space-between;gap:8px;color:var(--toner)}
.num{color:var(--paper)}
/* halftone treatment: black & white photocopy until hovered, then full colour */
.ht{position:relative}
.ht img{filter:grayscale(1) contrast(1.35) brightness(1.05);transition:filter .15s steps(2)}
.ht::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle,rgba(10,10,10,.55) 32%,transparent 36%) 0 0/5px 5px;mix-blend-mode:multiply;transition:opacity .15s steps(2)}
a:hover .ht img,a.ht:hover img,.ht:hover img{filter:none}
a:hover .ht::after,a.ht:hover::after{opacity:0}

/* ---------- artists ---------- */
.ms-artists{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(16px,2.5vw,28px)}
.ms-artist{border:2px solid var(--paper);padding:clamp(18px,2.5vw,28px);display:grid;gap:14px;align-content:start}
.ms-artist h2,.ms-artist h3{margin:0;font-family:var(--display);font-weight:900;font-variation-settings:"wdth" 110;font-stretch:110%;text-transform:uppercase;font-size:clamp(28px,3.4vw,40px);line-height:.95}
.ms-artist h2 a,.ms-artist h3 a{text-decoration:none}
.ms-artist p{margin:0;color:var(--paper-2);max-width:48ch}
.ms-artist.open{border-style:dashed;border-color:var(--toner)}
.ms-artist.open h2,.ms-artist.open h3{color:var(--toner)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips span{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;background:var(--ink-2);border:1px solid var(--rule)}
.ms-artist-head{position:relative}

/* ---------- instagram strip ---------- */
.ms-ig{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media (max-width:700px){.ms-ig{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ms-ig a{position:relative;aspect-ratio:4/5;display:block;border:1px solid var(--rule);overflow:hidden;text-decoration:none}
.ms-ig img{width:100%;height:100%;object-fit:cover;display:block}
.ms-ig span{position:absolute;left:8px;bottom:8px;right:8px;background:var(--ink);padding:5px 7px;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;z-index:2}

/* ---------- flyer signup ---------- */
.ms-flyer-sec{padding-block:clamp(56px,8vw,104px);border-top:1px solid var(--rule)}
.ms-flyer{position:relative;max-width:880px;margin:0 auto;background:var(--paper);color:var(--ink);padding:clamp(28px,5vw,56px) clamp(20px,5vw,56px) 0;transform:rotate(-1.1deg);box-shadow:10px 12px 0 #000}
.ms-flyer::before{content:"";position:absolute;top:-14px;left:50%;width:120px;height:28px;margin-left:-60px;background:rgba(220,217,208,.72);transform:rotate(2deg)}
.ms-flyer .reg{color:var(--ink)}
.ms-flyer .dim{color:#5f5d57;margin-bottom:14px}
.ms-flyer h2{margin:0;font-family:var(--display);font-weight:900;font-variation-settings:"wdth" 125;font-stretch:125%;text-transform:uppercase;font-size:clamp(40px,8vw,92px);line-height:.86}
.ms-flyer h2 .hl{background:var(--ink);color:var(--acid);padding:0 .08em}
.ms-flyer .sub{font-size:clamp(17px,2vw,21px);max-width:44ch;margin:18px 0 22px;font-weight:500}
.ms-flyer ul{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:6px}
.ms-flyer li{font-family:var(--mono);font-size:13px}
.ms-flyer li::before{content:":: "}
.ms-sign{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.ms-sign input[type=email]{flex:1 1 240px;min-width:0;font:inherit;font-size:17px;padding:13px 14px;border:2px solid var(--ink);background:#fff;color:var(--ink);border-radius:0}
.ms-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ms-ok{font-family:var(--mono);font-size:13px;background:var(--ink);color:var(--acid);padding:10px 12px;margin:0 0 20px}
.ms-ok.invalid,.ms-ok.error{color:#fff}
.fine{font-family:var(--mono);font-size:11px;color:#5f5d57;margin:0 0 26px;max-width:70ch}
.tabs{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));border-top:2px dashed var(--ink);margin-inline:calc(-1 * clamp(20px,5vw,56px))}
.tabs div{border-right:2px dashed var(--ink);height:118px;display:flex;align-items:center;justify-content:center}
.tabs div:last-child{border-right:0}
.tabs span{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.tabs div:nth-child(3){transform:translateY(8px) rotate(2deg);background:var(--paper)}
.tabs div:nth-child(6){visibility:hidden}
@media (max-width:560px){.tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.tabs div:nth-child(n+6){display:none}}

/* ---------- directory / find us ---------- */
.ms-dir{list-style:none;padding:0;margin:0;border-top:1px solid var(--rule)}
.ms-dir li a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--rule);text-decoration:none}
.ms-dir li a:hover .nm{color:var(--acid)}
.ms-dir .nm{font-family:var(--display);font-weight:800;font-variation-settings:"wdth" 90;font-stretch:90%;text-transform:uppercase;font-size:21px}
.ms-dir .why{color:var(--toner)}
.ms-dir .grp{padding:18px 0 6px;color:var(--toner);border-bottom:1px solid var(--rule)}
.ms-contact-cta{display:grid;gap:18px;justify-items:start}
.ms-contact-cta img{width:min(100%,360px);transform:rotate(-4deg)}
.ms-contact-cta p{margin:0;color:var(--paper-2);max-width:44ch;font-size:17px}

/* ---------- release page ---------- */
.ms-tracks{margin:0 0 32px;padding-left:2.4em;font-size:14px;text-transform:none;letter-spacing:.02em}
.ms-tracks li{padding:10px 0;border-bottom:1px solid var(--rule)}
.ms-credits{margin:0 0 24px;border-top:1px solid var(--rule)}
.ms-credits div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--rule)}
.ms-credits dt{color:var(--toner)}
.ms-credits dd{margin:0}
.ms-credits dd.mono{font-size:13px}

/* ---------- WPForms (contact) ---------- */
.ms-form .wpforms-container{margin:0!important}
.ms-form .wpforms-field-label{font-family:var(--mono)!important;font-size:12px!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--paper)!important;font-weight:400!important}
.ms-form .wpforms-field{padding:0 0 18px!important}
.ms-form input[type=text],.ms-form input[type=email],.ms-form select,.ms-form textarea{width:100%!important;max-width:100%!important;font:inherit!important;font-size:16px!important;padding:12px 13px!important;background:var(--ink-2)!important;color:var(--paper)!important;border:1.5px solid var(--toner)!important;border-radius:0!important;box-shadow:none!important;height:auto!important}
.ms-form input:focus,.ms-form select:focus,.ms-form textarea:focus{border-color:var(--paper)!important}
.ms-form .wpforms-submit{font-family:var(--mono)!important;font-size:13px!important;letter-spacing:.08em!important;text-transform:uppercase!important;background:var(--acid)!important;color:var(--ink)!important;border:2px solid var(--acid)!important;border-radius:0!important;padding:13px 22px!important;height:auto!important}
.ms-form .wpforms-confirmation-container-full{background:var(--ink-2)!important;border:1.5px solid var(--acid)!important;color:var(--paper)!important}
.ms-form .wpforms-error{color:var(--stamp)!important}

/* ---------- footer ---------- */
.ms-foot{border-top:1px solid var(--rule);padding-block:34px 90px;position:relative}
.ms-foot .wrap{display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:space-between;align-items:center;color:var(--toner)}
.ms-foot-mark{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--display);font-weight:900;font-variation-settings:"wdth" 125;font-stretch:125%;text-transform:uppercase;color:var(--paper);font-size:18px}
.ms-foot nav{display:flex;gap:18px;flex-wrap:wrap}
.ms-foot a{text-decoration:none}
.ms-foot nav a:hover{color:var(--paper)}

/* ---------- 404 / zh ---------- */
.ms-hero-zh .tag{max-width:26em;font-variation-settings:normal}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
