/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/* Hero */


.hero-image-top-left,
.hero-image-top-right,
.hero-image-bottom-left,
.hero-image-bottom-center,
.hero-image-bottom-right {
	box-shadow: 20px 20px 50px 0px #00000026;
}

@media(min-width: 991px) and (max-width: 1260px) {
	.hero-subtitle {
		width: 360px !important;
	}
	.hero-image-top-left {
		top: 0 !important;
		left: 20% !important;
	}

	.hero-image-top-right {
		top: 0 !important;
		right: 12% !important;
	}

	.hero-image-bottom-left {
		bottom: 5% !important;
		left: 1.5% !important;
	}

	.hero-image-bottom-center {
		bottom: 0 !important;
		left: 50% !important;
		transform: translateX(-50%) scale(0.9) !important;
	}

	.hero-image-bottom-right {
		right: 1.5% !important;
		bottom: 10% !important;
	}
}

@media(min-width: 479px) and (max-width: 1260px) {
	.hero-headline {
		transform-origin: left;
		transform: scale(0.9) !important;
	}
	.hero-subtitle {
		transform-origin: left;
		transform: scale(0.9) !important;
	}
	.hero-image-top-left {
		transform: scale(0.9) !important;
	}

	.hero-image-top-right {
		transform: scale(0.9) !important;
	}

	.hero-image-bottom-left {
		transform: scale(0.9) !important;
	}

	.hero-image-bottom-right {
		transform: scale(0.9) !important;
	}
}

@media(min-width: 479px) and (max-width: 767px) {	
	.hero-headline {
		transform: scale(0.7) !important;
		transform-origin: left;
	}
	#brxe-herocd {
		height: 600px !important;
		margin-left: 0 !important;
	}
	
	#brxe-wufpmp {
		padding-top: 135px !important;
	}
	
	.hero-image-bottom-center {
		transform: scale(0.9) !important;
		top: 565px !important;
	}
	
	.hero-subtitle > * {
		margin-left: 0 !important;
	}
	
	.hero-image-bottom-right {
		top: 380px !important;
	}
	
	.hero-image-top-left {
		left: 0 !important;
	}
}

@media(max-width: 620px) {
	.hero-headline {
		transform: scale(1) !important;
		transform-origin: left;
	}
	
	.hero-title {
		font-size: 38px !important;
        line-height: 1.2 !important;
	}
	
	.hero-image-bottom-right {
		right: -26px !important;
	}
	
	.hero-image-bottom-left {
		height: auto !important;
	}
	
	.hero-image-bottom-center {
		right: 51px !important;
		left: auto !important;
	}
	
	.hero-image-top-right {
		right: 24px !important;
	}
	
	#brxe-lpygml {
		margin-top: 0 !important;
	}
	
	#brxe-tipihp {
		margin-bottom: 9px !important;
	}
}

@media(max-width: 360px) {
	.hero-image-bottom-right {
		display: none !important;
	}
}

/* Filters */
/* lock icon size so loop items stay consistent */
[data-filter] .filter-icon-empty,
[data-filter] .filter-icon-filled { width:20px; height:20px; flex:0 0 20px; }

/* filled/empty swap, driven by selection (JS toggles .is-selected) */
[data-filter] .filter-icon-filled { display:none; }
[data-filter] .filter-icon-empty  { display:inline-flex; }
[data-filter].is-selected .filter-icon-filled { display:inline-flex; }
[data-filter].is-selected .filter-icon-empty  { display:none; }

.filter-empty { padding:2rem 0; opacity:.7; }

#brxe-hhogaz .x-accordion_title,
#brxe-hhogaz .brxe-pjoxgg .brxe-eiwtei.brxe-text-basic,
#brxe-hhogaz .brxe-pjoxgg,
#brxe-hhogaz .x-accordion_content-inner .brxe-block .brxe-text-basic,
#brxe-hhogaz .x-accordion_content-inner .brxe-block {
	transition: 0.3s;
	cursor: pointer;
} 

#brxe-hhogaz .x-accordion_title:hover,
#brxe-hhogaz .brxe-pjoxgg:hover .brxe-eiwtei.brxe-text-basic,
#brxe-hhogaz .x-accordion_content-inner .brxe-block:hover .brxe-text-basic {
	color: #FF4D00;
} 

/* bento grid */
.bento-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem 2.5rem !important;
	align-items: start;            /* lets titles stagger naturally */
}

.bento-grid > * {
	width: 100% !important;
}

/* big cards: 1st and 4th of every 4 -> span 2 cols, taller image */
.bento-grid > *:nth-child(4n + 1),
.bento-grid > *:nth-child(4n) { 
	grid-column: span 2; 
}

.bento-grid > *:nth-child(4n + 1) .bento-img,
.bento-grid > *:nth-child(4n) .bento-img {
	aspect-ratio: 8.87 / 5.29; 
}

/* small cards: 2nd and 3rd -> span 1 col, shorter image */
.bento-grid > *:nth-child(4n + 2) .bento-img,
.bento-grid > *:nth-child(4n + 3) .bento-img { 
	aspect-ratio: 4.31 / 3.05; 
}

.bento-grid > *:nth-child(4n + 2) .bento-img-wrapper,
.bento-grid > *:nth-child(4n + 3) .bento-img-wrapper { 
	margin-top: 40px;
}

.bento-img-wrapper {
	overflow: hidden;
	border-radius: 35px;
}

.bento-img {
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 35px;
	transition: 0.3s;
}

.bento-card:hover .bento-title {
	text-decoration: underline;
}

.bento-card:hover .bento-img {
	transform: scale(1.1);
}

.bento-cat {
	text-transform: uppercase;
}

/* mobile: single column, uniform */
@media (max-width: 767px) {
	.bento-grid { 
		grid-template-columns: 1fr; 
	}
	
	.bento-grid > * { 
		grid-column: span 1 !important; 
	}
	.bento-grid > * .bento-img { 
		aspect-ratio: 16 / 10 !important; 
	}
	
	.bento-grid > *:nth-child(4n + 2) .bento-img-wrapper,
	.bento-grid > *:nth-child(4n + 3) .bento-img-wrapper { 
		margin-top: 0;
	}
}

/* Insights Title Ellipsis */
.insights-title-ellipsis {
  display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

/* About us - Our Group*/
a.our-group-card:hover .our-group-link-text {
  text-decoration: underline;
}

.our-group-card:hover svg path {
	fill: #fff !important;
}
.our-group-card-studio-certain:hover .our-group-card-top-bg {
	background-color: #0030FF !important;
}

.our-group-card-mba:hover .our-group-card-top-bg {
	background-color: #FC450A !important;
}

.our-group-card-mba-pulse .our-group-card-top-bg{
    position: relative;
    overflow: hidden;
}

/* Gradient layer */
.our-group-card-mba-pulse .our-group-card-top-bg::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(17.33deg, #C200FF 28.01%, #51FFFF 100%) !important;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

/* Fade gradient in */
.our-group-card-mba-pulse:hover .our-group-card-top-bg::before {
    opacity: 1;
}

/* Keep content above gradient */
.our-group-card-mba-pulse .our-group-card-top-bg > * {
    position: relative;
    z-index: 1;
}

.our-group-card-mba-pulse:hover .our-group-card-top-bg {
	background: linear-gradient(17.33deg, #C200FF 28.01%, #51FFFF 100%) !important;
}

.our-group-card-mba-pulse .our-group-card-top-bg svg path:nth-of-type(-n+6) {
    transition: fill 0.3s ease;
}

.our-group-card-mba-pulse:hover .our-group-card-top-bg svg path:nth-of-type(-n+6) {
    fill: transparent !important;
}

.our-group-card-video-smart:hover .our-group-card-top-bg {
	background-color: #0E0E0E !important;
}

.our-group-card-vidiu:hover .our-group-card-top-bg {
	background-color: #00DB8F !important;
}



/*
  .animated-card-wrapper {
    view-timeline-name: --cards-tl;
    view-timeline-axis: block;
  }
  
  .animated-card {
    position: relative;
    top: 0;
    animation-fill-mode: both;
    animation-timeline: --cards-tl;
  }

  .animated-card:nth-child(1) { z-index: 1; }
  .animated-card:nth-child(2) { z-index: 2; }
  .animated-card:nth-child(3) { z-index: 3; }

  .animated-card:nth-child(2) { animation-name: stack2; animation-range: cover 42% cover 62%; }
  .animated-card:nth-child(3) { animation-name: stack3; animation-range: cover 42% cover 62%; }

  @keyframes stack2 { to { transform: translateY(-151px); } }
  @keyframes stack3 { to { transform: translateY(-302px); } }

  .animated-card:nth-child(1) .animated-card-title {
    animation-name: fadeTitle; animation-fill-mode: both;
    animation-timeline: --cards-tl; animation-range: cover 42% cover 55%;
  }
  .animated-card:nth-child(2) .animated-card-title {
    animation-name: fadeTitle; animation-fill-mode: both;
    animation-timeline: --cards-tl; animation-range: cover 50% cover 62%;
  }
  @keyframes fadeTitle { to { opacity: 0; } }
*/

/* challenges-dropdown-title-wrapper */
#the-challenge .accordion-custom .challenges-dropdown-icon {
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	margin: 0 !important;
	right: 24px !important;
}

@media(min-width: 991px) and (max-width: 1200px) {
	.challenges-dropdown-title-wrapper > .brxe-icon {
		margin-right: 0 !important;
		width: 30px;
		height: 30px;
		margin-top: 0 !important;
	}
	
	.accordion-custom .accordion-title-wrapper {
		padding-left: 16px !important;
	}
	
	#the-challenge .accordion-custom .challenges-dropdown-icon {
		right: 16px !important;
	}
}

/* Custom Switch */
.custom-switch {
	cursor: pointer;
}

.custom-switch-dot {
	position: absolute;
	top: 50%; 
	left: 9px;
	transform: translateY(-50%);                 /* vertical center - drop if not needed */
	transition: left .3s ease, transform .3s ease;
} 

/* toggled state */
.custom-switch.is-on .custom-switch-dot {
	left: calc(100% - 9px);                       /* anchor to the right edge... */
	transform: translate(-100%, -50%);            /* ...then pull back by its own width -> sits 6px from right */
}

/* stack both entries in a single grid cell -> they overlap, group = tallest entry */
.custom-switch-content-group { display: grid; }
.custom-switch-content-entry { grid-area: 1 / 1; }

/* shown state */
.custom-switch-content-entry {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity .4s ease, transform .4s ease, visibility 0s;
} 

/* hidden state (2nd child by default) */
.custom-switch-content-entry:nth-child(2) {
	opacity: 0;
	visibility: hidden;                 /* also kills clicks + hides from screen readers */
	transform: translateY(12px);        
	transition: opacity .4s ease, transform .4s ease, visibility 0s linear .4s;
} 

/* toggled: swap them */
.custom-switch-content-group.is-on .custom-switch-content-entry:nth-child(1) {
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity .4s ease, transform .4s ease, visibility 0s linear .4s;
} 
.custom-switch-content-group.is-on .custom-switch-content-entry:nth-child(2) {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity .4s ease, transform .4s ease, visibility 0s;
}

.custom-switch-title  {
	cursor: pointer;
	transition: 0.3s;
}

.custom-switch-title:hover  {
	opacity: 0.67;
}

@media(max-width: 480px) {
	.custom-switch-dot {
		left: 9px;
	} 

	/* toggled state */
	.custom-switch.is-on .custom-switch-dot {
		left: calc(100% - 9px);   
	}
	
	.custom-switch {
		height: auto !important;
	}
}

/* Slider Our Solutions */
#brxe-odkurb .slider-content {
	margin-left: 24px !important;
}

#brxe-odkurb .swiper-button {
	margin-left: 24px !important;
}

@media(max-width: 479px) {
	#brxe-odkurb .swiper-button {
		padding-top: 0 !important;
		width: 30px !important;
		height: 30px !important;
	}
	
	#brxe-odkurb .swiper-button.bricks-swiper-button-next {
		left: 36px !important;
	}
}

@layer bricks {
	/* everything fits -> arrows disappear */
	#brxe-odkurb .swiper-button.swiper-button-lock {
		display: none !important;
	}
	/* at an end -> dimmed + not clickable */
	#brxe-odkurb .swiper-button.swiper-button-disabled {
		filter: opacity(.3) grayscale(1) !important;   /* filter, NOT opacity - opacity is force-set to 1 */
		pointer-events: none !important;
	}
}

/* Slider Why they trust us */
.brxe-errmki.brxe-block {
	margin-left: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	justify-content: flex-start;
}

@media(min-width: 481px) {
	#brxe-vzdkrb .splide__arrow {
		margin-left: 16px !important;
	}
}



#brxe-gvqvhz .wp-block-paragraph:not(:last-child) {
	margin-bottom: 16px;
}

@media(max-width: 991px) {
	#brxe-vzdkrb .splide__arrows.custom .splide__arrow--next {
		left: 36px !important;
	}

	#brxe-vzdkrb .splide__arrows.custom .splide__arrow {
		bottom: 42px !important;
	}	
	
	#brxe-0d0a30 .splide__arrow.splide__arrow--prev {
		left: 16px !important;
	}
	
	#brxe-0d0a30 .splide__arrow.splide__arrow--next {
		margin-left: 0 !important;
	}
	
	#brxe-5d3bad .slider-content {
		margin-left: 24px !important;
	}
	
	#brxe-5d3bad .bricks-swiper-button-next {
		margin-left: 0 !important;
	}
	
	#brxe-5d3bad .bricks-swiper-button-prev {
		margin-left: 24px !important;
	}
}

@media(max-width: 480px) {
	    #brxe-vzdkrb .splide__arrow svg {
        height: 30px !important;
        width: 30px !important;
    }
	
	#brxe-5d3bad .bricks-swiper-button-next {
		margin-left: 20px !important;
	}
	
	#brxe-0d0a30 .splide__arrow.splide__arrow--prev {
		left: 0 !important;
	}
	
	#brxe-0d0a30 .splide__arrow.splide__arrow--next {
		left: 30px !important;
	}
}

/* Filter Grid */
.filter-grid > .brxe-div { position: relative; }
.filter-grid > .brxe-div .card-link {
    position: absolute;
    inset: 0; 
    z-index: 2;      /* sits above the card, makes the whole thing clickable */
    font-size: 0;
  }

/* ========================================
   POST TEMPLATE
   ======================================== */


/* ========================================
   SPACING VARIABLES
   ======================================== */

.brxe-post-content {
  --paragraph-spacing: 30px;
  --blockquote-spacing: var(--paragraph-spacing);
}

/* Reduce general block spacing on mobile */
@media (max-width: 767px) {
  .brxe-post-content {
    --paragraph-spacing: 24px;
  }
}


/* ========================================
   DEFAULT TYPOGRAPHY
   ======================================== */

.brxe-post-content,
.brxe-post-content > * {
  font-family: "Inter";
}


/* ========================================
   HEADINGS
   ======================================== */

/* H1 + H2 use GT Super Display */
.brxe-post-content h1.wp-block-heading,
.brxe-post-content h2.wp-block-heading {
  font-family: "GT-Super-Display" !important;
}

/* H3–H6 use Inter */
.brxe-post-content h3.wp-block-heading,
.brxe-post-content h4.wp-block-heading,
.brxe-post-content h5.wp-block-heading,
.brxe-post-content h6.wp-block-heading {
  font-family: "Inter" !important;
}


/* ========================================
   HEADING / PARAGRAPH SPACING
   ======================================== */

/* Space between heading and paragraph directly below */
.brxe-post-content h1 + p,
.brxe-post-content h2 + p,
.brxe-post-content h3 + p,
.brxe-post-content h4 + p,
.brxe-post-content h5 + p,
.brxe-post-content h6 + p {
  margin-top: 20px;
}

/* Heading bottom spacing */
.brxe-post-content h2,
.brxe-post-content h3,
.brxe-post-content h4 {
  margin-bottom: 20px;
}

/* Normal paragraph-to-paragraph spacing */
.brxe-post-content p {
  margin-bottom: 24px;
}


/* ========================================
   PARAGRAPHS
   ======================================== */

.brxe-post-content .wp-block-paragraph {
  font-family: "Inter" !important;
  font-size: 20px !important;
  line-height: 26px !important;
  letter-spacing: -0.4px !important;
}


/* Gutenberg Medium font-size preset */
.brxe-post-content .has-medium-font-size {
  font-size: 30px !important;
  line-height: 36px !important;
}


/* ========================================
   FEATURED VALUES
   ======================================== */

.featured-values {
  margin-top: var(--paragraph-spacing);
  gap: 12px !important;
}


/* Large featured value / heading */
.featured-values .wp-block-heading,
.featured-values .fv-value {
  font-family: "GT-Super-Display";
  font-weight: 400;
  font-style: normal;
  font-size: clamp(88px, 8vw, 130px);
  line-height: 100%;
  letter-spacing: 0;
  color: #FF4D00;
}


/* Featured value paragraph / caption */
.featured-values .wp-block-paragraph,
.featured-values .fv-caption {
  font-family: "Inter";
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  line-height: 26px;
  letter-spacing: -0.4px;
}


/* Smaller featured value caption */
.featured-values .fv-caption {
  font-size: 16px;
  letter-spacing: -0.32px;
}


@media (max-width: 767px) {
  .featured-values .fv-caption {
    font-size: 14px;
    letter-spacing: -0.28px;
  }
}


/* ========================================
   EMBEDS / IMAGES / TABLES / VIDEO
   ======================================== */

.wp-block-embed,
.wp-block-image:not(.alignleft):not(.aligncenter):not(.alignright):not(.alignwide):not(.alignfull),
.wp-block-table,
.wp-block-video {
  margin-block: var(--paragraph-spacing);
}


/* ========================================
   BLOCKQUOTES
   ======================================== */

.wp-block-quote {
  margin-block: var(--blockquote-spacing);
}

.wp-block-quote.is-style-default {
  padding-left: 0;
  border-left: none;
}


/* ========================================
   POST IMAGES
   ======================================== */

.brxe-post-content .wp-block-image img {
  border-radius: 35px;
}

/* Main menu*/
#brx-header {
	background: #fff;
	z-index: 999;
}

/* .main-menu .level-one,
.main-menu .level-one .brx-submenu-toggle a,
.main-menu .level-one .brx-submenu-toggle span {
	color: #000 !important;
	font-size: 14px;
	font-weight: 500;
	font-family: "Inter";
} */

.main-menu .level-one:hover,
.main-menu .level-one .brx-submenu-toggle span:hover,
.main-menu .level-one .brx-submenu-toggle a:hover {
	font-weight: 600;
}

.main-menu .brx-nav-nested-items > .menu-item:last-child {
	margin-left: auto;
}

.main-menu .contact-btn {
	display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #FF4D00;
    color: #ffffff;
    padding: 12px 24px;
    border-radius: 100px;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s;
}

.main-menu .menu-search {
	flex-direction: row-reverse;
}

.main-menu .brx-dropdown-content .menu-item {
	width: 100%;
}

.main-menu .brx-dropdown-content .menu-item .brx-grid a,
.main-menu .brx-dropdown-content .brxe-post-excerpt {
	color: #0E0E0E
}

.main-menu .brx-dropdown-content .menu-item .brx-grid a svg {
	transition: 0.3s;
}

.main-menu .brx-dropdown-content .menu-item .brx-grid a:hover svg, 
.brx-dropdown-content .menu-item a:hover .brxe-heading,
.brx-dropdown-content .menu-item a:hover .brxe-text-basic {
	color: #FF4D00;
}

.brx-dropdown-content .menu-item a:hover .brxe-heading {
	text-decoration: underline;
}

.main-menu .brx-dropdown-content .menu-item .brx-grid .brxe-block:last-child {
	border-right: none !important;
}

@media(min-width: 992px) {
	.main-menu .level-one:has([aria-current="page"]),
	.main-menu .level-one:has(.aria-current),
	.main-menu .level-one[aria-current="page"] {
		box-shadow: inset 0 -4px 0 0 #FF4D00;
	}
}

@media(max-width: 991px) {
	.main-menu .level-one:has([aria-current="page"]),
	.main-menu .level-one:has(.aria-current),
	.main-menu .level-one[aria-current="page"],
	.main-menu .level-one:has(.aria-current) span {
		color: #FF4D00 !important;
	}
}

.main-menu .level-one [aria-current="page"] .brxe-heading {
	color: #FF4D00;
	text-decoration: underline;
}

.text-ellipsis-three-lines {
	 display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
}

.arrow-move-forward {
	transition: 0.3s;
}

.link-with-arrow:hover .arrow-move-forward {
	transform: translateX(10px);
}

/*
.our-solutions-container {
	width: 100%;
	height: 100%;
	background: red;
}*/

@media(max-width: 991px) {
	.brx-nav-nested-items {
		height: calc(100dvh - 80px);
		margin-top: 80px;
		justify-content: flex-start;
		padding-top: 18px;
	}
	
	.toggle-close-mobile {
		position: fixed;
		top: 30px;
		right: 30px;
		z-index: 1001;
	}
	
	.brxe-toggle.is-active:not(.toggle-close-mobile) {
		opacity: 0; 
		pointer-events: none;
	}
	
	.level-one .brx-dropdown-content {
		padding: 0;
	}
	
	.main-menu .brx-nav-nested-items > .menu-item:last-child {
		margin-left: 0;
        margin-right: 0;
		margin-top: auto;
		margin-bottom: 0;
		z-index: 9999;
	}

	.main-menu .brx-nav-nested-items > .menu-item:last-child .brxe-block {
		background: white;
		padding: 16px;
		width: 100vw;
	}
}

/* ===== Mobile: dropdown content as off-canvas drill-down ===== */
@media (max-width: 991px) {
  .main-menu .brxe-dropdown > .brx-dropdown-content {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: calc(100dvh - 80px) !important;
    margin: 0 !important;
	margin-top: 80px !important;
    background: #fff;
    z-index: 1002;
    overflow-y: auto;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow-x: hidden;
    transform: translateX(100%);
    transition: transform .3s ease;
    pointer-events: none;
	padding-top: 0 !important;
  }
  .main-menu .brxe-dropdown.open > .brx-dropdown-content {
    transform: translateX(0);
    pointer-events: auto;
  }
  .main-menu .mobile-drill-back {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 18px 20px;
    font: inherit;
    font-weight: 600;
    text-align: left;
    background: #fff;
    border: 0;
    border-bottom: 1px solid #eee;
    cursor: pointer;
    position: sticky;
    top: 0;
    z-index: 1;
  }
}
@media (min-width: 992px) {
  .main-menu .mobile-drill-back-li { display: none !important; }
}

/* Mobile drill-down: stack inner mega content to one full-width column */
@media (max-width: 991px) {
  .main-menu .brxe-dropdown > .brx-dropdown-content .menu-item > .brx-grid {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    min-width: 0 !important;
	padding-inline: 30px !important;
  }
}


/* Workaround: the Solutions dropdown content (#brxe-bpnnvi) carries a stray
   inset-inline-start: -100vw from its own Bricks element config that can't be overridden.
   Cancel it by shifting its off-canvas transform +100% (one viewport), so it lands at 0 when open.
   Scoped to Solutions ONLY - Resources has left:0 and must keep the normal translateX values.
   If the Solutions dropdown is ever rebuilt clean, delete this block. */
@media (max-width: 991px) {
  .main-menu #brxe-bpnnvi { transform: translateX(200%) !important; }            /* closed: -100vw + 200% = off-screen right */
  .main-menu .brxe-dropdown.open > #brxe-bpnnvi { transform: translateX(100%) !important; }  /* open: -100vw + 100% = 0 */
}

/* Section Filter */
.section-filter {
	z-index: 99;
    position: relative;
}

.our-platform-sticky-nav {
	background-color: #F4F4F4;
	border-radius: 35px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 30px;
}

.our-platform-sticky-nav a.active {
	font-weight: 700;
}

/* Our-platform sticky nav -> "Menu" dropdown on mobile.
   JS (custom.js) injects .opsn-toggle and wraps the links in .opsn-panel. */
.our-platform-sticky-nav .opsn-toggle { display: none; }
.our-platform-sticky-nav .opsn-panel { display: contents; }
@media (max-width: 991px) {
	.hide-under-991 {
		display: none !important;
	}
  .our-platform-sticky-nav { position: relative; display: inline-flex; justify-content: flex-start; }
  .our-platform-sticky-nav .opsn-toggle {
    display: inline-flex; align-items: center; gap: 8px; font: inherit; font-size: 20px; font-weight: 600; line-height: 1; cursor: pointer;
    box-shadow: 0 2px 12px rgba(0,0,0,.10);
  }
  .our-platform-sticky-nav .opsn-toggle::after {
    content: ""; width: 12px; height: 12px; transition: transform .2s;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23252525' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
  }
  .our-platform-sticky-nav.is-open .opsn-toggle::after { transform: rotate(180deg); }
  .our-platform-sticky-nav .opsn-panel {
    display: none; position: absolute; top: calc(100% + 8px); left: 0; min-width: 210px; flex-direction: column;
    background: #F4F4F4; border-radius: 12px; box-shadow: 0 8px 30px rgba(0,0,0,.12); padding: 14px 30px; z-index: 50; gap: 15px;
  }
  .our-platform-sticky-nav.is-open .opsn-panel { display: flex; }
  .our-platform-sticky-nav .opsn-panel > a {
    align-self: stretch !important; width: auto !important;
    justify-content: flex-start !important; text-align: left; padding: 12px 16px; white-space: nowrap;
  }
}



@media(max-width: 480px) {
	.our-platform-sticky-nav,
	.our-platform-sticky-nav .opsn-panel {
		padding: 15px;
	}
	.our-platform-sticky-nav .opsn-toggle {
		font-size: 14px;
	}
	
	.tab-slider-arrows {
		display: flex !important;
	}
}

@media(max-width: 1320px) {
	.tab-slider-arrows {
		display: none;
	}

	
	#brxe-vhiekz {
		justify-content: center !important;
	}
	
	
	#brxe-ajgkxj > .tab-content {
		margin-block: 60px !important;
	}
}

@media(max-width: 767px) {
	.tab-slider {
		grid-template-columns: 100% !important;
	}
	
	.tab-slider img {
		order: 1;
	}
	
	#brxe-ajgkxj > .tab-content {
		margin-block: 40px !important;
	}
}

/* Why Pulse? tabs - sliding underline + mobile slider (reapplied) */
.tab-underline{position:absolute;left:0;bottom:0;height:3px;width:0;background:#8B3EDA;transform:translateX(0);transition:transform .35s,width .35s;pointer-events:none;z-index:1;}
#section-why-pulse #brxe-vbdxul{position:relative;}
#section-why-pulse #brxe-vbdxul .tab-title.brx-open{border-bottom-color:transparent !important;}
@media (max-width:478px){#section-why-pulse #brxe-vbdxul{justify-content:center !important;}}


/* Why Pulse? tabs - mobile: paragraphs full-width, image + checklist side by side (image bleeds off left card edge, no duplication) */
@media (max-width:767px){
  #section-why-pulse .tab-slider{grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;grid-template-rows:auto auto !important;column-gap:14px !important;row-gap:18px !important;align-items:start !important;overflow:visible !important;}
  #section-why-pulse .tab-slider > .brxe-block{display:contents !important;}
  #section-why-pulse .tab-slider > .brxe-block > .brxe-text{grid-column:1 / -1 !important;grid-row:1 !important;}
  #section-why-pulse .tab-slider .tab-slider-image{grid-column:1 !important;grid-row:2 !important;order:0 !important;justify-self:end !important;align-self:start !important;width:clamp(220px,60vw,360px) !important;max-width:none !important;height:clamp(220px,58vw,320px) !important;object-fit:cover !important;border-radius:8px !important;margin:0 !important;}
  #section-why-pulse .tab-slider .tab-slider-features{grid-column:2 !important;grid-row:2 !important;align-self:start !important;}
}


/* tabs how pulse works */
.brxe-tabs-nested .tab-pane.brx-open {
	display: grid !important;
}



/* CSS from 17/08 */

.pulse-gradient-text,
.pulse-page-faq h2 {
    background: linear-gradient(90deg, #C200FF 0%, #51FFFF 123.85%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Pulse Tabs */

.pulse-tabs > .tab-menu .tab-title.brx-open {
    background-color: transparent !important;
    border-bottom: 3px solid #8B3EDA !important;
    margin-bottom: -1px;
}
.pulse-tabs > .tab-menu {
    position: relative;
    justify-content: space-between !important;
}
.pulse-tabs > .tab-menu::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 10px;
    right: 10px;
    width: auto;
    height: 1px;
    background: linear-gradient(90deg, #C200FF 0%, #51FFFF 123.85%);
}
.pulse-tabs > .tab-menu .tab-title {
    background-color: transparent !important;
    border-bottom: 3px solid transparent;
    margin-bottom: -1px;
    z-index: 10;
    color: #0E0E0E;
    -webkit-text-fill-color: #0E0E0E;
    transition: border-color 0.3s ease, color 0.3s ease;
}
.pulse-tabs > .tab-menu .tab-title * {
    color: #0E0E0E !important;
    -webkit-text-fill-color: #0E0E0E !important;
    background-image: none !important;
    transition: -webkit-text-fill-color 0.3s ease;
}
.pulse-tabs > .tab-menu .tab-title.brx-open * {
    color: inherit !important;
    -webkit-text-fill-color: transparent !important;
    background-image: linear-gradient(90deg, #C200FF 0%, #51FFFF 123.85%) !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
}
.pulse-tabs > .tab-content {
    padding: 0 !important;
    border: none !important;
}
.pulse-tabs .tab-pane.brx-open {
    animation: slideIn 0.4s ease;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(40px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.pulse-tabs > .tab-menu .tab-title.brx-open * {
    color: inherit !important;
    -webkit-text-fill-color: transparent !important;
    background-image: linear-gradient(90deg, #C200FF 0%, #51FFFF 123.85%) !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
}

/* why its different our platform grid */

.pulse-why-its-different-card:hover .pulse-gradient-text {
    -webkit-text-fill-color: #fff;
}

.pulse-why-its-different-card:hover .pulse-why-its-different-content {
    color: #fff;
}

.pulse-why-its-different-card > * {
	z-index: 1;
}

.pulse-why-its-different-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(25deg, #C200FF -1.43%, #51FFFF 108.66%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
	z-index: 0;
	border-radius: inherit;
}

.pulse-why-its-different-card:hover::before {
    opacity: 1;
}

.pulse-why-its-different-card .pulse-gradient-text {
    transition: -webkit-text-fill-color 0.3s ease;
}

.pulse-why-its-different-card .pulse-why-its-different-content {
    transition: color 0.3s ease;
}

.testimonial-slider {
  overflow: visible;
  position: relative;
  padding-bottom: 80px;
}
.testimonial-slider .splide__track {
  overflow: visible;
}
.testimonial-slider .splide__arrow {
  position: absolute !important;
  top: auto !important;
  bottom: 16px !important;
  background-color: transparent;
  border: none;
  width: 48px;
  height: 48px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  transform: none !important;
  opacity: 1 !important;
  padding-top: 20px;
  margin-left: 17px;
}
.testimonial-slider .splide__arrow--prev {
  left: 0 !important;
  right: auto !important;
}
.testimonial-slider .splide__arrow--next {
  left: 56px !important;
  right: auto !important;
}

.testimonial-slider .splide__arrow:disabled {
  opacity: 0.5 !important;
  pointer-events: none !important;
}

/* equal-height slides, no CLS - CSS does it, not Splide */
.testimonial-slider .splide__list   { align-items: stretch; }        /* stretch all slides to the tallest */
.testimonial-slider .splide__slide  { height: auto; display: flex; } /* remove per-slide fixed height */

.testimonial-slider .splide__slide {
	align-self: stretch !important;   /* THE fix - Splide sets align-self:flex-start per slide, which beats the list's align-items:stretch */
	height: auto !important;          /* drop Splide's leftover inline height */
}

.testimonial-slider .testimonial-slide {
	height: 100%;                 /* card fills the (now equal) slide height */
	display: flex;
	flex-direction: column;
}

.selling-points-section {
    position: relative;
    overflow: hidden;
}

.selling-points-section::before,
.selling-points-section::after {
	content: "";
}

.selling-points-section::before,
.selling-points-section::after,
.selling-points-ellipse {
    position: absolute;
    left: 50%;
    width: 110%;
    height: 38%;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    transform: translateX(-50%);
    pointer-events: none;
}

.selling-points-section::before {
    top: 30%;
    transform: translateX(-50%);
}

.selling-points-section::after {
    top: 55%;
    transform: translateX(-50%);
}

.selling-points-ellipse {
    top: 40%;
}

.med-weight {
	font-weight: 500;
}

.pulse-page-faq .brx-open .faq-title,
.pulse-page-faq .accordion-title-wrapper:hover .faq-title {
	color: #C200FF;
}

.solutions-page-faq .brx-open .faq-title, 
.solutions-page-faq .accordion-title-wrapper:hover .faq-title {
	color: #5DC2BC;
}

.solutions-page-faq h2 {
	font-family: GT-Super-Display;
	font-weight: 400;
	font-size: 45px;
	line-height: 100%;
	letter-spacing: 0%;
	text-align: center;
}

.faq-accordion .accordion-icon-closed,
.faq-accordion .accordion-icon-open {
    transition: opacity 0.3s ease, transform 0.3s ease !important;
    position: absolute !important;
}
.faq-accordion .accordion-icon-closed {
    opacity: 1 !important;
    transform: rotate(0deg) !important;
}
.faq-accordion .brx-open .accordion-icon-closed {
    opacity: 0 !important;
    transform: rotate(90deg) !important;
}
.faq-accordion .accordion-icon-open {
    opacity: 0 !important;
    transform: rotate(-90deg) !important;
}
.faq-accordion .brx-open .accordion-icon-open {
    opacity: 1 !important;
    transform: rotate(0deg) !important;
}
.faq-accordion {
    border-radius: 15px !important;
    overflow: hidden !important;
}


@media (max-width: 991px) {
    .faq-accordion{
        border-radius: 8px !important;
        overflow: hidden !important;
    }
}

.success-story-section {
	max-width: 100vw !important;
    width: 100vw !important;
    overflow: hidden;
    margin-left: calc(-1 * (100vw - 100%) / 2) !important;
}

.success-story-section > div {
	width: 100vw;
}

.main-menu .brx-nav-nested-items > .menu-item {
	display: flex;
	align-items: center;
}

.main-menu .brx-nav-nested-items > .menu-item:not(:last-child) > * {
    padding: 30px 0;
}

.hs-button {
	font-family: Inter; 
	background: rgb(255, 77, 0) !important;
	font-weight: 500;
	font-size: 13.46px;
	line-height: 21.18px;
	letter-spacing: 0%;
	border-radius: 50%;

}

.insta-icon:hover path {
  fill: #FF4D00;
}

.insights-term-list > div:not(:last-child)::after {
    content: "|";
    margin-inline: 8px;
}

.hsfc-Step__Content {
    position: relative;
}

/* gated whiteout but disabling for now */

.hubsport-report-form-container::before {
    content: "";
    position: absolute;
    top: -300px;
    left: 0;
    width: 100%;
    height: 300px;

    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0.1) 0%,
        rgba(255, 255, 255, 0.25) 15%,
        rgba(255, 255, 255, 0.65) 40%,
        rgba(255, 255, 255, 1) 70%
    );

    z-index: 10;
    pointer-events: none;
}

.hubsport-report-form-container .hsfc-Form .hsfc-Step .hsfc-Step__Content {
	padding-left: 0;
	padding-right: 0;
}

.sticky-nav-bar {
	position: fixed !important;
	top: 90px !important;
	left: 0;
}