/* ══════════════════════════════════════════════════════════════
   David Capiello — Full Site Styles
   site.css  |  capielloart theme
   ══════════════════════════════════════════════════════════════ */

/* ── Tokens ──────────────────────────────────────────────────── */
:root {
	--dc-ink:        #0a0a09;
	--dc-stone:      #111110;
	--dc-charcoal:   #1c1c1a;
	--dc-surface:    #242421;
	--dc-border:     rgba(245,240,230,.08);
	--dc-border-mid: rgba(245,240,230,.14);
	--dc-label:      rgba(245,240,230,.32);
	--dc-dim:        rgba(245,240,230,.55);
	--dc-muted:      rgba(245,240,230,.78);
	--dc-bone:       rgba(245,240,230,.93);
	--dc-white:      #f5f0e6;
	--dc-gold:       #d0ad6a;
	--dc-gold-mid:   #a77f41;
	--dc-gold-dim:   rgba(208,173,106,.18);
	--dc-gold-glow:  rgba(208,173,106,.07);
	--dc-gutter:     clamp(20px, 5vw, 72px);
	--dc-max:        1260px;
	--dc-nav-h:      76px;
	--dc-serif:      'Cormorant Garamond', Georgia, serif;
	--dc-sans:       'Inter', system-ui, sans-serif;
}

/* ── Base reset ──────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body.dc-site {
	background: var(--dc-ink);
	color: var(--dc-muted);
	font-family: var(--dc-sans);
	font-size: 15px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; border: none; background: none; font: inherit; }

/* ══════════════════════════════════════════════════════════════
   NAVIGATION
   ══════════════════════════════════════════════════════════════ */

.dc-nav {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 900;
	height: var(--dc-nav-h);
	display: flex;
	align-items: center;
	padding: 0 var(--dc-gutter);
	transition: background .35s ease, backdrop-filter .35s ease, box-shadow .35s ease;
}

.dc-nav--scrolled {
	background: rgba(10,10,9,.92);
	backdrop-filter: blur(18px) saturate(1.4);
	-webkit-backdrop-filter: blur(18px) saturate(1.4);
	box-shadow: 0 1px 0 var(--dc-border);
}

.dc-nav__inner {
	width: 100%;
	max-width: var(--dc-max);
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

/* Logo */
.dc-nav__logo {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	/* Transition only when the hero-scroll JS is active (homepage) */
}
.dc-nav__logo:hover { opacity: .8; }
.hero-visible .dc-nav__logo,
.hero-scrolled .dc-nav__logo { transition: opacity .45s ease; }
.dc-nav__logo img {
	height: 36px;
	width: auto;
	image-rendering: -webkit-optimize-contrast;
	image-rendering: smooth;
}

/* Menu */
.dc-nav__menu {
	display: flex;
	align-items: center;
	gap: 2px;
	list-style: none;
}

.dc-nav__menu a {
	display: block;
	padding: 8px 14px;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--dc-label);
	transition: color .18s ease;
}
.dc-nav__menu a:hover,
.dc-nav__menu a.is-active { color: var(--dc-gold); }

/* CTA */
.dc-nav__cta {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}

.dc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 24px;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	transition: all .18s ease;
	cursor: pointer;
	white-space: nowrap;
}

.dc-btn--outline {
	border: 1px solid var(--dc-border-mid);
	color: var(--dc-muted);
	background: transparent;
}
.dc-btn--outline:hover {
	border-color: var(--dc-gold);
	color: var(--dc-gold);
}

.dc-btn--gold {
	background: var(--dc-gold);
	color: var(--dc-ink);
	font-weight: 600;
}
.dc-btn--gold:hover {
	background: var(--dc-white);
}

/* Hamburger */
.dc-nav__hamburger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 36px;
	height: 36px;
	padding: 4px;
	cursor: pointer;
	background: none;
	border: none;
	-webkit-tap-highlight-color: transparent;
}
.dc-nav__hamburger span {
	display: block;
	height: 1.5px;
	background: var(--dc-muted);
	transition: all .28s ease;
	transform-origin: center;
}
.dc-nav--open .dc-nav__hamburger span:nth-child(1) {
	transform: translateY(6.5px) rotate(45deg);
}
.dc-nav--open .dc-nav__hamburger span:nth-child(2) {
	opacity: 0;
	transform: scaleX(0);
}
.dc-nav--open .dc-nav__hamburger span:nth-child(3) {
	transform: translateY(-6.5px) rotate(-45deg);
}

/* Mobile drawer */
.dc-nav__drawer {
	display: none;
	position: fixed;
	top: var(--dc-nav-h);
	left: 0; right: 0; bottom: 0;
	background: rgba(10,10,9,.97);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	z-index: 899;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	opacity: 0;
	pointer-events: none;
	transition: opacity .28s ease;
}
/* Drawer is a sibling of .dc-nav — use general sibling combinator ~ not descendant space */
.dc-nav--open ~ .dc-nav__drawer {
	opacity: 1;
	pointer-events: all;
}
.dc-nav__drawer a {
	font-family: var(--dc-serif);
	font-size: clamp(28px, 6vw, 48px);
	font-weight: 300;
	letter-spacing: .04em;
	color: var(--dc-muted);
	padding: 12px 32px;
	transition: color .18s ease;
}
.dc-nav__drawer a:hover { color: var(--dc-gold); }

@media (max-width: 900px) {
	.dc-nav__menu,
	.dc-nav__cta { display: none; }
	.dc-nav__hamburger { display: flex; }
	.dc-nav__drawer { display: flex; }
}

/* ══════════════════════════════════════════════════════════════
   HERO
   ══════════════════════════════════════════════════════════════ */

.dc-hero {
	position: relative;
	min-height: 100svh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	overflow: hidden;
	padding-bottom: clamp(120px, 14vh, 180px);
}

.dc-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}
.dc-hero__bg img {
	width: 100%; height: 100%;
	object-fit: cover;
	object-position: center top;
}

.dc-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		rgba(10,10,9,.25) 0%,
		rgba(10,10,9,.1) 30%,
		rgba(10,10,9,.45) 60%,
		rgba(10,10,9,.88) 85%,
		var(--dc-ink) 100%
	);
	z-index: 1;
}

.dc-hero__content {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: var(--dc-max);
	margin: 0 auto;
	padding: 0 var(--dc-gutter);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.dc-hero__logo {
	position: absolute;
	top: calc(var(--dc-nav-h) + 20px);
	left: var(--dc-gutter);
	width: clamp(160px, 18vw, 260px);
	z-index: 10;
	image-rendering: -webkit-optimize-contrast;
	image-rendering: smooth;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	backface-visibility: hidden;
	/* Fade in on load */
	opacity: 0;
	animation: dc-fade-up .9s cubic-bezier(.22,.61,.36,1) .1s forwards;
	/* Smooth transition out on scroll */
	transition: opacity .45s ease, transform .45s cubic-bezier(.22,.61,.36,1);
}
/* Shrink + fade out when user scrolls past the hero */
.hero-scrolled .dc-hero__logo {
	opacity: 0 !important;
	transform: scale(.6) translateY(-10px);
	pointer-events: none;
}
/* Nav logo: hidden while hero is on screen, fades in on scroll */
.hero-visible .dc-nav__logo {
	opacity: 0;
	pointer-events: none;
}
.hero-scrolled .dc-nav__logo {
	opacity: 1;
	pointer-events: auto;
}

.dc-hero__eyebrow {
	font-size: 10px;
	letter-spacing: .38em;
	text-transform: uppercase;
	color: var(--dc-gold);
	margin-bottom: 20px;
	opacity: 0;
	animation: dc-fade-up .8s cubic-bezier(.22,.61,.36,1) .3s forwards;
}

.dc-hero__title {
	font-family: var(--dc-serif);
	font-size: clamp(44px, 7vw, 96px);
	font-weight: 300;
	letter-spacing: .06em;
	color: var(--dc-white);
	line-height: 1.05;
	text-transform: uppercase;
	margin-bottom: 20px;
	opacity: 0;
	animation: dc-fade-up .8s cubic-bezier(.22,.61,.36,1) .45s forwards;
}

.dc-hero__subtitle {
	font-size: 13px;
	font-weight: 400;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--dc-dim);
	margin-bottom: 48px;
	opacity: 0;
	animation: dc-fade-up .8s cubic-bezier(.22,.61,.36,1) .6s forwards;
}

.dc-hero__actions {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	justify-content: center;
	opacity: 0;
	animation: dc-fade-up .8s cubic-bezier(.22,.61,.36,1) .75s forwards;
}
.dc-hero__spotify {
	width: min(380px, 72vw);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 8px 32px rgba(0,0,0,.5);
}
.dc-hero__spotify iframe {
	display: block;
	border-radius: 12px;
}
@media (max-width: 560px) {
	.dc-hero__spotify { width: 90vw; }
	.dc-hero__actions { flex-direction: column; }
}

.dc-hero__social {
	display: flex;
	align-items: center;
	gap: 28px;
	margin-top: 56px;
	margin-bottom: 8px;
	opacity: 0;
	animation: dc-fade-up .8s cubic-bezier(.22,.61,.36,1) .9s forwards;
}
.dc-hero__social a {
	color: var(--dc-gold);
	transition: color .18s ease, opacity .18s ease;
	opacity: .85;
}
.dc-hero__social a:hover { color: var(--dc-gold); opacity: 1; }
.dc-hero__social svg { width: 24px; height: 24px; }

.dc-hero__scroll {
	position: absolute;
	bottom: 32px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	opacity: 0;
	animation: dc-fade-in .8s ease 1.4s forwards;
}
.dc-hero__scroll span {
	font-size: 8px;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--dc-label);
}
.dc-hero__scroll-line {
	width: 1px;
	height: 40px;
	background: linear-gradient(180deg, var(--dc-gold) 0%, transparent 100%);
	animation: dc-scroll-pulse 2s ease-in-out infinite;
}

@keyframes dc-fade-up {
	from { opacity: 0; transform: translateY(22px); }
	to   { opacity: 1; transform: translateY(0); }
}
@keyframes dc-fade-in {
	from { opacity: 0; }
	to   { opacity: 1; }
}
@keyframes dc-scroll-pulse {
	0%, 100% { opacity: .4; }
	50%       { opacity: 1; }
}

/* ══════════════════════════════════════════════════════════════
   SECTION SHARED
   ══════════════════════════════════════════════════════════════ */

.dc-section {
	padding: clamp(72px, 10vw, 140px) var(--dc-gutter);
}

.dc-container {
	max-width: var(--dc-max);
	margin: 0 auto;
}

.dc-eyebrow {
	font-size: 9px;
	font-weight: 500;
	letter-spacing: .38em;
	text-transform: uppercase;
	color: var(--dc-gold);
	margin-bottom: 20px;
}

.dc-heading {
	font-family: var(--dc-serif);
	font-size: clamp(32px, 4.5vw, 64px);
	font-weight: 300;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--dc-white);
	line-height: 1.08;
}

.dc-subheading {
	font-family: var(--dc-serif);
	font-size: clamp(18px, 2.5vw, 28px);
	font-weight: 300;
	letter-spacing: .04em;
	color: var(--dc-muted);
}

.dc-rule {
	width: 40px;
	height: 1px;
	background: var(--dc-gold);
	margin: 24px 0;
}

/* ══════════════════════════════════════════════════════════════
   ABOUT / BIO SECTION
   ══════════════════════════════════════════════════════════════ */

.dc-about {
	background: var(--dc-stone);
	border-top: 1px solid var(--dc-border);
	border-bottom: 1px solid var(--dc-border);
}

.dc-about__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(48px, 6vw, 100px);
	align-items: center;
}

.dc-about__text { }

.dc-about__lead {
	font-family: var(--dc-serif);
	font-size: clamp(18px, 2.2vw, 26px);
	font-weight: 300;
	font-style: italic;
	color: var(--dc-muted);
	line-height: 1.55;
	margin-bottom: 28px;
}

.dc-about__body {
	font-size: 14px;
	line-height: 1.8;
	color: var(--dc-dim);
}
.dc-about__body p + p { margin-top: 16px; }

.dc-about__image {
	position: relative;
}
.dc-about__image::before {
	content: '';
	position: absolute;
	inset: -1px;
	border: 1px solid var(--dc-border-mid);
	pointer-events: none;
	z-index: 1;
}
.dc-about__image img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	object-position: center 15%;
	filter: brightness(.92) contrast(1.05);
}

.dc-about__quote {
	margin-top: 36px;
	padding-left: 20px;
	border-left: 2px solid var(--dc-gold);
}
.dc-about__quote blockquote {
	font-family: var(--dc-serif);
	font-size: 18px;
	font-style: italic;
	font-weight: 300;
	color: var(--dc-muted);
	line-height: 1.5;
	margin-bottom: 12px;
}
.dc-about__quote cite {
	font-size: 10px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--dc-label);
	font-style: normal;
}

@media (max-width: 768px) {
	.dc-about__grid {
		grid-template-columns: 1fr;
	}
	.dc-about__image {
		order: -1;
		max-width: 420px;
		margin: 0 auto;
	}
}

/* ══════════════════════════════════════════════════════════════
   MUSIC SECTION
   ══════════════════════════════════════════════════════════════ */

.dc-music { background: var(--dc-ink); }

.dc-music__grid {
	display: grid;
	grid-template-columns: 360px 1fr;
	gap: clamp(48px, 6vw, 100px);
	align-items: center;
}

.dc-music__art {
	position: relative;
	aspect-ratio: 1;
	background: var(--dc-charcoal);
	overflow: hidden;
}
.dc-music__art::after {
	content: '';
	position: absolute;
	inset: 0;
	border: 1px solid var(--dc-border-mid);
	pointer-events: none;
}
.dc-music__art-placeholder {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
}
.dc-music__art-icon {
	color: var(--dc-gold-mid);
	opacity: .4;
}
.dc-music__art-icon svg { width: 48px; height: 48px; }
.dc-music__art-label {
	font-size: 9px;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--dc-label);
}
.dc-music__art img {
	width: 100%; height: 100%;
	object-fit: cover;
}

.dc-music__info { }

.dc-music__tag {
	display: inline-block;
	font-size: 9px;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--dc-gold);
	border: 1px solid rgba(208,173,106,.3);
	padding: 5px 12px;
	margin-bottom: 24px;
}

.dc-music__title {
	font-family: var(--dc-serif);
	font-size: clamp(28px, 3.5vw, 52px);
	font-weight: 300;
	letter-spacing: .04em;
	color: var(--dc-white);
	line-height: 1.1;
	margin-bottom: 16px;
	text-transform: uppercase;
}

.dc-music__artist {
	font-size: 12px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--dc-label);
	margin-bottom: 24px;
}

.dc-music__desc {
	font-size: 14px;
	line-height: 1.75;
	color: var(--dc-dim);
	max-width: 480px;
	margin-bottom: 36px;
}

.dc-music__platforms {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.dc-platform-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border: 1px solid var(--dc-border-mid);
	color: var(--dc-muted);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .1em;
	text-transform: uppercase;
	transition: all .18s ease;
}
.dc-platform-btn svg { width: 14px; height: 14px; flex-shrink: 0; }
.dc-platform-btn:hover {
	border-color: var(--dc-gold);
	color: var(--dc-gold);
}
.dc-platform-btn--spotify:hover { border-color: #1db954; color: #1db954; }
.dc-platform-btn--yt:hover { border-color: #ff0000; color: #ff0000; }

@media (max-width: 860px) {
	.dc-music__grid {
		grid-template-columns: 1fr;
	}
	.dc-music__art {
		max-width: 300px;
	}
}

/* ══════════════════════════════════════════════════════════════
   TOUR / SHOWS SECTION
   ══════════════════════════════════════════════════════════════ */

.dc-tour {
	background: var(--dc-stone);
	border-top: 1px solid var(--dc-border);
}

.dc-tour__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: clamp(40px, 5vw, 72px);
	flex-wrap: wrap;
}

.dc-show-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	border-top: 1px solid var(--dc-border);
}

.dc-show {
	display: grid;
	grid-template-columns: 80px 1fr auto;
	align-items: center;
	gap: 24px 40px;
	padding: 28px 0;
	border-bottom: 1px solid var(--dc-border);
	transition: background .15s ease;
}

.dc-show__date {
	text-align: center;
}
.dc-show__month {
	display: block;
	font-size: 9px;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--dc-gold);
	margin-bottom: 4px;
}
.dc-show__day {
	display: block;
	font-family: var(--dc-serif);
	font-size: 36px;
	font-weight: 300;
	color: var(--dc-white);
	line-height: 1;
}

.dc-show__info { }
.dc-show__venue {
	font-size: 16px;
	font-weight: 500;
	color: var(--dc-bone);
	margin-bottom: 4px;
	letter-spacing: .01em;
}
.dc-show__location {
	font-size: 12px;
	letter-spacing: .1em;
	color: var(--dc-label);
}

.dc-show__action { flex-shrink: 0; }

.dc-tour__empty {
	padding: 72px 0;
	text-align: center;
}
.dc-tour__empty-icon { margin-bottom: 20px; color: var(--dc-label); }
.dc-tour__empty-icon svg { width: 28px; height: 28px; }
.dc-tour__empty p {
	font-family: var(--dc-serif);
	font-size: 20px;
	font-style: italic;
	font-weight: 300;
	color: var(--dc-dim);
	margin-bottom: 8px;
}
.dc-tour__empty small {
	font-size: 11px;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--dc-label);
}

@media (max-width: 600px) {
	.dc-show {
		grid-template-columns: 60px 1fr;
	}
	.dc-show__action { display: none; }
}

/* ══════════════════════════════════════════════════════════════
   VIDEO SECTION
   ══════════════════════════════════════════════════════════════ */

.dc-video { background: var(--dc-ink); }

.dc-video__header {
	margin-bottom: clamp(40px, 5vw, 64px);
}

.dc-video__featured {
	position: relative;
	background: var(--dc-charcoal);
	overflow: hidden;
	cursor: pointer;
}
.dc-video__featured::after {
	content: '';
	position: absolute;
	inset: 0;
	border: 1px solid var(--dc-border-mid);
	pointer-events: none;
}

.dc-video__embed {
	aspect-ratio: 16 / 9;
	width: 100%;
}
.dc-video__embed iframe {
	width: 100%;
	height: 100%;
	border: none;
	display: block;
}

.dc-video__placeholder {
	aspect-ratio: 16 / 9;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
}
.dc-video__play {
	width: 72px; height: 72px;
	border-radius: 50%;
	border: 1.5px solid rgba(208,173,106,.4);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--dc-gold);
	transition: all .2s ease;
}
.dc-video__play svg { width: 24px; height: 24px; margin-left: 3px; }
.dc-video__play:hover {
	background: var(--dc-gold);
	color: var(--dc-ink);
	border-color: var(--dc-gold);
}
.dc-video__placeholder-label {
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--dc-label);
}

/* ══════════════════════════════════════════════════════════════
   PRESS / QUOTE STRIP
   ══════════════════════════════════════════════════════════════ */

.dc-press {
	background: var(--dc-charcoal);
	border-top: 1px solid var(--dc-border);
	border-bottom: 1px solid var(--dc-border);
	padding: clamp(48px, 6vw, 96px) var(--dc-gutter);
}

.dc-press__quotes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 40px;
}

.dc-press__quote {
	padding: 36px;
	background: var(--dc-stone);
	border-top: 2px solid var(--dc-gold);
}
.dc-press__quote blockquote {
	font-family: var(--dc-serif);
	font-size: 18px;
	font-style: italic;
	font-weight: 300;
	color: var(--dc-muted);
	line-height: 1.55;
	margin-bottom: 20px;
}
.dc-press__quote cite {
	font-size: 9px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--dc-label);
	font-style: normal;
}

.dc-press__empty {
	text-align: center;
	padding: 24px 0;
}
.dc-press__empty p {
	font-family: var(--dc-serif);
	font-size: 24px;
	font-style: italic;
	font-weight: 300;
	color: var(--dc-dim);
}

/* ══════════════════════════════════════════════════════════════
   SUBSCRIBE SECTION
   ══════════════════════════════════════════════════════════════ */

.dc-subscribe {
	background: var(--dc-stone);
	border-top: 1px solid var(--dc-border);
}

.dc-subscribe__inner {
	max-width: 620px;
	margin: 0 auto;
	text-align: center;
}

.dc-subscribe__heading {
	font-family: var(--dc-serif);
	font-size: clamp(28px, 3.5vw, 48px);
	font-weight: 300;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--dc-white);
	margin-bottom: 16px;
}

.dc-subscribe__sub {
	font-size: 14px;
	color: var(--dc-dim);
	margin-bottom: 40px;
	line-height: 1.6;
}

/* Reuse same form structure as coming-soon so JS works */
.dc-subscribe .coming-soon__form { width: 100%; }

.dc-subscribe .coming-soon__form-label {
	display: block;
	font-size: 10px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--dc-label);
	margin-bottom: 12px;
}

.dc-subscribe .coming-soon__form-row {
	display: flex;
	gap: 0;
}

.dc-subscribe .coming-soon__form-input {
	flex: 1;
	background: var(--dc-charcoal);
	border: 1px solid var(--dc-border-mid);
	border-right: none;
	color: var(--dc-bone);
	font-size: 14px;
	padding: 14px 18px;
	outline: none;
	transition: border-color .18s ease;
	font-family: var(--dc-sans);
}
.dc-subscribe .coming-soon__form-input:focus {
	border-color: var(--dc-gold);
}
.dc-subscribe .coming-soon__form-input::placeholder {
	color: var(--dc-label);
}

.dc-subscribe .coming-soon__form-button {
	background: var(--dc-gold);
	color: var(--dc-ink);
	border: none;
	padding: 14px 28px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	cursor: pointer;
	font-family: var(--dc-sans);
	transition: background .18s ease;
	flex-shrink: 0;
}
.dc-subscribe .coming-soon__form-button:hover {
	background: var(--dc-white);
}
.dc-subscribe .coming-soon__form-button.is-loading {
	opacity: .6;
	pointer-events: none;
}

.dc-subscribe .coming-soon__form-message {
	margin-top: 14px;
	font-size: 13px;
	min-height: 20px;
	color: var(--dc-dim);
}
.dc-subscribe .coming-soon__form-message.is-success { color: #7ec88d; }
.dc-subscribe .coming-soon__form-message.is-error   { color: #e07070; }

/* ══════════════════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════════════════ */

.dc-footer {
	background: var(--dc-ink);
	border-top: 1px solid var(--dc-border);
	padding: clamp(48px, 6vw, 80px) var(--dc-gutter) 40px;
}

.dc-footer__inner {
	max-width: var(--dc-max);
	margin: 0 auto;
}

.dc-footer__top {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: start;
	gap: 48px;
	padding-bottom: 48px;
	border-bottom: 1px solid var(--dc-border);
	margin-bottom: 32px;
}

.dc-footer__brand { }
.dc-footer__logo {
	height: 32px;
	width: auto;
	margin-bottom: 20px;
	image-rendering: -webkit-optimize-contrast;
	image-rendering: smooth;
}
.dc-footer__tagline {
	font-size: 12px;
	letter-spacing: .12em;
	color: var(--dc-label);
	line-height: 1.6;
	max-width: 280px;
}

.dc-footer__nav { text-align: center; }
.dc-footer__nav ul {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.dc-footer__nav a {
	font-size: 10px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--dc-label);
	transition: color .18s ease;
}
.dc-footer__nav a:hover { color: var(--dc-gold); }

.dc-footer__social { text-align: right; }
.dc-footer__social-links {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 20px;
	flex-wrap: wrap;
}
.dc-footer__social a {
	color: var(--dc-gold);
	opacity: .8;
	transition: opacity .18s ease;
}
.dc-footer__social a:hover { opacity: 1; }
.dc-footer__social svg { width: 20px; height: 20px; }

.dc-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}
.dc-footer__copy {
	font-size: 11px;
	color: var(--dc-label);
	letter-spacing: .06em;
}
.dc-footer__legal {
	display: flex;
	gap: 20px;
}
.dc-footer__legal a {
	font-size: 11px;
	color: var(--dc-label);
	letter-spacing: .06em;
	transition: color .18s ease;
}
.dc-footer__legal a:hover { color: var(--dc-gold); }
.dc-footer__powered {
	text-align: center;
	font-size: 10px;
	color: var(--dc-label);
	letter-spacing: .08em;
	padding-top: 12px;
	border-top: 1px solid var(--dc-border);
	margin-top: 8px;
}
.dc-footer__powered a {
	color: var(--dc-dim);
	transition: color .18s;
}
.dc-footer__powered a:hover { color: var(--dc-gold); }

@media (max-width: 768px) {
	.dc-footer__top {
		grid-template-columns: 1fr;
		text-align: center;
	}
	.dc-footer__brand .dc-footer__logo { margin: 0 auto 16px; }
	.dc-footer__brand .dc-footer__tagline { margin: 0 auto; }
	.dc-footer__nav { }
	.dc-footer__nav ul { flex-direction: row; flex-wrap: wrap; justify-content: center; }
	.dc-footer__social { text-align: center; }
	.dc-footer__social-links { justify-content: center; }
	.dc-footer__bottom { justify-content: center; text-align: center; }
}

/* ══════════════════════════════════════════════════════════════
   INNER PAGE SHARED STYLES
   ══════════════════════════════════════════════════════════════ */

.dc-page-hero {
	position: relative;
	min-height: clamp(280px, 40vh, 500px);
	display: flex;
	align-items: flex-end;
	padding: 0 var(--dc-gutter) clamp(48px, 6vw, 80px);
	overflow: hidden;
	margin-top: var(--dc-nav-h);
}
.dc-page-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, var(--dc-stone) 0%, var(--dc-charcoal) 100%);
}
.dc-page-hero::after {
	content: '';
	position: absolute;
	bottom: 0; left: 0; right: 0;
	height: 1px;
	background: var(--dc-border-mid);
}

.dc-page-hero__inner {
	position: relative;
	z-index: 1;
	max-width: var(--dc-max);
	margin: 0 auto;
	width: 100%;
}
.dc-page-hero__eyebrow {
	font-size: 9px;
	letter-spacing: .38em;
	text-transform: uppercase;
	color: var(--dc-gold);
	margin-bottom: 16px;
}
.dc-page-hero__title {
	font-family: var(--dc-serif);
	font-size: clamp(40px, 6vw, 80px);
	font-weight: 300;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--dc-white);
	line-height: 1.05;
}

.dc-page-body {
	padding: clamp(56px, 8vw, 120px) var(--dc-gutter);
}
.dc-page-body__inner {
	max-width: var(--dc-max);
	margin: 0 auto;
}

/* Content prose */
.dc-prose {
	font-size: 15px;
	line-height: 1.8;
	color: var(--dc-dim);
	max-width: 720px;
}
.dc-prose p { margin-bottom: 20px; }
.dc-prose h2 {
	font-family: var(--dc-serif);
	font-size: clamp(24px, 3vw, 36px);
	font-weight: 300;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--dc-white);
	margin: 48px 0 20px;
}
.dc-prose h3 {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--dc-gold);
	margin: 32px 0 12px;
}
.dc-prose strong { color: var(--dc-bone); font-weight: 500; }
.dc-prose em { font-style: italic; color: var(--dc-muted); }

/* Bio page: two-col layout */
.dc-bio-grid {
	display: grid;
	grid-template-columns: 1fr 360px;
	gap: clamp(48px, 6vw, 80px);
	align-items: start;
}
.dc-bio-aside { }
.dc-bio-photo {
	position: sticky;
	top: calc(var(--dc-nav-h) + 32px);
}
.dc-bio-photo img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	object-position: center 15%;
	filter: brightness(.9) contrast(1.05);
}
.dc-bio-photo::after {
	content: '';
	position: absolute;
	inset: 0;
	border: 1px solid var(--dc-border-mid);
	pointer-events: none;
}

@media (max-width: 900px) {
	.dc-bio-grid {
		grid-template-columns: 1fr;
	}
	.dc-bio-photo {
		position: static;
		max-width: 360px;
		margin: 0 auto 40px;
	}
}

/* Music page: release grid */
.dc-releases {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 24px;
	margin-top: 48px;
}
.dc-release {
	background: var(--dc-charcoal);
	transition: background .18s ease;
	cursor: pointer;
}
.dc-release:hover { background: var(--dc-surface); }
.dc-release__art {
	aspect-ratio: 1;
	background: var(--dc-stone);
	overflow: hidden;
}
.dc-release__art img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}
.dc-release:hover .dc-release__art img { transform: scale(1.04); }
.dc-release__art-placeholder {
	width: 100%; height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--dc-label);
}
.dc-release__art-placeholder svg { width: 36px; height: 36px; }
.dc-release__info {
	padding: 20px;
}
.dc-release__title {
	font-family: var(--dc-serif);
	font-size: 18px;
	font-weight: 300;
	color: var(--dc-bone);
	margin-bottom: 4px;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.dc-release__meta {
	font-size: 10px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--dc-label);
}

/* Videos grid */
.dc-video-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 24px;
	margin-top: 48px;
}
.dc-video-grid--2col {
	grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 700px) {
	.dc-video-grid--2col {
		grid-template-columns: 1fr;
	}
}
.dc-video-item { }
.dc-video-item__embed {
	aspect-ratio: 16 / 9;
	background: var(--dc-charcoal);
	overflow: hidden;
}
.dc-video-item__embed iframe {
	width: 100%; height: 100%;
	border: none;
}
.dc-video-item__meta {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
}
.dc-video-item__label {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--dc-gold);
}
.dc-video-item__year {
	font-size: 11px;
	color: var(--dc-dim);
	margin-left: auto;
}
.dc-video-item__title {
	font-size: 13px;
	font-weight: 500;
	color: var(--dc-muted);
	margin-top: 6px;
}
.dc-video-item--featured .dc-video-item__embed {
	outline: 2px solid var(--dc-gold);
	outline-offset: 2px;
}

/* Booking page */
.dc-booking-grid {
	display: grid;
	grid-template-columns: 1fr 400px;
	gap: clamp(48px, 6vw, 80px);
	align-items: start;
}
@media (max-width: 900px) {
	.dc-booking-grid { grid-template-columns: 1fr; }
	/* Unstick the form panel — sticky makes no sense in a single-column layout */
	.dc-booking-contact { position: static; }
}

.dc-booking-info { }
.dc-booking-info p {
	font-size: 14px;
	line-height: 1.8;
	color: var(--dc-dim);
	margin-bottom: 16px;
}

.dc-booking-contact {
	background: var(--dc-charcoal);
	padding: 36px;
	border-top: 2px solid var(--dc-gold);
	position: sticky;
	top: calc(var(--dc-nav-h) + 32px);
}
.dc-booking-contact h3 {
	font-family: var(--dc-serif);
	font-size: 22px;
	font-weight: 300;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--dc-white);
	margin-bottom: 24px;
}
.dc-booking-field {
	margin-bottom: 20px;
}
.dc-booking-field label {
	display: block;
	font-size: 9px;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--dc-gold);
	margin-bottom: 8px;
}
.dc-booking-field input,
.dc-booking-field textarea,
.dc-booking-field select {
	width: 100%;
	background: var(--dc-stone);
	border: 1px solid var(--dc-border-mid);
	color: var(--dc-bone);
	font-size: 14px;
	padding: 12px 14px;
	outline: none;
	font-family: var(--dc-sans);
	transition: border-color .18s ease;
	-webkit-appearance: none;
}
.dc-booking-field input:focus,
.dc-booking-field textarea:focus,
.dc-booking-field select:focus { border-color: var(--dc-gold); }
.dc-booking-field textarea { resize: vertical; min-height: 120px; }
.dc-booking-field select option { background: var(--dc-charcoal); }

/* ══════════════════════════════════════════════════════════════
   STATS STRIP (hero sub-section)
   ══════════════════════════════════════════════════════════════ */

.dc-stats {
	display: flex;
	align-items: center;
	gap: clamp(24px, 4vw, 56px);
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 40px;
}
.dc-stats__divider {
	width: 1px;
	height: 28px;
	background: var(--dc-border-mid);
}
.dc-stat { text-align: center; }
.dc-stat__num {
	font-family: var(--dc-serif);
	font-size: clamp(22px, 3vw, 32px);
	font-weight: 300;
	color: var(--dc-gold);
	letter-spacing: .02em;
	line-height: 1;
	margin-bottom: 4px;
}
.dc-stat__label {
	font-size: 9px;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--dc-label);
}

/* ══════════════════════════════════════════════════════════════
   UTILITY
   ══════════════════════════════════════════════════════════════ */

.dc-text-center { text-align: center; }
.dc-mt-auto { margin-top: auto; }

/* Screen-reader only — visually hidden but in DOM for SEO */
.dc-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}

/* Fade-in on scroll (via IntersectionObserver) */
.dc-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1);
}
.dc-reveal.is-visible {
	opacity: 1;
	transform: none;
}
.dc-reveal--delay-1 { transition-delay: .1s; }
.dc-reveal--delay-2 { transition-delay: .2s; }
.dc-reveal--delay-3 { transition-delay: .3s; }

/* ═══════════════════════════════════════════════
   ORIGINAL PRODUCTIONS SECTION
   ═══════════════════════════════════════════════ */
.dc-productions { background: #0f0f0e; }

.dc-productions__grid {
	display: flex;
	flex-direction: column;
	gap: 80px;
}

.dc-production {
	padding: 0;
}

/* Stacked layout: header row + description + gallery */
.dc-production--stacked { }

.dc-production__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}
.dc-production__header-meta {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 16px;
	flex-shrink: 0;
}

/* 6-photo gallery grid */
.dc-vg-gallery {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 4px;
	margin-top: 20px;
}
.dc-vg-gallery__item {
	overflow: hidden;
	aspect-ratio: 3/4;
	background: #111;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.dc-vg-gallery__item img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
	display: block;
	transition: transform .45s ease, opacity .3s ease;
	opacity: .9;
}
.dc-vg-gallery__item:hover img { transform: scale(1.05); opacity: 1; }
.dc-vg-gallery__item--wide img { object-fit: cover; object-position: center center; }

/* Alt layout for Venezia (two-column) */
.dc-production--alt {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(32px, 5vw, 64px);
	align-items: center;
	direction: rtl;
}
.dc-production--alt > * { direction: ltr; }

.dc-production__info { padding: 8px 0; }
.dc-production__title {
	font-family: var(--dc-serif);
	font-size: clamp(28px, 4vw, 44px);
	font-weight: 300;
	color: var(--dc-text);
	line-height: 1.1;
	margin: 8px 0 4px;
}
.dc-production__subtitle {
	font-family: var(--dc-serif);
	font-size: clamp(16px, 2vw, 22px);
	font-style: italic;
	color: var(--dc-gold);
	margin-bottom: 20px;
}
.dc-production__desc {
	color: var(--dc-dim);
	line-height: 1.8;
	margin: 20px 0 24px;
	font-size: 15px;
}

.dc-production__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.dc-tag {
	font-size: 10px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--dc-gold);
	border: 1px solid rgba(208,173,106,.25);
	padding: 4px 10px;
	border-radius: 2px;
}

/* Three-act display */
.dc-production__acts {
	display: flex;
	gap: 24px;
	margin: 20px 0;
	padding: 20px 0;
	border-top: 1px solid var(--dc-rule);
	border-bottom: 1px solid var(--dc-rule);
}
.dc-act { display: flex; align-items: center; gap: 10px; }
.dc-act__num {
	font-family: var(--dc-serif);
	font-size: 28px;
	font-weight: 300;
	color: var(--dc-gold);
	line-height: 1;
	min-width: 32px;
}
.dc-act__name {
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--dc-dim);
}

/* Venezia event card */
.dc-production__venezia { display: flex; align-items: center; justify-content: center; }
.dc-venezia-card {
	border: 1px solid rgba(208,173,106,.3);
	padding: 48px 40px;
	text-align: center;
	position: relative;
	background: linear-gradient(135deg, rgba(208,173,106,.04) 0%, transparent 60%);
	max-width: 280px;
	width: 100%;
}
.dc-venezia-card__ornament {
	font-size: 20px;
	color: var(--dc-gold);
	margin-bottom: 20px;
}
.dc-venezia-card__date {
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--dc-gold);
	margin-bottom: 12px;
}
.dc-venezia-card__venue {
	font-family: var(--dc-serif);
	font-size: 22px;
	font-weight: 300;
	color: var(--dc-text);
	margin-bottom: 4px;
}
.dc-venezia-card__city { font-size: 13px; color: var(--dc-dim); margin-bottom: 20px; }
.dc-venezia-card__divider {
	width: 40px;
	height: 1px;
	background: rgba(208,173,106,.3);
	margin: 0 auto 20px;
}
.dc-venezia-card__label {
	font-size: 10px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--dc-gold);
	margin-bottom: 4px;
}
.dc-venezia-card__capacity { font-size: 13px; color: var(--dc-dim); }

@media (max-width: 768px) {
	.dc-production--alt { grid-template-columns: 1fr; direction: ltr; }
	.dc-production--alt > * { direction: ltr; }
	.dc-productions__grid { gap: 56px; }
	.dc-vg-gallery { grid-template-columns: repeat(3, 1fr); }
	.dc-production__header { flex-direction: column; }
	.dc-production__header-meta { align-items: flex-start; }
}
@media (max-width: 480px) {
	.dc-vg-gallery { grid-template-columns: repeat(3, 1fr); gap: 3px; }
}

/* ═══════════════════════════════════════════════
   PRESS PAGE (page-press.php)
   ═══════════════════════════════════════════════ */
.dc-press-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	margin-bottom: 64px;
}
.dc-press-card {
	background: rgba(255,255,255,.03);
	border: 1px solid var(--dc-rule);
	overflow: hidden;
	transition: border-color .3s;
}
.dc-press-card:hover { border-color: rgba(208,173,106,.35); }

.dc-press-card__img {
	width: 100%;
	aspect-ratio: 4/3;
	overflow: hidden;
}
.dc-press-card__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	transition: transform .5s ease;
}
.dc-press-card:hover .dc-press-card__img img { transform: scale(1.03); }
.dc-press-card__img--video { aspect-ratio: 16/9; }
.dc-press-card__img--video iframe { width: 100%; height: 100%; border: none; }

.dc-press-card__body { padding: 24px; }
.dc-press-card__pub {
	font-size: 10px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--dc-gold);
	margin-bottom: 8px;
}
.dc-press-card__title {
	font-family: var(--dc-serif);
	font-size: 18px;
	font-weight: 300;
	color: var(--dc-text);
	line-height: 1.4;
	margin-bottom: 6px;
}
.dc-press-card__meta { font-size: 12px; color: var(--dc-dim); margin-bottom: 12px; }
.dc-press-card__desc { font-size: 14px; color: var(--dc-dim); line-height: 1.7; }

/* Single release strip */
.dc-press-release {
	border: 1px solid var(--dc-rule);
	margin-bottom: 64px;
}
.dc-press-release__inner {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 0;
	align-items: start;
}
.dc-press-release__cover {
	background: #111;
	align-self: start;
}
.dc-press-release__cover img {
	width: 100%;
	height: auto;
	display: block;
}
.dc-press-release__copy { padding: clamp(32px,4vw,56px); }

/* Press contact CTA */
.dc-press-contact { text-align: center; padding: clamp(48px,6vw,80px) 0; }
.dc-press-contact__inner { max-width: 560px; margin: 0 auto; }

@media (max-width: 900px) {
	.dc-press-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
	.dc-press-grid { grid-template-columns: 1fr; }
	.dc-press-release__inner { grid-template-columns: 1fr; }
	.dc-press-release__cover { aspect-ratio: 1; }
}

/* ═══════════════════════════════════════════════
   EPK PAGE (page-epk.php)
   ═══════════════════════════════════════════════ */

/* Download bar */
.dc-epk-download {
	background: var(--dc-charcoal);
	border-top: 2px solid var(--dc-gold);
	padding: 28px 40px;
	margin-bottom: 56px;
}
.dc-epk-download__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}
.dc-epk-download__label {
	font-size: 13px;
	font-weight: 600;
	color: var(--dc-white);
	margin-bottom: 4px;
}
.dc-epk-download__sub { font-size: 12px; color: var(--dc-dim); }

/* Identity block */
.dc-epk-identity {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: clamp(32px,5vw,64px);
	align-items: start;
	margin-bottom: 56px;
}
.dc-epk-identity__photo img {
	width: 100%;
	aspect-ratio: 3/4;
	object-fit: cover;
	object-position: center top;
	display: block;
}
.dc-epk-identity__photo-credit {
	font-size: 11px;
	color: var(--dc-dim);
	margin-top: 8px;
	text-align: center;
}
.dc-epk-identity__name {
	font-family: var(--dc-serif);
	font-size: clamp(28px,4vw,44px);
	font-weight: 300;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--dc-white);
	margin-bottom: 8px;
}
.dc-epk-identity__type {
	font-size: 13px;
	color: var(--dc-gold);
	letter-spacing: .1em;
	text-transform: uppercase;
}
.dc-epk-creds { display: flex; flex-direction: column; gap: 14px; }
.dc-epk-cred { display: flex; gap: 16px; align-items: baseline; }
.dc-epk-cred__year {
	font-size: 11px;
	font-weight: 700;
	color: var(--dc-gold);
	letter-spacing: .08em;
	flex-shrink: 0;
	min-width: 32px;
}
.dc-epk-cred__text { font-size: 13px; color: var(--dc-muted); line-height: 1.55; }

/* Sections */
.dc-epk-section { margin-bottom: 48px; }
.dc-epk-section__heading {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--dc-gold);
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--dc-charcoal);
}
.dc-epk-section__body p {
	font-size: 14px;
	color: var(--dc-dim);
	line-height: 1.8;
	margin-bottom: 12px;
}

/* Press quote */
.dc-epk-quote {
	border-left: 3px solid var(--dc-gold);
	padding: 20px 28px;
	margin: 0 0 48px;
	background: var(--dc-charcoal);
}
.dc-epk-quote__text {
	font-family: var(--dc-serif);
	font-size: clamp(16px,2.5vw,22px);
	font-weight: 300;
	font-style: italic;
	color: var(--dc-white);
	margin-bottom: 10px;
	line-height: 1.5;
}
.dc-epk-quote__cite { font-size: 12px; color: var(--dc-gold); letter-spacing: .08em; }

/* Videos pair */
.dc-epk-videos {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
.dc-epk-video__label {
	font-size: 12px;
	color: var(--dc-dim);
	margin-top: 10px;
}

/* Tags */
.dc-epk-tags { display: flex; flex-wrap: wrap; gap: 8px; }

/* Releases list */
.dc-epk-releases { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; }
.dc-epk-release {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--dc-charcoal);
}
.dc-epk-release__title { font-size: 13px; color: var(--dc-white); font-weight: 500; }
.dc-epk-release__meta  { font-size: 12px; color: var(--dc-dim); flex-shrink: 0; }

/* Contact CTA */
.dc-epk-contact {
	background: var(--dc-charcoal);
	border-top: 2px solid var(--dc-gold);
	padding: clamp(36px,5vw,56px) clamp(24px,4vw,48px);
	margin-top: 24px;
}
.dc-epk-contact__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
}
.dc-epk-contact__heading {
	font-family: var(--dc-serif);
	font-size: clamp(22px,3vw,32px);
	font-weight: 300;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--dc-white);
	margin: 6px 0 8px;
}
.dc-epk-contact__sub { font-size: 13px; color: var(--dc-dim); max-width: 380px; }
.dc-epk-contact__links { display: flex; gap: 12px; flex-wrap: wrap; }

@media (max-width: 768px) {
	.dc-epk-identity { grid-template-columns: 1fr; }
	.dc-epk-identity__photo { max-width: 280px; }
	.dc-epk-videos { grid-template-columns: 1fr; }
	.dc-epk-download__inner { flex-direction: column; align-items: flex-start; }
	.dc-epk-contact__inner { flex-direction: column; }
	.dc-epk-release { flex-direction: column; gap: 2px; }
}

/* ═══════════════════════════════════════════════
   BIO PAGE — credential strip + photo caption
   ═══════════════════════════════════════════════ */
.dc-bio-credentials {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 32px;
}
.dc-bio-cred {
	font-size: 10px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--dc-gold);
	border: 1px solid rgba(208,173,106,.25);
	padding: 5px 12px;
	border-radius: 2px;
}
.dc-bio-photo__caption {
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--dc-dim);
	text-align: center;
	margin-top: 12px;
}
.dc-reveal--delay-4 { transition-delay: .4s; }

/* ══════════════════════════════════════════════════════════════
   LANGUAGE SWITCHER
   ══════════════════════════════════════════════════════════════ */

.dc-lang-switcher {
	display: flex;
	align-items: center;
	gap: 4px;
	flex-shrink: 0;
}

.dc-lang-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 9px;
	border-radius: 4px;
	border: 1px solid transparent;
	color: var(--dc-dim);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	transition: color .18s, background .18s, border-color .18s;
	cursor: pointer;
	text-decoration: none;
}

.dc-lang-btn:hover {
	color: var(--dc-gold);
	background: var(--dc-gold-dim);
	border-color: var(--dc-gold-dim);
}

.dc-lang-btn.is-active {
	color: var(--dc-gold);
	background: var(--dc-gold-dim);
	border-color: rgba(201,160,99,.25);
}

.dc-lang-flag {
	font-size: 16px;
	line-height: 1;
	display: inline-block;
}

.dc-lang-label {
	display: inline-block;
}

/* Mobile drawer variant — centered */
.dc-lang-switcher--drawer {
	margin: 20px 0 0;
	justify-content: center;
}

/* ── Gran Gala nav highlight ─────────────────────────────── */
.dc-nav__gala-link {
	color: var(--dc-gold) !important;
	font-weight: 600;
}

.dc-nav__gala-link:hover {
	opacity: .8;
}

/* ══════════════════════════════════════════════════════════════
   HOME PAGE — GRAN GALA VICTORIANA TEASER
   ══════════════════════════════════════════════════════════════ */

.dc-gala-teaser {
	position: relative;
	overflow: hidden;
	min-height: 480px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.dc-gala-teaser__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center 35%;
	transform: scale(1.04);
	transition: transform 8s ease-out;
}

.dc-gala-teaser:hover .dc-gala-teaser__bg { transform: scale(1); }

.dc-gala-teaser__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(10,10,9,.6) 0%, rgba(10,10,9,.7) 50%, rgba(10,10,9,.9) 100%);
}

.dc-gala-teaser__inner {
	position: relative;
	z-index: 2;
	padding: clamp(64px,8vw,100px) clamp(20px,5vw,72px);
	max-width: 800px;
}

.dc-gala-teaser__eyebrow {
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .42em;
	text-transform: uppercase;
	color: var(--dc-gold);
	margin: 0 0 1.2rem;
}

.dc-gala-teaser__title {
	font-family: var(--dc-serif);
	font-size: clamp(2.2rem,5vw,4rem);
	font-weight: 400;
	letter-spacing: .02em;
	color: var(--dc-white);
	margin: 0 0 1rem;
	text-shadow: 0 4px 24px rgba(0,0,0,.5);
}

.dc-gala-teaser__sub {
	font-family: var(--dc-serif);
	font-size: clamp(1rem,1.6vw,1.2rem);
	font-style: italic;
	color: var(--dc-muted);
	margin: 0 0 2rem;
	max-width: 520px;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 600px) {
	.dc-gala-teaser { min-height: 380px; }
}

/* ══════════════════════════════════════════════════════════════
   GALA.CSS INTEGRATION NOTE
   gala.css is conditionally enqueued on page-gala.php only.
   Nav link .dc-nav__gala-link gold tint lives here (site.css).
   ══════════════════════════════════════════════════════════════ */

/* ── THANK YOU PAGE ────────────────────────────────────────── */
.dc-thankyou {
	min-height: 70vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 80px 24px;
}
.dc-thankyou__inner {
	text-align: center;
	max-width: 560px;
}
.dc-thankyou__ornament {
	font-size: 28px;
	color: var(--dc-gold);
	margin-bottom: 20px;
	display: block;
	animation: dc-pulse 2.4s ease-in-out infinite;
}
@keyframes dc-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50%       { opacity: .5; transform: scale(.88); }
}
.dc-thankyou__title {
	font-family: var(--dc-font-display);
	font-size: clamp(48px, 8vw, 80px);
	font-weight: 300;
	color: var(--dc-offwhite);
	letter-spacing: .04em;
	margin: 8px 0 24px;
	line-height: 1.1;
}
.dc-thankyou__sub {
	color: var(--dc-dim);
	font-size: 16px;
	line-height: 1.8;
	margin-bottom: 36px;
}
.dc-thankyou__divider {
	width: 48px;
	height: 1px;
	background: var(--dc-gold);
	margin: 0 auto 36px;
	opacity: .6;
}
.dc-thankyou__actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
}
