/* Extracted from the verified legacy Elementor baseline. Since 1.6.0 the type is the site's own font (Matt, from the
   Elementor kit, already loaded by the page): no font file of its own. */

  .nm-holo-team,
  .nm-holo-team *,
  .nm-holo-team *::before,
  .nm-holo-team *::after {
    box-sizing: border-box;
  }

  .nm-holo-team {
    --nm-ink: #121313;
    --nm-paper: #eeeae2;
    --nm-card-radius: clamp(22px, 2.2vw, 34px);
    --nm-frame-image: url("../images/frame.webp");
    --nm-nebula-x: 0px;
    --nm-nebula-y: 0px;
    --nm-viewport-width: 100vw;
    --nm-half-viewport: 50vw;
    --nm-hourglass-height: clamp(420px, 34vw, 560px);
    --nm-beam-height: clamp(130px, 11vw, 180px);
    --nm-fade-height: clamp(360px, 32vw, 520px);
    position: relative;
    isolation: isolate;
    width: var(--nm-viewport-width);
    max-width: none;
    margin-left: calc(50% - var(--nm-half-viewport));
    overflow: hidden;
    background: #000;
    color: var(--nm-ink);
    font-family: var(--e-global-typography-primary-font-family, "Matt"), Arial, sans-serif;
  }

  .nm-holo-team__nebula {
    position: absolute;
    inset: -3%;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    background: radial-gradient(ellipse at center, #3d0066, #1a0033 50%, #0a0010);
    transform: translate3d(var(--nm-nebula-x), var(--nm-nebula-y), 0) scale(1.06);
    transform-origin: center;
    transition: transform 180ms cubic-bezier(.2, .8, .2, 1);
    will-change: transform;
  }

  .nm-holo-team__nebula canvas {
    display: block;
    width: 100%;
    height: 100%;
  }

  .nm-holo-team__fade {
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;
    left: 0;
    height: var(--nm-fade-height);
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, .08) 12%,
      rgba(0, 0, 0, .34) 34%,
      rgba(0, 0, 0, .72) 62%,
      #000 90%,
      #000 100%
    );
  }

  .nm-holo-team__hourglass {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    left: 0;
    height: var(--nm-hourglass-height);
    overflow: visible;
    pointer-events: none;
    filter:
      drop-shadow(0 18px 16px rgba(255, 255, 255, .2))
      drop-shadow(0 28px 30px rgba(209, 158, 255, .12));
  }

  .nm-holo-team__hourglass svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
  }

  .nm-holo-team__hourglass path {
    fill: #fff;
  }

  .nm-holo-team__beam {
    position: absolute;
    top: 100%;
    left: 50%;
    width: clamp(180px, 18vw, 280px);
    height: var(--nm-beam-height);
    opacity: 1;
    background: transparent;
    clip-path: inset(0 -100% -40% -100%);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0, rgba(0, 0, 0, .28) 7px, #000 18px, #000 100%);
    mask-image: linear-gradient(to bottom, transparent 0, rgba(0, 0, 0, .28) 7px, #000 18px, #000 100%);
    transform: translateX(-50%);
  }

  .nm-holo-team__beam::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: clamp(88px, 8vw, 132px);
    height: clamp(72px, 6.5vw, 108px);
    border-radius: 50%;
    background: radial-gradient(
      ellipse at center,
      rgba(255, 255, 255, .7) 0%,
      rgba(248, 222, 255, .36) 24%,
      rgba(224, 152, 255, .14) 56%,
      transparent 100%
    );
    filter: blur(10px);
    transform: translate(-50%, -50%);
  }

  .nm-holo-team__beam::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: clamp(38px, 3.4vw, 56px);
    height: clamp(54px, 4.8vw, 78px);
    border-radius: 50%;
    opacity: 0;
    background: radial-gradient(
      ellipse at center,
      rgba(255, 255, 255, .9) 0%,
      rgba(249, 225, 255, .55) 28%,
      rgba(232, 176, 255, .24) 58%,
      transparent 100%
    );
    box-shadow:
      0 0 30px 12px rgba(255, 255, 255, .22),
      0 0 68px 28px rgba(214, 123, 255, .2);
    filter: blur(12px);
    transform: translate(-50%, -55%) scale(.72);
    animation: nm-holo-beam-fall 5.8s cubic-bezier(.42, 0, .58, 1) infinite;
    will-change: transform, opacity;
  }

  .nm-holo-team__grid {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(22px, 3.2vw, 54px);
    width: min(100%, 1600px);
    margin: 0 auto;
    padding: calc(var(--nm-hourglass-height) + 120px) 40px 380px;
  }

  .nm-holo-team__anchor {
    position: absolute;
    top: calc(var(--nm-hourglass-height) + 120px);
    left: 50%;
    width: 1px;
    height: 1px;
    overflow: hidden;
    pointer-events: none;
    scroll-margin-top: clamp(140px, 18vh, 220px);
    transform: translateX(-50%);
  }

  .nm-holo-team__item {
    min-width: 0;
  }

  .nm-holo-team__item--luca {
    --accent: #ff6f61;
    --accent-2: #38d9e6;
  }

  .nm-holo-team__item--cata {
    --accent: #c9f227;
    --accent-2: #8c63ff;
  }

  .nm-holo-team__item--nico {
    --accent: #ffb23f;
    --accent-2: #43d8cf;
  }

  .nm-holo-card__stage {
    perspective: 1000px;
    transform-origin: 50% 72%;
    transform-style: preserve-3d;
  }

  @keyframes nm-holo-beam-fall {
    0%, 8% {
      opacity: 0;
      transform: translate(-50%, -55%) scale(.72);
    }

    20% {
      opacity: .92;
    }

    76% {
      opacity: .8;
    }

    92%, 100% {
      opacity: 0;
      transform: translate(-50%, 260%) scale(1.08);
    }
  }

  @media (min-width: 1025px) {
    .nm-holo-team__item--nico,
    .nm-holo-team__item--cata {
      position: relative;
      z-index: 1;
      will-change: transform;
    }

    .nm-holo-team__item--luca {
      position: relative;
      z-index: 2;
    }

    .nm-holo-team__item--nico {
      transform: translate3d(var(--nm-fan-left-x, 0px), var(--nm-fan-y, 45px), 0);
    }

    .nm-holo-team__item--cata {
      transform: translate3d(var(--nm-fan-right-x, 0px), var(--nm-fan-y, 45px), 0);
    }

    .nm-holo-team__item--nico .nm-holo-card__stage {
      transform: rotateZ(var(--nm-fan-left-angle, -2.6deg));
    }

    .nm-holo-team__item--cata .nm-holo-card__stage {
      transform: rotateZ(var(--nm-fan-right-angle, 2.6deg));
    }
  }

  .nm-holo-card {
    --rx: 0deg;
    --ry: 0deg;
    --bg-x: 0px;
    --bg-y: 0px;
    --fluid-x: 0px;
    --fluid-y: 0px;
    --photo-x: 0px;
    --photo-y: 0px;
    --frame-x: 0px;
    --frame-y: 0px;
    --pointer-x: 50%;
    --pointer-y: 50%;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 5 / 7;
    border: 1px solid color-mix(in srgb, var(--accent) 64%, #151515);
    border-radius: var(--nm-card-radius);
    background: var(--nm-paper);
    box-shadow:
      0 28px 60px rgba(16, 18, 18, .18),
      0 8px 16px rgba(16, 18, 18, .1),
      inset 0 0 0 1px rgba(255, 255, 255, .72);
    transform: rotateX(var(--rx)) rotateY(var(--ry)) translateZ(0);
    transform-style: preserve-3d;
    transition: transform 420ms cubic-bezier(.2, .8, .2, 1), box-shadow 420ms ease;
    touch-action: pan-y;
    will-change: transform;
  }

  .nm-holo-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    background:
      linear-gradient(125deg, rgba(255,255,255,.82), transparent 30%),
      linear-gradient(315deg, color-mix(in srgb, var(--accent-2) 12%, transparent), transparent 45%);
    pointer-events: none;
  }

  /* All the layers of a card live in this box, clipped along the inner curve of the card's border. The card's own
     overflow: hidden did the same everywhere but on iOS Safari, which clipped layers on their own compositing layers
     (will-change, blend modes) only to the rectangle: the texture showed in the corners (27/09/2026). clip-path is
     applied there too; it sits on this inner box, not on the card, so the card's shadow is not cut. */
  .nm-holo-card__clip {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
    border-radius: inherit;   /* the frame and the glare inherit the card's radius, as before */
    clip-path: inset(0 round calc(var(--nm-card-radius) - 1px));
  }

  /* the portrait's <picture> (AVIF with a WebP fallback) must not add a box between the card and the image */
  .nm-holo-card picture {
    display: contents;
  }

  .nm-holo-card__texture,
  .nm-holo-card__fluid,
  .nm-holo-card__photo,
  .nm-holo-card__foil,
  .nm-holo-card__glare,
  .nm-holo-card__frame {
    position: absolute;
    pointer-events: none;
    will-change: transform;
  }

  .nm-holo-card__texture {
    inset: -6%;
    z-index: 1;
    overflow: hidden;
    background:
      radial-gradient(circle at 18% 15%, rgba(255,255,255,.86) 0 2%, transparent 2.4%),
      radial-gradient(circle at 78% 22%, color-mix(in srgb, var(--accent) 32%, transparent) 0 1.2%, transparent 1.7%),
      radial-gradient(circle at 66% 72%, color-mix(in srgb, var(--accent-2) 28%, transparent) 0 1.5%, transparent 2%),
      repeating-radial-gradient(circle at 15% 8%, rgba(20, 22, 22, .09) 0 1px, transparent 1px 5px),
      linear-gradient(145deg, #f7f3eb 0%, #d9d3c7 52%, #f2eee5 100%);
    transform: translate3d(var(--bg-x), var(--bg-y), 4px) scale(1.08);
  }

  .nm-holo-card__texture > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(1.08) contrast(1.03);
  }

  .nm-holo-card__texture::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .34;
    background:
      repeating-linear-gradient(14deg, transparent 0 7px, rgba(17,17,17,.05) 7px 8px),
      repeating-linear-gradient(101deg, transparent 0 13px, rgba(255,255,255,.16) 13px 14px);
    mix-blend-mode: multiply;
  }

  .nm-holo-card__fluid {
    inset: -7%;
    z-index: 2;
    overflow: hidden;
    mix-blend-mode: screen;
    opacity: .78;
    transform: translate3d(var(--fluid-x), var(--fluid-y), 20px) scale(1.08);
  }

  .nm-holo-card__fluid::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(ellipse at 24% 32%, rgba(247,244,236,.76) 0 20%, transparent 42%),
      radial-gradient(ellipse at 76% 66%, rgba(20,22,22,.58) 0 18%, transparent 44%),
      linear-gradient(138deg, rgba(247,244,236,.68), rgba(22,24,24,.42));
    filter: blur(10px) contrast(.88);
    opacity: .48;
    transform: scale(1.08);
  }

  .nm-holo-card__fluid canvas {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
  }

  .nm-holo-card__photo {
    left: 7%;
    bottom: 13%;
    z-index: 4;
    width: 86%;
    height: 77%;
    object-fit: contain;
    object-position: 50% 100%;
    overflow: visible;
    filter:
      drop-shadow(0 22px 16px rgba(8, 12, 12, .28))
      drop-shadow(0 0 12px rgba(255, 255, 255, .2))
      saturate(1.12)
      contrast(1.08)
      brightness(1.04);
    transform: translate3d(var(--photo-x), var(--photo-y), 42px) scale(1.01);
  }

  .nm-holo-team__item--nico .nm-holo-card__photo {
    left: 8.5%;
    bottom: 15.5%;
    width: 83%;
    height: 74%;
  }

  .nm-holo-team__item--cata .nm-holo-card__photo {
    left: 9.25%;
    bottom: 17.5%;
    width: 81.5%;
    height: 72.5%;
  }

  .nm-holo-team__item--luca .nm-holo-card__photo {
    left: 9.5%;
    bottom: 16.5%;
    width: 81%;
    height: 72%;
  }

  .nm-holo-card__foil {
    inset: 0;
    z-index: 2;
    background:
      radial-gradient(circle at var(--pointer-x) var(--pointer-y), rgba(255,255,255,.72) 0 4%, rgba(255,255,255,.18) 14%, transparent 31%),
      repeating-linear-gradient(118deg, transparent 0 8%, rgba(255,80,180,.2) 12%, rgba(80,235,255,.24) 17%, rgba(255,238,92,.2) 22%, transparent 29%),
      conic-gradient(from 210deg at var(--pointer-x) var(--pointer-y), rgba(255,72,172,.34), rgba(66,226,255,.35), rgba(255,240,92,.3), rgba(140,82,255,.34), rgba(255,72,172,.34));
    background-position: var(--pointer-x) var(--pointer-y);
    background-size: 190% 190%, 150% 150%, 175% 175%;
    mix-blend-mode: color-dodge;
    filter: saturate(1.45) brightness(1.12);
    opacity: .62;
  }

  .nm-holo-card__glare {
    inset: -1px;
    z-index: 3;
    border-radius: inherit;
    background:
      radial-gradient(
        circle at var(--pointer-x) var(--pointer-y),
        rgba(255,255,255,.78) 0,
        rgba(255,255,255,.24) 10%,
        transparent 30%
      ),
      linear-gradient(116deg, transparent 30%, rgba(255,255,255,.08) 42%, rgba(255,255,255,.72) 49%, rgba(255,255,255,.12) 56%, transparent 68%);
    background-position: center, var(--pointer-x) var(--pointer-y);
    background-size: auto, 180% 180%;
    mix-blend-mode: screen;
    opacity: .64;
  }

  .nm-holo-card__frame {
    inset: 0;
    z-index: 6;
    border-radius: inherit;
    background-image: var(--nm-frame-image);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    filter: drop-shadow(0 2px 5px rgba(17, 19, 19, .18));
    transform: translate3d(var(--frame-x), var(--frame-y), 16px);
  }

  .nm-holo-card__frame::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
      radial-gradient(circle at var(--pointer-x) var(--pointer-y), rgba(255,255,255,.78) 0 5%, transparent 27%),
      repeating-linear-gradient(116deg, rgba(255,64,174,.34) 0 8%, rgba(70,232,255,.4) 14%, rgba(255,240,92,.34) 20%, rgba(139,83,255,.38) 27%, rgba(255,64,174,.34) 35%);
    background-position: var(--pointer-x) var(--pointer-y);
    background-size: 180% 180%, 145% 145%;
    -webkit-mask-image: var(--nm-frame-image);
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-image: var(--nm-frame-image);
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: 100% 100%;
    mix-blend-mode: color-dodge;
    filter: saturate(1.35) brightness(1.12);
    opacity: .62;
  }

  .nm-holo-card__nameplate {
    position: absolute;
    z-index: 2;
    left: 23%;
    right: 23%;
    bottom: 7.2%;
    min-height: 9.2%;
    display: grid;
    place-content: center;
    padding: clamp(7px, .55vw, 10px) clamp(14px, 1.35vw, 20px) clamp(6px, .48vw, 8px);
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgba(17, 19, 19, .72);
    outline: 2px solid rgba(249, 245, 93, .8);
    outline-offset: 2px;
    border-radius: clamp(9px, .9vw, 13px);
    background:
      linear-gradient(112deg, rgba(255,255,255,.74), transparent 42%),
      linear-gradient(125deg, color-mix(in srgb, var(--accent) 58%, white), color-mix(in srgb, var(--accent-2) 42%, white));
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.82),
      inset 0 -7px 14px rgba(17,19,19,.08),
      0 5px 12px rgba(17,19,19,.2);
    -webkit-backdrop-filter: blur(7px) saturate(1.25);
    backdrop-filter: blur(7px) saturate(1.25);
    text-align: center;
    text-transform: uppercase;
  }

  .nm-holo-card__nameplate h3,
  .nm-holo-card__nameplate p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: #111313;
  }

  .nm-holo-card__nameplate h3 {
    font-family: var(--e-global-typography-primary-font-family, "Matt"), Arial, sans-serif;
    font-size: clamp(18px, 1.55vw, 26px);
    font-weight: 900;
    letter-spacing: -.04em;
    line-height: .88;
  }

  .nm-holo-card__nameplate p {
    margin-top: clamp(4px, .3vw, 5px);
    font-size: clamp(11px, .78vw, 14px);
    font-weight: 900;
    letter-spacing: .11em;
    line-height: 1.05;
  }

  .nm-holo-card__stage:hover .nm-holo-card {
    box-shadow:
      0 38px 74px rgba(16, 18, 18, .22),
      0 10px 20px rgba(16, 18, 18, .12),
      inset 0 0 0 1px rgba(255, 255, 255, .8);
    transition-duration: 90ms;
  }

  @media (max-width: 1024px) {
    .nm-holo-team {
      --nm-hourglass-height: clamp(360px, 47vw, 480px);
      --nm-fade-height: clamp(320px, 48vw, 460px);
    }

    .nm-holo-team__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      padding: calc(var(--nm-hourglass-height) + 108px) 20px 320px;
    }

    .nm-holo-team__anchor {
      top: calc(var(--nm-hourglass-height) + 108px);
      scroll-margin-top: clamp(180px, 26.5vh, 290px);
    }

    .nm-holo-team__item:last-child {
      grid-column: 1 / -1;
      justify-self: center;
      width: calc(50% - clamp(11px, 1.6vw, 27px));
    }
  }

  @media (max-width: 767px) {
    .nm-holo-team {
      --nm-hourglass-height: clamp(300px, 88vw, 370px);
      --nm-beam-height: clamp(105px, 34vw, 145px);
      --nm-fade-height: clamp(260px, 92vw, 360px);
    }

    .nm-holo-team__grid {
      grid-template-columns: 1fr;
      gap: clamp(28px, 9vw, 46px);
      width: min(100%, 440px);
      padding: calc(var(--nm-hourglass-height) + 98px) 20px 260px;
    }

    .nm-holo-team__anchor {
      top: calc(var(--nm-hourglass-height) + 98px);
      scroll-margin-top: clamp(145px, 22vh, 210px);
    }

    .nm-holo-team__item:last-child {
      grid-column: auto;
      width: 100%;
    }

    .nm-holo-card__nameplate {
      left: 18%;
      right: 18%;
      bottom: 7.2%;
      padding: 7px 14px 6px;
    }

    .nm-holo-card__nameplate h3 {
      font-size: clamp(19px, 5.8vw, 25px);
    }

    .nm-holo-card__nameplate p {
      font-size: clamp(11px, 3.1vw, 13px);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .nm-holo-team__nebula,
    .nm-holo-card,
    .nm-holo-card__texture,
    .nm-holo-card__fluid,
    .nm-holo-card__photo,
    .nm-holo-card__frame {
      transform: none !important;
      transition: none !important;
    }

    .nm-holo-team__nebula canvas,
    .nm-holo-card__fluid canvas {
      display: none;
    }

    .nm-holo-team__beam::after {
      animation: none;
      opacity: .62;
      transform: translate(-50%, 90%) scale(.94);
    }
  }
