/* ==========================================================================
   Dapstrem Site - same tokens as the release portal and the dashboard:
   brand colours of live.dapstrem.com: #161b28 surfaces, #f500a8 pink, pink-to-purple gradient,
   Familjen Grotesk headings, Segoe UI body text.
   Everything is scoped to .dps so it never touches the rest of WordPress.
   ========================================================================== */

.dps {
	/* Official Dapstrem brand colours (live.dapstrem.com) */
	--bg: #161b28;
	--bg-deep: #0c111d;
	--surface: #1b2232;
	--surface-2: #212939;
	--surface-3: #2b3344;
	--indigo: #070044;
	--line: rgba(255, 255, 255, .08);
	--line-2: rgba(255, 255, 255, .14);
	--text: #f3f5f9;
	--muted: #aab2c3;
	--faint: #808a9e;
	--pink: #f500a8;
	--pink-2: #bb007f;
	--pink-rgb: 245, 0, 168;
	--grad: linear-gradient(90deg, #f0128a, #b51fd6);
	--cyan: #00b7ff;
	--violet: #b51fd6;
	--ok: #29ff66;
	--live: #e8000e;
	--r-sm: 12px;
	--r: 20px;
	--r-lg: 28px;
	--ease: cubic-bezier(.2, .7, .2, 1);
	--header: 76px;
	--wrap: 1320px; /* content width */
	--fs: 1;        /* text scale, raised on very large screens */
	--font-head: "Familjen Grotesk", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	font-family: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: calc((16px) * var(--fs));
	line-height: 1.6;
	color: var(--text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}/* Resets use :where() so they never outweigh the component styles below */
.dps *, .dps *::before, .dps *::after { box-sizing: border-box; }
.dps.dps.dps img { max-width: 100%; height: auto; display: block; }
.dps.dps.dps a { color: inherit; text-decoration: none; }
.dps.dps.dps :where(ul, ol) { margin: 0; padding: 0; list-style: none; }
.dps.dps.dps :where(p, figure) { margin: 0; }
.dps.dps.dps :where(h1, h2, h3, h4) { margin: 0; color: #fff; }
.dps.dps.dps button { font-family: inherit; }

/* Elementor guard. Elementor's site kit and the Hello theme style every heading, link, button
   and form field on the site. The ".dps.dps.dps" prefix used on every rule in this file
   outranks those, and these lines undo the kit's fonts and letter-case on everything else. */
.dps.dps.dps :where(h1, h2, h3, h4, h5, h6, p, a, span, li, label, strong, small, em, figcaption, button, input, select, textarea) { font-family: inherit; text-transform: none; letter-spacing: inherit; }
.dps.dps.dps :where(h1, h2, h3, h4, h5, h6) { line-height: inherit; font-weight: inherit; font-family: var(--font-head); }
.dps.dps.dps :is(.dps-display, .dps-h1, .dps-h2, .dps-h3, .dps-h4, .dps-stat strong, .dps-price__amount, .dps-cover__title, .dps-drawer__nav a, .dps-marquee__track span, .dps-step__num) { font-family: var(--font-head); }
.dps.dps.dps :where(button) { padding: 0; margin: 0; text-shadow: none; }
.dps.dps.dps :where(button:hover, button:focus) { text-decoration: none; }
.dps.dps.dps :where(a:hover, a:focus) { color: inherit; }

/* Embedded in an Elementor page (widget or shortcode). Without .dps--chrome Elementor's own header sits above it;
   with .dps--chrome the Dapstrem header and footer are included, so the normal spacing applies. */
.dps.dps.dps.dps--embed { position: relative; overflow-x: clip; background: var(--bg); color: var(--text); }
.dps.dps.dps.dps--embed:not(.dps--chrome) .dps-hero { padding-top: 88px; min-height: 0; }
.dps.dps.dps.dps--embed:not(.dps--chrome) .dps-pagehero { padding-top: 88px; }
.dps.dps.dps.dps--embed:not(.dps--chrome) .dps-jump { top: 0; }
.elementor-widget-dapstrem_page > .elementor-widget-container { padding: 0; margin: 0; }
/* The Elementor section/column holding a Dapstrem page: edge to edge, no gaps (no white frame) */
.elementor-widget-wrap:has(.dps--embed), .elementor-column-wrap:has(.dps--embed), .elementor-widget-container:has(> .dps--embed), .elementor-widget-container:has(> .elementor-shortcode > .dps--embed) { padding: 0 !important; margin: 0 !important; }
.elementor-section:has(.dps--embed) > .elementor-container { max-width: none !important; }
.elementor-widget:has(.dps--embed) { margin-bottom: 0 !important; }
.e-con:has(.dps--embed) { padding: 0 !important; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --content-width: 100%; max-width: none !important; }
body:has(.dps--chrome) { background: #161b28; }
.dps :focus-visible { outline: 2px solid var(--pink); outline-offset: 3px; border-radius: 6px; }

/* Page shell (template "Dapstrem - Full page") */
body.dps-canvas { margin: 0; background: #161b28; overflow-x: hidden; }
.dps-site { background: var(--bg); min-height: 100vh; overflow-x: clip; }
.dps-site main { display: block; outline: 0; }
.dps.dps.dps .dps-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.dps.dps.dps .dps-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.dps.dps.dps .dps-skip { position: fixed; left: 16px; top: -60px; z-index: 1001; padding: 10px 16px; border-radius: 10px; background: var(--pink); color: #fff !important; font-weight: 600; transition: top .2s; }
.dps.dps.dps .dps-skip:focus { top: 16px; }

.dps.dps.dps .dps-wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 clamp(20px, 4vw, 56px); } /* backgrounds run full width; content stays at a readable width that grows on big screens */
.dps.dps.dps .dps-center { display: flex; justify-content: center; margin-top: 48px; }

/* ---------- Type ---------- */
.dps.dps.dps .dps-display { font-size: calc((clamp(34px, 4.2vw, 58px)) * var(--fs)); font-weight: 700; line-height: 1.03; letter-spacing: -.035em; }
.dps.dps.dps .dps-h1 { font-size: calc((clamp(28px, 3.2vw, 42px)) * var(--fs)); font-weight: 700; line-height: 1.08; letter-spacing: -.03em; max-width: 18ch; }
.dps.dps.dps .dps-h2 { font-size: calc((clamp(24px, 2.5vw, 36px)) * var(--fs)); font-weight: 700; line-height: 1.15; letter-spacing: -.025em; }
.dps.dps.dps .dps-h3 { font-size: calc((19px) * var(--fs)); font-weight: 600; line-height: 1.35; letter-spacing: -.01em; }
.dps.dps.dps .dps-h4 { font-size: calc((16px) * var(--fs)); font-weight: 600; line-height: 1.4; }
.dps.dps.dps .dps-lead { font-size: calc((clamp(16px, 1.4vw, 19px)) * var(--fs)); line-height: 1.7; color: var(--muted); max-width: 62ch; }
.dps.dps.dps .dps-body { font-size: calc((16px) * var(--fs)); line-height: 1.8; color: var(--muted); margin-top: 16px; }
.dps.dps.dps .dps-meta { display: flex; align-items: center; gap: 10px; margin-top: 12px; color: var(--faint); font-size: calc((14px) * var(--fs)); }
.dps.dps.dps .dps-grad { background: linear-gradient(92deg, #f500a8 0%, #b51fd6 50%, #00b7ff 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.dps.dps.dps .dps-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 14px; font-size: calc((12px) * var(--fs)); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--pink); }
.dps.dps.dps .dps-eyebrow::before { content: ""; width: 22px; height: 2px; border-radius: 2px; background: currentColor; }

.dps.dps.dps .dps-head { display: grid; gap: 14px; margin-bottom: 56px; }
.dps.dps.dps .dps-head .dps-eyebrow { margin-bottom: 0; }
.dps.dps.dps .dps-head--center { justify-items: center; text-align: center; }
.dps.dps.dps .dps-head--center .dps-h2 { max-width: 22ch; }
.dps.dps.dps .dps-head--center .dps-lead { margin: 0 auto; }
.dps.dps.dps .dps-head--left { margin-bottom: 28px; }
.dps.dps.dps .dps-head--left .dps-h2 { max-width: 20ch; }

/* ---------- Buttons ---------- */
.dps.dps.dps .dps-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 50px; padding: 0 26px; border-radius: 999px; border: 1px solid transparent;
	font-size: calc((15px) * var(--fs)); font-weight: 600; line-height: 1; white-space: nowrap; cursor: pointer;
	transition: transform .25s var(--ease), background .2s, border-color .2s, box-shadow .25s, color .2s;
}
.dps.dps.dps .dps-btn .dps-icon { transition: transform .25s var(--ease); flex: none; }
.dps.dps.dps .dps-btn:hover .dps-icon { transform: translateX(3px); }
.dps.dps.dps .dps-btn--primary { color: #fff !important; background: var(--grad); box-shadow: 0 10px 30px -8px rgba(var(--pink-rgb), .65), inset 0 1px 0 rgba(255, 255, 255, .25); }
.dps.dps.dps .dps-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 16px 40px -10px rgba(var(--pink-rgb), .8), inset 0 1px 0 rgba(255, 255, 255, .3); }
.dps.dps.dps .dps-btn--ghost { color: #fff !important; background: rgba(255, 255, 255, .04); border-color: var(--line-2); }
.dps.dps.dps .dps-btn--ghost:hover { background: rgba(255, 255, 255, .09); border-color: rgba(255, 255, 255, .28); transform: translateY(-2px); }
.dps.dps.dps .dps-btn--light { color: var(--bg-deep) !important; background: #fff; }
.dps.dps.dps .dps-btn--light:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .5); }
.dps.dps.dps .dps-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }

/* ---------- Small parts ---------- */
.dps.dps.dps .dps-pill { display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px; border-radius: 999px; border: 1px solid rgba(var(--pink-rgb), .35); background: rgba(var(--pink-rgb), .08); color: #ffd0f0; font-size: calc((12px) * var(--fs)); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.dps.dps.dps .dps-pill--soft { margin-bottom: 18px; color: var(--muted); border-color: var(--line-2); background: rgba(255, 255, 255, .04); letter-spacing: .06em; }
.dps.dps.dps .dps-pill__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--pink); box-shadow: 0 0 0 0 rgba(var(--pink-rgb), .6); animation: dps-ping 2s infinite; }
.dps.dps.dps .dps-badge { display: inline-flex; padding: 5px 10px; border-radius: 8px; font-size: calc((11px) * var(--fs)); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--pink); background: rgba(var(--pink-rgb), .12); border: 1px solid rgba(var(--pink-rgb), .35); }
.dps.dps.dps .dps-tag { display: inline-flex; padding: 3px 10px; border-radius: 999px; font-size: calc((12px) * var(--fs)); font-weight: 600; color: var(--cyan); background: rgba(0, 183, 255, .08); border: 1px solid rgba(0, 183, 255, .25); }
.dps.dps.dps .dps-chip { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; border: 1px solid var(--line-2); background: rgba(255, 255, 255, .04); font-size: calc((14px) * var(--fs)); font-weight: 600; color: #fff; transition: background .2s, border-color .2s; }
.dps.dps.dps .dps-chip:hover { background: rgba(var(--pink-rgb), .12); border-color: rgba(var(--pink-rgb), .5); }
.dps.dps.dps .dps-ticks { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 28px; font-size: calc((14px) * var(--fs)); color: var(--muted); }
.dps.dps.dps .dps-ticks li { display: inline-flex; align-items: center; gap: 8px; }
.dps.dps.dps .dps-ticks .dps-icon { color: var(--ok); }
.dps.dps.dps .dps-glow { position: absolute; border-radius: 50%; pointer-events: none; z-index: 0; opacity: .6; will-change: transform; }
.dps.dps.dps .dps-glow--a { width: 520px; height: 520px; top: -160px; right: -120px; background: radial-gradient(circle, rgba(var(--pink-rgb), .55), transparent 70%); animation: dps-drift 16s ease-in-out infinite alternate; }
.dps.dps.dps .dps-glow--b { width: 460px; height: 460px; bottom: -200px; left: -140px; background: radial-gradient(circle, rgba(181, 31, 214, .45), transparent 70%); animation: dps-drift 20s ease-in-out infinite alternate-reverse; }

/* ==========================================================================
   HEADER
   ========================================================================== */
.dps.dps.dps .dps-header { position: fixed; top: 0; left: 0; right: 0; z-index: 900; height: var(--header); transition: background .3s, border-color .3s, backdrop-filter .3s; border-bottom: 1px solid transparent; }
.admin-bar .dps.dps.dps .dps-header { top: 32px; }
.dps.dps.dps .dps-header.is-scrolled { background: rgba(12, 17, 29, .78); border-bottom-color: var(--line); -webkit-backdrop-filter: blur(16px) saturate(140%); backdrop-filter: blur(16px) saturate(140%); }
.dps.dps.dps .dps-header__in { height: 100%; display: flex; align-items: center; gap: 32px; }
.dps.dps.dps .dps-logo { flex: none; display: flex; align-items: center; }
.dps.dps.dps .dps-logo img { height: 36px; width: auto; }
.dps.dps.dps .dps-nav { flex: 1; display: flex; justify-content: center; }
.dps.dps.dps .dps-nav > ul { display: flex; gap: 4px; }
.dps.dps.dps .dps-nav a { position: relative; display: block; padding: 10px 14px; border-radius: 10px; font-size: calc((14.5px) * var(--fs)); font-weight: 500; color: var(--muted); transition: color .2s, background .2s; }
.dps.dps.dps .dps-nav a:hover { color: #fff; background: rgba(255, 255, 255, .05); }
.dps.dps.dps .dps-nav a[aria-current="page"] { color: #fff; }
.dps.dps.dps .dps-nav a[aria-current="page"]::after { content: ""; position: absolute; left: 50%; bottom: 2px; width: 5px; height: 5px; margin-left: -2.5px; border-radius: 50%; background: var(--pink); box-shadow: 0 0 10px var(--pink); }
.dps.dps.dps .dps-header__cta { display: flex; align-items: center; gap: 18px; margin-left: auto; }
.dps.dps.dps .dps-header__cta .dps-btn { min-height: 42px; padding: 0 18px; font-size: calc((14px) * var(--fs)); }
.dps.dps.dps .dps-link-login { font-size: calc((14.5px) * var(--fs)); font-weight: 600; color: #fff; opacity: .85; transition: opacity .2s; }
.dps.dps.dps .dps-link-login:hover { opacity: 1; }
.dps.dps.dps .dps-burger { display: none; padding: 0; width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 12px; border: 1px solid var(--line-2); background: rgba(255, 255, 255, .04); color: #fff; cursor: pointer; }

/* Mobile drawer */
.dps.dps.dps .dps-drawer { position: fixed; inset: 0; z-index: 1000; display: flex; flex-direction: column; gap: 28px; padding: 18px 24px 32px; overflow-y: auto; background: rgba(12, 17, 29, .97); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); opacity: 0; transform: translateY(-8px); transition: opacity .25s, transform .25s var(--ease); }
.dps.dps.dps .dps-drawer[hidden] { display: none; }
.dps.dps.dps .dps-drawer.is-open { opacity: 1; transform: none; }
.admin-bar .dps.dps.dps .dps-drawer { top: 46px; }
.dps.dps.dps .dps-drawer__top { display: flex; align-items: center; justify-content: space-between; }
.dps.dps.dps .dps-drawer__logo { height: 32px; width: auto; }
.dps.dps.dps .dps-drawer__close { padding: 0; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; border: 1px solid var(--line-2); background: rgba(255, 255, 255, .04); color: #fff; cursor: pointer; }
.dps.dps.dps .dps-drawer__nav li { border-bottom: 1px solid var(--line); }
.dps.dps.dps .dps-drawer__nav a { display: flex; align-items: center; justify-content: space-between; padding: 18px 2px; font-size: calc((26px) * var(--fs)); font-weight: 700; letter-spacing: -.02em; color: #fff; }
.dps.dps.dps .dps-drawer__nav a .dps-icon { color: var(--faint); }
.dps.dps.dps .dps-drawer__nav a[aria-current="page"] { color: var(--pink); }
.dps.dps.dps .dps-drawer__cta { display: grid; gap: 10px; }
.dps.dps.dps .dps-drawer .dps-socials { justify-content: center; }
html.dps-lock, html.dps-lock body { overflow: hidden; }

/* ==========================================================================
   HOME HERO
   ========================================================================== */
.dps.dps.dps .dps-hero { position: relative; overflow: hidden; padding: calc(var(--header) + 72px) 0 96px; min-height: min(940px, 100svh); display: flex; align-items: center; isolation: isolate; }
.dps.dps.dps .dps-hero__bg { position: absolute; inset: 0; z-index: -1; background: var(--dps-img) right center / cover no-repeat; opacity: .1; filter: grayscale(1) contrast(1.15); -webkit-mask-image: linear-gradient(90deg, transparent 15%, #000 70%); mask-image: linear-gradient(90deg, transparent 15%, #000 70%); }
.dps.dps.dps .dps-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 180px; z-index: -1; background: linear-gradient(180deg, transparent, var(--bg)); }
.dps.dps.dps .dps-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px); background-size: 64px 64px; -webkit-mask-image: radial-gradient(ellipse at 50% 40%, #000 20%, transparent 70%); mask-image: radial-gradient(ellipse at 50% 40%, #000 20%, transparent 70%); }
.dps.dps.dps .dps-hero__in { position: relative; z-index: 1; display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 64px; }
.dps.dps.dps .dps-hero__copy .dps-display { margin: 26px 0 22px; }

.dps.dps.dps .dps-hero__visual { position: relative; padding: 40px 10px; }
.dps.dps.dps .dps-player { position: relative; padding: 24px; border-radius: var(--r-lg); border: 1px solid var(--line-2); background: linear-gradient(160deg, rgba(43, 51, 68, .94), rgba(33, 41, 57, .96)); box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .7), 0 0 0 1px rgba(255, 255, 255, .02) inset; transform: perspective(1200px) rotateY(-8deg) rotateX(4deg); animation: dps-float 9s ease-in-out infinite; }
.dps.dps.dps .dps-player__top { display: flex; align-items: center; gap: 18px; }
.dps.dps.dps .dps-player__art { width: 96px; height: 96px; border-radius: 16px; object-fit: cover; box-shadow: 0 14px 30px -10px rgba(var(--pink-rgb), .6); }
.dps.dps.dps .dps-player__meta { display: grid; gap: 4px; }
.dps.dps.dps .dps-player__meta strong { font-size: calc((19px) * var(--fs)); font-weight: 700; color: #fff; }
.dps.dps.dps .dps-player__meta span:last-child { font-size: calc((14px) * var(--fs)); color: var(--muted); }
.dps.dps.dps .dps-live { display: inline-flex; align-items: center; gap: 6px; width: max-content; padding: 3px 9px; border-radius: 999px; font-size: calc((11px) * var(--fs)); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #29ff66; background: rgba(41, 255, 102, .12); border: 1px solid rgba(41, 255, 102, .4); }
.dps.dps.dps .dps-live i { width: 6px; height: 6px; border-radius: 50%; background: #29ff66; animation: dps-blink 1.4s infinite; }
.dps.dps.dps .dps-wave { display: flex; align-items: center; gap: 4px; height: 76px; margin: 24px 0 20px; }
.dps.dps.dps .dps-wave i { flex: 1; height: 100%; border-radius: 4px; background: linear-gradient(180deg, var(--pink), var(--cyan)); transform-origin: center; animation: dps-eq 1.1s ease-in-out infinite alternate; animation-delay: calc(var(--i) * -.07s); opacity: .9; }
.dps.dps.dps .dps-wave i:nth-child(3n) { animation-duration: .8s; }
.dps.dps.dps .dps-wave i:nth-child(4n) { animation-duration: 1.4s; }
.dps.dps.dps .dps-wave i:nth-child(5n) { animation-duration: .95s; }
.dps.dps.dps .dps-player__stores { display: flex; flex-wrap: wrap; gap: 8px; }
.dps.dps.dps .dps-player__stores span { padding: 5px 10px; border-radius: 8px; font-size: calc((12px) * var(--fs)); font-weight: 600; color: var(--muted); background: rgba(255, 255, 255, .05); border: 1px solid var(--line); }
.dps.dps.dps .dps-float { position: absolute; display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 16px; border: 1px solid var(--line-2); background: rgba(33, 41, 57, .97); box-shadow: 0 20px 40px -16px rgba(0, 0, 0, .7); }
.dps.dps.dps .dps-float b { display: block; font-size: calc((15px) * var(--fs)); color: #fff; line-height: 1.2; }
.dps.dps.dps .dps-float small { font-size: calc((12px) * var(--fs)); color: var(--muted); }
.dps.dps.dps .dps-float--a { top: 0; right: -6px; animation: dps-float 7s ease-in-out infinite; }
.dps.dps.dps .dps-float--b { bottom: 4px; left: -18px; animation: dps-float 8s ease-in-out -3s infinite; }
.dps.dps.dps .dps-float__icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; color: var(--pink); background: rgba(var(--pink-rgb), .14); }
.dps.dps.dps .dps-float__icon--cyan { color: var(--cyan); background: rgba(0, 183, 255, .12); }

/* Stores marquee */
.dps.dps.dps .dps-stores { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, .015); }
.dps.dps.dps .dps-stores__in { display: flex; align-items: center; gap: 36px; padding-top: 22px; padding-bottom: 22px; }
.dps.dps.dps .dps-stores__label { flex: none; display: inline-flex; align-items: center; gap: 10px; font-size: calc((13px) * var(--fs)); color: var(--muted); }
.dps.dps.dps .dps-marquee { flex: 1; min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.dps.dps.dps .dps-marquee__track { display: flex; gap: 56px; width: max-content; animation: dps-marquee 32s linear infinite; }
.dps.dps.dps .dps-marquee__track span { font-size: calc((20px) * var(--fs)); font-weight: 700; letter-spacing: -.01em; color: rgba(255, 255, 255, .5); white-space: nowrap; }
.dps.dps.dps .dps-marquee:hover .dps-marquee__track { animation-play-state: paused; }

/* ==========================================================================
   SECTIONS
   ========================================================================== */
.dps.dps.dps .dps-section { position: relative; padding: 112px 0; }
.dps.dps.dps .dps-section--tight { padding: 72px 0; }
.dps.dps.dps .dps-section--alt { background: linear-gradient(180deg, rgba(255, 255, 255, .012), rgba(255, 255, 255, .03)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.dps.dps.dps .dps-section--alt + .dps-section--alt { border-top: 0; }

/* Stats */
.dps.dps.dps .dps-stats { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-radius: var(--r-lg); background: linear-gradient(180deg, var(--surface), rgba(16, 22, 42, .4)); overflow: hidden; }
.dps.dps.dps .dps-stat { display: grid; gap: 6px; padding: 36px 28px; text-align: center; }
.dps.dps.dps .dps-stat + .dps-stat { border-left: 1px solid var(--line); }
.dps.dps.dps .dps-stat strong { font-size: calc((clamp(32px, 3.2vw, 44px)) * var(--fs)); font-weight: 700; letter-spacing: -.03em; line-height: 1; background: linear-gradient(180deg, #fff, #c9cfdc); -webkit-background-clip: text; background-clip: text; color: transparent; }
.dps.dps.dps .dps-stat > span { font-size: calc((14px) * var(--fs)); color: var(--muted); }

/* Grids + cards */
.dps.dps.dps .dps-grid { display: grid; gap: 22px; }
.dps.dps.dps .dps-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dps.dps.dps .dps-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dps.dps.dps .dps-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dps.dps.dps .dps-card { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 30px; border-radius: var(--r); border: 1px solid var(--line); background: linear-gradient(180deg, var(--surface-2), var(--surface)); overflow: hidden; transition: transform .35s var(--ease), border-color .3s, box-shadow .35s; }
.dps.dps.dps .dps-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 1px; background: linear-gradient(90deg, transparent, rgba(var(--pink-rgb), .9), transparent); opacity: 0; transition: opacity .3s; }
.dps.dps.dps .dps-card:hover { transform: translateY(-6px); border-color: rgba(var(--pink-rgb), .3); box-shadow: 0 30px 60px -30px rgba(var(--pink-rgb), .35); }
.dps.dps.dps .dps-card:hover::before { opacity: 1; }
.dps.dps.dps .dps-card p { font-size: calc((15px) * var(--fs)); line-height: 1.7; color: var(--muted); }
.dps.dps.dps .dps-card__icon { width: 50px; height: 50px; flex: none; display: grid; place-items: center; border-radius: 14px; color: var(--pink); background: rgba(var(--pink-rgb), .1); border: 1px solid rgba(var(--pink-rgb), .28); margin-bottom: 8px; }
.dps.dps.dps .dps-card__icon--sm { width: 42px; height: 42px; border-radius: 12px; margin: 0; }
.dps.dps.dps .dps-card--artist { align-items: center; text-align: center; padding-top: 36px; }
.dps.dps.dps .dps-avatar { width: 84px; height: 84px; border-radius: 50%; object-fit: cover; padding: 3px; background: linear-gradient(135deg, var(--pink), var(--cyan)); margin-bottom: 6px; }
.dps.dps.dps .dps-card--pillar { padding: 0 0 28px; }
.dps.dps.dps .dps-card--pillar .dps-h3, .dps.dps.dps .dps-card--pillar p { padding: 0 28px; }
.dps.dps.dps .dps-card__media { aspect-ratio: 3 / 2; overflow: hidden; background: var(--surface-3); margin-bottom: 10px; display: grid; place-items: center; }
.dps.dps.dps .dps-card__media img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; transition: transform .6s var(--ease); } /* shown at their own size at most, never blown up */
.dps.dps.dps .dps-card--pillar:hover .dps-card__media img { transform: scale(1.05); }
.dps.dps.dps .dps-card--promo { justify-content: center; background: radial-gradient(circle at 100% 0, rgba(var(--pink-rgb), .2), transparent 55%), linear-gradient(180deg, var(--surface-2), var(--surface)); }

/* Split layouts */
.dps.dps.dps .dps-split { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.dps.dps.dps .dps-split--price { grid-template-columns: 1.15fr .85fr; }
.dps.dps.dps .dps-split--flip > :first-child { order: 2; }
.dps.dps.dps .dps-media { position: relative; border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--line-2); background: var(--surface-2); box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .8); aspect-ratio: 4 / 3; }
.dps.dps.dps .dps-media img { width: 100%; height: 100%; object-fit: cover; }
.dps.dps.dps .dps-media::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06); background: linear-gradient(180deg, transparent 60%, rgba(12, 17, 29, .35)); }
.dps.dps.dps .dps-media--tall { aspect-ratio: 1; max-width: 560px; margin-left: auto; margin-right: auto; width: 100%; } /* original is 528px */
.dps.dps.dps .dps-media--video { aspect-ratio: 16 / 9; }
.dps.dps.dps .dps-media--video::after { display: none; }

/* Checklist + steps */
.dps.dps.dps .dps-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 24px; }
.dps.dps.dps .dps-checks li { display: flex; align-items: center; gap: 12px; font-size: calc((15px) * var(--fs)); color: var(--text); }
.dps.dps.dps .dps-checks li > span { width: 24px; height: 24px; flex: none; display: grid; place-items: center; border-radius: 50%; color: #29ff66; background: rgba(41, 255, 102, .14); border: 1px solid rgba(41, 255, 102, .35); }
.dps.dps.dps .dps-checks--tight { grid-template-columns: 1fr; gap: 12px; margin: 26px 0 30px; }
.dps.dps.dps .dps-steps { display: grid; gap: 16px; position: relative; }
.dps.dps.dps .dps-steps::before { content: ""; position: absolute; left: 51px; top: 40px; bottom: 40px; width: 1px; background: linear-gradient(180deg, rgba(var(--pink-rgb), .6), rgba(0, 183, 255, .4)); }
.dps.dps.dps .dps-step { position: relative; display: flex; align-items: center; gap: 20px; padding: 24px 26px; border-radius: var(--r); border: 1px solid var(--line); background: linear-gradient(180deg, var(--surface-2), var(--surface)); }
.dps.dps.dps .dps-step p { font-size: calc((14.5px) * var(--fs)); color: var(--muted); margin-top: 4px; }
.dps.dps.dps .dps-step__icon { position: relative; z-index: 1; width: 52px; height: 52px; flex: none; display: grid; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg, var(--pink), var(--violet)); box-shadow: 0 10px 24px -8px rgba(var(--pink-rgb), .7); }
.dps.dps.dps .dps-step__num { position: absolute; right: 22px; top: 14px; font-size: calc((40px) * var(--fs)); font-weight: 700; letter-spacing: -.04em; color: rgba(255, 255, 255, .05); }

/* White label */
.dps.dps.dps .dps-tiles { display: grid; gap: 14px; }
.dps.dps.dps .dps-tile { display: flex; gap: 16px; align-items: flex-start; padding: 18px 20px; border-radius: 16px; border: 1px solid var(--line); background: rgba(255, 255, 255, .025); }
.dps.dps.dps .dps-tile p { font-size: calc((14.5px) * var(--fs)); color: var(--muted); margin-top: 2px; }
.dps.dps.dps .dps-price { position: relative; padding: 38px 34px; border-radius: var(--r-lg); border: 1px solid transparent; background: linear-gradient(180deg, #212939, #1b2232) padding-box, linear-gradient(140deg, rgba(var(--pink-rgb), .9), rgba(181, 31, 214, .5) 45%, rgba(0, 183, 255, .7)) border-box; box-shadow: 0 40px 80px -30px rgba(var(--pink-rgb), .35); }
.dps.dps.dps .dps-price__name { margin-top: 18px; font-size: calc((20px) * var(--fs)); font-weight: 700; }
.dps.dps.dps .dps-price__amount { display: flex; align-items: flex-start; gap: 4px; margin-top: 10px; font-size: calc((56px) * var(--fs)); font-weight: 700; letter-spacing: -.04em; line-height: 1; color: #fff; }
.dps.dps.dps .dps-price__amount sup { font-size: calc((26px) * var(--fs)); margin-top: 10px; top: 0; color: var(--muted); }
.dps.dps.dps .dps-price__amount small { align-self: flex-end; margin: 0 0 8px 8px; font-size: calc((14px) * var(--fs)); font-weight: 500; letter-spacing: 0; color: var(--muted); }
.dps.dps.dps .dps-price .dps-btn { width: 100%; }
.dps.dps.dps .dps-price__note { margin-top: 14px; font-size: calc((13px) * var(--fs)); color: var(--faint); text-align: center; }

/* CTA band */
.dps.dps.dps .dps-cta { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 60px 56px; border-radius: var(--r-lg); background: radial-gradient(circle at 85% 0%, rgba(0, 183, 255, .35), transparent 45%), linear-gradient(120deg, #f0128a 0%, #b51fd6 55%, #070044 100%); box-shadow: 0 40px 90px -40px rgba(var(--pink-rgb), .7); isolation: isolate; }
.dps.dps.dps .dps-cta .dps-h2 { color: #fff; max-width: 20ch; }
.dps.dps.dps .dps-cta .dps-lead { color: rgba(255, 255, 255, .85); margin-top: 10px; }
.dps.dps.dps .dps-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; flex: none; }
.dps.dps.dps .dps-cta .dps-btn--primary { background: var(--bg-deep); box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .55); }
.dps.dps.dps .dps-cta__eq { position: absolute; left: 0; right: 0; bottom: 0; height: 70%; z-index: -1; display: flex; align-items: flex-end; gap: 6px; padding: 0 24px; opacity: .14; }
.dps.dps.dps .dps-cta__eq i { flex: 1; height: 100%; border-radius: 6px 6px 0 0; background: #fff; transform-origin: bottom; animation: dps-eq 1.6s ease-in-out infinite alternate; animation-delay: calc(var(--i) * -.11s); }
.dps.dps.dps .dps-cta__eq i:nth-child(3n) { animation-duration: 1.1s; }
.dps.dps.dps .dps-cta__eq i:nth-child(4n) { animation-duration: 2s; }

/* ==========================================================================
   INNER PAGES
   ========================================================================== */
.dps.dps.dps .dps-pagehero { position: relative; overflow: hidden; padding: calc(var(--header) + 64px) 0 56px; border-bottom: 1px solid var(--line); isolation: isolate; }
.dps.dps.dps .dps-pagehero::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px); background-size: 64px 64px; -webkit-mask-image: radial-gradient(ellipse at 30% 30%, #000 10%, transparent 65%); mask-image: radial-gradient(ellipse at 30% 30%, #000 10%, transparent 65%); }
.dps.dps.dps .dps-pagehero__in { position: relative; z-index: 1; display: grid; gap: 20px; }
.dps.dps.dps .dps-crumbs { display: flex; align-items: center; gap: 10px; font-size: calc((13px) * var(--fs)); color: var(--faint); }
.dps.dps.dps .dps-crumbs a { color: var(--muted); }
.dps.dps.dps .dps-crumbs a:hover { color: #fff; }
.dps.dps.dps .dps-crumbs [aria-current] { color: var(--pink); font-weight: 600; }

/* On-page jump links (Services) */
.dps.dps.dps .dps-jump { position: sticky; top: var(--header); z-index: 50; border-bottom: 1px solid var(--line); background: rgba(12, 17, 29, .85); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.admin-bar .dps.dps.dps .dps-jump { top: calc(var(--header) + 32px); }
.dps.dps.dps .dps-jump .dps-wrap { display: flex; gap: 6px; overflow-x: auto; padding-top: 12px; padding-bottom: 12px; scrollbar-width: none; }
.dps.dps.dps .dps-jump .dps-wrap::-webkit-scrollbar { display: none; }
.dps.dps.dps .dps-jump a { flex: none; padding: 8px 16px; border-radius: 999px; font-size: calc((14px) * var(--fs)); font-weight: 500; color: var(--muted); border: 1px solid transparent; transition: color .2s, border-color .2s, background .2s; }
.dps.dps.dps .dps-jump a:hover, .dps.dps.dps .dps-jump a.is-active { color: #fff; border-color: var(--line-2); background: rgba(255, 255, 255, .05); }
.dps .dps-section[id], .dps #contact-form { scroll-margin-top: calc(var(--header) + 70px); }

/* Services: career stages */
.dps.dps.dps .dps-stages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.dps.dps.dps .dps-stage { display: flex; flex-direction: column; gap: 16px; padding: 32px; border-radius: var(--r); border: 1px solid var(--line); background: linear-gradient(180deg, var(--surface-2), var(--surface)); }
.dps.dps.dps .dps-stage__head { display: flex; align-items: center; gap: 14px; }
.dps.dps.dps .dps-stage__head .dps-card__icon { margin: 0; }
.dps.dps.dps .dps-stage > p { font-size: calc((15px) * var(--fs)); line-height: 1.7; color: var(--muted); }
.dps.dps.dps .dps-stage__items { display: grid; gap: 4px; margin-bottom: 8px; border-top: 1px solid var(--line); padding-top: 12px; flex: 1; }
.dps.dps.dps .dps-stage__items li { display: flex; gap: 14px; padding: 12px 0; }
.dps.dps.dps .dps-stage__items strong { display: block; font-size: calc((15px) * var(--fs)); font-weight: 600; color: #fff; }
.dps.dps.dps .dps-stage__items span:not(.dps-stage__icon) { display: block; font-size: calc((14px) * var(--fs)); line-height: 1.6; color: var(--muted); margin-top: 2px; }
.dps.dps.dps .dps-stage__icon { width: 36px; height: 36px; flex: none; display: grid; place-items: center; border-radius: 10px; color: var(--cyan); background: rgba(0, 183, 255, .08); border: 1px solid rgba(0, 183, 255, .2); }
.dps.dps.dps .dps-stage .dps-btn { align-self: flex-start; }

/* About: team + partners */
.dps.dps.dps .dps-team { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.dps.dps.dps .dps-member__photo { aspect-ratio: 4 / 5; border-radius: var(--r); overflow: hidden; border: 1px solid var(--line); background: var(--surface-2); }
.dps.dps.dps .dps-member__photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.9); transition: transform .6s var(--ease), filter .4s; }
.dps.dps.dps .dps-member:hover .dps-member__photo img { transform: scale(1.05); filter: saturate(1.1); }
.dps.dps.dps .dps-member figcaption { margin-top: 14px; font-size: calc((17px) * var(--fs)); font-weight: 600; color: #fff; }
.dps.dps.dps .dps-member figcaption small { display: block; margin-top: 2px; font-size: calc((13px) * var(--fs)); font-weight: 400; color: var(--faint); }
.dps.dps.dps .dps-logos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.dps.dps.dps .dps-logos__item { height: 104px; display: grid; place-items: center; padding: 20px 28px; border-radius: var(--r); background: #f4f5f9; transition: transform .3s var(--ease); }
.dps.dps.dps .dps-logos__item:hover { transform: translateY(-4px); }
.dps.dps.dps .dps-logos__item img { max-height: 52px; width: auto; object-fit: contain; }

/* Featured: releases + video */
.dps.dps.dps .dps-release { display: flex; flex-direction: column; gap: 4px; }
.dps.dps.dps .dps-release strong { margin-top: 14px; font-size: calc((17px) * var(--fs)); font-weight: 600; color: #fff; }
.dps.dps.dps .dps-release > span { font-size: calc((14px) * var(--fs)); color: var(--muted); }
.dps.dps.dps .dps-release__links { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 10px; }
.dps.dps.dps .dps-release__links a { font-size: calc((13px) * var(--fs)); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--pink); }
.dps.dps.dps .dps-release__links a:hover { color: #fff; }
.dps.dps.dps .dps-cover { position: relative; aspect-ratio: 1; border-radius: var(--r); overflow: hidden; padding: 20px; display: flex; flex-direction: column; justify-content: space-between; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .8); transition: transform .4s var(--ease), box-shadow .4s; }
.dps.dps.dps .dps-cover::before { content: ""; position: absolute; inset: 0; background: repeating-radial-gradient(circle at 110% 110%, rgba(255, 255, 255, .09) 0 1px, transparent 1px 12px); }
.dps.dps.dps .dps-cover--0 { background: radial-gradient(circle at 20% 15%, #ff6fd0, transparent 45%), linear-gradient(140deg, #f500a8, #070044); }
.dps.dps.dps .dps-cover--1 { background: radial-gradient(circle at 80% 20%, #8ff3fb, transparent 45%), linear-gradient(140deg, #00b7ff, #070044); }
.dps.dps.dps .dps-cover--2 { background: radial-gradient(circle at 25% 80%, #ffd27a, transparent 45%), linear-gradient(140deg, #f59e0b, #be185d); }
.dps.dps.dps .dps-cover--3 { background: radial-gradient(circle at 75% 75%, #8ef0c0, transparent 45%), linear-gradient(140deg, #16a34a, #0e3a6e); }
.dps.dps.dps .dps-cover__mark { position: relative; order: -1; font-size: calc((11px) * var(--fs)); font-weight: 700; letter-spacing: .22em; color: rgba(255, 255, 255, .8); }
.dps.dps.dps .dps-cover__title { position: relative; font-size: calc((clamp(22px, 2.2vw, 30px)) * var(--fs)); font-weight: 700; line-height: 1.05; letter-spacing: -.03em; color: #fff; text-transform: uppercase; overflow-wrap: anywhere; text-shadow: 0 2px 20px rgba(0, 0, 0, .25); }
.dps.dps.dps .dps-cover__play { position: absolute; right: 16px; bottom: 16px; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; color: var(--bg-deep); background: #fff; opacity: 0; transform: translateY(8px) scale(.9); transition: opacity .3s, transform .3s var(--ease); }
.dps.dps.dps .dps-cover__play .dps-icon { fill: currentColor; margin-left: 3px; }
.dps.dps.dps .dps-release:hover .dps-cover { transform: translateY(-6px); box-shadow: 0 40px 70px -30px rgba(var(--pink-rgb), .55); }
.dps.dps.dps .dps-release:hover .dps-cover__play, .dps.dps.dps .dps-release:focus-visible .dps-cover__play { opacity: 1; transform: none; }
.dps.dps.dps .dps-listen { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 28px; }
.dps.dps.dps .dps-listen > span { font-size: calc((13px) * var(--fs)); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--faint); margin-right: 4px; }
.dps.dps.dps .dps-video figcaption { display: flex; align-items: baseline; gap: 10px; margin-top: 14px; }
.dps.dps.dps .dps-video figcaption strong { font-size: calc((17px) * var(--fs)); color: #fff; }
.dps.dps.dps .dps-video figcaption span { font-size: calc((14px) * var(--fs)); color: var(--muted); }
.dps.dps.dps .dps-yt { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: #000; cursor: pointer; display: block; }
.dps.dps.dps .dps-yt img { width: 100%; height: 100%; object-fit: cover; opacity: .85; transition: opacity .3s, transform .6s var(--ease); }
.dps.dps.dps .dps-yt:hover img { opacity: 1; transform: scale(1.03); }
.dps.dps.dps .dps-yt__play { position: absolute; left: 50%; top: 50%; width: 76px; height: 76px; margin: -38px 0 0 -38px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--pink); box-shadow: 0 0 0 10px rgba(var(--pink-rgb), .25), 0 20px 40px -10px rgba(0, 0, 0, .6); transition: transform .3s var(--ease); }
.dps.dps.dps .dps-yt__play .dps-icon { fill: currentColor; margin-left: 4px; }
.dps.dps.dps .dps-yt:hover .dps-yt__play { transform: scale(1.08); }
.dps.dps.dps .dps-media iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Playlists */
.dps.dps.dps .dps-embed { border-radius: var(--r); overflow: hidden; background: var(--surface-2); border: 1px solid var(--line); min-height: 380px; }
.dps.dps.dps .dps-embed iframe { display: block; border: 0; width: 100%; }

/* Contact */
.dps.dps.dps .dps-contact { display: grid; grid-template-columns: 1.45fr .85fr; gap: 28px; align-items: start; }
.dps.dps.dps .dps-contact__form { padding: 38px; border-radius: var(--r-lg); border: 1px solid var(--line-2); background: linear-gradient(180deg, var(--surface-2), var(--surface)); box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .7); }
.dps.dps.dps .dps-contact__title { font-size: calc((24px) * var(--fs)); font-weight: 700; }
.dps.dps.dps .dps-contact__sub { margin: 6px 0 26px !important; color: var(--muted); font-size: calc((15px) * var(--fs)); }
.dps.dps.dps .dps-contact__info { display: grid; gap: 14px; }
.dps.dps.dps .dps-info { display: flex; align-items: center; gap: 16px; padding: 20px 22px; border-radius: var(--r); border: 1px solid var(--line); background: rgba(255, 255, 255, .025); transition: border-color .2s, background .2s; }
.dps.dps.dps a.dps-info:hover { border-color: rgba(var(--pink-rgb), .4); background: rgba(var(--pink-rgb), .05); }
.dps.dps.dps .dps-info strong { display: block; font-size: calc((15px) * var(--fs)); color: #fff; }
.dps.dps.dps .dps-info span { display: block; font-size: calc((14px) * var(--fs)); color: var(--muted); overflow-wrap: anywhere; }
.dps.dps.dps .dps-info--social { flex-direction: column; align-items: flex-start; gap: 14px; }

.dps.dps.dps .dps-form { display: grid; gap: 18px; }
.dps.dps.dps .dps-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.dps.dps.dps .dps-field { display: grid; gap: 8px; }
.dps.dps.dps .dps-field > span { font-size: calc((12px) * var(--fs)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--faint); }
.dps.dps.dps .dps-field em { font-style: normal; text-transform: none; letter-spacing: 0; font-weight: 400; color: var(--faint); opacity: .8; }
.dps.dps.dps .dps-field input, .dps.dps.dps .dps-field select, .dps.dps.dps .dps-field textarea, .dps.dps.dps .dps-subscribe input {
	width: 100%; padding: 14px 16px; border-radius: var(--r-sm); border: 1px solid var(--line-2); background: var(--bg-deep); color: #fff;
	font: inherit; font-size: calc((15px) * var(--fs)); line-height: 1.4; color-scheme: dark; transition: border-color .2s, box-shadow .2s; -webkit-appearance: none; appearance: none;
}
.dps.dps.dps .dps-field select { padding-right: 44px; background: var(--bg-deep) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23aab2c3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center; }
.dps.dps.dps .dps-field textarea { resize: vertical; min-height: 140px; }
.dps.dps.dps .dps-field input::placeholder, .dps.dps.dps .dps-field textarea::placeholder, .dps.dps.dps .dps-subscribe input::placeholder { color: var(--faint); }
.dps.dps.dps .dps-field input:focus, .dps.dps.dps .dps-field select:focus, .dps.dps.dps .dps-field textarea:focus, .dps.dps.dps .dps-subscribe input:focus { outline: none; border-color: var(--pink); box-shadow: 0 0 0 4px rgba(var(--pink-rgb), .15); }
.dps.dps.dps .dps-form__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 6px; }
.dps.dps.dps .dps-form__hint { font-size: calc((13px) * var(--fs)); color: var(--faint); }
.dps.dps.dps .dps-note { margin: 0; padding: 12px 16px !important; border-radius: var(--r-sm); font-size: calc((14px) * var(--fs)); border: 1px solid; }
.dps.dps.dps .dps-note--ok { color: #c9ffe6; background: rgba(41, 255, 102, .08); border-color: rgba(41, 255, 102, .35); }
.dps.dps.dps .dps-note--err { color: #ffd3d9; background: rgba(255, 61, 94, .08); border-color: rgba(255, 61, 94, .4); }
.dps.dps.dps .dps-sent { display: grid; justify-items: center; gap: 10px; padding: 40px 10px; text-align: center; }
.dps.dps.dps .dps-sent p { max-width: 42ch; color: var(--muted); }
.dps.dps.dps .dps-sent__tick { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 50%; color: #04110c; background: var(--ok); box-shadow: 0 0 0 10px rgba(41, 255, 102, .15); margin-bottom: 8px; }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.dps.dps.dps .dps-footer { position: relative; padding: 88px 0 32px; background: var(--bg-deep); border-top: 1px solid var(--line); overflow: hidden; }
.dps.dps.dps .dps-footer::before { content: ""; position: absolute; left: 50%; top: -1px; width: 60%; height: 1px; transform: translateX(-50%); background: linear-gradient(90deg, transparent, rgba(var(--pink-rgb), .8), transparent); }
.dps.dps.dps .dps-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1.4fr; gap: 48px; }
.dps.dps.dps .dps-footer__logo { height: 36px; width: auto; margin-bottom: 20px; }
.dps.dps.dps .dps-footer__brand p { font-size: calc((14.5px) * var(--fs)); line-height: 1.75; color: var(--muted); max-width: 34ch; margin-bottom: 22px; }
.dps.dps.dps .dps-footer__title { margin-bottom: 18px !important; font-size: calc((13px) * var(--fs)); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #fff; }
.dps.dps.dps .dps-footer__links { display: grid; gap: 10px; }
.dps.dps.dps .dps-footer__links a { font-size: calc((14.5px) * var(--fs)); color: var(--muted); transition: color .2s; }
.dps.dps.dps .dps-footer__links a:hover { color: #fff; }
.dps.dps.dps .dps-footer__news p { font-size: calc((14.5px) * var(--fs)); color: var(--muted); margin-bottom: 16px; }
.dps.dps.dps .dps-subscribe { position: relative; display: flex; gap: 8px; margin-bottom: 12px; }
.dps.dps.dps .dps-subscribe input { flex: 1; min-width: 0; }
.dps.dps.dps .dps-subscribe .dps-btn { min-height: 52px; padding: 0 22px; flex: none; }
.dps.dps.dps .dps-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 64px; padding-top: 26px; border-top: 1px solid var(--line); font-size: calc((13px) * var(--fs)); color: var(--faint); }
.dps.dps.dps .dps-footer__tag { letter-spacing: .14em; text-transform: uppercase; font-size: calc((11px) * var(--fs)); font-weight: 600; }
.dps.dps.dps .dps-socials { display: flex; flex-wrap: wrap; gap: 10px; }
.dps.dps.dps .dps-socials a { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: var(--muted); border: 1px solid var(--line-2); background: rgba(255, 255, 255, .03); transition: color .2s, background .2s, border-color .2s, transform .25s var(--ease); }
.dps.dps.dps .dps-socials a:hover { color: #fff; background: var(--pink); border-color: var(--pink); transform: translateY(-3px); }

/* Services drop-down (Music Distribution, Music Publishing, …): glass panel, brand gradient edge, icons */
.dps.dps.dps .dps-nav__has-sub { position: relative; }
.dps.dps.dps .dps-nav__has-sub > a { padding-right: 26px; }
.dps.dps.dps .dps-nav__has-sub > a::before { content: ""; position: absolute; right: 11px; top: 50%; width: 6px; height: 6px; margin-top: -5px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: rotate(45deg); opacity: .75; transition: transform .25s var(--ease), margin .25s var(--ease); }
.dps.dps.dps .dps-nav__has-sub:hover > a, .dps.dps.dps .dps-nav__has-sub:focus-within > a { color: #fff; background: rgba(255, 255, 255, .05); }
.dps.dps.dps .dps-nav__has-sub:hover > a::before, .dps.dps.dps .dps-nav__has-sub:focus-within > a::before { transform: rotate(-135deg); margin-top: -1px; }
.dps.dps.dps .dps-nav__sub {
	position: absolute; left: 50%; top: calc(100% + 14px); z-index: 10; width: 300px; padding: 10px;
	display: grid; gap: 4px; border-radius: 18px;
	background: linear-gradient(180deg, rgba(43, 51, 68, .98), rgba(27, 34, 50, .98)) padding-box, linear-gradient(135deg, rgba(var(--pink-rgb), .7), rgba(181, 31, 214, .35) 40%, rgba(255, 255, 255, .08)) border-box;
	border: 1px solid transparent;
	box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .85), 0 0 0 1px rgba(0, 0, 0, .2), 0 20px 50px -30px rgba(var(--pink-rgb), .5);
	opacity: 0; visibility: hidden; transform: translate(-50%, 8px) scale(.98); transform-origin: top center;
	transition: opacity .22s var(--ease), transform .22s var(--ease), visibility .22s;
}
/* invisible bridge so the panel stays open while the mouse moves down to it */
.dps.dps.dps .dps-nav__sub::before { content: ""; position: absolute; left: 0; right: 0; top: -16px; height: 16px; }
/* little pointer */
.dps.dps.dps .dps-nav__sub::after { content: ""; position: absolute; left: 50%; top: -6px; width: 12px; height: 12px; margin-left: -6px; transform: rotate(45deg); background: #2b3344; border-left: 1px solid rgba(var(--pink-rgb), .55); border-top: 1px solid rgba(var(--pink-rgb), .55); border-radius: 3px 0 0 0; }
.dps.dps.dps .dps-nav__has-sub:hover .dps-nav__sub, .dps.dps.dps .dps-nav__has-sub:focus-within .dps-nav__sub { opacity: 1; visibility: visible; transform: translate(-50%, 0) scale(1); }
.dps.dps.dps .dps-nav__sub a { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 12px; font-size: calc((14.5px) * var(--fs)); font-weight: 600; color: var(--text); white-space: nowrap; transition: background .2s, color .2s; }
.dps.dps.dps .dps-nav__sub a::after { display: none; }
.dps.dps.dps .dps-nav__sub-icon { width: 36px; height: 36px; flex: none; display: grid; place-items: center; border-radius: 10px; color: var(--pink); background: rgba(var(--pink-rgb), .1); border: 1px solid rgba(var(--pink-rgb), .22); transition: background .2s, color .2s, border-color .2s; }
.dps.dps.dps .dps-nav__sub-label { flex: 1; }
.dps.dps.dps .dps-nav__sub a > .dps-icon { color: var(--faint); opacity: 0; transform: translateX(-6px); transition: opacity .2s, transform .2s var(--ease), color .2s; }
.dps.dps.dps .dps-nav__sub a:hover, .dps.dps.dps .dps-nav__sub a:focus-visible { background: rgba(255, 255, 255, .05); color: #fff; }
.dps.dps.dps .dps-nav__sub a:hover .dps-nav__sub-icon, .dps.dps.dps .dps-nav__sub a:focus-visible .dps-nav__sub-icon { color: #fff; background: var(--grad); border-color: transparent; }
.dps.dps.dps .dps-nav__sub a:hover > .dps-icon, .dps.dps.dps .dps-nav__sub a:focus-visible > .dps-icon { opacity: 1; transform: none; color: var(--pink); }
/* "Consult A Representative" stands apart as the call to action */
.dps.dps.dps .dps-nav__sub-cta { margin-top: 6px; padding-top: 8px; border-top: 1px solid var(--line); }
.dps.dps.dps .dps-nav__sub-cta a { background: rgba(var(--pink-rgb), .08); border: 1px solid rgba(var(--pink-rgb), .22); }
.dps.dps.dps .dps-nav__sub-cta .dps-nav__sub-icon { color: #fff; background: var(--grad); border-color: transparent; }
.dps.dps.dps .dps-nav__sub-cta a:hover { background: rgba(var(--pink-rgb), .16); }

/* Phone menu: the same items as a tidy list with icons */
.dps.dps.dps .dps-drawer__sub { display: grid; gap: 6px; padding: 0 0 16px; }
.dps.dps.dps .dps-drawer__nav .dps-drawer__sub a { justify-content: flex-start; gap: 12px; padding: 10px 12px; border-radius: 12px; font-family: inherit; font-size: calc((15px) * var(--fs)); font-weight: 600; letter-spacing: 0; color: var(--text); background: rgba(255, 255, 255, .03); border: 1px solid var(--line); }
.dps.dps.dps .dps-drawer__sub .dps-nav__sub-icon { width: 32px; height: 32px; border-radius: 9px; }
.dps.dps.dps .dps-drawer__nav .dps-drawer__sub a:active { background: rgba(var(--pink-rgb), .12); }
/* Original wording pieces */
.dps.dps.dps .dps-stores__label strong { font-family: var(--font-head); font-size: calc((16px) * var(--fs)); color: #fff; }
.dps.dps.dps .dps-stage__list-title { font-size: calc((12px) * var(--fs)); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--pink); border-top: 1px solid var(--line); padding-top: 14px; }
.dps.dps.dps .dps-stage__items { border-top: 0; padding-top: 0; }
.dps.dps.dps .dps-subtitle { margin-top: 18px; color: var(--pink); }
.dps.dps.dps .dps-body--first { margin-top: 0; }
.dps.dps.dps .dps-share { margin-top: 14px; }
.dps.dps.dps .dps-price__amount { margin-top: 18px; }
.dps.dps.dps .dps-price__more { color: var(--pink); font-weight: 700; }
.dps.dps.dps .dps-price__more:hover { color: #fff; }
.dps.dps.dps .dps-video figcaption { flex-wrap: wrap; }
.dps.dps.dps .dps-video figcaption a { margin-left: auto; font-size: calc((13px) * var(--fs)); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--pink); }
.dps.dps.dps .dps-footer__brand .dps-footer__title { margin-bottom: 10px !important; }

/* ==========================================================================
   MOTION
   ========================================================================== */
/* An animation (not a transition) so it never touches the hover effects on cards and buttons */
html.dps-js .dps.dps.dps [data-reveal]:not(.is-in) { opacity: 0; }
html.dps-js .dps.dps.dps [data-reveal].is-in { animation: dps-in .9s var(--ease) both; animation-delay: calc(var(--d, 0) * 90ms); }
@keyframes dps-in { from { opacity: 0; translate: 0 28px; } to { opacity: 1; translate: 0 0; } }
@keyframes dps-eq { from { transform: scaleY(.18); } to { transform: scaleY(1); } }
@keyframes dps-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -12px; } }
@keyframes dps-drift { from { transform: translate(0, 0) scale(1); } to { transform: translate(-60px, 40px) scale(1.1); } }
@keyframes dps-marquee { to { transform: translateX(-50%); } }
@keyframes dps-ping { 0% { box-shadow: 0 0 0 0 rgba(var(--pink-rgb), .6); } 80%, 100% { box-shadow: 0 0 0 10px rgba(var(--pink-rgb), 0); } }
@keyframes dps-blink { 50% { opacity: .3; } }
@media (prefers-reduced-motion: reduce) {
	.dps *, .dps *::before, .dps *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
	html.dps-js .dps.dps.dps [data-reveal]:not(.is-in) { opacity: 1; }
	.dps.dps.dps .dps-player { transform: none; }
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1080px) {
	.dps.dps.dps .dps-nav, .dps.dps.dps .dps-link-login { display: none; }
	.dps.dps.dps .dps-burger { display: inline-flex; }
	.dps.dps.dps .dps-header__cta { gap: 10px; }
	.dps.dps.dps .dps-hero__in { grid-template-columns: 1fr; gap: 40px; }
	.dps.dps.dps .dps-hero__visual { max-width: 520px; width: 100%; margin: 0 auto; }
	.dps.dps.dps .dps-grid--4, .dps.dps.dps .dps-team, .dps.dps.dps .dps-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dps.dps.dps .dps-stages { grid-template-columns: 1fr; }
	.dps.dps.dps .dps-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px) {
	.dps.dps.dps .dps-section { padding: 84px 0; }
	.dps.dps.dps .dps-section--tight { padding: 56px 0; }
	.dps.dps.dps .dps-split, .dps.dps.dps .dps-split--price, .dps.dps.dps .dps-contact { grid-template-columns: 1fr; gap: 44px; }
	.dps.dps.dps .dps-split--flip > :first-child { order: 0; }
	.dps.dps.dps .dps-grid--3, .dps.dps.dps .dps-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dps.dps.dps .dps-stats { grid-template-columns: repeat(2, 1fr); }
	.dps.dps.dps .dps-stat:nth-child(3) { border-left: 0; }
	.dps.dps.dps .dps-stat:nth-child(n+3) { border-top: 1px solid var(--line); }
	.dps.dps.dps .dps-stores__in { flex-direction: column; align-items: stretch; gap: 14px; }
	.dps.dps.dps .dps-stores__label { justify-content: center; }
	.dps.dps.dps .dps-cta { flex-direction: column; align-items: flex-start; padding: 44px 32px; }
	.dps.dps.dps .dps-head { margin-bottom: 40px; }
}
@media (max-width: 782px) {
	.admin-bar .dps.dps.dps .dps-header { top: 46px; }
	.admin-bar .dps.dps.dps .dps-jump { top: calc(var(--header) + 46px); }
}
@media (max-width: 600px) {
	.dps { --header: 68px; }
	.dps.dps.dps .dps-wrap { padding: 0 16px; }
	/* Hero centred on phones: "Dapstrem, LLC", the line above it, the text and the buttons */
	.dps.dps.dps .dps-hero__copy { text-align: center; }
	.dps.dps.dps .dps-hero__copy .dps-pill { justify-content: center; }
	.dps.dps.dps .dps-hero__copy .dps-lead { margin-left: auto; margin-right: auto; }
	.dps.dps.dps .dps-hero__copy .dps-actions { justify-content: center; }
	.dps.dps.dps .dps-section { padding: 68px 0; }
	.dps.dps.dps .dps-header__cta .dps-btn { display: none; }
	.dps.dps.dps .dps-logo img { height: 30px; }
	.dps.dps.dps .dps-hero { padding: calc(var(--header) + 40px) 0 64px; min-height: 0; }
	.dps.dps.dps .dps-hero__visual { padding: 30px 0 34px; }
	.dps.dps.dps .dps-float--a { right: 0; }
	.dps.dps.dps .dps-float--b { left: 0; }
	.dps.dps.dps .dps-player { transform: none; padding: 18px; }
	.dps.dps.dps .dps-player__art { width: 72px; height: 72px; }
	.dps.dps.dps .dps-actions .dps-btn { flex: 1 1 100%; }
	.dps.dps.dps .dps-grid--2, .dps.dps.dps .dps-grid--3, .dps.dps.dps .dps-checks { grid-template-columns: 1fr; }
	.dps.dps.dps .dps-grid--4 { gap: 14px; }
	.dps.dps.dps .dps-card { padding: 24px; }
	.dps.dps.dps .dps-card--pillar { padding: 0 0 24px; }
	.dps.dps.dps .dps-card--pillar .dps-h3, .dps.dps.dps .dps-card--pillar p { padding: 0 22px; }
	.dps.dps.dps .dps-stat { padding: 26px 14px; }
	.dps.dps.dps .dps-team { gap: 14px; }
	.dps.dps.dps .dps-logos__item { height: 84px; padding: 16px; }
	.dps.dps.dps .dps-pagehero { padding: calc(var(--header) + 56px) 0 60px; }
	.dps.dps.dps .dps-form__row { grid-template-columns: 1fr; }
	.dps.dps.dps .dps-contact__form { padding: 24px 18px; }
	.dps.dps.dps .dps-field input, .dps.dps.dps .dps-field select, .dps.dps.dps .dps-field textarea, .dps.dps.dps .dps-subscribe input { font-size: calc((16px) * var(--fs)); } /* no iOS zoom */
	.dps.dps.dps .dps-cta { padding: 36px 22px; }
	.dps.dps.dps .dps-cta__actions { width: 100%; }
	.dps.dps.dps .dps-cta__actions .dps-btn { flex: 1 1 100%; }
	.dps.dps.dps .dps-price { padding: 30px 22px; }
	.dps.dps.dps .dps-price__amount { font-size: calc((44px) * var(--fs)); }
	.dps.dps.dps .dps-footer { padding-top: 64px; }
	.dps.dps.dps .dps-footer__grid { grid-template-columns: 1fr; gap: 36px; }
	.dps.dps.dps .dps-footer__bottom { flex-direction: column; margin-top: 44px; }
	.dps.dps.dps .dps-step { padding: 20px; gap: 16px; }
	.dps.dps.dps .dps-steps::before { left: 45px; }
}
@media (max-width: 400px) {
	.dps.dps.dps .dps-grid--4, .dps.dps.dps .dps-team { grid-template-columns: 1fr 1fr; gap: 12px; }
	.dps.dps.dps .dps-cover { padding: 14px; }
	.dps.dps.dps .dps-release strong { font-size: calc((15px) * var(--fs)); }
}
@media (max-width: 600px) {
	.dps.dps.dps.dps--embed:not(.dps--chrome) .dps-hero, .dps.dps.dps.dps--embed:not(.dps--chrome) .dps-pagehero { padding-top: 56px; }
}

/* ==========================================================================
   LARGE SCREENS: content and text grow together instead of stretching
   ========================================================================== */
@media (min-width: 1700px) { .dps { --wrap: 1480px; --fs: 1.08; } }
@media (min-width: 2100px) { .dps { --wrap: 1680px; --fs: 1.18; } }
@media (min-width: 2600px) { .dps { --wrap: 1960px; --fs: 1.32; } }
@media (min-width: 3200px) { .dps { --wrap: 2300px; --fs: 1.5; } }
@media (min-width: 1700px) {
	.dps.dps.dps .dps-media { max-height: 760px; }
	.dps.dps.dps .dps-member__photo { max-height: 520px; }
}
.dps.dps.dps .dps-avatar { object-position: center 20%; } /* full-size portraits: keep the face in the circle */

/* Featured: real cover art (set in WP Admin → Dapstrem Site → Featured) */
.dps.dps.dps .dps-cover--img { padding: 0; background: var(--surface-3); }
.dps.dps.dps .dps-cover--img::before { display: none; }
.dps.dps.dps .dps-cover--img .dps-cover__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.dps.dps.dps .dps-release:hover .dps-cover--img .dps-cover__img { transform: scale(1.04); }
.dps.dps.dps .dps-cover--img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(12, 17, 29, .55)); pointer-events: none; }
.dps.dps.dps .dps-cover--img .dps-cover__play { z-index: 1; }
.dps.dps.dps .dps-artist-solo { max-width: 780px; }

/* ==========================================================================
   FEATURED PAGE - same building blocks as the rest of the site
   ========================================================================== */
.dps.dps.dps :where(figcaption) { font-style: normal; }

/* Releases: a record shelf. Sleeves sit straight on the page, words underneath. */
.dps.dps.dps .dps-shelf { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 44px 28px; }
.dps.dps.dps .dps-record__sleeve { position: relative; display: block; aspect-ratio: 1; border-radius: 6px; overflow: hidden; background: var(--surface-3); box-shadow: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 18px 34px -18px rgba(0, 0, 0, .9); transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.dps.dps.dps .dps-record__sleeve img { width: 100%; height: 100%; object-fit: cover; }
.dps.dps.dps a.dps-record__sleeve:hover { transform: translateY(-4px) rotate(-.6deg); box-shadow: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 26px 40px -18px rgba(0, 0, 0, .95); }
.dps.dps.dps .dps-record__sleeve.is-blank { display: flex; flex-direction: column; justify-content: space-between; padding: 18px; background: linear-gradient(160deg, #2b3344 0%, #1b2232 100%); border: 1px solid var(--line); overflow: hidden; }
/* no artwork: a vinyl record peeking out of the sleeve */
.dps.dps.dps .dps-record__sleeve.is-blank::after { content: ""; position: absolute; width: 78%; aspect-ratio: 1; right: -30%; top: 50%; transform: translateY(-50%); border-radius: 50%; background: radial-gradient(circle, var(--pink) 0 9%, #0c111d 9.5% 11%, #161b28 11.5% 30%, transparent 30.5%), repeating-radial-gradient(circle, #0c111d 0 2px, #141a28 2px 4px); box-shadow: -10px 0 24px rgba(0, 0, 0, .55); transition: right .5s var(--ease), transform .6s var(--ease); }
.dps.dps.dps .dps-record:hover .dps-record__sleeve.is-blank::after { right: -22%; transform: translateY(-50%) rotate(40deg); }
.dps.dps.dps .dps-record__sleeve.is-blank .dps-record__name, .dps.dps.dps .dps-record__sleeve.is-blank .dps-record__label { position: relative; z-index: 1; max-width: 70%; }
.dps.dps.dps .dps-record__name { font-family: var(--font-head); font-size: calc(22px * var(--fs)); font-weight: 700; line-height: 1.1; color: #fff; overflow-wrap: anywhere; }
.dps.dps.dps .dps-record__label { align-self: flex-start; font-size: calc(10px * var(--fs)); font-weight: 700; letter-spacing: .24em; text-transform: uppercase; color: var(--pink); }
.dps.dps.dps .dps-record__title { margin-top: 16px; font-family: var(--font-head); font-size: calc(18px * var(--fs)); font-weight: 700; color: #fff; }
.dps.dps.dps .dps-record__artist { margin-top: 2px; font-size: calc(14px * var(--fs)); color: var(--muted); }
/* Release buttons: "View Release" in the brand gradient, "Watch Video" outlined */
.dps.dps.dps .dps-record__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.dps.dps.dps .dps-record__btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--line-2); background: rgba(255, 255, 255, .04); color: #fff; font-size: calc(13px * var(--fs)); font-weight: 600; white-space: nowrap; transition: background .2s, border-color .2s, transform .2s var(--ease), box-shadow .2s; }
.dps.dps.dps .dps-record__btn:hover { background: rgba(var(--pink-rgb), .14); border-color: rgba(var(--pink-rgb), .55); transform: translateY(-1px); }
.dps.dps.dps .dps-record__btn .dps-icon { color: var(--pink); fill: currentColor; }
.dps.dps.dps .dps-record__btn--primary { background: var(--grad); border-color: transparent; box-shadow: 0 8px 20px -10px rgba(var(--pink-rgb), .8); }
.dps.dps.dps .dps-record__btn--primary:hover { background: var(--grad); border-color: transparent; filter: brightness(1.08); box-shadow: 0 12px 24px -10px rgba(var(--pink-rgb), .9); }

/* "Kindly peruse our … playlists" strip under the videos */
.dps.dps.dps .dps-ft-note { display: flex; align-items: center; gap: 16px; margin-top: 32px; padding: 16px 20px; border-radius: 16px; border: 1px solid rgba(var(--pink-rgb), .25); background: rgba(var(--pink-rgb), .06); }
.dps.dps.dps .dps-ft-note p { flex: 1; margin: 0; font-size: calc(14.5px * var(--fs)); line-height: 1.6; color: var(--text); }
.dps.dps.dps .dps-ft-note__icon { width: 40px; height: 40px; flex: none; display: grid; place-items: center; border-radius: 12px; color: #fff; background: var(--grad); }

/* Videos: 3 per row (2 on tablets, 1 on phones via the grid rules) */
.dps.dps.dps .dps-video-grid .dps-video figcaption { flex-wrap: wrap; gap: 4px 10px; }
.dps.dps.dps .dps-video-grid .dps-video figcaption a { margin-left: 0; flex-basis: 100%; }

/* Featured artist: portrait photo + story, the video underneath */
.dps.dps.dps .dps-split--artist { align-items: start; }
.dps.dps.dps .dps-media--portrait { aspect-ratio: 4 / 5; max-width: 520px; }
.dps.dps.dps .dps-split--artist .dps-meta strong { color: #fff; font-weight: 600; }
.dps.dps.dps .dps-artist-video { margin-top: 56px; max-width: 980px; }
.dps.dps.dps .dps-artist-solo { max-width: 780px; }

/* Videos */
.dps.dps.dps .dps-videos-note { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--line); }
.dps.dps.dps .dps-videos-note .dps-body { margin: 0; max-width: 62ch; }

@media (max-width: 1080px) {
	.dps.dps.dps .dps-shelf { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
	.dps.dps.dps .dps-media--portrait { max-width: 420px; }
	.dps.dps.dps .dps-artist-video { margin-top: 36px; }
}
@media (max-width: 600px) {
	.dps.dps.dps .dps-shelf { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; }
	.dps.dps.dps .dps-record__actions { flex-direction: column; }
	.dps.dps.dps .dps-record__btn { width: 100%; }
	.dps.dps.dps .dps-ft-note { flex-direction: column; align-items: flex-start; }
	.dps.dps.dps .dps-ft-note .dps-record__btn { width: 100%; }
	.dps.dps.dps .dps-record__sleeve.is-blank { padding: 12px; }
	.dps.dps.dps .dps-record__name { font-size: calc(16px * var(--fs)); }
	.dps.dps.dps .dps-record__title { font-size: calc(16px * var(--fs)); margin-top: 12px; }
}
/* ==========================================================================
   POLISH LAYER (v1.11) - same brand, calmer and more refined.
   Less decoration, steadier rhythm, cleaner type and better phones.
   Everything here overrides the rules above; delete this block to undo.
   ========================================================================== */
.dps {
	--r-sm: 10px;
	--r: 16px;
	--r-lg: 22px;
	--muted: #b3bacb;  /* a touch more contrast for body text */
}

/* Type: balanced headings, tidy paragraphs, tabular numbers */
.dps.dps.dps :where(h1, h2, h3, .dps-display, .dps-h1, .dps-h2, .dps-h3) { text-wrap: balance; }
.dps.dps.dps :where(p, .dps-lead, .dps-body) { text-wrap: pretty; }
.dps.dps.dps .dps-display { letter-spacing: -.03em; line-height: 1.05; }
.dps.dps.dps .dps-h2 { letter-spacing: -.02em; }
.dps.dps.dps .dps-stat strong, .dps.dps.dps .dps-price__amount { font-variant-numeric: tabular-nums; }
.dps.dps.dps .dps-eyebrow { letter-spacing: .14em; }
.dps.dps.dps .dps-head { margin-bottom: 48px; }

/* Steady vertical rhythm between sections */
.dps.dps.dps .dps-section { padding: clamp(72px, 8vw, 112px) 0; }
.dps.dps.dps .dps-section--tight { padding: clamp(48px, 6vw, 72px) 0; }

/* Calmer backgrounds: softer grid, still glows (no drifting) */
.dps.dps.dps .dps-hero::before, .dps.dps.dps .dps-pagehero::before { opacity: .6; }
.dps.dps.dps .dps-glow { opacity: .35; animation: none; }

/* Cards: quiet hover (border + small lift), no pink halo */
.dps.dps.dps .dps-card { padding: 28px; transition: transform .3s var(--ease), border-color .25s, background .25s; }
.dps.dps.dps .dps-card:hover { transform: translateY(-3px); border-color: rgba(255, 255, 255, .16); box-shadow: none; }
.dps.dps.dps .dps-card::before { display: none; }
.dps.dps.dps .dps-card__icon { background: rgba(var(--pink-rgb), .08); border-color: rgba(var(--pink-rgb), .2); }
.dps.dps.dps .dps-stage, .dps.dps.dps .dps-step, .dps.dps.dps .dps-tile, .dps.dps.dps .dps-info { transition: border-color .25s; }
.dps.dps.dps .dps-stage:hover, .dps.dps.dps .dps-tile:hover { border-color: rgba(255, 255, 255, .14); }

/* Buttons: confident, not bouncy */
.dps.dps.dps .dps-btn { min-height: 48px; padding: 0 24px; }
.dps.dps.dps .dps-btn--primary { box-shadow: 0 8px 22px -10px rgba(var(--pink-rgb), .7), inset 0 1px 0 rgba(255, 255, 255, .2); }
.dps.dps.dps .dps-btn--primary:hover { transform: translateY(-1px); box-shadow: 0 12px 26px -10px rgba(var(--pink-rgb), .8), inset 0 1px 0 rgba(255, 255, 255, .25); }
.dps.dps.dps .dps-btn--ghost:hover, .dps.dps.dps .dps-btn--light:hover { transform: translateY(-1px); }

/* Header: a little more solid when scrolled so the menu always reads clearly */
.dps.dps.dps .dps-header.is-scrolled { background: rgba(12, 17, 29, .9); }
.dps.dps.dps .dps-nav a { font-weight: 500; }

/* Hero visual: gentle float, less tilt */
.dps.dps.dps .dps-player { transform: perspective(1200px) rotateY(-4deg) rotateX(2deg); animation-duration: 12s; }
.dps.dps.dps .dps-float--a, .dps.dps.dps .dps-float--b { animation-duration: 10s; }

/* Stats band: cleaner surface */
.dps.dps.dps .dps-stats { background: var(--surface); }
.dps.dps.dps .dps-stat > span { color: var(--muted); }

/* Media and photos: consistent corners */
.dps.dps.dps .dps-media { box-shadow: 0 30px 60px -40px rgba(0, 0, 0, .8); }
.dps.dps.dps .dps-member__photo, .dps.dps.dps .dps-embed { border-radius: var(--r); }

/* Call-to-action band: keep the gradient, quieter equaliser */
.dps.dps.dps .dps-cta { box-shadow: 0 30px 70px -40px rgba(var(--pink-rgb), .6); }
.dps.dps.dps .dps-cta__eq { opacity: .08; }

/* Forms: clearer labels and focus */
.dps.dps.dps .dps-field > span { letter-spacing: .06em; color: var(--muted); }
.dps.dps.dps .dps-field input, .dps.dps.dps .dps-field select, .dps.dps.dps .dps-field textarea, .dps.dps.dps .dps-subscribe input { border-color: rgba(255, 255, 255, .12); }
.dps.dps.dps .dps-field input:hover, .dps.dps.dps .dps-field select:hover, .dps.dps.dps .dps-field textarea:hover { border-color: rgba(255, 255, 255, .22); }

/* Footer: calmer link hover and spacing */
.dps.dps.dps .dps-socials a:hover { transform: translateY(-2px); }
.dps.dps.dps .dps-footer__links a { display: inline-block; padding: 2px 0; }

/* Phones */
@media (max-width: 600px) {
	.dps.dps.dps .dps-display { font-size: calc(32px * var(--fs)); }
	.dps.dps.dps .dps-head { margin-bottom: 32px; }
	.dps.dps.dps .dps-card { padding: 22px; }
	.dps.dps.dps .dps-card:hover { transform: none; }
	.dps.dps.dps .dps-drawer__nav a { font-size: calc(22px * var(--fs)); padding: 16px 2px; }
	.dps.dps.dps .dps-stage { padding: 24px 20px; }
	.dps.dps.dps .dps-contact__form { border-radius: var(--r); }
	.dps.dps.dps .dps-float { padding: 10px 12px; }
	.dps.dps.dps .dps-float b { font-size: calc(14px * var(--fs)); }
}

/* ==========================================================================
   HERO v1.12 - professional: clear headline, proof row, calm product card
   ========================================================================== */
.dps.dps.dps .dps-hero--pro { min-height: 0; padding: calc(var(--header) + clamp(56px, 8vw, 104px)) 0 clamp(64px, 8vw, 104px); }
.dps.dps.dps .dps-hero--pro::before { opacity: .35; }
.dps.dps.dps .dps-hero--pro::after { height: 120px; }
/* one soft brand light behind the headline, nothing moving */
.dps.dps.dps .dps-hero--pro .dps-hero__in::before { content: ""; position: absolute; z-index: -1; left: -10%; top: -30%; width: 70%; height: 140%; background: radial-gradient(closest-side, rgba(var(--pink-rgb), .14), transparent); pointer-events: none; }
.dps.dps.dps .dps-hero--pro .dps-hero__in { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(40px, 6vw, 88px); }
.dps.dps.dps .dps-hero--pro .dps-eyebrow { margin-bottom: 18px; }
.dps.dps.dps .dps-hero--pro .dps-display { margin: 0 0 22px; max-width: 15ch; font-size: calc((clamp(36px, 4.6vw, 64px)) * var(--fs)); line-height: 1.04; letter-spacing: -.035em; color: #fff; }
.dps.dps.dps .dps-hero--pro .dps-lead { max-width: 56ch; font-size: calc((clamp(16px, 1.25vw, 18px)) * var(--fs)); }
.dps.dps.dps .dps-hero--pro .dps-actions { margin-top: 34px; }

/* Proof row */
.dps.dps.dps .dps-proof { display: flex; flex-wrap: wrap; gap: 0; margin-top: 44px; padding-top: 26px; border-top: 1px solid var(--line); }
.dps.dps.dps .dps-proof li { display: grid; gap: 2px; padding: 0 28px; border-left: 1px solid var(--line); }
.dps.dps.dps .dps-proof li:first-child { padding-left: 0; border-left: 0; }
.dps.dps.dps .dps-proof strong { font-family: var(--font-head); font-size: calc(28px * var(--fs)); font-weight: 700; line-height: 1.1; letter-spacing: -.02em; color: #fff; font-variant-numeric: tabular-nums; }
.dps.dps.dps .dps-proof span { font-size: calc(13.5px * var(--fs)); color: var(--muted); }

/* Release card */
.dps.dps.dps .dps-hero--pro .dps-hero__visual { padding: 0; }
.dps.dps.dps .dps-release-card { max-width: 440px; margin-left: auto; padding: 24px; border-radius: var(--r-lg); border: 1px solid var(--line-2); background: linear-gradient(180deg, var(--surface-2), var(--surface)); box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .85), 0 1px 0 rgba(255, 255, 255, .05) inset; }
.dps.dps.dps .dps-release-card__head { display: flex; align-items: center; gap: 16px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.dps.dps.dps .dps-release-card__art { width: 72px; height: 72px; flex: none; border-radius: 12px; object-fit: cover; }
.dps.dps.dps .dps-release-card__head > div { display: grid; gap: 2px; min-width: 0; }
.dps.dps.dps .dps-release-card__label { font-size: calc(11px * var(--fs)); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--pink); }
.dps.dps.dps .dps-release-card__head strong { font-family: var(--font-head); font-size: calc(19px * var(--fs)); font-weight: 700; color: #fff; }
.dps.dps.dps .dps-release-card__head small { font-size: calc(13.5px * var(--fs)); color: var(--muted); }
.dps.dps.dps .dps-release-card__stores { display: grid; margin: 6px 0; }
.dps.dps.dps .dps-release-card__stores li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 2px; border-bottom: 1px solid var(--line); font-size: calc(14.5px * var(--fs)); color: var(--text); }
.dps.dps.dps .dps-release-card__stores li:last-child { border-bottom: 0; }
.dps.dps.dps .dps-release-card__stores em { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; font-style: normal; font-size: calc(12px * var(--fs)); font-weight: 600; color: #8ff0b0; background: rgba(41, 255, 102, .08); border: 1px solid rgba(41, 255, 102, .25); }
.dps.dps.dps .dps-release-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 16px; border-top: 1px solid var(--line); font-size: calc(13px * var(--fs)); color: var(--muted); }
.dps.dps.dps .dps-release-card__foot span:first-child { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: #fff; }
.dps.dps.dps .dps-release-card__foot .dps-icon { color: var(--cyan); }

@media (max-width: 1080px) {
	.dps.dps.dps .dps-hero--pro .dps-hero__in { grid-template-columns: 1fr; }
	.dps.dps.dps .dps-release-card { margin: 0 auto; }
}
@media (max-width: 600px) {
	.dps.dps.dps .dps-hero--pro { padding: calc(var(--header) + 40px) 0 56px; }
	.dps.dps.dps .dps-hero--pro .dps-display { max-width: none; font-size: calc(32px * var(--fs)); }
	.dps.dps.dps .dps-hero--pro .dps-eyebrow { justify-content: center; }
	.dps.dps.dps .dps-proof { justify-content: center; margin-top: 34px; }
	.dps.dps.dps .dps-proof li { padding: 0 14px; text-align: center; }
	.dps.dps.dps .dps-proof li:first-child { padding-left: 14px; }
	.dps.dps.dps .dps-proof strong { font-size: calc(22px * var(--fs)); }
	.dps.dps.dps .dps-proof span { font-size: calc(12px * var(--fs)); }
	.dps.dps.dps .dps-release-card { padding: 18px; }
}

/* ==========================================================================
   HERO v1.13 - centred text on an African textile-inspired background
   Mudcloth (bogolan) style marks drawn in fine light lines, warm gold and
   brand-pink light, and a kente-style woven band along the bottom edge.
   ========================================================================== */
.dps.dps.dps .dps-hero--afro { background: radial-gradient(1100px 520px at 50% 0%, #1d2234 0%, var(--bg) 70%); }
.dps.dps.dps .dps-hero--afro::before { display: none; } /* no tech grid here */
.dps.dps.dps .dps-hero--afro .dps-hero__in::before { display: none; }

/* Warm light: gold on one side, brand pink on the other, both soft and still */
.dps.dps.dps .dps-hero--afro::after {
	content: ""; position: absolute; inset: 0; height: auto; z-index: -1; pointer-events: none;
	background:
		radial-gradient(520px 420px at 8% 30%, rgba(245, 165, 36, .16), transparent 70%),
		radial-gradient(560px 460px at 92% 40%, rgba(var(--pink-rgb), .16), transparent 70%),
		linear-gradient(180deg, transparent 70%, var(--bg));
}

/* Mudcloth-style pattern: zigzags, diamonds, dots and bands, strongest at the edges */
.dps.dps.dps .dps-hero__pattern {
	position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .09;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 6h120M0 114h120'/%3E%3Cpath d='M0 28l10-10 10 10 10-10 10 10 10-10 10 10 10-10 10 10 10-10 10 10 10-10 10 10'/%3E%3Cpath d='M20 60l10-10 10 10-10 10zM80 60l10-10 10 10-10 10z'/%3E%3Cpath d='M57 60h6M60 57v6'/%3E%3Cpath d='M0 92l10 10 10-10 10 10 10-10 10 10 10-10 10 10 10-10 10 10 10-10 10 10 10-10'/%3E%3Ccircle cx='5' cy='60' r='2' fill='%23ffffff'/%3E%3Ccircle cx='115' cy='60' r='2' fill='%23ffffff'/%3E%3Ccircle cx='60' cy='40' r='1.5' fill='%23ffffff'/%3E%3Ccircle cx='60' cy='80' r='1.5' fill='%23ffffff'/%3E%3C/svg%3E");
	background-size: 120px 120px;
	-webkit-mask-image: radial-gradient(ellipse 60% 70% at 50% 45%, transparent 0%, transparent 35%, #000 85%);
	        mask-image: radial-gradient(ellipse 60% 70% at 50% 45%, transparent 0%, transparent 35%, #000 85%);
}

/* Kente-style woven band along the bottom of the hero */
.dps.dps.dps .dps-hero__kente {
	position: absolute; left: 0; right: 0; bottom: 0; height: 10px; z-index: 0; pointer-events: none; opacity: .9;
	background:
		repeating-linear-gradient(90deg,
			#f5a524 0 28px, #0c111d 28px 32px,
			#f500a8 32px 60px, #0c111d 60px 64px,
			#1fa463 64px 84px, #0c111d 84px 88px,
			#b51fd6 88px 112px, #0c111d 112px 116px,
			#f5a524 116px 124px, #e8000e 124px 132px, #0c111d 132px 136px);
	box-shadow: 0 -1px 0 rgba(255, 255, 255, .06);
}
.dps.dps.dps .dps-hero__kente::after { /* fine woven texture on top of the stripes */
	content: ""; position: absolute; inset: 0;
	background: repeating-linear-gradient(0deg, rgba(0, 0, 0, .28) 0 2px, transparent 2px 4px);
}

/* Centred layout */
.dps.dps.dps .dps-hero--afro .dps-hero__in { display: block; max-width: 900px; text-align: center; }
.dps.dps.dps .dps-hero--afro .dps-hero__copy { display: flex; flex-direction: column; align-items: center; }
.dps.dps.dps .dps-hero--afro .dps-eyebrow { color: #f5b544; }
.dps.dps.dps .dps-hero--afro .dps-display { max-width: 18ch; margin-left: auto; margin-right: auto; text-shadow: 0 2px 30px rgba(12, 17, 29, .6); }
.dps.dps.dps .dps-hero--afro .dps-lead { margin-left: auto; margin-right: auto; max-width: 62ch; }
.dps.dps.dps .dps-hero--afro .dps-actions { justify-content: center; }
.dps.dps.dps .dps-hero--afro .dps-proof { justify-content: center; border-top-color: rgba(255, 255, 255, .1); }
.dps.dps.dps .dps-hero--afro .dps-proof li { text-align: center; padding: 0 32px; }
.dps.dps.dps .dps-hero--afro .dps-proof li:first-child { padding-left: 32px; }

@media (max-width: 600px) {
	.dps.dps.dps .dps-hero__pattern { opacity: .07; background-size: 96px 96px; -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 30%, transparent 70%, #000 100%); mask-image: linear-gradient(180deg, #000 0%, transparent 30%, transparent 70%, #000 100%); }
	.dps.dps.dps .dps-hero__kente { height: 8px; }
	.dps.dps.dps .dps-hero--afro .dps-proof li, .dps.dps.dps .dps-hero--afro .dps-proof li:first-child { padding: 0 12px; }
}

/* ==========================================================================
   HERO v1.14 - "Dapstrem, LLC" is the big headline, the promise sits above it
   ========================================================================== */
/* Tagline: small gold capitals between two fine lines */
.dps.dps.dps .dps-hero__tagline {
	display: inline-flex; align-items: center; gap: 14px; margin: 0 0 22px;
	font-size: calc(13px * var(--fs)); font-weight: 600; letter-spacing: .2em; text-transform: uppercase;
	color: #f5b544;
}
.dps.dps.dps .dps-hero__tagline::before, .dps.dps.dps .dps-hero__tagline::after {
	content: ""; width: 36px; height: 1px; flex: none;
	background: linear-gradient(90deg, transparent, rgba(245, 181, 68, .8));
}
.dps.dps.dps .dps-hero__tagline::after { background: linear-gradient(90deg, rgba(245, 181, 68, .8), transparent); }

/* The name: big, tight and confident */
.dps.dps.dps .dps-hero__name {
	margin: 0 0 26px;
	font-family: var(--font-head); font-weight: 700;
	font-size: calc((clamp(52px, 7.4vw, 104px)) * var(--fs)); line-height: .98; letter-spacing: -.045em;
	color: #fff; text-shadow: 0 4px 40px rgba(12, 17, 29, .55);
}
.dps.dps.dps .dps-hero__suffix {
	background: linear-gradient(92deg, #f500a8 0%, #b51fd6 60%, #7a5cff 100%);
	-webkit-background-clip: text; background-clip: text; color: transparent;
	text-shadow: none;
}

@media (max-width: 600px) {
	.dps.dps.dps .dps-hero__tagline { gap: 10px; font-size: calc(11px * var(--fs)); letter-spacing: .14em; text-align: center; }
	.dps.dps.dps .dps-hero__tagline::before, .dps.dps.dps .dps-hero__tagline::after { width: 20px; }
	.dps.dps.dps .dps-hero__name { font-size: calc(46px * var(--fs)); margin-bottom: 20px; }
}
@media (max-width: 380px) {
	.dps.dps.dps .dps-hero__name { font-size: calc(40px * var(--fs)); }
}

/* ==========================================================================
   HERO v1.15 - African flags band along the bottom of the hero
   All 54 flags in a slow, endless scroll (pauses on hover, still if the
   visitor prefers less motion). Replaces the kente strip.
   ========================================================================== */
.dps.dps.dps .dps-hero--afro { padding-bottom: calc(clamp(64px, 8vw, 104px) + 56px); }
.dps.dps.dps .dps-hero__kente { display: none; }
.dps.dps.dps .dps-hero__flags {
	position: absolute; left: 0; right: 0; bottom: 0; z-index: 1;
	padding: 14px 0;
	border-top: 1px solid rgba(255, 255, 255, .07);
	background: rgba(12, 17, 29, .55);
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	        mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.dps.dps.dps .dps-hero__flags-track {
	display: flex; align-items: center; gap: 18px; width: max-content;
	animation: dps-marquee 90s linear infinite;
}
.dps.dps.dps .dps-hero__flags:hover .dps-hero__flags-track { animation-play-state: paused; }
.dps.dps.dps .dps-hero__flags img {
	display: block; flex: none; width: auto; height: 20px; max-width: none;
	border-radius: 3px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .12), 0 4px 10px -4px rgba(0, 0, 0, .7);
	opacity: .92; transition: opacity .2s, transform .2s var(--ease);
}
.dps.dps.dps .dps-hero__flags img:hover { opacity: 1; transform: translateY(-2px) scale(1.08); }

@media (max-width: 600px) {
	.dps.dps.dps .dps-hero--afro { padding-bottom: 104px; }
	.dps.dps.dps .dps-hero__flags { padding: 12px 0; }
	.dps.dps.dps .dps-hero__flags-track { gap: 14px; animation-duration: 70s; }
	.dps.dps.dps .dps-hero__flags img { height: 18px; }
}
@media (prefers-reduced-motion: reduce) {
	.dps.dps.dps .dps-hero__flags-track { flex-wrap: wrap; justify-content: center; width: auto; padding: 0 16px; }
	.dps.dps.dps .dps-hero__flags-track img:nth-child(n+55) { display: none; }
}

/* v1.16 - four numbers in the hero row (the separate numbers band was removed) */
@media (max-width: 600px) {
	.dps.dps.dps .dps-hero--afro .dps-proof { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 0; }
	.dps.dps.dps .dps-hero--afro .dps-proof li:nth-child(odd) { border-left: 0; }
}
/* ==========================================================================
   HEADER v1.17 - solid, tidy bar
   Dark bar from the start (no see-through over the hero), a little slimmer
   once you scroll, and a pink underline for the current page.
   ========================================================================== */
.dps.dps.dps .dps-header {
	background: rgba(12, 17, 29, .94);
	border-bottom: 1px solid var(--line);
	-webkit-backdrop-filter: blur(16px) saturate(140%);
	        backdrop-filter: blur(16px) saturate(140%);
	transition: height .25s var(--ease), background .25s, box-shadow .25s;
}
.dps.dps.dps .dps-header.is-scrolled {
	height: 64px;
	background: rgba(12, 17, 29, .97);
	box-shadow: 0 12px 30px -22px rgba(0, 0, 0, .9);
}
.dps.dps.dps .dps-logo img { transition: height .25s var(--ease); }
.dps.dps.dps .dps-header.is-scrolled .dps-logo img { height: 32px; }

/* Menu links: quiet until hovered, current page underlined in pink */
.dps.dps.dps .dps-nav > ul { gap: 2px; }
.dps.dps.dps .dps-nav > ul > li > a { padding: 10px 14px; background: none; }
.dps.dps.dps .dps-nav > ul > li > a:hover,
.dps.dps.dps .dps-nav__has-sub:hover > a,
.dps.dps.dps .dps-nav__has-sub:focus-within > a { background: none; color: #fff; }
.dps.dps.dps .dps-nav a[aria-current="page"]::after {
	left: 14px; right: 14px; bottom: 3px; width: auto; height: 2px; margin-left: 0;
	border-radius: 2px; background: var(--pink); box-shadow: none;
}
.dps.dps.dps .dps-nav__has-sub > a[aria-current="page"]::after { right: 26px; }

/* Right side */
.dps.dps.dps .dps-header__cta .dps-btn { min-height: 40px; padding: 0 18px; }
.dps.dps.dps .dps-link-login { opacity: .8; }

/* The services jump bar sits right under the slimmer header */
.dps:has(.dps-header.is-scrolled) .dps-jump { top: 64px; }
.admin-bar .dps:has(.dps-header.is-scrolled) .dps-jump { top: calc(64px + 32px); }

@media (max-width: 782px) {
	.admin-bar .dps:has(.dps-header.is-scrolled) .dps-jump { top: calc(60px + 46px); }
}
@media (max-width: 600px) {
	.dps.dps.dps .dps-header.is-scrolled { height: 60px; }
	.dps.dps.dps .dps-header.is-scrolled .dps-logo img { height: 28px; }
	.dps:has(.dps-header.is-scrolled) .dps-jump { top: 60px; }
}
/* ==========================================================================
   STORES v1.19 - heading + calm row of store chips (replaces the scrolling names)
   ========================================================================== */
.dps.dps.dps .dps-stores--v2 { background: var(--bg-deep); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.dps.dps.dps .dps-stores--v2 .dps-stores__in { display: flex; flex-direction: column; align-items: center; gap: 22px; padding-top: 40px; padding-bottom: 44px; text-align: center; }
.dps.dps.dps .dps-stores__title { margin: 0; font-size: calc(13px * var(--fs)); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.dps.dps.dps .dps-stores__title strong { color: #fff; font-weight: 700; }
.dps.dps.dps .dps-stores__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 12px; max-width: 980px; }
.dps.dps.dps .dps-store {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 10px 20px; border-radius: 999px;
	border: 1px solid var(--line-2); background: rgba(255, 255, 255, .03);
	transition: border-color .2s, background .2s;
}
.dps.dps.dps .dps-store:hover { border-color: rgba(255, 255, 255, .28); background: rgba(255, 255, 255, .06); }
.dps.dps.dps .dps-store__name { font-family: var(--font-head); font-size: calc(17px * var(--fs)); font-weight: 700; letter-spacing: -.01em; color: #e9ecf3; white-space: nowrap; }
/* Boomplay: preferred distributor */
.dps.dps.dps .dps-store--pref { border-color: rgba(245, 181, 68, .5); background: rgba(245, 181, 68, .07); }
.dps.dps.dps .dps-store--pref:hover { border-color: rgba(245, 181, 68, .75); background: rgba(245, 181, 68, .11); }
.dps.dps.dps .dps-store__tag { padding: 3px 9px; border-radius: 999px; font-size: calc(11px * var(--fs)); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #1a1205; background: #f5b544; white-space: nowrap; }

@media (max-width: 600px) {
	.dps.dps.dps .dps-stores--v2 .dps-stores__in { gap: 16px; padding-top: 30px; padding-bottom: 32px; }
	.dps.dps.dps .dps-stores__title { font-size: calc(11.5px * var(--fs)); letter-spacing: .1em; }
	.dps.dps.dps .dps-stores__list { gap: 8px; }
	.dps.dps.dps .dps-store { padding: 8px 14px; }
	.dps.dps.dps .dps-store__name { font-size: calc(14.5px * var(--fs)); }
	.dps.dps.dps .dps-store__tag { font-size: calc(10px * var(--fs)); padding: 2px 7px; }
}
/* ==========================================================================
   MENU FIX v1.20 - Services drop-down arrow and panel always visible
   (v1.17 trimmed the link padding, which pushed the arrow under the word.)
   ========================================================================== */
.dps.dps.dps .dps-nav > ul > li.dps-nav__has-sub > a { padding-right: 32px; }
.dps.dps.dps .dps-nav > ul > li.dps-nav__has-sub > a::before {
	right: 13px; width: 7px; height: 7px; margin-top: -5px;
	border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	opacity: 1;
}
.dps.dps.dps .dps-nav > ul > li.dps-nav__has-sub > a[aria-current="page"]::after { right: 32px; }

/* Open state set by the script (hover, keyboard or tap) */
.dps.dps.dps .dps-nav__has-sub.is-open > a { color: #fff; }
.dps.dps.dps .dps-nav__has-sub.is-open > a::before { transform: rotate(-135deg); margin-top: -1px; }
.dps.dps.dps .dps-nav__has-sub.is-open .dps-nav__sub { opacity: 1; visibility: visible; transform: translate(-50%, 0) scale(1); }

/* The panel sits on top of everything, just under the bar */
.dps.dps.dps .dps-nav__sub { z-index: 950; top: calc(100% + 12px); }
/* ==========================================================================
   STORES v1.21 - the original scrolling strip, refined
   ========================================================================== */
.dps.dps.dps .dps-stores--v3 {
	position: relative;
	background: linear-gradient(90deg, rgba(var(--pink-rgb), .06), rgba(255, 255, 255, .015) 30%, rgba(255, 255, 255, .015) 70%, rgba(181, 31, 214, .06));
	border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
}
.dps.dps.dps .dps-stores--v3 .dps-stores__in { display: flex; align-items: center; gap: 40px; padding-top: 26px; padding-bottom: 26px; }

/* Left: "Your music on 200+ stores" */
.dps.dps.dps .dps-stores__lead { flex: none; display: grid; gap: 2px; margin: 0; padding-right: 40px; border-right: 1px solid var(--line-2); }
.dps.dps.dps .dps-stores__lead span { font-size: calc(11.5px * var(--fs)); font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.dps.dps.dps .dps-stores__lead strong { font-family: var(--font-head); font-size: calc(26px * var(--fs)); font-weight: 700; line-height: 1.1; letter-spacing: -.02em; color: #fff; white-space: nowrap; }

/* Right: the scrolling names */
.dps.dps.dps .dps-stores--v3 .dps-marquee {
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	        mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.dps.dps.dps .dps-stores--v3 .dps-marquee__track { align-items: center; gap: 0; animation-duration: 46s; }
.dps.dps.dps .dps-marquee__track .dps-mq {
	position: relative; display: inline-flex; align-items: center; gap: 10px;
	padding: 6px 30px;
	font-family: var(--font-head); font-size: calc(21px * var(--fs)); font-weight: 700; letter-spacing: -.01em;
	color: rgba(255, 255, 255, .72); white-space: nowrap;
	transition: color .2s;
}
.dps.dps.dps .dps-marquee__track .dps-mq:hover { color: #fff; }
/* small pink diamond between names */
.dps.dps.dps .dps-marquee__track .dps-mq::after {
	content: ""; position: absolute; right: -3px; top: 50%; width: 6px; height: 6px; margin-top: -3px;
	transform: rotate(45deg); border-radius: 1px; background: var(--pink); opacity: .7;
}
/* Boomplay: preferred distributor, in gold */
.dps.dps.dps .dps-marquee__track .dps-mq--pref { color: #f5b544; }
.dps.dps.dps .dps-marquee__track .dps-mq--pref:hover { color: #ffc966; }
.dps.dps.dps .dps-marquee__track .dps-mq--pref em {
	padding: 3px 9px; border-radius: 999px; font-family: inherit; font-style: normal;
	font-size: calc(10.5px * var(--fs)); font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
	color: #1a1205; background: #f5b544;
}

@media (max-width: 860px) {
	.dps.dps.dps .dps-stores--v3 .dps-stores__in { flex-direction: column; align-items: stretch; gap: 16px; padding-top: 22px; padding-bottom: 22px; }
	.dps.dps.dps .dps-stores__lead { padding-right: 0; border-right: 0; text-align: center; justify-items: center; }
	.dps.dps.dps .dps-stores__lead strong { font-size: calc(22px * var(--fs)); }
}
@media (max-width: 600px) {
	.dps.dps.dps .dps-marquee__track .dps-mq { padding: 4px 20px; font-size: calc(17px * var(--fs)); }
	.dps.dps.dps .dps-stores--v3 .dps-marquee__track { animation-duration: 36s; }
}
/* v1.22 - inner pages: breadcrumb only, no title block under it */
.dps.dps.dps .dps-pagehero--crumbs { padding: calc(var(--header) + 22px) 0 18px; }
.dps.dps.dps .dps-pagehero--crumbs::before { display: none; }
.dps.dps.dps.dps--embed:not(.dps--chrome) .dps-pagehero--crumbs { padding-top: 22px; }
@media (max-width: 600px) {
	.dps.dps.dps .dps-pagehero--crumbs { padding: calc(var(--header) + 16px) 0 14px; }
	.dps.dps.dps.dps--embed:not(.dps--chrome) .dps-pagehero--crumbs { padding-top: 16px; }
}
/* ==========================================================================
   SITE-WIDE HEADER v1.23 - the Dapstrem header on every page of the site
   ========================================================================== */
/* Make room for the fixed bar on theme / Elementor pages */
body.dps-has-global-header { padding-top: 76px; }
@media (max-width: 600px) { body.dps-has-global-header { padding-top: 68px; } }
.dps.dps-global { background: none; font-size: 16px; }
/* A full-page Dapstrem page embedded via shortcode already sits under the bar */
body.dps-has-global-header .dps.dps.dps.dps--embed.dps--chrome .dps-hero,
body.dps-has-global-header .dps.dps.dps.dps--embed.dps--chrome .dps-pagehero { padding-top: 48px; }
body.dps-has-global-header .dps.dps.dps.dps--embed.dps--chrome .dps-pagehero--crumbs { padding-top: 22px; }
body.dps-has-global-header .dps.dps.dps.dps--embed .dps-jump { top: 64px; }

/* Hide the theme's and Elementor's own headers so there is only one menu */
body.dps-hide-theme-header :is(
	header.elementor-location-header, .elementor-location-header,
	#site-header, #masthead, header.site-header, .site-header:not(.dps-header),
	#header.site-header, .ast-primary-header-bar, #ast-desktop-header, #ast-mobile-header,
	.wp-site-blocks > header.wp-block-template-part, header.wp-block-template-part
) { display: none !important; }