/*
Theme Name: RiverAI Coming Soon
Theme URI: https://riverai.co.uk
Author: RiverAI
Author URI: https://riverai.co.uk
Description: Standalone pre-launch holding page for RiverAI. A single, self-contained classic theme with no plugins and no external dependencies. Every request renders the branded "coming soon" page. Kept deliberately separate from the main website theme so it carries the smallest possible attack surface.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: riverai-coming-soon
*/

/* Brand tokens, mirrored from the main theme's theme.json so there are no magic
   numbers. Change values here only if the brand system changes. */
:root {
	--brand-blue: #008EFF;
	--deep-navy: #192838;
	--white: #FFFFFF;
	--font-sora: "Sora", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
	--font-manrope: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

@font-face {
	font-family: "Sora";
	font-weight: 100 800;
	font-style: normal;
	font-display: swap;
	src: url("assets/fonts/Sora-Variable.ttf") format("truetype");
}

@font-face {
	font-family: "Manrope";
	font-weight: 200 800;
	font-style: normal;
	font-display: swap;
	src: url("assets/fonts/Manrope-Variable.ttf") format("truetype");
}

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

html,
body {
	margin: 0;
	padding: 0;
}

body {
	font-family: var(--font-manrope);
	color: var(--white);
	background: var(--deep-navy);
	-webkit-font-smoothing: antialiased;
}

/* Full-viewport branded holding page. Logo top, message centred, legal bottom.
   The radial gradient matches the main site's hero exactly. */
.cs {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	min-height: 100vh;
	min-height: 100dvh;
	padding: 3rem 2rem;
	background: radial-gradient(
		120% 120% at 15% 0%,
		var(--brand-blue) 0%,
		var(--brand-blue) 42%,
		var(--deep-navy) 118%
	);
}

/* Particle field sits behind the content. */
.cs__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	opacity: 0.9;
}

.cs__bg canvas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
}

.cs__logo {
	position: relative;
	z-index: 1;
}

.cs__logo svg {
	display: block;
	width: 148px;
	height: auto;
}

.cs__body {
	position: relative;
	z-index: 1;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 1.5rem;
	max-width: 42rem;
}

.cs__title {
	margin: 0;
	font-family: var(--font-sora);
	/* Fluid, matching the main theme's display scale (2.25rem to 3rem). */
	font-size: clamp(2.25rem, 1.6rem + 3vw, 3rem);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -0.03em;
	max-width: 16ch;
	color: var(--white);
}

.cs__sub {
	margin: 0;
	font-size: clamp(1.0625rem, 1rem + 0.6vw, 1.25rem);
	line-height: 1.5;
	max-width: 40ch;
	color: rgba(255, 255, 255, 0.82);
}

.cs__sub a {
	color: var(--white);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.cs__sub a:hover,
.cs__sub a:focus {
	text-decoration: none;
}

.cs__legal {
	position: relative;
	z-index: 1;
	margin: 0;
	font-size: 0.875rem;
	letter-spacing: 0.02em;
	color: rgba(255, 255, 255, 0.6);
}
