:root {
  --bg-obsidian: #030303;
  --glow-color: rgba(43, 56, 86, 0.45); 
  
  --cursor-x: 50vw;
  --cursor-y: 50vh;
  --logo-rotate-x: 0deg;
  --logo-rotate-y: 0deg;
  --logo-glow: 0;
}

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

body {
  background-color: var(--bg-obsidian);
  color: #ffffff;
  font-family: 'Inter', sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 100vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
}

.noise-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-image: url('data:image/svg+xml;utf8,%3Csvg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"%3E%3Cfilter id="noiseFilter"%3E%3CfeTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="3" stitchTiles="stitch"/%3E%3C/filter%3E%3Crect width="100%25" height="100%25" filter="url(%23noiseFilter)"/%3E%3C/svg%3E');
  opacity: 0.03;
  pointer-events: none;
  z-index: 20;
}

.glow-cursor {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  pointer-events: none;
  z-index: 1;
  background: radial-gradient(1000px circle at var(--cursor-x) var(--cursor-y), var(--glow-color) 0%, transparent 60%);
  opacity: 0.85;
  will-change: background;
}

.ambient-particles {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  pointer-events: none;
  z-index: 5;
}

.canvas-wrapper {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  perspective: 1200px;
}

.logo-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transform: rotateX(var(--logo-rotate-x)) rotateY(var(--logo-rotate-y));
  transform-style: preserve-3d;
  will-change: transform;
}

.brand-logo {
  max-width: 180px;
  max-height: 180px;
  /* Make SVG purely white and apply CSS drop-shadow based on proximity */
  filter: brightness(0) invert(1) drop-shadow(0 0 calc(var(--logo-glow) * 20px) rgba(255, 255, 255, 0.4));
  will-change: filter;
  transition: filter 0.1s ease;
}

@media (min-width: 768px) {
  .brand-logo {
    max-width: 240px;
    max-height: 240px;
  }
}

.elegant-subtitle {
  margin-top: 1.5rem;
  font-size: 0.75rem;
  letter-spacing: 0.4em;
  font-weight: 400;
  color: #ffffff;
  opacity: 0.65;
  text-transform: uppercase;
  margin-left: 0.4em; /* Adjust offset strictly for letter-spacing to perfectly center */
}

@media (min-width: 768px) {
  .elegant-subtitle {
    font-size: 0.85rem;
    margin-top: 2rem;
  }
}

.footer-minimal {
  position: absolute;
  bottom: 8%;
  left: 0; right: 0;
  text-align: center;
  z-index: 10;
}

.footer-minimal p {
  font-size: 0.65rem;
  letter-spacing: 0.5em; 
  text-transform: uppercase;
  font-weight: 600;
  color: #ffffff;
  opacity: 0.3;
  margin-left: 0.5em; 
}
