/* ==========================================================================
   Equinova theme
   Built from the Equinova Figma frame "Corporate Advisory" (1920 x 10754).
   Desktop values are the Figma values; everything scales down from there.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Tokens
   -------------------------------------------------------------------------- */

:root {
	/* Surfaces */
	--eq-page: #f1f1f1;
	--eq-dark: #2b2a28;
	--eq-white: #ffffff;
	--eq-cream: #f3ede4;

	/* Brand */
	--eq-gold: #c19a60;
	--eq-gold-deep: #573e18;
	--eq-gold-grad: linear-gradient(90deg, #573e18 0%, #c19a60 100%);

	/* Ink */
	--eq-ink: #212121;
	--eq-ink-strong: #393939;
	--eq-body: #3d3d3d;
	--eq-muted: #5c564e;
	--eq-cream-ink: #f4ebdf;
	--eq-on-dark: #f1f1f1;

	/* Lines + card chrome */
	--eq-card-border: #e6dbcf;
	--eq-rule: #e5e7eb;
	--eq-deal-lead: #1f2937;
	--eq-deal-sector: #4b5563;
	--eq-footer-rule: #524533;

	/* Geometry */
	--eq-container: 1658px;
	/*
	 * The design's 131px gutter at 1920 is 6.82% of the viewport. Keeping it
	 * proportional means every band lines up with the comp at any width,
	 * instead of collapsing to a fixed gap on smaller screens.
	 */
	--eq-edge: clamp(18px, 6.82vw, 131px);
	/*
	 * One "design pixel". Equals 1px at the comp's 1920 width and shrinks
	 * with the viewport, so calc(87 * var(--eq-u)) keeps a badge the same
	 * relative size the designer drew. Floors at 0.7 so it stops shrinking
	 * before the layout stacks.
	 */
	--eq-u: clamp(0.7px, 0.0520833vw, 1px);
	--eq-gutter: 24px;
	--eq-radius: 10px;
	--eq-radius-card: 12px;
	--eq-panel-radius: 100px;

	/* Type */
	--eq-font: "Public Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
	--eq-font-alt: "Plus Jakarta Sans", var(--eq-font);
	--eq-font-ui: "Inter", var(--eq-font);
}

/* --------------------------------------------------------------------------
   2. Base
   -------------------------------------------------------------------------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--eq-page);
	color: var(--eq-body);
	font-family: var(--eq-font);
	font-size: 18px;
	line-height: 1.56;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: inherit;
	text-decoration: none;
}

h1, h2, h3, h4, p, figure, ul, ol {
	margin: 0;
	padding: 0;
}

ul, ol {
	list-style: none;
}

button {
	font: inherit;
	color: inherit;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
}

hr {
	border: 0;
	height: 1px;
	background: var(--eq-rule);
	margin: 0;
}

:focus-visible {
	outline: 2px solid var(--eq-gold);
	outline-offset: 3px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.eq-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100;
	background: var(--eq-dark);
	color: #fff;
	padding: 12px 20px;
	border-radius: 0 0 var(--eq-radius) 0;
}

.eq-skip-link:focus {
	left: 0;
}

.eq-container {
	width: min(var(--eq-container), 100% - (var(--eq-edge) * 2));
	margin-inline: auto;
}

.eq-main {
	position: relative;
}

/* --------------------------------------------------------------------------
   3. Shared section furniture
   -------------------------------------------------------------------------- */

/* The bands stack as rounded cards, each overlapping the one above it. */
.eq-panel {
	position: relative;
	border-radius: var(--eq-panel-radius) var(--eq-panel-radius) 0 0;
	isolation: isolate;
}

.eq-panel--light {
	background: var(--eq-white);
	box-shadow: 0 -24px 14px 10px rgba(0, 0, 0, 0.07);
}

.eq-panel--dark {
	background: var(--eq-dark);
	color: var(--eq-on-dark);
	overflow: hidden;
}

/* Decorative watermark that bleeds off the right edge of the dark bands. */
.eq-flourish {
	position: absolute;
	pointer-events: none;
	opacity: 0.1;
	z-index: 0;
}

.eq-flourish--right {
	top: calc(113 * var(--eq-u));
	right: 0;
	width: calc(830 * var(--eq-u));
	max-width: 60%;
	height: calc(948 * var(--eq-u));
	object-fit: cover;
	object-position: left center;
}

.eq-eyebrow {
	display: flex;
	align-items: center;
	gap: calc(17 * var(--eq-u));
	font-family: var(--eq-font-alt);
	font-weight: 700;
	font-size: calc(18 * var(--eq-u));
	line-height: calc(40 * var(--eq-u));
	text-transform: uppercase;
	color: var(--eq-ink);
	opacity: 0.9;
}

.eq-panel--dark .eq-eyebrow,
.eq-preipo .eq-eyebrow {
	color: var(--eq-on-dark);
}

.eq-preipo .eq-eyebrow {
	color: var(--eq-gold);
}

.eq-eyebrow__star {
	width: calc(20 * var(--eq-u));
	height: calc(19 * var(--eq-u));
	flex: none;
	transform: rotate(-29.1deg);
}

.eq-heading {
	font-weight: 300;
	font-size: calc(60 * var(--eq-u));
	line-height: 1.234;
	color: var(--eq-ink);
	text-transform: capitalize;
	margin-top: calc(26 * var(--eq-u));
}

.eq-heading--on-dark {
	color: var(--eq-on-dark);
}

.eq-heading--center {
	text-align: center;
}

/* The trailing words of a heading carry the gold gradient. */
.eq-heading__accent {
	background: var(--eq-gold-grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* "M&H Advisory" keeps a flat second word rather than the gradient. */
.eq-heading--plain-accent .eq-heading__accent {
	background: none;
	-webkit-background-clip: border-box;
	background-clip: border-box;
	color: inherit;
}

.eq-readmore {
	display: inline-flex;
	align-items: center;
	gap: calc(14 * var(--eq-u));
	font-weight: 700;
	font-size: calc(20 * var(--eq-u));
	line-height: calc(33 * var(--eq-u));
	letter-spacing: 0.2px;
	text-transform: uppercase;
	color: var(--eq-body);
}

.eq-readmore img {
	width: calc(18 * var(--eq-u));
	height: calc(15 * var(--eq-u));
	transition: transform 0.25s ease;
}

.eq-readmore:hover img,
.eq-readmore:focus-visible img {
	transform: translateX(6px);
}

/* --------------------------------------------------------------------------
   4. Header: glass navigation + hero banner
   -------------------------------------------------------------------------- */

.eq-hero {
	--eq-hero-overlay: 0.72;
	position: relative;
	min-height: 864px;
	/* Clears the title block so it lands just under mid-height, as drawn. */
	padding-bottom: 274px;
	display: flex;
	flex-direction: column;
	isolation: isolate;
	overflow: hidden;
}

/*
 * The Corporate Advisory banner runs without the navigation bar, so it has no
 * bar to clear: the title block centres in the band instead of being pushed to
 * the bottom. Its height scales with the comp the way every other measurement
 * does, rather than staying at a flat 864px however wide the window is.
 */
.eq-hero.eq-hero--bare {
	min-height: calc(864 * var(--eq-u));
	padding-bottom: 0;
	justify-content: center;
}

.eq-hero--bare .eq-hero__inner {
	margin-top: 0;
}

.eq-hero__bg,
.eq-hero__scrim,
.eq-hero__flourish {
	position: absolute;
	inset: 0;
	z-index: -2;
}

.eq-hero__bg {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center bottom;
}

/*
 * In Figma this is a vertical gradient on a 90deg-rotated box, which lands as a
 * horizontal fade: clear over the hand on the right, darkening to the left so
 * the logo and title stay legible. It stops short of the right edge (1649/1920).
 */
.eq-hero__scrim {
	right: 14.1%;
	background: linear-gradient(
		271.5deg,
		rgba(0, 0, 0, 0) 6.63%,
		rgba(0, 0, 0, var(--eq-hero-overlay)) 71.9%
	);
	z-index: -1;
}

.eq-hero__flourish {
	inset: 87px -702px auto auto;
	width: 1212px;
	height: 607px;
	opacity: 0.3;
	object-fit: cover;
	z-index: -1;
}

.eq-hero__bar-wrap {
	padding-top: 58px;
}

.eq-nav {
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: 134px;
	padding: 0 34px 0 50px;
	border-radius: var(--eq-radius);
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(17.5px);
	-webkit-backdrop-filter: blur(17.5px);
}

.eq-nav__logo img {
	width: 236px;
	height: 126px;
	/* The mark overhangs the top of the bar, as drawn. */
	margin-top: -26px;
}

.eq-nav__links {
	flex: 1;
	display: flex;
	justify-content: center;
}

.eq-nav__list {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 34px;
}

.eq-nav__list a {
	font-weight: 700;
	font-size: 16px;
	line-height: 40px;
	text-transform: uppercase;
	white-space: nowrap;
	color: #fff;
	opacity: 0.9;
	transition: color 0.2s ease;
}

.eq-nav__list a:hover,
.eq-nav__list .current-menu-item > a {
	color: var(--eq-gold);
}

.eq-nav__actions {
	display: flex;
	align-items: center;
	gap: 21px;
}

.eq-nav__search img {
	width: 19px;
	height: 19px;
}

.eq-btn--login {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 112px;
	height: 50px;
	padding: 0 20px;
	border-radius: 5px;
	background: #000;
	color: #fff;
	font-family: var(--eq-font-alt);
	font-weight: 700;
	font-size: 18px;
	text-transform: uppercase;
	transition: background 0.2s ease;
}

.eq-btn--login:hover {
	background: var(--eq-gold-deep);
}

.eq-nav__toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 32px;
	height: 32px;
}

.eq-nav__toggle span {
	display: block;
	height: 2px;
	background: #fff;
	border-radius: 2px;
}

.eq-hero__inner {
	margin-top: auto;
	text-align: center;
	color: #fff;
}

.eq-hero__title {
	font-weight: 400;
	font-size: clamp(2.5rem, 4.17vw, 5rem);
	line-height: 1.125;
	text-transform: uppercase;
}

.eq-hero__crumb {
	margin-top: 12px;
	font-size: 18px;
	line-height: 1.6;
	text-transform: uppercase;
	text-align: center;
	color:#fff;
}

.eq-hero__crumb a:hover {
	color: var(--eq-gold);
}

/* --------------------------------------------------------------------------
   5. Overview band
   -------------------------------------------------------------------------- */

.eq-overview {
	z-index: 1;
	margin-top: calc(-99 * var(--eq-u));
	padding-top: calc(99 * var(--eq-u));
	padding-bottom: calc(223 * var(--eq-u));
}

/* Column widths track the comp's 751 / 907 split of the 1658px container. */
.eq-overview__intro {
	display: grid;
	grid-template-columns: 751fr 907fr;
	align-items: start;
}

/*
 * Copy tracks the comp between roughly 1280 and 1920 but stops at a readable
 * floor, rather than scaling linearly the way the Figma preview does.
 */
.eq-overview__lede {
	 text-align: justify; 
	font-weight: 600;
	font-size: calc(22 * var(--eq-u));
	line-height: 1.36;
	color: var(--eq-gold);
	/* 768 of the 904px column. */
	/*max-width: 85%;*/
}

.eq-overview__body {
	text-align: justify;
	margin-top: calc(26 * var(--eq-u));
	font-size: calc(18 * var(--eq-u));
	line-height: 1.56;
	color: var(--eq-body);
	opacity: 0.9;
}

/* Five cards: three across, then two inset by half a column. */
.eq-services {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	column-gap: calc(34 * var(--eq-u));
	row-gap: calc(52 * var(--eq-u));
	margin-top: calc(66 * var(--eq-u));
}

.eq-service {
	grid-column: span 2;
	position: relative;
	min-height: calc(271 * var(--eq-u));
	padding: calc(106 * var(--eq-u)) calc(33 * var(--eq-u)) calc(33 * var(--eq-u));
	margin-top: calc(22 * var(--eq-u));
	border-radius: var(--eq-radius);
	background: var(--eq-cream);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.eq-service:nth-child(4) {
	grid-column: 2 / span 2;
}

.eq-service:nth-child(5) {
	grid-column: 4 / span 2;
}

.eq-service:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 34px rgba(87, 62, 24, 0.14);
}

/* Badge straddles the top edge of the card. */
.eq-service__badge {
	position: absolute;
	top: calc(-22 * var(--eq-u));
	left: calc(33 * var(--eq-u));
	width: calc(87 * var(--eq-u));
	height: calc(87 * var(--eq-u));
	display: grid;
	place-items: center;
}

.eq-service__badge-ring {
	position: absolute;
	inset: 0;
	width: calc(87 * var(--eq-u));
	height: calc(87 * var(--eq-u));
}

.eq-service__badge-icon {
	position: relative;
	width: calc(50 * var(--eq-u));
	height: calc(50 * var(--eq-u));
}

.eq-service__title {
	font-weight: 600;
	font-size: calc(24 * var(--eq-u));
	line-height: calc(30 * var(--eq-u));
	color: var(--eq-ink-strong);
	opacity: 0.9;
}

.eq-service__text {
	text-align: justify;
	margin-top: calc(13 * var(--eq-u));
	font-size: calc(18 * var(--eq-u));
	line-height: calc(30 * var(--eq-u));
	color: var(--eq-body);
	opacity: 0.9;
}

.eq-service .eq-readmore {
	margin-top: calc(20 * var(--eq-u));
}

/* --------------------------------------------------------------------------
   6. Pre-IPO Advisory band
   -------------------------------------------------------------------------- */

.eq-preipo {
	z-index: 2;
	margin-top: calc(-103 * var(--eq-u));
	padding-top: calc(102 * var(--eq-u));
	padding-bottom: calc(264 * var(--eq-u));
}

/*
 * This band is inset from the container: in Figma its content starts at x184
 * rather than the usual x131, while the image still ends flush at x1786.
 */
.eq-preipo__inner {
	position: relative;
	z-index: 1;
	padding-left: 3.2%;
}

.eq-preipo__head {
	display: grid;
	grid-template-columns: 714fr 891fr;
	align-items: start;
}

.eq-preipo__lede {
	text-align: justify;
	padding-top: calc(47 * var(--eq-u));
	font-size: calc(18 * var(--eq-u));
	line-height: calc(28 * var(--eq-u));
	color: #fff;
	opacity: 0.9;
}

.eq-preipo__body {
	display: grid;
	grid-template-columns: minmax(0, 667fr) minmax(0, 888fr);
	column-gap: calc(46 * var(--eq-u));
	align-items: start;
	margin-top: calc(50 * var(--eq-u));
}

.eq-tabs {
	display: flex;
	flex-direction: column;
	gap: calc(27 * var(--eq-u));
}

.eq-tab {
	display: flex;
	align-items: center;
	gap: calc(32 * var(--eq-u));
	min-height: calc(95 * var(--eq-u));
	padding: 0 calc(40 * var(--eq-u));
	border: 2px solid var(--eq-gold-deep);
	border-radius: var(--eq-radius);
	color: var(--eq-cream-ink);
	text-align: left;
	transition: background 0.25s ease, border-color 0.25s ease;
}

.eq-tab.is-active {
	background: var(--eq-gold-grad);
	border: 1px solid rgba(244, 235, 223, 0.5);
	/* Keep the box the same height whichever border is on it. */
	padding: 1px calc(41 * var(--eq-u));
}

.eq-tab:hover:not(.is-active) {
	border-color: var(--eq-gold);
}

.eq-tab__icon {
	width: calc(50 * var(--eq-u));
	height: calc(50 * var(--eq-u));
	flex: none;
}

.eq-tab__label {
	font-weight: 600;
	font-size: calc(24 * var(--eq-u));
	line-height: 1.5;
}

.eq-tabpanel {
	position: relative;
	border-radius: var(--eq-radius);
	overflow: hidden;
	min-height: calc(705 * var(--eq-u));
	display: flex;
}

.eq-tabpanel__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.eq-tabpanel__caption {
	position: relative;
	margin-top: auto;
	width: 100%;
	padding: calc(120 * var(--eq-u)) calc(35 * var(--eq-u)) calc(40 * var(--eq-u));
	background: linear-gradient(0deg, #000 0%, rgba(0, 0, 0, 0) 100%);
}

.eq-tabpanel__title {
	font-weight: 600;
	font-size: calc(24 * var(--eq-u));
	line-height: 1.5;
	color: var(--eq-cream-ink);
}

.eq-tabpanel__text {
	 text-align: justify; 
	margin-top: calc(12 * var(--eq-u));
	font-size: calc(22 * var(--eq-u));
	line-height: calc(30 * var(--eq-u));
	color: #fff;
	opacity: 0.9;
	max-width: 762px;
}

/* --------------------------------------------------------------------------
   7. IPO Advisory band
   -------------------------------------------------------------------------- */

.eq-ipo {
	z-index: 3;
	margin-top: calc(-144 * var(--eq-u));
	padding-top: calc(120 * var(--eq-u));
	padding-bottom: calc(94 * var(--eq-u));
}

.eq-ipo__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: calc(62 * var(--eq-u));
	row-gap: calc(76 * var(--eq-u));
	margin-top: calc(40 * var(--eq-u));
}

.eq-ipo-card__img {
	width: 100%;
	height: calc(325 * var(--eq-u));
	object-fit: cover;
	border-radius: var(--eq-radius);
}

.eq-ipo-card__title {
	margin-top: calc(34 * var(--eq-u));
	font-weight: 600;
	font-size: calc(24 * var(--eq-u));
	line-height: calc(30 * var(--eq-u));
	color: var(--eq-ink-strong);
	opacity: 0.9;
}

.eq-ipo-card__text {
	 text-align: justify; 
	margin-top: calc(15 * var(--eq-u));
	font-size: calc(18 * var(--eq-u));
	line-height: calc(30 * var(--eq-u));
	color: var(--eq-body);
	opacity: 0.9;
}

/* --------------------------------------------------------------------------
   8. The IPO Journey timeline
   -------------------------------------------------------------------------- */

.eq-journey {
	position: relative;
	padding: calc(120 * var(--eq-u)) 0 calc(120 * var(--eq-u));
	background: var(--eq-page);
}

.eq-journey__head {
	text-align: center;
}

.eq-journey__head .eq-eyebrow {
	justify-content: center;
}

.eq-journey__sub {
	margin-top: calc(15 * var(--eq-u));
	font-size: calc(16 * var(--eq-u));
	color: var(--eq-muted);
}

/*
 * The controls sit over the viewport rather than inside the rail, so they stay
 * put while the stages slide past them.
 */
.eq-journey__viewport {
	position: relative;
	/* Owns the gap above the rail so the controls can be offset from a
	   predictable origin rather than a collapsing child margin. */
	margin-top: calc(76 * var(--eq-u));
}
/*
 * Scroll pinning.
 *
 * While the band holds the viewport, vertical scrolling is spent walking the
 * rail sideways, and the page carries on only once the last stage has been
 * reached. The script measures the rail and adds .eq-journey--pinned; without
 * it — no JS, reduced motion, a narrow screen, or a screen already wide enough
 * for the whole rail — these wrappers are plain blocks and the band stays the
 * horizontal scroller it was.
 */
.eq-journey--pinned .eq-journey__pin {
	height: calc(var(--eq-pin-h, 0px) + var(--eq-pin-travel, 0px));
}

.eq-journey--pinned .eq-journey__sticky {
	position: sticky;
	/*
	 * Held against the top of the screen, unless the band is taller than the
	 * screen: then it is the foot that stays in view, so the rail, markers and
	 * arrows are never the part cut off.
	 */
	top: min(0px, calc(100vh - var(--eq-pin-h, 0px)));
}

/*
 * Smooth scrolling fights per-frame positioning, and the native offset lands on
 * whole pixels. While pinned the rail is moved by transform instead, which runs
 * on the compositor and in fractions of a pixel, so the scroller itself is shut
 * down for the duration.
 */
.eq-journey--pinned .eq-journey__scroller {
	overflow-x: hidden;
	scroll-behavior: auto;
}

.eq-journey--pinned .eq-journey__rail {
	will-change: transform;
}

.eq-journey--pinned .eq-journey__track-progress {
	/* Redrawn every frame now, so a catch-up transition only smears it. */
	transition: none;
}


.eq-journey__controls {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: calc(24 * var(--eq-u));
	margin-top: calc(40 * var(--eq-u));
}

.eq-journey__nav {
	width: calc(45 * var(--eq-u));
	height: calc(45 * var(--eq-u));
	flex: none;
	display: grid;
	place-items: center;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.eq-journey__nav img {
	grid-area: 1 / 1;
}

.eq-journey__nav-arrow {
	width: calc(18 * var(--eq-u));
	height: calc(15 * var(--eq-u));
}

.eq-journey__nav--prev .eq-journey__nav-arrow {
	transform: rotate(180deg);
}

.eq-journey__nav:hover:not(:disabled) {
	transform: scale(1.08);
}

.eq-journey__nav:disabled {
	opacity: 0.35;
	cursor: default;
}

/* The rail is wider than the page, so it scrolls sideways. */
.eq-journey__scroller {
	overflow-x: auto;
	overflow-y: hidden;
	/* Full-bleed: the rail uses the whole section width rather than sitting
	   inside the container gutter. */
	padding-inline: 0;
	/* The arrows are the visible affordance, so the bar itself is hidden. */
	scrollbar-width: none;
	-ms-overflow-style: none;
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	.eq-journey__scroller {
		scroll-behavior: auto;
	}
}

.eq-journey__scroller::-webkit-scrollbar {
	display: none;
}

.eq-journey__rail {
	position: relative;
	width: calc(var(--eq-rail-w, 2110) * var(--eq-u));
	/*
	 * Bottom-row cards start at 335 (row) + 39 (card offset) = 374, so 565
	 * left them only 191 units before the scroller's overflow-y: hidden cut
	 * their text off - enough for two lines but not three or more, which a
	 * longer stage body (e.g. "Value Realisation") wraps to. 640 gives them
	 * headroom for longer copy without clipping.
	 */
	height: calc(640 * var(--eq-u));
	flex: none;
}

.eq-journey__track {
	position: absolute;
	left: 0;
	top: calc(287 * var(--eq-u));
	width: calc(var(--eq-track-w, 1813) * var(--eq-u));
	height: calc(15 * var(--eq-u));
}

.eq-journey__track-dash,
.eq-journey__track-line,
.eq-journey__track-progress {
	position: absolute;
	left: 0;
	width: 100%;
}

.eq-journey__track-dash--top {
	top: 0;
	height: 1px;
}

.eq-journey__track-line {
	top: calc(7 * var(--eq-u));
	height: 1px;
}

.eq-journey__track-dash--bottom {
	top: calc(14 * var(--eq-u));
	height: 1px;
}

.eq-journey__track-progress {
	top: calc(5 * var(--eq-u));
	/* Runs from the start of the rail to the active marker. */
	width: calc(var(--eq-progress, 286) * var(--eq-u));
	height: calc(5 * var(--eq-u));
	max-width: 100%;
	transition: width 0.35s ease;
}

.eq-stage {
	position: absolute;
	left: calc(var(--eq-stage-x) * var(--eq-u));
	width: calc(387 * var(--eq-u));
}

.eq-stage--top {
	top: 0;
}

.eq-stage--bottom {
	top: calc(335 * var(--eq-u));
}
/*
 * Arrival.
 *
 * The stages are held back until the band comes into view, then settle in one
 * after the next along the rail. The class is added by the script, so with it
 * off — or with reduced motion asked for — the stages are simply there.
 */
.eq-journey--reveal .eq-stage {
	opacity: 0;
	transform: translateY(calc(48 * var(--eq-u)));
	transition: opacity 0.8s cubic-bezier(0.22, 0.61, 0.36, 1),
		transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
	transition-delay: calc(var(--eq-stage-i, 0) * 110ms);
}

.eq-journey--reveal.is-in .eq-stage {
	opacity: 1;
	transform: none;
}

/*
 * The stage the rail has reached is marked by a shadow only. The cards stay
 * put: lifting them made the row bob up and down as the rail scrolled.
 */
.eq-stage__card {
	transition: box-shadow 0.5s ease;
}

.eq-stage.is-active .eq-stage__card {
	box-shadow: 0 calc(22 * var(--eq-u)) calc(46 * var(--eq-u)) rgba(90, 62, 20, 0.26);
}


/* Marker disc overlaps the top edge of the card. */
.eq-stage__marker {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: calc(80 * var(--eq-u));
	height: calc(80 * var(--eq-u));
	display: grid;
	place-items: center;
	z-index: 2;
}

.eq-stage__marker-ring {
	position: absolute;
	inset: 0;
	width: calc(80 * var(--eq-u));
	height: calc(80 * var(--eq-u));
}

.eq-stage__marker-icon {
	position: relative;
	width: calc(50 * var(--eq-u));
	height: calc(50 * var(--eq-u));
}

.eq-stage__card {
	position: absolute;
	top: calc(39 * var(--eq-u));
	left: 0;
	width: calc(387 * var(--eq-u));
	min-height: calc(190 * var(--eq-u));
	padding: calc(46 * var(--eq-u)) calc(24 * var(--eq-u)) calc(20 * var(--eq-u));
	border-radius: var(--eq-radius);
	background: var(--eq-gold-grad);
	color: #fff;
	text-align: center;
	display: block;
}

.eq-stage__title {
	font-weight: 600;
	font-size: calc(24 * var(--eq-u));
	line-height: calc(30 * var(--eq-u));
	opacity: 0.9;
}

.eq-stage__text {
	/* text-align: justify; */
	margin-top: calc(6 * var(--eq-u));
	font-size: calc(18 * var(--eq-u));
	line-height: calc(28 * var(--eq-u));
	opacity: 0.9;
	color:#fff;
}

/* Hairline stem joining each card to the rail. */
.eq-stage__stem {
	position: absolute;
	left: 50%;
	width: 1px;
	height: calc(53 * var(--eq-u));
	transform: translateX(-50%);
}

.eq-stage__stem img {
	width: 1px;
	height: calc(53 * var(--eq-u));
}

.eq-stage--top .eq-stage__stem {
	top: calc(229 * var(--eq-u));
}

.eq-stage--bottom .eq-stage__stem {
	top: calc(-36 * var(--eq-u));
}

.eq-journey__dot {
	position: absolute;
	left: calc(var(--eq-dot-x) * var(--eq-u));
	/* Centred on the track's middle line: 287 + 7.5 - 48 / 2. */
	top: calc(270.5 * var(--eq-u));
	width: calc(140 * var(--eq-u));
	height: calc(48 * var(--eq-u));
	padding: 0;
	border: 0;
	box-sizing: border-box;
	display: grid;
	place-items: center;
	z-index: 2;
}

.eq-journey__dot img {
	grid-area: 1 / 1;
	width: calc(24 * var(--eq-u));
	height: calc(24 * var(--eq-u));
	transition: opacity 0.25s ease;
}

.eq-journey__dot .eq-journey__dot-on {
	opacity: 0;
}

.eq-journey__dot.is-active .eq-journey__dot-on {
	opacity: 1;
}

.eq-journey__dot.is-active .eq-journey__dot-off {
	opacity: 0;
}

.eq-journey__dot:hover .eq-journey__dot-on {
	opacity: 0.6;
}

/* --------------------------------------------------------------------------
   9. M&A Advisory band
   -------------------------------------------------------------------------- */

.eq-ma {
	z-index: 4;
	margin-top: calc(120 * var(--eq-u));
	padding-top: calc(110 * var(--eq-u));
	padding-bottom: calc(231 * var(--eq-u));
}

.eq-ma__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 659fr 999fr;
	align-items: start;
}

/*
 * CSS position: sticky does not track scroll position correctly under
 * ScrollSmoother (it transforms #smooth-content instead of using native
 * scroll), so the pin itself is done in JS with ScrollTrigger - see
 * initMaPin() in corporate_advisory.js.
 */
.eq-ma__intro {
	position: relative;
}

.eq-ma__sub {
	/* text-align: justify; */
	margin-top: calc(19 * var(--eq-u));
	font-size: calc(18 * var(--eq-u));
	line-height: calc(28 * var(--eq-u));
	color: var(--eq-on-dark);
	opacity: 0.9;
}

.eq-steps {
	display: flex;
	flex-direction: column;
	gap: calc(32 * var(--eq-u));
}

.eq-step {
	display: flex;
	gap: calc(32 * var(--eq-u));
	align-items: flex-start;
	padding: calc(32 * var(--eq-u));
	border: 1px solid var(--eq-card-border);
	border-radius: var(--eq-radius-card);
	background: var(--eq-white);
	filter: drop-shadow(0 8px 8px rgba(87, 62, 24, 0.02));
}

.eq-step__num {
	flex: none;
	width: calc(56 * var(--eq-u));
	height: calc(56 * var(--eq-u));
	border-radius: 28px;
	background: var(--eq-gold);
	color: #fff;
	font-size: calc(20 * var(--eq-u));
	display: grid;
	place-items: center;
}

.eq-step__body {
	display: flex;
	flex-direction: column;
	gap: calc(12 * var(--eq-u));
	min-width: 0;
}

.eq-step__title {
	font-weight: 600;
	font-size: calc(24 * var(--eq-u));
	line-height: 1.2;
	color: var(--eq-ink-strong);
}

.eq-step__text {
	text-align: justify;
	font-size: calc(14 * var(--eq-u));
	line-height: 1.45;
	color: var(--eq-muted);
}

/* --------------------------------------------------------------------------
   10. Real Estate Advisory band
   -------------------------------------------------------------------------- */

.eq-realestate {
	z-index: 5;
	margin-top: calc(-100 * var(--eq-u));
	padding-top: calc(99 * var(--eq-u));
	padding-bottom: calc(382 * var(--eq-u));
}

.eq-realestate__head {
	display: grid;
	grid-template-columns: 734fr 924fr;
	align-items: start;
}

.eq-realestate__lede {
	text-align: justify;
	padding-top: calc(76 * var(--eq-u));
	font-size: calc(18 * var(--eq-u));
	line-height: calc(28 * var(--eq-u));
	color: var(--eq-body);
	opacity: 0.9;
}

.eq-realestate__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: calc(93 * var(--eq-u));
	row-gap: calc(76 * var(--eq-u));
	margin-top: calc(88 * var(--eq-u));
}

/*
 * Each capability is framed by a rule above the title and another below the
 * text, as drawn (the comp has 12 lines for the 6 items). Grid items stretch
 * to the tallest in their row, so the lower rules stay level across a row even
 * though the copy lengths differ.
 */
.eq-recol {
	padding-top: calc(20 * var(--eq-u));
	padding-bottom: calc(22 * var(--eq-u));
	border-top: 2px solid var(--eq-gold);
	border-bottom: 2px solid var(--eq-gold);
}

.eq-recol__title {
	font-weight: 600;
	font-size: calc(24 * var(--eq-u));
	line-height: 1.5;
	color: var(--eq-ink-strong);
}

.eq-recol__text {
	 text-align: justify; 
	margin-top: calc(17 * var(--eq-u));
	font-size: calc(18 * var(--eq-u));
	line-height: calc(28 * var(--eq-u));
	color: var(--eq-body);
	opacity: 0.9;
}

/* --------------------------------------------------------------------------
   11. Deal Credentials band
   -------------------------------------------------------------------------- */

.eq-deals {
	z-index: 6;
	margin-top: calc(-282 * var(--eq-u));
	padding-top: calc(120 * var(--eq-u));
	padding-bottom: calc(134 * var(--eq-u));
}

.eq-deals__inner {
	position: relative;
	z-index: 1;
}

.eq-deals__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: calc(41 * var(--eq-u)) calc(34 * var(--eq-u));
	margin-top: calc(31 * var(--eq-u));
}

.eq-deal {
	padding: calc(33 * var(--eq-u));
	border-radius: var(--eq-radius);
	background: var(--eq-white);
	color: var(--eq-body);
}

.eq-deal__title {
	font-weight: 700;
	font-size: calc(22 * var(--eq-u));
	line-height: 1.2;
	color: var(--eq-ink);
}

.eq-deal__sector {
	margin-top: calc(8 * var(--eq-u));
	font-family: var(--eq-font-ui);
	font-weight: 600;
	font-size: calc(14 * var(--eq-u));
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--eq-deal-sector);
}

.eq-deal__desc {
	text-align: justify;
	margin-top: calc(24 * var(--eq-u));
	font-family: var(--eq-font-ui);
	font-size: calc(15 * var(--eq-u));
	line-height: 1.6;
}

.eq-deal__rule {
	margin-top: calc(24 * var(--eq-u));
}

.eq-deal__bullets {
	display: flex;
	flex-direction: column;
	gap: calc(16 * var(--eq-u));
	margin-top: calc(24 * var(--eq-u));
}

.eq-bullet {
	display: flex;
	gap: calc(12 * var(--eq-u));
	align-items: flex-start;
}

.eq-bullet__check {
	flex: none;
	width: calc(18 * var(--eq-u));
	height: calc(18 * var(--eq-u));
	margin-top: 2px;
	border-radius: 9px;
	background: var(--eq-gold-grad);
	display: grid;
	place-items: center;
}

.eq-bullet__check img {
	width: calc(10 * var(--eq-u));
	height: calc(10 * var(--eq-u));
}

.eq-bullet__text {
	text-align: justify;
	font-family: var(--eq-font-ui);
	font-size: calc(15 * var(--eq-u));
	line-height: 1.5;
	min-width: 0;
}

.eq-bullet__text strong {
	font-weight: 700;
	color: var(--eq-deal-lead);
}

/* --------------------------------------------------------------------------
   12. Corporate Advisory Team
   -------------------------------------------------------------------------- */

.eq-team {
	position: relative;
	padding: calc(120 * var(--eq-u)) 0 calc(100 * var(--eq-u));
	background: var(--eq-page);
}

/* Heading stays in its own pinned column while the member list scrolls past,
   the same split used by .eq-ma__inner / .eq-ma__intro above (both pinned in
   JS - see initTeamPin() / initMaPin() in corporate_advisory.js). */
.eq-team__inner {
	position: relative;
	display: grid;
	grid-template-columns: 512fr 1146fr;
	align-items: start;
}

/*
 * CSS position: sticky does not track scroll position correctly under
 * ScrollSmoother (it transforms #smooth-content instead of using native
 * scroll), so the pin itself is done in JS with ScrollTrigger - see
 * initTeamPin() in corporate_advisory.js, the same approach the IPO Journey
 * band above uses for the same reason.
 */
.eq-team__head {
	max-width: calc(408 * var(--eq-u));
}

.eq-team__list {
	display: flex;
	flex-direction: column;
	gap: calc(64 * var(--eq-u));
	margin-top: calc(-66 * var(--eq-u));
}

.eq-member {
	display: grid;
	grid-template-columns: 471fr 675fr;
	align-items: start;
}

.eq-member__photo {
	grid-column: 1;
	border-radius: var(--eq-radius);
	overflow: hidden;
}

.eq-member__photo img {
	width: 100%;
	height: auto;
	aspect-ratio: 471 / 366;
	object-fit: cover;
	object-position: center top;
}

.eq-member__body {
	grid-column: 2;
	position: relative;
	padding-top: calc(10 * var(--eq-u));
	padding-left: calc(46 * var(--eq-u));
}

.eq-member__role {
	display: flex;
	align-items: center;
	gap: calc(7 * var(--eq-u));
	font-weight: 500;
	font-size: calc(13 * var(--eq-u));
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: var(--eq-gold-deep);
}

.eq-member__rule {
	display: block;
	width: calc(36 * var(--eq-u));
	height: 1px;
	background: var(--eq-gold-deep);
}

.eq-member__name {
	margin-top: calc(8 * var(--eq-u));
	font-weight: 700;
	font-size: calc(40 * var(--eq-u));
	line-height: 1.18;
	color: var(--eq-ink-strong);
}

.eq-member__points {
	display: flex;
	flex-direction: column;
	gap: calc(32 * var(--eq-u));
	margin-top: calc(34 * var(--eq-u));
	max-width: calc(626 * var(--eq-u));
}

.eq-member__points li {
	 text-align: justify; 
	display: flex;
	gap: calc(13 * var(--eq-u));
	font-size: calc(15 * var(--eq-u));
	line-height: 1.6;
	color: var(--eq-body);
}

/* Gold bullet, sized and nudged to sit on the first line of the point. */
.eq-member__points li::before {
	content: "";
	flex: none;
	width: calc(7 * var(--eq-u));
	height: calc(7 * var(--eq-u));
	margin-top: calc(9 * var(--eq-u));
	border-radius: 50%;
	background: var(--eq-gold);
}

.eq-member__linkedin {
	position: absolute;
	top: calc(18 * var(--eq-u));
	right: 0;
	width: calc(53 * var(--eq-u));
	height: calc(53 * var(--eq-u));
}

.eq-member__linkedin img {
	width: calc(53 * var(--eq-u));
	height: calc(53 * var(--eq-u));
}

/* --------------------------------------------------------------------------
   13. Footer
   -------------------------------------------------------------------------- */

.eq-footer {
	z-index: 7;
	margin-top: calc(100 * var(--eq-u));
	padding-top: calc(73 * var(--eq-u));
	padding-bottom: calc(61 * var(--eq-u));
	color: #fff;
}

.eq-footer__inner {
	position: relative;
}

.eq-footer__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: calc(40 * var(--eq-u));
	flex-wrap: wrap;
}

.eq-footer__logo img {
	width: calc(241 * var(--eq-u));
	height: calc(128 * var(--eq-u));
}

.eq-newsletter {
	width: min(calc(605 * var(--eq-u)), 100%);
}

.eq-newsletter__label {
	font-weight: 500;
	font-size: calc(18 * var(--eq-u));
	letter-spacing: -0.36px;
	color: var(--eq-gold);
}

.eq-newsletter__form {
	position: relative;
	margin-top: calc(22 * var(--eq-u));
	height: calc(80 * var(--eq-u));
	border: 1px solid var(--eq-footer-rule);
	border-radius: var(--eq-radius);
	display: flex;
	align-items: center;
	padding: 0 calc(20 * var(--eq-u)) 0 calc(18 * var(--eq-u));
}

.eq-newsletter__input {
	flex: 1;
	min-width: 0;
	height: 100%;
	background: none;
	border: 0;
	color: #fff;
	font-family: inherit;
	font-weight: 300;
	font-size: calc(20 * var(--eq-u));
}

.eq-newsletter__input::placeholder {
	color: rgba(255, 255, 255, 0.5);
}

.eq-newsletter__input:focus {
	outline: none;
}

.eq-newsletter__submit img {
	width: calc(41 * var(--eq-u));
	height: calc(41 * var(--eq-u));
}

.eq-footer__nav {
	margin-top: calc(74 * var(--eq-u));
	padding: calc(31 * var(--eq-u)) 0;
	border-top: 1px solid var(--eq-footer-rule);
	border-bottom: 1px solid var(--eq-footer-rule);
}

.eq-footer__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: calc(24 * var(--eq-u)) calc(40 * var(--eq-u));
}

.eq-footer__list a {
	font-weight: 300;
	font-size: calc(16 * var(--eq-u));
	line-height: calc(33 * var(--eq-u));
	letter-spacing: 0.16px;
	text-transform: uppercase;
	color: #fffdfd;
	transition: color 0.2s ease;
}

.eq-footer__list a:hover {
	color: var(--eq-gold);
}

.eq-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: calc(12 * var(--eq-u)) calc(40 * var(--eq-u));
	margin-top: calc(36 * var(--eq-u));
	font-size: calc(16 * var(--eq-u));
	line-height: 2.5;
	color: rgba(255, 255, 255, 0.5);
}

.eq-footer__policy {
	display: flex;
	gap: calc(12 * var(--eq-u));
}

.eq-footer__policy a:hover {
	color: var(--eq-gold);
}

.eq-footer__credit {
	margin-left: auto;
}

.eq-footer__credit sup {
	font-size: calc(10 * var(--eq-u));
}

/*
 * Sits just outside the container's right edge, level with the link row, as
 * drawn. Staying outside the container is what keeps it off the last link.
 */
.eq-to-top {
	position: absolute;
	right: calc(-16 * var(--eq-u));
	bottom: calc(137 * var(--eq-u));
	width: calc(54 * var(--eq-u));
	height: calc(54 * var(--eq-u));
	transform: rotate(-90deg);
}

.eq-to-top img {
	width: calc(54 * var(--eq-u));
	height: calc(54 * var(--eq-u));
}

/* --------------------------------------------------------------------------
   14. Fallback template prose
   -------------------------------------------------------------------------- */

.eq-section {
	padding: 120px 0;
}

.eq-prose {
	max-width: 860px;
}

.eq-prose__title {
	font-size: 32px;
	font-weight: 600;
	color: var(--eq-ink);
	margin-bottom: 12px;
}

.eq-prose p {
	margin-bottom: 20px;
}

/* --------------------------------------------------------------------------
   15. Responsive
   -------------------------------------------------------------------------- */

/*
 * The column splits above are proportions of the container, so they hold at
 * every width down to the stacking breakpoint and need no overrides here.
 */
/* Keep the eight nav items on one line as the bar narrows. */
@media (max-width: 1500px) {
	.eq-nav {
		padding: 0 24px 0 32px;
		gap: 16px;
	}

	.eq-nav__list {
		gap: 20px;
	}

	.eq-nav__list a {
		font-size: 14px;
	}

	.eq-nav__logo img {
		width: 200px;
		height: 107px;
		margin-top: -22px;
	}

	.eq-nav__actions {
		gap: 16px;
	}
}

@media (max-width: 1280px) {
	:root {
		--eq-panel-radius: 60px;
	}

	.eq-nav {
		padding-inline: 20px;
		gap: 12px;
	}

	.eq-nav__list {
		gap: 13px;
	}

	.eq-nav__list a {
		font-size: 13px;
	}

	.eq-nav__logo img {
		width: 168px;
		height: 90px;
		margin-top: -16px;
	}

	.eq-btn--login {
		min-width: 92px;
		height: 44px;
		font-size: 15px;
	}

	.eq-realestate__grid {
		column-gap: calc(48 * var(--eq-u));
	}


	.eq-member__body {
		padding-left: 0;
	}
}

@media (max-width: 1024px) {
	:root {
		/*
		 * The layout has stacked, so the comp's proportions no longer apply.
		 * Structural metrics go back to 1:1 and type is set explicitly below,
		 * since one scale factor cannot serve both display and body sizes here.
		 */
		--eq-u: 1px;
	}

	/*
	 * --eq-u is back at 1:1 for type, which would also keep the comp's very
	 * large section paddings (up to 382px). On a phone that makes the page
	 * absurdly long, so the bands get their own vertical rhythm here.
	 */
	.eq-overview,
	.eq-preipo,
	.eq-ipo,
	.eq-ma,
	.eq-realestate,
	.eq-deals {
		margin-top: -60px;
		padding-top: 72px;
		padding-bottom: 96px;
	}

	.eq-journey,
	.eq-team {
		padding: 72px 0;
	}

	.eq-footer {
		margin-top: -60px;
		padding-top: 56px;
		padding-bottom: 48px;
	}

	.eq-services,
	.eq-ipo__grid,
	.eq-realestate__grid,
	.eq-deals__grid,
	.eq-preipo__body,
	.eq-team__list {
		margin-top: 40px;
		row-gap: 40px;
	}

	.eq-journey__viewport {
		margin-top: 40px;
	}

	.eq-footer__nav {
		margin-top: 40px;
	}

	.eq-heading {
		font-size: clamp(30px, 5.6vw, 44px);
		margin-top: 18px;
	}

	.eq-eyebrow {
		font-size: 16px;
		line-height: 28px;
		gap: 12px;
	}

	.eq-overview__lede {
		font-size: 19px;
		max-width: none;
	}

	.eq-overview__body,
	.eq-preipo__lede,
	.eq-service__text,
	.eq-ipo-card__text {
		font-size: 17px;
	}

	.eq-service__title,
	.eq-tabpanel__title,
	.eq-ipo-card__title {
		font-size: 21px;
	}

	.eq-tab__label {
		font-size: 19px;
	}

	.eq-tabpanel__text {
		font-size: 17px;
	}

	.eq-readmore {
		font-size: 17px;
	}

	.eq-nav__links {
		position: absolute;
		left: 0;
		right: 0;
		top: calc(100% + 8px);
		display: none;
		padding: 20px 24px;
		border-radius: var(--eq-radius);
		background: rgba(20, 19, 18, 0.95);
		backdrop-filter: blur(17.5px);
		-webkit-backdrop-filter: blur(17.5px);
	}

	.eq-nav {
		position: relative;
		min-height: 96px;
	}

	.eq-nav__links.is-open {
		display: block;
	}

	.eq-nav__list {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	.eq-nav__toggle {
		display: flex;
	}

	.eq-hero {
		min-height: 620px;
		/* Must clear the next panel's -99px overlap plus its rounded corner. */
		padding-bottom: 160px;
	}

	.eq-hero.eq-hero--bare {
		min-height: 480px;
	}

	.eq-overview__intro,
	.eq-preipo__head,
	.eq-realestate__head,
	.eq-preipo__body,
	.eq-ma__inner,
	.eq-team__inner {
		grid-template-columns: 1fr;
		row-gap: calc(32 * var(--eq-u));
	}

	.eq-preipo__inner {
		padding-left: 0;
	}

	.eq-preipo__lede,
	.eq-realestate__lede {
		padding-top: 0;
	}


	.eq-services {
		grid-template-columns: repeat(2, 1fr);
	}

	.eq-service,
	.eq-service:nth-child(4),
	.eq-service:nth-child(5) {
		grid-column: auto;
	}

	.eq-ipo__grid,
	.eq-realestate__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.eq-deals__grid {
		grid-template-columns: 1fr;
	}

	.eq-tabpanel {
		min-height: 460px;
	}

	.eq-member {
		grid-template-columns: 1fr;
		row-gap: calc(24 * var(--eq-u));
	}

	.eq-member__photo,
	.eq-member__body {
		grid-column: 1;
	}

	.eq-member__photo img {
		width: 100%;
		height: calc(320 * var(--eq-u));
	}

	.eq-member__linkedin {
		position: static;
		display: block;
		margin-top: calc(24 * var(--eq-u));
	}

	.eq-team__list {
		margin-top: calc(48 * var(--eq-u));
	}

	.eq-team__head {
		max-width: none;
	}
}

@media (max-width: 720px) {
	:root {
		--eq-panel-radius: 36px;
		--eq-gutter: 18px;
	}

	body {
		font-size: 16px;
	}

	.eq-hero {
		min-height: 520px;
		padding-bottom: 140px;
	}

    .eq-deal{
        padding:20px;
    }
	.eq-hero.eq-hero--bare {
		min-height: 380px;
	}

	.eq-hero__bar-wrap {
		padding-top: 24px;
	}

	.eq-hero__crumb {
		font-size: 15px;
	}

	.eq-services,
	.eq-ipo__grid,
	.eq-realestate__grid {
		grid-template-columns: 1fr;
	}

	.eq-overview {
		padding-bottom: 160px;
	}

	.eq-preipo {
		padding-bottom: 180px;
	}

	.eq-realestate {
		padding-bottom: calc(240 * var(--eq-u));
	}

	.eq-deals {
		margin-top: calc(-180 * var(--eq-u));
	}

	.eq-tab {
		padding: 0 20px;
		gap: 18px;
	}

	.eq-tab.is-active {
		padding: 1px 21px;
	}

	.eq-tab__label {
		font-size: 19px;
	}

	.eq-tabpanel__caption {
		padding: 80px 20px 24px;
	}

	.eq-tabpanel__text {
		font-size: 18px;
	}

	.eq-step {
		flex-direction: column;
		gap: calc(18 * var(--eq-u));
		padding: calc(24 * var(--eq-u));
	}

	.eq-member__name {
		font-size: calc(30 * var(--eq-u));
	}

	.eq-member__points {
		gap: calc(20 * var(--eq-u));
	}

	.eq-footer__list {
		flex-direction: column;
	}

	.eq-footer__credit {
		margin-left: 0;
	}

	.eq-to-top {
		position: static;
		display: block;
		margin: 24px 0 0 auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		transition-duration: 0.001ms !important;
	}
}


.eq-journey--scrub .eq-journey__scroller {
	overflow-x: hidden;
	scroll-behavior: auto;
}

.eq-journey--scrub .eq-journey__rail {
	will-change: transform;
}

.eq-journey--scrub .eq-journey__track-progress {
	transition: none;
}

