/* הקליפ המוזיקלי הראשון שלי עם AI - the course's own look, only on /music-clip/ (templates/landing-music-clip.php).
   Hadar, 17-18.10.2026: "מספיק עם הפיקסל ארט", "יש לו מיתוג משלו". Soft 3D colorful pop on a night-blue stage:
   fuchsia, electric purple, turquoise and sunny yellow, neon and stage light, glossy rounded cards. Benya and the
   robot are the same characters (their 3D art: site/dev/build_clip_assets.py ← assets/img/clip).
   Loads after site.css; everything is scoped to .clip, the site's header and footer stay as they are.
   Motion is CSS only and stops for "less motion". Mobile first is checked at 390px. */

.clip {
	--c-night: #110a3a;
	--c-night-2: #1d0f5c;
	--c-night-3: #2a0f6e;
	--c-pink: #ff3fa4;
	--c-pink-deep: #b3126f; /* pink text on white: 6:1 */
	--c-purple: #8b3dff;
	--c-purple-deep: #5b1fd1;
	--c-cyan: #2fe3ea;
	--c-yellow: #ffd23f;
	--c-ink: #1a0f45;
	--c-text: #2c2160;
	--c-on-night: #ece6ff;
	--c-muted-night: #c9bff5;
	--c-paper: #fff8fc;
	--c-lilac: #f5efff;
	--c-glow-pink: rgba(255, 63, 164, 0.45);
	--c-glow-cyan: rgba(47, 227, 234, 0.4);
	--c-radius: 28px;
	--c-wrap: 1240px;

	position: relative;
	padding-bottom: 0;
	color: var(--c-on-night);
	background:
		radial-gradient(1.5px 1.5px at 12% 18%, rgba(255, 255, 255, 0.8), transparent 60%),
		radial-gradient(1.5px 1.5px at 72% 9%, rgba(255, 255, 255, 0.7), transparent 60%),
		radial-gradient(2px 2px at 38% 42%, rgba(255, 210, 63, 0.7), transparent 60%),
		radial-gradient(1.5px 1.5px at 88% 63%, rgba(255, 255, 255, 0.6), transparent 60%),
		radial-gradient(2px 2px at 22% 81%, rgba(47, 227, 234, 0.7), transparent 60%),
		radial-gradient(1.5px 1.5px at 58% 92%, rgba(255, 255, 255, 0.6), transparent 60%),
		var(--c-night);
	background-size: 420px 420px, 420px 420px, 420px 420px, 420px 420px, 420px 420px, 420px 420px, auto;
	overflow-x: clip;
	isolation: isolate;
}

.clip h2,
.clip h3 {
	color: inherit;
}

.clip :focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
	box-shadow: 0 0 0 6px var(--c-purple-deep);
}

.clip-panel :focus-visible {
	outline-color: var(--c-purple-deep);
	box-shadow: none;
}

/* ===== Buttons ===== */

.clip-button,
.clip .aik-lead-form button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 60px;
	padding: 10px 30px 10px 14px;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(180deg, #ffe680 0%, #ffd23f 45%, #ffb81f 100%);
	box-shadow:
		inset 0 2px 0 rgba(255, 255, 255, 0.7),
		inset 0 -3px 0 rgba(201, 120, 0, 0.35),
		0 5px 0 #c98400,
		0 14px 30px rgba(255, 184, 31, 0.35),
		0 0 0 4px rgba(255, 255, 255, 0.12);
	color: var(--c-ink);
	font-family: var(--font-title);
	font-size: 21px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.2s var(--ease), box-shadow 0.2s var(--ease);
}

.clip-button:hover,
.clip .aik-lead-form button[type="submit"]:hover {
	transform: translateY(-2px);
	box-shadow:
		inset 0 2px 0 rgba(255, 255, 255, 0.7),
		inset 0 -3px 0 rgba(201, 120, 0, 0.35),
		0 7px 0 #c98400,
		0 18px 38px rgba(255, 184, 31, 0.45),
		0 0 0 6px rgba(255, 255, 255, 0.16);
}

.clip-button:active,
.clip .aik-lead-form button[type="submit"]:active {
	transform: translateY(3px);
	box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.7), 0 2px 0 #c98400, 0 8px 18px rgba(255, 184, 31, 0.3);
}

/* the round play badge in the button (a fuchsia button on yellow, like the course mockups) */
.clip-play {
	position: relative;
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #ff8cc8, var(--c-pink) 55%, #c4127a);
	box-shadow: inset 0 -3px 0 rgba(120, 0, 70, 0.35), 0 3px 8px rgba(179, 18, 111, 0.4);
}

.clip-play::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 0;
	height: 0;
	border-block: 8px solid transparent;
	border-left: 13px solid #fff; /* physical: a play arrow points right in every language */
	transform: translateX(2px);
}

/* ===== Section titles: rounded and glowing, no pixel brackets ===== */

.clip-head {
	max-width: var(--c-wrap);
	margin: 0 auto 36px;
	text-align: center;
}

.clip-h2 {
	font-family: var(--font-heading);
	font-size: clamp(30px, 4.2vw, 46px);
	line-height: 1.15;
	color: var(--c-ink);
	text-wrap: balance;
}

.clip-panel .clip-h2 {
	background: linear-gradient(100deg, var(--c-purple-deep), var(--c-pink-deep));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.clip-h2.is-light {
	display: inline-block;
	padding: 10px 30px 14px;
	border: 2px solid rgba(255, 255, 255, 0.55);
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(139, 61, 255, 0.55), rgba(91, 31, 209, 0.55));
	box-shadow: 0 0 0 4px rgba(255, 63, 164, 0.35), 0 0 30px var(--c-glow-pink), inset 0 0 18px rgba(255, 255, 255, 0.18);
	color: #fff;
	text-shadow: 0 2px 0 rgba(26, 15, 69, 0.5);
}

.clip-sub {
	margin-top: 14px;
	color: var(--c-muted-night);
	font-size: 19px;
}

.clip-sub span {
	margin-inline: 6px;
	color: var(--c-yellow);
}

/* ===== Hero: the stage ===== */

.clip-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.clip-hero-bg {
	position: absolute;
	inset: 0;
	z-index: -1;
}

.clip-hero-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 30%;
}

.clip-hero-bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(270deg, rgba(17, 10, 58, 0.94) 0%, rgba(17, 10, 58, 0.78) 38%, rgba(17, 10, 58, 0.2) 75%, rgba(17, 10, 58, 0.35) 100%),
		linear-gradient(0deg, var(--c-night) 0%, rgba(17, 10, 58, 0) 30%);
}

.clip-hero-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	align-items: center;
	gap: 24px;
	max-width: var(--c-wrap);
	margin: 0 auto;
	padding: 56px var(--pad) 150px;
}

.clip-hero-text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 18px;
}

.clip-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 7px 18px 7px 16px;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(6px);
	color: #fff;
	font-family: var(--font-title);
	font-size: 17px;
	font-weight: 600;
}

.clip-eyebrow::before { /* "on air" */
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--c-pink);
	box-shadow: 0 0 0 4px rgba(255, 63, 164, 0.25), 0 0 12px var(--c-pink);
	animation: clip-pulse 1.6s ease-in-out infinite;
}

.clip-eyebrow span {
	color: var(--c-yellow);
}

/* The course name in live text, set like its logo: round puffy letters, each word its own color, "AI" pops */
.clip-name {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	font-family: var(--font-heading);
	line-height: 1;
	color: #fff;
}

.clip-name-main {
	display: flex;
	flex-wrap: wrap;
	column-gap: 0.25em;
	font-size: clamp(50px, 7.4vw, 100px);
	letter-spacing: -0.01em;
}

.clip-name-main span,
.clip-name-sub {
	filter: drop-shadow(0 5px 0 #3b1494) drop-shadow(0 0 22px var(--c-glow-pink));
}

.clip-name-main .is-pink {
	background: linear-gradient(180deg, #ffc2e4 0%, #ff6dbb 45%, #f02d93 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.clip-name-main .is-cyan {
	background: linear-gradient(180deg, #d4fdff 0%, #5ff0f4 45%, #12b8d6 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.clip-name-sub {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.3em;
	font-size: clamp(32px, 4.4vw, 58px);
	color: #fff4c2;
}

.clip-ai {
	position: relative;
	display: inline-grid;
	place-items: center;
	padding: 0.06em 0.3em 0.12em;
	border-radius: 0.32em;
	background: linear-gradient(180deg, #a35bff, var(--c-purple-deep));
	box-shadow: inset 0 3px 0 rgba(255, 255, 255, 0.35), 0 0 0 3px #ff7dc4, 0 0 26px rgba(255, 210, 63, 0.55);
	font-family: var(--font-title);
	font-size: 1.25em;
	font-weight: 700;
	line-height: 1;
	color: var(--c-yellow);
	text-shadow: 0 3px 0 #b8560f;
	transform: rotate(-5deg);
}

.clip-ai::after { /* a little sparkle on its corner */
	content: "";
	position: absolute;
	top: -0.36em;
	left: -0.34em;
	width: 0.62em;
	height: 0.62em;
	background: linear-gradient(135deg, #fff, #fff4a8);
	clip-path: polygon(50% 0, 61% 39%, 100% 50%, 61% 61%, 50% 100%, 39% 61%, 0 50%, 39% 39%);
	filter: drop-shadow(0 0 6px #fff);
	animation: clip-twinkle 2.4s ease-in-out infinite;
}

.clip-tagline {
	font-family: var(--font-heading);
	font-size: clamp(26px, 2.7vw, 34px);
	line-height: 1.25;
	color: #fff;
}

.clip-tagline span {
	color: var(--c-cyan);
}

.clip-lead {
	max-width: 34em;
	color: var(--c-on-night);
	font-size: clamp(18px, 1.5vw, 20px);
	line-height: 1.6;
}

.clip-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 4px 0 0;
	padding: 0;
	list-style: none;
}

.clip-meta li {
	padding: 6px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: #fff;
	font-size: 16px;
}

/* the duet floats on its little stage; notes drift up; the equalizer bounces */
.clip-hero-art {
	position: relative;
	display: grid;
	justify-items: center;
}

.clip-duet {
	width: min(100%, 520px);
	filter: drop-shadow(0 26px 40px rgba(10, 4, 40, 0.6)) drop-shadow(0 0 40px rgba(139, 61, 255, 0.45));
	animation: clip-float 5s ease-in-out infinite;
}

.clip-eq {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 6px;
	height: 56px;
	margin-top: 4px;
}

.clip-eq i {
	width: 10px;
	height: 100%;
	border-radius: 6px;
	background: linear-gradient(0deg, var(--c-pink), var(--c-purple) 50%, var(--c-cyan));
	box-shadow: 0 0 10px rgba(255, 63, 164, 0.5);
	transform-origin: bottom;
	transform: scaleY(0.35);
	animation: clip-eq 1.1s ease-in-out infinite alternate;
}

.clip-eq i:nth-child(3n) { animation-duration: 0.8s; }
.clip-eq i:nth-child(3n + 1) { animation-duration: 1.3s; }
.clip-eq i:nth-child(4n) { animation-delay: -0.4s; }
.clip-eq i:nth-child(5n + 2) { animation-delay: -0.7s; }
.clip-eq i:nth-child(7n) { animation-delay: -0.2s; }

.clip-note {
	position: absolute;
	z-index: 1;
	font-family: "Segoe UI Symbol", "Noto Sans Symbols 2", system-ui, sans-serif;
	font-size: 46px;
	line-height: 1;
	animation: clip-drift 6s ease-in-out infinite;
}

.clip-note.is-1 { top: 6%; right: 4%; color: var(--c-yellow); text-shadow: 0 0 16px rgba(255, 210, 63, 0.8); }
.clip-note.is-2 { top: 34%; left: 0; color: var(--c-cyan); font-size: 54px; text-shadow: 0 0 16px var(--c-glow-cyan); animation-delay: -2s; }
.clip-note.is-3 { top: 2%; left: 30%; color: #ff8cc8; font-size: 38px; text-shadow: 0 0 16px var(--c-glow-pink); animation-delay: -4s; }

/* ===== The band: three glossy cards over the stage's edge ===== */

.clip-band {
	position: relative;
	z-index: 2;
	max-width: var(--c-wrap);
	margin: -110px auto 0;
	padding: 0 var(--pad);
}

.clip-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.clip-stats li {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	column-gap: 16px;
	align-items: center;
	padding: 20px 22px;
	border-radius: 24px;
	color: var(--c-ink);
	box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.8), 0 18px 40px rgba(8, 3, 35, 0.45);
	overflow: hidden;
	isolation: isolate;
}

.clip-stats li::before { /* the gloss */
	content: "";
	position: absolute;
	inset: 0 0 55% 0;
	border-radius: 24px 24px 50% 50% / 24px 24px 30px 30px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0));
	pointer-events: none;
	z-index: -1;
}

.clip-stats .is-pink { background: linear-gradient(160deg, #ffe0f1, #ff9fd2); }
.clip-stats .is-cyan { background: linear-gradient(160deg, #dcfcff, #86e9f4); }
.clip-stats .is-yellow { background: linear-gradient(160deg, #fff6cf, #ffd75e); }

.clip-stat-icon {
	grid-row: span 2;
	width: 64px;
	height: 64px;
	filter: drop-shadow(0 6px 8px rgba(26, 15, 69, 0.25));
}

.clip-stats strong {
	font-family: var(--font-heading);
	font-size: 24px;
	line-height: 1.2;
}

.clip-stats span:not(.clip-stat-icon) {
	color: var(--c-text);
	font-size: 16px;
	line-height: 1.4;
}

/* a glossy "play" tile drawn in CSS (the course has no clapper icon yet) */
.clip-play-tile {
	position: relative;
	display: block;
	border-radius: 18px;
	background: radial-gradient(circle at 30% 25%, #c79bff, var(--c-purple) 55%, var(--c-purple-deep));
	box-shadow: inset 0 3px 0 rgba(255, 255, 255, 0.45), inset 0 -4px 0 rgba(40, 0, 110, 0.35);
}

.clip-play-tile::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 0;
	height: 0;
	border-block: 13px solid transparent;
	border-left: 20px solid #fff; /* physical: a play arrow points right in every language */
	transform: translateX(3px);
	filter: drop-shadow(0 2px 2px rgba(40, 0, 110, 0.4));
}

/* ===== Light panels (story, learn, FAQ): rounded paper on the night ===== */

.clip-panel {
	position: relative;
	width: calc(100% - 32px);
	max-width: calc(var(--c-wrap) + 80px);
	margin: 72px auto;
	padding: 72px clamp(20px, 4vw, 56px);
	border-radius: 44px;
	background:
		radial-gradient(40% 50% at 100% 0%, rgba(255, 63, 164, 0.12), transparent 70%),
		radial-gradient(40% 50% at 0% 100%, rgba(47, 227, 234, 0.14), transparent 70%),
		var(--c-paper);
	box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.06), 0 0 60px rgba(139, 61, 255, 0.35);
	color: var(--c-text);
}

.clip-panel.is-lilac {
	background:
		radial-gradient(40% 50% at 0% 0%, rgba(139, 61, 255, 0.14), transparent 70%),
		radial-gradient(40% 50% at 100% 100%, rgba(255, 210, 63, 0.2), transparent 70%),
		var(--c-lilac);
}

.clip-section {
	position: relative;
	max-width: var(--c-wrap);
	margin: 0 auto;
	padding: 40px var(--pad);
}

/* Story */
.clip-story-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
	align-items: center;
	gap: clamp(32px, 5vw, 72px);
	max-width: var(--c-wrap);
	margin: 0 auto;
}

.clip-story {
	display: flex;
	flex-direction: column;
	gap: 16px;
	font-size: 19px;
	line-height: 1.7;
}

.clip-story .clip-h2 {
	margin-bottom: 6px;
}

.clip-story-hook {
	color: var(--c-ink);
	font-family: var(--font-heading);
	font-size: clamp(24px, 2.4vw, 30px);
	line-height: 1.3;
}

.clip-story strong {
	color: var(--c-pink-deep);
}

/* the photo: a neon gradient frame, Benya singing on its corner */
.clip .clip-photo > img:first-child {
	border: 6px solid transparent;
	background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, var(--c-pink), var(--c-purple) 50%, var(--c-cyan)) border-box;
	box-shadow: 0 24px 60px rgba(91, 31, 209, 0.25), 0 0 40px rgba(255, 63, 164, 0.18);
	transform: rotate(-2deg);
}

.clip .clip-photo .aik-photo-sticker {
	bottom: -12%;
	left: -8%;
	width: 42%;
	max-width: 210px;
	filter: drop-shadow(0 14px 18px rgba(26, 15, 69, 0.3));
	animation: clip-bob 3.2s ease-in-out infinite;
}

/* ===== Topics: glossy candy cards on the night ===== */

.clip-topics {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 70px 22px;
	margin: 0;
	padding: 40px 0 0;
	list-style: none;
	counter-reset: none;
}

.clip-topic {
	position: relative;
	grid-column: span 2;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 26px 24px 24px;
	border: 2px solid rgba(255, 255, 255, 0.7);
	border-radius: var(--c-radius);
	color: var(--c-ink);
	box-shadow: inset 0 3px 0 rgba(255, 255, 255, 0.85), 0 0 0 5px rgba(255, 255, 255, 0.08), 0 22px 44px rgba(5, 2, 30, 0.45);
	transition: transform 0.25s var(--ease);
	isolation: isolate;
}

.clip-topic:nth-child(4),
.clip-topic:nth-child(5) {
	grid-column: span 3;
}

.clip-topic:hover {
	transform: translateY(-4px) rotate(-0.4deg);
}

.clip-topic::before {
	content: "";
	position: absolute;
	inset: 0 0 60% 0;
	border-radius: var(--c-radius) var(--c-radius) 50% 50% / var(--c-radius) var(--c-radius) 36px 36px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0));
	pointer-events: none;
	z-index: -1;
}

.clip-topic.is-pink { background: linear-gradient(165deg, #ffe6f3, #ffa9d6); box-shadow: inset 0 3px 0 rgba(255, 255, 255, 0.85), 0 0 34px rgba(255, 63, 164, 0.35), 0 22px 44px rgba(5, 2, 30, 0.45); }
.clip-topic.is-cyan { background: linear-gradient(165deg, #e2fdff, #8deaf4); box-shadow: inset 0 3px 0 rgba(255, 255, 255, 0.85), 0 0 34px rgba(47, 227, 234, 0.32), 0 22px 44px rgba(5, 2, 30, 0.45); }
.clip-topic.is-yellow { background: linear-gradient(165deg, #fff8d9, #ffd968); box-shadow: inset 0 3px 0 rgba(255, 255, 255, 0.85), 0 0 34px rgba(255, 210, 63, 0.32), 0 22px 44px rgba(5, 2, 30, 0.45); }
.clip-topic.is-purple { background: linear-gradient(165deg, #f1e8ff, #c6a8ff); box-shadow: inset 0 3px 0 rgba(255, 255, 255, 0.85), 0 0 34px rgba(139, 61, 255, 0.4), 0 22px 44px rgba(5, 2, 30, 0.45); }

.clip-topic-art {
	position: absolute;
	top: -46px;
	left: 10px;
	width: 112px;
	height: auto;
	filter: drop-shadow(0 10px 12px rgba(26, 15, 69, 0.35));
	pointer-events: none;
}

.clip-topic-num {
	align-self: flex-start;
	padding: 4px 14px;
	border-radius: 999px;
	background: var(--c-ink);
	color: #fff;
	font-family: var(--font-title);
	font-size: 15px;
	font-weight: 600;
}

.clip-topic h3 {
	max-width: calc(100% - 96px);
	font-family: var(--font-heading);
	font-size: 26px;
	line-height: 1.2;
}

.clip-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.clip-chips li {
	padding: 5px 13px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.72);
	box-shadow: 0 2px 0 rgba(26, 15, 69, 0.08);
	font-size: 16px;
	font-weight: 500;
}

.clip-topic-out {
	margin-top: auto;
	padding-top: 10px;
	border-top: 2px dashed rgba(26, 15, 69, 0.18);
	color: var(--c-text);
	font-size: 16px;
	line-height: 1.5;
}

.clip-topic-out b {
	color: var(--c-ink);
}

/* ===== What they learn: white glossy cards with a 3D icon tile ===== */

.clip-learn {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
	max-width: var(--c-wrap);
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.clip-learn > li {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 28px 28px 26px;
	border-radius: var(--c-radius);
	background: #fff;
	box-shadow: 0 2px 6px rgba(26, 15, 69, 0.05), 0 18px 40px rgba(91, 31, 209, 0.12);
	overflow: hidden;
}

.clip-learn > li::before { /* a glowing strip of the card's color */
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 6px;
	background: var(--strip);
}

.clip-learn .is-pink { --strip: linear-gradient(90deg, #ff8cc8, var(--c-pink)); --tile: linear-gradient(160deg, #ffe0f1, #ffb3dc); }
.clip-learn .is-cyan { --strip: linear-gradient(90deg, #8ff4f7, #14bfd8); --tile: linear-gradient(160deg, #dcfcff, #9eeef6); }
.clip-learn .is-yellow { --strip: linear-gradient(90deg, #ffe680, #ffb81f); --tile: linear-gradient(160deg, #fff6cf, #ffe08a); }
.clip-learn .is-purple { --strip: linear-gradient(90deg, #c79bff, var(--c-purple)); --tile: linear-gradient(160deg, #efe4ff, #d2bbff); }

.clip-learn h3 {
	display: flex;
	align-items: center;
	gap: 14px;
	color: var(--c-ink);
	font-family: var(--font-heading);
	font-size: 26px;
}

.clip-tile {
	flex: none;
	display: grid;
	place-items: center;
	width: 66px;
	height: 66px;
	border-radius: 20px;
	background: var(--tile);
	box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.9), 0 6px 14px rgba(26, 15, 69, 0.12);
}

.clip-tile img {
	width: 52px;
	height: 52px;
}

.clip-tile .clip-play-tile {
	width: 50px;
	height: 50px;
	border-radius: 14px;
}

.clip-tile .clip-play-tile::after {
	border-block-width: 10px;
	border-left-width: 15px;
}

.clip-learn p {
	font-size: 18px;
	line-height: 1.65;
}

.clip-like {
	margin-top: auto;
	padding: 12px 16px;
	border-radius: 16px;
	background: var(--c-lilac);
	color: var(--c-text);
	font-size: 17px;
}

.clip-like b {
	color: var(--c-pink-deep);
}

/* ===== Who it's for ===== */

.clip-who {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	align-items: center;
	gap: 40px;
	padding-block: 24px;
}

.clip-who-text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 26px;
}

.clip-checklist {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.clip-checklist li {
	position: relative;
	padding: 16px 20px;
	padding-inline-start: 66px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 20px;
	background: linear-gradient(90deg, rgba(139, 61, 255, 0.22), rgba(255, 255, 255, 0.06));
	color: var(--c-on-night);
	font-size: 18px;
	line-height: 1.5;
}

.clip-checklist li::before {
	content: "✓";
	position: absolute;
	inset-inline-start: 16px;
	top: 50%;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #ff9bd0, var(--c-pink) 55%, #c4127a);
	box-shadow: inset 0 -3px 0 rgba(120, 0, 70, 0.3), 0 0 14px var(--c-glow-pink);
	color: #fff;
	font-family: var(--font-title);
	font-size: 20px;
	font-weight: 700;
	transform: translateY(-50%);
}

.clip-checklist li:nth-child(2)::before { background: radial-gradient(circle at 35% 30%, #a8f7fa, #17c6dc 55%, #0a8ea8); box-shadow: inset 0 -3px 0 rgba(0, 70, 90, 0.3), 0 0 14px var(--c-glow-cyan); }
.clip-checklist li:nth-child(3)::before { background: radial-gradient(circle at 35% 30%, #fff0a6, #ffc21f 55%, #d48d00); color: var(--c-ink); box-shadow: inset 0 -3px 0 rgba(120, 70, 0, 0.3), 0 0 14px rgba(255, 210, 63, 0.5); }
.clip-checklist li:nth-child(4)::before { background: radial-gradient(circle at 35% 30%, #d2b2ff, var(--c-purple) 55%, var(--c-purple-deep)); box-shadow: inset 0 -3px 0 rgba(40, 0, 110, 0.3), 0 0 14px rgba(139, 61, 255, 0.55); }

.clip-checklist strong {
	color: #fff;
}

.clip-who-art {
	position: relative;
	display: grid;
	place-items: center;
}

.clip-glow {
	position: absolute;
	width: 82%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 63, 164, 0.45), rgba(139, 61, 255, 0.25) 45%, transparent 70%);
	filter: blur(6px);
	animation: clip-breathe 4s ease-in-out infinite;
}

.clip-float {
	position: relative;
	width: min(100%, 380px);
	animation: clip-float 4.4s ease-in-out infinite;
	filter: drop-shadow(0 24px 30px rgba(5, 2, 30, 0.5));
}

/* ===== FAQ (aik_faq from inc/parts.php), in the course's colors ===== */

.clip .aik-faq {
	max-width: 900px;
	margin: 0 auto;
}

.clip .aik-faq-item {
	border: 2px solid #f3d3ea;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 10px 26px rgba(91, 31, 209, 0.08);
	transition: border-color 0.2s, box-shadow 0.2s;
}

.clip .aik-faq-item[open] {
	border-color: #ff9fd2;
	box-shadow: 0 14px 34px rgba(255, 63, 164, 0.16);
}

.clip .aik-faq-item summary {
	padding: 18px 22px;
	color: var(--c-ink);
}

.clip .aik-faq-item summary .aik-icon { /* the pixel "?" of the rest of the site */
	display: none;
}

.clip .aik-faq-item summary::before {
	content: "♪";
	flex: none;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #c79bff, var(--c-purple) 55%, var(--c-purple-deep));
	box-shadow: inset 0 -3px 0 rgba(40, 0, 110, 0.3);
	color: #fff;
	font-family: "Segoe UI Symbol", "Noto Sans Symbols 2", system-ui, sans-serif;
	font-size: 20px;
}

.clip .aik-faq-item:nth-child(3n + 2) summary::before { background: radial-gradient(circle at 35% 30%, #ff9bd0, var(--c-pink) 55%, #c4127a); }
.clip .aik-faq-item:nth-child(3n) summary::before { background: radial-gradient(circle at 35% 30%, #a8f7fa, #17c6dc 55%, #0a8ea8); }

.clip .aik-faq-item summary::after {
	border-color: var(--c-pink-deep);
}

.clip .aik-faq-answer {
	background: #fff1f8;
	color: var(--c-text);
}

.clip .aik-faq-answer li::marker {
	color: var(--c-pink-deep);
}

/* ===== The finale: the premiere's red carpet behind the sign-up form ===== */

.clip-finale {
	position: relative;
	margin-top: 40px;
	isolation: isolate;
}

.clip-finale-bg {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
}

.clip-finale-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 60%;
}

.clip-finale-bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, var(--c-night) 0%, rgba(17, 10, 58, 0.35) 30%, rgba(17, 10, 58, 0.35) 70%, rgba(17, 10, 58, 0.85) 100%);
}

.clip-finale-capy { /* Benya brings the gift to the premiere */
	position: absolute;
	z-index: 1;
	top: 110px;
	left: max(8px, calc(50% - 520px));
	width: 170px;
	filter: drop-shadow(0 16px 20px rgba(5, 2, 30, 0.55));
	animation: clip-float 4.2s ease-in-out infinite;
	pointer-events: none;
}

.clip .aik-signup {
	display: flex;
	justify-content: center;
	min-height: 0;
	padding: 40px var(--pad) 72px;
	background: none;
}

.clip .aik-signup-art { /* the site's pixel night; this page has the premiere instead */
	display: none;
}

.clip .aik-signup-box {
	width: 100%;
	max-width: 620px;
	margin: 0;
	padding: 40px clamp(20px, 4vw, 44px);
	border: 2px solid rgba(255, 255, 255, 0.28);
	border-radius: 34px;
	background: linear-gradient(180deg, rgba(42, 15, 110, 0.82), rgba(17, 10, 58, 0.86));
	backdrop-filter: blur(12px);
	box-shadow: 0 0 0 6px rgba(255, 63, 164, 0.18), 0 0 50px rgba(255, 63, 164, 0.3), 0 30px 70px rgba(5, 2, 30, 0.55);
}

.clip .aik-signup .aik-title {
	margin: 0;
	font-size: clamp(30px, 4vw, 42px);
}

.clip .aik-title::before,
.clip .aik-title::after {
	display: none;
}

.clip .aik-signup .aik-title span {
	background: linear-gradient(180deg, #fff 10%, #ffd0ea 60%, #ff8cc8);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	filter: drop-shadow(0 3px 0 #3b1494);
}

.clip .aik-signup-text {
	color: var(--c-on-night);
}

.clip .aik-field input { /* no pixel icons in the fields here */
	padding-inline: 18px;
	border-radius: 16px;
	background-image: none;
}

.clip .aik-field input:focus {
	border-color: var(--c-pink);
	outline-color: var(--c-yellow);
}

.clip .aik-consent input {
	accent-color: var(--c-pink);
}

.clip .aik-lead-form button[type="submit"] {
	width: 100%;
	margin-top: 6px;
	padding-inline: 24px;
}

.clip .aik-lead-form button[type="submit"] img { /* the pixel bell */
	display: none;
}

/* the footer's pixel edge on top doesn't belong to this page */
main:has(> .clip) + .aik-footer::before {
	display: none;
}

/* ===== Motion ===== */

@keyframes clip-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-12px); }
}

@keyframes clip-bob {
	0%, 100% { transform: rotate(4deg) translateY(0); }
	50% { transform: rotate(-2deg) translateY(-6px); }
}

@keyframes clip-drift {
	0%, 100% { transform: translateY(0) rotate(-8deg); opacity: 0.95; }
	50% { transform: translateY(-16px) rotate(8deg); opacity: 0.6; }
}

@keyframes clip-eq {
	0% { transform: scaleY(0.2); }
	100% { transform: scaleY(1); }
}

@keyframes clip-twinkle {
	0%, 100% { transform: scale(1) rotate(0); opacity: 1; }
	50% { transform: scale(0.5) rotate(45deg); opacity: 0.6; }
}

@keyframes clip-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.35; }
}

@keyframes clip-breathe {
	0%, 100% { transform: scale(1); opacity: 1; }
	50% { transform: scale(1.08); opacity: 0.75; }
}

@media (prefers-reduced-motion: reduce) {
	.clip *,
	.clip *::before,
	.clip *::after {
		animation: none !important;
	}

	.clip-eq i {
		transform: scaleY(0.6);
	}
}

/* ===== Smaller screens ===== */

@media (max-width: 1000px) {
	.clip-topics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 54px 20px;
		padding-top: 46px;
	}

	.clip-topic,
	.clip-topic:nth-child(4) {
		grid-column: span 1;
	}

	.clip-topic:nth-child(5) {
		grid-column: span 2;
	}
}

@media (max-width: 860px) {
	.clip-hero-inner {
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 28px var(--pad) 120px;
		text-align: start;
	}

	.clip-hero-bg::after {
		background:
			linear-gradient(180deg, rgba(17, 10, 58, 0.7) 0%, rgba(17, 10, 58, 0.82) 45%, rgba(17, 10, 58, 0.55) 70%, var(--c-night) 100%);
	}

	.clip-hero-art {
		order: -1;
		margin-inline: auto;
		width: min(100%, 400px);
	}

	.clip-duet {
		width: 78%;
	}

	.clip-eq {
		height: 40px;
	}

	.clip-note {
		font-size: 34px;
	}

	.clip-note.is-2 {
		font-size: 40px;
	}

	.clip-story-row,
	.clip-who {
		grid-template-columns: 1fr;
	}

	.clip-story-art {
		max-width: 420px;
		margin: 8px auto 20px;
	}

	.clip-who-art {
		order: -1;
		max-width: 300px;
		margin: 0 auto;
	}

	.clip-stats {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.clip-learn {
		grid-template-columns: 1fr;
	}

	.clip .aik-signup {
		padding-top: 150px;
	}

	.clip-finale-bg img {
		object-position: center 30%;
	}

	.clip-finale-capy {
		top: 22px;
		left: 50%;
		width: 132px;
		margin-left: -66px;
	}

	.clip-finale-bg::after {
		background: linear-gradient(180deg, var(--c-night) 0%, rgba(17, 10, 58, 0.1) 12%, rgba(17, 10, 58, 0.25) 60%, rgba(17, 10, 58, 0.85) 100%);
	}

	.clip-panel {
		width: calc(100% - 20px);
		margin: 48px auto;
		padding: 48px 18px;
		border-radius: 32px;
	}
}

@media (max-width: 600px) {
	.clip-topics {
		grid-template-columns: 1fr;
	}

	.clip-topic,
	.clip-topic:nth-child(4),
	.clip-topic:nth-child(5) {
		grid-column: auto;
	}

	.clip-topic-art {
		width: 96px;
		top: -40px;
	}

	.clip-topic h3 {
		font-size: 24px;
	}

	.clip-button {
		width: 100%;
		font-size: 19px;
	}

	.clip-learn > li {
		padding: 24px 20px 22px;
	}

	.clip-learn h3 {
		font-size: 23px;
	}

	.clip-tile {
		width: 56px;
		height: 56px;
	}

	.clip-tile img {
		width: 44px;
		height: 44px;
	}

	.clip .clip-photo .aik-photo-sticker {
		width: 38%;
	}
}
