html {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

@media (min-width: 768px) {
  html {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}


/**/

/* Desktops */
@media (min-width: 992px) and (max-width: 1199px) {}

/* Tablets */
@media (min-width: 768px) and (max-width: 991px) {}

/* Small tablets and large mobile devices */
@media (min-width: 576px) and (max-width: 767px) {}

/* Mobile devices */
@media (max-width: 575px) {}





















/* ============ TITAN V9 CORE STYLING ============ */
.titan-v9-footer {
  background: var(--footer-bg);
  color: var(--footer-text);
  position: relative;
  overflow: hidden;
  padding: 5rem 0 2rem;
  border-top: 1px solid var(--footer-border);
}

/* Light beam + particle layer */
.footer-bg-layers {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}

#footerParticles {
  position: absolute;
  width: 100%;
  height: 100%;
}

.footer-beam {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 120%, rgba(77, 171, 247, 0.08) 0%, transparent 70%);
  animation: beamShift 10s ease-in-out infinite alternate;
}

@keyframes beamShift {
  0% {
    transform: translateY(0) scale(1);
  }

  50% {
    transform: translateY(-25px) scale(1.05);
  }

  100% {
    transform: translateY(0) scale(1);
  }
}

/* Grid */
.footer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 3rem;
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: auto;
  padding: 2rem;
  perspective: 800px;
}

/* Brand card */
.footer-brand {
  text-align: center;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--footer-card-border);
  border-radius: 20px;
  padding: var(--fs-xl) var(--fs-sm);
  box-shadow: var(--footer-shadow);
  transition: transform .4s var(--premium-timing), box-shadow .4s;
  transform-style: preserve-3d;
}

.footer-brand:hover {
  transform: rotateX(6deg) rotateY(-6deg) translateY(-4px);
  box-shadow: 0 12px 60px rgba(47, 164, 231, .25);
}

.brand-logo {
  width: calc(var(--fs-xxl) + 4vw);
  height: calc(var(--fs-xxl) + 4vw);
  object-fit: contain;
  filter: drop-shadow(0 0 12px rgba(77, 171, 247, .5));
}

.brand-title {
  margin-top: 1rem;
  font-size: var(--fs-sm);
  color: var(--accent-primary);
  font-weight: 700;
}

.brand-tagline {
  font-size: var(--fs-xxs);
  color: var(--footer-text-muted);
}

/* Links */
.footer-links,
.footer-social {
  display: flex;
  flex-direction: column;
  gap: calc(var(--fs-xxs) - 2vw);
}

.footer-section-title {
  color: var(--accent-primary);
  font-weight: 600;
  font-size: var(--fs-xs);
}

.footer-nav {
  display: flex;
  flex-direction: column;
  border-right: 2px solid color-mix(in srgb, var(--accent-primary) 20%, var(--footer-border) 20%);
  padding: calc(100vw - 99.5vw);
  gap: calc(var(--fs-xxs) - 0.5vw);

}

.footer-nav-link {
  color: var(--accent-secondary);
  text-decoration: none;
  position: relative;
  font-size: var(--fs-xxs);
  transition: color .3s, transform .3s;
}

.footer-nav-link::before {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--accent-primary);
  transition: width .3s;
}

.footer-nav-link:hover {
  color: var(--accent-primary);
  transform: translateX(4px);
}

.footer-nav-link:hover::before {
  width: 100%;
}

/* Social */
.footer-social-links {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.social-btn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid var(--footer-card-border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--footer-accent);
  background: rgba(255, 255, 255, 0.04);
  transition: all .3s;
}

.social-btn:hover {
  background: var(--footer-accent);
  color: #fff;
  transform: scale(1.1) rotate(6deg);
  box-shadow: 0 0 15px var(--footer-accent);
}

/* Bottom bar */
.footer-bottom-bar {
  text-align: center;
  padding-top: var(--fs-xxs);
  border-top: 1px solid var(--footer-border);
  position: relative;
  z-index: 3;
}

.footer-thread {
  position: absolute;
  top: 0;
  left: 0;
  width: 200%;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, var(--accent-primary) 50%, transparent 100%);
  animation: moveThread 8s linear infinite;
}

@keyframes moveThread {
  to {
    transform: translateX(-50%);
  }
}

.footer-signature {
  color: var(--footer-text-muted);
  font-size: var(--fs-xs);
  margin-top: 1rem;
}

.footer-signature span {
  color: var(--footer-accent);
  font-weight: 600;
}