/* shown when the AOS script is unavailable, so content is never left hidden */
.no_aos [data-aos] {opacity:1 !important; transform:none !important;}

/* header.js prints the default inner hero; this page has its own */
.inner.exhibit .hero {display:none;}


/* FLOATING BOOK BUTTON */

.exhibit_float_btn {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 98;
	padding: 13px 26px;
	border-radius: 30px;
	font-size: 14px;
	line-height: 20px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #010926;
	background: linear-gradient(90deg, #36c7ff, #7fdcff);
	box-shadow: 0 10px 30px rgb(54 199 255 / 35%);
	opacity: 0;
	visibility: hidden;
	transform: translateY(30px);
	transition: 0.4s all ease;
}
.exhibit_float_btn.show {opacity:1; visibility:visible; transform:translateY(0);}
.exhibit_float_btn:hover {color:#010926; box-shadow:0 14px 36px rgb(54 199 255 / 55%); transform:translateY(-3px);}
.exhibit_float_btn i {margin-left:6px; font-size:13px;}


/* COMMON SECTION CSS (odd = dark, even = light) */

.exhibit_scn {
	padding: 100px 0;
	position: relative;
	overflow: hidden;
	scroll-margin-top: 60px;
}
.exhibit_scn .container {position:relative; z-index:2;}
.exhibit_scn h2 {
	font-size: 44px;
	line-height: 50px;
	padding: 0 0 20px;
}
.exhibit_scn .scn_header {max-width:860px; padding:0 0 45px;}
.exhibit_scn .scn_header.text-center {margin:0 auto;}
.exhibit_scn .scn_header p {padding:0;}
.exhibit_scn .lead_tx {
	font-size: 20px;
	line-height: 30px;
	font-weight: 500;
}

.exhibit_scn.scn_dark {background:radial-gradient(900px 480px at 85% 50%, rgb(6 60 188 / 30%), transparent 70%), #010926;}
.exhibit_scn.scn_dark h2, .exhibit_scn.scn_dark h3, .exhibit_scn.scn_dark p, .exhibit_scn.scn_dark li {color:#fff;}

.exhibit_scn.scn_light {background:#f5f8fc;}
.exhibit_scn.scn_light:after {
	content: "";
	position: absolute;
	right: -180px;
	top: -160px;
	width: 560px;
	height: 560px;
	border-radius: 50%;
	background: radial-gradient(circle, rgb(54 199 255 / 20%), transparent 65%);
	pointer-events: none;
}
.exhibit_scn.scn_light h2, .exhibit_scn.scn_light h3 {color:#010926;}
.exhibit_scn.scn_light p, .exhibit_scn.scn_light li {color:#333;}
.exhibit_scn.scn_light .color_tx {color:#063cbc;}
.exhibit_scn.scn_light .eyebrow {color:#063cbc;}
.exhibit_scn.scn_light .eyebrow::after, .exhibit_scn.scn_light .eyebrow_left:before {background:#063cbc;}

/* animated gradient text */
.grad_tx {
	color: #36c7ff;
	background: linear-gradient(90deg, #36c7ff, #8fb4ff 50%, #36c7ff);
	background-size: 200% auto;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	animation: grad_move 6s linear infinite;
}
@keyframes grad_move {
	to {background-position:200% center;}
}

/* button shine */
.exhibit .sub_btn {position:relative; overflow:hidden;}
.exhibit .sub_btn:after {
	content: "";
	position: absolute;
	top: 0;
	left: -80%;
	width: 50%;
	height: 100%;
	background: linear-gradient(100deg, transparent, rgb(255 255 255 / 35%), transparent);
	transform: skewX(-20deg);
	transition: 0.7s left ease;
	pointer-events: none;
}
.exhibit .sub_btn:hover:after {left:130%;}
.exhibit .sub_btn i {transition:0.3s transform ease;}
.exhibit .sub_btn:hover i {transform:translateX(5px);}

/* solid cyan button */
.exhibit .sub_btn.cyan_btn {
	color: #010926;
	font-weight: 700;
	background: linear-gradient(90deg, #36c7ff, #7fdcff);
	border-color: transparent;
}
.exhibit .sub_btn.cyan_btn:hover {color:#010926; background:linear-gradient(90deg, #7fdcff, #36c7ff); transform:translateY(-3px);}

/* text link with arrow */
.arrow_link {
	display: inline-block;
	font-size: 14px;
	line-height: 20px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #fff;
}
.arrow_link i {margin-left:8px; color:#36c7ff; transition:0.3s transform ease;}
.arrow_link:hover {color:#36c7ff;}
.arrow_link:hover i {transform:translateX(6px);}

/* cards with cursor spotlight (--mx / --my are set from the script below) */
.exhibit_bx {
	height: 100%;
	padding: 32px 28px;
	border-radius: 16px;
	position: relative;
	overflow: hidden;
	background: #fff;
	border: 1px solid #dde6f0;
	box-shadow: 0 6px 20px rgb(1 9 38 / 4%);
	transition: 0.4s transform ease, 0.4s border-color ease, 0.4s box-shadow ease;
}
.exhibit_bx:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: radial-gradient(340px circle at var(--mx, 50%) var(--my, 0%), rgb(6 60 188 / 9%), transparent 60%);
	opacity: 0;
	transition: 0.4s opacity ease;
	pointer-events: none;
}
.exhibit_bx:hover {border-color:#063cbc; transform:translateY(-6px); box-shadow:0 22px 45px rgb(1 9 38 / 12%);}
.exhibit_bx:hover:before {opacity:1;}
.exhibit_bx > * {position:relative; z-index:1;}
.exhibit_bx h3 {font-size:22px; line-height:28px; padding:0 0 12px;}
.exhibit_bx p {font-size:15px; line-height:23px; padding:0;}
.exhibit_bx .count {
	display: inline-block;
	font-family: "Outfit", Helvetica, Arial, sans-serif;
	font-size: 42px;
	line-height: 42px;
	font-weight: 700;
	padding: 0 0 16px;
	color: #063cbc;
	background: linear-gradient(135deg, #36c7ff, #063cbc);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.exhibit_row {margin-bottom:-30px;}
.exhibit_row > div {margin-bottom:30px;}


/* 1. HERO */

.exhibit_hero {
	padding: 220px 0 130px;
	position: relative;
	overflow: hidden;
	background: radial-gradient(700px 500px at 0% 100%, rgb(6 60 188 / 35%), transparent 70%), #010926;
}

/* photo collage on the right */
.exhibit_hero .hero_visual {
	position: absolute;
	right: 0;
	top: 0;
	width: 54%;
	height: 100%;
	overflow: hidden;
	/* no hard edge: the collage fades out to the left so it melts into the hero background */
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 42%);
	mask-image: linear-gradient(90deg, transparent, #000 42%);
}
.exhibit_hero .hero_visual_in {
	position: relative;
	width: 100%;
	height: 100%;
	background: #04123f;
	overflow: hidden;
}

/* tiles sit edge to edge in a staggered 6 column grid: 4+2, 2+4, 3+3 */
.exhibit_hero .hero_bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	grid-template-rows: repeat(3, 1fr);
	will-change: transform;
}
.exhibit_hero .hero_tile {
	grid-column: span 3;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
/* layer the script adds to cross-fade a tile to its next photo */
.exhibit_hero .hero_tile {position:relative; overflow:hidden;}
.exhibit_hero .hero_tile_fade {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	opacity: 0;
	transform: scale(1.08);
	transition: 1.5s opacity ease, 1.5s transform ease;
}
.exhibit_hero .hero_tile_fade.show {opacity:1; transform:scale(1);}
.exhibit_hero .hero_tile:nth-child(1), .exhibit_hero .hero_tile:nth-child(4) {grid-column:span 4;}
.exhibit_hero .hero_tile:nth-child(2), .exhibit_hero .hero_tile:nth-child(3) {grid-column:span 2;}

/* one navy wash over all the tiles so the different photos read as a single picture */
.exhibit_hero .hero_visual_in:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	background: linear-gradient(rgb(1 9 38 / 55%), rgb(1 9 38 / 0%) 35%, rgb(1 9 38 / 0%) 60%, rgb(1 9 38 / 80%)), rgb(4 24 92 / 30%);
}

/* dark band behind the menu so the navigation stays readable over the photo */
.exhibit_hero:after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 230px;
	z-index: 1;
	background: linear-gradient(rgb(1 9 38 / 96%) 30%, rgb(1 9 38 / 70%) 62%, rgb(1 9 38 / 0%));
	pointer-events: none;
}
.exhibit_hero .container {position:relative; z-index:2;}
.exhibit_hero .eyebrow {margin-bottom:17px;}
.exhibit_hero h1 {
	font-family: "Outfit", Helvetica, Arial, sans-serif;
	font-size: 42px;
	line-height: 52px;
	font-weight: 400;
	color: #fff;
	letter-spacing: 0.5px;
	padding: 0 0 21px;
}
.exhibit_hero h1 span {display:block; font-weight:700; padding-top:4px;}
.exhibit_hero p {
	font-size: 17px;
	line-height: 28px;
	max-width: 520px;
	padding: 0 0 25px;
	color: rgb(255 255 255 / 88%);
}
.exhibit_hero .hero_meta {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	padding: 0 0 19px;
	margin: 0;
}
.exhibit_hero .hero_meta li {
	color: #fff;
	font-size: 16px;
	line-height: 22px;
	font-weight: 600;
	padding: 0 34px 10px 0;
}
.exhibit_hero .hero_meta li i {color:#36c7ff; margin-right:8px;}
/* both buttons side by side; the row may run past the text column rather than wrap */
.exhibit_hero .hero_btns {display:flex; align-items:center; gap:16px; width:max-content; max-width:none; padding:15px 0 0;}
.exhibit_hero .hero_btns .sub_btn {
	margin: 0;
	padding: 13px 26px;
	font-size: 14px;
	line-height: 20px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	white-space: nowrap;
}
.exhibit_hero .hero_btns .sub_btn.cyan_btn {
	background: #36c7ff;
	border-color: #a8e7ff;
	box-shadow: 0 10px 35px rgb(54 199 255 / 25%) !important;
}
.exhibit_hero .hero_btns .sub_btn.cyan_btn:hover {background:#7fdcff; border-color:#fff;}
.exhibit_hero .hero_btns .sub_btn.navy_btn {
	color: #fff;
	background: #0a1f66;
	border-color: #36c7ff;
	box-shadow: 0 10px 35px rgb(1 9 38 / 45%) !important;
}
.exhibit_hero .hero_btns .sub_btn.navy_btn:hover {color:#010926; background:#36c7ff; border-color:#a8e7ff; transform:translateY(-3px);}


/* 1c. HERO VERSION 3 (same content as version 1; a tilted wall of photos scrolls endlessly on the right) */

/* 680px tall on desktop; the top 160px sits under the header and menu */
.exhibit_hero.hero_v3 {height:680px; padding:160px 0 0; background:radial-gradient(640px 520px at 78% 55%, rgb(6 60 188 / 55%), transparent 70%), radial-gradient(700px 500px at 0% 100%, rgb(6 60 188 / 30%), transparent 70%), #010926;}
.exhibit_hero.hero_v3 .container, .exhibit_hero.hero_v3 .container > .row {height:100%;}
.exhibit_hero.hero_v3 .eyebrow {margin-bottom:18px;}
.exhibit_hero.hero_v3 h1 {font-size:42px; line-height:52px; padding:0 0 22px;}
.exhibit_hero.hero_v3 p {font-size:17px; line-height:27px; padding:0 0 26px;}
.exhibit_hero.hero_v3 .hero_meta {padding:0 0 16px;}
.exhibit_hero.hero_v3 .hero_btns {padding:12px 0 0;}
.exhibit_hero.hero_v3 .hero_btns .sub_btn {padding:13px 22px;}

/* window on the right half: fades out to the left, top and bottom so the wall has no hard edge */
.hero_v3 .hero_wall_wrap {
	position: absolute;
	right: 0;
	top: 0;
	width: 50%;
	height: 100%;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent 4%, #000 34%), linear-gradient(transparent 14%, #000 34%, #000 80%, transparent);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(90deg, transparent 4%, #000 34%), linear-gradient(transparent 14%, #000 34%, #000 80%, transparent);
	mask-composite: intersect;
	pointer-events: none;
}

/* the wall is larger than its window and turned in 3D, so it leans away from the reader */
.hero_v3 .hero_wall {
	position: absolute;
	left: 6%;
	top: -22%;
	width: 108%;
	height: 144%;
	display: flex;
	transform: perspective(1400px) rotateY(-20deg) rotateZ(7deg);
	transform-origin: 50% 50%;
}
.hero_v3 .wall_col {flex:1; padding:0 9px;}

/* each column holds its set of photos twice and slides up by exactly one set, so the loop never shows a gap */
.hero_v3 .wall_track {animation:hero_wall_slide 46s linear infinite;}
.hero_v3 .wall_col:nth-child(2) .wall_track {animation-duration:58s; animation-direction:reverse;}
.hero_v3 .wall_col:nth-child(3) .wall_track {animation-duration:52s;}
@keyframes hero_wall_slide {
	to {transform:translateY(-50%);}
}

/* the 18px gap is padding on the tile holder, not a flex gap, so two sets are exactly twice one set */
.hero_v3 .wall_tile {display:block; padding:0 0 18px;}
.hero_v3 .wall_tile i {
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: 16px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	border: 1px solid rgb(54 199 255 / 45%);
	box-shadow: 0 16px 34px rgb(0 0 0 / 50%);
}

@media(max-width:1199px) {
	.exhibit_hero.hero_v3 {padding-top:175px;}
	.exhibit_hero.hero_v3 h1 {font-size:35px; line-height:44px;}
	.hero_v3 .hero_wall_wrap {width:42%;}
}

/* below desktop the wall becomes a faint backdrop across the whole hero and the fixed height no longer applies */
@media(max-width:991px) {
	.exhibit_hero.hero_v3 {height:auto; padding:180px 0 100px;}
	.exhibit_hero.hero_v3 .container, .exhibit_hero.hero_v3 .container > .row {height:auto;}
	.exhibit_hero.hero_v3 h1 {font-size:40px; line-height:48px;}
	.hero_v3 .hero_wall_wrap {
		width: 100%;
		opacity: 0.3;
		-webkit-mask-image: linear-gradient(transparent 12%, #000 40%, #000 80%, transparent);
		-webkit-mask-composite: source-over;
		mask-image: linear-gradient(transparent 12%, #000 40%, #000 80%, transparent);
		mask-composite: add;
	}
	.hero_v3 .hero_wall {left:-4%;}
}

@media(max-width:767px) {
	.exhibit_hero.hero_v3 {padding:150px 0 80px;}
	.exhibit_hero.hero_v3 h1 {font-size:32px; line-height:40px; padding-bottom:18px;}
	.exhibit_hero.hero_v3 p {padding-bottom:20px;}
	.exhibit_hero.hero_v3 .hero_btns .sub_btn {padding:12px 18px;}
	.hero_v3 .hero_wall_wrap {opacity:0.24;}
	.hero_v3 .hero_wall {left:-30%; width:160%;}
	.hero_v3 .wall_col {padding:0 6px;}
	.hero_v3 .wall_tile {padding-bottom:12px;}
	.hero_v3 .wall_tile i {border-radius:12px;}
}

@media (prefers-reduced-motion: reduce) {
	.hero_v3 .wall_track {animation:none;}
}


/* 2. WHY GSI EXPO */

.why_expo_scn .scn_header {padding-bottom:0;}


/* 3. BUSINESS OPPORTUNITY */

.business_scn .business_points {
	display: flex;
	list-style: none;
	padding: 0;
	margin: 0 -15px;
	counter-reset: point;
}
.business_scn .business_points li {
	flex: 1;
	margin: 0 15px;
	padding: 26px 0 0;
	border-top: 2px solid #1f4675;
	position: relative;
	counter-increment: point;
}
.business_scn .business_points li:before {
	content: "";
	position: absolute;
	left: 0;
	top: -2px;
	width: 56px;
	height: 2px;
	background: linear-gradient(90deg, #36c7ff, #063cbc);
	box-shadow: 0 0 12px rgb(54 199 255 / 70%);
	transition: 0.5s width ease;
}
.business_scn .business_points li:hover:before {width:100%;}
.business_scn .business_points li:after {
	content: "0" counter(point);
	position: absolute;
	right: 0;
	top: 18px;
	font-family: "Outfit", Helvetica, Arial, sans-serif;
	font-size: 46px;
	line-height: 46px;
	font-weight: 700;
	color: transparent;
	-webkit-text-stroke: 1px rgb(54 199 255 / 28%);
	transition: 0.4s all ease;
}
.business_scn .business_points li:hover:after {-webkit-text-stroke-color:rgb(54 199 255 / 75%);}
.business_scn .business_points h3 {
	font-size: 20px;
	line-height: 26px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #36c7ff;
	padding: 0 60px 12px 0;
	min-height: 64px;
}
.exhibit_scn.business_scn .business_points h3 {color:#36c7ff;}
.business_scn .business_points p {font-size:15px; line-height:23px; padding:0; color:rgb(255 255 255 / 82%);}


/* 4. THE MARKET YOU CAN REACH */

.markets_scn .supporting_tx {font-size:19px; line-height:29px; font-weight:600; padding:0;}
.exhibit_scn.markets_scn .supporting_tx {color:#010926;}
.markets_scn .market_list {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
	margin: 0 -10px -16px;
	counter-reset: market;
}
.markets_scn .market_list li {
	flex: 0 0 calc(50% - 20px);
	max-width: calc(50% - 20px);
	margin: 0 10px 16px;
	padding: 18px 20px 18px 62px;
	border-radius: 14px;
	background: #fff;
	border: 1px solid #dde6f0;
	box-shadow: 0 6px 18px rgb(1 9 38 / 4%);
	font-size: 17px;
	line-height: 24px;
	font-weight: 600;
	position: relative;
	counter-increment: market;
	transition: 0.35s all ease;
}
.exhibit_scn.markets_scn .market_list li {color:#010926;}
.markets_scn .market_list li:before {
	content: "0" counter(market);
	position: absolute;
	left: 20px;
	top: 18px;
	font-family: "Outfit", Helvetica, Arial, sans-serif;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #063cbc;
	transition: 0.35s color ease;
}
.exhibit_scn.markets_scn .market_list li:hover {color:#fff; background:#063cbc; border-color:#063cbc; transform:translateX(6px); box-shadow:0 14px 30px rgb(6 60 188 / 28%);}
.markets_scn .market_list li:hover:before {color:#36c7ff;}


/* 5. WHAT EXHIBITORS BRING TO THE FLOOR (accordion: the script below keeps one card open at a time) */

.exhibit_scn.technologies_scn {padding:80px 0; background:radial-gradient(800px 460px at 12% 0%, rgb(54 199 255 / 14%), transparent 70%), radial-gradient(900px 520px at 90% 100%, rgb(6 60 188 / 38%), transparent 70%), #010926;}
.technologies_scn .scn_header {padding-bottom:35px;}
.technologies_scn .tech_grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	align-items: start;
	gap: 20px;
}
.technologies_scn .tech_card {
	border-radius: 18px;
	position: relative;
	overflow: hidden;
	background: linear-gradient(160deg, rgb(255 255 255 / 9%), rgb(255 255 255 / 2%) 60%);
	border: 1px solid rgb(54 199 255 / 20%);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	transition: 0.4s transform ease, 0.4s border-color ease, 0.4s box-shadow ease;
}

/* hover and open: a glossy sheen with a soft glow in the top right corner */
.technologies_scn .tech_card:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: radial-gradient(200px circle at 100% 0%, rgb(54 199 255 / 26%), transparent 70%), linear-gradient(135deg, rgb(255 255 255 / 7%), transparent 45%);
	opacity: 0;
	transition: 0.4s opacity ease;
	pointer-events: none;
}

.technologies_scn .tech_card:hover {border-color:rgb(54 199 255 / 55%); transform:translateY(-4px); box-shadow:0 18px 40px rgb(0 0 0 / 40%);}
.technologies_scn .tech_card:hover:before {opacity:1;}
.technologies_scn .tech_card.open {border-color:rgb(54 199 255 / 55%); transform:none; box-shadow:0 18px 40px rgb(0 0 0 / 40%);}
.technologies_scn .tech_card.open:before {opacity:1;}
.technologies_scn .tech_card > * {position:relative; z-index:1;}
.technologies_scn .tech_card h3 {padding:0; margin:0;}
.technologies_scn .tech_head {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	padding: 18px 20px;
	border: none;
	background: none;
	cursor: pointer;
	text-align: left;
	font-family: "Outfit", Helvetica, Arial, sans-serif;
	font-size: 19px;
	line-height: 24px;
	font-weight: 600;
	color: #fff;
}
.technologies_scn .tech_head:focus {outline:none;}
.technologies_scn .tech_head:focus-visible {outline:2px solid #36c7ff; outline-offset:-5px; border-radius:18px;}
.technologies_scn .tech_title {flex:1;}
.technologies_scn .tech_icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	border-radius: 14px;
	font-size: 19px;
	color: #36c7ff;
	border: 1px solid rgb(54 199 255 / 32%);
	transition: 0.4s all ease;
}
.technologies_scn .tech_card:hover .tech_icon, .technologies_scn .tech_card.open .tech_icon {border-color:rgb(54 199 255 / 70%);}

/* plus that turns into a minus */
.technologies_scn .tech_toggle {
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	position: relative;
	transition: 0.4s all ease;
}
.technologies_scn .tech_toggle:before, .technologies_scn .tech_toggle:after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 12px;
	height: 2px;
	margin: -1px 0 0 -6px;
	border-radius: 2px;
	background: #36c7ff;
	transition: 0.4s all ease;
}
.technologies_scn .tech_toggle:after {transform:rotate(90deg);}
.technologies_scn .tech_card.open .tech_toggle {transform:rotate(180deg);}
.technologies_scn .tech_card.open .tech_toggle:after {transform:rotate(0deg);}

/* the panel slides open by animating its grid row from 0fr to 1fr */
.technologies_scn .tech_panel {
	display: grid;
	grid-template-rows: 0fr;
	transition: 0.45s grid-template-rows ease;
}
.technologies_scn .tech_card.open .tech_panel {grid-template-rows:1fr;}
.technologies_scn .tech_panel_in {
	min-height: 0;
	overflow: hidden;
	visibility: hidden;
	transition: 0s visibility 0.45s;
}
.technologies_scn .tech_card.open .tech_panel_in {visibility:visible; transition-delay:0s;}
.technologies_scn .tech_card ul {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	list-style: none;
	padding: 16px 0 22px;
	margin: 0 20px;
	border-top: 1px solid rgb(54 199 255 / 22%);
}
.technologies_scn .tech_card ul li {
	font-size: 14px;
	line-height: 20px;
	font-weight: 500;
	padding: 5px 13px;
	border-radius: 30px;
	color: rgb(255 255 255 / 90%);
	border: 1px solid rgb(54 199 255 / 30%);
}
.technologies_scn .tech_card.open ul li {animation:tech_chip_in 0.45s ease both;}
.technologies_scn .tech_card.open ul li:nth-child(2) {animation-delay:0.07s;}
.technologies_scn .tech_card.open ul li:nth-child(3) {animation-delay:0.14s;}
.technologies_scn .tech_card.open ul li:nth-child(4) {animation-delay:0.21s;}
@keyframes tech_chip_in {
	from {opacity:0; transform:translateY(10px);}
	to {opacity:1; transform:translateY(0);}
}


/* 6. SHOWCASE YOUR TECHNOLOGY (four points joined by one flowing line; a vertical timeline on tablet and mobile) */

.showcase_scn .showcase_flow {position:relative;}

/* the wave is stretched to the row width and passes through the centre of every circle */
.showcase_scn .flow_line {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 126px;
	overflow: visible;
	pointer-events: none;
}
.showcase_scn .flow_line path {
	fill: none;
	stroke: url(#showcase_flow_grad);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-dasharray: 7 9;
	vector-effect: non-scaling-stroke;
	animation: showcase_flow_move 1.1s linear infinite;
}
@keyframes showcase_flow_move {
	to {stroke-dashoffset:-16;}
}
.showcase_scn .flow_list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	list-style: none;
	padding: 0;
	margin: 0;
	position: relative;
	z-index: 1;
}
.showcase_scn .flow_list li {padding:0 20px; text-align:center;}
.showcase_scn .flow_list li:nth-child(even) {padding-top:50px;}
.showcase_scn .flow_node {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	margin: 0 auto 24px;
	border-radius: 50%;
	position: relative;
	font-size: 26px;
	color: #063cbc;
	background: #fff;
	border: 2px solid #36c7ff;
	box-shadow: 0 0 0 9px rgb(54 199 255 / 16%), 0 14px 30px rgb(6 60 188 / 16%);
	transition: 0.4s all ease;
}
.showcase_scn .flow_node b {
	position: absolute;
	right: -8px;
	top: -8px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	font-family: "Outfit", Helvetica, Arial, sans-serif;
	font-size: 12px;
	line-height: 28px;
	font-weight: 700;
	text-align: center;
	color: #fff;
	background: linear-gradient(135deg, #36c7ff, #063cbc);
	box-shadow: 0 0 0 3px #f5f8fc;
}
.showcase_scn .flow_list li:hover .flow_node {
	color: #fff;
	/* border-box origin runs the gradient under the border too, so the circle keeps one clean edge */
	background: linear-gradient(135deg, #36c7ff, #063cbc) border-box;
	border-color: transparent;
	transform: translateY(-6px);
	box-shadow: 0 0 0 9px rgb(54 199 255 / 22%), 0 14px 30px rgb(6 60 188 / 20%);
}
.showcase_scn .flow_list h3 {font-size:22px; line-height:28px; padding:0 0 10px; transition:0.4s color ease;}
.exhibit_scn.showcase_scn .flow_list li:hover h3 {color:#063cbc;}
.showcase_scn .flow_list p {font-size:15px; line-height:23px; padding:0;}


/* 7. SCALE (numbers count up from the script below) */

.exhibit_scn.scale_scn {background:radial-gradient(700px 380px at 50% 58%, rgb(54 199 255 / 16%), transparent 70%), radial-gradient(900px 480px at 85% 50%, rgb(6 60 188 / 30%), transparent 70%), #010926;}
.scale_scn .scale_stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
	list-style: none;
	padding: 0 0 45px;
	margin: 0;
}
/* each figure sits in a glass circle */
.scale_scn .scale_stats li {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 230px;
	aspect-ratio: 1;
	margin: 0 auto;
	padding: 0 14px;
	border-radius: 50%;
	text-align: center;
	position: relative;
	background: radial-gradient(circle at 50% 22%, rgb(54 199 255 / 20%), rgb(255 255 255 / 3%) 68%);
	border: 1px solid rgb(54 199 255 / 22%);
	box-shadow: 0 18px 40px rgb(0 0 0 / 35%), inset 0 0 40px rgb(54 199 255 / 10%);
	transition: 0.4s transform ease, 0.4s box-shadow ease;
}

/* bright arc that keeps travelling round the rim (the mask leaves only a 3px ring of the gradient) */
.scale_scn .scale_stats li:before {
	content: "";
	position: absolute;
	left: -1px;
	top: -1px;
	right: -1px;
	bottom: -1px;
	padding: 3px;
	border-radius: 50%;
	background: conic-gradient(rgb(54 199 255 / 0%) 0%, rgb(54 199 255 / 0%) 50%, #36c7ff 88%, #fff 100%);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
	animation: scale_ring_turn 5s linear infinite;
	pointer-events: none;
}
.scale_scn .scale_stats li:nth-child(2):before {animation-delay:-1.25s;}
.scale_scn .scale_stats li:nth-child(3):before {animation-delay:-2.5s;}
.scale_scn .scale_stats li:nth-child(4):before {animation-delay:-3.75s;}
@keyframes scale_ring_turn {
	to {transform:rotate(360deg);}
}
.scale_scn .scale_stats li:hover {transform:translateY(-6px); box-shadow:0 26px 50px rgb(0 0 0 / 45%), 0 0 45px rgb(54 199 255 / 28%), inset 0 0 50px rgb(54 199 255 / 18%);}
.scale_scn .scale_stats li > * {position:relative; z-index:1;}
.scale_scn .scale_stats i {
	display: block;
	font-size: 22px;
	line-height: 22px;
	padding: 0 0 16px;
	color: #36c7ff;
}
.scale_scn .scale_stats b {
	display: block;
	font-family: "Outfit", Helvetica, Arial, sans-serif;
	font-size: 52px;
	line-height: 58px;
	font-weight: 700;
	letter-spacing: 0.5px;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	/* brighter than the usual gradient text, with a glow, so the figure is the first thing read */
	background-image: linear-gradient(90deg, #fff, #36c7ff 50%, #fff);
	filter: drop-shadow(0 0 22px rgb(54 199 255 / 45%));
}
.scale_scn .scale_stats span {
	display: block;
	font-size: 15px;
	line-height: 22px;
	font-weight: 600;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: rgb(255 255 255 / 85%);
	padding: 6px 0 0;
}
.scale_scn .scale_tx {max-width:760px; margin:0 auto; padding:0; text-align:center; font-size:20px; line-height:30px; font-weight:500;}


/* 8. FINAL CTA */

/* sits straight on the light section: heading and price block are only as wide as their content and centred as a pair, one line between them */
.exhibit_cta_scn .cta_unit {
	display: flex;
	align-items: stretch;
	justify-content: center;
}
.exhibit_cta_scn .cta_head {
	flex: 0 1 auto;
	display: flex;
	align-items: center;
	padding: 10px 44px 10px 0;
}
.exhibit_scn.exhibit_cta_scn h2 {font-size:46px; line-height:54px; padding:0;}
.exhibit_cta_scn h2 .grad_tx {color:#063cbc; background-image:linear-gradient(90deg, #063cbc, #36c7ff); background-size:100% auto; animation:none;}
.exhibit_cta_scn .cta_price {
	flex: 0 0 auto;
	width: 430px;
	max-width: 44%;
	padding: 10px 0 10px 44px;
	border-left: 2px solid rgb(6 60 188 / 22%);
}
.exhibit_cta_scn .cta_price > span {
	display: block;
	font-size: 14px;
	line-height: 20px;
	font-weight: 700;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: #063cbc;
	padding: 0 0 6px;
}
.exhibit_cta_scn .cta_rates {
	list-style: none;
	padding: 0 0 28px;
	margin: 0;
}
.exhibit_scn.exhibit_cta_scn .cta_rates li {
	padding: 12px 0;
	font-family: "Outfit", Helvetica, Arial, sans-serif;
	font-size: 34px;
	line-height: 40px;
	font-weight: 700;
	color: #010926;
	border-bottom: 1px solid rgb(6 60 188 / 16%);
}
.exhibit_cta_scn .cta_rates small {font-size:17px; font-weight:500; color:#4a5878; margin-left:6px;}
.exhibit_cta_scn .sub_btn.cta_btn {
	display: block;
	margin: 0;
	padding: 17px 20px;
	border-radius: 40px;
	font-size: 16px;
	line-height: 24px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	text-align: center;
	color: #fff;
	background: linear-gradient(90deg, #063cbc, #0b6fe0) border-box;
	box-shadow: 0 16px 34px rgb(6 60 188 / 32%) !important;
}
.exhibit_cta_scn .sub_btn.cta_btn:hover {color:#fff; background:linear-gradient(90deg, #0b6fe0, #36c7ff) border-box; transform:translateY(-3px);}


@media(max-width:1199px) {
	.exhibit_hero h1 {font-size:38px; line-height:46px;}
	.business_scn .business_points h3 {font-size:18px; line-height:24px; min-height:84px;}
	.scale_scn .scale_stats b {font-size:44px; line-height:50px;}
	.scale_scn .scale_stats span {font-size:13px; letter-spacing:0.1em;}
	.exhibit_scn.exhibit_cta_scn h2 {font-size:40px; line-height:48px;}
	.exhibit_cta_scn .cta_head {padding-right:36px;}
	.exhibit_cta_scn .cta_price {padding-left:36px;}
	.exhibit_scn.exhibit_cta_scn .cta_rates li {font-size:30px; line-height:36px;}
	.exhibit_cta_scn .sub_btn.cta_btn {font-size:14px;}
}

@media(max-width:991px) {
	.exhibit_scn {padding:80px 0;}
	.exhibit_scn h2 {font-size:36px; line-height:42px;}
	.exhibit_hero {padding:180px 0 100px;}
	.exhibit_hero .hero_visual {width:100%; opacity:0.35; -webkit-mask-image:none; mask-image:none;}
	.exhibit_hero .hero_btns {flex-wrap:wrap; width:auto;}
	.business_scn .business_points {flex-wrap:wrap; margin-bottom:-35px;}
	.business_scn .business_points li {flex:0 0 calc(50% - 30px); max-width:calc(50% - 30px); margin-bottom:35px;}
	.business_scn .business_points h3 {min-height:0;}
	.markets_scn .market_list {padding-top:35px;}
	.showcase_scn .showcase_flow {max-width:560px; margin:0 auto;}
	.showcase_scn .flow_line {display:none;}
	.showcase_scn .flow_list {display:block;}
	.showcase_scn .flow_list li, .showcase_scn .flow_list li:nth-child(even) {
		display: grid;
		grid-template-columns: auto 1fr;
		column-gap: 26px;
		align-content: start;
		padding: 0 0 38px;
		text-align: left;
		position: relative;
	}
	.showcase_scn .flow_list li:last-child {padding-bottom:0;}
	.showcase_scn .flow_list li:not(:last-child):before {
		content: "";
		position: absolute;
		left: 37px;
		top: 76px;
		bottom: 0;
		border-left: 2px dashed rgb(6 60 188 / 40%);
	}
	.showcase_scn .flow_node {grid-row:1 / span 2; margin:0;}
	.showcase_scn .flow_list h3 {align-self:end;}
	.exhibit_scn.technologies_scn {padding:70px 0;}
	.technologies_scn .tech_grid {grid-template-columns:repeat(2, 1fr); gap:18px;}
	.scale_scn .scale_stats {grid-template-columns:repeat(2, 1fr); padding-bottom:40px;}
	.scale_scn .scale_stats {max-width:520px; margin:0 auto; gap:30px;}
	.scale_scn .scale_stats b {font-size:52px; line-height:58px;}
	.scale_scn .scale_stats span {font-size:15px;}
	.exhibit_cta_scn .cta_unit {display:block;}
	.exhibit_cta_scn .cta_head {padding:0 0 30px;}
	.exhibit_cta_scn .cta_price {width:auto; max-width:520px; padding:30px 0 0; border-left:none; border-top:2px solid rgb(6 60 188 / 22%);}
	.exhibit_cta_scn .sub_btn.cta_btn {font-size:16px;}
}

@media(max-width:767px) {
	.exhibit_scn {padding:60px 0;}
	.exhibit_scn h2 {font-size:30px; line-height:36px;}
	.exhibit_scn .lead_tx {font-size:18px; line-height:27px;}
	.exhibit_hero {padding:150px 0 80px;}
	.exhibit_hero .hero_visual {opacity:0.22;}
	.exhibit_hero h1 {font-size:32px; line-height:40px; padding-bottom:20px;}
	.exhibit_hero .eyebrow {margin-bottom:16px;}
	.exhibit_hero p {padding-bottom:22px;}
	.exhibit_hero .hero_meta {padding-bottom:16px;}
	.exhibit_hero .hero_btns {gap:12px;}
	.exhibit_hero .hero_btns .sub_btn {padding:12px 18px; font-size:13px;}
	.exhibit_bx {padding:26px 20px;}
	.business_scn .business_points {display:block; margin:0;}
	.business_scn .business_points li {max-width:100%; margin:0 0 30px;}
	.business_scn .business_points li:last-child {margin-bottom:0;}
	.markets_scn .supporting_tx {font-size:17px; line-height:26px;}
	.showcase_scn .flow_list li, .showcase_scn .flow_list li:nth-child(even) {column-gap:20px; padding-bottom:30px;}
	.showcase_scn .flow_node {width:60px; height:60px; font-size:21px; box-shadow:0 0 0 6px rgb(54 199 255 / 16%), 0 10px 24px rgb(6 60 188 / 16%);}
	.showcase_scn .flow_list li:not(:last-child):before {left:29px; top:60px;}
	.showcase_scn .flow_list h3 {font-size:20px; line-height:26px;}
	.markets_scn .market_list {margin:0;}
	.markets_scn .market_list li {flex:0 0 100%; max-width:100%; margin:0 0 12px;}
	.exhibit_scn.technologies_scn {padding:55px 0;}
	.technologies_scn .tech_grid {grid-template-columns:1fr; gap:14px;}
	.technologies_scn .tech_head {padding:16px 16px; font-size:18px;}
	.technologies_scn .tech_card ul {margin:0 16px;}
	.scale_scn .scale_stats {gap:12px; padding-bottom:30px;}
	.scale_scn .scale_stats li {padding:0 8px;}
	.scale_scn .scale_stats i {font-size:15px; line-height:15px; padding-bottom:8px;}
	.scale_scn .scale_stats b {font-size:32px; line-height:38px;}
	.scale_scn .scale_stats span {font-size:11px; line-height:16px; letter-spacing:0.06em; padding-top:4px;}
	.scale_scn .scale_tx {font-size:18px; line-height:27px;}
	.exhibit_scn.exhibit_cta_scn h2 {font-size:30px; line-height:38px;}
	.exhibit_cta_scn .cta_head {padding-bottom:24px;}
	.exhibit_cta_scn .cta_price {padding-top:24px;}
	.exhibit_scn.exhibit_cta_scn .cta_rates li {font-size:26px; line-height:32px; padding:10px 0;}
	.exhibit_cta_scn .cta_rates small {font-size:15px;}
	.exhibit_cta_scn .sub_btn.cta_btn {padding:14px 16px; font-size:13px; line-height:22px;}
	.exhibit_float_btn {right:12px; bottom:12px; padding:11px 20px; font-size:13px;}
}

@media (prefers-reduced-motion: reduce) {
	.grad_tx, .technologies_scn .tech_card.open ul li, .showcase_scn .flow_line path, .scale_scn .scale_stats li:before {animation:none;}
	.technologies_scn .tech_panel {transition:none;}
}