/*
Theme Name:  Fast Lane Drive
Theme URI:   https://fastlanedrive.com
Description: Custom theme for Fast Lane Drive. No parent theme, no page builder — sections are PHP partials and page content lives in version control.
Author:      Kuro Studios
Version:     1.0.0
Requires PHP: 8.1
License:     Proprietary
Text Domain: fld
*/
/* 400 – Regular */
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 400;
    src: url("assets/fonts/Poppins-Regular.woff2") format("woff2"),
         url("assets/fonts/Poppins-Regular.ttf") format("truetype");
    font-display: swap;
}

/* 500 – Medium */
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 500;
    src: url("assets/fonts/Poppins-Medium.woff2") format("woff2"),
         url("assets/fonts/Poppins-Medium.ttf") format("truetype");
    font-display: swap;
}

/* 600 – SemiBold */
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 600;
    src: url("assets/fonts/Poppins-SemiBold.woff2") format("woff2"),
         url("assets/fonts/Poppins-SemiBold.ttf") format("truetype");
    font-display: swap;
}

/* 700 – Bold */
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 700;
    src: url("assets/fonts/Poppins-Bold.woff2") format("woff2"),
         url("assets/fonts/Poppins-Bold.ttf") format("truetype");
    font-display: swap;
}

/* Inter – Variable font for body */

@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 100 900;
    src: url("assets/fonts/Inter-Variable.woff2") format("woff2");
    font-display: swap;
}

/* ********** GENERAL ********** */

:root {
	--black: 	 #000000;
	--black2: 	 #111111;
	--lightgrey: #75787B;
	--offwhite:  #b9b9b9;
	--white: 	 #FFFFFF;
	--blue:      #018EFA;

	/* Experimental heading font. Swap the first value to A/B fonts:
	   "Clash Display" | "Archivo Expanded" | "Space Grotesk". Revert to "Inter". */
	--font-heading: "Clash Display", "Inter", sans-serif;

	/* Experimental body font. Swap the first value to A/B fonts:
	   "Satoshi" | "General Sans" | "Manrope". Revert to "Inter". */
	--font-body: "Satoshi", "Inter", sans-serif;
}

html, body {
	background-color: var(--black) !important;
	color: var(--white);
	font-family: var(--font-body) !important;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-heading);
	font-weight: 500;
	text-transform: uppercase;
}

h1 {
	font-size: 50px !important;
}

p {
	font-size: 16px !important;
}

.btn-cta {
	display: inline-block;
	font-family: var(--font-heading);
	font-size: 16px;
	font-weight: 500;
	color: var(--white);
	text-align: center;
	text-decoration: none;
	padding: 11px 24px;
	border-radius: 5px;
	border: 1px solid var(--white);
	transition: background-color .3s ease, color .3s ease, border-color .3s ease, transform .25s ease, box-shadow .25s ease;
}

button.btn-cta {
	font: inherit;
	cursor: pointer;
	appearance: none;
	background: transparent;
	border-style: solid;
}

.btn-cta-white {
	background-color: var(--white);
	color: var(--black);
}

.btn-cta-transparent {
	color: var(--white);
}

/* CTA hover animations — subtle lift on all; outline fills white; white gets a soft glow. */
.btn-cta:hover,
.btn-cta:focus-visible {
	transform: translateY(-2px);
}

.btn-cta-transparent:hover,
.btn-cta-transparent:focus-visible {
	background-color: var(--white);
	color: var(--black);
}

.btn-cta-white:hover,
.btn-cta-white:focus-visible {
	box-shadow: 0 8px 24px rgba(255, 255, 255, 0.18);
}

.text-blue {
	color: var(--blue);
}

.mw-900 {
	max-width: 1000px;
}

.mw-800 {
	max-width: 800px;
}

.mw-775 {
	max-width: 775px;
}

.mw-600 {
	max-width: 600px;
}

.mw-550 {
	max-width: 550px;
}

.mw-500 {
	max-width: 500px;
}

.rounded-50 {
	border-radius: 50px;
}

/* SECTION SETTINGS */

.vpt-large {
    padding-top: 96px;
}

.vpb-large {
    padding-bottom: 96px;
}

.vpt-medium {
    padding-top: 72px;
}

.vpb-medium {
    padding-bottom: 72px;
}

.vpt-small {
    padding-top: 48px;
}

.vpb-small {
    padding-bottom: 48px;
}

/* ***** SECTION MOBILE APP ***** */

.section-mobile-app {
    position: relative;
}

.section-mobile-app .container {
    position: relative;
}

.mobile-app-inner {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 48px;
    align-items: center;
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 32px;
    padding: 50px 50px 0 50px;
    background: radial-gradient(
        circle at 20% 30%,
        rgba(255,255,255,0.06),
        rgba(0,0,0,0.0) 55%
    );
    overflow: hidden;
}

.mobile-app-heading {
    margin: 0 0 16px 0;
    font-size: 22px;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.mobile-app-tagline {
	margin: 0 0 20px 0;
	max-width: 560px;
	font-size: clamp(0.9375rem, 0.88rem + 0.25vw, 1.0625rem);
	line-height: 1.5;
	font-style: italic;
	color: var(--offwhite, #b9b9b9);
	text-transform: none;
}

.mobile-app-heading + .mobile-app-tagline {
	margin-top: -4px;
}

.mobile-app-content {
    max-width: 560px;
    opacity: 0.9;
}

.mobile-app-content p:last-child {
    margin-bottom: 0;
}

.mobile-app-features {
    margin: 24px 0 0 0;
    padding-left: 18px;
}

.mobile-app-features li {
    margin: 6px 0;
}

.mobile-app-stores {
    display: flex;
    gap: 14px;
    margin-top: 28px;
    flex-wrap: wrap;
}

.mobile-app-stores .store-badge {
	position: relative;
	z-index: 2;
	display: inline-block;
	line-height: 0;
}

.store-badge img {
    height: 44px;
    width: auto;
    display: block;
}

.mobile-app-right {
    display: flex;
    justify-content: flex-end;
}

.mobile-app-frame {
    width: 100%;
    max-width: 520px;
}

.mobile-app-frame img {
    width: 100%;
    height: auto;
    display: block;
}

.mobile-app-image-placeholder {
    width: 100%;
    aspect-ratio: 4 / 5;
    border-radius: 24px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
}

@media (max-width: 1200px) {
    .mobile-app-inner {
        padding: 48px;
        gap: 32px;
    }
}

@media (max-width: 992px) {
    .mobile-app-inner {
        grid-template-columns: 1fr;
        padding: 40px;
    }

    .mobile-app-right {
        justify-content: flex-start;
    }

    .mobile-app-frame {
        max-width: 560px;
    }
}

@media (max-width: 767px) {
    .mobile-app-inner {
        padding: 28px 0;
        border-radius: 24px;
		border: none;
    }

    .store-badge img {
        height: 40px;
    }
	
	.mobile-app-content,
	.mobile-app-features {
		display: none;
	}
}

/* ********** NAVIGATION ********** */

header {
	position: fixed !important;
    left: 0;
    top: 0;
    width: 100%;
	height: 110px;
	background-color: var(--black);
}

.header-top a {
	text-decoration: none;
}

.navbar-brand {
	width: 175px;
	margin-right: 0;
}

.nav-cta-shop {
	color: var(--white);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	margin-right: 16px;
	white-space: nowrap;
}

/* Balance the two outer nav sections so the menu centers on the viewport:
   the actions block matches the logo width, and the menu gets equal auto
   margins (ms-auto already sets the left; this adds the right). Widened from
   175px to fit the added "Shop" link — .navbar-brand is widened to match so
   the two sides stay equal and the centered nav doesn't drift. */
@media (min-width: 992px) {
	.navbar-brand {
		width: 260px;
	}

	.header-actions {
		width: 260px;
		justify-content: flex-end;
	}

	#fld-navbar {
		margin-left: auto !important;
		margin-right: auto !important;
	}

	/* Bootstrap dropdowns default to click-to-open (data-bs-toggle="dropdown").
	   Desktop-only hover override — mobile/tablet keeps tap, via the offcanvas. */
	#fld-navbar .dropdown:hover > .dropdown-menu {
		display: block;
		margin-top: 0;
	}
}

/* Simple nav dropdowns (Events, etc.) inverted to match the site's dark theme.
   Excludes the Cities megamenu panel, which has its own layout tuned for a
   light background. */
#fld-navbar .dropdown-menu:not(.fld-chapters-megamenu__panel) {
	background-color: var(--black);
	border-color: rgba(255, 255, 255, 0.12);
}

#fld-navbar .dropdown-menu:not(.fld-chapters-megamenu__panel) .dropdown-item {
	color: var(--white);
}

#fld-navbar .dropdown-menu:not(.fld-chapters-megamenu__panel) .dropdown-item:hover,
#fld-navbar .dropdown-menu:not(.fld-chapters-megamenu__panel) .dropdown-item:focus {
	background-color: rgba(255, 255, 255, 0.1);
	color: var(--white);
}

.offcanvas {
	background-color: var(--black);
}

.offcanvas-body {
	justify-content: center !important;
}

/* Desktop: left-align nav row so items do not shrink/wrap mid-label (Membership, Resources, etc.). */
@media (min-width: 992px) {
	#nav-main .offcanvas-body {
		justify-content: center !important;
	}

	#fld-navbar.navbar-nav > .nav-item > .nav-link {
		white-space: nowrap;
		flex-shrink: 0;
	}
}


#fld-navbar li a.nav-link {
	font-size: 14px !important;
	font-weight: 500;
	color: var(--white) !important;
	padding-left: 12px !important;
	padding-right: 12px !important;
}

/* Megamenu / Cities toggle: calmer focus ring than default browser blue */
#fld-navbar .fld-cities-nav-item > .nav-link.dropdown-toggle:focus-visible {
	outline: 1px solid rgba(255, 255, 255, 0.45);
	outline-offset: 3px;
	box-shadow: none;
}

.nav-cta.btn-cta {
	font-size: 14px;
	padding: 6px 13px;
}

/* d-lg-none in the markup handles show/hide at the same breakpoint as the
   hamburger toggle itself; this just spaces it below the menu list. */
.nav-cta-offcanvas {
	margin-top: 1.5rem;
	text-align: center;
}

.nav-toggler {
	border: none !important;
	padding-right: 0;
}

.nav-toggler img {
	filter: invert(1);
}

/* ********** HOME ********** */

/* ***** HERO PRIMARY ***** */

.hero-primary {
    background-size: cover;
    background-repeat: no-repeat;
	padding-top: 110px !important;
	height: 100vh !important;
}

/* Shorter hero for finder/listing pages (chapters, events): reveals a sliver of
   the next section so the tools below the fold invite a scroll. Scoped by the
   compound class so the full-height marketing heroes are unaffected. */
.hero-primary.hero-primary--short {
	height: 75vh !important;
	min-height: 560px !important;
}

.hero-primary {
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.hero-primary-card {
	max-width: 95% !important;
	margin: 0 auto;
	padding-left: calc(var(--bs-gutter-x) * .5);
	padding-right: calc(var(--bs-gutter-x) * .5);
	
    position: relative;
    min-height: 520px;
    border-radius: 24px;
    overflow: visible;
}

.hero-primary-media {
    position: absolute;
    inset: 0;
    overflow: hidden;
    border-radius: 10px;
}

.hero-primary-video,
.hero-primary-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-primary-video {
    z-index: 1;
}

.hero-primary-image {
    position: relative;
    z-index: 0;
}

.hero-primary-media {
    position: absolute;
    inset: 0;
}

.hero-primary-video,
.hero-primary-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-primary-image {
    position: absolute;
    inset: 0;
    display: block;
}

.hero-primary-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.45) 0%,
        rgba(0, 0, 0, 0.55) 100%
    );
}

.hero-primary-content {
    position: relative;
    z-index: 3;
    min-height: 520px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;
    padding: 80px 0;
}

.hero-primary-logo img {
    width: 150px;
    height: auto;
}

.hero-primary-eyebrow {
    margin: 0 0 10px;
    padding-left: 20px;
    padding-right: 20px;
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.78);
}

.hero-primary-heading {
    margin-bottom: 16px;
    padding-left: 20px;
    padding-right: 20px;
}

.hero-primary-text {
    margin-bottom: 24px;
    max-width: 720px;
    padding-left: 20px;
    padding-right: 20px;
}

.hero-primary-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ACF CTA: Button Link video:… → #fld-video-cta-modal (see assets/js/video-cta-modal.js) */
.fld-video-cta-modal .modal-content.fld-video-cta-modal__content {
	background: transparent;
	box-shadow: none;
}

.fld-video-cta-modal__inner {
	border-radius: 10px;
	overflow: hidden;
	background: #000;
}

.fld-video-cta-modal__close {
	position: absolute;
	top: 0.65rem;
	right: 0.65rem;
	z-index: 5;
	filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.9));
}

.fld-video-cta-modal__frame .ratio {
	max-height: min(85vh, 85dvh);
	border-radius: 10px;
	overflow: hidden;
}

.fld-video-cta-modal__frame video,
.fld-video-cta-modal__frame iframe {
	border-radius: 10px;
}

.fld-video-cta-modal__frame video {
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: #000;
}

/* Hero Stats */
.hero-primary-stats {
    display: flex;
    gap: 16px;
    z-index: 3;
	position: absolute;
    bottom: 30px;
	width: 100%;
	max-width: 940px;
}

.hero-primary .splide__slide {
	background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(6px);
    border-radius: 10px;
    padding: 16px 18px;
    text-align: center;
    width: 300px;
    padding: 16px;
}

.hero-primary-stats .hero-stat {
    flex: 1;
}

.hero-primary-stats .hero-stat strong {
    display: block;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.1;
    color: var(--white);
}

.hero-primary-stats .hero-stat span {
    display: block;
    margin-top: 4px;
    font-size: 16px;
}

@media (max-width: 991.98px) {
    .hero-primary-stats {
        gap: 12px;
    }

    .hero-primary-stats .hero-stat strong {
        font-size: 28px;
    }
}

@media (max-width: 767.98px) {
    .hero-primary-stats {
        flex-direction: column;
        gap: 10px;
		position: absolute !important;
    	bottom: 125px;
    }

    .hero-primary-stats .hero-stat {
        padding: 14px 16px;
    }

    .hero-primary-stats .hero-stat strong {
        font-size: 24px;
    }

}

/* Hero Logo Scroll */

.hero-logo-scroll {
    width: 100%;
}

.MagicScroll-horizontal .mcs-item {
	position: relative;
	top: -10px;
}

.hero-logo-scroll li {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-logo-scroll img {
    width: auto;
    height: 42px;
}

.hero-logo-scroll img {
    height: 42px;
    width: auto;
    min-width: 120px;
    object-fit: contain;
}

.hero-logo-scroll li {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-left: 22px;
    padding-right: 22px;
}

.hero-logo-scroll img {
    display: block;
    width: auto;
    height: 42px;
}

.hero-logo-scroll li {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 18px;
    padding-right: 18px;
}

.MagicScroll.MagicScroll-horizontal {
	height: 87px !important;
}

.hero-logo-scroll li {
	height: 100% !important;
}

.hero-logo-scroll li img {
	height: 67px !important;
	padding-top: 10px;
	padding-bottom: 10px;
}

.hero-primary-marquee--mobile {
    display: none;
    width: 100%;
    margin-top: 20px;
}

.hero-primary-marquee--desktop {
    display: block;
}


/* Logo Marquee (sections/logo-marquee.php) — the general-purpose partner/press
   strip used standalone on a page (Philanthropy, Home), as opposed to
   .hero-logo-scroll which only lives inside the hero itself. Never had its
   own sizing rule, so logos rendered at native size (unconstrained). */
.logo-marquee {
	width: 100%;
}

.logo-marquee li {
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100% !important;
	padding-left: 22px;
	padding-right: 22px;
}

.logo-marquee li img {
	display: block;
	width: auto;
	height: 67px !important;
	min-width: 120px;
	object-fit: contain;
	padding-top: 10px;
	padding-bottom: 10px;
}

.MagicScroll.MagicScroll-horizontal.logo-marquee {
	height: 87px !important;
}

@media (max-width: 767.98px) {
	.logo-marquee li img {
		height: 36px !important;
	}
}

@media (max-width: 767.98px) {
    .hero-logo-scroll img {
        height: 36px;
    }

	.hero-primary-marquee--desktop {
        display: none !important;
    }

    .hero-primary-marquee--mobile {
        display: block !important;
        width: 100%;
    }

	/* Hero Primary */
	.hero-primary .container {
		max-width: 100% !important;
		padding: 0 !important;
	}
	
	.hero-primary-card,
	.hero-primary-media {
		border-radius: 5px;
	}
	
}

/* ***** SECTION STATISTICS ***** */

.section-statistics {
    position: relative;
}

/* DESKTOP GRID */
.section-statistics .stats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 290px 290px 290px;
    grid-template-areas:
        "entrepreneurs entrepreneurs cities"
        "raised          logo          events"
        "sponsor         watch         events";
    gap: 24px;
    overflow: visible;
}

/* CARD BASE */
.section-statistics .stat {
    position: relative;
    display: flex;
    align-items: stretch;
    text-decoration: none;
    color: inherit;
    border-radius: 5px;
    overflow: visible;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    outline: 1px solid transparent;
    transition:
        box-shadow 0.75s ease,
        outline 0.75s ease;
}

.section-statistics .stat::before {
    content: "";
    position: absolute;
    inset: 0;
/*     background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.15),
        rgba(0, 0, 0, 0.65)
    ); */
    z-index: 1;
    border-radius: 5px;
}

.section-statistics .stat-inner {
    position: relative;
    z-index: 2;
    padding: 24px;
    display: flex;
    flex-direction: column;
	width: 100%;
}

/* TYPOGRAPHY */
.section-statistics .stat strong {
    font-size: clamp(28px, 5vw + 8px, 50px);
    font-weight: 700;
    line-height: 1.1;
}

.section-statistics .stat.card-one strong,
.section-statistics .stat.card-two strong {
	font-size: clamp(36px, 6vw + 12px, 90px);
}

.section-statistics .stat.card-one strong {
	text-shadow:
        0 0 12px rgba(255, 255, 255, 0.35),
        0 0 24px var(--white);
}

.section-statistics .stat-large:hover strong {
    text-shadow:
        0 0 16px rgba(255, 255, 255, 0.45),
        0 0 32px var(--white);
    transition: text-shadow 0.75s ease;
}

.section-statistics .stat span {
    font-size: clamp(14px, 1.5vw + 8px, 35px);
}

.section-statistics .stat h4 {
    /* font-size: clamp(17px, 1.2vw + 12.5px, 25px); */
    font-size: clamp(14px, 1.5vw + 8px, 35px);
    margin-bottom: 6px;
    text-transform: initial !important;
}

.section-statistics .stat p {
    font-size: 14px;
    opacity: 0.9;
}

/* GRID AREAS */
.section-statistics .stat-large  {
	grid-area: entrepreneurs; 
}

.section-statistics .stat-small  {
	grid-area: cities; 
}

.section-statistics .stat-medium {
	grid-area: raised; 
}

.section-statistics .stat-logo   {
	grid-area: logo; 
}

.section-statistics .stat-cta    {
	grid-area: sponsor; 
}

.section-statistics .stat-video  {
	grid-area: watch; 
}

.section-statistics .stat-tall   {
	grid-area: events; 
}

/* LOGO CARD */
.section-statistics .stat-logo {
    display: flex;
    align-items: center;
    justify-content: center;
}

.section-statistics .stat-logo::before {
    display: none;
}

.section-statistics .stat-logo img {
    max-width: 230px;
    width: 100%;
    height: auto;
	z-index: 10;
}

/* EVENTS CARD */

.section-statistics .next-events-title {
    font-size: 13px;
    margin-bottom: 8px;
    opacity: 0.8;
}

.section-statistics .next-events ul {
    list-style: none;
    padding-left: 0;
    margin: 0 0 16px 0;
}

.section-statistics .next-events li {
    /* Negative margin cancels the card's 24px padding so the divider spans
       the full card width; padding puts the text back where it was. */
    padding: 12px 24px;
    margin: 0 -24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.section-statistics .next-events li:first-child {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.next-events li a {
    display: block;
}

.section-statistics .next-events .next-event-name {
    display: block;
    font-family: var(--font-heading);
    text-transform: uppercase;
    font-weight: 500;
    font-size: 15px;
    line-height: 1.25;
}

.section-statistics .next-events .next-event-datetime {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    opacity: 0.6;
}

.section-statistics .events-cta {
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.events-card {
    height: 100%;
    display: flex;
    flex-direction: column;
	display: none;
}

.events-card .events-card__cta {
    margin-top: auto;
}

.events-grid {
    align-items: stretch;
}

/* CENTERED CARDS (ENTREPRENEURS + CITIES) */
.section-statistics .stat-large .stat-inner,
.section-statistics .stat-small .stat-inner {
    width: fit-content;
    max-width: calc(100% - 48px);
    margin: auto;
    justify-content: center;
    align-items: center;
    text-align: center;
}

/* Card arrow */
.section-statistics .stat-arrow {
    position: absolute;
    right: 18px;
    bottom: 18px;
    z-index: 3;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--white);
    color: var(--white);
    transition:
        background 0.75s ease,
        color 0.75s ease,
        transform 0.75s ease;
}

.section-statistics .stat-logo .stat-arrow {
    display: none;
}

.section-statistics .stat-video .stat-arrow--play i {
    font-size: 0.85rem;
    color: #000;
    line-height: 1;
}

/* TOP-LEFT CARDS */
.section-statistics .stat-medium .stat-inner,
.section-statistics .stat-logo .stat-inner,
.section-statistics .stat-cta .stat-inner,
.section-statistics .stat-video .stat-inner,
.section-statistics .stat-tall .stat-inner {
    justify-content: flex-start;
    align-items: flex-start;
    text-align: left;
}

.section-statistics .stat-tall .stat-inner {
	justify-content: space-between;
}

.stat.stat-tall .stat-arrow {
    display: none;
}

/* HOVER */
.section-statistics .stat:hover {
    outline: 1px solid var(--blue);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.05),
        0 0 12px var(--blue),
        0 0 24px var(--blue);
}

.section-statistics .stat {
    overflow: hidden;
}

/* Background zoom layer */
.section-statistics .stat::after {
    content: "";
    position: absolute;
    inset: 0;
    background: inherit;
    border-radius: 5px;
    z-index: 0;
    transform: scale(1);
    transition: transform 0.75s ease;
    will-change: transform;
}

/* Keep your overlay above the background */
.section-statistics .stat::before {
    z-index: 1;
}

.section-statistics .stat-inner {
    z-index: 2;
}

/* Zoom on hover */
.section-statistics .stat:hover::after {
    transform: scale(1.05);
}

/* TABLET */
@media (max-width: 991.98px) {

    .section-statistics .stats-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        grid-template-areas:
            "entrepreneurs entrepreneurs"
            "cities        raised"
            "logo          events"
            "sponsor       watch";
    }
}

/* MOBILE */
@media (max-width: 767.98px) {

    .section-statistics .stats-grid {
        grid-template-columns: 1fr;
        grid-template-areas:
            "entrepreneurs"
            "cities"
            "raised"
            "logo"
            "sponsor"
			"events"
            "watch";
    }

    .section-statistics .stat {
        min-height: 200px;
    }

    .section-statistics .stat-inner {
        padding: 20px;
    }

    .section-statistics .stat strong {
        font-size: 32px;
    }
}

@media (max-width: 767px) {
	
	.section-statistics {
		padding-top: 0 !important;
		padding-bottom: 10px !important;
	}
	
	.section-statistics .stat:not(.stat-video) {
		background-image: none !important;
		min-height: initial !important;
		display: block !important;
		border-bottom: 1px solid #75787B !important;
    	border-radius: 5px;
	}
	
	.section-statistics .stat-inner {
		max-width: 100% !important;
		align-items: initial !important;
		text-align: initial !important;
		margin: initial !important;
	}
	
	.section-statistics strong {
		font-size: 20px !important;
	}
	
	.section-statistics span {
		font-size: 18px !important;
		color: var(--lightgrey);
		margin-top: 5px;
	}
	
	.section-statistics stat {
		font-size: 16px;
		color: var(--lightgrey);
		margin-top: 10px;
	}
	
	.section-statistics .span.stat-arrow {
		bottom: 17px;
		right: 0;
		width: 30px;
		height: 30px;
		margin-top: 0;
	}
	
	.section-statistics .stat.stat-logo,
	.section-statistics .stat.stat-cta {
		display: none !important;
	}
	
	.section-statistics .stat.stat-video {
		aspect-ratio: 1 / 1;
		margin-top: -15px;
		border-bottom: none !important;
	}

	.section-statistics .stat.stat-tall {
		margin-top: -45px;
		border-bottom: none !important;
	}

	.section-statistics .stat-tall .next-events,
	.section-statistics .stat-tall .btn-cta {
		display: none;
	}

	/* Mobile events card mirrors the sibling cards: linked arrow, no list/button. */
	.section-statistics .stat.stat-tall .stat-arrow {
		display: flex;
	}

	.section-statistics .stat.stat-video {
		position: relative;
	}

}

/* ***** VIDEO SCROLL ***** */

.section-video-scroll {
	margin: 0;
	position: relative;
}

.section-video-scroll__header {
	margin-bottom: clamp(1.5rem, 1.2rem + 1vw, 2.5rem);
}

.section-video-scroll__heading {
	margin: 0 0 0.75rem;
}

body.home .section-video-scroll__heading {
	font-size: clamp(2.5rem, 1.5rem + 3.5vw, 3.5rem) !important;
	line-height: 1.1;
}

@media (max-width: 991.98px) {
	body.home .section-video-scroll__heading {
		font-size: clamp(2.125rem, 1.25rem + 3vw, 3.5rem) !important;
	}
}

@media (max-width: 767.98px) {
	body.home .section-video-scroll__heading {
		font-size: clamp(1.75rem, 1rem + 5vw, 2.375rem) !important;
	}
}

.section-video-scroll__tagline {
	margin: 0;
	font-size: clamp(0.9375rem, 0.88rem + 0.25vw, 1.0625rem);
	line-height: 1.5;
	font-style: italic;
	color: var(--offwhite, #b9b9b9);
}

.section-video-scroll__heading + .section-video-scroll__tagline {
	margin-top: -0.25rem;
}

.section-video-scroll__video {
	margin-bottom: 15px;
}

.section-video-scroll__video-heading {
	margin: 0 0 1rem;
}

.video-scroll-media {
	position: relative;
	width: 100%;
	overflow: hidden;
	border-radius: 5px;
	background: #000;
}

.video-scroll-media__frame {
	position: relative;
	width: 100%;
	aspect-ratio: var(--video-scroll-aspect, 16 / 9);
}

.video-scroll-video {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	border-radius: 5px;
	opacity: 0;
	transition: opacity 0.4s ease;
}

@media (min-width: 768px) {
	.video-scroll-video {
		opacity: 1;
	}
}

.video-scroll-video.is-playing {
	opacity: 1;
}

.video-scroll-overlay-tagline {
	position: absolute;
	left: 50%;
	bottom: 24px;
	z-index: 5;
	width: calc(100% - 48px);
	margin: 0;
	font-family: var(--font-heading);
	font-size: clamp(16px, 3vw, 30px) !important;
	font-weight: 600;
	text-transform: uppercase;
	color: #fff;
	text-align: center;
	transform: translateX(-50%);
	pointer-events: none;
}

.video-scroll-play {
	position: absolute;
	inset: 0;
	z-index: 6;
	display: none;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}

.video-scroll-play img {
	width: 72px;
	height: 72px;
	display: block;
}

.section-video-scroll__content {
	font-size: clamp(0.9375rem, 0.88rem + 0.25vw, 1.0625rem);
	line-height: 1.6;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

/* Mobile */
@media (max-width: 767px) {
	.video-scroll-media {
		cursor: pointer;
	}

	.video-scroll-media__frame:has(.video-scroll-overlay-tagline)::after {
		content: '';
		position: absolute;
		inset: auto 0 0 0;
		z-index: 3;
		height: 55%;
		background: linear-gradient(
			to top,
			rgba(0, 0, 0, 0.65),
			rgba(0, 0, 0, 0)
		);
		pointer-events: none;
	}

	.video-scroll-video {
		opacity: 0;
	}

	.video-scroll-play {
		display: flex;
	}

	.video-scroll-media.is-playing .video-scroll-play {
		display: none;
	}

	.video-scroll-media.is-playing .video-scroll-video {
		opacity: 1;
	}
}

/* ***** GRAVITY FORMS ***** */

.fld-chapter-interest-modal .modal-content {
    padding: 20px !important;
}

.gform_required_legend {
    display: none;
}

.gform-theme--foundation .gform_fields {
    row-gap: 20px !important;
}

.gform-field-label {
    color: var(--white) !important;
}

.fld-chapter-interest-modal .text-secondary {
    color: var(--white) !important;
}

.gform_button {
    display: inline-block !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: var(--white) !important;
    text-align: center !important;
    text-decoration: none !important;
    padding: 11px 24px !important;
    border-radius: 5px;
    transition: all .75s !important;
    width: 100% !important;
    background-color: var(--blue) !important;
    background-color: #204ce5 !important;
    border: none !important;
}

.gform-page-footer {
    justify-content: space-between !important;
}

.section-policy .gform_button {
    width: initial !important;
    border-radius: 5px;
}

.gform_validation_errors {
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    box-shadow: none !important;
    outline: none !important;
    background: rgba(255, 255, 255, 0.03) !important;
    border-radius: 5px !important;
    padding: 16px 20px !important;
}

.gform_validation_errors h2.gform_submission_error {
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    margin-bottom: 6px !important;
}

.gform_validation_errors ol {
    margin: 0 !important;
}

.gform_validation_errors ol li,
.gform_validation_errors a.gform_validation_error_link {
    font-size: 13px !important;
}

span.gform-icon.gform-icon--circle-error {
    border-color: #fff !important;
}

span.gform-icon.gform-icon--circle-error,
.gfield_description.validation_message.gfield_validation_message,
.gform-theme--framework .gform_validation_errors ol,
h2.gform_submission_error,
a.gform_validation_error_link,
span.gform-icon.gform-icon--circle-error
.gform_submission_error {
    color: var(--white) !important;
}

/* ***** TESTIMONIALS ***** */

/* Testimonials */

.section-testimonials {
	position: relative;
	overflow: hidden;
}

.section-testimonials-heading {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.section-testimonials__tagline {
	max-width: 900px;
	margin: 0.75rem auto 0;
	font-size: clamp(0.9375rem, 0.88rem + 0.25vw, 1.0625rem);
	line-height: 1.5;
	font-style: italic;
	color: var(--offwhite, #b9b9b9);
}

.section-testimonials-heading + .section-testimonials__tagline {
	margin-top: -0.35rem;
}

.modal-content {
	background-color: transparent;
}

.modal video {
	border-radius: 20px;
}

.btn-close {
	background-color: var(--black);
	color: var(--white);
	border-radius: 100%;
	padding: 15px;
	line-height: 5px;
	--bs-btn-close-opacity: 1;
}

.section-testimonials .btn-close {
	filter: initial;
}

.testimonial-video-mute .icon-muted {
    display: none;
}

.testimonial-video-mute.is-muted .icon-unmuted {
    display: none;
}

.testimonial-video-mute.is-muted .icon-muted {
    display: block;
}

.modal .play-icon::before {
	filter: invert(1);
}

.btn-close:hover {
	color: var(--white);
}

.btn-close img {
	filter: invert(1);
}

.testimonial-video-wrapper {
    background: #000;
}

/* Testimonial video modal: cap size for portrait + landscape (inline width:100% was overflowing viewport) */
#testimonialVideoModal .modal-dialog {
	max-width: min(1140px, calc(100vw - 1.5rem));
}

#testimonialVideoModal .modal-content {
	max-height: min(92vh, 92dvh);
	overflow: hidden;
	border-radius: 20px;
}

#testimonialVideoModal .modal-body {
	display: flex;
	align-items: center;
	justify-content: center;
	max-height: min(92vh, 92dvh);
}

#testimonialVideoModal .testimonial-video-wrapper {
	width: 100%;
	max-height: min(92vh, 92dvh);
}

#testimonialVideoModal video#testimonialModalVideo,
#testimonialVideoModal video {
	width: auto !important;
	height: auto !important;
	max-width: 100%;
	max-height: min(88vh, 88dvh);
	margin: 0 auto;
	object-fit: contain !important;
	display: block;
}

.testimonial-video-play {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: 0;
    z-index: 3;
    cursor: pointer;
}

.testimonial-video-play .play-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: var(--black);
}

.testimonial-video-meta {
    position: absolute;
    bottom: 24px;
    left: 24px;
    z-index: 3;
    color: #fff;
}

.testimonial-video-meta strong {
    display: block;
    font-size: 18px;
    font-weight: 600;
}

.testimonial-video-meta span {
    font-size: 14px;
    opacity: 0.85;
}

.testimonial-video-mute {
    position: relative;
    background: rgba(0, 0, 0, 0.6);
    border: 0;
    color: #fff;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    cursor: pointer;
}

/* Volume: mute button + a vertical slider that pops up above it on hover. */
.testimonial-video-volume {
    position: absolute;
    bottom: 24px;
    right: 24px;
    z-index: 3;
    display: inline-flex;
}

.testimonial-video-volume__panel {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 8px;
    padding: 14px 10px;
    background: rgba(0, 0, 0, 0.85);
    border-radius: 10px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.testimonial-video-volume:hover .testimonial-video-volume__panel,
.testimonial-video-volume:focus-within .testimonial-video-volume__panel {
    opacity: 1;
    visibility: visible;
}

.testimonial-video-volume__range {
    writing-mode: vertical-lr;
    direction: rtl;
    -webkit-appearance: slider-vertical;
    width: 6px;
    height: 90px;
    accent-color: #fff;
    cursor: pointer;
}

.testimonial-video-mute img {
	padding: 7px;
    position: relative;
    left: -1px;
}


/* Grid */

.testimonials-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	grid-auto-rows: 240px;
}

/* Cards */

.testimonial-card {
	position: relative;
	border-radius: 5px;
	overflow: hidden;
	background-color: #0e0f11;
	background-size: cover;
	background-position: center;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

/* Quote */

.testimonial-quote {
	padding: 20px;
	font-size: 18px;
}

/* Modal */

.modal .btn-close {
	z-index: 10;
}

/* Overlay */

.testimonial-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.75));
	z-index: 1;
	pointer-events: none;
	opacity: 1;
	transition: opacity 0.55s ease;
}

.testimonial-card:hover .testimonial-overlay,
.testimonial-card:focus-within .testimonial-overlay,
.testimonial-slide:hover .testimonial-overlay,
.testimonial-slide:focus-within .testimonial-overlay {
	opacity: 0.5;
}

@media (prefers-reduced-motion: reduce) {
	.testimonial-overlay {
		transition: none;
	}
}

/* Meta */

.testimonial-meta {
	position: absolute;
	bottom: 18px;
	left: 18px;
	right: 18px;
	z-index: 2;
}

.testimonial-meta strong {
	display: block;
	font-size: 16px;
	font-weight: 600;
}

.testimonial-meta span {
	font-size: 13px;
	display: inline-block;
	opacity: 0.75;
}

/* Play Button */

.testimonial-play {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
}

.play-icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: #fff;
	position: relative;
}

.play-icon::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-45%, -50%);
	width: 0;
	height: 0;
	border-left: 14px solid #000;
	border-top: 9px solid transparent;
	border-bottom: 9px solid transparent;
}

/* Hover */

.testimonial-card:hover {
	box-shadow: 0 0 0 1px rgba(255,255,255,0.08), 0 0 32px rgba(var(--blue),0.25);
}

/* Desktop Placement */

@media (min-width: 1201px) {

	.testimonials-grid > article:nth-child(1) { grid-column: 1; grid-row: 1 / span 2; }
	.testimonials-grid > article:nth-child(2) { grid-column: 2; grid-row: 1 / span 2; }
	.testimonials-grid > article:nth-child(3) { grid-column: 3; grid-row: 1; }
	.testimonials-grid > article:nth-child(4) { grid-column: 4; grid-row: 1; }
	.testimonials-grid > article:nth-child(5) { grid-column: 1; grid-row: 3; }
	.testimonials-grid > article:nth-child(6) { grid-column: 2; grid-row: 3; }
	.testimonials-grid > article:nth-child(7) { grid-column: 3; grid-row: 2 / span 2; }
	.testimonials-grid > article:nth-child(8) { grid-column: 4; grid-row: 2 / span 2; }
	.testimonials-grid > article:nth-child(9) { grid-column: 1; grid-row: 4; }
	.testimonials-grid > article:nth-child(10) { grid-column: 2; grid-row: 4; }
	.testimonials-grid > article:nth-child(11) { grid-column: 3; grid-row: 4; }
	.testimonials-grid > article:nth-child(12) { grid-column: 4; grid-row: 4; }

	/* Tall cards stretch fully */
	.testimonials-grid > article:nth-child(1) .testimonial-card,
	.testimonials-grid > article:nth-child(2) .testimonial-card,
	.testimonials-grid > article:nth-child(7) .testimonial-card,
	.testimonials-grid > article:nth-child(8) .testimonial-card {
		height: 100%;
		aspect-ratio: auto;
	}

	/* Square cards stay square */
	.testimonials-grid > article:nth-child(3) .testimonial-card,
	.testimonials-grid > article:nth-child(4) .testimonial-card,
	.testimonials-grid > article:nth-child(5) .testimonial-card,
	.testimonials-grid > article:nth-child(6) .testimonial-card,
	.testimonials-grid > article:nth-child(9) .testimonial-card,
	.testimonials-grid > article:nth-child(10) .testimonial-card,
	.testimonials-grid > article:nth-child(11) .testimonial-card,
	.testimonials-grid > article:nth-child(12) .testimonial-card {
		aspect-ratio: 1 / 1;
	}
}

/* Tablet */

@media (max-width: 1200px) {
	.testimonials-grid {
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 240px;
	}
}

/* Mobile Masonry */

@media (max-width: 768px) {

	.testimonials-grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 200px;
		grid-auto-flow: dense;
		gap: 24px;
	}

	.testimonials-grid > article {
		position: relative;
		height: auto;
	}

	/* Tall cards */
	.testimonials-grid > article:nth-child(1),
	.testimonials-grid > article:nth-child(2),
	.testimonials-grid > article:nth-child(7),
	.testimonials-grid > article:nth-child(8) {
		grid-row: span 2;
		aspect-ratio: 1 / 2;
	}

	/* Square cards */
	.testimonials-grid > article:not(:nth-child(1)):not(:nth-child(2)):not(:nth-child(7)):not(:nth-child(8)) {
		aspect-ratio: 1 / 1;
	}

	/* Card fills grid item */
	.testimonials-grid > article > .testimonial-card {
		height: 100%;
		width: 100%;
	}
}

@media (max-width: 767px) {
	
	.testimonial-quote {
		font-size: 15px;
		padding: 10px 20px;
		display: inline-block;
		line-height: 1.2em;
	}
	
}

/* ***** SECTION FAQ ***** */

.section-faq {
    position: relative;
}

.section-faq__tagline {
	margin: 0 0 1rem;
	font-size: clamp(0.9375rem, 0.88rem + 0.25vw, 1.0625rem);
	line-height: 1.5;
	font-style: italic;
	color: var(--offwhite, #b9b9b9);
}

.section-faq .accordion-item {
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,0.15);
}

.section-faq .accordion-button {
    background: transparent;
    color: #fff;
    font-weight: 500;
    padding: 20px 0;
}

.section-faq .accordion-button::after {
    display: none;
}

.section-faq .faq-icon {
    width: 20px;
    height: 20px;
    margin-left: auto;
    background: url('/wp-content/uploads/2026/01/plus.svg') center / contain no-repeat;
    transition: transform 0.2s ease;
}

.section-faq .accordion-button:not(.collapsed) .faq-icon {
    background-image: url('/wp-content/uploads/2026/01/minus.svg');
}

.section-faq .accordion-body {
    padding: 0 0 20px 0;
    color: rgba(255,255,255,0.8);
}

.faq-buttons .btn {
    margin-right: 12px;
}

.accordion-button:not(.collapsed) {
	box-shadow: none !important;
}

@media (max-width: 991px) {
    .faq-buttons .btn {
        margin-bottom: 12px;
    }
}

/* ***** SECTION CTA ***** */

.section-centered-dark {
	background-color: var(--black);
	color: var(--white);
	text-align: center;
}

.section-centered-dark__inner {
	max-width: 775px;
	margin-left: auto;
	margin-right: auto;
}

.section-centered-dark__eyebrow {
    margin: 0 0 10px;
    padding-left: 20px;
    padding-right: 20px;
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.78);
}

.section-centered-dark__heading {
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.18;
	/* font-size: clamp(1.75rem, 1.15rem + 2.2vw, 2.85rem); */
	margin: 0 0 1.5rem;
	color: var(--white);	
}

.section-centered-dark__tagline {
	margin: 0 0 1.5rem;
	font-size: clamp(1rem, 0.92rem + 0.35vw, 1.125rem);
	font-weight: 500;
	line-height: 1.45;
	font-style: italic;
	color: var(--offwhite, #b9b9b9);
	text-transform: none;
}

.section-centered-dark__heading + .section-centered-dark__tagline {
	margin-top: -0.5rem;
}

.section-centered-dark__body {
	color: rgba(255, 255, 255, 0.88);
	font-size: 1rem;
	line-height: 1.65;
	text-align: center;
	text-transform: none;
}

.section-centered-dark__body p {
	margin-bottom: 0;
}

.section-centered-dark__body p + p {
	margin-top: 1.25rem;
}

.section-centered-dark__actions {
	margin-top: 2rem;
}

.section-cta .cta-tagline {
	margin: 0 auto 1rem;
	max-width: 775px;
	font-size: clamp(0.9375rem, 0.88rem + 0.25vw, 1.0625rem);
	line-height: 1.5;
	font-style: italic;
	color: var(--offwhite, #b9b9b9);
	text-transform: none;
	text-align: center !important;
}

.section-cta .cta-heading + .cta-tagline {
	margin-top: -0.35rem;
}

.section-cta .cta-inner.text-center {
	text-align: left !important;
}

/* ********** ABOUT ********** */

.about-scroll-video .section-video-scroll__heading {
	color: #fff;
	max-width: 70%;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

/* CARD COLUMNS */

.section-card-columns a {
	color: var(--white);
	text-decoration: none;
}

.section-card-columns h3 {
	font-size: 20px !important;
	text-transform: initial;
}

.section-card-columns img {
    border-radius: 5px;
}

/* Splide's default pagination is `position: absolute; bottom: 0.5em`, sitting
   right on top of the card's own bottom content since the carousel box is
   exactly card height. Let it flow below the slide instead of overlapping it. */
.section-card-columns .splide__pagination {
	position: static;
	margin-top: 16px;
}

.section-card-columns .card-column-media {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 5px;
    margin-bottom: 1rem;
}

.section-card-columns .card-column-media::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 5px;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.2) 0%,
        rgba(0, 0, 0, 0.5) 100%
    );
    pointer-events: none;
    z-index: 1;
}

.section-card-columns .card-column-media img {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 0;
    border-radius: 5px;
}

p.card-description {
	color: var(--lightgrey);
}

.section-leadership h3 {
	font-size: 18px !important;
	text-transform: initial;
}

.section-leadership .leadership-name__name {
	display: block;
	font-size: 22px;
	line-height: 1.2;
}

.section-leadership .leadership-name__role {
	display: block;
	margin-top: 4px;
	font-family: var(--font-heading);
	font-size: 14px;
	font-weight: 500;
	color: var(--offwhite);
}

.section-leadership img {
    max-width: 300px;
    border-radius: 100%;
}

.leadership-bio {
	color: rgba(255, 255, 255, 0.82);
}

a.leadership-linkedin {
	font-size: 18px;
	color: var(--white);
	text-decoration: none !important;
}

a.leadership-linkedin img {
	margin-top: -1px;
}

/* Left-align the member text (name, bio, LinkedIn). The section is text-center
   for the heading and photos, so this overrides only the bio column. */
.section-leadership .row > .col-md-6:last-child {
	text-align: left;
}

/* CARD STATS */

.section-stats-cards .stats-cards-grid {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(var(--card-count), 1fr);
}

.section-statistics .stat,
.section-stats-cards .stat {
    position: relative;
    display: flex;
    align-items: stretch;
    text-decoration: none;
    color: inherit;
    border-radius: 5px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    outline: 1px solid transparent;
    transition:
        box-shadow 0.75s ease,
        outline 0.75s ease;
}

.section-statistics .stat::before,
.section-stats-cards .stat::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: 5px;
}

/* Opt-in scrim for stat cards whose photo is too bright, so the value/label
   stay legible and the card matches the darker cards beside it. */
.section-stats-cards .stat--scrim::before {
    background: linear-gradient(
        160deg,
        rgba(0, 0, 0, 0.6) 0%,
        rgba(0, 0, 0, 0.35) 45%,
        rgba(0, 0, 0, 0.45) 100%
    );
}

.section-statistics .stat::after,
.section-stats-cards .stat::after {
    content: "";
    position: absolute;
    inset: 0;
    background: inherit;
    border-radius: 5px;
    z-index: 0;
    transform: scale(1);
    transition: transform 0.75s ease;
    will-change: transform;
}

.section-statistics .stat:hover::after,
.section-stats-cards .stat:hover::after {
    transform: scale(1.05);
}

.section-statistics .stat-inner,
.section-stats-cards .stat-inner {
    position: relative;
    z-index: 2;
    padding: 24px;
    display: flex;
    flex-direction: column;
    width: 100%;
}

.section-statistics .stat:hover,
.section-stats-cards .stat:hover {
    outline: 1px solid var(--blue);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.05),
        0 0 12px var(--blue),
        0 0 24px var(--blue);
}

.section-stats-cards .stat strong {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;
}

.section-stats-cards .stat span {
    font-size: 14px;
}

.section-stats-cards .stat-arrow {
    position: absolute;
    right: 18px;
    bottom: 18px;
    z-index: 3;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--white);
    transition:
        background 0.75s ease,
        transform 0.75s ease;
}

.section-stats-cards .stats-cards-grid {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(var(--card-count), 1fr);
}

.section-stats-cards .stats-cards-grid {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(var(--card-count), 1fr);
}

@media (min-height: 768px) {
	
	.section-statistics .stat, .section-stats-cards .stat {
		min-height: 288px;
	}
	
}

@media (max-width: 767.98px) {

    .section-stats-cards .stat {
        min-height: 200px;
    }

    .section-stats-cards .stat-inner {
        padding: 20px;
    }

    .section-stats-cards .stat strong {
        font-size: 32px;
    }
}

/* TESTIMONIAL CAROUSEL */

.section-testimonial-carousel .testimonial-slide {
    position: relative;
    border-radius: 5px;
    background-size: cover;
    background-position: center;
    min-height: 420px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
}

.section-testimonial-carousel .testimonial-content {
    position: relative;
    z-index: 2;
    padding: 32px;
    max-width: 700px;
}

.section-testimonial-carousel blockquote {
	margin: 0 0 10px 0;
}

.section-testimonial-carousel .testimonial-text {
    font-size: 22px;
    line-height: 1.4;
}

.section-testimonial-carousel .testimonial-meta {
    position: initial;
	font-style: italic;
}

.section-testimonial-carousel .testimonial-meta span {
	font-size: 16px;
}

/* SECTION STEPS */

.section-steps .step-card {
    border-radius: 5px;
    padding: 24px;
    outline: 1px solid var(--blue);
    transition:
        box-shadow 0.75s ease,
        outline 0.75s ease;
}

.section-steps .step-card:hover {
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.05),
        0 0 12px var(--blue),
        0 0 24px var(--blue);
}

.section-steps .step-label {
    font-size: 14px;
    opacity: 0.8;
}

/* Mobile */
@media (max-width: 991.98px) {
    .section-steps .step-card {
        height: auto;
    }
}

/* ********** FLD EXPERIENCE ********** */

/* Section Pillars */

.section-pillars {
    position: relative;
}

.section-pillars-heading {
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.section-pillars__tagline {
	margin: 0.75rem 0 0;
	max-width: 42rem;
	margin-left: auto;
	margin-right: auto;
	font-size: clamp(0.9375rem, 0.88rem + 0.25vw, 1.0625rem);
	font-weight: 400;
	line-height: 1.5;
	font-style: italic;
	color: var(--offwhite, #b9b9b9);
}

.section-pillars-heading + .section-pillars__tagline {
	margin-top: 0.65rem;
}

.pillar-card {
    background: #111;
    border-radius: 5px;
    padding: 28px;
	color: var(--white);
	text-decoration: none;
    transition:
        box-shadow 0.4s ease,
        transform 0.4s ease;
}

.pillar-title {
    font-size: 18px;
    margin-bottom: 0;
}

.pillar-tagline {
	margin: 0.35rem 0 0.65rem;
	font-size: 14px;
	font-style: italic;
	line-height: 1.45;
	color: var(--offwhite, #b9b9b9);
}

.pillar-title + .pillar-tagline {
	margin-top: 0.25rem;
}

.pillar-description {
    font-size: 14px;
    margin: 0;
}

/* Hover (subtle, premium) */
@media (hover: hover) {
    .pillar-card:hover {
        transform: translateY(-2px);
        box-shadow:
            0 0 0 1px rgba(255,255,255,0.05),
            0 8px 24px rgba(0,0,0,0.6);
    }
}

/* Mobile */
@media (max-width: 767.98px) {
    .pillar-card {
        padding: 22px;
    }
}

/* VIDEO REELS */

.section-video-reels {
    position: relative;
}

.section-video-reels__tagline {
	margin: 0.75rem auto 0;
	max-width: 42rem;
	padding-left: 1rem;
	padding-right: 1rem;
	font-size: clamp(0.9375rem, 0.88rem + 0.25vw, 1.0625rem);
	font-weight: 400;
	line-height: 1.5;
	font-style: italic;
	color: var(--offwhite, #b9b9b9);
}

.section-video-reels-heading + .section-video-reels__tagline {
	margin-top: 0.65rem;
}

.section-video-reels .splide {
    position: relative;
}

.section-video-reels .splide__arrows {
    pointer-events: none;
}

.section-video-reels .splide__arrow {
    pointer-events: auto;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border: none;
    background: transparent;
    padding: 0;
    z-index: 5;
    opacity: 1;
}

.section-video-reels .splide__arrow--prev {
    left: 24px;
}

.section-video-reels .splide__arrow--next {
    right: 24px;
}

.section-video-reels .splide__arrow img {
    width: 44px;
    height: 44px;
    display: block;
}

.section-video-reels .splide__arrow:disabled {
    opacity: 0.4;
    cursor: default;
}

.video-reel-card {
    position: relative;
    aspect-ratio: 3 / 5;
    border-radius: 5px;
    overflow: hidden;
    background: #000;
}

.video-reel-poster {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    z-index: 1;
}

.video-reel-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 2;
    display: none;
}

.video-reel-play {
    position: absolute;
    z-index: 3;
    bottom: 20px;
	right: 15px;
    background: transparent;
    border: none;
    cursor: pointer;
}

.video-reel-card.is-playing .video-reel-poster,
.video-reel-card.is-playing .video-reel-play {
    display: none;
}

.video-reel-card.is-playing .video-reel-video {
    display: block;
}

/* ---- Optional: keep arrows tighter on smaller screens ---- */
@media (max-width: 991.98px) {

    .section-video-reels .splide__arrow--prev {
        left: 16px;
    }

    .section-video-reels .splide__arrow--next {
        right: 16px;
    }
}

@media (max-width: 767.98px) {

    .section-video-reels .splide__arrow--prev {
        left: 12px;
    }

    .section-video-reels .splide__arrow--next {
        right: 12px;
    }

    .section-video-reels .splide__arrow {
        width: 40px;
        height: 40px;
    }

    .section-video-reels .splide__arrow img {
        width: 40px;
        height: 40px;
    }
}

/* ********** OPEN A CHAPTER ********** */

.open-a-chapter-benefits .sponsorship-icon img {
	width: 50px;
	height: 50px;
}

/* ********** PHIILANTROPY ********** */

.section-impact-counters {
    background-color: #000000;
}

.section-impact-counters .section-title {
    color: #ffffff;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.impact-counter-card {
    position: relative;
    height: 100%;
    min-height: 260px;
    border-radius: 5px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #111111;
}

.impact-counter-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.35) 0%,
        rgba(0, 0, 0, 0.75) 100%
    );
    z-index: 1;
}

.impact-counter-link {
    display: block;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

.impact-counter-overlay {
    position: relative;
    z-index: 2;
    height: 100%;
    padding: 32px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.impact-counter-value {
    font-size: clamp(2.25rem, 3vw, 3rem);
    font-weight: 600;
    line-height: 1;
    color: #ffffff;
    margin-bottom: 12px;
}

.impact-counter-label {
    font-size: 0.95rem;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.85);
    max-width: 85%;
}

.impact-counter-arrow {
    position: absolute;
    bottom: 24px;
    right: 24px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #ffffff;
    color: #000000;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    opacity: 0.9;
    transition:
        transform 0.25s ease,
        opacity 0.25s ease;
}

.impact-counter-card:hover .impact-counter-arrow {
    transform: translateX(4px);
    opacity: 1;
}

/* Hover lift */
.impact-counter-card {
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.impact-counter-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .impact-counter-card,
    .impact-counter-arrow {
        transition: none;
    }
}

/* IMPACT CAROUSEL */

.section-impact-carousel {
    background-color: #000000;
    overflow: visible;
}

.impact-carousel {
    padding-bottom: 40px;
}

.impact-carousel-card {
    position: relative;
    min-height: 260px;
    border-radius: 5px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* .impact-carousel-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(0,0,0,0.25) 0%,
        rgba(0,0,0,0.85) 100%
    );
    z-index: 1;
} */

.impact-carousel-link {
    display: block;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

.impact-carousel-overlay {
    position: relative;
    z-index: 2;
    height: 100%;
    padding: 32px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.impact-carousel-value {
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 6px;
}

.impact-carousel-label {
    font-size: 0.95rem;
    color: rgba(255,255,255,0.85);
}

/* Subtle depth */
.splide__slide {
    transition: transform 0.3s ease, opacity 0.3s ease;
    opacity: 0.6;
}

.splide__slide.is-active {
    opacity: 1;
    transform: scale(1.02);
}

/* Base slide scale */
.section-impact-carousel .splide__slide {
    transition:
        transform 0.35s ease,
        opacity 0.35s ease;
    transform: scale(0.92);
    opacity: 0.55;
}

/* Active (center) slide */
.section-impact-carousel .splide__slide.is-active {
    transform: scale(1.08);
    opacity: 1;
    z-index: 2;
}

/* Slightly soften immediate neighbors */
.section-impact-carousel .splide__slide.is-prev,
.section-impact-carousel .splide__slide.is-next {
    transform: scale(0.98);
    opacity: 0.75;
}

.section-impact-carousel .splide__track,
.section-impact-carousel .splide__list {
    overflow: visible;
}

/* Allow carousel to extend beyond container */
.impact-carousel-bleed {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: visible;
}

/* Keep cards centered visually */
.impact-carousel {
    max-width: 1400px;
    margin: 0 auto;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .splide__slide {
        transition: none;
    }
}

/* ********** MEMBERSHIP ********** */

.hero-membership h1.mw-775 {
	max-width: 1000px;
}

.section-check-eligibility {
    background: #000;
}

.check-eligibility-card {
    position: relative;
    max-width: 630px;
    margin: 0 auto;
    padding: 48px 56px;
    border-radius: 5px;

    background: linear-gradient(
        180deg,
        #000000 0%,
        #0F0F0F 50%,
        #1B1B1B 100%
    );

    border: 1px solid #1F1F1F;

    box-shadow:
        0 0 120px rgba(255, 255, 255, 0.12);
}

.check-eligibility-card::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 5px;
    pointer-events: none;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.25'/%3E%3C/svg%3E");

    opacity: 0.25;
    mix-blend-mode: overlay;
}

.check-eligibility-form .btn-cta {
	color: var(--white);
}

.check-eligibility-feedback {
	margin: 0 0 1.25rem;
	font-size: 0.9375rem;
	line-height: 1.5;
}

.check-eligibility-feedback.is-success {
	color: var(--white);
    font-size: 12px !important;
    text-align: center;
}

.check-eligibility-feedback.is-error {
	color: var(--offwhite, #b9b9b9);
    font-size: 12px !important;
    text-align: center;
    color: #ffa8a8;
}

.check-eligibility-form .btn-cta:disabled {
	opacity: 0.65;
	cursor: wait;
}

.page-id-53 section.section-logo-trust.vpt-medium.vpb-medium {
    display: none;
}

.page-id-55 .contact-form-heading {
    display: none;
}

/* SECTION LOGO TRUST */

.logo-trust-row {
/*     max-width: 1100px; */
    margin-left: auto;
    margin-right: auto;
    gap: 12.5% !important;
}

.logo-trust-img {
    display: block;
    width: auto;
    max-height: 100px;
    opacity: 0.9;
}

@media (max-width: 991.98px) {
    .logo-trust-row {
    }

    .logo-trust-img {
        max-width: 140px;
    }
}

@media (max-width: 575.98px) {
    .section-logo-trust {
        padding-top: 24px;
        padding-bottom: 24px;
    }

    .logo-trust-row {
        gap: 28px;
        flex-wrap: wrap;
        justify-content: center;
    }

    .logo-trust-img {
        height: 40px;
        max-width: 130px;
    }
}

/* SECTION REQUIREMENTS */

.section-requirements {
    background: #000;
    padding-top: 64px;
    padding-bottom: 64px;
}

/* Section heading */
.section-requirements-heading {
    font-size: 32px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #fff;
}

.requirement-card {
    height: 100%;
    padding: 32px 32px 28px;
    border-radius: 5px;
    border: 1px solid #1F1F1F;
    position: relative;
    overflow: hidden;
	background-color: #111111;
}

.requirement-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 5px;
    pointer-events: none;
}

.requirement-icon {
    width: 32px;
    height: 32px;
    object-fit: contain;
    margin-bottom: 16px;
}

.requirement-title {
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    margin-bottom: 16px;
	text-transform: initial;
}

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

.requirement-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;

    font-size: 16px;
    line-height: 28px;
    color: #E5E5E5;

    margin-bottom: 10px;
}

.requirement-item:last-child {
    margin-bottom: 0;
}

.requirement-bullet-icon {
    width: 24px;
    height: 24px;
    object-fit: contain;
    margin-top: 2px;
    flex-shrink: 0;
}

@media (max-width: 991.98px) {
    .section-requirements {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .requirement-card {
        padding: 28px;
    }

    .section-requirements-heading {
        font-size: 28px;
    }
}

@media (max-width: 575.98px) {
    .requirement-card {
        padding: 24px;
    }

    .requirement-title {
        font-size: 17px;
    }

    .requirement-item {
        font-size: 13.5px;
    }
}

/* HERO SECONDARY */

.hero-secondary {
	padding-top: 225px;
}

@media (max-width: 767px) {
	
	.hero-secondary {
		padding-top: 125px !important;
		padding-bottom: 50px !important;
	}
	
	.hero-secondary .cta-buttons a:first-of-type {
		margin-bottom: 10px;
		width: 100%;
	}
	
	.hero-secondary .cta-buttons a.ms-3 {
		margin-left: 0 !important;
		width: 100%;
	}
	
}

/* SECTION COUNTERS */

.section-counters {
    background: #000;
    padding-top: 48px;
    padding-bottom: 48px;
}

.counters-divider {
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.15);
    margin-bottom: 32px;
}

.counter-card {
    padding: 20px 16px;
    border-radius: 5px;

    background: #111111;

    border: 1px solid #1F1F1F;

    box-shadow: 0 0 60px rgba(255, 255, 255, 0.06);
}

.counter-value {
    font-size: 28px;
    font-weight: 600;
    color: #fff;
    margin-bottom: 4px;
    letter-spacing: 0.02em;
}

.counter-label {
    font-size: 13px;
    color: #CFCFCF;
}

@media (max-width: 991.98px) {
    .counter-value {
        font-size: 26px;
    }
}

@media (max-width: 575.98px) {
    .section-counters {
        padding-top: 40px;
        padding-bottom: 40px;
    }
}

/* SECTION FAQ EXPANDED */

.section-faq-expanded .faq-category-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.section-faq-expanded .faq-category-btn {
    background: none;
    border: 0;
    color: #fff;
    padding: 8px 0;
    font-weight: 500;
    cursor: pointer;
}

.section-faq-expanded .faq-category-btn.is-active {
    text-decoration: underline;
}

.section-faq-expanded .faq-category-panel {
    display: none;
}

.section-faq-expanded .faq-category-panel.is-active {
    display: block;
}

/* SECTION CTA IMAGE */

.section-cta-image {
    background: #000;
    padding-top: 64px;
    padding-bottom: 64px;
}

.cta-image-card {
    position: relative;
    min-height: 650px;
    border-radius: 5px;
    overflow: hidden;

    background-size: cover;
    background-position: center;

    display: flex;
    align-items: center;
    justify-content: center;
}

/* .cta-image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.35),
        rgba(0, 0, 0, 0.75)
    );
} */

.cta-image-content {
    position: relative;
    z-index: 2;
    max-width: 720px;
    margin: 0 auto;
    padding: 64px 24px;
    color: #fff;
    width: 100%;
}

.cta-image-heading {
    font-size: 32px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.cta-image-text {
    font-size: 15px;
    opacity: 0.9;
}

.cta-image-buttons {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

@media (max-width: 767.98px) {
    .cta-image-content {
        padding: 48px 20px;
    }

    .cta-image-heading {
        font-size: 26px;
    }
	
	.cta-image-buttons .cta-buttons a:first-of-type {
		width: 100%;
		margin-bottom: 10px;
	}
	
	.cta-image-buttons .cta-buttons a.ms-3 {
		width: 100%;
		margin-left: 0 !important;
	}
}

/* SECTION CONTACT ASSISTANCE */

.section-contact-assistance {
    background: #000;
    padding: 80px 0;
    color: #fff;
}

.contact-assistance-heading {
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.contact-assistance-text {
    max-width: 460px;
    opacity: 0.9;
}

.section-contact-assistance .contact-form-heading,
.section-contact-assistance .form-privacy-notice {
    text-align: center;
}

/* Centered single-column variant (contact + requirements pages). */
.section-contact-assistance--centered .contact-assistance-text {
    margin-left: auto;
    margin-right: auto;
}

.section-contact-assistance--centered .form-privacy-notice {
    text-align: center;
}

/* LEFT – CONTACT METHODS */

.contact-methods {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.contact-method {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.contact-method-icon {
    width: 40px;
    height: 40px;
    object-fit: contain;
    opacity: 0.9;
}

.contact-method-title {
    display: block;
    font-size: 14px;
    margin-bottom: 2px;
}

.contact-method-primary {
    font-size: 14px;
    opacity: 0.9;
}

.contact-method-secondary {
    font-size: 12px;
    opacity: 0.6;
}

/* RIGHT – FORM CARD */

.contact-form-card {
    background-color: #111111;
    border: 1px solid #1f1f1f;
    border-radius: 5px;
    padding: 32px;
}

.contact-form-heading {
    font-size: 16px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.contact-form-card label {
    font-size: 12px;
    opacity: 0.8;
    margin-bottom: 6px;
}

.contact-form-card .form-control {
    background: #000;
    border: 1px solid #2a2a2a;
    color: #fff;
    border-radius: 5px;
}

.contact-form-card .form-control:focus {
    border-color: #fff;
    box-shadow: none;
}

/* Responsive */

@media (max-width: 991.98px) {
    .section-contact-assistance {
        padding: 64px 0;
    }
}

/* ********** CHAPTERS ********** */

.chapter-search {
	border: 1px solid var(--white);
	border-radius: 5px;
	padding: 10px 20px;
	background-color: var(--black);
}

/* Placeholder text color */
input::placeholder,
textarea::placeholder {
    color: #838383;
    opacity: 1;
}

/* WebKit (Chrome, Safari, Edge) */
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
    color: #838383;
}

/* Firefox */
input::-moz-placeholder,
textarea::-moz-placeholder {
    color: #838383;
    opacity: 1;
}

/* Internet Explorer / legacy Edge */
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
    color: #838383;
}

.chapter-search-wrapper {
    position: relative;
    max-width: 600px;
    margin: 0 auto 16px;
}

.chapter-search-input {
    width: 100%;
    padding: 14px 16px 14px 44px;
    background: transparent;
    border: none;
    border-bottom: 1px solid #979797;
    color: #ffffff;
    border-radius: 5px;
}

.chapter-search-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    opacity: 0.7;
    pointer-events: none;
}

.chapter-region-tabs {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}

.chapter-region-tabs button {
    background: transparent;
    border: 1px solid #444;
    color: #aaa;
    padding: 3px 14px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
}

.chapter-region-tabs button.is-active {
    background: #ffffff;
    color: #000000;
    border-color: #ffffff;
}

.chapter-card.is-hidden {
    display: none !important;
}

.chapters-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 24px;
}

.chapter-card {
	display: block;
	border-radius: 5px;
	overflow: hidden;
	background: #0e0f11;
	text-decoration: none;
	color: #fff;
}

.chapters-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}

.chapter-card {
	display: flex;
	flex-direction: column;
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0.06),
		rgba(255, 255, 255, 0.02)
	);
	border-radius: 5px;
	overflow: hidden;
	text-decoration: none;
	color: #fff;
	position: relative;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.chapter-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}

.chapter-card-image {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.chapter-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.chapter-card-content {
	position: absolute;
	left: 20px;
	bottom: 0px;
	z-index: 2;
}

.chapter-card-content h3 {
	margin: 0;
	font-size: 24px;
	font-weight: 600;
	text-transform: initial;
}

.chapter-location {
	margin-top: 4px;
	font-size: 14px;
	opacity: 0.85;
}

.chapter-card-info {
	margin-top: auto;
	padding: 20px 24px;
	backdrop-filter: blur(8px);
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.chapter.card-info {
	background-color: var(--black2);
	border: 1px solid #4f4f4f;
	border-bottom-left-radius: 30px;
	border-bottom-right-radius: 30px;
}

.chapter-meta {
	display: flex;
	gap: 24px;
	font-size: 14px;
	opacity: 0.85;
}

.chapter-meta span {
	display: flex;
	align-items: center;
	gap: 6px;
}

.chapter-card .btn-cta {
	width: 100%;
}

.chapter-card:hover .btn-cta {
	background: #fff;
	color: #000;
}

.chapter-card button.chapter-card__waitlist {
	cursor: pointer;
	font: inherit;
}

.chapter-card-content {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

@media (max-width: 991px) {
	
	.chapters-grid {
		grid-template-columns: repeat(3, 1fr);
	}
	
	.chapter-meta.mb-4 {
		display: block;
		margin-bottom: 0rem !important;
	}
	
	.chapter-meta div.d-flex:first-of-type {
		margin-bottom: 5px;
	}
	
}

@media (min-width: 768px) {

    .chapter-region-tabs {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
    }

    .chapter-region-select {
        display: none !important;
    }

}

@media (max-width: 767px) {
	
	.chapter-region-tabs {
        display: none;
    }

    .chapter-region-select {
        display: block;
        width: 100%;
        padding: 12px 14px;
        font-size: 16px;
		max-width: 600px;
		margin: 0 auto;
		
		padding: 14px 16px 14px 44px;
		background: transparent;
		border: 1px solid #ffffff;
		color: #ffffff;
		border-radius: 5px;
		
    }
	
	.chapters-grid {
		grid-template-columns: repeat(1, 1fr);
		gap: 16px;
	}
	.chapter-card-content {
		left: 16px;
		bottom: 88px;
	}

	.chapter-card-content h3 {
		font-size: 18px;
	}

	.chapter-card-info {
		padding: 16px;
	}
}

/* ********** SINGLE CHAPTER ********** */

body.single-chapter .hero-primary {
	padding-top: 110px !important;
    height: calc(100vh - 87px) !important;
	margin-bottom: 10px;
}

body.single-chapter .MagicScroll-horizontal .mcs-item {
	position: initial;
}

body.single-chapter .section-centered-dark {
	margin-top: 72px;
}

body.single-chapter .section-card-columns .card-column-media {
	border-radius: 5px;
}

body.single-chapter .section-card-columns .card-column-media img {
	border-radius: 5px;
}

.fld-chapter-marquee-section--chapter-gallery {
    padding-top: 0 !important;
}

body.single-chapter h2.logo-trust-heading.text-center.mb-3 {
    margin-bottom: 2.5rem !important;
}

@media (max-width: 776px) {

	/* The unconditional desktop rule above (padding-top: 110px, height: calc(100vh - 87px))
	   stacks with the global .hero-primary-content mobile padding fix instead of replacing
	   it, since this selector's higher specificity wins — that's what was pushing the
	   eyebrow ~300px down. Reset both here so mobile falls back to the same auto-height,
	   content-driven sizing every other hero-primary page uses. */
	body.single-chapter .hero-primary {
		padding-top: 0 !important;
		height: auto !important;
		min-height: 100svh !important;
	}

}

/* ********** EVENTS ********** */

.section-events-listing {
    background-color: #000;
    color: #ffffff;
	padding-top: 150px;
}

.section-events-listing .container {
    max-width: 1320px;
}

/* Heading */

.section-events-listing .events-listing-heading {
    font-size: 48px;
    font-weight: 500;
    letter-spacing: 0.02em;
    margin-bottom: 8px;
}

.section-events-listing .section-subtitle {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.75);
}

/* Filters */

.events-filters-inner {
    background: #111;
    border-radius: 5px;
    padding: 12px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

@media (min-width: 768px) {
    .events-filters-inner {
        grid-template-columns: 2fr 1fr 1fr;
    }
}

.events-filters input,
.events-filters select {
    background-color: #0d0d0d;
    border: 1px solid #808080;
    color: #ffffff;
    border-radius: 5px;
    height: 46px;
    padding: 0 14px;
}

.events-filters input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.form-control:focus,
.form-select:focus {
    background-color: #0d0d0d;
    color: #ffffff;
}

/* Results Count */

.events-results-count {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
}

/* Grid (CSS Grid = equal-height rows + no Bootstrap col dependencies) */

.events-grid {
    margin-top: 16px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

@media (min-width: 992px) {
    .events-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

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

@media (max-width: 575.98px) {
    .events-grid {
        grid-template-columns: 1fr;
    }
}

/* Card */

.event-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: linear-gradient(180deg, #111 0%, #0b0b0b 100%);
    border-radius: 5px;
    overflow: hidden;
    text-decoration: none;
    color: #ffffff;
    border: 1px solid #4F4F4F;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.event-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 28px 60px rgba(0, 0, 0, 0.8);
}

/* Past-event cards with no Pixieset album yet: same look, but not clickable. */
.past-event-card--no-link {
    cursor: default;
}

.past-event-card--no-link:hover {
    transform: none;
    box-shadow: none;
}

.event-card-cta--disabled {
    background-color: transparent !important;
    color: rgba(255, 255, 255, 0.5) !important;
    border: 1px solid rgba(255, 255, 255, 0.25);
}

/* Media */

.event-card-media {
    flex: 0 0 auto;
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.event-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Badge */

.event-card-badge {
    position: absolute;
    top: 14px;
    right: 14px;
    background: #0d6efd;
    color: #ffffff;
	text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 5px;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
}

/* Body */

.event-card-body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    padding: 25px;
    height: auto;
}

/* Title */

.event-card-title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 10px;
}

/* Meta */

.event-card-meta {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: 12px;
}

.event-card-meta-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

/* Description */

.event-card-description {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.5;
    margin-bottom: 16px;

    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Footer pinned to bottom */

.event-card-footer {
    margin-top: auto;
}

.event-card-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    border-radius: 5px;
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 600;
    background-color: #ffffff;
    color: #000000;
    text-align: center;
}

/* Footer / CTA */

.event-card-footer {
	margin-top: auto;
}

.event-card-cta {
	display: block;
	width: 100%;
	background: #ffffff;
	color: #000000;
	border-radius: 5px;
	text-align: center;
	padding: 12px;
	font-size: 14px;
	font-weight: 600;
}

/* Disabled / Full state (future use) */
.event-card-cta.is-disabled {
	background: #444;
	color: #aaa;
	cursor: not-allowed;
}

/* Loading / Empty States */

.events-loading,
.events-empty {
	text-align: center;
	color: rgba(255, 255, 255, 0.6);
	font-size: 14px;
	margin-top: 24px;
}

/* ********** SPONSOR ********** */

.section-partner-benefits {
    background-color: #000000;
    padding-top: 80px;
    padding-bottom: 80px;
}

.section-partner-benefits-heading {
    color: #ffffff;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.partner-benefit-card {
    height: 100%;
    padding: 24px 28px;
    border: 1.5px solid var(--blue);
    border-radius: 5px;
    background-color: transparent;
}

.partner-benefit-title {
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 8px;
}

.partner-benefit-text {
    color: rgba(255, 255, 255, 0.75);
    font-size: 15px;
    line-height: 1.6;
}

@media (max-width: 991px) {

    .section-partner-benefits {
        padding-top: 60px;
        padding-bottom: 60px;
    }

}

@media (max-width: 575px) {

    .partner-benefit-card {
        padding: 20px;
    }

}

/* SPONSORSHIP PACKAGES */

.section-sponsorship-packages {
    background-color: #000;
}

.section-sponsorship-packages .section-title {
    color: #fff;
}

.section-sponsorship-packages .section-subtitle {
    color: #b3b3b3;
}

.sponsorship-card {
    background-color: #111111;
    border-radius: 5px;
    padding: 32px 28px;
    border: 1px solid #4F4F4F;
    display: flex;
    flex-direction: column;
    transition: border-color 0.25s ease, transform 0.25s ease;
}

.sponsorship-card:hover {
    border-color: rgba(255,255,255,0.25);
    transform: translateY(-4px);
}

.sponsorship-icon img {
    width: 36px;
    height: 36px;
    object-fit: contain;
}

.sponsorship-title {
    color: #fff;
    font-size: 22px;
    font-weight: 600;
}

.sponsorship-description {
    color: #9a9a9a;
    font-size: 15px;
    line-height: 1.5;
}

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

.sponsorship-features li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
}

.sponsorship-features img {
    width: 20px;
    height: 20px;
    margin-top: 2px;
}

.sponsorship-features span {
    color: #fff;
    font-size: 15px;
    line-height: 1.45;
}

.sponsorship-cta {
    margin-top: auto;
}

.sponsorship-cta .btn-group,
.sponsorship-cta .btn-cta {
    display: block;
	width: 100%;
}

/* AS FEATURED IN */

.section-logo-marquee .mcs-wrapper {
    padding-top: 25px;
}

/* ********** BLOG ********** */

/* BLOG GLOBAL */
.blog-hero a,
.blog-featured a,
.blog-grid a {
    color: inherit;
    text-decoration: none;
}

.blog-hero a:hover,
.blog-featured a:hover,
.blog-grid a:hover {
    text-decoration: none;
}

/* BLOG HERO */
.blog-hero {
    padding: 200px 20px 0px 20px;
	text-align: center;
}

.blog-hero h1 {
    margin: 0;
    font-size: 48px;
    font-weight: 600;
    color: #ffffff;
}

/* FEATURED POST */
.blog-featured {
    padding: 75px 0 100px;
}

.blog-featured-card {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 40px;
    align-items: center;
}

.blog-featured-image {
    position: relative;
}

.blog-featured-image::after {
    content: "Featured";
    position: absolute;
    top: 16px;
    left: 16px;
    padding: 6px 12px;
    background: #000;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em;
    border-radius: 5px;
}

.blog-featured-image img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    display: block;
    border-radius: 5px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.blog-featured-content {
    max-width: 520px;
}

.blog-featured-title {
    font-size: 36px;
    line-height: 1.2;
    margin-bottom: 12px;
    color: #ffffff;
}

.blog-featured-meta {
    display: flex;
    gap: 10px;
    font-size: 13px;
    color: #9a9a9a;
    margin-bottom: 16px;
}

.blog-featured-meta span + span::before {
    content: "|";
    margin: 0 6px;
}

.blog-featured-excerpt {
    margin-bottom: 20px;
    color: #cccccc;
}

/* BLOG GRID */
.blog-grid {
    padding: 0 0 60px;
}

.blog-grid-inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

/* BLOG CARD */
.blog-card {
    display: flex;
    flex-direction: column;
}

.blog-card-image img {
    width: 100%;
    height: 275px;
    object-fit: cover;
    display: block;
    border-radius: 5px;
    margin-bottom: 16px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.blog-card-title {
    font-size: 20px;
    margin-bottom: 8px;
    color: #ffffff;
}

.blog-card-meta {
    display: flex;
    gap: 10px;
    font-size: 13px;
    color: #9a9a9a;
    margin-bottom: 12px;
}

.blog-card-meta span + span::before {
    content: "|";
    margin: 0 6px;
}

/* READ MORE */
.blog-read-more {
    font-weight: 500;
    color: #ffffff;
}

/* HOVER EFFECTS */
.blog-featured-image a:hover img,
.blog-card a:hover img {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}

/* RESPONSIVE */
@media (max-width: 991px) {
    .blog-featured-card {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .blog-grid-inner {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
	.blog-hero {
		padding-top: 125px;
	}
	
	.blog-hero .container {
		padding: 0 !important;
	}
	
    .blog-hero h1 {
        font-size: 28px !important;
    }

	.blog-featured {
		padding: 25px 0 50px 0;
	}
	
	h2.blog-featured-title {
		font-size: 20px !important;
	}
	
    .blog-featured-title {
        font-size: 28px;
    }

    .blog-grid-inner {
        grid-template-columns: 1fr;
    }
	
	.blog-featured-image img,
	.blog-card-image img {
		height: 225px;
	}
}

/* ***** BLOG SINGLE ***** */

.blog-post .container {
	max-width: 1000px !important;
    background-color: var(--black);
    border-radius: 5px;
    border: 1px solid #6b6b6b;
	padding: 0;
}

.article-hero-image img {
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	border-bottom: 1px solid #6b6b6b;
}

.blog-content {
	padding: 0 2.5rem 2.5rem;
}

.blog-content a {
	color: var(--white);
}

.blog-content h1 {
	font-size: 40px !important;
}

.blog-content h2 {
    font-size: 25px;
	font-weight: 400 !important;
	margin-top: 15px;
}

.blog-content h3 {
    font-size: 18px;
	margin-top: 15px;
}

.blog-content ul {
	padding-left: 19px;
}

.blog-content ul li p {
	margin-bottom: 3px;
}

.article-category {
	background-color: var(--black);
    padding: 5px 10px;
    border-radius: 5px;
    display: inline-block;
    border: 1px solid #6b6b6b;
}

/* Some post content (from the AI content-export pipeline) ships with inline
   styles baked in for the old site's red/white branding — a serif body
   font, a white FAQ box, red accents. Force these back to the theme's
   actual colors and font so the post reads consistently with the rest of
   the site regardless of what inline styles came in with the content. */
.article-body,
.article-body * {
	font-family: var(--font-body) !important;
	color: var(--white) !important;
	background-color: transparent !important;
	border-color: rgba(255, 255, 255, 0.15) !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.article-body [id^="fld-icon-"] {
	color: var(--blue) !important;
	border-color: var(--blue) !important;
}

/* Embedded YouTube videos: WordPress's default oEmbed markup is a bare
   560x315 iframe, which stays that fixed size regardless of screen width.
   Force it full-width and responsive. Posts that already wrap their embed
   in a manual position:absolute responsive container are left alone since
   those already scale correctly. */
.article-body iframe:not([style*="position: absolute"]) {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 9;
}

@media (max-width: 767px) {
	
	.blog-post.py-10 {
		padding-bottom: 0 !important;
	}
	
	.blog-post .container {
		border: none;
	}
	
	.blog-content {
		padding: 0.5rem 1.5rem 2.5rem;
	}
	
	.blog-content h2 {
		font-size: 20px !important;
	}

	.blog-content h3 {
		font-size: 18px !important;
	}
	
}

/* ********** PRESS ********** */

.section-press {
    background: #000;
    color: #fff;
}

.press-card {
    background: #111;
	border: 1px solid #4F4F4F;
	color: var(--white);
    border-radius: 5px;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.press-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
}

.press-card-image img {
    width: 100%;
    height: auto;
    display: block;
	object-fit: cover;
}

.press-card-body {
    padding: 24px;
}

.press-publication {
    color: #3aa3ff;
    font-weight: 600;
    margin-bottom: 4px;
}

p.press-source {
	font-size: 14px !important;
	color: var(--blue);
}

p.press-date {
    font-size: 14px !important;
    color: #777777;
}

.press-title {
    font-size: 18px;
    margin-bottom: 10px;
	text-transform: uppercase;
}

.press-excerpt {
    font-size: 15px;
    color: #ccc;
    margin-bottom: 16px;
}

.press-read-more {
    font-weight: 600;
    color: #fff;
}

.press-card {
    display: flex;
    flex-direction: column;
}

.press-card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 24px;
}

.press-read-more {
    margin-top: auto;
    padding-top: 16px;
}

.press-item {
    display: flex;
}

.press-item > .press-card {
    width: 100%;
}

/* Ensure columns stretch to equal height */
.press-grid {
    align-items: stretch;
}

.press-item {
    display: flex;
}

.press-item > .press-card {
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* Make body fill remaining height and push CTA down */
.press-card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.press-read-more {
    margin-top: auto;
}


@media (min-width: 992px) {
	
	.press-card-image img {
		height: 172px;
	}
	
}

@media (max-width: 991px) {
	
	.press-card-image img {
		height: 198px;
	}
	
}

/* ********** FAQ ********** */

.faq-section {
	margin-top: 100px;
}

.faq-section h1 {
	font-size: 50px !important;
}

.faq-section input {
	border: 1px solid #f2f2f2;
	background-color: var(--black);
	border-radius: 5px;
	color: var(--white);
	font-size: 16px;
}

.faq-section .accordion-item {
	background: transparent;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	color: var(--white);
}

.faq-section .accordion-button {
	color: var(--white);
	font-family: var(--font-heading);
	font-size: 18px;
	font-weight: 500;
	padding: 20px 0;
	background-color: transparent;
}

.faq-section .accordion-body {
	padding: 0 0 20px 0;
	color: rgba(255, 255, 255, 0.8);
}

.faq-section .accordion-button:not(.collapsed) {
	background-color: transparent;
	padding-bottom: 0;
}

.faq-section .accordion-item:first-of-type>.accordion-header .accordion-button {
	background-color: transparent;
}

.faq-clear-btn {
	top: -2px !important;
}

.faq-section .nav-link {
	color: var(--white);
}

.faq-section .nav-pills .nav-link.active, .nav-pills .show>.nav-link {
	background-color: var(--white);
	color: var(--black);
}

/* FAQ accordion + / - icons */
.faq-section .accordion-button::after {
    background-image: url('/wp-content/uploads/2026/01/icon-plus.svg');
    background-size: 16px 16px;
    background-repeat: no-repeat;
    background-position: center;
    width: 16px;
    height: 16px;
    transform: none;
}

.faq-section .accordion-button:not(.collapsed)::after {
    background-image: url('/wp-content/uploads/2026/01/icon-minus.svg');
}

button.accordion-button:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* Placeholder text color */
.faq-section input::placeholder {
    color: #838383 !important;
    opacity: 1;
}

/* WebKit (Chrome, Safari, Edge) */
.faq-section input::-webkit-input-placeholder {
    color: #838383 !important;
}

/* Firefox */
.faq-section input::-moz-placeholder {
    color: #838383 !important;
    opacity: 1;
}

/* Internet Explorer / legacy Edge */
.faq-section input:-ms-input-placeholder {
    color: #838383 !important;
}

/* ********** CONTACT ********** */

/* ********** THANK YOU ********** */

.hero-thank-you {
    background-color: #000;
    color: #fff;
    padding-top: 200px !important;
}

.hero-thank-you__heading {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 600;
}

.hero-thank-you__content {
    font-size: 1.05rem;
    color: rgba(255,255,255,0.85);
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

/* ---------- Step Card ---------- */

.thank-you-step {
    height: 100%;
    border: 1px solid var(--blue);
    border-radius: 5px;
    padding: 17px 23px;
    background: transparent;
    transition: transform 0.25s ease;
}

.thank-you-step:hover {
    transform: translateY(-4px);
}

.thank-you-step__title {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 6px;
    text-transform: initial;
}

.thank-you-step__description {
    font-size: 0.9rem;
    color: rgba(255,255,255,0.75);
    line-height: 1.5;
}

.hero-thank-you .splide__slide {
	opacity: 1 !important;
}

/* DESKTOP (Splide destroyed → grid layout) */

@media (min-width: 992px) {

    /* Kill all Splide positioning */
    .hero-thank-you__steps {
        overflow: visible;
		visibility: visible !important;
    }
	
    .hero-thank-you__steps .splide__track {
        overflow: visible;
    }

    .hero-thank-you__steps .splide__list {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 24px;
        transform: none !important;
        width: 100% !important;
    }

    .hero-thank-you__steps .splide__slide {
        flex: 0 0 calc(20% - 24px);
        max-width: 240px;
        transform: none !important;
    }

    .hero-thank-you__steps .splide__pagination {
        display: none;
    }
}

/* MOBILE / TABLET (Splide active) */

@media (max-width: 991px) {

    .hero-thank-you__steps {
        overflow: visible;
    }

    .hero-thank-you__steps .splide__track {
        overflow: visible;
    }

    .hero-thank-you__steps .splide__slide {
        width: 280px;
        max-width: 280px;
    }
}

/* Mobile text centering */
@media (max-width: 767px) {
    .thank-you-step {
        text-align: center;
    }
}

/* ********** WHAT TO EXPECT ********** */

.section-what-to-expect {
    background-color: #000;
    color: #fff;
}

.what-to-expect__image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 5px;
}

.what-to-expect__heading {
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 600;
}

.what-to-expect__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.what-to-expect__item {
    margin-bottom: 16px;
    line-height: 1.5;
}

.what-to-expect__item strong {
    display: block;
    font-weight: 600;
    margin-bottom: 4px;
}

.what-to-expect__item span {
    color: rgba(255, 255, 255, 0.75);
    font-size: 0.95rem;
}

/* Mobile stacking */
@media (max-width: 991px) {

    .what-to-expect__heading {
        text-align: center;
    }

    .what-to-expect__list {
        text-align: left;
    }

}

/* ********** POLICY PAGES ********** */

.section-policy {
	padding-top: 175px;
}

.section-policy .container {
	max-width: 950px !important;
}

.section-policy a {
	color: var(--white);
}

.section-policy h2,
.section-policy h3,
.section-policy h4 {
	font-size: 20px !important;
    font-weight: 400;
}

@media (max-width: 767px) {

    .section-policy .container {
        max-width: 95% !important;
    }

    /* !important because this has equal specificity to the generic
       .vpt-medium utility class also applied via fld_section_open()'s
       settings, and .vpt-medium's own mobile rule (36px) is defined later
       in this file — without !important here, that silently wins and the
       intended 150px collapses to 36px, which was the actual bug. */
    .section-policy {
        padding-top: 150px !important;
    }

}

/* ********** FOOTER ********** */

footer {
	background-color: var(--black);
}

.footer-logo {
	width: 125px;
}

.footer-brand p {
	font-size: 14px !important;
}

.footer-brand a {
    color: var(--white);
	transition: all .5s;
}

footer ul li a {
    color: var(--white);
    text-decoration: none;
    margin-bottom: 5px;
    display: block;
    font-size: 15px;
}

footer a {
	transition: all .5s;
}

footer a:hover {
	color: var(--blue);
	transition: all .5s;
}

.subfooter {
	font-size: 13px;
}

.subfooter span,
.subfooter a {
	color: #898989;
}

.subfooter a:hover {
	color: var(--white) !important;
	opacity: 1;
	transition: all .5s;
}

/* ********** MEDIA QUERIES ********** */

@media (min-width: 1281px) {
	.container {
		max-width: 1280px !important;
	}
}

@media (min-width: 992px) {

	.container {
		max-width: 95% !important;
	}

}

/* Ultra-wide monitors (2560px, 3440px ultrawide, 4K): 95% of viewport keeps
   scaling past 1920px with nothing to stop it, stretching layouts far beyond
   what they were designed for. Hard cap once the viewport itself exceeds
   1920px so the container never grows past that regardless of screen size. */
@media (min-width: 1921px) {
	.container {
		max-width: 1920px !important;
	}
}

@media (max-width: 991.98px) {


	h1 {
		font-size: 38px !important;
	}
	
	.container {
		max-width: 95% !important;
	}
	
	/* NAVIGATION */
	header {
		height: 78px;
	}
	
	.header-top {
		display: none;
	}
	
	.navbar.pt-0 {
		padding-top: 10px !important;
	}
	
	.nav-cta,
	.nav-cta-shop {
		display: none;
	}

	.offcanvas .btn-close {
		position: relative;
		top: 0px;
		right: 15px;
		filter: initial;
	}

	#fld-navbar li a.nav-link {
		padding-left: 0 !important;
		font-size: 20px !important;
	}
	
	/* HOME */
	.hero-primary {
		height: calc(100vh - 78px);
	}
	
	.mobile-app-right {
		display: none;
	}
	
}

@media (max-width: 767px) {

	/* Show the app image on mobile, above the text/buttons. Re-enables it (the
	   tablet rule at max-width: 991px hides it) and uses grid order to pull it
	   ahead of .mobile-app-left in the single-column layout. */
	.mobile-app-right {
		display: flex;
		justify-content: center;
		order: -1;
		margin-bottom: 28px;
	}

	.mobile-app-frame {
		max-width: 320px;
	}

	h1 {
		font-size: 32px !important;
	}
	
	.vpt-large {
		padding-top: 48px;
	}

	.vpb-large {
		padding-bottom: 48px;
	}

	.vpt-medium {
		padding-top: 36px;
	}

	.vpb-medium {
		padding-bottom: 36px;
	}

	.vpt-small {
		padding-top: 24px;
	}

	.vpb-small {
		padding-bottom: 24px;
	}
	
	/* NAVIGATION */
	header {
		position: absolute !important;
		top: 0;
		left: 0;
		background-color: transparent;
		width: 100%;
	}
	
	/* HOME */
	/* The unconditional rule above (line ~447) sets a hard height: 100vh,
	   which caps the section at exactly one viewport regardless of how tall
	   its content actually is. On mobile, with the extra top/bottom padding
	   the content needs, that's not enough room — the last hero-bar item
	   ends up pushed underneath the absolutely-positioned CTA button bar
	   instead of the section growing to fit it. Switch to min-height so the
	   section grows with its content instead of clipping it. */
	.hero-primary {
		height: auto !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		padding-bottom: calc(50px + env(safe-area-inset-bottom)) !important;
		min-height: 100svh !important;
	}

	/* The "short" variant (Chapters/Events listing pages) has its own
	   higher-specificity height/min-height that otherwise wins over the rule
	   above at every breakpoint, keeping it stuck at 75vh even on mobile.
	   Full-height on mobile applies to every video hero, short variant
	   included — desktop keeps its intentional shorter height. */
	.hero-primary.hero-primary--short {
		height: auto !important;
		min-height: 100svh !important;
	}

	.hero-primary-card {
		max-width: 100% !important;
		padding: 0;
	}
	
	.hero-primary .btn-cta.btn-cta-transparent {
		display: none;
	}
	
	.hero-primary-buttons {
		position: absolute;
		bottom: 0;
		background-color: var(--black);
		width: 100%;
		padding: 30px;
	}
	
	.hero-primary-buttons .btn-cta.ms-3 {
		margin-left: 0 !important;
		width: 100%;
	}

	/* The header already shows the FLD logo, so the second large script logo
	   in the hero content is redundant on mobile and was the main thing
	   pushing everything else into cramped space — drop it here. */
	.hero-primary-logo {
		display: none;
	}

	/* The header is position:absolute over the hero and the CTA button bar at
	   the bottom is also absolute, so neither takes up real document flow
	   space. Centering the content vertically (the desktop behavior) fights
	   unpredictably with that — depending on content height it can still
	   collide with either edge. Stack from the top instead with fixed,
	   generous padding on both ends so clearance is guaranteed regardless of
	   how tall the heading/copy end up being. */
	.hero-primary-content {
		justify-content: flex-start !important;
		padding-top: calc(190px + env(safe-area-inset-top)) !important;
		padding-bottom: 160px !important;
	}

	#faqAccordion .accordion-button {
		position: relative;
		padding-right: 56px;
	}

	#faqAccordion .accordion-button .faq-icon {
		position: absolute;
		right: 16px;
		top: 50%;
		transform: translateY(-50%);
		pointer-events: none;
	}
	
	/* Section Testimonials */
	.section-testimonials .testimonial-meta strong {
		line-height: 16px;
	}
	
	.section-testimonials .testimonial-meta span {
		font-size: 10px;
	}
	
	/* ***** EVENTS ***** */
	.section-events-listing {
		padding-top: 125px;
		padding-bottom: 75px;
	}
	
	/* ***** FOOTER ***** */
	.subfooter.d-flex,
	.subfooter .d-flex,
	.subfooter .sf-item,
	.subfooter .d-flex.gap-3 a {
		display: block !important;
	}

	.subfooter .text-center {
		text-align: initial !important;
	}
	
	.subfooter .separator {
		display: none !important;
	}
	
	.subfooter .sb {
		margin-bottom: 10px;
	}
	
	.cky-btn-revisit-wrapper {
		display: none !important;
	}

}

/* ********** SINGLE EVENT ********** */

.event-hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 640px;
	padding-top: 200px;
	padding-bottom: 60px;
	overflow: hidden;
}

.event-hero-media {
	position: absolute;
	inset: 0;
	z-index: 0;
}

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

.event-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.55) 55%, rgba(0, 0, 0, 0.92) 100%);
}

.event-hero-content {
	position: relative;
	z-index: 1;
}

.event-hero-back {
	display: inline-block;
	color: var(--offwhite);
	font-size: 14px;
	text-decoration: none;
	margin-bottom: 20px;
}

.event-hero-back:hover {
	color: var(--white);
}

.event-hero-badge {
	display: inline-block;
	background: var(--blue);
	color: var(--white);
	text-transform: uppercase;
	padding: 4px 14px;
	border-radius: 5px;
	font-size: 12px;
	font-weight: 500;
	margin-bottom: 16px;
}

.event-hero-title {
	max-width: 900px;
	margin-bottom: 20px;
}

.event-hero-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 28px;
	font-size: 15px;
	color: rgba(255, 255, 255, 0.85);
	margin-bottom: 32px;
	text-transform: none;
}

.event-hero-meta-row {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.event-hero-meta-row a {
	color: var(--white);
	text-decoration: underline;
}

.event-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

@media (max-width: 767px) {

	.event-hero {
		min-height: 0;
		padding-top: 130px;
		padding-bottom: 40px;
	}

	.event-hero-actions {
		flex-direction: column;
	}

	.event-hero-actions .btn-cta {
		width: 100%;
	}
}

.event-about-heading {
	color: var(--white);
}

.event-about-body {
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.7;
}

.event-hosted-by,
.event-register {
	background-color: var(--black);
}

.event-register__card {
	padding: 24px 28px;
	border: 1.5px solid var(--blue);
	border-radius: 5px;
}

.event-register__heading {
	color: var(--white);
}

.event-register__text {
	color: rgba(255, 255, 255, 0.75);
	font-size: 15px;
	line-height: 1.6;
}



/* FAQ browser — search field (was an inline <style> block in the old section template) */
.faq-section .category-nav {
	top: 140px;
}

.faq-clear-btn {
	position: absolute;
	right: 1rem;
	top: 1.2rem;
	font-size: 1.75rem;
	background: none;
	border: 0;
	color: #999;
}

.faq-clear-btn:hover {
	color: #000;
}

/* Hero stats — was an inline <style> in the old hero-primary template.
   The original nested a `max-width: 767px` query inside another identical one;
   flattened here. */
@media (min-width: 768px) {
	.hero-primary-stats {
		display: flex;
		gap: 16px;
		visibility: visible;
		position: absolute;
		width: 100%;
	}

	.hero-primary .splide__track {
		width: 100%;
	}

	.hero-primary-stats .splide__track {
		overflow: visible;
	}

	.hero-primary-stats .splide__list {
		display: flex;
		gap: 16px;
		transform: none !important;
	}

	.hero-primary-stats .splide__slide {
		width: auto !important;
		flex: 1 1 0;
	}

	.hero-primary-stats .hero-stat {
		width: 100%;
	}
}

@media (max-width: 767px) {
	.hero-primary-stats {
		display: block;
	}

	.hero-primary-stats .hero-stat {
		width: 100%;
	}

	.hero-primary.has-hero-stats .hero-primary-marquee--mobile {
		display: none !important;
	}
}

/* Embedded LeadConnector forms.
   The embed markup carries inline height:100%, but its container has no height,
   so 100% resolves to 0 and the form renders invisible. data-height on the iframe
   says 546; pin that as a floor so it shows even if their script never resizes it. */
.contact-form-card iframe,
.check-eligibility-card iframe {
	width: 100%;
	min-height: 546px;
	border: none;
}

/* Event page: hosting chapter image beside the description.
   Matches the 20px card radius; rounded-50 (50px) was far too round. */
.event-about-image img {
	width: 100%;
	border-radius: 40px;
}

/* related-events / chapter-events render .event-card, which rounds its own corners
   and clips overflow. They deliberately do NOT use .section-card-columns, whose
   blanket `img { border-radius: 5px
.section-related-events .events-row,
.section-chapter-events .events-row {
	align-items: stretch;
}

/* Announcement bar — the row above the nav, where Shop used to sit. */
.header-announcement {
	background: var(--black2);
	border-bottom: 1px solid #1f1f1f;
	padding: 8px 0;
	text-align: center;
	font-size: 13px;
	letter-spacing: 0.02em;
}

.header-announcement__link,
.header-announcement__text {
	color: var(--offwhite);
	text-decoration: none;
}

/* Animated underline (text-decoration can't transition, so use a sized gradient). */
.header-announcement__link {
	background-image: linear-gradient(currentColor, currentColor);
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 0% 1px;
	transition: background-size 0.25s ease, color 0.25s ease;
}

.header-announcement__link:hover,
.header-announcement__link:focus-visible {
	color: var(--white);
	background-size: 100% 1px;
}

/* Shop leaves the site (shop.fastlanedrive.com), so it reads as a destination
   rather than navigation. Uses the existing blue accent — no new brand colour. */
#fld-navbar .nav-link[href*="shop.fastlanedrive.com"] {
	color: var(--blue);
}

#fld-navbar .nav-link[href*="shop.fastlanedrive.com"]:hover,
#fld-navbar .nav-link[href*="shop.fastlanedrive.com"]:focus-visible {
	color: #35a6ff;
}

/* Privacy notice beneath forms — GDPR Art.13 point-of-collection notice. */
.form-privacy-notice {
	margin-top: 16px;
	margin-bottom: 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--lightgrey);
}

.form-privacy-notice a {
	color: var(--offwhite);
	text-decoration: underline;
}

.form-privacy-notice a:hover,
.form-privacy-notice a:focus-visible {
	color: var(--white);
}

/* Visible banner on legal documents still awaiting counsel sign-off. */
.legal-draft-notice {
	border: 1px solid var(--blue);
	border-radius: 5px;
	padding: 16px 20px;
	margin-bottom: 32px;
	background: rgba(1, 142, 250, 0.08);
}

.legal-draft-notice p {
	margin: 0;
	font-size: 14px;
}

.section-policy-content code {
	background: rgba(255, 255, 255, 0.08);
	padding: 1px 5px;
	border-radius: 5px;
	font-size: 0.9em;
}

p.form-privacy-notice {
	font-size: 13px !important;
}

/* ---------------------------------------------------------------------------
   Reduced motion.

   WCAG 2.2.2 (Pause, Stop, Hide). The hero video loops forever and the logo
   marquees scroll indefinitely; for a reader with a vestibular disorder that is
   not a preference, it is a barrier. When the OS says "reduce motion", we stop
   moving things. The video is paused by assets/js/reduced-motion.js — CSS cannot
   pause a <video>.
   --------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {

	/* Freeze both marquees: the CSS-animated chapter/gallery strips… */
	.fld-chapter-marquee-track,
	.fld-chapter-marquee--top .fld-chapter-marquee-track,
	.fld-chapter-marquee--bottom .fld-chapter-marquee-track {
		animation-play-state: paused !important;
	}

	/* …and the MagicScroll logo marquees. */
	.MagicScroll,
	.MagicScroll .mcs-container,
	.hero-logo-scroll,
	.logo-marquee,
	.as-featured-in-scroll {
		animation-play-state: paused !important;
		transition: none !important;
	}

	/* Carousels and counters stop animating too. */
	.splide__list,
	.carousel-inner,
	.counter-value,
	.impact-counter-value {
		animation-play-state: paused !important;
		transition: none !important;
	}

	/* Blanket: no decorative motion anywhere. Not 0s — a 1ms duration still fires
	   transitionend/animationend, so scripts that wait on those keep working. */
	*,
	*::before,
	*::after {
		animation-duration: 1ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 1ms !important;
		scroll-behavior: auto !important;
	}
}

/* Marketing consent checkbox on the Gravity Forms. */
.consent-checkbox {
	font-size: 12px;
}

/* Monaco join page: clear the fixed header. */
.section-join-monaco {
	padding-top: 175px;
}

/* Join page — Member/Car criteria boxes. */
.join-criteria-card {
	height: 100%;
	padding: 28px 32px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 5px;
	background: rgba(255, 255, 255, 0.02);
}

.join-criteria-title {
	font-weight: 600;
}


/* ===========================================================================
   CRO test chapter page (page-chapter-cro.php). Scoped to .cro-* only.
   =========================================================================== */

.cro-section-title {
	font-size: clamp(1.75rem, 3.5vw, 2.25rem);
	margin-bottom: 2.5rem;
}

/* --- Hero assurances, relocated over the hero video --- */
/* Anchored to the bottom of the hero video card, above the logo ticker. */
.hero-primary-bar {
	position: absolute;
	bottom: 28px;
	left: 0;
	right: 0;
	z-index: 4;
	list-style: none;
	margin: 0;
	padding: 0;
	font-family: var(--font-heading);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0;
}

.hero-primary-bar li {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0 1.85rem;
	font-size: 1.05rem;
	color: rgba(255, 255, 255, 0.92);
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.6);
}

/* Vertical divider between items. */
.hero-primary-bar li:not(:last-child)::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 1.4em;
	background: rgba(255, 255, 255, 0.35);
}

.hero-primary-bar i {
	position: relative;
	top: 4px;
	font-size: 1.5rem;
	opacity: 0.95;
}

/* On mobile, drop back into the flow (no absolute overlap) and lose the dividers. */
@media (max-width: 767px) {
	.hero-primary-bar {
		position: static;
		margin-top: 1.5rem;
		gap: 0.5rem 1.25rem;
	}
	.hero-primary-bar li { padding: 0; font-size: 0.9rem; }
	.hero-primary-bar li:not(:last-child)::after { display: none; }
	.hero-primary-bar i { font-size: 1.15rem; }
}

/* --- Testimonial carousel --- */
/* Inset the carousel so the arrows sit in the side gutters, not over the cards. */
.cro-testi-carousel { padding: 0 3.25rem; }
.cro-testi-carousel .splide__arrow--prev { left: 0; }
.cro-testi-carousel .splide__arrow--next { right: 0; }

/* Uniform, subtle slide opacity — override the global 0.6/scale active-slide
   treatment so no card (including the leftmost is-active) stands out. */
.cro-testi-carousel .splide__slide,
.cro-testi-carousel .splide__slide.is-active {
	opacity: 0.9;
	transform: none;
}

.cro-testi-card {
	position: relative;
	height: 360px;
	border-radius: 5px;
	overflow: hidden;
	background-size: cover;
	background-position: center;
	background-color: #141414;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 1.5rem;
}

.cro-testi-card > * { position: relative; z-index: 1; }

/* One play button only — the theme's .play-icon draws the circle + triangle. */
.cro-testi-play {
	position: absolute;
	inset: 0;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	cursor: pointer;
	z-index: 2;
}

.cro-testi-quote {
	font-size: 0.95rem;
	line-height: 1.5;
	color: #fff;
	margin: 0 0 auto;
	text-shadow: 0 1px 6px rgba(0, 0, 0, 0.6);
}

/* Quote card: centered, larger quote with side padding; meta pinned to the bottom.
   A dark overlay keeps the white quote readable over the (dark) thumbnail. */
.cro-testi-card.is-quote {
	padding: 2rem;
	justify-content: center;
}

.cro-testi-card.is-quote::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
	z-index: 0;
}

.cro-testi-card.is-quote .cro-testi-quote {
	margin: 0;
	font-size: 1.25rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.92);
	text-shadow: none;
}

.cro-testi-card.is-quote .cro-testi-meta {
	position: absolute;
	left: 2rem;
	right: 2rem;
	bottom: 2rem;
}

.cro-testi-meta strong {
	display: block;
	color: #fff;
	font-size: 0.95rem;
	text-shadow: 0 1px 6px rgba(0, 0, 0, 0.7);
}

.cro-testi-meta span {
	display: block;
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.8rem;
	text-shadow: 0 1px 6px rgba(0, 0, 0, 0.7);
}

.cro-testi-card.is-quote .cro-testi-meta strong,
.cro-testi-card.is-quote .cro-testi-meta span { text-shadow: none; }

.cro-testi-carousel .splide__arrow {
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.25);
}

.cro-testi-carousel .splide__arrow svg { fill: #fff; }

/* --- Split (2-column) sections --- */
.cro-split-img {
	width: 100%;
	border-radius: 5px;
	object-fit: cover;
}

.cro-split-title {
	text-align: left;
	margin-bottom: 2rem;
}

.cro-steps-list,
.cro-points-list {
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
}

.cro-steps-list li {
	display: flex;
	gap: 1.25rem;
	align-items: flex-start;
	padding: 1rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.cro-steps-list li:last-child,
.cro-points-list li:last-child { border-bottom: none; }

.cro-steps-list h3 { font-size: 1.15rem; margin: 0 0 0.25rem; }
.cro-steps-list p { margin: 0; color: rgba(255, 255, 255, 0.65); }

.cro-step-num {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.35);
	font-weight: 600;
}

.cro-points-list { margin-bottom: 0; }
.cro-points-list li {
	display: flex;
	gap: 1.25rem;
	align-items: flex-start;
	padding: 1rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.cro-points-list h3 { font-size: 1.15rem; margin: 0 0 0.25rem; }
.cro-points-list p { margin: 0; color: rgba(255, 255, 255, 0.65); }

/* Icon circle in the points list — matches the numbered step circles. */
.cro-point-icon i { font-size: 0.95rem; }

.cro-split-btn { margin-top: 0.5rem; }

/* --- Buttons --- */
.cro-btn {
	display: inline-block;
	padding: 0.9rem 2.6rem;
	border-radius: 5px;
	font-size: 1.05rem;
	font-weight: 600;
	text-decoration: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.cro-btn:hover { transform: translateY(-1px); }
.cro-btn--light { background: #fff; color: #111; }
.cro-btn--light:hover { color: #111; opacity: 0.9; }

/* --- Application modal --- */
.cro-apply-modal .modal-content {
	background: #111;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 5px;
}

.cro-apply-modal .modal-header { border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.cro-apply-modal .modal-title { font-size: 16px; font-weight: 400; }
.cro-apply-modal .gform_page_fields h3 { font-size: 18px; margin-bottom: 0; }
/* Auto-width submit (right-aligned via the footer's space-between), matching /join. */
.cro-apply-modal .gform_button { width: initial !important; }
/* LineIcon close — plain white X on the dark modal. */
.cro-modal-close {
	background: transparent;
	border: none;
	padding: 0;
	line-height: 1;
	color: #fff;
	font-size: 1.6rem;
	cursor: pointer;
	opacity: 0.8;
	transition: opacity 0.2s ease;
}
.cro-modal-close:hover { opacity: 1; }
.cro-apply-modal .modal-body { padding: 1.5rem 1.75rem 2rem; }

/* UserWay widget — plugin was removed on live but the floating icon is still
   showing up somehow (leftover script reference/cache). Hiding it here as a
   stopgap until the actual source is tracked down. */
.uai {
	display: none !important;
}

/* CookieYes floating "revisit consent" icon — replaced with a plain
   "Cookie Settings" link in the footer instead (see footer.php). */
.cky-btn-revisit-wrapper {
	display: none !important;
}
