*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#050505;color:#eee;font-family:Arial,'Apple SD Gothic Neo',sans-serif;-webkit-font-smoothing:antialiased}body{overflow-x:hidden}header{display:flex;gap:28px;align-items:center;padding:28px 4%;position:relative;z-index:10}.brand{font-size:20px;font-weight:800;letter-spacing:-1.3px}.rule{height:1px;background:#777;flex:1}h1{font-size:17px;letter-spacing:-1px;margin:0}main{position:relative;min-height:680px;height:calc(100svh - 130px);display:flex;flex-direction:column;justify-content:center;overflow:hidden}.records{position:relative;width:100%;height:clamp(290px,36vw,490px);touch-action:pan-y;isolation:isolate}.record{position:absolute;left:50%;top:50%;width:clamp(290px,36vw,490px);aspect-ratio:1;border:0;padding:0;background:none;color:inherit;cursor:pointer;transform:translate(calc(-50% + var(--offset)), -50%) scale(var(--scale));z-index:var(--layer);transition:transform .8s cubic-bezier(.22,.8,.25,1),filter .6s,opacity .45s;filter:brightness(var(--light));-webkit-tap-highlight-color:transparent}.record img{position:relative;z-index:2;width:100%;height:100%;display:block;object-fit:contain;box-shadow:0 15px 40px #0008;transition:transform .8s cubic-bezier(.22,.8,.25,1)}.disc{position:absolute;inset:3%;border-radius:50%;border:1px solid #656565;background:#171717;z-index:1;transition:transform .65s cubic-bezier(.22,.8,.25,1)}.disc:before{content:'';position:absolute;inset:35%;border:1px solid #777;border-radius:50%}.disc:after{content:'';position:absolute;inset:48.8%;border-radius:50%;background:#eee}.record.is-open .disc{transform:translateX(43%)}.record.is-open img{transform:translateX(-12%)}.record:focus-visible{outline:1px dotted #aaa;outline-offset:8px}.caption{text-align:center;margin-top:30px;position:relative;z-index:7}h2{font-size:17px;letter-spacing:-.6px;margin:0;font-weight:700}.navigation{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:12px}.navigation button, #close{border:0;background:none;color:#ddd;cursor:pointer;font:inherit;padding:8px 12px}.navigation button{font-size:22px}.navigation span{font-size:9px;color:#888;letter-spacing:2px}#hint{color:#666;font-size:10px;margin:8px 0 0}.opened{text-align:center;margin:18px 0 0;min-height:104px;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .3s,transform .5s cubic-bezier(.22,.8,.25,1)}body.album-open .opened{opacity:1;transform:translateY(0);pointer-events:auto;transition-delay:.16s}.open-label{font-size:8px;letter-spacing:2px;color:#888}.opened p{font-size:12px;margin:8px 0}.opened .note{font-size:10px;color:#888}#close{font-size:10px;color:#aaa}footer{display:flex;justify-content:space-between;gap:20px;padding:20px 4%;font-size:8px;letter-spacing:1px;color:#666}.muted{margin-left:8px;color:#888}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}#hint{transition:opacity .25s}body.album-open .caption #hint{opacity:0}
@media(max-width:700px){header{padding:25px 6%;gap:17px}.brand{font-size:17px}.rule{background:#555}h1{font-size:14px}main{height:calc(100svh - 135px);min-height:570px}.records{height:66vw;max-height:350px}.record{width:66vw;max-width:350px}.caption{margin-top:36px}h2{font-size:15px}#hint{font-size:9px}footer{padding:20px 6%;font-size:6px;letter-spacing:.6px}.record.is-open .disc{transform:translateX(30%)}.record.is-open img{transform:translateX(-8%)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.pending-cover{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;text-align:left;width:100%;height:100%;padding:10%;background:#131313;border:1px solid #333;transition:transform .8s cubic-bezier(.22,.8,.25,1)}.pending-cover strong{font-size:clamp(20px,3.5vw,45px);font-weight:400;letter-spacing:-.04em}.pending-cover small{font-size:9px;color:#999}.record.is-open .pending-cover{transform:translateX(-12%)}

#view-project{display:inline-block;font-size:12px;color:#eee;text-decoration:none;padding:12px 18px}

/* Selected album introduction blends into the upper third of its sleeve. */
body{position:relative;isolation:isolate;background:#050505}header{background:transparent}main{height:auto;min-height:0;justify-content:flex-start;overflow:visible;z-index:1}.collection-intro{height:280px;flex:none;pointer-events:none}.records{height:clamp(290px,36vw,490px)}#selection-stage{position:absolute;inset:0 0 auto;height:var(--selection-bottom,560px);z-index:0;pointer-events:none;overflow:hidden}.selection-layer{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}.selection-layer.visible{opacity:1}.selection-photo{position:absolute;inset:0;mask-image:linear-gradient(#000 0%,#000 40%,#000b 65%,transparent 100%)}.selection-photo img{width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:brightness(.38)}.selection-copy{position:absolute;top:105px;left:50%;transform:translateX(-50%);width:min(620px,84vw);text-align:center}.selection-logo{height:76px;display:flex;align-items:center;justify-content:center}.selection-logo img{max-width:370px;max-height:76px;width:auto;height:auto;object-fit:contain}.selection-logo h2{font-size:clamp(30px,3.5vw,48px);line-height:.95;font-weight:500;max-width:540px}.selection-logo .modular-light{font-weight:200}.selection-meta{font-size:9px;line-height:1.5;color:#ccc;margin:17px 0 12px}.selection-description{font-size:13px;line-height:1.45;max-width:470px;margin:0 auto;color:#eee;letter-spacing:-.025em}.caption{margin-top:20px}.caption #title{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.opened{min-height:0;height:0;overflow:hidden;margin:0}body.album-open .opened{height:auto;min-height:55px;margin-top:12px}footer{position:relative;z-index:1;margin-top:25px}.navigation{margin-top:0}
@media(max-width:700px){.collection-intro{height:245px}.selection-copy{top:90px;width:86vw}.selection-logo{height:63px}.selection-logo h2{font-size:31px}.selection-logo img{max-width:72vw;max-height:63px}.selection-meta{font-size:8px;margin:12px 0 10px}.selection-description{font-size:11px;max-width:330px}.records{height:66vw;max-height:350px}.caption{margin-top:18px}footer{margin-top:20px}.selection-photo img{object-position:center}}
@media(prefers-reduced-motion:reduce){.selection-layer{transition:none}}

/* Individual project identities. */
.selection-layer[data-project="uman-archive"] .selection-logo img{filter:brightness(0) invert(1)}
.selection-layer[data-project="embrace"] h2{display:flex;align-items:baseline;gap:.2em}.embrace-house{font-weight:200}.embrace-name{font-weight:500;color:#f3a13a}
.selection-layer[data-project="femme"] h2{color:#eac4d8;letter-spacing:.2em!important;font-weight:400}.paired-photo .selection-photo{display:flex}.paired-photo .selection-photo>img{width:50%;height:100%;object-fit:cover;object-position:center 40%}
.selection-layer[data-project="studio"] h2{display:flex;flex-direction:column;align-items:center;font-size:36px;gap:3px}.studio-inset{background:#eee;color:#111;padding:1px 12px 3px;line-height:.95}.studio-name{white-space:nowrap}.selection-layer[data-project="studio"] .selection-photo img{object-position:center 42%;filter:brightness(.5)}
.selection-layer[data-project="vinyl"] h2{font-family:'Helvetica Neue','Arial Narrow',Arial,sans-serif;font-stretch:condensed;transform:scaleX(.75);font-size:54px;font-weight:500;white-space:nowrap}
.selection-layer[data-project="acc"] h2{display:flex;align-items:center;gap:12px;text-align:left;color:#005bac;font-size:34px}.selection-logo .ajou-symbol{height:70px;width:52px;object-fit:contain}.ajou-wordmark{display:flex;flex-direction:column;line-height:.98}.selection-layer[data-project="acc"] .selection-photo img{object-position:center 75%}
@media(max-width:700px){.selection-layer[data-project="embrace"] h2{font-size:30px}.selection-layer[data-project="studio"] h2{font-size:29px}.selection-layer[data-project="vinyl"] h2{font-size:44px}.selection-layer[data-project="acc"] h2{font-size:26px;gap:8px}.selection-logo .ajou-symbol{height:56px;width:40px}.paired-photo .selection-photo>img{object-position:center}}

/* Keep the university accent legible over the dark photograph. */
.selection-layer[data-project="acc"] h2{color:#f5f5f5}.selection-layer[data-project="acc"] .ajou-wordmark>span:first-child{color:#54a9ef}.selection-layer[data-project="acc"] .ajou-symbol{filter:brightness(0) saturate(100%) invert(64%) sepia(65%) saturate(1035%) hue-rotate(176deg) brightness(100%) contrast(88%)}
.selection-layer[data-project="femme"] h2{letter-spacing:-.075em!important}.selection-layer[data-project="studio"] .studio-inset{font-size:.65em;padding:2px 9px 3px}

.selection-logo .modular-eights{color:#f04b48;font-weight:700}

/* Project colour is confined to the record’s central paper label. */
.disc:before{background:var(--record-label,#b9b6a8);border:0}.disc:after{background:#080808;box-shadow:0 0 0 1px #0003}

.records .record{transition:none;user-select:none}.records.dragging,.records.dragging .record{cursor:grabbing}.records .record img{-webkit-user-drag:none;user-select:none}

footer{justify-content:flex-end}
/* Fast spiral → stack → coverflow opening, on a pure black stage. */
.brand{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500!important;letter-spacing:-.065em!important}
.entry-stage{position:fixed;inset:0;z-index:100;pointer-events:none;overflow:hidden}
.entry-cover{opacity:0;position:absolute;left:0;top:0;object-fit:contain;transform-origin:center;will-change:transform,opacity;box-shadow:0 10px 30px #0005}
.entry-wordmark{position:absolute;z-index:60;white-space:nowrap;color:#eee;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;letter-spacing:-.065em;line-height:normal;transform-origin:top left;opacity:0;will-change:transform,opacity}
body.intro-running{background:#000;overflow:hidden}
body.intro-running .records{visibility:hidden}
body.intro-running #selection-stage,body.intro-running header,body.intro-running .caption,body.intro-running footer{opacity:0}
body.intro-running.intro-reveal #selection-stage,body.intro-running.intro-reveal header,body.intro-running.intro-reveal .caption,body.intro-running.intro-reveal footer{opacity:1;transition:opacity .7s ease}
body.intro-running header .brand{visibility:hidden}

/* Keep mobile wordmarks balanced within the album introduction. */
@media(max-width:700px){
 .selection-logo{height:54px}
 .selection-logo h2{font-size:27px}
 .selection-logo img{max-width:min(61vw,240px);max-height:52px}
 .selection-layer[data-project="embrace"] h2{font-size:25px}
 .selection-layer[data-project="studio"] h2{font-size:25px}
 .selection-layer[data-project="vinyl"] h2{font-size:36px}
 .selection-layer[data-project="acc"] h2{font-size:21px;gap:7px}
 .selection-logo .ajou-symbol{height:44px;width:31px}
 .selection-layer[data-project="modular"] h2{font-size:26px}
}

/* Offscreen carousel covers must not enlarge the mobile page. */
html{width:100%;max-width:100%;overflow-x:hidden}
body{width:100%;max-width:100%;overflow-x:hidden}
main{min-width:0;max-width:100%;overflow-x:clip}
.records{overflow:clip}
@supports(overflow:clip){html,body{overflow-x:clip}}
