/* Motion layer. Everything here sits on top of site.css and degrades to the static page without JS or with reduced motion. */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}

/* cursor: a small record with the OffMarket label (fine pointers only) */
.cur-disc{position:fixed;left:0;top:0;width:0;height:0;pointer-events:none;z-index:9999;transform:translate3d(-200px,-200px,0)}
.cur-disc .cd-rec{position:absolute;left:0;top:0;width:0;height:0}
.cur-disc .cd-vinyl,.cur-disc .cd-label{position:absolute;left:46px;top:42px;border-radius:50%}
.cd-dot{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--ice);box-shadow:0 0 0 1.5px var(--ink);transition:transform .3s var(--ease)}
.cur-disc.is-link .cd-dot,.cur-disc.is-label .cd-dot{transform:scale(1.6)}
.cur-disc.is-text .cd-rec{opacity:0}
.cd-vinyl{width:64px;height:64px;margin:-32px 0 0 -32px;background:conic-gradient(from 0deg,rgba(255,255,255,0) 0 30deg,rgba(255,255,255,.16) 50deg,rgba(255,255,255,0) 70deg 200deg,rgba(255,255,255,.1) 220deg,rgba(255,255,255,0) 240deg),repeating-radial-gradient(circle,#101318 0 1.5px,#1C212A 1.5px 3px);box-shadow:0 0 0 1px rgba(238,243,247,.28),0 8px 22px rgba(0,0,0,.45);transition:width .45s var(--ease),height .45s var(--ease),margin .45s var(--ease)}
.cd-label{width:34px;height:34px;margin:-17px 0 0 -17px;background:var(--ice);display:grid;place-items:center;overflow:hidden;transition:width .45s var(--ease),height .45s var(--ease),margin .45s var(--ease),background .3s}
.cd-label span{grid-area:1/1;font:800 6.5px/1 var(--display);font-stretch:105%;color:var(--ink);white-space:nowrap;transition:opacity .25s}
.cd-label sup{font-size:.8em;color:var(--ink)}
.cd-logo{opacity:1;transition:opacity .25s,font-size .45s var(--ease)}
.cd-text{opacity:0;text-transform:uppercase;letter-spacing:.04em;font-size:12px!important}
.cur-disc.is-link .cd-vinyl{width:96px;height:96px;margin:-48px 0 0 -48px}
.cur-disc.is-link .cd-label{width:52px;height:52px;margin:-26px 0 0 -26px}
.cur-disc.is-link .cd-logo{font-size:9.5px}
.cur-disc.is-label .cd-vinyl{width:120px;height:120px;margin:-60px 0 0 -60px}
.cur-disc.is-label .cd-label{width:60px;height:60px;margin:-30px 0 0 -30px}
.cur-disc.is-label .cd-text{opacity:1}
.cur-disc.is-label .cd-logo,.cur-disc.is-text .cd-logo{opacity:0}
.cur-disc.is-text .cd-vinyl{width:22px;height:22px;margin:-11px 0 0 -11px;opacity:.6}
.cur-disc.is-text .cd-label{width:8px;height:8px;margin:-4px 0 0 -4px}
.cur-disc.is-down .cd-vinyl{transform-origin:center}
.cur-disc.is-down{filter:brightness(1.3)}
@media (hover:hover) and (pointer:fine){html.has-cursor,html.has-cursor a,html.has-cursor button,html.has-cursor label{cursor:none}}
html.has-cursor input,html.has-cursor textarea,html.has-cursor select{cursor:auto}

/* film grain */
.grain{position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:9000;opacity:.07;animation:grain 1s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-5%)}60%{transform:translate(-6%,-2%)}80%{transform:translate(5%,4%)}100%{transform:translate(0,0)}}

/* page wipe */
.wipe{position:fixed;inset:0;z-index:9500;pointer-events:none;display:grid;place-items:center;background:var(--ice);transform:translateY(101%)}
.wipe b{font:800 clamp(28px,5vw,64px)/1 var(--display);font-stretch:112%;text-transform:uppercase;color:var(--ink);letter-spacing:-.02em}

/* header hide on scroll */
.top{transition:transform .5s var(--ease)}
.top.is-hidden{transform:translateY(-110%)}

/* split text */
.sw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em;margin-bottom:-.06em}
.sw>span{display:inline-block}

/* marquee */
.marq{overflow:hidden;border-block:1px solid var(--line);padding-block:clamp(18px,2.4vw,30px);white-space:nowrap;user-select:none}
.marq-track{display:inline-flex;gap:0;will-change:transform}
.marq-item{font:800 clamp(40px,7vw,104px)/1 var(--display);font-stretch:118%;text-transform:uppercase;letter-spacing:-.02em;padding-right:.5em;display:inline-flex;align-items:center;gap:.5em}
.marq-item.o{color:transparent;-webkit-text-stroke:1.2px rgba(238,243,247,.7)}
.marq-item i{display:inline-block;width:.32em;height:.32em;border-radius:50%;background:var(--ice);font-style:normal}

/* ---------- HOME HERO ---------- */
.hx{position:relative;min-height:clamp(600px,92svh,980px);overflow:hidden;display:flex;align-items:flex-end;isolation:isolate;border-bottom:1px solid var(--line)}
.hx-media{position:absolute;inset:0 0 0 34%;z-index:-2;overflow:hidden}
.hx-media img{width:100%;height:100%;object-fit:cover;object-position:62% 30%;will-change:transform}
.hx-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 0%,rgba(11,13,16,.55) 30%,rgba(11,13,16,0) 60%),linear-gradient(0deg,var(--ink) 4%,rgba(11,13,16,0) 45%)}
.hx-flash{position:absolute;inset:0;z-index:-1;background:var(--ice);mix-blend-mode:overlay;opacity:0;pointer-events:none}
.hx-wave{position:absolute;left:0;right:0;bottom:0;width:100%;height:24%;opacity:.8;z-index:-1;pointer-events:none}
.hx-inner{position:relative;width:100%;padding-block:clamp(96px,10vw,140px) clamp(32px,4vw,56px)}
.hx-title{font-size:clamp(52px,min(12vw,19svh),190px);line-height:.8;letter-spacing:-.035em;color:var(--cream);margin-left:-.04em;text-shadow:0 2px 30px rgba(11,13,16,.35)}
.hx-title .ln{display:block;overflow:hidden;padding-bottom:.05em}
.hx-title .hw{display:inline-block}
.hx-title .beat{color:var(--ice);mix-blend-mode:normal}
.hx-ring{position:absolute;width:40px;height:40px;border:2px solid var(--ice);border-radius:50%;left:0;top:0;opacity:0;pointer-events:none;z-index:2}
.hx-meta{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;gap:24px 48px;align-items:end;margin-top:clamp(28px,4vw,52px)}
.hx-meta .rows>div{grid-template-columns:minmax(0,1fr) auto}
.hx-meta .rows>div>:first-child{color:var(--cream);font-size:15px}
.hx-meta .rows>div>:last-child{color:var(--frost);font-size:14px;text-align:right}
.hx-actions{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.replay{display:inline-flex;align-items:center;gap:10px;background:none;border:0;color:var(--body);font:500 14px var(--text);cursor:pointer;padding:6px 0}
.replay svg{width:30px;height:30px}
.replay:hover{color:var(--cream)}
.scroll-cue{position:absolute;right:max(16px,env(safe-area-inset-right,0px));bottom:28px;writing-mode:vertical-rl;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);display:flex;align-items:center;gap:12px}
.scroll-cue::after{content:"";width:1px;height:56px;background:linear-gradient(var(--ice),transparent);animation:cue 1.8s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (max-width:900px){
  .hx{min-height:0;display:block}
  .hx-media{position:relative;inset:auto;height:62svh;min-height:420px}
  .hx-media::after{background:linear-gradient(0deg,var(--ink) 2%,rgba(11,13,16,0) 50%)}
  .hx-inner{padding-block:0 40px;margin-top:-34vw}
  .hx-meta{grid-template-columns:1fr}
  .hx-wave{height:30%;bottom:auto;top:calc(62svh - 30%)}
  .scroll-cue{display:none}
}

/* ---------- FOUR WORDS (pinned) ---------- */
.fw{position:relative}
.fw-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center;min-height:100svh;padding-block:clamp(56px,7vw,96px)}
.fw-words{font:800 clamp(48px,min(7.2vw,15svh),132px)/.88 var(--display);font-stretch:112%;text-transform:uppercase;letter-spacing:-.03em}
.fw-words span{display:block;color:rgba(238,243,247,.12);transition:color .5s var(--ease)}
.fw-words span.on{color:var(--cream)}
.fw-words span.on.last{color:var(--ice)}
.fw-copy{display:flex;flex-direction:column;gap:28px}
.fw-count{font:700 14px/1 var(--text);color:var(--frost);font-variant-numeric:tabular-nums;letter-spacing:.02em}
@media (max-width:900px){.fw-stage{grid-template-columns:1fr;min-height:0}.fw-words span{color:var(--cream)}.fw-words span:last-child{color:var(--ice)}}

/* ---------- CRATE (horizontal records) ---------- */
.crate{position:relative;overflow:hidden}
.crate-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;padding-top:clamp(64px,9vw,120px)}
.crate-track{display:flex;gap:clamp(20px,2.4vw,36px);padding:clamp(40px,5vw,64px) var(--gutter-r) clamp(64px,9vw,120px) var(--gutter-l);width:max-content;will-change:transform}
.sleeve{position:relative;width:clamp(280px,30vw,440px);flex:none;text-decoration:none}
.sleeve-art{position:relative;aspect-ratio:1;z-index:2;overflow:hidden;padding:clamp(18px,2vw,28px);display:flex;flex-direction:column;justify-content:space-between;background:var(--sl,#16202A);color:var(--slt,#EEF3F7);transition:transform .6s var(--ease)}
.sleeve-art .yr{display:block;font:800 clamp(72px,7.6vw,124px)/.8 var(--display);font-stretch:116%;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.4px var(--slt,#EEF3F7);opacity:.6}
.sleeve-art .t{font:800 clamp(26px,2.6vw,40px)/.95 var(--display);font-stretch:112%;text-transform:uppercase;letter-spacing:-.02em;text-wrap:balance}
.sleeve-art .a{font-size:14px;opacity:.8;margin-top:8px}
.sleeve-art .pk{display:flex;justify-content:space-between;gap:10px;font-size:13px;border-top:1px solid currentColor;padding-top:10px;opacity:.9}
.sleeve-art .lines{position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent 0 14px,rgba(255,255,255,.035) 14px 15px);pointer-events:none}
.disc{position:absolute;top:4%;right:4%;width:92%;aspect-ratio:1;border-radius:50%;z-index:1;background:radial-gradient(circle,var(--sl,#16202A) 0 15%,#090B0E 15.5% 17%,#141820 17.5%),repeating-radial-gradient(circle,#0F1216 0 2px,#181D24 2px 3px);background-blend-mode:normal;box-shadow:0 18px 40px rgba(0,0,0,.45);transition:transform .8s var(--ease)}
.disc::after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 20deg,transparent 0 40deg,rgba(255,255,255,.07) 60deg,transparent 80deg 220deg,rgba(255,255,255,.05) 240deg,transparent 260deg)}
.sleeve:hover .disc,.sleeve:focus-visible .disc{transform:translateX(42%) rotate(160deg)}
.sleeve:hover .sleeve-art{transform:translateX(-6%)}
@media (max-width:900px){.crate-track{width:auto;overflow-x:auto;scroll-snap-type:x mandatory}.sleeve{scroll-snap-align:start;width:78vw}}

/* ---------- MASKED CITY ---------- */
.city{position:relative;padding-block:clamp(64px,9vw,128px);overflow:hidden}
.city-word{font:900 clamp(60px,16vw,300px)/.8 var(--display);font-stretch:112%;text-transform:uppercase;letter-spacing:-.04em;background-image:linear-gradient(rgba(238,243,247,.42),rgba(238,243,247,.42)),url(img/mumbai.jpg);background-color:var(--cream);background-size:cover;background-position:50% 50%;-webkit-background-clip:text;background-clip:text;color:transparent;margin-left:-.04em}
.city-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;margin-top:clamp(28px,4vw,48px);align-items:end}
@media (max-width:820px){.city-grid{grid-template-columns:1fr}}

/* ---------- SEND ---------- */
.send-big{font:800 clamp(92px,25vw,420px)/.78 var(--display);font-stretch:112%;text-transform:uppercase;letter-spacing:-.045em;display:flex;margin-left:-.03em;user-select:none}
.send-big span{display:inline-block;transition:color .3s}
.send-big span:hover{color:var(--ice)}


/* image reveal */
.rv-img{clip-path:inset(0 0 0 0)}

/* records page: floating disc on hover */

.note{transition:padding .5s var(--ease),background .5s var(--ease)}
@media (hover:hover){.notes .note:hover{padding-left:16px;background:linear-gradient(90deg,rgba(143,203,242,.08),transparent)}}

@media (prefers-reduced-motion:reduce){.grain,.cur-disc,.hx-wave{display:none}.scroll-cue::after{animation:none}}

@media (max-width:900px){.grain{display:none}.hx-title{font-size:clamp(48px,14.5vw,120px)}.copy{min-height:36px;padding:9px 14px}.chip{min-height:40px}}

html,body{overflow-x:clip}
.send-sec,.city{overflow:hidden}
@media (max-width:900px){
  .hx-inner{margin-top:-28vw}
  .crate-head{padding-top:56px}
  .crate-track{padding-bottom:56px;scrollbar-width:none}
  .crate-track::-webkit-scrollbar{display:none}
  .swipe-hint{display:block}
}
.swipe-hint{display:none;font-size:13px;color:var(--mute);margin-top:-36px;padding-bottom:40px}
@media (max-width:700px){
  .table-wrap{border-top:0;overflow:visible}
  table.rt{min-width:0;display:block}
  table.rt thead{display:none}
  table.rt tbody,table.rt tr,table.rt td{display:block;width:auto}
  table.rt tr{border-top:1px solid var(--cream);padding:14px 0 6px}
  table.rt td{border:0;padding:4px 0 10px}
  table.rt td:first-child{font-family:var(--display);font-weight:700;font-stretch:108%;text-transform:uppercase;color:var(--cream);font-size:17px;width:auto}
  table.rt td[data-l]::before{content:attr(data-l);display:block;font-size:12px;color:var(--frost);font-weight:600;margin-bottom:2px}
}

/* ---------- OFFMARKET HOME ---------- */
.om-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);isolation:isolate}
.om-hero .wrap{position:relative;padding-block:clamp(72px,10vw,150px) clamp(40px,5vw,72px)}
.om-disc{position:absolute;z-index:-1;right:calc(-1 * min(18vw,240px));top:50%;width:min(72vw,820px);aspect-ratio:1;margin-top:calc(-1 * min(36vw,410px));border-radius:50%;
  background:conic-gradient(from 0deg,rgba(255,255,255,0) 0 30deg,rgba(255,255,255,.07) 50deg,rgba(255,255,255,0) 70deg 200deg,rgba(255,255,255,.05) 220deg,rgba(255,255,255,0) 240deg),repeating-radial-gradient(circle,#101318 0 2px,#191E26 2px 4px);box-shadow:0 0 0 1px rgba(238,243,247,.12),0 40px 120px rgba(0,0,0,.6)}
.om-disc .om-label{position:absolute;inset:34%;border-radius:50%;background:var(--ice);display:grid;place-items:center;text-align:center}
.om-disc .om-label b{font:800 clamp(14px,2.2vw,30px)/1 var(--display);font-stretch:105%;color:var(--ink)}
.om-disc .om-label small{display:block;font:600 clamp(9px,.9vw,12px)/1.3 var(--text);color:var(--ink);margin-top:8px;letter-spacing:.06em;text-transform:uppercase}
.om-disc::after{content:"";position:absolute;inset:49%;border-radius:50%;background:var(--ink)}
.om-word{font:800 clamp(40px,10.8vw,176px)/.82 var(--display);font-stretch:108%;text-transform:uppercase;letter-spacing:-.04em;margin-left:-.04em;white-space:nowrap}
.om-lede{font-size:clamp(20px,2.2vw,30px);line-height:1.3;max-width:24ch;margin-top:clamp(20px,3vw,36px);color:var(--cream);text-wrap:balance}
.om-now{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 40px;align-items:end;margin-top:clamp(40px,6vw,88px)}
.om-now .rows{max-width:620px}
.om-now .rows>div{grid-template-columns:minmax(0,1fr) auto}
.om-now .rows>div>:first-child{color:var(--cream);font-size:15px}
.om-now .rows>div>:last-child{color:var(--frost);font-size:14px;text-align:right}
@media (max-width:760px){.om-now{grid-template-columns:1fr}.om-disc{width:96vw;right:-46vw;top:120px;margin-top:0;opacity:.75}}

.roster{list-style:none;margin:0;padding:0;border-top:1px solid var(--cream)}
.roster-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 40px;align-items:end;padding:clamp(28px,4vw,48px) 0;border-bottom:1px solid var(--line);text-decoration:none;position:relative}
.roster-name{font:800 clamp(40px,8.4vw,128px)/.86 var(--display);font-stretch:112%;text-transform:uppercase;letter-spacing:-.03em;transition:color .4s var(--ease),transform .6s var(--ease)}
.roster-name span{color:var(--ice)}
.roster-meta{color:var(--body);font-size:15px;margin-top:16px}
.roster-side{text-align:right;font-size:14px;color:var(--frost);display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.roster-side .go{display:inline-flex;align-items:center;gap:10px;margin-top:10px;color:var(--cream);font-weight:600;font-size:15px}
.roster-side .go svg{width:22px;height:22px;transition:transform .5s var(--ease)}
.roster-row:hover .roster-name{transform:translateX(18px)}
.roster-row:hover .go svg{transform:translateX(6px)}
.roster-inline{display:none}
.roster-float{position:fixed;left:0;top:0;width:280px;aspect-ratio:4/5;margin:-175px 0 0 -140px;pointer-events:none;z-index:40;overflow:hidden;opacity:0;transform:scale(.8) rotate(-4deg);transition:opacity .35s,transform .5s var(--ease)}
.roster-float img{width:100%;height:100%;object-fit:cover}
.roster-float.on{opacity:1;transform:scale(1) rotate(-4deg)}
@media (hover:none),(max-width:900px){.roster-float{display:none}.roster-inline{display:block;margin-bottom:20px;aspect-ratio:16/10;overflow:hidden}.roster-inline img{width:100%;height:100%;object-fit:cover;object-position:center 30%}.roster-row{grid-template-columns:1fr}.roster-side{align-items:flex-start;text-align:left}}

.om-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:end}
@media (max-width:860px){.om-feature{grid-template-columns:1fr}}
.om-about{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:clamp(32px,6vw,96px)}
@media (max-width:860px){.om-about{grid-template-columns:1fr}}
@media (max-width:760px){.om-disc{opacity:.4}}

/* real logo in motion pieces */
.om-word{font-size:0;line-height:0;white-space:normal}
.om-logo{position:relative;display:inline-block;width:min(74vw,1000px)}
@media (max-width:760px){.om-logo{width:80vw}}
.om-logo .om-w{width:100%;height:auto;display:block}
.om-logo .ast{position:absolute;left:100%;top:1.83%;width:10.84%;height:auto;transform-origin:50% 50%}
.om-disc .om-label img{width:72%;height:auto;display:block;margin:0 auto}
.wipe img{width:min(56vw,520px);height:auto}
.cd-label .cd-logo{position:relative;display:grid;place-items:center;width:100%;height:100%}
.cd-label .cd-logo img{grid-area:1/1;height:auto;transition:opacity .25s}
.cd-label .cd-ast{width:46%}
.cd-label .cd-full{width:80%;opacity:0}
.cur-disc.is-link .cd-ast{opacity:0}
.cur-disc.is-link .cd-full{opacity:1}
.cur-disc.is-link .cd-vinyl{width:108px;height:108px;margin:-54px 0 0 -54px}
.cur-disc.is-link .cd-label{width:64px;height:64px;margin:-32px 0 0 -32px}
.cur-disc.is-link .cd-logo{font-size:0}
@media (min-width:761px){.om-disc{top:62%}}

/* censored puzzle graphic */
.censor-wrap{margin:0}
.censor{position:relative;aspect-ratio:4/5;max-width:100%;overflow:hidden;background:#0B0D10;border:1px solid var(--line);touch-action:pan-y;cursor:crosshair}
.censor canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.censor-tag{position:absolute;left:14px;top:14px;font:600 12px/1 var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:var(--ice);padding:7px 10px;border-radius:999px}
.cap-touch{display:none}
@media (hover:none){.cap-fine{display:none}.cap-touch{display:inline}}
