/*!
 * Baly Site System — /ride-with-us (driver signup) page.
 * Depends on bsy-chrome.css. All styles scoped under .bsy-page--driver-signup.
 */

.bsy-page--driver-signup { direction: rtl; }

/* Shared accent helper */
.bsy-page--driver-signup .bsy-driver-signup__accent { color: var(--bsy-accent-gold); }

/* ── HERO ───────────────────────────────────────────────────── */
.bsy-page--driver-signup .bsy-driver-signup__hero {
	position: relative; overflow: hidden;
	border-radius: var(--bsy-radius-3xl);
	background: linear-gradient(160deg, var(--bsy-brand-active) 0%, #1B4CFF 55%, #355FFF 100%);
	color: #fff; direction: rtl;
	padding: 38px 44px;
	display: grid; grid-template-columns: 1.35fr 1fr;
	gap: 32px;
	min-height: 580px;
	box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 28px 60px -24px rgba(0,30,80,.45);
}
.bsy-page--driver-signup .bsy-driver-signup__hero-bg {
	position: absolute; inset: 0; pointer-events: none;
	opacity: 0.65;
}
.bsy-page--driver-signup .bsy-driver-signup__hero-glow {
	position: absolute; inset: auto -120px -160px auto;
	width: 460px; height: 460px; border-radius: 999px;
	background: radial-gradient(circle, rgba(255,225,94,.22), transparent 65%);
	filter: blur(28px); pointer-events: none;
}
.bsy-page--driver-signup .bsy-driver-signup__hero-copy {
	position: relative; z-index: 2;
	display: flex; flex-direction: column; justify-content: space-between;
	gap: 22px;
}
.bsy-page--driver-signup .bsy-driver-signup__hero-title {
	margin: 18px 0 14px;
	font-family: var(--bsy-font);
	font-weight: 950;
	font-size: clamp(28px, 4.5vw, 56px);
	line-height: 0.98;
	color: #fff;
}
.bsy-page--driver-signup .bsy-driver-signup__hero-lede {
	margin: 0; max-width: 480px;
	font-size: clamp(13px, 1.4vw, 16px);
	line-height: 1.6;
	font-weight: var(--bsy-fw-medium);
	color: rgba(255,255,255,.88);
}

/* Phone signup form */
.bsy-page--driver-signup .bsy-driver-signup__form {
	background: #fff;
	border-radius: 18px;
	padding: 14px;
	direction: rtl;
	box-shadow: 0 18px 38px -14px rgba(0,30,80,.45), 0 1px 0 rgba(0,0,0,.04);
}
.bsy-page--driver-signup .bsy-driver-signup__form-head {
	display: flex; align-items: center; justify-content: space-between;
	margin-bottom: 10px; padding: 0 4px;
}
.bsy-page--driver-signup .bsy-driver-signup__form-title {
	margin: 0;
	font-size: 14px;
	font-weight: 800;
	color: var(--bsy-fg-primary);
}
.bsy-page--driver-signup .bsy-driver-signup__form-hint {
	font-size: 11px; font-weight: 600;
	color: var(--bsy-grey-600);
}
.bsy-page--driver-signup .bsy-driver-signup__form-row {
	display: flex; align-items: stretch; gap: 8px;
}
.bsy-page--driver-signup .bsy-driver-signup__input {
	flex: 1; min-width: 0;
	display: flex; align-items: stretch;
	background: #fff;
	border: 1.5px solid var(--bsy-grey-200);
	border-radius: 12px;
	min-height: 54px;
	overflow: hidden;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.bsy-page--driver-signup .bsy-driver-signup__input:focus-within {
	border-color: var(--bsy-brand);
	box-shadow: 0 0 0 4px var(--bsy-brand-10);
}
.bsy-page--driver-signup .bsy-driver-signup__input-field {
	flex: 1; min-width: 0;
	box-sizing: border-box; width: 100%;
	background: transparent !important; border: none !important; outline: none !important;
	box-shadow: none !important;
	font-family: var(--bsy-font) !important;
	/* Larger, more comfortable input on desktop. */
	font-size: 18px; font-weight: 700;
	color: var(--bsy-fg-primary) !important;
	text-align: right; direction: rtl;
	letter-spacing: 0.02em;
	padding: 0 18px;
}
.bsy-page--driver-signup .bsy-driver-signup__input-field::placeholder {
	color: var(--bsy-grey-600); font-weight: var(--bsy-fw-medium);
	font-size: 16px;
}
.bsy-page--driver-signup .bsy-driver-signup__submit {
	height: 54px;
	padding-inline: 28px;
	border-radius: 999px; border: none;
	background: var(--bsy-brand); color: #fff;
	font-family: var(--bsy-font);
	font-size: 15px; font-weight: 800;
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	cursor: pointer;
	box-shadow: 0 4px 20px rgba(0,67,255,.30);
	transition: background .15s ease, transform .15s ease;
}
.bsy-page--driver-signup .bsy-driver-signup__submit:hover {
	background: var(--bsy-brand-hover);
	transform: translateY(-1px);
}
.bsy-page--driver-signup .bsy-driver-signup__form-foot {
	margin-top: 10px; padding: 0 4px;
	display: flex; align-items: center; gap: 10px;
	font-size: 11px; color: var(--bsy-grey-600); font-weight: 500;
}
.bsy-page--driver-signup .bsy-driver-signup__form-check {
	width: 14px; height: 14px; border-radius: 999px;
	background: var(--bsy-success-light); color: var(--bsy-success);
	display: grid; place-items: center; flex: none;
}
/* Submit button states ------------------------------------------- */
.bsy-page--driver-signup .bsy-driver-signup__form[data-bsy-state="loading"] .bsy-driver-signup__submit {
	opacity: 0.75; cursor: progress;
}
.bsy-page--driver-signup .bsy-driver-signup__form[data-bsy-state="loading"] .bsy-driver-signup__input-field {
	pointer-events: none;
}
/* Status area — error/success/duplicate messages from the lead API.
   Stays invisible until JS removes [hidden] and injects a message — the
   `display:flex` below would otherwise override the hidden attribute and
   render an empty grey box. */
.bsy-page--driver-signup .bsy-driver-signup__status[hidden],
.bsy-page--driver-signup .bsy-driver-signup__status:empty {
	display: none !important;
}
.bsy-page--driver-signup .bsy-driver-signup__status {
	margin-top: 12px;
	padding: 12px 14px;
	border-radius: 12px;
	background: var(--bsy-grey-100);
	color: var(--bsy-grey-800);
	font-size: 13.5px; font-weight: var(--bsy-fw-semibold);
	line-height: 1.55;
	display: flex; flex-direction: column; gap: 10px; align-items: stretch;
}
.bsy-page--driver-signup .bsy-driver-signup__status[data-tone="error"] {
	background: var(--bsy-error-light);
	color: var(--bsy-error);
}
.bsy-page--driver-signup .bsy-driver-signup__status[data-tone="success"] {
	background: var(--bsy-success-light);
	color: var(--bsy-success);
}
.bsy-page--driver-signup .bsy-driver-signup__status[data-tone="duplicate"] {
	background: var(--bsy-brand-lighter);
	color: var(--bsy-brand);
}
.bsy-page--driver-signup .bsy-driver-signup__status-cta {
	display: inline-flex; align-self: flex-start; align-items: center; gap: 8px;
	padding: 10px 18px; border-radius: 999px;
	background: var(--bsy-brand); color: #fff !important;
	text-decoration: none; font-weight: 800; font-size: 13px;
	transition: background var(--bsy-duration-fast) var(--bsy-ease-out);
}
.bsy-page--driver-signup .bsy-driver-signup__status-cta:hover {
	background: var(--bsy-brand-hover);
}

/* Portrait video card */
.bsy-page--driver-signup .bsy-driver-signup__video-wrap {
	position: relative; z-index: 2;
	display: grid; place-items: center;
}
.bsy-page--driver-signup .bsy-driver-signup__video {
	position: relative;
	width: 340px; height: 580px;
	border-radius: 26px; overflow: hidden;
	background: linear-gradient(180deg, #1a2235 0%, #0d1322 100%);
	box-shadow: 0 30px 60px -20px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.08) inset;
}
.bsy-page--driver-signup .bsy-driver-signup__video-scene {
	position: absolute; inset: 0; width: 100%; height: 100%;
}
/* Real cover image when hero_video_cover is provided. Defeats the
 * theme's `img { height: auto }` so the photo fills the portrait card. */
.bsy-page--driver-signup .bsy-driver-signup__video-cover {
	position: absolute !important; inset: 0 !important;
	width: 100% !important; height: 100% !important;
	max-width: 100% !important; max-height: 100% !important;
	object-fit: cover; object-position: center;
}
/* Native <video> player (when hero_video is a direct mp4/webm). */
.bsy-page--driver-signup .bsy-driver-signup__video-el {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover; background: #000; border: 0;
}
/* Injected YouTube/Vimeo iframe after click. */
.bsy-page--driver-signup .bsy-driver-signup__video .bsy-video-frame {
	position: absolute; inset: 0;
	width: 100%; height: 100%; border: 0;
}
/* Hide cover + overlay UI once the iframe is playing. */
.bsy-page--driver-signup .bsy-driver-signup__video.is-playing .bsy-driver-signup__video-cover,
.bsy-page--driver-signup .bsy-driver-signup__video.is-playing .bsy-driver-signup__video-vignette,
.bsy-page--driver-signup .bsy-driver-signup__video.is-playing .bsy-driver-signup__video-live,
.bsy-page--driver-signup .bsy-driver-signup__video.is-playing .bsy-driver-signup__video-sound,
.bsy-page--driver-signup .bsy-driver-signup__video.is-playing .bsy-driver-signup__video-play,
.bsy-page--driver-signup .bsy-driver-signup__video.is-playing .bsy-driver-signup__video-caption,
.bsy-page--driver-signup .bsy-driver-signup__video.is-playing .bsy-driver-signup__video-scrub { display: none; }
.bsy-page--driver-signup .bsy-driver-signup__video-vignette {
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.55) 100%);
	pointer-events: none;
}
.bsy-page--driver-signup .bsy-driver-signup__video-live {
	position: absolute; top: 14px; inset-inline-end: 14px;
	display: inline-flex; align-items: center; gap: 6px;
	padding: 5px 10px; border-radius: 999px;
	background: rgba(0,0,0,.45); backdrop-filter: blur(6px);
	color: #fff; font-size: 11px; font-weight: 800; letter-spacing: 0.04em;
}
.bsy-page--driver-signup .bsy-driver-signup__video-live-dot {
	width: 7px; height: 7px; border-radius: 999px;
	background: #FF4D4F; box-shadow: 0 0 0 3px rgba(255,77,79,.25);
}
.bsy-page--driver-signup .bsy-driver-signup__video-sound {
	position: absolute; top: 14px; inset-inline-start: 14px;
	width: 32px; height: 32px; border-radius: 999px;
	background: rgba(0,0,0,.45); backdrop-filter: blur(6px);
	display: grid; place-items: center; color: #fff;
}
/* Smaller play button so it doesn't cover the subject of the cover
 * video frame (per user — the photo's important detail is in the
 * upper-center where a 78px button would sit). */
.bsy-page--driver-signup .bsy-driver-signup__video-play {
	position: absolute; inset: 0; margin: auto;
	width: 54px; height: 54px; border-radius: 999px;
	background: rgba(255,255,255,.94);
	border: none; cursor: pointer;
	display: grid; place-items: center;
	box-shadow: 0 8px 22px rgba(0,0,0,.45), 0 0 0 5px rgba(255,255,255,.14);
	transition: transform .15s ease, background .15s ease;
}
.bsy-page--driver-signup .bsy-driver-signup__video-play:hover {
	transform: scale(1.08);
	background: #fff;
}
.bsy-page--driver-signup .bsy-driver-signup__video-caption {
	position: absolute; inset-inline: 16px; bottom: 56px;
	direction: rtl; color: #fff;
}
.bsy-page--driver-signup .bsy-driver-signup__video-eye {
	font-size: 11px; font-weight: 700; letter-spacing: 0.06em;
	color: rgba(255,255,255,.85); text-transform: uppercase;
	margin-bottom: 6px;
}
.bsy-page--driver-signup .bsy-driver-signup__video-quote {
	font-size: 19px; font-weight: 900; line-height: 1.15;
}
.bsy-page--driver-signup .bsy-driver-signup__video-byline {
	font-size: 12px; font-weight: 500;
	color: rgba(255,255,255,.78); margin-top: 6px;
}
.bsy-page--driver-signup .bsy-driver-signup__video-scrub {
	position: absolute; inset-inline: 16px; bottom: 22px;
}
.bsy-page--driver-signup .bsy-driver-signup__video-bar {
	height: 3px; border-radius: 999px;
	background: rgba(255,255,255,.22);
	position: relative;
}
.bsy-page--driver-signup .bsy-driver-signup__video-bar-fill {
	position: absolute; inset-inline-start: 0; top: 0; bottom: 0;
	width: 38%; background: #fff; border-radius: 999px;
}
.bsy-page--driver-signup .bsy-driver-signup__video-bar-knob {
	position: absolute; inset-inline-start: 38%; top: -3px;
	width: 9px; height: 9px; margin-inline-start: -4px;
	border-radius: 999px; background: #fff;
	box-shadow: 0 0 0 4px rgba(255,255,255,.20);
}
.bsy-page--driver-signup .bsy-driver-signup__video-time {
	display: flex; justify-content: space-between;
	font-size: 10px; font-weight: 600;
	color: rgba(255,255,255,.85);
	margin-top: 7px; font-variant-numeric: tabular-nums;
}

@media (max-width: 960px) {
	.bsy-page--driver-signup .bsy-driver-signup__hero {
		padding: 18px 16px 16px;
		grid-template-columns: 1fr;
		min-height: 0;
		gap: 14px;
		border-radius: var(--bsy-radius-xl);
	}
	.bsy-page--driver-signup .bsy-driver-signup__hero-title { font-size: 28px; }
	.bsy-page--driver-signup .bsy-driver-signup__hero-lede { font-size: 12.5px; }
	.bsy-page--driver-signup .bsy-driver-signup__form { padding: 10px; }
	.bsy-page--driver-signup .bsy-driver-signup__form-row { flex-direction: column; gap: 10px; }
	.bsy-page--driver-signup .bsy-driver-signup__input {
		border-radius: 18px; min-height: 48px; width: 100%;
	}
	.bsy-page--driver-signup .bsy-driver-signup__input-field {
		font-size: 20px; padding: 16px 26px;
	}
	.bsy-page--driver-signup .bsy-driver-signup__submit {
		height: 52px; width: 100%;
		padding-inline: 22px; font-size: 15px;
	}
	.bsy-page--driver-signup .bsy-driver-signup__video {
		width: 260px; height: 440px;
	}
}

/* ── Mobile-only: pin the signup form to the bottom of the screen so it
   stays reachable while the user scrolls the page. Compact one-row layout
   (phone field + button side by side); head/foot hidden to keep it slim. ── */
@media (max-width: 640px) {
	.bsy-page--driver-signup .bsy-page__stack { padding-bottom: 88px; }

	.bsy-page--driver-signup .bsy-driver-signup__form {
		position: fixed; inset-inline: 0; bottom: 0; z-index: 60;
		border-radius: 18px 18px 0 0;
		padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
		box-shadow: 0 -10px 30px -8px rgba(0,30,80,.28);
	}
	.bsy-page--driver-signup .bsy-driver-signup__form-head,
	.bsy-page--driver-signup .bsy-driver-signup__form-foot { display: none; }

	.bsy-page--driver-signup .bsy-driver-signup__form-row {
		flex-direction: row; align-items: stretch; gap: 8px;
	}
	.bsy-page--driver-signup .bsy-driver-signup__input {
		min-height: 48px; border-radius: 12px;
	}
	.bsy-page--driver-signup .bsy-driver-signup__input-field {
		font-size: 16px; padding: 12px 16px;
	}
	.bsy-page--driver-signup .bsy-driver-signup__submit {
		height: auto; width: auto; align-self: stretch;
		padding-inline: 20px; font-size: 14px;
	}
}

/* ── BENEFITS ──────────────────────────────────────────────── */
.bsy-page--driver-signup .bsy-driver-signup__benefits-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}
.bsy-page--driver-signup .bsy-driver-signup__benefit {
	background: var(--bsy-grey-100);
	border: 1px solid transparent;
	border-radius: 18px;
	padding: 18px;
	display: flex; flex-direction: column; gap: 10px;
	position: relative; overflow: hidden;
}
.bsy-page--driver-signup .bsy-driver-signup__benefit--accent {
	background: var(--bsy-brand-lighter);
	border-color: rgba(0,67,255,.18);
}
.bsy-page--driver-signup .bsy-driver-signup__benefit-ic {
	width: 44px; height: 44px; border-radius: 12px;
	background: #fff; color: var(--bsy-brand);
	display: grid; place-items: center;
}
.bsy-page--driver-signup .bsy-driver-signup__benefit--accent .bsy-driver-signup__benefit-ic {
	background: var(--bsy-brand); color: #fff;
}
.bsy-page--driver-signup .bsy-driver-signup__benefit-t {
	font-size: 16px; font-weight: 900;
	color: var(--bsy-fg-primary);
 margin-top: 4px;
}
.bsy-page--driver-signup .bsy-driver-signup__benefit-s {
	font-size: 12.5px;
	color: var(--bsy-grey-700);
	line-height: 1.55; font-weight: 500;
}

@media (max-width: 768px) {
	.bsy-page--driver-signup .bsy-driver-signup__benefits-grid {
		grid-template-columns: 1fr 1fr; gap: 10px;
	}
	.bsy-page--driver-signup .bsy-driver-signup__benefit { padding: 14px; }
	.bsy-page--driver-signup .bsy-driver-signup__benefit-t { font-size: 14px; }
	.bsy-page--driver-signup .bsy-driver-signup__benefit-s { font-size: 11.5px; }
}

/* ── REQUIREMENTS ──────────────────────────────────────────── */
.bsy-page--driver-signup .bsy-driver-signup__reqs {
	border-radius: var(--bsy-radius-3xl);
	overflow: hidden;
	direction: rtl;
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	background: #fff;
	border: 1px solid var(--bsy-grey-100);
	box-shadow: var(--bsy-shadow-card);
}
.bsy-page--driver-signup .bsy-driver-signup__reqs-panel {
	position: relative;
	background: linear-gradient(160deg, #001E8C 0%, var(--bsy-brand) 100%);
	color: #fff;
	padding: 34px 32px;
	display: flex; flex-direction: column; justify-content: space-between;
	gap: 22px; min-height: 380px;
}
.bsy-page--driver-signup .bsy-driver-signup__reqs-glow {
	position: absolute; inset-inline-end: -60px; top: -60px;
	width: 220px; height: 220px; border-radius: 999px;
	background: radial-gradient(circle, rgba(255,225,94,.20), transparent 65%);
	filter: blur(20px); pointer-events: none;
}
.bsy-page--driver-signup .bsy-driver-signup__reqs-panel-head {
	position: relative;
}
.bsy-page--driver-signup .bsy-driver-signup__reqs-title {
	margin: 14px 0 10px;
	font-family: var(--bsy-font);
	font-weight: 900;
	font-size: clamp(22px, 2.6vw, 30px);
	line-height: 1.1;
	color: #fff;
}
.bsy-page--driver-signup .bsy-driver-signup__reqs-sub {
	margin: 0;
	font-size: 14px; font-weight: 500;
	color: rgba(255,255,255,.85);
	line-height: 1.65; max-width: 400px;
}
.bsy-page--driver-signup .bsy-driver-signup__reqs-callout {
	position: relative;
	background: rgba(255,255,255,.10);
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 16px;
	padding: 14px 16px;
	display: flex; align-items: center; gap: 14px;
	backdrop-filter: blur(6px);
}
.bsy-page--driver-signup .bsy-driver-signup__reqs-callout-ic {
	width: 44px; height: 44px; border-radius: 12px;
	background: rgba(255,225,94,.22); color: var(--bsy-accent-gold);
	display: grid; place-items: center; flex: none;
}
.bsy-page--driver-signup .bsy-driver-signup__reqs-callout-t {
	font-size: 14px; font-weight: 900;
	color: #fff;
}
.bsy-page--driver-signup .bsy-driver-signup__reqs-callout-s {
	font-size: 11.5px; font-weight: 500;
	color: rgba(255,255,255,.78);
	margin-top: 3px; line-height: 1.5;
}

.bsy-page--driver-signup .bsy-driver-signup__reqs-list {
	padding: 34px 32px;
	display: flex; flex-direction: column; gap: 10px;
}
.bsy-page--driver-signup .bsy-driver-signup__req {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center; gap: 14px;
	padding: 12px 14px;
	background: var(--bsy-grey-100);
	border-radius: 14px;
}
.bsy-page--driver-signup .bsy-driver-signup__req-n {
	font-family: var(--bsy-font);
	font-size: 22px; font-weight: 900;
	color: var(--bsy-brand);
	font-variant-numeric: tabular-nums;
	width: 36px; text-align: center;
}
.bsy-page--driver-signup .bsy-driver-signup__req-t {
	font-size: 15px; font-weight: 900;
	color: var(--bsy-fg-primary);
}
.bsy-page--driver-signup .bsy-driver-signup__req-s {
	font-size: 12.5px; font-weight: 500;
	color: var(--bsy-grey-700);
	margin-top: 3px; line-height: 1.5;
}
.bsy-page--driver-signup .bsy-driver-signup__req-check {
	width: 26px; height: 26px; border-radius: 999px;
	background: var(--bsy-success-light); color: var(--bsy-success);
	display: grid; place-items: center; flex: none;
}

@media (max-width: 960px) {
	.bsy-page--driver-signup .bsy-driver-signup__reqs {
		grid-template-columns: 1fr;
		border-radius: var(--bsy-radius-xl);
	}
	.bsy-page--driver-signup .bsy-driver-signup__reqs-panel {
		padding: 20px 18px; min-height: 0;
	}
	.bsy-page--driver-signup .bsy-driver-signup__reqs-title { font-size: 24px; }
	.bsy-page--driver-signup .bsy-driver-signup__reqs-sub { font-size: 13px; }
	.bsy-page--driver-signup .bsy-driver-signup__reqs-list {
		padding: 20px 18px;
	}
	.bsy-page--driver-signup .bsy-driver-signup__req-n {
		font-size: 18px; width: 28px;
	}
	.bsy-page--driver-signup .bsy-driver-signup__req-t { font-size: 13.5px; }
	.bsy-page--driver-signup .bsy-driver-signup__req-s { font-size: 11.5px; }
}

/* ── HOW IT WORKS ─────────────────────────────────────────── */
.bsy-page--driver-signup .bsy-driver-signup__how-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px; position: relative;
}
.bsy-page--driver-signup .bsy-driver-signup__step {
	position: relative;
	background: var(--bsy-grey-100);
	color: var(--bsy-fg-primary);
	border-radius: 18px;
	padding: 20px 18px;
	display: flex; flex-direction: column; gap: 10px;
	border: 1px solid transparent;
}
.bsy-page--driver-signup .bsy-driver-signup__step--first {
	background: var(--bsy-brand);
	color: #fff;
	border-color: transparent;
	box-shadow: 0 14px 32px -10px rgba(0,67,255,.45);
}
.bsy-page--driver-signup .bsy-driver-signup__step-head {
	display: flex; align-items: center; gap: 10px;
}
.bsy-page--driver-signup .bsy-driver-signup__step-n {
	width: 32px; height: 32px; border-radius: 999px;
	background: #fff;
	color: var(--bsy-brand);
	display: grid; place-items: center;
	font-size: 14px; font-weight: 900;
}
.bsy-page--driver-signup .bsy-driver-signup__step--first .bsy-driver-signup__step-n {
	background: rgba(255,255,255,.18);
	color: #fff;
	border: 1px solid rgba(255,255,255,.28);
}
.bsy-page--driver-signup .bsy-driver-signup__step-ic {
	width: 40px; height: 40px; border-radius: 12px;
	background: #fff;
	color: var(--bsy-brand);
	display: grid; place-items: center;
	margin-inline-start: auto;
}
.bsy-page--driver-signup .bsy-driver-signup__step--first .bsy-driver-signup__step-ic {
	background: rgba(255,255,255,.14);
	color: var(--bsy-accent-gold);
}
.bsy-page--driver-signup .bsy-driver-signup__step-t {
	font-size: 16px; font-weight: 900;
 margin-top: 4px;
	color: var(--bsy-fg-primary);
}
.bsy-page--driver-signup .bsy-driver-signup__step--first .bsy-driver-signup__step-t { color: #fff; }
.bsy-page--driver-signup .bsy-driver-signup__step-s {
	font-size: 12.5px; font-weight: 500;
	line-height: 1.55;
	color: var(--bsy-grey-700);
}
.bsy-page--driver-signup .bsy-driver-signup__step--first .bsy-driver-signup__step-s {
	color: rgba(255,255,255,.85);
}

@media (max-width: 768px) {
	.bsy-page--driver-signup .bsy-driver-signup__how-grid {
		grid-template-columns: 1fr 1fr; gap: 10px;
	}
	.bsy-page--driver-signup .bsy-driver-signup__step {
		padding: 14px;
	}
	.bsy-page--driver-signup .bsy-driver-signup__step-t { font-size: 14px; }
	.bsy-page--driver-signup .bsy-driver-signup__step-s { font-size: 11.5px; }
}

/* ── APP PREVIEW ──────────────────────────────────────────── */
.bsy-page--driver-signup .bsy-driver-signup__app {
	border-radius: var(--bsy-radius-3xl);
	overflow: hidden;
	background: linear-gradient(160deg, #0a1430 0%, #112250 60%, #1B3580 100%);
	color: #fff; direction: rtl;
	padding: 40px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px; align-items: center;
	position: relative;
	box-shadow: 0 32px 60px -28px rgba(0,30,80,.50);
}
.bsy-page--driver-signup .bsy-driver-signup__app-glow {
	position: absolute; inset-inline-start: -120px; top: -80px;
	width: 360px; height: 360px; border-radius: 999px;
	background: radial-gradient(circle, rgba(0,67,255,.45), transparent 65%);
	filter: blur(40px); pointer-events: none;
}
.bsy-page--driver-signup .bsy-driver-signup__app-copy {
	position: relative;
}
.bsy-page--driver-signup .bsy-driver-signup__app-title {
	margin: 14px 0 12px;
	font-family: var(--bsy-font);
	font-weight: 900;
	font-size: clamp(22px, 2.6vw, 32px);
	line-height: 1.1;
	color: #fff;
}
.bsy-page--driver-signup .bsy-driver-signup__app-sub {
	margin: 0 0 18px;
	font-size: clamp(13px, 1.3vw, 14.5px);
	font-weight: 500;
	color: rgba(255,255,255,.82);
	line-height: 1.65; max-width: 460px;
}
.bsy-page--driver-signup .bsy-driver-signup__app-feats {
	display: flex; flex-direction: column; gap: 10px; margin-top: 14px;
}
.bsy-page--driver-signup .bsy-driver-signup__app-feat {
	display: flex; align-items: center; gap: 12px;
	padding: 10px 14px;
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.10);
	border-radius: 14px;
}
.bsy-page--driver-signup .bsy-driver-signup__app-feat-ic {
	width: 32px; height: 32px; border-radius: 9px;
	background: rgba(255,225,94,.18); color: var(--bsy-accent-gold);
	display: grid; place-items: center; flex: none;
}
.bsy-page--driver-signup .bsy-driver-signup__app-feat-t {
	font-size: 14px; font-weight: 700; color: #fff;
}
.bsy-page--driver-signup .bsy-driver-signup__app-badges {
	display: flex; gap: 10px; margin-top: 18px;
}

/* Phone mock */
.bsy-page--driver-signup .bsy-driver-signup__phone-wrap {
	position: relative;
	display: grid; place-items: center;
}
.bsy-page--driver-signup .bsy-driver-signup__phone {
	position: relative;
	width: 280px; height: 560px;
	border-radius: 42px;
	background: var(--bsy-black);
	padding: 9px;
	box-shadow: 0 30px 60px -20px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.06) inset;
	direction: rtl;
}
.bsy-page--driver-signup .bsy-driver-signup__phone-notch {
	position: absolute; top: 16px;
	/* Physical `left: 50%` so transform: translateX(-50%) centers
	 * correctly under the phone's top edge regardless of RTL. */
	left: 50%;
	transform: translateX(-50%);
	width: 100px; height: 22px;
	border-radius: 999px;
	background: var(--bsy-black);
	z-index: 3;
}
.bsy-page--driver-signup .bsy-driver-signup__phone-screen {
	width: 100%; height: 100%;
	border-radius: 34px;
	overflow: hidden;
	background: #F5F5F7;
	position: relative;
}
.bsy-page--driver-signup .bsy-driver-signup__phone-status {
	position: absolute; top: 0; left: 0; right: 0;
	height: 36px;
	padding: 12px 20px 0;
	display: flex; align-items: center; justify-content: space-between;
	font-size: 11px; font-weight: 700; color: var(--bsy-black);
	font-variant-numeric: tabular-nums; direction: ltr;
}
.bsy-page--driver-signup .bsy-driver-signup__phone-status-right {
	display: inline-flex; gap: 4px;
}
.bsy-page--driver-signup .bsy-driver-signup__phone-greet {
	margin-top: 36px;
	padding: 14px 16px 10px;
	display: flex; align-items: center; justify-content: space-between;
}
.bsy-page--driver-signup .bsy-driver-signup__phone-greet-eye {
	font-size: 11px; font-weight: 600; color: var(--bsy-grey-600);
}
.bsy-page--driver-signup .bsy-driver-signup__phone-greet-name {
	font-size: 16px; font-weight: 900;
	color: var(--bsy-fg-primary);
}
.bsy-page--driver-signup .bsy-driver-signup__phone-avatar {
	width: 38px; height: 38px; border-radius: 999px;
	background: linear-gradient(135deg, #FFB37A, #FF7E5C);
	display: grid; place-items: center; color: #fff;
	font-weight: 900; font-size: 14px;
}
.bsy-page--driver-signup .bsy-driver-signup__phone-earnings {
	margin: 0 14px;
	padding: 14px 16px;
	border-radius: 16px;
	background: linear-gradient(160deg, var(--bsy-brand) 0%, #2052FF 100%);
	color: #fff;
	box-shadow: 0 12px 28px -10px rgba(0,67,255,.55);
}
.bsy-page--driver-signup .bsy-driver-signup__phone-earnings-eye {
	font-size: 11px; font-weight: 600; color: rgba(255,255,255,.78);
}
.bsy-page--driver-signup .bsy-driver-signup__phone-earnings-amt {
	display: flex; align-items: baseline; gap: 6px; margin-top: 6px;
}
.bsy-page--driver-signup .bsy-driver-signup__phone-earnings-v {
	font-size: 26px; font-weight: 950;
 line-height: 1;
}
.bsy-page--driver-signup .bsy-driver-signup__phone-earnings-u {
	font-size: 12px; font-weight: 600;
	color: rgba(255,255,255,.78);
}
.bsy-page--driver-signup .bsy-driver-signup__phone-earnings-bar {
	margin-top: 10px; height: 4px; border-radius: 999px;
	background: rgba(255,255,255,.22); position: relative;
}
.bsy-page--driver-signup .bsy-driver-signup__phone-earnings-bar-fill {
	position: absolute; inset-inline-start: 0; top: 0; bottom: 0;
	width: 72%; background: var(--bsy-accent-gold); border-radius: 999px;
}
.bsy-page--driver-signup .bsy-driver-signup__phone-earnings-meta {
	display: flex; justify-content: space-between; margin-top: 7px;
	font-size: 10px; font-weight: 600; color: rgba(255,255,255,.85);
}
.bsy-page--driver-signup .bsy-driver-signup__phone-quick {
	margin: 12px 14px 0;
	display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px;
}
.bsy-page--driver-signup .bsy-driver-signup__phone-quick-c {
	background: #fff; border-radius: 12px;
	padding: 10px 6px;
	display: flex; flex-direction: column; align-items: center; gap: 5px;
	border: 1px solid var(--bsy-grey-200);
}
.bsy-page--driver-signup .bsy-driver-signup__phone-quick-ic {
	color: var(--bsy-brand);
}
.bsy-page--driver-signup .bsy-driver-signup__phone-quick-t {
	font-size: 10.5px; font-weight: 700; color: var(--bsy-fg-primary);
}
.bsy-page--driver-signup .bsy-driver-signup__phone-ride {
	position: absolute; inset-inline: 14px; bottom: 84px;
	background: #fff; border-radius: 18px; padding: 14px;
	box-shadow: 0 12px 28px -12px rgba(0,0,0,.20);
	border: 1px solid var(--bsy-grey-200);
}
.bsy-page--driver-signup .bsy-driver-signup__phone-ride-tag {
	display: inline-flex; align-items: center; gap: 5px;
	padding: 3px 8px; border-radius: 999px;
	background: var(--bsy-success-light); color: var(--bsy-success);
	font-size: 10px; font-weight: 800; margin-bottom: 8px;
}
.bsy-page--driver-signup .bsy-driver-signup__phone-ride-tag-dot {
	width: 5px; height: 5px; border-radius: 999px;
	background: var(--bsy-success);
}
.bsy-page--driver-signup .bsy-driver-signup__phone-ride-t {
	font-size: 13px; font-weight: 900;
	color: var(--bsy-fg-primary);
}
.bsy-page--driver-signup .bsy-driver-signup__phone-ride-row {
	display: flex; align-items: center; gap: 8px; margin-top: 8px;
	font-size: 11.5px; font-weight: 600; color: var(--bsy-grey-700);
}
.bsy-page--driver-signup .bsy-driver-signup__phone-ride-row + .bsy-driver-signup__phone-ride-row {
	margin-top: 5px;
}
.bsy-page--driver-signup .bsy-driver-signup__phone-ride-dot {
	width: 8px; height: 8px; flex: none;
}
.bsy-page--driver-signup .bsy-driver-signup__phone-ride-dot--from {
	border-radius: 999px;
	background: #FF6A3D;
}
.bsy-page--driver-signup .bsy-driver-signup__phone-ride-dot--to {
	border-radius: 2px;
	background: var(--bsy-brand);
}
.bsy-page--driver-signup .bsy-driver-signup__phone-ride-btn {
	margin-top: 10px; width: 100%; height: 36px;
	border-radius: 10px; border: none;
	background: var(--bsy-brand); color: #fff;
	font-family: var(--bsy-font);
	font-size: 12px; font-weight: 900;
	cursor: pointer;
	box-shadow: 0 6px 18px -4px rgba(0,67,255,.45);
}
.bsy-page--driver-signup .bsy-driver-signup__phone-tabs {
	position: absolute; left: 0; right: 0; bottom: 0;
	height: 68px; background: #fff;
	border-top: 1px solid var(--bsy-grey-200);
	display: flex; align-items: center; justify-content: space-around;
	padding-bottom: 12px;
}
.bsy-page--driver-signup .bsy-driver-signup__phone-tab {
	display: flex; flex-direction: column; align-items: center; gap: 3px;
	color: var(--bsy-grey-600);
}
.bsy-page--driver-signup .bsy-driver-signup__phone-tab--active {
	color: var(--bsy-brand);
}
.bsy-page--driver-signup .bsy-driver-signup__phone-tab-dot {
	width: 4px; height: 4px; border-radius: 999px;
	background: transparent;
}
.bsy-page--driver-signup .bsy-driver-signup__phone-tab--active .bsy-driver-signup__phone-tab-dot {
	background: var(--bsy-brand);
}

@media (max-width: 960px) {
	.bsy-page--driver-signup .bsy-driver-signup__app {
		grid-template-columns: 1fr;
		gap: 22px;
		padding: 24px 18px;
		border-radius: var(--bsy-radius-xl);
	}
	.bsy-page--driver-signup .bsy-driver-signup__app-title { font-size: 24px; }
	.bsy-page--driver-signup .bsy-driver-signup__app-feat-t { font-size: 13px; }
}

/* ── FAQ ──────────────────────────────────────────────────── */
.bsy-page--driver-signup .bsy-driver-signup__faq-list {
	display: flex; flex-direction: column; gap: 8px;
}
.bsy-page--driver-signup .bsy-driver-signup__faq-row {
	background: var(--bsy-grey-100);
	border: 1px solid transparent;
	border-radius: 14px;
	padding: 14px 18px;
}
.bsy-page--driver-signup .bsy-driver-signup__faq-row--first {
	background: var(--bsy-brand-lighter);
	border-color: rgba(0,67,255,.15);
}
.bsy-page--driver-signup .bsy-driver-signup__faq-q {
	display: flex; align-items: center; justify-content: space-between;
	gap: 12px; list-style: none; cursor: pointer;
	font-size: 14.5px; font-weight: 800;
	color: var(--bsy-fg-primary);
}
.bsy-page--driver-signup .bsy-driver-signup__faq-q::-webkit-details-marker { display: none; }
.bsy-page--driver-signup .bsy-driver-signup__faq-chev {
	width: 24px; height: 24px; border-radius: 999px;
	background: #fff; color: var(--bsy-grey-700);
	display: grid; place-items: center; flex: none;
	transition: transform .2s ease;
}
.bsy-page--driver-signup .bsy-driver-signup__faq-row[open] .bsy-driver-signup__faq-chev {
	transform: rotate(180deg);
}
.bsy-page--driver-signup .bsy-driver-signup__faq-row--first .bsy-driver-signup__faq-chev {
	background: var(--bsy-brand); color: #fff;
}
.bsy-page--driver-signup .bsy-driver-signup__faq-a {
	margin: 10px 0 0;
	font-size: 13px;
	color: var(--bsy-grey-700);
	line-height: 1.7;
	font-weight: 500;
}

@media (max-width: 768px) {
	.bsy-page--driver-signup .bsy-driver-signup__faq-row { padding: 12px 14px; }
	.bsy-page--driver-signup .bsy-driver-signup__faq-q { font-size: 13.5px; }
}
