/*
Theme Name: Heartland Low Voltage
Theme URI: https://heartlandlowvoltage.com
Author: Heartland Low Voltage
Description: Premium one-page technology-contractor theme for Heartland Low Voltage — structured cabling, enterprise Wi-Fi, security infrastructure, and smart home wiring for the CSRA. Front page is a fully custom single-file layout (front-page.php); other pages fall back to a clean default template.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: heartland-low-voltage
*/

html { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; background: #FAFAF9; color: #0A0C10; margin: 0; }
h1,h2,h3,h4, .font-display { font-family: 'Space Grotesk', sans-serif; }
.mono { font-family: 'IBM Plex Mono', monospace; }

::selection { background: #5EE7FF; color: #0A0C10; }

/* Reveal on scroll */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  * { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; }
}

/* Glass nav */
.glass {
  background: rgba(10,12,16,0.72);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
}

/* Signal path animation */
.signal-line {
  stroke-dasharray: 6 10;
  animation: dash 3.2s linear infinite;
}
@keyframes dash { to { stroke-dashoffset: -160; } }

.signal-node { animation: pulse 2.4s ease-in-out infinite; transform-origin: center; }
.signal-node.d2 { animation-delay: .6s; }
.signal-node.d3 { animation-delay: 1.2s; }
.signal-node.d4 { animation-delay: 1.8s; }
@keyframes pulse {
  0%, 100% { opacity: .35; r: 3.2; }
  50% { opacity: 1; r: 5; }
}

.glow-text { text-shadow: 0 0 24px rgba(94,231,255,0.35); }

.lift { transition: transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease, border-color .45s ease; }
.lift:hover { transform: translateY(-6px); }

.eyebrow { letter-spacing: .18em; }

.marquee-track { animation: scroll-left 28s linear infinite; }
.marquee-track:hover { animation-play-state: paused; }
@keyframes scroll-left { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.blueprint-grid {
  background-image:
    linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size: 44px 44px;
}

.accordion-content { max-height: 0; overflow: hidden; transition: max-height .5s ease; }

input:focus, select:focus, textarea:focus, a:focus-visible, button:focus-visible {
  outline: 2px solid #5EE7FF; outline-offset: 3px;
}

.rack-strip li { border-top: 1px solid rgba(255,255,255,0.08); }

/* Fallback page template (non-front-page content) */
.hlv-page-wrap { max-width: 860px; margin: 0 auto; padding: 160px 24px 96px; }
.hlv-page-wrap h1 { font-size: 2.25rem; margin-bottom: 1.5rem; }
.hlv-page-wrap .entry-content { line-height: 1.75; color: #333B47; }
