/* Biography page layout v20260715-10 */
.biography-page {
  min-height: 100vh;
  color: var(--text-dark);
  background:
    radial-gradient(circle at 12% 12%, rgba(201, 150, 27, 0.08), transparent 28%),
    linear-gradient(180deg, #fbfaf7 0%, var(--bg-paper) 100%);
}

.bio-intro {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background-image:
    linear-gradient(180deg, rgba(5, 5, 5, 0.08), rgba(5, 5, 5, 0.18)),
    url("../images/denpasar.jpg"),
    url("../images/denpasar.png"),
    linear-gradient(135deg, #19130b, #050505);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  animation: bio-intro-fade 2.4s ease-in-out forwards;
}

@keyframes bio-intro-fade {
  0%,
  42% {
    opacity: 1;
    filter: blur(0);
    visibility: visible;
  }

  99% {
    opacity: 0;
    filter: blur(8px);
    visibility: visible;
  }

  100% {
    opacity: 0;
    filter: blur(8px);
    visibility: hidden;
    pointer-events: none;
  }
}

.bio-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: auto;
  padding: 76px 16px 22px;
  color: var(--text-dark);
  background:
    radial-gradient(circle at 50% 22%, rgba(201, 150, 27, 0.13), transparent 30%),
    linear-gradient(180deg, #fbfaf7 0%, #f3ecdf 100%);
  text-align: center;
}

.bio-hero-inner {
  max-width: 860px;
}

.bio-hero h1 {
  margin: 0 0 8px;
  color: var(--text-dark);
  font-family: var(--font-script);
  font-size: 5.8rem;
  font-weight: 400;
  line-height: 0.98;
}

.bio-hero p:last-child {
  max-width: 720px;
  margin: 0 auto;
  color: var(--text-dark);
  font-size: 1.2rem;
  line-height: 1.35;
}

.bio-panel {
  display: flex;
  align-items: center;
  min-height: calc(100svh - 76px);
  padding: 70px 0;
}

.bio-panel-meet {
  background: linear-gradient(90deg, #fbfaf7 0%, #fbfaf7 62%, #f1eadb 62%, #f1eadb 100%);
}

.bio-panel-artist {
  background:
    radial-gradient(circle at 18% 22%, rgba(183, 43, 44, 0.09), transparent 24%),
    linear-gradient(90deg, #efe6d4 0%, #efe6d4 34%, #fbfaf7 34%, #fbfaf7 100%);
}

.bio-panel-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  gap: clamp(34px, 5vw, 76px);
  align-items: center;
}

.bio-panel-grid-reverse {
  grid-template-columns: minmax(280px, 1fr) minmax(0, 2fr);
}

.bio-copy {
  max-width: 760px;
}

.biography-page .section-kicker {
  color: var(--text-dark);
}

.bio-copy h2 {
  max-width: 760px;
  margin: 0 0 24px;
  color: var(--gold);
  font-size: clamp(3.2rem, 7vw, 6.6rem);
  font-weight: 700;
  line-height: 0.86;
  text-transform: uppercase;
}

.bio-copy p {
  margin: 0 0 18px;
  font-size: clamp(1.15rem, 1.8vw, 1.38rem);
  line-height: 1.34;
}

.bio-copy .bio-inline-link {
  margin-top: -4px;
  color: rgba(33, 33, 33, 0.72);
  font-size: clamp(1.02rem, 1.4vw, 1.18rem);
  font-weight: 700;
}

.bio-inline-link a {
  color: var(--artist-red);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.bio-image {
  position: relative;
  min-height: min(72svh, 720px);
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(33, 33, 33, 0.1);
  background-color: var(--media-empty);
  background-image:
    linear-gradient(160deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.38)),
    radial-gradient(circle at 50% 28%, rgba(201, 150, 27, 0.34), transparent 24%),
    linear-gradient(140deg, #262018, #090909);
  background-position: center;
  background-size: cover;
  box-shadow: 0 26px 58px rgba(0, 0, 0, 0.18);
}

.bio-image-meet {
  background-image:
    linear-gradient(160deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.28)),
    url("../images/meet-karla.jpg"),
    radial-gradient(circle at 50% 28%, rgba(201, 150, 27, 0.34), transparent 24%),
    linear-gradient(140deg, #2d241b, #090909);
}

.bio-image-artist {
  background-image:
    linear-gradient(160deg, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.38)),
    url("../images/the-artist.jpg"),
    radial-gradient(circle at 42% 22%, rgba(183, 43, 44, 0.36), transparent 26%),
    linear-gradient(140deg, #1d1010, #060606);
}

.bio-image-roots {
  background-image:
    linear-gradient(160deg, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.34)),
    url("../images/rooted-in-bali.JPG"),
    radial-gradient(circle at 50% 25%, rgba(201, 150, 27, 0.3), transparent 25%),
    linear-gradient(140deg, #3a2b1f, #090909);
}

.bio-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 12px;
}

.bio-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 22px;
  color: #fff;
  background: var(--artist-red);
  font-weight: 700;
  text-transform: uppercase;
  transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}

.bio-button:hover {
  color: #fff;
  background: var(--gold);
  transform: translateY(-2px);
}

.bio-button-secondary {
  color: var(--text-dark);
  background: transparent;
  border: 1px solid rgba(33, 33, 33, 0.18);
}

.bio-button-secondary:hover {
  color: #fff;
}

.bio-roots {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: calc(100svh - 76px);
  padding: 70px 0;
  overflow: hidden;
  color: var(--text-dark);
  background: #e9e0d2;
}

.bio-roots-background {
  position: absolute;
  inset: -16px;
  z-index: 0;
  background-image: url("../images/denpasar.png");
  background-position: center;
  background-size: cover;
  filter: blur(6px) saturate(0.58);
  transform: scale(1.04);
}

.bio-roots-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(circle at 78% 22%, rgba(201, 150, 27, 0.14), transparent 28%),
    linear-gradient(90deg, rgba(251, 250, 247, 0.86), rgba(239, 230, 212, 0.7));
}

.bio-roots-content {
  position: relative;
  z-index: 2;
}

.bio-roots-copy {
  max-width: 760px;
  margin: 0;
  padding: clamp(28px, 4vw, 48px);
  background: rgba(251, 250, 247, 0.88);
  border: 1px solid rgba(201, 150, 27, 0.36);
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(8px);
}

.bio-roots-copy h2,
.bio-roots-copy p {
  color: var(--text-dark);
}

.bio-roots-copy h2 {
  color: var(--gold);
}

.bio-closing {
  padding: 82px 0 88px;
  color: var(--text-dark);
  background: #fbfaf7;
  text-align: center;
}

.bio-closing-inner {
  max-width: 820px;
}

.bio-closing p {
  margin: 0 auto 28px;
  color: var(--gold);
  font-size: clamp(2rem, 4vw, 4.2rem);
  font-weight: 700;
  line-height: 0.96;
  text-transform: uppercase;
}

.bio-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
}

@media (max-width: 980px) {
  .bio-panel {
    min-height: auto;
  }

  .bio-panel-grid,
  .bio-panel-grid-reverse,
  .bio-roots-content {
    grid-template-columns: 1fr;
  }

  .bio-panel-grid-reverse .bio-copy {
    order: -1;
  }

  .bio-panel-meet,
  .bio-panel-artist {
    background: var(--bg-paper);
  }

  .bio-roots {
    min-height: auto;
  }

  .bio-image {
    min-height: 58svh;
  }
}

@media (max-width: 620px) {
  .bio-hero h1 {
    font-size: 4rem;
  }

  .bio-panel,
  .bio-roots,
  .bio-closing {
    padding: 54px 0;
  }

  .bio-copy h2 {
    font-size: clamp(2.7rem, 14vw, 4.4rem);
  }

  .bio-image {
    min-height: 440px;
  }

  .bio-roots-copy {
    padding: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bio-intro {
    animation-duration: 2s;
  }
}
