.elementor-kit-29{--e-global-color-primary:#FF6000;--e-global-color-secondary:#FFD400;--e-global-color-accent:#FF2A2A;--e-global-color-text:#111210;--e-global-color-84887c2:#FFFFFF;--e-global-color-8cc6522:#F5F0E8;--e-global-color-aac8bf1:#25292B;--e-global-color-7a1fb2e:#353C40;--e-global-color-4e95374:#6B6560;--e-global-color-560f9fd:#B87333;--e-global-color-2685c05:#00C853;--e-global-typography-primary-font-family:"degular-text";--e-global-typography-primary-font-weight:300;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-line-height:1.6em;--e-global-typography-primary-letter-spacing:0.02em;--e-global-typography-secondary-font-family:"degular";--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-line-height:1.8em;--e-global-typography-secondary-letter-spacing:0.18em;--e-global-typography-text-font-family:"degular-text";--e-global-typography-text-font-weight:300;--e-global-typography-text-line-height:1.6em;--e-global-typography-text-letter-spacing:0.02em;--e-global-typography-accent-font-family:"degular-display";--e-global-typography-accent-font-weight:900;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:0.88em;--e-global-typography-accent-letter-spacing:0.02em;background-color:var( --e-global-color-aac8bf1 );color:var( --e-global-color-8cc6522 );font-family:"degular-text", Sans-serif;font-size:15px;font-weight:300;line-height:1.6em;--e-preloader-animation-duration:1000ms;--e-preloader-delay:1200ms;--e-preloader-width:120vw;--e-preloader-max-width:100%;--e-preloader-opacity:1;}.elementor-kit-29 e-page-transition{background-color:#25292B5E;}.elementor-kit-29 a{color:var( --e-global-color-primary );}.elementor-kit-29 a:hover{color:var( --e-global-color-8cc6522 );}.elementor-kit-29 h1{color:var( --e-global-color-8cc6522 );font-family:"degular-display", Sans-serif;font-size:80px;font-weight:900;text-transform:uppercase;line-height:0.88em;letter-spacing:0.02em;}.elementor-kit-29 h2{color:var( --e-global-color-8cc6522 );font-family:"degular-display", Sans-serif;font-size:60px;font-weight:900;text-transform:uppercase;line-height:0.9em;letter-spacing:-0.02em;}.elementor-kit-29 h3{color:var( --e-global-color-8cc6522 );font-family:"degular-display", Sans-serif;font-size:40px;font-weight:900;text-transform:uppercase;line-height:1em;letter-spacing:-0.01em;}.elementor-kit-29 h4{color:var( --e-global-color-8cc6522 );font-family:"degular", Sans-serif;font-size:24px;font-weight:600;text-transform:uppercase;line-height:0.06em;}.elementor-kit-29 h5{color:var( --e-global-color-8cc6522 );font-family:"degular", Sans-serif;font-size:18px;font-weight:500;text-transform:uppercase;line-height:1.2em;letter-spacing:0.12em;}.elementor-kit-29 h6{color:var( --e-global-color-8cc6522 );font-family:"degular", Sans-serif;font-size:12px;font-weight:500;text-transform:uppercase;line-height:1.6em;letter-spacing:0.22em;}.elementor-kit-29 button,.elementor-kit-29 input[type="button"],.elementor-kit-29 input[type="submit"],.elementor-kit-29 .elementor-button{font-family:"degular", Sans-serif;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:0.18em;}.elementor-kit-29 label{color:var( --e-global-color-4e95374 );font-family:"degular", Sans-serif;font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:0.22px;}.elementor-kit-29 input:not([type="button"]):not([type="submit"]),.elementor-kit-29 textarea,.elementor-kit-29 .elementor-field-textual{font-family:"degular", Sans-serif;font-size:13px;font-weight:400;letter-spacing:0.06em;color:var( --e-global-color-8cc6522 );accent-color:var( --e-global-color-primary );background-color:var( --e-global-color-text );border-style:solid;border-radius:0px 0px 0px 0px;padding:12px 14px 12px 14px;}.elementor-kit-29 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-29 textarea:focus,.elementor-kit-29 .elementor-field-textual:focus{accent-color:var( --e-global-color-primary );background-color:var( --e-global-color-text );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-29{--e-global-typography-primary-line-height:1.6em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ═══════════════════════════════════════════════════════
   RIOT RESET — SITE SETTINGS CUSTOM CSS
   Elementor 4.0.7 / Hello Elementor
   Last updated: May 2026
═══════════════════════════════════════════════════════ */


/* ─── SCROLLBAR ──────────────────────────────────────
   Custom orange scrollbar on desktop only.
   Hidden on mobile/tablet — prevents rendering as
   a visible border on iOS Safari.
──────────────────────────────────────────────────── */
@media (min-width: 1025px) {
  body {
    --sb-track-color: #353535;
    --sb-thumb-color: #ff6000;
    --sb-size: 3px;
  }
  body::-webkit-scrollbar {
    width: var(--sb-size);
  }
  body::-webkit-scrollbar-track {
    background: var(--sb-track-color);
    border-radius: 3px;
  }
  body::-webkit-scrollbar-thumb {
    background: var(--sb-thumb-color);
    border-radius: 3px;
  }
  @supports not .elementor-kit-29(::-webkit-scrollbar) {
    body {
      scrollbar-color: var(--sb-thumb-color) var(--sb-track-color);
    }
  }
}


/* ─── HAZARD BORDER UTILITIES ────────────────────────
   Applied via CSS class in Elementor Advanced tab.
   Uses border-image so the stripe sits on the element
   border rather than as a background layer.
   Usage: add class to any container border.
──────────────────────────────────────────────────── */
.hazard-border-orange {
  border-image: repeating-linear-gradient(
    -45deg,
    #25292b,
    #25292b 20px,
    #ff6000 20px,
    #ff6000 40px
  ) 10;
}

.hazard-border-yellow {
  border-image: repeating-linear-gradient(
    -45deg,
    #25292b,
    #25292b 20px,
    #ffd400 20px,
    #ffd400 40px
  ) 10;
}

.hazard-border-red {
  border-image: repeating-linear-gradient(
    -45deg,
    #25292b,
    #25292b 20px,
    #ff2a2a 20px,
    #ff2a2a 40px
  ) 10;
}


/* ─── HAZARD BORDER GLITCH ───────────────────────────
   Synced to rr-rotate-swell — both run at 7.5s.
   Glitch fires in the final 8% of the cycle (last
   ~0.6s) as the SVG rotation completes back to 0°.
   Effect: scan line cuts via clip-path, rapid skew
   and position jumps. Colour flash is minimal —
   one brief red frame and one off-white blip only.
   step-end = hard cuts, no easing between frames.
──────────────────────────────────────────────────── */
@keyframes rr-glitch {

  /* ── Long calm period ── */
  0%, 88% {
    border-image: repeating-linear-gradient(
      -45deg, #25292b, #25292b 20px, #ffd400 20px, #ffd400 40px
    ) 10;
    transform: translateX(0) skewX(0deg);
    opacity: 1;
    clip-path: inset(0 0 0 0);
  }

  /* ── Rotation completes — scan line cut, shift left ── */
  89% {
    border-image: repeating-linear-gradient(
      -45deg, #25292b, #25292b 20px, #ffd400 20px, #ffd400 40px
    ) 10;
    transform: translateX(-4px) skewX(-2deg);
    opacity: 0.85;
    clip-path: inset(40% 0 30% 0);
  }

  /* ── Second cut — different slice, opposite shift ── */
  90% {
    border-image: repeating-linear-gradient(
      -45deg, #25292b, #25292b 20px, #ffd400 20px, #ffd400 40px
    ) 10;
    transform: translateX(5px) skewX(1.5deg);
    opacity: 0.6;
    clip-path: inset(10% 0 60% 0);
  }

  /* ── Red flash — single frame, 0.5% duration ── */
  90.5% {
    border-image: repeating-linear-gradient(
      -45deg, #25292b, #25292b 20px, #ff2a2a 20px, #ff2a2a 40px
    ) 10;
    transform: translateX(-3px) skewX(-1deg);
    opacity: 0.9;
    clip-path: inset(0 0 0 0);
  }

  /* ── Full dropout ── */
  91% {
    opacity: 0;
    transform: translateX(3px) skewX(3deg);
    clip-path: inset(20% 0 20% 0);
  }

  /* ── Scan line recovery ── */
  92% {
    border-image: repeating-linear-gradient(
      -45deg, #25292b, #25292b 20px, #ffd400 20px, #ffd400 40px
    ) 10;
    transform: translateX(-2px) skewX(-0.5deg);
    opacity: 0.7;
    clip-path: inset(50% 0 10% 0);
  }

  /* ── Off-white blip — one frame before stabilise ── */
  92.5% {
    border-image: repeating-linear-gradient(
      -45deg, #f5f0e8, #f5f0e8 20px, #ffd400 20px, #ffd400 40px
    ) 10;
    transform: translateX(2px);
    opacity: 0.5;
    clip-path: inset(0 0 0 0);
  }

  /* ── Snap back to yellow, stabilise ── */
  93%, 100% {
    border-image: repeating-linear-gradient(
      -45deg, #25292b, #25292b 20px, #ffd400 20px, #ffd400 40px
    ) 10;
    transform: translateX(0) skewX(0deg);
    opacity: 1;
    clip-path: inset(0 0 0 0);
  }
}

/* Both run at 7.5s — glitch syncs to rotation completion */
.hazard-border-yellow {
  animation: rr-glitch 7.5s step-end infinite;
}


/* ─── LOGO ICON — ROTATE + SWELL ─────────────────────
   Applied via CSS class rr-rotate-swell in Elementor
   Advanced → CSS Classes on the SVG icon widget.
   7.5s matches the glitch cycle exactly — rotation
   completing at 0° triggers the glitch event.
──────────────────────────────────────────────────── */
@keyframes rr-rotate-swell {
  0%   { transform: rotate(0deg)   scale(1);    }
  50%  { transform: rotate(180deg) scale(1.618); }
  100% { transform: rotate(360deg) scale(1);    }
}

.rr-rotate-swell {
  animation: rr-rotate-swell 7.5s ease-in-out infinite;
}


/* ─── PULSE INDICATOR DOT ────────────────────────────
   Applied via HTML widget in the nav bar.
   The span.rr-pulse-dot sits next to DOIRE // ACTIVE.
──────────────────────────────────────────────────── */
@keyframes rr-pulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.2;
    transform: scale(0.614);
  }
}

.rr-pulse-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #ff6000;
  animation: rr-pulse 1.8s ease-in-out infinite;
  flex-shrink: 0;
  position: relative;
  top: 1px;
}


/* ─── MOBILE HEADER GAP FIX ──────────────────────────
   The rotated REQUEST ACCESS container (41da7a2)
   reserves its unrotated width as layout space,
   creating a gap below the header on mobile.
   Constraining width + max-height collapses the
   layout footprint to match the visual rotated size.
   116d3e73 = nav bar container
   41da7a2  = rotated button/pulse container
──────────────────────────────────────────────────── */
@media (max-width: 767px) {
  .elementor-element-116d3e73 {
    height: auto !important;
    min-height: unset !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  .elementor-element-41da7a2 {
    width: 120px !important;
    max-height: 120px !important;
    flex-shrink: 0 !important;
    align-self: center !important;
    overflow: visible !important;
    border-bottom: none !important;
  }
}


/* ─── HEADER PLATE TEXTURE ───────────────────────────
   Layered scan lines + diagonal grain + non-flat
   gradient on the outer sticky wrapper.
   Selector uses full class chain to beat Elementor
   specificity without needing inline styles.
──────────────────────────────────────────────────── */
.elementor-element.elementor-element-5b77cfb.e-con {
  background-color: #111210 !important;
  background-image:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 3px,
      rgba(0,0,0,0.07) 3px,
      rgba(0,0,0,0.07) 4px
    ),
    repeating-linear-gradient(
      45deg,
      transparent,
      transparent 8px,
      rgba(255,255,255,0.008) 8px,
      rgba(255,255,255,0.008) 9px
    ),
    linear-gradient(
      180deg,
      #161614 0%,
      #111210 50%,
      #141312 100%
    ) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.7) !important;
}


/* ─── SYSTEM STRIP DEEPER PLATE ──────────────────────
   The data strip above the nav bar sits in a
   recessed channel — darker than the nav plate.
──────────────────────────────────────────────────── */
.elementor-element.elementor-element-f64a5f1.e-con {
  background-color: rgba(0,0,0,0.45) !important;
  background-image:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 3px,
      rgba(0,0,0,0.06) 3px,
      rgba(0,0,0,0.06) 4px
    ) !important;
  border-bottom: 1px solid rgba(255,96,0,0.15) !important;
}/* End custom CSS */