.team { padding: 44px 0 40px; display: grid; gap: 30px; }
.team em { font-style: normal; color: var(--red-hi); }

.tm-hero > .px.tl, .dev > .px.tl, .pal > .px.tl, .tm-join > .px.tl, .team__box > .px.tl { left: -1px; top: -1px; }
.tm-hero > .px.tr, .dev > .px.tr, .pal > .px.tr, .tm-join > .px.tr, .team__box > .px.tr { right: -1px; top: -1px; }
.tm-hero > .px.bl, .dev > .px.bl, .pal > .px.bl, .tm-join > .px.bl, .team__box > .px.bl { left: -1px; bottom: -1px; }
.tm-hero > .px.br, .dev > .px.br, .pal > .px.br, .tm-join > .px.br, .team__box > .px.br { right: -1px; bottom: -1px; }

.tm-hero {
  position: relative; overflow: hidden; padding: 0 34px 34px; border: 1px solid var(--line);
  background:
    repeating-linear-gradient(180deg, rgba(255, 255, 255, .018) 0 1px, transparent 1px 4px),
    radial-gradient(600px 340px at 85% 40%, rgba(196, 43, 71, .22), transparent 70%),
    linear-gradient(135deg, #120a0b, #070606 60%);
}
.tm-hero__meta {
  display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0 -34px 30px; padding: 11px 34px;
  border-bottom: 1px solid var(--line); background: rgba(0, 0, 0, .35);
  font: 11px/1 var(--pix); letter-spacing: var(--pix-ls, 1px); text-transform: uppercase; color: var(--mute);
}
.tm-hero__meta b { font-weight: 400; color: var(--ink); }
.tm-hero__meta em { color: #5be37f; }
.tm-rec { margin-left: auto; color: var(--red-hi); }
.tm-rec::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-right: 7px; background: var(--red-hi); animation: cc-blink 1.1s steps(1) infinite; }
.tm-hero__in { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 30px; align-items: center; }
.tm-hero__text { display: grid; gap: 14px; position: relative; z-index: 1; }
.tm-stats { list-style: none; margin: 10px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); }
.tm-stats li { display: grid; gap: 6px; padding: 14px 16px; border-right: 1px solid var(--line); background: rgba(10, 8, 8, .75); }
.tm-stats li:last-child { border-right: 0; }
.tm-stats b { font: 700 34px/1 var(--display); color: var(--ink); }
.tm-stats span { font: 10.5px/1.2 var(--pix); letter-spacing: var(--pix-ls, 1px); text-transform: uppercase; color: var(--mute); }
.tm-stats .is-open { background: linear-gradient(135deg, rgba(196, 43, 71, .3), rgba(196, 43, 71, .08)); }
.tm-stats .is-open b { color: var(--red-hi); animation: cc-blink 1.6s steps(1) infinite; }
.tm-hero__art { position: relative; height: 300px; }
.tm-hero__seal {
  position: absolute; right: 10px; top: 20px; width: 260px; height: 260px; opacity: .55;
  filter: sepia(1) saturate(6) hue-rotate(-45deg) brightness(.8); mix-blend-mode: screen;
  animation: tm-spin 40s linear infinite;
}
@keyframes tm-spin { to { transform: rotate(360deg); } }
.tm-hero__helm {
  position: absolute; left: 30px; bottom: -34px; width: 150px; height: auto;
  filter: drop-shadow(0 0 18px rgba(232, 67, 95, .35));
}
.tm-hero__jp { position: absolute; right: 0; bottom: 0; writing-mode: vertical-rl; font-size: 15px; letter-spacing: 6px; color: var(--mute); }

.tm-sec { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 22px; align-items: end; margin-top: 26px; }
.tm-sec__no { font: 700 64px/.8 var(--display); color: transparent; -webkit-text-stroke: 1px rgba(232, 67, 95, .65); }
.tm-sec__no i { font: 12px/1 var(--pix); font-style: normal; -webkit-text-stroke: 0; color: var(--mute); margin-left: 6px; vertical-align: top; }
.tm-sec__text { display: grid; gap: 8px; }
.tm-sec__rule { grid-column: 1 / -1; height: 1px; margin-top: 12px; background: linear-gradient(90deg, var(--red), var(--line) 30%, transparent); }
.team__h2 { margin: 0; font: 700 clamp(30px, 4vw, 52px)/.95 var(--display); text-transform: uppercase; color: var(--ink); }

.dev {
  position: relative; display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 34px; align-items: start;
  padding: 34px; border: 1px solid var(--line);
  background: linear-gradient(135deg, rgba(196, 43, 71, .14), transparent 55%), #0a0808;
}
.dev__side { display: grid; gap: 10px; }
.dev__photo { position: relative; width: 220px; aspect-ratio: 1; border: 1px solid var(--line-2); overflow: hidden; background: #111; }
.dev__photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.08); transition: transform .5s ease; }
.dev:hover .dev__photo img { transform: scale(1.05); }
.dev__photo::after {
  content: ''; position: absolute; inset: 0; mix-blend-mode: multiply;
  background: linear-gradient(180deg, rgba(232, 67, 95, .55), rgba(120, 18, 38, .75));
}
.dev__photo::before {
  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: repeating-linear-gradient(180deg, rgba(0, 0, 0, .22) 0 1px, transparent 1px 3px);
}
.dev__id { display: flex; justify-content: space-between; padding: 8px 10px; border: 1px solid var(--line-2); background: rgba(0, 0, 0, .4); font: 11px/1 var(--pix); letter-spacing: var(--pix-ls, 1px); color: var(--mute); }
.dev__id b { font-weight: 400; color: var(--red-hi); }
.dev__code { height: 34px; background: repeating-linear-gradient(90deg, var(--ink-2) 0 2px, transparent 2px 4px, var(--ink-2) 4px 5px, transparent 5px 9px, var(--ink-2) 9px 12px, transparent 12px 14px); opacity: .55; }
.dev__body { display: grid; gap: 10px; min-width: 0; }
.dev__role { font: 11.5px/1 var(--pix); letter-spacing: var(--pix-ls, 1px); text-transform: uppercase; color: var(--red-hi); }
.dev__name { margin: 0; font: 700 clamp(40px, 5.4vw, 76px)/.9 var(--display); text-transform: uppercase; color: var(--ink); }
.dev__handle { font: 14px/1 var(--pix); letter-spacing: var(--pix-ls, 1px); color: var(--mute); }
.dev__about { max-width: 62ch; font-size: 16.5px; line-height: 1.6; color: var(--ink-2); }
.dev__file { margin: 4px 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px dashed var(--line-2); }
.dev__file div { display: grid; gap: 5px; padding: 11px 0; border-bottom: 1px dashed var(--line-2); }
.dev__file div:nth-child(odd) { padding-right: 16px; }
.dev__file dt { font: 10.5px/1 var(--pix); letter-spacing: var(--pix-ls, 1px); text-transform: uppercase; color: var(--mute); }
.dev__file dd { margin: 0; font-size: 14.5px; color: var(--ink); }
.tm-live { font-weight: 400; color: #5be37f; }
.tm-live::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-right: 8px; background: #5be37f; box-shadow: 0 0 8px #5be37f; animation: cc-blink 1.4s steps(1) infinite; }
.dev__links { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.dev__links a {
  display: flex; align-items: center; gap: 12px; min-width: 0; padding: 13px 14px; text-decoration: none;
  border: 1px solid var(--line-2); background: rgba(16, 14, 14, .9); color: var(--ink);
  transition: border-color .15s, background .15s, transform .15s;
}
.dev__links a:hover { border-color: var(--red); background: rgba(196, 43, 71, .14); transform: translateY(-2px); }
.dev__links svg { flex: none; width: 22px; height: 22px; color: var(--red-hi); }
.dev__links span { display: grid; gap: 4px; min-width: 0; }
.dev__links b { font: 10.5px/1 var(--pix); letter-spacing: var(--pix-ls, 1px); text-transform: uppercase; color: var(--mute); font-weight: 400; }
.dev__links i { font-style: normal; font-size: 14.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.tm-path { list-style: none; margin: 0; padding: 26px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; position: relative; }
.tm-path::before {
  content: ''; position: absolute; left: 0; right: 0; top: 7px; height: 1px;
  background: linear-gradient(90deg, var(--red-hi), var(--red) 50%, var(--line));
}
.tm-path::after {
  content: ''; position: absolute; top: 5px; left: 0; width: 60px; height: 5px;
  background: linear-gradient(90deg, transparent, #fff, transparent); filter: blur(1px);
  animation: tm-run 4s linear infinite;
}
@keyframes tm-run { to { left: calc(100% - 60px); } }
.tm-step { position: relative; display: grid; }
.tm-step__dot { position: absolute; left: 22px; top: -26px; width: 15px; height: 15px; border: 1px solid var(--red-hi); background: #070606; display: grid; place-items: center; }
.tm-step__dot i { width: 7px; height: 7px; background: var(--red-hi); box-shadow: 0 0 10px var(--red-hi); }
.pal { position: relative; display: grid; gap: 10px; align-content: start; padding: 24px; border: 1px solid var(--line); background: #0a0808; transition: border-color .15s, transform .25s ease; }
.pal:hover { border-color: var(--red); transform: translateY(-4px); }
.pal__top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 4px; }
.pal__pic {
  display: grid; place-items: center; width: 64px; height: 64px; border: 1px solid var(--red);
  background: linear-gradient(135deg, rgba(196, 43, 71, .5), rgba(196, 43, 71, .12));
  font: 700 34px/1 var(--display); color: #fff;
}
.pal__num { font: 700 30px/1 var(--display); color: #2a2222; }
.pal__role { font: 11px/1.3 var(--pix); letter-spacing: var(--pix-ls, 1px); text-transform: uppercase; color: var(--red-hi); }
.pal__role i { font-style: normal; color: var(--mute); }
.pal__name { margin: 0; font: 700 26px/1 var(--display); color: var(--ink); overflow-wrap: anywhere; }
.pal__about { font-size: 15px; line-height: 1.6; color: var(--ink-2); }
.pal__link {
  justify-self: start; display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; padding: 9px 12px;
  border: 1px solid var(--line-2); color: var(--ink); text-decoration: none; font-size: 14px;
}
.pal__link:hover { border-color: var(--red); background: rgba(196, 43, 71, .14); }
.pal__link svg { width: 18px; height: 18px; color: var(--red-hi); }

.tm-join {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 34px; align-items: center;
  padding: 34px; border: 1px solid var(--red);
  background:
    repeating-linear-gradient(135deg, rgba(232, 67, 95, .05) 0 2px, transparent 2px 14px),
    linear-gradient(120deg, rgba(196, 43, 71, .2), #0a0808 60%);
  box-shadow: 0 0 40px rgba(196, 43, 71, .12) inset;
  scroll-margin-top: 110px;
}
.tm-join__text { display: grid; gap: 14px; min-width: 0; }
.tm-join__kicker { display: flex; align-items: center; gap: 10px; font: 11.5px/1 var(--pix); letter-spacing: var(--pix-ls, 1px); color: #5be37f; }
.tm-blink { width: 9px; height: 9px; background: #5be37f; box-shadow: 0 0 10px #5be37f; animation: cc-blink 1s steps(1) infinite; }
.tm-join__title { margin: 0; font: 700 clamp(30px, 4.2vw, 58px)/.95 var(--display); text-transform: uppercase; color: var(--ink); }
.tm-join__lead { max-width: 62ch; font-size: 16.5px; line-height: 1.6; color: var(--ink-2); }
.tm-join__roles { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tm-join__roles li { padding: 8px 12px 7px; border: 1px solid var(--line-2); background: rgba(0, 0, 0, .35); font: 11px/1 var(--pix); letter-spacing: var(--pix-ls, 1px); text-transform: uppercase; color: var(--ink-2); transition: border-color .15s, color .15s; }
.tm-join__roles li:hover { border-color: var(--red-hi); color: var(--ink); }
.tm-join__how { font-size: 15px; line-height: 1.6; color: var(--ink-2); }
.tm-join__how a { color: var(--red-hi); text-decoration: none; border-bottom: 1px dashed currentColor; overflow-wrap: anywhere; }
.tm-join .cc-btn { justify-self: start; }
.tm-slot { position: relative; display: grid; gap: 10px; padding: 16px; border: 1px dashed var(--red-hi); background: rgba(5, 5, 5, .8); }
.tm-slot__head { display: flex; justify-content: space-between; font: 11px/1 var(--pix); letter-spacing: var(--pix-ls, 1px); color: var(--mute); }
.tm-slot__open { color: #5be37f; animation: cc-blink 1.2s steps(1) infinite; }
.tm-slot__pic { aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--line); background: radial-gradient(circle, rgba(196, 43, 71, .25), transparent 70%); overflow: hidden; }
.tm-slot__pic img { width: 78%; height: auto; opacity: .3; filter: brightness(1.4); animation: tm-ghost 3.2s steps(2) infinite; }
@keyframes tm-ghost { 0%, 100% { opacity: .22; } 45% { opacity: .45; } 50% { opacity: .1; transform: translateX(3px); } 55% { opacity: .4; transform: none; } }
.tm-slot__name { font: 700 28px/1 var(--display); color: var(--ink); }
.tm-slot__role { font: 11px/1 var(--pix); letter-spacing: var(--pix-ls, 1px); text-transform: uppercase; color: var(--mute); }
.tm-slot__bar { height: 6px; border: 1px solid var(--line-2); overflow: hidden; }
.tm-slot__bar i { display: block; height: 100%; width: 35%; background: var(--red-hi); animation: tm-load 2.4s ease-in-out infinite; }
@keyframes tm-load { 0% { transform: translateX(-100%); } 100% { transform: translateX(300%); } }

.team__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.team__box { position: relative; display: grid; gap: 12px; align-content: start; padding: 26px; border: 1px solid var(--line); background: #0a0808; }
.team__box h3 { margin: 0; font: 700 26px/1 var(--display); text-transform: uppercase; color: var(--ink); }
.team__box p:not(.cc-eyebrow) { color: var(--ink-2); font-size: 15px; line-height: 1.6; }
.team__box .cc-btn { justify-self: start; max-width: 100%; overflow-wrap: anywhere; }

.team__box--partner { scroll-margin-top: 110px; }
.team__box--partner:target, .tm-join:target { border-color: var(--red); animation: team-ping 1.6s ease-out 1; }
@keyframes team-ping { 0% { box-shadow: 0 0 0 0 rgba(232, 67, 95, .55); } 100% { box-shadow: 0 0 0 26px rgba(232, 67, 95, 0); } }

@media (max-width: 1000px) {
  .tm-hero__in { grid-template-columns: minmax(0, 1fr); }
  .tm-hero__art { position: absolute; right: -40px; top: 40px; width: 260px; opacity: .35; pointer-events: none; }
  .tm-path { grid-template-columns: minmax(0, 1fr); padding: 0 0 0 30px; }
  .tm-path::before { left: 7px; right: auto; top: 0; bottom: 0; width: 1px; height: auto; background: linear-gradient(180deg, var(--red-hi), var(--line)); }
  .tm-path::after { display: none; }
  .tm-step__dot { left: -30px; top: 24px; }
  .dev__links { grid-template-columns: minmax(0, 1fr); }
  .tm-join { grid-template-columns: minmax(0, 1fr); }
  .tm-slot { max-width: 300px; }
}
@media (max-width: 720px) {
  .team { padding: 24px 0 24px; gap: 22px; }
  .tm-hero { padding: 0 18px 22px; }
  .tm-hero__meta { margin: 0 -18px 22px; padding: 10px 18px; }
  .tm-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tm-stats li:nth-child(2) { border-right: 0; }
  .tm-stats li:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .tm-sec { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .tm-sec__no { font-size: 40px; }
  .tm-hero__art { display: none; }
  .dev { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 22px 18px; }
  .dev__side { grid-template-columns: 140px minmax(0, 1fr); align-items: end; }
  .dev__photo { width: 140px; grid-row: span 2; }
  .dev__file { grid-template-columns: minmax(0, 1fr); }
  .dev__file div:nth-child(odd) { padding-right: 0; }
  .tm-join { padding: 22px 18px; }
  .team__grid { grid-template-columns: minmax(0, 1fr); }
  .team__box { padding: 22px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .tm-path::after { display: none; }
}

.pal__links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; min-width: 0; }
.pal__links .pal__link { margin-top: 0; max-width: 100%; overflow-wrap: anywhere; }
