/* ==========================================================================
   KAUSTYA ROBOTICS — home template

   A deliberately different register from the corporate pages: technical
   rather than glossy. Rules and numbering instead of drop shadows, a
   monospace voice for anything that behaves like a specification, and a dark
   hero with a faint engineering grid behind it.
   ========================================================================== */

.rb {
	--rb-ink: #0A1628;
	--rb-ink-2: #33445E;
	--rb-line: rgba(10, 22, 40, .12);
	--rb-line-soft: rgba(10, 22, 40, .07);
	--rb-alt: #F4F7FB;
	--rb-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
}

[data-theme="dark"] .rb {
	--rb-ink: #F1F5F9;
	--rb-ink-2: rgba(241, 245, 249, .72);
	--rb-line: rgba(255, 255, 255, .13);
	--rb-line-soft: rgba(255, 255, 255, .08);
	--rb-alt: rgba(255, 255, 255, .03);
}

/* ---------------- shared type ---------------- */

.rb-eyebrow {
	margin: 0 0 12px;
	font-family: var(--rb-mono);
	font-size: .74rem;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--color-primary);
}

.rb-eyebrow--light { color: #7FC0FF; }

.rb-h2 {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(1.55rem, 3.4vw, 2.5rem);
	font-weight: 800;
	line-height: 1.14;
	letter-spacing: -.02em;
	color: var(--rb-ink);
}

.rb-h3 {
	margin: 0 0 16px;
	font-family: var(--font-display);
	font-size: 1.12rem;
	font-weight: 700;
	color: var(--rb-ink);
}

.rb-lead {
	margin: 16px 0 0;
	max-width: 62ch;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--rb-ink-2);
}

.rb-head { margin-bottom: 44px; max-width: 900px; }
.rb-head--light .rb-h2,
.rb-head--light .rb-lead { color: #fff; }
.rb-head--light .rb-lead { color: rgba(255, 255, 255, .76); }

.rb-abbr {
	display: inline-block;
	margin-left: 12px;
	padding: 4px 12px;
	font-family: var(--rb-mono);
	font-size: .68em;
	font-weight: 600;
	letter-spacing: .08em;
	color: #7FC0FF;
	border: 1px solid rgba(127, 192, 255, .45);
	border-radius: 999px;
	vertical-align: middle;
}

.rb-section { padding: clamp(56px, 8vw, 104px) 0; }
.rb-section--alt { background: var(--rb-alt); }

.rb-section--dark {
	background: var(--rb-ink, #0A1628);
	background-image: linear-gradient(160deg, #0A1628 0%, #12294A 100%);
}

[data-theme="dark"] .rb-section--dark { background-image: linear-gradient(160deg, #060F1E 0%, #0E2140 100%); }

/* ---------------- buttons ---------------- */

.rb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 28px;
	font-family: var(--font-body);
	font-size: .92rem;
	font-weight: 700;
	text-decoration: none;
	border: 1px solid transparent;
	border-radius: 999px;
	cursor: pointer;
	transition: background-color .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
}

.rb-btn--solid { color: #fff; background: var(--color-primary); }
.rb-btn--solid:hover { background: var(--color-primary-dark, var(--color-primary)); transform: translateY(-1px); color: #fff; }

.rb-btn--line { color: #fff; border-color: rgba(255, 255, 255, .42); background: transparent; }
.rb-btn--line:hover { border-color: #fff; background: rgba(255, 255, 255, .1); color: #fff; }

.rb-section--alt .rb-btn--line,
.rb-section .rb-btn--line { color: var(--rb-ink); border-color: var(--rb-line); }

/* ---------------- hero ---------------- */

.rb-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(90px, 13vw, 150px) 0 0;
	background: #0A1628;
	background-image: linear-gradient(155deg, #0A1628 0%, #123059 55%, #0D2244 100%);
	color: #fff;
}

.rb-hero__grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(127, 192, 255, .07) 1px, transparent 1px),
		linear-gradient(90deg, rgba(127, 192, 255, .07) 1px, transparent 1px);
	background-size: 56px 56px;
	mask-image: radial-gradient(120% 90% at 20% 0%, #000 35%, transparent 78%);
	-webkit-mask-image: radial-gradient(120% 90% at 20% 0%, #000 35%, transparent 78%);
	pointer-events: none;
}

.rb-hero__inner { position: relative; padding-bottom: clamp(50px, 7vw, 82px); }

.rb-hero__title {
	margin: 0 0 20px;
	max-width: 16ch;
	font-family: var(--font-display);
	font-size: clamp(2.3rem, 6.2vw, 4.4rem);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -.03em;
	color: #fff;
}

.rb-hero__lead {
	margin: 0 0 32px;
	max-width: 58ch;
	font-size: clamp(1rem, 1.5vw, 1.12rem);
	line-height: 1.68;
	color: rgba(255, 255, 255, .8);
}

.rb-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* KG → PhD */
.rb-spectrum {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 14px;
	margin-top: clamp(44px, 6vw, 68px);
	padding-top: 26px;
	border-top: 1px solid rgba(255, 255, 255, .16);
}

.rb-spectrum__cap {
	font-family: var(--rb-mono);
	font-size: clamp(1.1rem, 2.4vw, 1.6rem);
	font-weight: 700;
	letter-spacing: .04em;
	color: #7FC0FF;
}

.rb-spectrum__line {
	position: relative;
	height: 2px;
	background: linear-gradient(90deg, #7FC0FF, rgba(127, 192, 255, .18));
	border-radius: 2px;
}

.rb-spectrum__note {
	grid-column: 1 / -1;
	margin: 4px 0 0;
	font-size: .88rem;
	color: rgba(255, 255, 255, .64);
}

/* Offer ticker */
.rb-ticker {
	position: relative;
	overflow: hidden;
	border-top: 1px solid rgba(255, 255, 255, .14);
	background: rgba(0, 0, 0, .22);
}

.rb-ticker__track {
	display: flex;
	gap: 0;
	width: max-content;
	animation: rb-scroll 34s linear infinite;
}

.rb-ticker__item {
	flex: none;
	padding: 15px 34px;
	font-family: var(--rb-mono);
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .68);
	border-right: 1px solid rgba(255, 255, 255, .12);
	white-space: nowrap;
}

@keyframes rb-scroll { to { transform: translateX(-50%); } }

.rb-ticker:hover .rb-ticker__track { animation-play-state: paused; }

/* ---------------- stats ---------------- */

.rb-stats { border-bottom: 1px solid var(--rb-line); background: var(--rb-alt); }

.rb-stats__inner {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rb-stat { padding: 30px 22px; border-left: 1px solid var(--rb-line); }
.rb-stat:first-child { border-left: 0; padding-left: 0; }

.rb-stat__n {
	display: block;
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 3.4vw, 2.3rem);
	font-weight: 800;
	line-height: 1;
	color: var(--color-primary);
}

.rb-stat__l {
	display: block;
	margin-top: 8px;
	font-size: .84rem;
	line-height: 1.45;
	color: var(--rb-ink-2);
}

/* ---------------- capabilities ---------------- */

.rb-caps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }

.rb-cap { padding: 30px 26px; border-left: 1px solid var(--rb-line); }
.rb-cap:first-child { border-left: 0; padding-left: 0; }

.rb-cap__n {
	display: block;
	margin-bottom: 16px;
	font-family: var(--rb-mono);
	font-size: .82rem;
	font-weight: 600;
	color: var(--color-primary);
}

.rb-cap__t { margin: 0 0 10px; font-family: var(--font-display); font-size: 1.08rem; font-weight: 700; color: var(--rb-ink); }
.rb-cap__p { margin: 0; font-size: .9rem; line-height: 1.65; color: var(--rb-ink-2); }

/* ---------------- partners ---------------- */

.rb-region { margin-bottom: 42px; }

.rb-region__h {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 18px;
	padding-bottom: 12px;
	font-family: var(--font-display);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--rb-ink);
	border-bottom: 1px solid var(--rb-line);
}

.rb-region__code {
	padding: 3px 9px;
	font-family: var(--rb-mono);
	font-size: .72rem;
	letter-spacing: .1em;
	color: var(--color-primary);
	background: rgba(var(--color-primary-rgb), .1);
	border-radius: 5px;
}

.rb-partners { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1px; background: var(--rb-line); }

.rb-partner {
	padding: 20px;
	background: var(--card, #fff);
	transition: background-color .18s ease;
}

[data-theme="dark"] .rb-partner { background: #0F1B30; }
.rb-partner:hover { background: rgba(var(--color-primary-rgb), .05); }

.rb-partner__n { margin: 0 0 6px; font-family: var(--font-display); font-size: .96rem; font-weight: 700; color: var(--rb-ink); }
.rb-partner__c { margin: 0 0 8px; font-family: var(--rb-mono); font-size: .74rem; letter-spacing: .04em; color: var(--color-primary); }
.rb-partner__d { margin: 0; font-size: .84rem; line-height: 1.55; color: var(--rb-ink-2); }

/* ---------------- programmes ---------------- */

.rb-progs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }

.rb-prog {
	padding: 30px;
	background: var(--card, #fff);
	border: 1px solid var(--rb-line);
	border-radius: 16px;
	transition: border-color .18s ease, transform .18s ease;
}

[data-theme="dark"] .rb-prog { background: rgba(255, 255, 255, .03); }
.rb-prog:hover { border-color: var(--color-primary); transform: translateY(-2px); }

.rb-prog__k {
	margin: 0 0 10px;
	font-family: var(--rb-mono);
	font-size: .72rem;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--color-primary);
}

.rb-prog__t { margin: 0 0 12px; font-family: var(--font-display); font-size: 1.24rem; font-weight: 700; color: var(--rb-ink); }
.rb-prog__p { margin: 0 0 18px; font-size: .92rem; line-height: 1.65; color: var(--rb-ink-2); }

/* ---------------- lists ---------------- */

.rb-list { margin: 0; padding: 0; list-style: none; }

.rb-list li {
	position: relative;
	padding: 7px 0 7px 22px;
	font-size: .89rem;
	line-height: 1.55;
	color: var(--rb-ink-2);
}

.rb-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 15px;
	width: 10px;
	height: 1px;
	background: var(--color-primary);
}

.rb-list--light li { color: rgba(255, 255, 255, .78); }
.rb-list--light li::before { background: #7FC0FF; }

/* ---------------- surgery tracks ---------------- */

.rb-tracks { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-bottom: 34px; }

.rb-track {
	padding: 24px;
	background: rgba(255, 255, 255, .05);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 14px;
}

.rb-track__n { display: block; margin-bottom: 14px; font-family: var(--rb-mono); font-size: 1.5rem; font-weight: 700; color: #7FC0FF; }
.rb-track__t { margin: 0 0 6px; font-family: var(--font-display); font-size: 1.02rem; font-weight: 700; color: #fff; }
.rb-track__d { margin: 0 0 12px; font-family: var(--rb-mono); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .55); }

.rb-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }

.rb-panel {
	padding: 28px;
	background: rgba(255, 255, 255, .05);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 14px;
}

.rb-section--alt .rb-panel,
.rb-section:not(.rb-section--dark) .rb-panel { background: var(--card, #fff); border-color: var(--rb-line); }

.rb-panel__t { margin: 0 0 14px; font-family: var(--font-display); font-size: 1.06rem; font-weight: 700; color: #fff; }
.rb-panel__t--sm { margin-top: 22px; font-size: .84rem; letter-spacing: .06em; text-transform: uppercase; }
.rb-panel__note { margin: 16px 0 0; font-family: var(--rb-mono); font-size: .78rem; color: #7FC0FF; }

/* ---------------- chips ---------------- */

.rb-chips { display: flex; flex-wrap: wrap; gap: 8px; }

.rb-chip {
	padding: 6px 13px;
	font-size: .82rem;
	line-height: 1.3;
	color: var(--rb-ink-2);
	background: var(--card, #fff);
	border: 1px solid var(--rb-line);
	border-radius: 999px;
}

[data-theme="dark"] .rb-chip { background: rgba(255, 255, 255, .04); }

.rb-chip--light {
	color: rgba(255, 255, 255, .82);
	background: rgba(255, 255, 255, .07);
	border-color: rgba(255, 255, 255, .16);
}

/* ---------------- franchise ---------------- */

.rb-figures {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin-bottom: 44px;
	border-top: 1px solid var(--rb-line);
	border-bottom: 1px solid var(--rb-line);
}

.rb-figure { padding: 26px 22px; border-left: 1px solid var(--rb-line); }
.rb-figure:first-child { border-left: 0; padding-left: 0; }

.rb-figure__v { display: block; font-family: var(--font-display); font-size: clamp(1.3rem, 2.8vw, 1.9rem); font-weight: 800; color: var(--color-primary); }
.rb-figure__l { display: block; margin-top: 7px; font-size: .82rem; color: var(--rb-ink-2); }

.rb-spec { margin: 0 0 24px; }

.rb-spec__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
	gap: 14px;
	padding: 11px 0;
	border-bottom: 1px solid var(--rb-line-soft);
}

.rb-spec dt { font-family: var(--rb-mono); font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; color: var(--rb-ink-2); }
.rb-spec dd { margin: 0; font-size: .9rem; font-weight: 600; color: var(--rb-ink); }

/* ---------------- clients ---------------- */

.rb-clients { display: grid; gap: 30px; }
.rb-sector__h {
	margin: 0 0 14px;
	font-family: var(--rb-mono);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--color-primary);
}

/* ---------------- testimonials ---------------- */

.rb-quotes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }

.rb-quote {
	margin: 0;
	padding: 24px;
	background: var(--card, #fff);
	border: 1px solid var(--rb-line);
	border-radius: 14px;
}

[data-theme="dark"] .rb-quote { background: rgba(255, 255, 255, .03); }

.rb-quote__stars { margin-bottom: 12px; font-size: .95rem; letter-spacing: .1em; color: #F59E0B; }
.rb-quote__half { opacity: .45; }
.rb-quote blockquote { margin: 0 0 14px; font-size: .89rem; line-height: 1.6; color: var(--rb-ink-2); }
.rb-quote figcaption { font-family: var(--font-display); font-size: .86rem; font-weight: 700; color: var(--rb-ink); }

/* ---------------- group ---------------- */

.rb-group { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--rb-line); }

.rb-co {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 24px;
	text-decoration: none;
	background: var(--card, #fff);
	color: var(--rb-ink);
	transition: background-color .18s ease, color .18s ease;
}

[data-theme="dark"] .rb-co { background: #0F1B30; }
.rb-co:hover { background: var(--color-primary); color: #fff; }
.rb-co__n { font-family: var(--font-display); font-size: .96rem; font-weight: 700; }
.rb-co svg { flex: none; opacity: .5; transition: opacity .18s ease, transform .18s ease; }
.rb-co:hover svg { opacity: 1; transform: translateX(4px); }

/* ---------------- CTA ---------------- */

.rb-cta {
	padding: clamp(56px, 8vw, 96px) 0;
	background: var(--color-primary);
	background-image: linear-gradient(120deg, var(--color-primary) 0%, #0D2244 100%);
	color: #fff;
}

.rb-cta__t { margin: 0 0 12px; max-width: 22ch; font-family: var(--font-display); font-size: clamp(1.5rem, 3.4vw, 2.3rem); font-weight: 800; line-height: 1.15; color: #fff; }
.rb-cta__p { margin: 0 0 28px; max-width: 56ch; font-size: 1rem; line-height: 1.65; color: rgba(255, 255, 255, .82); }

/* ==========================================================================
   RESPONSIVE
   The bordered grids collapse to fewer columns rather than shrinking, so the
   rules keep meaning something at every width.
   ========================================================================== */

@media (max-width: 1100px) {
	.rb-caps,
	.rb-tracks,
	.rb-quotes { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.rb-cap:nth-child(3) { border-left: 0; padding-left: 0; }
	.rb-cap:nth-child(n+3) { border-top: 1px solid var(--rb-line); padding-top: 26px; }

	.rb-group { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
	.rb-stats__inner,
	.rb-figures { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.rb-stat:nth-child(3),
	.rb-figure:nth-child(3) { border-left: 0; padding-left: 0; }

	.rb-stat:nth-child(n+3),
	.rb-figure:nth-child(n+3) { border-top: 1px solid var(--rb-line); }

	.rb-progs,
	.rb-split { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 620px) {
	.rb-caps,
	.rb-tracks,
	.rb-quotes,
	.rb-group { grid-template-columns: minmax(0, 1fr); }

	.rb-cap { border-left: 0; padding: 22px 0; border-top: 1px solid var(--rb-line); }
	.rb-cap:first-child { border-top: 0; padding-top: 0; }

	.rb-hero__actions { flex-direction: column; align-items: stretch; }
	.rb-btn { width: 100%; }

	.rb-spectrum { grid-template-columns: auto 1fr auto; }
	.rb-spec__row { grid-template-columns: minmax(0, 1fr); gap: 3px; }
}

@media (prefers-reduced-motion: reduce) {
	.rb-ticker__track { animation: none; }
	.rb-prog:hover,
	.rb-btn:hover { transform: none; }
}

/* The client wall is long, so each sector states its own count and the chips
   sit tighter than elsewhere. */
.rb-sector__h {
	display: flex;
	align-items: center;
	gap: 10px;
}

.rb-sector__n {
	padding: 2px 8px;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: 0;
	color: var(--rb-ink-2);
	background: var(--rb-alt);
	border: 1px solid var(--rb-line);
	border-radius: 999px;
}

.rb-section--alt .rb-sector__n,
[data-theme="dark"] .rb-sector__n { background: var(--card, #fff); }

.rb-clients .rb-chips { gap: 7px; }
.rb-clients .rb-chip { font-size: .79rem; padding: 5px 11px; }

/* ==========================================================================
   PICTURE-LED SECTIONS
   Added in v3.33.0. The page was type-and-rule only; these bands carry the
   supplied photography without disturbing the sections already there.
   ========================================================================== */

.rb-section--tight { padding-block: clamp(44px, 6vw, 76px); }

/* ---------------- three pathways ---------------- */

.rb-paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }

.rb-path {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	text-decoration: none;
	background: var(--card, #fff);
	border: 1px solid var(--rb-line);
	border-radius: 18px;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

[data-theme="dark"] .rb-path { background: rgba(255, 255, 255, .03); }

.rb-path:hover {
	border-color: var(--color-primary);
	box-shadow: 0 14px 34px rgba(15, 23, 42, .1);
	transform: translateY(-3px);
}

.rb-path__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--rb-alt); }

.rb-path__media img,
.rb-tile__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s var(--ease-out);
}

.rb-path:hover .rb-path__media img,
.rb-tile:hover .rb-tile__media img { transform: scale(1.04); }

.rb-path__body { display: block; padding: 24px; }

.rb-path__k {
	display: block;
	margin-bottom: 8px;
	font-family: var(--rb-mono);
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--color-primary);
}

.rb-path__t { display: block; margin-bottom: 8px; font-family: var(--font-display); font-size: 1.22rem; font-weight: 700; color: var(--rb-ink); }
.rb-path__p { display: block; margin-bottom: 16px; font-size: .92rem; line-height: 1.6; color: var(--rb-ink-2); }

.rb-path__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: .88rem;
	font-weight: 700;
	color: var(--color-primary);
}

.rb-path__cta svg { transition: transform .2s ease; }
.rb-path:hover .rb-path__cta svg { transform: translateX(4px); }

/* ---------------- industry / digital tiles ---------------- */

.rb-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }

.rb-tile {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	text-decoration: none;
	background: var(--card, #fff);
	border: 1px solid var(--rb-line);
	border-radius: 16px;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

[data-theme="dark"] .rb-tile { background: rgba(255, 255, 255, .03); }
.rb-section--alt .rb-tile { background: var(--card, #fff); }

.rb-tile:hover {
	border-color: var(--color-primary);
	box-shadow: 0 12px 30px rgba(15, 23, 42, .09);
	transform: translateY(-2px);
}

.rb-tile__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--rb-alt); }
.rb-tile__body { display: block; padding: 20px 22px 24px; }
.rb-tile__t { display: block; margin-bottom: 7px; font-family: var(--font-display); font-size: 1.05rem; font-weight: 700; color: var(--rb-ink); }
.rb-tile__p { display: block; font-size: .88rem; line-height: 1.6; color: var(--rb-ink-2); }

/* ---------------- wide banner ---------------- */

.rb-banner {
	position: relative;
	margin: 0 0 34px;
	overflow: hidden;
	border-radius: 18px;
	aspect-ratio: 24 / 7;
}

.rb-banner img { display: block; width: 100%; height: 100%; object-fit: cover; }

.rb-banner figcaption {
	position: absolute;
	inset: auto 0 0 0;
	padding: 26px 28px;
	background: linear-gradient(to top, rgba(8, 20, 38, .82), rgba(8, 20, 38, 0));
	color: #fff;
}

.rb-banner__t { display: block; font-family: var(--font-display); font-size: clamp(1.1rem, 2.2vw, 1.5rem); font-weight: 800; }
.rb-banner__p { display: block; margin-top: 5px; font-size: .9rem; color: rgba(255, 255, 255, .85); }

/* ---------------- responsive ---------------- */

@media (max-width: 1100px) {
	.rb-paths { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
	.rb-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rb-banner { aspect-ratio: 20 / 8; }
}

@media (max-width: 860px) {
	.rb-paths { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 620px) {
	.rb-tiles { grid-template-columns: minmax(0, 1fr); }
	.rb-banner { aspect-ratio: 3 / 2; }
	.rb-banner figcaption { padding: 18px 18px 20px; }
}

@media (prefers-reduced-motion: reduce) {
	.rb-path, .rb-tile, .rb-path__media img, .rb-tile__media img, .rb-path__cta svg { transition: none; }
	.rb-path:hover, .rb-tile:hover { transform: none; }
	.rb-path:hover .rb-path__media img, .rb-tile:hover .rb-tile__media img { transform: none; }
}

/* ==========================================================================
   HERO BACKGROUND — the group collage

   The supplied brochure sits behind the hero. Three layers, in order:
   the photograph, a veil that guarantees contrast, then the engineering grid.
   The copy sits above all three.

   The photograph is held at low opacity on purpose. At full strength the
   headline fails contrast against the pale panels in the collage, and the
   plate carries small print that would be unreadable at this size anyway.
   ========================================================================== */

.rb-hero__photo {
	position: absolute;
	inset: 0;
	background-image: url("../img/hero-banner.jpg");
	background-size: cover;
	background-position: center right;
	background-repeat: no-repeat;
	opacity: .60;
	filter: saturate(108%) contrast(104%);
	pointer-events: none;
}

/*
 * A dark veil, heavier on the left where the headline sits and lighter on the
 * right so the collage still reads as a picture rather than a texture.
 */
.rb-hero__veil {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(100deg, rgba(8, 20, 40, .93) 0%, rgba(8, 20, 40, .82) 38%, rgba(10, 28, 56, .58) 70%, rgba(10, 28, 56, .48) 100%),
		linear-gradient(to top, rgba(8, 20, 40, .85) 0%, rgba(8, 20, 40, 0) 45%);
	pointer-events: none;
}

/* The grid and the content must sit above the photograph. */
.rb-hero__grid { z-index: 1; }
.rb-hero__inner { position: relative; z-index: 2; }
.rb-ticker { position: relative; z-index: 2; }

[data-theme="dark"] .rb-hero__photo { opacity: .16; }

/* Tablets and phones get the left half of the plate — the photo mosaic —
   because the founder panel on the right crops to nothing at this width. */
@media (max-width: 900px) {
	.rb-hero__photo {
		background-image: url("../img/hero-banner-narrow.jpg");
		background-position: center;
		opacity: .18;
	}

	.rb-hero__veil {
		background:
			linear-gradient(180deg, rgba(8, 20, 40, .88) 0%, rgba(8, 20, 40, .8) 55%, rgba(8, 20, 40, .92) 100%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.rb-hero__photo { filter: none; }
}

/* Six figures from the group brochure, not four. */
.rb-stats__inner { grid-template-columns: repeat(6, minmax(0, 1fr)); }

@media (max-width: 1180px) {
	.rb-stats__inner { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rb-stat:nth-child(4) { border-left: 0; padding-left: 0; }
	.rb-stat:nth-child(n+4) { border-top: 1px solid var(--rb-line); }
}

@media (max-width: 720px) {
	.rb-stats__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rb-stat { padding: 22px 14px; }
	.rb-stat:nth-child(odd) { border-left: 0; padding-left: 0; }
	.rb-stat:nth-child(n+3) { border-top: 1px solid var(--rb-line); }
}

/* ==========================================================================
   CLIENT LOGO WALL, AND THE FRANCHISE STEPS (v3.38.0)
   The logo wall sits above the 147-name list rather than replacing it: the
   marks give recognition at a glance, the names give the full picture.
   ========================================================================== */

.rb-logos {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 1px;
	margin-bottom: 40px;
	background: var(--rb-line);
	border: 1px solid var(--rb-line);
	border-radius: 14px;
	overflow: hidden;
}

.rb-logo {
	margin: 0;
	padding: 18px 20px;
	display: grid;
	place-items: center;
	background: #fff;
	transition: transform .2s ease;
}

.rb-logo img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 54px;
	object-fit: contain;
	filter: grayscale(100%);
	opacity: .72;
	transition: filter .22s ease, opacity .22s ease;
}

.rb-logo:hover img { filter: none; opacity: 1; }

/* ---------------- franchise steps ---------------- */

.rb-h3--wide { margin: 46px 0 22px; font-size: 1.16rem; }

.rb-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.rb-step {
	padding: 22px;
	background: var(--card, #fff);
	border: 1px solid var(--rb-line);
	border-radius: 14px;
}

[data-theme="dark"] .rb-step { background: rgba(255, 255, 255, .03); }

.rb-step__n {
	display: block;
	margin-bottom: 12px;
	font-family: var(--rb-mono);
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--color-primary);
}

.rb-step__t { display: block; margin-bottom: 7px; font-family: var(--font-display); font-size: 1rem; font-weight: 700; color: var(--rb-ink); }
.rb-step__p { display: block; font-size: .88rem; line-height: 1.6; color: var(--rb-ink-2); }

/* ---------------- responsive ---------------- */

@media (max-width: 1180px) {
	.rb-logos { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.rb-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
	.rb-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rb-logo { padding: 14px; }
	.rb-logo img { max-height: 40px; }
}

@media (max-width: 480px) {
	.rb-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rb-steps { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
	.rb-logo img { transition: none; }
}

/* ==========================================================================
   HERO BANNER (v3.39.0)
   The shop-floor photograph carries the KAUSTYA ROBOTICS LIMITED sign, so it
   is shown clearly rather than as faint texture, and the engineering grid that
   used to sit over it has been removed — a grid on top of a photograph of a
   real factory only made the photograph harder to read.

   The veil is now a left-to-right gradient: heavy where the headline sits,
   clearing to almost nothing over the robots on the right.
   ========================================================================== */

.rb-hero__grid { display: none; }

.rb-hero__veil {
	background:
		linear-gradient(95deg, rgba(6, 16, 33, .95) 0%, rgba(6, 16, 33, .88) 34%, rgba(6, 16, 33, .55) 58%, rgba(6, 16, 33, .22) 82%, rgba(6, 16, 33, .12) 100%),
		linear-gradient(to top, rgba(6, 16, 33, .78) 0%, rgba(6, 16, 33, 0) 38%);
}

@media (max-width: 900px) {
	.rb-hero__photo { opacity: .42; background-position: center; }

	.rb-hero__veil {
		background: linear-gradient(180deg, rgba(6, 16, 33, .9) 0%, rgba(6, 16, 33, .82) 50%, rgba(6, 16, 33, .94) 100%);
	}
}

/* ==========================================================================
   FOUNDER
   ========================================================================== */

.rb-founder__top {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
	gap: 40px;
	align-items: start;
	margin-bottom: 34px;
}

.rb-founder__role {
	margin: 6px 0 14px;
	font-family: var(--rb-mono);
	font-size: .82rem;
	letter-spacing: .04em;
	color: var(--color-primary);
}

.rb-founder__quote {
	margin: 0;
	padding: 26px 28px;
	background: var(--rb-alt);
	border-left: 3px solid var(--color-primary);
	border-radius: 0 14px 14px 0;
}

.rb-founder__quote p { margin: 0 0 12px; font-size: .95rem; line-height: 1.65; color: var(--rb-ink); }
.rb-founder__quoteMr { font-size: .9rem !important; color: var(--rb-ink-2) !important; }
.rb-founder__quote cite { font-style: normal; font-size: .82rem; font-weight: 700; color: var(--color-primary); }

.rb-founder__figures {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	border-top: 1px solid var(--rb-line);
	border-bottom: 1px solid var(--rb-line);
	margin-bottom: 34px;
}

.rb-founder__figures .rb-figure { padding: 22px 18px; border-left: 1px solid var(--rb-line); }
.rb-founder__figures .rb-figure:first-child { border-left: 0; padding-left: 0; }

.rb-founder__serving { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }

.rb-founder__serve {
	padding: 18px;
	background: var(--card, #fff);
	border: 1px solid var(--rb-line);
	border-radius: 12px;
}

[data-theme="dark"] .rb-founder__serve { background: rgba(255, 255, 255, .03); }

.rb-founder__faq { margin: 24px 0 0; }
.rb-founder__faq .rb-btn { width: 100%; text-align: center; }

@media (max-width: 1100px) {
	.rb-founder__figures { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rb-founder__figures .rb-figure:nth-child(4) { border-left: 0; padding-left: 0; }
	.rb-founder__figures .rb-figure:nth-child(n+4) { border-top: 1px solid var(--rb-line); }
}

@media (max-width: 860px) {
	.rb-founder__top { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}

@media (max-width: 620px) {
	.rb-founder__figures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rb-founder__figures .rb-figure:nth-child(odd) { border-left: 0; padding-left: 0; }
	.rb-founder__figures .rb-figure:nth-child(n+3) { border-top: 1px solid var(--rb-line); }
	.rb-founder__serving { grid-template-columns: minmax(0, 1fr); }
}

/* ==========================================================================
   CLIENT DIRECTORY (v3.40.0)

   147 clients used to render as one 1,570px wall of chips, with the company
   and its plant locations jammed into a single pill — "Mahindra & Mahindra —
   Tractor Division, Mumbai, Nasik, Igatpuri" — and in no particular order.

   The same data is now a directory: company on one line, locations under it,
   sorted alphabetically within each sector, in columns. Sectors longer than
   24 entries show the first 24 with the rest one click away, so the section
   opens at a readable height instead of running for three screens.
   ========================================================================== */

.rb-dir {
	margin: 0;
	padding: 0;
	list-style: none;
	columns: 4;
	column-gap: 30px;
}

.rb-dir__item {
	break-inside: avoid;
	padding: 6px 0;
	border-bottom: 1px solid var(--rb-line-soft);
}

.rb-dir__n {
	display: block;
	font-size: .89rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--rb-ink);
}

.rb-dir__w {
	display: block;
	margin-top: 2px;
	font-size: .78rem;
	line-height: 1.4;
	color: var(--rb-ink-2);
}

/* Hidden until the sector is expanded. */
.rb-sector.is-long .rb-dir__item.is-extra { display: none; }
.rb-sector.is-open .rb-dir__item.is-extra { display: block; }

.rb-dir__more {
	margin-top: 14px;
	padding: 9px 18px;
	font-family: var(--font-body);
	font-size: .82rem;
	font-weight: 700;
	color: var(--color-primary);
	background: transparent;
	border: 1px solid var(--rb-line);
	border-radius: var(--radius-full, 999px);
	cursor: pointer;
	transition: border-color .16s ease, background-color .16s ease;
}

.rb-dir__more:hover { border-color: var(--color-primary); background: rgba(var(--color-primary-rgb), .06); }

.rb-clients { display: grid; gap: 30px; }

@media (max-width: 1200px) { .rb-dir { columns: 3; } }
@media (max-width: 900px)  { .rb-dir { columns: 2; } }
@media (max-width: 620px)  { .rb-dir { columns: 1; } }

/* ==========================================================================
   HERO BACKGROUND — the group brochure (v3.41.0)

   The shop-floor photograph is replaced by the brochure plate: the stats band,
   the photo mosaic and the founder panel. It is 3.12:1, so a hero-height frame
   crops it hard; `cover` with a left-of-centre position keeps the mosaic in
   frame behind the copy and the founder panel visible on wide screens.

   Opacity is lower than the photograph needed. The plate is mostly white with
   dark type of its own, and at higher strength that type competed with the
   headline in front of it.
   ========================================================================== */

.rb-hero__photo {
	background-image: url("../img/hero-banner.jpg");

	/*
	 * Zoomed past `cover` and anchored low, so the frame sits on the photo
	 * mosaic and the plate's own headline band — 1000+ FRANCHISE LOCATIONS,
	 * 650+ COLLEGES and the rest — falls above the top edge.
	 *
	 * At `cover` that band landed directly behind the hero headline, and two
	 * sets of large type in the same space read as a printing fault. Those
	 * figures are already on the page as real text in the stats row below.
	 */
	background-size: auto 190%;
	background-position: 34% 88%;
	opacity: .34;
	filter: saturate(104%);
}

.rb-hero__veil {
	background:
		linear-gradient(95deg, rgba(6, 16, 33, .95) 0%, rgba(6, 16, 33, .9) 30%, rgba(6, 16, 33, .74) 55%, rgba(6, 16, 33, .6) 80%, rgba(6, 16, 33, .56) 100%),
		linear-gradient(to top, rgba(6, 16, 33, .82) 0%, rgba(6, 16, 33, 0) 42%);
}

@media (max-width: 900px) {
	.rb-hero__photo {
		background-image: url("../img/hero-banner-narrow.jpg");
		background-size: auto 150%;
		background-position: 40% 85%;
		opacity: .26;
	}

	.rb-hero__veil {
		background: linear-gradient(180deg, rgba(6, 16, 33, .92) 0%, rgba(6, 16, 33, .86) 50%, rgba(6, 16, 33, .95) 100%);
	}
}

/* ==========================================================================
   CLIENTS AND FRANCHISE, REDESIGNED (v3.42.0)
   Both follow the layouts supplied: a logo carousel over sector accordions
   for clients, and a title panel beside an icon accordion for franchise.
   ========================================================================== */

.rb-head--centre { margin-inline: auto; text-align: center; }
.rb-h2--centre { margin-inline: auto; }

.rb-rule {
	display: block;
	width: 168px;
	height: 3px;
	margin: 18px auto 0;
	background: #E8622A;
	border-radius: 3px;
}

/* ---------------- logo carousel ---------------- */

.rb-carousel { position: relative; margin: 34px 0 44px; padding: 0 52px; }

.rb-carousel__track {
	display: flex;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
}

.rb-carousel__track::-webkit-scrollbar { display: none; }

.rb-carousel__slide {
	flex: 0 0 25%;
	scroll-snap-align: start;
	display: grid;
	place-items: center;
	padding: 22px 26px;
}

.rb-carousel__slide img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 84px;
	object-fit: contain;
}

.rb-carousel__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	color: var(--rb-ink-2);
	background: transparent;
	border: 0;
	cursor: pointer;
	transition: color .16s ease;
}

.rb-carousel__nav:hover { color: var(--color-primary); }
.rb-carousel__nav--prev { left: 0; }
.rb-carousel__nav--next { right: 0; }

.rb-carousel__dots { display: flex; justify-content: center; gap: 7px; margin-top: 18px; }

.rb-carousel__dot {
	width: 7px;
	height: 7px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--rb-line);
	cursor: pointer;
}

.rb-carousel__dot.is-active { background: var(--rb-ink-2); }

/* ---------------- sector accordions ---------------- */

.rb-acc-cols {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	align-items: start;
}

.rb-acc {
	background: var(--card, #fff);
	border: 1px solid var(--rb-line);
	border-radius: 10px;
	overflow: hidden;
}

[data-theme="dark"] .rb-acc { background: rgba(255, 255, 255, .03); }

.rb-acc summary {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	cursor: pointer;
	list-style: none;
	background: var(--rb-alt);
}

.rb-acc summary::-webkit-details-marker { display: none; }

.rb-acc__sign { position: relative; flex: none; width: 14px; height: 14px; }
.rb-acc__sign::before,
.rb-acc__sign::after {
	content: "";
	position: absolute;
	inset: 50% 0 auto 0;
	height: 2px;
	background: var(--rb-ink-2);
	transform: translateY(-50%);
}
.rb-acc__sign::after { transform: translateY(-50%) rotate(90deg); transition: opacity .18s ease; }
.rb-acc[open] .rb-acc__sign::after { opacity: 0; }

.rb-acc__t { flex: 1; font-size: .92rem; font-weight: 600; color: var(--rb-ink); }
.rb-acc__n { flex: none; font-family: var(--rb-mono); font-size: .74rem; color: var(--rb-ink-2); }

.rb-acc__list { margin: 0; padding: 14px 18px 18px 34px; }
.rb-acc__list li { padding: 7px 0; font-size: .88rem; line-height: 1.45; color: var(--rb-ink); }
.rb-acc__name { display: block; }
.rb-acc__where { display: block; margin-top: 2px; font-size: .78rem; color: var(--rb-ink-2); }

/* ---------------- franchise ---------------- */

.rb-fr__grid {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: 52px;
	align-items: start;
}

.rb-fr__intro { position: sticky; top: 150px; }

.rb-fr__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(2.4rem, 5vw, 3.6rem);
	font-weight: 800;
	letter-spacing: -.03em;
	color: var(--rb-ink);
}

.rb-fr__rule {
	position: relative;
	display: block;
	width: 100%;
	max-width: 320px;
	height: 1px;
	margin: 22px 0;
	background: var(--rb-line);
}

.rb-fr__rule::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 9px;
	height: 9px;
	background: var(--rb-ink);
	transform: translate(-50%, -50%) rotate(45deg);
}

.rb-fr__intro .rb-btn { margin-top: 22px; }

.rb-fr__panels { display: grid; gap: 12px; }

.rb-fp {
	background: rgba(var(--color-primary-rgb), .05);
	border: 1px solid rgba(var(--color-primary-rgb), .12);
	border-radius: 12px;
	overflow: hidden;
}

.rb-fp summary {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 22px;
	cursor: pointer;
	list-style: none;
}

.rb-fp summary::-webkit-details-marker { display: none; }

.rb-fp__icon { flex: none; display: grid; place-items: center; color: var(--color-primary); }
.rb-fp__t { flex: 1; font-family: var(--font-display); font-size: 1rem; font-weight: 700; color: var(--rb-ink); }
.rb-fp__chev { flex: none; color: var(--color-primary); transition: transform .2s ease; }
.rb-fp[open] .rb-fp__chev { transform: rotate(180deg); }

.rb-fp__body { padding: 0 22px 22px 60px; }

.rb-fp__rows { margin: 0; }
.rb-fp__rows > div { display: flex; flex-wrap: wrap; gap: 6px 10px; padding: 7px 0; }
.rb-fp__rows dt { font-size: .9rem; font-weight: 700; color: var(--rb-ink); }
.rb-fp__rows dd { margin: 0; font-size: .9rem; color: var(--rb-ink-2); }

/* ---------------- profile topics ---------------- */

.rb-topics { margin: 0; padding: 0; list-style: none; columns: 2; column-gap: 30px; }

.rb-topics li {
	break-inside: avoid;
	position: relative;
	padding: 6px 0 6px 18px;
	font-size: .86rem;
	line-height: 1.5;
	color: var(--rb-ink-2);
}

.rb-topics li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 14px;
	width: 8px;
	height: 1px;
	background: var(--color-primary);
}

/* ---------------- responsive ---------------- */

@media (max-width: 1100px) {
	.rb-acc-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rb-carousel__slide { flex-basis: 33.333%; }
	.rb-fr__grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
	.rb-fr__intro { position: static; }
}

@media (max-width: 760px) {
	.rb-acc-cols { grid-template-columns: minmax(0, 1fr); }
	.rb-carousel { padding: 0 38px; }
	.rb-carousel__slide { flex-basis: 50%; padding: 16px; }
	.rb-topics { columns: 1; }
	.rb-fp__body { padding-left: 22px; }
}

@media (max-width: 480px) {
	.rb-carousel__slide { flex-basis: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.rb-carousel__track { scroll-behavior: auto; }
	.rb-fp__chev, .rb-acc__sign::after { transition: none; }
}

/* ==========================================================================
   OUR INSPIRATION — the full profile (v3.44.0)
   ========================================================================== */

.fo-top {
	display: grid;
	grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
	margin-bottom: 40px;
}

.fo-portrait { margin: 0; border-radius: 18px; overflow: hidden; box-shadow: 0 18px 40px rgba(15, 23, 42, .14); }
.fo-portrait img { display: block; width: 100%; height: auto; }

.fo-roles { margin: 14px 0 18px; }
.fo-figures { margin-top: 26px; }

/* ---------------- quotations (tricolor text-only cards) ---------------- */

.fo-quotes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-bottom: 44px; }

/* Base card — no image, pure text */
.fo-quote {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	aspect-ratio: 3 / 4;
	padding: 36px 28px 32px;
}

/* Full-card background: the Indian tricolor, saffron / white / green in equal bands */
.fo-quote--tricolor {
	background: linear-gradient(
		180deg,
		#FF9933 0%, #FF9933 33.33%,
		#FFFFFF 33.33%, #FFFFFF 66.66%,
		#138808 66.66%, #138808 100%
	);
}

/* Dark scrim rising from the base so the quote and citation stay legible
   over all three bands, saffron and green included. */
.fo-quote--tricolor::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10, 12, 20, 0) 30%, rgba(8, 10, 18, .78) 62%, rgba(6, 8, 14, .92) 100%);
	pointer-events: none;
}

/* Ashoka Chakra — small navy wheel marking the white band, as on the flag */
.fo-quote__tristripe {
	position: absolute;
	top: 33.33%;
	left: 50%;
	width: 34px;
	height: 34px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	border: 2px solid #0B1F5C;
	background:
		repeating-conic-gradient(#0B1F5C 0deg 15deg, transparent 15deg 30deg);
	background-size: 60% 60%;
	background-position: center;
	background-repeat: no-repeat;
	box-shadow: inset 0 0 0 12px #FFFFFF;
}
.fo-quote__tristripe::after {
	content: '';
	position: absolute;
	inset: 4px;
	border-radius: 50%;
	border: 1px solid #0B1F5C;
}
.fo-quote__stripe { display: none; }

/* Shared blockquote typography */
.fo-quote--tricolor blockquote {
	position: relative;
	z-index: 1;
	margin: 0;
}
.fo-quote--tricolor blockquote p {
	margin: 0 0 14px;
	font-family: var(--font-display);
	font-size: 1.05rem;
	line-height: 1.6;
	font-weight: 700;
	color: #FFFFFF;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .4);
}
.fo-quote--tricolor cite {
	font-style: normal;
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .04em;
	color: #FFDD99;
}

/* Decorative large quotation mark */
.fo-quote--tricolor blockquote::before {
	content: '\201C';
	display: block;
	font-family: Georgia, serif;
	font-size: 5rem;
	line-height: 1;
	margin-bottom: 8px;
	opacity: .5;
	color: #fff;
}

/* ---------------- profiles, tagline, columns ---------------- */

.fo-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-bottom: 34px; }

.fo-card {
	padding: 28px;
	background: var(--card, #fff);
	border: 1px solid var(--rb-line);
	border-radius: 16px;
}

[data-theme="dark"] .fo-card { background: rgba(255, 255, 255, .03); }
.fo-card p { margin: 0 0 12px; font-size: .92rem; line-height: 1.68; color: var(--rb-ink-2); }
.fo-card p:last-child { margin-bottom: 0; }

.fo-tagline {
	margin-bottom: 40px;
	padding: 34px;
	text-align: center;
	background: var(--rb-alt);
	border-top: 3px solid #E8622A;
	border-radius: 0 0 16px 16px;
}

.fo-tagline__roman { margin: 0 0 10px; font-family: var(--rb-mono); font-size: .82rem; letter-spacing: .16em; color: var(--color-primary); }
.fo-tagline__mr { margin: 0 0 12px; font-family: var(--font-display); font-size: clamp(1.2rem, 2.6vw, 1.8rem); font-weight: 800; color: var(--rb-ink); }
.fo-tagline__meaning { margin: 0 0 14px; font-size: 1rem; font-weight: 600; color: var(--rb-ink); }
.fo-tagline__src { margin: 0 auto; max-width: 74ch; font-size: .88rem; line-height: 1.65; color: var(--rb-ink-2); }

.fo-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; margin-bottom: 40px; }
.fo-note { margin: 0; font-size: .88rem; line-height: 1.6; color: var(--rb-ink-2); }

/* ---------------- awards ---------------- */

/* Standalone accordion wrapping the photo + list — same fo-acc shell used
   for the panels above, just on its own rather than in a name="" group. */
.fo-acc--awards { margin-bottom: 40px; }
.fo-acc--awards .fo-acc__t { font-size: 1.05rem; }

.fo-awards { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 34px; align-items: start; margin-bottom: 40px; }
.fo-awards__pic { margin: 0; border-radius: 16px; overflow: hidden; }
.fo-awards__pic img { display: block; width: 100%; height: auto; }

/* Nested inside the accordion body: no extra bottom margin, wider inset. */
.fo-acc__list--awards { margin-bottom: 0; padding: 0 24px 24px; }

.fo-awardlist { margin: 0; padding: 0; list-style: none; }

.fo-awardlist li {
	padding: 10px 0;
	border-bottom: 1px solid var(--rb-line-soft);
}

.fo-awardlist__mr { display: block; font-size: .95rem; font-weight: 600; color: var(--rb-ink); }
.fo-awardlist__en { display: block; margin-top: 2px; font-size: .84rem; color: var(--rb-ink-2); }

/* ---------------- picture strip ---------------- */

.fo-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 40px; }

.fo-shot { margin: 0; }

.fo-shot img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 12px;
	border: 1px solid var(--rb-line);
}

.fo-shot figcaption { margin-top: 8px; font-size: .8rem; line-height: 1.45; color: var(--rb-ink-2); }

.fo-cta { margin: 26px 0 0; }

/* ---------------- responsive ---------------- */

@media (max-width: 1100px) {
	.fo-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fo-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.fo-awards { grid-template-columns: minmax(0, 1fr); }
	.fo-awards__pic { max-width: 520px; }
}

@media (max-width: 860px) {
	.fo-top { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.fo-portrait { max-width: 280px; }
	.fo-quotes { grid-template-columns: minmax(0, 1fr); }
	.fo-quote--en { aspect-ratio: auto; padding: 26px; }
	.fo-split { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 620px) {
	.fo-cols { grid-template-columns: minmax(0, 1fr); }
	.fo-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.fo-tagline { padding: 24px 20px; }
}

/* ==========================================================================
   HERO IMAGE, MADE VISIBLE (v3.44.0)
   It was held at .34 opacity behind a heavy veil, which is why it read as
   texture rather than as a picture. The image is now clearly visible; the veil
   is heavy only under the copy and clears across the rest.
   ========================================================================== */

.rb-hero__photo { opacity: .72; }

.rb-hero__veil {
	background:
		linear-gradient(95deg, rgba(6, 16, 33, .93) 0%, rgba(6, 16, 33, .86) 26%, rgba(6, 16, 33, .58) 48%, rgba(6, 16, 33, .26) 70%, rgba(6, 16, 33, .14) 100%),
		linear-gradient(to top, rgba(6, 16, 33, .8) 0%, rgba(6, 16, 33, 0) 40%);
}

@media (max-width: 900px) {
	.rb-hero__photo { opacity: .5; }

	.rb-hero__veil {
		background: linear-gradient(180deg, rgba(6, 16, 33, .9) 0%, rgba(6, 16, 33, .8) 45%, rgba(6, 16, 33, .93) 100%);
	}
}

/* ==========================================================================
   PROFILE DROPDOWNS, AND THE CEO PROFILE (v3.47.0)
   ========================================================================== */

/*
 * One column, not two. In a two-column grid the row takes the height of the
 * taller panel, so opening one left a tall empty block beside the closed panel
 * next to it. Full width also gives the longer lists — twenty-eight
 * certifications, twelve delivery methods — room to read.
 */
.fo-panels { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin-bottom: 40px; }

.fo-panels .fo-acc__list { columns: 2; column-gap: 34px; }
.fo-panels .fo-acc__list li { break-inside: avoid; }

.fo-acc {
	background: var(--card, #fff);
	border: 1px solid var(--rb-line);
	border-radius: 12px;
	overflow: hidden;
}

[data-theme="dark"] .fo-acc { background: rgba(255, 255, 255, .03); }
.rb-section--alt .fo-acc { background: var(--card, #fff); }

.fo-acc summary {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 20px;
	cursor: pointer;
	list-style: none;
}

.fo-acc summary::-webkit-details-marker { display: none; }

.fo-acc__t { flex: 1; font-family: var(--font-display); font-size: .98rem; font-weight: 700; color: var(--rb-ink); }

.fo-acc__n {
	flex: none;
	padding: 2px 9px;
	font-family: var(--rb-mono);
	font-size: .72rem;
	color: var(--rb-ink-2);
	background: var(--rb-alt);
	border-radius: 999px;
}

.fo-acc__chev { flex: none; color: var(--color-primary); transition: transform .2s ease; }
.fo-acc[open] .fo-acc__chev { transform: rotate(180deg); }
.fo-acc__list { padding: 0 20px 18px; }

/* ---------------- CEO ---------------- */

.ceo-top { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr); gap: 36px; align-items: start; margin-bottom: 36px; }

.ceo-strap { margin: 0 0 14px; font-size: .9rem; line-height: 1.55; color: var(--rb-ink-2); }

.ceo-card {
	padding: 26px;
	background: var(--rb-ink);
	background-image: linear-gradient(155deg, #0A1628, #12294A);
	border-radius: 16px;
	color: #fff;
}

.ceo-card__h {
	margin: 0 0 14px;
	font-family: var(--rb-mono);
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #7FC0FF;
}

.ceo-card__list { margin: 0 0 14px; padding: 0; list-style: none; }
.ceo-card__list li { padding: 7px 0; font-size: .9rem; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.ceo-card__list a { color: #fff; text-decoration: none; }
.ceo-card__list a:hover { color: #7FC0FF; }
.ceo-card__note { margin: 0; font-size: .82rem; color: rgba(255, 255, 255, .7); }

.ceo-vision .rb-step { background: var(--card, #fff); }
.ceo-visioncard .rb-step__t { font-size: 1.02rem; }

.ceo-projects { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-bottom: 8px; }

.ceo-project {
	padding: 24px;
	background: var(--card, #fff);
	border: 1px solid var(--rb-line);
	border-left: 3px solid var(--color-primary);
	border-radius: 0 14px 14px 0;
}

[data-theme="dark"] .ceo-project { background: rgba(255, 255, 255, .03); }

.ceo-project__c { margin: 0 0 8px; font-family: var(--rb-mono); font-size: .76rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--color-primary); }
.ceo-project__t { margin: 0 0 9px; font-family: var(--font-display); font-size: 1.02rem; font-weight: 700; color: var(--rb-ink); }
.ceo-project__p { margin: 0 0 12px; font-size: .88rem; line-height: 1.6; color: var(--rb-ink-2); }

.ceo-project__r {
	display: inline-block;
	margin: 0;
	padding: 5px 12px;
	font-size: .8rem;
	font-weight: 700;
	color: var(--color-primary);
	background: rgba(var(--color-primary-rgb), .1);
	border-radius: 999px;
}

.ceo-panels { margin-top: 34px; }

@media (max-width: 1100px) {
	.ceo-projects { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
	.fo-panels .fo-acc__list { columns: 1; }
	.ceo-top { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}

@media (max-width: 620px) {
	.ceo-projects { grid-template-columns: minmax(0, 1fr); }
	.fo-acc summary { padding: 14px 16px; }
	.fo-acc__list { padding: 0 16px 16px; }
}

/* ==========================================================================
   COEIR, AND THE CEO PORTRAIT AND STRIP (v3.48.0)
   ========================================================================== */

.coeir-top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, .85fr);
	gap: 40px;
	align-items: center;
	margin-bottom: 34px;
}

.coeir-pic { margin: 0; border-radius: 16px; overflow: hidden; border: 1px solid var(--rb-line); }
.coeir-pic img { display: block; width: 100%; height: auto; }

.ceo-top { grid-template-columns: minmax(0, 260px) minmax(0, 1.2fr) minmax(0, .7fr); }

.ceo-portrait { margin: 0; border-radius: 18px; overflow: hidden; box-shadow: 0 16px 36px rgba(15, 23, 42, .14); }
.ceo-portrait img { display: block; width: 100%; height: auto; }

.ceo-strip { margin-bottom: 34px; }

@media (max-width: 1100px) {
	.ceo-top { grid-template-columns: minmax(0, 220px) minmax(0, 1fr); }
	.ceo-top .ceo-card { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
	.coeir-top { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.ceo-top { grid-template-columns: minmax(0, 1fr); }
	.ceo-portrait { max-width: 260px; }
}

/* ==========================================================================
   HERO ON A PHONE, AND THE RESPONSIVE PASS (v3.49.0)

   The hero photograph was present in the DOM on mobile but effectively
   invisible. Four separate `max-width: 900px` blocks had accumulated across
   v3.41–v3.44, and the winning combination left the plate at
   `background-size: auto 150%` under a veil running .80–.93 opaque. On a
   390px phone that sizes the plate to roughly 1745px wide, so the visible
   slice was a band of white brochure paper at half opacity behind a nearly
   black gradient — nothing readable as a picture.

   The fix is `cover` (so the frame is always filled at any phone width),
   a higher opacity, and a veil that stays heavy only behind the copy.
   The desktop hero is deliberately untouched.
   ========================================================================== */

@media (max-width: 900px) {
	.rb-hero__photo {
		background-image: url("../img/hero-banner-narrow.jpg");

		/* `cover` rather than `auto 150%`: the plate now fills the hero box
		   at every width instead of overflowing it sideways. */
		background-size: cover;

		/* Anchored just below the top so the frame sits on the photo mosaic
		   rather than the plate's own headline band. */
		background-position: 50% 22%;
		opacity: .82;
	}

	.rb-hero__veil {
		background:
			linear-gradient(180deg,
				rgba(6, 16, 33, .90) 0%,
				rgba(6, 16, 33, .80) 34%,
				rgba(6, 16, 33, .72) 62%,
				rgba(6, 16, 33, .84) 100%);
	}
}

/* Very narrow phones: the mosaic tiles get too magnified under `cover`, so
   pull back to a wider slice and lift the veil a little further. */
@media (max-width: 480px) {
	.rb-hero__photo {
		background-position: 50% 18%;
		opacity: .86;
	}

	.rb-hero__veil {
		background:
			linear-gradient(180deg,
				rgba(6, 16, 33, .88) 0%,
				rgba(6, 16, 33, .78) 38%,
				rgba(6, 16, 33, .70) 66%,
				rgba(6, 16, 33, .82) 100%);
	}
}

/* The hero must never be shorter than the plate needs to read as a picture. */
@media (max-width: 900px) {
	.rb-hero { min-height: 78vh; }
	.rb-hero__inner { padding-bottom: clamp(38px, 9vw, 62px); }
}

/* --------------------------------------------------------------------------
   NO HORIZONTAL SCROLL — OVERFLOW SAFETY ONLY

   Deliberately additive. The column counts on this page already step down at
   considered breakpoints (.rb-caps 4→2→1 at 1100/620, .rb-tiles at 1100/620,
   .ceo-top at 1100/860, and so on), each with matching border rules, so those
   are left exactly as they are. What follows only stops content from pushing
   past the viewport — it changes no layout, no column count and no spacing.
   -------------------------------------------------------------------------- */

/* Media never wider than its column. */
.rb img,
.rb svg,
.rb video,
.rb iframe { max-width: 100%; }

/* Grid and flex children default to `min-width: auto`, which means a long word
   or a wide image can force a track wider than its share and drag the page
   sideways. Allowing them to shrink is what actually prevents the overflow;
   `overflow-x: hidden` on the body would only conceal it. */
.ceo-top > *,
.fo-top > *,
.fo-cols > *,
.rb-tiles > *,
.rb-paths > *,
.rb-caps > *,
.ceo-projects > *,
.rb-partners > *,
.fo-strip > * { min-width: 0; }

/* Long unbroken strings — email addresses, URLs, certification titles — are
   the usual cause of sideways drag on a narrow screen. */
.rb-founder__role,
.ceo-strap,
.ceo-card__list,
.ceo-card__list a,
.rb-partner__n,
.fo-acc__list li,
.rb-list li,
.rb-topics li { overflow-wrap: break-word; }

/* Portrait figures scale with their column instead of holding a fixed width. */
.ceo-portrait img,
.fo-portrait img { width: 100%; height: auto; }

/* The accordion summary puts a title, a count and a chevron on one line. Below
   ~520px the title wraps to its own row rather than pushing the chevron out
   past the card edge. */
@media (max-width: 520px) {
	.fo-acc summary { flex-wrap: wrap; row-gap: 4px; }
	.fo-acc__t { flex: 1 1 100%; min-width: 0; }
}

/* --------------------------------------------------------------------------
   The summary line that closes each founder profile card (v3.50.0)

   "Core areas of expertise" and "Entrepreneurial leadership philosophy" are
   pipe-separated lists rather than prose, so they are set apart from the
   paragraphs above them with a rule and a small label — the same treatment
   the accordion headings already use, no new visual language.
   -------------------------------------------------------------------------- */

.fo-card__meta {
	margin: 18px 0 0;
	padding-top: 16px;
	border-top: 1px solid var(--rb-line);
	font-size: .92rem;
	line-height: 1.7;
	color: var(--rb-ink-2, #33445E);
	overflow-wrap: break-word;
}

.fo-card__metaLabel {
	display: block;
	margin-bottom: 6px;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--rb-ink, #0F172A);
}

/* ==========================================================================
   HERO SLIDES — SIX OPERATING COMPANIES (v3.53.0)

   One slide per company, stacked in the same grid cell and cross-faded, so
   the hero never changes height as the names change length. "Kaustya Nature
   Conservation Foundation" and "Kaustya Consulting Pvt. Ltd." differ enough
   that laying them out in flow would make the whole page jump every two
   seconds.
   ========================================================================== */

.rb-hero--slides .rb-hero__title { margin-bottom: clamp(18px, 2.4vw, 30px); }

.rb-slides {
	display: grid;
	/* Every slide occupies the same cell; only opacity changes. */
	grid-template-areas: "slide";
	align-items: start;
	min-height: 4.6em;
}

.rb-slide {
	grid-area: slide;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity .5s ease, transform .5s ease, visibility .5s;
}

.rb-slide.is-active {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.rb-slide__link {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	color: #fff;
	text-decoration: none;
	border-bottom: 2px solid rgba(255, 255, 255, .28);
	padding-bottom: 6px;
	transition: border-color .2s ease, gap .2s ease;
}

.rb-slide__link:hover,
.rb-slide__link:focus-visible {
	border-bottom-color: #fff;
	gap: 20px;
}

.rb-slide__name {
	font-family: var(--font-display, inherit);
	font-size: clamp(1.35rem, 3vw, 2.35rem);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -.01em;
}

.rb-slide__arrow { flex: 0 0 auto; }

/* --------------------------------------------------------------------------
   Dots
   -------------------------------------------------------------------------- */

.rb-slides__dots {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: clamp(22px, 2.6vw, 32px);
}

.rb-dot {
	width: 32px;
	height: 6px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, .3);
	cursor: pointer;
	transition: background-color .25s ease, width .25s ease;
}

.rb-dot:hover { background: rgba(255, 255, 255, .55); }

.rb-dot.is-active {
	width: 48px;
	background: #fff;
}

/* The dots are the only control, so the focus ring has to be unmistakable. */
.rb-dot:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

@media (max-width: 620px) {
	.rb-slides { min-height: 5.4em; }
	.rb-dot { width: 26px; }
	.rb-dot.is-active { width: 38px; }
}

/*
 * Reduced motion: no cross-fade, no travel. The script also declines to start
 * the timer, so the first slide simply stays on screen and the dots still
 * work by hand.
 */
@media (prefers-reduced-motion: reduce) {
	.rb-slide { transition: none; transform: none; }
	.rb-slide__link { transition: none; }
	.rb-dot { transition: none; }
}

/* ===== HERO — Pasaydan / GOC International content ===== */

/* Romanised verse line above the Marathi */
.rb-hero__verse-en {
	margin: 0 0 10px;
	font-family: var(--font-display);
	font-size: clamp(.78rem, 1.4vw, .95rem);
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: #7FC0FF;
}

/* Marathi Pasaydan – the big display line */
.rb-hero__title--pasaydan {
	max-width: 22ch;
	font-size: clamp(1.8rem, 4.8vw, 3.6rem);
	letter-spacing: .01em;
	line-height: 1.15;
	margin-bottom: 14px;
}

/* English meaning in italics beneath */
.rb-hero__verse-meaning {
	margin: 0 0 32px;
	font-size: clamp(.95rem, 1.6vw, 1.1rem);
	font-style: italic;
	color: rgba(255, 255, 255, .75);
	line-height: 1.5;
}

/* God's Promise panel */
.rb-hero__promise {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-bottom: 28px;
	padding: 16px 22px;
	background: rgba(255, 255, 255, .06);
	border-left: 3px solid #C9A84C;
	border-radius: 4px;
	max-width: 560px;
}

.rb-hero__promise-label {
	font-size: clamp(.7rem, 1.2vw, .82rem);
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .55);
}

.rb-hero__promise-brand {
	font-family: var(--font-display);
	font-size: clamp(1.1rem, 2.4vw, 1.7rem);
	font-weight: 800;
	letter-spacing: .04em;
	color: #C9A84C;
	line-height: 1.2;
}

/* GOC International name + pillars */
.rb-hero__goc {
	margin-bottom: 36px;
}

.rb-hero__goc-name {
	margin: 0 0 8px;
	font-family: var(--font-display);
	font-size: clamp(1rem, 2.2vw, 1.5rem);
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #fff;
}

.rb-hero__goc-pillars {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin: 0;
}

.rb-hero__goc-pillars span {
	font-size: clamp(.8rem, 1.3vw, .95rem);
	font-weight: 700;
	letter-spacing: .1em;
	color: rgba(255, 255, 255, .65);
	text-transform: uppercase;
}

/* Stats strip */
.rb-hero__facts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 0;
	padding-top: 28px;
	border-top: 1px solid rgba(255, 255, 255, .14);
	max-width: 640px;
}

.rb-hero__fact {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 0 24px;
}

.rb-hero__fact:first-child { padding-left: 0; }

.rb-hero__fact-n {
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	font-weight: 800;
	color: #C9A84C;
	line-height: 1;
}

.rb-hero__fact-l {
	font-size: clamp(.7rem, 1.1vw, .8rem);
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .6);
	max-width: 16ch;
	line-height: 1.35;
}

.rb-hero__fact-div {
	width: 1px;
	height: 40px;
	background: rgba(255, 255, 255, .18);
	flex-shrink: 0;
}

@media (max-width: 480px) {
	.rb-hero__facts { gap: 18px; }
	.rb-hero__fact { padding: 0 14px; }
	.rb-hero__fact-div { height: 32px; }
	.rb-hero__goc-pillars { flex-direction: column; gap: 4px; }
}
