/* ==========================================================================
   Demo Full-Page  [/synapse-demo route]
   Standalone CSS — uses .dp-* prefix to avoid theme/student.css collisions.
   student.css is also loaded (provides quiz/results/thankyou screen styles).
   ========================================================================== */

.dp-body {
	font-family: 'Karla', Arial, sans-serif;
	margin: 0;
	padding: 0;
}

/* ── Sticky nav ──────────────────────────────────────────────────────────── */
.dp-nav {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 999;
	height: 72px;
	background: rgba(25, 47, 89, 0.97);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 40px;
	border-bottom: 1px solid rgba(255,255,255,0.08);
}
.dp-nav-logo   { height: 48px; width: auto; display: block; }
.dp-nav-signin {
	color: #E9BE00;
	font-size: 0.875em;
	font-weight: 600;
	text-decoration: none;
	border: 1px solid rgba(233,190,0,0.55);
	border-radius: 5px;
	padding: 7px 18px;
	transition: background 0.15s;
}
.dp-nav-signin:hover { background: rgba(233,190,0,0.12); }

/* ── Hero ────────────────────────────────────────────────────────────────── */
.dp-hero {
	background: #192F59;
	min-height: 100vh;
	padding-top: 72px; /* account for fixed nav */
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}
.dp-hero-inner {
	max-width: 600px;
	width: 100%;
	text-align: center;
	padding: 64px 28px 48px;
}
.dp-hero-logo  { width: 72px; height: auto; display: block; margin: 0 auto 18px; }
.dp-hero-brand {
	font-size: 0.75em;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: rgba(255,255,255,0.38);
	margin: 0 0 14px;
}
.dp-hero-badge {
	display: inline-block;
	background: rgba(233,190,0,0.16);
	color: #E9BE00;
	font-size: 0.78em;
	font-weight: 600;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	border-radius: 20px;
	padding: 5px 14px;
	margin-bottom: 20px;
	border: 1px solid rgba(233,190,0,0.3);
}
.dp-hero-title {
	font-family: 'Rubik', Arial, sans-serif;
	font-size: 2.9em;
	font-weight: 700;
	color: #fff;
	margin: 0 0 14px;
	line-height: 1.12;
}
.dp-hero-subtitle {
	font-size: 1.1em;
	color: rgba(255,255,255,0.72);
	margin: 0 0 20px;
	line-height: 1.55;
}
.dp-hero-intro {
	color: rgba(255,255,255,0.5);
	font-size: 0.9em;
	line-height: 1.65;
	margin: 0 0 20px;
}
.dp-hero-stats {
	display: flex;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 26px;
}
.dp-stat {
	background: rgba(255,255,255,0.1);
	color: rgba(255,255,255,0.88);
	font-size: 0.82em;
	font-weight: 500;
	border-radius: 20px;
	padding: 6px 15px;
	border: 1px solid rgba(255,255,255,0.15);
}
.dp-hero-divider {
	border: none;
	border-top: 1px solid rgba(255,255,255,0.13);
	margin: 22px 0;
}
.dp-scroll-hint {
	color: rgba(255,255,255,0.3);
	font-size: 0.78em;
	margin: 24px 0 0;
	letter-spacing: 0.04em;
}

/* ── Shared section utilities ────────────────────────────────────────────── */
.dp-section-inner   { max-width: 1140px; margin: 0 auto; padding: 0 48px; }
.dp-section-heading {
	font-family: 'Rubik', Arial, sans-serif;
	font-size: 1.8em;
	font-weight: 600;
	color: #192F59;
	text-align: center;
	margin: 0 0 52px;
}

/* ── Features section ────────────────────────────────────────────────────── */
.dp-features { background: #f4f6f9; padding: 88px 0; }
.dp-features-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	margin-bottom: 52px;
}
.dp-feature-card {
	background: #fff;
	border: 1px solid #e4e8ee;
	border-radius: 10px;
	padding: 40px 28px 36px;
	text-align: center;
	box-shadow: 0 2px 10px rgba(25,47,89,0.06);
}
.dp-feature-icon { font-size: 2.5em; margin-bottom: 16px; line-height: 1; }
.dp-feature-card h3 {
	font-family: 'Rubik', Arial, sans-serif;
	font-size: 1.05em;
	font-weight: 600;
	color: #192F59;
	margin: 0 0 10px;
}
.dp-feature-card p { font-size: 0.875em; color: #54595F; line-height: 1.6; margin: 0; }
.dp-features-cta     { text-align: center; }
.dp-features-cta-hint { color: #54595F; font-size: 0.9em; margin: 0; }

/* ── How It Works ────────────────────────────────────────────────────────── */
.dp-steps { background: #fff; padding: 88px 0; }
.dp-steps-grid {
	display: grid;
	grid-template-columns: 1fr 48px 1fr 48px 1fr;
	align-items: start;
	gap: 0;
}
.dp-step { text-align: center; padding: 0 12px; }
.dp-step-arrow {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: 18px;
	color: #c8d0dc;
	font-size: 1.6em;
	line-height: 64px;
}
.dp-step-num {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: #192F59;
	color: #E9BE00;
	font-family: 'Rubik', Arial, sans-serif;
	font-size: 1.5em;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px;
}
.dp-step h3 {
	font-family: 'Rubik', Arial, sans-serif;
	font-size: 1em;
	font-weight: 600;
	color: #192F59;
	margin: 0 0 10px;
}
.dp-step p { font-size: 0.875em; color: #54595F; line-height: 1.6; margin: 0; }

/* ── Final CTA banner ────────────────────────────────────────────────────── */
.dp-final-cta { background: #192F59; padding: 88px 0; }
.dp-final-cta-heading {
	font-family: 'Rubik', Arial, sans-serif;
	font-size: 2.1em;
	font-weight: 700;
	color: #fff;
	margin: 0 0 12px;
	line-height: 1.2;
}
.dp-final-cta-sub {
	color: rgba(255,255,255,0.62);
	font-size: 1.05em;
	margin: 0 0 36px;
	line-height: 1.5;
}

/* ── Footer ──────────────────────────────────────────────────────────────── */
.dp-footer {
	background: #111c33;
	padding: 28px 48px;
	display: flex;
	align-items: center;
	gap: 18px;
}
.dp-footer-logo { height: 28px; width: auto; opacity: 0.55; }
.dp-footer p    { color: rgba(255,255,255,0.3); font-size: 0.8em; margin: 0; }

/* ── University selector (hero) ──────────────────────────────────────────── */
.dp-university-wrap {
	margin: 0 0 22px;
	text-align: center;
}
.dp-university-label {
	display: block;
	margin: 0 auto 8px;
	font-size: 0.85em;
	font-weight: 600;
	color: rgba(255,255,255,0.7);
	margin-bottom: 8px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.dp-university-select {
	width: 100%;
	max-width: 420px;
	background: rgba(255,255,255,0.09);
	border: 1px solid rgba(255,255,255,0.22);
	border-radius: 7px;
	color: #fff;
	font-size: 1em;
	font-family: 'Karla', Arial, sans-serif;
	padding: 12px 16px;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	transition: border-color 0.15s;
}
.dp-university-select:focus {
	outline: none;
	border-color: #E9BE00;
}
.dp-university-select option {
	background: #192F59;
	color: #fff;
}

/* ── Email gate screen ───────────────────────────────────────────────────── */
.dp-emailgate {
	min-height: 100vh;
	background: #192F59;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 48px 24px;
}
.dp-emailgate-inner {
	background: rgba(255,255,255,0.05);
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 16px;
	max-width: 460px;
	width: 100%;
	padding: 48px 40px;
	text-align: center;
}
.dp-emailgate-inner h2 {
	font-family: 'Rubik', Arial, sans-serif;
	font-size: 1.6em;
	font-weight: 600;
	color: #fff;
	margin: 0 0 10px;
}
.dp-emailgate-icon {
	font-size: 2.8em;
	margin-bottom: 18px;
	line-height: 1;
}
.dp-emailgate-text {
	color: rgba(255,255,255,0.62);
	font-size: 0.95em;
	margin: 0 0 28px;
	line-height: 1.55;
}
.dp-emailgate-inner .demo-email-form {
	text-align: left;
}
.dp-emailgate-inner .demo-email-form .field label {
	color: rgba(255,255,255,0.7);
}
.dp-emailgate-inner .demo-email-form .field input {
	background: rgba(255,255,255,0.08);
	border-color: rgba(255,255,255,0.2);
	color: #fff;
}
.dp-emailgate-inner .demo-email-form .field input::placeholder {
	color: rgba(255,255,255,0.35);
}
.dp-emailgate-inner .demo-email-form .field input:focus {
	border-color: #E9BE00;
	outline: none;
}

/* ── Post-results content ────────────────────────────────────────────────── */
.dp-post-results {
	background: #fff;
	border-radius: 10px;
	padding: 28px 32px;
	margin: 28px 0 0;
	color: #333;
	line-height: 1.65;
	font-size: 0.97em;
}
.dp-post-results h2, .dp-post-results h3 {
	color: #192F59;
	margin-top: 0;
}

/* ── Consultation CTA ────────────────────────────────────────────────────── */
.dp-consultation-cta {
	text-align: center;
	margin: 24px 0 8px;
}
.dp-consult-btn {
	display: inline-block;
	background: #E9BE00;
	color: #192F59;
	font-size: 1.1em;
	font-weight: 700;
	padding: 16px 48px;
	border-radius: 8px;
	text-decoration: none;
	transition: background 0.15s, transform 0.1s;
	border: none;
}
.dp-consult-btn:hover {
	background: #f5cc00;
	transform: translateY(-1px);
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 960px) {
	.dp-features-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
	.dp-steps-grid    { grid-template-columns: 1fr; gap: 36px; }
	.dp-step-arrow    { display: none; }
	.dp-hero-title    { font-size: 2.2em; }
}
@media (max-width: 680px) {
	.dp-nav              { padding: 0 20px; }
	.dp-features-grid    { grid-template-columns: 1fr; }
	.dp-features, .dp-steps, .dp-final-cta { padding: 64px 0; }
	.dp-section-inner    { padding: 0 20px; }
	.dp-section-heading  { font-size: 1.45em; margin-bottom: 36px; }
	.dp-hero-inner       { padding: 48px 20px 40px; }
	.dp-hero-title       { font-size: 1.75em; }
	.dp-hero-stats       { flex-direction: column; align-items: center; }
	.dp-final-cta-heading { font-size: 1.55em; }
	.dp-footer           { padding: 20px 24px; flex-wrap: wrap; gap: 8px; }
	.dp-university-select { max-width: 100%; }
	.dp-emailgate-inner  { padding: 36px 24px; }
	.dp-post-results     { padding: 22px 20px; }
	.dp-consult-btn      { padding: 14px 32px; font-size: 1em; }
}
