
    * { box-sizing: border-box; }
    html, body { margin: 0; min-height: 100%; }
    body { overflow: hidden; }

    /* Everything is scoped to .warrior-launch for safe Elementor use. */
    .warrior-launch {
      --ink: #080808;
      --paper: #f8f6f6;
      --red: #ed282f;
      position: relative;
      isolation: isolate;
      width: 100%;
      height: 100vh;
      height: 100svh;
      overflow: hidden;
      background: var(--paper);
      color: var(--ink);
      font-family: "Montserrat", Arial, sans-serif;
      display: grid;
      grid-template-rows: 17.5% 23% 1fr 24%;
      padding: clamp(16px, 2.5vh, 30px) clamp(18px, 4vw, 68px) clamp(14px, 2vh, 24px);
    }

    .warrior-launch a { color: inherit; text-decoration: none; }

    .warrior-socials {
      width: min(680px, 76vw);
      margin: 0 auto;
      height: 100px;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      align-items: center;
      text-align: center;
    }

    .warrior-social {
      position: relative;
      display: grid;
      justify-items: center;
      gap: 4px;
      font-size: clamp(6px, .6vw, 9px);
      font-weight: 700;
    }

    .warrior-social + .warrior-social::before {
      content: "";
      position: absolute;
      left: 0;
      top: 4%;
      width: 1px;
      height: 72%;
      background: #b9b7b7;
    }

    .warrior-social i {
      font-size: clamp(20px, 2.3vw, 30px);
      line-height: 1;
      transition: transform .25s ease, color .25s ease;
    }

    .warrior-social:hover i,
    .warrior-social:focus-visible i { color: var(--red); transform: translateY(-2px); }

    .warrior-heading {
      position: relative;
      z-index: 1;
      align-self: center;
      text-align: center;
      line-height: .8;
      top: -20%;
    }

    .warrior-heading-kicker {
      display: block;
      margin-bottom: clamp(9px, 1.2vh, 14px);
      font-size: clamp(10px, 1.25vw, 17px);
      font-weight: 500;
      letter-spacing: .42em;
      padding-left: .42em;
      line-height: 1;
    }

    .warrior-heading-title {
      display: block;
      font-size: clamp(58px, 10vw, 100px);
      font-weight: 900;
      letter-spacing: -.065em;
      white-space: nowrap;
    }

    .warrior-figure {
      position: relative;
      z-index: 2;
      min-height: 0;
      pointer-events: none;
    }

    .warrior-figure::after {
      content: "";
      position: absolute;
      z-index: -1;
      left: 50%;
      bottom: 0;
      width: min(300px, 35vw);
      height: clamp(12px, 2vh, 25px);
      border-radius: 50%;
      background: rgba(0,0,0,.16);
      filter: blur(12px);
      transform: translateX(-50%) scaleX(.8);
    }

    /* Elementor applies `.elementor img { height:auto; max-width:100%; }`.
       This stronger scoped rule keeps the transparent cutout at hero scale. */
    .warrior-launch .warrior-figure > img.warrior-man {
      position: absolute;
      left: 50%;
      bottom: -50%;
      transform: translateX(-50%);
      display: block;
      width: auto !important;
      height: calc(100% + clamp(180px, 16vh, 250px)) !important;
      max-width: 54vw !important;
      max-height: none !important;
      object-fit: contain;
      object-position: center;
      filter: contrast(1.025);
    }

    .warrior-bottom {
      position: relative;
      z-index: 3;
      align-self: end;
      text-align: center;
      display: grid;
      justify-items: center;
      gap: clamp(7px, 1.15vh, 14px);
    }

    .warrior-wordmark {
      font-size: clamp(32px, 5.4vw, 55px);
      font-weight: 400;
      line-height: .75;
      white-space: nowrap;
      display: flex;
      align-items: flex-end;
      justify-content: center;
      gap: .12em;
    }

    .warrior-word { letter-spacing: .25em; }

    .warrior-symbol {
      position: relative;
      display: inline-block;
      flex: 0 0 .35em;
      width: .38em;
      height: .9em;
    }

    .warrior-symbol-mark {
      position: absolute;
      left: 50%;
      top: 32%;
      color: var(--red);
      font-size: .28em;
      line-height: 1;
      transform: translateX(-50%);
      z-index: 2;
    }

    .warrior-symbol-mark i {
      display: block;
      line-height: 1;
      transform-origin: center;
    }

    .warrior-symbol-tail {
      position: absolute;
      left: 50%;
      bottom: -.05em;
      font-size: .72em;
      font-style: normal;
      font-weight: 500;
      line-height: 1;
      transform: translateX(-50%);
    }

    .warrior-tagline,
    .warrior-join-copy {
      margin: 0;
      text-transform: uppercase;
      font-weight: 500;
      white-space: nowrap;
    }

    .warrior-tagline {
      font-size: clamp(7px, .72vw, 10px);
      letter-spacing: .3em;
      padding-left: .3em;
    }

    .warrior-tagline::before,
    .warrior-tagline::after {
      content: "";
      display: inline-block;
      width: clamp(22px, 3.5vw, 48px);
      height: 1px;
      margin: 0 clamp(6px, 1vw, 12px) .35em;
      background: currentColor;
    }

    .warrior-join-copy {
      font-size: clamp(6px, .6vw, 9px);
      letter-spacing: .28em;
      padding-left: .28em;
    }

    @media (max-width: 767px) {
      .warrior-launch {
        grid-template-rows: 15% 22% 1fr 27%;
        padding-inline: 14px;
      }
      .warrior-socials { width: 100%; }
      .warrior-social { font-size: 6px; }
      .warrior-social i { font-size: 20px; }
      .warrior-heading-kicker { font-size: 9px; letter-spacing: .3em; padding-left: .3em; }
      .warrior-heading-title { font-size: clamp(44px, 15vw, 62px); }
      .warrior-launch .warrior-figure > img.warrior-man {
        width: auto !important;
        height: calc(100% + 14vh) !important;
        max-width: 78vw !important;
      }
      .warrior-wordmark { font-size: clamp(30px, 10.5vw, 46px); gap: .06em; }
      .warrior-word { letter-spacing: .16em; }
      .warrior-tagline { font-size: 6px; letter-spacing: .15em; padding-left: .15em; }
      .warrior-tagline::before,
      .warrior-tagline::after { width: 16px; margin-inline: 5px; }
      .warrior-join-copy { font-size: 6px; letter-spacing: .14em; padding-left: .14em; }
    }

    @media (max-height: 650px) and (min-width: 768px) {
      .warrior-launch { grid-template-rows: 16% 23% 1fr 25%; }
      .warrior-bottom { gap: 6px; }
      .warrior-launch .warrior-figure > img.warrior-man {
        height: calc(100% + 100px) !important;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .warrior-launch *, .warrior-launch *::before, .warrior-launch *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
      }
    }