:root {
  --r:   #C0001A;
  --w:   #EDE8E0;
  --bg:  #050505;
  --fD:  'Bebas Neue', sans-serif;
  --fB:  'Inter', sans-serif;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

html, body {
  width:100%; height:100%;
  overflow:hidden;
  background: var(--bg);
  color: var(--w);
  font-family: var(--fB);
}

#hdr {
  position:fixed; top:0; left:0; right:0; height:72px;
  z-index:3000;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 5%;
  transition:background 0.6s, backdrop-filter 0.6s;
}
#hdr.scrolled {
  background:rgba(5,5,5,0.85);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.logo-a img { height:36px; opacity:0.95; }
.h-nav {
  display:flex; align-items:center; gap:32px;
  font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:2.5px;
}
.h-nav a { color:var(--w); text-decoration:none; transition:color 0.25s; }
.h-nav a:hover { color:var(--r); }
.n-acc { color:var(--r)!important; }

.side-nav {
  position:fixed; left:28px; top:50%; transform:translateY(-50%);
  z-index:3000;
  display:flex; flex-direction:column; gap:0;
}
.sn-numbers { display:flex; flex-direction:column; gap:4px; }
.sn-btn {
  position:relative;
  background:none; border:none; cursor:pointer;
  display:flex; align-items:center; gap:10px;
  padding:6px 0;
  outline:none;
}
.sn-btn::before {
  content:'';
  display:block;
  width:28px; height:1px;
  background:rgba(255,255,255,0.2);
  transition:width 0.4s, background 0.4s;
}
.sn-btn.on::before {
  width:48px;
  background:var(--r);
}
.sn-num {
  font-family:var(--fD);
  font-size:13px;
  color:rgba(255,255,255,0.25);
  transition:color 0.4s;
  line-height:1;
}
.sn-btn.on .sn-num { color:#fff; }

.bottom-left {
  position:fixed; bottom:28px; left:5%;
  z-index:3000;
  display:flex; flex-direction:column; gap:16px;
}
.slide-counter {
  font-family:var(--fD);
  font-size:13px;
  letter-spacing:3px;
  color:rgba(255,255,255,0.45);
  display:flex; align-items:center; gap:6px;
}
#cur-num { color:#fff; font-size:15px; transition:color 0.4s; }
.sep { color:rgba(255,255,255,0.2); }
.social-icons {
  display:flex; gap:16px;
}
.soc-icon {
  color:rgba(255,255,255,0.35);
  transition:color 0.25s, transform 0.25s;
  display:flex; align-items:center;
}
.soc-icon svg { width:17px; height:17px; }
.soc-icon:hover { color:#fff; transform:translateY(-2px); }

.bottom-right {
  position:fixed; bottom:20px; right:5%;
  z-index:3000;
  display:flex; align-items:center; gap:24px;
}
.br-contact {
  font-size:11px; font-weight:700; letter-spacing:3px;
  color:rgba(255,255,255,0.4);
  text-decoration:none; text-transform:uppercase;
  transition:color 0.25s;
}
.br-contact:hover { color:#fff; }
.arrow-nav { display:flex; gap:4px; }
.arr-btn {
  width:36px; height:36px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:50%;
  cursor:pointer; color:#fff;
  display:flex; align-items:center; justify-content:center;
  transition:background 0.25s, border-color 0.25s, transform 0.2s;
  outline:none;
}
.arr-btn svg { width:14px; height:14px; }
.arr-btn:hover {
  background:var(--r);
  border-color:var(--r);
  transform:scale(1.1);
}

.slider {
  position:fixed; inset:0;
  overflow:hidden;
}

.slide {
  position:absolute; inset:0;
  will-change:transform;
  pointer-events:none;
  visibility: hidden;
  opacity:0;
  transition: opacity 0.8s, visibility 0.8s;
}

#s0 { z-index:30; }
#s1 { z-index:20; }

.active-slide {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 50 !important;
}

@keyframes bgDrift {
  0%   { background-position: 49% center; }
  50%  { background-position: 51% center; }
  100% { background-position: 49% center; }
}

.s-bg {
  position:absolute;
  top:-20%; left:-20%; 
  width:140%; height:140%;
  background-size:cover;
  background-position:center;
  will-change:transform;
  transition:none;
  transform-style: preserve-3d;
  backface-visibility: hidden;
}

#s0 .s-bg {
  -webkit-mask-image: linear-gradient(to bottom,
    black 0%, black 60%, rgba(0,0,0,0.5) 82%, transparent 100%);
  mask-image: linear-gradient(to bottom,
    black 0%, black 60%, rgba(0,0,0,0.5) 82%, transparent 100%);
}

#s1 .s-bg {
  -webkit-mask-image: none !important;
  mask-image: none !important;
  top: -20% !important; 
  left: -20% !important;
  width: 140% !important;
  height: 140% !important;
}

.s-overlay {
  position:absolute; inset:0;
  background:rgba(0,0,0,0.28);
  pointer-events:none;
  z-index:1;
}

.s-char {
  position:absolute;
  right:3%; bottom:0;
  height:92%; width:auto;
  object-fit:contain;
  object-position:bottom right;
  pointer-events:none;
  will-change:transform, opacity;
  z-index:10;
  filter: brightness(1.15) contrast(1.05);
}

#s1 .s-char {
  height: 110%;
  right: -5%;
}

#s1 .s-title {
  color: #ffffff !important;
}
#char0 { opacity:0; }
#char2 { opacity:0; }

.s-content {
  position:absolute;
  left:12vw; bottom:32vh;
  z-index:5;
  text-align:left;
  max-width:700px;
  will-change:transform, opacity;
}

@keyframes mReveal {
  from { opacity:0; transform: translateY(30px) scale(0.95); filter: blur(10px); }
  to   { opacity:1; transform: translateY(0) scale(1); filter: blur(0); }
}

.s-eyebrow {
  font-size:14px; font-weight:700;
  letter-spacing:6px; text-transform:uppercase;
  color:var(--r);
  margin-bottom:16px;
  animation: mReveal 1s cubic-bezier(0.2,0.8,0.2,1) forwards;
  animation-delay: 0.2s; opacity:0;
}

.s-title {
  font-family:var(--fD);
  font-size:clamp(80px, 13vw, 180px);
  line-height:0.88;
  color:#fff;
  margin-bottom:22px;
  text-shadow:0 8px 50px rgba(0,0,0,0.9);
  letter-spacing:2px;
  animation: mReveal 1.2s cubic-bezier(0.2,0.8,0.2,1) forwards;
  animation-delay: 0.4s; opacity:0;
}

.s-sub {
  font-family:var(--fD);
  font-size:clamp(32px, 4.5vw, 60px);
  letter-spacing:10px;
  color:var(--r);
  margin-bottom:38px;
  text-shadow:0 0 35px rgba(192,0,26,0.7);
  animation: mReveal 1.2s cubic-bezier(0.2,0.8,0.2,1) forwards;
  animation-delay: 0.6s; opacity: 0;
}

.loading-container {
  width: 100%;
  max-width: 300px;
  margin: 35px 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  animation: mReveal 1.2s cubic-bezier(0.2,0.8,0.2,1) forwards;
  animation-delay: 0.1s;
  opacity:0;
}
.loading-track {
  width: 100%;
  height: 4px;
  background: rgba(255,255,255,0.05);
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  backdrop-filter: blur(5px);
  border: 1px solid rgba(255,255,255,0.03);
}
.loading-fill {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #880000, var(--r));
  box-shadow: 0 0 15px var(--r);
  position: relative;
  border-radius: 10px;
}
.loading-fill::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  animation: scanline 2.5s ease-in-out infinite;
}
@keyframes scanline {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}
.loading-perc {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: var(--r);
  letter-spacing: 2px;
  font-weight: 900;
  text-shadow: 0 0 10px rgba(255,0,0,0.3);
  text-align: left;
}

.s-desc {
  font-size:15px; line-height:1.75;
  color:rgba(237,232,224,0.65);
  margin-bottom:28px;
  font-weight:300;
}

.s-btn {
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 36px;
  background:transparent;
  border:1px solid rgba(255,255,255,0.35);
  color:#fff;
  font-size:11px; font-weight:700;
  text-transform:uppercase; letter-spacing:3px;
  text-decoration:none;
  transition:background 0.3s, border-color 0.3s, color 0.3s, transform 0.25s;
  position:relative; overflow:hidden;
}
.s-btn::before {
  content:'';
  position:absolute; inset:0;
  background:var(--r);
  transform:translateX(-101%);
  transition:transform 0.35s cubic-bezier(0.4,0,0.2,1);
}
.s-btn:hover::before { transform:translateX(0); }
.s-btn:hover { border-color:var(--r); transform:translateY(-3px); }
.s-btn span, .s-btn { position:relative; z-index:1; }

.cd-wrap { display:flex; gap:28px; margin-bottom:28px; }
.cd-unit { display:flex; flex-direction:column; align-items:flex-start; }
.cd-val  {
  font-family:var(--fD); font-size:64px; line-height:1;
  color:#fff; display:block;
}
.cd-lbl  {
  font-size:10px; letter-spacing:4px;
  color:var(--r); margin-top:2px;
}

.social-stream-btns { display:flex; flex-wrap:wrap; gap:16px; position: relative; z-index: 10; }
.s0-stream-btns {
  margin-top: 30px;
  animation: mReveal 1.2s cubic-bezier(0.2,0.8,0.2,1) forwards;
  animation-delay: 0.8s;
  opacity: 0;
}
.stream-btn { 
  display:inline-flex; align-items:center; gap:12px;
  padding:14px 38px;
  border-radius:50px;
  background:rgba(255,255,255,0.03); 
  border:1px solid rgba(255,255,255,0.18);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  font-size: 12.5px;
  letter-spacing: 3px;
  font-weight: 700;
  transition:all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  color:#fff; text-decoration:none;
  position: relative; overflow: hidden;
}
.stream-btn span, .stream-btn .btn-icon { position: relative; z-index: 5; }
.btn-icon { width:18px; height:18px; fill:currentColor; transition:fill 0.3s; }

.sp-btn:hover { border-color:#1DB954!important; background:rgba(29, 185, 84, 0.1); box-shadow:0 0 25px rgba(29,185,84,0.3); color:#fff !important; }
.sp-btn::before { background:#1DB954 !important; z-index: 1 !important; }
.sp-btn:hover .btn-icon { fill:#fff; }

.yt-btn:hover { border-color:#FF0000!important; background:rgba(255, 0, 0, 0.1); box-shadow:0 0 25px rgba(255,0,0,0.3); color:#fff !important; }
.yt-btn::before { background:#FF0000 !important; z-index: 1 !important; }
.yt-btn:hover .btn-icon { fill:#fff; }

.am-btn:hover { border-color:#FA243C!important; background:rgba(250, 36, 60, 0.1); box-shadow:0 0 25px rgba(250,36,60,0.3); color:#fff !important; }
.am-btn::before { background:#FA243C !important; z-index: 1 !important; }
.am-btn:hover .btn-icon { fill:#fff; }

.slide::after {
  content:'';
  position:absolute; inset:0;
  pointer-events:none;
  z-index:6;
}

@media (max-width: 768px) {

  #hdr { height:64px; padding:0 5%; }
  .logo-a img { height:38px; }
  .h-nav { gap:18px; font-size:10px; }

  .side-nav { display:none; }

  .bottom-left {
    bottom:18px; left:4%;
    flex-direction:row; align-items:center; gap:18px;
  }
  .slide-counter { font-size:11px; }
  .soc-icon svg { width:15px; height:15px; }

  .bottom-right { bottom:14px; right:4%; gap:12px; }
  .br-contact { display:none; }
  .arr-btn { width:32px; height:32px; }
  .arr-btn svg { width:12px; height:12px; }

  .slide {
    display:flex;
    flex-direction:column;
    overflow: hidden;
  }

  .s-content {
    position:absolute;
    left:0; right:0;
    top:40px !important;
    bottom:auto;
    padding:0 4%;
    max-width:none;
    width:100%;
    z-index:5;
    text-align: center;
    transform:none !important;
  }

  .s-char {
    position:absolute;
    bottom:0;
    top:auto;
    opacity:1;
    z-index:2;
  }

  #char0 {
    width: auto !important;
    height: 56% !important;
    left: 20% !important;
    right: auto !important;
    bottom: 0 !important;
    top: auto !important;
    object-fit: unset !important;
    opacity: 0;
  }

  #char2 {
    width: auto !important;
    height: 75% !important;
    left: 50% !important;
    right: auto !important;
    bottom: 0 !important;
    top: auto !important;
    object-fit: unset !important;
    opacity: 0;
  }

  .slide::before {
    content:'';
    position:absolute;
    top:0; left:0; right:0;
    height:45%;
    background:linear-gradient(to bottom,
      rgba(5,5,5,0.95) 0%,
      rgba(5,5,5,0.7) 40%,
      transparent 100%
    );
    z-index:1;
    pointer-events:none;
  }

  .s-title {
    font-size: 24vw !important;
    margin: 20px 0 10px 0 !important; 
    line-height: 0.85 !important;
    letter-spacing: 1px !important;
    width: 100%;
    text-align: center;
    animation: mReveal 1.2s cubic-bezier(0.2,0.8,0.2,1) forwards;
    animation-delay: 0.4s; opacity:0;
  }
  #s1 .s-title {
    font-size: 13.5vw !important;
    letter-spacing: 1px !important;
    margin: 15px 0 10px 0 !important;
    line-height: 1 !important;
    color: var(--w) !important;
  }
  .s-eyebrow { 
    font-size: 5.5vw !important;
    margin-bottom: 12px !important;
    letter-spacing: 8px !important;
    font-weight: 900 !important;
    text-transform: uppercase;
    color: #ff0000 !important;
    animation: mReveal 1s cubic-bezier(0.2,0.8,0.2,1) forwards;
    animation-delay: 0.2s; opacity:0;
  }
  .s-sub { 
    font-size: 11vw !important;
    letter-spacing: 7px !important;
    margin-top: 12px !important;
    line-height: 1 !important;
    animation: mReveal 1.2s cubic-bezier(0.2,0.8,0.2,1) forwards;
    animation-delay: 0.6s; opacity:0;
  }
  .s-desc { font-size: 15px; line-height: 1.6; }

  .social-stream-btns { 
    display: flex;
    flex-direction: row;
    align-items: center; 
    justify-content: center; 
    margin-top: 30px !important;
    gap: 8px;
    padding: 0 2%;
    width: 100%;
  }
  .s0-stream-btns, #s1 .social-stream-btns {
    max-width: 100%;
    margin: 25px auto 0 auto !important;
  }
  .social-stream-btns .stream-btn { 
    flex: 1;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 4px;
    font-family: var(--fB);
    font-size: 9.5px;
    font-weight: 900;
    letter-spacing: 1px;
    gap: 5px;
    border-radius: 40px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.12);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    white-space: nowrap;
    transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
  }
  
  .social-stream-btns .sp-btn {
    border-color: rgba(29, 185, 84, 0.45) !important;
    background: rgba(29, 185, 84, 0.05) !important;
  }
  .social-stream-btns .sp-btn:active {
    background: rgba(29, 185, 84, 0.18) !important;
    border-color: #1DB954 !important;
    transform: scale(0.96);
  }
  
  .social-stream-btns .yt-btn {
    border-color: rgba(255, 0, 0, 0.45) !important;
    background: rgba(255, 0, 0, 0.05) !important;
  }
  .social-stream-btns .yt-btn:active {
    background: rgba(255, 0, 0, 0.18) !important;
    border-color: #FF0000 !important;
    transform: scale(0.96);
  }
  
  .social-stream-btns .am-btn {
    border-color: rgba(250, 36, 60, 0.45) !important;
    background: rgba(250, 36, 60, 0.05) !important;
  }
  .social-stream-btns .am-btn:active {
    background: rgba(250, 36, 60, 0.18) !important;
    border-color: #FA243C !important;
    transform: scale(0.96);
  }
  
  .btn-icon { width: 12px; height: 12px; flex-shrink:0; }

  #s1 .s-char {
    height: 78% !important;
    right: 50% !important;
  }
  .s-content {
    left:0 !important; right:0 !important;
    text-align:center !important;
  }
  #s1 .s-content {
    top: 85px !important;
  }
  .loading-container {
    margin: 30px auto !important;
    align-items: center !important;
  }
  .loading-perc {
    text-align: center !important;
  }
  
  .loading-track { 
    width: 60%; 
    height: 4px;
    background: rgba(255,255,255,0.05);
    border: none;
  }
  .loading-fill {
    background: var(--r);
    box-shadow: 0 0 15px var(--r);
  }
  .loading-perc { 
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 900;
    text-align: center;
    color: var(--r);
  }
  .loading-container { 
    align-items: center; 
    margin: 30px auto !important;
  }

  .cd-wrap  { gap:16px; margin-bottom:18px; }
  .cd-val   { font-size:44px; }
  .cd-lbl   { font-size:9px; letter-spacing:3px; }

  .s-btn { padding:12px 24px; font-size:10px; letter-spacing:2px; }

  .s-bg { top:0; height:110%; background-position: 20% center !important; }
  #s1 .s-bg { background-position: center !important; top: 0; height: 110%; } 
}

@media (max-width: 390px) {
  .s-char  { height:45%; }
  .s-title { font-size:clamp(40px, 16vw, 60px); }
  .cd-val  { font-size:36px; }
}

.site-footer {
  display: none !important;
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.5s;
}
.site-footer.show {
  opacity: 0.65;
  visibility: visible;
}
.site-footer:hover {
  opacity: 1;
}
.footer-logo {
  height: 42px;
  width: auto;
  display: block;
}

@media (max-width: 768px) {
  .site-footer {
    bottom: 16px;
  }
  .footer-logo {
    height: 38px;
  }
}
