html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { font-family: 'Manrope', system-ui, sans-serif; background:#F5F4EF; color:#0B0F0E; overflow-x: hidden; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
@media (max-width: 640px) {
  .field { font-size: 16px; padding: 16px 0 12px; }
  .marquee-track { animation-duration: 28s; }
}

/* Subtle grid background for hero */
.hero-grid {
  background-image:
    linear-gradient(to right, rgba(11,15,14,.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(11,15,14,.06) 1px, transparent 1px);
  background-size: 56px 56px;
}

.eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.display {
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 0.92;
}

.btn-primary {
  background:#0B0F0E; color:#F5F4EF;
  transition: transform .15s ease, background .2s ease;
}
.btn-primary:hover { background:#0E5C3A; transform: translateY(-1px); }
.btn-lime { background:#C6F24E; color:#0B0F0E; transition: transform .15s ease, background .2s ease; }
.btn-lime:hover { background:#b8e63a; transform: translateY(-1px); }

/* Form fields */
.field {
  width:100%;
  background: transparent;
  border:0; border-bottom:1px solid rgba(11,15,14,.25);
  padding: 14px 0 10px;
  font-size: 16px;
  color:#0B0F0E;
  outline:none;
  transition: border-color .2s ease;
}
.field::placeholder { color: rgba(11,15,14,.45); }
.field:focus { border-bottom-color:#0B0F0E; }
.field.invalid { border-bottom-color:#C53030; }
.field-label {
  font-family:'JetBrains Mono', monospace;
  font-size: 11px; letter-spacing:.12em; text-transform:uppercase;
  color: rgba(11,15,14,.55);
}

/* Form 2 dark variant */
.dark-form .field {
  color:#F5F4EF;
  border-bottom-color: rgba(245,244,239,.25);
}
.dark-form .field::placeholder { color: rgba(245,244,239,.45); }
.dark-form .field:focus { border-bottom-color:#C6F24E; }
.dark-form .field-label { color: rgba(245,244,239,.6); }
.dark-form .field.invalid { border-bottom-color:#FF7A7A; }

/* Marquee */
@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.marquee-track {
  display: flex;
  width: max-content;
  animation: marquee 38s linear infinite;
}
.marquee-track > div { gap: 4rem; }

/* Number reveal */
.big-num {
  font-weight: 800;
  line-height: .9;
  letter-spacing: -0.04em;
}

/* Sun pulse */
@keyframes pulseSun {
  0%, 100% { transform: scale(1); opacity:1; }
  50% { transform: scale(1.04); opacity:.92; }
}
.sun-pulse { animation: pulseSun 5s ease-in-out infinite; transform-origin: center; }

/* Card hover */
.benefit-card { transition: transform .25s ease, box-shadow .25s ease; }
.benefit-card:hover { transform: translateY(-3px); }

/* Toast */
.toast {
  position: fixed; left: 50%; bottom: 32px; transform: translate(-50%, 24px);
  background:#0B0F0E; color:#F5F4EF;
  padding: 14px 22px; border-radius: 999px;
  font-size: 14px; font-weight: 600;
  opacity: 0; pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
  z-index: 80;
  box-shadow: 0 12px 40px rgba(0,0,0,.2);
}
.toast.show { opacity:1; transform: translate(-50%, 0); }

/* Nav blur */
.nav-blur { backdrop-filter: blur(10px); background: rgba(245,244,239,.78); }

/* Object dots */
.obj-dot {
  width:8px; height:8px; border-radius:999px; background:#0E5C3A;
  box-shadow: 0 0 0 4px rgba(14,92,58,.12);
}
