/*
  Spawn Wave Media — base tokens & resets.

  These are the SAME values approved across the three prototype concepts
  (homepage, Person page, Episode page). Elementor Global Colors/Fonts are
  kept in sync with these via inc/elementor-compat.php — this file is the
  fallback source of truth if Elementor is ever temporarily disabled.

  This file must never contain page-section layout. Layout lives in
  Elementor.
*/

:root {
	--ink: #140F27;
	--ink-soft: #4A3E66;
	--paper: #F5F1FA;
	--paper-dim: #E8DFF5;
	--paper-line: #CBBEE0;
	--on-ink: #F2ECFA;
	--on-ink-soft: #9C8FC2;
	--line-ink: #322256;
	--brass: #E01FAE;
	--brass-hi: #F04FC4;
	--petrol: #22C7CE;
	--petrol-hi: #57DEE3;
	--signal: #FF3D6E;

	--font-display: 'Space Grotesk', system-ui, sans-serif;
	--font-serif: 'Source Serif 4', Georgia, serif;
	--font-mono: 'JetBrains Mono', ui-monospace, monospace;

	--sp-1: 0.4rem;
	--sp-2: 0.8rem;
	--sp-3: 1.2rem;
	--sp-4: 2rem;
	--sp-5: 3.2rem;
	--sp-6: 5.2rem;

	--radius-s: 3px;
	--radius-m: 6px;
	--ease: cubic-bezier(.22, .61, .36, 1);
}

*, *::before, *::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	*, *::before, *::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}

body {
	margin: 0;
	background: var(--paper);
	color: var(--ink);
	font-family: var(--font-serif);
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

img, svg {
	max-width: 100%;
	display: block;
}

a {
	color: inherit;
}

:focus-visible {
	outline: 3px solid var(--brass);
	outline-offset: 2px;
}

.swm-skip-link {
	position: absolute;
	left: -999px;
	top: 0;
	background: var(--brass);
	color: var(--ink);
	padding: 0.8rem 1.2rem;
	z-index: 999;
	font-family: var(--font-mono);
	font-weight: 600;
	text-decoration: none;
}

.swm-skip-link:focus {
	left: var(--sp-2);
	top: var(--sp-2);
}

/* Fallback-only elements — intentionally plain, never the final design */
.swm-fallback-header,
.swm-fallback-footer {
	padding: var(--sp-3);
	font-family: var(--font-display);
	font-weight: 600;
}

.swm-fallback__wrap {
	max-width: 1360px;
	margin-inline: auto;
	padding: var(--sp-4);
}

.swm-404 {
	max-width: 640px;
	margin-inline: auto;
	padding: var(--sp-6) var(--sp-4);
	text-align: center;
}
