@import url("./base/variables.css");
@import url("./base/reset.css");
@import url("./base/typography.css");

.container{
    width:min(1400px,92%);
    margin:auto;
}

.navbar {
  position: fixed;
  inset: 0 0 auto 0;
  height: var(--navbar-height);
  z-index: 1000;
  background: rgba(0, 0, 0, 0.82);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--color-border);
}

.navbar-inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.brand img {
  height: 54px;
  width: auto;
}

.nav-menu {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}

.nav-menu a {
  text-decoration: none;
  font-size: 0.9rem;
  color: var(--color-white);
  opacity: 0.82;
  transition: var(--transition-fast);
}

.nav-menu a:hover,
.nav-menu a.active {
  opacity: 1;
  color: var(--color-accent);
}

.menu-toggle {
  display: none;
  background: transparent;
  border: 1px solid var(--color-border);
  color: var(--color-white);
  border-radius: var(--radius-pill);
  padding: 0.65rem 0.9rem;
  cursor: pointer;
}

.hero {
  min-height: 100vh;
  position: relative;
  display: grid;
  align-items: center;
  padding-block: calc(var(--navbar-height) + 4rem) 5rem;
  overflow: hidden;
}

.hero-bg {
  position: absolute;
  inset: 0;
  z-index: -2;
}

.hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0,0,0,0.92), rgba(0,0,0,0.45)),
    linear-gradient(0deg, rgba(0,0,0,0.72), transparent 45%);
}

.hero-content {
  max-width: 820px;
}

.hero-content p {
  max-width: 660px;
  margin-top: 1.4rem;
  font-size: 1.12rem;
  line-height: 1.8;
}

.hero-actions {
  display: flex;
  gap: 1rem;
  margin-top: 2rem;
  flex-wrap: wrap;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-pill);
  padding: 0.95rem 1.6rem;
  font-weight: 800;
  text-decoration: none;
  transition: var(--transition-main);
}

.btn-primary {
  background: var(--color-white);
  color: var(--color-black);
}

.btn-secondary {
  background: transparent;
  border: 1px solid var(--color-white);
  color: var(--color-white);
}

.btn:hover {
  transform: translateY(-3px);
}

.btn-primary:hover {
  background: #dcdcdc;
}

.btn-secondary:hover {
  background: var(--color-white);
  color: var(--color-black);
}

.btn:hover {
  transform: translateY(-3px);
}

.section {
  padding: 160px 0;
}

.section-dark {
  background: var(--color-white);
  color: var(--color-black);
}

.section-light {
  background: #f7f7f7;
  color: var(--color-text-dark);
}

.section-header{
    max-width:900px;
    margin-bottom:90px;
}

.section-header h2 {
  margin-top: 1rem;
}

.card-grid{
    display:grid;

    grid-template-columns:
        repeat(auto-fit,minmax(360px,1fr));

    gap:40px;
}

.service-card {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  border-radius: var(--radius-md);
  border: 1px solid var(--border-soft);
  text-decoration: none;
  color: var(--color-white);
  background: var(--color-surface-2);
  transition: var(--transition-main);
}

.service-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
  transition: transform 700ms ease;
}

.service-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(0,0,0,0.92), rgba(0,0,0,0.25)),
    linear-gradient(to right, rgba(0,0,0,0.35), transparent);
}

.service-card-content {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 2;
  padding: 2rem;
}

.service-card h3 {
  font-size: 2rem;
  margin-bottom: 0.8rem;
}

.service-card p {
  color: var(--text-secondary);
  line-height: 1.7;
}

.service-card span {
  display: inline-block;
  margin-top: 1.4rem;
  font-weight: 800;
}

.service-card:hover {
  transform: translateY(-8px);
  border-color: var(--border-strong);
}

.service-card:hover img {
  transform: scale(1.08);
}

.service-card:hover span {
  transform: translateX(6px);
}

/* ===========================
   Featured Artist Showcase
=========================== */

.artist-showcase{
    background: var(--color-white);
    color: var(--color-black);

    padding-top:180px;
    padding-bottom:180px;
}

.artist-showcase-header{

    margin-bottom:90px;

    max-width:900px;
}

.artist-showcase .eyebrow{

    margin-bottom:26px;

    letter-spacing:.22em;
}

.artist-showcase-grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr;
  grid-auto-rows: 360px;
  gap: 36px;
}

.dj-showcase {
  background: var(--color-white);
  color: var(--color-black);
  padding: 180px 0;
}

.dj-showcase .section-header {
  margin-bottom: 90px;
}

.dj-showcase .eyebrow,
.dj-showcase h2 {
  color: var(--color-black);
}

.reveal-title {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

html.js .reveal-title {
  opacity: 0;
  transform: translateY(70px);
  filter: blur(10px);
  transition: opacity 900ms ease, transform 900ms ease, filter 900ms ease;
}

html.js .reveal-title.is-visible {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}


.artist-feature {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--surface-200);
  border: 1px solid var(--border-light);
  min-height: 360px;
}

.artist-feature-large {
  grid-row: span 2;
}

.artist-feature a {
  display: block;
  height: 100%;
  color: var(--color-white);
  text-decoration: none;
}

.artist-feature img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms ease;
}

.artist-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(0,0,0,.95), rgba(0,0,0,.15)),
    linear-gradient(to right, rgba(0,0,0,.35), transparent);
  z-index: 1;
}

.artist-info {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;

  z-index: 2;

  padding: 48px;

  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.artist-badge {
  display: inline-flex;
  width: fit-content;
  margin-bottom: var(--space-sm);
  padding: 8px 12px;
  border-radius: var(--radius-pill);
  background: rgba(255,255,255,.92);
  color: var(--color-black);
  font-size: var(--fs-xs);
  font-weight: var(--weight-bold);
  letter-spacing: .14em;
  text-transform: uppercase;
}

.artist-info h3 {
  color: var(--color-white);

  font-size: clamp(2.8rem, 4vw, 4.8rem);

  font-weight: 800;

  letter-spacing: -0.04em;

  line-height: 0.92;

  margin-bottom: 10px;
}

.artist-feature:not(.artist-feature-large) .artist-info h3 {
  font-size: clamp(2rem, 2.6vw, 3rem);

  font-weight: 800;

  letter-spacing: -0.03em;
}

.artist-info p {
  color: var(--text-secondary);
  margin-bottom: var(--space-md);
}

.artist-meta {
  margin-top: var(--space-md);
  padding-top: var(--space-md);
  border-top: 1px solid var(--border-light);
}

.artist-meta span {
  display: block;
  color: var(--text-muted);
  font-size: var(--fs-xs);
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: var(--space-xs);
}

.artist-meta strong {
  color: var(--color-white);
  font-size: var(--fs-lg);
}

.artist-link {
  margin-top: var(--space-md);
  font-weight: var(--weight-bold);
  transition: var(--transition-main);
}

.artist-feature:hover img {
  transform: scale(1.08);
}

.artist-feature:hover .artist-link {
  transform: translateX(8px);
}

@media (max-width: 1100px) {
  .artist-showcase-grid {
    grid-template-columns: 1fr 1fr;
  }

  .artist-feature-large {
    grid-column: span 2;
    min-height: 520px;
  }
}

@media (max-width: 700px) {
  .artist-showcase-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 420px;
  }

  .artist-feature-large {
    grid-column: auto;
    grid-row: auto;
    min-height: 520px;
  }
}



.why-section {
  background: #f7f7f7;
  color: var(--color-black);
}

.why-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: var(--space-2xl);
  align-items: start;
}

.why-section .eyebrow {
  color: var(--color-black);
}

.why-content h2 {
  max-width: 650px;
}

.why-list {
  display: grid;
  gap: var(--space-lg);
}

.why-list article {
  padding-top: var(--space-lg);
  border-top: 1px solid rgba(0,0,0,.14);
}

.why-list span {
  display: block;
  margin-bottom: var(--space-sm);
  font-weight: var(--weight-bold);
  color: var(--text-muted);
}

.why-list h3 {
  margin-bottom: var(--space-sm);
  color: var(--color-black);
}

.why-list p {
  color: #555;
  line-height: 1.8;
}

@media (max-width: 900px) {
  .why-grid {
    grid-template-columns: 1fr;
  }
}

/* ===========================
   Latest Projects
=========================== */

.projects-section {
  background: var(--color-white);
  color: var(--color-black);
}

.projects-grid {
  display: grid;
  grid-template-columns: 1fr 1.35fr 1fr;
  gap: 36px;
  align-items: stretch;
}

.project-card {
  min-height: 520px;
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-black);
  border: 1px solid rgba(0,0,0,.08);
}

.project-card-large {
  min-height: 620px;
}

.project-card a {
  display: block;
  height: 100%;
  color: var(--color-white);
  text-decoration: none;
}

.project-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms ease;
}

.project-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(0,0,0,.95), rgba(0,0,0,.12)),
    linear-gradient(to right, rgba(0,0,0,.35), transparent);
  pointer-events: none;
}

.project-content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 42px;
}

.project-content span {
  display: block;
  margin-bottom: var(--space-sm);
  color: var(--text-secondary);
  font-size: var(--fs-xs);
  font-weight: var(--weight-bold);
  letter-spacing: .18em;
  text-transform: uppercase;
}

.project-content h3 {
  color: var(--color-white);
  font-size: clamp(2rem, 3vw, 3.8rem);
  line-height: .95;
  margin-bottom: var(--space-sm);
}

.project-content p {
  color: var(--text-secondary);
  line-height: 1.7;
  max-width: 520px;
}

.project-card:hover img {
  transform: scale(1.07);
}

@media (max-width: 1100px) {
  .projects-grid {
    grid-template-columns: 1fr;
  }

  .project-card,
  .project-card-large {
    min-height: 520px;
  }
}

/* ===========================
   Echo Tribe Live Band
=========================== */

.band-section {
  background: var(--color-white);
  color: var(--color-black);
  padding: 160px 0;
}

.band-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}

.band-media {
  min-height: 720px;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--color-black);
}

.band-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.band-content {
  max-width: 720px;
}

.band-content .eyebrow {
  color: var(--color-black);
  margin-bottom: 24px;
}

.band-content h2 {
  color: var(--color-black);
  max-width: 720px;
  margin-bottom: 42px;
  font-size: clamp(3.5rem, 6vw, 6.2rem);
  line-height: 0.92;
}

.band-description {
  max-width: 640px;
  color: #555;
  font-size: 1.08rem;
  line-height: 1.9;
}

.band-description + .band-description {
  margin-top: 18px;
}

.band-actions {
  display: flex;
  gap: 18px;
  margin-top: 48px;
  flex-wrap: wrap;
}

.dark-primary {
  background: var(--color-black);
  color: var(--color-white);
}

.dark-primary:hover {
  background: #222;
}

.dark-btn {
  border-color: var(--color-black);
  color: var(--color-black);
}

.dark-btn:hover {
  background: var(--color-black);
  color: var(--color-white);
}

@media (max-width: 1000px) {
  .band-grid {
    grid-template-columns: 1fr;
  }

 .band-media {
  position: relative;
  min-height: 720px;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--color-black);
}

.band-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms ease, filter 900ms ease;
}

.band-media:hover img {
  transform: scale(1.07);
  filter: brightness(0.9);
}

  .band-content h2 {
    font-size: clamp(3rem, 10vw, 5rem);
  }
}

/* ===========================
   Trusted By & Partners
=========================== */

.partners-section {
  background: var(--color-white);
  color: var(--color-black);
  padding: 160px 0;
}

.partners-header {
  max-width: 980px;
}

.partners-header .eyebrow {
  color: var(--color-black);
}

.partners-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(0,0,0,.14);
  border-left: 1px solid rgba(0,0,0,.14);
}

.partner-card {
  min-height: 220px;
  padding: 34px;
  border-right: 1px solid rgba(0,0,0,.14);
  border-bottom: 1px solid rgba(0,0,0,.14);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: var(--transition-main);
}

.partner-card span {
  color: #8a8a8a;
  font-weight: var(--weight-bold);
}

.partner-card h3 {
  color: var(--color-black);
  font-size: clamp(1.5rem, 2vw, 2.2rem);
  line-height: 1.05;
}

.partner-card:hover {
  background: var(--color-black);
}

.partner-card:hover span,
.partner-card:hover h3 {
  color: var(--color-white);
}

@media (max-width: 900px) {
  .partners-grid {
    grid-template-columns: 1fr;
  }
}

/* ===========================
   Statistics
=========================== */

.stats-section {
  background: var(--color-white);
  color: var(--color-black);
  padding: 160px 0;
}

.stats-header {
  max-width: 980px;
}

.stats-header .eyebrow,
.stats-header h2 {
  color: var(--color-black);
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(0,0,0,.14);
  border-left: 1px solid rgba(0,0,0,.14);
}

.stat-card {
  min-height: 260px;
  padding: 34px;
  border-right: 1px solid rgba(0,0,0,.14);
  border-bottom: 1px solid rgba(0,0,0,.14);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.stat-card h3 {
  color: var(--color-black);
  font-size: clamp(3.5rem, 6vw, 6.8rem);
  line-height: .9;
  letter-spacing: -0.06em;
}

.stat-card p {
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.5;
  max-width: 220px;
}

@media (max-width: 1000px) {
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 620px) {
  .stats-grid {
    grid-template-columns: 1fr;
  }
}

/* ===========================
   Testimonials
=========================== */

.testimonials-section {
  background: var(--color-white);
  color: var(--color-black);
  padding: 120px 0 160px;
}

.testimonials-section .section-header {
  max-width: 900px;
  margin-bottom: 90px;
}

.testimonials-section .eyebrow {
  color: var(--color-black);
  margin-bottom: 22px;
}

.testimonials-section h2 {
  color: var(--color-black);
  max-width: 900px;
}

.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
}

.testimonial-card {
  background: var(--color-white);
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid #e8e8e8;
  transition: var(--transition-main);
}

.testimonial-card img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  transition: transform 800ms ease;
}

.testimonial-content {
  padding: 32px;
}

.testimonial-content p {
  color: #555;
  line-height: 1.9;
  margin-bottom: 32px;
}

.testimonial-content h3 {
  color: #111;
  margin-bottom: 6px;
}

.testimonial-content span {
  color: #888;
}

.testimonial-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 30px 60px rgba(0,0,0,.08);
}

.testimonial-card:hover img {
  transform: scale(1.08);
}

@media (max-width: 900px) {
  .testimonials-grid {
    grid-template-columns: 1fr;
  }
}

/* ===========================
   Social Gallery
=========================== */

.social-gallery-section {
  background: var(--color-white);
  color: var(--color-black);
  padding: 160px 0;
}

.social-gallery-header {
  max-width: 980px;
}

.social-gallery-header .eyebrow,
.social-gallery-header h2 {
  color: var(--color-black);
}

.social-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 280px;
  gap: 24px;
}

.social-gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-black);
  text-decoration: none;
  color: var(--color-white);
}

.social-gallery-item.large {
  grid-column: span 2;
  grid-row: span 2;
}

.social-gallery-item.wide {
  grid-column: span 2;
}

.social-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms ease, filter 900ms ease;
}

.social-gallery-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.78), rgba(0,0,0,.08));
}

.social-gallery-item span {
  position: absolute;
  left: 28px;
  bottom: 28px;
  z-index: 2;
  font-weight: var(--weight-bold);
  color: var(--color-white);
}

.social-gallery-item:hover img {
  transform: scale(1.08);
  filter: brightness(.85);
}

@media (max-width: 900px) {
  .social-gallery-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 360px;
  }

  .social-gallery-item.large,
  .social-gallery-item.wide {
    grid-column: auto;
    grid-row: auto;
  }
}

/* ===========================
   Call To Action
=========================== */

.cta-section {
  position: relative;
  min-height: 85vh;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--color-white);
}

.cta-bg {
  position: absolute;
  inset: 0;
  z-index: -2;
}

.cta-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cta-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,0,0,.35)),
    linear-gradient(0deg, rgba(0,0,0,.75), transparent 55%);
}

.cta-content {
  max-width: 900px;
  padding: 160px 0;
}

.cta-content .eyebrow {
  color: var(--color-white);
  margin-bottom: 24px;
}

.cta-content h2 {
  color: var(--color-white);
  max-width: 900px;
}

.cta-content > p:not(.eyebrow) {
  max-width: 680px;
  margin-top: 28px;
  color: var(--text-secondary);
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.cta-actions {
  display: flex;
  gap: 18px;
  margin-top: 42px;
  flex-wrap: wrap;
}

@media (max-width: 700px) {
  .cta-section {
    min-height: 760px;
  }

  .cta-content {
    padding: 120px 0;
  }
}

/* ===========================
   Professional Footer
=========================== */

.footer {
  background: #050505;
  color: #fff;
  padding-top: 120px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
  gap: 60px;
}

.footer-brand img {
  height: 60px;
  margin-bottom: 28px;
}

.footer-brand p {
  max-width: 360px;
  color: rgba(255,255,255,.65);
  line-height: 1.9;
}

.footer-social {
  margin-top: 32px;
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}

.footer-social a,
.footer-column a {
  color: rgba(255,255,255,.72);
  text-decoration: none;
  transition: .3s;
}

.footer-column a {
  display: block;
  margin-bottom: 16px;
}

.footer-column h4 {
  margin-bottom: 28px;
  color: #fff;
}

.footer-column p {
  color: rgba(255,255,255,.65);
  margin-bottom: 18px;
}

.footer a:hover {
  color: #fff;
}

.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.08);
  margin-top: 90px;
}

.footer-bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 28px 0;
  flex-wrap: wrap;
  gap: 20px;
}

.footer-bottom p {
  color: rgba(255,255,255,.55);
}

@media (max-width:1100px){

.footer-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media (max-width:700px){

.footer-grid{

grid-template-columns:1fr;

}

.footer-bottom-inner{

flex-direction:column;
align-items:flex-start;

}

}

/* ===========================
   About Page
=========================== */

.about-hero-slider {
  position: relative;
  min-height: 100vh;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--color-white);
}

.about-slider {
  position: absolute;
  inset: 0;
  z-index: -3;
}

.about-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  animation: aboutHeroFade 30s infinite;
  transform: scale(1.08);
}

.slide-1 {
  background-image: url("../assets/images/about/about-1.jpg");
  animation-delay: 0s;
}

.slide-2 {
  background-image: url("../assets/images/about/about-2.jpg");
  animation-delay: 6s;
}

.slide-3 {
  background-image: url("../assets/images/about/about-3.jpg");
  animation-delay: 12s;
}

.slide-4 {
  background-image: url("../assets/images/about/about-4.jpg");
  animation-delay: 18s;
}

.slide-5 {
  background-image: url("../assets/images/about/about-5.jpg");
  animation-delay: 24s;
}

@keyframes aboutHeroFade {
  0% {
    opacity: 0;
    transform: scale(1.08);
  }

  8% {
    opacity: 1;
  }

  28% {
    opacity: 1;
    transform: scale(1);
  }

  38% {
    opacity: 0;
    transform: scale(1);
  }

  100% {
    opacity: 0;
  }
}

.about-hero-slider::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,.35)),
    linear-gradient(0deg, rgba(0,0,0,.75), transparent 55%);
}

.about-hero-content{
    max-width:900px;
    padding-top:var(--navbar-height);
}

.about-hero-content .eyebrow {
  color: var(--color-white);
  margin-bottom: 24px;
}

.about-hero-content h1 {
  color: var(--color-white);

  max-width: 820px;

  font-size: clamp(3.2rem, 6vw, 5.8rem);

  font-weight: 800;

  line-height: 0.95;

  letter-spacing: -0.04em;

  margin-bottom: 30px;
}

.about-hero-content p:not(.eyebrow){
    max-width:620px;

    font-size:1.15rem;

    line-height:1.9;

    color:rgba(255,255,255,.82);
}


/* ===========================
   About Mission Experience
=========================== */

.about-intro {
  background: var(--color-white);
  color: var(--color-black);
  padding: 160px 0;
}

.about-intro-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.85fr);
  gap: 96px;
  align-items: start;
}

.about-intro-content {
  min-width: 0;
}

.about-intro-heading {
  max-width: 760px;
  margin-bottom: 100px;
}

.about-intro-heading .eyebrow {
  color: var(--color-black);
  margin-bottom: 24px;
}

.about-intro-heading h2 {
  color: var(--color-black);
  font-size: clamp(3.2rem, 5.8vw, 6.4rem);
  line-height: 0.94;
  letter-spacing: -0.05em;
}

.mission-stories {
  display: grid;
}

.mission-story {
  min-height: 420px;
  padding: 56px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.14);
  opacity: 0.42;
  transition:
    opacity 400ms ease,
    transform 400ms ease;
}

.mission-story:last-child {
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}

.mission-story.is-active {
  opacity: 1;
  transform: translateX(12px);
}

.mission-story > span {
  display: block;
  margin-bottom: 32px;
  color: #8a8a8a;
  font-size: var(--fs-sm);
  font-weight: var(--weight-bold);
  letter-spacing: 0.12em;
}

.mission-story h3 {
  max-width: 620px;
  margin-bottom: 24px;
  color: var(--color-black);
  font-size: clamp(2rem, 3.5vw, 3.8rem);
  line-height: 1;
  letter-spacing: -0.04em;
}

.mission-story p {
  max-width: 660px;
  color: #555;
  font-size: 1.08rem;
  line-height: 1.9;
}

.mission-visual {
  position: sticky;
  top: calc(var(--navbar-height) + 40px);
}

.mission-image-frame {
  position: relative;
  height: min(720px, calc(100vh - var(--navbar-height) - 80px));
  min-height: 560px;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-black);
}

.mission-image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition:
    opacity 350ms ease,
    transform 900ms ease;
}

.mission-image-frame.is-changing img {
  opacity: 0;
  transform: scale(1.04);
}

.mission-image-frame:hover img {
  transform: scale(1.04);
}

.mission-image-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(0, 0, 0, 0.82), transparent 55%),
    linear-gradient(to right, rgba(0, 0, 0, 0.18), transparent);
  pointer-events: none;
}

.mission-image-caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  padding: 36px;
}

.mission-image-caption span {
  display: block;
  margin-bottom: 10px;
  color: rgba(255, 255, 255, 0.72);
  font-size: var(--fs-xs);
  font-weight: var(--weight-bold);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.mission-image-caption p {
  max-width: 390px;
  color: var(--color-white);
  font-size: var(--fs-lg);
  line-height: 1.5;
}

@media (max-width: 1050px) {
  .about-intro-layout {
    grid-template-columns: 1fr;
    gap: 72px;
  }

  .mission-visual {
    position: relative;
    top: auto;
    grid-row: 2;
  }

  .mission-image-frame {
    height: 620px;
  }

  .mission-story {
    min-height: auto;
  }
}

@media (max-width: 700px) {
  .about-intro {
    padding: 110px 0;
  }

  .about-intro-heading {
    margin-bottom: 64px;
  }

  .about-intro-heading h2 {
    font-size: clamp(3rem, 13vw, 4.8rem);
  }

  .mission-story {
    padding: 42px 0;
  }

  .mission-story.is-active {
    transform: none;
  }

  .mission-image-frame {
    height: 480px;
    min-height: 0;
  }

  .mission-image-caption {
    padding: 26px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mission-story,
  .mission-image-frame img {
    transition: none;
  }
}

.about-services-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 36px;
}

.about-service-card {
  padding: 38px;
  border: 1px solid rgba(0,0,0,.14);
  border-radius: var(--radius-md);
  background: #fff;
  transition: var(--transition-main);
}

.about-service-card span {
  display: block;
  margin-bottom: 28px;
  color: #888;
  font-weight: var(--weight-bold);
}

.about-service-card h3 {
  color: var(--color-black);
  margin-bottom: 28px;
  max-width: 520px;
}

.about-service-card ul {
  padding-left: 18px;
  display: grid;
  gap: 14px;
}

.about-service-card li {
  color: #555;
  line-height: 1.7;
}

.about-service-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 30px 60px rgba(0,0,0,.08);
}

@media (max-width: 900px) {
  .about-intro-grid,
  .about-services-grid {
    grid-template-columns: 1fr;
  }

  .about-hero-content h1 {
    font-size: clamp(3.5rem, 14vw, 5.5rem);
  }
}

/* ===========================
   About — Our Journey
=========================== */

.journey-section {
  background: var(--color-white);
  color: var(--color-black);
  padding: 160px 0;
}

.journey-header {
  max-width: 940px;
}

.journey-header .eyebrow,
.journey-header h2 {
  color: var(--color-black);
}

.journey-timeline {
  position: relative;
  max-width: 1160px;
}

.journey-timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 9px;
  width: 1px;
  background: rgba(0, 0, 0, 0.16);
}

.journey-item {
  position: relative;
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 72px;
  padding: 0 0 92px 54px;
}

.journey-item:last-child {
  padding-bottom: 0;
}

.journey-marker {
  position: absolute;
  top: 5px;
  left: 0;
  width: 19px;
  height: 19px;
  border: 5px solid var(--color-white);
  border-radius: 50%;
  background: var(--color-black);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18);
}

.journey-stage span {
  color: #777;
  font-size: var(--fs-sm);
  font-weight: var(--weight-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.journey-content {
  max-width: 740px;
}

.journey-content h3 {
  margin-bottom: 20px;
  color: var(--color-black);
  font-size: clamp(1.9rem, 3vw, 3.3rem);
  line-height: 1;
  letter-spacing: -0.04em;
}

.journey-content p {
  max-width: 680px;
  color: #555;
  font-size: 1.06rem;
  line-height: 1.85;
}


/* ===========================
   About — Core Values
=========================== */

.values-section {
  background: var(--color-white);
  color: var(--color-black);
  padding: 160px 0;
}

.values-header {
  max-width: 920px;
}

.values-header .eyebrow,
.values-header h2 {
  color: var(--color-black);
}

.values-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(0, 0, 0, 0.14);
  border-left: 1px solid rgba(0, 0, 0, 0.14);
}

.value-card {
  min-height: 340px;
  padding: 38px;
  border-right: 1px solid rgba(0, 0, 0, 0.14);
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
  display: flex;
  flex-direction: column;
  transition:
    background var(--transition-main),
    color var(--transition-main);
}

.value-card > span {
  margin-bottom: auto;
  color: #888;
  font-weight: var(--weight-bold);
}

.value-card h3 {
  margin-bottom: 18px;
  color: var(--color-black);
  font-size: clamp(1.8rem, 2.5vw, 2.8rem);
}

.value-card p {
  color: #555;
  line-height: 1.75;
}

.value-card:hover {
  background: var(--color-black);
}

.value-card:hover span,
.value-card:hover h3,
.value-card:hover p {
  color: var(--color-white);
}


/* ===========================
   About — Partners & Community
=========================== */

.community-section {
  background: var(--color-white);
  color: var(--color-black);
  padding: 160px 0;
}

.community-layout {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 100px;
  align-items: start;
}

.community-content {
  position: sticky;
  top: calc(var(--navbar-height) + 48px);
}

.community-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.community-content h2 {
  max-width: 680px;
  margin-bottom: 34px;
  color: var(--color-black);
}

.community-content > p {
  max-width: 620px;
  margin-bottom: 22px;
  color: #555;
  font-size: 1.06rem;
  line-height: 1.85;
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
  color: var(--color-black);
  font-weight: var(--weight-bold);
  text-decoration: none;
}

.text-link span {
  transition: transform var(--transition-main);
}

.text-link:hover span {
  transform: translateX(7px);
}

.community-types {
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.community-types article {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 24px;
  align-items: center;
  min-height: 148px;
  padding: 26px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
  transition: padding-left var(--transition-main);
}

.community-types article:hover {
  padding-left: 16px;
}

.community-types span {
  color: #888;
  font-size: var(--fs-sm);
  font-weight: var(--weight-bold);
}

.community-types h3 {
  color: var(--color-black);
  font-size: clamp(1.55rem, 2.5vw, 2.7rem);
  line-height: 1.05;
}


/* ===========================
   About — Final CTA
=========================== */

.about-cta-section {
  position: relative;
  min-height: 82vh;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--color-white);
}

.about-cta-background {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--color-black);
}

.about-cta-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-cta-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.92), rgba(0, 0, 0, 0.36)),
    linear-gradient(0deg, rgba(0, 0, 0, 0.72), transparent 56%);
}

.about-cta-content {
  max-width: 940px;
  padding: 150px 0;
}

.about-cta-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-white);
}

.about-cta-content h2 {
  max-width: 900px;
  color: var(--color-white);
  font-size: clamp(3.6rem, 7vw, 7rem);
  line-height: 0.93;
  letter-spacing: -0.05em;
}

.about-cta-content > p:not(.eyebrow) {
  max-width: 680px;
  margin-top: 30px;
  color: rgba(255, 255, 255, 0.78);
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.about-cta-actions {
  display: flex;
  gap: 18px;
  margin-top: 42px;
  flex-wrap: wrap;
}


/* ===========================
   About — Responsive
=========================== */

@media (max-width: 1000px) {
  .values-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .community-layout {
    grid-template-columns: 1fr;
    gap: 72px;
  }

  .community-content {
    position: relative;
    top: auto;
  }
}

@media (max-width: 700px) {
  .journey-section,
  .values-section,
  .community-section {
    padding: 110px 0;
  }

  .journey-item {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 0 0 70px 42px;
  }

  .values-grid {
    grid-template-columns: 1fr;
  }

  .value-card {
    min-height: 290px;
  }

  .community-types article {
    grid-template-columns: 48px 1fr;
  }

  .about-cta-section {
    min-height: 720px;
  }

  .about-cta-content {
    padding: 110px 0;
  }
}

/* ===========================
   Leadership & Team
=========================== */

.team-section {
  background: var(--color-white);
  color: var(--color-black);
  padding: 160px 0;
}

.team-header {
  max-width: 900px;
}

.team-header .eyebrow,
.team-header h2 {
  color: var(--color-black);
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}

.team-card {
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: var(--radius-md);
  background: var(--color-white);
  transition:
    transform var(--transition-main),
    box-shadow var(--transition-main);
}

.team-image {
  height: 430px;
  overflow: hidden;
  background: #ececec;
}

.team-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 800ms ease;
}

.team-content {
  padding: 26px;
}

.team-content h3 {
  margin-bottom: 8px;
  color: var(--color-black);
}

.team-content p {
  color: #666;
}

.team-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.08);
}

.team-card:hover .team-image img {
  transform: scale(1.06);
}

@media (max-width: 1100px) {
  .team-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 650px) {
  .team-grid {
    grid-template-columns: 1fr;
  }

  .team-image {
    height: 400px;
  }
}

/* ==========================================================
   RECORDING STUDIO PAGE
========================================================== */


/* ===========================
   Studio Hero
=========================== */

.studio-hero {
  position: relative;
  min-height: 100vh;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--color-white);
}

.studio-hero-background {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--color-black);
}

.studio-hero-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.studio-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.36)),
    linear-gradient(0deg, rgba(0, 0, 0, 0.78), transparent 58%);
}

.studio-hero-content {
  max-width: 960px;
  padding-top: var(--navbar-height);
}

.studio-hero-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-white);
}

.studio-hero-content h1 {
  max-width: 920px;
  color: var(--color-white);
  font-size: clamp(4rem, 7vw, 7rem);
  line-height: 0.93;
  letter-spacing: -0.055em;
}

.studio-hero-description {
  max-width: 690px;
  margin-top: 30px;
  color: rgba(255, 255, 255, 0.8);
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.studio-hero-actions {
  display: flex;
  gap: 18px;
  margin-top: 42px;
  flex-wrap: wrap;
}


/* ===========================
   Studio Overview
=========================== */

.studio-overview-section {
  background: var(--color-white);
  color: var(--color-black);
}

.studio-overview-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: var(--space-2xl);
  align-items: start;
}

.studio-overview-heading .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.studio-overview-heading h2 {
  max-width: 680px;
  color: var(--color-black);
}

.studio-overview-content {
  display: grid;
  gap: 24px;
}

.studio-overview-content > p {
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.9;
}

.studio-overview-image {
  height: 580px;
  margin-top: 24px;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: #eaeaea;
}

.studio-overview-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 850ms ease;
}

.studio-overview-image:hover img {
  transform: scale(1.05);
}


/* ===========================
   Studio Services
=========================== */

.studio-services-section {
  background: var(--color-white);
  color: var(--color-black);
}

.studio-services-header {
  max-width: 980px;
}

.studio-services-header .eyebrow,
.studio-services-header h2 {
  color: var(--color-black);
}

.studio-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(0, 0, 0, 0.14);
  border-left: 1px solid rgba(0, 0, 0, 0.14);
}

.studio-service-card {
  min-height: 420px;
  padding: 38px;
  border-right: 1px solid rgba(0, 0, 0, 0.14);
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
  display: flex;
  flex-direction: column;
  transition:
    color var(--transition-main),
    background var(--transition-main);
}

.studio-service-number {
  margin-bottom: auto;
  color: #888;
  font-size: var(--fs-sm);
  font-weight: var(--weight-bold);
  letter-spacing: 0.12em;
}

.studio-service-card h3 {
  margin-bottom: 20px;
  color: var(--color-black);
  font-size: clamp(1.9rem, 2.7vw, 3rem);
  line-height: 1;
}

.studio-service-card > p {
  color: #555;
  line-height: 1.75;
}

.studio-service-card > a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  margin-top: 28px;
  color: var(--color-black);
  font-weight: var(--weight-bold);
  text-decoration: none;
}

.studio-service-card > a span {
  transition: transform var(--transition-main);
}

.studio-service-card:hover {
  background: var(--color-black);
}

.studio-service-card:hover .studio-service-number,
.studio-service-card:hover h3,
.studio-service-card:hover p,
.studio-service-card:hover a {
  color: var(--color-white);
}

.studio-service-card:hover > a span {
  transform: translateX(7px);
}


/* ===========================
   Facilities & Equipment
=========================== */

.studio-facilities-section {
  background: var(--color-white);
  color: var(--color-black);
}

.studio-facilities-layout {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 96px;
  align-items: start;
}

.studio-facilities-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.studio-facilities-content > h2 {
  max-width: 760px;
  color: var(--color-black);
}

.studio-facilities-content > p {
  max-width: 680px;
  margin-top: 30px;
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.85;
}

.studio-equipment-list {
  margin-top: 64px;
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.studio-equipment-list article {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 24px;
  padding: 32px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}

.studio-equipment-list article > span {
  color: #888;
  font-weight: var(--weight-bold);
}

.studio-equipment-list h3 {
  margin-bottom: 10px;
  color: var(--color-black);
}

.studio-equipment-list p {
  color: #555;
  line-height: 1.7;
}

.studio-facilities-media {
  position: sticky;
  top: calc(var(--navbar-height) + 40px);
}

.studio-facilities-image {
  position: relative;
  height: min(760px, calc(100vh - var(--navbar-height) - 80px));
  min-height: 600px;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-black);
}

.studio-facilities-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms ease;
}

.studio-facilities-image:hover img {
  transform: scale(1.05);
}

.studio-facilities-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.82),
    transparent 52%
  );
}

.studio-image-caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  padding: 36px;
}

.studio-image-caption span {
  display: block;
  margin-bottom: 10px;
  color: rgba(255, 255, 255, 0.68);
  font-size: var(--fs-xs);
  font-weight: var(--weight-bold);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.studio-image-caption p {
  max-width: 400px;
  color: var(--color-white);
  font-size: var(--fs-lg);
  line-height: 1.5;
}


/* ===========================
   Studio Process
=========================== */

.studio-process-section {
  background: var(--color-white);
  color: var(--color-black);
}

.studio-process-header {
  max-width: 980px;
}

.studio-process-header .eyebrow,
.studio-process-header h2 {
  color: var(--color-black);
}

.studio-process-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(0, 0, 0, 0.14);
  border-left: 1px solid rgba(0, 0, 0, 0.14);
}

.studio-process-grid article {
  min-height: 330px;
  padding: 36px;
  border-right: 1px solid rgba(0, 0, 0, 0.14);
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}

.studio-process-grid article > span {
  display: block;
  margin-bottom: 72px;
  color: #888;
  font-weight: var(--weight-bold);
}

.studio-process-grid h3 {
  margin-bottom: 18px;
  color: var(--color-black);
}

.studio-process-grid p {
  color: #555;
  line-height: 1.75;
}


/* ===========================
   Studio Work
=========================== */

.studio-work-section {
  background: var(--color-white);
  color: var(--color-black);
}

.studio-work-header {
  max-width: 980px;
}

.studio-work-header .eyebrow,
.studio-work-header h2 {
  color: var(--color-black);
}

.studio-work-grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr;
  grid-auto-rows: 620px;
  gap: 30px;
}

.studio-work-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-black);
}

.studio-work-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms ease;
}

.studio-work-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(0, 0, 0, 0.92), rgba(0, 0, 0, 0.08)),
    linear-gradient(to right, rgba(0, 0, 0, 0.25), transparent);
}

.studio-work-content {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  padding: 36px;
}

.studio-work-content > span {
  display: block;
  margin-bottom: 14px;
  color: rgba(255, 255, 255, 0.68);
  font-size: var(--fs-xs);
  font-weight: var(--weight-bold);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.studio-work-content h3 {
  margin-bottom: 14px;
  color: var(--color-white);
  font-size: clamp(2rem, 3vw, 3.8rem);
  line-height: 0.98;
}

.studio-work-content p {
  max-width: 470px;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.65;
}

.studio-work-card:hover img {
  transform: scale(1.07);
}


/* ===========================
   Studio Packages
=========================== */

.studio-packages-section {
  background: var(--color-white);
  color: var(--color-black);
}

.studio-packages-header {
  max-width: 980px;
}

.studio-packages-header .eyebrow,
.studio-packages-header h2 {
  color: var(--color-black);
}

.studio-packages-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.studio-package-card {
  min-height: 540px;
  padding: 38px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  transition:
    transform var(--transition-main),
    box-shadow var(--transition-main);
}

.studio-package-card > span {
  margin-bottom: 62px;
  color: #777;
  font-size: var(--fs-sm);
  font-weight: var(--weight-bold);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.studio-package-card h3 {
  margin-bottom: 22px;
  color: var(--color-black);
  font-size: clamp(2rem, 3vw, 3.4rem);
}

.studio-package-card > p {
  color: #555;
  line-height: 1.75;
}

.studio-package-card ul {
  display: grid;
  gap: 14px;
  margin: 32px 0;
  padding: 0;
  list-style: none;
}

.studio-package-card li {
  padding-top: 14px;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  color: #444;
}

.studio-package-card > a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  margin-top: auto;
  color: var(--color-black);
  font-weight: var(--weight-bold);
  text-decoration: none;
}

.studio-package-card > a span {
  transition: transform var(--transition-main);
}

.studio-package-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.08);
}

.studio-package-card:hover > a span {
  transform: translateX(7px);
}


/* ===========================
   Studio FAQ
=========================== */

.studio-faq-section {
  background: var(--color-white);
  color: var(--color-black);
}

.studio-faq-layout {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 96px;
  align-items: start;
}

.studio-faq-heading {
  position: sticky;
  top: calc(var(--navbar-height) + 48px);
}

.studio-faq-heading .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.studio-faq-heading h2 {
  max-width: 680px;
  color: var(--color-black);
}

.studio-faq-list {
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.studio-faq-list details {
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}

.studio-faq-list summary {
  position: relative;
  padding: 34px 52px 34px 0;
  color: var(--color-black);
  font-size: var(--fs-lg);
  font-weight: var(--weight-bold);
  cursor: pointer;
  list-style: none;
}

.studio-faq-list summary::-webkit-details-marker {
  display: none;
}

.studio-faq-list summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 0;
  font-size: 1.6rem;
  transform: translateY(-50%);
}

.studio-faq-list details[open] summary::after {
  content: "−";
}

.studio-faq-list details p {
  max-width: 720px;
  padding: 0 0 34px;
  color: #555;
  line-height: 1.8;
}


/* ===========================
   Studio Booking CTA
=========================== */

.studio-booking-section {
  position: relative;
  min-height: 84vh;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--color-white);
}

.studio-booking-background {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--color-black);
}

.studio-booking-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.studio-booking-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.36)),
    linear-gradient(0deg, rgba(0, 0, 0, 0.76), transparent 55%);
}

.studio-booking-content {
  max-width: 940px;
  padding: 150px 0;
}

.studio-booking-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-white);
}

.studio-booking-content h2 {
  max-width: 900px;
  color: var(--color-white);
  font-size: clamp(3.6rem, 7vw, 7rem);
  line-height: 0.93;
  letter-spacing: -0.05em;
}

.studio-booking-content > p:not(.eyebrow) {
  max-width: 680px;
  margin-top: 30px;
  color: rgba(255, 255, 255, 0.78);
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.studio-booking-actions {
  display: flex;
  gap: 18px;
  margin-top: 42px;
  flex-wrap: wrap;
}


/* ===========================
   Studio Responsive
=========================== */

@media (max-width: 1100px) {
  .studio-services-grid,
  .studio-process-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .studio-work-grid {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: 520px;
  }

  .studio-work-card-large {
    grid-column: span 2;
  }

  .studio-packages-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1000px) {
  .studio-overview-grid,
  .studio-facilities-layout,
  .studio-faq-layout {
    grid-template-columns: 1fr;
  }

  .studio-facilities-media,
  .studio-faq-heading {
    position: relative;
    top: auto;
  }

  .studio-facilities-image {
    height: 620px;
  }
}

@media (max-width: 700px) {
  .studio-hero-content h1 {
    font-size: clamp(3.5rem, 14vw, 5.5rem);
  }

  .studio-services-grid,
  .studio-process-grid,
  .studio-work-grid {
    grid-template-columns: 1fr;
  }

  .studio-work-card-large {
    grid-column: auto;
  }

  .studio-work-grid {
    grid-auto-rows: 470px;
  }

  .studio-service-card {
    min-height: 370px;
  }

  .studio-equipment-list article {
    grid-template-columns: 44px 1fr;
  }

  .studio-facilities-image {
    height: 480px;
    min-height: 0;
  }

  .studio-package-card {
    min-height: 500px;
  }

  .studio-booking-section {
    min-height: 720px;
  }

  .studio-booking-content {
    padding: 110px 0;
  }
}

/* ==========================================================
   ARTIST MANAGEMENT PAGE
========================================================== */

.management-hero {
  position: relative;
  min-height: 100vh;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--color-white);
}

.management-hero-background {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--color-black);
}

.management-hero-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.management-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.35)),
    linear-gradient(0deg, rgba(0, 0, 0, 0.78), transparent 58%);
}

.management-hero-content {
  max-width: 980px;
  padding-top: var(--navbar-height);
}

.management-hero-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-white);
}

.management-hero-content h1 {
  max-width: 940px;
  color: var(--color-white);
  font-size: clamp(4rem, 7vw, 7rem);
  line-height: 0.93;
  letter-spacing: -0.055em;
}

.management-hero-description {
  max-width: 700px;
  margin-top: 30px;
  color: rgba(255, 255, 255, 0.8);
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.management-hero-actions {
  display: flex;
  gap: 18px;
  margin-top: 42px;
  flex-wrap: wrap;
}


/* Management introduction */

.management-intro-section {
  background: var(--color-white);
  color: var(--color-black);
}

.management-intro-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: var(--space-2xl);
  align-items: start;
}

.management-intro-heading .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.management-intro-heading h2 {
  max-width: 700px;
  color: var(--color-black);
}

.management-intro-content {
  display: grid;
  gap: 24px;
}

.management-intro-content > p {
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.9;
}

.management-intro-image {
  height: 600px;
  margin-top: 24px;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: #ededed;
}

.management-intro-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 850ms ease;
}

.management-intro-image:hover img {
  transform: scale(1.05);
}


/* Management services */

.management-services-section,
.management-roster-section,
.development-section,
.management-growth-section,
.dj-management-section {
  background: var(--color-white);
  color: var(--color-black);
}

.management-services-header,
.management-roster-header,
.dj-management-header {
  max-width: 980px;
}

.management-services-header .eyebrow,
.management-services-header h2,
.management-roster-header .eyebrow,
.management-roster-header h2,
.dj-management-header .eyebrow,
.dj-management-header h2 {
  color: var(--color-black);
}

.management-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(0, 0, 0, 0.14);
  border-left: 1px solid rgba(0, 0, 0, 0.14);
}

.management-service-card {
  min-height: 400px;
  padding: 38px;
  border-right: 1px solid rgba(0, 0, 0, 0.14);
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
  display: flex;
  flex-direction: column;
  transition:
    background var(--transition-main),
    color var(--transition-main);
}

.management-service-card > span {
  margin-bottom: auto;
  color: #888;
  font-weight: var(--weight-bold);
}

.management-service-card h3 {
  margin-bottom: 20px;
  color: var(--color-black);
  font-size: clamp(1.9rem, 2.7vw, 3rem);
  line-height: 1;
}

.management-service-card p {
  color: #555;
  line-height: 1.75;
}

.management-service-card:hover {
  background: var(--color-black);
}

.management-service-card:hover span,
.management-service-card:hover h3,
.management-service-card:hover p {
  color: var(--color-white);
}


/* Roster */

.management-roster-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  grid-auto-rows: 390px;
  gap: 30px;
}

.roster-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-black);
}

.roster-card-featured {
  grid-row: span 2;
}

.roster-card a {
  display: block;
  height: 100%;
  color: var(--color-white);
  text-decoration: none;
}

.roster-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms ease;
}

.roster-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.08)),
    linear-gradient(to right, rgba(0, 0, 0, 0.24), transparent);
}

.roster-content {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  padding: 36px;
}

.roster-content > span {
  display: block;
  margin-bottom: 14px;
  color: rgba(255, 255, 255, 0.7);
  font-size: var(--fs-xs);
  font-weight: var(--weight-bold);
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.roster-content h3 {
  margin-bottom: 10px;
  color: var(--color-white);
  font-size: clamp(2rem, 3vw, 4rem);
  line-height: 0.96;
}

.roster-content p {
  margin-bottom: 22px;
  color: rgba(255, 255, 255, 0.72);
}

.roster-content strong {
  color: var(--color-white);
}

.roster-card:hover img {
  transform: scale(1.07);
}


/* Development process */

.development-layout {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 96px;
  align-items: start;
}

.development-heading {
  position: sticky;
  top: calc(var(--navbar-height) + 48px);
}

.development-heading .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.development-heading h2 {
  max-width: 700px;
  color: var(--color-black);
}

.development-heading > p:not(.eyebrow) {
  max-width: 620px;
  margin-top: 30px;
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.development-steps {
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.development-steps article {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 28px;
  padding: 38px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}

.development-steps article > span {
  color: #888;
  font-weight: var(--weight-bold);
}

.development-steps h3 {
  margin-bottom: 12px;
  color: var(--color-black);
}

.development-steps p {
  color: #555;
  line-height: 1.75;
}


/* Marketing and distribution */

.management-growth-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 96px;
  align-items: center;
}

.management-growth-media {
  min-height: 680px;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-black);
}

.management-growth-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms ease;
}

.management-growth-media:hover img {
  transform: scale(1.05);
}

.management-growth-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.management-growth-content h2 {
  color: var(--color-black);
}

.management-growth-content > p {
  margin-top: 28px;
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.management-growth-content ul {
  display: grid;
  gap: 0;
  margin-top: 42px;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.management-growth-content li {
  padding: 18px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
  color: var(--color-black);
  font-weight: var(--weight-bold);
}


/* DJ management */

.dj-management-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(0, 0, 0, 0.14);
  border-left: 1px solid rgba(0, 0, 0, 0.14);
}

.dj-management-grid article {
  min-height: 340px;
  padding: 36px;
  border-right: 1px solid rgba(0, 0, 0, 0.14);
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}

.dj-management-grid article > span {
  display: block;
  margin-bottom: 72px;
  color: #888;
  font-weight: var(--weight-bold);
}

.dj-management-grid h3 {
  margin-bottom: 18px;
  color: var(--color-black);
}

.dj-management-grid p {
  color: #555;
  line-height: 1.75;
}


/* Management CTA */

.management-contact-section {
  position: relative;
  min-height: 84vh;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--color-white);
}

.management-contact-background {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--color-black);
}

.management-contact-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.management-contact-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.36)),
    linear-gradient(0deg, rgba(0, 0, 0, 0.76), transparent 55%);
}

.management-contact-content {
  max-width: 940px;
  padding: 150px 0;
}

.management-contact-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-white);
}

.management-contact-content h2 {
  max-width: 900px;
  color: var(--color-white);
  font-size: clamp(3.6rem, 7vw, 7rem);
  line-height: 0.93;
  letter-spacing: -0.05em;
}

.management-contact-content > p:not(.eyebrow) {
  max-width: 680px;
  margin-top: 30px;
  color: rgba(255, 255, 255, 0.78);
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.management-contact-actions {
  display: flex;
  gap: 18px;
  margin-top: 42px;
  flex-wrap: wrap;
}


/* Responsive */

@media (max-width: 1100px) {
  .management-services-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .management-roster-grid {
    grid-template-columns: 1fr 1fr;
  }

  .roster-card-featured {
    grid-column: span 2;
    grid-row: auto;
    min-height: 620px;
  }

  .dj-management-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 1000px) {
  .management-intro-grid,
  .development-layout,
  .management-growth-grid {
    grid-template-columns: 1fr;
  }

  .development-heading {
    position: relative;
    top: auto;
  }

  .management-growth-media {
    min-height: 540px;
  }
}

@media (max-width: 700px) {
  .management-hero-content h1 {
    font-size: clamp(3.4rem, 14vw, 5.4rem);
  }

  .management-services-grid,
  .management-roster-grid,
  .dj-management-grid {
    grid-template-columns: 1fr;
  }

  .roster-card-featured {
    grid-column: auto;
    min-height: 540px;
  }

  .management-roster-grid {
    grid-auto-rows: 440px;
  }

  .development-steps article {
    grid-template-columns: 44px 1fr;
  }

  .management-intro-image,
  .management-growth-media {
    height: 480px;
    min-height: 0;
  }

  .management-contact-section {
    min-height: 720px;
  }

  .management-contact-content {
    padding: 110px 0;
  }
}

/* ==========================================================
   PODCAST PAGE — CHOPIX STUDIOS
========================================================== */


/* ===========================
   Podcast Hero
=========================== */

.podcast-hero {
  position: relative;
  min-height: 100vh;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--color-white);
}

.podcast-hero-background {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--color-black);
}

.podcast-hero-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.podcast-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.34)),
    linear-gradient(0deg, rgba(0, 0, 0, 0.78), transparent 58%);
}

.podcast-hero-content {
  max-width: 980px;
  padding-top: var(--navbar-height);
}

.podcast-hero-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-white);
}

.podcast-hero-content h1 {
  max-width: 940px;
  color: var(--color-white);
  font-size: clamp(4rem, 7vw, 7rem);
  line-height: 0.93;
  letter-spacing: -0.055em;
}

.podcast-hero-description {
  max-width: 700px;
  margin-top: 30px;
  color: rgba(255, 255, 255, 0.8);
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.podcast-hero-actions {
  display: flex;
  gap: 18px;
  margin-top: 42px;
  flex-wrap: wrap;
}


/* ===========================
   Podcast Overview
=========================== */

.podcast-overview-section,
.featured-episode-section,
.podcast-episodes-section,
.podcast-services-section,
.story-behind-section,
.podcast-facilities-section,
.podcast-process-section,
.podcast-packages-section,
.podcast-faq-section {
  background: var(--color-white);
  color: var(--color-black);
}

.podcast-overview-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: var(--space-2xl);
  align-items: start;
}

.podcast-overview-heading .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.podcast-overview-heading h2 {
  max-width: 700px;
  color: var(--color-black);
}

.podcast-overview-content {
  display: grid;
  gap: 24px;
}

.podcast-overview-content > p {
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.9;
}

.podcast-overview-image {
  height: 590px;
  margin-top: 24px;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: #ededed;
}

.podcast-overview-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 850ms ease;
}

.podcast-overview-image:hover img {
  transform: scale(1.05);
}


/* ===========================
   Featured Episode
=========================== */

.featured-episode-layout {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 88px;
  align-items: center;
}

.featured-episode-media {
  position: relative;
  min-height: 700px;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-black);
}

.featured-episode-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms ease;
}

.featured-episode-media:hover img {
  transform: scale(1.05);
}

.featured-episode-play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 88px;
  height: 88px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: var(--color-black);
  transform: translate(-50%, -50%);
  backdrop-filter: blur(12px);
}

.featured-episode-content .eyebrow {
  margin-bottom: 20px;
  color: var(--color-black);
}

.episode-series {
  display: block;
  margin-bottom: 26px;
  color: #777;
  font-size: var(--fs-sm);
  font-weight: var(--weight-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.featured-episode-content h2 {
  color: var(--color-black);
}

.featured-episode-content > p {
  margin-top: 28px;
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.episode-details {
  display: flex;
  gap: 14px 26px;
  margin-top: 34px;
  padding-top: 24px;
  border-top: 1px solid rgba(0, 0, 0, 0.14);
  flex-wrap: wrap;
}

.episode-details span {
  color: #666;
  font-size: var(--fs-sm);
  font-weight: var(--weight-semibold);
}

.featured-episode-actions {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-top: 38px;
  flex-wrap: wrap;
}

.podcast-dark-button {
  background: var(--color-black);
  color: var(--color-white);
}

.podcast-dark-button:hover {
  background: #222;
}

.podcast-text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--color-black);
  font-weight: var(--weight-bold);
  text-decoration: none;
}

.podcast-text-link span {
  transition: transform var(--transition-main);
}

.podcast-text-link:hover span {
  transform: translateX(7px);
}


/* ===========================
   Latest Episodes
=========================== */

.podcast-episodes-header,
.podcast-services-header,
.podcast-process-header,
.podcast-packages-header {
  max-width: 980px;
}

.podcast-episodes-header .eyebrow,
.podcast-episodes-header h2,
.podcast-services-header .eyebrow,
.podcast-services-header h2,
.podcast-process-header .eyebrow,
.podcast-process-header h2,
.podcast-packages-header .eyebrow,
.podcast-packages-header h2 {
  color: var(--color-black);
}

.podcast-episodes-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.episode-card {
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: var(--radius-md);
  background: var(--color-white);
  transition:
    transform var(--transition-main),
    box-shadow var(--transition-main);
}

.episode-card a {
  color: inherit;
  text-decoration: none;
}

.episode-card-image {
  position: relative;
  height: 380px;
  overflow: hidden;
  background: #ededed;
}

.episode-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 850ms ease;
}

.episode-play-icon {
  position: absolute;
  right: 22px;
  bottom: 22px;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.94);
  color: var(--color-black);
}

.episode-card-content {
  padding: 30px;
}

.episode-card-content > span {
  display: block;
  margin-bottom: 18px;
  color: #888;
  font-size: var(--fs-xs);
  font-weight: var(--weight-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.episode-card-content h3 {
  margin-bottom: 18px;
  color: var(--color-black);
  line-height: 1.05;
}

.episode-card-content p {
  color: #555;
  line-height: 1.75;
}

.episode-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.08);
}

.episode-card:hover img {
  transform: scale(1.06);
}


/* ===========================
   Podcast Services
=========================== */

.podcast-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(0, 0, 0, 0.14);
  border-left: 1px solid rgba(0, 0, 0, 0.14);
}

.podcast-service-card {
  min-height: 390px;
  padding: 38px;
  border-right: 1px solid rgba(0, 0, 0, 0.14);
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
  display: flex;
  flex-direction: column;
  transition:
    background var(--transition-main),
    color var(--transition-main);
}

.podcast-service-card > span {
  margin-bottom: auto;
  color: #888;
  font-weight: var(--weight-bold);
}

.podcast-service-card h3 {
  margin-bottom: 20px;
  color: var(--color-black);
  font-size: clamp(1.9rem, 2.7vw, 3rem);
  line-height: 1;
}

.podcast-service-card p {
  color: #555;
  line-height: 1.75;
}

.podcast-service-card:hover {
  background: var(--color-black);
}

.podcast-service-card:hover span,
.podcast-service-card:hover h3,
.podcast-service-card:hover p {
  color: var(--color-white);
}


/* ===========================
   The Story Behind
=========================== */

.story-behind-layout {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 96px;
  align-items: center;
}

.story-behind-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.story-behind-content h2 {
  color: var(--color-black);
}

.story-behind-lead {
  margin-top: 28px;
  color: #333;
  font-size: var(--fs-xl);
  line-height: 1.55;
}

.story-behind-content > p:not(.eyebrow):not(.story-behind-lead) {
  margin-top: 24px;
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.story-behind-content ul {
  display: grid;
  gap: 0;
  margin: 40px 0 34px;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.story-behind-content li {
  padding: 17px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
  color: var(--color-black);
  font-weight: var(--weight-bold);
}

.story-behind-media {
  min-height: 720px;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: #ededed;
}

.story-behind-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms ease;
}

.story-behind-media:hover img {
  transform: scale(1.05);
}


/* ===========================
   Podcast Facilities
=========================== */

.podcast-facilities-layout {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 96px;
  align-items: start;
}

.podcast-facilities-media {
  position: sticky;
  top: calc(var(--navbar-height) + 40px);
  min-height: 720px;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-black);
}

.podcast-facilities-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms ease;
}

.podcast-facilities-media:hover img {
  transform: scale(1.05);
}

.podcast-facilities-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.84),
    transparent 54%
  );
}

.podcast-facilities-caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  padding: 36px;
}

.podcast-facilities-caption span {
  display: block;
  margin-bottom: 10px;
  color: rgba(255, 255, 255, 0.68);
  font-size: var(--fs-xs);
  font-weight: var(--weight-bold);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.podcast-facilities-caption p {
  color: var(--color-white);
  font-size: var(--fs-lg);
  line-height: 1.5;
}

.podcast-facilities-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.podcast-facilities-content h2 {
  color: var(--color-black);
}

.podcast-facilities-content > p {
  margin-top: 28px;
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.podcast-equipment-list {
  margin-top: 58px;
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.podcast-equipment-list article {
  display: grid;
  grid-template-columns: 62px 1fr;
  gap: 26px;
  padding: 32px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}

.podcast-equipment-list article > span {
  color: #888;
  font-weight: var(--weight-bold);
}

.podcast-equipment-list h3 {
  margin-bottom: 10px;
  color: var(--color-black);
}

.podcast-equipment-list p {
  color: #555;
  line-height: 1.7;
}


/* ===========================
   Podcast Process
=========================== */

.podcast-process-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(0, 0, 0, 0.14);
  border-left: 1px solid rgba(0, 0, 0, 0.14);
}

.podcast-process-grid article {
  min-height: 330px;
  padding: 36px;
  border-right: 1px solid rgba(0, 0, 0, 0.14);
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}

.podcast-process-grid article > span {
  display: block;
  margin-bottom: 72px;
  color: #888;
  font-weight: var(--weight-bold);
}

.podcast-process-grid h3 {
  margin-bottom: 18px;
  color: var(--color-black);
}

.podcast-process-grid p {
  color: #555;
  line-height: 1.75;
}


/* ===========================
   Podcast Packages
=========================== */

.podcast-packages-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.podcast-package-card {
  min-height: 550px;
  padding: 38px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  transition:
    transform var(--transition-main),
    box-shadow var(--transition-main);
}

.podcast-package-card > span {
  margin-bottom: 64px;
  color: #777;
  font-size: var(--fs-sm);
  font-weight: var(--weight-bold);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.podcast-package-card h3 {
  margin-bottom: 22px;
  color: var(--color-black);
  font-size: clamp(2rem, 3vw, 3.4rem);
}

.podcast-package-card > p {
  color: #555;
  line-height: 1.75;
}

.podcast-package-card ul {
  display: grid;
  gap: 14px;
  margin: 32px 0;
  padding: 0;
  list-style: none;
}

.podcast-package-card li {
  padding-top: 14px;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  color: #444;
}

.podcast-package-card > a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  margin-top: auto;
  color: var(--color-black);
  font-weight: var(--weight-bold);
  text-decoration: none;
}

.podcast-package-card > a span {
  transition: transform var(--transition-main);
}

.podcast-package-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.08);
}

.podcast-package-card:hover > a span {
  transform: translateX(7px);
}


/* ===========================
   Podcast FAQ
=========================== */

.podcast-faq-layout {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 96px;
  align-items: start;
}

.podcast-faq-heading {
  position: sticky;
  top: calc(var(--navbar-height) + 48px);
}

.podcast-faq-heading .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.podcast-faq-heading h2 {
  color: var(--color-black);
}

.podcast-faq-list {
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.podcast-faq-list details {
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}

.podcast-faq-list summary {
  position: relative;
  padding: 34px 52px 34px 0;
  color: var(--color-black);
  font-size: var(--fs-lg);
  font-weight: var(--weight-bold);
  cursor: pointer;
  list-style: none;
}

.podcast-faq-list summary::-webkit-details-marker {
  display: none;
}

.podcast-faq-list summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 0;
  font-size: 1.6rem;
  transform: translateY(-50%);
}

.podcast-faq-list details[open] summary::after {
  content: "−";
}

.podcast-faq-list details p {
  max-width: 720px;
  padding: 0 0 34px;
  color: #555;
  line-height: 1.8;
}


/* ===========================
   Podcast Booking CTA
=========================== */

.podcast-booking-section {
  position: relative;
  min-height: 84vh;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--color-white);
}

.podcast-booking-background {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--color-black);
}

.podcast-booking-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.podcast-booking-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.35)),
    linear-gradient(0deg, rgba(0, 0, 0, 0.76), transparent 55%);
}

.podcast-booking-content {
  max-width: 940px;
  padding: 150px 0;
}

.podcast-booking-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-white);
}

.podcast-booking-content h2 {
  max-width: 900px;
  color: var(--color-white);
  font-size: clamp(3.6rem, 7vw, 7rem);
  line-height: 0.93;
  letter-spacing: -0.05em;
}

.podcast-booking-content > p:not(.eyebrow) {
  max-width: 680px;
  margin-top: 30px;
  color: rgba(255, 255, 255, 0.78);
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.podcast-booking-actions {
  display: flex;
  gap: 18px;
  margin-top: 42px;
  flex-wrap: wrap;
}


/* ===========================
   Podcast Responsive
=========================== */

@media (max-width: 1100px) {
  .podcast-episodes-grid,
  .podcast-services-grid,
  .podcast-process-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .podcast-packages-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1000px) {
  .podcast-overview-grid,
  .featured-episode-layout,
  .story-behind-layout,
  .podcast-facilities-layout,
  .podcast-faq-layout {
    grid-template-columns: 1fr;
  }

  .podcast-facilities-media,
  .podcast-faq-heading {
    position: relative;
    top: auto;
  }

  .featured-episode-media,
  .story-behind-media,
  .podcast-facilities-media {
    min-height: 560px;
  }
}

@media (max-width: 700px) {
  .podcast-hero-content h1 {
    font-size: clamp(3.4rem, 14vw, 5.4rem);
  }

  .podcast-episodes-grid,
  .podcast-services-grid,
  .podcast-process-grid {
    grid-template-columns: 1fr;
  }

  .podcast-overview-image,
  .featured-episode-media,
  .story-behind-media,
  .podcast-facilities-media {
    height: 470px;
    min-height: 0;
  }

  .podcast-service-card {
    min-height: 360px;
  }

  .podcast-equipment-list article {
    grid-template-columns: 44px 1fr;
  }

  .podcast-booking-section {
    min-height: 720px;
  }

  .podcast-booking-content {
    padding: 110px 0;
  }
}

/* ==========================================================
   ECHO TRIBE LIVE BAND PAGE
========================================================== */

.liveband-hero {
  position: relative;
  min-height: 100vh;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--color-white);
}

.liveband-hero-background {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--color-black);
}

.liveband-hero-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.liveband-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.34)),
    linear-gradient(0deg, rgba(0, 0, 0, 0.78), transparent 58%);
}

.liveband-hero-content {
  max-width: 980px;
  padding-top: var(--navbar-height);
}

.liveband-hero-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-white);
}

.liveband-hero-content h1 {
  max-width: 960px;
  color: var(--color-white);
  font-size: clamp(4rem, 7vw, 7rem);
  line-height: 0.93;
  letter-spacing: -0.055em;
}

.liveband-hero-description {
  max-width: 720px;
  margin-top: 30px;
  color: rgba(255, 255, 255, 0.8);
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.liveband-hero-actions {
  display: flex;
  gap: 18px;
  margin-top: 42px;
  flex-wrap: wrap;
}

.liveband-overview-section,
.band-members-section,
.performance-services-section,
.liveband-gallery-section,
.repertoire-section,
.liveband-packages-section,
.liveband-faq-section {
  background: var(--color-white);
  color: var(--color-black);
}

.liveband-overview-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: var(--space-2xl);
  align-items: start;
}

.liveband-overview-heading .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.liveband-overview-heading h2 {
  max-width: 700px;
  color: var(--color-black);
}

.liveband-overview-content {
  display: grid;
  gap: 24px;
}

.liveband-overview-content > p {
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.9;
}

.liveband-overview-image {
  height: 600px;
  margin-top: 24px;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: #ededed;
}

.liveband-overview-image img,
.band-member-card img,
.liveband-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.liveband-overview-image img {
  transition: transform 850ms ease;
}

.liveband-overview-image:hover img {
  transform: scale(1.05);
}

.band-members-header,
.performance-services-header,
.liveband-gallery-header,
.liveband-packages-header {
  max-width: 980px;
}

.band-members-header .eyebrow,
.band-members-header h2,
.performance-services-header .eyebrow,
.performance-services-header h2,
.liveband-gallery-header .eyebrow,
.liveband-gallery-header h2,
.liveband-packages-header .eyebrow,
.liveband-packages-header h2 {
  color: var(--color-black);
}

.band-members-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}

.band-member-card {
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: var(--radius-md);
  background: var(--color-white);
  transition: transform var(--transition-main), box-shadow var(--transition-main);
}

.band-member-card img {
  height: 430px;
  transition: transform 850ms ease;
}

.band-member-card div {
  padding: 28px;
}

.band-member-card span {
  display: block;
  margin-bottom: 14px;
  color: #777;
  font-size: var(--fs-xs);
  font-weight: var(--weight-bold);
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.band-member-card h3 {
  margin-bottom: 12px;
  color: var(--color-black);
}

.band-member-card p {
  color: #555;
  line-height: 1.7;
}

.band-member-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.08);
}

.band-member-card:hover img {
  transform: scale(1.06);
}

.performance-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(0, 0, 0, 0.14);
  border-left: 1px solid rgba(0, 0, 0, 0.14);
}

.performance-service-card {
  min-height: 390px;
  padding: 38px;
  border-right: 1px solid rgba(0, 0, 0, 0.14);
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
  display: flex;
  flex-direction: column;
  transition: background var(--transition-main), color var(--transition-main);
}

.performance-service-card span {
  margin-bottom: auto;
  color: #888;
  font-weight: var(--weight-bold);
}

.performance-service-card h3 {
  margin-bottom: 20px;
  color: var(--color-black);
  font-size: clamp(1.9rem, 2.7vw, 3rem);
  line-height: 1;
}

.performance-service-card p {
  color: #555;
  line-height: 1.75;
}

.performance-service-card:hover {
  background: var(--color-black);
}

.performance-service-card:hover span,
.performance-service-card:hover h3,
.performance-service-card:hover p {
  color: var(--color-white);
}

.liveband-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 300px;
  gap: 24px;
}

.liveband-gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-black);
}

.liveband-gallery-item.large {
  grid-column: span 2;
  grid-row: span 2;
}

.liveband-gallery-item.wide {
  grid-column: span 2;
}

.liveband-gallery-item img {
  transition: transform 900ms ease, filter 900ms ease;
}

.liveband-gallery-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.78), rgba(0, 0, 0, 0.08));
}

.liveband-gallery-item span {
  position: absolute;
  left: 28px;
  bottom: 28px;
  z-index: 2;
  color: var(--color-white);
  font-weight: var(--weight-bold);
}

.liveband-gallery-item:hover img {
  transform: scale(1.08);
  filter: brightness(0.85);
}

.repertoire-layout {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 96px;
  align-items: start;
}

.repertoire-heading {
  position: sticky;
  top: calc(var(--navbar-height) + 48px);
}

.repertoire-heading .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.repertoire-heading h2 {
  max-width: 700px;
  color: var(--color-black);
}

.repertoire-heading > p {
  max-width: 620px;
  margin-top: 30px;
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.repertoire-list {
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.repertoire-list article {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 28px;
  padding: 38px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}

.repertoire-list article > span {
  color: #888;
  font-weight: var(--weight-bold);
}

.repertoire-list h3 {
  margin-bottom: 12px;
  color: var(--color-black);
}

.repertoire-list p {
  color: #555;
  line-height: 1.75;
}

.liveband-packages-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.liveband-package-card {
  min-height: 550px;
  padding: 38px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  transition: transform var(--transition-main), box-shadow var(--transition-main);
}

.liveband-package-card > span {
  margin-bottom: 64px;
  color: #777;
  font-size: var(--fs-sm);
  font-weight: var(--weight-bold);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.liveband-package-card h3 {
  margin-bottom: 22px;
  color: var(--color-black);
  font-size: clamp(2rem, 3vw, 3.4rem);
}

.liveband-package-card > p {
  color: #555;
  line-height: 1.75;
}

.liveband-package-card ul {
  display: grid;
  gap: 14px;
  margin: 32px 0;
  padding: 0;
  list-style: none;
}

.liveband-package-card li {
  padding-top: 14px;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  color: #444;
}

.liveband-package-card > a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  margin-top: auto;
  color: var(--color-black);
  font-weight: var(--weight-bold);
  text-decoration: none;
}

.liveband-package-card > a span {
  transition: transform var(--transition-main);
}

.liveband-package-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.08);
}

.liveband-package-card:hover > a span {
  transform: translateX(7px);
}

.liveband-faq-layout {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 96px;
  align-items: start;
}

.liveband-faq-heading {
  position: sticky;
  top: calc(var(--navbar-height) + 48px);
}

.liveband-faq-heading .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.liveband-faq-heading h2 {
  color: var(--color-black);
}

.liveband-faq-list {
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.liveband-faq-list details {
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}

.liveband-faq-list summary {
  position: relative;
  padding: 34px 52px 34px 0;
  color: var(--color-black);
  font-size: var(--fs-lg);
  font-weight: var(--weight-bold);
  cursor: pointer;
  list-style: none;
}

.liveband-faq-list summary::-webkit-details-marker {
  display: none;
}

.liveband-faq-list summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 0;
  font-size: 1.6rem;
  transform: translateY(-50%);
}

.liveband-faq-list details[open] summary::after {
  content: "−";
}

.liveband-faq-list details p {
  max-width: 720px;
  padding: 0 0 34px;
  color: #555;
  line-height: 1.8;
}

.liveband-booking-section {
  position: relative;
  min-height: 84vh;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--color-white);
}

.liveband-booking-background {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--color-black);
}

.liveband-booking-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.liveband-booking-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.35)),
    linear-gradient(0deg, rgba(0, 0, 0, 0.76), transparent 55%);
}

.liveband-booking-content {
  max-width: 940px;
  padding: 150px 0;
}

.liveband-booking-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-white);
}

.liveband-booking-content h2 {
  max-width: 900px;
  color: var(--color-white);
  font-size: clamp(3.6rem, 7vw, 7rem);
  line-height: 0.93;
  letter-spacing: -0.05em;
}

.liveband-booking-content > p:not(.eyebrow) {
  max-width: 680px;
  margin-top: 30px;
  color: rgba(255, 255, 255, 0.78);
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.liveband-booking-actions {
  display: flex;
  gap: 18px;
  margin-top: 42px;
  flex-wrap: wrap;
}

@media (max-width: 1100px) {
  .band-members-grid,
  .performance-services-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .liveband-packages-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1000px) {
  .liveband-overview-grid,
  .repertoire-layout,
  .liveband-faq-layout {
    grid-template-columns: 1fr;
  }

  .repertoire-heading,
  .liveband-faq-heading {
    position: relative;
    top: auto;
  }
}

@media (max-width: 700px) {
  .liveband-hero-content h1 {
    font-size: clamp(3.4rem, 14vw, 5.4rem);
  }

  .band-members-grid,
  .performance-services-grid {
    grid-template-columns: 1fr;
  }

  .liveband-gallery-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 360px;
  }

  .liveband-gallery-item.large,
  .liveband-gallery-item.wide {
    grid-column: auto;
    grid-row: auto;
  }

  .repertoire-list article {
    grid-template-columns: 44px 1fr;
  }

  .liveband-overview-image {
    height: 470px;
  }

  .liveband-booking-section {
    min-height: 720px;
  }

  .liveband-booking-content {
    padding: 110px 0;
  }
}

/* ==========================================================
   BIG FOOT SOUND SYSTEM PAGE
========================================================== */

.sound-hero {
  position: relative;
  min-height: 100vh;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--color-white);
}

.sound-hero-background {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--color-black);
}

.sound-hero-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sound-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.34)),
    linear-gradient(0deg, rgba(0, 0, 0, 0.78), transparent 58%);
}

.sound-hero-content {
  max-width: 980px;
  padding-top: var(--navbar-height);
}

.sound-hero-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-white);
}

.sound-hero-content h1 {
  max-width: 960px;
  color: var(--color-white);
  font-size: clamp(4rem, 7vw, 7rem);
  line-height: 0.93;
  letter-spacing: -0.055em;
}

.sound-hero-description {
  max-width: 720px;
  margin-top: 30px;
  color: rgba(255, 255, 255, 0.8);
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.sound-hero-actions {
  display: flex;
  gap: 18px;
  margin-top: 42px;
  flex-wrap: wrap;
}

.sound-overview-section,
.sound-services-section,
.sound-equipment-section,
.sound-events-section,
.sound-gallery-section,
.sound-packages-section,
.sound-faq-section {
  background: var(--color-white);
  color: var(--color-black);
}

.sound-overview-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: var(--space-2xl);
  align-items: start;
}

.sound-overview-heading .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.sound-overview-heading h2 {
  max-width: 700px;
  color: var(--color-black);
}

.sound-overview-content {
  display: grid;
  gap: 24px;
}

.sound-overview-content > p {
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.9;
}

.sound-overview-image {
  height: 600px;
  margin-top: 24px;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: #ededed;
}

.sound-overview-image img,
.sound-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sound-overview-image img {
  transition: transform 850ms ease;
}

.sound-overview-image:hover img {
  transform: scale(1.05);
}

.sound-services-header,
.sound-gallery-header,
.sound-packages-header {
  max-width: 980px;
}

.sound-services-header .eyebrow,
.sound-services-header h2,
.sound-gallery-header .eyebrow,
.sound-gallery-header h2,
.sound-packages-header .eyebrow,
.sound-packages-header h2 {
  color: var(--color-black);
}

.sound-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(0, 0, 0, 0.14);
  border-left: 1px solid rgba(0, 0, 0, 0.14);
}

.sound-service-card {
  min-height: 390px;
  padding: 38px;
  border-right: 1px solid rgba(0, 0, 0, 0.14);
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
  display: flex;
  flex-direction: column;
  transition: background var(--transition-main), color var(--transition-main);
}

.sound-service-card span {
  margin-bottom: auto;
  color: #888;
  font-weight: var(--weight-bold);
}

.sound-service-card h3 {
  margin-bottom: 20px;
  color: var(--color-black);
  font-size: clamp(1.9rem, 2.7vw, 3rem);
  line-height: 1;
}

.sound-service-card p {
  color: #555;
  line-height: 1.75;
}

.sound-service-card:hover {
  background: var(--color-black);
}

.sound-service-card:hover span,
.sound-service-card:hover h3,
.sound-service-card:hover p {
  color: var(--color-white);
}

.sound-equipment-layout {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 96px;
  align-items: start;
}

.sound-equipment-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.sound-equipment-content h2 {
  max-width: 760px;
  color: var(--color-black);
}

.sound-equipment-content > p {
  max-width: 680px;
  margin-top: 30px;
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.85;
}

.sound-equipment-list {
  margin-top: 64px;
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.sound-equipment-list article {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 24px;
  padding: 32px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}

.sound-equipment-list article > span {
  color: #888;
  font-weight: var(--weight-bold);
}

.sound-equipment-list h3 {
  margin-bottom: 10px;
  color: var(--color-black);
}

.sound-equipment-list p {
  color: #555;
  line-height: 1.7;
}

.sound-equipment-media {
  position: sticky;
  top: calc(var(--navbar-height) + 40px);
}

.sound-equipment-image {
  position: relative;
  height: min(760px, calc(100vh - var(--navbar-height) - 80px));
  min-height: 600px;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-black);
}

.sound-equipment-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms ease;
}

.sound-equipment-image:hover img {
  transform: scale(1.05);
}

.sound-equipment-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.82), transparent 52%);
}

.sound-image-caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  padding: 36px;
}

.sound-image-caption span {
  display: block;
  margin-bottom: 10px;
  color: rgba(255, 255, 255, 0.68);
  font-size: var(--fs-xs);
  font-weight: var(--weight-bold);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.sound-image-caption p {
  max-width: 400px;
  color: var(--color-white);
  font-size: var(--fs-lg);
  line-height: 1.5;
}

.sound-events-layout {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 96px;
  align-items: start;
}

.sound-events-heading {
  position: sticky;
  top: calc(var(--navbar-height) + 48px);
}

.sound-events-heading .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.sound-events-heading h2 {
  max-width: 700px;
  color: var(--color-black);
}

.sound-events-heading > p {
  max-width: 620px;
  margin-top: 30px;
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.sound-events-list {
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.sound-events-list article {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 28px;
  padding: 38px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}

.sound-events-list article > span {
  color: #888;
  font-weight: var(--weight-bold);
}

.sound-events-list h3 {
  margin-bottom: 12px;
  color: var(--color-black);
}

.sound-events-list p {
  color: #555;
  line-height: 1.75;
}

.sound-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 300px;
  gap: 24px;
}

.sound-gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-black);
}

.sound-gallery-item.large {
  grid-column: span 2;
  grid-row: span 2;
}

.sound-gallery-item.wide {
  grid-column: span 2;
}

.sound-gallery-item img {
  transition: transform 900ms ease, filter 900ms ease;
}

.sound-gallery-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.78), rgba(0, 0, 0, 0.08));
}

.sound-gallery-item span {
  position: absolute;
  left: 28px;
  bottom: 28px;
  z-index: 2;
  color: var(--color-white);
  font-weight: var(--weight-bold);
}

.sound-gallery-item:hover img {
  transform: scale(1.08);
  filter: brightness(0.85);
}

.sound-packages-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.sound-package-card {
  min-height: 550px;
  padding: 38px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  transition: transform var(--transition-main), box-shadow var(--transition-main);
}

.sound-package-card > span {
  margin-bottom: 64px;
  color: #777;
  font-size: var(--fs-sm);
  font-weight: var(--weight-bold);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.sound-package-card h3 {
  margin-bottom: 22px;
  color: var(--color-black);
  font-size: clamp(2rem, 3vw, 3.4rem);
}

.sound-package-card > p {
  color: #555;
  line-height: 1.75;
}

.sound-package-card ul {
  display: grid;
  gap: 14px;
  margin: 32px 0;
  padding: 0;
  list-style: none;
}

.sound-package-card li {
  padding-top: 14px;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  color: #444;
}

.sound-package-card > a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  margin-top: auto;
  color: var(--color-black);
  font-weight: var(--weight-bold);
  text-decoration: none;
}

.sound-package-card > a span {
  transition: transform var(--transition-main);
}

.sound-package-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.08);
}

.sound-package-card:hover > a span {
  transform: translateX(7px);
}

.sound-faq-layout {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 96px;
  align-items: start;
}

.sound-faq-heading {
  position: sticky;
  top: calc(var(--navbar-height) + 48px);
}

.sound-faq-heading .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.sound-faq-heading h2 {
  color: var(--color-black);
}

.sound-faq-list {
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.sound-faq-list details {
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}

.sound-faq-list summary {
  position: relative;
  padding: 34px 52px 34px 0;
  color: var(--color-black);
  font-size: var(--fs-lg);
  font-weight: var(--weight-bold);
  cursor: pointer;
  list-style: none;
}

.sound-faq-list summary::-webkit-details-marker {
  display: none;
}

.sound-faq-list summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 0;
  font-size: 1.6rem;
  transform: translateY(-50%);
}

.sound-faq-list details[open] summary::after {
  content: "−";
}

.sound-faq-list details p {
  max-width: 720px;
  padding: 0 0 34px;
  color: #555;
  line-height: 1.8;
}

.sound-booking-section {
  position: relative;
  min-height: 84vh;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--color-white);
}

.sound-booking-background {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--color-black);
}

.sound-booking-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sound-booking-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.35)),
    linear-gradient(0deg, rgba(0, 0, 0, 0.76), transparent 55%);
}

.sound-booking-content {
  max-width: 940px;
  padding: 150px 0;
}

.sound-booking-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-white);
}

.sound-booking-content h2 {
  max-width: 900px;
  color: var(--color-white);
  font-size: clamp(3.6rem, 7vw, 7rem);
  line-height: 0.93;
  letter-spacing: -0.05em;
}

.sound-booking-content > p:not(.eyebrow) {
  max-width: 680px;
  margin-top: 30px;
  color: rgba(255, 255, 255, 0.78);
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.sound-booking-actions {
  display: flex;
  gap: 18px;
  margin-top: 42px;
  flex-wrap: wrap;
}

@media (max-width: 1100px) {
  .sound-services-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .sound-packages-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1000px) {
  .sound-overview-grid,
  .sound-equipment-layout,
  .sound-events-layout,
  .sound-faq-layout {
    grid-template-columns: 1fr;
  }

  .sound-equipment-media,
  .sound-events-heading,
  .sound-faq-heading {
    position: relative;
    top: auto;
  }

  .sound-equipment-image {
    height: 620px;
  }
}

@media (max-width: 700px) {
  .sound-hero-content h1 {
    font-size: clamp(3.4rem, 14vw, 5.4rem);
  }

  .sound-services-grid {
    grid-template-columns: 1fr;
  }

  .sound-gallery-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 360px;
  }

  .sound-gallery-item.large,
  .sound-gallery-item.wide {
    grid-column: auto;
    grid-row: auto;
  }

  .sound-events-list article,
  .sound-equipment-list article {
    grid-template-columns: 44px 1fr;
  }

  .sound-overview-image,
  .sound-equipment-image {
    height: 470px;
    min-height: 0;
  }

  .sound-booking-section {
    min-height: 720px;
  }

  .sound-booking-content {
    padding: 110px 0;
  }
}

/* ==========================================================
   EVENTS PAGE
========================================================== */

.events-hero {
  position: relative;
  min-height: 100vh;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--color-white);
}

.events-hero-background {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--color-black);
}

.events-hero-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.events-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.34)),
    linear-gradient(0deg, rgba(0, 0, 0, 0.78), transparent 58%);
}

.events-hero-content {
  max-width: 980px;
  padding-top: var(--navbar-height);
}

.events-hero-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-white);
}

.events-hero-content h1 {
  max-width: 980px;
  color: var(--color-white);
  font-size: clamp(4rem, 7vw, 7rem);
  line-height: 0.93;
  letter-spacing: -0.055em;
}

.events-hero-description {
  max-width: 720px;
  margin-top: 30px;
  color: rgba(255, 255, 255, 0.8);
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.events-hero-actions {
  display: flex;
  gap: 18px;
  margin-top: 42px;
  flex-wrap: wrap;
}

.events-overview-section,
.upcoming-events-section,
.event-services-section,
.event-types-section,
.event-process-section,
.events-gallery-section,
.event-packages-section,
.events-faq-section {
  background: var(--color-white);
  color: var(--color-black);
}

.events-overview-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: var(--space-2xl);
  align-items: start;
}

.events-overview-heading .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.events-overview-heading h2 {
  max-width: 700px;
  color: var(--color-black);
}

.events-overview-content {
  display: grid;
  gap: 24px;
}

.events-overview-content > p {
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.9;
}

.events-overview-image {
  height: 600px;
  margin-top: 24px;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: #ededed;
}

.events-overview-image img,
.events-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.events-overview-image img {
  transition: transform 850ms ease;
}

.events-overview-image:hover img {
  transform: scale(1.05);
}

.upcoming-events-header,
.event-services-header,
.event-process-header,
.events-gallery-header,
.event-packages-header {
  max-width: 980px;
}

.upcoming-events-header .eyebrow,
.upcoming-events-header h2,
.event-services-header .eyebrow,
.event-services-header h2,
.event-process-header .eyebrow,
.event-process-header h2,
.events-gallery-header .eyebrow,
.events-gallery-header h2,
.event-packages-header .eyebrow,
.event-packages-header h2 {
  color: var(--color-black);
}

.upcoming-events-grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr;
  grid-auto-rows: 620px;
  gap: 30px;
}

.upcoming-event-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-black);
}

.upcoming-event-card a {
  display: block;
  height: 100%;
  color: var(--color-white);
  text-decoration: none;
}

.upcoming-event-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms ease;
}

.upcoming-event-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.08)),
    linear-gradient(to right, rgba(0, 0, 0, 0.25), transparent);
}

.upcoming-event-content {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  padding: 36px;
}

.upcoming-event-content > span {
  display: block;
  margin-bottom: 14px;
  color: rgba(255, 255, 255, 0.7);
  font-size: var(--fs-xs);
  font-weight: var(--weight-bold);
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.upcoming-event-content h3 {
  margin-bottom: 14px;
  color: var(--color-white);
  font-size: clamp(2rem, 3vw, 3.8rem);
  line-height: 0.98;
}

.upcoming-event-content p {
  max-width: 480px;
  margin-bottom: 22px;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.65;
}

.upcoming-event-card:hover img {
  transform: scale(1.07);
}

.event-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(0, 0, 0, 0.14);
  border-left: 1px solid rgba(0, 0, 0, 0.14);
}

.event-service-card {
  min-height: 390px;
  padding: 38px;
  border-right: 1px solid rgba(0, 0, 0, 0.14);
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
  display: flex;
  flex-direction: column;
  transition: background var(--transition-main), color var(--transition-main);
}

.event-service-card span {
  margin-bottom: auto;
  color: #888;
  font-weight: var(--weight-bold);
}

.event-service-card h3 {
  margin-bottom: 20px;
  color: var(--color-black);
  font-size: clamp(1.9rem, 2.7vw, 3rem);
  line-height: 1;
}

.event-service-card p {
  color: #555;
  line-height: 1.75;
}

.event-service-card:hover {
  background: var(--color-black);
}

.event-service-card:hover span,
.event-service-card:hover h3,
.event-service-card:hover p {
  color: var(--color-white);
}

.event-types-layout {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 96px;
  align-items: start;
}

.event-types-heading {
  position: sticky;
  top: calc(var(--navbar-height) + 48px);
}

.event-types-heading .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.event-types-heading h2 {
  max-width: 700px;
  color: var(--color-black);
}

.event-types-heading > p {
  max-width: 620px;
  margin-top: 30px;
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.event-types-list {
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.event-types-list article {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 28px;
  padding: 38px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}

.event-types-list article > span {
  color: #888;
  font-weight: var(--weight-bold);
}

.event-types-list h3 {
  margin-bottom: 12px;
  color: var(--color-black);
}

.event-types-list p {
  max-width: 760px;
  color: #555;
  line-height: 1.75;
}

.event-process-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid rgba(0, 0, 0, 0.14);
  border-left: 1px solid rgba(0, 0, 0, 0.14);
}

.event-process-grid article {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 28px;
  min-height: 260px;
  padding: 36px;
  border-right: 1px solid rgba(0, 0, 0, 0.14);
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}

.event-process-grid article > span {
  color: #888;
  font-weight: var(--weight-bold);
}

.event-process-grid h3 {
  margin-bottom: 12px;
  color: var(--color-black);
}

.event-process-grid p {
  max-width: 720px;
  color: #555;
  line-height: 1.75;
}

.events-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 300px;
  gap: 24px;
}

.events-gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-black);
}

.events-gallery-item.large {
  grid-column: span 2;
  grid-row: span 2;
}

.events-gallery-item.wide {
  grid-column: span 2;
}

.events-gallery-item img {
  transition: transform 900ms ease, filter 900ms ease;
}

.events-gallery-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.78), rgba(0, 0, 0, 0.08));
}

.events-gallery-item span {
  position: absolute;
  left: 28px;
  bottom: 28px;
  z-index: 2;
  color: var(--color-white);
  font-weight: var(--weight-bold);
}

.events-gallery-item:hover img {
  transform: scale(1.08);
  filter: brightness(0.85);
}

.event-packages-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.event-package-card {
  min-height: 550px;
  padding: 38px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  transition: transform var(--transition-main), box-shadow var(--transition-main);
}

.event-package-card > span {
  margin-bottom: 64px;
  color: #777;
  font-size: var(--fs-sm);
  font-weight: var(--weight-bold);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.event-package-card h3 {
  margin-bottom: 22px;
  color: var(--color-black);
  font-size: clamp(2rem, 3vw, 3.4rem);
}

.event-package-card > p {
  color: #555;
  line-height: 1.75;
}

.event-package-card ul {
  display: grid;
  gap: 14px;
  margin: 32px 0;
  padding: 0;
  list-style: none;
}

.event-package-card li {
  padding-top: 14px;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  color: #444;
}

.event-package-card > a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  margin-top: auto;
  color: var(--color-black);
  font-weight: var(--weight-bold);
  text-decoration: none;
}

.event-package-card > a span {
  transition: transform var(--transition-main);
}

.event-package-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.08);
}

.event-package-card:hover > a span {
  transform: translateX(7px);
}

.events-faq-layout {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 96px;
  align-items: start;
}

.events-faq-heading {
  position: sticky;
  top: calc(var(--navbar-height) + 48px);
}

.events-faq-heading .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.events-faq-heading h2 {
  color: var(--color-black);
}

.events-faq-list {
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.events-faq-list details {
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}

.events-faq-list summary {
  position: relative;
  padding: 34px 52px 34px 0;
  color: var(--color-black);
  font-size: var(--fs-lg);
  font-weight: var(--weight-bold);
  cursor: pointer;
  list-style: none;
}

.events-faq-list summary::-webkit-details-marker {
  display: none;
}

.events-faq-list summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 0;
  font-size: 1.6rem;
  transform: translateY(-50%);
}

.events-faq-list details[open] summary::after {
  content: "−";
}

.events-faq-list details p {
  max-width: 720px;
  padding: 0 0 34px;
  color: #555;
  line-height: 1.8;
}

.event-booking-section {
  position: relative;
  min-height: 84vh;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--color-white);
}

.event-booking-background {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--color-black);
}

.event-booking-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.event-booking-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.35)),
    linear-gradient(0deg, rgba(0, 0, 0, 0.76), transparent 55%);
}

.event-booking-content {
  max-width: 940px;
  padding: 150px 0;
}

.event-booking-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-white);
}

.event-booking-content h2 {
  max-width: 900px;
  color: var(--color-white);
  font-size: clamp(3.6rem, 7vw, 7rem);
  line-height: 0.93;
  letter-spacing: -0.05em;
}

.event-booking-content > p:not(.eyebrow) {
  max-width: 680px;
  margin-top: 30px;
  color: rgba(255, 255, 255, 0.78);
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.event-booking-actions {
  display: flex;
  gap: 18px;
  margin-top: 42px;
  flex-wrap: wrap;
}

@media (max-width: 1100px) {
  .event-services-grid,
  .event-process-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .event-packages-grid {
    grid-template-columns: 1fr;
  }

  .upcoming-events-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 520px;
  }
}

@media (max-width: 1000px) {
  .events-overview-grid,
  .event-types-layout,
  .events-faq-layout {
    grid-template-columns: 1fr;
  }

  .event-types-heading,
  .events-faq-heading {
    position: relative;
    top: auto;
  }
}

@media (max-width: 700px) {
  .events-hero-content h1 {
    font-size: clamp(3.4rem, 14vw, 5.4rem);
  }

  .event-services-grid,
  .event-process-grid {
    grid-template-columns: 1fr;
  }

  .event-process-grid article,
  .event-types-list article {
    grid-template-columns: 44px 1fr;
  }

  .events-gallery-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 360px;
  }

  .events-gallery-item.large,
  .events-gallery-item.wide {
    grid-column: auto;
    grid-row: auto;
  }

  .events-overview-image {
    height: 470px;
  }

  .event-booking-section {
    min-height: 720px;
  }

  .event-booking-content {
    padding: 110px 0;
  }
}

/* ==========================================================
   ARTIST PROFILE PAGES
========================================================== */

.artist-profile-hero {
  position: relative;
  min-height: 100vh;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--color-white);
}

.artist-profile-bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--color-black);
}

.artist-profile-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.artist-profile-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.32)),
    linear-gradient(0deg, rgba(0, 0, 0, 0.78), transparent 58%);
}

.artist-profile-hero-content {
  max-width: 980px;
  padding-top: var(--navbar-height);
}

.artist-profile-hero-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-white);
}

.artist-profile-hero-content h1 {
  max-width: 900px;
  color: var(--color-white);
  font-size: clamp(5rem, 12vw, 12rem);
  line-height: 0.85;
  letter-spacing: -0.07em;
}

.artist-profile-genre {
  margin-top: 24px;
  color: rgba(255, 255, 255, 0.82);
  font-size: var(--fs-xl);
  font-weight: var(--weight-bold);
}

.artist-profile-intro {
  max-width: 720px;
  margin-top: 28px;
  color: rgba(255, 255, 255, 0.78);
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.artist-profile-actions {
  display: flex;
  gap: 18px;
  margin-top: 42px;
  flex-wrap: wrap;
}

.artist-bio-section,
.artist-highlights-section,
.artist-music-section,
.artist-development-section,
.artist-gallery-section {
  background: var(--color-white);
  color: var(--color-black);
}

.artist-bio-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: var(--space-2xl);
  align-items: start;
}

.artist-bio-heading .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.artist-bio-heading h2 {
  max-width: 700px;
  color: var(--color-black);
}

.artist-bio-content {
  display: grid;
  gap: 24px;
}

.artist-bio-content > p {
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.9;
}

.artist-bio-image {
  height: 600px;
  margin-top: 24px;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: #ededed;
}

.artist-bio-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 850ms ease;
}

.artist-bio-image:hover img {
  transform: scale(1.05);
}

.artist-highlights-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(0, 0, 0, 0.14);
  border-left: 1px solid rgba(0, 0, 0, 0.14);
}

.artist-highlights-grid article {
  min-height: 240px;
  padding: 34px;
  border-right: 1px solid rgba(0, 0, 0, 0.14);
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.artist-highlights-grid span {
  color: #888;
  font-size: var(--fs-xs);
  font-weight: var(--weight-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.artist-highlights-grid h3 {
  color: var(--color-black);
  font-size: clamp(1.7rem, 2.5vw, 2.8rem);
  line-height: 1;
}

.artist-music-header,
.artist-gallery-header {
  max-width: 980px;
}

.artist-music-header .eyebrow,
.artist-music-header h2,
.artist-gallery-header .eyebrow,
.artist-gallery-header h2 {
  color: var(--color-black);
}

.artist-release-grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 30px;
}

.artist-release-card {
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: var(--radius-md);
  background: var(--color-white);
  transition: transform var(--transition-main), box-shadow var(--transition-main);
}

.artist-release-card img {
  width: 100%;
  height: 440px;
  object-fit: cover;
  transition: transform 850ms ease;
}

.artist-release-card.featured img {
  height: 560px;
}

.artist-release-card div {
  padding: 34px;
}

.artist-release-card span {
  display: block;
  margin-bottom: 18px;
  color: #888;
  font-size: var(--fs-xs);
  font-weight: var(--weight-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.artist-release-card h3 {
  margin-bottom: 18px;
  color: var(--color-black);
}

.artist-release-card p {
  color: #555;
  line-height: 1.75;
}

.artist-release-card a {
  display: inline-flex;
  gap: 10px;
  margin-top: 28px;
  color: var(--color-black);
  font-weight: var(--weight-bold);
  text-decoration: none;
}

.artist-release-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.08);
}

.artist-release-card:hover img {
  transform: scale(1.05);
}

.artist-development-layout {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 96px;
  align-items: start;
}

.artist-development-heading {
  position: sticky;
  top: calc(var(--navbar-height) + 48px);
}

.artist-development-heading .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.artist-development-heading h2 {
  max-width: 700px;
  color: var(--color-black);
}

.artist-development-heading > p {
  max-width: 620px;
  margin-top: 30px;
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.artist-development-list {
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.artist-development-list article {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 28px;
  padding: 38px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}

.artist-development-list article > span {
  color: #888;
  font-weight: var(--weight-bold);
}

.artist-development-list h3 {
  margin-bottom: 12px;
  color: var(--color-black);
}

.artist-development-list p {
  max-width: 760px;
  color: #555;
  line-height: 1.75;
}

.artist-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 300px;
  gap: 24px;
}

.artist-gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-black);
}

.artist-gallery-item.large {
  grid-column: span 2;
  grid-row: span 2;
}

.artist-gallery-item.wide {
  grid-column: span 2;
}

.artist-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms ease, filter 900ms ease;
}

.artist-gallery-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.78), rgba(0, 0, 0, 0.08));
}

.artist-gallery-item span {
  position: absolute;
  left: 28px;
  bottom: 28px;
  z-index: 2;
  color: var(--color-white);
  font-weight: var(--weight-bold);
}

.artist-gallery-item:hover img {
  transform: scale(1.08);
  filter: brightness(0.85);
}

.artist-booking-section {
  position: relative;
  min-height: 84vh;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--color-white);
}

.artist-booking-bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--color-black);
}

.artist-booking-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.artist-booking-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.35)),
    linear-gradient(0deg, rgba(0, 0, 0, 0.76), transparent 55%);
}

.artist-booking-content {
  max-width: 940px;
  padding: 150px 0;
}

.artist-booking-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-white);
}

.artist-booking-content h2 {
  max-width: 900px;
  color: var(--color-white);
  font-size: clamp(3.6rem, 7vw, 7rem);
  line-height: 0.93;
  letter-spacing: -0.05em;
}

.artist-booking-content > p:not(.eyebrow) {
  max-width: 680px;
  margin-top: 30px;
  color: rgba(255, 255, 255, 0.78);
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.artist-booking-actions {
  display: flex;
  gap: 18px;
  margin-top: 42px;
  flex-wrap: wrap;
}

@media (max-width: 1000px) {
  .artist-bio-grid,
  .artist-development-layout {
    grid-template-columns: 1fr;
  }

  .artist-development-heading {
    position: relative;
    top: auto;
  }

  .artist-highlights-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .artist-release-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .artist-profile-hero-content h1 {
    font-size: clamp(4.5rem, 24vw, 7rem);
  }

  .artist-highlights-grid {
    grid-template-columns: 1fr;
  }

  .artist-development-list article {
    grid-template-columns: 44px 1fr;
  }

  .artist-gallery-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 360px;
  }

  .artist-gallery-item.large,
  .artist-gallery-item.wide {
    grid-column: auto;
    grid-row: auto;
  }

  .artist-bio-image,
  .artist-release-card img,
  .artist-release-card.featured img {
    height: 470px;
  }

  .artist-booking-section {
    min-height: 720px;
  }

  .artist-booking-content {
    padding: 110px 0;
  }
}

/* ==========================================================
   DJ PROFILE PAGES
========================================================== */

.dj-profile-hero {
  position: relative;
  min-height: 100vh;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--color-white);
}

.dj-profile-bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--color-black);
}

.dj-profile-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dj-profile-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.32)),
    linear-gradient(0deg, rgba(0, 0, 0, 0.78), transparent 58%);
}

.dj-profile-hero-content {
  max-width: 980px;
  padding-top: var(--navbar-height);
}

.dj-profile-hero-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-white);
}

.dj-profile-hero-content h1 {
  max-width: 900px;
  color: var(--color-white);
  font-size: clamp(5rem, 12vw, 12rem);
  line-height: 0.85;
  letter-spacing: -0.07em;
}

.dj-profile-genre {
  margin-top: 24px;
  color: rgba(255, 255, 255, 0.82);
  font-size: var(--fs-xl);
  font-weight: var(--weight-bold);
}

.dj-profile-intro {
  max-width: 720px;
  margin-top: 28px;
  color: rgba(255, 255, 255, 0.78);
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.dj-profile-actions {
  display: flex;
  gap: 18px;
  margin-top: 42px;
  flex-wrap: wrap;
}

.dj-bio-section,
.dj-highlights-section,
.dj-style-section,
.dj-mixes-section,
.dj-events-section,
.dj-gallery-section,
.dj-tech-section {
  background: var(--color-white);
  color: var(--color-black);
}

.dj-bio-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: var(--space-2xl);
  align-items: start;
}

.dj-bio-heading .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.dj-bio-heading h2 {
  max-width: 700px;
  color: var(--color-black);
}

.dj-bio-content {
  display: grid;
  gap: 24px;
}

.dj-bio-content > p {
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.9;
}

.dj-bio-image {
  height: 600px;
  margin-top: 24px;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: #ededed;
}

.dj-bio-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 850ms ease;
}

.dj-bio-image:hover img {
  transform: scale(1.05);
}

.dj-highlights-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(0, 0, 0, 0.14);
  border-left: 1px solid rgba(0, 0, 0, 0.14);
}

.dj-highlights-grid article {
  min-height: 240px;
  padding: 34px;
  border-right: 1px solid rgba(0, 0, 0, 0.14);
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.dj-highlights-grid span {
  color: #888;
  font-size: var(--fs-xs);
  font-weight: var(--weight-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.dj-highlights-grid h3 {
  color: var(--color-black);
  font-size: clamp(1.7rem, 2.5vw, 2.8rem);
  line-height: 1;
}

.dj-style-layout,
.dj-events-layout,
.dj-tech-layout {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 96px;
  align-items: start;
}

.dj-style-heading,
.dj-events-heading,
.dj-tech-heading {
  position: sticky;
  top: calc(var(--navbar-height) + 48px);
}

.dj-style-heading .eyebrow,
.dj-events-heading .eyebrow,
.dj-tech-heading .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.dj-style-heading h2,
.dj-events-heading h2,
.dj-tech-heading h2 {
  max-width: 700px;
  color: var(--color-black);
}

.dj-style-heading > p,
.dj-events-heading > p {
  max-width: 620px;
  margin-top: 30px;
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.dj-style-list,
.dj-events-list,
.dj-tech-list {
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.dj-style-list article,
.dj-events-list article,
.dj-tech-list article {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 28px;
  padding: 38px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}

.dj-style-list article > span,
.dj-events-list article > span,
.dj-tech-list article > span {
  color: #888;
  font-weight: var(--weight-bold);
}

.dj-style-list h3,
.dj-events-list h3,
.dj-tech-list h3 {
  margin-bottom: 12px;
  color: var(--color-black);
}

.dj-style-list p,
.dj-events-list p,
.dj-tech-list p {
  max-width: 760px;
  color: #555;
  line-height: 1.75;
}

.dj-mixes-header,
.dj-gallery-header {
  max-width: 980px;
}

.dj-mixes-header .eyebrow,
.dj-mixes-header h2,
.dj-gallery-header .eyebrow,
.dj-gallery-header h2 {
  color: var(--color-black);
}

.dj-mixes-grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 30px;
}

.dj-mix-card {
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: var(--radius-md);
  background: var(--color-white);
  transition: transform var(--transition-main), box-shadow var(--transition-main);
}

.dj-mix-card img {
  width: 100%;
  height: 440px;
  object-fit: cover;
  transition: transform 850ms ease;
}

.dj-mix-card.featured img {
  height: 560px;
}

.dj-mix-card div {
  padding: 34px;
}

.dj-mix-card span {
  display: block;
  margin-bottom: 18px;
  color: #888;
  font-size: var(--fs-xs);
  font-weight: var(--weight-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.dj-mix-card h3 {
  margin-bottom: 18px;
  color: var(--color-black);
}

.dj-mix-card p {
  color: #555;
  line-height: 1.75;
}

.dj-mix-card a {
  display: inline-flex;
  gap: 10px;
  margin-top: 28px;
  color: var(--color-black);
  font-weight: var(--weight-bold);
  text-decoration: none;
}

.dj-mix-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.08);
}

.dj-mix-card:hover img {
  transform: scale(1.05);
}

.dj-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 300px;
  gap: 24px;
}

.dj-gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-black);
}

.dj-gallery-item.large {
  grid-column: span 2;
  grid-row: span 2;
}

.dj-gallery-item.wide {
  grid-column: span 2;
}

.dj-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms ease, filter 900ms ease;
}

.dj-gallery-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.78), rgba(0, 0, 0, 0.08));
}

.dj-gallery-item span {
  position: absolute;
  left: 28px;
  bottom: 28px;
  z-index: 2;
  color: var(--color-white);
  font-weight: var(--weight-bold);
}

.dj-gallery-item:hover img {
  transform: scale(1.08);
  filter: brightness(0.85);
}

.dj-booking-section {
  position: relative;
  min-height: 84vh;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--color-white);
}

.dj-booking-bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--color-black);
}

.dj-booking-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dj-booking-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.35)),
    linear-gradient(0deg, rgba(0, 0, 0, 0.76), transparent 55%);
}

.dj-booking-content {
  max-width: 940px;
  padding: 150px 0;
}

.dj-booking-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-white);
}

.dj-booking-content h2 {
  max-width: 900px;
  color: var(--color-white);
  font-size: clamp(3.6rem, 7vw, 7rem);
  line-height: 0.93;
  letter-spacing: -0.05em;
}

.dj-booking-content > p:not(.eyebrow) {
  max-width: 680px;
  margin-top: 30px;
  color: rgba(255, 255, 255, 0.78);
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.dj-booking-actions {
  display: flex;
  gap: 18px;
  margin-top: 42px;
  flex-wrap: wrap;
}

@media (max-width: 1000px) {
  .dj-bio-grid,
  .dj-style-layout,
  .dj-events-layout,
  .dj-tech-layout {
    grid-template-columns: 1fr;
  }

  .dj-style-heading,
  .dj-events-heading,
  .dj-tech-heading {
    position: relative;
    top: auto;
  }

  .dj-highlights-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .dj-mixes-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .dj-profile-hero-content h1 {
    font-size: clamp(4.5rem, 24vw, 7rem);
  }

  .dj-highlights-grid {
    grid-template-columns: 1fr;
  }

  .dj-style-list article,
  .dj-events-list article,
  .dj-tech-list article {
    grid-template-columns: 44px 1fr;
  }

  .dj-gallery-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 360px;
  }

  .dj-gallery-item.large,
  .dj-gallery-item.wide {
    grid-column: auto;
    grid-row: auto;
  }

  .dj-bio-image,
  .dj-mix-card img,
  .dj-mix-card.featured img {
    height: 470px;
  }

  .dj-booking-section {
    min-height: 720px;
  }

  .dj-booking-content {
    padding: 110px 0;
  }
}

/* ==========================================================
   ARTISTS & DJS PAGE
========================================================== */


/* ===========================
   Artists Hero
=========================== */

.artists-hero {
  position: relative;
  min-height: 100vh;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--color-white);
}

.artists-hero-background {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--color-black);
}

.artists-hero-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.artists-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.34)),
    linear-gradient(0deg, rgba(0, 0, 0, 0.78), transparent 58%);
}

.artists-hero-content {
  max-width: 980px;
  padding-top: var(--navbar-height);
}

.artists-hero-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-white);
}

.artists-hero-content h1 {
  max-width: 940px;
  color: var(--color-white);
  font-size: clamp(4rem, 7vw, 7rem);
  line-height: 0.93;
  letter-spacing: -0.055em;
}

.artists-hero-description {
  max-width: 700px;
  margin-top: 30px;
  color: rgba(255, 255, 255, 0.8);
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.artists-hero-actions {
  display: flex;
  gap: 18px;
  margin-top: 42px;
  flex-wrap: wrap;
}


/* ===========================
   Talent Intro
=========================== */

.talent-intro-section,
.featured-talent-section,
.artists-roster-section,
.djs-roster-section,
.talent-development-section {
  background: var(--color-white);
  color: var(--color-black);
}

.talent-intro-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: var(--space-2xl);
  align-items: start;
}

.talent-intro-heading .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.talent-intro-heading h2 {
  max-width: 720px;
  color: var(--color-black);
}

.talent-intro-content {
  display: grid;
  gap: 24px;
}

.talent-intro-content p {
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.9;
}


/* ===========================
   Featured Talent
=========================== */

.featured-talent-header,
.artists-roster-header,
.djs-roster-header {
  max-width: 980px;
}

.featured-talent-header .eyebrow,
.featured-talent-header h2,
.artists-roster-header .eyebrow,
.artists-roster-header h2,
.djs-roster-header .eyebrow,
.djs-roster-header h2 {
  color: var(--color-black);
}

.featured-talent {
  overflow: hidden;
  border-radius: var(--radius-md);
  border: 1px solid rgba(0, 0, 0, 0.12);
}

.featured-talent > a {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  min-height: 700px;
  color: inherit;
  text-decoration: none;
}

.featured-talent-image {
  overflow: hidden;
  background: #ededed;
}

.featured-talent-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms ease;
}

.featured-talent-content {
  padding: 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.talent-label {
  display: block;
  margin-bottom: 28px;
  color: #777;
  font-size: var(--fs-xs);
  font-weight: var(--weight-bold);
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.featured-talent-content h3 {
  color: var(--color-black);
  font-size: clamp(3.5rem, 6vw, 6.5rem);
  line-height: 0.92;
  letter-spacing: -0.05em;
}

.talent-genre {
  margin-top: 14px;
  color: #666;
  font-size: var(--fs-lg);
}

.featured-talent-description {
  max-width: 580px;
  margin-top: 36px;
  color: #555;
  line-height: 1.85;
}

.featured-talent-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
  margin-top: 46px;
  padding-top: 28px;
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.featured-talent-meta span {
  display: block;
  margin-bottom: 8px;
  color: #888;
  font-size: var(--fs-xs);
  text-transform: uppercase;
  letter-spacing: 0.14em;
}

.featured-talent-meta strong {
  color: var(--color-black);
}

.talent-profile-link {
  margin-top: 46px;
  color: var(--color-black);
}

.featured-talent:hover img {
  transform: scale(1.05);
}


/* ===========================
   Artist / DJ Directory
=========================== */

.artists-directory-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}

.directory-card {
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: var(--radius-md);
  background: var(--color-white);
  transition:
    transform var(--transition-main),
    box-shadow var(--transition-main);
}

.directory-card a {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.directory-image {
  position: relative;
  height: 470px;
  overflow: hidden;
  background: #ededed;
}

.directory-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 850ms ease;
}

.directory-badge {
  position: absolute;
  top: 20px;
  left: 20px;
  padding: 8px 12px;
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.94);
  color: var(--color-black);
  font-size: var(--fs-xs);
  font-weight: var(--weight-bold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.directory-content {
  padding: 28px;
}

.directory-content h3 {
  margin-bottom: 8px;
  color: var(--color-black);
  font-size: clamp(1.8rem, 2.5vw, 2.8rem);
}

.directory-content > p {
  color: #666;
}

.directory-footer {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-top: 30px;
  padding-top: 22px;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
}

.directory-footer span {
  color: #777;
  font-size: var(--fs-sm);
}

.directory-footer strong {
  color: var(--color-black);
  white-space: nowrap;
}

.directory-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.08);
}

.directory-card:hover img {
  transform: scale(1.06);
}


/* ===========================
   Talent Development
=========================== */

.talent-development-layout {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 100px;
  align-items: start;
}

.talent-development-content {
  position: sticky;
  top: calc(var(--navbar-height) + 48px);
}

.talent-development-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-black);
}

.talent-development-content h2 {
  max-width: 700px;
  color: var(--color-black);
}

.talent-development-content > p {
  max-width: 620px;
  margin-top: 30px;
  color: #555;
  font-size: var(--fs-lg);
  line-height: 1.85;
}

.artists-text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 34px;
  color: var(--color-black);
  font-weight: var(--weight-bold);
  text-decoration: none;
}

.artists-text-link span {
  transition: transform var(--transition-main);
}

.artists-text-link:hover span {
  transform: translateX(7px);
}

.talent-development-list {
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.talent-development-list article {
  display: grid;
  grid-template-columns: 70px 1fr;
  align-items: center;
  min-height: 140px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
  transition: padding-left var(--transition-main);
}

.talent-development-list article:hover {
  padding-left: 14px;
}

.talent-development-list span {
  color: #888;
  font-weight: var(--weight-bold);
}

.talent-development-list h3 {
  color: var(--color-black);
  font-size: clamp(1.6rem, 2.6vw, 2.9rem);
}


/* ===========================
   Talent Booking CTA
=========================== */

.talent-booking-section {
  position: relative;
  min-height: 84vh;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--color-white);
}

.talent-booking-background {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--color-black);
}

.talent-booking-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.talent-booking-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.35)),
    linear-gradient(0deg, rgba(0, 0, 0, 0.76), transparent 55%);
}

.talent-booking-content {
  max-width: 940px;
  padding: 150px 0;
}

.talent-booking-content .eyebrow {
  margin-bottom: 24px;
  color: var(--color-white);
}

.talent-booking-content h2 {
  max-width: 900px;
  color: var(--color-white);
  font-size: clamp(3.6rem, 7vw, 7rem);
  line-height: 0.93;
  letter-spacing: -0.05em;
}

.talent-booking-content > p:not(.eyebrow) {
  max-width: 680px;
  margin-top: 30px;
  color: rgba(255, 255, 255, 0.78);
  font-size: var(--fs-lg);
  line-height: 1.8;
}

.talent-booking-actions {
  display: flex;
  gap: 18px;
  margin-top: 42px;
  flex-wrap: wrap;
}


/* ===========================
   Artists Responsive
=========================== */

@media (max-width: 1150px) {
  .artists-directory-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 1000px) {
  .talent-intro-grid,
  .featured-talent > a,
  .talent-development-layout {
    grid-template-columns: 1fr;
  }

  .featured-talent-image {
    height: 620px;
  }

  .talent-development-content {
    position: relative;
    top: auto;
  }
}

@media (max-width: 700px) {
  .artists-hero-content h1 {
    font-size: clamp(3.4rem, 14vw, 5.4rem);
  }

  .artists-directory-grid {
    grid-template-columns: 1fr;
  }

  .directory-image {
    height: 440px;
  }

  .featured-talent-image {
    height: 500px;
  }

  .featured-talent-content {
    padding: 34px;
  }

  .featured-talent-meta {
    grid-template-columns: 1fr;
  }

  .directory-footer {
    flex-direction: column;
  }

  .talent-development-list article {
    grid-template-columns: 48px 1fr;
  }

  .talent-booking-section {
    min-height: 720px;
  }

  .talent-booking-content {
    padding: 110px 0;
  }
}