.portfolio-page {
  --archive-bg: #0d0d0f;
  --archive-panel: #151518;
  --archive-panel-2: #1b1b1f;
  --archive-copy: #f3f0e9;
  --archive-muted: #9c9993;
  background: var(--archive-bg);
}

.portfolio-page .header { background: rgba(10, 10, 12, .88); }
.portfolio-page .nav-menu a[aria-current="page"] { color: #fff; }
.portfolio-page .nav-menu a[aria-current="page"]::after { right: 0; }

.works-hero {
  position: relative;
  min-height: 680px;
  padding: 178px 0 74px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 88px 88px,
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 88px 88px,
    radial-gradient(circle at 82% 38%, rgba(255,92,53,.22), transparent 31%),
    #0d0d0f;
}

.works-hero::after {
  content: "06";
  position: absolute;
  right: max(24px, calc((100vw - 1180px) / 2));
  top: 105px;
  color: rgba(255,255,255,.035);
  font-size: clamp(260px, 34vw, 510px);
  font-weight: 900;
  line-height: .9;
  letter-spacing: -.09em;
  pointer-events: none;
}

.works-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 460px;
  align-items: end;
  gap: 72px;
}

.works-hero h1 {
  max-width: 760px;
  margin: 28px 0 26px;
  font-size: clamp(74px, 11vw, 150px);
  line-height: .82;
  letter-spacing: -.075em;
}

.works-hero p { max-width: 640px; color: var(--archive-muted); font-size: 17px; }

.archive-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 18px;
  background: rgba(18,18,21,.68);
  backdrop-filter: blur(16px);
  overflow: hidden;
}

.archive-stats div {
  min-width: 0;
  padding: 28px 18px;
  display: grid;
  align-content: center;
  gap: 8px;
  border-right: 1px solid rgba(255,255,255,.1);
}

.archive-stats div:last-child { border-right: 0; }
.archive-stats strong { color: var(--acid); font-size: 30px; line-height: 1; }
.archive-stats span { color: var(--archive-muted); font-size: 11px; white-space: nowrap; }

.works-scroll-cue {
  position: relative;
  z-index: 1;
  padding-top: 76px;
  display: flex;
  justify-content: space-between;
  color: #68666c;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .18em;
}

.works-section { padding: 120px 0 130px; color: var(--archive-copy); background: var(--archive-bg); }

.works-heading {
  margin-bottom: 48px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  align-items: end;
  gap: 60px;
}

.works-heading h2 {
  margin-top: 10px;
  font-size: clamp(44px, 6vw, 76px);
  line-height: 1;
  letter-spacing: -.05em;
}

.works-heading > p { color: var(--archive-muted); font-size: 14px; }

.works-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 18px;
}

.work-card {
  min-width: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  background: var(--archive-panel);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.work-card:hover {
  transform: translateY(-6px);
  border-color: color-mix(in srgb, var(--project-color) 55%, rgba(255,255,255,.14));
  box-shadow: 0 26px 70px rgba(0,0,0,.25);
}

.work-media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  min-height: 0;
  overflow: hidden;
  border-bottom: 1px solid rgba(255,255,255,.1);
  background: #111114;
}

.media-art {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  background:
    radial-gradient(circle at 50% 48%, color-mix(in srgb, var(--project-color) 52%, transparent), transparent 38%),
    linear-gradient(145deg, #101013, color-mix(in srgb, var(--project-color) 18%, #101013));
}

.media-art::before,
.media-art::after {
  content: "";
  position: absolute;
  width: 53%;
  aspect-ratio: 1;
  border: 1px solid color-mix(in srgb, var(--project-color) 62%, transparent);
  transform: rotate(45deg);
}

.media-art::after { width: 34%; border-color: rgba(255,255,255,.16); }

.media-art .glyph {
  position: relative;
  z-index: 1;
  font-family: "STKaiti", "KaiTi", serif;
  font-size: clamp(76px, 8vw, 122px);
  line-height: 1;
  opacity: .93;
  text-shadow: 0 16px 50px rgba(0,0,0,.38);
}

.media-art i {
  position: absolute;
  left: 22px;
  bottom: 20px;
  width: 44px;
  height: 2px;
  background: var(--project-color);
  box-shadow: 0 0 24px var(--project-color);
}

.media-art b {
  position: absolute;
  right: 21px;
  top: 18px;
  color: rgba(255,255,255,.38);
  font-size: 9px;
  letter-spacing: .16em;
}

.theme-ember { --project-color: #ff5c35; }
.theme-lotus { --project-color: #e94571; }
.theme-rescue { --project-color: #ff8a2d; }
.theme-light { --project-color: #c7ff4a; }
.theme-blood { --project-color: #bf2342; }
.theme-immortal { --project-color: #48bca8; }

.play-button {
  position: absolute;
  left: 20px;
  bottom: 18px;
  z-index: 2;
  min-height: 42px;
  padding: 9px 14px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 999px;
  background: rgba(8,8,10,.76);
  backdrop-filter: blur(14px);
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  transition: transform .2s, background .2s, border-color .2s;
}

.play-button:hover { transform: translateY(-2px); border-color: var(--project-color); background: var(--project-color); }
.play-button i { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: #111; font-size: 8px; }
.work-media iframe { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; border: 0; background: #000; }

.pending-label {
  position: absolute;
  left: 20px;
  bottom: 22px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: rgba(255,255,255,.62);
  font-size: 11px;
  font-weight: 700;
}

.work-copy {
  min-height: 285px;
  padding: 27px 26px 25px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.work-meta {
  width: 100%;
  min-height: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #747177;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
}

.work-meta span:first-child {
  min-width: 38px;
  padding: 4px 9px;
  display: inline-flex;
  justify-content: center;
  color: #111;
  border-radius: 999px;
  background: var(--project-color);
  letter-spacing: .06em;
}

.work-copy h3 {
  min-height: 1.1em;
  margin: 20px 0 13px;
  color: #fff;
  font-size: clamp(29px, 2.5vw, 38px);
  line-height: 1.1;
  letter-spacing: -.04em;
}

.work-copy p { color: var(--archive-muted); font-size: 13px; line-height: 1.75; }

.work-copy a,
.archive-note {
  margin-top: auto;
  padding-top: 24px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.work-copy a:hover { color: var(--project-color); }
.archive-note { color: #77747a; }

.portfolio-cta { padding: 100px 0; background: #0a0a0b; }
.portfolio-cta .cta-card { box-shadow: 0 26px 80px rgba(0,0,0,.25); }

@media (max-width: 1080px) {
  .works-hero-grid { grid-template-columns: minmax(0, 1fr) 380px; gap: 50px; }
  .works-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .works-hero { min-height: 660px; }
  .works-hero-grid { grid-template-columns: 1fr; gap: 48px; }
  .archive-stats { max-width: 520px; }
  .works-heading { grid-template-columns: 1fr; align-items: start; gap: 24px; }
  .works-heading > p { max-width: 520px; }
}

@media (max-width: 640px) {
  .works-hero { min-height: auto; padding: 132px 0 48px; }
  .works-hero::after { top: 118px; right: -24px; font-size: 240px; }
  .works-hero h1 { font-size: clamp(66px, 24vw, 100px); }
  .works-hero p { font-size: 15px; }
  .archive-stats div { padding: 20px 11px; }
  .archive-stats strong { font-size: 25px; }
  .archive-stats span { font-size: 10px; }
  .works-scroll-cue { padding-top: 48px; }
  .works-section { padding: 82px 0 90px; }
  .works-grid { grid-template-columns: 1fr; }
  .work-media { aspect-ratio: 16 / 10; }
  .work-copy { min-height: 260px; padding: 24px; }
  .work-copy h3 { font-size: 34px; }
  .media-art .glyph { font-size: 106px; }
  .portfolio-cta { padding: 70px 0; }
}
