@charset "UTF-8";
/*! Made with Bones: http://themble.com/bones :) */
/******************************************************************
Site Name: PopIndia
Author: Abdel Djeebet

Stylesheet: Main Stylesheet

Here's where the magic happens. Here, you'll see we are calling in
the separate media queries. The base mobile goes outside any query
and is called at the beginning, after that we call the rest
of the styles inside media queries.

Helpful articles on Sass file organization:
http://thesassway.com/advanced/modular-css-naming-conventions

******************************************************************/
/*********************
IMPORTING PARTIALS
These files are needed at the beginning so that we establish all
our mixins, functions, and variables that we'll be using across
the whole project.
*********************/
/* normalize.css 2012-07-07T09:50 UTC - http://github.com/necolas/normalize.css */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block;
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent;
}

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong,
.strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari 5 and Chrome.
 */
dfn,
em,
.em {
  font-style: italic;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/*
 * proper formatting (http://blog.fontdeck.com/post/9037028497/hyphens)
*/
p {
  -webkit-hyphens: auto;
  -epub-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
}

/*
 * Addresses margins set differently in IE6/7.
 */
pre {
  margin: 0;
}

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap;
}

/**
 * Set consistent quote types.
 */
q {
  quotes: "“" "”" "‘" "’";
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
q:before,
q:after {
  content: "";
  content: none;
}

small, .small {
  font-size: 75%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* ==========================================================================
  Lists
========================================================================== */
/*
 * Addresses margins set differently in IE6/7.
 */
dl,
menu,
ol,
ul {
  margin: 1em 0;
}

dd {
  margin: 0;
}

/*
 * Addresses paddings set differently in IE6/7.
 */
menu {
  padding: 0 0 0 40px;
}

ol,
ul {
  padding: 0;
  list-style-type: none;
}

/*
 * Corrects list images handled incorrectly in IE7.
 */
nav ul,
nav ol {
  list-style: none;
  list-style-image: none;
}

/* ==========================================================================
  Embedded content
========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9.
 */
img {
  border: 0;
}

/**
 * Correct overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,
input,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type=search] {
  -webkit-appearance: textfield; /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto; /* 1 */
  vertical-align: top; /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.image-replacement,
.ir {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.clearfix, .cf, .comment-respond {
  zoom: 1;
}
.clearfix:before, .clearfix:after, .cf:before, .comment-respond:before, .cf:after, .comment-respond:after {
  content: "";
  display: table;
}
.clearfix:after, .cf:after, .comment-respond:after {
  clear: both;
}

/*
use the best ampersand
http://simplebits.com/notebook/2008/08/14/ampersands-2/
*/
span.amp {
  font-family: Baskerville, "Goudy Old Style", Palatino, "Book Antiqua", serif !important;
  font-style: italic;
}

/******************************************************************
Site Name:
Author:

Stylesheet: Variables

Here is where we declare all our variables like colors, fonts,
base values, and defaults. We want to make sure this file ONLY
contains variables that way our files don't get all messy.
No one likes a mess.

******************************************************************/
/*********************
COLORS
Need help w/ choosing your colors? Try this site out:
http://0to255.com/
*********************/
/*
Here's a great tutorial on how to
use color variables properly:
http://sachagreif.com/sass-color-variables/
*/
/******************************************************************
Site Name:
Author:

Stylesheet: Typography

Need to import a font or set of icons for your site? Drop them in
here or just use this to establish your typographical grid. Or not.
Do whatever you want to...GOSH!

Helpful Articles:
http://trentwalton.com/2012/06/19/fluid-type/
http://ia.net/blog/responsive-typography-the-basics/
http://alistapart.com/column/responsive-typography-is-a-physical-discipline

******************************************************************/
/*********************
FONT FACE (IN YOUR FACE)
*********************/
/*  To embed your own fonts, use this syntax
  and place your fonts inside the
  library/fonts folder. For more information
  on embedding fonts, go to:
  http://www.fontsquirrel.com/
  Be sure to remove the comment brackets.
*/
/*  @font-face {
      font-family: 'Font Name';
      src: url('library/fonts/font-name.eot');
      src: url('library/fonts/font-name.eot?#iefix') format('embedded-opentype'),
             url('library/fonts/font-name.woff') format('woff'),
             url('library/fonts/font-name.ttf') format('truetype'),
             url('library/fonts/font-name.svg#font-name') format('svg');
      font-weight: normal;
      font-style: normal;
  }
*/
/*
The following is based of Typebase:
https://github.com/devinhunt/typebase.css
I've edited it a bit, but it's a nice starting point.
*/
/*
 i imported this one in the functions file so bones would look sweet.
 don't forget to remove it for your site.
*/
/*
some nice typographical defaults
more here: http://www.newnet-soft.com/blog/csstypography
*/
p {
  -ms-word-wrap: break-word;
  word-break: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
  -webkit-hyphenate-before: 2;
  -webkit-hyphenate-after: 3;
  hyphenate-lines: 3;
  -webkit-font-feature-settings: "liga", "dlig";
  -moz-font-feature-settings: "liga=1, dlig=1";
  -ms-font-feature-settings: "liga", "dlig";
  -o-font-feature-settings: "liga", "dlig";
  font-feature-settings: "liga", "dlig";
}

/******************************************************************
Site Name:
Author:

Stylesheet: Sass Functions

You can do a lot of really cool things in Sass. Functions help you
make repeated actions a lot easier. They are really similar to mixins,
but can be used for so much more.

Anyway, keep them all in here so it's easier to find when you're
looking for one.

For more info on functions, go here:
http://sass-lang.com/documentation/Sass/Script/Functions.html

******************************************************************/
/*********************
COLOR FUNCTIONS
These are helpful when you're working
with shadows and such things. It's essentially
a quicker way to write RGBA.

Example:
box-shadow: 0 0 4px black(0.3);
compiles to:
box-shadow: 0 0 4px rgba(0,0,0,0.3);
*********************/
/*********************
RESPONSIVE HELPER FUNCTION
If you're creating a responsive site, then
you've probably already read
Responsive Web Design: http://www.abookapart.com/products/responsive-web-design

Here's a nice little helper function for calculating
target / context
as mentioned in that book.

Example:
width: cp(650px, 1000px);
or
width: calc-percent(650px, 1000px);
both compile to:
width: 65%;
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Mixins Stylesheet

This is where you can take advantage of Sass' great features: Mixins.
I won't go in-depth on how they work exactly,
there are a few articles below that will help do that. What I will
tell you is that this will help speed up simple changes like
changing a color or adding CSS3 techniques gradients.

A WORD OF WARNING: It's very easy to overdo it here. Be careful and
remember less is more.

Helpful:
http://sachagreif.com/useful-sass-mixins/
http://thesassway.com/intermediate/leveraging-sass-mixins-for-cleaner-code
http://web-design-weekly.com/blog/2013/05/12/handy-sass-mixins/

******************************************************************/
/*********************
TRANSITION
*********************/
/*
I totally rewrote this to be cleaner and easier to use.
You'll need to be using Sass 3.2+ for these to work.
Thanks to @anthonyshort for the inspiration on these.
USAGE: @include transition(all 0.2s ease-in-out);
*/
/*********************
CSS3 GRADIENTS
Be careful with these since they can
really slow down your CSS. Don't overdo it.
*********************/
/* @include css-gradient(#dfdfdf,#f8f8f8); */
/*********************
BOX SIZING
*********************/
/* @include box-sizing(border-box); */
/* NOTE: value of "padding-box" is only supported in Gecko. So
probably best not to use it. I mean, were you going to anyway? */
/******************************************************************
Site Name:
Author:

Stylesheet: Grid Stylesheet

I've seperated the grid so you can swap it out easily. It's
called at the top the style.scss stylesheet.

There are a ton of grid solutions out there. You should definitely
experiment with your own. Here are some recommendations:

http://gridsetapp.com - Love this site. Responsive Grids made easy.
http://susy.oddbird.net/ - Grids using Compass. Very elegant.
http://gridpak.com/ - Create your own responsive grid.
https://github.com/dope/lemonade - Neat lightweight grid.


The grid below is a custom built thingy I modeled a bit after
Gridset. It's VERY basic and probably shouldn't be used on
your client projects. The idea is you learn how to roll your
own grids. It's better in the long run and allows you full control
over your project's layout.

******************************************************************/
.last-col {
  float: right;
  padding-right: 0 !important;
}

/*
Mobile Grid Styles
These are the widths for the mobile grid.
There are four types, but you can add or customize
them however you see fit.
*/
@media (max-width: 767px) {
  .m-all {
    float: left;
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0;
  }
  .m-1of2 {
    float: left;
    padding-right: 0.75em;
    width: 50%;
  }
  .m-1of3 {
    float: left;
    padding-right: 0.75em;
    width: 33.33%;
  }
  .m-2of3 {
    float: left;
    padding-right: 0.75em;
    width: 66.66%;
  }
  .m-1of4 {
    float: left;
    padding-right: 0.75em;
    width: 25%;
  }
  .m-3of4 {
    float: left;
    padding-right: 0.75em;
    width: 75%;
  }
}
/* Portrait tablet to landscape */
@media (min-width: 768px) and (max-width: 1029px) {
  .t-all {
    float: left;
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0;
  }
  .t-1of2 {
    float: left;
    padding-right: 0.75em;
    width: 50%;
  }
  .t-1of3 {
    float: left;
    padding-right: 0.75em;
    width: 33.33%;
  }
  .t-2of3 {
    float: left;
    padding-right: 0.75em;
    width: 66.66%;
  }
  .t-1of4 {
    float: left;
    padding-right: 0.75em;
    width: 25%;
  }
  .t-3of4 {
    float: left;
    padding-right: 0.75em;
    width: 75%;
  }
  .t-1of5 {
    float: left;
    padding-right: 0.75em;
    width: 20%;
  }
  .t-2of5 {
    float: left;
    padding-right: 0.75em;
    width: 40%;
  }
  .t-3of5 {
    float: left;
    padding-right: 0.75em;
    width: 60%;
  }
  .t-4of5 {
    float: left;
    padding-right: 0.75em;
    width: 80%;
  }
}
/* Landscape to small desktop */
@media (min-width: 1030px) {
  .d-all {
    float: left;
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0;
  }
  .d-1of2 {
    float: left;
    padding-right: 0.75em;
    width: 50%;
  }
  .d-1of3 {
    float: left;
    padding-right: 0.75em;
    width: 33.33%;
  }
  .d-2of3 {
    float: left;
    padding-right: 0.75em;
    width: 66.66%;
  }
  .d-1of4 {
    float: left;
    padding-right: 0.75em;
    width: 25%;
  }
  .d-3of4 {
    float: left;
    padding-right: 0.75em;
    width: 75%;
  }
  .d-1of5 {
    float: left;
    padding-right: 0.75em;
    width: 20%;
  }
  .d-2of5 {
    float: left;
    padding-right: 0.75em;
    width: 40%;
  }
  .d-3of5 {
    float: left;
    padding-right: 0.75em;
    width: 60%;
  }
  .d-4of5 {
    float: left;
    padding-right: 0.75em;
    width: 80%;
  }
  .d-1of6 {
    float: left;
    padding-right: 0.75em;
    width: 16.6666666667%;
  }
  .d-1of7 {
    float: left;
    padding-right: 0.75em;
    width: 14.2857142857%;
  }
  .d-2of7 {
    float: left;
    padding-right: 0.75em;
    width: 28.5714286%;
  }
  .d-3of7 {
    float: left;
    padding-right: 0.75em;
    width: 42.8571429%;
  }
  .d-4of7 {
    float: left;
    padding-right: 0.75em;
    width: 57.1428572%;
  }
  .d-5of7 {
    float: left;
    padding-right: 0.75em;
    width: 71.4285715%;
  }
  .d-6of7 {
    float: left;
    padding-right: 0.75em;
    width: 85.7142857%;
  }
  .d-1of8 {
    float: left;
    padding-right: 0.75em;
    width: 12.5%;
  }
  .d-1of9 {
    float: left;
    padding-right: 0.75em;
    width: 11.1111111111%;
  }
  .d-1of10 {
    float: left;
    padding-right: 0.75em;
    width: 10%;
  }
  .d-1of11 {
    float: left;
    padding-right: 0.75em;
    width: 9.0909090909%;
  }
  .d-1of12 {
    float: left;
    padding-right: 0.75em;
    width: 8.33%;
  }
}
/*********************
IMPORTING MODULES
Modules are reusable blocks or elements we use throughout the project.
We can break them up as much as we want or just keep them all in one.
I mean, you can do whatever you want. The world is your oyster. Unless
you hate oysters, then the world is your peanut butter & jelly sandwich.
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Alert Styles

If you want to use these alerts in your design, you can. If not,
you can just remove this stylesheet.

******************************************************************/
.alert-success, .alert-error, .alert-info, .alert-help {
  margin: 10px;
  padding: 5px 18px;
  border: 1px solid;
}

.alert-help {
  border-color: rgb(231.8902439024, 220.3353658537, 88.6097560976);
  background: #ebe16f;
}

.alert-info {
  border-color: rgb(191.1428571429, 227.6326530612, 244.3571428571);
  background: #d5edf8;
}

.alert-error {
  border-color: rgb(247.8125, 204.6875, 206.484375);
  background: #fbe3e4;
}

.alert-success {
  border-color: rgb(221.7207792208, 233.7012987013, 173.7987012987);
  background: #e6efc2;
}

/******************************************************************
Site Name:
Author:

Stylesheet: Button Styles

Buttons are a pretty important part of your site's style, so it's
important to have a consistent baseline for them. Use this stylesheet
to create all kinds of buttons.

Helpful Links:
http://galp.in/blog/2011/08/02/the-ui-guide-part-1-buttons/

******************************************************************/
/*********************
BUTTON DEFAULTS
We're gonna use a placeholder selector here
so we can use common styles. We then use this
to load up the defaults in all our buttons.

Here's a quick video to show how it works:
http://www.youtube.com/watch?v=hwdVpKiJzac

*********************/
.blue-btn, #submit, .comment-reply-link {
  display: inline-block;
  position: relative;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-decoration: none;
  color: #fff;
  font-size: 0.9em;
  font-size: 34px;
  line-height: 34px;
  font-weight: normal;
  padding: 0 24px;
  border-radius: 4px;
  border: 0;
  cursor: pointer;
  -webkit-transition: background-color 0.14s ease-in-out;
  transition: background-color 0.14s ease-in-out;
}
.blue-btn:hover, #submit:hover, .comment-reply-link:hover, .blue-btn:focus, #submit:focus, .comment-reply-link:focus {
  color: #fff;
  text-decoration: none;
  outline: none;
}
.blue-btn:active, #submit:active, .comment-reply-link:active {
  top: 1px;
}

/*
An example button.
You can use this example if you want. Just replace all the variables
and it will create a button dependant on those variables.
*/
.blue-btn, #submit, .comment-reply-link {
  background-color: #2980b9;
}
.blue-btn:hover, #submit:hover, .comment-reply-link:hover, .blue-btn:focus, #submit:focus, .comment-reply-link:focus {
  background-color: rgb(37.2991150442, 116.4460176991, 168.3008849558);
}
.blue-btn:active, #submit:active, .comment-reply-link:active {
  background-color: rgb(36.3738938053, 113.5575221239, 164.1261061947);
}

/******************************************************************
Site Name:
Author:

Stylesheet: Form Styles

We put all the form and button styles in here to setup a consistent
look. If we need to customize them, we can do this in the main
stylesheets and just override them. Easy Peasy.

You're gonna see a few data-uri thingies down there. If you're not
sure what they are, check this link out:
http://css-tricks.com/data-uris/
If you want to create your own, use this helpful link:
http://websemantics.co.uk/online_tools/image_to_data_uri_convertor/

******************************************************************/
/*********************
INPUTS
*********************/
input[type=text],
input[type=password],
input[type=datetime],
input[type=datetime-local],
input[type=date],
input[type=month],
input[type=time],
input[type=week],
input[type=number],
input[type=email],
input[type=url],
input[type=search],
input[type=tel],
input[type=color],
select,
textarea,
.field {
  display: block;
  height: 40px;
  line-height: 1em;
  padding: 0 12px;
  margin-bottom: 14px;
  font-size: 1em;
  color: #5c6b80;
  border-radius: 3px;
  vertical-align: middle;
  box-shadow: none;
  border: 0;
  width: 100%;
  max-width: 400px;
  font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
  background-color: #eaedf2;
  -webkit-transition: background-color 0.24s ease-in-out;
  transition: background-color 0.24s ease-in-out;
}
input[type=text]:focus, input[type=text]:active,
input[type=password]:focus,
input[type=password]:active,
input[type=datetime]:focus,
input[type=datetime]:active,
input[type=datetime-local]:focus,
input[type=datetime-local]:active,
input[type=date]:focus,
input[type=date]:active,
input[type=month]:focus,
input[type=month]:active,
input[type=time]:focus,
input[type=time]:active,
input[type=week]:focus,
input[type=week]:active,
input[type=number]:focus,
input[type=number]:active,
input[type=email]:focus,
input[type=email]:active,
input[type=url]:focus,
input[type=url]:active,
input[type=search]:focus,
input[type=search]:active,
input[type=tel]:focus,
input[type=tel]:active,
input[type=color]:focus,
input[type=color]:active,
select:focus,
select:active,
textarea:focus,
textarea:active,
.field:focus,
.field:active {
  background-color: rgb(246.6, 247.8, 249.8);
  outline: none;
}
input[type=text].error, input[type=text].is-invalid,
input[type=password].error,
input[type=password].is-invalid,
input[type=datetime].error,
input[type=datetime].is-invalid,
input[type=datetime-local].error,
input[type=datetime-local].is-invalid,
input[type=date].error,
input[type=date].is-invalid,
input[type=month].error,
input[type=month].is-invalid,
input[type=time].error,
input[type=time].is-invalid,
input[type=week].error,
input[type=week].is-invalid,
input[type=number].error,
input[type=number].is-invalid,
input[type=email].error,
input[type=email].is-invalid,
input[type=url].error,
input[type=url].is-invalid,
input[type=search].error,
input[type=search].is-invalid,
input[type=tel].error,
input[type=tel].is-invalid,
input[type=color].error,
input[type=color].is-invalid,
select.error,
select.is-invalid,
textarea.error,
textarea.is-invalid,
.field.error,
.field.is-invalid {
  color: #fbe3e4;
  border-color: #fbe3e4;
  background-color: #fff;
  background-position: 99% center;
  background-repeat: no-repeat;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDREQkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDREQ0YwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ3ODRGRkE2RjA0QTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERBRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+U8iT5wAAAedJREFUeNqk1U9I02Ecx/HtV3aIFAc1hcRDUoGXRAq0oNLA2CrsEFmHbikZu0iQYIFGYAiegkCpLipBxPpDEBMUzB0EhSG2LhG7hMR2GviPgUTvB57Bw8P3+U23B16HPX8+e/b8nt93wezZSMCnhXETF3AcB5BDCnH8Dq98ExcGHcFn8Ah3cdDni+fxnPDv9oAnTB7CKu6VCFXtChZy56LxUjt+jfuB8toSOth9wd7xWAWhqrUjYR/FRTwWJm+iIPT/w7bQf5ljiZnBg45dtKFX6H+LU8gIY8OEV6vgTkStwXWE8BPTGDHGPqNPz2mCfSOOYkA99TvCt1bhGPL68zMcwmncMuape10jrI+q4BbHi/FLn31S9z2x5tRhTc+1W506ipM+T3oRD4X+8+qtc4SqFvL0z/Fr14S+Szjis8bz9Lvvaq8cwS/wwGfdlqfPSWqTiFlX77o13u9Ym1PBs8JAytpRoy44X9Ft9E/gvbA+rYKn8NcaaMVc8UHgBw4b9/iqUQZ6hOAJFbyDcUflmsEX4a6+wTtHGfhAIUqa1U29Zc2BytouThD8x6xuN5CtMPi2CrXLZkZf/HyZoRFCP7n+QVR4PV7uI/AjGghN7OU/r1ilnqILtfpNC+o6vIFljBKYlhb/F2AAgaBsWR5wRiIAAAAASUVORK5CYII=);
  outline-color: #fbe3e4;
}
input[type=text].success, input[type=text].is-valid,
input[type=password].success,
input[type=password].is-valid,
input[type=datetime].success,
input[type=datetime].is-valid,
input[type=datetime-local].success,
input[type=datetime-local].is-valid,
input[type=date].success,
input[type=date].is-valid,
input[type=month].success,
input[type=month].is-valid,
input[type=time].success,
input[type=time].is-valid,
input[type=week].success,
input[type=week].is-valid,
input[type=number].success,
input[type=number].is-valid,
input[type=email].success,
input[type=email].is-valid,
input[type=url].success,
input[type=url].is-valid,
input[type=search].success,
input[type=search].is-valid,
input[type=tel].success,
input[type=tel].is-valid,
input[type=color].success,
input[type=color].is-valid,
select.success,
select.is-valid,
textarea.success,
textarea.is-valid,
.field.success,
.field.is-valid {
  color: #e6efc2;
  border-color: #e6efc2;
  background-color: #fff;
  background-position: 99% center;
  background-repeat: no-repeat;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDRERkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDRFMEYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY0MzQ0NERERjA0QjExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERFRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+7olkTQAAAfhJREFUeNqklU9oE0EUhzdroWjw0tBeWlDxkEaIp55TsCU9VKIgCrHBelA8CQ1Kr1WPbZrQ3gqtQqvGqxpQc2jBk6BIIaAGD4qNCKURpDSKiPi98gLDsJt//uBjsztvfnk7895sIPAw6/joGMThFJyAXn2+A+9gA57/TaY/eU0OeBgfhGm4DiGnsb7DAszxBz/NAdcKjMJLuNWCqagHbsscN5+L+hmH4QkMOe1L5jzFfNA2PgT34ajTuY7AGuZB0/hmh5m+gS0r8xv1zRvg+gGCHZiOwnF4DP3iB3sQkYxPd2C6CWfhB9Xwlus5+K1j4jXuaq3a+gM1H9OPcAa+7q9lPidZJqHbiIm7Wg22rsEI7FrPSzAMX/T+ADyAKSsu7Fr1KplehLvwCs5DvfBf65p+MypqRbO1FXK9utH4/QKuaqYTsG3E3INJv00Q46px3+XxanJ/Ute2/vqP4FKDza2KcdljIKdnhS0xXYULTaqmLMZFn8FFSFtvt6x70ExFCS5oUXspq2ssa7oEl1swFa+CGFdgtkHgPDyDKy02zyxNU6lXRUZb1EuHYayNNs+Yh5B0WQo+/8fpJnNTZFuzz2OpjoQ2QruSOQlMy35fEGmEGMxY9e1brxobw7TkWA1h6xfckUPb+JhGoE/Hpfvew7qUld/H9J8AAwDpw3WYrxcZ3QAAAABJRU5ErkJggg==);
  outline-color: #e6efc2;
}
input[type=text][disabled], input[type=text].is-disabled,
input[type=password][disabled],
input[type=password].is-disabled,
input[type=datetime][disabled],
input[type=datetime].is-disabled,
input[type=datetime-local][disabled],
input[type=datetime-local].is-disabled,
input[type=date][disabled],
input[type=date].is-disabled,
input[type=month][disabled],
input[type=month].is-disabled,
input[type=time][disabled],
input[type=time].is-disabled,
input[type=week][disabled],
input[type=week].is-disabled,
input[type=number][disabled],
input[type=number].is-disabled,
input[type=email][disabled],
input[type=email].is-disabled,
input[type=url][disabled],
input[type=url].is-disabled,
input[type=search][disabled],
input[type=search].is-disabled,
input[type=tel][disabled],
input[type=tel].is-disabled,
input[type=color][disabled],
input[type=color].is-disabled,
select[disabled],
select.is-disabled,
textarea[disabled],
textarea.is-disabled,
.field[disabled],
.field.is-disabled {
  cursor: not-allowed;
  border-color: #cfcfcf;
  opacity: 0.6;
}
input[type=text][disabled]:focus, input[type=text][disabled]:active, input[type=text].is-disabled:focus, input[type=text].is-disabled:active,
input[type=password][disabled]:focus,
input[type=password][disabled]:active,
input[type=password].is-disabled:focus,
input[type=password].is-disabled:active,
input[type=datetime][disabled]:focus,
input[type=datetime][disabled]:active,
input[type=datetime].is-disabled:focus,
input[type=datetime].is-disabled:active,
input[type=datetime-local][disabled]:focus,
input[type=datetime-local][disabled]:active,
input[type=datetime-local].is-disabled:focus,
input[type=datetime-local].is-disabled:active,
input[type=date][disabled]:focus,
input[type=date][disabled]:active,
input[type=date].is-disabled:focus,
input[type=date].is-disabled:active,
input[type=month][disabled]:focus,
input[type=month][disabled]:active,
input[type=month].is-disabled:focus,
input[type=month].is-disabled:active,
input[type=time][disabled]:focus,
input[type=time][disabled]:active,
input[type=time].is-disabled:focus,
input[type=time].is-disabled:active,
input[type=week][disabled]:focus,
input[type=week][disabled]:active,
input[type=week].is-disabled:focus,
input[type=week].is-disabled:active,
input[type=number][disabled]:focus,
input[type=number][disabled]:active,
input[type=number].is-disabled:focus,
input[type=number].is-disabled:active,
input[type=email][disabled]:focus,
input[type=email][disabled]:active,
input[type=email].is-disabled:focus,
input[type=email].is-disabled:active,
input[type=url][disabled]:focus,
input[type=url][disabled]:active,
input[type=url].is-disabled:focus,
input[type=url].is-disabled:active,
input[type=search][disabled]:focus,
input[type=search][disabled]:active,
input[type=search].is-disabled:focus,
input[type=search].is-disabled:active,
input[type=tel][disabled]:focus,
input[type=tel][disabled]:active,
input[type=tel].is-disabled:focus,
input[type=tel].is-disabled:active,
input[type=color][disabled]:focus,
input[type=color][disabled]:active,
input[type=color].is-disabled:focus,
input[type=color].is-disabled:active,
select[disabled]:focus,
select[disabled]:active,
select.is-disabled:focus,
select.is-disabled:active,
textarea[disabled]:focus,
textarea[disabled]:active,
textarea.is-disabled:focus,
textarea.is-disabled:active,
.field[disabled]:focus,
.field[disabled]:active,
.field.is-disabled:focus,
.field.is-disabled:active {
  background-color: #d5edf8;
}

input[type=password] {
  letter-spacing: 0.3em;
}

textarea {
  max-width: 100%;
  min-height: 120px;
  line-height: 1.5em;
}

select {
  -webkit-appearance: none; /* 1 */
  -moz-appearance: none;
  appearance: none;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAHCAYAAADXhRcnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEOEZCMjYxMEYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEOEZCMjYxMUYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ4RkIyNjBFRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQ4RkIyNjBGRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Vxkp9gAAAI9JREFUeNpidHFxucHAwKAOxE+AmJmBMPgLxDJAfJMFSKwD4kqoAClgA+P///8ZXF1dPaCGcBKh6QcQB+3evXs7WDMIAA2QB1I7gFgDj0aQFz2BGh+AOEwwUaDAQyBlCMR7cGjcC5KHaQQBuM3IAOiKTiBVhiTUDdRUhq4Oq2aoAelAahIQ5wM1zsCmBiDAADhYMJXVZ9u9AAAAAElFTkSuQmCC);
  background-repeat: no-repeat;
  background-position: 97.5% center;
}

/*********************
BASE (MOBILE) SIZE
This are the mobile styles. It's what people see on their phones. If
you set a great foundation, you won't need to add too many styles in
the other stylesheets. Remember, keep it light: Speed is Important.
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Base Mobile Stylesheet

Be light and don't over style since everything here will be
loaded by mobile devices. You want to keep it as minimal as
possible. This is called at the top of the main stylsheet
and will be used across all viewports.

******************************************************************/
/*********************
GENERAL STYLES
*********************/
body {
  font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 100%;
  line-height: 1.5;
  color: #5c6b80;
  background-color: #eaedf2;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/********************
WORDPRESS BODY CLASSES
style a page via class
********************/
/* for sites that are read right to left (i.e. hebrew) */
/* home page */
/* blog template page */
/* archive page */
/* date archive page */
/* replace the number to the corresponding page number */
/* search page */
/* search result page */
/* no results search page */
/* individual paged search (i.e. body.search-paged-3) */
/* 404 page */
/* single post page */
/* individual post page by id (i.e. body.postid-73) */
/* individual paged single (i.e. body.single-paged-3) */
/* attatchment page */
/* individual attatchment page (i.e. body.attachmentid-763) */
/* style mime type pages */
/* author page */
/* user nicename (i.e. body.author-samueladams) */
/* paged author archives (i.e. body.author-paged-4) for page 4 */
/* category page */
/* individual category page (i.e. body.category-6) */
/* replace the number to the corresponding page number */
/* tag page */
/* individual tag page (i.e. body.tag-news) */
/* replace the number to the corresponding page number */
/* custom page template page */
/* individual page template (i.e. body.page-template-contact-php */
/* replace the number to the corresponding page number */
/* parent page template */
/* child page template */
/* replace the number to the corresponding page number */
/* if user is logged in */
/* paged items like search results or archives */
/* individual paged (i.e. body.paged-3) */
/*********************
LAYOUT & GRID STYLES
*********************/
.wrap {
  margin: 0 auto;
}

/*********************
LINK STYLES
*********************/
a, a:visited {
  color: #f01d4f;
  /* on hover */
  /* on click */
  /* mobile tap color */
}
a:hover, a:focus, a:visited:hover, a:visited:focus {
  color: rgb(209.2141078838, 13.8858921162, 60.1721991701);
}
a:link, a:visited:link {
  /*
  this highlights links on iPhones/iPads.
  so it basically works like the :hover selector
  for mobile devices.
  */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
}

/******************************************************************
H1, H2, H3, H4, H5 STYLES
******************************************************************/
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 {
  text-rendering: optimizelegibility;
  font-weight: 500;
  /*
  if you're going to use webfonts, be sure to check your weights
  http://css-tricks.com/watch-your-font-weight/
  */
  /* removing text decoration from all headline links */
}
h1 a, .h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a {
  text-decoration: none;
}

h1, .h1 {
  font-size: 2.5em;
  line-height: 1.333em;
}

h2, .h2 {
  font-size: 1.75em;
  line-height: 1.4em;
  margin-bottom: 0.375em;
}

h3, .h3 {
  font-size: 1.125em;
}

h4, .h4 {
  font-size: 1.1em;
  font-weight: 700;
}

h5, .h5 {
  font-size: 0.846em;
  line-height: 2.09em;
  text-transform: uppercase;
  letter-spacing: 2px;
}

/*********************
HEADER STYLES
*********************/
.header {
  background-color: #323944;
}

#logo {
  margin: 0.75em 0;
}
#logo a {
  color: #fff;
}

/*********************
NAVIGATION STYLES
*********************/
/*
all navs have a .nav class applied via
the wp_menu function; this is so we can
easily write one group of styles for
the navs on the site so our css is cleaner
and more scalable.
*/
.nav {
  border-bottom: 0;
  margin: 0;
  /* end .menu li */
  /* highlight current page */
  /* end current highlighters */
}
.nav li {
  /*
  so you really have to rethink your dropdowns for mobile.
  you don't want to have it expand too much because the
  screen is so small. How you manage your menu should
  depend on the project. Here's some great info on it:
  http://www.alistapart.com/articles/organizing-mobile/
  */
}
.nav li a {
  display: block;
  color: #fff;
  text-decoration: none;
  padding: 0.75em;
  /*
  remember this is for mobile ONLY, so there's no need
  to even declare hover styles here, you can do it in
  the style.scss file where it's relevant. We want to
  keep this file as small as possible!
  */
}
.nav li ul.sub-menu li a,
.nav li ul.children li a {
  padding-left: 30px;
}
/* end .nav */
/*********************
POSTS & CONTENT STYLES
*********************/
#content {
  margin-top: 1.5em;
}

.hentry {
  background-color: #fff;
  border-radius: 3px;
  margin-bottom: 1.5em;
  border: 1px solid #ccc;
}
.hentry header {
  border-bottom: 1px solid #f8f9fa;
  padding: 1.5em;
}
.hentry footer {
  padding: 1.5em;
  border-top: 1px solid #f8f9fa;
}
.hentry footer p {
  margin: 0;
}

/* end .hentry */
.single-title,
.page-title,
.entry-title {
  margin: 0;
}

/* want to style individual post classes? Booya! */
/* post by id (i.e. post-3) */
/* general post style */
/* general article on a page style */
/* general style on an attatchment */
/* sticky post style */
/* hentry class */
/* style by category (i.e. category-videos) */
/* style by tag (i.e. tag-news) */
/* post meta */
.byline {
  color: #9fa6b4;
  font-style: italic;
  margin: 0;
}
/* entry content */
.entry-content {
  padding: 1.5em 1.5em 0;
  /*
  image alignment on a screen this size may be
  a bit difficult. It's set to start aligning
  and floating images at the next breakpoint,
  but it's up to you. Feel free to change it up.
  */
}
.entry-content p {
  margin: 0 0 1.5em;
}
.entry-content table {
  width: 100%;
  border: 1px solid #eaedf2;
  margin-bottom: 1.5em;
}
.entry-content table caption {
  margin: 0 0 7px;
  font-size: 0.75em;
  color: #9fa6b4;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.entry-content tr {
  border-bottom: 1px solid #eaedf2;
}
.entry-content tr:nth-child(even) {
  background-color: #f8f9fa;
}
.entry-content td {
  padding: 7px;
  border-right: 1px solid #eaedf2;
}
.entry-content td:last-child {
  border-right: 0;
}
.entry-content th {
  background-color: #f8f9fa;
  border-bottom: 1px solid #eaedf2;
  border-right: 1px solid #eaedf2;
}
.entry-content th:last-child {
  border-right: 0;
}
.entry-content blockquote {
  margin: 0 0 1.5em 0.75em;
  padding: 0 0 0 0.75em;
  border-left: 3px solid #2980b9;
  font-style: italic;
  color: #9fa6b4;
}
.entry-content dd {
  margin-left: 0;
  font-size: 0.9em;
  color: #787878;
  margin-bottom: 1.5em;
}
.entry-content img {
  margin: 0 0 1.5em 0;
  max-width: 100%;
  height: auto;
}
.entry-content .size-auto,
.entry-content .size-full,
.entry-content .size-large,
.entry-content .size-medium,
.entry-content .size-thumbnail {
  max-width: 100%;
  height: auto;
}
.entry-content pre {
  background: #323944;
  color: #f8f9fa;
  font-size: 0.9em;
  padding: 1.5em;
  margin: 0 0 1.5em;
  border-radius: 3px;
}

/* end .entry-content */
.wp-caption {
  max-width: 100%;
  background: #eee;
  padding: 5px;
  /* images inside wp-caption */
}
.wp-caption img {
  max-width: 100%;
  margin-bottom: 0;
  width: 100%;
}
.wp-caption p.wp-caption-text {
  font-size: 0.85em;
  margin: 4px 0 7px;
  text-align: center;
}

/* end .wp-caption */
/* image gallery styles */
/* end .gallery */
/* gallery caption styles */
.tags {
  margin: 0;
}

/******************************************************************
PAGE NAVI STYLES
******************************************************************/
.pagination,
.wp-prev-next {
  margin: 1.5em 0;
}

.pagination {
  text-align: center;
}
.pagination ul {
  display: inline-block;
  background-color: #fff;
  white-space: nowrap;
  padding: 0;
  clear: both;
  border-radius: 3px;
}
.pagination li {
  padding: 0;
  margin: 0;
  float: left;
  display: inline;
  overflow: hidden;
  border-right: 1px solid #eaedf2;
}
.pagination a, .pagination span {
  margin: 0;
  text-decoration: none;
  padding: 0;
  line-height: 1em;
  font-size: 1em;
  font-weight: normal;
  padding: 0.75em;
  min-width: 1em;
  display: block;
  color: #2980b9;
}
.pagination a:hover, .pagination a:focus, .pagination span:hover, .pagination span:focus {
  background-color: #2980b9;
  color: #fff;
}
.pagination .current {
  cursor: default;
  color: #5c6b80;
}
.pagination .current:hover, .pagination .current:focus {
  background-color: #fff;
  color: #5c6b80;
}

/* end .bones_page_navi */
/* fallback previous & next links */
.wp-prev-next .prev-link {
  float: left;
}
.wp-prev-next .next-link {
  float: right;
}

/* end .wp-prev-next */
/******************************************************************
COMMENT STYLES
******************************************************************/
/* h3 comment title */
#comments-title {
  padding: 0.75em;
  margin: 0;
  border-top: 1px solid #f8f9fa;
  /* number of comments span */
}
.commentlist {
  margin: 0;
  list-style-type: none;
}

.comment {
  position: relative;
  clear: both;
  overflow: hidden;
  padding: 1.5em;
  border-bottom: 1px solid #f8f9fa;
  /* vcard */
  /* end .commentlist .vcard */
  /* end children */
  /* general comment classes */
}
.comment .comment-author {
  padding: 7px;
  border: 0;
}
.comment .vcard {
  margin-left: 50px;
}
.comment .vcard cite.fn {
  font-weight: 700;
  font-style: normal;
}
.comment .vcard time {
  display: block;
  font-size: 0.9em;
  font-style: italic;
}
.comment .vcard time a {
  color: #9fa6b4;
  text-decoration: none;
}
.comment .vcard time a:hover {
  text-decoration: underline;
}
.comment .vcard .avatar {
  position: absolute;
  left: 16px;
  border-radius: 50%;
}
.comment:last-child {
  margin-bottom: 0;
}
.comment .children {
  margin: 0;
  /* variations */
  /* change number for different depth */
}
.comment[class*=depth-] {
  margin-top: 1.1em;
}
.comment.depth-1 {
  margin-left: 0;
  margin-top: 0;
}
.comment:not(.depth-1) {
  margin-top: 0;
  margin-left: 7px;
  padding: 7px;
}
.comment.odd {
  background-color: #fff;
}
.comment.even {
  background: #f8f9fa;
}
/* comment meta */
/* comment content */
.comment_content p {
  margin: 0.7335em 0 1.5em;
  font-size: 1em;
  line-height: 1.5em;
}

/* end .commentlist .comment_content */
/* comment reply link */
.comment-reply-link {
  font-size: 0.9em;
  float: right;
} /* end .commentlist .comment-reply-link */
/* edit comment link */
.comment-edit-link {
  font-style: italic;
  margin: 0 7px;
  text-decoration: none;
  font-size: 0.9em;
}

/******************************************************************
COMMENT FORM STYLES
******************************************************************/
.comment-respond {
  padding: 1.5em;
  border-top: 1px solid #f8f9fa;
}

#reply-title {
  margin: 0;
}

.logged-in-as {
  color: #9fa6b4;
  font-style: italic;
  margin: 0;
}
.logged-in-as a {
  color: #5c6b80;
}

.comment-form-comment {
  margin: 1.5em 0 0.75em;
}

.form-allowed-tags {
  padding: 1.5em;
  background-color: #f8f9fa;
  font-size: 0.9em;
}

/* comment submit button */
#submit {
  float: right;
  font-size: 1em;
}

/* comment form title */
#comment-form-title {
  margin: 0 0 1.1em;
}

/* cancel comment reply link */
/* logged in comments */
/* allowed tags */
#allowed_tags {
  margin: 1.5em 10px 0.7335em 0;
}

/* no comments */
.nocomments {
  margin: 0 20px 1.1em;
}

/*********************
SIDEBARS & ASIDES
*********************/
.widget ul li {
  /* deep nesting */
}
.no-widgets {
  background-color: #fff;
  padding: 1.5em;
  text-align: center;
  border: 1px solid #ccc;
  border-radius: 2px;
  margin-bottom: 1.5em;
}

/*********************
FOOTER STYLES
*********************/
.footer {
  clear: both;
  background-color: #323944;
  color: #f8f9fa;
}

/*
if you checked out the link above:
http://www.alistapart.com/articles/organizing-mobile/
you'll want to style the footer nav
a bit more in-depth. Remember to keep
it simple because you'll have to
override these styles for the desktop
view.
*/
/* end .footer-links */
/*********************
LARGER MOBILE DEVICES
This is for devices like the Galaxy Note or something that's
larger than an iPhone but smaller than a tablet. Let's call them
tweeners.
*********************/
@media only screen and (min-width: 481px) {
  /******************************************************************
  Site Name:
  Author:

  Stylesheet: 481px and Up Stylesheet

  This stylesheet is loaded for larger devices. It's set to
  481px because at 480px it would load on a landscaped iPhone.
  This isn't ideal because then you would be loading all those
  extra styles on that same mobile connection.

  A word of warning. This size COULD be a larger mobile device,
  so you still want to keep it pretty light and simply expand
  upon your base.scss styles.

  ******************************************************************/
  /*
  IMPORTANT NOTE ABOUT SASS 3.3 & UP
  You can't use @extend within media queries
  anymore, so just be aware that if you drop
  them in here, they won't work.
  */
  /*********************
  NAVIGATION STYLES
  *********************/
  /* .menu is clearfixed inside mixins.scss */
  .menu {
    /* end .menu ul */
  }
  .menu ul {
    /* end .menu ul li */
    /* highlight current page */
    /* end current highlighters */
  }
  .menu ul li {
    /*
    plan your menus and drop-downs wisely.
    */
  }
  .menu ul li a {
    /*
    you can use hover styles here even though this size
    has the possibility of being a mobile device.
    */
  }
  /* end .menu */
  /*********************
  POSTS & CONTENT STYLES
  *********************/
  /* entry content */
  .entry-content {
    /* at this larger size, we can start to align images */
  }
  .entry-content .alignleft, .entry-content img.alignleft {
    margin-right: 1.5em;
    display: inline;
    float: left;
  }
  .entry-content .alignright, .entry-content img.alignright {
    margin-left: 1.5em;
    display: inline;
    float: right;
  }
  .entry-content .aligncenter, .entry-content img.aligncenter {
    margin-right: auto;
    margin-left: auto;
    display: block;
    clear: both;
  }
  /* end .entry-content */
  /*********************
  FOOTER STYLES
  *********************/
  /*
  check your menus here. do they look good?
  do they need tweaking?
  */
  /* end .footer-links */
}
/*********************
TABLET & SMALLER LAPTOPS
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.
*********************/
@media only screen and (min-width: 768px) {
  /******************************************************************
  Site Name:
  Author:

  Stylesheet: Tablet & Small Desktop Stylesheet

  Here's where you can start getting into the good stuff.
  This size will work on iPads, other tablets, and desktops.
  So you can start working with more styles, background images,
  and other resources. You'll also notice the grid starts to
  come into play. Have fun!

  ******************************************************************/
  /*********************
  GENERAL STYLES
  *********************/
  /*********************
  LAYOUT & GRID STYLES
  *********************/
  /*********************
  HEADER STYLES
  *********************/
  /*********************
  NAVIGATION STYLES
  *********************/
  .nav {
    border: 0;
    /* end .menu ul li */
    /* highlight current page */
    /* end current highlighters */
  }
  .nav ul {
    background: #323944;
    margin-top: 0;
  }
  .nav li {
    float: left;
    position: relative;
    /*
    plan your menus and drop-downs wisely.
    */
    /* showing sub-menus */
  }
  .nav li a {
    border-bottom: 0;
    /*
    you can use hover styles here even though this size
    has the possibility of being a mobile device.
    */
  }
  .nav li a:hover, .nav li a:focus {
    color: #fff;
    text-decoration: underline;
  }
  .nav li ul.sub-menu,
  .nav li ul.children {
    margin-top: 0;
    border: 1px solid #ccc;
    border-top: 0;
    position: absolute;
    visibility: hidden;
    z-index: 8999;
    /* highlight sub-menu current page */
  }
  .nav li ul.sub-menu li,
  .nav li ul.children li {
    /*
    if you need to go deeper, go nuts
    just remember deeper menus suck
    for usability. k, bai.
    */
  }
  .nav li ul.sub-menu li a,
  .nav li ul.children li a {
    padding-left: 10px;
    border-right: 0;
    display: block;
    width: 180px;
    border-bottom: 1px solid #ccc;
  }
  .nav li ul.sub-menu li:last-child a,
  .nav li ul.children li:last-child a {
    border-bottom: 0;
  }
  .nav li ul.sub-menu li ul,
  .nav li ul.children li ul {
    top: 0;
    left: 100%;
  }
  .nav li:hover > ul {
    top: auto;
    visibility: visible;
  }
  /* end .nav */
  /*********************
  SIDEBARS & ASIDES
  *********************/
  .sidebar {
    margin-top: 2.2em;
  }
  .widgettitle {
    border-bottom: 2px solid #444;
    margin-bottom: 0.75em;
  }
  .widget {
    padding: 0 10px;
    margin: 2.2em 0;
  }
  .widget ul li {
    margin-bottom: 0.75em;
    /* deep nesting */
  }
  .widget ul li ul {
    margin-top: 0.75em;
    padding-left: 1em;
  }
  /* links widget */
  /* meta widget */
  /* pages widget */
  /* recent-posts widget */
  /* archives widget */
  /* tag-cloud widget */
  /* calendar widget */
  /* category widget */
  /* recent-comments widget */
  /* search widget */
  /* text widget */
  /*********************
  FOOTER STYLES
  *********************/
  /*
  you'll probably need to do quite a bit
  of overriding here if you styled them for
  mobile. Make sure to double check these!
  */
  .footer-links ul li {
    /*
    be careful with the depth of your menus.
    it's very rare to have multi-depth menus in
    the footer.
    */
  }
  /* end .footer-links */
}
/*********************
DESKTOP
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.
*********************/
@media only screen and (min-width: 1030px) {
  /******************************************************************
  Site Name:
  Author:

  Stylesheet: Desktop Stylsheet

  This is the desktop size. It's larger than an iPad so it will only
  be seen on the Desktop.

  ******************************************************************/
}
/*********************
LARGE VIEWING SIZE
This is for the larger monitors and possibly full screen viewers.
*********************/
@media only screen and (min-width: 1240px) {
  /******************************************************************
  Site Name: 
  Author: 

  Stylesheet: Super Large Monitor Stylesheet

  You can add some advanced styles here if you like. This kicks in
  on larger screens.

  ******************************************************************/
}
/*********************
RETINA (2x RESOLUTION DEVICES)
This applies to the retina iPhone (4s) and iPad (2,3) along with
other displays with a 2x resolution. You can also create a media
query for retina AND a certain size if you want. Go Nuts.
*********************/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
  /******************************************************************
  Site Name: 
  Author: 

  Stylesheet: Retina Screens & Devices Stylesheet

  When handling retina screens you need to make adjustments, especially
  if you're not using font icons. Here you can add them in one neat
  place.

  ******************************************************************/
  /* 

  EXAMPLE 
  Let's say you have an image and you need to make sure it looks ok
  on retina screens. Let's say we have an icon which dimension are
  24px x 24px. In your regular stylesheets, it would look something
  like this:

  .icon {
  	width: 24px;
  	height: 24px;
  	background: url(img/test.png) no-repeat;
  }

  For retina screens, we have to make some adjustments, so that image
  doesn't look blurry. So, taking into account the image above and the
  dimensions, this is what we would put in our retina stylesheet:

  .icon {
  	background: url(img/test@2x.png) no-repeat;
  	background-size: 24px 24px;
  }

  So, you would create the same icon, but at double the resolution, meaning 
  it would be 48px x 48px. You'd name it the same, but with a @2x at the end
  (this is pretty standard practice). Set the background image so it matches
  the original dimensions and you are good to go. 

  */
}
/*********************
PRINT STYLESHEET
Feel free to customize this. Remember to add things that won't make
sense to print at the bottom. Things like nav, ads, and forms should
be set to display none.
*********************/
@media print {
  /******************************************************************
  Site Name:
  Author:

  Stylesheet: Print Stylesheet

  This is the print stylesheet. There's probably not a lot
  of reasons to edit this stylesheet. If you want to
  though, go for it.

  ******************************************************************/
  * {
    background: transparent !important;
    color: black !important;
    text-shadow: none !important;
    filter: none !important;
    -ms-filter: none !important;
  }
  a, a:visited {
    color: #444 !important;
    text-decoration: underline;
  }
  a:after, a:visited:after {
    content: " (" attr(href) ")";
  }
  a abbr[title]:after, a:visited abbr[title]:after {
    content: " (" attr(title) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr, img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .sidebar,
  .page-navigation,
  .wp-prev-next,
  .respond-form,
  nav {
    display: none;
  }
}
/*********************
POPINDIA CUSTOM STYLES
Modern glassmorphism design for PopIndia
*********************/
/*********************
BONES STYLE OVERRIDES
*********************/
/* Override default post/page entry styles */
.hentry {
  background-color: transparent !important;
  border: none !important;
  border-radius: 16px !important;
  margin-bottom: 2em;
  padding: 0 !important;
  box-shadow: none !important;
}

/* Override any conflicting article styles */
article {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Override default content backgrounds */
.entry-content {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* Override default text colors that might conflict */
.entry-content p,
.entry-content li,
.entry-content div {
  color: rgba(255, 255, 255, 0.9) !important;
}

/* Override any default link styles that conflict */
.entry-content a {
  color: rgba(255, 255, 255, 0.9);
  text-decoration: underline;
  transition: all 0.3s ease;
}
.entry-content a:hover {
  color: white;
  text-decoration: none;
}

/* Override default header styles */
.entry-header {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* Override sidebar styles if they appear */
.sidebar {
  background: rgba(255, 255, 255, 0.1) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  padding: 30px !important;
}
@supports (-webkit-touch-callout: none) {
  .sidebar {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: rgba(30, 30, 46, 0.95) !important;
  }
}

/* Override any footer widget styles */
.footer-widget {
  background: transparent !important;
  border: none !important;
}

/* Override form styles that might conflict */
input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=tel],
input[type=number],
textarea,
select {
  background: rgba(255, 255, 255, 0.1) !important;
  border: 2px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 12px !important;
  color: white !important;
  padding: 15px !important;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=number]:focus,
textarea:focus,
select:focus {
  border-color: rgba(255, 255, 255, 0.5) !important;
  background: rgba(255, 255, 255, 0.15) !important;
  outline: none !important;
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=url]::placeholder,
input[type=password]::placeholder,
input[type=search]::placeholder,
input[type=tel]::placeholder,
input[type=number]::placeholder,
textarea::placeholder,
select::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
}

/* Override button styles */
button,
input[type=submit],
input[type=button] {
  background: linear-gradient(135deg, #000000 0%, #010101 66%, #382B50 100%);
  border: none !important;
  border-radius: 12px !important;
  color: white !important;
  padding: 15px 30px !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
}
button:hover,
input[type=submit]:hover,
input[type=button]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3) !important;
}

/* Modern Reset and Base Styles */
* {
  box-sizing: border-box;
}

body {
  font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.6;
  color: #1a1a1a;
  background: linear-gradient(135deg, #000000 0%, #010101 80%, #382B50 100%);
  min-height: 100vh;
  padding-top: 0; /* No padding needed since header is transparent at top */
}

/* Modern Container Override */
.wrap {
  margin: 0 auto;
  padding: 0 20px;
}

/* Floating Glassmorphic Header - Always glassmorphic */
#header {
  position: fixed;
  top: 20px;
  left: 20px;
  right: 20px;
  z-index: 1000;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 20px;
  margin: 0;
  padding: 20px 40px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  /* Hidden state when scrolling down */
  /* Visible state */
}
@supports (-webkit-touch-callout: none) {
  #header {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(0, 0, 0, 0.7);
  }
}
#header.hidden {
  transform: translateY(-150%);
  opacity: 0;
}
#header.visible {
  transform: translateY(0);
  opacity: 1;
}
@media (max-width: 768px) {
  #header {
    top: 10px;
    left: 10px;
    right: 10px;
    border-radius: 15px;
    padding: 20px;
    margin: 0 !important;
  }
}

/* Modern Navigation */
#nav ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 30px;
}
#nav a {
  color: white;
  text-decoration: none;
  font-weight: 500;
  padding: 10px 20px;
  border-radius: 12px;
  transition: all 0.3s ease;
}
#nav a:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: translateY(-2px);
}

/* Header Layout */
#inner-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  background: none !important;
  border: none !important;
}

/* Site Branding */
.site-branding {
  z-index: 1000;
}
.site-branding .site-title {
  margin: 0;
}
.site-branding .site-title a {
  color: white;
  text-decoration: none;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  transition: all 0.3s ease;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}
.site-branding .site-title a:hover {
  transform: scale(1.05);
  text-shadow: 0 4px 20px rgba(255, 255, 255, 0.3);
}
.site-branding .site-logo img {
  max-height: 35px;
  width: auto;
  transition: all 0.3s ease;
  filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.3));
}
.site-branding .site-logo img:hover {
  transform: scale(1.05);
  filter: drop-shadow(0 4px 20px rgba(255, 255, 255, 0.3));
}

/* Mobile Menu Toggle */
.mobile-menu-toggle {
  display: none;
  flex-direction: column;
  background: none;
  border: none;
  cursor: pointer;
  padding: 10px;
  z-index: 1001;
}
.mobile-menu-toggle .hamburger-line {
  width: 25px;
  height: 3px;
  background: white;
  margin: 3px 0;
  transition: all 0.3s ease;
  border-radius: 2px;
}
.mobile-menu-toggle:hover .hamburger-line {
  background: rgba(255, 255, 255, 0.8);
  transform: scale(1.1);
}
.mobile-menu-toggle.active .hamburger-line:nth-child(1) {
  transform: rotate(45deg) translate(6px, 6px);
}
.mobile-menu-toggle.active .hamburger-line:nth-child(2) {
  opacity: 0;
}
.mobile-menu-toggle.active .hamburger-line:nth-child(3) {
  transform: rotate(-45deg) translate(7px, -6px);
}

/* Enhanced Navigation Styles */
/* Floating Animation for Navigation */
@keyframes navFloat {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-2px);
  }
}
.nav-menu li:nth-child(odd) a {
  animation: navFloat 4s ease-in-out infinite;
}

.nav-menu li:nth-child(even) a {
  animation: navFloat 4s ease-in-out infinite 2s;
}

/* Mobile Responsive Navigation */
@media (max-width: 768px) {
  .mobile-menu-toggle {
    display: flex;
  }
  .nav-menu li a {
    animation: none !important;
  }
}
html {
  scroll-behavior: smooth;
}

/* Global: never hyphenate words — wrap to next line instead */
*, *::before, *::after {
  hyphens: none !important;
  -webkit-hyphens: none !important;
  -ms-hyphens: none !important;
  word-break: normal;
  overflow-wrap: normal;
}

/* Full Width Content - No Glassmorphism Cards */
#content {
  margin: 0;
  width: 100%;
}

.inner-content {
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: none;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
  max-width: 100%;
}

/* Modern Typography */
.page-title,
h1,
h2,
h3 {
  color: white;
  margin-bottom: 20px;
  font-weight: 600;
}

.page-title {
  font-size: 3rem;
  text-align: center;
  margin-bottom: 40px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  animation: none;
}

.entry-content {
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.1rem;
  line-height: 1.8;
}

.popindia-about-section,
.popindia-artists-grid,
.popindia-music-catalog,
.popindia-team,
.popindia-contact,
.popindia-privacy {
  margin-top: 40px;
  padding: 30px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.music-item, .team-member, .artist-card {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 25px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: all 0.3s ease;
}
.music-item:hover, .team-member:hover, .artist-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
  background: rgba(255, 255, 255, 0.15);
}

.team-member {
  text-align: center;
}

.music-item {
  padding: 20px;
}
.music-item:hover {
  transform: translateY(-3px);
}

.team-grid, .music-grid, .artists-grid {
  display: grid;
  gap: 20px;
  margin-top: 30px;
}

.artists-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.music-grid {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.team-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 25px;
}

.contact-info {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  padding: 25px;
  margin: 20px 0;
}

.privacy-section {
  margin-bottom: 30px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
}

#footer {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: white;
  padding: 40px 20px;
  margin-top: 0px;
  background: linear-gradient(135deg, #000000 0%, #010101 66%, #382B50 100%);
}
@supports (-webkit-touch-callout: none) {
  #footer {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

@keyframes float {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
}
@media (max-width: 768px) {
  .page-title {
    font-size: 2rem;
  }
  #nav ul {
    flex-direction: column;
    gap: 10px;
  }
  .inner-content {
    padding: 10px;
  }
  .artists-grid,
  .music-grid,
  .team-grid {
    grid-template-columns: 1fr;
  }
}
.section-cta {
  text-align: center;
}

.page-subtitle {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 700;
  margin-bottom: 15px;
}

.page-description {
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.6;
  margin: 0;
}

.page-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: white;
  -webkit-text-fill-color: white;
  background: none;
  margin-bottom: 25px;
  line-height: 1.2;
}

/*********************
NAVIGATION SPACING FIX - LESS EDGE PADDING
*********************/
/* Glassmorphism Header - Reduced side padding */
#header {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 16px;
  margin: 20px 10px;
  padding: 15px 15px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}
@supports (-webkit-touch-callout: none) {
  #header {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}

/* Enhanced Navigation Styles */
.main-navigation {
  flex-grow: 1;
  display: flex;
  justify-content: flex-end;
  z-index: 999;
}
.main-navigation .nav-menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 3px;
}
.main-navigation .nav-menu li {
  position: relative;
}
.main-navigation .nav-menu li a {
  color: white;
  text-decoration: none;
  font-weight: 500;
  padding: 10px 16px;
  border-radius: 12px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
  font-size: 0.95rem;
}
.main-navigation .nav-menu li a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  opacity: 0;
  transition: all 0.3s ease;
  z-index: -1;
}
.main-navigation .nav-menu li a:hover {
  transform: translateY(-2px);
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}
.main-navigation .nav-menu li a:hover:before {
  opacity: 1;
  box-shadow: 0 8px 25px rgba(255, 255, 255, 0.1);
}
.main-navigation .nav-menu li a.current-menu-item, .main-navigation .nav-menu li a.current_page_item {
  background: rgba(255, 255, 255, 0.2);
  box-shadow: 0 4px 15px rgba(255, 255, 255, 0.1);
}

/* Mobile navigation - 1080px breakpoint */
@media (max-width: 1080px) {
  .main-navigation {
    position: absolute;
    top: 100%;
    left: 10px;
    right: 10px;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-20px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 999;
    display: none;
  }
  @supports (-webkit-touch-callout: none) {
    .main-navigation {
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      background: rgba(10, 10, 20, 0.98);
    }
  }
  .main-navigation .nav-menu {
    flex-direction: column;
    gap: 0;
    padding: 15px;
    width: 100%;
  }
  .main-navigation .nav-menu li a {
    display: block;
    padding: 12px 15px;
    border-radius: 8px;
    margin-bottom: 5px;
    text-align: center;
  }
  .main-navigation .nav-menu li a:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateX(5px);
  }
}
/* Small mobile adjustments */
@media (max-width: 480px) {
  .main-navigation {
    left: 5px;
    right: 5px;
  }
  .main-navigation .nav-menu {
    padding: 12px;
  }
  .main-navigation .nav-menu li a {
    padding: 10px 12px;
  }
}
/* Small mobile adjustments */
@media (max-width: 480px) {
  .main-navigation {
    left: 5px;
    right: 5px;
  }
  .main-navigation .nav-menu {
    padding: 12px;
  }
  .main-navigation .nav-menu li a {
    padding: 10px 12px;
  }
}
/*********************
STICKY NAVIGATION - SUPER COOL SCROLL EFFECTS
*********************/
/* Header - Sticky with transform effects */
#header {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 16px;
  margin: 20px 10px;
  padding: 15px 15px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  /* Sticky positioning */
  position: sticky;
  top: 10px;
  z-index: 9999;
  /* Smooth transitions for all properties */
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  /* Initial state - normal positioning */
  transform: translateY(0);
  /* Scrolled state - enhanced glassmorphism */
  /* Hide state - when scrolling up fast */
  /* Show state - when scrolling down or at top */
}
@supports (-webkit-touch-callout: none) {
  #header {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
#header.scrolled {
  top: 0;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: none;
  border-radius: 0;
  margin: 0;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4), 0 0 40px rgba(102, 126, 234, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.2);
  /* Subtle glow effect */
  /* Compact padding when scrolled */
  padding: 12px 15px;
  /* Enhanced floating effect */
  transform: translateY(-2px);
  /* Logo scaling effect when scrolled */
  /* Nav items get enhanced glow */
}
@supports (-webkit-touch-callout: none) {
  #header.scrolled {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(10, 10, 20, 0.98);
  }
}
#header.scrolled:before {
  content: "";
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.3) 0%, rgba(118, 75, 162, 0.3) 50%, rgba(102, 126, 234, 0.3) 100%);
  border-radius: 18px;
  z-index: -1;
  opacity: 0;
  animation: glowPulse 3s ease-in-out infinite;
}
#header.scrolled .site-branding .site-title a {
  font-size: 1.8rem;
  transform: scale(0.95);
}
#header.scrolled .site-branding .site-logo img {
  max-height: 40px;
  transform: scale(0.95);
}
#header.scrolled .main-navigation .nav-menu li a:hover:before {
  box-shadow: 0 8px 25px rgba(255, 255, 255, 0.2), 0 0 20px rgba(102, 126, 234, 0.3);
}
#header.scrolled .main-navigation .nav-menu li a.current-menu-item, #header.scrolled .main-navigation .nav-menu li a.current_page_item {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.3) 0%, rgba(118, 75, 162, 0.3) 100%);
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}
#header.hidden {
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}
#header.visible {
  transform: translateY(0);
  opacity: 1;
  pointer-events: all;
}

/* Glow pulse animation for scrolled state */
@keyframes glowPulse {
  0%, 100% {
    opacity: 0.3;
    transform: scale(1);
  }
  50% {
    opacity: 0.6;
    transform: scale(1.02);
  }
}
/* Enhanced floating particles effect for sticky header */
#header.scrolled:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle at 15% 25%, rgba(102, 126, 234, 0.08) 1px, transparent 1px), radial-gradient(circle at 85% 75%, rgba(118, 75, 162, 0.08) 1px, transparent 1px), radial-gradient(circle at 45% 15%, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
  background-size: 60px 60px, 80px 80px, 100px 100px;
  animation: floatingParticles 15s linear infinite;
  pointer-events: none;
  border-radius: 16px;
  opacity: 0;
  transition: opacity 0.6s ease;
}

#header.scrolled:hover:after {
  opacity: 1;
}

@keyframes floatingParticles {
  0% {
    transform: translateY(0) translateX(0);
  }
  33% {
    transform: translateY(-10px) translateX(5px);
  }
  66% {
    transform: translateY(-5px) translateX(-3px);
  }
  100% {
    transform: translateY(0) translateX(0);
  }
}
/* Logo scaling transitions */
.site-branding .site-title a,
.site-branding .site-logo img {
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Mobile sticky adjustments */
@media (max-width: 768px) {
  #header {
    margin: 15px 5px;
  }
  #header.scrolled {
    margin: 5px 2px;
    padding: 10px 12px;
  }
  #header.scrolled .site-branding .site-title a {
    font-size: 1.6rem;
  }
  #header.scrolled .site-branding .site-logo img {
    max-height: 35px;
  }
}
/* Header Layout - Logo far left, nav far right */
#inner-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  background: none !important;
  border: none !important;
  width: 100%;
  max-width: none;
  margin: 0;
}

/* Site Branding - Remove extra margins */
.site-branding {
  z-index: 1000;
  flex-shrink: 0;
}
.site-branding .site-title {
  margin: 0;
}
.site-branding .site-title a {
  color: white;
  text-decoration: none;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  transition: all 0.3s ease;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}
.site-branding .site-title a:hover {
  transform: scale(1.05);
  text-shadow: 0 4px 20px rgba(255, 255, 255, 0.3);
}
.site-branding .site-logo img {
  max-height: 30px;
  width: auto;
  transition: all 0.3s ease;
  filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.3));
}
.site-branding .site-logo img:hover {
  transform: scale(1.05);
  filter: drop-shadow(0 4px 20px rgba(255, 255, 255, 0.3));
}

/* Mobile adjustments */
@media (max-width: 768px) {
  #header {
    margin: 15px 5px;
    padding: 12px 15px;
  }
  #inner-header {
    gap: 20px;
  }
  .site-branding .site-title a {
    font-size: 1.8rem;
  }
  .site-branding .site-logo img {
    max-height: 25px;
  }
}
/* Large screen adjustments */
@media (min-width: 1400px) {
  #header {
    margin: 0;
    max-width: none;
  }
}
/*********************
MOBILE NAVIGATION FIXES - 1080px BREAKPOINT & IMPROVED SPACING
*********************/
/* Header Layout - Logo far left, nav far right with MORE space between */
#inner-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  background: none !important;
  backdrop-filter: none !important;
  border: none !important;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 10px;
  /* Add small padding for mobile edge spacing */
  /* Force elements to opposite edges with maximum space */
}
@media (max-width: 1080px) {
  #inner-header {
    padding: 0px !important;
    backdrop-filter: none !important;
    /* More padding on mobile for breathing room */
  }
}

/* Site Branding - Stick to far left */
.site-branding {
  z-index: 1000;
  flex-shrink: 0;
  margin-right: auto;
  /* Push all the way left */
}
.site-branding .site-title {
  margin: 0;
}
.site-branding .site-title a {
  color: white;
  text-decoration: none;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  transition: all 0.3s ease;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  /* Responsive logo sizing */
}
.site-branding .site-title a:hover {
  transform: scale(1.05);
  text-shadow: 0 4px 20px rgba(255, 255, 255, 0.3);
}
@media (max-width: 1080px) {
  .site-branding .site-title a {
    font-size: 1.8rem;
  }
}
@media (max-width: 480px) {
  .site-branding .site-title a {
    font-size: 1.6rem;
  }
}
.site-branding .site-logo img {
  max-height: 35px;
  width: auto;
  transition: all 0.3s ease;
  filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.3));
  /* Responsive logo sizing */
}
.site-branding .site-logo img:hover {
  transform: scale(1.05);
  filter: drop-shadow(0 4px 20px rgba(255, 255, 255, 0.3));
}
@media (max-width: 1080px) {
  .site-branding .site-logo img {
    max-height: 30px;
  }
}
@media (max-width: 480px) {
  .site-branding .site-logo img {
    max-height: 25px;
  }
}

/* Mobile Menu Toggle - Stick to far right, smaller size */
.mobile-menu-toggle {
  display: none;
  flex-direction: column;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  z-index: 1001;
  margin-left: auto;
  margin-right: 0;
  flex-shrink: 0;
  /* Show hamburger at 1080px instead of 768px */
}
.mobile-menu-toggle .hamburger-line {
  width: 20px;
  /* Smaller hamburger - was 25px */
  height: 2px;
  /* Thinner lines - was 3px */
  background: white;
  margin: 2px 0;
  /* Tighter spacing - was 3px */
  transition: all 0.3s ease;
  border-radius: 1px;
}
.mobile-menu-toggle:hover .hamburger-line {
  background: rgba(255, 255, 255, 0.8);
  transform: scale(1.05);
  /* Smaller scale effect */
}
.mobile-menu-toggle.active .hamburger-line:nth-child(1) {
  transform: rotate(45deg) translate(4px, 4px);
  /* Adjusted translate */
}
.mobile-menu-toggle.active .hamburger-line:nth-child(2) {
  opacity: 0;
}
.mobile-menu-toggle.active .hamburger-line:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
  /* Adjusted translate */
}
@media (max-width: 1080px) {
  .mobile-menu-toggle {
    display: flex;
  }
}

/* Sticky Navigation - Update breakpoints for mobile menu */
#header {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 16px;
  margin: 20px 10px;
  padding: 15px 15px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  position: sticky;
  top: 10px;
  z-index: 9999;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  transform: translateY(0);
  /* Mobile sticky adjustments for 1080px breakpoint */
}
@supports (-webkit-touch-callout: none) {
  #header {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
#header.scrolled {
  top: 0;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: none;
  border-radius: 0;
  margin: 0;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4), 0 0 40px rgba(102, 126, 234, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.2);
  padding: 12px 15px;
  transform: translateY(-2px);
}
@supports (-webkit-touch-callout: none) {
  #header.scrolled {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(10, 10, 20, 0.98);
  }
}
#header.scrolled .site-branding .site-title a {
  font-size: 1.8rem;
  transform: scale(0.95);
}
#header.scrolled .site-branding .site-logo img {
  max-height: 40px;
  transform: scale(0.95);
}
@media (max-width: 1080px) {
  #header {
    margin: 15px 5px;
    padding: 12px 15px;
  }
  #header.scrolled {
    margin: 0;
    padding: 10px 15px;
  }
  #header.scrolled .site-branding .site-title a {
    font-size: 1.6rem;
  }
  #header.scrolled .site-branding .site-logo img {
    max-height: 28px;
  }
}
@media (max-width: 480px) {
  #header {
    margin: 10px 2px;
    padding: 10px 12px;
  }
  #header.scrolled {
    padding: 8px 12px;
  }
}

#header {
  margin: 20px 60px !important;
}

@media (max-width: 600px) {
  #header {
    margin: 20px 0px !important;
    padding: 20px !important;
  }
}
/* Floating animations - disable on mobile for performance */
@media (max-width: 1080px) {
  .nav-menu li a {
    animation: none !important;
  }
}
/* Ensure proper z-index stacking */
.mobile-menu-toggle {
  z-index: 1001;
  padding: 15px !important;
}

#header {
  z-index: 9999;
}

.nav-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 2rem;
}
.nav-menu > li {
  position: relative;
}
.nav-menu > li > a {
  display: block;
  padding: 0.5rem 0;
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.3s ease;
}
.nav-menu > li > a:hover {
  color: linear-gradient(90deg, #667eea, #764ba2);
}
.nav-menu > li.menu-item-has-children > a::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 0.5rem;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid currentColor;
  vertical-align: middle;
  transition: transform 0.3s ease;
}
@media (min-width: 1081px) {
  .nav-menu > li.menu-item-has-children:hover > a::after {
    transform: rotate(180deg);
  }
}
.nav-menu > li.menu-item-has-children:hover > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.nav-menu .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: rgba(18, 18, 18, 0.98);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 8px;
  padding: 0.5rem 0;
  margin-top: 0.5rem;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.1);
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.3s ease;
  z-index: 1000;
  display: flex;
  flex-direction: column;
}
@supports (-webkit-touch-callout: none) {
  .nav-menu .sub-menu {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(10, 10, 20, 0.98);
  }
}
.nav-menu .sub-menu li {
  list-style: none;
  position: relative;
}
.nav-menu .sub-menu li a {
  display: block;
  padding: 0.75rem 1.25rem;
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  font-size: 0.95rem;
  transition: all 0.2s ease;
  border-left: 3px solid transparent;
}
.nav-menu .sub-menu li a:hover {
  color: linear-gradient(90deg, #667eea, #764ba2);
  background: rgba(255, 64, 129, 0.1);
  border-left-color: linear-gradient(90deg, #667eea, #764ba2);
}
.nav-menu .sub-menu li.menu-item-has-children > a::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 4px solid currentColor;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}
.nav-menu .sub-menu li.menu-item-has-children:hover > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.nav-menu .sub-menu .sub-menu {
  top: 0;
  left: 100%;
  margin-top: 0;
  margin-left: 0.5rem;
}

.nav-menu .current-menu-item > a,
.nav-menu .current-menu-ancestor > a,
.nav-menu .current_page_item > a,
.nav-menu .current_page_ancestor > a {
  color: linear-gradient(90deg, #667eea, #764ba2);
}
.nav-menu .current-menu-item > a::before,
.nav-menu .current-menu-ancestor > a::before,
.nav-menu .current_page_item > a::before,
.nav-menu .current_page_ancestor > a::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, #667eea, #764ba2);
}
.nav-menu .sub-menu .current-menu-item > a,
.nav-menu .sub-menu .current_page_item > a {
  background: rgba(255, 64, 129, 0.1);
  border-left-color: linear-gradient(90deg, #667eea, #764ba2);
  color: linear-gradient(90deg, #667eea, #764ba2);
}

@media (max-width: 1080px) {
  .nav-menu {
    flex-direction: column;
    gap: 0;
    width: 100%;
  }
  .nav-menu > li {
    width: 100%;
  }
  .nav-menu > li > a {
    padding: 1rem 1.5rem;
  }
  .nav-menu > li.menu-item-has-children > a {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
  }
  .nav-menu > li.menu-item-has-children > a::after {
    content: "+";
    border: none;
    font-size: 1.5rem;
    line-height: 0;
    transition: none;
    position: absolute;
    right: 20px;
  }
  .nav-menu > li.menu-item-has-children.open > a::after {
    content: "−";
  }
  .nav-menu .sub-menu {
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    box-shadow: none;
    border: none;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 0;
    margin: 0;
    padding: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    display: none !important;
  }
  .nav-menu .sub-menu li a {
    padding-left: 2.5rem;
  }
  .nav-menu .sub-menu .sub-menu {
    margin: 0;
  }
  .nav-menu .sub-menu .sub-menu li a {
    padding-left: 3.5rem;
  }
  .nav-menu li.menu-item-has-children.open > .sub-menu {
    display: block !important;
    max-height: 500px;
  }
  .menu-item-has-children.open > .sub-menu {
    display: block;
  }
}
/*********************
HERO SECTION WITH ALBUM GRID - FIXED 8x3 LAYOUT
*********************/
/* Hero Section Container */
.hero-section-grid {
  border-radius: 16px;
  position: relative;
  height: auto;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.8) 50%, transparent 90%);
}
.hero-section-grid:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.3) 0%, transparent 70%);
  pointer-events: none;
  z-index: 2;
}

/* Album Grid Layout - EXACT 8x3 and 8x2 Structure */
.album-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  /* EXACTLY 8 columns always */
  gap: clamp(4px, 1vw, 12px);
  /* Responsive gap */
  width: 100%;
  max-width: 1400px;
  padding: clamp(4px, 1vw, 10px);
}
.album-grid.top-grid {
  grid-template-rows: repeat(3, 1fr);
  /* EXACTLY 3 rows */
  /* This creates EXACTLY 24 tiles (8×3) */
  overflow: hidden;
  margin-bottom: 20px;
  z-index: 5;
  animation: gridFadeIn 1.2s ease-out;
  -webkit-mask: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.1) 100%);
  mask: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.1) 100%);
}
.album-grid.bottom-grid {
  grid-template-rows: repeat(2, 1fr);
  /* EXACTLY 2 rows */
  /* This creates EXACTLY 16 tiles (8×2) */
  overflow: hidden;
  margin-top: 10px;
  z-index: 1;
  transform: scaleY(-1) perspective(800px) rotateX(135deg);
  transform-origin: center top;
  -webkit-mask: linear-gradient(to top, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.2) 100%);
  mask: linear-gradient(to top, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.2) 100%);
  filter: blur(0.8px);
  animation: reflectionFadeIn 1.5s ease-out 0.6s both;
}
.album-grid.bottom-grid .album-tile {
  pointer-events: none;
}
.album-grid.bottom-grid .album-tile:hover {
  transform: none;
}
.album-grid.bottom-grid .album-tile:hover .album-overlay {
  opacity: 0;
}

/* Individual Album Tiles - Responsive Auto-Sizing */
.album-tile {
  /* Grid will auto-size each tile to fit 8 per row */
  aspect-ratio: 1;
  /* Keep square shape */
  position: relative;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  min-width: 0;
  /* Allow shrinking */
  min-height: 0;
  /* Allow shrinking */
  animation: albumFloat 6s ease-in-out infinite;
}
.album-tile:nth-child(1) {
  animation-delay: 0s;
}
.album-tile:nth-child(2) {
  animation-delay: 0.1s;
}
.album-tile:nth-child(3) {
  animation-delay: 0.2s;
}
.album-tile:nth-child(4) {
  animation-delay: 0.3s;
}
.album-tile:nth-child(5) {
  animation-delay: 0.4s;
}
.album-tile:nth-child(6) {
  animation-delay: 0.5s;
}
.album-tile:nth-child(7) {
  animation-delay: 0.6s;
}
.album-tile:nth-child(8) {
  animation-delay: 0.7s;
}
.album-tile:nth-child(9) {
  animation-delay: 0.8s;
}
.album-tile:nth-child(10) {
  animation-delay: 0.9s;
}
.album-tile:nth-child(11) {
  animation-delay: 1s;
}
.album-tile:nth-child(12) {
  animation-delay: 1.1s;
}
.album-tile:nth-child(13) {
  animation-delay: 1.2s;
}
.album-tile:nth-child(14) {
  animation-delay: 1.3s;
}
.album-tile:nth-child(15) {
  animation-delay: 1.4s;
}
.album-tile:nth-child(16) {
  animation-delay: 1.5s;
}
.album-tile:nth-child(17) {
  animation-delay: 1.6s;
}
.album-tile:nth-child(18) {
  animation-delay: 1.7s;
}
.album-tile:nth-child(19) {
  animation-delay: 1.8s;
}
.album-tile:nth-child(20) {
  animation-delay: 1.9s;
}
.album-tile:nth-child(21) {
  animation-delay: 2s;
}
.album-tile:nth-child(22) {
  animation-delay: 2.1s;
}
.album-tile:nth-child(23) {
  animation-delay: 2.2s;
}
.album-tile:nth-child(24) {
  animation-delay: 2.3s;
}
.album-tile:hover {
  transform: translateY(-4px) scale(1.02);
  /* Subtle hover for small tiles */
  z-index: 10;
}
.album-tile:hover .album-overlay {
  opacity: 1;
}

@keyframes albumFloat {
  0%, 100% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(-8px) rotate(1deg);
  }
}
/* Album Cover Styling - Ultra Responsive */
.album-cover {
  width: 100%;
  height: 100%;
  position: relative;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: clamp(4px, 0.5vw, 8px);
  /* Responsive border radius */
  overflow: hidden;
  transition: all 0.3s ease;
  /* On very small screens, simplify overlay */
}
@supports (-webkit-touch-callout: none) {
  .album-cover {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.album-cover .album-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.album-cover .album-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.album-cover .album-placeholder .album-initial {
  font-size: clamp(0.5rem, 1.5vw, 1rem);
  /* Ultra responsive text */
  font-weight: bold;
  color: white;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  line-height: 1;
}
.album-cover .album-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.8) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  display: flex;
  align-items: flex-end;
  padding: clamp(2px, 0.5vw, 6px);
  /* Ultra responsive padding */
}
.album-cover .album-overlay .album-info {
  width: 100%;
}
.album-cover .album-overlay .album-info .album-title {
  font-size: clamp(0.4rem, 1vw, 0.7rem);
  /* Ultra responsive title */
  font-weight: 600;
  color: white;
  margin: 0 0 1px 0;
  line-height: 1.1;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.album-cover .album-overlay .album-info .album-artist {
  font-size: clamp(0.3rem, 0.8vw, 0.5rem);
  /* Ultra responsive artist */
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
  line-height: 1;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 480px) {
  .album-cover .album-overlay .album-info .album-artist {
    display: none;
    /* Hide artist name on very small screens */
  }
}

/* Hero Content Center - Positioned Higher Over Faded Top Grid */
.hero-content-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  z-index: 15;
  animation: contentFadeIn 1s ease-out 0.3s both;
}
.hero-content-center .hero-content-wrapper {
  text-align: center;
  padding: 0;
  margin: 0 auto;
  max-width: 800px;
  position: relative;
  /* Remove all glassmorphism styling */
  background: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  /* Remove pseudo elements */
}
.hero-content-center .hero-content-wrapper:before, .hero-content-center .hero-content-wrapper:after {
  display: none;
}
.hero-content-center .hero-content-wrapper .hero-main-title {
  font-size: clamp(2rem, 5vw, 3.5rem);
  /* Responsive title */
  font-weight: 700;
  margin-bottom: 18px;
  color: white;
  line-height: 1.2;
  text-shadow: 0 3px 12px rgba(0, 0, 0, 0.8);
}
.hero-content-center .hero-content-wrapper .hero-main-subtitle {
  font-size: clamp(1rem, 2.5vw, 1.2rem);
  /* Responsive subtitle */
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 25px;
  line-height: 1.5;
  font-weight: 400;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7);
}
.hero-content-center .hero-content-wrapper .hero-main-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
}
@media (max-width: 480px) {
  .hero-content-center .hero-content-wrapper .hero-main-subtitle {
    display: none;
  }
  .hero-content-center .hero-content-wrapper .hero-main-buttons {
    display: none;
  }
}

/* Button Large Variant */
.btn-large {
  padding: 18px 36px;
  font-size: 1.1rem;
  font-weight: 700;
}
@media (max-width: 480px) {
  .btn-large {
    padding: 5px 15px !important;
    font-size: 0.8rem !important;
    width: 100%;
    max-width: 280px;
  }
}

/* Entrance Animations */
@keyframes gridFadeIn {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes contentFadeIn {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) translateY(30px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) translateY(0) scale(1);
  }
}
@keyframes reflectionFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*********************
HERO SECTION - CLEAN (NO ALBUM GRID)
*********************/
.hero-section-clean {
  position: relative;
  height: 70vh;
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 0 20px;
}

.hero-section-clean .hero-content-wrapper {
  position: relative;
  z-index: 10;
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}

.hero-section-clean .hero-main-title {
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 20px;
  background: linear-gradient(135deg, #ffffff 0%, #e0e0e0 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.hero-section-clean .hero-main-subtitle {
  font-size: clamp(1rem, 2vw, 1.3rem);
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 35px;
  line-height: 1.6;
  font-weight: 300;
}

.hero-section-clean .hero-main-buttons {
  display: flex;
  gap: 15px;
  justify-content: center;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .hero-section-clean {
    min-height: 350px;
  }
  .hero-section-clean .hero-main-buttons {
    flex-direction: column;
    align-items: center;
  }
  .hero-section-clean .hero-main-buttons .btn {
    width: 100%;
    max-width: 280px;
  }
}
/*********************
LANDING PAGE STYLES
*********************/
/* Hero Section */
.hero-section {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  margin-bottom: 80px;
}
.hero-section .hero-content {
  flex: 1;
  max-width: 600px;
  z-index: 2;
}
.hero-section .hero-content .hero-title {
  font-family: "Poppins", sans-serif;
  font-size: 4rem;
  font-weight: 700;
  margin-bottom: 20px;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.8) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.hero-section .hero-content .hero-subtitle {
  font-size: 1.3rem;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 40px;
  line-height: 1.6;
}
.hero-section .hero-content .hero-buttons {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.hero-section .hero-visual {
  flex: 1;
  height: 400px;
  position: relative;
}
.hero-section .hero-visual .floating-elements {
  position: relative;
  height: 100%;
}
.hero-section .hero-visual .floating-elements .element {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}
@supports (-webkit-touch-callout: none) {
  .hero-section .hero-visual .floating-elements .element {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.hero-section .hero-visual .floating-elements .element.element-1 {
  width: 120px;
  height: 120px;
  top: 20%;
  right: 20%;
  animation: float 6s ease-in-out infinite;
}
.hero-section .hero-visual .floating-elements .element.element-2 {
  width: 80px;
  height: 80px;
  top: 60%;
  right: 50%;
  animation: float 8s ease-in-out infinite 2s;
}
.hero-section .hero-visual .floating-elements .element.element-3 {
  width: 60px;
  height: 60px;
  top: 80%;
  right: 10%;
  animation: float 5s ease-in-out infinite 4s;
}

/* Modern Buttons */
.btn {
  display: inline-block;
  padding: 15px 30px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}
.btn:before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s;
}
.btn:hover:before {
  left: 100%;
}
.btn.btn-primary {
  background: linear-gradient(135deg, #000000 0%, #010101 66%, #382B50 100%);
  color: white;
  box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.btn.btn-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 35px rgba(102, 126, 234, 0.4);
}
.btn.btn-secondary {
  background: rgba(255, 255, 255, 0.1);
  color: white;
  border: 2px solid rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
@supports (-webkit-touch-callout: none) {
  .btn.btn-secondary {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.btn.btn-secondary:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: translateY(-3px);
  border-color: rgba(255, 255, 255, 0.5);
}
.btn.btn-outline {
  background: transparent;
  color: white;
  border: 2px solid rgba(255, 255, 255, 0.5);
}
.btn.btn-outline:hover {
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(-2px);
}
.btn.btn-large {
  padding: 20px 40px;
  font-size: 1.1rem;
}

/*********************
FEATURED ARTISTS - IMPROVED TO MATCH ROSTER STYLE
*********************/
/* Featured Artists Section AND Roster Section - Updated Layout */
.featured-artists,
.roster-section {
  margin-bottom: 80px;
  padding: 80px 40px;
}
.featured-artists .featured-artists-container,
.featured-artists .roster-container,
.roster-section .featured-artists-container,
.roster-section .roster-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
}
.featured-artists .section-header,
.roster-section .section-header {
  text-align: center;
  margin-bottom: 60px;
}
.featured-artists .section-header h2,
.roster-section .section-header h2 {
  font-size: 2.5rem;
  font-weight: 700;
  color: white !important;
  margin-bottom: 15px;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.9) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.featured-artists .section-header .section-subtitle,
.roster-section .section-header .section-subtitle {
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.6;
}
.featured-artists .artists-showcase,
.roster-section .artists-showcase {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 30px;
  margin-bottom: 60px;
}
@media (max-width: 768px) {
  .featured-artists .artists-showcase,
  .roster-section .artists-showcase {
    grid-template-columns: 1fr;
    gap: 25px;
  }
}

/* Artist Showcase Cards - Roster Style */
.featured-artists .artist-showcase-card,
.roster-section .artist-showcase-card {
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 20px;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}
@supports (-webkit-touch-callout: none) {
  .featured-artists .artist-showcase-card,
  .roster-section .artist-showcase-card {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.featured-artists .artist-showcase-card:before,
.roster-section .artist-showcase-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #667eea, #764ba2);
  border-radius: 20px 20px 0 0;
}
.featured-artists .artist-showcase-card:hover,
.roster-section .artist-showcase-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.4);
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.25);
}
.featured-artists .artist-showcase-card:hover .artist-photo,
.roster-section .artist-showcase-card:hover .artist-photo {
  transform: scale(1.05);
}
.featured-artists .artist-showcase-card:hover .photo-frame,
.roster-section .artist-showcase-card:hover .photo-frame {
  opacity: 1;
}
.featured-artists .artist-showcase-card .artist-image-section,
.roster-section .artist-showcase-card .artist-image-section {
  padding: 25px 25px 0;
  text-align: center;
}
.featured-artists .artist-showcase-card .artist-image-section .artist-photo-container,
.roster-section .artist-showcase-card .artist-image-section .artist-photo-container {
  position: relative;
  display: inline-block;
  overflow: hidden;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 8px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
@supports (-webkit-touch-callout: none) {
  .featured-artists .artist-showcase-card .artist-image-section .artist-photo-container,
  .roster-section .artist-showcase-card .artist-image-section .artist-photo-container {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.featured-artists .artist-showcase-card .artist-image-section .artist-photo-container .artist-photo,
.roster-section .artist-showcase-card .artist-image-section .artist-photo-container .artist-photo {
  width: 160px;
  height: 160px;
  object-fit: cover;
  border-radius: 12px;
  transition: transform 0.4s ease;
  display: block;
}
.featured-artists .artist-showcase-card .artist-image-section .artist-photo-container .photo-frame,
.roster-section .artist-showcase-card .artist-image-section .artist-photo-container .photo-frame {
  position: absolute;
  top: 8px;
  left: 8px;
  right: 8px;
  bottom: 8px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 12px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.featured-artists .artist-showcase-card .artist-image-section .artist-photo-placeholder,
.roster-section .artist-showcase-card .artist-image-section .artist-photo-placeholder {
  width: 176px;
  height: 176px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.featured-artists .artist-showcase-card .artist-image-section .artist-photo-placeholder .artist-initial,
.roster-section .artist-showcase-card .artist-image-section .artist-photo-placeholder .artist-initial {
  font-size: 3rem;
  font-weight: bold;
  color: white;
  text-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}
.featured-artists .artist-showcase-card .artist-content-section,
.roster-section .artist-showcase-card .artist-content-section {
  padding: 25px;
}
.featured-artists .artist-showcase-card .artist-content-section .artist-info .artist-name,
.roster-section .artist-showcase-card .artist-content-section .artist-info .artist-name {
  font-size: 1.6rem;
  font-weight: 700;
  color: white !important;
  margin-bottom: 8px;
  line-height: 1.3;
  text-align: center;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.9) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.featured-artists .artist-showcase-card .artist-content-section .artist-info .artist-genre,
.roster-section .artist-showcase-card .artist-content-section .artist-info .artist-genre {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 15px;
  text-align: center;
  padding: 6px 12px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 8px;
  display: inline-block;
  width: 100%;
  box-sizing: border-box;
}
.featured-artists .artist-showcase-card .artist-content-section .artist-info .artist-description,
.roster-section .artist-showcase-card .artist-content-section .artist-info .artist-description {
  margin-bottom: 20px;
  text-align: center;
}
.featured-artists .artist-showcase-card .artist-content-section .artist-info .artist-description p,
.roster-section .artist-showcase-card .artist-content-section .artist-info .artist-description p {
  color: rgba(255, 255, 255, 0.9) !important;
  line-height: 1.6;
  font-size: 0.95rem;
  margin: 0;
}
.featured-artists .artist-showcase-card .artist-content-section .artist-info .artist-links,
.roster-section .artist-showcase-card .artist-content-section .artist-info .artist-links {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
}
.featured-artists .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link,
.roster-section .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  color: white !important;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.8rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  text-shadow: none !important;
  box-shadow: none !important;
  font-family: inherit !important;
  letter-spacing: normal !important;
  line-height: 1.4 !important;
  text-transform: none !important;
}
.featured-artists .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link:before, .featured-artists .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link:after,
.roster-section .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link:before,
.roster-section .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link:after {
  display: none !important;
  content: none !important;
}
.featured-artists .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link svg,
.roster-section .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link svg {
  flex-shrink: 0;
  opacity: 0.8;
  transition: opacity 0.3s ease;
}
.featured-artists .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link:hover,
.roster-section .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(255, 255, 255, 0.1) !important;
  text-shadow: none !important;
}
.featured-artists .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link:hover svg,
.roster-section .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link:hover svg {
  opacity: 1;
}
.featured-artists .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link.spotify:hover,
.roster-section .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link.spotify:hover {
  background: rgba(30, 215, 96, 0.2) !important;
  border-color: rgba(30, 215, 96, 0.4) !important;
}
.featured-artists .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link.instagram:hover,
.roster-section .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link.instagram:hover {
  background: rgba(225, 48, 108, 0.2) !important;
  border-color: rgba(225, 48, 108, 0.4) !important;
}
.featured-artists .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link.website:hover,
.roster-section .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link.website:hover {
  background: rgba(255, 255, 255, 0.2) !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
}
.featured-artists .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link.profile,
.roster-section .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link.profile {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
  border-color: rgba(102, 126, 234, 0.4) !important;
}
.featured-artists .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link.profile:hover,
.roster-section .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link.profile:hover {
  background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%) !important;
  box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4) !important;
}

/* No Artists Message */
.featured-artists .no-artists {
  grid-column: 1/-1;
  text-align: center;
  padding: 60px 20px;
}
.featured-artists .no-artists .no-artists-content {
  max-width: 400px;
  margin: 0 auto;
}
.featured-artists .no-artists .no-artists-content .music-icon {
  font-size: 4rem;
  margin-bottom: 20px;
  opacity: 0.6;
}
.featured-artists .no-artists .no-artists-content h3 {
  font-size: 1.8rem;
  color: white;
  margin-bottom: 15px;
  font-weight: 600;
}
.featured-artists .no-artists .no-artists-content p {
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 1rem;
  line-height: 1.6;
}
.featured-artists .no-artists .no-artists-content p a {
  color: white !important;
  text-decoration: underline;
}
.featured-artists .no-artists .no-artists-content p a:hover {
  text-decoration: none;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .featured-artists .artist-showcase-card .artist-image-section {
    padding: 20px 20px 0;
  }
  .featured-artists .artist-showcase-card .artist-image-section .artist-photo-container .artist-photo {
    width: 140px;
    height: 140px;
  }
  .featured-artists .artist-showcase-card .artist-image-section .artist-photo-placeholder {
    width: 156px;
    height: 156px;
  }
  .featured-artists .artist-showcase-card .artist-image-section .artist-photo-placeholder .artist-initial {
    font-size: 2.5rem;
  }
  .featured-artists .artist-showcase-card .artist-content-section {
    padding: 20px;
  }
  .featured-artists .artist-showcase-card .artist-content-section .artist-info .artist-name {
    font-size: 1.4rem;
  }
  .featured-artists .artist-showcase-card .artist-content-section .artist-info .artist-links {
    gap: 6px;
  }
  .featured-artists .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link {
    padding: 6px 10px;
    font-size: 0.75rem;
  }
  .featured-artists .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link svg {
    width: 16px;
    height: 16px;
  }
}
@media (max-width: 480px) {
  .featured-artists .artist-showcase-card .artist-image-section .artist-photo-container .artist-photo {
    width: 120px;
    height: 120px;
  }
  .featured-artists .artist-showcase-card .artist-image-section .artist-photo-placeholder {
    width: 136px;
    height: 136px;
  }
  .featured-artists .artist-showcase-card .artist-image-section .artist-photo-placeholder .artist-initial {
    font-size: 2rem;
  }
  .featured-artists .artist-showcase-card .artist-content-section {
    padding: 15px;
  }
  .featured-artists .artist-showcase-card .artist-content-section .artist-info .artist-links {
    flex-direction: column;
  }
  .featured-artists .artist-showcase-card .artist-content-section .artist-info .artist-links .artist-link {
    justify-content: center;
    width: 100%;
  }
}
/* Staggered animation for artist cards */
.featured-artists .artist-showcase-card {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.featured-artists .artist-showcase-card.animate-in {
  opacity: 1;
  transform: translateY(0);
}
.featured-artists .artist-showcase-card:nth-child(1) {
  transition-delay: 0.1s;
}
.featured-artists .artist-showcase-card:nth-child(2) {
  transition-delay: 0.2s;
}
.featured-artists .artist-showcase-card:nth-child(3) {
  transition-delay: 0.3s;
}

/*********************
LATEST RELEASES
*********************/
/* Latest Music Section - Updated Layout */
.latest-music {
  margin-bottom: 80px;
}
.latest-music .latest-music-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
.latest-music .section-header {
  text-align: center;
  margin-bottom: 50px;
}
.latest-music .section-header h2 {
  font-size: 2.5rem;
  font-weight: 700;
  color: white !important;
  margin-bottom: 15px;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.9) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.latest-music .section-header .section-subtitle {
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.6;
}
.latest-music .music-showcase {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 30px;
  margin-bottom: 40px;
}
@media (max-width: 768px) {
  .latest-music .music-showcase {
    grid-template-columns: 1fr;
    gap: 25px;
  }
}
@media (max-width: 400px) {
  .latest-music .music-showcase {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* Music Showcase Cards - Match Music Catalog Style */
.latest-music .music-showcase-card {
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 20px;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}
@supports (-webkit-touch-callout: none) {
  .latest-music .music-showcase-card {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.latest-music .music-showcase-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #667eea, #764ba2);
  border-radius: 20px 20px 0 0;
}
.latest-music .music-showcase-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.4);
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.25);
}
.latest-music .music-showcase-card .track-header {
  padding: 25px 25px 20px;
}
.latest-music .music-showcase-card .track-header .track-info .track-title {
  font-size: 1.4rem;
  font-weight: 700;
  color: white !important;
  margin-bottom: 8px;
  line-height: 1.3;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.9) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.latest-music .music-showcase-card .track-header .track-info .track-artist {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.8) !important;
  margin-bottom: 15px;
  font-weight: 500;
}
.latest-music .music-showcase-card .track-header .track-info .track-meta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.latest-music .music-showcase-card .track-header .track-info .track-meta .genre-tag {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.latest-music .music-showcase-card .track-header .track-info .track-meta .release-date {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.8);
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 500;
}
.latest-music .music-showcase-card .spotify-player {
  padding: 0 25px 20px;
}
.latest-music .music-showcase-card .spotify-player iframe {
  width: 100%;
  border-radius: 12px;
  border: none;
  transition: transform 0.3s ease;
}
.latest-music .music-showcase-card .spotify-player:hover iframe {
  transform: scale(1.02);
}
.latest-music .music-showcase-card .no-player {
  padding: 0 25px 20px;
}
.latest-music .music-showcase-card .no-player .no-player-content .track-artwork {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s ease;
}
.latest-music .music-showcase-card .no-player .no-player-content .track-artwork:hover {
  transform: scale(1.02);
}
.latest-music .music-showcase-card .no-player .no-player-content .track-artwork:hover .play-overlay {
  opacity: 1;
}
.latest-music .music-showcase-card .no-player .no-player-content .track-artwork .track-image {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 12px;
}
.latest-music .music-showcase-card .no-player .no-player-content .track-artwork .play-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  border-radius: 12px;
}
.latest-music .music-showcase-card .no-player .no-player-content .track-artwork .play-overlay .play-button {
  width: 60px;
  height: 60px;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(1px);
  -webkit-backdrop-filter: blur(1px);
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}
@supports (-webkit-touch-callout: none) {
  .latest-music .music-showcase-card .no-player .no-player-content .track-artwork .play-overlay .play-button {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.latest-music .music-showcase-card .no-player .no-player-content .track-artwork .play-overlay .play-button:hover {
  transform: scale(1.1);
  background: rgba(255, 255, 255, 0.3);
}
.latest-music .music-showcase-card .no-player .no-player-content .track-placeholder {
  background: rgba(255, 255, 255, 0.05);
  border: 2px dashed rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  padding: 40px 20px;
  text-align: center;
  height: 200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.latest-music .music-showcase-card .no-player .no-player-content .track-placeholder .music-icon {
  font-size: 3rem;
  margin-bottom: 15px;
  opacity: 0.6;
}
.latest-music .music-showcase-card .no-player .no-player-content .track-placeholder p {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 0.9rem;
  margin: 0;
}
.latest-music .music-showcase-card .track-actions {
  padding: 0 25px 25px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.latest-music .music-showcase-card .track-actions .action-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  border-radius: 10px;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.1);
  color: white !important;
  border: 1px solid rgba(255, 255, 255, 0.2);
  font-family: inherit !important;
  text-shadow: none !important;
  box-shadow: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  line-height: 1.4 !important;
}
.latest-music .music-showcase-card .track-actions .action-btn:before, .latest-music .music-showcase-card .track-actions .action-btn:after {
  display: none !important;
  content: none !important;
}
.latest-music .music-showcase-card .track-actions .action-btn svg {
  flex-shrink: 0;
  opacity: 0.8;
  transition: opacity 0.3s ease;
}
.latest-music .music-showcase-card .track-actions .action-btn:hover {
  transform: translateY(-2px) !important;
  background: rgba(255, 255, 255, 0.2) !important;
  box-shadow: 0 6px 20px rgba(255, 255, 255, 0.1) !important;
  text-shadow: none !important;
}
.latest-music .music-showcase-card .track-actions .action-btn:hover svg {
  opacity: 1;
}
.latest-music .music-showcase-card .track-actions .action-btn.apple-music:hover {
  background: rgba(252, 252, 252, 0.2) !important;
  border-color: rgba(252, 252, 252, 0.4) !important;
}
.latest-music .music-showcase-card .track-actions .action-btn.youtube:hover {
  background: rgba(255, 0, 0, 0.2) !important;
  border-color: rgba(255, 0, 0, 0.4) !important;
}
.latest-music .music-showcase-card .track-actions .action-btn.track-info-btn:hover {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
  border-color: rgba(102, 126, 234, 0.4) !important;
}

/* Track Info Modals - Same as Music Catalog */
.latest-music .track-info-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 20px;
}
@supports (-webkit-touch-callout: none) {
  .latest-music .track-info-modal {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(0, 0, 0, 0.95);
  }
}
.latest-music .track-info-modal.active {
  opacity: 1;
  visibility: visible;
}
.latest-music .track-info-modal .track-info-modal-content {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 20px;
  padding: 40px;
  max-width: 600px;
  max-height: 80vh;
  overflow-y: auto;
  position: relative;
  transform: scale(0.8);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
@supports (-webkit-touch-callout: none) {
  .latest-music .track-info-modal .track-info-modal-content {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.98);
  }
}
.track-info-modal.active .latest-music .track-info-modal .track-info-modal-content {
  transform: scale(1);
}
.latest-music .track-info-modal .track-info-modal-content .modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.latest-music .track-info-modal .track-info-modal-content .modal-header h3 {
  font-size: 1.8rem;
  font-weight: 700;
  color: white;
  margin: 0;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.8) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.latest-music .track-info-modal .track-info-modal-content .modal-header .modal-close {
  all: unset !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: white !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  font-size: 1.2rem !important;
}
.latest-music .track-info-modal .track-info-modal-content .modal-header .modal-close:hover {
  background: rgba(255, 255, 255, 0.2) !important;
  transform: rotate(90deg) !important;
}
.latest-music .track-info-modal .track-info-modal-content .modal-body p {
  color: rgba(255, 255, 255, 0.9) !important;
  line-height: 1.7;
  margin-bottom: 20px;
  font-size: 1rem;
}
.latest-music .track-info-modal .track-info-modal-content .modal-body p:last-child {
  margin-bottom: 0;
}

/* Section CTA */
.latest-music .section-cta {
  text-align: center;
  margin-top: 40px;
}

/* Responsive adjustments */
@media (max-width: 480px) {
  .latest-music .music-showcase-card .track-header {
    padding: 20px 20px 15px;
  }
  .latest-music .music-showcase-card .spotify-player,
  .latest-music .music-showcase-card .no-player {
    padding: 0 20px 15px;
  }
  .latest-music .music-showcase-card .track-actions {
    padding: 0 20px 20px;
  }
  .latest-music .music-showcase-card .track-actions .action-btn {
    padding: 8px 12px;
    font-size: 0.85rem;
  }
  .latest-music .music-showcase-card .track-actions .action-btn svg {
    width: 14px;
    height: 14px;
  }
  .latest-music .track-info-modal-content {
    padding: 25px;
    margin: 10px;
  }
  .latest-music .track-info-modal-content .modal-header h3 {
    font-size: 1.5rem;
  }
}
/* Staggered animation for music cards */
.latest-music .music-showcase-card {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.latest-music .music-showcase-card.animate-in {
  opacity: 1;
  transform: translateY(0);
}
.latest-music .music-showcase-card:nth-child(1) {
  transition-delay: 0.1s;
}
.latest-music .music-showcase-card:nth-child(2) {
  transition-delay: 0.2s;
}
.latest-music .music-showcase-card:nth-child(3) {
  transition-delay: 0.3s;
}

.latest-music .music-releases-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3rem;
  margin: 3rem 0;
}
@media (max-width: 1024px) {
  .latest-music .music-releases-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}
@media (max-width: 640px) {
  .latest-music .music-releases-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}
.latest-music .single-container {
  width: 100%;
}
.latest-music .single-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.latest-music .single-wrapper:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}
.latest-music .single-wrapper:hover .track-info-overlay {
  opacity: 1;
}
.latest-music .album-cover {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}
.latest-music .album-cover .album-placeholder-icon {
  font-size: 4rem;
  opacity: 0.3;
}
.latest-music .track-info-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.7) 50%, rgba(0, 0, 0, 0.4) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  display: flex;
  align-items: flex-end;
  padding: 2rem;
  z-index: 2;
}
@media (max-width: 640px) {
  .latest-music .track-info-overlay {
    padding: 1rem;
  }
}
.latest-music .track-info-content {
  width: 100%;
  color: white;
}
.latest-music .track-name {
  margin-bottom: 1rem;
}
.latest-music .track-name p {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 0.5rem 0;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media (max-width: 640px) {
  .latest-music .track-name p {
    font-size: 0.9rem;
    -webkit-line-clamp: 1;
    line-height: 1.1;
  }
}
.latest-music .track-name .track-artist-name {
  font-size: 0.95rem;
  opacity: 0.8;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .latest-music .track-name .track-artist-name {
    font-size: 0.75rem;
  }
}
@media (max-width: 640px) {
  .latest-music .track-name {
    margin-bottom: 0.5rem;
  }
}
.latest-music .track-links .full-song-label {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: 0.7;
  margin: 0 0 0.75rem 0;
}
@media (max-width: 640px) {
  .latest-music .track-links .full-song-label {
    font-size: 0.65rem;
    margin: 0 0 0.4rem 0;
    letter-spacing: 0.5px;
  }
}
.latest-music .track-links .streaming-links {
  display: flex;
  gap: 1rem;
}
@media (max-width: 640px) {
  .latest-music .track-links .streaming-links {
    gap: 0.5rem;
  }
}
.latest-music .track-links .streaming-links .streaming-link {
  width: 36px;
  height: 36px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
@supports (-webkit-touch-callout: none) {
  .latest-music .track-links .streaming-links .streaming-link {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
@media (max-width: 640px) {
  .latest-music .track-links .streaming-links .streaming-link {
    width: 24px;
    height: 24px;
  }
}
.latest-music .track-links .streaming-links .streaming-link:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: scale(1.1);
}
.latest-music .track-links .streaming-links .streaming-link svg {
  width: 18px;
  height: 18px;
}
@media (max-width: 640px) {
  .latest-music .track-links .streaming-links .streaming-link svg {
    width: 12px;
    height: 12px;
  }
}
.latest-music .play-button-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}
.latest-music .play-button-wrapper .play-button {
  width: 80px;
  height: 80px;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(1px);
  -webkit-backdrop-filter: blur(1px);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  border: 2px solid rgba(255, 255, 255, 0.3);
}
@supports (-webkit-touch-callout: none) {
  .latest-music .play-button-wrapper .play-button {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
@media (max-width: 640px) {
  .latest-music .play-button-wrapper .play-button {
    width: 50px;
    height: 50px;
    border: 1px solid rgba(255, 255, 255, 0.3);
  }
}
.latest-music .play-button-wrapper .play-button:hover {
  background: rgba(255, 255, 255, 0.25);
  transform: scale(1.1);
  box-shadow: 0 0 30px rgba(255, 255, 255, 0.3);
}
.latest-music .play-button-wrapper .play-button svg {
  width: 40px;
  height: 40px;
}
@media (max-width: 640px) {
  .latest-music .play-button-wrapper .play-button svg {
    width: 24px;
    height: 24px;
  }
}

/*********************
NEW ABOUT/INTRO SECTION
*********************/
.about-intro-section {
  padding: 80px 0;
}
.about-intro-section .about-intro-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
.about-intro-section .about-intro-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
@media (max-width: 768px) {
  .about-intro-section .about-intro-content {
    grid-template-columns: 1fr;
    gap: 40px;
    text-align: center;
  }
}
.about-intro-section .about-text .about-subtitle {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.8);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 600;
  margin-bottom: 15px;
}
.about-intro-section .about-text .about-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: white;
  margin-bottom: 25px;
  line-height: 1.2;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.9) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.about-intro-section .about-text .about-description {
  font-size: 1.1rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 30px;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}
.about-intro-section .about-text .about-cta {
  display: flex;
}
.about-intro-section .about-text .about-cta .btn {
  margin-right: 15px;
  margin-bottom: 15px;
}
.about-intro-section .about-visual {
  position: relative;
}
.about-intro-section .about-visual .about-image-container {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 30px;
  text-align: center;
}
@supports (-webkit-touch-callout: none) {
  .about-intro-section .about-visual .about-image-container {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.about-intro-section .about-visual .about-image-container .about-placeholder {
  width: 100%;
  height: 300px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.about-intro-section .about-visual .about-image-container .about-placeholder .placeholder-text {
  color: white;
  font-size: 1.2rem;
  font-weight: 600;
}

/*********************
VIDEO CONTROLS - NO BUTTON CONFLICTS
*********************/
.about-intro-section .about-visual .about-story-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px;
}
.about-intro-section .about-visual .about-video-container {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 15px;
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
@supports (-webkit-touch-callout: none) {
  .about-intro-section .about-visual .about-video-container {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.about-intro-section .about-visual .about-video-container:hover {
  transform: translateY(-5px);
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}
.about-intro-section .about-visual .about-video-container:hover .video-controls {
  opacity: 1;
  visibility: visible;
}
.about-intro-section .about-visual .about-video-container .about-story-video {
  width: 100%;
  height: 300px;
  object-fit: cover;
  border-radius: 16px;
  transition: transform 0.3s ease;
  cursor: pointer;
}
.about-intro-section .about-visual .about-video-container .about-story-video:hover {
  transform: scale(1.02);
}
.about-intro-section .about-visual .about-video-container .video-controls {
  position: absolute;
  bottom: 30px;
  right: 30px;
  display: flex;
  gap: 8px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 10;
}
.about-intro-section .about-visual .about-video-container .video-controls .video-control-btn {
  all: unset !important;
  width: 40px !important;
  height: 40px !important;
  background: rgba(0, 0, 0, 0.6) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: inherit !important;
  font-weight: normal !important;
  text-decoration: none !important;
  color: inherit !important;
  box-shadow: none !important;
  text-shadow: none !important;
  line-height: 1 !important;
  font-family: inherit !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
@supports (-webkit-touch-callout: none) {
  .about-intro-section .about-visual .about-video-container .video-controls .video-control-btn {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: rgba(0, 0, 0, 0.85) !important;
  }
}
.about-intro-section .about-visual .about-video-container .video-controls .video-control-btn:hover {
  background: rgba(0, 0, 0, 0.8) !important;
  transform: scale(1.1) !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
.about-intro-section .about-visual .about-video-container .video-controls .video-control-btn:active {
  transform: scale(0.95) !important;
}
.about-intro-section .about-visual .about-video-container .video-controls .video-control-btn:focus {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.3) !important;
}
.about-intro-section .about-visual .about-video-container .video-controls .video-control-btn:before, .about-intro-section .about-visual .about-video-container .video-controls .video-control-btn:after {
  display: none !important;
  content: none !important;
}
.about-intro-section .about-visual .about-video-container .video-controls .video-control-btn svg {
  transition: opacity 0.2s ease !important;
  width: 20px !important;
  height: 20px !important;
  pointer-events: none !important;
}
.about-intro-section .about-visual .about-video-container .video-glassmorphism-overlay {
  position: absolute;
  top: 15px;
  left: 15px;
  right: 15px;
  bottom: 15px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.about-intro-section .about-visual .about-video-container:hover .video-glassmorphism-overlay {
  opacity: 1;
}
.about-intro-section .about-visual .about-video-container .video-fallback {
  width: 100%;
  height: 300px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.about-intro-section .about-visual .about-video-container .video-fallback .placeholder-text {
  color: white;
  font-size: 1.2rem;
  font-weight: 600;
}

/*********************
LIBRARY ICONS - CLEAN ANIMATIONS
*********************/
.services-section .service-card .service-icon {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 25px;
  background: none !important;
  border-radius: 0 !important;
  border: none !important;
}
.services-section .service-card .service-icon .animated-icon {
  width: 45px;
  height: 45px;
  transition: transform 0.3s ease;
  filter: drop-shadow(0 2px 8px rgba(255, 255, 255, 0.15));
}
.services-section .service-card:hover .service-icon .animated-icon {
  transform: scale(1.2);
  filter: drop-shadow(0 4px 12px rgba(255, 255, 255, 0.3));
}

.music-icon .music-path {
  stroke-dasharray: 25;
  stroke-dashoffset: 25;
  animation: musicPathDraw 2.5s ease-in-out infinite;
}
.music-icon .music-circle1 {
  animation: musicBeat 2s ease-in-out infinite;
}
.music-icon .music-circle2 {
  animation: musicBeat 2s ease-in-out infinite 0.3s;
}

@keyframes musicPathDraw {
  0%, 20% {
    stroke-dashoffset: 25;
    opacity: 0.6;
  }
  50%, 80% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 25;
    opacity: 0.6;
  }
}
@keyframes musicBeat {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.1);
    opacity: 0.8;
  }
}
.rights-icon .shield-path {
  stroke-dasharray: 60;
  stroke-dashoffset: 60;
  animation: shieldDraw 3s ease-in-out infinite;
}
.rights-icon .check-path {
  stroke-dasharray: 10;
  stroke-dashoffset: 10;
  animation: checkmarkDraw 3s ease-in-out infinite 1s;
}

@keyframes shieldDraw {
  0% {
    stroke-dashoffset: 60;
    opacity: 0.5;
  }
  40%, 60% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 60;
    opacity: 0.5;
  }
}
@keyframes checkmarkDraw {
  0%, 30% {
    stroke-dashoffset: 10;
    opacity: 0;
  }
  50%, 70% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 10;
    opacity: 0;
  }
}
.supervision-icon .clapper-body {
  stroke-dasharray: 60;
  stroke-dashoffset: 60;
  animation: clapperDraw 3s ease-in-out infinite;
}
.supervision-icon .clapper-line-1 {
  stroke-dasharray: 20;
  stroke-dashoffset: 20;
  animation: line1Draw 3s ease-in-out infinite 0.5s;
}
.supervision-icon .clapper-line-2 {
  stroke-dasharray: 12;
  stroke-dashoffset: 12;
  animation: line2Draw 3s ease-in-out infinite 1s;
}

@keyframes clapperDraw {
  0% {
    stroke-dashoffset: 60;
    opacity: 0.6;
  }
  50%, 70% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 60;
    opacity: 0.6;
  }
}
@keyframes line1Draw {
  0% {
    stroke-dashoffset: 20;
    opacity: 0.5;
  }
  50%, 70% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 20;
    opacity: 0.5;
  }
}
@keyframes line2Draw {
  0% {
    stroke-dashoffset: 12;
    opacity: 0.5;
  }
  50%, 70% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 12;
    opacity: 0.5;
  }
}
.services-section .service-card:hover .music-icon .music-path {
  animation-duration: 1.5s;
}
.services-section .service-card:hover .music-icon .music-circle1,
.services-section .service-card:hover .music-icon .music-circle2 {
  animation-duration: 1.2s;
}
.services-section .service-card:hover .rights-icon .shield-path {
  animation-duration: 2s;
}
.services-section .service-card:hover .rights-icon .check-path {
  animation-duration: 2s;
}
.services-section .service-card:hover .supervision-icon .clapper-body {
  animation-duration: 2s;
}
.services-section .service-card:hover .supervision-icon .clapper-line-1 {
  animation-duration: 2s;
}
.services-section .service-card:hover .supervision-icon .clapper-line-2 {
  animation-duration: 2s;
}

@media (max-width: 768px) {
  .services-section .service-card .service-icon {
    width: 70px;
    height: 70px;
  }
  .services-section .service-card .service-icon .animated-icon {
    width: 40px;
    height: 40px;
  }
}
@media (max-width: 480px) {
  .services-section .service-card .service-icon .animated-icon {
    width: 36px;
    height: 36px;
  }
}
/*********************
SERVICES SECTION (3 COLUMNS)
*********************/
.services-section {
  padding: 80px 0;
  background: rgba(255, 255, 255, 0.02);
}
.services-section .services-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
.services-section .services-header {
  text-align: center;
  margin-bottom: 60px;
}
.services-section .services-header .services-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: white;
  margin-bottom: 20px;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.9) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.services-section .services-header .services-subtitle {
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.6;
}
.services-section .services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
@media (max-width: 768px) {
  .services-section .services-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
.services-section .service-card {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 40px 30px;
  text-align: center;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}
@supports (-webkit-touch-callout: none) {
  .services-section .service-card {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.services-section .service-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #667eea, #764ba2);
  border-radius: 20px 20px 0 0;
}
.services-section .service-card:hover {
  transform: translateY(-10px);
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}
.services-section .service-card .service-icon {
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 25px;
  font-size: 2rem;
  color: white;
  transition: transform 0.3s ease;
}
.services-section .service-card:hover .service-icon {
  transform: scale(1.1) rotate(5deg);
}
.services-section .service-card .service-title {
  font-size: 1.4rem;
  font-weight: 600;
  color: white;
  margin-bottom: 20px;
}
.services-section .service-card .service-description {
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.6;
  font-size: 1rem;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

/*********************
SHORT HERO BANNER
*********************/
.short-hero-banner {
  padding: 60px 0;
  background: rgba(255, 255, 255, 0.05);
  position: relative;
  overflow: hidden;
}
.short-hero-banner:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(ellipse at center, rgba(102, 126, 234, 0.1) 0%, transparent 70%);
  pointer-events: none;
}
.short-hero-banner .banner-container {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
  text-align: center;
  position: relative;
  z-index: 2;
}
.short-hero-banner .banner-title {
  font-size: 2.8rem;
  font-weight: 700;
  color: white;
  margin-bottom: 20px;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.9) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.2;
}
@media (max-width: 768px) {
  .short-hero-banner .banner-title {
    font-size: 2.2rem;
  }
}
.short-hero-banner .banner-subtitle {
  font-size: 1.3rem;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.6;
  margin-bottom: 30px;
}
@media (max-width: 768px) {
  .short-hero-banner .banner-subtitle {
    font-size: 1.1rem;
  }
}
.short-hero-banner .banner-cta .btn {
  margin: 0 10px 10px 0;
}

/*********************
CORPORATE PARTNERS LOGO BANNER
*********************/
.partners-section {
  padding: 60px 0;
}
.partners-section .partners-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  text-align: center;
}
.partners-section .partners-title {
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.7);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 600;
  margin-bottom: 40px;
}
.partners-section .partners-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 40px;
  align-items: center;
}
@media (max-width: 768px) {
  .partners-section .partners-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }
}
.partners-section .partner-logo {
  opacity: 0.7;
  transition: opacity 0.3s ease;
  filter: grayscale(100%) brightness(1.5);
}
.partners-section .partner-logo .logo-placeholder {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 20px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}
.partners-section .partner-logo .logo-placeholder:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.2);
}
.partners-section .partner-logo .logo-placeholder .logo-text {
  color: rgba(255, 255, 255, 0.7);
  font-weight: 600;
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* CTA Section */
.cta-section {
  padding: 60px 40px;
  text-align: center;
  margin-bottom: 40px;
}
.cta-section .cta-content {
  max-width: 600px;
  margin: 0 auto;
}
.cta-section .cta-content h2 {
  font-size: 2.5rem;
  margin-bottom: 20px;
}
.cta-section .cta-content p {
  font-size: 1.2rem;
  margin-bottom: 30px;
  color: rgba(255, 255, 255, 0.8);
}

/* Responsive */
@media (max-width: 768px) {
  .hero-section {
    flex-direction: column;
    text-align: center;
    min-height: 60vh;
  }
  .hero-section .hero-content {
    margin-bottom: 40px;
  }
  .hero-section .hero-content .hero-title {
    font-size: 2.5rem;
  }
  .hero-section .hero-content .hero-buttons {
    justify-content: center;
  }
  .hero-section .hero-visual {
    height: 200px;
  }
  .artists-showcase,
  .music-showcase {
    grid-template-columns: 1fr;
  }
  .cta-section {
    padding: 40px 20px;
  }
  .cta-section .cta-content h2 {
    font-size: 2rem;
  }
}
/*********************
CONTACT FORM STYLING
*********************/
.contact-form-grid {
  max-width: 600px;
  margin: 0 auto;
}
.contact-form-grid .form-group {
  margin-bottom: 25px;
}
.contact-form-grid .form-group label {
  display: block;
  color: white;
  font-weight: 500;
  margin-bottom: 8px;
}
.contact-form-grid .form-group .form-control {
  width: 100%;
  padding: 15px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.1);
  color: white;
  font-size: 1rem;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
@supports (-webkit-touch-callout: none) {
  .contact-form-grid .form-group .form-control {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.contact-form-grid .form-group .form-control::placeholder {
  color: rgba(255, 255, 255, 0.6);
}
.contact-form-grid .form-group .form-control:focus {
  outline: none;
  border-color: rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.1);
}
.contact-form-grid .form-group textarea.form-control {
  min-height: 120px;
  resize: vertical;
}
.contact-form-grid .form-submit {
  text-align: center;
  margin-top: 30px;
}

.wpcf7-form-control-wrap {
  position: relative;
}

.wpcf7-not-valid-tip {
  color: #ff6b6b;
  font-size: 0.9rem;
  margin-top: 5px;
}

.wpcf7-response-output {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  padding: 15px;
  margin-top: 20px;
  color: white;
}

/*********************
SMOOTH SCROLL ANIMATIONS
*********************/
/* Animation base classes */
.animate-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.animate-on-scroll.animate-in {
  opacity: 1;
  transform: translateY(0);
}

.animate-fade-in {
  opacity: 0;
  transition: opacity 1s ease-in-out;
}
.animate-fade-in.animate-in {
  opacity: 1;
}

.animate-slide-left {
  opacity: 0;
  transform: translateX(-50px);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.animate-slide-left.animate-in {
  opacity: 1;
  transform: translateX(0);
}

.animate-slide-right {
  opacity: 0;
  transform: translateX(50px);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.animate-slide-right.animate-in {
  opacity: 1;
  transform: translateX(0);
}

.animate-scale {
  opacity: 0;
  transform: scale(0.8);
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.animate-scale.animate-in {
  opacity: 1;
  transform: scale(1);
}

/* Staggered animations for cards */
.stagger-animation .artist-card,
.stagger-animation .music-showcase-card,
.stagger-animation .artist-showcase-card,
.stagger-animation .team-member {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.stagger-animation .artist-card.animate-in,
.stagger-animation .music-showcase-card.animate-in,
.stagger-animation .artist-showcase-card.animate-in,
.stagger-animation .team-member.animate-in {
  opacity: 1;
  transform: translateY(0);
}
.stagger-animation .artist-card:nth-child(1),
.stagger-animation .music-showcase-card:nth-child(1),
.stagger-animation .artist-showcase-card:nth-child(1),
.stagger-animation .team-member:nth-child(1) {
  transition-delay: 0.1s;
}
.stagger-animation .artist-card:nth-child(2),
.stagger-animation .music-showcase-card:nth-child(2),
.stagger-animation .artist-showcase-card:nth-child(2),
.stagger-animation .team-member:nth-child(2) {
  transition-delay: 0.2s;
}
.stagger-animation .artist-card:nth-child(3),
.stagger-animation .music-showcase-card:nth-child(3),
.stagger-animation .artist-showcase-card:nth-child(3),
.stagger-animation .team-member:nth-child(3) {
  transition-delay: 0.3s;
}
.stagger-animation .artist-card:nth-child(4),
.stagger-animation .music-showcase-card:nth-child(4),
.stagger-animation .artist-showcase-card:nth-child(4),
.stagger-animation .team-member:nth-child(4) {
  transition-delay: 0.4s;
}

/* Hero section special animations */
.hero-content .hero-title {
  opacity: 0;
  transform: translateY(40px);
  animation: heroTitleIn 1.2s cubic-bezier(0.4, 0, 0.2, 1) 0.3s forwards;
}
.hero-content .hero-subtitle {
  opacity: 0;
  transform: translateY(30px);
  animation: heroSubtitleIn 1s cubic-bezier(0.4, 0, 0.2, 1) 0.6s forwards;
}
.hero-content .hero-buttons {
  opacity: 0;
  transform: translateY(20px);
  animation: heroButtonsIn 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.9s forwards;
}

.hero-visual .floating-elements .element {
  opacity: 0;
  transform: scale(0);
  animation: elementFloat 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.hero-visual .floating-elements .element.element-1 {
  animation-delay: 1.2s;
}
.hero-visual .floating-elements .element.element-2 {
  animation-delay: 1.5s;
}
.hero-visual .floating-elements .element.element-3 {
  animation-delay: 1.8s;
}

/* Section headers animation */
.section-header {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.section-header.animate-in {
  opacity: 1;
  transform: translateY(0);
}

/* Enhanced hover animations */
.artist-card,
.music-showcase-card,
.artist-showcase-card,
.team-member {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.artist-card:hover,
.music-showcase-card:hover,
.artist-showcase-card:hover,
.team-member:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
}

/* Button hover enhancements */
.btn {
  position: relative;
  overflow: hidden;
}
.btn:before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s;
}
.btn:hover:before {
  left: 100%;
}
.btn:hover {
  transform: translateY(-2px) scale(1.05);
}

/* Keyframe animations */
@keyframes heroTitleIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes heroSubtitleIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes heroButtonsIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes elementFloat {
  to {
    opacity: 1;
    transform: scale(1);
  }
}
/* Parallax effect for hero background */
.hero-section {
  position: relative;
  overflow: hidden;
}
.hero-section:before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
  animation: backgroundShift 20s ease-in-out infinite;
  pointer-events: none;
}

@keyframes backgroundShift {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
  }
  50% {
    transform: translate(-20px, -20px) rotate(1deg);
  }
}
/* Reduced motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  .animate-on-scroll,
  .animate-fade-in,
  .animate-slide-left,
  .animate-slide-right,
  .animate-scale {
    transition: none;
    opacity: 1;
    transform: none;
  }
  .hero-content .hero-title,
  .hero-content .hero-subtitle,
  .hero-content .hero-buttons {
    animation: none;
    opacity: 1;
    transform: none;
  }
  .floating-elements .element {
    animation: none;
    opacity: 1;
    transform: none;
  }
}
/*********************
ENHANCED FOOTER DESIGN
*********************/
.popindia-footer {
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  color: white;
  margin-top: 80px;
  position: relative;
  overflow: hidden;
}
@supports (-webkit-touch-callout: none) {
  .popindia-footer {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(10, 10, 20, 0.95);
  }
}
.popindia-footer:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
}
.popindia-footer .footer-content {
  padding: 60px 20px 0;
  position: relative;
  z-index: 2;
}

/* Footer Grid Layout - Enhanced with Flexbox Fallback */
.footer-grid {
  display: flex;
  flex-wrap: wrap;
  display: grid;
  grid-template-columns: 2fr 1fr 1.5fr;
  gap: 40px;
  margin-bottom: 50px;
}
.footer-grid .footer-brand {
  flex: 2;
  min-width: 300px;
  margin-right: 40px;
}
.footer-grid .footer-section {
  flex: 1;
  min-width: 200px;
  margin-right: 40px;
}
.footer-grid .footer-section:last-child {
  flex: 1.5;
  margin-right: 0;
}
@media (max-width: 1024px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
  .footer-grid .footer-brand {
    grid-column: 1/-1;
  }
}
@media (max-width: 768px) {
  .footer-grid {
    grid-template-columns: 1fr;
    flex-direction: column;
    gap: 30px;
    text-align: center;
  }
  .footer-grid .footer-brand,
  .footer-grid .footer-section {
    flex: 1 1 100%;
    margin-right: 0;
    margin-bottom: 30px;
  }
}

/* Footer Brand Section */
.footer-brand .footer-logo {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 15px;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.8) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}
.footer-brand .footer-tagline {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.6;
  margin-bottom: 25px;
  max-width: 280px;
}
@media (max-width: 768px) {
  .footer-brand .footer-tagline {
    max-width: none;
  }
}

/* Social Media Links */
.social-links {
  display: flex;
  gap: 15px;
}
@media (max-width: 768px) {
  .social-links {
    justify-content: center;
  }
}
.social-links .social-link {
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  color: white;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.social-links .social-link svg {
  width: 22px;
  height: 22px;
  transition: transform 0.3s ease;
}
.social-links .social-link:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(255, 255, 255, 0.1);
}
.social-links .social-link:hover svg {
  transform: scale(1.1);
}
.social-links .social-link:nth-child(1):hover {
  background: rgba(225, 48, 108, 0.2);
}
.social-links .social-link:nth-child(2):hover {
  background: rgba(29, 161, 242, 0.2);
}
.social-links .social-link:nth-child(3):hover {
  background: rgba(24, 119, 242, 0.2);
}
.social-links .social-link:nth-child(4):hover {
  background: rgba(255, 0, 0, 0.2);
}
.social-links .social-link:nth-child(5):hover {
  background: rgba(30, 215, 96, 0.2);
}

/* Footer Sections */
.footer-section h4 {
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 20px;
  color: white;
  position: relative;
}
.footer-section h4:after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 30px;
  height: 2px;
  background: linear-gradient(90deg, #667eea, #764ba2);
  border-radius: 1px;
}
@media (max-width: 768px) {
  .footer-section h4:after {
    left: 50%;
    transform: translateX(-50%);
  }
}
.footer-section h5 {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 15px;
  color: rgba(255, 255, 255, 0.9);
}

/* Footer Navigation */
.footer-nav {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.footer-nav a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-size: 0.95rem;
  transition: all 0.3s ease;
  position: relative;
  padding-left: 0;
}
.footer-nav a:before {
  content: "";
  position: absolute;
  left: -15px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 1px;
  background: linear-gradient(90deg, #667eea, #764ba2);
  transition: width 0.3s ease;
}
.footer-nav a:hover {
  color: white;
  padding-left: 20px;
}
.footer-nav a:hover:before {
  width: 12px;
}

/* Footer Contact */
.footer-contact {
  margin-bottom: 25px;
}
.footer-contact p {
  margin-bottom: 8px;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.8);
}
.footer-contact p strong {
  color: white;
}

/* Newsletter Signup */
.newsletter-signup .newsletter-form {
  margin-top: 15px;
}
.newsletter-signup .newsletter-form .newsletter-input-group {
  display: flex;
  border-radius: 12px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: all 0.3s ease;
}
.newsletter-signup .newsletter-form .newsletter-input-group:focus-within {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.4);
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.1);
}
.newsletter-signup .newsletter-form .newsletter-input-group input {
  flex: 1;
  padding: 12px 15px !important;
  border: none !important;
  background: transparent !important;
  margin: auto !important;
  color: white;
  font-size: 0.9rem;
  outline: none;
}
.newsletter-signup .newsletter-form .newsletter-input-group input::placeholder {
  color: rgba(255, 255, 255, 0.6);
}
.newsletter-signup .newsletter-form .newsletter-input-group .newsletter-btn {
  padding: 12px 20px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border: none;
  color: white;
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.3s ease;
}
.newsletter-signup .newsletter-form .newsletter-input-group .newsletter-btn:hover {
  background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);
  transform: translateX(-2px);
}

/* Footer Bottom */
.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 25px 0;
}
.footer-bottom .footer-bottom-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 768px) {
  .footer-bottom .footer-bottom-content {
    flex-direction: column;
    gap: 15px;
    text-align: center;
  }
}
.footer-bottom .footer-bottom-content .copyright {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.7);
  margin: 0;
}
.footer-bottom .footer-bottom-content .footer-legal {
  display: flex;
  gap: 25px;
}
.footer-bottom .footer-bottom-content .footer-legal a {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color 0.3s ease;
}
.footer-bottom .footer-bottom-content .footer-legal a:hover {
  color: white;
}

/* Footer Animation Effects */
.footer-section {
  opacity: 0;
  transform: translateY(20px);
  animation: footerFadeIn 0.8s ease-out forwards;
}
.footer-section:nth-child(1) {
  animation-delay: 0.1s;
}
.footer-section:nth-child(2) {
  animation-delay: 0.2s;
}
.footer-section:nth-child(3) {
  animation-delay: 0.3s;
}
.footer-section:nth-child(4) {
  animation-delay: 0.4s;
}

@keyframes footerFadeIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Floating particles effect (optional) */
.popindia-footer:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.05) 1px, transparent 1px), radial-gradient(circle at 80% 80%, rgba(255, 255, 255, 0.05) 1px, transparent 1px), radial-gradient(circle at 40% 60%, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 100px 100px, 80px 80px, 120px 120px;
  animation: particleFloat 20s linear infinite;
  pointer-events: none;
}

@keyframes particleFloat {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-20px);
  }
}
/*********************
TEAM PAGE STYLES - Two Column Layout
*********************/
.popindia-team-section {
  margin-top: 40px;
  padding-bottom: 80px;
}
.popindia-team-section .section-header {
  text-align: center;
  font-size: 2.5rem;
  margin-bottom: 50px;
  color: white;
}

/* Team Members Grid - Two Columns */
.team-members-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-top: 30px;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 768px) {
  .team-members-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

/* Team Member Card - Compact Version */
.team-member-card {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 20px;
  padding: 35px 25px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
  text-align: center;
}
@supports (-webkit-touch-callout: none) {
  .team-member-card {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.team-member-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #667eea, #764ba2);
  border-radius: 20px 20px 0 0;
}
.team-member-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.3);
}

/* Team Member Photo */
.team-member-photo {
  margin-bottom: 25px;
}
.team-member-photo .member-photo {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid rgba(255, 255, 255, 0.3);
  transition: all 0.3s ease;
}
.team-member-photo .member-photo-placeholder {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  border: 4px solid rgba(255, 255, 255, 0.3);
}
.team-member-photo .member-photo-placeholder .member-initial {
  font-size: 3rem;
  font-weight: bold;
  color: white;
}

.team-member-card:hover .member-photo {
  transform: scale(1.05);
  border-color: rgba(255, 255, 255, 0.5);
}

/* Team Member Info */
.team-member-info .member-name {
  font-size: 1.8rem;
  font-weight: 700;
  color: white;
  margin-bottom: 8px;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.8) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.team-member-info .member-position {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 600;
  margin-bottom: 25px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Social Links */
.member-social-links {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-bottom: 25px;
}
.member-social-links .social-link {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  color: white;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.member-social-links .social-link svg {
  width: 20px;
  height: 20px;
  transition: transform 0.3s ease;
}
.member-social-links .social-link:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(255, 255, 255, 0.1);
}
.member-social-links .social-link:hover svg {
  transform: scale(1.1);
}
.member-social-links .social-link.linkedin:hover {
  background: rgba(0, 119, 181, 0.3);
  border-color: rgba(0, 119, 181, 0.5);
}
.member-social-links .social-link.twitter:hover {
  background: rgba(29, 161, 242, 0.3);
  border-color: rgba(29, 161, 242, 0.5);
}
.member-social-links .social-link.instagram:hover {
  background: rgba(225, 48, 108, 0.3);
  border-color: rgba(225, 48, 108, 0.5);
}
.member-social-links .social-link.email:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.4);
}

/* Bio Button */
.bio-button {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border: none;
  padding: 12px 25px;
  border-radius: 12px;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}
.bio-button:before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s;
}
.bio-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
  background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);
}
.bio-button:hover:before {
  left: 100%;
}
.bio-button:active {
  transform: translateY(0);
}

/* Modal Styles */
.bio-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 20px;
}
@supports (-webkit-touch-callout: none) {
  .bio-modal {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(0, 0, 0, 0.95);
  }
}
.bio-modal.active {
  opacity: 1;
  visibility: visible;
}

.bio-modal-content {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 20px;
  padding: 40px;
  max-width: 600px;
  max-height: 80vh;
  overflow-y: auto;
  position: relative;
  transform: scale(0.8);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
@supports (-webkit-touch-callout: none) {
  .bio-modal-content {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.98);
  }
}
.bio-modal.active .bio-modal-content {
  transform: scale(1);
}
.bio-modal-content .modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.bio-modal-content .modal-header .modal-name {
  font-size: 2rem;
  font-weight: 700;
  color: white;
  margin: 0;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.8) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.bio-modal-content .modal-header .modal-position {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-top: 5px;
}
.bio-modal-content .modal-close {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: white;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 1.2rem;
}
.bio-modal-content .modal-close:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: rotate(90deg);
}
.bio-modal-content .modal-bio p {
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.7;
  margin-bottom: 20px;
  font-size: 1rem;
}
.bio-modal-content .modal-bio p:last-child {
  margin-bottom: 0;
}

/* Custom scrollbar for modal */
.bio-modal-content::-webkit-scrollbar {
  width: 6px;
}

.bio-modal-content::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 3px;
}

.bio-modal-content::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 3px;
}
.bio-modal-content::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.5);
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .bio-modal-content {
    padding: 25px;
    margin: 10px;
  }
  .bio-modal-content .modal-header .modal-name {
    font-size: 1.6rem;
  }
}
@media (max-width: 480px) {
  .team-member-card {
    padding: 25px 20px;
  }
  .team-member-photo .member-photo,
  .team-member-photo .member-photo-placeholder {
    width: 120px;
    height: 120px;
  }
  .team-member-photo .member-photo-placeholder .member-initial {
    font-size: 2.5rem;
  }
  .member-name {
    font-size: 1.5rem;
  }
  .bio-modal-content {
    padding: 20px;
  }
  .bio-modal-content .modal-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .bio-modal-content .modal-header .modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
  }
}
/* Member Bio */
.member-bio {
  text-align: left;
}
.member-bio p {
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.7;
  margin-bottom: 15px;
  font-size: 0.95rem;
}
.member-bio p:last-child {
  margin-bottom: 0;
}

/* No team members message */
.no-team-members {
  text-align: center;
  grid-column: 1/-1;
}
.no-team-members p {
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.8);
}
.no-team-members p a {
  color: white;
  text-decoration: underline;
}
.no-team-members p a:hover {
  text-decoration: none;
}

/* Responsive adjustments */
@media (max-width: 480px) {
  .team-member-card {
    padding: 20px;
  }
  .team-member-photo .member-photo,
  .team-member-photo .member-photo-placeholder {
    width: 100px;
    height: 100px;
  }
  .team-member-photo .member-photo-placeholder .member-initial {
    font-size: 2rem;
  }
  .member-name {
    font-size: 1.5rem;
  }
  .member-social-links .social-link {
    width: 35px;
    height: 35px;
  }
  .member-social-links .social-link svg {
    width: 18px;
    height: 18px;
  }
}
/*********************
TEAM PAGE HERO & CTA ENHANCEMENTS
*********************/
/* Team Hero Section */
.team-hero {
  min-height: 50vh;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 80px;
  /* Team Hero Visual with Profile Photos */
  /* Mobile adjustments for floating photos */
}
.team-hero .team-hero-content {
  flex: 1;
  max-width: 600px;
}
.team-hero .team-hero-content .team-hero-title {
  font-size: 3.5rem;
  font-weight: 700;
  margin-bottom: 20px;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.8) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.1;
  animation: float 6s ease-in-out infinite;
}
.team-hero .team-hero-content .team-hero-subtitle {
  font-size: 1.3rem;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.6;
  font-weight: 400;
}
.team-hero .team-hero-visual {
  flex: 1;
  height: 250px;
  position: relative;
}
.team-hero .team-hero-visual .floating-team-elements {
  position: relative;
  height: 100%;
}
.team-hero .team-hero-visual .floating-team-elements .team-element {
  position: absolute;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 50%;
  width: 90px;
  height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(255, 255, 255, 0.2);
  animation: teamElementFloat 8s ease-in-out infinite;
  overflow: hidden;
  transition: all 0.3s ease;
  font-size: 2.2rem;
}
@supports (-webkit-touch-callout: none) {
  .team-hero .team-hero-visual .floating-team-elements .team-element {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.team-hero .team-hero-visual .floating-team-elements .team-element:hover {
  transform: scale(1.1);
  border-color: rgba(255, 255, 255, 0.4);
}
.team-hero .team-hero-visual .floating-team-elements .team-element:hover .photo-overlay {
  opacity: 1;
}
.team-hero .team-hero-visual .floating-team-elements .team-element.element-1 {
  top: 15%;
  right: 20%;
  animation-delay: 0s;
}
.team-hero .team-hero-visual .floating-team-elements .team-element.element-2 {
  top: 55%;
  right: 60%;
  animation-delay: 2s;
}
.team-hero .team-hero-visual .floating-team-elements .team-element.element-3 {
  top: 75%;
  right: 10%;
  animation-delay: 4s;
}
.team-hero .team-hero-visual .floating-team-elements .team-element.element-4 {
  top: 35%;
  right: 80%;
  animation-delay: 6s;
}
.team-hero .team-hero-visual .floating-team-elements .team-element .floating-photo {
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: 50%;
  overflow: hidden;
}
.team-hero .team-hero-visual .floating-team-elements .team-element .floating-photo .floating-member-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  transition: transform 0.3s ease;
}
.team-hero .team-hero-visual .floating-team-elements .team-element .floating-photo .photo-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
  color: white;
  padding: 8px 4px 4px;
  text-align: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.team-hero .team-hero-visual .floating-team-elements .team-element .floating-photo .photo-overlay .member-name-small {
  font-size: 0.7rem;
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
  line-height: 1;
}
.team-hero .team-hero-visual .floating-team-elements .team-element .floating-photo-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.team-hero .team-hero-visual .floating-team-elements .team-element .floating-photo-placeholder .floating-initial {
  font-size: 1.8rem;
  font-weight: bold;
  color: white;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
@keyframes teamElementFloat {
  0%, 100% {
    transform: translateY(0px) scale(1) rotate(0deg);
    opacity: 0.9;
  }
  25% {
    transform: translateY(-12px) scale(1.05) rotate(2deg);
    opacity: 1;
  }
  50% {
    transform: translateY(-20px) scale(1.02) rotate(-1deg);
    opacity: 0.95;
  }
  75% {
    transform: translateY(-8px) scale(1.03) rotate(1deg);
    opacity: 1;
  }
}
@media (max-width: 768px) {
  .team-hero .team-hero-visual {
    height: 200px;
  }
  .team-hero .team-hero-visual .floating-team-elements .team-element {
    width: 70px;
    height: 70px;
    font-size: 1.8rem;
  }
  .team-hero .team-hero-visual .floating-team-elements .team-element .floating-photo .photo-overlay .member-name-small {
    font-size: 0.6rem;
  }
  .team-hero .team-hero-visual .floating-team-elements .team-element .floating-photo-placeholder .floating-initial {
    font-size: 1.4rem;
  }
}
@media (max-width: 480px) {
  .team-hero {
    min-height: 50vh;
    display: block !important;
    margin-bottom: 0px;
  }
  .team-hero .team-hero-visual {
    height: 150px;
  }
  .team-hero .team-hero-visual .floating-team-elements .team-element {
    width: 50px;
    height: 50px;
    font-size: 1.5rem;
  }
  .team-hero .team-hero-visual .floating-team-elements .team-element .floating-photo-placeholder .floating-initial {
    font-size: 1.2rem;
  }
  .team-hero .team-hero-visual .floating-team-elements .element-1 {
    top: 5% !important;
    right: 15%;
  }
  .team-hero .team-hero-visual .floating-team-elements .element-2 {
    top: 25% !important;
    right: 55%;
  }
  .team-hero .team-hero-visual .floating-team-elements .element-3 {
    top: 35% !important;
    right: 5%;
  }
  .team-hero .team-hero-visual .floating-team-elements .element-4 {
    top: 15% !important;
    right: 75%;
  }
}

@keyframes teamElementFloat {
  0%, 100% {
    transform: translateY(0px) scale(1) rotate(0deg);
    opacity: 0.8;
  }
  25% {
    transform: translateY(-15px) scale(1.1) rotate(5deg);
    opacity: 1;
  }
  50% {
    transform: translateY(-25px) scale(1.05) rotate(-3deg);
    opacity: 0.9;
  }
  75% {
    transform: translateY(-10px) scale(1.08) rotate(3deg);
    opacity: 1;
  }
}
/* Team Content */
.team-content {
  padding-top: 200px;
  margin-bottom: 80px;
}
.team-content .content-wrapper {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}
.team-content .content-wrapper p {
  font-size: 1.1rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 20px;
}

/* Update existing team section spacing */
.popindia-team-section {
  margin-top: 0;
  margin-bottom: 0;
}
.popindia-team-section .section-header {
  text-align: center;
  font-size: 2.5rem;
  margin-bottom: 50px;
  color: white;
  font-weight: 700;
}

/* Ensure smooth transitions between sections */
.team-hero,
.team-content,
.popindia-team-section {
  opacity: 0;
  transform: translateY(30px);
}
.team-hero.animate-in,
.team-content.animate-in,
.popindia-team-section.animate-in {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

/*********************
ABOUT PAGE STYLES
*********************/
/* About Hero Section */
.about-hero {
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 80px;
  position: relative;
}
.about-hero .about-hero-content {
  flex: 1;
  max-width: 600px;
}
.about-hero .about-hero-content .about-hero-title {
  font-size: 3.5rem;
  font-weight: 700;
  margin-bottom: 20px;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.8) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.1;
  animation: float 6s ease-in-out infinite;
}
.about-hero .about-hero-content .about-hero-subtitle {
  font-size: 1.3rem;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.6;
  font-weight: 400;
}
.about-hero .about-hero-visual {
  flex: 1;
  height: 300px;
  position: relative;
}
.about-hero .about-hero-visual .floating-music-notes {
  position: relative;
  height: 100%;
}
.about-hero .about-hero-visual .floating-music-notes .note {
  position: absolute;
  font-size: 2rem;
  color: rgba(255, 255, 255, 0.3);
  animation: noteFloat 8s ease-in-out infinite;
}
.about-hero .about-hero-visual .floating-music-notes .note.note-1 {
  top: 20%;
  right: 20%;
  animation-delay: 0s;
}
.about-hero .about-hero-visual .floating-music-notes .note.note-2 {
  top: 60%;
  right: 50%;
  animation-delay: 2s;
  font-size: 1.5rem;
}
.about-hero .about-hero-visual .floating-music-notes .note.note-3 {
  top: 80%;
  right: 10%;
  animation-delay: 4s;
  font-size: 1.8rem;
}
.about-hero .about-hero-visual .floating-music-notes .note.note-4 {
  top: 40%;
  right: 80%;
  animation-delay: 6s;
  font-size: 1.2rem;
}
@media (max-width: 768px) {
  .about-hero {
    flex-direction: column;
    text-align: center;
    min-height: 50vh;
  }
  .about-hero .about-hero-content {
    margin-bottom: 40px;
  }
  .about-hero .about-hero-content .about-hero-title {
    font-size: 2.5rem;
  }
  .about-hero .about-hero-visual {
    height: 200px;
  }
}

@keyframes noteFloat {
  0%, 100% {
    transform: translateY(0px) rotate(0deg);
    opacity: 0.3;
  }
  25% {
    transform: translateY(-15px) rotate(5deg);
    opacity: 0.6;
  }
  50% {
    transform: translateY(-25px) rotate(-3deg);
    opacity: 0.4;
  }
  75% {
    transform: translateY(-10px) rotate(3deg);
    opacity: 0.7;
  }
}
/* About Content */
.about-content {
  margin-bottom: 80px;
}
.about-content .content-wrapper {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}
.about-content .content-wrapper p {
  font-size: 1.1rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 20px;
}

/* Our Story Section */
.our-story {
  margin-bottom: 80px;
}
.our-story .story-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
@media (max-width: 768px) {
  .our-story .story-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
.our-story .story-text h2 {
  font-size: 2.5rem;
  margin-bottom: 30px;
  color: white;
  font-weight: 700;
}
.our-story .story-text p {
  font-size: 1.1rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 20px;
}
.our-story .story-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}
.our-story .story-stats .stat-item {
  text-align: center;
  padding: 25px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.3s ease;
}
.our-story .story-stats .stat-item:hover {
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(-5px);
}
.our-story .story-stats .stat-item .stat-number {
  font-size: 2.5rem;
  font-weight: 700;
  color: white;
  margin-bottom: 10px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.our-story .story-stats .stat-item .stat-label {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.8);
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 600;
}

/* Mission & Vision */
.mission-vision {
  margin-bottom: 80px;
}
.mission-vision .mv-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
@media (max-width: 768px) {
  .mission-vision .mv-grid {
    grid-template-columns: 1fr;
  }
}
.mission-vision .mission-card,
.mission-vision .vision-card {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 40px;
  text-align: center;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}
@supports (-webkit-touch-callout: none) {
  .mission-vision .mission-card,
  .mission-vision .vision-card {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.mission-vision .mission-card:before,
.mission-vision .vision-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #667eea, #764ba2);
  border-radius: 20px 20px 0 0;
}
.mission-vision .mission-card:hover,
.mission-vision .vision-card:hover {
  transform: translateY(-10px);
  background: rgba(255, 255, 255, 0.1);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}
.mission-vision .mission-card .card-icon,
.mission-vision .vision-card .card-icon {
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 25px;
  color: white;
  transition: transform 0.3s ease;
}
.mission-vision .mission-card:hover .card-icon,
.mission-vision .vision-card:hover .card-icon {
  transform: scale(1.1) rotate(5deg);
}
.mission-vision .mission-card h3,
.mission-vision .vision-card h3 {
  font-size: 1.8rem;
  margin-bottom: 20px;
  color: white;
  font-weight: 600;
}
.mission-vision .mission-card p,
.mission-vision .vision-card p {
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.6;
  font-size: 1rem;
}

/* Values Section */
.values-section {
  margin-bottom: 80px;
}
.values-section .section-header {
  text-align: center;
  font-size: 2.5rem;
  margin-bottom: 50px;
  color: white;
  font-weight: 700;
}
.values-section .values-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
}
.values-section .values-grid .value-item {
  text-align: center;
  padding: 30px 20px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.3s ease;
}
.values-section .values-grid .value-item:hover {
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(-5px);
}
.values-section .values-grid .value-item .value-icon {
  font-size: 3rem;
  margin-bottom: 20px;
  display: block;
}
.values-section .values-grid .value-item h4 {
  font-size: 1.3rem;
  color: white;
  margin-bottom: 15px;
  font-weight: 600;
}
.values-section .values-grid .value-item p {
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.6;
  font-size: 0.95rem;
}

/* Counter Animation */
.stat-number {
  transition: all 0.5s ease;
}

.stat-item.animate-counter .stat-number {
  animation: countUp 2s ease-out;
}

@keyframes countUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*********************
CONTACT PAGE STYLES
*********************/
/* Contact Hero Section */
.contact-hero {
  min-height: 50vh;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 80px;
}
.contact-hero .contact-hero-content {
  flex: 1;
  max-width: 600px;
}
.contact-hero .contact-hero-content .contact-hero-title {
  font-size: 3.5rem;
  font-weight: 700;
  margin-bottom: 20px;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.8) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.1;
}
.contact-hero .contact-hero-content .contact-hero-subtitle {
  font-size: 1.3rem;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.6;
  font-weight: 400;
}
.contact-hero .contact-hero-visual {
  flex: 1;
  height: 250px;
  position: relative;
}
.contact-hero .contact-hero-visual .contact-icons {
  position: relative;
  height: 100%;
}
.contact-hero .contact-hero-visual .contact-icons .icon-item {
  position: absolute;
  font-size: 2.5rem;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 50%;
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.2);
  animation: iconFloat 6s ease-in-out infinite;
}
@supports (-webkit-touch-callout: none) {
  .contact-hero .contact-hero-visual .contact-icons .icon-item {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.contact-hero .contact-hero-visual .contact-icons .icon-item:nth-child(1) {
  top: 20%;
  right: 20%;
  animation-delay: 0s;
}
.contact-hero .contact-hero-visual .contact-icons .icon-item:nth-child(2) {
  top: 60%;
  right: 60%;
  animation-delay: 1.5s;
}
.contact-hero .contact-hero-visual .contact-icons .icon-item:nth-child(3) {
  top: 80%;
  right: 20%;
  animation-delay: 3s;
}
.contact-hero .contact-hero-visual .contact-icons .icon-item:nth-child(4) {
  top: 40%;
  right: 80%;
  animation-delay: 4.5s;
}
@media (max-width: 480px) {
  .contact-hero .contact-hero-visual .contact-icons .icon-item:nth-child(1) {
    top: 5% !important;
  }
  .contact-hero .contact-hero-visual .contact-icons .icon-item:nth-child(2) {
    top: 25% !important;
  }
  .contact-hero .contact-hero-visual .contact-icons .icon-item:nth-child(3) {
    top: 35% !important;
  }
  .contact-hero .contact-hero-visual .contact-icons .icon-item:nth-child(4) {
    top: 15% !important;
  }
}
@media (max-width: 768px) {
  .contact-hero {
    flex-direction: column;
    text-align: center;
    min-height: 40vh;
  }
  .contact-hero .contact-hero-content {
    margin-bottom: 40px;
  }
  .contact-hero .contact-hero-content .contact-hero-title {
    font-size: 2.5rem;
  }
  .contact-hero .contact-hero-visual {
    height: 200px;
  }
}

@keyframes iconFloat {
  0%, 100% {
    transform: translateY(0px) scale(1);
  }
  50% {
    transform: translateY(-15px) scale(1.1);
  }
}
/* Contact Content */
.contact-content {
  padding-top: 200px;
  margin-bottom: 80px;
}
.contact-content .content-wrapper {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}
.contact-content .content-wrapper p {
  font-size: 1.1rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 20px;
}

/* Contact Departments */
.contact-departments {
  margin-bottom: 80px;
}
.contact-departments .section-header {
  text-align: center;
  font-size: 2.5rem;
  margin-bottom: 50px;
  color: white;
  font-weight: 700;
}
.contact-departments .departments-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
}
.contact-departments .departments-grid .department-card {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 35px 25px;
  text-align: center;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}
@supports (-webkit-touch-callout: none) {
  .contact-departments .departments-grid .department-card {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.contact-departments .departments-grid .department-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #667eea, #764ba2);
  border-radius: 20px 20px 0 0;
}
.contact-departments .departments-grid .department-card:hover {
  transform: translateY(-10px);
  background: rgba(255, 255, 255, 0.1);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
}
.contact-departments .departments-grid .department-card .dept-icon {
  font-size: 3rem;
  margin-bottom: 20px;
  display: block;
}
.contact-departments .departments-grid .department-card .dept-title {
  font-size: 1.4rem;
  color: white;
  margin-bottom: 10px;
  font-weight: 600;
}
.contact-departments .departments-grid .department-card .dept-person {
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 15px;
  font-weight: 500;
}
.contact-departments .departments-grid .department-card .dept-email {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-size: 0.95rem;
  display: block;
  margin-bottom: 25px;
  transition: color 0.3s ease;
}
.contact-departments .departments-grid .department-card .dept-email:hover {
  color: white;
}
.contact-departments .departments-grid .department-card .dept-action .contact-btn {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  text-decoration: none;
  padding: 12px 20px;
  border-radius: 10px;
  font-weight: 600;
  font-size: 0.9rem;
  display: inline-flex;
  align-items: center;
  transition: all 0.3s ease;
}
.contact-departments .departments-grid .department-card .dept-action .contact-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
}

/* Contact Form Section */
.contact-form-section {
  margin-bottom: 80px;
}
.contact-form-section .form-container {
  max-width: 800px;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 50px 40px;
}
@supports (-webkit-touch-callout: none) {
  .contact-form-section .form-container {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.contact-form-section .form-container .form-header {
  text-align: center;
  margin-bottom: 40px;
}
.contact-form-section .form-container .form-header h2 {
  font-size: 2.2rem;
  color: white;
  margin-bottom: 15px;
  font-weight: 600;
}
.contact-form-section .form-container .form-header p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 1rem;
  line-height: 1.6;
}

/* Enhanced Contact Form Styling */
.popindia-contact-form .form-grid,
.contact-form .wpcf7-form .form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
  margin-bottom: 25px;
}
@media (max-width: 600px) {
  .popindia-contact-form .form-grid,
  .contact-form .wpcf7-form .form-grid {
    grid-template-columns: 1fr;
  }
}
.popindia-contact-form .form-group,
.contact-form .wpcf7-form .form-group {
  margin-bottom: 25px;
}
.popindia-contact-form .form-group label,
.contact-form .wpcf7-form .form-group label {
  display: block;
  color: white;
  font-weight: 600;
  margin-bottom: 8px;
  font-size: 0.95rem;
}
.popindia-contact-form .form-group .form-control,
.popindia-contact-form .form-group input[type=text],
.popindia-contact-form .form-group input[type=email],
.popindia-contact-form .form-group textarea,
.contact-form .wpcf7-form .form-group .form-control,
.contact-form .wpcf7-form .form-group input[type=text],
.contact-form .wpcf7-form .form-group input[type=email],
.contact-form .wpcf7-form .form-group textarea {
  width: 100%;
  padding: 15px 18px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.08);
  color: white;
  font-size: 1rem;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  font-family: "Poppins", sans-serif;
}
@supports (-webkit-touch-callout: none) {
  .popindia-contact-form .form-group .form-control,
  .popindia-contact-form .form-group input[type=text],
  .popindia-contact-form .form-group input[type=email],
  .popindia-contact-form .form-group textarea,
  .contact-form .wpcf7-form .form-group .form-control,
  .contact-form .wpcf7-form .form-group input[type=text],
  .contact-form .wpcf7-form .form-group input[type=email],
  .contact-form .wpcf7-form .form-group textarea {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.popindia-contact-form .form-group .form-control::placeholder,
.popindia-contact-form .form-group input[type=text]::placeholder,
.popindia-contact-form .form-group input[type=email]::placeholder,
.popindia-contact-form .form-group textarea::placeholder,
.contact-form .wpcf7-form .form-group .form-control::placeholder,
.contact-form .wpcf7-form .form-group input[type=text]::placeholder,
.contact-form .wpcf7-form .form-group input[type=email]::placeholder,
.contact-form .wpcf7-form .form-group textarea::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.popindia-contact-form .form-group .form-control:focus,
.popindia-contact-form .form-group input[type=text]:focus,
.popindia-contact-form .form-group input[type=email]:focus,
.popindia-contact-form .form-group textarea:focus,
.contact-form .wpcf7-form .form-group .form-control:focus,
.contact-form .wpcf7-form .form-group input[type=text]:focus,
.contact-form .wpcf7-form .form-group input[type=email]:focus,
.contact-form .wpcf7-form .form-group textarea:focus {
  outline: none;
  border-color: rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.12);
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.1);
  transform: translateY(-1px);
}
.popindia-contact-form .form-group textarea,
.contact-form .wpcf7-form .form-group textarea {
  min-height: 120px;
  resize: vertical;
}
.popindia-contact-form .form-submit,
.contact-form .wpcf7-form .form-submit {
  text-align: center;
  margin-top: 30px;
}

/* Office Info */
.office-info {
  padding: 0 40px;
}
@media (max-width: 768px) {
  .office-info {
    padding: 0 20px;
  }
}
.office-info .office-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: start;
}
@media (max-width: 768px) {
  .office-info .office-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
.office-info .office-details h2 {
  font-size: 2.2rem;
  color: white;
  margin-bottom: 30px;
  font-weight: 600;
}
.office-info .office-details .office-address,
.office-info .office-details .office-phone {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 30px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.office-info .office-details .office-address .address-icon,
.office-info .office-details .office-address .phone-icon,
.office-info .office-details .office-phone .address-icon,
.office-info .office-details .office-phone .phone-icon {
  font-size: 2rem;
  flex-shrink: 0;
}
.office-info .office-details .office-address .address-text h4,
.office-info .office-details .office-address .phone-text h4,
.office-info .office-details .office-phone .address-text h4,
.office-info .office-details .office-phone .phone-text h4 {
  color: white;
  margin-bottom: 8px;
  font-size: 1.1rem;
  font-weight: 600;
}
.office-info .office-details .office-address .address-text p,
.office-info .office-details .office-address .phone-text p,
.office-info .office-details .office-phone .address-text p,
.office-info .office-details .office-phone .phone-text p {
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.6;
  margin: 0;
}
.office-info .office-details .office-description p {
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.7;
  font-size: 1rem;
}
.office-info .office-map {
  margin: auto 0;
}
.office-info .office-map .map-placeholder {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
}
.office-info .office-map .map-placeholder:hover {
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(-5px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
}
.office-info .office-map .map-placeholder .map-content {
  text-align: center;
  color: rgba(255, 255, 255, 0.7);
}
.office-info .office-map .map-placeholder .map-content svg {
  margin-bottom: 15px;
  opacity: 0.7;
}
.office-info .office-map .map-placeholder .map-content h4 {
  color: white;
  margin-bottom: 8px;
  font-size: 1.2rem;
}
.office-info .office-map .map-placeholder .map-content p {
  font-size: 0.9rem;
  margin: 0;
}

/* Form validation and response styles */
.wpcf7-form-control-wrap {
  position: relative;
}

.wpcf7-not-valid-tip {
  color: #ff6b6b;
  font-size: 0.85rem;
  margin-top: 5px;
  display: block;
}

.wpcf7-response-output {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  padding: 20px;
  margin-top: 25px;
  color: white;
  text-align: center;
  font-weight: 500;
}

.wpcf7-mail-sent-ok {
  background: rgba(76, 175, 80, 0.2);
  border-color: rgba(76, 175, 80, 0.4);
  color: #4CAF50;
}

.wpcf7-validation-errors {
  background: rgba(244, 67, 54, 0.2);
  border-color: rgba(244, 67, 54, 0.4);
  color: #F44336;
}

/*********************
MUSIC CATALOG PAGE STYLES - UPDATED
*********************/
/* Music Hero Section with Album Cover Floating Elements */
.music-hero {
  min-height: 50vh;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 80px;
}
.music-hero .music-hero-content {
  flex: 1;
  max-width: 600px;
}
.music-hero .music-hero-content .music-hero-title {
  font-size: 3.5rem;
  font-weight: 700;
  margin-bottom: 20px;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.8) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.4;
  animation: float 6s ease-in-out infinite;
}
.music-hero .music-hero-content .music-hero-subtitle {
  font-size: 1.3rem;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.6;
  font-weight: 400;
}
.music-hero .music-hero-visual {
  flex: 1;
  height: 250px;
  position: relative;
}
.music-hero .music-hero-visual .floating-music-elements {
  position: relative;
  height: 100%;
}
.music-hero .music-hero-visual .floating-music-elements .music-element {
  position: absolute;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 16px;
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(255, 255, 255, 0.2);
  animation: musicElementFloat 8s ease-in-out infinite;
  overflow: hidden;
  transition: all 0.3s ease;
  font-size: 2.2rem;
}
@supports (-webkit-touch-callout: none) {
  .music-hero .music-hero-visual .floating-music-elements .music-element {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.music-hero .music-hero-visual .floating-music-elements .music-element:hover {
  transform: scale(1.1);
  border-color: rgba(255, 255, 255, 0.4);
}
.music-hero .music-hero-visual .floating-music-elements .music-element:hover .album-overlay {
  opacity: 1;
}
.music-hero .music-hero-visual .floating-music-elements .music-element.element-1 {
  top: 15%;
  right: 20%;
  animation-delay: 0s;
}
.music-hero .music-hero-visual .floating-music-elements .music-element.element-2 {
  top: 55%;
  right: 60%;
  animation-delay: 2s;
}
.music-hero .music-hero-visual .floating-music-elements .music-element.element-3 {
  top: 75%;
  right: 10%;
  animation-delay: 4s;
}
.music-hero .music-hero-visual .floating-music-elements .music-element.element-4 {
  top: 35%;
  right: 80%;
  animation-delay: 6s;
}
.music-hero .music-hero-visual .floating-music-elements .music-element .floating-album-cover {
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: 12px;
  overflow: hidden;
}
.music-hero .music-hero-visual .floating-music-elements .music-element .floating-album-cover .floating-album-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
  transition: transform 0.3s ease;
}
.music-hero .music-hero-visual .floating-music-elements .music-element .floating-album-cover .album-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.9));
  color: white;
  padding: 8px 6px 6px;
  text-align: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.music-hero .music-hero-visual .floating-music-elements .music-element .floating-album-cover .album-overlay .track-name-small {
  display: block;
  font-size: 0.7rem;
  font-weight: 700;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
  line-height: 1;
  margin-bottom: 2px;
}
.music-hero .music-hero-visual .floating-music-elements .music-element .floating-album-cover .album-overlay .artist-name-small {
  display: block;
  font-size: 0.6rem;
  font-weight: 500;
  opacity: 0.9;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
  line-height: 1;
}
.music-hero .music-hero-visual .floating-music-elements .music-element .floating-album-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 8px;
}
.music-hero .music-hero-visual .floating-music-elements .music-element .floating-album-placeholder .album-icon {
  font-size: 2rem;
  margin-bottom: 4px;
  color: white;
}
.music-hero .music-hero-visual .floating-music-elements .music-element .floating-album-placeholder .track-title-small {
  font-size: 0.65rem;
  font-weight: 700;
  color: white;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  line-height: 1.1;
  text-align: center;
}
@media (max-width: 768px) {
  .music-hero {
    flex-direction: column;
    text-align: center;
    min-height: 40vh;
  }
  .music-hero .music-hero-content {
    margin-bottom: 40px;
  }
  .music-hero .music-hero-content .music-hero-title {
    font-size: 2.5rem;
  }
  .music-hero .music-hero-visual {
    height: 200px;
  }
  .music-hero .music-hero-visual .floating-music-elements .music-element {
    width: 80px;
    height: 80px;
    font-size: 1.8rem;
  }
  .music-hero .music-hero-visual .floating-music-elements .music-element .album-overlay .track-name-small {
    font-size: 0.6rem;
  }
  .music-hero .music-hero-visual .floating-music-elements .music-element .album-overlay .artist-name-small {
    font-size: 0.55rem;
  }
  .music-hero .music-hero-visual .floating-music-elements .music-element .floating-album-placeholder .album-icon {
    font-size: 1.6rem;
  }
  .music-hero .music-hero-visual .floating-music-elements .music-element .floating-album-placeholder .track-title-small {
    font-size: 0.6rem;
  }
}
@media (max-width: 480px) {
  .music-hero .music-hero-visual {
    height: 150px;
  }
  .music-hero .music-hero-visual .floating-music-elements .music-element {
    width: 50px;
    height: 50px;
    position: relative;
    font-size: 1.5rem;
  }
  .music-hero .music-hero-visual .floating-music-elements .music-element .floating-album-placeholder .album-icon {
    font-size: 1.4rem;
  }
  .music-hero .music-hero-visual .floating-music-elements .music-element .floating-album-placeholder .track-title-small {
    font-size: 0.55rem;
  }
  .music-hero .music-hero-visual .floating-music-elements .element-1 {
    top: 5% !important;
    right: 15%;
  }
  .music-hero .music-hero-visual .floating-music-elements .element-2 {
    top: 25% !important;
    right: 55%;
  }
  .music-hero .music-hero-visual .floating-music-elements .element-3 {
    top: 35% !important;
    right: 5%;
  }
  .music-hero .music-hero-visual .floating-music-elements .element-4 {
    top: 15% !important;
    right: 75%;
  }
}

@keyframes musicElementFloat {
  0%, 100% {
    transform: translateY(0px) scale(1) rotate(0deg);
    opacity: 0.9;
  }
  25% {
    transform: translateY(-12px) scale(1.05) rotate(1deg);
    opacity: 1;
  }
  50% {
    transform: translateY(-20px) scale(1.02) rotate(-1deg);
    opacity: 0.95;
  }
  75% {
    transform: translateY(-8px) scale(1.03) rotate(0.5deg);
    opacity: 1;
  }
}
/* Music Content */
.music-content {
  padding-top: 200px;
}
.music-content .content-wrapper {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}
.music-content .content-wrapper p {
  font-size: 1.1rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 20px;
}

/* Search and Filter Section with Proper Search Icon */
.music-filters {
  margin-bottom: 60px;
}
.music-filters .filters-container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 30px;
  align-items: center;
}
.music-filters .search-box {
  position: relative;
  width: 100%;
  max-width: 500px;
}
.music-filters .search-box .search-input {
  width: 100%;
  padding: 18px 60px 18px 20px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: white;
  font-size: 1.1rem;
  transition: all 0.3s ease;
  font-family: "Poppins", sans-serif;
}
@supports (-webkit-touch-callout: none) {
  .music-filters .search-box .search-input {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.music-filters .search-box .search-input::placeholder {
  color: rgba(255, 255, 255, 0.6);
}
.music-filters .search-box .search-input:focus {
  outline: none;
  border-color: rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 0 25px rgba(255, 255, 255, 0.1);
  transform: translateY(-2px);
}
.music-filters .search-box .search-icon {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(255, 255, 255, 0.6);
  pointer-events: none;
  transition: all 0.3s ease;
}
.music-filters .search-box .search-icon svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
}
.music-filters .search-box:focus-within .search-icon {
  color: rgba(255, 255, 255, 0.8);
  transform: translateY(-50%) scale(1.1);
}
.music-filters .filter-buttons {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  justify-content: center;
}
.music-filters .filter-buttons .filter-btn {
  padding: 12px 24px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: white;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}
@supports (-webkit-touch-callout: none) {
  .music-filters .filter-buttons .filter-btn {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.music-filters .filter-buttons .filter-btn:before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s;
}
.music-filters .filter-buttons .filter-btn:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 8px 20px rgba(255, 255, 255, 0.1);
}
.music-filters .filter-buttons .filter-btn:hover:before {
  left: 100%;
}
.music-filters .filter-buttons .filter-btn.active {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-color: rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3);
  transform: translateY(-2px);
}
@media (max-width: 768px) {
  .music-filters .filters-container {
    gap: 25px;
  }
  .music-filters .filter-buttons {
    gap: 10px;
  }
  .music-filters .filter-buttons .filter-btn {
    padding: 10px 18px;
    font-size: 0.9rem;
  }
}

/* Music Grid Container */
.music-catalog-grid {
  margin-bottom: 80px;
}
.music-catalog-grid .music-grid-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 30px;
  max-width: 1400px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .music-catalog-grid .music-grid-container {
    grid-template-columns: 1fr;
    gap: 25px;
  }
}
@media (max-width: 400px) {
  .music-catalog-grid .music-grid-container {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* Music Track Cards */
.music-track-card {
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 20px;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}
@supports (-webkit-touch-callout: none) {
  .music-track-card {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.music-track-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #667eea, #764ba2);
  border-radius: 20px 20px 0 0;
}
.music-track-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.4);
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.25);
}
.music-track-card .track-header {
  padding: 25px 25px 20px;
}
.music-track-card .track-header .track-info .track-title {
  font-size: 1.4rem;
  font-weight: 700;
  color: white;
  margin-bottom: 8px;
  line-height: 1.3;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.9) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.music-track-card .track-header .track-info .track-artist {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 15px;
  font-weight: 500;
}
.music-track-card .track-header .track-info .track-meta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.music-track-card .track-header .track-info .track-meta .genre-tag {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.music-track-card .track-header .track-info .track-meta .release-date {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.8);
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 500;
}
.music-track-card .spotify-player {
  padding: 0 25px 20px;
}
.music-track-card .spotify-player iframe {
  width: 100%;
  border-radius: 12px;
  border: none;
  transition: transform 0.3s ease;
}
.music-track-card .spotify-player:hover iframe {
  transform: scale(1.02);
}
.music-track-card .no-player {
  padding: 0 25px 20px;
}
.music-track-card .no-player .no-player-content {
  background: rgba(255, 255, 255, 0.05);
  border: 2px dashed rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  padding: 40px 20px;
  text-align: center;
}
.music-track-card .no-player .no-player-content .music-icon {
  font-size: 3rem;
  margin-bottom: 15px;
  opacity: 0.6;
}
.music-track-card .no-player .no-player-content p {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.9rem;
  margin: 0;
}
.music-track-card .track-actions {
  padding: 0 25px 25px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.music-track-card .track-actions .action-btn {
  display: inline-flex;
  align-items: center;
  padding: 10px 16px;
  border-radius: 10px;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.1);
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.music-track-card .track-actions .action-btn:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.2);
  box-shadow: 0 6px 20px rgba(255, 255, 255, 0.1);
}
.music-track-card .track-actions .action-btn.apple-music:hover {
  background: rgba(252, 252, 252, 0.2);
  border-color: rgba(252, 252, 252, 0.4);
}
.music-track-card .track-actions .action-btn.youtube:hover {
  background: rgba(255, 0, 0, 0.2);
  border-color: rgba(255, 0, 0, 0.4);
}
.music-track-card .track-actions .action-btn.track-info-btn:hover {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-color: rgba(102, 126, 234, 0.4);
}

/* Track Info Modals */
.track-info-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 20px;
}
@supports (-webkit-touch-callout: none) {
  .track-info-modal {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(0, 0, 0, 0.95);
  }
}
.track-info-modal.active {
  opacity: 1;
  visibility: visible;
}
.track-info-modal .track-info-modal-content {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 20px;
  padding: 40px;
  max-width: 600px;
  max-height: 80vh;
  overflow-y: auto;
  position: relative;
  transform: scale(0.8);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
@supports (-webkit-touch-callout: none) {
  .track-info-modal .track-info-modal-content {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.98);
  }
}
.track-info-modal.active .track-info-modal .track-info-modal-content {
  transform: scale(1);
}
.track-info-modal .track-info-modal-content .modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.track-info-modal .track-info-modal-content .modal-header h3 {
  font-size: 1.8rem;
  font-weight: 700;
  color: white;
  margin: 0;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.8) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.track-info-modal .track-info-modal-content .modal-header .modal-close {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: white;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 1.2rem;
}
.track-info-modal .track-info-modal-content .modal-header .modal-close:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: rotate(90deg);
}
.track-info-modal .track-info-modal-content .modal-body p {
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.7;
  margin-bottom: 20px;
  font-size: 1rem;
}
.track-info-modal .track-info-modal-content .modal-body p:last-child {
  margin-bottom: 0;
}

/* No Results Message with Proper Search Icon */
.no-results {
  text-align: center;
  padding: 60px 20px;
}
.no-results .no-results-content {
  max-width: 400px;
  margin: 0 auto;
}
.no-results .no-results-content .search-icon-large {
  margin-bottom: 20px;
  opacity: 0.6;
  color: rgba(255, 255, 255, 0.6);
}
.no-results .no-results-content .search-icon-large svg {
  width: 60px;
  height: 60px;
  stroke: currentColor;
}
.no-results .no-results-content h3 {
  font-size: 1.8rem;
  color: white;
  margin-bottom: 15px;
  font-weight: 600;
}
.no-results .no-results-content p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 1rem;
  line-height: 1.6;
}

/* No Music Message */
.no-music {
  text-align: center;
  padding: 80px 20px;
  grid-column: 1/-1;
}
.no-music .no-music-content {
  max-width: 500px;
  margin: 0 auto;
}
.no-music .no-music-content .music-icon {
  font-size: 5rem;
  margin-bottom: 30px;
  opacity: 0.6;
}
.no-music .no-music-content h3 {
  font-size: 2rem;
  color: white;
  margin-bottom: 20px;
  font-weight: 600;
}
.no-music .no-music-content p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 1.1rem;
  line-height: 1.6;
}
.no-music .no-music-content p a {
  color: white;
  text-decoration: underline;
}
.no-music .no-music-content p a:hover {
  text-decoration: none;
}

/* Custom scrollbar for modals */
.track-info-modal-content::-webkit-scrollbar {
  width: 6px;
}

.track-info-modal-content::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 3px;
}

.track-info-modal-content::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 3px;
}
.track-info-modal-content::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.5);
}

/* Responsive adjustments */
@media (max-width: 480px) {
  .music-track-card .track-header {
    padding: 20px 20px 15px;
  }
  .music-track-card .spotify-player,
  .music-track-card .no-player {
    padding: 0 20px 15px;
  }
  .music-track-card .track-actions {
    padding: 0 20px 20px;
  }
  .music-track-card .track-actions .action-btn {
    padding: 8px 12px;
    font-size: 0.85rem;
  }
  .track-info-modal-content {
    padding: 25px;
    margin: 10px;
  }
  .track-info-modal-content .modal-header h3 {
    font-size: 1.5rem;
  }
}
/* Smooth animations on scroll */
.music-hero,
.music-content,
.music-filters,
.music-catalog-grid {
  opacity: 0;
  transform: translateY(30px);
}
.music-hero.animate-in,
.music-content.animate-in,
.music-filters.animate-in,
.music-catalog-grid.animate-in {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Staggered animation for music cards */
.music-track-card {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.music-track-card.animate-in {
  opacity: 1;
  transform: translateY(0);
}
.music-track-card:nth-child(1) {
  transition-delay: 0.1s;
}
.music-track-card:nth-child(2) {
  transition-delay: 0.2s;
}
.music-track-card:nth-child(3) {
  transition-delay: 0.3s;
}
.music-track-card:nth-child(4) {
  transition-delay: 0.4s;
}
.music-track-card:nth-child(5) {
  transition-delay: 0.5s;
}
.music-track-card:nth-child(6) {
  transition-delay: 0.6s;
}

/*********************
ROSTER PAGE STYLES
*********************/
/* Roster Hero Section */
.roster-hero {
  min-height: 50vh;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 80px;
}
.roster-hero .roster-hero-content {
  flex: 1;
  max-width: 600px;
}
.roster-hero .roster-hero-content .roster-hero-title {
  font-size: 3.5rem;
  font-weight: 700;
  margin-bottom: 20px;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.8) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.1;
  animation: float 6s ease-in-out infinite;
}
.roster-hero .roster-hero-content .roster-hero-subtitle {
  font-size: 1.3rem;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.6;
  font-weight: 400;
}
.roster-hero .roster-hero-visual {
  flex: 1;
  height: 250px;
  position: relative;
}
.roster-hero .roster-hero-visual .floating-roster-elements {
  position: relative;
  height: 100%;
}
.roster-hero .roster-hero-visual .floating-roster-elements .roster-element {
  position: absolute;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 50%;
  width: 90px;
  height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(255, 255, 255, 0.2);
  animation: rosterElementFloat 8s ease-in-out infinite;
  overflow: hidden;
  transition: all 0.3s ease;
  font-size: 2.2rem;
}
@supports (-webkit-touch-callout: none) {
  .roster-hero .roster-hero-visual .floating-roster-elements .roster-element {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.roster-hero .roster-hero-visual .floating-roster-elements .roster-element:hover {
  transform: scale(1.1);
  border-color: rgba(255, 255, 255, 0.4);
}
.roster-hero .roster-hero-visual .floating-roster-elements .roster-element:hover .artist-overlay {
  opacity: 1;
}
.roster-hero .roster-hero-visual .floating-roster-elements .roster-element.element-1 {
  top: 15%;
  right: 20%;
  animation-delay: 0s;
}
.roster-hero .roster-hero-visual .floating-roster-elements .roster-element.element-2 {
  top: 55%;
  right: 60%;
  animation-delay: 2s;
}
.roster-hero .roster-hero-visual .floating-roster-elements .roster-element.element-3 {
  top: 75%;
  right: 10%;
  animation-delay: 4s;
}
.roster-hero .roster-hero-visual .floating-roster-elements .roster-element.element-4 {
  top: 35%;
  right: 80%;
  animation-delay: 6s;
}
.roster-hero .roster-hero-visual .floating-roster-elements .roster-element .floating-artist-photo {
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: 50%;
  overflow: hidden;
}
.roster-hero .roster-hero-visual .floating-roster-elements .roster-element .floating-artist-photo .floating-artist-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  transition: transform 0.3s ease;
}
.roster-hero .roster-hero-visual .floating-roster-elements .roster-element .floating-artist-photo .artist-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
  color: white;
  padding: 8px 4px 4px;
  text-align: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.roster-hero .roster-hero-visual .floating-roster-elements .roster-element .floating-artist-photo .artist-overlay .artist-name-small {
  font-size: 0.7rem;
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
  line-height: 1;
}
.roster-hero .roster-hero-visual .floating-roster-elements .roster-element .floating-artist-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.roster-hero .roster-hero-visual .floating-roster-elements .roster-element .floating-artist-placeholder .artist-initial {
  font-size: 1.8rem;
  font-weight: bold;
  color: white;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
@media (max-width: 768px) {
  .roster-hero {
    flex-direction: column;
    text-align: center;
    min-height: 40vh;
  }
  .roster-hero .roster-hero-content {
    margin-bottom: 40px;
  }
  .roster-hero .roster-hero-content .roster-hero-title {
    font-size: 2.5rem;
  }
  .roster-hero .roster-hero-visual {
    height: 200px;
  }
}
@media (max-width: 480px) {
  .roster-hero {
    min-height: 50vh;
    display: block !important;
    margin-bottom: 0px;
  }
  .roster-hero .roster-hero-visual {
    height: 150px;
  }
  .roster-hero .roster-hero-visual .floating-roster-elements .roster-element {
    width: 50px;
    height: 50px;
    font-size: 1.5rem;
  }
  .roster-hero .roster-hero-visual .floating-roster-elements .roster-element .floating-photo-placeholder .floating-initial {
    font-size: 1.2rem;
  }
  .roster-hero .roster-hero-visual .floating-roster-elements .element-1 {
    top: 5% !important;
    right: 15%;
  }
  .roster-hero .roster-hero-visual .floating-roster-elements .element-2 {
    top: 25% !important;
    right: 55%;
  }
  .roster-hero .roster-hero-visual .floating-roster-elements .element-3 {
    top: 35% !important;
    right: 5%;
  }
  .roster-hero .roster-hero-visual .floating-roster-elements .element-4 {
    top: 15% !important;
    right: 75%;
  }
}

@keyframes rosterElementFloat {
  0%, 100% {
    transform: translateY(0px) scale(1) rotate(0deg);
    opacity: 0.9;
  }
  25% {
    transform: translateY(-12px) scale(1.05) rotate(2deg);
    opacity: 1;
  }
  50% {
    transform: translateY(-20px) scale(1.02) rotate(-1deg);
    opacity: 0.95;
  }
  75% {
    transform: translateY(-8px) scale(1.03) rotate(1deg);
    opacity: 1;
  }
}
/* Roster Content */
.roster-content {
  padding-top: 200px;
  margin-bottom: 80px;
}
.roster-content .content-wrapper {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}
.roster-content .content-wrapper p {
  font-size: 1.1rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 20px;
}

/* Artists Showcase */
.artists-showcase {
  margin-bottom: 80px;
}
.artists-showcase .section-header {
  text-align: center;
  font-size: 2.5rem;
  margin-bottom: 60px;
  color: white;
  font-weight: 700;
}
.artists-showcase .artists-container {
  max-width: 1200px;
  margin: 0 auto;
}

/* Artist Row Layout - Alternating Design */
.artist-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  margin-bottom: 100px;
  padding: 0 20px;
}
.artist-row:last-child {
  margin-bottom: 0;
}
.artist-row .artist-image {
  position: relative;
}
.artist-row .artist-image .artist-photo-container {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 15px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
@supports (-webkit-touch-callout: none) {
  .artist-row .artist-image .artist-photo-container {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.artist-row .artist-image .artist-photo-container:hover {
  transform: translateY(-10px);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
  background: rgba(255, 255, 255, 0.15);
}
.artist-row .artist-image .artist-photo-container:hover .artist-photo {
  transform: scale(1.05);
}
.artist-row .artist-image .artist-photo-container:hover .photo-frame {
  opacity: 1;
}
.artist-row .artist-image .artist-photo-container .artist-photo {
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: 16px;
  transition: transform 0.4s ease;
}
.artist-row .artist-image .artist-photo-container .photo-frame {
  position: absolute;
  top: 15px;
  left: 15px;
  right: 15px;
  bottom: 15px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 16px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.artist-row .artist-image .artist-photo-placeholder {
  height: 430px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.artist-row .artist-image .artist-photo-placeholder .artist-initial-large {
  font-size: 6rem;
  font-weight: bold;
  color: white;
  text-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}
.artist-row .artist-content {
  padding: 40px;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  position: relative;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
@supports (-webkit-touch-callout: none) {
  .artist-row .artist-content {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.artist-row .artist-content:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #667eea, #764ba2);
  border-radius: 20px 20px 0 0;
}
.artist-row .artist-content:hover {
  background: rgba(255, 255, 255, 0.08);
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}
.artist-row .artist-content .artist-info .artist-name {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 10px;
  color: white;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.9) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.2;
}
.artist-row .artist-content .artist-info .artist-genre {
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 25px;
  padding: 8px 16px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 8px;
  display: inline-block;
}
.artist-row .artist-content .artist-info .artist-description {
  margin-bottom: 30px;
}
.artist-row .artist-content .artist-info .artist-description p {
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.7;
  font-size: 1.1rem;
  margin-bottom: 15px;
}
.artist-row .artist-content .artist-info .artist-description p:last-child {
  margin-bottom: 0;
}
.artist-row .artist-content .artist-info .artist-links {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}
.artist-row .artist-content .artist-info .artist-links .artist-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 18px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  color: white;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.artist-row .artist-content .artist-info .artist-links .artist-link svg {
  width: 18px;
  height: 18px;
  transition: transform 0.3s ease;
}
.artist-row .artist-content .artist-info .artist-links .artist-link:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(255, 255, 255, 0.1);
}
.artist-row .artist-content .artist-info .artist-links .artist-link:hover svg {
  transform: scale(1.1);
}
.artist-row .artist-content .artist-info .artist-links .artist-link.spotify:hover {
  background: rgba(30, 215, 96, 0.2);
  border-color: rgba(30, 215, 96, 0.4);
}
.artist-row .artist-content .artist-info .artist-links .artist-link.instagram:hover {
  background: rgba(225, 48, 108, 0.2);
  border-color: rgba(225, 48, 108, 0.4);
}
.artist-row .artist-content .artist-info .artist-links .artist-link.website:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.4);
}
.artist-row .artist-content .artist-info .artist-links .artist-link.profile {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-color: rgba(102, 126, 234, 0.4);
}
.artist-row .artist-content .artist-info .artist-links .artist-link.profile:hover {
  background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);
  box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
}
@media (max-width: 1024px) {
  .artist-row {
    gap: 40px;
    margin-bottom: 80px;
  }
}
@media (max-width: 768px) {
  .artist-row {
    grid-template-columns: 1fr;
    gap: 30px;
    margin-bottom: 60px;
  }
  .artist-row .artist-content {
    padding: 30px 25px;
  }
  .artist-row .artist-content .artist-info .artist-name {
    font-size: 2rem;
  }
  .artist-row .artist-image .artist-photo-container .artist-photo {
    height: 300px;
  }
  .artist-row .artist-image .artist-photo-placeholder {
    height: 330px;
  }
  .artist-row .artist-image .artist-photo-placeholder .artist-initial-large {
    font-size: 4rem;
  }
}
@media (max-width: 480px) {
  .artist-row {
    padding: 0 10px;
  }
  .artist-row .artist-content {
    padding: 25px 20px;
  }
  .artist-row .artist-content .artist-info .artist-name {
    font-size: 1.8rem;
  }
  .artist-row .artist-content .artist-info .artist-links {
    flex-direction: column;
  }
  .artist-row .artist-content .artist-info .artist-links .artist-link {
    justify-content: center;
  }
  .artist-row .artist-image .artist-photo-container .artist-photo {
    height: 250px;
  }
  .artist-row .artist-image .artist-photo-placeholder {
    height: 280px;
  }
  .artist-row .artist-image .artist-photo-placeholder .artist-initial-large {
    font-size: 3rem;
  }
}

/* Ensure proper ordering for even rows */
.artist-row.even .artist-content {
  order: 1;
}
.artist-row.even .artist-image {
  order: 2;
}
@media (max-width: 768px) {
  .artist-row.even .artist-content {
    order: 2;
  }
  .artist-row.even .artist-image {
    order: 1;
  }
}

/* No Artists Message */
.no-artists {
  text-align: center;
  padding: 80px 20px;
}
.no-artists .no-artists-content {
  max-width: 500px;
  margin: 0 auto;
}
.no-artists .no-artists-content .music-icon {
  font-size: 5rem;
  margin-bottom: 30px;
  opacity: 0.6;
}
.no-artists .no-artists-content h3 {
  font-size: 2rem;
  color: white;
  margin-bottom: 20px;
  font-weight: 600;
}
.no-artists .no-artists-content p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 1.1rem;
  line-height: 1.6;
}
.no-artists .no-artists-content p a {
  color: white;
  text-decoration: underline;
}
.no-artists .no-artists-content p a:hover {
  text-decoration: none;
}

/* CTA Section */
.cta-section {
  padding: 60px 40px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.cta-section:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #667eea, #764ba2);
  border-radius: 20px 20px 0 0;
}
.cta-section .cta-content {
  max-width: 600px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.cta-section .cta-content h2 {
  font-size: 2.5rem;
  margin-bottom: 20px;
  color: white;
  font-weight: 700;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.9) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.cta-section .cta-content p {
  font-size: 1.2rem;
  margin-bottom: 40px;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.6;
}
.cta-section .cta-content .cta-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
}
.cta-section:after {
  content: "";
  position: absolute;
  top: 20%;
  right: 10%;
  width: 100px;
  height: 100px;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.03) 0%, transparent 70%);
  border-radius: 50%;
  animation: float 8s ease-in-out infinite;
  pointer-events: none;
}
@media (max-width: 768px) {
  .cta-section {
    padding: 40px 25px;
  }
  .cta-section .cta-content h2 {
    font-size: 2rem;
  }
  .cta-section .cta-content .cta-buttons {
    flex-direction: column;
    align-items: center;
  }
}

/* Smooth animations on scroll */
.roster-hero,
.roster-content,
.artists-showcase {
  opacity: 0;
  transform: translateY(30px);
}
.roster-hero.animate-in,
.roster-content.animate-in,
.artists-showcase.animate-in {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Staggered animation for artist rows */
.artist-row {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.artist-row.animate-in {
  opacity: 1;
  transform: translateY(0);
}
.artist-row:nth-child(1) {
  transition-delay: 0.1s;
}
.artist-row:nth-child(2) {
  transition-delay: 0.3s;
}
.artist-row:nth-child(3) {
  transition-delay: 0.5s;
}
.artist-row:nth-child(4) {
  transition-delay: 0.7s;
}
.artist-row:nth-child(5) {
  transition-delay: 0.9s;
}
.artist-row:nth-child(6) {
  transition-delay: 1.1s;
}

/*********************
NEWS PAGE
*********************/
/* News Header */
.news-header {
  padding: 200px 0 60px;
  text-align: center;
  /* inherits global .page-subtitle styles */
}
.news-header .news-header-container {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
}
.news-header .page-title {
  font-size: 3rem;
  font-weight: 700;
  color: white;
  -webkit-text-fill-color: white;
  background: none;
  margin-bottom: 20px;
  animation: none;
}
@media (max-width: 768px) {
  .news-header .page-title {
    font-size: 2.2rem;
  }
}
.news-header .page-description {
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.8) !important;
  line-height: 1.6;
  margin: 0;
}

/* News Grid Section */
.news-grid-section {
  padding: 40px 0 80px;
}
.news-grid-section .news-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* News Grid */
.news-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 30px;
  margin-bottom: 60px;
}
@media (max-width: 768px) {
  .news-grid {
    grid-template-columns: 1fr;
    gap: 25px;
  }
}

/* News Card */
.news-card {
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
@supports (-webkit-touch-callout: none) {
  .news-card {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.news-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.25);
}
.news-card:hover .news-thumbnail {
  transform: scale(1.05);
}
.news-card:hover .news-read-more {
  color: white;
}
.news-card:hover .news-read-more svg {
  transform: translateX(5px);
}
.news-card .news-card-link {
  text-decoration: none;
  display: block;
  color: inherit;
}

/* News Card Image */
.news-card-image {
  position: relative;
  height: 200px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.05);
}
.news-card-image .news-thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.news-card-image .news-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.news-card-image .news-placeholder svg {
  opacity: 0.5;
}
.news-card-image .external-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 6px 10px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 0.75rem;
  font-weight: 600;
  color: white;
}
@supports (-webkit-touch-callout: none) {
  .news-card-image .external-badge {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(0, 0, 0, 0.9);
  }
}

/* News Card Content */
.news-card-content {
  padding: 25px;
}

.news-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 15px;
  flex-wrap: wrap;
}
.news-meta .news-date {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.6);
  font-weight: 500;
}
.news-meta .news-category {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: white;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 4px 10px;
  border-radius: 6px;
}

.news-title {
  font-size: 1.3rem;
  font-weight: 700;
  color: white !important;
  margin-bottom: 12px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.news-excerpt {
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.8) !important;
  line-height: 1.6;
  margin-bottom: 15px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.news-read-more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.9rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.8);
  transition: all 0.3s ease;
}
.news-read-more svg {
  transition: transform 0.3s ease;
}

/* Pagination */
.news-pagination {
  display: flex;
  justify-content: center;
  margin-top: 60px;
}
.news-pagination .page-numbers {
  display: flex;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.news-pagination .page-numbers li {
  margin: 0;
}
.news-pagination .page-numbers a, .news-pagination .page-numbers span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  color: white !important;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
  transition: all 0.3s ease;
}
.news-pagination .page-numbers a:hover, .news-pagination .page-numbers span:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: translateY(-2px);
}
.news-pagination .page-numbers a.current, .news-pagination .page-numbers span.current {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-color: rgba(102, 126, 234, 0.4);
}
.news-pagination .page-numbers a.prev, .news-pagination .page-numbers a.next, .news-pagination .page-numbers span.prev, .news-pagination .page-numbers span.next {
  padding: 0 16px;
}

/* No News */
.no-news {
  text-align: center;
  padding: 80px 20px;
}
.no-news .no-news-content {
  max-width: 400px;
  margin: 0 auto;
}
.no-news .no-news-content .news-icon {
  font-size: 4rem;
  margin-bottom: 20px;
  opacity: 0.6;
}
.no-news .no-news-content h3 {
  font-size: 1.8rem;
  color: white;
  margin-bottom: 15px;
  font-weight: 600;
}
.no-news .no-news-content p {
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 1rem;
  line-height: 1.6;
}

/*********************
INDIVIDUAL ARTIST PROFILE STYLES
*********************/
/* Artist Hero Section - Edge to Edge of inner-content */
.artist-hero {
  border-radius: 16px;
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  /* Break out of inner-content container only */
  margin: -40px -40px 0 -40px;
  /* Negative margins to escape inner-content padding */
}
.artist-hero .artist-hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.artist-hero .artist-hero-bg .artist-hero-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  filter: blur(2px) brightness(0.4);
}
.artist-hero .artist-hero-bg .hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(1, 1, 1, 0.8) 0%, rgba(118, 75, 162, 0.6) 50%, rgba(1, 1, 1, 0.8) 100%);
}
.artist-hero .artist-hero-content {
  position: relative;
  z-index: 10;
  text-align: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Artist Name Display - Large Letters */
.artist-name-display {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.artist-name-display .hero-letter {
  font-size: 8rem;
  font-weight: 800;
  margin: 0 5px;
  line-height: 1;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.8);
  animation: letterFloat 6s ease-in-out infinite;
}
.artist-name-display .hero-letter.letter-1 {
  color: #fff;
  animation-delay: 0s;
}
.artist-name-display .hero-letter.letter-2 {
  color: #fff;
  animation-delay: 0.2s;
}
.artist-name-display .hero-letter.letter-3 {
  color: rgba(255, 255, 255, 0.9);
  animation-delay: 0.4s;
}
.artist-name-display .letter-space {
  width: 20px;
}
@media (max-width: 768px) {
  .artist-name-display .hero-letter {
    font-size: 4rem;
    margin: 0 2px;
  }
  .artist-name-display .letter-space {
    width: 10px;
  }
}
@media (max-width: 480px) {
  .artist-name-display .hero-letter {
    font-size: 3rem;
  }
}

@keyframes letterFloat {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
}
/* Artist Subtitle Info */
.artist-subtitle-info {
  margin-bottom: 40px;
}
.artist-subtitle-info .artist-full-name {
  font-size: 2.5rem;
  font-weight: 600;
  color: white;
  margin-bottom: 10px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8);
}
.artist-subtitle-info .artist-genre-display {
  font-size: 1.3rem;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
}
@media (max-width: 768px) {
  .artist-subtitle-info .artist-full-name {
    font-size: 2rem;
  }
  .artist-subtitle-info .artist-genre-display {
    font-size: 1.1rem;
  }
}

/* Hero Social Links */
.artist-social-links {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}
.artist-social-links .social-link-hero {
  width: 60px;
  height: 60px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
@supports (-webkit-touch-callout: none) {
  .artist-social-links .social-link-hero {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.artist-social-links .social-link-hero svg {
  width: 28px;
  height: 28px;
}
.artist-social-links .social-link-hero:hover {
  transform: translateY(-5px) scale(1.1);
  background: rgba(255, 255, 255, 0.2);
  box-shadow: 0 10px 30px rgba(255, 255, 255, 0.2);
}
.artist-social-links .social-link-hero.spotify:hover {
  background: rgba(30, 215, 96, 0.3);
  border-color: rgba(30, 215, 96, 0.5);
}
.artist-social-links .social-link-hero.instagram:hover {
  background: rgba(225, 48, 108, 0.3);
  border-color: rgba(225, 48, 108, 0.5);
}
.artist-social-links .social-link-hero.twitter:hover {
  background: rgba(29, 161, 242, 0.3);
  border-color: rgba(29, 161, 242, 0.5);
}
.artist-social-links .social-link-hero.youtube:hover {
  background: rgba(255, 0, 0, 0.3);
  border-color: rgba(255, 0, 0, 0.5);
}
.artist-social-links .social-link-hero.website:hover {
  background: rgba(255, 255, 255, 0.3);
  border-color: rgba(255, 255, 255, 0.5);
}
@media (max-width: 480px) {
  .artist-social-links .social-link-hero {
    width: 50px;
    height: 50px;
  }
  .artist-social-links .social-link-hero svg {
    width: 24px;
    height: 24px;
  }
}

/* Biography Section */
.artist-biography {
  padding: 80px 0;
}
.artist-biography .biography-container {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
}
.artist-biography .section-heading {
  font-size: 2.5rem;
  font-weight: 700;
  color: white;
  text-align: center;
  margin-bottom: 50px;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.8) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.artist-biography .biography-content {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 40px;
  position: relative;
}
@supports (-webkit-touch-callout: none) {
  .artist-biography .biography-content {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.artist-biography .biography-content:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #667eea, #764ba2);
  border-radius: 20px 20px 0 0;
}
.artist-biography .biography-content p {
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.8;
  font-size: 1.1rem;
  margin-bottom: 20px;
  font-style: normal;
}
.artist-biography .biography-content p:last-child {
  margin-bottom: 0;
}
.artist-biography .biography-content em, .artist-biography .biography-content i, .artist-biography .biography-content p {
  font-style: normal !important;
}
.artist-biography .chart-highlight {
  margin-top: 40px;
  background: rgba(255, 255, 255, 0.08);
  border-left: 4px solid #667eea;
  border-radius: 0 16px 16px 0;
  padding: 30px;
}
.artist-biography .chart-highlight .highlight-content p {
  color: rgba(255, 255, 255, 0.95);
  font-style: normal !important;
  font-size: 1.05rem;
  line-height: 1.7;
  margin-bottom: 15px;
}
.artist-biography .chart-highlight .highlight-content p:last-child {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .artist-biography {
    padding: 60px 0;
  }
  .artist-biography .biography-content {
    padding: 30px 25px;
  }
  .artist-biography .chart-highlight {
    padding: 25px 20px;
  }
}

/* Music Slider Section */
.artist-music-slider {
  padding: 80px 0;
  background: rgba(255, 255, 255, 0.02);
}
.artist-music-slider .music-slider-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Slider Styles */
.slider {
  position: relative;
  max-width: 600px;
  margin: 0 auto;
}
.slider .slide-viewer {
  width: 100%;
  height: 500px;
  overflow: hidden;
  position: relative;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}
@supports (-webkit-touch-callout: none) {
  .slider .slide-viewer {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.slider .slide-group {
  width: 100%;
  /* Changed from 500% to 100% */
  height: 100%;
  position: relative;
  display: flex;
  /* Use flexbox for proper slide positioning */
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.slider .slide {
  width: 100%;
  /* Each slide takes full width */
  height: 100%;
  flex-shrink: 0;
  /* Prevent slides from shrinking */
  position: relative;
}
.slider .single-container {
  width: 100%;
  height: 100%;
  position: relative;
}
.slider .single-wrapper {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 30px;
}
.slider .track-info-overlay {
  z-index: 10;
}
.slider .track-info-overlay .track-info-content .track-name {
  margin-bottom: 20px;
}
.slider .track-info-overlay .track-info-content .track-name p {
  color: white;
  font-size: 1.8rem;
  font-weight: 700;
  margin: 0;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8);
}
.slider .track-info-overlay .track-info-content .track-links .full-song-label {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.9rem;
  margin-bottom: 15px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 600;
}
.slider .track-info-overlay .track-info-content .track-links .streaming-links {
  display: flex;
  gap: 15px;
}
.slider .track-info-overlay .track-info-content .track-links .streaming-links .streaming-link {
  width: 45px;
  height: 45px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  transition: all 0.3s ease;
}
.slider .track-info-overlay .track-info-content .track-links .streaming-links .streaming-link:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: translateY(-3px);
}
.slider .album-cover {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 250px;
  height: 250px;
  background-size: cover;
  background-position: center;
  border-radius: 50%;
  border: 4px solid rgba(255, 255, 255, 0.3);
  transition: all 0.3s ease;
  cursor: pointer;
}
.slider .album-cover:hover {
  border-color: rgba(255, 255, 255, 0.5);
  transform: translate(-50%, -50%) scale(1.05);
}
.slider .play-button-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 20;
}
.slider .play-button-wrapper .play-button {
  width: 80px;
  height: 80px;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(1px);
  -webkit-backdrop-filter: blur(1px);
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
@supports (-webkit-touch-callout: none) {
  .slider .play-button-wrapper .play-button {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.slider .play-button-wrapper .play-button:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: scale(1.1);
  box-shadow: 0 8px 25px rgba(255, 255, 255, 0.2);
}

/* Slider Navigation - Override Global Button Styles */
.artist-music-slider .slide-buttons {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 30px;
}
.artist-music-slider .slide-buttons .slide-btn {
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  border: none !important;
  background: rgba(255, 255, 255, 0.3) !important;
  cursor: pointer;
  transition: all 0.3s ease !important;
  font-size: 0 !important;
  padding: 0 !important;
  outline: none;
  min-width: 12px !important;
  min-height: 12px !important;
  /* Completely override global button styles */
  color: transparent !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  font-weight: normal !important;
  line-height: 1 !important;
}
.artist-music-slider .slide-buttons .slide-btn.active {
  background: #667eea !important;
  transform: scale(1.3) !important;
}
.artist-music-slider .slide-buttons .slide-btn:hover {
  background: rgba(255, 255, 255, 0.5) !important;
  transform: translateY(0px) !important;
  /* Override global button hover */
}
.artist-music-slider .slide-buttons .slide-btn:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.5) !important;
}

.directional-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding: 0 -60px;
  pointer-events: none;
}
.directional-nav .previous-btn,
.directional-nav .next-btn {
  width: 50px;
  height: 50px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  pointer-events: all;
}
@supports (-webkit-touch-callout: none) {
  .directional-nav .previous-btn,
  .directional-nav .next-btn {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.directional-nav .previous-btn:hover,
.directional-nav .next-btn:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: scale(1.1);
}
.directional-nav .previous-btn {
  transform: translateX(-25px);
}
.directional-nav .next-btn {
  transform: translateX(25px);
}

/* Videos Section */
.artist-videos {
  padding: 80px 0;
}
.artist-videos .videos-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
.artist-videos .video-grid .video-row {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
}
.artist-videos .video-grid .video-row.top-row {
  justify-content: center;
}
.artist-videos .video-grid .video-row.top-row .video-thumbnail {
  flex: 1;
  max-width: 400px;
}
.artist-videos .video-grid .video-row.bottom-row {
  justify-content: center;
}
.artist-videos .video-grid .video-row.bottom-row .video-thumbnail {
  flex: 1;
  max-width: 250px;
}
.artist-videos .video-grid .video-thumbnail {
  position: relative;
  cursor: pointer;
}
.artist-videos .video-grid .video-thumbnail .thumbnail-wrapper {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
@supports (-webkit-touch-callout: none) {
  .artist-videos .video-grid .video-thumbnail .thumbnail-wrapper {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.artist-videos .video-grid .video-thumbnail .thumbnail-wrapper:hover {
  transform: translateY(-10px);
  background: rgba(255, 255, 255, 0.1);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}
.artist-videos .video-grid .video-thumbnail .thumbnail-wrapper:hover .play-overlay {
  background: rgba(0, 0, 0, 0.7);
}
.artist-videos .video-grid .video-thumbnail .thumbnail-wrapper:hover .play-overlay .thumbnail-play-icon {
  transform: scale(1.2);
}
.artist-videos .video-grid .video-thumbnail .thumbnail-wrapper:hover .video-title-overlay {
  opacity: 1;
}
.artist-videos .video-grid .video-thumbnail .thumbnail-wrapper .thumbnail-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.artist-videos .video-grid .video-thumbnail .thumbnail-wrapper .play-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}
.artist-videos .video-grid .video-thumbnail .thumbnail-wrapper .play-overlay .thumbnail-play-icon {
  transition: transform 0.3s ease;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.5));
}
.artist-videos .video-grid .video-thumbnail .thumbnail-wrapper .video-title-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.9));
  padding: 20px 15px 15px;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.artist-videos .video-grid .video-thumbnail .thumbnail-wrapper .video-title-overlay h4 {
  color: white;
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
}
@media (max-width: 768px) {
  .artist-videos .video-grid .video-row {
    flex-direction: column;
  }
  .artist-videos .video-grid .video-row .video-thumbnail {
    max-width: none;
  }
}

/* Video Modal */
.video-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
@supports (-webkit-touch-callout: none) {
  .video-modal {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(0, 0, 0, 0.98);
  }
}
.video-modal.active {
  opacity: 1;
  visibility: visible;
}
.video-modal .video-modal-content {
  position: relative;
  width: 90%;
  max-width: 1000px;
  aspect-ratio: 16/9;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.video-modal .video-modal-content .video-modal-close {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 40px;
  height: 40px;
  background: rgba(0, 0, 0, 0.7);
  border: none;
  border-radius: 50%;
  color: white;
  font-size: 1.5rem;
  cursor: pointer;
  z-index: 10001;
  transition: all 0.3s ease;
}
.video-modal .video-modal-content .video-modal-close:hover {
  background: rgba(0, 0, 0, 0.9);
  transform: scale(1.1);
}
.video-modal .video-modal-content .video-embed-container {
  width: 100%;
  height: 100%;
}
.video-modal .video-modal-content .video-embed-container iframe {
  width: 100%;
  height: 100%;
  border: none;
}

/* Artist Stats Section */
.artist-stats {
  padding: 80px 0;
  background: rgba(255, 255, 255, 0.02);
}
.artist-stats .stats-container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
  display: block;
}
.artist-stats .stats-container .section-heading {
  margin-bottom: 30px;
}
.artist-stats .stats-content {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 40px;
  position: relative;
}
@supports (-webkit-touch-callout: none) {
  .artist-stats .stats-content {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.artist-stats .stats-content:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #667eea, #764ba2);
  border-radius: 20px 20px 0 0;
}
.artist-stats .stats-content p {
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.7;
  font-size: 1.1rem;
  margin-bottom: 20px;
}
.artist-stats .stats-content p:last-child {
  margin-bottom: 0;
}
.artist-stats .stats-content strong {
  color: white;
  font-weight: 700;
}

/* Back to Roster Section - Fixed Button Alignment */
.back-to-roster {
  padding: 60px 0;
  text-align: center;
}
.back-to-roster .back-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
.back-to-roster .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.back-to-roster .btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .artist-music-slider,
  .artist-videos,
  .artist-stats {
    padding: 60px 0;
  }
  .slider .slide-viewer {
    height: 400px;
  }
  .play-button-wrapper .play-button {
    width: 60px;
    height: 60px;
  }
  .play-button-wrapper .play-button svg {
    width: 30px;
    height: 30px;
  }
  .single-wrapper {
    padding: 20px;
  }
  .track-info-overlay .track-info-content .track-name p {
    font-size: 1.4rem;
  }
}
@media (max-width: 480px) {
  .artist-hero {
    min-height: 80vh;
  }
  .slider .slide-viewer {
    height: 350px;
  }
  .directional-nav .previous-btn,
  .directional-nav .next-btn {
    width: 40px;
    height: 40px;
  }
  .directional-nav .previous-btn svg,
  .directional-nav .next-btn svg {
    width: 20px;
    height: 20px;
  }
}
/* Smooth animations on scroll */
.artist-biography,
.artist-music-slider,
.artist-videos,
.artist-stats {
  opacity: 0;
  transform: translateY(30px);
}
.artist-biography.animate-in,
.artist-music-slider.animate-in,
.artist-videos.animate-in,
.artist-stats.animate-in {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

/*********************
INDIVIDUAL ARTIST PROFILE STYLES - POPARABIA ANIMATIONS
*********************/
/* Artist Hero Section - Edge to Edge of inner-content */
.artist-hero {
  border-radius: 16px;
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  /* Break out of inner-content container only */
  margin: -40px -40px 0 -40px;
  /* Negative margins to escape inner-content padding */
}
.artist-hero .artist-hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.artist-hero .artist-hero-bg .artist-hero-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  filter: blur(0px) brightness(0.8);
  opacity: 0;
  animation: fadeIn 2s ease-in-out forwards;
  animation-delay: 1.5s;
}
.artist-hero .artist-hero-bg .hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(1, 1, 1, 0.8) 0%, rgba(118, 75, 162, 0.6) 50%, rgba(1, 1, 1, 0.8) 100%);
}
.artist-hero .artist-hero-content {
  position: relative;
  z-index: 10;
  text-align: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* PopArabia-Style Animated Letters */
.artist-name-display {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.artist-name-display .hero-letter {
  font-size: 8rem;
  font-weight: 800;
  margin: 0 5px;
  line-height: 1;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.8);
  opacity: 0;
  /* Start invisible for animation */
  color: white;
  /* All letters consistently white */
  /* PopArabia Animation System - All White Letters */
}
.artist-name-display .hero-letter.letter-1 {
  animation: slideInFromLeft 0.8s ease forwards;
  animation-delay: 0.1s;
}
.artist-name-display .hero-letter.letter-2 {
  animation: slideInFromRight 0.8s ease forwards;
  animation-delay: 0.2s;
}
.artist-name-display .hero-letter.letter-3 {
  animation: slideInFromLeft 0.8s ease forwards;
  animation-delay: 0.3s;
}
.artist-name-display .letter-space {
  width: 20px;
}
@media (max-width: 768px) {
  .artist-name-display .hero-letter {
    font-size: 4rem;
    margin: 0 2px;
  }
  .artist-name-display .letter-space {
    width: 10px;
  }
}
@media (max-width: 480px) {
  .artist-name-display .hero-letter {
    font-size: 3rem;
  }
}

/* PopArabia Keyframe Animations */
@keyframes slideInFromLeft {
  0% {
    transform: translateX(-100vw);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideInFromRight {
  0% {
    transform: translateX(100vw);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideInFromBottom {
  0% {
    transform: translateY(50px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
/* Hero background fade-in animation */
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* Artist Subtitle Info with Animation */
.artist-subtitle-info {
  margin-bottom: 40px;
}
.artist-subtitle-info .artist-full-name {
  font-size: 2.5rem;
  font-weight: 600;
  color: white;
  margin-bottom: 10px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8);
  opacity: 0;
  animation: slideInFromBottom 0.6s ease forwards;
  animation-delay: 1.2s;
}
.artist-subtitle-info .artist-genre-display {
  font-size: 1.3rem;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
  opacity: 0;
  animation: slideInFromBottom 0.6s ease forwards;
  animation-delay: 1.6s;
}
@media (max-width: 768px) {
  .artist-subtitle-info .artist-full-name {
    font-size: 2rem;
  }
  .artist-subtitle-info .artist-genre-display {
    font-size: 1.1rem;
  }
}

/* Hero Social Links with Animation */
.artist-social-links {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  opacity: 0;
  animation: fadeIn 1s ease forwards;
  animation-delay: 2s;
}
.artist-social-links .social-link-hero {
  width: 60px;
  height: 60px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
@supports (-webkit-touch-callout: none) {
  .artist-social-links .social-link-hero {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.artist-social-links .social-link-hero svg {
  width: 28px;
  height: 28px;
}
.artist-social-links .social-link-hero:hover {
  transform: translateY(-5px) scale(1.1);
  background: rgba(255, 255, 255, 0.2);
  box-shadow: 0 10px 30px rgba(255, 255, 255, 0.2);
}
.artist-social-links .social-link-hero.spotify:hover {
  background: rgba(30, 215, 96, 0.3);
  border-color: rgba(30, 215, 96, 0.5);
}
.artist-social-links .social-link-hero.instagram:hover {
  background: rgba(225, 48, 108, 0.3);
  border-color: rgba(225, 48, 108, 0.5);
}
.artist-social-links .social-link-hero.twitter:hover {
  background: rgba(29, 161, 242, 0.3);
  border-color: rgba(29, 161, 242, 0.5);
}
.artist-social-links .social-link-hero.youtube:hover {
  background: rgba(255, 0, 0, 0.3);
  border-color: rgba(255, 0, 0, 0.5);
}
.artist-social-links .social-link-hero.website:hover {
  background: rgba(255, 255, 255, 0.3);
  border-color: rgba(255, 255, 255, 0.5);
}
@media (max-width: 480px) {
  .artist-social-links .social-link-hero {
    width: 50px;
    height: 50px;
  }
  .artist-social-links .social-link-hero svg {
    width: 24px;
    height: 24px;
  }
}

/* Section Headers with Underlined Letters (PopArabia Style) */
.section-heading.underlined-header {
  font-size: 2.5rem;
  font-weight: 700;
  color: white;
  text-align: center;
  margin-bottom: 50px;
  background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.8) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  position: relative;
  display: inline-block;
  width: 100%;
  /* Underline under first 3 letters */
}
.section-heading.underlined-header::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  /* Approximate width for first 3 letters */
  height: 3px;
  background: linear-gradient(90deg, #667eea, #764ba2);
  border-radius: 2px;
}
@media (max-width: 768px) {
  .section-heading.underlined-header {
    font-size: 2rem;
  }
  .section-heading.underlined-header::after {
    width: 45px;
    /* Smaller underline for mobile */
  }
}
@media (max-width: 480px) {
  .section-heading.underlined-header {
    font-size: 1.8rem;
  }
  .section-heading.underlined-header::after {
    width: 40px;
  }
}

/* Biography Section */
.artist-biography {
  padding: 80px 0;
}
.artist-biography .biography-container {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
}
.artist-biography .biography-content {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 40px;
  position: relative;
}
@supports (-webkit-touch-callout: none) {
  .artist-biography .biography-content {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.artist-biography .biography-content:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #667eea, #764ba2);
  border-radius: 20px 20px 0 0;
}
.artist-biography .biography-content p {
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.8;
  font-size: 1.1rem;
  margin-bottom: 20px;
}
.artist-biography .biography-content p:last-child {
  margin-bottom: 0;
}
.artist-biography .chart-highlight {
  margin-top: 40px;
  background: rgba(255, 255, 255, 0.08);
  border-left: 4px solid #667eea;
  border-radius: 0 16px 16px 0;
  padding: 30px;
}
.artist-biography .chart-highlight .highlight-content p {
  color: rgba(255, 255, 255, 0.95);
  font-style: normal;
  font-size: 1.05rem;
  line-height: 1.7;
  margin-bottom: 15px;
}
.artist-biography .chart-highlight .highlight-content p:last-child {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .artist-biography {
    padding: 60px 0;
  }
  .artist-biography .biography-content {
    padding: 30px 25px;
  }
  .artist-biography .chart-highlight {
    padding: 25px 20px;
  }
}

/* Music Slider Section */
.artist-music-slider {
  padding: 80px 0;
  background: rgba(255, 255, 255, 0.02);
}
.artist-music-slider .music-slider-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Enhanced Slider Styles */
.slider {
  position: relative;
  max-width: 600px;
  margin: 0 auto;
}
.slider .slide-viewer {
  width: 100%;
  height: 500px;
  overflow: hidden;
  position: relative;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}
@supports (-webkit-touch-callout: none) {
  .slider .slide-viewer {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.slider .slide-group {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.slider .slide {
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  position: relative;
}

/* Videos Section */
.artist-videos {
  padding: 80px 0;
}
.artist-videos .videos-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
.artist-videos .video-grid .video-row {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
}
.artist-videos .video-grid .video-row.top-row {
  justify-content: center;
}
.artist-videos .video-grid .video-row.top-row .video-thumbnail {
  flex: 1;
  max-width: 400px;
}
.artist-videos .video-grid .video-row.bottom-row {
  justify-content: center;
}
.artist-videos .video-grid .video-row.bottom-row .video-thumbnail {
  flex: 1;
  max-width: 250px;
}
.artist-videos .video-grid .video-thumbnail {
  position: relative;
  cursor: pointer;
}
.artist-videos .video-grid .video-thumbnail .thumbnail-wrapper {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
@supports (-webkit-touch-callout: none) {
  .artist-videos .video-grid .video-thumbnail .thumbnail-wrapper {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.artist-videos .video-grid .video-thumbnail .thumbnail-wrapper:hover {
  transform: translateY(-10px);
  background: rgba(255, 255, 255, 0.1);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}
.artist-videos .video-grid .video-thumbnail .thumbnail-wrapper:hover .play-overlay {
  background: rgba(0, 0, 0, 0.7);
}
.artist-videos .video-grid .video-thumbnail .thumbnail-wrapper:hover .play-overlay .thumbnail-play-icon {
  transform: scale(1.2);
}
.artist-videos .video-grid .video-thumbnail .thumbnail-wrapper:hover .video-title-overlay {
  opacity: 1;
}
.artist-videos .video-grid .video-thumbnail .thumbnail-wrapper .thumbnail-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.artist-videos .video-grid .video-thumbnail .thumbnail-wrapper .play-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}
.artist-videos .video-grid .video-thumbnail .thumbnail-wrapper .play-overlay .thumbnail-play-icon {
  transition: transform 0.3s ease;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.5));
}
.artist-videos .video-grid .video-thumbnail .thumbnail-wrapper .video-title-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.9));
  padding: 20px 15px 15px;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.artist-videos .video-grid .video-thumbnail .thumbnail-wrapper .video-title-overlay h4 {
  color: white;
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
}
@media (max-width: 768px) {
  .artist-videos .video-grid .video-row {
    flex-direction: column;
  }
  .artist-videos .video-grid .video-row .video-thumbnail {
    max-width: none;
  }
}

/* Artist Stats Section */
.artist-stats {
  padding: 80px 0;
  background: rgba(255, 255, 255, 0.02);
}
.artist-stats .stats-container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
  display: block;
}
.artist-stats .stats-container .section-heading {
  margin-bottom: 30px;
}
.artist-stats .stats-content {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 40px;
  position: relative;
}
@supports (-webkit-touch-callout: none) {
  .artist-stats .stats-content {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(30, 30, 46, 0.95);
  }
}
.artist-stats .stats-content:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #667eea, #764ba2);
  border-radius: 20px 20px 0 0;
}
.artist-stats .stats-content p {
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.7;
  font-size: 1.1rem;
  margin-bottom: 20px;
}
.artist-stats .stats-content p:last-child {
  margin-bottom: 0;
}
.artist-stats .stats-content strong {
  color: white;
  font-weight: 700;
}

/* Back to Roster Section */
.back-to-roster {
  padding: 60px 0;
  text-align: center;
}
.back-to-roster .back-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
.back-to-roster .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.back-to-roster .btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

/* Video Modal */
.video-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
@supports (-webkit-touch-callout: none) {
  .video-modal {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(0, 0, 0, 0.98);
  }
}
.video-modal.active {
  opacity: 1;
  visibility: visible;
}
.video-modal .video-modal-content {
  position: relative;
  width: 90%;
  max-width: 1000px;
  aspect-ratio: 16/9;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.video-modal .video-modal-content .video-modal-close {
  position: absolute;
  top: 100%;
  left: 10px;
  right: 10px;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-20px);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 999;
}
@supports (-webkit-touch-callout: none) {
  .video-modal .video-modal-content .video-modal-close {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(10, 10, 20, 0.98);
  }
}
.video-modal .video-modal-content .video-modal-close:hover {
  background: rgba(0, 0, 0, 0.9);
  transform: scale(1.1);
}
.video-modal .video-modal-content .video-embed-container {
  width: 100%;
  height: 100%;
}
.video-modal .video-modal-content .video-embed-container iframe {
  width: 100%;
  height: 100%;
  border: none;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .artist-music-slider,
  .artist-videos,
  .artist-stats {
    padding: 60px 0;
  }
  .slider .slide-viewer {
    height: 400px;
  }
}
@media (max-width: 480px) {
  .artist-hero {
    min-height: 80vh;
  }
  .slider .slide-viewer {
    height: 350px;
  }
}
/* Smooth animations on scroll */
.artist-biography,
.artist-music-slider,
.artist-videos,
.artist-stats {
  opacity: 0;
  transform: translateY(30px);
}
.artist-biography.animate-in,
.artist-music-slider.animate-in,
.artist-videos.animate-in,
.artist-stats.animate-in {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

/*********************
PARTNERS SECTION MOBILE IMPROVEMENTS - BETTER CENTERING
*********************/
.partners-section {
  padding: 60px 0;
}
.partners-section .partners-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  text-align: center;
  /* Better mobile padding */
}
@media (max-width: 1080px) {
  .partners-section .partners-container {
    padding: 0 15px;
  }
}
@media (max-width: 480px) {
  .partners-section .partners-container {
    padding: 0 10px;
  }
}
.partners-section .partners-title {
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.7);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 600;
  margin-bottom: 40px;
  /* Responsive title sizing */
}
@media (max-width: 1080px) {
  .partners-section .partners-title {
    font-size: 1rem;
    margin-bottom: 35px;
    letter-spacing: 1.5px;
  }
}
@media (max-width: 480px) {
  .partners-section .partners-title {
    font-size: 0.9rem;
    margin-bottom: 30px;
    letter-spacing: 1px;
  }
}
.partners-section .partners-grid {
  display: grid;
  gap: 30px;
  align-items: center;
  justify-content: center;
  /* Desktop: Auto-fit with min 200px */
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  /* Tablet: Force 3 columns for better centering */
  /* Mobile: 2 columns with perfect centering */
  /* Small mobile: Still 2 columns but tighter */
  /* Very small screens: Single column */
}
@media (max-width: 1080px) and (min-width: 769px) {
  .partners-section .partners-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    max-width: 800px;
    margin: 0 auto;
  }
}
@media (max-width: 768px) {
  .partners-section .partners-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    max-width: 400px;
    margin: 0 auto;
  }
}
@media (max-width: 480px) {
  .partners-section .partners-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    max-width: 320px;
    margin: 0 auto;
  }
}
@media (max-width: 360px) {
  .partners-section .partners-grid {
    grid-template-columns: 1fr;
    gap: 15px;
    max-width: 250px;
    margin: 0 auto;
  }
}
.partners-section .partner-logo {
  opacity: 0.7;
  transition: opacity 0.3s ease;
  filter: grayscale(100%) brightness(1.5);
}
.partners-section .partner-logo:hover {
  opacity: 1;
}
.partners-section .partner-logo .logo-placeholder {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 20px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  /* Mobile optimizations */
}
.partners-section .partner-logo .logo-placeholder:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.2);
  transform: translateY(-2px);
}
.partners-section .partner-logo .logo-placeholder .logo-text {
  color: rgba(255, 255, 255, 0.7);
  font-weight: 600;
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-align: center;
  line-height: 1.2;
}
@media (max-width: 1080px) {
  .partners-section .partner-logo .logo-placeholder {
    padding: 18px;
    height: 70px;
    border-radius: 10px;
  }
  .partners-section .partner-logo .logo-placeholder .logo-text {
    font-size: 1rem;
    letter-spacing: 0.5px;
  }
}
@media (max-width: 768px) {
  .partners-section .partner-logo .logo-placeholder {
    padding: 15px;
    height: 60px;
    border-radius: 8px;
  }
  .partners-section .partner-logo .logo-placeholder .logo-text {
    font-size: 0.9rem;
    letter-spacing: 0.5px;
  }
}
@media (max-width: 480px) {
  .partners-section .partner-logo .logo-placeholder {
    padding: 12px;
    height: 50px;
  }
  .partners-section .partner-logo .logo-placeholder .logo-text {
    font-size: 0.8rem;
    letter-spacing: 0px;
    line-height: 1.1;
  }
}
@media (max-width: 360px) {
  .partners-section .partner-logo .logo-placeholder {
    padding: 10px;
    height: 45px;
  }
  .partners-section .partner-logo .logo-placeholder .logo-text {
    font-size: 0.75rem;
  }
}

/* Special handling for odd number of partners on mobile */
@media (max-width: 768px) and (min-width: 361px) {
  .partners-grid .partner-logo:last-child:nth-child(odd) {
    /* If odd number (like 5 partners), center the last one */
    grid-column: 1/-1;
    max-width: 180px;
    margin: 0 auto;
  }
}

/* Animation improvements for mobile */
@media (max-width: 1080px) {
  .partners-section .partner-logo {
    /* Reduce animation intensity on mobile for performance */
  }
  .partners-section .partner-logo .logo-placeholder:hover {
    transform: translateY(-1px);
  }
}
/* Additional spacing improvements */
.partners-section {
  /* Ensure proper spacing from other sections */
}
@media (max-width: 1080px) {
  .partners-section {
    padding: 50px 0;
  }
}
@media (max-width: 480px) {
  .partners-section {
    padding: 40px 0;
  }
}

/*********************
CONTACT FORM 7 STYLING - MATCH POPINDIA DESIGN
*********************/
/* Contact Form 7 Container Styling */
.contact-form-cf7 .wpcf7 {
  width: 100%;
}
.contact-form-cf7 .wpcf7 .wpcf7-form {
  width: 100%;
  /* Form Grid Layout - Match your hardcoded design */
  /* Form Groups */
  /* All Form Inputs - Override CF7 defaults */
  /* Textarea Specific */
  /* Submit Button - Match your btn-primary */
  /* Form Submit Container */
  /* Validation Error Messages */
  /* Response Messages */
  /* Loading Spinner */
  /* Required Field Asterisk */
  /* Invalid Fields */
  /* Hide CF7 default styling */
  /* Acceptance Checkbox Styling */
  /* Quiz and CAPTCHA */
  /* File Upload */
}
.contact-form-cf7 .wpcf7 .wpcf7-form .form-grid,
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
  margin-bottom: 25px;
}
@media (max-width: 600px) {
  .contact-form-cf7 .wpcf7 .wpcf7-form .form-grid,
  .contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-form-grid {
    grid-template-columns: 1fr;
  }
}
.contact-form-cf7 .wpcf7 .wpcf7-form .form-group,
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-form-control-wrap {
  margin-bottom: 25px;
  width: 100%;
  position: relative;
  /* Labels */
}
.contact-form-cf7 .wpcf7 .wpcf7-form .form-group label,
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-form-control-wrap label {
  display: block;
  color: white !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
  font-size: 0.95rem !important;
  font-family: "Poppins", sans-serif !important;
}
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=text],
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=email],
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=url],
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=tel],
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=number],
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=date],
.contact-form-cf7 .wpcf7 .wpcf7-form textarea,
.contact-form-cf7 .wpcf7 .wpcf7-form select {
  width: 100% !important;
  padding: 15px 18px !important;
  border: 2px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: white !important;
  font-size: 1rem !important;
  transition: all 0.3s ease !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  font-family: "Poppins", sans-serif !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  outline: none !important;
}
@supports (-webkit-touch-callout: none) {
  .contact-form-cf7 .wpcf7 .wpcf7-form input[type=text],
  .contact-form-cf7 .wpcf7 .wpcf7-form input[type=email],
  .contact-form-cf7 .wpcf7 .wpcf7-form input[type=url],
  .contact-form-cf7 .wpcf7 .wpcf7-form input[type=tel],
  .contact-form-cf7 .wpcf7 .wpcf7-form input[type=number],
  .contact-form-cf7 .wpcf7 .wpcf7-form input[type=date],
  .contact-form-cf7 .wpcf7 .wpcf7-form textarea,
  .contact-form-cf7 .wpcf7 .wpcf7-form select {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: rgba(30, 30, 46, 0.95) !important;
  }
}
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=text]::placeholder,
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=email]::placeholder,
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=url]::placeholder,
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=tel]::placeholder,
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=number]::placeholder,
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=date]::placeholder,
.contact-form-cf7 .wpcf7 .wpcf7-form textarea::placeholder,
.contact-form-cf7 .wpcf7 .wpcf7-form select::placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=text]:focus,
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=email]:focus,
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=url]:focus,
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=tel]:focus,
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=number]:focus,
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=date]:focus,
.contact-form-cf7 .wpcf7 .wpcf7-form textarea:focus,
.contact-form-cf7 .wpcf7 .wpcf7-form select:focus {
  border-color: rgba(255, 255, 255, 0.5) !important;
  background: rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.1) !important;
  transform: translateY(-1px) !important;
}
.contact-form-cf7 .wpcf7 .wpcf7-form textarea {
  min-height: 120px !important;
  resize: vertical !important;
}
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=submit],
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 18px 36px !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  background: linear-gradient(135deg, #000000 0%, #010101 66%, #382B50 100%) !important;
  color: white !important;
  border: none !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  position: relative !important;
  overflow: hidden !important;
  font-family: "Poppins", sans-serif !important;
  text-decoration: none !important;
  box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3) !important;
  margin: 0 !important;
  width: auto !important;
  min-width: 200px !important;
}
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=submit]:before,
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-submit:before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent) !important;
  transition: left 0.5s !important;
}
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=submit]:hover,
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-submit:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 15px 35px rgba(102, 126, 234, 0.4) !important;
}
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=submit]:hover:before,
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-submit:hover:before {
  left: 100% !important;
}
@media (max-width: 480px) {
  .contact-form-cf7 .wpcf7 .wpcf7-form input[type=submit],
  .contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-submit {
    padding: 5px 15px !important;
    font-size: 0.8rem !important;
    width: 100% !important;
    max-width: 280px !important;
  }
}
.contact-form-cf7 .wpcf7 .wpcf7-form .form-submit,
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-submit-wrap {
  text-align: center !important;
  margin-top: 30px !important;
  width: 100% !important;
}
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-not-valid-tip {
  color: #ff6b6b !important;
  font-size: 0.85rem !important;
  margin-top: 5px !important;
  display: block !important;
  font-family: "Poppins", sans-serif !important;
}
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-response-output {
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 12px !important;
  padding: 20px !important;
  margin-top: 25px !important;
  color: white !important;
  text-align: center !important;
  font-weight: 500 !important;
  font-family: "Poppins", sans-serif !important;
}
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-mail-sent-ok {
  background: rgba(76, 175, 80, 0.2) !important;
  border-color: rgba(76, 175, 80, 0.4) !important;
  color: #4CAF50 !important;
}
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-validation-errors,
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-mail-sent-ng,
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-aborted {
  background: rgba(244, 67, 54, 0.2) !important;
  border-color: rgba(244, 67, 54, 0.4) !important;
  color: #F44336 !important;
}
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-spam-blocked {
  background: rgba(255, 193, 7, 0.2) !important;
  border-color: rgba(255, 193, 7, 0.4) !important;
  color: #FFC107 !important;
}
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-spinner {
  margin-left: 10px !important;
  color: white !important;
}
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-form-control.wpcf7-validates-as-required {
  border-color: rgba(255, 255, 255, 0.3) !important;
}
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-form-control.wpcf7-not-valid {
  border-color: rgba(244, 67, 54, 0.6) !important;
  background: rgba(244, 67, 54, 0.1) !important;
}
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-form p {
  margin-bottom: 25px !important;
}
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-acceptance input[type=checkbox] {
  width: auto !important;
  margin-right: 8px !important;
  transform: scale(1.2) !important;
}
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-acceptance .wpcf7-list-item-label {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 0.9rem !important;
  line-height: 1.5 !important;
}
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-quiz-label,
.contact-form-cf7 .wpcf7 .wpcf7-form .wpcf7-captcha-label {
  color: white !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
  display: block !important;
}
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=file] {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 2px dashed rgba(255, 255, 255, 0.3) !important;
  border-radius: 12px !important;
  padding: 20px !important;
  color: white !important;
  width: 100% !important;
}
.contact-form-cf7 .wpcf7 .wpcf7-form input[type=file]::-webkit-file-upload-button {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
  color: white !important;
  border: none !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  margin-right: 15px !important;
  cursor: pointer !important;
}

/* Remove any conflicting styles */
.contact-form-cf7 .wpcf7-form {
  /* Reset any box-sizing issues */
  /* Ensure proper spacing */
}
.contact-form-cf7 .wpcf7-form * {
  box-sizing: border-box !important;
}
.contact-form-cf7 .wpcf7-form br {
  display: none !important;
}

/*********************
MOBILE RESPONSIVENESS IMPROVEMENTS - BASICS
Add this at the very bottom of your stylesheet
*********************/
/* Typography Scaling - Responsive Font Sizes */
html {
  font-size: 16px;
}
@media (max-width: 1080px) {
  html {
    font-size: 15px;
  }
}
@media (max-width: 768px) {
  html {
    font-size: 14px;
  }
}
@media (max-width: 480px) {
  html {
    font-size: 13px;
  }
}

/* Headings - Responsive Scaling */
h1,
.h1 {
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 1.2;
  margin-bottom: clamp(1rem, 3vw, 2rem);
}
@media (max-width: 768px) {
  h1,
  .h1 {
    font-size: clamp(1.8rem, 6vw, 2.5rem);
  }
}
@media (max-width: 480px) {
  h1,
  .h1 {
    font-size: clamp(1.5rem, 7vw, 2rem);
    line-height: 1.1;
  }
}

h2,
.h2 {
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  line-height: 1.3;
  margin-bottom: clamp(0.8rem, 2.5vw, 1.5rem);
}
@media (max-width: 768px) {
  h2,
  .h2 {
    font-size: clamp(1.5rem, 5vw, 2rem);
  }
}
@media (max-width: 480px) {
  h2,
  .h2 {
    font-size: clamp(1.3rem, 6vw, 1.7rem);
  }
}

h3,
.h3 {
  font-size: clamp(1.5rem, 3.5vw, 2rem);
  line-height: 1.4;
  margin-bottom: clamp(0.7rem, 2vw, 1.2rem);
}
@media (max-width: 768px) {
  h3,
  .h3 {
    font-size: clamp(1.3rem, 4vw, 1.7rem);
  }
}
@media (max-width: 480px) {
  h3,
  .h3 {
    font-size: clamp(1.2rem, 5vw, 1.5rem);
  }
}

h4,
.h4 {
  font-size: clamp(1.3rem, 3vw, 1.6rem);
  line-height: 1.4;
  margin-bottom: clamp(0.6rem, 1.5vw, 1rem);
}
@media (max-width: 768px) {
  h4,
  .h4 {
    font-size: clamp(1.2rem, 3.5vw, 1.4rem);
  }
}
@media (max-width: 480px) {
  h4,
  .h4 {
    font-size: clamp(1.1rem, 4vw, 1.3rem);
  }
}

h5,
.h5 {
  font-size: clamp(1.1rem, 2.5vw, 1.3rem);
  line-height: 1.5;
  margin-bottom: clamp(0.5rem, 1.2vw, 0.8rem);
}
@media (max-width: 480px) {
  h5,
  .h5 {
    font-size: clamp(1rem, 3vw, 1.2rem);
  }
}

h6,
.h6 {
  font-size: clamp(1rem, 2vw, 1.1rem);
  line-height: 1.5;
  margin-bottom: clamp(0.4rem, 1vw, 0.6rem);
}
@media (max-width: 480px) {
  h6,
  .h6 {
    font-size: clamp(0.9rem, 2.5vw, 1rem);
  }
}

/* Paragraphs and Body Text */
p {
  font-size: clamp(1rem, 2vw, 1.1rem);
  line-height: 1.6;
  margin-bottom: clamp(0.8rem, 2vw, 1.2rem);
}
@media (max-width: 768px) {
  p {
    line-height: 1.7;
    font-size: clamp(0.95rem, 2.2vw, 1.05rem);
  }
}
@media (max-width: 480px) {
  p {
    line-height: 1.8;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    margin-bottom: clamp(0.6rem, 1.5vw, 1rem);
  }
}

/* Lists */
ul,
ol {
  margin-bottom: clamp(0.8rem, 2vw, 1.2rem);
  padding-left: clamp(1.2rem, 3vw, 2rem);
}
ul li,
ol li {
  font-size: clamp(1rem, 2vw, 1.1rem);
  line-height: 1.6;
  margin-bottom: clamp(0.3rem, 1vw, 0.5rem);
}
@media (max-width: 768px) {
  ul li,
  ol li {
    line-height: 1.7;
    font-size: clamp(0.95rem, 2.2vw, 1.05rem);
  }
}
@media (max-width: 480px) {
  ul li,
  ol li {
    line-height: 1.8;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
  }
}

/* Blockquotes */
blockquote {
  font-size: clamp(1.1rem, 2.5vw, 1.3rem);
  line-height: 1.7;
  margin: clamp(1.5rem, 4vw, 2.5rem) 0;
  padding: clamp(1rem, 3vw, 2rem);
}
@media (max-width: 768px) {
  blockquote {
    font-size: clamp(1.05rem, 2.8vw, 1.2rem);
    margin: clamp(1.2rem, 3vw, 2rem) 0;
    padding: clamp(0.8rem, 2.5vw, 1.5rem);
  }
}
@media (max-width: 480px) {
  blockquote {
    font-size: clamp(1rem, 3vw, 1.1rem);
    margin: clamp(1rem, 2.5vw, 1.5rem) 0;
    padding: clamp(0.6rem, 2vw, 1rem);
  }
}

/* Links */
a {
  transition: all 0.3s ease;
}
@media (max-width: 768px) {
  a {
    /* Larger touch targets for mobile */
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

/* Images and Media */
img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}
@media (max-width: 768px) {
  img {
    border-radius: 6px;
  }
}
@media (max-width: 480px) {
  img {
    border-radius: 4px;
  }
}

/* Buttons - Enhanced Mobile Touch Targets */
button,
.btn,
input[type=submit],
input[type=button] {
  min-height: 44px;
  /* Apple's recommended touch target */
  min-width: 44px;
  padding: clamp(0.6rem, 2vw, 1rem) clamp(1rem, 3vw, 1.5rem);
  font-size: clamp(0.9rem, 2vw, 1rem);
  border-radius: clamp(8px, 1.5vw, 12px);
}
@media (max-width: 768px) {
  button,
  .btn,
  input[type=submit],
  input[type=button] {
    padding: clamp(0.7rem, 2.5vw, 0.9rem) clamp(1.2rem, 4vw, 1.4rem);
    font-size: clamp(0.85rem, 2.2vw, 0.95rem);
  }
}
@media (max-width: 480px) {
  button,
  .btn,
  input[type=submit],
  input[type=button] {
    padding: clamp(0.8rem, 3vw, 1rem) clamp(1.5rem, 5vw, 2rem);
    font-size: clamp(0.8rem, 2.5vw, 0.9rem);
    max-width: 300px;
    margin: 0 auto clamp(0.5rem, 1.5vw, 0.8rem);
    display: block;
  }
}

/* Form Elements */
input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=tel],
input[type=number],
textarea,
select {
  min-height: 44px;
  padding: clamp(0.8rem, 2vw, 1rem);
  font-size: clamp(1rem, 2vw, 1.1rem);
  border-radius: clamp(8px, 1.5vw, 12px);
}
@media (max-width: 768px) {
  input[type=text],
  input[type=email],
  input[type=url],
  input[type=password],
  input[type=search],
  input[type=tel],
  input[type=number],
  textarea,
  select {
    padding: clamp(0.9rem, 2.5vw, 1.1rem);
    font-size: clamp(0.95rem, 2.2vw, 1.05rem);
  }
}
@media (max-width: 480px) {
  input[type=text],
  input[type=email],
  input[type=url],
  input[type=password],
  input[type=search],
  input[type=tel],
  input[type=number],
  textarea,
  select {
    padding: clamp(1rem, 3vw, 1.2rem);
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    width: 100%;
    box-sizing: border-box;
  }
}

/* Textarea specific */
textarea {
  min-height: clamp(80px, 15vw, 120px);
  resize: vertical;
}
@media (max-width: 480px) {
  textarea {
    min-height: clamp(60px, 12vw, 100px);
  }
}

/* Tables - Mobile Responsive */
table {
  width: 100%;
  border-collapse: collapse;
  font-size: clamp(0.9rem, 2vw, 1rem);
}
@media (max-width: 768px) {
  table {
    font-size: clamp(0.85rem, 2.2vw, 0.95rem);
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
}
table th,
table td {
  padding: clamp(0.5rem, 1.5vw, 0.8rem);
  text-align: left;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
@media (max-width: 768px) {
  table th,
  table td {
    padding: clamp(0.4rem, 1.2vw, 0.6rem);
  }
}
@media (max-width: 480px) {
  table th,
  table td {
    padding: clamp(0.3rem, 1vw, 0.5rem);
    font-size: clamp(0.8rem, 2vw, 0.9rem);
  }
}
table th {
  font-weight: 600;
  color: white;
}

/* Code and Pre */
code {
  font-size: clamp(0.85rem, 1.8vw, 0.95rem);
  padding: clamp(0.2rem, 0.5vw, 0.3rem) clamp(0.3rem, 0.8vw, 0.5rem);
  border-radius: clamp(3px, 0.8vw, 5px);
}
@media (max-width: 480px) {
  code {
    font-size: clamp(0.8rem, 2vw, 0.9rem);
  }
}

pre {
  padding: clamp(1rem, 2.5vw, 1.5rem);
  border-radius: clamp(6px, 1.2vw, 8px);
  overflow-x: auto;
  font-size: clamp(0.8rem, 1.8vw, 0.9rem);
  line-height: 1.5;
}
@media (max-width: 768px) {
  pre {
    padding: clamp(0.8rem, 2vw, 1.2rem);
    font-size: clamp(0.75rem, 1.9vw, 0.85rem);
  }
}
@media (max-width: 480px) {
  pre {
    padding: clamp(0.6rem, 1.5vw, 1rem);
    font-size: clamp(0.7rem, 2vw, 0.8rem);
  }
}

/* Container and Layout Improvements */
.container,
.wrap,
.inner-content {
  padding-left: clamp(10px, 3vw, 20px);
  padding-right: clamp(10px, 3vw, 20px);
}
@media (max-width: 768px) {
  .container,
  .wrap,
  .inner-content {
    padding-left: clamp(8px, 2.5vw, 15px);
    padding-right: clamp(8px, 2.5vw, 15px);
  }
}
@media (max-width: 480px) {
  .container,
  .wrap,
  .inner-content {
    padding-left: clamp(5px, 2vw, 12px);
    padding-right: clamp(5px, 2vw, 12px);
  }
}

/* Section Spacing */
section,
.section {
  padding: clamp(1rem, 8vw, 1rem) 0;
}
@media (max-width: 768px) {
  section,
  .section {
    padding: clamp(1.5rem, 6vw, 3.5rem) 0;
  }
}
@media (max-width: 480px) {
  section,
  .section {
    padding: clamp(1rem, 4vw, 2.5rem) 0;
  }
}

/* Grid Improvements */
.grid,
.grid-container {
  gap: clamp(1rem, 3vw, 2rem);
}
@media (max-width: 768px) {
  .grid,
  .grid-container {
    gap: clamp(0.8rem, 2.5vw, 1.5rem);
  }
}
@media (max-width: 480px) {
  .grid,
  .grid-container {
    gap: clamp(0.6rem, 2vw, 1rem);
    grid-template-columns: 1fr;
    /* Single column on mobile */
  }
}

/* Flexbox Improvements */
.flex,
.flex-container {
  gap: clamp(0.5rem, 2vw, 1rem);
}
@media (max-width: 768px) {
  .flex,
  .flex-container {
    flex-direction: column;
    gap: clamp(0.8rem, 2.5vw, 1.2rem);
  }
}
@media (max-width: 480px) {
  .flex,
  .flex-container {
    gap: clamp(0.6rem, 2vw, 1rem);
  }
}

/* Touch-Friendly Spacing */
@media (max-width: 768px) {
  .clickable,
  .interactive {
    margin: clamp(0.5rem, 1.5vw, 0.8rem) 0;
    padding: clamp(0.8rem, 2vw, 1rem);
  }
}

/* Modal and Overlay Improvements */
@media (max-width: 768px) {
  .modal,
  .overlay {
    padding: clamp(1rem, 4vw, 2rem);
    margin: clamp(0.5rem, 2vw, 1rem);
    border-radius: clamp(12px, 2vw, 16px);
  }
}
@media (max-width: 480px) {
  .modal,
  .overlay {
    padding: clamp(0.8rem, 3vw, 1.5rem);
    margin: clamp(0.3rem, 1.5vw, 0.8rem);
    border-radius: clamp(8px, 1.5vw, 12px);
    max-height: 90vh;
    overflow-y: auto;
  }
}

/* Icon Sizing */
.icon,
svg {
  width: clamp(1rem, 3vw, 1.5rem);
  height: clamp(1rem, 3vw, 1.5rem);
}
@media (max-width: 768px) {
  .icon,
  svg {
    width: clamp(1.2rem, 3.5vw, 1.6rem);
    height: clamp(1.2rem, 3.5vw, 1.6rem);
  }
}
@media (max-width: 480px) {
  .icon,
  svg {
    width: clamp(1rem, 3vw, 1.4rem);
    height: clamp(1rem, 3vw, 1.4rem);
  }
}

/* Utility Classes for Mobile */
@media (max-width: 768px) {
  .hide-mobile {
    display: none !important;
  }
  .show-mobile {
    display: block !important;
  }
  .text-center-mobile {
    text-align: center !important;
  }
  .full-width-mobile {
    width: 100% !important;
  }
  .no-margin-mobile {
    margin: 0 !important;
  }
  .no-padding-mobile {
    padding: 0 !important;
  }
}
@media (max-width: 480px) {
  .hide-small-mobile {
    display: none !important;
  }
  .show-small-mobile {
    display: block !important;
  }
}
/* Scroll Behavior Improvements */
html {
  scroll-padding-top: clamp(60px, 12vw, 100px);
}
@media (max-width: 768px) {
  html {
    scroll-padding-top: clamp(50px, 10vw, 80px);
  }
}

/* Performance Optimizations for Mobile */
@media (max-width: 768px) {
  * {
    /* Reduce GPU usage on mobile */
    will-change: auto !important;
  }
  /* Simplify complex animations */
  .complex-animation {
    animation: none !important;
  }
  /* Reduce backdrop-filter usage for better performance */
  .performance-heavy {
    backdrop-filter: none !important;
  }
}
/*********************
NEWSLETTER SUBSCRIPTION STYLING
*********************/
/* Newsletter Form Enhancements */
.newsletter-signup .newsletter-input-group {
  position: relative;
  transition: all 0.3s ease;
}
.newsletter-signup .newsletter-input-group.focused {
  transform: translateY(-2px);
}
.newsletter-signup .newsletter-input-group.focused input {
  border-color: rgba(255, 255, 255, 0.4) !important;
  background: rgba(255, 255, 255, 0.15) !important;
}
.newsletter-signup .newsletter-input-group input:focus {
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.1) !important;
}
.newsletter-signup .newsletter-btn {
  position: relative;
  overflow: hidden;
}
.newsletter-signup .newsletter-btn:disabled {
  opacity: 0.7 !important;
  cursor: not-allowed !important;
  transform: none !important;
}
.newsletter-signup .newsletter-btn:before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s;
}
.newsletter-signup .newsletter-btn:hover:not(:disabled):before {
  left: 100%;
}

/* Newsletter Messages */
.newsletter-message {
  margin-top: 15px;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 500;
  text-align: center;
  animation: slideInMessage 0.3s ease-out;
}
.newsletter-message.newsletter-success {
  background: rgba(76, 175, 80, 0.2);
  border: 1px solid rgba(76, 175, 80, 0.4);
  color: #4CAF50;
}
.newsletter-message.newsletter-success:before {
  content: "✅ ";
  margin-right: 5px;
}
.newsletter-message.newsletter-error {
  background: rgba(244, 67, 54, 0.2);
  border: 1px solid rgba(244, 67, 54, 0.4);
  color: #F44336;
}
.newsletter-message.newsletter-error:before {
  content: "❌ ";
  margin-right: 5px;
}

@keyframes slideInMessage {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Loading state for submit button */
.newsletter-btn[disabled] {
  position: relative;
}
.newsletter-btn[disabled]:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top: 2px solid white;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: translateY(-50%) rotate(0deg);
  }
  100% {
    transform: translateY(-50%) rotate(360deg);
  }
}
/* Mobile responsiveness for newsletter */
@media (max-width: 768px) {
  .newsletter-signup .newsletter-input-group {
    flex-direction: column;
  }
  .newsletter-signup .newsletter-input-group input {
    margin-bottom: 10px;
    border-radius: 12px !important;
  }
  .newsletter-signup .newsletter-input-group .newsletter-btn {
    border-radius: 12px !important;
    width: 100%;
  }
  .newsletter-message {
    font-size: 0.85rem;
    padding: 10px 12px;
  }
}
/*********************
NEW DESIGN ENHANCEMENTS - ASSEMBLY GLOBAL INSPIRED
*********************/
/* Video Hero Section */
.hero-section-video {
  position: relative;
  height: 80vh;
  min-height: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 0 20px;
  margin: 125px 60px 0 60px;
}
@media (max-width: 1080px) {
  .hero-section-video {
    padding: 10px 0;
    margin: 150px 10px 0 10px;
  }
}

.hero-video-background {
  position: absolute;
  top: 0;
  left: 20px;
  right: 20px;
  height: 100%;
  z-index: 1;
  border-radius: 20px;
  overflow: hidden;
}
@media (max-width: 768px) {
  .hero-video-background {
    left: 10px;
    right: 10px;
    border-radius: 15px;
  }
}

.hero-background-video {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.hero-image-fallback {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
}

.hero-video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.7) 0%, rgba(118, 75, 162, 0.4) 100%);
  z-index: 2;
  border-radius: 20px;
}
@media (max-width: 768px) {
  .hero-video-overlay {
    border-radius: 15px;
  }
}

/* Video Mute/Unmute Button - Simple & Clean */
.video-mute-btn {
  position: absolute;
  top: 40px;
  right: 40px;
  z-index: 100;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 2px solid rgba(255, 255, 255, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 0;
  margin: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
.video-mute-btn:hover {
  background: rgba(0, 0, 0, 0.8);
  border-color: rgba(255, 255, 255, 0.9);
  transform: scale(1.05);
}
.video-mute-btn svg {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
}
.video-mute-btn .mute-icon,
.video-mute-btn .unmute-icon {
  width: 28px;
  height: 28px;
}
@media (max-width: 768px) {
  .video-mute-btn {
    top: 30px;
    right: 30px;
    width: 48px;
    height: 48px;
  }
  .video-mute-btn svg {
    width: 24px;
    height: 24px;
  }
  .video-mute-btn .mute-icon,
  .video-mute-btn .unmute-icon {
    width: 24px;
    height: 24px;
  }
}

.hero-section-video .hero-content-wrapper {
  position: relative;
  z-index: 10;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 60px 40px;
  text-align: center;
}

.hero-content-inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  animation: heroFadeUp 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  opacity: 0;
}

.hero-eyebrow {
  display: inline-block;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 0;
  padding: 8px 20px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  border-radius: 30px;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.hero-section-video .hero-main-title {
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  font-weight: 800;
  line-height: 1.15;
  margin-bottom: 25px;
  color: white;
  text-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
  letter-spacing: -0.02em;
}

.hero-section-video .hero-main-subtitle {
  font-size: clamp(1.1rem, 2.2vw, 1.5rem);
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 40px;
  line-height: 1.7;
  font-weight: 400;
  max-width: 850px;
  margin-left: auto;
  margin-right: auto;
}

.hero-section-video .hero-main-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
}

/* Scroll Indicator */
.scroll-indicator {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  opacity: 0;
  animation: scrollIndicatorFade 1s ease-out 1.5s forwards;
}

.scroll-line {
  width: 2px;
  height: 60px;
  background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0.6), transparent);
  animation: scrollLineMove 2s ease-in-out infinite;
}

@keyframes heroFadeUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes scrollIndicatorFade {
  to {
    opacity: 0.6;
  }
}
/* Hero Title Section - Below Video */
.hero-title-section {
  padding: 150px 60px;
  text-align: center;
  position: relative;
}
@media (max-width: 768px) {
  .hero-title-section {
    padding: 100px 40px;
  }
}
.hero-title-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
}

.hero-title-container {
  max-width: 1200px;
  margin: 0 auto;
}

.hero-title {
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  font-weight: 800;
  line-height: 1.15;
  margin-bottom: 50px;
  letter-spacing: -0.02em;
}
.hero-title .letter {
  display: inline-block;
  background: linear-gradient(135deg, #ffffff, rgba(255, 255, 255, 0.8));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.hero-subtitle {
  font-size: clamp(1.1rem, 2.2vw, 1.5rem);
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.9;
  font-weight: 400;
  max-width: 950px;
  margin: 0 auto;
}

@keyframes titleFadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes scrollLineMove {
  0%, 100% {
    transform: translateY(-20px);
    opacity: 0;
  }
  50% {
    transform: translateY(0);
    opacity: 1;
  }
}
/* Stats Section */
.stats-section {
  padding: 120px 40px;
  background: rgba(255, 255, 255, 0.02);
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.stats-container {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 60px;
}

.stat-item {
  text-align: center;
  padding: 30px;
  position: relative;
}
.stat-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);
  border-radius: 3px;
}

.stat-number {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 10px;
  line-height: 1;
}

.stat-label {
  font-size: 1.1rem;
  font-weight: 600;
  color: white;
  margin-bottom: 8px;
  letter-spacing: 0.5px;
}

.stat-description {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.5;
}

/* Quote Banner */
.quote-banner {
  padding: 100px 40px;
  position: relative;
  overflow: hidden;
}

.quote-container {
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
  text-align: center;
}

.visual-accent-left,
.visual-accent-right {
  position: absolute;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  filter: blur(100px);
  opacity: 0.15;
  z-index: 0;
}

.visual-accent-left {
  top: -100px;
  left: -100px;
  background: #667eea;
}

.visual-accent-right {
  bottom: -100px;
  right: -100px;
  background: #764ba2;
}

.quote-text {
  font-size: clamp(1.3rem, 3vw, 2rem);
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.95);
  font-weight: 400;
  font-style: normal;
  position: relative;
  z-index: 1;
  margin: 0;
}
.quote-text::before, .quote-text::after {
  content: none;
}

/* Updated About Section */
.about-intro-section {
  padding: 200px 0 60px;
}

.about-eyebrow {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #667eea;
  margin-bottom: 20px;
  padding: 6px 16px;
  background: rgba(102, 126, 234, 0.1);
  border-radius: 20px;
  border: 1px solid rgba(102, 126, 234, 0.2);
}

.about-image-container {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}
.about-image-container::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, transparent 100%);
  pointer-events: none;
}

.image-frame-accent {
  position: absolute;
  top: -10px;
  left: -10px;
  right: 10px;
  bottom: 10px;
  border: 2px solid rgba(102, 126, 234, 0.3);
  border-radius: 16px;
  pointer-events: none;
  z-index: 5;
}

/* Section Eyebrow (Reusable) */
.section-eyebrow {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #667eea;
  margin-bottom: 15px;
}

/* Updated Roster Section */
.roster-section {
  padding: 140px 40px;
  background: rgba(255, 255, 255, 0.01);
}

.roster-container {
  max-width: 1400px;
  margin: 0 auto;
}

.latest-releases-subsection {
  margin-top: 100px;
  padding-top: 80px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.subsection-title {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 700;
  color: white;
  margin-bottom: 50px;
  text-align: center;
}

/* Updated Partners Section */
.partners-section {
  padding: 140px 40px;
  background: rgba(255, 255, 255, 0.02);
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.partners-header {
  text-align: center;
  margin-bottom: 80px;
}

.partners-grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
}

.logo-card {
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 50px 30px;
  text-align: center;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}
.logo-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.05), transparent);
  transition: left 0.6s;
}
.logo-card:hover {
  transform: translateY(-8px);
  border-color: rgba(102, 126, 234, 0.4);
  box-shadow: 0 15px 40px rgba(102, 126, 234, 0.2);
}
.logo-card:hover::before {
  left: 100%;
}

.logo-text {
  font-size: 1.3rem;
  font-weight: 700;
  color: white;
  letter-spacing: 0.5px;
}

/* Generous Spacing Improvements */
.services-section,
.short-hero-banner,
.cta-section {
  padding: 140px 40px;
}

.section-header {
  margin-bottom: 80px;
}

/* Enhanced Scroll Animations */
.animate-on-scroll {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.animate-on-scroll.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger Animation for Grid Items */
.stagger-animation > * {
  transform: translateY(30px);
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.stagger-animation.visible > * {
  opacity: 1;
  transform: translateY(0);
}

.stagger-animation.visible > *:nth-child(1) {
  transition-delay: 0.1s;
}

.stagger-animation.visible > *:nth-child(2) {
  transition-delay: 0.2s;
}

.stagger-animation.visible > *:nth-child(3) {
  transition-delay: 0.3s;
}

.stagger-animation.visible > *:nth-child(4) {
  transition-delay: 0.4s;
}

.stagger-animation.visible > *:nth-child(5) {
  transition-delay: 0.5s;
}

.stagger-animation.visible > *:nth-child(6) {
  transition-delay: 0.6s;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
  .hero-section-video {
    height: 80vh;
    min-height: 500px;
  }
  .hero-section-video .hero-content-wrapper {
    padding: 0 20px;
  }
  .hero-eyebrow {
    font-size: 0.7rem;
    letter-spacing: 1.5px;
  }
  .hero-section-video .hero-main-buttons {
    flex-direction: column;
    align-items: center;
  }
  .hero-section-video .hero-main-buttons .btn {
    width: 100%;
    max-width: 280px;
  }
  .stats-section {
    padding: 80px 20px;
  }
  .stats-container {
    grid-template-columns: 1fr;
    gap: 50px;
  }
  .quote-banner {
    padding: 80px 20px;
  }
  .quote-text {
    font-size: 1.2rem;
  }
  .quote-text::before, .quote-text::after {
    content: none;
  }
  .about-intro-section,
  .roster-section,
  .partners-section,
  .services-section,
  .short-hero-banner,
  .cta-section {
    padding: 200px 20px 80px 20px;
  }
  .partners-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
/*********************
FLOATING ALBUM MOSAIC BACKGROUND - INTERACTIVE SCROLL EFFECT
*********************/
.album-mosaic-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.mosaic-item {
  position: absolute;
  width: 120px;
  height: 120px;
  opacity: 0.08;
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.3s ease;
  will-change: transform;
  animation: mosaicFloat 20s ease-in-out infinite;
}
.mosaic-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(40%) blur(1px);
  transition: all 0.3s ease;
}
.mosaic-item:nth-child(3n) {
  width: 100px;
  height: 100px;
}
.mosaic-item:nth-child(4n) {
  width: 140px;
  height: 140px;
}
.mosaic-item:nth-child(5n) {
  width: 90px;
  height: 90px;
  opacity: 0.05;
}
.mosaic-item:nth-child(1) {
  animation-delay: 0s;
}
.mosaic-item:nth-child(2) {
  animation-delay: 1.5s;
}
.mosaic-item:nth-child(3) {
  animation-delay: 3s;
}
.mosaic-item:nth-child(4) {
  animation-delay: 4.5s;
}
.mosaic-item:nth-child(5) {
  animation-delay: 6s;
}
.mosaic-item:nth-child(6) {
  animation-delay: 7.5s;
}
.mosaic-item:nth-child(7) {
  animation-delay: 9s;
}
.mosaic-item:nth-child(8) {
  animation-delay: 10.5s;
}
.mosaic-item:nth-child(9) {
  animation-delay: 12s;
}
.mosaic-item:nth-child(10) {
  animation-delay: 13.5s;
}
.mosaic-item:nth-child(11) {
  animation-delay: 15s;
}
.mosaic-item:nth-child(12) {
  animation-delay: 16.5s;
}

@keyframes mosaicFloat {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  25% {
    transform: translateY(-15px) rotate(2deg);
  }
  50% {
    transform: translateY(0) rotate(0deg);
  }
  75% {
    transform: translateY(15px) rotate(-2deg);
  }
}
#main {
  position: relative;
  z-index: 1;
}

@media (max-width: 768px) {
  .album-mosaic-background {
    display: none;
  }
}
/* Equalizer Visualization - Above Footer - Scroll Interactive */
.equalizer-section {
  width: 100%;
  padding: 0;
  background: transparent;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  overflow: visible;
}

.equalizer-container {
  width: 100%;
  height: 200px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0;
  padding: 0;
}

.eq-bar {
  flex: 1;
  min-width: 8px;
  max-width: 25px;
  height: 0;
  background: linear-gradient(to bottom, #667eea, #764ba2);
  border-radius: 0 0 4px 4px;
  opacity: 0;
  will-change: height, opacity;
  margin: 0 2px;
}

/*********************
NAVBAR - FULL WIDTH TOP BAR (OVERRIDES ALL FLOATING STYLES)
*********************/
#header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  padding: 15px 40px !important;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.3) !important;
  transform: none !important;
  max-width: none !important;
}
@media (max-width: 1080px) {
  #header {
    padding: 15px 20px !important;
  }
}

/*********************
MOBILE PAGE PADDING - prevent content hitting screen edges
*********************/
@media (max-width: 768px) {
  .content-wrapper,
  .music-grid-container,
  .form-container,
  .contact-form-section,
  .office-grid,
  .filters-container,
  .stats-container,
  .back-container,
  .cta-content {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}
/*********************
WORDPRESS ADMIN BAR OFFSET
*********************/
.admin-bar #header {
  top: 32px !important;
}
@media screen and (max-width: 782px) {
  .admin-bar #header {
    top: 46px !important;
  }
}

/*********************
MOBILE MENU ACTIVE STATE - CRITICAL - MUST BE LAST
*********************/
@media (max-width: 1080px) {
  .main-navigation.active {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    display: flex !important;
  }
}

/*# sourceMappingURL=style.css.map */
