:root {
	color-scheme: dark;
	--cp-bg: #071521;
	--cp-panel: #0d2130;
	--cp-panel-raised: #102a3d;
	--cp-border: #254154;
	--cp-text: #f1f6fc;
	--cp-muted: #b7c9d9;
	--cp-blue: #1687f8;
	--cp-blue-hover: #42a0ff;
}

html { min-height: 100%; background: var(--cp-bg); }
body.cp-body {
	min-height: 100vh !important;
	margin: 0 !important;
	padding: 0 22px 28px !important;
	background: radial-gradient(ellipse at 50% 0%, #102b3c 0, var(--cp-bg) 54%) !important;
	color: var(--cp-text) !important;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif !important;
	font-size: 16px !important;
	line-height: 1.65 !important;
}
.cp-wrap.container.wrap {
	width: min(100%, 1080px) !important;
	max-width: 1080px !important;
	margin: 0 auto !important;
	padding: 0 16px !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}
.cp-header.header {
	display: flex !important;
	align-items: center !important;
	min-height: 88px;
	margin: 0 0 36px !important;
	padding: 18px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(183, 201, 217, .17) !important;
}
.cp-brand { display: inline-flex; align-items: center; text-decoration: none !important; }
.cp-brand img { display: block; width: 246px; max-width: 70vw; max-height: 48px; object-fit: contain; }
.cp-main { width: 100%; max-width: 760px; margin: 0 auto; }
.cp-card {
	width: 100%;
	margin: 0 auto 38px !important;
	padding: clamp(26px, 5vw, 52px) !important;
	border: 1px solid var(--cp-border) !important;
	border-radius: 22px !important;
	background: linear-gradient(150deg, rgba(16, 42, 61, .97), rgba(10, 29, 43, .98)) !important;
	box-shadow: 0 24px 70px rgba(0, 0, 0, .23) !important;
	box-sizing: border-box !important;
}
.cp-card h1, .cp-card h2 {
	margin: 0 0 16px !important;
	color: var(--cp-text) !important;
	font-size: clamp(28px, 4vw, 38px) !important;
	font-weight: 750 !important;
	line-height: 1.15 !important;
	letter-spacing: -.025em;
}
.cp-card h2 { font-size: clamp(24px, 3vw, 30px) !important; }
.cp-eyebrow {
	margin: 0 0 14px !important;
	color: #55adff !important;
	font-size: 12px !important;
	font-weight: 750 !important;
	letter-spacing: .16em !important;
	text-transform: uppercase;
}
.cp-lead { margin: 0 0 28px !important; color: var(--cp-muted) !important; font-size: 17px !important; }
.cp-hero { max-width: 760px; }
.cp-note, .cp-list-help { color: var(--cp-muted) !important; font-size: 14px !important; }
.cp-note { margin: 18px 0 0 !important; }
.cp-secondary-link { margin: 24px 0 0 !important; }
.cp-secondary-link a, .cp-card a:not(.button) { color: #69b5ff !important; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.cp-card a:hover { color: #a0d2ff !important; }
.cp-button.button, button.cp-button, input.cp-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 50px !important;
	padding: 13px 22px !important;
	border: 1px solid var(--cp-blue) !important;
	border-radius: 10px !important;
	background: var(--cp-blue) !important;
	box-shadow: none !important;
	color: #fff !important;
	font: inherit !important;
	font-weight: 750 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, transform .15s ease;
}
.cp-button:hover { background: var(--cp-blue-hover) !important; border-color: var(--cp-blue-hover) !important; transform: translateY(-1px); }
.cp-subscribe-form { margin: 0 !important; }
.cp-subscribe-form.form {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}
.cp-field { margin: 0 0 26px !important; }
.cp-field > label, .cp-login-form label, .manage-form > div > label {
	display: block !important;
	margin: 0 0 9px !important;
	color: var(--cp-text) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
}
.cp-body input[type="email"], .cp-body input[type="text"], .cp-body input[type="password"] {
	width: 100% !important;
	min-height: 52px !important;
	padding: 13px 15px !important;
	border: 1px solid #36566e !important;
	border-radius: 10px !important;
	background: #081927 !important;
	box-shadow: none !important;
	color: var(--cp-text) !important;
	font: inherit !important;
	box-sizing: border-box !important;
}
.cp-body input::placeholder { color: #859aab !important; opacity: 1; }
.cp-body input:focus { border-color: var(--cp-blue) !important; outline: 3px solid rgba(22, 135, 248, .2) !important; outline-offset: 1px; }
.cp-body input[type="checkbox"], .cp-body input[type="radio"] { width: 18px; height: 18px; accent-color: var(--cp-blue); }
.cp-body input.nonce { display: none !important; }
.cp-list-fieldset { min-width: 0; margin: 0 0 24px; padding: 0; border: 0; }
.cp-list-fieldset legend { margin: 0 0 4px; color: var(--cp-text); font-size: 15px; font-weight: 750; }
.cp-list-help { margin: 0 0 12px; }
.cp-list-options { display: grid; gap: 10px; }
.cp-list-option {
	display: flex !important;
	align-items: flex-start !important;
	gap: 12px !important;
	margin: 0 !important;
	padding: 15px 16px !important;
	border: 1px solid var(--cp-border) !important;
	border-radius: 12px !important;
	background: rgba(5, 19, 30, .42) !important;
	cursor: pointer;
}
.cp-list-option:has(input:checked) { border-color: #268fe9 !important; background: rgba(22, 135, 248, .1) !important; }
.cp-list-option input { flex: 0 0 auto; margin: 4px 0 0 !important; }
.cp-list-copy { display: grid; gap: 3px; }
.cp-list-copy strong { color: var(--cp-text); font-size: 15px; }
.cp-list-copy .description { color: var(--cp-muted); font-size: 13px; }
.cp-list-error { margin: 10px 0 0; color: #ffb3b3; font-size: 13px; }
.cp-legal { margin: 17px 0 0 !important; color: var(--cp-muted) !important; font-size: 13px !important; }
.cp-captcha { margin: 0 0 20px; overflow-x: auto; }
.cp-message-card { max-width: 760px; }
.cp-message-copy { margin: 0 0 24px; color: var(--cp-muted); }
.cp-message-copy p { margin: 0 0 14px; }
.cp-selected-lists, .cp-manage-lists { margin: 16px 0 22px !important; padding-left: 21px !important; color: var(--cp-muted) !important; }
.cp-selected-lists li { margin: 5px 0; }
.cp-optin-form .cp-note { margin-bottom: 20px !important; }
.cp-login-card { max-width: 560px; }
.cp-login-form p { margin: 0 0 18px !important; }
.cp-login-form .submit { margin: 24px 0 0 !important; }
.cp-login-links { margin: 20px 0 0 !important; text-align: center; font-size: 14px; }
.error, .cp-body .error { color: #ffb3b3 !important; }
.cp-data-form .row { margin: 14px 0; padding: 16px; border: 1px solid var(--cp-border); border-radius: 12px; background: rgba(5, 19, 30, .35); }
.cp-body .button-outline, .cp-body .cp-button-outline { border: 1px solid #40617a !important; border-radius: 9px !important; background: transparent !important; color: var(--cp-text) !important; }
.cp-footer.container {
	width: min(100%, 1080px) !important;
	max-width: 1080px !important;
	margin: 0 auto !important;
	padding: 20px 16px 0 !important;
	border-top: 1px solid rgba(183, 201, 217, .17) !important;
	background: transparent !important;
	color: #91a8b9 !important;
	font-size: 13px !important;
	text-align: left !important;
}
.cp-footer-brand { color: var(--cp-text); font-weight: 700; }
.cp-footer-brand span { color: #91a8b9; font-weight: 400; }
.cp-privacy-links { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 8px; }
.cp-privacy-links a { color: #a9c0d2 !important; text-decoration: none; }
.cp-privacy-links a:hover { color: #fff !important; text-decoration: underline; }

@media (max-width: 640px) {
	body.cp-body { padding: 0 13px 22px !important; font-size: 15px !important; }
	.cp-wrap.container.wrap { padding: 0 !important; }
	.cp-header.header { min-height: 70px; margin-bottom: 22px !important; padding: 14px 2px !important; }
	.cp-brand img { width: 206px; max-height: 42px; }
	.cp-main { max-width: none; }
	.cp-card { margin-bottom: 26px !important; padding: 25px 20px !important; border-radius: 16px !important; }
	.cp-card h1 { font-size: 29px !important; }
	.cp-card h2 { font-size: 24px !important; }
	.cp-lead { font-size: 16px !important; }
	.cp-button.button, button.cp-button, input.cp-button { width: 100% !important; min-height: 49px !important; }
	.cp-footer.container { padding: 17px 2px 0 !important; }
	.cp-privacy-links { gap: 8px 15px; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }
