:root{
	--gold:#caa000;
	--black:#000000;
	--white:#ffffff;
	--title: 'Archivo', sans-serif;
	--subtitle: 'Squada One', sans-serif;
	--body: 'Alatsi', sans-serif;
	--max-w: clamp(680px, 58vw, 960px);
	--video-w: 80vw;
	--pad-x: clamp(1.5rem, 5vw, 3rem);
	--pad-y: clamp(5rem, 11vw, 9rem);
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
	font-family:var(--body);
	color:var(--black);
	background:var(--white);
	line-height:1.65;
	-webkit-font-smoothing:antialiased;
}
img{display:block; max-width:100%;}
a{color:inherit;}

.wrap{max-width:var(--max-w); margin:0 auto; padding:0 var(--pad-x);}

@media (min-width:760px){
	.wrap.wrap-wide{max-width:var(--video-w); padding:0;}
}

section{padding:var(--pad-y) 0;}
section.gold{background:var(--gold); color:var(--white);}
section.white{background:var(--white); color:var(--black);}

/* language switcher */
.lang-switch{
	position:fixed; top:1.25rem; right:1.25rem; z-index:1000;
	display:flex; border:2px solid var(--black); background:var(--white);
}
.lang-switch a{
	font-family:var(--body); font-weight:700; font-size:0.85rem;
	letter-spacing:0.04em; padding:0.55em 1em;
	text-decoration:none; color:var(--black); background:var(--white);
}
.lang-switch a + a{border-left:2px solid var(--black);}
.lang-switch a.active{background:var(--gold); color:var(--white);}

/* hero */
.hero{
	min-height:160vh;
	display:flex; flex-direction:column; align-items:center;
	text-align:center;
}
.hero-title{
	flex:0 0 100vh;
	width:100%;
	display:flex; align-items:center; justify-content:center;
	padding:0 var(--pad-x);
}
.hero h1{
	font-family:var(--title);
	font-weight:900;
	font-variation-settings:'wght' 900, 'wdth' 125;
	font-size:clamp(2.6rem, 12vw, 13rem);
	line-height:0.95;
	letter-spacing:0.01em;
	color:var(--black);
}
.hero .tagline{
	font-family:var(--body);
	font-weight:700;
	font-size:clamp(1.15rem, 3vw, 2rem);
	color:var(--black);
	line-height:1.5;
	max-width:700px;
	margin-top:auto;
	padding:0 var(--pad-x) var(--pad-y);
}

/* genres */
.genres{text-align:center; font-weight:700; font-size:clamp(1.15rem, 2.6vw, 1.6rem); line-height:1.5;}

/* scroll-linked reveal (see assets/js/site.js) */
[data-reveal]{transition:opacity .1s linear, transform .1s linear;}

/* section headings */
.kicker{
	font-family:var(--subtitle);
	text-transform:uppercase;
	font-size:clamp(2.4rem, 7vw, 5rem);
	line-height:1.05;
	color:var(--gold);
	margin-bottom:1.75rem;
}
section.gold .kicker, section.gold h2.kicker{color:var(--white);}
.subheading{
	font-family:var(--subtitle);
	text-transform:uppercase;
	font-size:clamp(1.7rem, 4vw, 2.6rem);
	line-height:1.1;
	text-align:center;
	margin:3rem 0 1.5rem;
}
.lede{
	max-width:var(--max-w); margin:0 auto; padding:0 var(--pad-x);
	font-size:clamp(1.15rem, 2vw, 1.5rem); line-height:1.7;
}
.lede + .lede{margin-top:1.4rem;}

@media (min-width:760px){
	.lede{max-width:var(--video-w); padding:0;}
}

/* dot-leader rows */
.dotline{
	display:flex; align-items:baseline; gap:0.5em;
	padding:0.7em 0;
	font-size:clamp(1.05rem, 1.8vw, 1.4rem);
}
.dotline .fill{
	flex:1; border-bottom:2px dotted currentColor;
	opacity:0.55; margin-bottom:0.3em;
}
.dotline .label{white-space:nowrap;}
.dotline .value{white-space:nowrap; font-weight:700;}

/* video thumbnails */
.video-row{display:flex; flex-direction:column; gap:2.5rem; margin-top:3rem; width:var(--video-w); margin-left:auto; margin-right:auto;}
.video-thumb{
	position:relative; width:100%; aspect-ratio:16/9; overflow:hidden;
	background:var(--black); cursor:pointer;
}
.video-thumb img{width:100%; height:100%; object-fit:cover;}
.video-thumb iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
.play-circle{
	position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
	width:clamp(56px, 7vw, 88px); height:clamp(56px, 7vw, 88px); border-radius:50%;
	background:rgba(0,0,0,0.55); border:2px solid var(--white);
	display:flex; align-items:center; justify-content:center;
	transition:background .15s ease, transform .15s ease;
}
.video-thumb:hover .play-circle{background:var(--gold); transform:translate(-50%,-50%) scale(1.06);}
.play-circle svg{width:36%; height:36%; fill:var(--white); margin-left:4%;}

/* bio / who is jonzenk */
.album-link{
	display:block; width:min(360px, 70vw); margin:3rem auto;
	overflow:hidden; border:2px solid var(--black);
}
.album-link img{transition:transform .35s ease;}
.album-link:hover img{transform:scale(1.08);}

/* booking formats */
.formats{list-style:none; text-align:center; margin:1.5rem 0 2.5rem;}
.formats li{padding:0.4em 0; font-size:clamp(1.05rem, 1.8vw, 1.4rem);}

/* technical requirements */
.tech-list{list-style:none; max-width:520px; margin:1.5rem auto 0;}
.tech-list li{
	position:relative; padding:0.6em 0 0.6em 1.3em; font-size:clamp(1rem, 1.6vw, 1.25rem);
	border-bottom:1px solid rgba(255,255,255,0.35);
}
section.white .tech-list li{border-bottom:1px solid rgba(0,0,0,0.15);}
.tech-list li::before{content:"•"; position:absolute; left:0; color:currentColor;}
.flex-note{text-align:center; font-style:italic; font-size:clamp(1.05rem, 1.7vw, 1.3rem); margin-top:1.25rem; opacity:0.85;}
.credit-line{text-align:center; font-size:clamp(0.9rem, 1.3vw, 1.05rem); margin-top:3rem; opacity:0.85;}
.credit-line a{text-decoration:underline;}

/* footer */
footer.white{padding:4rem 0;}
.footer-email{
	display:block; text-align:center; text-decoration:none;
	font-weight:700; font-size:clamp(1.1rem, 2.4vw, 1.6rem);
	margin-bottom:clamp(2rem, 5vw, 3.5rem);
}
.footer-email:hover{text-decoration:underline;}
.footer-icons{
	display:flex; justify-content:center; align-items:flex-start;
	gap:clamp(1.5rem, 6vw, 4rem); flex-wrap:wrap; text-align:center;
}
.footer-icons a{
	display:flex; flex-direction:column; align-items:center; gap:0.7em;
	text-decoration:none; font-size:clamp(0.85rem, 1.3vw, 1.05rem); font-weight:700;
}
.footer-icon-square{
	width:clamp(56px, 6vw, 72px); height:clamp(56px, 6vw, 72px);
	background:var(--gold); color:var(--white);
	border:2px solid var(--black);
	display:flex; align-items:center; justify-content:center;
	transition:transform .15s ease, background .15s ease;
}
.footer-icons a:hover .footer-icon-square{background:var(--black); transform:translateY(-3px);}
.footer-icon-square svg{width:40%; height:40%; fill:currentColor;}

.footer-press{
	display:block; text-align:center; margin-top:2.5rem;
	font-size:clamp(0.8rem, 1.1vw, 0.95rem); text-decoration:underline;
	opacity:0.8;
}
.footer-press:hover{opacity:1;}

/* centering helpers */
.center{text-align:center;}
.section-inner{display:flex; flex-direction:column; align-items:center;}

@media (min-width:760px){
	.video-row{flex-direction:row;}
	.video-row .video-thumb{flex:1;}
}
