/* =========================
   RESET / BASE
========================= */
body, div, dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
pre, code, form, fieldset, legend,
input, button, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

table { border-collapse: collapse; border-spacing: 0; }
fieldset, img { border: 0; }

address, caption, cite, code, dfn, em, strong, th, var, optgroup {
  font-style: inherit;
  font-weight: inherit;
}

del, ins { text-decoration: none; }
li { list-style: none; }
caption, th { text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: 400;
}

q:before, q:after { content: ''; }

abbr, acronym {
  border: 0;
  font-variant: normal;
}

sup, sub { vertical-align: baseline; }
legend { color: #000; }

input, button, textarea, select, optgroup, option {
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
}

input, button, textarea, select { font-size: 100%; }


/* =========================
   PAGE BASICS
========================= */

body {
  background: #000 url(../images/background.jpg) top center no-repeat fixed !important;
  font-family: Verdana, Geneva, sans-serif;
  padding: 0 !important;
  margin-top: 0 !important;
}

img { border: 0; margin: 0; }
img.pix { border: 0; margin: 15px; }

#background {
  position: inherit;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: url(../img/gal/bg.png) no-repeat center;
}

a.unii {
  width: 200px;
  height: 25px;
  position: fixed;
  left: 0;
  bottom: 0;
  background: url(../img/website-by-u-night.png) no-repeat 0 0;
  text-indent: -3000px;
  display: inline;
}
a.unii:hover {
  background: url(../img/website-by-u-night.png) no-repeat 0 -25px;
}

.pictures {
  width: 1000px;
  height: 500px;
  right: 50% !important;
  margin-right: 150px !important;
}

/* =========================
   FONTS
========================= */

@font-face {
  font-family: 'Aldrich';
  font-style: normal;
  font-weight: 400;
  src: local('aldrich'),
       url(https://themes.googleusercontent.com/static/fonts/aldrich/v3/VWXaIPGrUapL_Y2vGs0lKALUuEpTyoUstqEm5AMlJo4.woff) format('woff');
}

@font-face {
  font-family: 'Michroma';
  font-style: normal;
  font-weight: 400;
  src: local('michroma'),
       url(https://themes.googleusercontent.com/static/fonts/michroma/v4/FZQqjemuMkmQGwk1YxMXlXYhjbSpvc47ee6xR_80Hnw.woff) format('woff');
}

h1, h2, h3, h4, h5 {
  font-family: Aldrich, Verdana, Geneva, sans-serif;
}

/* jouw CSS had 2x h1; de “laatste” wint, dus die hou ik aan */
h1 {
  margin-top: 150px;
  font: 4em/1em Aldrich;
  color: #c4c4c4;
}

img.logo {}

/* =========================
   SECTION / SCROLLSTORIES
========================= */

.ss-row.title {
  position: relative;
  float: left;
  clear: both;
  width: 100%;
  background: url(../images/backgroundx.jpg) top center no-repeat fixed !important;
}

.black h2 {
  font: 9.8em/1em Aldrich;
  margin: 0;
  padding-top: 50px;
  color: #000;
}

.ss-left h2 { margin-right: -100px; }
.ss-right h2 { margin-left: -100px; }

.ss-left h3 {
  margin: 30px -50px 0 auto;
  padding-top: 10px;
}
.ss-right h3 {
  margin-left: -100px;
  padding-top: 0;
}

h2.ss-subtitle {
  padding: 10px 10px 40px;
  font-size: 52px;
  text-transform: uppercase;
  color: rgba(0,0,0,.8);
  position: relative;
  text-shadow: 1px 1px 2px rgba(0,0,0,.2);
}

h2.ss-subtitle:before {
  width: 4px;
  height: 40px;
  background: rgba(17,17,22,.8);
  content: '';
  position: absolute;
  right: 75%;
  margin-right: -4px;
  bottom: -4px;
  -moz-border-radius: 2px 2px 0 0;
  -webkit-border-radius: 2px 2px 0 0;
  border-radius: 2px 2px 0 0;
}

h2.ss-subtitle:after {
  width: 25%;
  height: 0;
  border-bottom: 4px dotted rgba(17,17,22,.8);
  content: '';
  position: absolute;
  right: 50%;
  margin-right: -1px;
  bottom: -4px;
}

h3 {
  color: #3b3b3b;
  padding-top: 10px;
  text-transform: uppercase;
}

h3.releases { font: 5em/1em Aldrich; }
h3.hardware { font: 5em/1em Aldrich; }
h3.software { font: 5em/1em Aldrich; }
h3.manipulating { font: 5em/1em Aldrich; }
h3.underground { font: 5em/1em Aldrich; }
h3.label { font: 5em/1em Aldrich; }
h3.artist { font: 5em/1em Aldrich; }
h3.share { font: 4.2em/1em Aldrich; }
h3.rel { font: 6.2em/1em Aldrich; }
h3.set { font: 6em/1em Aldrich; }

h4 {
  margin: 0 0 5px;
  color: #adadad;
}
h4.note {
  padding-top: 103px;
  font-size: 24px;
}

.stevo { float: left; width: 580px; }
.left { float: left; }
.right { float: right; }

.ss-links a {
  background: #000;
  font: 14px Aldrich;
  text-transform: uppercase;
  width: 222px;
  height: 40px;
  color: #fff;
  margin: 5px;
  float: left;
  text-decoration: none;
  display: block;
}
.ss-links a span {
  color: #debd05;
  font-size: 12px;
}
.ss-links a:hover {
  background: url(../images/white-trans-25.png) repeat scroll 0 0 transparent;
  color: #000;
}
.ss-links a:active {
  background: url(../images/white-trans-25.png) repeat scroll 0 0 transparent;
  color: #000;
}

.ss-container h3 span {
  color: rgba(255,255,255,.8);
  font-size: 13px;
  display: block;
  padding-bottom: 5px;
}
.ss-container h3 a {
  font-size: 28px;
  color: rgba(255,255,255,.9);
  display: block;
}
.ss-container h3 a:hover { color: rgba(255,255,255,1); }

#menu_container {
  height: 40px;
  width: 100%;
  background: url(../images/black-trans-75.png) repeat scroll 0 0 transparent;
  position: fixed;
  top: 0;
  z-index: 999;
}

#ss-links { width: 960px; margin: 0 auto; }
img.play { margin-top: 20px; }

/* jouw CSS had .ss-links a later nog een keer; “laatste” wint -> ik neem die versie */
.ss-links a {
  background: 0;
  font-size: 16px;
  width: 212px;
  height: 30px;
  padding: 5px;
  margin: 0;
  float: left;
  display: block;
}
.ss-links a:hover {
  background: url(../images/white-trans-25.png) repeat scroll 0 0 transparent;
  color: #fff;
}
.ss-links a:active {
  background: url(../images/white-trans-25.png) repeat scroll 0 0 transparent;
  color: #000;
}

.ss-container {
  width: 100%;
  position: relative;
  text-align: left;
  float: left;
  overflow: hidden;
  padding-bottom: 500px;
}

.ss-container h2 { text-transform: uppercase; }

.ss-container:before {
  position: absolute;
  width: 4px;
  top: 0;
  left: 50%;
  margin-left: -2px;
  content: '';
  height: 100%;
}

.ss-row {
  width: 100%;
  clear: both;
  position: relative;
  padding: 0 0;
}

div.ss-row.ss-small {
  height: auto;
  color: #666;
}
div.ss-row.ss-small p {
  margin: 0;
  margin-bottom: 10px;
}

p.small {
	padding-left: 30px;
	border-left: 3px solid #333;
	color: #8e8e8e;
	font-style: italic;
}
  

.ss-left {
  width: 48%;
  position: relative;
  text-align: right;
  float: left;
  padding-right: 2%;
  color: #666;
}

.ss-left h3 {
  text-align: right;
  width: 1200px;
  color: #c4c4c4;
}

.ss-right {
  float: left;
  width: 48%;
  position: relative;
  padding-left: 2%;
  color: #666;
}

.media-item { float: left; margin: 10px; }

.ss-small .ss-circle { width: 450px; }
.ss-medium .ss-circle { width: 200px; }
.ss-large .ss-circle { width: 300px; }

.ss-circle-deco:before {
  width: 29%;
  height: 0;
  border-bottom: 5px dotted #333;
  position: absolute;
  top: 50%;
  content: '';
  margin-top: -3px;
}

.ss-circle-deco:after {
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  content: '';
  position: absolute;
  top: 50%;
  margin-top: -10px;
}

.ss-left .ss-circle-deco:before { right: 2%; }
.ss-right .ss-circle-deco:before { left: 2%; }

.ss-left .ss-circle-deco:after {
  right: 0;
  border-right: 30px solid #debd05;
}
.ss-right .ss-circle-deco:after {
  left: 0;
  border-left: 10px solid rgba(17,17,22,.8);
}

.ss-left .ss-circle { float: right; margin-right: 30%; }
.ss-right .ss-circle { float: left; margin-left: 30%; }

/* =========================
   FORM / OVERLAY (CLEAN + FIX)
========================= */

input, textarea {
  padding: 8px;
  border: 2px solid rgba(0,0,0,1);
  font: normal 16px Aldrich, Verdana, Tahoma, sans-serif;
  width: 350px;
  background: rgba(21,21,21,0.85);
  box-shadow: rgba(0,0,0, 0.1) 0px 0px 8px;
  -moz-box-shadow: rgba(0,0,0, 0.1) 0px 0px 8px;
  -webkit-box-shadow: rgba(0,0,0, 0.1) 0px 0px 8px;
  color: #a0a0a0;
}

textarea {
  width: 480px;
  max-width: 480px;
  height: 150px;
  line-height: 150%;
}

input:hover, textarea:hover,
input:focus, textarea:focus {
  -moz-box-shadow: 0 0 20px black;
  -webkit-box-shadow: 0 0 20px black;
  box-shadow: 0 0 3px #debd05;
  background-color: rgba(0,0,0,0.75);
}

.form label {
  margin-left: 12px;
  padding-top: 5px;
  color: #666;
  width: 117px;
  float: left;
  font-size: 16px;
}

.submit input {
  width: auto;
  border: 2px solid black;
  padding: 5px 14px;
  border-radius: 10px;
  background: #debd05;
  font-size: 14px;
  color: #000;
  font-weight: bold;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  cursor: pointer;
}

#wrapper {
  margin: 30px auto;
  width: 500px;
}
/* =========================
   OVERLAY / CONTACT FORM (FINAL FIX)
   paste at bottom to override everything
========================= */

/* Fullscreen overlay + blur the page behind it */
.apple_overlay {
	display: none;                 /* overlay plugin toggles this */
	position: fixed;
	inset: 0;
	z-index: 99999;
  
	/* instead of full black: slightly dim + blur */
	background: rgba(0,0,0,0.50);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
  }
  
  /* Optional extra vignette (nice, not required) */
  .apple_overlay::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(
	  circle at center,
	  rgba(0,0,0,0.10) 0%,
	  rgba(0,0,0,0.45) 70%,
	  rgba(0,0,0,0.60) 100%
	);
  }
  
  /* Responsive panel sizing */
  #petrol{
	--panel-w: min(520px, 92vw);
	--panel-h: min(520px, 88vh);
	--panel-pad-x: clamp(16px, 4vw, 40px);
	--panel-pad-y: clamp(16px, 3.5vh, 30px);
  }
  
  /* Petrol image panel */
  #petrol::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: var(--panel-w);
	height: var(--panel-h);
	transform: translate(-50%, -50%);
  
	background: url(../img/overlay/petrol.png) no-repeat center;
	background-size: cover;
  
	border-radius: 14px;
	box-shadow: 0 24px 70px rgba(0,0,0,0.70);
	z-index: 0;
  }
  
  /* Form container on top of petrol */
  #petrol #form-div {
	position: absolute;
	left: 50%;
	top: 50%;
	width: var(--panel-w);
	height: var(--panel-h);
	transform: translate(-50%, -50%);
	box-sizing: border-box;
	z-index: 1;
  
	/* glass look */
	background: rgba(33,33,33,0.78);
  
	/* remove “white ugly rim”: keep border subtle/dark */
	border: 12px solid rgba(0,0,0,0.45);
	border-radius: 14px;
  
	padding: var(--panel-pad-y) var(--panel-pad-x);
  
	/* KEY: make layout manage its own height */
	display: flex;
  }
  
  /* Form takes full height and pushes submit to bottom */
  #petrol .form {
	margin: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: 10px;
  }
  
  /* Title: responsive so it won't force scrolling */
/* Titel altijd op 1 regel, iets compacter */
#petrol h3.hardware {
	font-size: clamp(14px, 1.9vw, 24px) !important;
	line-height: 1 !important;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	letter-spacing: 0.04em;
  }
  
  /* Tighter paragraph spacing */
  #petrol .form p { margin: 0; }
  
  /* Fix label layout (label comes after input in your HTML) */
  #petrol .form label {
	float: none !important;
	width: auto !important;
	margin: 6px 0 0 0 !important;
	padding: 0 !important;
	display: block;
	font-size: 13px;
	color: rgba(255,255,255,0.65);
  }
  
  /* Inputs full width */
  #petrol input[type="text"],
  #petrol input[type="email"],
  #petrol textarea {
	width: 100% !important;
	box-sizing: border-box;
	padding: 10px 12px;
  
	border: 2px solid rgba(0,0,0,0.95);
	background: rgba(21,21,21,0.85);
	color: #a0a0a0;
  
	font: 16px Aldrich, Verdana, Tahoma, sans-serif;
	box-shadow: 0 0 8px rgba(0,0,0,0.15);
  }
  
  /* Make textarea flexible so the submit stays visible */
  #petrol p.text { flex: 1; display: flex; flex-direction: column; }
  #petrol textarea {
	flex: 1;
	min-height: 110px;
	max-height: 240px;
	height: auto;        /* let flex decide */
	resize: none;
  }
  
  /* Focus */
  #petrol input[type="text"]:focus,
  #petrol input[type="email"]:focus,
  #petrol textarea:focus {
	outline: none;
	box-shadow: 0 0 3px #debd05;
	background: rgba(0,0,0,0.75);
  }
  
  /* Submit always at bottom */
  #petrol .submit { margin-top: auto; }
  #petrol .submit input[type="submit"] {
	width: auto !important;
	padding: 8px 18px;
	border: 2px solid #000;
	background: #debd05;
	color: #000;
	font-weight: bold;
	border-radius: 8px;
	cursor: pointer;
  }
  #petrol .submit input[type="submit"]:hover { filter: brightness(1.05); }
  
  /* Close button anchored to panel corner (responsive, no magic margins) */
  #petrol .close {
	position: absolute;
	width: 35px;
	height: 35px;
	cursor: pointer;
  
	background: url(../img/overlay/close.png) no-repeat center;
	background-size: contain;
  
	/* top-right inside the panel */
	top: calc(50% - (var(--panel-h) * 0.5) + 10px);
	left: calc(50% + (var(--panel-w) * 0.5) - 45px);
  
	z-index: 2;
  }
  
  /* Small screens: slightly reduce border/padding so everything fits */
  @media (max-width: 480px) {
	#petrol #form-div {
	  border-width: 10px;
	}
  }
  @media (max-height: 680px) {
	#petrol #form-div {
	  border-width: 10px;
	}
	#petrol input[type="text"],
	#petrol input[type="email"],
	#petrol textarea {
	  padding: 9px 10px;
	}
  }
  
/* contact knop */
p.cunt {
  position: fixed;
  bottom: 0;
  right: 50%;
  margin-right: -400px;
  margin-bottom: 0;
}

button {
  width: 150px;
  height: 30px;
  text-align: center;
  padding-top: 3px;
  padding-bottom: 3px;
  margin-bottom: 3px;
  font-weight: bold;
  background: #debd05;
  border: 2px solid black;
  color: black;
  border-radius: 10px;
}

/* =========================
   PORTFOLIO
========================= */

#portfolio {
  position: relative;
  z-index: 1;
  width: 1000px;
  height: 500px;
  overflow: hidden;
}

#portfolio .gallery,
#portfolio .gallery .inside {
  position: absolute;
  top: 0;
  left: 0;
}

#portfolio .gallery {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#portfolio .gallery .inside { z-index: 1; }

#portfolio .arrows a {
  position: absolute;
  z-index: 3;
  width: 32px;
  height: 32px;
  background-image: url(../img/gal/arrows.png);
  background-repeat: no-repeat;
  outline: none;
  text-indent: -9999px;
}

#portfolio .arrows .prev,
#portfolio .arrows .up { display: none; }

#portfolio .arrows .up,
#portfolio .arrows .down {
  left: 50%;
  margin-left: -16px;
}

#portfolio .arrows .prev,
#portfolio .arrows .next { top: 210px; }

#portfolio .arrows .up {
  background-position: 0 -64px;
  top: 20px;
}

#portfolio .arrows .down {
  background-position: 0 -96px;
  bottom: 20px;
}

#portfolio .arrows .prev {
  background-position: 0 -32px;
  left: 60px;
}

#portfolio .arrows .next {
  background-position: 0 0;
  right: 60px;
}

#portfolio .arrows .up:hover { background-position: -32px -64px; }
#portfolio .arrows .down:hover { background-position: -32px -96px; }
#portfolio .arrows .next:hover { background-position: -32px 0; }
#portfolio .arrows .prev:hover { background-position: -32px -32px; }

#portfolio .item {
  position: absolute;
  top: 0;
  width: 1000px;
  height: 400px;
}

#portfolio .item div {
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
}

#portfolio .item div img {
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -300px;
}

#portfolio .paths {
  position: absolute;
  bottom: 60px;
  left: 50%;
  margin-left: -30px;
  z-index: 4;
}

#portfolio .paths div {
  margin-left: 220px;
  position: absolute;
  top: -420px;
}

#portfolio .paths a {
  background: #333;
  display: block;
  position: absolute;
  left: 0;
  outline: none;
}

#portfolio .paths a:hover,
#portfolio .paths .active { background: #fff; }

/* anchors */

/* =========================
   HERO FIX (alleen echte hero, niet de latere .top ss-small rows)
========================= */

.ss-row.top:not(.ss-small) {
	min-height: 100vh;
	display: flex;
	align-items: center;
	overflow: hidden;
  }
  
  .ss-row.top:not(.ss-small) .ss-left,
  .ss-row.top:not(.ss-small) .ss-right {
	float: none !important;
	width: 50%;
	padding: 0;
  }
  
  .ss-row.top:not(.ss-small) .ss-right img {
	display: block;
	width: 100%;
	height: auto;
  }
  
  .ss-row.top:not(.ss-small) .ss-left h1 {
	margin-top: 0;
  }
  
  /* fixed menu = 40px hoog → anchors daaronder laten landen */
#ritzi_lee,
#releases,
#media,
#music {
  scroll-margin-top: 44px;
}


/* MEDIA: rechter knoppen netjes rechts uitlijnen */
.ss-row.ss-small.pix {
	position: relative;
  }
  
  /* portfolio wat smaller zodat er ruimte rechts ontstaat */
  .ss-row.ss-small.pix .ss-left {
	width: calc(100% - 320px);
  }
  
  /* rechter kolom knoppen */
  .ss-row.ss-small.pix .media-buttons {
	position: absolute;
	right: 40px;        /* afstand tot rechterrand */
	top: 170px;         /* schuif omlaag tot het mooi staat onder MEDIA header */
	width: 260px;
	display: flex;
	flex-direction: column;
	gap: 18px;
	z-index: 10;        /* boven de achtergrond, maar niet over je arrows heen */
  }
  
  /* de oude floats uitschakelen als ze nog matchen */
  .ss-row.ss-small.pix .media {
	float: none !important;
  }

  /* =========================
   MEDIA ROW LAYOUT FIX
   - gallery links
   - buttons rechts (verticaal gecentreerd)
========================= */

/* 1) Maak alleen deze row flex i.p.v. float-gedoe */
.ss-row.ss-small.pix {
	display: flex;
	align-items: center;          /* verticaal centreren (pijlen + buttons voelen meteen “in het midden”) */
	justify-content: center;      /* whole block centered */
	gap: 60px;                    /* ruimte tussen gallery en buttons */
  }
  
  /* 2) Kill de oude float-kolommen in deze row */
  .ss-row.ss-small.pix .ss-left,
  .ss-row.ss-small.pix .ss-right {
	float: none !important;
	width: auto !important;
	padding: 0 !important;
  }
  
  /* 3) Gallery blok: vaste breedte, geen rare offsets */
  .ss-row.ss-small.pix #portfolio {
	flex: 0 0 1000px;             /* jouw gallery is 1000px */
	height: 500px;                /* jouw bestaande hoogte */
	margin: 0;                    /* geen extra shifts */
  }
  
  /* 4) Knoppen kolom rechts */
  .ss-row.ss-small.pix .media-buttons {
	position: static !important;  /* GEEN absolute top/right meer */
	flex: 0 0 260px;
	display: flex;
	flex-direction: column;
	gap: 18px;
	align-self: center;           /* extra zekerheid */
	z-index: 10;
  }
  
  /* 5) Als je .media items nog floats hadden: uitzetten */
  .ss-row.ss-small.pix .media {
	float: none !important;
  }
  
  /* MEDIA: voorkom “indraai/rotate” van de linkerkant tijdens scroll */
.ss-row.ss-small.pix .ss-left,
.ss-row.ss-small.pix #portfolio,
.ss-row.ss-small.pix #portfolio .gallery,
.ss-row.ss-small.pix #portfolio .item,
.ss-row.ss-small.pix #portfolio .item div,
.ss-row.ss-small.pix #portfolio .item div img {
  transform: none !important;
  -webkit-transform: none !important;
  transition: none !important;
  -webkit-transition: none !important;
}

/* =========================
   MOBILE RESPONSIVE OVERRIDES
   plak HELEMAAL ONDERAAN
========================= */

@media (max-width: 900px) {

	/* voorkom horizontaal scrollen door oude fixed widths */
	html, body { overflow-x: hidden; }
  
	/* menu container blijft fixed, maar inhoud moet fluid */
	#ss-links {
	  width: 100% !important;
	  margin: 0 !important;
	  display: flex;
	  justify-content: space-between;
	}
  
	/* menu items responsive */
	.ss-links a{
	  width: auto !important;
	  flex: 1;
	  height: auto !important;
	  padding: 10px 8px !important;
	  box-sizing: border-box;
	}
	.ss-links a strong{ font-size: 16px; }
	.ss-links a span{ font-size: 12px; }
  
	/* container padding-bottom 500px sloopt mobile flow */
	.ss-container{
	  padding-bottom: 120px !important;
	}
  
	/* 2 kolommen -> 1 kolom */
	.ss-left, .ss-right{
	  float: none !important;
	  width: 100% !important;
	  padding: 0 16px !important;
	  text-align: left !important;
	  box-sizing: border-box;
	}
  
	/* deze is een grote boosdoener op mobiel */
	.ss-left h3{
	  width: auto !important;     /* was 1200px */
	  margin: 20px 0 10px !important;
	  text-align: left !important;
	}
  
	/* negatieve margins killen op mobiel */
	.ss-left h2, .ss-right h2,
	.ss-left h3, .ss-right h3{
	  margin-left: 0 !important;
	  margin-right: 0 !important;
	}
  
	/* huge titles downscalen */
	h1{ font-size: 2.2em !important; margin-top: 40px !important; }
	.black h2{ font-size: 3.2em !important; padding-top: 20px !important; }
  
	/* portfolio / gallery 100% breed maken */
	#portfolio{
	  width: 100% !important;     /* was 1000px */
	  height: auto !important;    /* was 500px */
	}
	#portfolio .item{
	  width: 100% !important;
	  height: auto !important;
	  position: relative !important;
	}
	#portfolio .item div,
	#portfolio .item div img{
	  position: relative !important;
	  left: auto !important;
	  margin-left: 0 !important;
	  width: 100% !important;
	  height: auto !important;
	  display: block;
	}
  
	/* pijlen/buttons niet buiten beeld */
	#portfolio .arrows a{
	  transform: scale(0.85);
	}
  }

  @media (max-width: 768px) {

	h3.releases {
		font-family: Aldrich, Verdana, Geneva, sans-serif;
		font-weight: 100;
	}
	
	h3.hardware {
		font-family: Aldrich, Verdana, Geneva, sans-serif;
		font-weight: 100;
	}
	
	h3.software {
		font-family: Aldrich, Verdana, Geneva, sans-serif;
		font-weight: 100;
	}
	h3.manipulating {
		font-family: Aldrich, Verdana, Geneva, sans-serif;
		font-weight: 100;
	}
		
  }
  
  @media (max-width: 768px) {
	/* extra compact menu */
	.ss-links a strong{ font-size: 14px; }
	.ss-links a span{ font-size: 11px; }
  
	/* nog kleinere headings zodat niets afkapt */
	.black h2{ font-size: 2.6em !important; }
  }
  
  @media (max-width: 768px) {

	html, body { 
	  width: 100%;
	  overflow-x: hidden;
	}
  
	/* iOS/Safari heeft vaak issues met fixed background */
	body {
	  background-attachment: scroll !important;
	  background-position: top center !important;
	  background-size: cover !important;
	}
  
	/* alles wat nu hard 1000/960px is -> responsive maken */
	#ss-links,
	.pictures,
	#portfolio,
	#wrapper {
	  width: 100% !important;
	  max-width: 100% !important;
	  margin: 0 auto !important;
	}
  }

  @media (max-width: 768px) {

	/* #menu_container {
	  height: auto;
	  padding: 8px 0;
	} */
  
	#ss-links {
	  display: flex;
	  flex-wrap: wrap;
	  gap: 6px;
	  padding: 0 10px;
	  box-sizing: border-box;
	}
  
	.ss-links a {
	  float: none !important;
	  width: calc(50% - 6px) !important; /* 2 kolommen */
	  height: auto !important;
	  padding: 6px 8px !important;
	  box-sizing: border-box;
	}
  
	.ss-links a { font-size: 14px !important; }
	.ss-links a span { font-size: 11px !important; }
  }

  @media (max-width: 768px) {

	.ss-left,
	.ss-right {
	  float: none !important;
	  width: 100% !important;
	  padding: 0 12px !important;
	  text-align: left !important;
	  box-sizing: border-box;
	}
  
	/* jouw h3’s hebben soms enorme breedtes/negatieve margins */
	.ss-left h3,
	.ss-right h3 {
	  width: auto !important;
	  margin: 12px 0 !important;
	}
  }

  @media (max-width: 768px) {

	h1 {
	  margin-top: 70px !important; /* omdat menu fixed is */
	  font-size: clamp(34px, 10vw, 64px) !important;
	  line-height: 1 !important;
	}
  
	.black h2 {
	  font-size: clamp(44px, 14vw, 86px) !important;
	  padding-top: 30px !important;
	}
  }

  @media (max-width: 768px) {

	p.cunt {
	  right: 12px !important;
	  left: auto !important;
	  bottom: 12px !important;
	  margin: 0 !important;
	  z-index: 999999 !important;
	}
  
	p.cunt button {
	  width: auto !important;
	  padding: 10px 14px !important;
	}
  }

  @media (max-width: 768px) {
	#portfolio .item div img {
	  position: relative !important;
	  left: auto !important;
	  margin: 0 auto !important;
	  display: block !important;
	  max-width: 100% !important;
	  height: auto !important;
	}
  }

/* =========================
   MOBILE OVERRIDES
   ========================= */
   @media (max-width: 768px) {

	html, body {
	  width: 100%;
	  overflow-x: hidden;
	}
  
	/* alles wat nog floats/kolommen is -> stack */
	.ss-left,
	.ss-right {
	  float: none !important;
	  width: 100% !important;
	  box-sizing: border-box;
	}
  
	.ss-row {
	  width: 100% !important;
	  box-sizing: border-box;
	}
  
	/* ===== HERO TOP (logo + face) ===== */
	.ss-row.top {
	  display: block !important;
	}
  
	.ss-row.top .ss-left,
	.ss-row.top .ss-right {
	  padding: 12px 12px 0 12px !important;
	}
  
	.ss-row.top h1 {
	  font-size: clamp(26px, 8vw, 42px) !important;
	  line-height: 0.95 !important;
	  margin: 0 0 10px 0 !important;
	}
  
	/* logo NIET fixed op mobiel */
	img.logo {
	  position: static !important;
	  display: block !important;
	  max-width: 180px !important;
	  width: 55vw !important;
	  height: auto !important;
	  margin: 8px 0 12px 0 !important;
	}
  
	.ss-row.top .ss-right img {
	  width: 100% !important;
	  height: auto !important;
	  display: block !important;
	}

	#ss-links {
	  width: 100% !important;
	  max-width: 100% !important;
	  margin: 0 !important;
	  padding: 8px 10px !important;
	  box-sizing: border-box;
  
	  display: flex !important;
	  flex-wrap: wrap !important;
	  gap: 6px !important;
	}
  
	#ss-links a {
	  float: none !important;
	  width: calc(50% - 6px) !important;
	  height: auto !important;
	  padding: 8px 8px !important;
	  box-sizing: border-box;
  
	  font-size: 14px !important;
	  line-height: 1.1 !important;
	}
  
	#ss-links a span {
	  font-size: 11px !important;
	  line-height: 1.1 !important;
	}

	/* ===== YOUTUBE iframe responsive ===== */
	.ss-circle iframe {
	  width: 100% !important;
	  height: auto !important;
	  aspect-ratio: 16 / 9;
	  display: block;
	}
  
	/* ===== MEDIA: gallery + buttons onder elkaar ===== */
	#portfolio,
	.gallery,
	.gallery .inside {
	  width: 100% !important;
	  max-width: 100% !important;
	  box-sizing: border-box;
	}
  
	/* maak images responsive (je gallery plugin kan nog steeds scrollen) */
	#portfolio img {
	  max-width: 100% !important;
	  height: auto !important;
	}
  
	/* buttons onder de gallery, netjes gecentreerd */
	.media-buttons {
	  width: 100% !important;
	  margin: 12px 0 0 0 !important;
	  padding: 0 12px !important;
	  box-sizing: border-box;
  
	  display: flex !important;
	  gap: 10px !important;
	  justify-content: center !important;
	  align-items: center !important;
	  flex-wrap: wrap !important;
	}
  
	.media-buttons .media {
	  flex: 1 1 30%;
	  max-width: 220px;
	}
  
	.media-buttons img.pix {
	  width: 100% !important;
	  height: auto !important;
	  display: block !important;
	}
  
	/* ===== CONTACT knop: altijd zichtbaar ===== */
	p.cunt {
	  position: fixed !important;
	  right: 12px !important;
	  left: auto !important;
	  bottom: calc(12px + env(safe-area-inset-bottom)) !important;
	  margin: 0 !important;
	  z-index: 999999 !important;
	}
  
	p.cunt button {
	  width: auto !important;
	  padding: 10px 14px !important;
	}
  
	/* (optioneel) form spacing */
	#form-div { padding: 12px !important; }
  }
  
  /* === MOBILE NAV BEHAVIOR === */
@media (max-width: 768px) {
	:root {
	  --navH: 100px; /* menu hoogte op mobile (pas aan als nodig) */
	}

	/* basis layout van je menu op mobile (2 regels tekst etc.) */
	#ss-links {
	  display: flex;
	  gap: 0;
	  justify-content: space-between;
	  align-items: stretch;
	  background: rgba(0,0,0,0.92);
	  padding: 10px 10px;
	  box-sizing: border-box;
	}
  
	#ss-links a {
	  flex: 1;
	  text-align: left;
	  padding: 0 6px;
	  white-space: normal;        /* mobile: wél mogen wrappen */
	  line-height: 1.05;
	}

	/* ruimte onderin zodat content niet achter bottom-nav valt */
	body.nav-bottom {
	  padding-bottom: var(--navH);
	}
  
	/* ruimte bovenin zodat content niet achter top-nav valt */
	body.nav-top {
	  padding-top: var(--navH);
	  padding-bottom: 0;
	}
  }
  
  @media (max-width: 768px) {
	:root { --navH: 64px;_toggleMe: 0; } /* navH wordt hieronder toch dynamisch door padding geregeld */
  
	/* CONTACT button wrapper (jij hebt: <p class="cunt"><button ...> ) */
	p.cunt {
	  position: fixed;
	  left: 0;
	  right: 0;
	  bottom: 0;
	  margin: 0;
	  padding: 8px 12px 10px;
	  z-index: 10000;
	  background: rgba(0,0,0,0.92);
	  box-sizing: border-box;
  
	  /* maakt 'm netjes gecentreerd */
	  display: flex;
	  justify-content: center;
	}
  
	/* zorg dat de button niet buiten beeld valt */
	p.cunt button {
	  width: min(92vw, 360px);
	  max-width: 360px;
	}

	/* body ruimte zodat content niet achter menu/contact verdwijnt */
	body.nav-bottom {
	  padding-bottom: 140px; /* menu + contact samen (tweak indien nodig) */
	  padding-top: 0;
	}
  
	body.nav-top {
	  padding-top: 64px;     /* menuhoogte (tweak indien nodig) */
	  padding-bottom: 76px;  /* contacthoogte (tweak indien nodig) */
	}
  }
  
  @media (max-width: 768px) {
  
	/* jouw link-blok als bar */
	#ss-links {
	  display: flex;
	  gap: 14px;
	  justify-content: space-between;
	  padding: 12px 14px;
	  background: rgba(0,0,0,0.85);
	}
  
	/* Als menu sticky is: geef body top ruimte zodat content niet “onder” menu schuift */
	body.has-sticky-menu {
	  padding-top: 74px; /* later dynamisch maken in JS */
	}
  
	/* Zorg dat anchors niet onder de sticky bar verdwijnen */
	#ritzi_lee, #releases, #media, #music {
	  scroll-margin-top: 90px;
	}
  }

  /* MOBILE ONLY */
@media (max-width: 768px) {

	p.cunt{
	  position: fixed;
	  right: 18px;
	  bottom: calc(env(safe-area-inset-bottom) + 10px);
	  z-index: 10000;
	}
  }

  /* ===== MOBILE MENU BEHAVIOR (final) ===== */
@media (max-width: 768px) {
	:root { --menuH: 72px; } /* JS zet dit dynamisch */
  
	/* menu default: onderaan, boven CONTACT */
	#menu_container{
	  position: fixed;
	  left: 0;
	  right: 0;
	  bottom: calc(env(safe-area-inset-bottom) + 64px); /* ruimte voor contact bar */
	  top: auto;
	  z-index: 9999;
	}
  
	/* zodra sticky: bovenaan */
	#menu_container.is-sticky{
	  top: 0;
	  bottom: auto;
	}
  
	/* wanneer sticky, duw content omlaag zodat het niet eronder schuift */
	body.has-sticky-menu{
	  padding-top: var(--menuH);
	}
  
	/* CONTACT blijft onderaan */
	p.cunt{
	  position: fixed;
	  left: 0;
	  right: 0;
	  bottom: 0;
	  margin: 0;
	  padding: 8px 12px calc(10px + env(safe-area-inset-bottom));
	  z-index: 10000;
	  background: rgba(0,0,0,0.92);
	  display: flex;
	  justify-content: center;
	  box-sizing: border-box;
	}
  
	p.cunt button{
	  width: min(92vw, 360px);
	}
  }
  
  /* =========================
   FINAL MOBILE OVERRIDES (wins)
   ========================= */
@media (max-width: 768px) {
	:root{
	  --menuH: 72px;        /* fallback */
	  --contactH: 56px;     /* fallback */
	  --gap: 12px;
	}
  
	/* CONTACT knop blijft onderaan */
	p.cunt{
	  position: fixed !important;
	  right: 18px !important;
	  left: auto !important;
	  bottom: calc(env(safe-area-inset-bottom) + var(--gap)) !important;
	  z-index: 10000 !important;
	}
  
	/* MENU staat ALTIJD boven CONTACT (op basis van echte contact hoogte) */
	body.nav-bottom #menu_container,
	#menu_container{
	  position: fixed !important;
	  left: 0 !important;
	  right: 0 !important;
	  top: auto !important;
	  bottom: calc(env(safe-area-inset-bottom) + var(--contactH) + (var(--gap) * 2)) !important;
	  z-index: 9999 !important;
	}
  
	/* Als menu bovenaan “sticky” moet zijn */
	body.nav-top #menu_container,
	#menu_container.is-sticky{
	  top: env(safe-area-inset-top) !important;
	  bottom: auto !important;
	}
  }

  @media (max-width: 768px) {
	/* zodra menu bovenaan staat: content start onder menu */
	body.nav-top #ss-container,
	body.has-sticky-menu #ss-container{
	  padding-top: calc(var(--menuH) + env(safe-area-inset-top) + 8px) !important;
	}
  
	/* anchors/sections nooit onder de menu-bar laten eindigen */
	#ritzi_lee, #releases, #media, #music{
	  scroll-margin-top: calc(var(--menuH) + env(safe-area-inset-top) + 8px) !important;
	}
  }
  
  @media (max-width: 768px) {

	/* 1) haal de overlap/negatieve margins weg op mobiel */
	.ss-row.title .ss-left h2,
	.ss-row.title .ss-right h2{
	  margin-left: 0 !important;
	  margin-right: 0 !important;
	}
  
	/* 2) alleen de "echte titel" (links, in .black) groot houden */
	.ss-row.title .black h2{
	  font-size: clamp(44px, 14vw, 86px) !important;
	  line-height: 1 !important;
	  padding-top: 30px !important;
	}
  
	/* 3) subtitel (rechts) kleiner houden zoals op iPad */
	.ss-row.title .ss-right h2{
	  font-size: clamp(20px, 7vw, 44px) !important;
	  line-height: 1.05 !important;
	  padding-top: 18px !important;
	}
  }
  
  /* --- iPhone: restore originele title-layout (links/rechts) --- */
@media (max-width: 768px){

	/* alleen de title-row terug naar 2 kolommen */
	.ss-row.title .ss-left,
	.ss-row.title .ss-right{
	  float: left !important;
	  width: 50% !important;
	  padding: 0 !important;
	}
  
	/* MUSIC links laten “staan” (niet centreren) */
	.ss-row.title .ss-left h2{
	  margin-right: -40px !important;   /* schuift richting midden (kleiner dan desktop) */
	  padding-left: 12px !important;
	  padding-top: 18px !important;
	  line-height: 0.95 !important;
	}
  
	/* RITZI LEE'S rechts -> richting midden */
	.ss-row.title .ss-right h2{
	  margin-left: -40px !important;    /* schuift richting midden (kleiner dan desktop) */
	  padding-right: 12px !important;
	  padding-top: 22px !important;
	  text-align: right !important;
	  line-height: 1 !important;
  
	  /* paar slagen kleiner */
	  font-size: 0.62em !important;     /* t.o.v. jouw basis h2 size */
	  opacity: 0.55;
	}
  
	/* ruimte tussen de 2 regels in de grijze balk verminderen */
	.ss-row.title{
	  padding-bottom: 6px !important;
	}
  }
  
  /* =========================================
   iPhone: TITLE ROW terug naar origineel
   - MUSIC links (groot, komt van links)
   - RITZI LEE'S rechts (kleiner, komt van rechts)
   ========================================= */
@media (max-width: 768px){

	/* 1) Alleen voor de grijze title-balk weer 2 kolommen */
	.ss-row.title .ss-left{
	  float: left !important;
	  width: 48% !important;
	  padding-right: 2% !important;
	  text-align: right !important;
	}
	.ss-row.title .ss-right{
	  float: left !important;
	  width: 48% !important;
	  padding-left: 2% !important;
	  text-align: left !important;
	}
  
	/* 2) MUSIC (links) blijft “links” en schuift richting midden */
	.ss-row.title .black h2{
	  font-size: clamp(44px, 14vw, 86px) !important; /* behoud hiërarchie */
	  line-height: 0.95 !important;
	  margin: 0 !important;
	  padding-top: 30px !important;
	}
	.ss-row.title .ss-left h2{
	  margin-right: -40px !important;  /* richting midden (kleiner dan desktop -100) */
	}
  
	/* 3) RITZI LEE'S (rechts) kleiner en schuift van rechts naar midden */
	.ss-row.title .ss-right h2{
	  margin-left: -40px !important;
	  font-size: clamp(18px, 6vw, 44px) !important;  /* duidelijk kleiner dan MUSIC */
	  line-height: 1 !important;
	  padding-top: 10px !important;
	  opacity: 0.85; /* zoals desktop vibe */
	}
  
	/* 4) Minder “ruimte” tussen de regels in de balk */
	.ss-row.title .ss-left h3,
	.ss-row.title .ss-right h3{
	  margin-top: 8px !important;
	  padding-top: 0 !important;
	  line-height: 1 !important;
	}
  }
  
  /* ===== MOBILE: auto-hide menu (HARD fix) ===== */
@media (max-width: 768px) {

	/* zorg dat we altijd de hele container bewegen */
	#menu_container{
	  position: fixed;
	  left: 0;
	  right: 0;
	  top: 0;                 /* menu zit in "nav-top" state boven */
	  z-index: 9999;
  
	  transform: translate3d(0,0,0);
	  will-change: transform, opacity;
	  transition: transform 220ms ease, opacity 180ms ease;
	}
  
	/* volledig verbergen: 100% van eigen hoogte + extra marge */
	body.menu-hidden #menu_container{
	  transform: translate3d(0, calc(-100% - 14px), 0);
	  opacity: 0;
	  pointer-events: none;
	}
  }

  /* ===== FIX: voorkom scroll-bump bij sticky menu (mobile) ===== */
@media (max-width: 768px) {
	/* menuhoogte wordt al via JS in --menuH gezet */
	#menu_trigger {
	  display: block;
	  height: var(--menuH, 72px);
	}
  
	/* belangrijke fix: geen padding-top “toggle” op body meer */
	body.has-sticky-menu {
	  padding-top: 0 !important;
	}
  }

@media (max-width: 768px) {
  .ss-row.title {
    background-attachment: scroll !important;
  }
}

/* Hide UI while contact overlay is open */
body.overlay-open #menu_container,
body.overlay-open p.cunt {
  display: none !important;
}

/* Optional: lock background scroll when overlay open */
body.overlay-open {
  overflow: hidden;
  touch-action: none;
}

/* =========================================
   MOBILE: YouTube + ss-circle-deco netjes in beeld
   (plak helemaal onderaan)
========================================= */
@media (max-width: 768px) {

	/* 1) Maak ss-circle op mobiel fluid (geen 450px meer) */
	.ss-small .ss-circle {
	  width: min(92vw, 520px) !important;
	  max-width: 100% !important;
	  float: none !important;
	  margin-left: auto !important;
	  margin-right: auto !important;
	  margin-top: 0 !important;
	  margin-bottom: 0 !important; /* default, maar nu niet “gelocked” door shorthand */
  }
	  
  /* 2) Alleen ss-circle die een iframe bevat krijgt 16:9 (quote niet!) */
	.ss-row.ss-small .ss-left div.ss-circle:has(iframe) {
		aspect-ratio: 16 / 9;
		height: auto !important;
  	}
  
  /* iframe vult de ss-circle volledig */
  .ss-row.ss-small .ss-left div.ss-circle iframe {
	width: 100% !important;
	height: 100% !important;
	display: block;
	border: 0;
  }
  
	/* 3) Laat de dotted-line + triangle meeschalen i.p.v. hard-coded sizes */
	.ss-circle-deco::before {
	  width: clamp(70px, 22vw, 160px) !important;   /* was 29% */
	  border-bottom-width: 4px !important;          /* was 5px */
	}
  
	.ss-left .ss-circle-deco::after {
	  border-right-width: clamp(16px, 6vw, 28px) !important; /* was 30px */
	  border-top-width: clamp(8px, 3vw, 10px) !important;
	  border-bottom-width: clamp(8px, 3vw, 10px) !important;
	}
  
	.ss-right .ss-circle-deco::after {
	  border-left-width: clamp(10px, 4vw, 18px) !important;  /* was 10px */
	  border-top-width: clamp(8px, 3vw, 10px) !important;
	  border-bottom-width: clamp(8px, 3vw, 10px) !important;
	}
  }

  @media (max-width: 768px) {

	/* De h3-row direct onder de grijze title balk wordt een echte “strip” */
	.ss-row.title + .ss-row {
	  position: relative;
	  z-index: 3;
	  background: #000;         /* zwarte strip zoals desktop */
	  min-height: 52px;         /* zorgt dat video er niet overheen kruipt */
	  padding: 10px 0 8px;      /* verticale ruimte in de strip */
	  overflow: hidden;         /* houdt alles binnen de strip */
	}
  
	/* THE DJ: onderkant van de strip + gecentreerd */
	.ss-row.title + .ss-row .ss-right h3 {
	  position: absolute;
	  bottom: 30px;              /* <- dit is het “tegen de balk aan” gevoel */
	  left: 50%;
	  transform: translateX(-50%);
	  margin: 0;
  
	  z-index: 4;
	  color: #8e8e8e;
	  letter-spacing: 0.08em;
	  text-transform: uppercase;
	  text-shadow: none;
	  white-space: nowrap;
	  pointer-events: none;
	}
  
	/* Zorg dat de video-row niet omhoog “bijt” */
	.ss-row.title + .ss-row + .ss-row {
	  position: relative;
	  z-index: 1;
	}
  }
  
/* Maak de row een position-context */
.ss-row.block{
	position: relative;
  }
  
  /* De grote overlay titel */
  .ss-row.block .block-title-overlay{
	position: absolute;
	left: 0;
	right: 0;
  
	/* kies waar hij moet zitten */
	top: 0;                 /* of: bottom: 0; als je 'm onderin wilt */
  
	padding: 0 3vw;
	box-sizing: border-box;
  
	white-space: nowrap;
	overflow: visible;
	pointer-events: none;
  
	font-family: inherit;
	font-weight: 300;
	text-transform: uppercase;
	line-height: 0.9;
  
	/* responsive “poster” sizing */
	font-size: clamp(62px, 14vw, 180px);
	color: #bfbfbf;
  }
  
  /* Zorg dat je content niet onder de overlay valt (tweak) */
  .ss-row.block{
	padding-top: clamp(62px, 14vw, 180px);
  }
  
  /* 1) floats clearen zodat de row “echt” hoogte heeft */
.ss-row.block::after{
	content:"";
	display:block;
	clear:both;
  }
  
  /* 2) overlay bovenop */
  .ss-row.block .block-title-overlay{
	z-index: 5;
  }
  
  /* 3) zorg dat "the RECORD LABEL" altijd leesbaar blijft */
  .ss-row.block .ss-right{
	position: relative;
	z-index: 10;
  }
  
  /* =========================================
   MOBILE: keep "Personal Note" connected
   (vertical connector when columns stack)
========================================= */

/* we zetten een class op de juiste row via JS (zie stap 2) */
.ss-row.note-connector {
	position: relative;
  }
  
  @media (max-width: 768px) {
  
	/* maak van die rij één “blok” dat logisch onder elkaar valt */
	.ss-row.note-connector{
	  display: flex !important;
	  flex-direction: column !important;
	  align-items: stretch !important;
	  gap: 14px;
	  padding: 8px 0 18px;
	}
  
	/* forceer mobile stacking (voor deze row) */
	.ss-row.note-connector .ss-left,
	.ss-row.note-connector .ss-right{
	  float: none !important;
	  width: 100% !important;
	  padding: 0 16px !important;
	  box-sizing: border-box;
	  text-align: left !important;
	}
  
	/* zet de note netjes gecentreerd onder de tekst */
	.ss-row.note-connector .ss-right{
	  display: flex !important;
	  justify-content: center !important;
	}
  
	/* kill de desktop offset die ‘m los trekt */
	.ss-row.note-connector h4.note{
	  padding-top: 0 !important;   /* was 103px */
	  margin: 0 !important;
	  font-size: 18px;
	  position: relative;
	}
  
	/* dotted “verbinding” naar boven (van note richting tekst) */
	.ss-row.note-connector h4.note::before{
	  content: "";
	  position: absolute;
	  left: 50%;
	  top: -22px;
	  transform: translateX(-50%);
	  height: 18px;
	  border-left: 4px dotted #333;
	}
  
	/* gele pointer (zelfde kleur als je desktop triangle) */
	.ss-row.note-connector h4.note::after{
	  content: "";
	  position: absolute;
	  left: 50%;
	  top: -15px;                   /* net boven de note */
	  transform: translateX(-50%);
	  width: 0;
	  height: 0;
	  border-left: 12px solid transparent;
	  border-right: 12px solid transparent;
	  border-top: 16px solid #debd05; /* triangle pointing down */
	}
  
}
  
  /* =========================================
   MOBILE: h3 kleiner (works)
   plak helemaal onderaan style.css
========================================= */
@media (max-width: 768px){

	/* 1) “normale” h3’s (The ARTIST / Listen / producing with / etc.) */
	.ss-left h3,
	.ss-right h3{
	  font-size: 18px !important;
	  line-height: 1.1 !important;
	}
  
	/* 2) De grote poster-h3’s met fit-title (RELEASES / hardware / software / manipulating / HYBRID Sets) */
	h3.fit-title{
		font-size: clamp(32px, 9vw, 42px);
		line-height: 0.95;
	
		transform: scale(2.3);
		transform-origin: left center;
	  }
  
  
	/* 3) Safety: mocht ergens nog een “font:” shorthand winnen */
	h3.releases,
	h3.hardware,
	h3.software,
	h3.manipulating,
	h3.label,
	h3.artist,
	h3.set{
	  font-size: inherit !important;
	}
  }
  
/* =========================
   MOBILE: CINEMATIC GALLERY (MEDIA-only, safe)
   ========================= */
   @media (max-width: 768px){

	/* Alleen de media-content row direct NA #media title row */
	#media + .ss-row.ss-small.pix{
	  display: flex !important;
	  flex-direction: column !important;
	  align-items: center !important;
	  gap: 14px !important;
	}
  
	#media + .ss-row.ss-small.pix .ss-left{
	  width: 100% !important;
	  display: flex !important;
	  justify-content: center !important;
	}
  
	/* Alleen het #portfolio binnen die media row */
	#media + .ss-row.ss-small.pix #portfolio{
	  width: 1000px !important;
	  height: 330px !important;          /* cinematic crop: 300–360 */
	  overflow: hidden !important;
  
	  transform: scale(0.58) !important; /* 0.50–0.65 */
	  transform-origin: center center !important;
  
	  position: relative !important;
	}
  
	/* Plugin verwacht absolute positioning: alleen binnen media/portfolio */
	#media + .ss-row.ss-small.pix #portfolio .gallery,
	#media + .ss-row.ss-small.pix #portfolio .gallery .inside,
	#media + .ss-row.ss-small.pix #portfolio .item,
	#media + .ss-row.ss-small.pix #portfolio .item div,
	#media + .ss-row.ss-small.pix #portfolio .item div img{
	  position: absolute !important;
	}
  
	/* pijlen overlay */
	#media + .ss-row.ss-small.pix #portfolio .arrows{
	  position: absolute !important;
	  inset: 0 !important;
	  z-index: 50 !important;
	  pointer-events: none !important;
	}
	#media + .ss-row.ss-small.pix #portfolio .arrows a{
	  pointer-events: auto !important;
	  transform: scale(1.2);
	}
  
	/* knoppen onder de gallery (alleen in media row) */
	#media + .ss-row.ss-small.pix .media-buttons{
	  width: min(92vw, 520px) !important;
	  display: flex !important;
	  justify-content: center !important;
	  gap: 10px !important;
	  flex-wrap: wrap !important;
	  position: static !important;
	  padding: 0 12px !important;
	  box-sizing: border-box !important;
	}
  
	#media + .ss-row.ss-small.pix .media-buttons .media{
	  float: none !important;
	  flex: 1 1 30%;
	  max-width: 220px;
	}
  
	#media + .ss-row.ss-small.pix .media-buttons img.pix{
	  width: 100% !important;
	  height: auto !important;
	  display: block !important;
	  margin: 0 !important;
	}

	/* pijlen verder naar buiten + mooi verticaal gecentreerd */
	#media + .ss-row.ss-small.pix #portfolio .arrows .prev,
	#media + .ss-row.ss-small.pix #portfolio .arrows .next{
	  top: 50% !important;
	  transform: translateY(-50%) scale(1.2) !important;
	}
  
	#media + .ss-row.ss-small.pix #portfolio .arrows .prev{
	  left: 18px !important;   /* lager = dichter bij de rand */
	}
  
	#media + .ss-row.ss-small.pix #portfolio .arrows .next{
	  right: 18px !important;  /* lager = dichter bij de rand */
	}

}

/* =========================================
   MOBILE: About video mag nooit “floaten” of raar stapelen
========================================= */
@media (max-width: 768px){

	/* Alleen iframes die NIET in .ss-circle zitten */
	.ss-row.ss-small iframe:not(.in-circle) {
		display: block;
		width: 85%;
		aspect-ratio: 16 / 9;
		height: auto;
		border: 0;
	}
  
	/* Zorg voor een duidelijke “adem” onder de video */
	.ss-row.ss-small .ss-right iframe{
	  margin-bottom: 2px;
	}
	
	.ss-left.intro .ss-circle {
		margin-bottom: 40px;
	}
	  
  }

  @media (max-width: 768px){
	/* Quote → video (iets kleiner) */
	.ss-row.ss-small .ss-left.intro{ padding-bottom: 8px; }

	/* ruimte tussen quote (links) en video (rechts) */
	.ss-row.ss-small .ss-right > iframe.in-circle{
		margin-top: 18px !important;   /* speel: 12–28px */
	  }
	
  }
  
/* =========================
   THE WORK (mobile-first, curatoriaal)
   Scoped fixes for the WORK section
========================= */

/* 1) Caption onder featured video = liner note (geen quote-look) */
.work-caption{
	margin-top: 10px;
	color: #9a9a9a;
	font-style: normal;           /* kill italic */
	border-left: 0;               /* geen quote-streep */
	padding-left: 0;
	letter-spacing: 0.01em;
	line-height: 1.55;
	max-width: 42ch;
  }
  
  /* 2) Intro tekst rustiger + betere leesbreedte */
  #releases ~ .ss-row.ss-small p{
	line-height: 1.6;
  }
  
  /* 4) Mobile flow: THE WORK sectie moet als 1 kolom lezen
	 (intro links/rechts mag “twee blokken” blijven, maar stacked op mobile) */
  @media (max-width: 768px){
  
	/* THE WORK intro: niet full width "wand of text" */
	#releases + .ss-row.block--releases + .ss-row.ss-small .ss-left,
	#releases + .ss-row.block--releases + .ss-row.ss-small .ss-right{
	  padding: 0 16px !important;
	}
  
	#releases + .ss-row.block--releases + .ss-row.ss-small .ss-left p,
	#releases + .ss-row.block--releases + .ss-row.ss-small .ss-right p{
	  max-width: 52ch;
	  color: #8e8e8e;
	}
  
	/* Spacing ritme (kort/middel zoals je spec) */
	/* Header -> intro: kort */
	#releases + .ss-row.block--releases{ margin-bottom: 6px; }
	#releases + .ss-row.block--releases + .ss-row.ss-small{ margin-bottom: 14px; }
  
	/* Intro -> featured video: middel */
	#releases + .ss-row.block--releases + .ss-row.ss-small + .ss-row.ss-small{
	  margin-top: 10px;
	  margin-bottom: 18px;
	}
  
	/* Video -> caption: kort */
	#releases + .ss-row.block--releases + .ss-row.ss-small + .ss-row.ss-small .work-caption{
	  margin-top: 8px;
	}
  
	/* YouTube in THE WORK: full width, netjes */
	#releases ~ .ss-row.ss-small .ss-circle{
	  width: min(92vw, 560px) !important;
	  margin: 0 auto !important;
	  float: none !important;
	}
  
	/* Selected Works items: titel compact, geen extra body tekst */
	#releases ~ .ss-row.ss-small h4{
	  margin-top: 10px;
	  line-height: 1.2;
	  max-width: 52ch;
	}
  
	/* Als er tóch nog <p> per item blijft staan: op mobile verbergen (failsafe) */
	#releases ~ .ss-row.ss-small h4 + p{
	  display: none !important;
	}
  }

/* Selected Works = entries, niet feed */
.work-item .ss-left { text-align: left; }
.work-details { width: 100%; }

.work-summary{
  list-style: none;
  display: flex;
  gap: 12px;
  align-items: center;
  cursor: pointer;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.work-summary::-webkit-details-marker{ display:none; }

.work-thumb{
  width: 96px;
  height: 54px;
  object-fit: cover;
  opacity: 0.9;
  border: 1px solid rgba(255,255,255,0.10);
}

.work-meta{
  color: #adadad;
  font-family: Aldrich, Verdana, Geneva, sans-serif;
  letter-spacing: 0.02em;
}

.work-video{
  margin: 10px 0 18px;
  aspect-ratio: 16 / 9;
}

.work-video iframe{
  width: 100%;
  height: 100%;
  display:block;
  border:0;
}

/* Featured block: net iets meer ‘gewicht’ en scheiding */
#releases ~ .ss-row.ss-small.featured-work{
	margin-top: 8px;
	padding-bottom: 14px;
	border-bottom: 1px solid rgba(255,255,255,0.10);
  }
  
  #releases ~ .ss-row.ss-small.featured-work .work-caption{
	margin-top: 10px;
	max-width: 48ch;
  }

  /* ===== Selected Works list layout ===== */

.work-details{
	width: 100%;
  }
  
  .work-summary{
	list-style: none;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 0;
	cursor: pointer;
  
	border-bottom: 1px solid rgba(255,255,255,0.10);
  }
  
  .work-summary::-webkit-details-marker{ display:none; }
  
  .work-thumb-wrap{
	flex: 0 0 auto;
	width: 96px;
	height: 54px;
	display: flex;
	align-items: center;
	justify-content: center;
  
	background: rgba(255,255,255,0.03);
	border: 1px solid rgba(255,255,255,0.10);
  }
  
  .work-thumb{
	width: 96px;
	height: 54px;
	object-fit: cover;
	display: block;
	opacity: 0.92;
  }
  
  /* titelregel */
  .work-meta{
	flex: 1 1 auto;
	color: #b2b2b2;
	font-family: Aldrich, Verdana, Geneva, sans-serif;
	line-height: 1.2;
	letter-spacing: 0.02em;
  }
  
  /* open state: ruimte + video consistent 16:9 */
  .work-video{
	margin: 10px 0 18px;
	aspect-ratio: 16 / 9;
  }
  
  .work-video iframe{
	width: 100%;
	height: 100%;
	border: 0;
	display:block;
  }
  
  /* mobile: net wat meer adem */
  @media (max-width: 768px){
	.work-summary{ padding: 12px 0; }
	.work-meta{ font-size: 16px; }
  }
  
  /* =========================================
   SELECTED WORKS TITLE (desktop + mobile)
   Plak helemaal onderaan style.css
========================================= */

/* Desktop/default: maak 'm leesbaar maar subtiel */
h3.work-selected-title{
	font-family: Aldrich, Verdana, Geneva, sans-serif;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.08em;
  
	/* groter dan nu, maar niet zo dominant als "The Work" */
	font-size: clamp(28px, 3.2vw, 54px);
	line-height: 0.95;
  
	color: #bfbfbf;
	transform: none !important; /* safety: nooit per ongeluk schalen */
	width: auto;
	max-width: 100%;
  }
  
  /* Mobile: override de algemene h3.fit-title scale, en maak 'm duidelijk minder dominant */
  @media (max-width: 768px){
	h3.work-selected-title{
	  /* mobile hierarchie: kleiner dan je The Work header */
	  font-size: clamp(26px, 8vw, 40px) !important;
	  line-height: 0.98 !important;
  
	  /* kill de fit-title scaling die jouw mobile rules doen */
	  transform: none !important;
	  transform-origin: initial !important;
	}
  }

  @media (min-width: 1024px){
	.work-details{
	  padding-left: 120px;
	}
  }


/* =========================================
   THE WORK: Featured video subtieler (override juiste selectors)
   Plak helemaal onderaan style.css
========================================= */

/* Desktop: featured blok compacter + meer adem */
#releases ~ .ss-row.ss-small.featured-work{
	margin-top: 14px !important;
	margin-bottom: 18px !important;
	padding-top: 6px !important;
	padding-bottom: 18px !important;
  }
  
  /* Desktop: maak featured video minder dominant */
  #releases ~ .ss-row.ss-small.featured-work .ss-circle{
	width: 380px !important;      /* kleiner dan je standaard 450px */
	max-width: 100% !important;
  
	/* override je default .ss-left .ss-circle float+margin-right */
	float: none !important;
	margin: 0 auto !important;
  
	position: relative !important;
	border: 1px solid rgba(255,255,255,0.10) !important;
	box-shadow: 0 10px 30px rgba(0,0,0,0.35) !important;
  }
  
  /* Matte overlay om YouTube UI optisch te dempen */
  #releases ~ .ss-row.ss-small.featured-work .ss-circle::after{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background: linear-gradient(
	  to bottom,
	  rgba(0,0,0,0.18) 0%,
	  rgba(0,0,0,0.00) 35%,
	  rgba(0,0,0,0.14) 100%
	);
  }
  
  /* Mobile: featured video net iets compacter dan de rest */
  @media (max-width: 768px){
	#releases ~ .ss-row.ss-small.featured-work .ss-circle{
	  width: min(84vw, 520px) !important;  /* wint nu van je algemene 92vw rule */
	}

/* --- THE WORK: extra adem tussen intro tekst en featured video --- */
	.ss-row.featured-work{
		margin-top: 32px !important;   /* ↑ dit is de belangrijkste */
  	}
  
	/* --- THE WORK: featured video minder dominant (lager) --- */
	.ss-row.featured-work .ss-circle{
		aspect-ratio: 16 / 8.5 !important; /* was effectief ~16/9 */
  	}
  

  }
  
/* =========================
   TIMELINE (split rows)
========================= */

.timeline-title{
	font-family: inherit;
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
	color: #bfbfbf;
	margin: 22px 0 8px;
  }
  
  /* Intro staat rechts, zodat hij “van rechts” mee kan komen */
  .timeline-intro{
	font-family: inherit;
	color: #8e8e8e;
	line-height: 1.6;
	max-width: 70ch;
	margin: 0 0 18px;
  }
  
  .timeline-head{
	font-family: inherit;
	font-weight: 600;   /* iets zwaarder dan body */
	color: #bfbfbf;
	line-height: 1.35;
	margin: 0;
  }
  
  /* Body in rechterkolom */
  .timeline-body{
	font-family: inherit;
	font-weight: 400;
	color: #8e8e8e;
	line-height: 1.6;
	max-width: 70ch;
	margin: 0 0 6px;
  }
  
  /* Zorg voor duidelijke scheiding tussen items (maar geen “lijst”) */
  .timeline-item{
	padding-top: 10px;
	padding-bottom: 10px;
  }
  
  @media (max-width: 768px){
	/* Op mobiel: nog steeds split, maar iets compacter */
	.timeline-title{ margin-top: 18px; }
	.timeline-item{ padding-top: 8px; padding-bottom: 8px; }
  }
  
  #music + .ss-row.ss-small p {
	max-width: 60ch;
	line-height: 1.6;
	color: #8e8e8e;
  }

  #music ~ .ss-row img {
	max-width: 100%;
	display: block;
	margin-top: 18px;
  }

/* =========================================
   SECTION SPACER
   Handmatige verticale adem tussen secties
========================================= */

.section-spacer {
	width: 100%;
	height: 180px;   /* basiswaarde desktop */
	clear: both;
  }

  @media (max-width: 768px) {
	.section-spacer {
	  height: 160px;
	}
  }
  
/* =========================================
   SECTION 5 — CONTEXT / MEDIA (archival)
========================================= */

.context-intro-row{
	padding-top: 18px;
  }
  
  .context-intro{
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 16px;
	color: #8e8e8e;
	line-height: 1.65;
	text-align: left;
  }
  
  .context-intro p{
	margin: 0 0 12px;
	font-style: normal;   /* expliciet: geen italic */
  }
  
  @media (min-width: 980px){
	.context-intro{
	  column-count: 2;       /* max 2 tekstkolommen desktop */
	  column-gap: 60px;
	}
	.context-intro p{
	  break-inside: avoid;
	}
  }
  
  /* 3 blocks */
  .context-blocks-row{
	padding-top: 10px;
  }
  
  .context-blocks{
	max-width: 1040px;
	margin: 10px auto 0;
	padding: 0 16px;
	display: flex;
	gap: 40px;
	align-items: flex-start;
  }
  
  .context-block{
	flex: 1 1 0;
	padding-top: 16px;
	border-top: 1px solid rgba(255,255,255,0.10);
  }
  
  .context-block-title{
	font-family: Aldrich, Verdana, Geneva, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #bfbfbf;
	font-size: 16px;
	line-height: 1.2;
	margin-bottom: 10px;
  }
  
  .context-block-body{
	color: #8e8e8e;
	line-height: 1.6;
	max-width: 52ch;
  }
  
  .context-block-foot{
	margin-top: 14px;
	color: rgba(255,255,255,0.35);
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
  }
  
  /* Closing statement */
  .context-statement-row{
	padding-top: 26px;
  }
  
  .context-statement{
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 16px;
	color: #9a9a9a;
	font-size: 13px;
	line-height: 1.6;
	text-align: left;
  }
  
  /* Mobile: alles onder elkaar + ruime spacing */
  @media (max-width: 768px){
	.context-intro{
	  column-count: 1;
	}
  
	.context-blocks{
	  flex-direction: column;
	  gap: 22px;
	}
  
	.context-block{
	  padding-top: 14px;
	}
  }
  
/* =========================================
   CONTACT FOOTER (FOSTER)
   - quiet, archival, non-CTA
========================================= */

.contact-foster{
	width: 100%;
	clear: both;
  
	/* MINIMALE ademruimte — geen hoofdstuk */
	padding: 32px 0 36px;
  
	/* alleen functioneel ivm fixed button */
	margin-bottom: 56px;
  }
  
  
  .contact-foster-inner{
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 16px;
  
	text-align: left;
	color: rgba(255,255,255,0.45);
	line-height: 1.65;
  }
  
  .contact-foster-title{
	font-family: Aldrich, Verdana, Geneva, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.08em;
  
	/* klein, geen headline */
	font-size: 13px;
	color: rgba(255,255,255,0.55);
  
	margin: 0 0 14px;
  }
  
  .contact-foster-inner p{
	margin: 0 0 8px;
	font-size: 12.5px;
  }
  
  
  .contact-foster-lines{
	margin-top: 4px;
  }
  
  
  /* Mobile: iets compacter, maar nog steeds “rustig” */
  @media (max-width: 768px){
	.contact-foster{
	  padding: 24px 0 32px;
	  margin-bottom: 72px; /* exact genoeg voor button */
	}
  
	.contact-foster-inner p{
	  font-size: 12.5px;
	}
  }
  
/* FIX: enorme lege ruimte onderaan */
.ss-container { padding-bottom: 0 !important; }

/* optioneel: maak de laatste spacer kleiner als je 'm wilt houden */
.section-spacer.footer-spacer{ height: 32px; }
@media (max-width: 768px){
  .section-spacer.footer-spacer{ height: 24px; }
  body.nav-bottom{ padding-bottom: 90px !important; } /* alleen als nodig */
}

/* =========================================
   SECTION 5 — CONTEXT entries (compact archival)
========================================= */

.context-entries{
	margin-top: 14px;
	display: flex;
	flex-direction: column;
	gap: 14px;
  }
  
  .context-entry{
	padding-top: 12px;
	border-top: 1px solid rgba(255,255,255,0.08);
  }
  
  .context-entry-title{
	color: #cfcfcf;
	font-family: Aldrich, Verdana, Geneva, sans-serif;
	font-size: 14px;
	letter-spacing: 0.03em;
  }
  
  .context-entry-meta{
	margin-top: 6px;
	font-size: 12px;
	color: rgba(255,255,255,0.45);
	letter-spacing: 0.04em;
  }
  
  .context-entry-desc{
	margin-top: 8px;
	color: #8e8e8e;
	font-size: 13px;
	line-height: 1.6;
	max-width: 52ch;
  }
  
  .context-entry-link{
	display: inline-block;
	margin-top: 10px;
  
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
  
	color: rgba(255,255,255,0.55);
	text-decoration: none;
	border-bottom: 1px solid rgba(255,255,255,0.18);
	padding-bottom: 2px;
  }
  
  .context-entry-link:hover{
	color: rgba(255,255,255,0.78);
	border-bottom-color: rgba(255,255,255,0.30);
  }
  
  /* Secondary entry: smaller + quieter */
  .context-entry--secondary .context-entry-title{
	font-size: 13px;
	color: rgba(255,255,255,0.70);
  }
  .context-entry--secondary .context-entry-desc{
	font-size: 12.5px;
	color: rgba(255,255,255,0.40);
  }
  .context-entry--secondary .context-entry-meta{
	color: rgba(255,255,255,0.35);
  }
  
  /* Placeholder (optional) */
  .context-entry--placeholder{
	opacity: 0.65;
  }
  .context-entry-link--disabled{
	opacity: 0.45;
	border-bottom-color: rgba(255,255,255,0.10);
	cursor: default;
  }
  