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

html {
  scroll-behavior: smooth;
}

body {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: linear-gradient(
    135deg,
    #0a0e27 0%,
    #1a1f3a 50%,
    #0d1229 100%
  );
  background-attachment: fixed;
  min-height: 100vh;
  overflow-x: hidden;
  position: relative;
}

section,
.hero-block,
.about-block {
  scroll-margin-top: 90px;
}

::selection {
  background: rgb(var(--brand-rgb) / 0.3);
  color: #fff;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #0a0e27;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(
    var(--brand-500, #00c8ff),
    #00ff88
  );
  border-radius: 4px;
}

img,
svg {
  max-width: 100%;
  display: block;
}


/* ===================== PRELOADER ===================== */

#preloader {
  position: fixed;
  inset: 0;

  background: #0a0e27;

  z-index: 99999;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  opacity: 1;
  visibility: visible;

  transition:
    opacity 0.6s ease,
    visibility 0.6s ease,
    background 0.3s ease;
}

#preloader.hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}


/* ===================== LOADER ===================== */

#preloader .loader {
  position: relative;
  width: 128px;
  height: 18px;
  color: #554cb5;
  margin-bottom: 1.5rem;
  overflow: visible;
}

#preloader .loader::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background:
    linear-gradient(
      90deg,
      transparent 0%,
      transparent 10%,
      currentColor 10% 18%,
      transparent 18% 30%,
      currentColor 30% 38%,
      transparent 38% 50%,
      currentColor 50% 58%,
      transparent 58% 70%,
      currentColor 70% 78%,
      transparent 78% 100%
    );
  transform-origin: left center;
  animation: ramsLoader 1.4s ease-in-out infinite alternate;
}

@keyframes ramsLoader {
  0% {
    transform: scaleX(0.2);
    opacity: 0.3;
  }

  40% {
    transform: scaleX(1);
    opacity: 1;
  }

  100% {
    transform: scaleX(0.45);
    opacity: 0.6;
  }
}


/* ===================== PRELOADER LOGO ===================== */

#preloader .loader-logo {
  color: #ffffff;

  font-weight: 800;
  letter-spacing: 3px;
  font-size: 1rem;

  margin-bottom: 0.6rem;
}


/* ===================== PRELOADER TEXT ===================== */

#preloader .loader-text {
  color: #718096;

  font-size: 0.8rem;
  letter-spacing: 2px;
}


/* ===================== PRELOADER LIGHT MODE ===================== */

html.light-mode #preloader,
body.light-mode #preloader {
  background: #f5f9ff;
}

html.light-mode #preloader .loader,
body.light-mode #preloader .loader {
  color: var(--brand-600, #0080ff);
}

html.light-mode #preloader .loader-logo,
body.light-mode #preloader .loader-logo {
  color: #172033;
}

html.light-mode #preloader .loader-text,
body.light-mode #preloader .loader-text {
  color: #64748b;
}


/* ===================== NAV LOGO IMAGE ===================== */

.nav-logo .app-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.nav-logo .app-icon img {
  width: 32px;
  height: 32px;

  object-fit: contain;
  display: block;

  border-radius: 5px;
}


/* ===================== PARTICLES ===================== */

.bg-particles {
  position: fixed;
  top: 0;
  left: 0;

  width: 100%;
  height: 100%;

  z-index: 0;

  overflow: hidden;
  pointer-events: none;
}

.particle {
  position: absolute;

  width: 4px;
  height: 4px;

  background: rgb(var(--brand-rgb) / 0.5);

  border-radius: 50%;

  animation: float 15s infinite linear;
}

@keyframes float {
  0% {
    transform:
      translateY(100vh)
      translateX(0);

    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  90% {
    opacity: 1;
  }

  100% {
    transform:
      translateY(-100px)
      translateX(50px);

    opacity: 0;
  }
}


/* ===================== NAVBAR ===================== */

.navbar {
  position: fixed;
  top: 0;
  left: 0;

  width: 100%;

  z-index: 1000;

  display: flex;
  align-items: center;
  justify-content: space-between;

  padding: 1.3rem 5%;

  background: transparent;

  transition: all 0.4s ease;
}

.navbar.scrolled {
  background: rgba(10, 14, 39, 0.85);

  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);

  padding: 0.85rem 5%;

  box-shadow:
    0 5px 30px
    rgba(0, 0, 0, 0.35);

  border-bottom:
    1px solid
    rgb(var(--brand-rgb) / 0.1);
}

.nav-logo {
  display: flex;
  align-items: center;
  gap: 10px;

  color: #ffffff;

  font-weight: 800;
  font-size: 1.15rem;
  letter-spacing: 0.5px;

  z-index: 1001;
}

.nav-logo .app-icon {
  width: 30px;
  height: 30px;

  background:
    linear-gradient(
      135deg,
      var(--brand-500, #00c8ff),
      #00ff88
    );

  border-radius: 8px;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 0.85rem;
}

.nav-links {
  display: flex;
  gap: 2.2rem;

  list-style: none;
}

.nav-links a {
  color: #cbd5e0;

  text-decoration: none;

  font-size: 0.92rem;
  font-weight: 500;

  position: relative;

  padding-bottom: 4px;

  transition:
    color 0.3s ease;
}

.nav-links a::after {
  content: '';

  position: absolute;
  bottom: 0;
  left: 0;

  width: 0;
  height: 2px;

  background:
    linear-gradient(
      135deg,
      var(--brand-500, #00c8ff),
      #00ff88
    );

  transition:
    width 0.3s ease;
}

.nav-links a:hover,
.nav-links a.active {
  color: #ffffff;
}

.nav-links a:hover::after,
.nav-links a.active::after {
  width: 100%;
}

.nav-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.nav-btn {
  padding: 10px 24px;

  border-radius: 8px;
  border: none;

  font-size: 0.88rem;
  font-weight: 600;

  cursor: pointer;

  background:
    linear-gradient(
      135deg,
      var(--brand-500, #00c8ff),
      var(--brand-600, #0080ff)
    );

  color: #ffffff;

  box-shadow:
    0 4px 15px
    rgb(var(--brand-rgb) / 0.35);

  transition:
    all 0.3s ease;
}

.nav-btn:hover {
  transform:
    translateY(-2px);

  box-shadow:
    0 8px 22px
    rgb(var(--brand-rgb) / 0.5);
}

.hamburger {
  display: none;

  flex-direction: column;
  gap: 5px;

  cursor: pointer;

  z-index: 1001;
}

.hamburger span {
  width: 26px;
  height: 2px;

  background: #ffffff;

  transition:
    0.3s ease;

  border-radius: 2px;
}

.hamburger.active span:nth-child(1) {
  transform:
    translateY(7px)
    rotate(45deg);
}

.hamburger.active span:nth-child(2) {
  opacity: 0;
}

.hamburger.active span:nth-child(3) {
  transform:
    translateY(-7px)
    rotate(-45deg);
}


/* ===================== MOBILE MENU ===================== */

.mobile-menu {
  position: fixed;
  top: 0;
  right: -100%;

  width: 78%;
  max-width: 320px;
  height: 100vh;

  background:
    rgba(10, 14, 39, 0.98);

  backdrop-filter: blur(10px);

  z-index: 999;

  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;

  gap: 1.8rem;

  padding: 2rem 3rem;

  transition:
    right 0.45s ease;

  border-left:
    1px solid
    rgb(var(--brand-rgb) / 0.15);
}

.mobile-menu.active {
  right: 0;
}

.mobile-menu a {
  color: #cbd5e0;

  text-decoration: none;

  font-size: 1.1rem;
  font-weight: 600;

  transition:
    color 0.3s ease;
}

.mobile-menu a:hover {
  color: var(--brand-500, #00c8ff);
}
  /* ===================== HERO + ABOUT (STICKY TABLET WRAP) ===================== */
  .hero-about-wrap {
    position:relative; z-index:1; display:flex; max-width:1400px; margin:0 auto;
    gap:3rem; padding:0 5%; align-items:flex-start;
  }
  .hero-about-left { flex:1 1 55%; min-width:300px; display:flex; flex-direction:column; order:1; position:relative; z-index:1; }
  .hero-about-right {
    flex:1 1 45%; min-width:300px; order:2; position:sticky; top:110px;
    height:calc(100vh - 150px); display:flex; align-items:center; justify-content:center; align-self:flex-start;
    overflow: visible; z-index:2;
  }

  .hero-block {
    min-height:100vh; display:flex; flex-direction:column; justify-content:center;
    padding:7rem 0 3rem; position:relative; color:#fff; animation: fadeInLeft 1s ease-out;
  }
  .about-block { padding:4rem 0 9rem; color:#fff; }

  @keyframes fadeInLeft { from{opacity:0; transform:translateX(-50px);} to{opacity:1; transform:translateX(0);} }

  .badge {
    display:inline-flex; align-items:center; gap:8px; background:rgb(var(--brand-rgb) / 0.1);
    border:1px solid rgb(var(--brand-rgb) / 0.3); padding:8px 16px; border-radius:50px; font-size:0.85rem;
    color:var(--brand-500, #00c8ff); margin-bottom:1.5rem; width:fit-content;
  }
  .badge-dot { width:8px; height:8px; background:#00ff88; border-radius:50%; animation: pulse 2s infinite; }
  @keyframes pulse {
    0%,100% { opacity:1; box-shadow:0 0 0 0 rgba(0,255,136,0.7); }
    50% { opacity:0.7; box-shadow:0 0 0 8px rgba(0,255,136,0); }
  }

  .hero-title { font-size:clamp(1.9rem,5vw,3.5rem); font-weight:800; line-height:1.25; margin-bottom:1.5rem; }
  .gradient-text { background:linear-gradient(135deg,var(--brand-500, #00c8ff),#00ff88); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
  #rotate-word { display:inline-block; transition:opacity 0.4s ease, transform 0.4s ease; }

  .hero-description { font-size:clamp(0.95rem,1.4vw,1.1rem); color:#a0aec0; line-height:1.7; margin-bottom:2rem; max-width:520px; }
  .hero-buttons { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2.5rem; }
  .btn {
    padding:14px 32px; border-radius:8px; font-size:1rem; font-weight:600; cursor:pointer;
    border:none; transition:all 0.3s ease; display:inline-flex; align-items:center; gap:8px; text-decoration:none;
  }
  .btn-primary { background:linear-gradient(135deg,var(--brand-500, #00c8ff),var(--brand-600, #0080ff)); color:#fff; box-shadow:0 4px 20px rgb(var(--brand-rgb) / 0.4); }
  .btn-primary:hover { transform:translateY(-3px); box-shadow:0 8px 30px rgb(var(--brand-rgb) / 0.6); }
  .btn-secondary { background:transparent; color:#fff; border:2px solid rgba(255,255,255,0.2); }
  .btn-secondary:hover { background:rgba(255,255,255,0.1); border-color:rgba(255,255,255,0.4); }

  .stats-row { display:flex; gap:2.5rem; flex-wrap:wrap; }
  .stat-item { display:flex; flex-direction:column; }
  .stat-number { font-size:clamp(1.5rem,2.4vw,2rem); font-weight:800; color:var(--brand-500, #00c8ff); }
  .stat-label { font-size:0.85rem; color:#718096; margin-top:4px; }

  .scroll-indicator {
    position:absolute; bottom:14px; left:50%; transform:translateX(-50%); color:#718096;
    display:flex; flex-direction:column; align-items:center; gap:0.4rem; font-size:0.72rem;
    letter-spacing:1px; cursor:pointer; animation: bounce 2s infinite; z-index:2; text-decoration:none;
  }
  @keyframes bounce { 0%,100%{transform:translateX(-50%) translateY(0);} 50%{transform:translateX(-50%) translateY(10px);} }

  .about-badge-row { display:flex; align-items:center; gap:0.6rem; margin-bottom:1.1rem; }
  .section-badge {
    display:inline-flex; align-items:center; gap:8px; background:rgb(var(--brand-rgb) / 0.1);
    border:1px solid rgb(var(--brand-rgb) / 0.3); padding:6px 16px; border-radius:50px; font-size:0.78rem;
    color:var(--brand-500, #00c8ff); letter-spacing:0.5px;
  }
  .about-block .section-title { font-size:clamp(1.7rem,4vw,2.5rem); font-weight:800; color:#fff; margin-bottom:1rem; line-height:1.3; }
  .about-block .section-desc { color:#a0aec0; line-height:1.8; font-size:1rem; max-width:560px; margin-bottom:2rem; }

  .about-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem; max-width:560px; }
  .about-stat-card {
    background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.08);
    padding:1.4rem 1rem; border-radius:16px; text-align:center; transition:0.35s ease;
  }
  .about-stat-card:hover { border-color:rgb(var(--brand-rgb) / 0.4); transform:translateY(-6px); }
  .about-stat-num { font-size:2rem; font-weight:800; background:linear-gradient(135deg,var(--brand-500, #00c8ff),#00ff88); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
  .about-stat-label { color:#718096; font-size:0.8rem; margin-top:0.4rem; }

  /* ===================== TABLET SLIDE + FLIP MOCKUP ===================== */

  /* outer horizontal-travel container — driven purely by scroll-linked JS translateX */
  .tablet-slide {
    width:100%;
    display:flex;
    justify-content:center;
    position:relative;
    z-index:5;
    will-change: transform;
  }

#aboutTextInner {
  will-change: transform;
}

.hero-about-wrap {
  overflow: visible; /* body already clips overflow-x globally */
}

  .tablet-section { display:flex; justify-content:center; align-items:center; perspective:1600px; width:100%; }

  /* rotation + float + mouse-parallax happens on this wrapper only (no translateX here) */
  .tablet-wrapper {
    position:relative; transform-style:preserve-3d; animation: floatTablet 6s ease-in-out infinite;
    transition: transform 0.2s ease-out;
  }
  @keyframes floatTablet {
    0%,100% { transform: rotateY(-15deg) rotateX(5deg) translateY(0); }
    50% { transform: rotateY(-15deg) rotateX(5deg) translateY(-20px); }
  }

  /* the flip card — rotation driven purely by scroll-linked JS */
  .tablet-flip {
    width:380px; height:520px; position:relative;
    transform-style: preserve-3d;
    will-change: transform;
  }

  .tablet-face {
    position:absolute; inset:0; border-radius:30px; padding:20px;
    backface-visibility: hidden; -webkit-backface-visibility: hidden;
    display:flex; flex-direction:column;
    box-shadow: 0 50px 100px rgba(0,0,0,0.5), 0 0 0 2px rgba(255,255,255,0.1), inset 0 0 20px rgb(var(--brand-rgb) / 0.1);
    background: linear-gradient(145deg,#1a1a2e,#16213e);
  }

  .tablet-face::before {
    content:''; position:absolute; top:10px; left:50%; transform:translateX(-50%);
    width:60px; height:6px; background:#333; border-radius:3px;
  }

  .face-back {
    transform: rotateY(180deg);
    background: linear-gradient(145deg,#132420,#0f1f1a);
    box-shadow: 0 50px 100px rgba(0,0,0,0.5), 0 0 0 2px rgba(0,255,136,0.18), inset 0 0 24px rgba(0,255,136,0.12);
  }

  .tablet-screen {
    width:100%; height:100%; background:linear-gradient(135deg,#0f1424,#1a2138);
    border-radius:18px; overflow:hidden; position:relative; flex:1; min-height:0;
    box-shadow: inset 0 0 30px rgba(0,0,0,0.5); display:flex; flex-direction:column;
  }
  .face-back .tablet-screen { background:linear-gradient(135deg,#0b1a15,#12241d); }

  .screen-header {
    background:rgb(var(--brand-rgb) / 0.05); padding:14px 20px; display:flex; justify-content:space-between;
    align-items:center; border-bottom:1px solid rgb(var(--brand-rgb) / 0.2); flex-shrink:0;
  }
  .face-back .screen-header { background:rgba(0,255,136,0.06); border-bottom:1px solid rgba(0,255,136,0.2); }

  .app-title { color:#fff; font-size:0.9rem; font-weight:700; display:flex; align-items:center; gap:8px; }
  .app-icon {
    width:24px; height:24px; background:linear-gradient(135deg,var(--brand-500, #00c8ff),#00ff88); border-radius:6px;
    display:flex; align-items:center; justify-content:center; font-size:0.7rem;
  }
  .face-back .app-icon { background:linear-gradient(135deg,#00ff88,var(--brand-500, #00c8ff)); }
  .time-display { color:#718096; font-size:0.75rem; font-family:monospace; }

  .mode-label-wrap { padding:8px 20px 0; flex-shrink:0; }
  .mode-label { font-size:0.62rem; letter-spacing:1px; font-weight:700; }
  .dashboard-label { color:var(--brand-500, #00c8ff); }
  .secure-label { color:#00ff88; }

  .screen-content { flex:1; min-height:0; padding:12px 20px 18px; overflow-y:auto; scrollbar-width:none; }
  .screen-content::-webkit-scrollbar { display:none; }

  .room-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:16px; }
  .room-card {
    background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.08); border-radius:12px;
    padding:12px; position:relative; overflow:hidden; animation: cardPulse 3s infinite;
  }
  .room-card:nth-child(2) { animation-delay:0.5s; }
  .room-card:nth-child(3) { animation-delay:1s; }
  .room-card:nth-child(4) { animation-delay:1.5s; }
  @keyframes cardPulse { 0%,100%{border-color:rgba(255,255,255,0.08);} 50%{border-color:rgb(var(--brand-rgb) / 0.3);} }

  .room-status { position:absolute; top:8px; right:8px; width:8px; height:8px; border-radius:50%; }
  .status-secure { background:#00ff88; box-shadow:0 0 8px #00ff88; animation: pulse 2s infinite; }
  .status-alert { background:#ff4757; box-shadow:0 0 8px #ff4757; animation: alertBlink 1s infinite; }
  @keyframes alertBlink { 0%,100%{opacity:1;} 50%{opacity:0.3;} }

  .room-name { color:#fff; font-size:0.8rem; font-weight:600; margin-bottom:4px; }
  .room-info { color:#718096; font-size:0.65rem; display:flex; justify-content:space-between; }
  .access-count { color:var(--brand-500, #00c8ff); }

  .live-feed { background:rgba(255,255,255,0.03); border-radius:12px; padding:12px; margin-bottom:12px; }
  .feed-title { color:#a0aec0; font-size:0.7rem; text-transform:uppercase; letter-spacing:1px; margin-bottom:10px; display:flex; align-items:center; gap:6px; }
  .live-dot { width:6px; height:6px; background:#ff4757; border-radius:50%; animation: pulse 1.5s infinite; }
  .feed-item { display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,0.05); animation: slideIn 0.5s ease-out; }
  .feed-item:last-child { border-bottom:none; }
  @keyframes slideIn { from{opacity:0; transform:translateX(-10px);} to{opacity:1; transform:translateX(0);} }

  .feed-avatar {
    width:28px; height:28px; border-radius:50%; background:linear-gradient(135deg,#667eea,#764ba2);
    display:flex; align-items:center; justify-content:center; font-size:0.7rem; color:#fff; font-weight:700; flex-shrink:0;
  }
  .feed-details { flex:1; }
  .feed-name { color:#fff; font-size:0.75rem; font-weight:600; }
  .feed-action { color:#718096; font-size:0.65rem; }
  .feed-time { color:#4a5568; font-size:0.6rem; }
  .badge-granted { background:rgba(0,255,136,0.15); color:#00ff88; padding:2px 8px; border-radius:10px; font-size:0.6rem; font-weight:600; }
  .badge-denied { background:rgba(255,71,87,0.15); color:#ff4757; padding:2px 8px; border-radius:10px; font-size:0.6rem; font-weight:600; }

  .stats-bar { display:flex; justify-content:space-around; background:rgb(var(--brand-rgb) / 0.05); border-radius:12px; padding:12px; }
  .secure-stats-bar { background:rgba(0,255,136,0.07); }
  .mini-stat { text-align:center; }
  .mini-stat-num { color:var(--brand-500, #00c8ff); font-size:1.05rem; font-weight:800; }
  .secure-stats-bar .mini-stat-num { color:#00ff88; }
  .mini-stat-label { color:#718096; font-size:0.6rem; margin-top:2px; }

  /* ---- secure face visuals ---- */
  .secure-visual { position:relative; width:100px; height:100px; margin:6px auto 16px; display:flex; align-items:center; justify-content:center; }
  .secure-rings span { position:absolute; inset:0; border:1px solid rgba(0,255,136,0.4); border-radius:50%; animation: radarPulse 3s infinite ease-out; }
  .secure-rings span:nth-child(2) { animation-delay:1s; }
  .secure-rings span:nth-child(3) { animation-delay:2s; }
  @keyframes radarPulse { 0%{transform:scale(0.25); opacity:1;} 100%{transform:scale(1); opacity:0;} }
  .secure-shield {
    width:52%; height:52%; background:linear-gradient(135deg,#00ff88,var(--brand-500, #00c8ff)); border-radius:50%;
    display:flex; align-items:center; justify-content:center; font-size:1.6rem; z-index:2;
    box-shadow:0 0 45px rgba(0,255,136,0.55); animation: corePulse 3s ease-in-out infinite;
  }
  @keyframes corePulse { 0%,100%{transform:scale(1);} 50%{transform:scale(1.08);} }

  .secure-title { text-align:center; color:#fff; font-weight:800; font-size:1rem; margin-bottom:4px; }
  .secure-sub { text-align:center; color:#a0aec0; font-size:0.68rem; margin-bottom:16px; }

  .secure-checklist { display:flex; flex-direction:column; gap:8px; margin-bottom:14px; }
  .secure-check-item {
    display:flex; align-items:center; gap:8px; background:rgba(0,255,136,0.06);
    border:1px solid rgba(0,255,136,0.15); padding:8px 10px; border-radius:8px; font-size:0.7rem;
    color:#cbd5e0; opacity:0; transform:translateX(-10px);
  }
  .check-status { margin-left:auto; color:#00ff88; font-size:0.6rem; }

  .tablet-wrapper.secure-mode .secure-check-item { animation: fadeSlideIn 0.5s ease forwards; }
  .tablet-wrapper.secure-mode .secure-check-item:nth-child(1) { animation-delay:0.15s; }
  .tablet-wrapper.secure-mode .secure-check-item:nth-child(2) { animation-delay:0.3s; }
  .tablet-wrapper.secure-mode .secure-check-item:nth-child(3) { animation-delay:0.45s; }
  .tablet-wrapper.secure-mode .secure-check-item:nth-child(4) { animation-delay:0.6s; }
  @keyframes fadeSlideIn { to { opacity:1; transform:translateX(0); } }

  /* floating badges (crossfade, not part of the 3D flip) */
  .badge-group { position:absolute; inset:0; transition:opacity 0.6s ease; pointer-events:none; }
  .secure-badges { opacity:0; }
  .tablet-wrapper.secure-mode .dashboard-badges { opacity:0; }
  .tablet-wrapper.secure-mode .secure-badges { opacity:1; }

  .floating-badge {
    position:absolute; background:rgba(26,26,46,0.95); border:1px solid rgb(var(--brand-rgb) / 0.3); border-radius:12px;
    padding:10px 14px; display:flex; align-items:center; gap:8px; box-shadow:0 10px 30px rgba(0,0,0,0.5);
    backdrop-filter: blur(10px); z-index:10; transform:translateZ(60px); pointer-events:auto;
  }
  .secure-badges .floating-badge { border-color:rgba(0,255,136,0.35); }

  .badge-1 { top:15%; left:-15%; animation: floatBadge1 4s ease-in-out infinite; }
  .badge-2 { bottom:20%; right:-18%; animation: floatBadge2 5s ease-in-out infinite; }
  .badge-3 { top:45%; right:-12%; animation: floatBadge3 4.5s ease-in-out infinite; }
  @keyframes floatBadge1 { 0%,100%{transform:translateZ(60px) translateY(0);} 50%{transform:translateZ(60px) translateY(-15px);} }
  @keyframes floatBadge2 { 0%,100%{transform:translateZ(60px) translateY(0);} 50%{transform:translateZ(60px) translateY(15px);} }
  @keyframes floatBadge3 { 0%,100%{transform:translateZ(60px) translateX(0);} 50%{transform:translateZ(60px) translateX(-10px);} }

  .float-icon { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:1rem; }
  .icon-success { background:rgba(0,255,136,0.2); }
  .icon-alert { background:rgba(255,71,87,0.2); }
  .icon-info { background:rgb(var(--brand-rgb) / 0.2); }
  .float-text-title { color:#fff; font-size:0.75rem; font-weight:700; white-space:nowrap; }
  .float-text-sub { color:#a0aec0; font-size:0.65rem; white-space:nowrap; }

  .tablet-reflection {
    position:absolute; bottom:-100px; left:0; right:0; height:100px;
    background:linear-gradient(to bottom, rgb(var(--brand-rgb) / 0.1), transparent);
    filter: blur(20px); transform:scaleY(-1); opacity:0.3;
  }

  /* ===================== SECTION SHARED ===================== */
  .section-inner { position:relative; z-index:1; max-width:1300px; margin:0 auto; padding:6rem 5%; }
  .std-section-header { max-width:700px; margin:0 auto 3.5rem; text-align:center; }
  .std-section-header .section-badge { margin-bottom:1.2rem; }
  .std-section-header .section-title { font-size:clamp(1.7rem,4vw,2.7rem); font-weight:800; color:#fff; margin-bottom:1rem; line-height:1.3; }
  .std-section-header .section-desc { color:#a0aec0; line-height:1.8; font-size:1.02rem; }

  .reveal { opacity:0; transform:translateY(40px); transition: opacity 0.8s ease, transform 0.8s ease; }
  .reveal.active { opacity:1; transform:translateY(0); }

  /* ===================== FEATURES ===================== */
.features-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.7rem;
}

@media (max-width: 1024px) {
  .features-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .features-grid {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }
}

  .feature-card {
    background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.08); border-radius:18px;
    padding:2.1rem 1.7rem; text-align:left; transition:0.4s ease; position:relative; overflow:hidden;
  }
  .feature-card::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg, rgb(var(--brand-rgb) / 0.08), transparent); opacity:0; transition:0.4s ease; }
  .feature-card:hover { transform:translateY(-8px); border-color:rgb(var(--brand-rgb) / 0.4); box-shadow:0 20px 45px rgba(0,0,0,0.35); }
  .feature-card:hover::before { opacity:1; }
  .feature-icon {
    width:54px; height:54px; border-radius:14px; background:linear-gradient(135deg, rgb(var(--brand-rgb) / 0.2), rgba(0,255,136,0.2));
    display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin-bottom:1.1rem; position:relative; z-index:1;
  }
  .feature-title { color:#fff; font-size:1.1rem; font-weight:700; margin-bottom:0.6rem; position:relative; z-index:1; }
  .feature-desc { color:#a0aec0; font-size:1rem; line-height:1.65; position:relative; z-index:1; font-weight: 600; }


.feature-icon {
  width: 64px;
  height: 64px;
  margin-bottom: 18px;

  display: flex;
  align-items: center;
  justify-content: center;

  position: relative;
}

.feature-icon .qr-icon {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* =========================
   DARK MODE
========================= */

.feature-icon .dark-icon {
  display: block !important;
}

.feature-icon .light-icon {
  display: none !important;
}


/* =========================
   LIGHT MODE
========================= */

body.light-mode .feature-icon .dark-icon {
  display: none !important;
}

body.light-mode .feature-icon .light-icon {
  display: block !important;
}
  /* ===================== HOW IT WORKS ===================== */
  .steps-container { display:flex; justify-content:space-between; gap:2rem; flex-wrap:wrap; position:relative; margin-top:1rem; }
  .steps-container::before {
    content:''; position:absolute; top:30px; left:5%; right:5%; height:2px;
    background:linear-gradient(90deg, rgb(var(--brand-rgb) / 0.35), rgba(0,255,136,0.35)); z-index:0;
  }
  .step-item { flex:1; min-width:180px; text-align:center; position:relative; z-index:1; }
  .step-number {
    width:60px; height:60px; border-radius:50%; background:linear-gradient(135deg,#10152c,#1a1f3a);
    border:2px solid rgb(var(--brand-rgb) / 0.4); display:flex; align-items:center; justify-content:center;
    margin:0 auto 1.2rem; color:var(--brand-500, #00c8ff); font-weight:800; font-size:1.3rem; transition:0.35s ease;
  }
  .step-item:hover .step-number { background:linear-gradient(135deg,var(--brand-500, #00c8ff),#00ff88); color:#0a0e27; transform:scale(1.12); }
  .step-title { color:#fff; font-weight:700; margin-bottom:0.5rem; font-size:1rem; }
  .step-desc { color:#718096; font-size:0.85rem; line-height:1.6; padding:0 0.5rem; }

  /* ===================== CONTACT ===================== */
  .contact-flex { display:flex; gap:3rem; flex-wrap:wrap; }
  .contact-info { flex:1; min-width:260px; }
  .contact-card {
    display:flex; gap:1rem; align-items:flex-start; background:rgba(255,255,255,0.03);
    border:1px solid rgba(255,255,255,0.08); padding:1.3rem; border-radius:14px; margin-bottom:1rem; transition:0.3s ease;
  }
  .contact-card:hover { border-color:rgb(var(--brand-rgb) / 0.4); transform:translateX(6px); }
  .contact-icon {
    width:44px; height:44px; border-radius:10px; background:linear-gradient(135deg, rgb(var(--brand-rgb) / 0.2), rgba(0,255,136,0.2));
    display:flex; align-items:center; justify-content:center; font-size:1.15rem; flex-shrink:0;
  }
  .contact-card-title { color:#fff; font-weight:700; font-size:0.92rem; margin-bottom:0.3rem; }
  .contact-card-desc { color:#a0aec0; font-size:0.83rem; line-height:1.5; font-weight: 600;}

  .contact-form-wrap {
    flex:1.2; min-width:280px; background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.08);
    border-radius:20px; padding:2.4rem; position:relative;
  }
  .form-row { display:flex; gap:1rem; flex-wrap:wrap; }
  .form-group { margin-bottom:1.3rem; flex:1; min-width:180px; }
  .form-group label { display:block; color:#a0aec0; font-size:0.83rem; margin-bottom:0.5rem; }
  .form-group input, .form-group textarea {
    width:100%; padding:12px 16px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1);
    border-radius:10px; color:#fff; font-size:0.92rem; transition:0.3s ease; font-family:inherit; resize:vertical;
  }
  .form-group input:focus, .form-group textarea:focus {
    outline:none; border-color:var(--brand-500, #00c8ff); background:rgb(var(--brand-rgb) / 0.06); box-shadow:0 0 0 3px rgb(var(--brand-rgb) / 0.1);
  }
  .form-submit { width:100%; justify-content:center; }
  .form-success { display:none; text-align:center; padding:2.5rem 1rem; color:#00ff88; animation: fadeInUp 0.5s ease; }
  @keyframes fadeInUp { from{opacity:0; transform:translateY(15px);} to{opacity:1; transform:translateY(0);} }
  .form-success .check { font-size:3rem; margin-bottom:1rem; }
  .form-success h3 { color:#fff; margin-bottom:0.5rem; }
  .form-success p { color:#a0aec0; font-size:0.9rem; }

  /* ===================== FOOTER ===================== */
  .footer { position:relative; z-index:1; border-top:1px solid rgba(255,255,255,0.08); padding:3.5rem 5% 2rem; }
  .footer-content { max-width:1300px; margin:0 auto; display:flex; justify-content:space-between; flex-wrap:wrap; gap:2.5rem; margin-bottom:2.5rem; }
  .footer-brand { max-width:300px; }
  .footer-brand .nav-logo { margin-bottom:1rem; }
  .footer-brand p { color:#718096; font-size:0.87rem; line-height:1.7; }
  .footer-links { display:flex; gap:3.5rem; flex-wrap:wrap; }
  .footer-col h4 { color:#fff; margin-bottom:1rem; font-size:0.92rem; letter-spacing:0.5px; }
  .footer-col a { display:block; color:#718096; text-decoration:none; font-size:0.85rem; margin-bottom:0.75rem; transition:0.3s ease; }
  .footer-col a:hover { color:var(--brand-500, #00c8ff); transform:translateX(3px); }
  .footer-bottom {
    max-width:1300px; margin:0 auto; padding-top:2rem; border-top:1px solid rgba(255,255,255,0.05);
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; color:#4a5568; font-size:0.83rem;
  }
  .social-icons { display:flex; gap:0.8rem; }
  .social-icons a {
    width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,0.05); display:flex;
    align-items:center; justify-content:center; color:#a0aec0; text-decoration:none; transition:0.3s ease; font-size:0.95rem;
  }
  .social-icons a:hover { background:linear-gradient(135deg,var(--brand-500, #00c8ff),#00ff88); color:#0a0e27; transform:translateY(-4px); }

  /* ===================== BACK TO TOP ===================== */
  .back-to-top {
    position:fixed; bottom:24px; right:24px; width:46px; height:46px; border-radius:50%;
    background:linear-gradient(135deg,var(--brand-500, #00c8ff),var(--brand-600, #0080ff)); color:#fff; border:none; font-size:1.15rem; cursor:pointer;
    display:flex; align-items:center; justify-content:center; box-shadow:0 5px 20px rgb(var(--brand-rgb) / 0.4);
    opacity:0; visibility:hidden; transition:0.3s ease; z-index:998;
  }
  .back-to-top.show { opacity:1; visibility:visible; }
  .back-to-top:hover { transform:translateY(-5px); }

  /* ===================== RESPONSIVE BREAKPOINTS ===================== */
  @media (max-width: 1300px) { .section-inner { padding:5.5rem 5%; } }

  @media (max-width: 1024px) {
    .hero-about-wrap { flex-direction:column; gap:1rem; padding:0 6%; }
    .hero-about-left { order:1; }
    .hero-about-right { order:2; position:static; height:auto; padding:2rem 0 3rem; width:100%; }
    .about-block { order:3; padding-top:1rem; }
    .hero-block { min-height:auto; padding:7.5rem 0 2rem; }
    .tablet-flip { width:340px; height:470px; }
  }

  @media (max-width: 900px) {
    .nav-links, .nav-actions .nav-btn { display:none; }
    .hamburger { display:flex; }
  }

  @media (max-width: 768px) {
    .floating-badge { display:none; }
    .stats-row { gap:1.5rem; }
    .contact-flex { flex-direction:column; }
    .steps-container::before { display:none; }
    .footer-content { flex-direction:column; }
    .about-stats { grid-template-columns:1fr 1fr; max-width:100%; }
    .tablet-flip { width:300px; height:430px; }
  }

  @media (max-width: 640px) {
    .navbar { padding:1.1rem 6%; }
    .nav-logo { font-size:1rem; }
    .hero-block { padding-top:6.5rem; }
    .hero-buttons { flex-direction:column; align-items:stretch; }
    .hero-buttons .btn { width:100%; justify-content:center; }
    .stats-row { gap:1.2rem; justify-content:space-between; }
    .section-inner { padding:4rem 6%; }
    .std-section-header { margin-bottom:2.5rem; }
    .contact-form-wrap { padding:1.8rem 1.4rem; }
    .form-row { flex-direction:column; gap:0; }
    .tablet-flip { width:280px; height:420px; }
  }

  @media (max-width: 480px) {
    .about-stats { grid-template-columns:1fr 1fr; gap:0.8rem; }
    .about-stat-card { padding:1rem 0.6rem; }
    .about-stat-num { font-size:1.6rem; }
    .feature-card { padding:1.6rem 1.3rem; }
    .step-item { min-width:140px; }
    .mobile-menu { width:85%; padding:2rem; }
    .tablet-flip { width:260px; height:400px; }
    .tablet-face { padding:14px; }
    .room-name { font-size:0.72rem; }
    .footer-links { gap:2rem; }
  }

  @media (max-width: 380px) {
    .hero-title { font-size:1.7rem; }
    .btn { padding:12px 20px; font-size:0.92rem; }
    .stat-number { font-size:1.3rem; }
    .tablet-flip { width:230px; height:380px; }
    .section-badge { font-size:0.7rem; padding:5px 12px; }
  }

  @media (max-height: 620px) and (orientation: landscape) {
    .hero-block { min-height:auto; padding:6rem 0 2rem; }
    .scroll-indicator { display:none; }
  }
/* =====================================================
   THEME TOGGLE
===================================================== */

.nav-brand-wrap {
  display: flex;
  align-items: center;
  gap: 18px;
  z-index: 1001;
}

.theme-toggle {
  display: flex;
  align-items: center;
}

.theme-toggle input {
  display: none;
}

.theme-toggle .label {
  width: 58px;
  height: 30px;

  background: rgba(255, 255, 255, 0.08);

  border: 1px solid rgba(255, 255, 255, 0.15);

  border-radius: 50px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  padding: 4px 6px;

  cursor: pointer;

  position: relative;

  transition:
    background 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

.theme-toggle .label:hover {
  border-color: rgb(var(--brand-rgb) / 0.5);

  box-shadow:
    0 0 15px rgb(var(--brand-rgb) / 0.15);
}

.theme-icon {
  font-size: 12px;
  position: relative;
  z-index: 2;

  pointer-events: none;
}

.theme-toggle .toggle-ball {
  position: absolute;

  width: 22px;
  height: 22px;

  left: 4px;
  top: 3px;

  border-radius: 50%;

  background: linear-gradient(
    135deg,
    var(--brand-500, #00c8ff),
    var(--brand-600, #0080ff)
  );

  box-shadow:
    0 2px 8px rgb(var(--brand-rgb) / 0.5);

  transition:
    transform 0.35s ease,
    background 0.35s ease;
}

.theme-toggle input:checked + .label .toggle-ball {
  transform: translateX(27px);

  background: linear-gradient(
    135deg,
    #ffcc33,
    #ff9500
  );

  box-shadow:
    0 2px 10px rgba(255, 180, 0, 0.45);
}


/* =====================================================
   LIGHT MODE
===================================================== */

body.light-mode {

  background:
    linear-gradient(
      135deg,
      #f5f9ff 0%,
      #edf4ff 50%,
      #f8fbff 100%
    );

  color: #172033;
}


/* Selection */
body.light-mode ::selection {
  background: rgb(var(--brand-rgb) / 0.2);
  color: #111827;
}


/* Scrollbar */
body.light-mode::-webkit-scrollbar-track {
  background: #edf4ff;
}

body.light-mode::-webkit-scrollbar-thumb {
  background:
    linear-gradient(
      var(--brand-600, #0080ff),
      #00c896
    );
}


/* ================= NAVBAR ================= */

body.light-mode .navbar.scrolled {

  background:
    rgba(255, 255, 255, 0.88);

  border-bottom:
    1px solid rgba(0, 0, 0, 0.08);

  box-shadow:
    0 5px 30px rgba(0, 0, 0, 0.1);
}


body.light-mode .nav-logo {
  color: #172033;
}


body.light-mode .nav-links a {
  color: #475569;
}


body.light-mode .nav-links a:hover,
body.light-mode .nav-links a.active {
  color: var(--brand-600, #0080ff);
}


/* Theme button */
body.light-mode .theme-toggle .label {

  background:
    rgba(0, 0, 0, 0.05);

  border-color:
    rgba(0, 0, 0, 0.1);
}


/* Hamburger */
body.light-mode .hamburger span {
  background: #172033;
}


/* Mobile menu */
body.light-mode .mobile-menu {

  background:
    rgba(255, 255, 255, 0.98);

  border-left:
    1px solid rgba(0, 0, 0, 0.08);
}


body.light-mode .mobile-menu a {
  color: #475569;
}


body.light-mode .mobile-menu a:hover {
  color: var(--brand-600, #0080ff);
}


/* =====================================================
   HERO
===================================================== */

body.light-mode .hero-block,
body.light-mode .about-block {

  color: #172033;
}


body.light-mode .hero-title {
  color: #172033;
}


body.light-mode .hero-description {
  color: #64748b;
}


body.light-mode .btn-secondary {

  color: #172033;

  border-color:
    rgba(23, 32, 51, 0.2);
}


body.light-mode .btn-secondary:hover {

  background:
    rgb(var(--brand-rgb) / 0.06);

  border-color:
    rgb(var(--brand-rgb) / 0.3);
}


body.light-mode .stat-label {
  color: #64748b;
}


body.light-mode .scroll-indicator {
  color: #64748b;
}


/* =====================================================
   ABOUT
===================================================== */

body.light-mode .about-block .section-title {
  color: #172033;
}


body.light-mode .about-block .section-desc {
  color: #64748b;
}


body.light-mode .about-stat-card {

  background:
    rgba(255, 255, 255, 0.65);

  border-color:
    rgba(0, 0, 0, 0.08);

  box-shadow:
    0 10px 35px rgba(0, 0, 0, 0.05);
}


body.light-mode .about-stat-card:hover {

  border-color:
    rgb(var(--brand-rgb) / 0.35);
}


body.light-mode .about-stat-label {
  color: #64748b;
}


/* =====================================================
   SECTION TITLES
===================================================== */

body.light-mode .std-section-header .section-title {
  color: #172033;
}


body.light-mode .std-section-header .section-desc {
  color: #64748b;
}


/* =====================================================
   FEATURE CARDS
===================================================== */

body.light-mode .feature-card {

  background:
    rgba(255, 255, 255, 0.7);

  border-color:
    rgba(0, 0, 0, 0.08);

  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.04);
}


body.light-mode .feature-card:hover {

  border-color:
    rgb(var(--brand-rgb) / 0.35);

  box-shadow:
    0 20px 45px rgba(0, 0, 0, 0.1);
}


body.light-mode .feature-title {
  color: #172033;
}


body.light-mode .feature-desc {
  color: #64748b;
}


/* =====================================================
   HOW IT WORKS
===================================================== */

body.light-mode .step-number {

  background:
    linear-gradient(
      135deg,
      #ffffff,
      #edf4ff
    );

  border-color:
    rgb(var(--brand-rgb) / 0.35);

  color: var(--brand-600, #0080ff);
}


body.light-mode .step-title {
  color: #172033;
}


body.light-mode .step-desc {
  color: #64748b;
}


/* =====================================================
   CONTACT
===================================================== */

body.light-mode .contact-card {

  background:
    rgba(255, 255, 255, 0.7);

  border-color:
    rgba(0, 0, 0, 0.08);
}


body.light-mode .contact-card:hover {

  border-color:
    rgb(var(--brand-rgb) / 0.35);
}


body.light-mode .contact-card-title {
  color: #172033;
}


body.light-mode .contact-card-desc {
  color: #64748b;
}


body.light-mode .contact-form-wrap {

  background:
    rgba(255, 255, 255, 0.75);

  border-color:
    rgba(0, 0, 0, 0.08);

  box-shadow:
    0 15px 40px rgba(0, 0, 0, 0.05);
}


body.light-mode .form-group label {
  color: #475569;
}


body.light-mode .form-group input,
body.light-mode .form-group textarea {

  background:
    rgba(255, 255, 255, 0.9);

  border-color:
    rgba(0, 0, 0, 0.12);

  color: #172033;
}


body.light-mode .form-group input:focus,
body.light-mode .form-group textarea:focus {

  background: #ffffff;

  border-color: var(--brand-600, #0080ff);

  box-shadow:
    0 0 0 3px rgb(var(--brand-rgb) / 0.1);
}


/* =====================================================
   FOOTER
===================================================== */

body.light-mode .footer {

  border-top:
    1px solid rgba(0, 0, 0, 0.08);
}


body.light-mode .footer-brand p {
  color: #64748b;
}


body.light-mode .footer-col h4 {
  color: #172033;
}


body.light-mode .footer-col a {
  color: #64748b;
}


body.light-mode .footer-bottom {

  color: #64748b;

  border-top:
    1px solid rgba(0, 0, 0, 0.07);
}


body.light-mode .social-icons a {

  background:
    rgba(0, 0, 0, 0.05);

  color: #475569;
}


/* =====================================================
   PARTICLES
===================================================== */

body.light-mode .particle {

  background:
    rgb(var(--brand-rgb) / 0.3);
}


/* =====================================================
   TABLET

   Keep the tablet dark because it represents
   the R.A.M.S dashboard/device itself.
===================================================== */


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 600px) {

  .nav-brand-wrap {
    gap: 10px;
  }

  .theme-toggle .label {
    width: 50px;
    height: 27px;
  }

  .theme-toggle .toggle-ball {
    width: 19px;
    height: 19px;

    top: 3px;
    left: 4px;
  }

  .theme-toggle input:checked + .label .toggle-ball {
    transform: translateX(23px);
  }

  .theme-icon {
    font-size: 10px;
  }

}
/* =====================================================
   TABLET - LIGHT MODE
===================================================== */

body.light-mode .tablet-face {
  background: linear-gradient(145deg, #ffffff, #edf4ff);

  box-shadow:
    0 50px 100px rgba(0, 0, 0, 0.15),
    0 0 0 2px rgb(var(--brand-rgb) / 0.12),
    inset 0 0 20px rgb(var(--brand-rgb) / 0.05);
}


/* secure side */
body.light-mode .face-back {
  background: linear-gradient(145deg, #eefdf7, #e3f9ef);

  box-shadow:
    0 50px 100px rgba(0, 0, 0, 0.15),
    0 0 0 2px rgba(0, 200, 150, 0.16),
    inset 0 0 24px rgba(0, 200, 150, 0.08);
}


/* tablet inner screen */
body.light-mode .tablet-screen {
  background: linear-gradient(
    135deg,
    #f8fbff,
    #edf4ff
  );

  box-shadow:
    inset 0 0 30px rgba(0, 0, 0, 0.05);
}


/* secure screen */
body.light-mode .face-back .tablet-screen {
  background: linear-gradient(
    135deg,
    #f2fff9,
    #e8fbf2
  );
}


/* screen header */
body.light-mode .screen-header {
  background: rgb(var(--brand-rgb) / 0.06);

  border-bottom:
    1px solid rgb(var(--brand-rgb) / 0.18);
}


body.light-mode .face-back .screen-header {
  background: rgba(0, 200, 150, 0.07);

  border-bottom:
    1px solid rgba(0, 200, 150, 0.18);
}


/* RAMS title inside tablet */
body.light-mode .app-title {
  color: #172033;
}


/* Clock */
body.light-mode .time-display {
  color: #64748b;
}


/* mode labels */
body.light-mode .dashboard-label {
  color: var(--brand-600, #0080ff);
}

body.light-mode .secure-label {
  color: #00a86b;
}


/* =====================================================
   ROOM CARDS
===================================================== */

body.light-mode .room-card {
  background: rgba(255, 255, 255, 0.75);

  border-color:
    rgba(0, 0, 0, 0.08);

  box-shadow:
    0 6px 18px rgba(0, 0, 0, 0.04);
}


body.light-mode .room-name {
  color: #172033;
}


body.light-mode .room-info {
  color: #64748b;
}


body.light-mode .access-count {
  color: var(--brand-600, #0080ff);
}


/* =====================================================
   LIVE FEED
===================================================== */

body.light-mode .live-feed {
  background: rgba(255, 255, 255, 0.72);

  border:
    1px solid rgba(0, 0, 0, 0.06);
}


body.light-mode .feed-title {
  color: #64748b;
}


body.light-mode .feed-item {
  border-bottom:
    1px solid rgba(0, 0, 0, 0.06);
}


body.light-mode .feed-name {
  color: #172033;
}


body.light-mode .feed-action {
  color: #64748b;
}


body.light-mode .feed-time {
  color: #94a3b8;
}


/* =====================================================
   STATS BAR
===================================================== */

body.light-mode .stats-bar {
  background: rgb(var(--brand-rgb) / 0.06);
}


body.light-mode .secure-stats-bar {
  background: rgba(0, 200, 150, 0.08);
}


body.light-mode .mini-stat-num {
  color: var(--brand-600, #0080ff);
}


body.light-mode .secure-stats-bar .mini-stat-num {
  color: #00a86b;
}


body.light-mode .mini-stat-label {
  color: #64748b;
}


/* =====================================================
   SECURE MODE CONTENT
===================================================== */

body.light-mode .secure-title {
  color: #172033;
}


body.light-mode .secure-sub {
  color: #64748b;
}


body.light-mode .secure-check-item {
  background:
    rgba(0, 200, 150, 0.06);

  border:
    1px solid rgba(0, 168, 107, 0.18);

  color: #334155;
}


body.light-mode .check-status {
  color: #00a86b;
}


/* secure shield */
body.light-mode .secure-shield {
  background:
    linear-gradient(
      135deg,
      #00d68f,
      var(--brand-500, #00c8ff)
    );

  box-shadow:
    0 0 35px rgba(0, 200, 150, 0.3);
}


/* radar circles */
body.light-mode .secure-rings span {
  border-color:
    rgba(0, 168, 107, 0.35);
}


/* =====================================================
   FLOATING BADGES
===================================================== */

body.light-mode .floating-badge {
  background:
    rgba(255, 255, 255, 0.96);

  border:
    1px solid rgb(var(--brand-rgb) / 0.18);

  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.12);
}


body.light-mode .secure-badges .floating-badge {
  border-color:
    rgba(0, 168, 107, 0.25);
}


body.light-mode .float-text-title {
  color: #172033;
}


body.light-mode .float-text-sub {
  color: #64748b;
}


/* =====================================================
   TABLET REFLECTION
===================================================== */

body.light-mode .tablet-reflection {
  background:
    linear-gradient(
      to bottom,
      rgb(var(--brand-rgb) / 0.08),
      transparent
    );

  opacity: 0.2;
}

@media (prefers-reduced-motion: reduce) {
  .particle {
    animation-duration: 80s !important;
    animation-iteration-count: infinite !important;
  }
  #preloader .loader::before {
    animation-duration: 4s !important;
    animation-iteration-count: infinite !important;
  }
}
