html, body {
	height: 100%;
	margin: 0;
}

body {
	background-color: #122435;
	font-family: system-ui, -apple-system, BlinkMacSystemFont,
	"Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: #ffffff;
}

/* Footer height */
:root {
	--footer-h: 40px;
}

/* ---------------------------------
   Page base
---------------------------------- */
.page {
	min-height: 100vh;
	padding-bottom: var(--footer-h); /* keep content above footer */
	box-sizing: border-box;
}

/* ---------------------------------
   Splash layout (ONLY splash page)
---------------------------------- */
.page--splash .splash-shell {
	min-height: calc(100vh - var(--footer-h));
	display: flex;
	align-items: center;     /* vertical center */
	justify-content: center; /* horizontal center */
	padding: 0 16px;
	box-sizing: border-box;
}

.page--splash .container {
	max-width: 700px;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;   /* center logo + text */
	gap: 16px;
	text-align: center;   /* center text */
}


/* ---------------------------------
   Legal layout (ONLY legal pages)
---------------------------------- */
.page--legal .terms-container {
	max-width: 700px;
	width: 100%;
	margin: 40px auto 80px;
	padding: 0 16px 60px 16px;
	box-sizing: border-box;
	text-align: left;
}

.page--legal .terms-container h2 {
	margin: 24px 0 10px;
	font-size: 1.25rem;
}

.page--legal .terms-container p,
.page--legal .terms-container div {
	line-height: 1.6;
	margin: 10px 0;
	opacity: 0.95;
}

/* ---------------------------------
   Shared elements
---------------------------------- */
.logo {
	width: 200px;
	height: auto;
}

h1 {
	margin: 8px 0 0;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}

h3 {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 400;
	opacity: 0.85;
}

/* Footer bar */
.footer-bar {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	height: var(--footer-h);
	background-color: #0e1c2b;
	display: flex;
	align-items: center;
	justify-content: center;
}

.footer-inner {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 0.875rem;
	opacity: 0.85;
	padding: 0 16px;
	text-align: center;
}

a {
	color: #ffffff;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

.divider {
	opacity: 0.6;
}
