html {
  scroll-behavior: smooth;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Inter',sans-serif;
    background:#000;
    overflow-x:hidden;
}

:root{
  --nav-bg: rgba(6, 7, 10, .58);
  --nav-border: rgba(255,255,255,.10);
  --nav-text: rgba(255,255,255,.84);
  --nav-muted: rgba(255,255,255,.54);
  --nav-line: rgba(255,255,255,.12);
  --nav-active: #ffffff;
}

.site-nav{
  position:fixed;
  top:18px;
  left:50%;
  transform:translateX(-50%) translateY(-8px);
  width:min(1180px, calc(100% - 32px));
  z-index:60;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:14px 18px;
  border:1px solid var(--nav-border);
  border-radius:999px;
  background:var(--nav-bg);
  backdrop-filter:blur(18px);
  box-shadow:0 12px 30px rgba(0,0,0,.20);
  opacity:0;
  pointer-events:none;
  transition:opacity .35s ease, transform .35s ease;
}

.site-nav.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}

.nav-brand{
  color:#fff;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.16em;
  font-size:.82rem;
  text-transform:uppercase;
  white-space:nowrap;
}

.nav-links{
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
}

.nav-links a{
  color:var(--nav-muted);
  text-decoration:none;
  font-size:.9rem;
  transition:color .2s ease;
}

.nav-links a:hover,
.nav-links a.is-active{
  color:#fff;
}

.nav-rail{
  position:fixed;
  right:18px;
  top:50%;
  transform:translateY(-50%) translateX(12px);
  z-index:55;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:14px 12px;
  border:1px solid var(--nav-border);
  border-radius:24px;
  background:rgba(6,7,10,.34);
  backdrop-filter:blur(14px);
  box-shadow:0 12px 30px rgba(0,0,0,.18);
  opacity:0;
  pointer-events:none;
  transition:opacity .35s ease, transform .35s ease;
}

.nav-rail.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateY(-50%) translateX(0);
}

.nav-rail__link{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:var(--nav-muted);
  min-width:126px;
  padding:6px 8px;
  border-radius:999px;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}

.nav-rail__link:hover,
.nav-rail__link.is-active{
  color:#fff;
  background:rgba(255,255,255,.06);
}

.nav-rail__line{
  width:18px;
  height:1px;
  background:var(--nav-line);
  flex:0 0 auto;
}

.nav-rail__text{
  font-size:.72rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  white-space:nowrap;
}

.menu-toggle{
  position:fixed;
  top:18px;
  right:18px;
  z-index:70;
  width:54px;
  height:54px;
  border-radius:50%;
  border:1px solid var(--nav-border);
  background:var(--nav-bg);
  backdrop-filter:blur(18px);
  box-shadow:0 12px 30px rgba(0,0,0,.20);
  display:none;
  align-items:center;
  justify-content:center;
  gap:5px;
  flex-direction:column;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transition:opacity .35s ease, transform .35s ease;
}

.menu-toggle.is-visible{
  opacity:1;
  pointer-events:auto;
}

.menu-toggle span{
  display:block;
  width:18px;
  height:2px;
  border-radius:999px;
  background:#fff;
}

.mobile-menu{
  position:fixed;
  inset:0;
  z-index:80;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.06), transparent 24%),
    radial-gradient(circle at 80% 30%, rgba(255,255,255,.03), transparent 18%),
    linear-gradient(180deg, #040405 0%, #010102 100%);
  display:grid;
  place-items:center;
  padding:28px;
  opacity:0;
  pointer-events:none;
  transform:scale(1.02);
  transition:opacity .28s ease, transform .28s ease;
}

.mobile-menu.is-open{
  opacity:1;
  pointer-events:auto;
  transform:scale(1);
}

.mobile-menu::before{
  content:"";
  position:absolute;
  inset:-20%;
  background:
    radial-gradient(circle at 14% 28%, rgba(255,255,255,.08), transparent 14%),
    radial-gradient(circle at 42% 46%, rgba(255,255,255,.03), transparent 22%),
    radial-gradient(circle at 76% 20%, rgba(255,255,255,.05), transparent 16%),
    radial-gradient(circle at 90% 68%, rgba(255,255,255,.02), transparent 18%);
  filter:blur(42px);
  opacity:.22;
  animation:menuHaze 20s ease-in-out infinite alternate;
  pointer-events:none;
}

.mobile-menu__word{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  color:rgba(255,255,255,.04);
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
  white-space:nowrap;
  font-size:clamp(4rem, 15vw, 12rem);
  pointer-events:none;
  user-select:none;
}

.mobile-menu__close{
  position:absolute;
  top:18px;
  right:18px;
  width:54px;
  height:54px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  color:#fff;
  font-size:2rem;
  line-height:1;
  cursor:pointer;
}

.mobile-menu__links{
  position:relative;
  z-index:2;
  display:grid;
  gap:14px;
  text-align:center;
}

.mobile-menu__links a{
  color:#fff;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:clamp(1.1rem, 4vw, 1.8rem);
  padding:6px 0;
}

.mobile-menu__links a:hover{
  opacity:.75;
}

body.menu-open{
  overflow:hidden;
}

@keyframes menuHaze{
  0%{ transform:translate3d(-2%, -1%, 0) scale(1); }
  100%{ transform:translate3d(2%, 1%, 0) scale(1.08); }
}

@media (max-width: 768px){
  .site-nav{
    display:none;
  }

  .nav-rail{
    display:none;
  }

  .menu-toggle{
    display:flex;
  }

  .menu-toggle.is-visible{
    display:flex;
  }
}

@media (min-width: 769px){
  .menu-toggle{
    display:none;
  }
}

.hero{
    position:relative;
    width:100%;
    height:100vh;
    overflow:hidden;
}

/* VIDEO */

.bg-video{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    z-index:1;

    filter:
    blur(4px)
    brightness(.35);
}

/* OVERLAY */

.overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
    to bottom,
    rgba(0,0,0,.45),
    rgba(0,0,0,.8)
    );

    z-index:2;
}

/* SUPREMOS */

.supremos{
    position:absolute;

    top:28%;
    left:50%;

    transform:translate(-50%,-50%);

    z-index:3;

    font-size:clamp(5rem,14vw,15rem);

    font-weight:900;

    letter-spacing:.12em;

    text-transform:uppercase;

    color:rgba(255,255,255,.10);

    white-space:nowrap;

    animation:supremosMove 18s ease-in-out infinite;
}

.supremos{
    opacity:0;
    filter:blur(20px);

    animation: cinematicReveal 2s ease forwards;
}

@keyframes cinematicReveal{

    from{
        opacity:0;
        filter:blur(20px);
    }

    to{
        opacity:1;
        filter:blur(0);
    }

}


/* DON JAZZY */

.donjazzy{
    position:absolute;
    bottom:0;
    left:50%;

    transform:translateX(-50%) translateY(40px) scale(.95);

    height:90vh;
    width:auto;

    z-index:4;

    object-fit:contain;

    opacity:0;

    filter:
    blur(20px)
    drop-shadow(0 25px 40px rgba(0,0,0,.7));

    animation:
    donReveal 5s cubic-bezier(.22,1,.36,1) forwards,
    float 8s ease-in-out infinite 2.2s;
}

@keyframes donReveal{

    0%{
        opacity:0;
        filter:
        blur(20px)
        drop-shadow(0 25px 40px rgba(0,0,0,.7));

        transform:
        translateX(-50%)
        translateY(40px)
        scale(.95);
    }

    100%{
        opacity:1;
        filter:
        blur(0)
        drop-shadow(0 25px 40px rgba(0,0,0,.7));

        transform:
        translateX(-50%)
        translateY(0)
        scale(1);
    }

}
   

/* INFO */

.info{
    position:absolute;

    left:60px;
    bottom:60px;

    z-index:5;

    color:rgba(236, 229, 229, 0.925);
}

.info h2{
    font-size:1.4rem;

    font-weight:900;

    letter-spacing:.3em;

    margin-bottom:10px;
}

.info p{
    color:rgba(230, 223, 223, 0.7);

    line-height:1.8;

    font-size:.95rem;
}

/* FLOAT */

@keyframes float{

    0%{
        transform:
        translateX(-50%)
        translateY(0);
    }

    50%{
        transform:
        translateX(-50%)
        translateY(-12px);
    }

    100%{
        transform:
        translateX(-50%)
        translateY(0);
    }
}

/* SUPREMOS DRIFT */

@keyframes supremosMove{

    0%{
        transform:
        translate(-50%,-50%);
    }

    50%{
        transform:
        translate(-50%,-53%);
    }

    100%{
        transform:
        translate(-50%,-50%);
    }
}

/* MOBILE */

@media (max-width: 768px){

    .hero{
        height:100svh;
        overflow:hidden;
    }


    .supremos{
        top: 27%;
        font-size:15.5vw;
        letter-spacing:.06em;
        width:100%;
        white-space:nowrap;
    }


    .hero-image-container{
        position:absolute;
        bottom:0;
        left:50%;
        transform:translateX(-50%);
        width:100%;
        display:flex;
        justify-content:center;
    }


    .donjazzy{
        width:170%;
        max-width:none;
         height:90vh;
    }

    .info{
        position:absolute;
        left:20px;
        bottom:50px;
    }

    .info h2{
        font-size:.95rem;
        letter-spacing:.18em;
        margin-bottom:6px;
    }

    .info p{
        font-size:.75rem;
        line-height:1.6;
    }

}

.about-chapter{
  position:relative;
  padding:120px 0 110px;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.08), transparent 28%),
    radial-gradient(circle at 82% 32%, rgba(255,255,255,.05), transparent 22%),
    linear-gradient(180deg, #07080b 0%, #050608 100%);
  isolation:isolate;
}

.about-chapter__haze{
  position:absolute;
  inset:-20%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 10% 25%, rgba(255,255,255,.22), transparent 18%),
    radial-gradient(circle at 44% 45%, rgba(255,255,255,.12), transparent 24%),
    radial-gradient(circle at 78% 28%, rgba(255,255,255,.18), transparent 20%),
    radial-gradient(circle at 60% 70%, rgba(255,255,255,.10), transparent 24%);
  filter:blur(30px);
  opacity:.45;
  animation:hazeDrift 18s ease-in-out infinite alternate;
  mix-blend-mode:screen;
}

.about-chapter::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.15' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");
  opacity:.07;
  mix-blend-mode:soft-light;
}

.container{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
}

.about-chapter__grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0, .85fr);
  gap:42px;
  align-items:center;
}

.about-copy{
  min-width:0;
  max-width:100%;
}

.section-kicker{
  margin:0 0 12px;
  color:rgba(255,255,255,.58);
  letter-spacing:.28em;
  text-transform:uppercase;
  font-size:.74rem;
}

.about-copy h2{
  margin:0;
  max-width:14ch;
  color:#fff;
  font-size:clamp(2.3rem, 4.8vw, 4.8rem);
  line-height:1.02;
  letter-spacing:-.05em;
  text-wrap:balance;
  overflow-wrap:anywhere;
  hyphens:auto;
}

.about-intro{
  margin:22px 0 0;
  max-width:62ch;
  color:rgba(255,255,255,.77);
  font-size:1.04rem;
  line-height:1.9;
  overflow-wrap:anywhere;
  hyphens:auto;
}

.about-meta{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:12px;
  margin-top:28px;
}

.about-meta__item{
  min-width:0;
  padding:14px 14px 13px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(12px);
}

.about-meta__label{
  display:block;
  margin-bottom:8px;
  color:rgba(255,255,255,.55);
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.about-meta__value{
  display:block;
  color:#fff;
  font-size:.96rem;
  font-weight:700;
  line-height:1.35;
  overflow-wrap:anywhere;
}

.about-body{
  display:grid;
  gap:16px;
  margin-top:28px;
}

.about-body p{
  margin:0;
  max-width:66ch;
  color:rgba(255,255,255,.70);
  line-height:1.95;
  font-size:1rem;
  overflow-wrap:anywhere;
  hyphens:auto;
}

.about-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}

.about-links a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.88);
  text-decoration:none;
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}

.about-links a:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.18);
}

.about-visual{
  min-width:0;
  display:grid;
  gap:14px;
  justify-items:center;
}

.visual-frame{
  position:relative;
  width:min(100%, 520px);
  aspect-ratio:4/5;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  box-shadow:0 30px 70px rgba(0,0,0,.45);
}

.visual-frame::before{
  content:"";
  position:absolute;
  inset:-20%;
  z-index:1;
  background:linear-gradient(115deg, transparent 40%, rgba(255,255,255,.18) 50%, transparent 60%);
  transform:translateX(-40%) skewX(-18deg);
  opacity:.25;
  animation:lightSweep 10s linear infinite;
  pointer-events:none;
}

.story-image{
  position:relative;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:contrast(1.04) saturate(.95);
  transform:scale(1.01);
}

.visual-caption{
  color:rgba(255,255,255,.52);
  font-size:.76rem;
  letter-spacing:.24em;
  text-transform:uppercase;
}

.about-note{
  width:min(100%, 520px);
  padding:18px 18px 16px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:rgba(255,255,255,.04);
}

.about-note__line{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:10px;
}

.about-note__line span{
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.84);
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.about-note p{
  margin:0;
  color:rgba(255,255,255,.66);
  line-height:1.8;
  font-size:.98rem;
  overflow-wrap:anywhere;
}

.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s ease, transform .8s ease;
}

.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

@keyframes hazeDrift{
  0%{
    transform:translate3d(-2%, -1%, 0) scale(1);
  }
  100%{
    transform:translate3d(2%, 1%, 0) scale(1.08);
  }
}

@keyframes lightSweep{
  0%{
    transform:translateX(-45%) skewX(-18deg);
  }
  100%{
    transform:translateX(45%) skewX(-18deg);
  }
}

@media (max-width: 980px){
  .about-chapter__grid{
    grid-template-columns:1fr;
  }

  .about-copy h2{
    max-width:100%;
  }

  .about-meta{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 640px){
  .about-chapter{
    padding:92px 0 84px;
  }

  .about-meta{
    grid-template-columns:1fr;
  }

  .visual-frame{
    width:100%;
    aspect-ratio:16/18;
  }

  .about-links a{
    width:100%;
    justify-content:center;
  }
}

.mavin-chapter{
  position:relative;
  padding:120px 0 110px;
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.07), transparent 26%),
    radial-gradient(circle at 84% 30%, rgba(255,255,255,.05), transparent 22%),
    linear-gradient(180deg, #07080b 0%, #050608 100%);
  isolation:isolate;
}

.mavin-chapter__haze{
  position:absolute;
  inset:-20%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 14% 30%, rgba(255,255,255,.24), transparent 18%),
    radial-gradient(circle at 48% 44%, rgba(255,255,255,.12), transparent 24%),
    radial-gradient(circle at 78% 26%, rgba(255,255,255,.18), transparent 20%),
    radial-gradient(circle at 60% 72%, rgba(255,255,255,.10), transparent 24%);
  filter:blur(32px);
  opacity:.42;
  animation:hazeDrift 20s ease-in-out infinite alternate;
  mix-blend-mode:screen;
}

.mavin-word{
  position:absolute;
  top:50%;
  left:50%;
  z-index:1;
  transform:translate(-50%,-50%);
  font-size:clamp(5rem, 18vw, 16rem);
  font-weight:900;
  letter-spacing:.10em;
  color:rgba(255,255,255,.08);
  text-transform:uppercase;
  white-space:nowrap;
  user-select:none;
  pointer-events:none;
}

.mavin-chapter::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.15' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");
  opacity:.07;
  mix-blend-mode:soft-light;
}

.container{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
}

.mavin-chapter__grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
  gap:40px;
  align-items:start;
}

.mavin-copy{
  min-width:0;
  max-width:100%;
}

.section-kicker{
  margin:0 0 12px;
  color:rgba(255,255,255,.58);
  letter-spacing:.28em;
  text-transform:uppercase;
  font-size:.74rem;
}

.mavin-copy h2{
  margin:0;
  max-width:13ch;
  color:#fff;
  font-size:clamp(2.3rem, 4.8vw, 4.8rem);
  line-height:1.02;
  letter-spacing:-.05em;
  text-wrap:balance;
  overflow-wrap:anywhere;
  hyphens:auto;
}

.mavin-intro{
  margin:22px 0 0;
  max-width:62ch;
  color:rgba(255,255,255,.77);
  font-size:1.04rem;
  line-height:1.9;
  overflow-wrap:anywhere;
  hyphens:auto;
}

.mavin-body{
  display:grid;
  gap:16px;
  margin-top:28px;
}

.mavin-body p{
  margin:0;
  max-width:66ch;
  color:rgba(255,255,255,.70);
  line-height:1.95;
  font-size:1rem;
  overflow-wrap:anywhere;
  hyphens:auto;
}

.mavin-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}

.mavin-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.88);
  text-decoration:none;
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}

.mavin-actions a:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.18);
}

.mavin-panel{
  min-width:0;
  display:grid;
  gap:12px;
  padding:18px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(14px);
  box-shadow:0 20px 50px rgba(0,0,0,.24);
}

.mavin-stat{
  padding:14px 14px 13px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}

.mavin-stat__label{
  display:block;
  margin-bottom:8px;
  color:rgba(255,255,255,.56);
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.mavin-stat__value{
  display:block;
  color:#fff;
  font-size:.98rem;
  font-weight:700;
  line-height:1.4;
  overflow-wrap:anywhere;
}

.mavin-note{
  margin-top:4px;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.70);
  line-height:1.8;
  font-size:.98rem;
}

.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s ease, transform .8s ease;
}

.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

@keyframes hazeDrift{
  0%{
    transform:translate3d(-2%, -1%, 0) scale(1);
  }
  100%{
    transform:translate3d(2%, 1%, 0) scale(1.08);
  }
}

@media (max-width: 980px){
  .mavin-chapter__grid{
    grid-template-columns:1fr;
  }

  .mavin-copy h2{
    max-width:100%;
  }
}

@media (max-width: 640px){
  .mavin-chapter{
    padding:92px 0 84px;
  }

  .mavin-actions a{
    width:100%;
  }

  .mavin-word{
    font-size:clamp(4rem, 20vw, 8rem);
    letter-spacing:.08em;
  }
}


.roster-section{
  position:relative;
  padding:120px 0 110px;
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.10), transparent 24%),
    radial-gradient(circle at 82% 28%, rgba(255,255,255,.06), transparent 20%),
    linear-gradient(180deg, #0b0f14 0%, #07090c 100%);
  isolation:isolate;
}

.roster-haze{
  position:absolute;
  inset:-20%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 16% 28%, rgba(255,255,255,.22), transparent 16%),
    radial-gradient(circle at 40% 48%, rgba(255,255,255,.14), transparent 22%),
    radial-gradient(circle at 72% 22%, rgba(255,255,255,.18), transparent 18%),
    radial-gradient(circle at 86% 66%, rgba(255,255,255,.12), transparent 22%);
  filter:blur(34px);
  opacity:.42;
  animation:rosterHaze 20s ease-in-out infinite alternate;
  mix-blend-mode:screen;
}

.roster-section::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.03) 0, rgba(255,255,255,0) 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 0, rgba(255,255,255,0) 1px);
  background-size:100% 34px, 34px 100%;
  opacity:.12;
  mask-image:radial-gradient(circle at center, black 42%, transparent 100%);
}

.container{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
}

.roster-word{
  position:absolute;
  top:50%;
  left:50%;
  z-index:1;
  transform:translate(-50%,-50%);
  color:rgba(255,255,255,.06);
  font-size:clamp(4.5rem, 18vw, 16rem);
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap;
  user-select:none;
  pointer-events:none;
}

.roster-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:36px;
  align-items:start;
}

.roster-copy{
  min-width:0;
  max-width:100%;
}

.section-kicker{
  margin:0 0 12px;
  color:rgba(255,255,255,.58);
  letter-spacing:.28em;
  text-transform:uppercase;
  font-size:.74rem;
}

.roster-copy h2{
  margin:0;
  max-width:12ch;
  color:#fff;
  font-size:clamp(2.3rem, 4.8vw, 4.8rem);
  line-height:1.02;
  letter-spacing:-.05em;
  text-wrap:balance;
  overflow-wrap:anywhere;
  hyphens:auto;
}

.roster-intro{
  margin:22px 0 0;
  max-width:58ch;
  color:rgba(255,255,255,.76);
  font-size:1.04rem;
  line-height:1.9;
  overflow-wrap:anywhere;
  hyphens:auto;
}

.roster-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}

.roster-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.88);
  text-decoration:none;
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}

.roster-links a:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.18);
}

.roster-note{
  margin-top:28px;
  max-width:62ch;
  padding:16px 18px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.68);
  line-height:1.8;
  font-size:.98rem;
}

.roster-panels{
  min-width:0;
  display:grid;
  gap:16px;
}

.roster-panel{
  padding:22px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(14px);
  box-shadow:0 20px 55px rgba(0,0,0,.24);
}

.panel-heading{
  margin-bottom:18px;
}

.panel-heading__tag{
  display:block;
  margin-bottom:10px;
  color:rgba(255,255,255,.56);
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.panel-heading h3{
  margin:0;
  color:#fff;
  font-size:1.35rem;
  letter-spacing:-.03em;
}

.artist-list{
  display:grid;
  gap:10px;
}

.artist-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  color:rgba(255,255,255,.90);
  font-weight:600;
}

.artist-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:linear-gradient(135deg, rgba(255,255,255,.95), rgba(255,255,255,.35));
  box-shadow:0 0 16px rgba(255,255,255,.18);
  flex:0 0 auto;
}

.legacy-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
}

.legacy-grid span{
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  color:rgba(255,255,255,.82);
  font-size:.96rem;
  line-height:1.4;
}

.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s ease, transform .8s ease;
}

.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

@keyframes rosterHaze{
  0%{
    transform:translate3d(-2%, -1%, 0) scale(1);
  }
  100%{
    transform:translate3d(2%, 1%, 0) scale(1.08);
  }
}

@media (max-width: 980px){
  .roster-grid{
    grid-template-columns:1fr;
  }

  .roster-copy h2{
    max-width:100%;
  }
}

@media (max-width: 640px){
  .roster-section{
    padding:92px 0 84px;
  }

  .legacy-grid{
    grid-template-columns:1fr;
  }

  .roster-links a{
    width:100%;
  }

  .roster-word{
    font-size:clamp(3.8rem, 20vw, 8rem);
    letter-spacing:.08em;
  }
}

.beyond-section{
  position:relative;
  padding:120px 0 110px;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.05), transparent 22%),
    radial-gradient(circle at 84% 26%, rgba(255,255,255,.03), transparent 18%),
    linear-gradient(180deg, #020203 0%, #06070a 100%);
  isolation:isolate;
}

.beyond-haze{
  position:absolute;
  inset:-20%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 14% 30%, rgba(255,255,255,.10), transparent 16%),
    radial-gradient(circle at 36% 48%, rgba(255,255,255,.05), transparent 22%),
    radial-gradient(circle at 76% 24%, rgba(255,255,255,.08), transparent 18%),
    radial-gradient(circle at 88% 72%, rgba(255,255,255,.04), transparent 20%);
  filter:blur(38px);
  opacity:.36;
  animation:beyondHaze 22s ease-in-out infinite alternate;
  mix-blend-mode:screen;
}

.beyond-section::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.025) 0, rgba(255,255,255,0) 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 0, rgba(255,255,255,0) 1px);
  background-size:100% 40px, 40px 100%;
  opacity:.10;
  mask-image:radial-gradient(circle at center, black 40%, transparent 100%);
}

.container{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
}

.beyond-word{
  position:absolute;
  top:50%;
  left:50%;
  z-index:1;
  transform:translate(-50%,-50%);
  color:rgba(255,255,255,.04);
  font-size:clamp(4.4rem, 18vw, 16rem);
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap;
  user-select:none;
  pointer-events:none;
}

.beyond-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:36px;
  align-items:start;
}

.section-kicker{
  margin:0 0 12px;
  color:rgba(255,255,255,.58);
  letter-spacing:.28em;
  text-transform:uppercase;
  font-size:.74rem;
}

.beyond-copy{
  min-width:0;
  max-width:100%;
}

.beyond-copy h2{
  margin:0;
  max-width:13ch;
  color:#fff;
  font-size:clamp(2.3rem, 4.8vw, 4.8rem);
  line-height:1.02;
  letter-spacing:-.05em;
  text-wrap:balance;
  overflow-wrap:anywhere;
  hyphens:auto;
}

.beyond-intro{
  margin:22px 0 0;
  max-width:62ch;
  color:rgba(255,255,255,.77);
  font-size:1.04rem;
  line-height:1.9;
  overflow-wrap:anywhere;
  hyphens:auto;
}

.beyond-body{
  display:grid;
  gap:16px;
  margin-top:28px;
}

.beyond-body p{
  margin:0;
  max-width:66ch;
  color:rgba(255,255,255,.70);
  line-height:1.95;
  font-size:1rem;
  overflow-wrap:anywhere;
  hyphens:auto;
}

.beyond-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}

.beyond-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.88);
  text-decoration:none;
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}

.beyond-links a:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.18);
}

.beyond-panel{
  min-width:0;
  display:grid;
  gap:12px;
  padding:18px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  background:rgba(255,255,255,.03);
  backdrop-filter:blur(14px);
  box-shadow:0 20px 55px rgba(0,0,0,.28);
}

.beyond-stat{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:16px 14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}

.beyond-stat__icon{
  width:38px;
  height:38px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.88);
  flex:0 0 auto;
}

.beyond-stat__icon svg{
  width:18px;
  height:18px;
}

.beyond-stat__label{
  display:block;
  margin-bottom:8px;
  color:rgba(255,255,255,.56);
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.beyond-stat__value{
  display:block;
  color:#fff;
  font-size:1rem;
  font-weight:700;
  line-height:1.4;
  overflow-wrap:anywhere;
}

.beyond-note{
  margin-top:4px;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.66);
  line-height:1.8;
  font-size:.98rem;
}

.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s ease, transform .8s ease;
}

.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

@keyframes beyondHaze{
  0%{
    transform:translate3d(-2%, -1%, 0) scale(1);
  }
  100%{
    transform:translate3d(2%, 1%, 0) scale(1.08);
  }
}

@media (max-width: 980px){
  .beyond-grid{
    grid-template-columns:1fr;
  }

  .beyond-copy h2{
    max-width:100%;
  }
}

@media (max-width: 640px){
  .beyond-section{
    padding:92px 0 84px;
  }

  .beyond-links a{
    width:100%;
  }

  .beyond-word{
    font-size:clamp(3.8rem, 20vw, 8rem);
    letter-spacing:.08em;
  }
}

.journey-section{
  position:relative;
  padding:120px 0 110px;
  overflow:hidden;
  background:
    radial-gradient(circle at 15% 12%, rgba(255,255,255,.04), transparent 20%),
    radial-gradient(circle at 84% 28%, rgba(255,255,255,.03), transparent 18%),
    linear-gradient(180deg, #020204 0%, #090b10 100%);
  isolation:isolate;
}

.journey-haze{
  position:absolute;
  inset:-20%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 22%, rgba(255,255,255,.10), transparent 14%),
    radial-gradient(circle at 44% 38%, rgba(255,255,255,.05), transparent 22%),
    radial-gradient(circle at 74% 18%, rgba(255,255,255,.08), transparent 16%),
    radial-gradient(circle at 90% 68%, rgba(255,255,255,.04), transparent 18%);
  filter:blur(42px);
  opacity:.30;
  animation:journeyHaze 24s ease-in-out infinite alternate;
  mix-blend-mode:screen;
}

.journey-section::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.02) 0, rgba(255,255,255,0) 2px),
    linear-gradient(90deg, rgba(255,255,255,.02) 0, rgba(255,255,255,0) 2px);
  background-size:100% 42px, 42px 100%;
  opacity:.10;
  mask-image:radial-gradient(circle at center, black 38%, transparent 100%);
}

.container{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
}

.journey-word{
  position:absolute;
  top:50%;
  left:50%;
  z-index:1;
  transform:translate(-50%,-50%);
  color:rgba(255,255,255,.035);
  font-size:clamp(4rem, 18vw, 16rem);
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
  user-select:none;
  pointer-events:none;
}

.journey-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:36px;
  align-items:start;
}

.journey-copy{
  min-width:0;
  max-width:100%;
}

.section-kicker{
  margin:0 0 12px;
  color:rgba(255,255,255,.58);
  letter-spacing:.28em;
  text-transform:uppercase;
  font-size:.74rem;
}

.journey-copy h2{
  margin:0;
  max-width:12ch;
  color:#fff;
  font-size:clamp(2.3rem, 4.8vw, 4.8rem);
  line-height:1.02;
  letter-spacing:-.05em;
  text-wrap:balance;
  overflow-wrap:anywhere;
  hyphens:auto;
}

.journey-intro{
  margin:22px 0 0;
  max-width:60ch;
  color:rgba(255,255,255,.76);
  font-size:1.04rem;
  line-height:1.9;
  overflow-wrap:anywhere;
  hyphens:auto;
}

.journey-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}

.journey-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.88);
  text-decoration:none;
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}

.journey-links a:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.18);
}

.journey-note{
  margin-top:28px;
  max-width:62ch;
  padding:16px 18px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.66);
  line-height:1.8;
  font-size:.98rem;
}

.journey-panel{
  min-width:0;
  display:grid;
  gap:14px;
}

.journey-item{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  align-items:start;
  padding:18px 18px 17px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(14px);
  box-shadow:0 20px 55px rgba(0,0,0,.26);
}

.journey-year{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:96px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.88);
  font-size:.72rem;
  letter-spacing:.20em;
  text-transform:uppercase;
  white-space:nowrap;
}

.journey-content h3{
  margin:0 0 8px;
  color:#fff;
  font-size:1.25rem;
  letter-spacing:-.03em;
}

.journey-content p{
  margin:0;
  color:rgba(255,255,255,.68);
  line-height:1.8;
  overflow-wrap:anywhere;
}

.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s ease, transform .8s ease;
}

.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

@keyframes journeyHaze{
  0%{
    transform:translate3d(-2%, -1%, 0) scale(1);
  }
  100%{
    transform:translate3d(2%, 1%, 0) scale(1.08);
  }
}

@media (max-width: 980px){
  .journey-grid{
    grid-template-columns:1fr;
  }

  .journey-copy h2{
    max-width:100%;
  }
}

@media (max-width: 640px){
  .journey-section{
    padding:92px 0 84px;
  }

  .journey-item{
    grid-template-columns:1fr;
    gap:12px;
  }

  .journey-year{
    width:max-content;
  }

  .journey-links a{
    width:100%;
  }

  .journey-word{
    font-size:clamp(3.8rem, 20vw, 8rem);
    letter-spacing:.08em;
  }
}

.quotes-section{
  position:relative;
  padding:120px 0 110px;
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.04), transparent 20%),
    radial-gradient(circle at 84% 26%, rgba(255,255,255,.02), transparent 16%),
    linear-gradient(180deg, #010102 0%, #030305 100%);
  isolation:isolate;
}

.quotes-haze{
  position:absolute;
  inset:-20%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 14% 28%, rgba(255,255,255,.08), transparent 14%),
    radial-gradient(circle at 42% 46%, rgba(255,255,255,.04), transparent 22%),
    radial-gradient(circle at 76% 20%, rgba(255,255,255,.06), transparent 16%),
    radial-gradient(circle at 90% 68%, rgba(255,255,255,.03), transparent 18%);
  filter:blur(48px);
  opacity:.22;
  animation:quotesHaze 24s ease-in-out infinite alternate;
  mix-blend-mode:screen;
}

.quotes-section::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.015) 0, rgba(255,255,255,0) 2px),
    linear-gradient(90deg, rgba(255,255,255,.015) 0, rgba(255,255,255,0) 2px);
  background-size:100% 46px, 46px 100%;
  opacity:.08;
  mask-image:radial-gradient(circle at center, black 38%, transparent 100%);
}

.container{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
}

.quotes-word{
  position:absolute;
  top:50%;
  left:50%;
  z-index:1;
  transform:translate(-50%,-50%);
  color:rgba(255,255,255,.03);
  font-size:clamp(4rem, 18vw, 16rem);
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
  user-select:none;
  pointer-events:none;
}

.quotes-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.9fr);
  gap:36px;
  align-items:start;
}

.quotes-copy{
  min-width:0;
  max-width:100%;
}

.section-kicker{
  margin:0 0 12px;
  color:rgba(255,255,255,.58);
  letter-spacing:.28em;
  text-transform:uppercase;
  font-size:.74rem;
}

.quotes-copy h2{
  margin:0;
  max-width:12ch;
  color:#fff;
  font-size:clamp(2.3rem, 4.8vw, 4.8rem);
  line-height:1.02;
  letter-spacing:-.05em;
  text-wrap:balance;
  overflow-wrap:anywhere;
  hyphens:auto;
}

.quotes-intro{
  margin:22px 0 0;
  max-width:58ch;
  color:rgba(255,255,255,.74);
  font-size:1.04rem;
  line-height:1.9;
  overflow-wrap:anywhere;
  hyphens:auto;
}

.quotes-panel{
  min-width:0;
  display:grid;
  gap:14px;
}

.quote-box{
  padding:22px 20px 20px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(14px);
  box-shadow:0 18px 48px rgba(0,0,0,.24);
}

.quote-box__index{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  margin-bottom:16px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.82);
  font-size:.76rem;
  letter-spacing:.18em;
  font-weight:700;
}

.quote-box p{
  margin:0;
  color:#fff;
  font-size:clamp(1.25rem, 2.6vw, 2rem);
  line-height:1.22;
  letter-spacing:-.03em;
  max-width:18ch;
}

.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s ease, transform .8s ease;
}

.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

@keyframes quotesHaze{
  0%{
    transform:translate3d(-2%, -1%, 0) scale(1);
  }
  100%{
    transform:translate3d(2%, 1%, 0) scale(1.08);
  }
}

@media (max-width: 980px){
  .quotes-grid{
    grid-template-columns:1fr;
  }

  .quotes-copy h2{
    max-width:100%;
  }
}

@media (max-width: 640px){
  .quotes-section{
    padding:92px 0 84px;
  }

  .quote-box p{
    max-width:100%;
  }

  .quotes-word{
    font-size:clamp(3.8rem, 20vw, 8rem);
    letter-spacing:.08em;
  }
}

.final-section{
  position:relative;
  padding:120px 0 110px;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.05), transparent 22%),
    radial-gradient(circle at 84% 26%, rgba(255,255,255,.02), transparent 16%),
    linear-gradient(180deg, #000000 0%, #050507 100%);
  isolation:isolate;
}

.final-haze{
  position:absolute;
  inset:-20%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 14% 28%, rgba(255,255,255,.06), transparent 14%),
    radial-gradient(circle at 42% 46%, rgba(255,255,255,.03), transparent 22%),
    radial-gradient(circle at 76% 20%, rgba(255,255,255,.05), transparent 16%),
    radial-gradient(circle at 90% 68%, rgba(255,255,255,.02), transparent 18%);
  filter:blur(52px);
  opacity:.20;
  animation:finalHaze 24s ease-in-out infinite alternate;
  mix-blend-mode:screen;
}

.final-section::after,
.contact-section::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.012) 0, rgba(255,255,255,0) 2px),
    linear-gradient(90deg, rgba(255,255,255,.012) 0, rgba(255,255,255,0) 2px);
  background-size:100% 48px, 48px 100%;
  opacity:.08;
  mask-image:radial-gradient(circle at center, black 36%, transparent 100%);
}

.final-word{
  position:absolute;
  top:50%;
  left:50%;
  z-index:1;
  transform:translate(-50%,-50%);
  color:rgba(255,255,255,.03);
  font-size:clamp(4rem, 18vw, 16rem);
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
  user-select:none;
  pointer-events:none;
}

.container{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
}

.final-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:36px;
  align-items:start;
}

.section-kicker{
  margin:0 0 12px;
  color:rgba(255,255,255,.58);
  letter-spacing:.28em;
  text-transform:uppercase;
  font-size:.74rem;
}

.final-copy,
.contact-copy{
  min-width:0;
  max-width:100%;
}

.final-copy h2,
.contact-copy h2{
  margin:0;
  color:#fff;
  font-size:clamp(2.3rem, 4.8vw, 4.8rem);
  line-height:1.02;
  letter-spacing:-.05em;
  text-wrap:balance;
  overflow-wrap:anywhere;
  hyphens:auto;
}

.final-body{
  display:grid;
  gap:16px;
  margin-top:22px;
}

.final-body p,
.contact-intro{
  margin:0;
  max-width:62ch;
  color:rgba(255,255,255,.74);
  font-size:1.03rem;
  line-height:1.9;
  overflow-wrap:anywhere;
  hyphens:auto;
}

.final-signoff{
  color:#fff !important;
  font-size:1.12rem !important;
  line-height:1.8 !important;
  letter-spacing:-.01em;
}

.final-tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}

.final-tags span{
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.82);
  font-size:.76rem;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.final-panel{
  min-width:0;
  display:grid;
  gap:14px;
}

.final-card{
  padding:22px 20px 20px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(14px);
  box-shadow:0 18px 48px rgba(0,0,0,.24);
}

.final-card__index{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  margin-bottom:16px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.82);
  font-size:.76rem;
  letter-spacing:.18em;
  font-weight:700;
}

.final-card h3{
  margin:0 0 10px;
  color:#fff;
  font-size:1.25rem;
  letter-spacing:-.03em;
}

.final-card p{
  margin:0;
  color:rgba(255,255,255,.70);
  line-height:1.8;
  overflow-wrap:anywhere;
}

.contact-section{
  position:relative;
  padding:120px 0 120px;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.04), transparent 20%),
    radial-gradient(circle at 84% 26%, rgba(255,255,255,.02), transparent 16%),
    linear-gradient(180deg, #040406 0%, #020203 100%);
  isolation:isolate;
}

.contact-haze{
  position:absolute;
  inset:-20%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 14% 28%, rgba(255,255,255,.06), transparent 14%),
    radial-gradient(circle at 42% 46%, rgba(255,255,255,.03), transparent 22%),
    radial-gradient(circle at 76% 20%, rgba(255,255,255,.05), transparent 16%),
    radial-gradient(circle at 90% 68%, rgba(255,255,255,.02), transparent 18%);
  filter:blur(52px);
  opacity:.18;
  animation:finalHaze 24s ease-in-out infinite alternate;
  mix-blend-mode:screen;
}

.contact-word{
  position:absolute;
  top:50%;
  left:50%;
  z-index:1;
  transform:translate(-50%,-50%);
  color:rgba(255,255,255,.03);
  font-size:clamp(4rem, 18vw, 16rem);
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
  user-select:none;
  pointer-events:none;
}

.contact-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:36px;
  align-items:start;
}

.social-stack{
  display:grid;
  gap:10px;
  margin-top:28px;
}

.social-link{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:#fff;
  text-decoration:none;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}

.social-link:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.18);
}

.social-icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.88);
  flex:0 0 auto;
}

.social-icon svg{
  width:18px;
  height:18px;
}

.social-link span:last-child{
  font-weight:700;
  letter-spacing:.02em;
}

.contact-note{
  margin-top:18px;
  padding:16px 18px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.70);
  line-height:1.8;
}

.contact-panel{
  min-width:0;
  padding:22px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(14px);
  box-shadow:0 20px 55px rgba(0,0,0,.26);
}

.contact-form{
  display:grid;
  gap:14px;
}

.field-row{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
}

.contact-form label{
  display:grid;
  gap:8px;
}

.contact-form label span{
  color:rgba(255,255,255,.62);
  font-size:.74rem;
  letter-spacing:.24em;
  text-transform:uppercase;
}

.contact-form input,
.contact-form textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:rgba(255,255,255,.04);
  color:#fff;
  padding:14px 14px 13px;
  outline:none;
  font:inherit;
  transition:border-color .2s ease, background .2s ease;
}

.contact-form input:focus,
.contact-form textarea:focus{
  border-color:rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);
}

.contact-form textarea{
  resize:vertical;
  min-height:160px;
}

.send-btn{
  margin-top:6px;
  border:0;
  border-radius:999px;
  padding:14px 18px;
  background:#fff;
  color:#000;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .2s ease, opacity .2s ease;
}

.send-btn:hover{
  transform:translateY(-1px);
  opacity:.92;
}

.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s ease, transform .8s ease;
}

.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

@keyframes finalHaze{
  0%{
    transform:translate3d(-2%, -1%, 0) scale(1);
  }
  100%{
    transform:translate3d(2%, 1%, 0) scale(1.08);
  }
}

@media (max-width: 980px){
  .final-grid,
  .contact-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 640px){
  .final-section,
  .contact-section{
    padding:92px 0 88px;
  }

  .field-row{
    grid-template-columns:1fr;
  }

  .social-link{
    align-items:flex-start;
  }

  .final-word,
  .contact-word{
    font-size:clamp(3.8rem, 20vw, 8rem);
    letter-spacing:.06em;
  }
}

.footer{
    position:relative;
    padding:100px 8% 50px;
    background:#000;
    overflow:hidden;
}

.footer-word{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    font-size:clamp(5rem,18vw,14rem);
    font-weight:900;
    letter-spacing:.10em;
    color:rgba(255,255,255,.03);
    pointer-events:none;
    user-select:none;
    text-transform:uppercase;
}

.footer-top{
    position:relative;
    z-index:2;
}

.footer-top h2{
    color:#fff;
    font-size:clamp(2.5rem,5vw,5rem);
    letter-spacing:-2px;
    margin-bottom:10px;
}

.footer-top p{
    color:rgba(255,255,255,.65);
    font-size:1rem;
}

.footer-middle{
    position:relative;
    z-index:2;
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    margin-top:60px;
}

.footer-middle a{
    color:rgba(255,255,255,.7);
    text-decoration:none;
    transition:.4s;
}

.footer-middle a:hover{
    color:#fff;
}

.footer-line{
    width:100%;
    height:1px;
    background:rgba(255,255,255,.1);
    margin:50px 0 30px;
}

.footer-bottom{
    position:relative;
    z-index:2;
    display:flex;
    justify-content:space-between;
    gap:20px;
    flex-wrap:wrap;
}

.footer-bottom p{
    color:rgba(255,255,255,.5);
    font-size:.9rem;
}