.bio-page { --bio-green: #8b9e23; background: #151515; }
.bio-footer { --bio-green: #8b9e23; }
.home-hero,.home-statement,.home-nft { display: contents; }
.responsive-hero-art,.statement-character,.statement-paper { display: none; }
.home-page .home-profile { isolation: isolate; border: 1px solid rgb(255 255 255 / .13); background: linear-gradient(135deg, rgb(255 255 255 / .055), rgb(255 255 255 / .015)); box-shadow: inset 0 1px 0 rgb(255 255 255 / .035), 0 16px 48px rgb(0 0 0 / .12); backdrop-filter: blur(12px); }
.home-profile::before { content: ''; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: url('assets/noise.svg') repeat; opacity: .09; pointer-events: none; }
.home-page .home-profile { background: #111 url('assets/profile-grid.png') left center / auto 155% no-repeat; }
.home-page .home-profile::before { display: none; }
.home-profile-flower { position: absolute; z-index: 4; top: -15%; right: 1.5%; width: 15%; height: auto; transform-origin: center; animation: profile-flower-rotate 27s linear infinite; pointer-events: none; }
@keyframes profile-flower-rotate { to { transform: rotate(360deg); } }
.home-page .nft-bubbles { top: 66.8%; }
.home-page .nft-texture-lift { position: absolute; z-index: 1; top: 58.1%; left: 0; width: 62.3%; height: auto; opacity: .42; pointer-events: none; transform: translateY(-1.1%); }
.home-profile-flower { top: -11%; right: 1.7%; width: 16%; }
.home-page .nft-texture-lift { opacity: .72; mix-blend-mode: soft-light; -webkit-mask-image: radial-gradient(ellipse 82% 74% at 34% 45%, #000 44%, rgb(0 0 0 / .92) 61%, transparent 100%); mask-image: radial-gradient(ellipse 82% 74% at 34% 45%, #000 44%, rgb(0 0 0 / .92) 61%, transparent 100%); }
.home-page .home-profile { background-size: cover; background-position: center; background-blend-mode: lighten; }
.bio-page { min-height: 100vh; display: flex; flex-direction: column; }
.bio-page > main { flex: 1 0 auto; width: 100%; }
.bio-page > .bio-footer { flex-shrink: 0; width: 100%; }
.bio-page main,.bio-footer { max-width: 1920px; margin-inline: auto; }
.bio-page .site-header a[aria-current="page"] { text-decoration: underline; text-underline-offset: .4em; }
.bio-page a:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
.biography { position: relative; padding: min(14.2vw,273px) 0 min(9.5vw,182px); background: #151515 url('assets/bio/bio-background.webp') top center / 100% auto no-repeat; overflow: hidden; }
.bio-content { width: 75%; margin: auto; position: relative; }
.bio-intro { display: grid; grid-template-columns: 29% 1fr; gap: 3%; align-items: start; }
.bio-portrait { width: 108%; height: auto; margin-left: -8%; margin-top: 1%; }
.bio-page h1 { margin: -.12em 0 .12em; color: #8ca00a; font-size: clamp(52px,7.4vw,142px); line-height: 1.15; font-weight: 900; letter-spacing: -.06em; }
.bio-content p { font-size: clamp(16px,1.56vw,30px); line-height: 1.47; margin: 0 0 1.5em; text-align: justify; }
.bio-content > p:last-child { margin-bottom: 0; }
.bio-comet { position: absolute; width: 34.3%; top: min(10.6vw,204px); right: -8.3%; height: auto; }
.artist-quote { position: relative; isolation: isolate; background: var(--bio-green); padding: min(10.8vw,207px) 16% min(4.3vw,83px); }
.artist-quote::before { content: ''; position: absolute; inset: 0; z-index: -1; background: url('assets/bio/quote-background.webp') center 42% / 100% auto no-repeat; }
.torn-paper { position: absolute; top: -4.2vw; left: 0; width: 100%; height: auto; }
.quote-alien { position: absolute; top: -1.1vw; left: 3.8%; width: 32.6%; height: auto; }
.quote-face { position: absolute; bottom: 1%; right: -4.3%; width: 20%; height: auto; }
.bio-page main { overflow: hidden; }
.artist-quote figure { margin: 0; text-align: center; }
.quote-dots { font-size: clamp(20px,2.5vw,48px); line-height: 1; margin-bottom: .6em; letter-spacing: -.1em; }
.artist-quote blockquote { margin: 0; font-size: clamp(20px,2.23vw,43px); line-height: 1.36; }
.artist-quote figcaption { display: grid; justify-items: center; gap: 1em; margin-top: min(4.5vw,86px); font-size: clamp(16px,1.55vw,30px); }
.artist-quote figcaption img { width: min(9.1vw,174px); min-width: 100px; height: auto; }
.bio-exhibitions { background: #151515 url('assets/bio/exhibition-background.webp') center bottom / cover no-repeat; }
.bio-ribbons { position: relative; padding-bottom: 3.5vw; }
.bio-ribbons h2,.bio-ribbon-back { margin: 0; padding: 1.45vw 6.7%; display: flex; align-items: center; justify-content: space-between; gap: 4vw; white-space: nowrap; font-size: clamp(18px,2.2vw,42px); letter-spacing: .3em; font-weight: 900; line-height: 1.2; color: #080808; }
.bio-ribbons h2 { position: relative; background: #f1f0ed; }
.bio-ribbon-back { position: absolute; top: 2vw; width: 100%; background: var(--bio-green); transform: rotate(1.5deg); }
.exhibition-list { list-style: none; padding: min(7vw,134px) 0 min(9vw,173px); margin: 0 auto; width: 68.5%; }
.exhibition-list li { display: grid; grid-template-columns: 9% 1fr; align-items: start; gap: 2.4%; font-size: clamp(16px,1.6vw,31px); line-height: 1.5; }
.exhibition-list time { background: var(--bio-green); border-radius: .4em; text-align: center; font-size: .88em; line-height: 1.45; margin: .12em 0; }
.exhibition-list li > span { border-bottom: 2px solid #414337; padding-bottom: .37em; margin-bottom: .28em; }
.exhibition-list li:last-child > span { border: 0; }
.bio-footer { position: relative; display: grid; min-height: 250px; grid-template-columns: 1fr auto; align-items: center; gap: 80px; overflow: hidden; padding: 54px max(8.5%,96px) 48px; border-top: 2px solid rgb(17 17 17 / .32); background: radial-gradient(circle at 78% -30%,rgb(255 255 255 / .15),transparent 36%),var(--bio-green); }
.bio-footer::before { content: ''; position: absolute; inset: 18px; border: 1px solid rgb(255 255 255 / .13); border-radius: 22px; pointer-events: none; }
.bio-footer > div { position: relative; z-index: 1; display: grid; justify-items: start; gap: 10px; }
.bio-logo { display: block; width: clamp(170px,12vw,230px); min-width: 0; height: auto; }
.bio-footer p { margin: 0; color: #fff; font-size: clamp(15px,1.08vw,21px); font-weight: 500; letter-spacing: .04em; }
.bio-footer nav { position: relative; z-index: 1; display: flex; gap: 16px; }
.bio-footer nav a { display: grid; width: 58px; height: 58px; place-items: center; border: 1px solid rgb(255 255 255 / .44); border-radius: 50%; transition: background .18s ease,border-color .18s ease,transform .18s ease; }
.bio-footer nav a:hover,.bio-footer nav a:focus-visible { border-color: #111; background: #111; outline: 0; transform: translateY(-4px); }
.bio-footer nav img { width: 29px; height: 29px; object-fit: contain; }
@media (min-width:1920px) { .torn-paper { top:-81px; }.quote-alien { top:-21px; }.bio-ribbons { padding-bottom:67px; }.bio-ribbons h2,.bio-ribbon-back { padding-block:28px; }.bio-ribbon-back { top:38px; } }
@media (max-width:720px) {
 .biography { padding: 100px 0 70px; background-size: auto 100%; }
 .bio-content { width: 86%; }
 .bio-intro { display: flex; flex-direction: column; gap: 24px; }
 .bio-portrait { width: 65%; max-width: 320px; margin: 0 auto; }
 .bio-page h1 { font-size: clamp(52px,13vw,84px); margin-bottom: 20px; }
 .bio-content p { text-align: left; line-height: 1.65; }
 .bio-comet { top: 78px; width: 46%; right: -15%; }
 .artist-quote { padding: 110px 7% 105px; }
 .quote-alien { width: 48%; top: -8px; }
 .quote-face { width: 28%; bottom: 4px; }
 .artist-quote blockquote { font-size: 21px; line-height: 1.5; }
 .artist-quote figcaption { margin-top: 30px; }
 .bio-ribbons { padding-bottom: 20px; overflow: hidden; }
 .bio-ribbons h2,.bio-ribbon-back { padding: 17px 7%; gap: 35px; width: max-content; min-width: 100%; font-size: 20px; }
 .bio-ribbon-back { top: 14px; }
 .exhibition-list { width: 86%; padding: 45px 0 80px; }
 .exhibition-list li { grid-template-columns: 58px 1fr; gap: 14px; }
 .exhibition-list li > span { padding-bottom: 15px; margin-bottom: 15px; }
 .bio-footer { padding: 32px 7%; gap: 22px; flex-wrap: wrap; }
}

/* Keep the Home composition aligned while replacing its baked-in footer. */
.home-page .visual-page { clip-path: inset(0 0 20.01112%); margin-bottom: calc(min(100vw, 1920px) * -.5625); }
.home-page .artwork { clip-path: inset(0 0 6.7%); }
.home-profile { position: relative; width: min(90%, 1728px); margin: 36px auto clamp(80px,7vw,134px); border: 3px solid #272727; border-radius: clamp(24px,3vw,56px); padding: clamp(32px,4.5vw,80px); background: #111 url('assets/profile-grid.png') left center / auto 155% no-repeat; }
.home-profile-inner { display: grid; grid-template-columns: 220px minmax(0,660px); justify-content: center; align-items: center; gap: clamp(36px,5vw,88px); }
.home-profile-identity { display: grid; justify-items: center; gap: 22px; }
.home-profile-photo-wrap { position: relative; width: 100%; }
.home-profile-photo { display: block; width: 100%; height: auto; aspect-ratio: 202 / 250; object-fit: cover; border-radius: 24px; }
.home-profile-star { position: absolute; left: -24px; top: -12px; width: 52px; height: auto; }
.home-profile-logo { display: block; width: 152px; height: auto; }
.home-profile-copy h2 { margin: 0 0 20px; font-size: clamp(28px,2.6vw,44px); font-weight: 800; line-height: 1.15; letter-spacing: -.025em; }
.home-profile-copy p { margin: 0; max-width: 60ch; font-size: clamp(16px,1.25vw,20px); line-height: 1.75; text-align: left; text-wrap: pretty; }
.home-profile-social { display: flex; align-items: center; gap: 16px; margin-top: 26px; }
.home-profile-social a { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 8px; }
.home-profile-social img { width: 30px; height: 30px; object-fit: contain; }
.home-profile-social a:hover,.home-profile-social a:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; background: #242424; }
@media(max-width:720px) {
 .home-profile { width: calc(100% - 32px); margin-top: 24px; padding: 36px 24px; }
 .home-profile-inner { grid-template-columns: minmax(0,1fr); gap: 32px; }
 .home-profile-identity { width: 180px; justify-self: center; gap: 18px; }
 .home-profile-copy h2 { margin-bottom: 16px; }
 .home-profile-copy p { font-size: 16px; line-height: 1.7; }
 .home-profile-social { margin-top: 22px; }
}
.home-page .story-copy { width: 42%; }
.home-page .story-copy p { width: 94%; font-size: 1.25cqw; font-weight: 400; line-height: 1.6; text-align: left; text-wrap: pretty; margin-top: 1.25cqw; }
.home-page .story-copy .dark-button { position: relative; top: auto; left: auto; display: inline-flex; align-items: center; justify-content: center; margin-top: 1.8cqw; text-decoration: none; }
.home-page .story-copy .dark-button:hover,.home-page .story-copy .dark-button:focus-visible { background: #292929; outline: 2px solid var(--cream); outline-offset: 3px; }

/* Original sticker artwork moves with the same gentle rhythms as Home. */
.bio-comet { animation: bio-eye-drift 8.5s ease-in-out infinite; }
.bio-portrait { animation: bio-collage-sway 7.6s ease-in-out infinite; transform-origin: 50% 65%; }
.quote-alien { animation: bio-eye-drift 8.5s ease-in-out infinite; animation-delay: -3s; }
.quote-face { animation: bio-face-drift 11s ease-in-out infinite; }
@keyframes bio-eye-drift {
  0%,100% { transform: translate(0,0); }
  19% { transform: translate(.65vw,-.55vw); }
  43% { transform: translate(-.38vw,.62vw); }
  71% { transform: translate(.48vw,.25vw); }
}
@keyframes bio-collage-sway {
  0%,100% { transform: translateY(-.3vw) rotate(-.6deg); }
  50% { transform: translateY(.3vw) rotate(.6deg); }
}
@keyframes bio-face-drift {
  0%,100% { transform: translate(0,0) rotate(0); }
  26% { transform: translate(-.7vw,.48vw) rotate(-2deg); }
  52% { transform: translate(.4vw,-.55vw) rotate(1deg); }
  75% { transform: translate(.65vw,.25vw) rotate(-1deg); }
}

/* Reuse Home's continuous double-track ticker, with the PSD's white front. */
.bio-ribbons { container-type: inline-size; height: clamp(88px,9.6vw,184px); padding: 0; overflow: visible; }
.bio-ribbons .ribbon-front { background: #f1f0ed; height: 60%; }
.bio-ribbons .ribbon-back { background: var(--bio-green); }
.bio-ribbons .ribbon-content { gap: 5.5cqw; padding-right: 5.5cqw; }
.bio-ribbons .ribbon span { font-size: clamp(18px,2.2cqw,42px); }
.bio-ribbons .ribbon b { font-size: clamp(20px,2.5cqw,48px); }
@media (prefers-reduced-motion: reduce) {
 .bio-comet,.bio-portrait,.quote-alien,.quote-face,.bio-ribbons .ribbon-track { animation: none; }
}
/* Full-bleed backgrounds with the original 1920px composition kept centered. */
.home-page .visual-page {
  isolation: isolate;
  width: 100%;
  max-width: none;
  margin-bottom: calc(min(100vw, 1920px) * -.5625);
  background: #111;
}
.home-page .visual-page::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    url('assets/home-hero.webp') center top / 100% 19.99% no-repeat,
    linear-gradient(
      to bottom,
      #111 0 19.99%,
      #171717 19.99% 39.55%,
      #9cab13 39.55% 59.6%,
      #0d0d0f 59.6% 100%
    );
}
.home-page .artwork {
  width: min(100%, 1920px);
  margin-inline: auto;
  clip-path: inset(19.99% 0 60.45%);
}
.visual-canvas {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: min(100%, 1920px);
  margin-inline: auto;
  container-type: inline-size;
}
.home-page .responsive-hero-art {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: auto;
}
.home-page .exhibition-ribbons {
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
}
.home-page .ribbon-eye {
  top: 21.34%;
  left: 15.36%;
  width: 36%;
}
.statement-fixed-bg {
  position: absolute;
  z-index: 1;
  top: 39.55%;
  left: 50%;
  width: 100vw;
  height: 20.05%;
  transform: translateX(-50%);
  background-color: #9cab13;
  background-image: url('assets/statement-texture.webp');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-blend-mode: soft-light;
}
.home-page .statement-paper {
  position: absolute;
  z-index: 2;
  left: 50%;
  display: block;
  width: 100vw;
  max-width: none;
  height: auto;
  pointer-events: none;
  transform: translateX(-50%);
}
.home-page .statement-paper-top { top: 39.15%; }
.home-page .statement-paper-bottom { top: 58.15%; }
.home-page .statement-character {
  position: absolute;
  z-index: 3;
  top: 40.3%;
  left: 58.1%;
  display: block;
  width: 41.9%;
  height: auto;
  pointer-events: none;
}
.home-page .nft-texture-lift {
  top: 59.6%;
  left: 50%;
  width: 100vw;
  height: 20.4%;
  object-fit: cover;
  opacity: .22;
  transform: translateX(-50%);
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 8%, #000 91%, transparent);
  mask-image: linear-gradient(to bottom, transparent, #000 8%, #000 91%, transparent);
}
.home-page .nft-copy {
  top: 62.15%;
}
.home-page .nft-copy .nft-eyebrow {
  margin: 0 0 .72cqw;
  color: var(--lime);
  font-size: .78cqw;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.home-page .nft-copy h2 {
  font-size: 3.05cqw;
  line-height: .92;
  letter-spacing: -.035em;
}
.home-page .nft-copy > p:not(.nft-eyebrow) {
  margin-top: 1.05cqw;
  font-size: 1.02cqw;
  line-height: 1.55;
}
.home-page .home-profile {
  width: 100%;
  max-width: none;
  border-radius: 0;
}
.home-page .bio-footer {
  width: 100%;
  max-width: none;
}

@media (max-width: 720px) {
  .home-page .nft-copy .nft-eyebrow { font-size: 1.7cqw; letter-spacing: .16em; }
  .home-page .nft-copy h2 { font-size: 4.7cqw; }
  .home-page .nft-copy > p:not(.nft-eyebrow) { font-size: 1.75cqw; line-height: 1.45; }
}
