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

html { color-scheme: dark; }

body.rsgdxjslx-theme {
	margin: 0;
	font-family: var(--rsgdxjslx-font-family);
	font-size: var(--rsgdxjslx-body-size);
	background: var(--rsgdxjslx-color-bg);
	color: var(--rsgdxjslx-color-bg-text);
	line-height: 1.5;
}

img { max-width: 100%; height: auto; display: block; }

a { color: var(--rsgdxjslx-color-highlight); }

h1 { font-size: var(--rsgdxjslx-h1); font-weight: 500; margin: 0 0 16px; }
h2 { font-size: var(--rsgdxjslx-h2); font-weight: 500; margin: 0 0 16px; }
h3 { font-size: var(--rsgdxjslx-h3); font-weight: 500; margin: 0 0 12px; }

.rsgdxjslx-wrap {
	width: min(100% - 32px, var(--rsgdxjslx-max-width));
	margin-inline: auto;
}

.rsgdxjslx-section {
	position: relative;
	padding-block: var(--rsgdxjslx-section-pad);
	overflow: hidden;
}

.rsgdxjslx-section--flush { padding-block: 0; }

.rsgdxjslx-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-size: cover;
	background-position: center;
}

.rsgdxjslx-bg--video { overflow: hidden; }

.rsgdxjslx-bg__iframe,
.rsgdxjslx-bg__video {
	position: absolute;
	inset: 50% auto auto 50%;
	min-width: 100%;
	min-height: 100%;
	transform: translate(-50%, -50%);
	border: 0;
}

.rsgdxjslx-section__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: #000;
	pointer-events: none;
}

.rsgdxjslx-section > .rsgdxjslx-wrap,
.rsgdxjslx-banner__inner,
.rsgdxjslx-highlight__inner { position: relative; z-index: 2; }

.rsgdxjslx-eyebrow {
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: 12px;
	color: var(--rsgdxjslx-color-highlight);
	margin: 0 0 8px;
}

.rsgdxjslx-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: var(--rsgdxjslx-btn-font);
	padding: var(--rsgdxjslx-btn-pad-v) var(--rsgdxjslx-btn-pad-h);
	border-radius: var(--rsgdxjslx-btn-radius);
	border: var(--rsgdxjslx-btn-border) solid transparent;
	text-decoration: none;
	font-weight: 500;
	box-shadow: var(--rsgdxjslx-elev-1);
}

.rsgdxjslx-btn--highlight {
	background: var(--rsgdxjslx-color-highlight);
	color: #1d2327;
}

.rsgdxjslx-btn--ghost {
	background: transparent;
	color: var(--rsgdxjslx-color-bg-text);
	border-color: currentColor;
	box-shadow: none;
}

.rsgdxjslx-card {
	background: var(--rsgdxjslx-color-secondary);
	color: var(--rsgdxjslx-color-secondary-text);
	border-radius: 8px;
	box-shadow: var(--rsgdxjslx-elev-1);
	overflow: hidden;
}

.rsgdxjslx-card__body { padding: 16px; }

.rsgdxjslx-coming-soon {
	min-height: 80vh;
	display: grid;
	place-items: center;
	padding: 32px;
}

.rsgdxjslx-coming-soon__card {
	position: relative;
	z-index: 2;
	background: var(--rsgdxjslx-color-secondary);
	padding: 32px;
	border-radius: 8px;
	box-shadow: var(--rsgdxjslx-elev-2);
	max-width: 480px;
	text-align: center;
}

.rsgdxjslx-page { padding: 48px 0; }

.rsgdxjslx-form input,
.rsgdxjslx-form textarea {
	width: 100%;
	padding: 10px 12px;
	border: 0;
	border-radius: 4px;
	background: var(--rsgdxjslx-color-bg);
	color: var(--rsgdxjslx-color-bg-text);
}

button.rsgdxjslx-btn {
	cursor: pointer;
	font-family: inherit;
}
