@font-face {
	font-family: 'Figtree';
	src: url('../../public/assets/fonts/Figtree-SemiBold.woff2') format('woff2'),
		url('../../public/assets/fonts/Figtree-SemiBold.woff') format('woff'),
		url('../../public/assets/fonts/Figtree-SemiBold.ttf') format('ttf');
	font-weight: 600;
	font-style: normal;
}

@font-face {
	font-family: 'Figtree';
	src: url('../../public/assets/fonts/Figtree-Medium.woff2') format('woff2'),
		url('../../public/assets/fonts/Figtree-Medium.woff') format('woff'),
		url('../../public/assets/fonts/Figtree-Medium.ttf') format('ttf');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'Figtree';
	src: url('../../public/assets/fonts/Figtree-Regular.woff2') format('woff2'),
		url('../../public/assets/fonts/Figtree-Regular.woff') format('woff'),
		url('../../public/assets/fonts/Figtree-Regular.ttf') format('ttf');
	font-weight: 400;
	font-style: normal;
}

:root {
	--white: #FFFFFF;
	--white-background: #F6F6F9;
	--dark-background: #070919;
    --gradient-background: linear-gradient(125deg, #DC2626 8.09%, #581C87 92.87%);
	--light-line: #DBDCDF;
	--dark-line: #303245;
	--text-light: #70728F;
	--text-dark: #070919;
    --grey-3: #EBEBF0;
	--heading-light: #FDFBFF;
	--heading-light-gradient: 54.81% 51.32% at 48.72% 39.53%, #FDFBFF 46.18%, rgba(255, 255, 255, 0.60) 100%;
	--heading-dark: #61666A;
	--heading-dark-gradient: 96deg, #61666A 1.91%, #070919 43.92%;
	--input-bg: #171A28;
	--input-border: #2C2D33;

    --green: #2EB67D;
	--red: #DC2626;
	--purple: #581C87;
	--red-purple-gradient: 125deg, #DC2626 8.09%, #581C87 92.87%;
	--active-form-gradient: linear-gradient(125deg, #DC2626 8.09%, #581C87 92.87%);
	--form-background-gradient: 138deg, rgba(48, 53, 58, 1) 16.81%, rgba(48, 53, 58, 1) 90.73%;

	--bs-border-color: var(--light-line);

	/* BG COLORS */
	--bg-light: var(--light-line);
	--bg-dark: var(--text-dark);

	--dark-section-bg: #010314;


	/* OFFCANVAS */
	--offcanvas-width: 350px;
	--offcanvas-height: 30vh;
	--offcanvas-bg: #fff;
	--offcanvas-color: inherit;
	--offcanvas-border-color: rgba(0, 0, 0, .2);
	--offcanvas-border-width: 1px;
	--offcanvas-box-shadow: -4px 0 16px rgba(0, 0, 0, .15);
	--offcanvas-transition: transform 0.3s ease-in-out;
	--offcanvas-backdrop-bg: rgba(0, 0, 0, .5);
	--offcanvas-zindex: 1045;
	--offcanvas-backdrop-zindex: 1040;
	--offcanvas-padding-x: 1rem;
	--offcanvas-padding-y: 1rem;
	--offcanvas-header-height: auto;

}

* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

body {
	font-family: "Figtree", sans-serif;
	font-optical-sizing: auto;

	background-color: var(--white-background);
}

p {
	margin: 0;
}

ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

a {
	color: var(--black);
	text-decoration: none;
}

button {
	border: none;
	font-family: inherit;
}


.hidden {
	display: none !important;
}

a {
	color: var(--text-dark);
	text-decoration: none;
	font-family: inherit;
	transition: color .2s ease, text-decoration .2s ease;
}

a:hover {
	color: var(--text-dark);
}

a.hover-underline:hover {
	text-decoration: underline;
}

a.primary-link {
	color: var(--text-dark);
}

a.primary-link:hover {
	text-decoration: underline;
	color: var(--red);
}

a.primary-link-solid {
    color: var(--red);
    width: fit-content;
}

a.primary-link-solid:hover {
    color: #9c47dd;
}

a.primary-link-solid svg path {
    stroke: var(--red);
    transition: stroke .2s ease;
}

a.primary-link-solid:hover svg path {
    stroke: #9c47dd;
}

.online-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 100px;
    background-color: var(--green);
}

.gradient-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-light);
    padding: 0;
}

.gradient-btn-text {
    position: relative;
}

.gradient-btn-text::after {
    content: attr(data-text);
    position: absolute;
    left: 0;
    top: 0;
    background: linear-gradient(125deg, #DC2626 8.09%, #581C87 92.87%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    clip-path: inset(0 100% 0 0);
    transition: clip-path 0.3s ease;
    white-space: nowrap;
}

.gradient-btn:hover .gradient-btn-text::after {
    clip-path: inset(0 0% 0 0);
}

/* icon color transition */
.gradient-btn svg {
    transition: color 0.3s ease;
}

.gradient-btn:hover svg {
    color: #581C87;
}

@media (max-width: 991px) {
	.gradient-btn-text::after {
        clip-path: inset(0 0% 0 0);
    }

    .gradient-btn svg {
        color: #581C87;
    }
}

.text-overflow {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 200px;
}

.text-truncate-2 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	/* Number of lines */
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.line-h-1 {
	line-height: 1;
}

.line-h-15 {
	line-height: 1.5;
}


/* ********************
		COLORS
**********************/
.text-light {
	color: var(--text-light) !important;
}

.text-lighter {
	color: var(--light-line) !important;
}

.text-dark {
	color: var(--text-dark) !important;
}

.text-gradient {
	display: inline-block;
	background: linear-gradient(125deg, #DC2626 8.09%, #581C87 92.87%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}


.heading-light {
    color: var(--text-light) !important;
}

.heading-dark {
    color: var(--text-dark) !important;
}

.text-white {
    color: var(--white) !important;
}

.heading-gradient {
	display: inline-block;
	background: linear-gradient(125deg, #DC2626 8.09%, #581C87 92.87%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.bg-dark {
	background-color: var(--bg-dark) !important;
}

.bg-light {
	background-color: var(--bg-light) !important;
}

.bg-lighter {
	background-color: var(--white-background) !important;
}

.bg-white {
	background-color: var(--white) !important;
}

.bg-gradient {
    background: linear-gradient(125deg, #DC2626 8.09%, #581C87 92.87%);
}


.heading-light .char-span {
    display: inline-block !important;
    color: var(--text-light);
    will-change: filter, opacity;
}

.heading-light.text-white .char-span {
    display: inline-block !important;
    color: var(--white-background);
    will-change: filter, opacity;
}

.heading-dark .char-span {
    display: inline-block !important;
    color: var(--dark-background);
    will-change: filter, opacity;
}

.heading-light .word-span {
    display: inline-block !important;
    color: var(--text-light);
    will-change: filter, opacity;
}

.heading-light.text-white .word-span {
    display: inline-block !important;
    color: var(--white-background);
    will-change: filter, opacity;
}

.heading-dark .word-span {
    display: inline-block !important;
    color: var(--dark-background);
    will-change: filter, opacity;
}


.border-light {
	border-color: var(--light-line) !important;
}

.border-dark {
	border-color: var(--dark-line) !important;
}

.section-title {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 0 0 0 6px;
}

.section-title .h4 {
	font-size: 16px;
	text-transform: uppercase;
}

.title-dot {
	width: 6px;
	height: 6px;
	border-radius: 20px;
	background-color: rgb(220, 38, 38);
	flex-shrink: 0;
	box-shadow: 0 0 0 5px rgba(220, 38, 38, .4);
}

.text-accent {
	padding: 6px 20px;
	background-clip: unset;
	background-image: url("../../public/assets/images/accent_text_bg.webp");
	background-size: cover;
	border-radius: 1000px;
	font-weight: 400;
	-webkit-text-fill-color: var(--white);
	color: var(--white) !important;
}


/* ***********************
		TYPOGRAPHY
*************************/

h1,
h2,
h3,
h4,
h5,
h6,
p {
	margin: 0;
}

.h1,
.h2,
.h3,
.h4,
.h5 {
	margin: 0;
	font-weight: 600;
	color: var(--text-dark);
}

.h1 {
	font-size: 36px !important;
	line-height: 46px;
}

.h2 {
	font-size: 28px;
	line-height: normal;
}

.h3 {
	font-size: 24px;
	line-height: normal;
}

.h4 {
	font-size: 20px;
	line-height: normal;
}

.h5 {
	font-size: 18px;
	line-height: normal;
}


p {
	color: var(--text-dark);
	font-size: 18px;
	font-weight: 400;
}

.p-xs {
	font-size: 12px;
	line-height: 20px;
}

.p-sm {
	font-size: 16px;
	line-height: 24px;
}

.p-md {
	font-size: 16px;
	line-height: 24px;
}

.p-lg {
	font-size: 18px;
	line-height: normal;
}

.p-xl {
	font-size: 20px;
	line-height: normal;
}

.fw-regular {
	font-weight: 400 !important;
}

.fw-medium {
	font-weight: 500 !important;
}

.fw-semibold {
	font-weight: 600 !important;
}


@media (min-width: 768px) {
	.h1 {
		font-size: 48px !important;
		line-height: 46px;
	}

	.h2 {
		font-size: 32px;
	}

}

@media (min-width: 992px) {
	.h1 {
		font-size: 64px !important;
		line-height: 72px;
	}

	.h2 {
		font-size: 48px;
	}

	.h3 {
		font-size: 28px;
	}

	.h4 {
		font-size: 24px;
	}

	.h5 {
		font-size: 20px;
	}

	.p-xs {
		font-size: 14px;
		line-height: 20px;
	}

	.p-sm {
		font-size: 16px;
		line-height: 24px;
	}

	.p-md {
		font-size: 18px;
		line-height: 26px;
	}

	.p-lg {
		font-size: 20px;
	}

	.p-xl {
		font-size: 26px;
	}
}



/* Chrome, Safari, Edge, Opera */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Firefox */
input[type=number] {
	-moz-appearance: textfield;
}

input::placeholder {
	color: var(--text-light) !important;
	opacity: 1;
}

input::-moz-placeholder {
	color: var(--text-light) !important;
}

input::-ms-input-placeholder {
	color: var(--text-light) !important;
}


input:-ms-input-placeholder {
	color: var(--text-light) !important;
}


/* ***********************
		BUTTTONS
*************************/
a.button,
button {
	--_btn-bg: var(--btn-bg, var(--white-background));
	--_btn-text: var(--btn-text, var(--text-dark));
	--_btn-border: var(--btn-border, var(--white-background));

	--_btn-bg-hover: var(--btn-bg-hover, var(--white-background));
	--_btn-text-hover: var(--btn-text-hover, var(--text-dark));
	--_btn-border-hover: var(--btn-border-hover, var(--white-background));

	--_btn-padding: var(--btn-padding, 21px 16px);
	--_btn-line-height: var(--btn-line-height, 20px);
	--_btn-font-size: var(--btn-font-size, 14px);
	--_btn-gap: var(--btn-gap, 6px);

	background-color: var(--_btn-bg);
	color: var(--_btn-text);
	border-color: var(--_btn-border);

	padding: var(--_btn-padding);
	line-height: var(--_btn-line-height);
	font-size: var(--_btn-font-size);
	width: auto;
	font-weight: 500;
	border-width: 1px;
	border-style: solid;
	outline: 0;
	box-shadow: none;

	border-radius: 6px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: var(--_btn-gap);
	cursor: pointer;
	text-transform: capitalize;

	overflow: hidden;
	height: 20px;


	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.btn-track {
	display: block;
	height: 24px;
	/* exactly one line tall */
	overflow: hidden;
	/* hides the second span */
}

.btn-track-inner {
	display: flex;
	flex-direction: column;
	transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

button:hover .btn-track-inner,
a.button:hover .btn-track-inner {
	transform: translateY(-50%);
	/* -50% of total height = one label up */
}

.btn-track-inner span {
	height: 24px;
	line-height: 24px;
}

a.button:hover,
button:hover {
	background-color: var(--_btn-bg-hover);
	color: var(--_btn-text-hover);
	border-color: var(--_btn-border-hover);
}

a.button:disabled,
button:disabled {
	background-color: var(--grey-200) !important;
	color: var(--grey-400) !important;
	border-color: var(--grey-300) !important;
}

a.primary-btn,
button.primary-btn {
	--_btn-bg: var(--dark-background);
	--_btn-text: var(--white);
	--_btn-border: var(--dark-background);

	--_btn-bg-hover: var(--dark-background);
	--_btn-text-hover: var(--white);
	--_btn-border-hover: var(--dark-background);
}

a.white-btn,
button.white-btn {
	--_btn-bg: var(--white-background);
	--_btn-text: var(--dark-background);
	--_btn-border: var(--white-background);

	--_btn-bg-hover: var(--white-background);
	--_btn-text-hover: var(--dark-background);
	--_btn-border-hover: var(--white-background);
}

a.blank-btn,
.blank-btn {
	--_btn-bg: transparent;
	--_btn-text: var(--text-light);
	--_btn-border: transparent;

	--_btn-bg-hover: transparent;
	--_btn-text-hover: var(--text-dark);
	--_btn-border-hover: transparent;

	padding: 4px;
	border: none;
	box-shadow: none;
}

a.primary-gradient-btn,
button.primary-gradient-btn {
	background: linear-gradient(155deg, #DC2626 8.09%, #581C87 92.87%);
	--_btn-text: var(--white);
    border: none;
	border-color: transparent;

    --_btn-bg-hover: var(--dark-background);
	--_btn-text-hover: var(--white);
	--_btn-border-hover: var(--dark-background);
    transition: background .2s ease;
}


.audio-btn svg path {
	transition: all .2s ease;
}

.audio-btn:hover svg path:nth-child(1),
.audio-btn:hover svg path:nth-child(2) {
	fill-opacity: 1;
}

.audio-btn svg path:nth-child(3),
.audio-btn svg path:nth-child(4),
.audio-btn svg path:nth-child(5) {
	transition: all .8s ease;
}

.audio-btn:hover svg path:nth-child(3),
.audio-btn:hover svg path:nth-child(4),
.audio-btn:hover svg path:nth-child(5) {
	fill-opacity: 0.4;
}

.audio-btn:active svg path:nth-child(1),
.audio-btn:active svg path:nth-child(2) {
	fill-opacity: 0.4;
}

.audio-btn:active svg path:nth-child(1),
.audio-btn:active svg path:nth-child(2) {
	fill-opacity: 0.2;
}


.audio-btn:active svg path:nth-child(3),
.audio-btn:active svg path:nth-child(4),
.audio-btn:active svg path:nth-child(5) {
	fill-opacity: 1;
}


/*************************
		FORMS
************************/

.input-wrapper {
  background: linear-gradient(var(--input-border));
  padding: 1px;
  border-radius: 7.6px;
  line-height: 1;
  font-size: 0;
  display: flex;
  transition: background .2s ease;
}

.input-wrapper.light {
	background: linear-gradient(var(--light-line));
}


textarea {
	flex: 1;
  	resize: vertical;
	width: 100%;
 	box-sizing: border-box;
	max-height: 200px;
}

.form-input {
	border-radius: 6px;
	padding: 12px 16px;
	border: none;
	outline: none !important;
	box-shadow: none !important;
	color: var(--white);
	font-size: 16px;
	width: 100%;
	background-color: var(--input-bg);
}

.form-input.input-light {
	background-color: var(--white);
	color: var(--text-dark);
}

.form-select {
	display: block;
	border-radius: 6px;
	padding: 12px 24px 12px 16px;
	border: none;
	outline: none !important;
	box-shadow: none !important;
	color: var(--white);
	font-size: 16px;
	width: 100%;
	background-color: var(--input-bg);
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath fill='%23fff' d='M297.4 438.6C309.9 451.1 330.2 451.1 342.7 438.6L502.7 278.6C515.2 266.1 515.2 245.8 502.7 233.3C490.2 220.8 469.9 220.8 457.4 233.3L320 370.7L182.6 233.4C170.1 220.9 149.8 220.9 137.3 233.4C124.8 245.9 124.8 266.2 137.3 278.7L297.3 438.7z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-size: 20px;
	padding-right: 2rem;
}


.input-wrapper:focus-within {
	background: linear-gradient(var(--red-purple-gradient));
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
	border-radius: 6px;
	-webkit-box-shadow: 0 0 0px 1000px var(--input-bg) inset;
	box-shadow: 0 0 0px 1000px var(--input-bg) inset;
	-webkit-text-fill-color: var(--white);
	font-size: 16px;
	transition: background-color 5000s ease-in-out 0s;
}

.input-light:-webkit-autofill,
.input-light:-webkit-autofill:hover,
.input-light:-webkit-autofill:focus {
	border-radius: 6px;
	-webkit-box-shadow: 0 0 0px 1000px var(--white) inset;
	box-shadow: 0 0 0px 1000px var(--white) inset;
	-webkit-text-fill-color: var(--text-dark);
	font-size: 16px;
	transition: background-color 5000s ease-in-out 0s;
}


.form-label {
	display: block;
	padding-bottom: 4px;
	font-size: 16px;
	font-weight: 500;
	font-family: inherit;
	color: var(--white);
}



/*************************
		LOADERS
************************/
/* HTML: <span class="loader-spinner"></span> */
/* STATES: '' | 'black-loader' | 'primary-loader' */

.loader-spinner {
	display: inline-block;
	width: 20px;
	padding: 4px;
	aspect-ratio: 1;
	border-radius: 50%;
	background: #fff;
	--_m:
		conic-gradient(#0000 10%, #000),
		linear-gradient(#000 0 0) content-box;
	-webkit-mask: var(--_m);
	mask: var(--_m);
	-webkit-mask-composite: source-out;
	mask-composite: subtract;
	animation: l3 1s infinite linear;
}

@keyframes l3 {
	to {
		transform: rotate(1turn)
	}
}

.loader-spinner.black-loader {
	background: #181D27;
}

.loader-spinner.primary-loader {
	background: #94C11F;
}

/*************************
		ANIMATIONS
************************/


/*************************
		CANVAS
************************/

#dots-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 2; /* adjust if it covers your footer content */
}


/***************
    HEADER
***************/
.header-outer {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;

    display: flex;
    justify-content: center;
}

.header {
    position: relative;
    

    border: 1px solid transparent;
    display: flex;
    justify-content: space-between;
    gap: 24px;

    padding: 0 16px;
    width: 100%;
    max-width: 1748px;
    transition: max-width 0.3s ease;
    margin: 16px auto 0 auto;
    z-index: 10;

    transition: 
        background-color .4s ease, 
        padding .4s ease,
        border-color .2s ease,
        max-width .3s ease,
        width .3s ease,
        margin .3s ease;
}
 
.header.scroll {
    background-color: transparent;
    /* backdrop-filter: blur(10px); */
    margin: 10px auto;
    width: 95%;
    padding: 6px;
    border-color: var(--light-line);
    max-width: 940px;
    border-radius: 10px;
}

.header.scroll::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 10px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background-color: rgba(246, 246, 249, 0.8);
    z-index: -1;
}

@media (min-width: 992px) {
    .header {
        margin: 24px auto 0 auto;
        padding: 0 16px;
    }

    .header.scroll {
        background-color: transparent;
        padding: 6px;
        border-color: var(--light-line);
        max-width: 1025px;
        border-radius: 10px;
    }
}

/* .site-logo-wrapper {
    min-width: 0;
    transition: min-width .4s ease;
}

.header.scroll .site-logo-wrapper {
    min-width: 45px;
} */



.brand-desktop.dark-version,
.brand-desktop.light-version {
    display: none;
}


@media (min-width: 992px) {
    .header-dark .brand-desktop.dark-version {
        display: block !important;
    }
    
    .header-dark .brand-desktop.light-version {
        display: none !important;
    }
}

@media (min-width: 992px) {
    .brand-desktop.dark-version {
        display: none !important;
    }
    
    .brand-desktop.light-version {
        display: block !important;
    }
}


.brand-desktop {
    opacity: 1;
    visibility: visible;
    width: 120px;
    max-height: 40.99px;
    transition: 
        opacity .2s ease,
        visibility .2s ease,
        width .2s ease,
        max-height .2s ease;
}

.brand-mobile {
    line-height: 1;
    width: 40px;
    height: 40px;
}

.brand-desktop-symbol {
    position: absolute;
    visibility: hidden;
    width: 40px;
    transition: 
        opacity .2s ease,
        visibility .2s ease,
        width .2s ease;
}

.header.scroll .brand-desktop {
    opacity: 0;
    visibility: hidden;
    width: 0px;
    max-height: 0px;
}

.header.scroll .brand-desktop-symbol {
    opacity: 1;
    visibility: visible;
}

.site-logo {
    display: block;
    width: 120px;
}

.brand-desktop-symbol {
    width: 46px;
    height: 46px;
}

.header-nav {
    display: flex;
    align-items: center;
    gap: 16px;
}

.nav-wrapper {
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: start;
    gap: 24px;

    padding: 0px;

    background-color: transparent;
    border-radius: 0;
    border: none;
}


@media (min-width: 992px) {
    .nav-wrapper {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 16px;

        padding: 18px 24px;

        background-color: rgba(255, 255, 255, .6);
        border-radius: 16px;
        border: 1px solid var(--light-line);

        transition: 
            padding .4s ease,
            background-color .1s ease,
            border-width .1s ease;
    }

    .header.scroll .nav-wrapper {
        background-color: rgba(255, 255, 255, 0);
        padding: 13px 1px 13px 45px;
        border-width: 0px;
    }

    .header.scroll .nav-btns button {
        padding-top: 21.5px;
        padding-bottom: 21.5px;
    }

}


@media (min-width: 1200px) {
    .nav-wrapper {
        gap: 24px;
    }
}

.nav-link,
.nav-dropdown-toggle {
    color: var(--dark-line) !important;
}

.nav-link:active,
.nav-link:hover,
.nav-link.active {
    color: var(--text-dark) !important;
    background-color: transparent;
}

.offcanvas.show .nav-btns {
    padding-top: 24px;
}


/* ── DROPDOWN TOGGLE BUTTON ─────────────────────────── */
.nav-dropdown-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    padding: 0;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    cursor: pointer;
    height: auto;
    overflow: visible;
}

.dropdown-chevron {
    flex-shrink: 0;
    transition: transform 0.3s ease;
}

.has-dropdown.open > .dropdown-chevron,
.has-dropdown.open > .nav-dropdown-toggle .dropdown-chevron {
    transform: rotate(180deg);
}


/* ── MOBILE — accordion ─────────────────────────────── */
.nav-dropdown {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease;
}

.nav-dropdown-list {
    overflow: hidden;
    padding-left: 16px;
}

.has-dropdown.open > .nav-dropdown {
    grid-template-rows: 1fr;
}

.nav-dropdown-link {
    display: block;
    padding: 8px 0;
    font-size: 15px;
    color: var(--dark-line);
    transition: color 0.2s ease;
}

.nav-dropdown-link:hover {
    color: var(--text-dark);
}

/* Sub-level toggle inherits accordion behavior on mobile */
.nav-dropdown .nav-dropdown-toggle {
    width: 100%;
    justify-content: flex-start;
    text-align: left;
    display: flex;
    background-color: transparent;
}

.nav-dropdown--sub .nav-dropdown-list {
    padding-left: 32px
}

.has-dropdown.open > .dropdown-chevron,
.has-dropdown.open > .nav-dropdown-toggle .dropdown-chevron {
    transform: rotate(180deg);
}


/* ── DESKTOP — floating dropdown ────────────────────── */
@media (min-width: 992px) {
    .nav-item.has-dropdown {
        position: relative;
    }

    .nav-dropdown {
        display: block;
        grid-template-rows: unset;
        position: absolute;
        top: calc(100% + 24px);
        left: 50%;
        transform: translateX(-50%) translateY(-6px);
        background: rgba(246, 246, 249, 0.95);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border: 1px solid var(--light-line);
        border-radius: 10px;
        padding: 8px;
        min-width: 180px;
        white-space: nowrap;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
        z-index: 100;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.2s ease, transform 0.2s ease;
    }

    .nav-dropdown-list {
        overflow: visible;
        padding-left: 0;
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    /* Direct child only — does not leak into nested dropdowns */
    .has-dropdown.open > .nav-dropdown {
        opacity: 1;
        pointer-events: auto;
        transform: translateX(-50%) translateY(0);
    }

    .nav-dropdown-link {
        display: block;
        padding: 8px 12px;
        border-radius: 6px;
        font-size: 14px;
        color: var(--dark-line);
        transition: background-color .2s ease, color .2s ease;
    }

    .nav-dropdown-link:hover {
        background-color: var(--white);
        color: var(--text-dark);
    }

    /* ── SUB-DROPDOWN — level 2+ positioning ────────── */
    .nav-dropdown li.has-dropdown {
        position: relative;
    }

    .nav-dropdown--sub {
        top: -8px;
        left: calc(100% + 12px);
        transform: translateX(-6px) translateY(0);

    }

    /* Direct child only — does not leak into level 3 */
    .has-dropdown.open > .nav-dropdown--sub {
        opacity: 1;
        pointer-events: auto;
        transform: translateX(0) translateY(0);
    }


    /* Sub-level chevron points right, does not spin on open */
    .nav-dropdown li.has-dropdown .dropdown-chevron {
        transform: rotate(-90deg);
    }

    .nav-dropdown li.has-dropdown.open .dropdown-chevron {
        transform: rotate(0deg);
    }

    /* Sub-level chevron points right, does not spin on open */
    .nav-dropdown--sub li.has-dropdown .dropdown-chevron {
        transform: rotate(-90deg) !important;
    }

    .nav-dropdown--sub li.has-dropdown.open .dropdown-chevron {
        transform: rotate(0deg) !important;
    }

    /* Sub-toggle styled as a regular link */
    .nav-dropdown .nav-dropdown-toggle {
        text-align: left;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 8px 12px;
        border-radius: 6px;
        transition: background-color .2s ease, color .2s ease;
    }

    .nav-dropdown .nav-dropdown-toggle:hover {
        background-color: var(--white);
        color: var(--text-dark);
    }

    .nav-dropdown--sub .nav-dropdown-list,
    .nav-dropdown-list {
        padding-left: 0px
    }
}

/* ── DARK HEADER VARIANT ────────────────────────────── */

.header-dark .nav-link,
.header-dark .nav-dropdown-toggle {
    color: var(--white) !important;
}

.header-dark .dropdown-chevron path {
    stroke: var(--light-line) !important;
}

.header-dark .nav-link:hover,
.header-dark .nav-dropdown-toggle:hover {
    color: var(--light-line) !important;
}

.header-dark .nav-item.has-dropdown.open .nav-dropdown-toggle {
    color: var(--light-line) !important;
}

.header-dark .get-started-btn {
    --_btn-bg: var(--white);
    --_btn-text: var(--dark-background);
    --_btn-border: var(--white);
    --_btn-bg-hover: var(--white);
    --_btn-text-hover: var(--dark-background);
    --_btn-border-hover: var(--white);
}

.header-dark .audio-btn {
    background-color: var(--white);
    border-color: var(--white);
}

.header-dark .audio-btn svg path {
    fill: var(--text-dark);
}

/* Dark header — nav wrapper pill */
@media (min-width: 992px) {
    .header-dark .nav-wrapper {
        background: rgba(7, 9, 25, 0.40);
        backdrop-filter: blur(7.5px);
        border-color: #303245;
    }

    /* When scrolled, header.scroll overrides dark mode — keep it light */
    .header-dark.scroll .nav-wrapper {
        background-color: transparent;
        backdrop-filter: blur(0);
        border-color: transparent;
    }
}

/* Logo swap — hide dark logo, show light one */
.header-dark .brand-desktop img {
    filter: invert(1);
}

.header-dark .btn-offcanvas:hover {
    background-color: var(--dark-line);
}

/* Hamburger icon color on dark header */
.header-dark .btn-offcanvas svg path {
    stroke: var(--white);
}

.header-dark.scroll {
    border-radius: 11px;
}

.header-dark.scroll .brand-desktop img,
.header-dark.scroll .brand-mobile img,
.header-dark.scroll .brand-desktop-symbol img {
    filter: none;
}

.header-dark.scroll .btn-offcanvas svg path {
    stroke: var(--white);
}

.header-dark.scroll .dropdown-chevron path {
    stroke: var(--text-dark);
}

.header-dark.scroll .get-started-btn {
    --_btn-bg: var(--white);
    --_btn-text: var(--dark-background);
    --_btn-border: var(--white);
    --_btn-bg-hover: var(--white);
    --_btn-text-hover: var(--dark-background);
    --_btn-border-hover: var(--white);
}

.header-dark.scroll::before {
    background: rgba(7, 9, 25, 1);
    backdrop-filter: blur(0);
    z-index: -1;
}

.header-dark.scroll {
    border-color: var(--dark-line);
}

.header-dark .nav-dropdown {
        background: rgba(7, 9, 25, 1);
        border: 1px solid var(--dark-line);
    }
}

@media (min-width: 992px) {
    .header-dark .nav-dropdown-link:hover,
    .header-dark .nav-dropdown-link:active,
    .header-dark .nav-dropdown-link.active {
        color: var(--white) !important;
        background-color: var(--dark-line) !important;
    }
}

@media (min-width: 992px) {
    .header-dark .nav-dropdown-link {
        color: var(--light-line);
        
    }
    
    .header-dark .nav-dropdown-link:hover, 
    .header-dark .nav-dropdown-link:active,
    .header-dark .nav-dropdown-link.active {
        color: var(--white) !important;
        background-color: var(--dark-line);
    }
}


/*******************************
            FOOTER
*******************************/
footer {
    position: relative;
}

.footer__gradient {
    position: absolute;
    inset: 0;
    background: 
        linear-gradient(to bottom, rgb(246, 246, 249, 1) 10%, transparent 60%),
        linear-gradient(122deg, rgb(255, 255, 255, 0) 48.23%, rgba(246, 217, 217, 0.60) 80.41%),
        linear-gradient(214deg, #F6F6F9 25.27%, #F4EAFB 84.62%);
    z-index: 1;
    pointer-events: none;
}

.footer__content {
    position: relative;
    z-index: 3;
}

footer .social-links {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    padding: 16px 24px;
}

footer .link-spacer {
    width: 8px;
    height: 8px;
    background-color: var(--red);
}

@media (min-width: 768px) {
    footer .social-links {
        padding: 24px 36px;
    }

    footer .link-spacer {
        width: 10px;
        height: 10px;
    }
}

@media (min-width: 992px) {
    footer .social-links {
        padding: 48px 56px;
    }
}

.footer-section {
    padding: 24px 16px 0 16px;
    max-width: 1632px;
    margin: 0 auto;
    position: relative;
}

.footer-bottom {
    padding-top: 80px;
    z-index: 3;
}

@media (min-width: 768px) {
    .footer-section {
        padding: 40px 16px 0 16px;
    }
}

@media (min-width: 992px) {
    .footer-section {
        padding: 80px 16px 0 16px;
    }
}


/* blur layer — no mask */
footer::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 30%;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    mask-image: linear-gradient(to bottom, transparent 0%, black 160%, black 800%);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 160%, black 100%);
    z-index: 4;
}

/* fade layer on top — just a gradient, no blur */
footer::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 30%;
    background: linear-gradient(to bottom, transparent, var(--white-background));
    z-index: 2;
}

@media (min-width: 540px) {
    footer::after {
        mask-image: linear-gradient(to bottom, transparent 0%, black 110%, black 800%);
        -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 110%, black 100%);
    }
}

@media (min-width: 992px) {
    footer::after {
        mask-image: linear-gradient(to bottom, transparent 0%, black 60%, black 800%);
        -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 60%, black 100%);
    }
}

.footer-links {
    gap: 48px;
}

@media (min-width: 768px) {
    .footer-links {
        gap: 80px;
    }
}

@media (min-width: 992px) {
    .footer-links {
        gap: 160px;
    }
}

.footer-link {
    display: inline-block;
    background: var(--text-light);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 26px;
    position: relative;
}

.footer-link::after {
    content: attr(data-text);
    position: absolute;
    left: 0;
    top: 0;
    background: linear-gradient(125deg, #DC2626 8.09%, #581C87 92.87%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    clip-path: inset(0 100% 0 0);
    line-height: 26px; 
    display: block;
    transition: clip-path 0.2s ease;
}

.footer-link:hover::after {
    clip-path: inset(0 0% 0 0);
}

.privacy-terms-links {
    max-width: 100%;
    padding-top: 48px;
}


@media (min-width: 992px) {
    .privacy-terms-links {
        max-width: 350px;
    }
}

@media (min-width: 1200px) {
    .privacy-terms-links {
        max-width: 450px;
    }
}

.footer-small-link {
    color: var(--text-light);
    font-weight: 400;
    transition: color .2s ease;
}

.footer-small-link:hover {
    color: var(--text-dark);
}

.section-wrapper {
	padding: 48px 16px;
}

@media (min-width: 992px) {
	.section-wrapper {
		padding: 80px 48px;
	}
}

@media (min-width: 1400px) {
	.section-wrapper {
		padding: 120px 85px;
	}
}


.spotify-container {
    position: fixed;
    bottom: 8px;
    right: 20px;
    width: 350px;
    opacity: 0;
    z-index: 100;
    transition: bottom .3s ease, opacity .3s ease;
}

.spotify-container.is-open {
    opacity: 0.9;
    bottom: 16px;
}



