:root {
	color-scheme: dark;
	--site-bg: #080b10;
	--site-text: #f6f4ef;
	--site-muted: rgba(246, 244, 239, 0.78);
	--site-teal-base: #10272b;
	--site-pink-base: #21101d;
	--site-panel-teal: rgba(12, 30, 35, 0.94);
	--site-panel-pink: rgba(36, 16, 31, 0.95);
	--site-card: rgba(8, 11, 16, 0.62);
	--site-card-hover: rgba(8, 11, 16, 0.82);
	--site-card-content: rgba(8, 11, 16, 0.58);
	--site-border: rgba(246, 244, 239, 0.16);
	--site-glow-teal:
		radial-gradient(circle at 8% 16%, rgba(42, 163, 167, 0.64) 0 2%, rgba(42, 163, 167, 0.18) 9%, transparent 22%),
		radial-gradient(circle at 25% 72%, rgba(2, 139, 152, 0.76) 0 1.5%, rgba(2, 139, 152, 0.2) 8%, transparent 20%),
		radial-gradient(circle at 43% 28%, rgba(187, 33, 112, 0.64) 0 2.5%, rgba(187, 33, 112, 0.19) 10%, transparent 24%),
		radial-gradient(circle at 66% 82%, rgba(30, 90, 103, 0.76) 0 2%, rgba(30, 90, 103, 0.2) 9%, transparent 22%),
		radial-gradient(circle at 88% 35%, rgba(42, 163, 167, 0.58) 0 1.5%, rgba(42, 163, 167, 0.16) 8%, transparent 20%);
	--site-glow-pink:
		radial-gradient(circle at 12% 25%, rgba(230, 0, 126, 0.68) 0 2%, rgba(230, 0, 126, 0.18) 9%, transparent 22%),
		radial-gradient(circle at 31% 78%, rgba(187, 33, 112, 0.76) 0 2.5%, rgba(187, 33, 112, 0.2) 10%, transparent 24%),
		radial-gradient(circle at 53% 19%, rgba(150, 18, 85, 0.72) 0 2%, rgba(150, 18, 85, 0.2) 9%, transparent 23%),
		radial-gradient(circle at 72% 68%, rgba(230, 0, 126, 0.62) 0 1.5%, rgba(230, 0, 126, 0.18) 8%, transparent 20%),
		radial-gradient(circle at 91% 31%, rgba(187, 33, 112, 0.66) 0 2%, rgba(187, 33, 112, 0.17) 9%, transparent 21%);
}

html,
body {
	background-color: var(--site-bg);
	color: var(--site-text);
}

/* Decorative section backgrounds always stay still. */
main [class*="-band"]::before,
main [class*="-band"]::after {
	animation: none;
	transition: none;
}

/* Shared section and text-panel styling for home, CMS pages and editor previews. */
.home-band,
.cms-section {
	--site-section-accent: #2aa3a7;
	--site-section-glow: var(--site-glow-teal);
	--site-section-bg: var(--site-teal-base);
	--site-section-panel: var(--site-panel-teal);
	--site-section-text: var(--site-text);
	--site-section-panel-border: var(--site-border);
	--site-section-panel-align: left;
	--site-section-panel-backdrop: none;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	color: var(--site-section-text);
	background-color: var(--site-section-bg);
}
.home-collaboration-band,
.home-services-band,
.cms-theme-pink {
	--site-section-accent: #e6007e;
	--site-section-glow: var(--site-glow-pink);
	--site-section-bg: var(--site-pink-base);
	--site-section-panel: var(--site-panel-pink);
	--site-section-panel-border: rgba(230, 0, 126, .42);
	--site-section-panel-align: center;
	--site-section-panel-backdrop: blur(22px);
}
.cms-theme-dark {
	--site-section-accent: #54c4bd;
	--site-section-glow: none;
	--site-section-bg: var(--site-bg);
	--site-section-panel: #10151d;
}
.cms-theme-light {
	--site-section-accent: #e6007e;
	--site-section-glow: none;
	--site-section-bg: #f6f4ef;
	--site-section-panel: #fff9;
	--site-section-text: #080b10;
	--site-section-panel-border: #10272b30;
}
:is(.home-band, .cms-section)::before,
:is(.home-band, .cms-section)::after {
	position: absolute;
	z-index: -1;
	content: '';
	pointer-events: none;
}
:is(.home-band, .cms-section)::before {
	inset: -2rem;
	background: var(--site-section-glow);
	opacity: .72;
	filter: blur(28px);
}
:is(.home-band, .cms-section)::after {
	inset-block: 0;
	right: clamp(.5rem, 1vw, 1rem);
	width: clamp(6px, 1vw, 14px);
	background-color: var(--site-section-accent);
	opacity: .55;
}
:is(.home-production-band, .home-services-band, .cms-section)::after {
	right: auto;
	left: clamp(.5rem, 1vw, 1rem);
}
.home-service-copy,
.cms-text-cell {
	box-sizing: border-box;
	padding: clamp(1.5rem, 4vw, 3rem);
	border: 1px solid var(--site-section-panel-border, var(--site-border));
	border-top: 4px solid var(--site-section-accent, #2aa3a7);
	border-radius: 1rem;
	color: var(--site-section-text, var(--site-text));
	background: var(--site-section-panel, var(--site-panel-teal));
	-webkit-backdrop-filter: var(--site-section-panel-backdrop, none);
	backdrop-filter: var(--site-section-panel-backdrop, none);
}
.home-section-title,
.cms-section-title,
.cms-grid-title,
.cms-cell-title {
	font-family: 'PT Sans', sans-serif;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.025em;
	text-wrap: balance;
}
.home-service-copy h1,
.cms-cell-title {
	color: inherit;
	text-shadow: none;
	-webkit-text-stroke: 0;
	text-align: center;
}
.home-service-copy .read-text,
.cms-cell-text {
	color: inherit;
	opacity: 1;
	text-align: var(--site-section-panel-align, left);
	text-shadow: none;
}
