/* ----------------------------------------------------------------------------------------
* Author        : Awaiken
* Template Name : Thilon Jay
* File          : CSS File
* Version       : 1.0
* ---------------------------------------------------------------------------------------- */
/* INDEX
----------------------------------------------------------------------------------------
01. Global Variables
02. General css
03. Header css
04. Hero css
05. About Us css
06. Our Team css
07. Our Album css
08. Intro Video css
09. Our Gallery css
10. Our Testimonials css
11. Our Blog css
12. CTA Box css
13. Footer css
14. About Us Page css
15. Services Page css
16. Service Single css
17. Blog Archive css
18. Blog Single css
19. Albums Page css
20. Album Single css
21. Team Page css
22. Team Single css
23. Image Gallery css
24. Video Gallery css
25. FAQs Page css
26. Contact Us Page css
27. 404 Error Page css
28. Responsive css
-------------------------------------------------------------------------------------- */

/************************************/
/*** 	 01. Global Variables	  ***/
/************************************/	

:root{
	--primary-color				: #FFFFFF;
	--secondary-color			: #150529;
	--text-color				: #C5C5C7;
	--accent-color				: #C42091;
	--accent-secondary-color	: #6617CA;
	--black-color				: #110422;
	--divider-color				: #FFFFFF24;
	--error-color				: rgb(230, 87, 87);
	--default-font				: "Jost", sans-serif;
	--accent-font				: "Jost", sans-serif;
}

/************************************/
/*** 	   02. General css		  ***/
/************************************/

body{
	font-family: var(--default-font);
	font-size: 18px;
	font-weight: 400;
	line-height: 1em;
	color: var(--text-color);
	background: url('../images/section-bg-circle-shape.png') var(--black-color);
	background-repeat: repeat-y;
	background-position: top 1000px center;
	background-size: 100% auto;
}

p,
a,
span,
li,
label,
input,
textarea,
select,
button{
	font-family: var(--default-font);
}

p{
	line-height: 1.6em;
	margin-bottom: 1.4em;
}

h1,
h2,
h3,
h4,
h5,
h6{
	font-family: var(--accent-font);
	margin : 0;
	font-weight: 500;
	line-height: 1.2em;
	color: var(--primary-color);
}

figure{
	margin: 0;
}

img{
	max-width: 100%;
}

a{
	text-decoration: none;
}

a:hover{
	text-decoration: none;
	outline: 0;
}

a:focus{
	text-decoration: none;
	outline: 0;
}

html,
body{
	width: 100%;
	overflow-x: clip;
}

::-webkit-scrollbar-track{
	background-color: var(--primary-color);
	border-left: 1px solid var(--white-color);
}
::-webkit-scrollbar{
	width: 7px;
	background-color: var(--primary-color);
}
::-webkit-scrollbar-thumb{
	background: linear-gradient(0deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
}

::selection{
	color: var(--black-color);
	background-color: var(--divider-color);
	filter: invert(1);
}

.container{
	max-width: 1300px;
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl{
    padding-right: 15px;
    padding-left: 15px;
}

.image-anime{
	position: relative;
	overflow: hidden;
}

.image-anime:after{
	content: "";
	position: absolute;
    width: 200%;
    height: 0%;
    left: 50%;
    top: 50%;
    background-color: rgba(255,255,255,.3);
    transform: translate(-50%,-50%) rotate(-45deg);
    z-index: 1;
}

.image-anime:hover:after{
    height: 250%;
    transition: all 600ms linear;
    background-color: transparent;
}

.reveal{
	position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    visibility: hidden;
    overflow: hidden;
}

.reveal img{
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transform-origin: left;
    transform-origin: left;
}

.row{
    margin-right: -15px;
    margin-left: -15px;
}

.row > *{
	padding-right: 15px;
	padding-left: 15px;
}

.row.no-gutters{
    margin-right: 0px;
    margin-left: 0px;
}

.row.no-gutters > *{
    padding-right: 0px;
    padding-left: 0px;
}

.btn-default{
	position: relative;
	display: inline-block;
	font-family: var(--accent-font);
	font-size: 18px;
	font-weight: 600;
	line-height: 1em;
	text-transform: uppercase;
	background: transparent;
	color: var(--primary-color);
	border: none;
	border-radius: 0;
	padding: 16px 30px;
	overflow: hidden;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.btn-default:before{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 50px;
	height: 100%;
	background: var(--accent-color);
	border-radius: 100px;
	transition: all 0.4s ease-in-out;
	z-index: -1;
}

.btn-default:hover:before{
	width: 100%;
}

.btn-default.btn-highlighted::before{
	background: var(--accent-secondary-color);
}

.readmore-btn{
	position: relative;
	font-family: var(--accent-font);
	font-size: 18px;
	font-weight: 500;
	text-transform: uppercase;
	color: var(--primary-color);
	padding-right: 30px;
	transition: all 0.3s ease-in-out;
}

.readmore-btn:hover{
    color: var(--accent-color);
}

.readmore-btn:after{
	content: '';
    position: absolute;
	right: 0;
	top: 50%;
    transform: translate(-2px, -50%);
    background: url('../images/arrow-white.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	width: 16px;
	height: 12px;
	transition: all 0.3s ease-in-out;
}

.readmore-btn:hover:after{
	transform: translate(0, -50%);
}

.cb-cursor:before{
	background: linear-gradient(94.07deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
}

.preloader {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 99999;
	background: var(--black-color);
	display: flex;
	align-items: center;
	justify-content: center;
}

.preloader-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 22px;
}

/* Avatar + spinning ring wrapper */
.preloader-avatar-wrap {
	position: relative;
	width: 88px;
	height: 88px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Neon spinning arc ring */
.preloader-ring {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 2.5px solid transparent;
	border-top-color: var(--accent-color);
	border-right-color: var(--accent-secondary-color);
	animation: preloader-spin 1.1s linear infinite;
	box-shadow: 0 0 12px rgba(196, 32, 145, 0.4);
}

/* Slower outer pulse ring */
.preloader-ring::after {
	content: '';
	position: absolute;
	inset: 5px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.06);
}

/* Avatar image inside the ring */
.preloader-avatar {
	width: 66px;
	height: 66px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid rgba(255, 255, 255, 0.15);
	animation: preloader-pulse 2s ease-in-out infinite;
}

/* Brand text */
.preloader-brand {
	font-family: var(--accent-font);
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--primary-color);
	margin: 0;
	animation: preloader-fadein 1.2s ease forwards;
	opacity: 0;
}

@keyframes preloader-spin {
	to { transform: rotate(360deg); }
}

@keyframes preloader-pulse {
	0%, 100% { opacity: 1;   transform: scale(1);    }
	50%       { opacity: 0.8; transform: scale(0.97); }
}

@keyframes preloader-fadein {
	0%   { opacity: 0; transform: translateY(6px); }
	60%  { opacity: 0; }
	100% { opacity: 1; transform: translateY(0);   }
}

.section-row{
	margin-bottom: 80px;
}

.section-row .section-title{
	margin-bottom: 0;
}

.section-title.section-title-center{
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	text-align: center;
}

.section-btn{
	text-align: right;
}

.section-title-content-btn .section-btn{
	margin-top: 40px;
	text-align: left;
}

.section-content-btn .section-btn{
	margin-top: 30px;
	text-align: left;
}

.section-title-content p{
	margin-bottom: 20px;
}

.section-title-content p:last-child{
	margin-bottom: 0;	
}

.section-title{
	margin-bottom: 40px;
}

.section-title h3{
	display: inline-block;
	font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    background: linear-gradient(94.07deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
	background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 10px;
}

.section-title h1{
	font-size: 80px;
	font-weight: 800;
	text-transform: uppercase;
	margin-bottom: 0;
	cursor: none;
}

.section-title h2{
	font-size: 44px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: -0.02em;
	margin-bottom: 0;
	cursor: none;
}

.section-title h1 span{
	font-size: 140px;
	background: linear-gradient(94.07deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
	background-clip: text;
    -webkit-text-fill-color: transparent;
}

.section-title h2 span{
	background: linear-gradient(94.07deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
	background-clip: text;
    -webkit-text-fill-color: transparent;
}

.section-title p{
	margin-top: 20px;
	margin-bottom: 0;
}

.help-block.with-errors ul{
	margin: 0;
	text-align: left;
}

.help-block.with-errors ul li{
	color: var(--error-color);
	font-weight: 500;
	font-size: 14px;
}

/************************************/
/**** 	   03. Header css		 ****/
/************************************/

header.main-header{
	position: absolute;
	top: 0;
	width: 100%;
	border-bottom: 1px solid var(--divider-color);
	z-index: 100;
}

header.main-header .header-sticky{
	position: relative;
	top: 0;
	z-index: 100;
}

header.main-header .header-sticky.hide{
	transform: translateY(-100%);
	transition: transform 0.3s ease-in-out;
	border-radius: 0;
}

header.main-header .header-sticky.active{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	border-radius: 0;
    transform: translateY(0);
	background-color: var(--black-color);
	border-bottom: 1px solid var(--divider-color);
}

.navbar{
	padding: 20px 0;
	align-items: center;
}

.navbar-brand{
	padding: 0;
	margin: 0;
}

/* Avatar-style brand logo */
.brand-avatar {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
}

.brand-avatar-img {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid rgba(255, 255, 255, 0.2);
	flex-shrink: 0;
	display: block;
}

.brand-avatar-name {
	font-family: var(--accent-font);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--primary-color);
	white-space: nowrap;
	line-height: 1;
}

.main-menu .nav-menu-wrapper{
	flex: 1;
	text-align: center;
	margin: 0 20px;
}

.main-menu .nav-menu-wrapper > ul{
	align-items: center;
	display: inline-flex;
}

.main-menu ul li{
	margin: 0;
	position: relative;
}

.main-menu ul li a{
	font-family: var(--accent-font);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2em;
	text-transform: uppercase;
	padding: 14px 20px !important;
	color: var(--primary-color);
	transition: all 0.3s ease-in-out;
}

.main-menu ul li.submenu > a:after{
	content: '\f107';
	font-family: 'FontAwesome';
	font-weight: 900;
	font-size: 14px;
	margin-left: 8px;
	margin-top: 1px;
}

.main-menu ul li a:hover,
.main-menu ul li a:focus{
	color: var(--accent-color);
}

.main-menu ul ul{
	visibility: hidden;
	opacity: 0;
	transform: scaleY(0.8);
	transform-origin: top;
	padding: 0;
	margin: 0;
	list-style: none;
	width: 230px;
	border-radius: 0;
	position: absolute;
	left: 0;
	top: 100%;
	background: linear-gradient(0deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
	transition: all 0.3s ease-in-out;
	text-align: left;
}

.main-menu ul li.submenu:first-child ul{
    width: 230px;
}

.main-menu ul ul ul{
	left: 100%;
	top: 0;
	text-align: left;
}

.main-menu ul li:hover > ul{
	visibility: visible;
	opacity: 1;
	transform: scaleY(1);
    padding: 5px 0;
}

.main-menu ul li.submenu ul li.submenu > a:after{
    content: '\f105';
    float: right;
}

.main-menu ul ul li{
	margin: 0;
	padding: 0;
}

.main-menu ul ul li a{
	color: var(--primary-color);
	padding: 8px 20px !important;
	transition: all 0.3s ease-in-out;
}

.main-menu ul li:hover > ul{
	visibility: visible;
	opacity: 1;
	transform: scaleY(1);
    padding: 5px 0;
}

.main-menu ul ul li a:hover,
.main-menu ul ul li a:focus{
	color: var(--secondary-color);
	background-color: transparent;
	padding: 8px 20px 8px 23px !important;
}

.main-menu ul li.highlighted-menu{
    display: none;
}

.responsive-menu,
.navbar-toggle{
	display: none;
}

.responsive-menu{
	top: 0;
	position: relative;
}

.slicknav_btn{
	background: linear-gradient(0deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin: 0;
	border-radius: 0;
}

.slicknav_icon .slicknav_icon-bar{
	display: block;
	width: 100%;
	height: 3px;
	width: 22px;
	background-color: var(--primary-color);
	border-radius: 6px;
	margin: 4px auto !important;
	transition: all 0.1s ease-in-out;
}

.slicknav_icon .slicknav_icon-bar:first-child{
	margin-top: 0 !important;
}

.slicknav_icon .slicknav_icon-bar:last-child{
	margin-bottom: 0 !important;
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(1){
    transform: rotate(-45deg) translate(-5px, 5px);
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(2){
    opacity: 0;
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(3){
    transform: rotate(45deg) translate(-5px, -5px);
}

.slicknav_menu{
	position: absolute;
    width: 100%;
	padding: 0;
	background: linear-gradient(0deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
}

.slicknav_menu ul{
	margin: 5px 0;
}

.slicknav_menu ul ul{
	margin: 0;
}

.slicknav_nav .slicknav_row,
.slicknav_nav li a{
	position: relative;
	font-family: var(--accent-font);
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
	padding: 8px 20px;
	color: var(--primary-color);
	line-height: normal;
	margin: 0;
	border-radius: 0 !important;
	transition: all 0.3s ease-in-out;
}

.slicknav_nav a:hover,
.slicknav_nav a:focus,
.slicknav_nav .slicknav_row:hover{
	background-color: transparent;
	color: var(--secondary-color);
}

.slicknav_menu ul ul li a{
    padding: 8px 20px 8px 30px;
}

.slicknav_arrow{
	font-size: 0 !important;
}

.slicknav_arrow:after{
	content: '\f107';
	font-family: 'FontAwesome';
	font-weight: 900;
	font-size: 12px;
	margin-left: 8px;
	color: var(--primary-color);
	position: absolute;
	right: 15px;
    top: 50%;
	transform: translateY(-50%);
	transition: all 0.3s ease-out;
}

.slicknav_open > a .slicknav_arrow:after{
    transform: translateY(-52%) rotate(-180deg);
	color: var(--secondary-color);
}

/************************************/
/***         04. Hero css	      ***/
/************************************/

.hero{
	position: relative;
	background: url('../images/hero-bg.jpg');
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
	padding: 230px 0 250px;
	min-height: 100vh;
}

.hero::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(180deg, rgba(17, 4, 34, 0.9) 0%, rgba(17, 4, 34, 0.5) 100%);
	width: 100%;
	height: 100%;
	z-index: 1;
}

.hero.hero-video .hero-bg-video{
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}

.hero.hero-video .hero-bg-video video{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero.hero-slider-layout{
	background: none;
	padding: 0;
}

.hero.hero-slider-layout .hero-slide{
	position: relative;
    padding: 230px 0 250px;
	min-height: 100vh;
}

.hero.hero-slider-layout .hero-slide::before{
	content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(180deg, rgba(17, 4, 34, 0.9) 0%, rgba(17, 4, 34, 0.5) 100%);
    width: 100%;
    height: 100%;
    z-index: 1;
}

.hero.hero-slider-layout .hero-slide .hero-slider-image{
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
}

.hero.hero-slider-layout .hero-slide .hero-slider-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero.hero-slider-layout .hero-pagination{
	position: absolute;
    bottom: 150px;
	text-align: center;
	z-index: 2;
}

.hero.hero-slider-layout .hero-pagination .swiper-pagination-bullet{
    width: 12px;
    height: 12px;
    background: var(--primary-color);
    opacity: 1;
    transition: all 0.3s ease-in-out;
    margin: 0 5px;
}

.hero.hero-slider-layout .hero-pagination .swiper-pagination-bullet-active{
    background-color: var(--accent-color);
}

.hero-content{
	position: relative;
	text-align: center;
	z-index: 2;
}

.hero-content .section-title h3{
	font-size: 36px;
	font-weight: 600;
	text-transform: uppercase;
	-webkit-text-fill-color: var(--primary-color);
	margin-bottom: 30px;
}

.hero-content .section-title p{
	max-width: 750px;
	margin: 0 auto;
	margin-top: 20px;
}

.hero-btn{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
}

.down-arrow{
	position: absolute;
	top: auto;
	left: 50%;
	bottom: 60px;
	transform: translate(-50%);
	z-index: 2;
}

.down-arrow a{
	width: 30px;
	height: 50px;
	border: 2px solid var(--primary-color);
	border-radius: 100px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	animation: jumpInfinite 2s infinite;
	transition: all 0.5s ease-in-out;
	z-index: 2;
}

.down-arrow a:hover{
	border-color: var(--accent-color);
}

.down-arrow a i{
	font-size: 20px;
	color: var(--primary-color);
	transition: all 0.3s ease-in-out;
}

.down-arrow a:hover i{
	color: var(--accent-color);
}
  
@keyframes jumpInfinite{
	0%{
		margin-bottom: 0;
	}
	50%{
		margin-bottom: 20px;
	}
	100%{
		margin-bottom: 0;
	}
}

/************************************/
/***       05. About Us css	      ***/
/************************************/

.about-us{
	background: url('../images/section-bg-shape.png') no-repeat;
	background-position: center center;
	background-size: auto;
	padding: 100px 0;
}

.about-us-image{
	overflow: hidden;
}

.about-us-image figure{
	display: block;
}

.about-us-image figure::before{
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--black-color);
	opacity: 30%;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.about-us-image img{
	width: 100%;
	aspect-ratio: 1 / 0.4;
	object-fit: cover;
}

.about-counter-box{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-top: 40px;
}

.about-counter-item{
	width: calc(25% - 22.5px);
	display: flex;
	align-items: center;
}

.about-counter-item h2{
	width: 80px;
	font-size: 60px;
	font-weight: 700;
	color: var(--accent-color);
	margin-right: 15px;
}

.about-counter-item h3{
	width: calc(100% - 95px);
	font-size: 22px;
	text-transform: capitalize;
}

/************************************/
/***       06. Our Team css	      ***/
/************************************/

.our-team{
	background: var(--secondary-color);
	padding: 100px 0;
}

.team-item{
    height: calc(100% - 40px);
    margin-bottom: 40px;
}

.team-image{
	position: relative;
	margin-bottom: 20px;
}

.team-image a{
    display: block;
	cursor: none;
	overflow: hidden;
}

.team-image a figure{
	position: relative;
}

.team-image figure::before{
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--black-color);
    opacity: 40%;
    width: 100%;
    height: 100%;
	transform: scale(0);
	transition: all 0.4s ease-in-out;
    z-index: 1;
}

.team-item:hover .team-image figure::before{
	transform: scale(1);
}

.team-image img{
    width: 100%;
    aspect-ratio: 1 / 1.35;
    object-fit: cover;
	transition: all 0.4s ease-in-out;
}

.team-item:hover .team-image img{
	transform: scale(1.1);
}

.team-social-icon{
	position: absolute;
	top: 50%;
    left: 20px;
    right: 20px;
	opacity: 0;
	visibility: hidden;
    transform: translateY(50%);
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.team-item:hover .team-social-icon{
	transform: translateY(-50%);
	opacity: 1;
	visibility: visible;
}

.team-social-icon ul{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 15px;
}

.team-social-icon ul li a{
	width: 40px;
	height: 40px;
	color: var(--secondary-color);
	background: var(--primary-color);
	border-radius: 50%;
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease-in-out;
}

.team-social-icon ul li a:hover{
	background: var(--accent-color);
    color: var(--primary-color);
}

.team-social-icon ul li a i{
	color: inherit;
	font-size: 20px;
}

.team-content{
	text-align: center;
}

.team-content h3{
	font-size: 22px;
    font-weight: 600;
	text-transform: capitalize;
	color: var(--primary-color);
	margin-bottom: 5px;
}

.team-content h3 a{
	display: inline-block;
	color: inherit;
}

.team-content p{
	text-transform: capitalize;
	margin: 0;
}

.section-footer-btn{
	text-align: center;
	margin-top: 20px;
}

/************************************/
/***      07. Our Album css	      ***/
/************************************/

.our-album{
	padding: 100px 0;
}

.album-item{
	margin-bottom: 30px;
}

.album-image{
	position: relative;
	margin-bottom: 20px;
	overflow: hidden;
}

.album-item-btn{
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease-in-out;
    z-index: 1;
}

.album-item:hover .album-item-btn{
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, -50%) scale(1);
}

.album-item-btn a{
	position: relative;
    display: block;
    background: linear-gradient(to right, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
    background-size: 200% auto;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s ease-in-out;
}

.album-item-btn a:hover{
    background-position: right center;
}

.album-item-btn a img{
    width: 100%;
    max-width: 20px;
    transform: rotate(-45deg);
    transition: all 0.4s ease-in-out;
}

.album-item-btn a:hover img{
	transform: rotate(0deg);
}

.album-image figure img{
	width: 100%;
	aspect-ratio: 1 / 0.9;
	object-fit: cover;
	transition: all 0.4s ease-in-out;
}

.album-item:hover .album-image figure img{
	transform: scale(1.1);
}

.album-item-content{
	text-align: center;
}

.album-item-content h3{
	font-size: 22px;
	text-transform: capitalize;
	margin-bottom: 5px;
}

.album-item-content h3 a{
	color: inherit;
}

.album-item-content p{
	margin: 0;
}

.section-footer-text{
	margin-top: 30px;
	text-align: center;
}

.section-footer-text p{
	font-family: var(--accent-font);
	font-size: 22px;
	margin: 0;
}

.section-footer-text p span{
	font-weight: 500;
	color: var(--black-color);
	background: linear-gradient(254.54deg, var(--accent-color) 0.03%, var(--accent-secondary-color) 100%);
	border-radius: 0;
	padding: 5px 10px;
	margin-right: 10px;
}

.section-footer-text p a{
	background: linear-gradient(to right, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
    background-size: 200% auto;
    background-clip: text;
    -webkit-text-fill-color: transparent;
	font-weight: 500;
	text-transform: capitalize;
	text-decoration: underline;
	transition: all 0.3s ease-in-out;
}

.section-footer-text p a:hover{
	background-position: right center;
}

/************************************/
/***      08. Intro Video css     ***/
/************************************/

.intro-video{
	background: var(--secondary-color);
	padding: 100px 0;
}

.intro-video .container-fluid{
	padding: 0;
}

.intro-video-box{
	position: relative;
	overflow: hidden;
	padding: 200px 0;
}

.intro-video-box::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	background: url('../images/intro-video-bg-shape.png');
	background-repeat: repeat-x;
	background-position: left center;
	background-size: cover;
	animation: videowavemove 40s infinite linear;
	width: 100%;
	height: 290px;
}

@keyframes videowavemove{
	from{
		background-position: left center;
	}
	to{
		background-position: left 200vw center;
	}
}

.intro-bg-image{
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	max-width: 1300px;
	height: 100%;
	margin: 0 auto;
}

.intro-bg-image a{
	display: block;
	cursor: none;
	height: 100%;
}

.intro-bg-image figure{
	height: 100%;
}

.intro-video-box figure::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
    background: var(--black-color);
	opacity: 20%;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.intro-bg-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.video-play-button{
	position: relative;
	z-index: 1;
}

.video-play-button a{
	position: relative;
	background: linear-gradient(to right, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
    background-size: 200% auto;
	border-radius: 100%;
	width: 100px;
	height: 100px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: none;
	transition: all 0.4s ease-in-out;
}

.video-play-button:hover a{
	background-position: right center;
}

.video-play-button a:before{
	content: '';
	position: absolute;
	top: -30%;
	left: -30%;
	width: 160%;
	height: 160%;
	border: 50px solid var(--divider-color);
	border-radius: 50%;
	transform: scale(0.6);
	z-index: -1;
	animation: border-zooming 1.2s infinite linear;
}

.video-play-button a:after{
	content: '';
	position: absolute;
	top: -30%;
	left: -30%;
	width: 160%;
	height: 160%;
	border: 50px solid var(--divider-color);
	border-radius: 50%;
	transform: scale(0.6);
	z-index: -1;
	animation: border-zooming 1.2s infinite linear;
	animation-delay: .3s;
}

@keyframes border-zooming{
	100%{
		transform: scale(1);
		opacity: 0;
	}
}

.video-play-button a i{
	font-size: 30px;
	color: var(--primary-color);
}

/************************************/
/***      09. Our Gallery css	  ***/
/************************************/

.our-gallery{
	padding: 100px 0 70px;
}

.page-gallery-box .photo-gallery{
	height: calc(100% - 30px);
	margin-bottom: 30px;
}

.page-gallery-box .photo-gallery a{
	cursor: none;
}

.page-gallery-box .photo-gallery figure{
	display: block;
}

.page-gallery-box .photo-gallery img{
	width: 100%;
	aspect-ratio: 1 / 0.843;
	object-fit: cover;
}

/************************************/
/***	10. Our Testimonial Css   ***/
/************************************/

.our-testimonial{
	position: relative;
	background: url('../images/testimonials-bg.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
    padding: 100px 0;
    overflow: hidden;
}

.our-testimonial:before{
	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--black-color);
    opacity: 40%;
}

.our-testimonial .container{
	position: relative;
	z-index: 1;
}

/* ── Featured Track Showcase ───────────────────────────────────── */

/* Full-section centering stage */
.showcase-stage {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    padding: 20px 16px;
}

/* Glass card */
.showcase-card {
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 24px;
    max-width: 480px;
    width: 100%;
    padding: 48px 40px;
    text-align: center;
    box-shadow: 0 32px 80px rgba(0, 0, 0, 0.55),
                0 0 0 1px rgba(196, 32, 145, 0.12);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
}

/* Logo + pulse ring */
.showcase-logo-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.showcase-logo {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(255, 255, 255, 0.15);
    position: relative;
    z-index: 1;
}

/* Subtle idle pulse ring */
.showcase-pulse {
    position: absolute;
    inset: -10px;
    border-radius: 50%;
    border: 2px solid rgba(196, 32, 145, 0.30);
    animation: showcase-pulse-idle 3s ease-in-out infinite;
}

/* Second outer ring when playing */
.showcase-logo-wrap.pulse-active .showcase-pulse {
    border-color: rgba(196, 32, 145, 0.65);
    animation: showcase-pulse-play 1.4s ease-in-out infinite;
}

@keyframes showcase-pulse-idle {
    0%, 100% { transform: scale(1);    opacity: 0.5; }
    50%       { transform: scale(1.06); opacity: 1;   }
}

@keyframes showcase-pulse-play {
    0%, 100% { transform: scale(1);    opacity: 0.8; }
    50%       { transform: scale(1.12); opacity: 0.3; }
}

/* Logo spin when playing */
.showcase-logo.is-playing {
    animation: showcase-spin 10s linear infinite;
    border-color: rgba(196, 32, 145, 0.55);
    box-shadow: 0 0 18px rgba(196, 32, 145, 0.45);
}

@keyframes showcase-spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

/* Track metadata */
.showcase-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: 100%;
}

.showcase-label {
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.38);
}

.showcase-track-name {
    font-family: var(--accent-font);
    font-size: clamp(1rem, 2.5vw, 1.35rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--primary-color);
    margin: 0;
    line-height: 1.2;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.showcase-artist {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.20em;
    text-transform: uppercase;
    background: linear-gradient(94deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Transport row: Prev · Play/Pause · Next */
.showcase-transport {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

/* Prev / Next ghost circle buttons */
.showcase-nav-btn {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.20);
    background: rgba(255, 255, 255, 0.05);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.2s ease, background 0.2s ease, transform 0.15s ease;
    flex-shrink: 0;
}

.showcase-nav-btn:hover {
    border-color: rgba(196, 32, 145, 0.70);
    background: rgba(196, 32, 145, 0.12);
    transform: scale(1.08);
}

.showcase-nav-btn:active {
    transform: scale(0.93);
}

.showcase-nav-btn svg {
    width: 20px;
    height: 20px;
    fill: rgba(255, 255, 255, 0.80);
}

/* Circular play/pause button */
.showcase-play-btn {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
    box-shadow: 0 0 28px rgba(196, 32, 145, 0.55),
                0 0 60px rgba(102, 23, 202, 0.25);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    flex-shrink: 0;
}

.showcase-play-btn:hover {
    transform: scale(1.08);
    box-shadow: 0 0 40px rgba(196, 32, 145, 0.75),
                0 0 80px rgba(102, 23, 202, 0.35);
}

.showcase-play-btn:active {
    transform: scale(0.96);
}

.showcase-play-btn svg {
    width: 28px;
    height: 28px;
    fill: #fff;
}

@media (max-width: 575px) {
    .showcase-card {
        padding: 36px 24px;
        gap: 20px;
    }

    .showcase-logo {
        width: 90px;
        height: 90px;
    }

    .showcase-play-btn {
        width: 60px;
        height: 60px;
    }

    .showcase-nav-btn {
        width: 40px;
        height: 40px;
    }

    .showcase-transport {
        gap: 14px;
    }
}

.testimonial-slider{
	position: relative;
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
}

.testimonial-slider .swiper-wrapper{
	cursor: none;
}

.testimonial-item{
	text-align: center;
}

.testimonial-quote{
	text-align: center;
	margin-bottom: 40px;
}

.testimonial-quote img{
	max-width: 24px;
}

.testimonial-content{
	margin-bottom: 40px;
}

.testimonial-content p{
	font-size: 24px;
	line-height: 1.5em;
	color: var(--primary-color);
	margin: 0;
}

.author-image{
	margin-bottom: 15px;
}

.author-image figure,
.author-image img{
	border-radius: 50%;
	max-width: 60px;
	margin: 0 auto;
}

.author-content h3{
	font-size: 22px;
	text-transform: capitalize;
	color: var(--primary-color);
}

.testimonial-pagination{
	position: relative;
	text-align: center;
	margin-top: 50px;
}

.testimonial-pagination .swiper-pagination-bullet{
    height: 10px;
    width: 10px;
    background: var(--primary-color);
    opacity: 1;
    margin: 0 3px;
    transition: all 0.4s ease-in-out;
}

.testimonial-pagination .swiper-pagination-bullet-active{
	width: 30px;
    background: var(--accent-color);
	border-radius: 10px;
}

/************************************/
/***       11. Our Blog css	      ***/
/************************************/

.our-blog{
	background: url(../images/section-bg-shape.png) no-repeat;
    background-position: center center;
    background-size: auto;
	padding: 100px 0;
}

.post-item{
	position: relative;
	width: 100%;
}

.post-featured-image a{
    cursor: none;
    display: block;
    overflow: hidden;
}

.post-featured-image figure{
	display: block;
}

.post-featured-image figure::before{
	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(17, 4, 34, 0) 0%, rgba(17, 4, 34, 0.6) 100%);
	z-index: 1;
}

.post-featured-image img{
    aspect-ratio: 1 / 0.8;
    object-fit: cover;
    transition: all 0.5s ease-in-out;
}

.post-item:hover .post-featured-image img{
	transform: scale(1.1);
}

.post-item-body{
	position: absolute;
	left: 30px;
	right: 30px;
	bottom: 30px;
	z-index: 2;
}

.post-item-content{
	margin-bottom: 15px;
}

.post-item-content h3{
    font-size: 22px;
	line-height: 1.4em;
}

.post-item-content h3 a{
	display: inline-block;
    color: inherit;
}

.post-meta ul{
	list-style: none;
	padding: 0;
	margin: 0;
}

.post-meta ul li{
	display: inline-block;
	line-height: normal;
	border-right: 1px solid var(--text-color);
	padding-right: 15px;
	margin-right: 15px;
}

.post-meta ul li:last-child{
	border-right: none;
	padding-right: 0;
	margin-right: 0;
}

.latest-post-box{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.latest-post-box .post-featured-image img{
	aspect-ratio: 1 / 0.484;
}

.post-item.highlighted-post .post-featured-image img{
	aspect-ratio: 1 / 1.0165;
}

/************************************/
/***        12. CTA Box css	      ***/
/************************************/

.cta-box{
	position: relative;
	background: url('../images/cta-box-bg.jpg') no-repeat;
	background-position: center center;
	background-size: cover;
	padding: 100px 0;
}

.cta-box::before{
	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--black-color);
	opacity: 70%;
    z-index: 1;
}

.cta-box .container{
	position: relative;
	z-index: 1;
}

.cta-box .section-title{
	margin-bottom: 0;
}

/************************************/
/***        13. Footer css  	  ***/
/************************************/

.footer-main{
	background-color: var(--secondary-color);
	padding: 80px 0 0;
}

.footer-logo{
	margin-bottom: 20px;
}

.footer-logo img{
	width: 100%;
	max-width: 141px;
}

.footer-links h3{
	font-size: 20px;
	text-transform: capitalize;
	color: var(--primary-color);
	margin-bottom: 20px;
}

.footer-links p{
	font-size: 16px;
}

.footer-links ul{
	list-style: disc;
    margin: 0;
    padding-left: 20px;
}

.footer-links.footer-contact-box ul{
	list-style: none;
    margin: 0;
    padding: 0;
}

.footer-links ul li{
	color: var(--text-color);
	text-transform: capitalize;
	line-height: 1.5em;
	margin-bottom: 12px;
}

.footer-links.footer-contact-box ul li{
	margin-bottom: 15px;
}

.footer-links ul li:last-child{
	margin-bottom: 0;
}

.footer-links ul li::marker{
    color: var(--accent-color);
	transition: all 0.3s ease-in-out;
}

.footer-links ul li:hover::marker{
	color: var(--primary-color);
}

.footer-links ul li a{
	color: inherit;
	transition: all 0.3s ease-in-out;
}

.footer-links ul li a:hover{
	color: var(--accent-color);
}

.footer-newsletters-form .form-group{
	position: relative;
	display: flex;
	align-items: center;
	background: transparent;
	border-bottom: 1px solid var(--divider-color);
	padding: 0 0 12px 0;
}

.footer-newsletters-form .form-group .form-control{
	position: relative;
    width: calc(100% - 25px);
    border: none;
    border-radius: 0;
    color: var(--text-color);
    background: transparent;
    padding: 0;
    box-shadow: none;
}

.footer-newsletters-form .form-group .form-control::placeholder{
	color: var(--text-color);
}

.footer-newsletters-form .form-group i{
	font-size: 16px;
	color: var(--text-color);
	margin-right: 10px;
}

.footer-newsletters-form .form-group button{
	background: transparent;
	margin-left: 5px;
    border: none;
    padding: 0;
	transition: all 0.3s ease-in-out;
}

.footer-newsletters-form .form-group button img{
	max-width: 20px;
}

.footer-copyright{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 15px 30px;
	border-top: 1px solid var(--divider-color);
	margin-top: 60px;
	padding: 40px 0;
}

.footer-copyright-text p{
	font-family: var(--accent-font);
	font-weight: 500;
	color: var(--primary-color);
	margin-bottom: 0;
}

.footer-social-links{
    display: flex;
    align-items: center;
    gap: 20px;
}

.footer-social-links span{
	font-family: var(--accent-font);
	font-weight: 500;
	line-height: 1.2em;
    text-transform: capitalize;
    color: var(--primary-color);
}

.footer-social-links ul{
	display: inline-block;
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-social-links ul li{
    display: inline-block;
    margin-right: 15px;
}

.footer-social-links ul li:last-child{
	margin: 0;
}

.footer-social-links ul li a{
	width: 40px;
	height: 40px;
	background: var(--primary-color);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--accent-color);
	transition: all 0.4s ease-in-out;
}

.footer-social-links ul li:hover a{
	background: var(--accent-color);
	color: var(--primary-color);
}

.footer-social-links ul li a i{
    color: inherit;
    font-size: 18px;
}

/************************************/
/***     14. About Us Page css    ***/
/************************************/

.page-header{
    position: relative;
    background: url('../images/page-header-bg.jpg') no-repeat;
    background-position: center center;
    background-size: cover;
	padding: 240px 0 140px;
}

.page-header::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(17, 4, 34, 0.9) 0%, rgba(17, 4, 34, 0.5) 100%);
    width: 100%;
    height: 100%;
}

.page-header-box{
    position: relative;
	text-align: center;
    z-index: 1;
}

.page-header-box h1{
	display: inline-block;
	font-size: 80px;
    font-weight: 800;
    text-transform: uppercase;
	margin-bottom: 5px;
	cursor: none;
}

.page-header-box ol{
	margin: 0;
	padding: 0;
	justify-content: center;
}

.page-header-box ol li.breadcrumb-item{
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5em;
	text-transform: capitalize;
	color: var(--primary-color);
}

.page-header-box ol li.breadcrumb-item a{
    color: inherit;
}

.page-header-box ol li.breadcrumb-item.active{
	color: var(--primary-color);
}

.page-header-box ol .breadcrumb-item+.breadcrumb-item::before{
    color: var(--primary-color);
}

.our-approach{
    padding: 100px 0;
}

.our-approach .section-title.section-title-center{
    max-width: 850px;
}

.our-approach-nav{
	margin-bottom: 60px;
}

.our-approach-nav .nav-tabs{
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	justify-content: center;
	gap: 40px;
	border: none;
}

.our-approach-nav ul li button{
	border: none;
}

.our-approach-nav ul li .nav-link{
    position: relative;
    font-family: var(--accent-font);
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    line-height: 1em;
    text-transform: capitalize;
    background: transparent;
    background-size: 200% auto;
    color: var(--primary-color);
    border: 1px solid var(--accent-color);
    border-radius: 0;
    padding: 14px 20px;
    overflow: hidden;
    transition: all 0.4s ease-in-out;
    z-index: 1;
}

.our-approach-nav ul li .nav-link.active,
.our-approach-nav ul li .nav-link:focus,
.our-approach-nav ul li .nav-link:hover{
    border-color: var(--accent-color);
    background: transparent;
    color: var(--primary-color);
}

.our-approach-nav ul li .nav-link:before{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
  	left: 50%;
  	right: 50%;
  	opacity: 0;
	background: var(--accent-color);
	transition: all 0.4s ease-in-out;
	z-index: -1;
}

.our-approach-nav ul li .nav-link.active::before,
.our-approach-nav ul li .nav-link:focus::before,
.our-approach-nav ul li .nav-link:hover::before{
    left: -5px;
    right: -5px;
    opacity: 1;
}

.approach-tab-list ul{
	list-style: none;
	padding: 0;
    margin: 0;
}

.approach-tab-list ul li{
	position: relative;
	line-height: 1.5em;
	text-transform: capitalize;
    color: var(--text-color);
	padding-left: 30px;
    margin-bottom: 15px;
}

.approach-tab-list ul li:last-child{
    margin-bottom: 0;
}

.approach-tab-list ul li::before{
    content: '\f058';
    font-family: 'Font Awesome 6 Free';
    position: absolute;
    top: 1px;
    left: 0;
    font-size: 18px;
    font-weight: 400;
    background: linear-gradient(94.07deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.approach-image figure{
    display: block;
}

.approach-image img{
    width: 100%;
    aspect-ratio: 1 / 0.77;
    object-fit: cover;
}

.our-collection{
    background: var(--secondary-color);
    padding: 100px 0;
}

.our-collection-image{
    margin-right: 30px;
}

.our-collection-image figure{
    display: block;
}

.our-collection-image img{
    width: 100%;
    aspect-ratio: 1 / 0.782;
    object-fit: cover;
}

.collection-content{
    margin-bottom: 30px;
}

.collection-content p:last-child{
    margin-bottom: 0;
}

.collection-item-list{
    display: flex;
    gap: 20px 30px;
    flex-wrap: wrap;
}

.collection-item{
    width: calc(50% - 15px);
    border: 1px solid var(--divider-color);
    padding: 30px;
    transition: all 0.4s ease-in-out;
}

.collection-item:hover{
    border-color: var(--accent-color);
    transform: translateY(-3px);
}

.collection-item .icon-box{
    margin-bottom: 30px;
}

.collection-item .icon-box img{
    width: 100%;
    max-width: 40px;
}

.collection-item-content h3{
    font-size: 22px;
    margin-bottom: 10px;
}

.collection-item-content p{
    margin-bottom: 0;
}

.collection-button{
    margin-top: 40px;
}

.our-faqs{
    padding: 100px 0;
}

.our-faqs-content{
	position: sticky;
	top: 20px;
	margin-right: 30px;
}

.faq-accordion .accordion-item{
    border-bottom: 1px solid var(--divider-color);
    margin-bottom: 30px;
    padding-bottom: 30px;
}

.faq-accordion .accordion-item:last-child{
    margin-bottom: 0;
	padding-bottom: 0;
    border-bottom: none;
}

.faq-accordion .accordion-header .accordion-button{
    font-size: 22px;
    font-weight: 500;
    line-height: 1.2em;
    color: var(--primary-color);
    padding-right: 30px;
    transition: all 0.3s ease-in-out;
}

.faq-accordion .accordion-button:not(.collapsed){
    padding-bottom: 10px;
}

.faq-accordion .accordion-item .accordion-button::after, 
.faq-accordion .accordion-item .accordion-button.collapsed::after{
    content: '\f106';
    font-family: 'FontAwesome';
    position: absolute;
    right: 0;
    top: 3px    ;
    border: 2px solid var(--primary-color);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    color: var(--primary-color);
    transition: all 0.3s ease-in-out;
}

.faq-accordion .accordion-button:not(.collapsed)::after{
    transform: rotate(180deg);
    color: var(--accent-color);
    border-color: var(--accent-color);
}

.faq-accordion .accordion-item .accordion-body{
    padding-right: 30px;
}

.faq-accordion .accordion-item:last-child .accordion-body{
    padding-bottom: 0;
}

.faq-accordion .accordion-item .accordion-body p{
    color: var(--text-color);
    margin-bottom: 15px;
}

.faq-accordion .accordion-item .accordion-body p:last-child{
    margin-bottom: 0;
}

/************************************/
/***     15. Services Page css    ***/
/************************************/

.page-services{
    padding: 100px 0 70px;
}

.service-item{
	border: 1px solid var(--divider-color);
    height: calc(100% - 30px);
    margin-bottom: 30px;
    padding: 40px;
    transition: all 0.4s ease-in-out;
}

.service-item:hover{
    border-color: var(--accent-color);
    transform: translateY(-3px);
}

.service-item .icon-box,
.service-item-content{
    margin-bottom: 30px;
}

.service-item .icon-box img{
    width: 100%;
    max-width: 80px;
}

.service-item-content h3{
    font-size: 22px;
    margin-bottom: 15px;
}

.service-item-content h3 a{
    color: inherit;
}

.service-item-content p{
    margin-bottom: 0;
}

/************************************/
/***    16. Service Single css    ***/
/************************************/

.page-service-single{
    background: url('../images/section-bg-shape.png') no-repeat;
    background-position: top 100px center;
    background-size: auto;
	padding: 100px 0;
}

.page-single-sidebar{
	position: sticky;
	top: 20px;
	margin-right: 20px;
}

.page-single-category-list{
	border: 1px solid var(--divider-color);
    margin-bottom: 40px;
}

.page-single-category-list h3{
    font-size: 22px;
    text-transform: capitalize;
	border-bottom: 1px solid var(--divider-color);
    padding: 30px;
}

.page-single-category-list ul{
    list-style: none;
    margin: 0;
    padding: 30px;
}

.page-single-category-list ul li{
    border-bottom: 1px solid var(--divider-color);
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.page-single-category-list ul li:last-child{
    margin: 0;
    padding: 0;
    border-bottom: none;
}

.page-single-category-list ul li a{
    position: relative;
    display: block;
	line-height: 1.4em;
    text-transform: capitalize;
    color: var(--text-color);
    padding-right: 30px;
    transition: all 0.4s ease-in-out;
}

.page-single-category-list ul li:hover a{
    color: var(--primary-color);
}

.page-single-category-list ul li a::before{
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
    background: url(../images/arrow-white.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    width: 18px;
    height: 14px;
    transition: all 0.4s ease-in-out;
}

.page-single-category-list ul li a:hover::before{
    transform: translateY(-50%) rotate(0);
}

.sidebar-cta-box{
	background: linear-gradient(100deg, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
    background-size: 200% auto;
	padding: 50px 40px;
	text-align: center;
	transition: all 0.4s ease-in-out;
}

.sidebar-cta-box:hover{
	background-position: right center;
}

.sidebar-cta-box .icon-box,
.sidebar-cta-box .cta-content{
	margin-bottom: 30px;
}

.sidebar-cta-box .icon-box img{
	max-width: 64px;
}

.sidebar-cta-box .cta-content h3{
    font-size: 44px;
	font-weight: 700;
    letter-spacing: -0.02em;
    text-transform: uppercase;
	color: var(--primary-color);
	margin-bottom: 20px;
}

.sidebar-cta-box .cta-content p{
	color: var(--primary-color);
	margin: 0;
}

.cta-contact-btn .btn-default:before{
    background: var(--divider-color);
}

.service-featured-image{
    margin-bottom: 20px;
}

.service-featured-image figure{
    display: block;
}

.service-featured-image img{
    width: 100%;
    aspect-ratio: 1 / 0.438;
    object-fit: cover;
}

.service-entry{
    margin-bottom: 60px;
}

.service-entry p{
    margin-bottom: 20px;
}

.service-entry p:last-child{
    margin-bottom: 0;
}

.service-entry h2{
	font-size: 44px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: -0.02em;
	margin-bottom: 20px;
}

.service-entry h2 span{
	background: linear-gradient(94.07deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
	background-clip: text;
    -webkit-text-fill-color: transparent;
}

.service-entry ul{
	list-style: none;
	padding: 0;
    margin: 0;
}

.service-entry ul li{
	position: relative;
	line-height: 1.5em;
    color: var(--text-color);
	padding-left: 30px;
    margin-bottom: 15px;
}

.service-entry ul li:last-child{
    margin-bottom: 0;
}

.service-entry ul li::before{
    content: '\f058';
    font-family: 'Font Awesome 6 Free';
    position: absolute;
    top: 1px;
    left: 0;
    font-size: 18px;
    font-weight: 400;
    background: linear-gradient(94.07deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.service-benefit-box,
.service-work-box{
    margin-top: 60px;
}

.service-image-list{
    display: flex;
    flex-wrap: wrap;
    gap: 20px 30px;
    align-items: center;
}

.service-entry-list,
.service-entry-image{
    width: calc(50% - 15px);
}

.service-entry-image figure{
    display: block;
}

.service-entry-image img{
    width: 100%;
    aspect-ratio: 1 / 0.678;
    object-fit: cover;
}

.service-work-list{
    margin-top: 30px;
}

.service-work-item{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px;
}

.service-work-item:last-child{
    margin-bottom: 0;
}

.service-work-no{
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(100deg, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
    background-size: 200% auto;
    margin-right: 30px;
    transition: all 0.4s ease-in-out;
}

.service-work-item:hover .service-work-no{
    background-position: right center;
}

.service-work-no h2{
    font-size: 40px;
    font-weight: 400;
    margin-bottom: 0;
}

.service-work-content{
    width: calc(100% - 110px);
}

.service-work-content h3{
    font-size: 22px;
    margin-bottom: 10px;
}

.service-work-content p{
    margin-bottom: 0;
}

/************************************/
/***     17. Blog Archive css     ***/
/************************************/

.page-blog{
    padding: 100px 0;
}

.page-blog .post-item{
    height: calc(100% - 40px);
    margin-bottom: 40px;
}

.page-blog .post-item .post-featured-image figure::before{
    display: none;
}

.page-blog .post-featured-image{
    margin-bottom: 20px;
}

.page-blog .post-item-body{
    position: initial;
}

.page-pagination{
    margin-top: 20px;
    text-align: center;
}

.page-pagination ul{
    justify-content: center;
    padding: 0;
    margin: 0;
}

.page-pagination ul li a,
.page-pagination ul li span{
    display: flex;
    text-decoration: none;
    justify-content: center;
    align-items: center;
    background: var(--primary-color);
    color: var(--secondary-color);
	border-radius: 0;
    width: 40px;
    height: 40px;
    margin: 0 5px;
    font-weight: 700;
	line-height: 1em;
    transition: all 0.3s ease-in-out;
}

.page-pagination ul li.active a, 
.page-pagination ul li a:hover{
    background: var(--accent-color);
	color: var(--primary-color);
}

/************************************/
/***      18. Blog Single css     ***/
/************************************/

.page-single-post{
	padding: 100px 0;
}

.post-single-meta ol li{
	font-size: 18px;
	color: var(--primary-color);
	margin-right: 15px;
}

.post-single-meta ol li:last-child{
	margin-right: 0;
}

.post-single-meta ol li i{
    font-size: 18px;
    color: var(--primary-color);
    margin-right: 5px;
}

.post-image{
	position: relative;
	margin-bottom: 30px;
}

.post-image figure{
	display: block;
	overflow: hidden;
}

.post-image img{
	width: 100%;
	aspect-ratio: 1 / 0.50;
	object-fit: cover;
}

.post-content{
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

.post-entry{
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 30px;
    margin-bottom: 30px;
}

.post-entry:after{
    content: '';
    display: block;
    clear: both;
}

.post-entry a{
    color: var(--accent-color);
}

.post-entry h1,
.post-entry h2,
.post-entry h3,
.post-entry h4,
.post-entry h5,
.post-entry h6{
    font-family: var(--accent-font);
	font-weight: 500;
    letter-spacing: -0.02em;
	line-height: 1.2em;
	margin: 0 0 0.4em;
}

.post-entry h1{
	font-size: 80px;
}

.post-entry h2{
	font-size: 44px;
}

.post-entry h3{
	font-size: 40px;
}

.post-entry h4{
	font-size: 30px;
}

.post-entry h5{
	font-size: 24px;
}

.post-entry h6{
	font-size: 18px;
}

.post-entry p{
	margin-bottom: 20px;
}

.post-entry p:last-child{
	margin-bottom: 0;
}

.post-entry p strong{
	color: var(--primary-color);
	font-size: 18px;
	font-weight: 600;
}

.post-entry ol{
    margin: 0 0 30px;
}

.post-entry ul{
	padding: 0;
	margin: 20px 0 20px;
	padding-left: 20px;
}

.post-entry ol li,
.post-entry ul li{
    position: relative;
	font-size: 18px;
    font-weight: 500;
    line-height: 1.5em;
    color: var(--text-color);
    margin-bottom: 15px;
}

.post-entry ul li:last-child{
	margin-bottom: 0;
}

.post-entry ul ul,
.post-entry ul ol,
.post-entry ol ol,
.post-entry ol ul{
    margin-top: 20px;
    margin-bottom: 0;
}

.post-entry ul ul li:last-child,
.post-entry ul ol li:last-child,
.post-entry ol ol li:last-child,
.post-entry ol ul li:last-child{
    margin-bottom: 0;
}

.post-entry blockquote{
	background: url('../images/icon-blockquote.svg');
    border: 1px solid var(--divider-color);
	background-repeat: no-repeat;
	background-position: 30px 35px;
    background-size: 50px;
    padding: 30px 30px 30px 100px;
    margin-bottom: 30px;
}

.post-entry blockquote p{
    font-family: var(--accent-font);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.5em;
	color: var(--primary-color);
}

.post-entry blockquote p:last-child{
	margin-bottom: 0;
}

.tag-links{
    font-family: var(--accent-font);
    font-size: 22px;
	font-weight: 600;
    text-transform: capitalize;
	color: var(--primary-color);
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px;
}

.post-tags .tag-links a{
    display: inline-block;
    font-family: var(--default-font);
    font-size: 18px;
    font-weight: 500;
    text-transform: capitalize;
    line-height: 1.1em;
	background: linear-gradient(100deg, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
    background-size: 200% auto;
    color: var(--primary-color);
    padding: 10px 20px;
	transition: all 0.3s ease-in-out;
}

.post-tags .tag-links a:hover{
    background-position: right center;
}

.post-social-sharing{
    text-align: right;
}

.post-social-sharing ul{
    list-style: none;
    padding: 0;
    margin: 0;
}

.post-social-sharing ul li{
    display: inline-block;
    margin-right: 10px;
}

.post-social-sharing ul li:last-child{
	margin-right: 0;
}

.post-social-sharing ul li a{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
	background: linear-gradient(100deg, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
    background-size: 200% auto;
    color: var(--primary-color);
    width: 40px;
    height: 40px;
    transition: all 0.3s ease-in-out;
}

.post-social-sharing ul li:hover a{
	background-position: right center;
}

.post-social-sharing ul li a i{
    font-size: 18px;
    color: inherit;
}

/************************************/
/***      19. Albums Page css     ***/
/************************************/

.page-albums{
    padding: 100px 0 70px;
}

/************************************/
/***      20. Album Single css    ***/
/************************************/

.page-album-single{
    padding: 100px 0;
}

.album-detail-box{
	border: 1px solid var(--divider-color);
	padding: 40px;
	margin-bottom: 40px;
}

.album-detail-item{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
    border-bottom: 1px solid var(--divider-color);
	margin-bottom: 20px;
    padding-bottom: 20px;
}

.album-detail-item:last-child{
    border-bottom: none;
    padding-bottom: 0;
	margin-bottom: 0;
}

.album-detail-item .icon-box{
    margin-right: 20px;
}

.album-detail-item .icon-box img{
    max-width: 40px;
}

.album-detail-item-content{
	width: calc(100% - 60px);
}

.album-detail-item-content h3{
	font-size: 22px;
	text-transform: capitalize;
	margin-bottom: 5px;
}

.album-detail-item-content p{
	margin-bottom: 0;
}

.album-featured-image{
	position: relative;
    margin-bottom: 40px;
}

.album-featured-image figure{
    display: block;
}

.album-featured-image img{
    width: 100%;
    aspect-ratio: 1 / 0.598;
    object-fit: cover;
}

.album-featured-image .video-play-button{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.album-entry p{
    margin-bottom: 20px;
}

.album-entry p:last-child{
    margin-bottom: 0;
}

.album-entry h2{
    font-size: 44px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: -0.02em;
	margin-bottom: 20px;
}

.album-entry h2 span{
	background: linear-gradient(94.07deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
	background-clip: text;
    -webkit-text-fill-color: transparent;
}

.album-entry ul{
	list-style: none;
	padding: 0;
    margin: 0;
}

.album-entry ul li{
	position: relative;
	line-height: 1.5em;
    color: var(--text-color);
	padding-left: 30px;
    margin-bottom: 20px;
}

.album-entry ul li:last-child{
    margin-bottom: 0;
}

.album-entry ul li::before{
    content: '\f058';
    font-family: 'Font Awesome 6 Free';
    position: absolute;
    top: 1px;
    left: 0;
    font-size: 18px;
    font-weight: 400;
    background: linear-gradient(94.07deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.album-featured-artist-box{
    margin-top: 60px;
}

.album-artist-list-image{
    display: flex;
    flex-wrap: wrap;
    gap: 20px 30px;
    align-items: center;
    margin-top: 40px;
}

.album-artist-list,
.album-artist-image{
    width: calc(50% - 15px);
}

.album-artist-image figure{
    display: block;
}

.album-artist-image img{
    width: 100%;
    aspect-ratio: 1 / 0.68;
    object-fit: cover;
}

/************************************/
/***       21. Team Page css      ***/
/************************************/

.page-team{
    padding: 100px 0 60px;
}

/************************************/
/***      22. Team Single css     ***/
/************************************/

.page-team-single{
    padding: 100px 0;
}

.team-sidebar-image{
	margin-bottom: 40px;
}

.team-sidebar-image figure{
	display: block;
}

.team-sidebar-image img{
	width: 100%;
    aspect-ratio: 1 / 1.3;
	object-fit: cover;
}

.team-single-entry{
    margin-bottom: 60px;
}

.member-social-links{
	margin-bottom: 30px;
}

.member-social-links ul{
	list-style: none;
	padding: 0;
	margin: 0;
}

.member-social-links ul li{
	display: inline-block;
	margin-right: 15px;
	transition: all 0.3s ease-in-out;
}

.member-social-links ul li:last-child{
	margin-right: 0;
}

.member-social-links ul li a{
    background-color: var(--primary-color);
    color: var(--accent-color);
	border-radius: 50%;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
    overflow: hidden;
	transition: all 0.3s ease-in-out;
}

.member-social-links ul li a:hover{
    color: var(--primary-color);
    background-color: var(--accent-color);
}

.member-social-links ul li a i{
	font-size: 20px;
}

.member-content-body{
    margin-bottom: 30px;
}

.member-content-body p{
    margin-bottom: 0;
}

.member-info-list ul{
    list-style: none;
    margin: 0;
    padding: 0;
}

.member-info-list ul li{
    font-family: var(--accent-font);
    display: flex;
    justify-content: space-between;
    font-size: 22px;
    color: var(--primary-color);
    text-transform: capitalize;
    font-weight: 500;
    line-height: 1.5em;
    margin-bottom: 20px;
}

.member-info-list ul li:last-child{
	margin-bottom: 0;
}

.member-info-list ul li span{
    font-family: var(--default-font);
	width: 75%;
	font-size: 18px;
	font-weight: 400;
    text-transform: capitalize;
    color: var(--text-color);
	display: flex;
	align-items: center;
}

/************************************/
/***     23. Image Gallery css    ***/
/************************************/

.page-gallery{
    padding: 100px 0 70px;
}

/************************************/
/***     24. Video Gallery css    ***/
/************************************/

.page-video-gallery{
	padding: 100px 0 70px;
}

.video-gallery-image{
	height: calc(100% - 30px);
	margin-bottom: 30px;
	overflow: hidden;
}

.video-gallery-image a{
	position: relative;
	display: block;
	cursor: none;
}

.video-gallery-image a::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(94.07deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
    opacity: 0%;
    visibility: hidden;
    width: 100%;
    height: 100%;
    z-index: 1;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
}

.video-gallery-image:hover a::before{
    opacity: 50%;
    visibility: visible;
    transform: scale(1);
}

.video-gallery-image a::after{
    content: '\f04b';
	font-family: 'FontAwesome';
    position: absolute;
    top: 50%;
    left: 50%;
    right: 0;
    transform: translate(-50%, -50%);
	font-size: 20px;
	background: var(--primary-color);
	color: var(--accent-color);
    border-radius: 50%;
    height: 60px;
    width: 60px;
    cursor: none;
	display: flex;
	align-items: center;
	justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s ease-in-out;
    z-index: 1;
}

.video-gallery-image:hover a::after{
    opacity: 1;
    visibility: visible;
}

.video-gallery-image img{
	aspect-ratio: 1 / 0.843;
	object-fit: cover;
}

/************************************/
/***      25. FAQs Page css       ***/
/************************************/

.page-faqs{
    padding: 100px 0;
}

.page-faqs-catagery .page-faq-accordion{
	margin-bottom: 60px;
}

.page-faqs-catagery .page-faq-accordion:last-child{
	margin-bottom: 0px;
}

/************************************/
/***    26. Contact Us Page css   ***/
/************************************/

.page-contact-us{
    padding: 100px 0;
}

.contact-info-list{
    margin-right: 60px;
}

.contact-info-item{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--divider-color);
    margin-bottom: 40px;
    padding-bottom: 40px;
}

.contact-info-item:last-child{
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.contact-info-item .icon-box{
    margin-right: 20px;
}

.contact-info-item .icon-box img{
    width: 100%;
    max-width: 40px;
}

.contact-info-content{
    width: calc(100% - 60px);
}

.contact-info-content p{
    text-transform: capitalize;
    margin-bottom: 5px;
}

.contact-info-content h3{
    font-size: 18px;
    font-weight: 500;
}

.contact-info-content h3 a{
    color: inherit;
    transition: all 0.3s ease-in-out;
}

.contact-info-content h3 a:hover{
    color: var(--accent-color);
}

.contact-us-form .form-control{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5em;
	color: var(--text-color);
	background: transparent;
	border: 1px solid var(--divider-color);
	border-radius: 0;
	padding: 20px;
	box-shadow: none;
	outline: none;
}

.contact-us-form .form-control::placeholder{
	color: var(--text-color);
}

.google-map .container-fluid{
	padding: 0;
}

.google-map-iframe,
.google-map-iframe iframe{
    height: 450px;
    width: 100%;
}

.google-map-iframe iframe{
    filter: grayscale(1);
    transition: all 0.4s ease-in-out;
}

.google-map-iframe iframe:hover{
    filter: grayscale(0);
}

/************************************/
/***    27. 404 Error Page css    ***/
/************************************/

.error-page{
	padding: 100px 0;
}

.error-page-image{
	text-align: center;
	margin-bottom: 30px;
}

.error-page-image img{
	width: 100%;
	max-width: 45%;
}

.error-page-content{
	width: 100%;
	max-width: 680px;
	margin: 0 auto; 
	text-align: center;
}

.error-page-content-body p,
.error-page-content .section-title{
	margin-bottom: 20px;
}

/************************************/
/***      28. Responsive css      ***/
/************************************/

@media only screen and (max-width: 991px){

	.btn-default{
		font-size: 16px;
		padding: 14px 20px;
	}

	.btn-default::before{
		width: 44px;
	}

	.readmore-btn{
		font-size: 16px;
	}

	.navbar{
		padding: 15px 0;
	}

	.main-menu ul li.highlighted-menu{
		display: block;
	}
	
	.slicknav_nav li,
	.slicknav_nav ul{
        display: block;
    }

	.responsive-menu,
    .navbar-toggle{
        display: block;
    }

	.header-btn{
		display: none;
	}

	.section-row{
		margin-bottom: 40px;
	}

	.section-content-btn .section-btn,
	.section-title-content-btn .section-btn{
		margin-top: 15px;
	}

	.section-title{
		margin-bottom: 30px;
	}

	.section-title h1{
		font-size: 55px;
	}

	.section-title h2{
		font-size: 34px;
	}

	.section-title h1 span{
		font-size: 90px;
	}

	.section-title p{
		margin-top: 15px;
	}

	.section-title-content{
		margin-left: 0;
		margin-top: 15px;
	}

	.section-title-content p{
		margin-bottom: 10px;
	}

	.section-btn{
		text-align: left;
		margin-top: 15px;
	}

	.hero{
		padding: 170px 0 120px;
		min-height: auto;
	}

	.hero.hero-slider-layout .hero-slide{
		padding: 170px 0 120px;
		min-height: auto;
	}
	
	.hero.hero-slider-layout .hero-pagination{
		bottom: 85px;
	}

	.hero-content .section-title h3{
		font-size: 30px;
		margin-bottom: 20px;
	}

	.hero-content .section-title p{
		max-width: 100%;
		margin-top: 15px;
	}

	.down-arrow{
		bottom: 20px;
	}

	.down-arrow a{
		width: 25px;
		height: 40px;
	}

	.down-arrow a i{
		font-size: 16px;
	}

	.about-us{
		background-size: 80% auto;
		padding: 50px 0;
	}

	.about-counter-box{
		gap: 20px 30px;
		margin-top: 30px;
	}

	.about-counter-item{
		width: calc(50% - 15px);
	}

	.about-counter-item h2{
		width: 65px;
		font-size: 45px;
		margin-right: 10px;
	}

	.about-counter-item h3{
		width: calc(100% - 75px);
		font-size: 20px;
	}

	.our-team{
		padding: 50px 0;
	}

	.team-image{
		margin-bottom: 15px;
	}

	.team-image img{
		width: 100%;
		aspect-ratio: 1 / 1.1;
	}

	.team-content h3{
		font-size: 20px;
	}

	.section-footer-btn{
		margin-top: 10px;
	}

	.our-album{
		padding: 50px 0;
	}

	.album-image{
		margin-bottom: 15px;
	}

	.album-image figure img{
		aspect-ratio: 1 / 0.7;
	}

	.album-item-content h3{
		font-size: 20px;
	}

	.section-footer-text{
		margin-top: 10px;
	}

	.section-footer-text p{
		font-size: 20px;
	}

	.intro-video{
		padding: 50px 0;
	}

	.intro-video-box{
		padding: 150px 0;
	}

	.intro-bg-image{
		max-width: 100%;
		padding: 0 50px;
	}

	.intro-video-box::before{
		height: 190px;
	}

	.video-play-button a{
		width: 80px;
		height: 80px;
	}

	.video-play-button a i{
		font-size: 24px;
	}

	.our-gallery{
		padding: 50px 0 20px;
	}

	.our-testimonial{
		padding: 50px 0;
	}

	.testimonial-content,
	.testimonial-quote{
		margin-bottom: 30px;
	}

	.testimonial-content p{
		font-size: 20px;
	}

	.author-image{
		margin-bottom: 10px;
	}

	.author-content h3{
		font-size: 20px
	}

	.testimonial-pagination{
		margin-top: 30px;
	}

	.our-blog{
		padding: 50px 0;
	}

	.post-item-body{
		left: 20px;
		right: 20px;
		bottom: 20px;
	}

	.post-meta ul li{
		padding-right: 10px;
		margin-right: 10px;
	}

	.post-item.highlighted-post{
		margin-bottom: 30px;
	}

	.post-item.highlighted-post .post-featured-image img{
		aspect-ratio: 1 / 0.5;
	}

	.latest-post-box .post-item{
		width: calc(50% - 15px);
	}

	.latest-post-box .post-featured-image img{
		aspect-ratio: 1 / 0.8;
	}

	.post-item-content h3{
		font-size: 20px;
	}

	.cta-box{
		padding: 50px 0;
	}

	.footer-main{
		padding: 40px 0 0;
	}

	.footer-copyright{
		margin-top: 30px;
		padding: 20px 0;
	}

	.page-header{
        padding: 170px 0 80px;
    }

    .page-header-box h1{
        font-size: 55px;
        margin-bottom: 5px;
    }

	.our-approach{
        padding: 50px 0;
    }

    .our-approach .section-title.section-title-center{
        width: 100%;
    }
    
    .our-approach-nav{
        margin-bottom: 40px;
    }

    .our-approach-nav ul li .nav-link{
        padding: 14px 20px;
    }

    .approach-tab-content{
        margin-bottom: 30px;
    }

    .approach-tab-list ul li{
        padding-left: 25px;
        margin-bottom: 10px;
    }

    .approach-tab-list ul li::before{
        font-size: 16px;
    }

    .approach-image img{
        aspect-ratio: 1 / 0.65;
    }

	.our-collection{
		padding: 50px 0;
	}

	.our-collection-image{
        margin: 0 0 30px 0;
    }

    .our-collection-image img{
        aspect-ratio: 1 / 0.58;
    }

    .collection-item{
        padding: 20px;
    }

    .collection-item .icon-box{
        margin-bottom: 20px;
    }

    .collection-item-content h3{
        font-size: 20px;
    }

    .collection-button{
        margin-top: 30px;
    }

	.our-faqs{
        padding: 50px 0;
    }

    .our-faqs-content{
        position: initial;
        margin: 0 0 30px 0;
    }

    .faq-accordion .accordion-header .accordion-button{
        font-size: 20px;
    }

    .faq-accordion .accordion-item{
        margin-bottom: 20px;
        padding-bottom: 20px;
    }

	.page-services{
        padding: 50px 0 20px;
    }

    .service-item{
        padding: 30px;
    }

    .service-item .icon-box,
    .service-item-content{
        margin-bottom: 20px;
    }
    
    .service-item .icon-box img{
        max-width: 60px;
    }

    .service-item-content h3{
        font-size: 20px;
        margin-bottom: 10px;
    }

	.page-service-single{
        padding: 50px 0;
    }

    .page-single-sidebar{
        position: initial;
        margin: 0 0 30px 0;
    }

    .page-single-category-list h3{
        font-size: 20px;
        padding: 20px;
    }

    .page-single-category-list ul{
        padding: 20px;
    }

    .page-single-category-list ul li{
        padding-bottom: 15px;
        margin-bottom: 15px;
    }

    .page-single-category-list ul li a::before{
        width: 16px;
        height: 12px;
    }

    .sidebar-cta-box{
        padding: 30px;
    }

    .sidebar-cta-box .icon-box,
    .sidebar-cta-box .cta-content{
        margin-bottom: 20px;
    }

    .sidebar-cta-box .icon-box img{
        max-width: 54px;
    }

    .sidebar-cta-box .cta-content h3{
        font-size: 34px;
        margin-bottom: 10px;
    }

    .service-entry{
        margin-bottom: 40px;
    }

    .service-entry p{
        margin-bottom: 15px;
    }

    .service-entry h2{
        font-size: 34px;
        margin-bottom: 15px;
    }

    .service-entry ul li{
        padding-left: 25px;
        margin-bottom: 10px;
    }

    .service-entry ul li::before{
        font-size: 16px;
    }

    .service-benefit-box,
    .service-work-box{
        margin-top: 40px;
    }
    
    .service-entry-image img{
        aspect-ratio: 1 / 0.57;
    }

    .service-work-no{
        width: 60px;
        height: 60px;
        margin-right: 20px;
    }

    .service-work-no h2{
        font-size: 32px;
        margin-bottom: 0;
    }

    .service-work-content{
        width: calc(100% - 80px);
    }

    .service-work-content h3{
        font-size: 20px;
        margin-bottom: 5px;
    }

	.page-blog{
        padding: 50px 0;
    }

	.page-blog .post-item{
		height: calc(100% - 30px);
		margin-bottom: 30px;
	}

	.page-blog .post-featured-image{
		margin-bottom: 15px;
	}

    .page-pagination{
        margin-top: 10px;
    }

	.page-single-post{
        padding: 50px 0;
    }
    
    .post-image{
        margin-bottom: 20px;
    }
    
    .post-entry h1,
    .post-entry h2,
    .post-entry h3,
    .post-entry h4,
    .post-entry h5,
    .post-entry h6{
        margin: 0 0 0.45em;
    }
    
    .post-entry h2{
        font-size: 34px;
    }
    
    .post-entry p{
        margin-bottom: 15px;
    }
    
    .post-entry ol li,
    .post-entry ul li{
        font-size: 16px;
        margin-bottom: 10px;
    }
    
    .post-entry blockquote{
        background-position: 20px 20px;
        background-size: 40px;
        padding: 20px 20px 20px 80px;
        margin-bottom: 20px;
    }
    
    .post-entry blockquote p{
        font-size: 18px;
    }
    
    .post-tags{
        margin-bottom: 20px;
    }

    .tag-links{
        font-size: 20px;
    }
    
    .post-tags .tag-links a{
        padding: 8px 15px;
    }
    
    .post-social-sharing ul{
        text-align: left;
    }

	.page-albums{
        padding: 50px 0 20px;
    }

	.page-album-single{
        padding: 50px 0;
    }

    .album-detail-box{
        padding: 30px;
        margin-bottom: 30px;
    }

    .album-detail-item{
        margin-bottom: 15px;
        padding-bottom: 15px;
    }

    .album-detail-item-content h3{
        font-size: 20px;
    }

    .album-featured-image{
        margin-bottom: 30px;
    }

    .album-featured-image img{
        aspect-ratio: 1 / 0.5;
    }

    .album-entry p{
        margin-bottom: 15px;
    }

    .album-entry h2{
        font-size: 34px;
        margin-bottom: 15px;
    }

    .album-entry ul li{
        padding-left: 25px;
        margin-bottom: 10px;
    }

    .album-entry ul li::before{
        font-size: 16px;
    }
    
    .album-featured-artist-box{
        margin-top: 40px;
    }

    .album-artist-list-image{
        margin-top: 30px;
    }

	.page-team{
        padding: 50px 0 20px;
    }

	.team-item{
		height: calc(100% - 30px);
		margin-bottom: 30px;
	}

	.page-team-single{
        padding: 50px 0;
    }

    .team-sidebar-image{
        margin-bottom: 30px;
    }

    .team-sidebar-image img{
        aspect-ratio: 1 / 0.82;
		object-position: top center;
    }

    .team-single-entry{
        margin-bottom: 40px;
    }

    .member-social-links,
    .member-content-body{
        margin-bottom: 20px;
    }

    .member-info-list ul li{
        font-size: 20px;
        margin-bottom: 15px;
    }

	.page-gallery{
        padding: 50px 0 20px;
    }

	.page-video-gallery{
		padding: 50px 0 20px;
	}

	.page-faqs{
        padding: 50px 0;
    }
    
    .page-faqs-catagery .page-faq-accordion{
        margin-bottom: 40px;
    }

	.page-contact-us{
        padding: 50px 0;
    }

    .contact-info-list{
        margin: 0 0 40px 0;
    }

    .contact-info-item{
        margin-bottom: 20px;
        padding-bottom: 20px;
    }

    .contact-us-form .form-control{
        padding: 13px 15px;
    }

	.error-page{
		padding: 50px 0;
	}

	.error-page-image{
		margin-bottom: 20px;
	}

	.error-page-image img{
		max-width: 80%;
	}

	.error-page-content{
		max-width: 100%;
	}

    .error-page-content-body p,
    .error-page-content .section-title{
        margin-bottom: 15px;
    }
}

@media only screen and (max-width: 767px){

	body{
		font-size: 16px;
	}

	.readmore-btn{
        font-size: 16px;
    }

	.section-row{
		margin-bottom: 30px;
	}

	.section-title h1{
		font-size: 28px;
	}

	.section-title h1 span{
		font-size: 40px;
	}

	.section-title h2{
		font-size: 24px;
	}

	.hero-content .section-title h3{
        font-size: 22px;
        margin-bottom: 15px;
    }

	@keyframes jumpInfinite{
		0%{
			margin-bottom: 0;
		}
		50%{
			margin-bottom: 15px;
		}
		100%{
			margin-bottom: 0;
		}
	}

	.about-us-image img{
		aspect-ratio: 1 / 0.6;
	}

	.about-counter-box{
        gap: 20px 20px;
    }

	.about-counter-item{
        display: block;
		width: calc(50% - 10px);
    }

	.about-counter-item h2{
        width: 100%;
        font-size: 30px;
        margin-right: 0px;
		margin-bottom: 5px;
    }

	.about-counter-item h3{
        width: 100%;
        font-size: 18px;
    }

	.album-item-content h3{
		font-size: 18px;
	}

	.section-footer-text p{
		font-size: 18px;
	}

	.intro-video-box{
        padding: 100px 0;
    }

	.intro-bg-image{
        padding: 0 30px;
    }

	.intro-video-box::before{
        height: 90px;
    }

	.video-play-button a{
        width: 65px;
        height: 65px;
    }

	.video-play-button a i{
        font-size: 20px;
    }

	.testimonial-content,
	.testimonial-quote{
        margin-bottom: 20px;
    }

	.testimonial-content p{
        font-size: 16px;
    }

	.author-content h3{
        font-size: 18px;
    }
	
	.post-item-body{
		left: 15px;
		right: 15px;
		bottom: 15px;
	}

	.post-item.highlighted-post .post-featured-image img,
	.latest-post-box .post-featured-image img{
		aspect-ratio: 1 / 0.8;
	}

	.latest-post-box .post-item{
		width: 100%;
	}

	.post-item-content{
		margin-bottom: 10px;
	}

	.post-item-content h3{
		font-size: 18px;
	}

	.footer-links{
		margin-bottom: 30px;
	}

	.footer-links h3{
		font-size: 18px;
		margin-bottom: 15px;
	}

	.footer-links ul li,
	.footer-links.footer-contact-box ul li{
		margin-bottom: 10px;
	}

	.footer-links.footer-contact-box ul li:last-child{
		margin-bottom: 0;
	}

	.footer-links p{
		margin-bottom: 15px;
	}

	.footer-copyright{
        flex-direction: column;
        margin-top: 0;
        padding: 15px 0;
    }

	.footer-social-links ul li a{
		width: 34px;
		height: 34px;
	}

	.footer-social-links ul li a i{
		font-size: 16px;
	}

	.page-header-box h1{
        font-size: 28px;
    }

	.page-header-box ol li.breadcrumb-item{
		font-size: 16px;
	}

	.our-approach-nav .nav-tabs{
        gap: 15px;
    }

	.our-approach-nav ul li .nav-link{
        padding: 12px 14px;
    }

	.collection-content,
	.our-collection-image{
        margin: 0 0 20px 0;
    }

	.our-collection-image img{
        aspect-ratio: 1 / 0.65;
    }

    .collection-item{
        width: 100%;
    }

    .collection-item-content h3{
        font-size: 18px;
        margin-bottom: 5px;
    }

	.faq-accordion .accordion-item{
        margin-bottom: 15px;
        padding-bottom: 15px;
    }

	.faq-accordion .accordion-header .accordion-button{
        font-size: 18px;
    }

    .faq-accordion .accordion-item .accordion-body{
        padding-right: 0;
    }

	.service-item{
        padding: 20px;
    }

    .service-item .icon-box img{
        max-width: 40px;
    }

    .service-item-content h3{
        font-size: 18px;
        margin-bottom: 5px;
    }

	.page-single-category-list h3{
        font-size: 18px;
    }

    .sidebar-cta-box{
        padding: 30px 20px;
    }

    .sidebar-cta-box .icon-box img{
        max-width: 44px;
    }

    .sidebar-cta-box .cta-content h3{
        font-size: 24px;
        margin-bottom: 5px;
    }

    .service-featured-image img{
        aspect-ratio: 1 / 0.65;
    }

    .service-entry h2{
        font-size: 24px;
    }

    .service-entry-list,
    .service-entry-image{
        width: 100%;
    }

    .service-work-no{
        width: 45px;
        height: 45px;
		margin-right: 10px;
    }

    .service-work-content{
        width: calc(100% - 55px);
    }

    .service-work-content h3{
        font-size: 18px;
    }

	.post-single-meta ol li{
        font-size: 16px;
    }
    
    .post-single-meta ol li i{
        font-size: 16px;
    }
    
    .post-image img{
        aspect-ratio: 1 / 0.7;
    }
    
    .post-entry blockquote{
        background-position: 15px 15px;
        padding: 60px 15px 15px 15px;
    }
    
    .post-entry blockquote p{
        font-size: 16px;
    }
    
    .post-entry h2{
        font-size: 24px;
    }

	.post-tags .tag-links a{
        font-size: 16px;
    }
    
    .tag-links{
        font-size: 18px;
    }

	.album-detail-box{
        padding: 20px;
    }

    .album-detail-item .icon-box{
        margin-right: 15px;
    }

    .album-detail-item .icon-box img{
        max-width: 35px;
    }

    .album-detail-item-content{
        width: calc(100% - 50px);
    }

    .album-detail-item-content h3{
        font-size: 18px;
    }

    .album-featured-image{
        margin-bottom: 20px;
    }

    .album-featured-image img{
        aspect-ratio: 1 / 0.64;
    }

    .album-entry h2{
        font-size: 24px;
    }

    .album-artist-list,
    .album-artist-image{
        width: 100%
    }

	.team-sidebar-image img{
        aspect-ratio: 1 / 1.3;
        object-position: center center;
    }

    .member-info-list ul li{
        font-size: 18px;
    }

    .member-info-list ul li span{
        width: 66%;
        font-size: 16px;
    }

	.contact-info-list{
        margin: 0 0 30px 0;
    }

    .google-map-iframe,
    .google-map-iframe iframe{
        height: 350px;
    }
}

/************************************/
/***   Playlist Section           ***/
/************************************/

.playlist-section {
    padding: 100px 0 80px;
    font-family: var(--default-font);
}

.playlist-main-title {
    font-family: var(--accent-font);
    font-size: clamp(2.4rem, 6vw, 5rem);
    font-weight: 800;
    letter-spacing: 0.04em;
    color: var(--primary-color);
    text-transform: uppercase;
    margin-bottom: 48px;
    line-height: 1.1;
}

/* Filter Tabs */
.playlist-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin-bottom: 52px;
}

.playlist-tab {
    font-family: var(--default-font);
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: var(--text-color);
    background: transparent;
    border: 1px solid var(--divider-color);
    border-radius: 50px;
    padding: 10px 26px;
    cursor: pointer;
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.playlist-tab:hover {
    color: var(--primary-color);
    border-color: var(--accent-color);
}

.playlist-tab.active {
    background: linear-gradient(135deg, var(--accent-color), var(--accent-secondary-color));
    color: #ffffff;
    border-color: transparent;
    box-shadow: 0 0 18px rgba(196, 32, 145, 0.45);
}

/* Track Grid */
.playlist-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

/* Track Card */
.track-card {
    display: flex;
    align-items: center;
    gap: 16px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 14px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
}

.track-card:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(196, 32, 145, 0.4);
    transform: translateY(-3px);
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.4), 0 0 20px rgba(196, 32, 145, 0.12);
}

/* Track Artwork */
.track-artwork {
    position: relative;
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    border-radius: 10px;
    overflow: hidden;
}

.track-artwork img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.track-card:hover .track-artwork img {
    transform: scale(1.06);
}

/* Play button overlay */
.track-play-btn {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.45);
    border: none;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.25s ease;
    color: #ffffff;
}

.track-play-btn svg {
    width: 28px;
    height: 28px;
    filter: drop-shadow(0 0 6px rgba(196, 32, 145, 0.8));
}

.track-card:hover .track-play-btn {
    opacity: 1;
}

/* Track Info */
.track-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.track-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.track-title {
    font-family: var(--accent-font);
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--primary-color);
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
}

.track-artist {
    font-family: var(--default-font);
    font-size: 0.8rem;
    font-weight: 400;
    color: var(--text-color);
}

/* Controls row */
.track-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.track-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

.track-action-btn {
    background: transparent;
    border: none;
    color: var(--text-color);
    cursor: pointer;
    padding: 4px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease, transform 0.2s ease;
}

.track-action-btn svg {
    width: 16px;
    height: 16px;
}

.track-action-btn:hover {
    color: var(--accent-color);
    transform: scale(1.15);
}

.like-btn.liked {
    color: var(--accent-color);
}

.track-duration {
    font-family: var(--default-font);
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--text-color);
    white-space: nowrap;
}

/* Hidden cards during filter */
.track-card.hidden {
    display: none;
}

/* Responsive */
@media (max-width: 991px) {
    .playlist-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) {
    .playlist-section {
        padding: 60px 0 50px;
    }

    .playlist-grid {
        grid-template-columns: 1fr;
    }

    .playlist-tabs {
        gap: 8px;
    }

    .playlist-tab {
        font-size: 0.85rem;
        padding: 8px 18px;
    }
}


/* Playlist bg shape + content layer */
.playlist-bg-shape {
    position: absolute;
    left: 50%;
    top: 25%;
    transform: translateX(-50%);
    z-index: 0;
    width: 200%;
    height: 340px;
    background: url('../images/intro-video-bg-shape.png');
    background-repeat: repeat-x;
    background-position: left center;
    background-size: auto 100%;
    animation: videowavemove 40s infinite linear;
    opacity: 0.35;
    pointer-events: none;
}

.playlist-content-wrap {
    position: relative;
    z-index: 1;
}

/************************************/
/***   Upcoming Gigs Section      ***/
/************************************/

.gigs-section {
    padding: 90px 0 80px;
    font-family: var(--default-font);
    position: relative;
    overflow: hidden;
    /* Replace path below with your artist photo once added to images/ */
    background-image:
        linear-gradient(
            to right,
            rgba(10, 2, 20, 0.97)   0%,
            rgba(10, 2, 20, 0.90)  45%,
            rgba(10, 2, 20, 0.55)  70%,
            rgba(10, 2, 20, 0.15) 100%
        ),
        url('../images/album-artist-image.jpg');
    background-size: cover;
    background-position: right center;
    background-repeat: no-repeat;
    background-attachment: scroll;
}

/* Heading with left neon border */
.gigs-heading {
    margin-bottom: 48px;
    padding-left: 20px;
    border-left: 4px solid var(--accent-color);
    position: relative;
}

.gigs-heading::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, var(--accent-color), var(--accent-secondary-color));
    border-radius: 4px;
    box-shadow: 0 0 16px rgba(196, 32, 145, 0.6);
}

.gigs-title {
    font-family: var(--accent-font);
    font-size: clamp(1.6rem, 3.5vw, 2.6rem);
    font-weight: 800;
    letter-spacing: 0.08em;
    color: var(--primary-color);
    text-transform: uppercase;
    margin: 0;
    line-height: 1;
}

/* Events list */
.gigs-list {
    display: flex;
    flex-direction: column;
}

/* Single event row */
.gig-row {
    display: grid;
    grid-template-columns: 110px 1fr 1fr auto;
    align-items: center;
    gap: 24px;
    padding: 28px 24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.02);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    transition: background 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, backdrop-filter 0.3s ease;
    cursor: default;
}

.gigs-list .gig-row:first-child {
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.gig-row:hover {
    background: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 4px 36px rgba(0, 0, 0, 0.4), inset 0 0 0 1px rgba(196, 32, 145, 0.22);
    transform: translateX(5px);
}

/* International tour row gets a subtle tint */
.gig-row--tour {
    background: rgba(102, 23, 202, 0.04);
}

.gig-row--tour:hover {
    background: rgba(102, 23, 202, 0.09);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 4px 36px rgba(0, 0, 0, 0.4), inset 0 0 0 1px rgba(102, 23, 202, 0.32);
}

/* Date block */
.gig-date {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1;
}

.gig-day {
    font-family: var(--accent-font);
    font-size: 2.8rem;
    font-weight: 800;
    color: var(--primary-color);
    line-height: 1;
    letter-spacing: -0.02em;
}

.gig-month {
    font-family: var(--accent-font);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: var(--accent-color);
    text-transform: uppercase;
    margin-top: 3px;
}

.gig-year {
    font-size: 0.72rem;
    font-weight: 400;
    color: var(--text-color);
    margin-top: 2px;
    letter-spacing: 0.06em;
}

/* Venue block */
.gig-venue {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.gig-name {
    font-family: var(--accent-font);
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--primary-color);
    margin: 0;
    line-height: 1.2;
    transition: color 0.25s ease;
}

.gig-row:hover .gig-name {
    color: #ffffff;
}

.gig-location {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.82rem;
    color: var(--text-color);
}

.gig-pin {
    width: 13px;
    height: 13px;
    color: var(--accent-color);
    flex-shrink: 0;
}

/* Time block */
.gig-time {
    display: flex;
    align-items: center;
    gap: 9px;
    font-family: var(--accent-font);
    font-size: 1rem;
    font-weight: 600;
    color: var(--primary-color);
    white-space: nowrap;
}

.gig-clock {
    width: 17px;
    height: 17px;
    color: var(--accent-color);
    flex-shrink: 0;
}

/* Action button */
.gig-action {
    flex-shrink: 0;
}

.gig-btn {
    display: inline-block;
    font-family: var(--accent-font);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #ffffff;
    background: linear-gradient(135deg, var(--accent-color), var(--accent-secondary-color));
    border: none;
    border-radius: 50px;
    padding: 11px 26px;
    text-decoration: none;
    white-space: nowrap;
    transition: box-shadow 0.3s ease, transform 0.25s ease, opacity 0.25s ease;
    box-shadow: 0 0 0 rgba(196, 32, 145, 0);
}

.gig-btn:hover {
    color: #ffffff;
    box-shadow: 0 0 24px rgba(196, 32, 145, 0.55);
    transform: scale(1.05);
    opacity: 0.95;
}

/* Outline variant for international dates */
.gig-btn--outline {
    background: transparent;
    border: 2px solid var(--accent-secondary-color);
    color: var(--primary-color);
    box-shadow: none;
}

.gig-btn--outline:hover {
    background: linear-gradient(135deg, var(--accent-color), var(--accent-secondary-color));
    border-color: transparent;
    color: #ffffff;
    box-shadow: 0 0 24px rgba(102, 23, 202, 0.55);
}

/* Responsive — tablet */
@media (max-width: 991px) {
    .gig-row {
        grid-template-columns: 90px 1fr auto;
        grid-template-rows: auto auto;
        row-gap: 14px;
    }

    .gig-time {
        grid-column: 2;
        font-size: 0.9rem;
    }

    .gig-action {
        grid-column: 3;
        grid-row: 1 / 3;
        align-self: center;
    }
}

/* Responsive — mobile */
@media (max-width: 575px) {
    .gigs-section {
        padding: 60px 0 50px;
        background-position: 75% center;
        background-image:
            linear-gradient(
                to bottom,
                rgba(10, 2, 20, 0.97)   0%,
                rgba(10, 2, 20, 0.93)  60%,
                rgba(10, 2, 20, 0.88) 100%
            ),
            url('../images/album-artist-image.jpg');
    }

    .gig-row {
        grid-template-columns: 1fr;
        grid-template-rows: unset;
        gap: 14px;
        padding: 24px 16px;
        transform: none !important;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .gig-row:hover {
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
    }

    .gig-date {
        flex-direction: row;
        align-items: baseline;
        gap: 10px;
    }

    .gig-day {
        font-size: 2rem;
    }

    .gig-month {
        margin-top: 0;
        font-size: 0.9rem;
    }

    .gig-year {
        margin-top: 0;
    }

    .gig-action {
        grid-column: unset;
        grid-row: unset;
    }

    .gig-btn {
        width: 100%;
        text-align: center;
    }
}


/************************************/
/***   Sticky Bottom Audio Player ***/
/************************************/

.sticky-player {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 12px 28px;
    background: rgba(10, 2, 20, 0.96);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    font-family: var(--default-font);
    box-shadow: 0 -4px 32px rgba(0, 0, 0, 0.6);
}

/* ── Left: Controls ── */
.sp-controls {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.sp-btn {
    background: transparent;
    border: none;
    color: var(--text-color);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
    border-radius: 50%;
    transition: color 0.2s ease, transform 0.2s ease, background 0.2s ease;
}

.sp-btn svg {
    width: 20px;
    height: 20px;
    display: block;
}

.sp-btn:hover {
    color: var(--primary-color);
    transform: scale(1.12);
}

.sp-btn--active {
    color: var(--accent-color) !important;
}

/* Play/pause is slightly larger */
.sp-play-pause svg {
    width: 38px;
    height: 38px;
}

.sp-play-pause {
    color: var(--primary-color);
    padding: 0;
    margin: 0 4px;
}

.sp-play-pause:hover {
    color: var(--accent-color);
    transform: scale(1.08);
}

/* ── Center: Timeline ── */
.sp-timeline {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.sp-time {
    font-size: 0.78rem;
    font-weight: 500;
    color: var(--text-color);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    min-width: 36px;
}

.sp-duration { text-align: right; }

.sp-progress-wrap {
    flex: 1;
    position: relative;
    height: 4px;
    display: flex;
    align-items: center;
}

.sp-seeker {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 4px;
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    cursor: pointer;
    outline: none;
    margin: 0;
}

/* Track */
.sp-seeker::-webkit-slider-runnable-track {
    height: 4px;
    background: rgba(255, 255, 255, 0.12);
    border-radius: 4px;
}
.sp-seeker::-moz-range-track {
    height: 4px;
    background: rgba(255, 255, 255, 0.12);
    border-radius: 4px;
}

/* Thumb */
.sp-seeker::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: var(--accent-color);
    box-shadow: 0 0 6px rgba(196, 32, 145, 0.7);
    margin-top: -4.5px;
    cursor: pointer;
    transition: transform 0.15s ease;
}
.sp-seeker::-moz-range-thumb {
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: var(--accent-color);
    box-shadow: 0 0 6px rgba(196, 32, 145, 0.7);
    border: none;
    cursor: pointer;
}
.sp-seeker:hover::-webkit-slider-thumb { transform: scale(1.3); }
.sp-seeker:hover::-moz-range-thumb    { transform: scale(1.3); }

/* Neon fill overlay */
.sp-progress-fill {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 4px;
    width: 0%;
    background: linear-gradient(90deg, var(--accent-color), var(--accent-secondary-color));
    border-radius: 4px;
    pointer-events: none;
    z-index: 1;
    transition: width 0.1s linear;
    box-shadow: 0 0 8px rgba(196, 32, 145, 0.5);
}

/* ── Right: Volume + Meta ── */
.sp-track-info {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.sp-volume-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sp-mute svg {
    width: 18px;
    height: 18px;
}

.sp-volume {
    width: 80px;
    height: 4px;
    -webkit-appearance: none;
    appearance: none;
    background: rgba(255, 255, 255, 0.12);
    border-radius: 4px;
    outline: none;
    cursor: pointer;
}
.sp-volume::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--primary-color);
    cursor: pointer;
}
.sp-volume::-moz-range-thumb {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--primary-color);
    border: none;
}

.sp-meta {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sp-cover {
    width: 44px;
    height: 44px;
    border-radius: 6px;
    object-fit: cover;
    border: 1px solid rgba(255, 255, 255, 0.1);
    flex-shrink: 0;
}

.sp-labels {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.sp-track-name {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--primary-color);
    white-space: nowrap;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sp-artist-name {
    font-size: 0.75rem;
    color: var(--text-color);
    white-space: nowrap;
}

/* Push page content above the player bar */
body { padding-bottom: 76px; }

/* ── Responsive ── */
@media (max-width: 991px) {
    .sticky-player {
        gap: 14px;
        padding: 10px 16px;
    }

    .sp-volume-wrap { display: none; }

    .sp-track-name { max-width: 120px; }
}

@media (max-width: 575px) {
    .sticky-player {
        flex-wrap: wrap;
        padding: 10px 12px 8px;
        gap: 8px;
    }

    .sp-controls { order: 1; flex: 1; justify-content: center; }
    .sp-timeline  { order: 2; width: 100%; flex: none; }
    .sp-track-info { order: 3; flex: 1; justify-content: flex-end; }

    .sp-labels { display: none; }

    body { padding-bottom: 110px; }
}


/* ============================================================
   ABOUT SECTION  — index-video.html
   ============================================================ */

.about-section {
    padding: 60px 0 56px;
    background: var(--black-color);
    position: relative;
    overflow: hidden;
}

/* Ambient neon blobs behind the content */
.about-section::before,
.about-section::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    filter: blur(100px);
    pointer-events: none;
    z-index: 0;
}
.about-section::before {
    width: 520px;
    height: 520px;
    background: radial-gradient(circle, rgba(196, 32, 145, 0.12) 0%, transparent 70%);
    top: -120px;
    left: -160px;
}
.about-section::after {
    width: 480px;
    height: 480px;
    background: radial-gradient(circle, rgba(102, 23, 202, 0.14) 0%, transparent 70%);
    bottom: -100px;
    right: -140px;
}

.about-section > .container {
    position: relative;
    z-index: 1;
}

/* ── Section header ─────────────────────────────────────── */
.about-section-header {
    margin-bottom: 40px;
}

.about-tag {
    display: inline-block;
    font-family: 'Jost', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--accent-color);
    background: rgba(196, 32, 145, 0.08);
    border: 1px solid rgba(196, 32, 145, 0.25);
    padding: 5px 14px;
    border-radius: 100px;
    margin-bottom: 20px;
}

.about-main-heading {
    font-family: 'Jost', sans-serif;
    font-size: clamp(2.6rem, 5.5vw, 4.8rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin: 0;
    background: linear-gradient(100deg, #ffffff 0%, #c42091 50%, #6617ca 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ── Two-column split ────────────────────────────────────── */
.about-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 52px;
    align-items: center;
    margin-bottom: 0;
}

/* Left – image */
.about-visual {
    position: relative;
}

.about-image-wrap {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(168, 85, 247, 0.2);
    box-shadow:
        0 0 0 1px rgba(196, 32, 145, 0.08),
        0 0 40px rgba(168, 85, 247, 0.15),
        0 0 80px rgba(196, 32, 145, 0.08);
}

.about-image-wrap img {
    width: 100%;
    display: block;
    object-fit: cover;
    aspect-ratio: 4 / 5;
    filter: brightness(0.88) saturate(1.1);
    transition: transform 0.6s ease, filter 0.6s ease;
}

.about-image-wrap:hover img {
    transform: scale(1.03);
    filter: brightness(0.95) saturate(1.2);
}

/* Neon corner accent */
.about-image-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 20px;
    background: linear-gradient(
        160deg,
        rgba(196, 32, 145, 0.12) 0%,
        transparent 50%,
        rgba(102, 23, 202, 0.1) 100%
    );
    pointer-events: none;
}

/* Circular portrait variant */
.about-image-circle {
    border-radius: 50%;
    width: 300px;
    height: 300px;
    margin: 0 auto;
    border: 2px solid rgba(196, 32, 145, 0.45);
    box-shadow:
        0 0 0 6px rgba(196, 32, 145, 0.08),
        0 0 35px rgba(196, 32, 145, 0.3),
        0 0 70px rgba(102, 23, 202, 0.18);
}

.about-image-circle img {
    aspect-ratio: 1 / 1;
    border-radius: 50%;
}

.about-image-circle::after {
    border-radius: 50%;
    background: linear-gradient(
        135deg,
        rgba(196, 32, 145, 0.1) 0%,
        transparent 55%,
        rgba(102, 23, 202, 0.08) 100%
    );
}

/* Floating stat badge on the image */
.about-stat-badge {
    position: absolute;
    bottom: 24px;
    left: -20px;
    background: rgba(17, 4, 34, 0.85);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(196, 32, 145, 0.3);
    border-radius: 14px;
    padding: 14px 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 0 24px rgba(196, 32, 145, 0.18);
}

.about-stat-badge .stat-number {
    font-family: 'Jost', sans-serif;
    font-size: 1.7rem;
    font-weight: 800;
    line-height: 1;
    background: linear-gradient(94deg, var(--accent-color), var(--accent-secondary-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.about-stat-badge .stat-label {
    font-family: 'Jost', sans-serif;
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
    line-height: 1.3;
}

/* Right – story */
.about-story {
    padding-top: 8px;
}

.about-story-lead {
    font-family: 'Jost', sans-serif;
    font-size: 1.05rem;
    line-height: 1.85;
    color: rgba(197, 197, 199, 0.85);
    margin-bottom: 24px;
}

.about-story-lead + .about-story-lead {
    margin-bottom: 32px;
}

/* Neon keyword highlight */
.about-keyword {
    font-weight: 700;
    background: linear-gradient(94deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Quote pull-out */
.about-pull-quote {
    border-left: 3px solid var(--accent-color);
    padding: 10px 0 10px 22px;
    margin: 32px 0;
}

.about-pull-quote p {
    font-family: 'Didact Gothic', sans-serif;
    font-size: 1.18rem;
    font-style: italic;
    color: rgba(255, 255, 255, 0.75);
    margin: 0;
    line-height: 1.65;
}

/* Tags row */
.about-tags-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.about-genre-tag {
    font-family: 'Jost', sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 6px 14px;
    border-radius: 100px;
    transition: border-color 0.3s, color 0.3s;
}

.about-genre-tag:hover {
    border-color: rgba(196, 32, 145, 0.5);
    color: var(--accent-color);
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 991px) {
    .about-split {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .about-image-circle {
        width: 240px;
        height: 240px;
    }

    .about-stat-badge {
        left: calc(50% - 140px);
    }
}

@media (max-width: 575px) {
    .about-section {
        padding: 48px 0 44px;
    }

    .about-section-header {
        margin-bottom: 32px;
    }

    .about-image-circle {
        width: 200px;
        height: 200px;
    }
}


/* ============================================================
   CONTACT SECTION  — index-video.html
   ============================================================ */

.contact-section {
    position: relative;
    background: var(--black-color);
    overflow: hidden;
    padding: 100px 0 0;
}

/* ── Ambient glow orbs ──────────────────────────────────── */
.contact-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(110px);
    pointer-events: none;
    z-index: 0;
}
.contact-orb--left {
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(196, 32, 145, 0.18) 0%, transparent 65%);
    top: -80px;
    left: -220px;
}
.contact-orb--right {
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(102, 23, 202, 0.2) 0%, transparent 65%);
    bottom: 80px;
    right: -180px;
}
.contact-orb--mid {
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(196, 32, 145, 0.08) 0%, transparent 70%);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* ── Layout grid ────────────────────────────────────────── */
.contact-container {
    position: relative;
    z-index: 1;
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: center;
}

/* ── LEFT column ────────────────────────────────────────── */
.contact-left {
    padding-right: 16px;
}

.contact-eyebrow {
    display: inline-block;
    font-family: 'Jost', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--accent-color);
    background: rgba(196, 32, 145, 0.08);
    border: 1px solid rgba(196, 32, 145, 0.25);
    padding: 5px 14px;
    border-radius: 100px;
    margin-bottom: 28px;
}

.contact-heading {
    font-family: 'Jost', sans-serif;
    font-size: clamp(3.2rem, 6.5vw, 6.2rem);
    font-weight: 900;
    line-height: 0.95;
    letter-spacing: -0.03em;
    color: var(--primary-color);
    margin: 0 0 28px;
}

.contact-heading-accent {
    background: linear-gradient(100deg, #c42091 0%, #6617ca 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: block;
}

.contact-subtext {
    font-family: 'Jost', sans-serif;
    font-size: 1rem;
    line-height: 1.8;
    color: rgba(197, 197, 199, 0.75);
    max-width: 400px;
    margin-bottom: 36px;
}

/* Badges */
.contact-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 40px;
}

.contact-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: 'Jost', sans-serif;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.8);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 8px 16px;
    border-radius: 100px;
    cursor: default;
    transition: background 0.25s, border-color 0.25s, color 0.25s, transform 0.2s;
    user-select: none;
}

.contact-badge:hover {
    background: rgba(196, 32, 145, 0.1);
    border-color: rgba(196, 32, 145, 0.45);
    color: #fff;
    transform: translateY(-2px);
}

.contact-badge-icon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    color: var(--accent-color);
}

/* Social icons */
.contact-social {
    display: flex;
    gap: 12px;
}

.contact-social-link {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.9rem;
    text-decoration: none;
    transition: border-color 0.25s, color 0.25s, background 0.25s, transform 0.2s;
}

.contact-social-link:hover {
    border-color: var(--accent-color);
    color: var(--accent-color);
    background: rgba(196, 32, 145, 0.08);
    transform: translateY(-2px);
}

/* ── RIGHT column – glassmorphism card ──────────────────── */
.contact-right {
    position: relative;
}

.contact-card {
    background: rgba(255, 255, 255, 0.025);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 24px;
    overflow: hidden;
    box-shadow:
        0 0 0 1px rgba(196, 32, 145, 0.05),
        0 24px 60px rgba(0, 0, 0, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

/* Mac-style header bar */
.contact-card-header {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 14px 22px;
    background: rgba(255, 255, 255, 0.03);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.contact-card-dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
}

.contact-card-dot:first-child  { background: rgba(196, 32, 145, 0.6); }
.contact-card-dot:nth-child(2) { background: rgba(168, 85, 247, 0.45); }
.contact-card-dot:nth-child(3) { background: rgba(102, 23, 202, 0.45); }

.contact-card-label {
    font-family: 'Jost', sans-serif;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.3);
    margin-left: auto;
}

/* Form body */
.contact-form {
    padding: 32px 32px 36px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Field */
.cf-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.cf-label {
    font-family: 'Jost', sans-serif;
    font-size: 0.74rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
}

.cf-required {
    color: var(--accent-color);
    margin-left: 2px;
}

.cf-optional {
    font-weight: 400;
    color: rgba(255, 255, 255, 0.25);
    text-transform: none;
    letter-spacing: 0;
}

/* Input wrap with icon */
.cf-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.cf-icon {
    position: absolute;
    left: 14px;
    width: 16px;
    height: 16px;
    color: rgba(255, 255, 255, 0.25);
    pointer-events: none;
    flex-shrink: 0;
    transition: color 0.25s;
}

.cf-input {
    width: 100%;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 12px 16px 12px 42px;
    font-family: 'Jost', sans-serif;
    font-size: 0.9rem;
    color: var(--primary-color);
    outline: none;
    transition: border-color 0.25s, background 0.25s, box-shadow 0.25s;
    -webkit-appearance: none;
}

.cf-input::placeholder {
    color: rgba(255, 255, 255, 0.2);
}

.cf-input:focus {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(196, 32, 145, 0.5);
    box-shadow: 0 0 0 3px rgba(196, 32, 145, 0.08), 0 0 14px rgba(196, 32, 145, 0.1);
}

.cf-input:focus + .cf-icon,
.cf-input-wrap:focus-within .cf-icon {
    color: var(--accent-color);
}

/* Textarea — no icon padding */
.cf-textarea {
    padding: 12px 16px;
    resize: vertical;
    min-height: 88px;
}

/* Submit button — ghost gradient border → solid on hover */
.cf-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 15px 28px;
    border-radius: 12px;
    font-family: 'Jost', sans-serif;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    cursor: pointer;
    position: relative;
    background: transparent;
    color: var(--primary-color);
    border: none;
    outline: none;
    overflow: hidden;
    transition: color 0.3s;
    margin-top: 4px;
    z-index: 0;
}

/* Gradient border via pseudo-element background clip */
.cf-submit::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 12px;
    padding: 1.5px;
    background: linear-gradient(94deg, var(--accent-color), var(--accent-secondary-color));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    z-index: -1;
    transition: opacity 0.3s;
}

/* Solid fill layer hidden by default */
.cf-submit::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 12px;
    background: linear-gradient(94deg, var(--accent-color), var(--accent-secondary-color));
    opacity: 0;
    transition: opacity 0.3s;
    z-index: -1;
}

.cf-submit:hover::after {
    opacity: 1;
}

.cf-submit:hover::before {
    opacity: 0;
}

.cf-submit-arrow {
    width: 18px;
    height: 18px;
    transition: transform 0.25s;
}

.cf-submit:hover .cf-submit-arrow {
    transform: translateX(4px);
}

/* ── Footer strip ───────────────────────────────────────── */
.contact-footer-strip {
    position: relative;
    z-index: 1;
    margin-top: 80px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding: 24px 0;
}

.contact-footer-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

.contact-footer-logo {
    display: flex;
    align-items: center;
    gap: 10px;
}

.contact-footer-logo img {
    height: 32px;
    width: auto;
    opacity: 0.75;
}

.contact-footer-logo span {
    font-family: 'Jost', sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: rgba(255, 255, 255, 0.5);
}

.contact-footer-copy {
    font-family: 'Jost', sans-serif;
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.3);
    margin: 0;
}

.contact-footer-social {
    display: flex;
    gap: 14px;
}

.contact-footer-social a {
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.35);
    text-decoration: none;
    transition: color 0.25s;
}

.contact-footer-social a:hover {
    color: var(--accent-color);
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 991px) {
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 52px;
    }

    .contact-left {
        padding-right: 0;
        text-align: center;
    }

    .contact-heading {
        font-size: clamp(2.8rem, 8vw, 4.4rem);
    }

    .contact-subtext {
        margin-left: auto;
        margin-right: auto;
    }

    .contact-badges,
    .contact-social {
        justify-content: center;
    }
}

@media (max-width: 575px) {
    .contact-section {
        padding: 72px 0 0;
    }

    .contact-form {
        padding: 24px 20px 28px;
        gap: 16px;
    }

    .contact-heading {
        font-size: clamp(2.4rem, 10vw, 3.2rem);
    }

    .contact-footer-inner {
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }
}


/* ============================================================
   UPDATES SLIDER SECTION  — index-video.html
   ============================================================ */

.updates-section {
    padding: 90px 0 80px;
    background: var(--black-color);
    position: relative;
    overflow: hidden;
}

/* Subtle ambient gradient bleed from the section above */
.updates-section::before {
    content: '';
    position: absolute;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(102, 23, 202, 0.1) 0%, transparent 70%);
    filter: blur(90px);
    top: -60px;
    right: -120px;
    pointer-events: none;
    z-index: 0;
}

.updates-section__container {
    position: relative;
    z-index: 1;
}

/* ── Header row ─────────────────────────────────────────── */
.updates-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 44px;
    gap: 20px;
    flex-wrap: wrap;
}

.updates-eyebrow {
    display: block;
    font-family: 'Jost', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--accent-color);
    margin-bottom: 10px;
}

.updates-heading {
    font-family: 'Jost', sans-serif;
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: var(--primary-color);
    margin: 0;
}

.updates-heading span {
    background: linear-gradient(94deg, var(--accent-color), var(--accent-secondary-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ── Navigation controls ────────────────────────────────── */
.updates-nav {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.updates-nav__btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--primary-color);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.25s, border-color 0.25s, color 0.25s, transform 0.2s;
    outline: none;
}

.updates-nav__btn svg {
    width: 18px;
    height: 18px;
}

.updates-nav__btn:hover:not(:disabled) {
    background: linear-gradient(94deg, var(--accent-color), var(--accent-secondary-color));
    border-color: transparent;
    transform: scale(1.08);
}

.updates-nav__btn--disabled,
.updates-nav__btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
    pointer-events: none;
}

.updates-nav__counter {
    font-family: 'Jost', sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.5);
    min-width: 44px;
    text-align: center;
    letter-spacing: 0.06em;
}

.updates-nav__sep {
    margin: 0 2px;
    opacity: 0.4;
}

/* ── Viewport — clips the track ─────────────────────────── */
.updates-viewport {
    overflow: hidden;
    width: 100%;
}

/* ── Track — horizontal flex row ────────────────────────── */
.updates-track {
    display: flex;
    gap: 20px;                    /* gap-5 = 20px — must match JS GAP constant */
    transition: transform 0.5s ease-out;
    will-change: transform;
    align-items: stretch;
}

/* ── Card — responsive flex basis
   flex: 0 0 <size> means:  grow=0, shrink=0 (flex-shrink-0), basis=<size>
   Gap deduction formula:  (n_gaps × 20px) / n_cards
     mobile  <640px  : 1 card  → flex-basis 100%
     sm      ≥640px  : 2 cards → calc(50% - 10px)      (1 gap / 2)
     md/lg   ≥768px  : 3 cards → calc(33.333% - 13.333px) (2 gaps / 3)
   ────────────────────────────────────────────────────────── */

.update-card {
    flex: 0 0 100%;            /* mobile — 1 card, no shrink */
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 18px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: border-color 0.3s, transform 0.3s, box-shadow 0.3s;
}

.update-card:hover {
    border-color: rgba(196, 32, 145, 0.35);
    transform: translateY(-4px);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.35), 0 0 24px rgba(196, 32, 145, 0.08);
}

/* sm: 2 cards — flex-basis calc(50% - 10px) */
@media (min-width: 640px) {
    .update-card {
        flex: 0 0 calc(50% - 10px);
    }
}

/* md/lg: 3 cards at 768px+ — md:w-[calc(33.333%-14px)] */
@media (min-width: 768px) {
    .update-card {
        flex: 0 0 calc(33.333% - 13.333px);
    }
}

/* ── Card image ─────────────────────────────────────────── */
.update-card__img-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}

.update-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.55s ease, filter 0.55s ease;
    filter: brightness(0.85) saturate(1.05);
}

.update-card:hover .update-card__img {
    transform: scale(1.05);
    filter: brightness(0.95) saturate(1.15);
}

/* Gradient scrim over image bottom */
.update-card__img-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 40%, rgba(17, 4, 34, 0.75) 100%);
    pointer-events: none;
}

/* Tag pill sits in the image corner */
.update-card__tag {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 1;
    font-family: 'Jost', sans-serif;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(94deg, var(--accent-color), var(--accent-secondary-color));
    padding: 4px 11px;
    border-radius: 100px;
}

/* ── Card body ──────────────────────────────────────────── */
.update-card__body {
    padding: 22px 24px 26px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
}

.update-card__meta {
    display: flex;
    align-items: center;
    gap: 12px;
}

.update-card__author {
    font-family: 'Jost', sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--accent-color);
}

.update-card__date {
    font-family: 'Jost', sans-serif;
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.3);
}

.update-card__title {
    font-family: 'Jost', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.45;
    margin: 0;
    flex: 1;
}

.update-card__title a {
    color: var(--primary-color);
    text-decoration: none;
    transition: color 0.25s;
}

.update-card__title a:hover {
    color: var(--accent-color);
}

.update-card__desc {
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.55;
    margin: 6px 0 10px;
    flex: 1;
}

.update-card__read {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'Jost', sans-serif;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
    text-decoration: none;
    transition: color 0.25s, gap 0.25s;
    align-self: flex-start;
    margin-top: auto;
}

.update-card__read svg {
    width: 14px;
    height: 14px;
    transition: transform 0.25s;
}

.update-card__read:hover {
    color: var(--accent-color);
    gap: 10px;
}

.update-card__read:hover svg {
    transform: translateX(3px);
}

/* ── Progress bar ───────────────────────────────────────── */
.updates-progress {
    margin-top: 36px;
    height: 2px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 100px;
    overflow: hidden;
}

.updates-progress__fill {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, var(--accent-color), var(--accent-secondary-color));
    border-radius: 100px;
    transition: width 0.52s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── Responsive adjustments ─────────────────────────────── */
@media (max-width: 639px) {
    .updates-section {
        padding: 64px 0 56px;
    }

    .updates-header {
        margin-bottom: 32px;
    }
}


/* ============================================================
   HERO SECTION — THINLON JAY  (index-video.html)
   ============================================================ */

.hero-tj {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    background-color: #07070a;
    overflow: hidden;
}

/* ── CSS grid-line mask ─────────────────────────────────── */
.hero-tj__grid-mask {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255,255,255,0.028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.028) 1px, transparent 1px);
    background-size: 40px 40px;
    /* fade the grid toward the centre so it doesn't compete with text */
    -webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 50%,
        transparent 30%, rgba(0,0,0,0.6) 70%, black 100%);
    mask-image: radial-gradient(ellipse 80% 80% at 50% 50%,
        transparent 30%, rgba(0,0,0,0.6) 70%, black 100%);
}

/* ── Ambient glows ──────────────────────────────────────── */
.hero-tj__glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(120px);
    pointer-events: none;
    z-index: 0;
}

.hero-tj__glow--purple {
    width: 700px;
    height: 700px;
    background: rgba(168, 85, 247, 0.10);   /* purple-500/10 */
    top: -200px;
    left: -180px;
}

.hero-tj__glow--pink {
    width: 540px;
    height: 540px;
    background: rgba(236, 72, 153, 0.05);   /* pink-500/5 */
    bottom: -120px;
    right: -120px;
}

/* ── Container ──────────────────────────────────────────── */
.hero-tj__container {
    position: relative;
    z-index: 1;
    padding-top: 120px;     /* clears sticky nav */
    padding-bottom: 60px;
}

/* Text column — occupies the left grid only, right side stays clear for the figure */
.hero-tj__text-col {
    width: 100%;                /* mobile: full width */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

@media (min-width: 768px) {
    .hero-tj__text-col {
        width: 60%;             /* md: ~w-3/5 */
    }
}

@media (min-width: 1024px) {
    .hero-tj__text-col {
        width: 50%;             /* lg: w-1/2 */
    }
}

/* ── Live badge ─────────────────────────────────────────── */
.hero-tj__badge {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 100px;
    padding: 6px 16px 6px 10px;
    margin-bottom: 16px;   /* mb-4 */
}

/* Ping ring */
.hero-tj__badge-ping {
    position: relative;
    width: 10px;
    height: 10px;
    flex-shrink: 0;
}

.hero-tj__badge-ping-dot {
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #34d399;    /* emerald-400 */
    box-shadow: 0 0 0 0 rgba(52, 211, 153, 0.6);
    animation: hero-ping 1.8s ease-out infinite;
}

@keyframes hero-ping {
    0%   { box-shadow: 0 0 0 0 rgba(52, 211, 153, 0.6); }
    70%  { box-shadow: 0 0 0 8px rgba(52, 211, 153, 0); }
    100% { box-shadow: 0 0 0 0 rgba(52, 211, 153, 0); }
}

.hero-tj__badge-text {
    font-family: 'Jost', sans-serif;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
}

/* ── Tagline ────────────────────────────────────────────── */
.hero-tj__tagline {
    font-family: 'Jost', monospace;
    font-size: clamp(0.6rem, 1.2vw, 0.78rem);
    font-weight: 500;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(228, 228, 231, 0.65);   /* zinc-300 */
    margin: 0 0 24px;   /* mb-6 */
}

/* ── Artist name ────────────────────────────────────────── */
.hero-tj__name {
    font-family: 'Jost', sans-serif;
    font-size: clamp(3.8rem, 10vw, 9rem);   /* text-6xl → text-9xl */
    font-weight: 900;
    line-height: 0.92;
    letter-spacing: -0.04em;
    color: #ffffff;
    margin: 0 0 16px;   /* mb-4 */
    text-transform: uppercase;
}

/* "JAY" — gradient text accent */
.hero-tj__name-accent {
    background: linear-gradient(
        90deg,
        #c084fc 0%,     /* purple-400 */
        #ec4899 50%,    /* pink-500   */
        #fbbf24 100%    /* amber-400  */
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: inline-block;
}

/* ── Description ────────────────────────────────────────── */
.hero-tj__desc {
    font-family: 'Jost', sans-serif;
    font-size: clamp(0.9rem, 1.4vw, 1.05rem);
    line-height: 1.8;
    color: rgba(161, 161, 170, 0.8);    /* zinc-400 ish */
    max-width: 480px;
    margin: 0 0 20px;
}

.hero-tj__desc strong {
    color: rgba(255, 255, 255, 0.85);
    font-weight: 600;
}

/* ── CTA row ────────────────────────────────────────────── */
.hero-tj__cta-row {
    display: flex;
    align-items: center;
    gap: 12px;          /* gap-3 */
    flex-wrap: wrap;
    margin-bottom: 0;
}

/* Gradient border shell — 1px gradient border via padding trick */
.hero-tj__btn-wrap {
    border-radius: 12px;
    padding: 1.5px;
    background: linear-gradient(
        90deg,
        #9333ea,   /* purple-600 */
        #ec4899,   /* pink-500   */
        #f59e0b    /* amber-400  */
    );
    transition: box-shadow 0.3s ease;
}

.hero-tj__btn-wrap:hover {
    box-shadow: 0 0 35px rgba(168, 85, 247, 0.5);
}

.hero-tj__btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: #07070a;
    border-radius: 11px;   /* shell radius − 1px */
    padding: 10px 24px;    /* h-12 height equivalent */
    font-family: 'Jost', sans-serif;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #ffffff;
    text-decoration: none;
    transition: background 0.25s;
    white-space: nowrap;
}

.hero-tj__btn-wrap:hover .hero-tj__btn-primary {
    background: rgba(7, 7, 10, 0.85);
}

.hero-tj__btn-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: #c084fc;
}

/* Secondary ghost button */
.hero-tj__btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 12px;
    padding: 10px 22px;    /* h-12 height equivalent */
    font-family: 'Jost', sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.65);
    text-decoration: none;
    transition: border-color 0.25s, color 0.25s;
    white-space: nowrap;
}

.hero-tj__btn-secondary:hover {
    border-color: rgba(168, 85, 247, 0.6);
    color: #ffffff;
}

.hero-tj__btn-arrow {
    width: 14px;
    height: 14px;
    transition: transform 0.25s;
}

.hero-tj__btn-secondary:hover .hero-tj__btn-arrow {
    transform: translateX(4px);
}

/* ── Scroll hint ────────────────────────────────────────── */
.hero-tj__scroll-hint {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
}

.hero-tj__scroll-hint a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.3);
    text-decoration: none;
    font-size: 0.75rem;
    transition: color 0.25s;
    animation: hero-bounce 2.2s ease-in-out infinite;
}

.hero-tj__scroll-hint a:hover {
    color: rgba(168, 85, 247, 0.8);
}

.hero-tj__scroll-line {
    display: block;
    width: 1px;
    height: 32px;
    background: linear-gradient(to bottom, transparent, rgba(255,255,255,0.25));
}

@keyframes hero-bounce {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50%       { transform: translateX(-50%) translateY(6px); }
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 767px) {
    .hero-tj__container {
        padding-top: 100px;
        padding-bottom: 48px;
    }

    .hero-tj__badge,
    .hero-tj__cta-row {
        justify-content: flex-start;
    }

    .hero-tj__desc {
        margin-left: 0;
        margin-right: 0;
    }

    .hero-tj__scroll-hint {
        bottom: 28px;
    }

    /* Push text block down 116px on mobile so content clears the artist's
       face in the lower portion of the expanded video frame               */
    .hero-tj__text-col {
        margin-top: 116px;
    }
}

@media (min-width: 768px) {
    /* Reset the mobile top margin so desktop layout is 100% unaffected */
    .hero-tj__text-col {
        margin-top: 0;
    }
}

@media (max-width: 479px) {
    .hero-tj__cta-row {
        flex-direction: column;
        align-items: stretch;
    }

    .hero-tj__btn-primary,
    .hero-tj__btn-secondary {
        justify-content: center;
    }

    .hero-tj__btn-wrap {
        width: 100%;
    }
}


/* ── Hero: background video layer ──────────────────────── */

/* Wrapper fills the section absolutely, sits behind everything */
.hero-tj__video-wrap {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

/* Video: cover-fit, reduced opacity, screen blend so the
   video highlights punch through the dark background     */
.hero-tj__video {
    /* mobile: overflow 147% width so the right-side artist is fully revealed */
    width: 147%;
    max-width: none;
    height: 100%;
    object-fit: cover;
    object-position: right;   /* mobile: anchor to right where artist stands */
    opacity: 0.55;
    mix-blend-mode: screen;
    display: block;
}

@media (min-width: 768px) {
    .hero-tj__video {
        /* desktop: restore normal full-width responsive behaviour */
        width: 100%;
        max-width: 100%;
        object-position: center;
    }
}

/* ── Dark gradient overlays (stacked above video) ─────── */
.hero-tj__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

/* Vertical: bg-gradient-to-t from-[#07070a] via-[#07070a]/40 to-transparent
   Heavy black at the bottom anchors the section; fades out toward the top
   so the upper portion of the video remains visible                         */
.hero-tj__overlay--vertical {
    background: linear-gradient(
        to top,
        #07070a            0%,
        rgba(7,7,10,0.40) 55%,
        transparent       100%
    );
}

/* Horizontal: strong dark on left for text readability, fades to transparent.
   On mobile the gradient fades quicker (by 35%) so the right-anchored artist
   isn't grayed out; on larger screens it eases out more gradually.          */
.hero-tj__overlay--horizontal {
    background: linear-gradient(
        to right,
        rgba(7,7,10,0.85)  0%,
        rgba(7,7,10,0.55) 20%,
        rgba(7,7,10,0.10) 35%,
        transparent       55%
    );
}

@media (min-width: 768px) {
    .hero-tj__overlay--horizontal {
        background: linear-gradient(
            to right,
            rgba(7,7,10,0.80)  0%,
            rgba(7,7,10,0.10) 50%,
            transparent       100%
        );
    }
}

/* Bump existing bg layers above the two new overlays */
.hero-tj__grid-mask,
.hero-tj__glow {
    z-index: 2;
}

/* Content stays above everything */
.hero-tj__container {
    z-index: 3;
}

/* ============================================================
   NEWS & DROPS SECTION
   ============================================================ */
.nd-section {
    background: #07070a;
    padding: 64px 0 80px;
}
.nd-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
}
.nd-header {
    display: flex;
    align-items: baseline;
    gap: 16px;
    margin-bottom: 40px;
}
.nd-label {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    color: #c42091;
    text-transform: uppercase;
}
.nd-title {
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    font-weight: 800;
    color: #ffffff;
    margin: 0;
    letter-spacing: -0.02em;
}
.nd-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}
@media (min-width: 768px) {
    .nd-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
    .nd-grid { grid-template-columns: repeat(4, 1fr); }
}
.nd-card {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: border-color 0.3s ease, transform 0.3s ease;
}
.nd-card:hover {
    border-color: rgba(196, 32, 145, 0.35);
    transform: translateY(-4px);
}
.nd-card__img-wrap {
    position: relative;
    aspect-ratio: 4 / 5;
    overflow: hidden;
}
.nd-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}
.nd-card:hover .nd-card__img {
    transform: scale(1.06);
}
.nd-card__tag {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(196, 32, 145, 0.85);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 999px;
}
.nd-card__body {
    padding: 18px 20px 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
}
.nd-card__date {
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.4);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0;
}
.nd-card__title {
    font-size: 1rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
    line-height: 1.3;
}
.nd-card__desc {
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.55;
    margin: 4px 0 8px;
    flex: 1;
}
.nd-card__link {
    font-size: 0.78rem;
    font-weight: 600;
    color: #c42091;
    text-decoration: none;
    letter-spacing: 0.04em;
    transition: color 0.2s ease;
}
.nd-card__link:hover {
    color: #ec4899;
}
