@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,600;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&display=swap');

:root {
  --acid-green: #e2f266;
  --deep-black: #050505;
}

html {
  box-sizing: border-box;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

body {
  background-color: var(--deep-black);
  color: #ffffff;
  cursor: crosshair;
  overflow-x: hidden;
}

html {
  overflow-x: hidden;
}

::selection {
  background: var(--acid-green);
  color: #000;
}

.main-content {
  padding-top: 100px;
}

@media (max-width: 767px) {
  .main-content {
    padding-top: 88px;
  }
}

.font-header {
  font-family: "Inter", sans-serif;
  letter-spacing: -0.05em;
}

.font-serif {
  font-family: "Lora", serif;
}

.font-mono {
  font-family: "JetBrains Mono", monospace;
}

.inverted-text {
  mix-blend-mode: difference;
}

.industry-card {
  border: 1px solid rgba(226, 242, 102, 0.15);
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  background: rgba(226, 242, 102, 0.02);
}

.industry-card:hover {
  border-color: var(--acid-green);
  background: rgba(226, 242, 102, 0.08);
  transform: translateY(-4px);
}

.industry-card:hover .card-arrow {
  transform: translateX(8px);
  opacity: 1;
}

.card-arrow {
  transition: all 0.3s ease;
  opacity: 0.4;
}

.stat-block {
  border-left: 2px solid var(--acid-green);
}

.process-step {
  border: 1px solid rgba(226, 242, 102, 0.1);
  transition: all 0.3s ease;
}

.process-step:hover {
  border-color: rgba(226, 242, 102, 0.4);
}

.home-discovery h3,
.home-discovery h4 {
  font-weight: 500;
}

.home-discovery p,
.home-discovery .font-mono {
  font-weight: 400;
}

/* Tighten discovery box vertically while preserving side width/padding. */
.home-discovery > .grid > div:first-child {
  justify-content: flex-start;
  gap: 1rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.home-discovery > .grid > .grid.grid-rows-4 > div {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

@media (min-width: 768px) {
  .home-discovery > .grid > div:first-child {
    gap: 1.5rem;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .home-discovery > .grid > .grid.grid-rows-4 > div {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}

#hero-canvas {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -2;
  opacity: 0.3;
}

.cta-button {
  background: var(--acid-green);
  color: black;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 1rem 2.5rem;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  display: inline-block;
}

.cta-button:hover {
  box-shadow: 0 0 30px rgba(226, 242, 102, 0.3);
  transform: translateY(-2px);
}

.cta-button-outline {
  border: 1px solid var(--acid-green);
  color: var(--acid-green);
  font-family: "Inter", sans-serif;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 0.75rem 2rem;
  transition: all 0.3s ease;
  display: inline-block;
}

.cta-button-outline:hover {
  background: var(--acid-green);
  color: black;
}

/* Local utility layer replacing homepage Tailwind dependency */
.antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.min-h-screen { min-height: 100vh; }
.w-full { width: 100%; }
.w-20 { width: 5rem; }
.h-15 { height: 3.75rem; }
.max-w-md { max-width: 28rem; }
.max-w-2xl { max-width: 42rem; }
.max-w-3xl { max-width: 48rem; }
.max-w-4xl { max-width: 56rem; }
.max-w-5xl { max-width: 64rem; }
.max-w-xs { max-width: 20rem; }

.flex { display: flex; }
.grid { display: grid; }
.block { display: block; }

.flex-col { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }

.items-start { align-items: flex-start; }
.items-center { align-items: center; }
.items-end { align-items: flex-end; }

.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }

.text-center { text-align: center; }

.relative { position: relative; }
.fixed { position: fixed; }
.top-0 { top: 0; }
.left-0 { left: 0; }
.z-10 { z-index: 10; }
.z-\[100\] { z-index: 100; }

.p-6 { padding: 1.5rem; }
.p-8 { padding: 2rem; }
.p-10 { padding: 2.5rem; }
.p-12 { padding: 3rem; }

.px-8 { padding-left: 2rem; padding-right: 2rem; }
.py-16 { padding-top: 4rem; padding-bottom: 4rem; }
.py-24 { padding-top: 6rem; padding-bottom: 6rem; }
.py-32 { padding-top: 8rem; padding-bottom: 8rem; }
.py-48 { padding-top: 12rem; padding-bottom: 12rem; }

.pt-24 { padding-top: 6rem; }
.pt-8 { padding-top: 2rem; }
.pb-2 { padding-bottom: 0.5rem; }
.pb-8 { padding-bottom: 2rem; }
.pb-12 { padding-bottom: 3rem; }
.pl-6 { padding-left: 1.5rem; }

.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 0.75rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-8 { margin-bottom: 2rem; }
.mb-10 { margin-bottom: 2.5rem; }
.mb-12 { margin-bottom: 3rem; }
.mb-16 { margin-bottom: 4rem; }
.mb-24 { margin-bottom: 6rem; }

.mt-2 { margin-top: 0.5rem; }
.mt-4 { margin-top: 1rem; }
.mt-16 { margin-top: 4rem; }

.mx-auto { margin-left: auto; margin-right: auto; }
.ml-auto { margin-left: auto; }

.space-y-2 > * + * { margin-top: 0.5rem; }
.space-y-3 > * + * { margin-top: 0.75rem; }
.space-y-16 > * + * { margin-top: 4rem; }

.gap-0 { gap: 0; }
.gap-4 { gap: 1rem; }
.gap-6 { gap: 1.5rem; }
.gap-8 { gap: 2rem; }
.gap-12 { gap: 3rem; }

.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-rows-4 { grid-template-rows: repeat(4, minmax(0, 1fr)); }

.border-t { border-top: 1px solid currentColor; }
.border-b { border-bottom: 1px solid currentColor; }
.border-l-2 { border-left: 2px solid currentColor; }

.border-black { border-color: #000; }
.border-white\/10 { border-color: rgba(255, 255, 255, 0.1); }
.border-\[\#E2F266\] { border-color: #e2f266; }
.border-\[\#E2F266\]\/20 { border-color: rgba(226, 242, 102, 0.2); }

.bg-black { background-color: #000; }
.bg-dark { background-color: transparent; }
.bg-\[\#E2F266\] { background-color: #e2f266; }
.bg-\[\#E2F266\]\/5 { background-color: rgba(226, 242, 102, 0.05); }

.text-black { color: #000; }
.text-transparent { color: transparent; }
.text-\[\#E2F266\] { color: #e2f266; }
.text-\[\#E2F266\]\/30 { color: rgba(226, 242, 102, 0.3); }
.text-gray-300 { color: #d1d5db; }
.text-gray-400 { color: #9ca3af; }
.text-gray-500 { color: #6b7280; }
.text-gray-600 { color: #4b5563; }

.text-\[10px\] { font-size: 10px; }
.text-sm { font-size: 0.875rem; }
.text-xs { font-size: 0.75rem; }
.text-lg { font-size: 1.125rem; }
.text-xl { font-size: 1.25rem; }
.text-2xl { font-size: 1.5rem; }
.text-4xl { font-size: 2.25rem; }
.text-5xl { font-size: 3rem; }
.text-6xl { font-size: 3.75rem; }
.text-\[8vw\] { font-size: 8vw; }
.text-\[5vw\] { font-size: 5vw; }

.font-semibold { font-weight: 600; }
.font-black { font-weight: 900; }

.uppercase { text-transform: uppercase; }
.italic { font-style: italic; }

.tracking-tighter { letter-spacing: -0.05em; }
.tracking-wider { letter-spacing: 0.05em; }
.tracking-widest { letter-spacing: 0.1em; }
.tracking-\[0\.4em\] { letter-spacing: 0.4em; }
.tracking-\[0\.5em\] { letter-spacing: 0.5em; }

.leading-none { line-height: 1; }
.leading-relaxed { line-height: 1.625; }
.leading-\[0\.85\] { line-height: 0.85; }

.opacity-0 { opacity: 0; }

.cursor-pointer { cursor: pointer; }

.transition-colors { transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease; }
.transition-opacity { transition: opacity 0.2s ease; }
.transition-transform { transition-property: transform; }
.duration-700 { transition-duration: 700ms; }

.mix-blend-difference { mix-blend-mode: difference; }

.group:hover .group-hover\:opacity-100 { opacity: 1; }
.group:hover .group-hover\:rotate-90 { transform: rotate(90deg); }
.group:hover .group-hover\:text-\[\#E2F266\] { color: #e2f266; }

.hover\:bg-black:hover { background-color: #000; }
.hover\:text-\[\#E2F266\]:hover { color: #e2f266; }

@media (min-width: 768px) {
  .md\:mt-0 { margin-top: 0; }
  .md\:px-24 { padding-left: 6rem; padding-right: 6rem; }
  .md\:py-32 { padding-top: 8rem; padding-bottom: 8rem; }
  .md\:py-48 { padding-top: 12rem; padding-bottom: 12rem; }
  .md\:pt-48 { padding-top: 12rem; }
  .md\:p-12 { padding: 3rem; }
  .md\:p-24 { padding: 6rem; }
  .md\:p-8 { padding: 2rem; }

  .md\:space-y-24 > * + * { margin-top: 6rem; }

  .md\:text-right { text-align: right; }
  .md\:text-2xl { font-size: 1.5rem; }
  .md\:text-4xl { font-size: 2.25rem; }
  .md\:text-5xl { font-size: 3rem; }
  .md\:text-6xl { font-size: 3.75rem; }
  .md\:text-7xl { font-size: 4.5rem; }
  .md\:text-8xl { font-size: 6rem; }
  .md\:text-\[9vw\] { font-size: 9vw; }
  .md\:text-\[5vw\] { font-size: 5vw; }

  .md\:border-b-0 { border-bottom: 0; }
  .md\:border-r { border-right: 1px solid currentColor; }

  .md\:flex-row { flex-direction: row; }
  .md\:items-end { align-items: flex-end; }

  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .md\:col-span-2 { grid-column: span 2 / span 2; }
}

@media (min-width: 1024px) {
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lg\:col-span-1 { grid-column: span 1 / span 1; }
}
