:root {
  /* ATHENIUM INDUSTRIAL THEME (1440p Optimized) */
  --color-bg-base: #0a0a0a;
  --color-bg-surface: #111111;
  --color-bg-elevated: #1a1a1a;
  
  --color-text-primary: #ffffff;
  --color-text-secondary: #888888;
  --color-text-muted: #444444;
  
  --color-accent-brand: #ff0055; /* Electric Rose Signature */
  --color-border-grid: #2a2a2a;
  
  /* TYPOGRAPHY - BRUTALIST SYSTEM */
  --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
  --font-mono: 'Space Mono', monospace;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
}

body {
  background-color: var(--color-bg-base);
  color: var(--color-text-primary);
  font-family: var(--font-sans);
  line-height: 1.4;
  overflow: hidden; /* Strict viewport fill */
  height: 100vh;
  width: 100vw;
}

/* NOISE OVERLAY */
body::before {
  content: "";
  position: fixed;
  top: 0; left: 0; width: 100%; height: 100%;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
  opacity: 0.02;
  pointer-events: none;
  z-index: 100;
}

/* GRID ARCHITECTURE - FLUSH */
.grid-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
  width: 100%;
  height: 100%;
  gap: 0; /* FLUSH */
  background: var(--color-border-grid);
}

.tile {
  background: var(--color-bg-base);
  border: 0.5px solid var(--color-border-grid);
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 5vw, 6rem);
  text-decoration: none;
  color: inherit;
  transition: background 0.3s ease;
  overflow: hidden;
  
  /* MECHANICAL LOAD IN */
  opacity: 0;
  transform: scale(0.995) translateY(10px);
  animation: tile-mechanical 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
  animation-delay: calc(var(--delay) * 80ms + 100ms);
}

@keyframes tile-mechanical {
  to { opacity: 1; transform: scale(1) translateY(0); }
}

.tile:hover {
  background: var(--color-bg-surface);
}

/* SPANNING UTILITIES */
.tile-2x2 { grid-column: span 2; grid-row: span 2; }
.tile-2x1 { grid-column: span 2; }

/* CORNER PINNED METADATA */
.card-meta {
  position: absolute;
  top: 2.5rem;
  left: clamp(2rem, 5vw, 6rem);
  font-family: var(--font-mono);
  font-size: 0.6rem;
  letter-spacing: 0.25em;
  color: var(--color-text-muted);
  text-transform: uppercase;
}

.tile-status {
  position: absolute;
  bottom: 2.5rem;
  left: clamp(2rem, 5vw, 6rem);
  font-family: var(--font-mono);
  font-size: 0.6rem;
  letter-spacing: 0.15em;
  color: var(--color-accent-brand);
  text-transform: uppercase;
  font-weight: 700;
}

/* BRUTALIST TYPOGRAPHY */
h1, h2, h3 {
  font-family: var(--font-sans);
  font-weight: 900;
  line-height: 0.9;
  letter-spacing: -0.05em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
}

.tile-about h1 {
  font-size: clamp(3rem, 7vw, 7rem);
}

.tile-category h2 {
  font-size: clamp(2rem, 4.5vw, 4rem);
}

.project-info h3 {
  font-size: 2.5rem; /* Reduced to fit 1x1 tiles */
  line-height: 1.1;
  letter-spacing: -0.02em;
  overflow-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
}



p {
  font-size: clamp(1rem, 1.1vw, 1.2rem);
  color: var(--color-text-secondary);
  line-height: 1.6;
  max-width: 90%;
}

.accent {
  color: var(--color-accent-brand);
}

/* CUSTOM INTERACTIVE (NO BLUE LINKS) */
a {
  color: inherit;
  text-decoration: none;
}

.project-langs {
  display: flex;
  gap: 1rem;
  margin: 2rem 0;
  flex-wrap: wrap;
}

.lang-tag {
  font-family: var(--font-mono);
  font-size: 0.65rem;
  padding: 0.25rem 0.5rem;
  background: rgba(255, 255, 255, 0.05);
  color: var(--color-accent-brand);
  border: 1px solid rgba(255, 0, 85, 0.2);
}

/* PROJECT TILES */
.tile-project {
  cursor: pointer;
}

/* OFFLINE / COMING SOON TILES */
.tile-offline {
  cursor: default;
  opacity: 0.5;
}

.tile-offline:hover {
  background: var(--color-bg-base);
}

/* RESPONSIVENESS */
@media (max-width: 1024px) {
  .grid-container {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
    overflow-y: auto;
    height: auto;
  }
}

@media (max-width: 768px) {
  .grid-container {
    display: block;
    height: auto;
  }
  .tile {
    height: auto;
    padding: 4rem 2rem;
    border-bottom: 1px solid var(--color-border-grid);
  }
  .card-meta, .tile-status {
    left: 2rem;
  }
}