/* ENERGY Music */
/* Fonts: self-hosted */
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/bigshouldersdisplay-normal-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/bigshouldersdisplay-normal-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/bigshouldersdisplay-normal-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/bigshouldersdisplay-normal-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/bigshouldersdisplay-normal-800-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/bigshouldersdisplay-normal-800-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/newsreader-italic-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/newsreader-italic-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/newsreader-normal-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/newsreader-normal-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/newsreader-normal-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/newsreader-normal-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* Tokens ------------------------------------------------------------------- */
:root{
	--ink:#140d0c;          /* oxblood-black base, from the logo red */
	--ink-2:#1d1413;        /* raised surfaces */
	--ink-3:#2a1d1b;        /* lines, inputs */
	--bone:#ece4da;         /* text */
	--bone-dim:#b3a89e;     /* secondary text */
	--stone:#8e9297;        /* brushstroke grey */
	--red:#a3262a;          /* ENERGY red */
	--red-hot:#c4322f;      /* hover, focus */

	--display:'Big Shoulders Display', 'Arial Narrow', 'Roboto Condensed', sans-serif;
	--serif:'Newsreader', Georgia, 'Times New Roman', serif;

	--step--1:clamp(.84rem,.82rem + .1vw,.9rem);
	--step-0:clamp(1.06rem,1rem + .25vw,1.19rem);
	--step-1:clamp(1.3rem,1.2rem + .5vw,1.6rem);
	--step-2:clamp(1.8rem,1.5rem + 1.4vw,2.7rem);
	--step-3:clamp(2.6rem,2rem + 3vw,4.6rem);

	--gutter:clamp(16px,4vw,56px);
	--max:1320px;
	--section:clamp(72px,10vw,150px);
}

/* Base --------------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{
	margin:0;background:var(--ink);color:var(--bone);
	font-family:var(--serif);font-size:var(--step-0);line-height:1.6;
	font-optical-sizing:auto;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
}
/* Film grain over everything, echoing the distressed logotype */
body::before{
	content:"";position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3{margin:0;font-weight:800;font-family:var(--display);line-height:.95;letter-spacing:.005em}
::selection{background:var(--red);color:#fff}
:focus-visible{outline:2px solid var(--red-hot);outline-offset:3px}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--bone);color:var(--ink);padding:10px 14px;font-family:var(--display);font-weight:700;text-decoration:none}
.skip:focus{top:12px}
.icon{width:1.05em;height:1.05em;flex:none}

.section-title{font-size:var(--step-3);text-transform:uppercase;margin-bottom:.35em;text-wrap:balance}

/* Buttons ------------------------------------------------------------------ */
.btn{
	display:inline-flex;align-items:center;gap:.55em;
	font-family:var(--display);font-weight:700;font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase;
	padding:.8em 1.35em .75em;border:2px solid transparent;text-decoration:none;cursor:pointer;
	transition:background-color .2s,border-color .2s,color .2s;
}
.btn--primary{background:var(--red);color:#fff}
.btn--primary:hover{background:var(--red-hot)}
.btn--ghost{border-color:rgba(236,228,218,.35);color:var(--bone)}
.btn--ghost:hover{border-color:var(--bone)}
.linklike{background:none;border:0;padding:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}

/* Masthead ----------------------------------------------------------------- */
.masthead{position:fixed;inset:0 0 auto;z-index:50;transition:background-color .3s,border-color .3s;border-bottom:1px solid transparent}
.masthead.is-solid{background:rgba(20,13,12,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom-color:var(--ink-3)}
.masthead__inner{display:flex;align-items:center;gap:clamp(16px,3vw,40px);max-width:var(--max);margin:auto;padding:14px var(--gutter)}
.masthead__mark{display:flex;align-items:center;gap:10px;text-decoration:none}
.masthead__mark{transition:opacity .35s ease,transform .35s ease}
.masthead__mark img{display:block;height:46px;width:auto;margin:-4px 0 -4px -6px}
@media (max-width:760px){.masthead__mark img{height:38px}}
.masthead__nav{display:flex;gap:clamp(14px,2.2vw,32px);margin-left:auto}
.masthead__nav a{font-family:var(--display);font-weight:700;font-size:1.08rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--bone-dim);padding:6px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.masthead__nav a:hover{color:var(--bone);border-bottom-color:var(--red)}
.masthead__upm{display:flex;align-items:center;gap:10px;text-decoration:none;padding-left:clamp(14px,2vw,28px);border-left:1px solid var(--ink-3)}
.masthead__upm span{font-size:.8rem;color:var(--bone-dim);font-style:italic;line-height:1.1;max-width:6.5em}
.masthead__upm img{width:96px}

/* Hero --------------------------------------------------------------------- */
.hero{
	position:relative;min-height:100svh;display:flex;align-items:center;
	padding:clamp(110px,14vh,160px) 0 clamp(60px,8vh,100px);
	background:
		radial-gradient(120% 80% at 85% 40%, rgba(163,38,42,.28), transparent 60%),
		radial-gradient(90% 70% at 0% 100%, rgba(142,146,151,.08), transparent 60%),
		var(--ink);
	isolation:isolate;
}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(32px,6vw,96px);align-items:center}
.hero__logo{margin:0 0 clamp(20px,3vw,36px)}
.hero__logo img{width:min(100%,680px);margin-left:-2.2%}
.hero__line{font-family:var(--serif);font-style:italic;font-size:var(--step-2);line-height:1.15;margin:0 0 .6em;color:var(--bone)}
.hero__intro{max-width:34em;color:var(--bone-dim);margin-bottom:2em}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px}


/* Page-load: the one orchestrated moment */
@media (prefers-reduced-motion:no-preference){
	.hero__logo,.hero__line,.hero__intro,.hero__actions{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
	.hero__line{animation-delay:.12s}.hero__intro{animation-delay:.2s}.hero__actions{animation-delay:.28s}
	@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
	@keyframes drop{from{opacity:0;transform:rotate(6deg) translateY(30px)}to{opacity:1;transform:rotate(1.5deg)}}
}

/* New release feature ------------------------------------------------------ */
.hero__grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
.release{
	position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 28px;
	padding:clamp(20px,2.4vw,32px);background:rgba(29,20,19,.72);border:1px solid var(--ink-3);
	box-shadow:0 50px 100px -40px rgba(0,0,0,.85);
}
.release::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--red)}
.release__kicker{grid-column:1/-1;display:flex;align-items:baseline;gap:14px;margin:0}
.release__badge{
	font-family:var(--display);font-weight:800;font-size:clamp(1.9rem,1.4rem + 1.4vw,2.8rem);line-height:.9;
	text-transform:uppercase;color:var(--red-hot);letter-spacing:.01em;
}
.release__kicker time{font-style:italic;color:var(--bone-dim);font-size:1.05rem}
.release__cover{display:block;align-self:start;box-shadow:0 30px 60px -25px rgba(0,0,0,.9);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.release__cover:hover{transform:scale(1.015)}
.release__cover img{width:100%;aspect-ratio:1}
.release__body{display:flex;flex-direction:column;gap:14px;min-width:0}
.release__title{font-size:clamp(2.2rem,1.6rem + 2vw,3.4rem);text-transform:uppercase;line-height:.92}
.release__title span{display:block;margin-top:8px;font-family:var(--serif);font-weight:400;font-style:italic;text-transform:none;font-size:clamp(1.1rem,1rem + .4vw,1.35rem);line-height:1.25;color:var(--bone-dim);letter-spacing:0}
.release__desc{color:var(--bone-dim);font-size:1rem;line-height:1.55;margin:0}
.release__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:auto}
.release__cat{font-style:italic;color:var(--stone);font-size:.95rem}
.release__recent{grid-column:1/-1;border-top:1px solid var(--ink-3);padding-top:16px}
.release__recent h3{font-family:var(--serif);font-weight:400;font-style:italic;text-transform:none;font-size:.95rem;color:var(--stone);margin-bottom:10px}
.release__recent ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.release__recent a{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--bone-dim);font-size:.85rem;line-height:1.25}
.release__recent a:hover{color:var(--bone)}
.release__recent img{width:52px;height:52px;flex:none}
.release__recent strong{display:block;font-family:var(--display);font-weight:800;font-size:1.05rem;letter-spacing:.02em;color:var(--bone);text-transform:uppercase}
@media (prefers-reduced-motion:no-preference){
	.release{animation:rise 1s .25s cubic-bezier(.2,.7,.2,1) both}
}

/* About -------------------------------------------------------------------- */
.about{padding:var(--section) 0;border-top:1px solid var(--ink-3)}
.about__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
.about .section-title{grid-column:1/-1;max-width:12em}
.about__text{grid-column:1/8;font-size:clamp(1.08rem,1rem + .3vw,1.25rem);line-height:1.65}
.about__text p{max-width:32em}
.about__facts{grid-column:9/-1;margin:0;display:grid;gap:28px;align-content:start}
.about__facts div{border-top:2px solid var(--red);padding-top:12px}
.about__facts dt{font-family:var(--display);font-weight:800;font-size:var(--step-2);line-height:1;text-transform:uppercase}
.about__facts dd{margin:4px 0 0;color:var(--bone-dim)}

/* Catalogue ---------------------------------------------------------------- */
.catalogue{padding:var(--section) 0 0;background:var(--ink-2)}
.catalogue__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}
.catalogue__note{color:var(--bone-dim);max-width:32em;margin:0}
.search{display:flex;align-items:center;gap:10px;border-bottom:2px solid var(--ink-3);padding:6px 2px;min-width:min(420px,100%);transition:border-color .2s}
.search:focus-within{border-color:var(--red)}
.search .icon{color:var(--bone-dim);width:20px;height:20px}
.search input{flex:1;background:none;border:0;color:var(--bone);font:inherit;font-size:1rem;outline:none;min-width:0}
.search input::placeholder{color:var(--stone)}

.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.chip{
	font-family:var(--display);font-weight:700;font-size:1.02rem;letter-spacing:.05em;text-transform:uppercase;
	background:transparent;color:var(--bone-dim);border:1px solid var(--ink-3);padding:.4em .85em .35em;cursor:pointer;
	transition:color .2s,border-color .2s,background-color .2s;
}
.chip span{color:var(--stone);font-weight:500;margin-left:.2em}
.chip:hover{color:var(--bone);border-color:var(--stone)}
.chip[aria-pressed="true"]{background:var(--bone);color:var(--ink);border-color:var(--bone)}
.chip[aria-pressed="true"] span{color:var(--red)}
.catalogue__count{color:var(--stone);font-size:var(--step--1);font-style:italic;margin:0 0 20px}

.wall{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--ink)}
@media (min-width:700px){.wall{grid-template-columns:repeat(4,1fr)}}
@media (min-width:1100px){.wall{grid-template-columns:repeat(6,1fr)}}
@media (min-width:1600px){.wall{grid-template-columns:repeat(8,1fr)}}
.tile{position:relative;overflow:hidden;background:var(--ink)}
.tile[hidden]{display:none}
.tile a{display:block;position:relative;text-decoration:none;outline-offset:-3px}
.tile img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .4s}
.tile__info{
	position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;padding:14px;
	background:linear-gradient(to top,rgba(14,8,8,.94) 0%,rgba(14,8,8,.6) 45%,rgba(14,8,8,0) 75%);
	opacity:0;transition:opacity .25s;
}
.tile__cat{font-size:.78rem;font-style:italic;color:var(--bone-dim)}
.tile__name{font-family:var(--display);font-weight:800;font-size:clamp(1.15rem,1.4vw,1.5rem);line-height:1;text-transform:uppercase;color:var(--bone)}
.tile__sub{font-size:.85rem;line-height:1.25;color:var(--bone-dim)}
.tile a:hover img,.tile a:focus-visible img{transform:scale(1.05);filter:brightness(.85)}
.tile a:hover .tile__info,.tile a:focus-visible .tile__info{opacity:1}
@media (hover:none){.tile__info{opacity:1;background:linear-gradient(to top,rgba(14,8,8,.9),rgba(14,8,8,0) 55%)}.tile__sub{display:none}}
.catalogue__empty{padding:40px var(--gutter);color:var(--bone-dim)}
/* Closing tile: fills the last row only where the grid would otherwise be ragged (6 columns: 112 = 18 x 6 + 4) */
.tile--cta{display:none}
@media (min-width:1100px) and (max-width:1599px){
	.tile--cta{display:block;grid-column:span 2}
	.wall.is-filtered .tile--cta{display:none}
}
.tile--cta a{height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:clamp(16px,2vw,28px);background:var(--red);color:#fff;transition:background-color .2s}
.tile--cta a:hover,.tile--cta a:focus-visible{background:var(--red-hot)}
.tile--cta span{font-family:var(--display);font-weight:800;font-size:clamp(1.5rem,2.2vw,2.3rem);line-height:1;text-transform:uppercase;max-width:9em}
.tile--cta .icon{width:32px;height:32px;align-self:flex-end}

/* Listen ------------------------------------------------------------------- */
.listen{padding:var(--section) 0}
.listen__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,72px);align-items:start}
.listen__grid > div:first-child p{color:var(--bone-dim);max-width:26em}
.embed{position:relative;min-height:420px;border:1px solid var(--ink-3);background:var(--ink-2)}
.embed iframe{display:block;width:100%;height:520px;border:0}
.embed__gate{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:16px;min-height:420px;padding:clamp(24px,4vw,48px)}
.embed__gate p{max-width:30em;color:var(--bone-dim);margin:0}
.embed__gate a{font-size:var(--step--1);color:var(--bone-dim)}
.embed__remember{display:flex;gap:8px;align-items:center;font-size:var(--step--1);color:var(--bone-dim);cursor:pointer}
.embed__remember input{accent-color:var(--red);width:16px;height:16px}

/* Selected tracks player ---------------------------------------------------- */
.listen--player{position:relative;overflow:hidden;isolation:isolate}
.listen__glow{
	position:absolute;inset:-20% -10%;z-index:-1;pointer-events:none;
	background:radial-gradient(55% 60% at 22% 45%, rgb(var(--glow, 163 38 42) / .38), transparent 70%),
	           radial-gradient(40% 50% at 85% 70%, rgb(var(--glow, 163 38 42) / .14), transparent 70%);
	transition:background .9s ease;
}
.listen__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 40px;margin-bottom:clamp(28px,4vw,48px)}
.listen__head p{color:var(--bone-dim);max-width:30em;margin:0}

.player{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(28px,4vw,64px);align-items:start}

.stage{position:sticky;top:96px;display:grid;gap:20px}
.stage__art{display:block;width:min(100%,460px);aspect-ratio:1;box-shadow:0 40px 90px -30px rgba(0,0,0,.9),0 0 0 1px rgba(236,228,218,.06);overflow:hidden}
.stage__art img{width:100%;height:100%;object-fit:cover;transition:opacity .35s ease,transform 6s ease}
.listen--player.is-playing .stage__art img{transform:scale(1.04)}
.stage__art img.is-swapping{opacity:0}
.stage__album{margin:0 0 4px;color:var(--bone-dim);font-style:italic}
.stage__album span{font-style:normal;color:var(--stone);margin-left:6px;font-size:.9em}
.stage__title{font-size:clamp(2.2rem,1.5rem + 2.6vw,3.8rem);text-transform:uppercase;line-height:.92;text-wrap:balance}

.stage__wave{display:grid;gap:6px}
.wave{display:block;width:100%;height:84px;cursor:pointer;touch-action:none;border-radius:2px}
.wave:focus-visible{outline:2px solid var(--red-hot);outline-offset:4px}
.stage__times{display:flex;justify-content:space-between;font-size:.85rem;color:var(--stone);font-variant-numeric:tabular-nums}

.stage__controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ctrl{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--ink-3);background:transparent;color:var(--bone);cursor:pointer;border-radius:50%;transition:border-color .2s,background-color .2s}
.ctrl:hover{border-color:var(--bone)}
.ctrl svg{width:20px;height:20px;fill:currentColor}
.ctrl--play{width:68px;height:68px;background:var(--red);border-color:var(--red)}
.ctrl--play:hover{background:var(--red-hot);border-color:var(--red-hot)}
.ctrl--play svg{width:26px;height:26px}
.ctrl--play .i-pause{display:none}
.listen--player.is-playing .ctrl--play .i-play{display:none}
.listen--player.is-playing .ctrl--play .i-pause{display:block}
.stage__license{margin-left:auto}

.tracklist{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink-3)}
.track{display:flex;align-items:stretch;border-bottom:1px solid var(--ink-3);transition:background-color .2s}
.track:hover{background:rgba(236,228,218,.03)}
.track.is-current{background:rgb(var(--glow, 163 38 42) / .12)}
.track__play{flex:1;min-width:0;display:grid;grid-template-columns:34px 48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 8px 12px 4px;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;position:relative}
.track__num{font-family:var(--display);font-weight:700;font-size:1.05rem;color:var(--stone);letter-spacing:.04em;text-align:center}
.track__eq{display:none;position:absolute;left:4px;width:34px;height:16px;align-items:flex-end;justify-content:center;gap:3px}
.track__eq i{display:block;width:3px;height:30%;background:var(--red-hot)}
.track.is-current .track__num{color:var(--red-hot)}
.listen--player.is-playing .track.is-current .track__num{visibility:hidden}
.listen--player.is-playing .track.is-current .track__eq{display:flex}
@media (prefers-reduced-motion:no-preference){
	.track__eq i{animation:eq 1s ease-in-out infinite}
	.track__eq i:nth-child(2){animation-delay:-.35s}
	.track__eq i:nth-child(3){animation-delay:-.7s}
	@keyframes eq{0%,100%{height:25%}50%{height:100%}}
}
.track img{width:48px;height:48px}
.track__text{min-width:0;display:grid}
.track__text strong{font-family:var(--display);font-weight:800;font-size:1.2rem;letter-spacing:.02em;text-transform:uppercase;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.track__text span{font-size:.88rem;color:var(--bone-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.track__len{font-size:.88rem;color:var(--stone);font-variant-numeric:tabular-nums}
.track__upm{display:grid;place-items:center;width:52px;color:var(--bone-dim);border-left:1px solid var(--ink-3);transition:color .2s,background-color .2s}
.track__upm:hover{color:#fff;background:var(--red)}
.track__upm .icon{width:18px;height:18px}

@media (max-width:1000px){
	.player{grid-template-columns:1fr}
	.stage{position:static;grid-template-columns:minmax(0,200px) minmax(0,1fr);align-items:end;gap:18px 22px}
	.stage__wave,.stage__controls{grid-column:1/-1}
}
@media (max-width:560px){
	.stage{grid-template-columns:1fr}
	.stage__art{width:100%}
	.track__play{grid-template-columns:28px 44px minmax(0,1fr);gap:10px}
	.track__len{display:none}
	.stage__license{margin-left:0}
}

/* Licensing ---------------------------------------------------------------- */
.licensing{padding:var(--section) 0;border-top:1px solid var(--ink-3)}
.licensing__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.licensing__upm{width:clamp(150px,18vw,220px)}
.licensing__intro{font-size:var(--step-1);line-height:1.45;max-width:32em;margin:12px 0 48px}
.regions{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));border-top:1px solid var(--ink-3)}
.region{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:22px 20px 24px 0;border-bottom:1px solid var(--ink-3)}
.region h3{font-size:1.6rem;text-transform:uppercase;margin-bottom:6px}
.region a{color:var(--bone-dim);text-decoration:none;font-size:.98rem;word-break:break-word}
.region a:hover{color:var(--bone)}
.region .region__link{display:inline-flex;align-items:center;gap:6px;margin-top:6px;color:var(--bone);text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:4px;text-decoration-thickness:2px}
.region--other h3{color:var(--stone)}

/* Contact ------------------------------------------------------------------ */
.contact{padding:var(--section) 0;background:var(--ink-2)}
.contact__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,96px)}
.contact__grid > div p{color:var(--bone-dim);max-width:28em}
.contact__email{font-family:var(--display);font-weight:700;font-size:var(--step-1);letter-spacing:.02em;color:var(--bone);text-decoration-color:var(--red);text-underline-offset:5px;text-decoration-thickness:2px}
.contact__grid > div .contact__note{font-size:var(--step--1);color:var(--stone);max-width:30em;margin-top:1.4em}
.contact__note strong{font-weight:500;color:var(--bone-dim);margin-right:.35em}
.form{display:grid;gap:18px}
.form__row{display:grid;gap:6px}
.form label{font-family:var(--display);font-weight:700;font-size:1.02rem;letter-spacing:.06em;text-transform:uppercase;color:var(--bone-dim)}
.form input,.form select,.form textarea{
	width:100%;background:var(--ink);color:var(--bone);border:1px solid var(--ink-3);border-radius:0;
	font:inherit;font-size:1rem;padding:.75em .85em;transition:border-color .2s;
}
.form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--bone-dim) 50%),linear-gradient(135deg,var(--bone-dim) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:2.5em}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--red);outline:none}
.form [aria-invalid="true"]{border-color:var(--red-hot)}
.form textarea{resize:vertical;min-height:150px}
.form__trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form__privacy{font-size:var(--step--1);color:var(--stone);margin:0}
.form .btn{justify-self:start}
.form__status{padding:14px 16px;border-left:3px solid;margin:0;font-size:.98rem}
.form__status--ok{border-color:#5d9b6a;background:rgba(93,155,106,.1)}
.form__status--err{border-color:var(--red-hot);background:rgba(196,50,47,.1)}

/* Footer ------------------------------------------------------------------- */
.foot{padding:clamp(56px,8vw,96px) 0 40px;border-top:1px solid var(--ink-3)}
.foot__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px 48px}
.foot__brand img{width:240px;margin-bottom:12px}
.foot__brand p{font-style:italic;color:var(--bone-dim)}
.foot__links{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.foot__links a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--bone-dim);font-family:var(--display);font-weight:700;font-size:1.05rem;letter-spacing:.05em;text-transform:uppercase}
.foot__links a:hover{color:var(--bone)}
.foot__legal{grid-column:1/-1;border-top:1px solid var(--ink-3);padding-top:24px;font-size:var(--step--1);color:var(--stone)}
.foot__legal p{max-width:70em;margin-bottom:.6em}
.foot__small-links{display:flex;gap:20px;flex-wrap:wrap}
.foot__small-links a,.foot__small-links button{color:var(--bone-dim)}

/* Content pages (privacy policy) ------------------------------------------- */
.page{padding:clamp(120px,16vh,180px) 0 var(--section)}
.page__inner{max-width:820px}
.page__title{font-size:var(--step-3);text-transform:uppercase;margin-bottom:.6em}
.prose{line-height:1.7}
.prose h2{font-size:var(--step-2);text-transform:uppercase;margin:1.6em 0 .5em}
.prose h3{font-size:var(--step-1);text-transform:uppercase;margin:1.4em 0 .4em}
.prose p,.prose li{color:var(--bone-dim);max-width:38em}
.prose strong{color:var(--bone)}
.prose a{color:var(--bone);text-decoration-color:var(--red);text-underline-offset:3px}
.prose table{border-collapse:collapse;width:100%;margin:1em 0 1.6em;font-size:.95rem}
.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--ink-3);vertical-align:top}
.prose th{font-family:var(--display);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--bone)}
.prose td{color:var(--bone-dim)}

/* Responsive --------------------------------------------------------------- */
@media (max-width:1180px){
	.hero__grid{grid-template-columns:1fr}
	.release{max-width:760px}
}
@media (max-width:620px){
	.release{grid-template-columns:1fr}
	.release__recent ul{grid-template-columns:1fr}
}
@media (max-width:1000px){
	.masthead__upm span{display:none}
	.about__text,.about__facts{grid-column:1/-1}
	.about__facts{grid-template-columns:repeat(3,1fr)}
	.listen__grid,.contact__grid{grid-template-columns:1fr}
}
.masthead__toggle{display:none}
@media (max-width:760px){
	.masthead__toggle{display:block;order:3;margin-left:4px;width:44px;height:44px;background:none;border:0;color:var(--bone);cursor:pointer;position:relative}
	.masthead__bars,.masthead__bars::before,.masthead__bars::after{position:absolute;left:11px;width:22px;height:2px;background:currentColor;transition:transform .25s,opacity .2s}
	.masthead__bars{top:21px}.masthead__bars::before{content:"";left:0;top:-7px}.masthead__bars::after{content:"";left:0;top:7px}
	.masthead__toggle[aria-expanded="true"] .masthead__bars{background:transparent}
	.masthead__toggle[aria-expanded="true"] .masthead__bars::before{transform:translateY(7px) rotate(45deg)}
	.masthead__toggle[aria-expanded="true"] .masthead__bars::after{transform:translateY(-7px) rotate(-45deg)}
	.masthead__nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;margin:0;padding:8px var(--gutter) 20px;background:rgba(20,13,12,.98);border-bottom:1px solid var(--ink-3)}
	.masthead__nav.is-open{display:flex}
	.masthead__nav a{font-size:1.6rem;padding:12px 0;border-bottom:1px solid var(--ink-3)}
	.masthead.nav-open{background:rgba(20,13,12,.98)}
	.masthead__upm{margin-left:auto;border-left:0;padding-left:0}
	.about__facts{grid-template-columns:1fr}
	.foot__inner{grid-template-columns:1fr}
	.hero{min-height:auto}
}
@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*,*::before,*::after{transition-duration:.01ms!important;animation:none!important}
}

/* Catalogue search: right-aligned, as wide as the hint, grows with longer searches */
.catalogue__tools{flex:0 1 auto;margin-left:auto;max-width:100%}
.search{min-width:0;width:auto}
.search input{flex:0 1 auto;width:31ch;max-width:100%}
@supports (field-sizing:content){.search input{field-sizing:content;width:auto;min-width:31ch}}