/* RB Start Page sections. Scoped to .rbs so theme and Elementor styles cannot bend them. */
.rbs {
	--navy: #1E467C;
	--navy-deep: #13304F;
	--amber: #F69A11;
	--amber-soft: #FFF3DF;
	--ink: #1C2733;
	--muted: #5B6B7C;
	--line: #DCE3EB;
	--tint: #F3F5F8;
	--shade: rgba(14, 30, 50, .78);
	--shade-soft: rgba(14, 30, 50, .52);
	box-sizing: border-box;
	max-width: 1188px;
	margin: 0 auto;
	padding: 72px 24px;
	color: var(--ink);
	font-size: 16px;
	line-height: 1.6;
}
.rbs *, .rbs *::before, .rbs *::after { box-sizing: border-box; }
.rbs h2, .rbs h3, .rbs p, .rbs ul, .rbs ol, .rbs dl, .rbs dd { margin: 0; padding: 0; }
.rbs ul, .rbs ol { list-style: none; }
.rbs li { margin: 0; padding: 0; }
.rbs li::before { content: none; }

/* Section headings: same look as the existing homepage headings */
.rbs .rbs-h {
	font-family: "Lato", "Helvetica Neue", Arial, sans-serif;
	font-weight: 400;
	font-size: clamp(28px, 3.6vw, 42px);
	line-height: 1.15;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #333;
	text-wrap: balance;
	margin: 0 0 14px;
}
.rbs h3 { font-family: inherit; text-transform: none; letter-spacing: normal; }
.rbs .rbs-lead { font-size: 18px; color: var(--muted); max-width: 62ch; }
.rbs-head { text-align: center; margin: 0 0 40px; }
.rbs-head .rbs-lead { margin: 0 auto; }

/* Light grey bands that run edge to edge without widening the page */
.rbs.rbs-band { background: var(--tint); box-shadow: 0 0 0 100vmax var(--tint); clip-path: inset(0 -100vmax); }

/* Photo panels: your own photos with a dark overlay, like the hero */
.rbs-photo {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	border-radius: 18px;
	background-color: var(--navy-deep);
	background-size: cover;
	background-position: center;
	color: #fff;
}
.rbs-photo::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(100deg, var(--shade) 0%, var(--shade) 45%, var(--shade-soft) 100%);
}
.rbs-photo .rbs-h { color: #fff; }

/* Buttons and links */
:is(.rbs, .rbs-hero) .rbs-btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 48px; padding: 0 24px;
	border-radius: 10px; border: 2px solid transparent;
	font-family: inherit; font-size: 16px; font-weight: 700; line-height: 1.2;
	text-decoration: none; text-transform: none; letter-spacing: normal;
	transition: background .15s, color .15s, border-color .15s;
}
:is(.rbs, .rbs-hero) .rbs-btn-primary { background: var(--amber); color: var(--navy-deep); }
:is(.rbs, .rbs-hero) .rbs-btn-primary:hover, :is(.rbs, .rbs-hero) .rbs-btn-primary:focus { background: #E48A05; color: var(--navy-deep); }
:is(.rbs, .rbs-hero) .rbs-btn-light { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .55); }
:is(.rbs, .rbs-hero) .rbs-btn-light:hover, :is(.rbs, .rbs-hero) .rbs-btn-light:focus { border-color: #fff; color: #fff; background: rgba(255, 255, 255, .08); }
:is(.rbs, .rbs-hero) .rbs-btn:focus-visible, .rbs .rbs-link:focus-visible, .rbs summary:focus-visible { outline: 3px solid var(--amber); outline-offset: 3px; }
.rbs .rbs-link {
	display: inline-block;
	color: var(--navy);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: var(--amber);
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
}
.rbs .rbs-link:hover, .rbs .rbs-link:focus { color: var(--navy-deep); text-decoration-color: var(--navy); }
:is(.rbs, .rbs-hero) .rbs-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

/* Check list */
.rbs .rbs-checks { display: grid; gap: 9px; }
.rbs .rbs-checks li { display: flex; gap: 10px; align-items: flex-start; }
.rbs .rbs-ico { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 3px; color: var(--amber); }

/* ---------- Career Hub ---------- */
.rbs-hub { padding-top: 24px; }
.rbs-hub-inner {
	padding: 64px 56px;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 48px;
	align-items: center;
}
.rbs-hub .rbs-h { color: #fff; }
.rbs-hub .rbs-lead { color: #E3E9F0; }
.rbs-hub-tiers { display: grid; gap: 14px; }
.rbs-tier {
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .28);
	-webkit-backdrop-filter: blur(3px);
	        backdrop-filter: blur(3px);
	border-radius: 14px;
	padding: 22px 24px;
}
.rbs-tier h3 { display: flex; justify-content: space-between; gap: 12px; font-size: 17px; font-weight: 700; color: #fff; margin: 0 0 12px; }
.rbs-tier-price { color: #C9D4E0; font-weight: 400; }
.rbs-tier li { color: #EEF2F6; font-size: 15px; }
.rbs-tier-full { border-color: rgba(246, 154, 17, .75); background: rgba(14, 30, 50, .35); }

/* ---------- Where are you right now? ---------- */
.rbs-path-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.rbs-path {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--navy);
	border-radius: 6px;
	padding: 28px 26px 24px;
}
.rbs .rbs-path-h { font-size: 21px; line-height: 1.3; font-weight: 700; color: var(--navy); margin: 0 0 12px; text-wrap: balance; }
.rbs .rbs-path-p { color: var(--ink); font-size: 15.5px; margin: 0 0 22px; }
.rbs .rbs-path-foot { margin: auto 0 18px; border-top: 1px solid var(--line); }
.rbs-row { padding: 14px 0 0; }
.rbs-row dt { font-size: 13px; color: var(--muted); margin: 0 0 6px; font-weight: 700; }
.rbs .rbs-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.rbs .rbs-chips li { font-size: 13.5px; background: var(--tint); border: 1px solid #E3EAF2; border-radius: 6px; padding: 3px 9px; color: var(--ink); }
.rbs .rbs-chips em { font-style: normal; color: #9A5B00; background: var(--amber-soft); border-radius: 4px; padding: 0 5px; margin-left: 4px; font-size: 12px; }
.rbs-offer { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 15px; }
.rbs-offer strong { color: var(--navy); font-size: 17px; white-space: nowrap; font-variant-numeric: tabular-nums; }

.rbs-path:nth-child(2) { border-color: var(--amber); }
.rbs-path-full {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: 40px;
	align-items: center;
	background: #fff;
	border-color: var(--amber);
	padding: 36px 40px;
}
.rbs .rbs-path-full .rbs-path-p { margin-bottom: 18px; font-size: 16px; }
.rbs-full-price { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin: 0 0 20px; }
.rbs-full-price span { color: var(--muted); font-size: 15px; }
.rbs-full-price strong { color: var(--navy); font-size: 28px; font-variant-numeric: tabular-nums; }
.rbs .rbs-full-list { background: var(--tint); border: 0; border-radius: 6px; padding: 22px 24px; }
.rbs-full-list li { font-size: 16px; }

/* ---------- How it works ---------- */
.rbs-steps { text-align: center; }
.rbs-steps-inner { padding: 64px 48px 52px; }
.rbs-steps-inner::before { background: linear-gradient(180deg, var(--shade) 0%, var(--shade-soft) 100%); }
.rbs .rbs-step-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: 36px 0 0; counter-reset: none; position: relative; }
.rbs-step { position: relative; padding: 0 8px; }
.rbs-step + .rbs-step::before {
	content: "";
	position: absolute;
	top: 24px;
	right: calc(50% + 34px);
	width: calc(100% - 40px);
	height: 1px;
	background: rgba(255, 255, 255, .45);
}
.rbs-step-n {
	position: relative; z-index: 1;
	display: inline-flex; align-items: center; justify-content: center;
	width: 48px; height: 48px; border-radius: 50%;
	background: var(--amber); color: var(--navy-deep);
	font-weight: 700; font-size: 19px;
	margin: 0 0 16px;
}
.rbs-step h3 { font-size: 19px; font-weight: 700; color: #fff; margin: 0 0 6px; }
.rbs-step p { color: #E3E9F0; max-width: 30ch; margin: 0 auto; }
.rbs .rbs-note { margin: 32px auto 0; color: #D3DCE6; font-size: 14.5px; }

/* ---------- Testimonials wrapper (when using [rb_start_page]) ---------- */
.rbs-testi { text-align: center; }
.rbs-testi .rbt-slider { text-align: left; margin-top: 28px; }

/* ---------- About ---------- */
.rbs-about { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 64px; align-items: center; }
.rbs-about-photo img { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; border-radius: 6px; }
.rbs-about-text p { margin: 0 0 16px; color: var(--ink); max-width: 62ch; }
/* Dark navy band, like the current About section */
/* Same colour as the current About section: navy #1E467C under a 60% black layer = #0C1C32. Change it here. */
.rbs.rbs-dark { --about-bg: #0C1C32; background: var(--about-bg); box-shadow: 0 0 0 100vmax var(--about-bg); clip-path: inset(0 -100vmax); color: #fff; }
.rbs-dark .rbs-h { color: var(--amber); }
.rbs .rbs-dark .rbs-about-text p, .rbs.rbs-dark .rbs-about-text p { color: #fff; font-size: 17px; line-height: 1.75; margin: 0 0 18px; max-width: 62ch; }
.rbs .rbs-li { display: inline-flex; align-items: center; gap: 12px; margin-top: 10px; color: #fff; text-decoration: none; font-weight: 700; }
.rbs .rbs-li:hover, .rbs .rbs-li:focus { color: var(--amber); }
.rbs .rbs-li-ico { width: 32px; height: 32px; flex: 0 0 32px; }
.rbs .rbs-li:focus-visible { outline: 3px solid var(--amber); outline-offset: 4px; border-radius: 4px; }

/* ---------- Questions ---------- */
.rbs-faq { max-width: 820px; }
.rbs-faq .rbs-h { text-align: center; margin-bottom: 28px; }
.rbs-q { border-bottom: 1px solid var(--line); }
.rbs-q:first-child { border-top: 1px solid var(--line); }
.rbs-q summary {
	list-style: none;
	cursor: pointer;
	display: flex; justify-content: space-between; align-items: center; gap: 16px;
	padding: 18px 2px;
	font-weight: 700; font-size: 17px; color: var(--navy);
}
.rbs-q summary::-webkit-details-marker { display: none; }
.rbs-q summary::after { content: "+"; flex: 0 0 auto; font-size: 24px; font-weight: 400; color: var(--amber); line-height: 1; }
.rbs-q[open] summary::after { content: "\2212"; }
.rbs-q p { padding: 0 2px 20px; color: var(--ink); max-width: 66ch; }

/* ---------- Narrow screens ---------- */
@media (max-width: 960px) {
	.rbs-path-grid { grid-template-columns: 1fr 1fr; }
	.rbs-hub-inner { grid-template-columns: 1fr; padding: 40px 32px; gap: 32px; }
	.rbs-about { gap: 36px; }
}
@media (max-width: 700px) {
	.rbs { padding: 48px 18px; }
	.rbs-path-grid { grid-template-columns: 1fr; }
	.rbs-path-full { grid-template-columns: 1fr; padding: 28px 22px; gap: 22px; }
	.rbs-hub-inner { padding: 36px 22px; border-radius: 12px; }
	.rbs-steps-inner { padding: 44px 22px 36px; border-radius: 12px; }
	.rbs-photo::before { background: var(--shade); }
	.rbs .rbs-step-list { grid-template-columns: 1fr; gap: 24px; }
	.rbs-step + .rbs-step::before { display: none; }
	.rbs-about { grid-template-columns: 1fr; }
	.rbs-about-photo { max-width: 320px; }
	.rbs .rbs-lead { font-size: 17px; }
	.rbs .rbs-about-lead { font-size: 18px; }
	:is(.rbs, .rbs-hero) .rbs-actions .rbs-btn { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) { .rbs * { transition: none !important; } }
@media (min-width: 701px) { .rbs-path:not(.rbs-path-full) .rbs-row:first-child dd { min-height: 64px; } }


/* ---------- Top (hero) ---------- */
.rbs-hero {
	--navy: #1E467C;
	--navy-deep: #13304F;
	--amber: #F69A11;
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 620px;
	padding: 120px 24px 100px;
	background-color: #2b3440;
	background-size: cover;
	background-position: center;
	color: #fff;
	text-align: center;
	box-sizing: border-box;
}
.rbs-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(12, 22, 34, .30) 0%, rgba(12, 22, 34, .45) 100%); }
.rbs-hero-inner { max-width: 1000px; }
.rbs-hero .rbs-hero-h {
	margin: 0 0 14px;
	font-family: "Lato", "Helvetica Neue", Arial, sans-serif;
	font-weight: 400;
	font-size: clamp(34px, 5vw, 60px);
	line-height: 1.12;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: #fff;
	text-wrap: balance;
	text-shadow: 0 1px 12px rgba(0, 0, 0, .25);
}
.rbs-hero .rbs-hero-p {
	margin: 0 auto;
	max-width: 46ch;
	font-family: "Lato", "Helvetica Neue", Arial, sans-serif;
	font-weight: 300;
	font-size: clamp(19px, 2.2vw, 27px);
	line-height: 1.4;
	color: #fff;
	text-shadow: 0 1px 10px rgba(0, 0, 0, .3);
}
.rbs-hero .rbs-hero-actions { justify-content: center; margin-top: 36px; }
.rbs-hero .rbs-btn { font-family: inherit; }

@media (max-width: 860px) {
	.rbs-about { grid-template-columns: 1fr; gap: 32px; }
	.rbs-about-photo { max-width: 360px; }
}
@media (max-width: 700px) {
	.rbs-hero { min-height: 480px; padding: 90px 18px 70px; }
	.rbs-hero .rbs-hero-actions .rbs-btn { flex: 1 1 100%; }
}
