:root {
  --primary-accent: #00e5ff;
  --text-light: #f5f5f7;
  --text-muted: #a0a0ab;
  --dark-edge: #0a0a0f; /* Deep dark boundary color */
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

body {
  background-color: var(--dark-edge);
  color: var(--text-light);
  overflow: hidden; /* Locks view inside single-page screen layout */
}

/* Hero Base Viewport Layout Setup */
.hero-viewport {
  position: relative;
  width: 100%;
  height: 100vh;
  /* Use an un-copyrighted tech imagery asset for high-speed concept context */
  background-image: url("../img/installation team(4).png");
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
}

/* Gradient Vignette: Bleeds screen colors down to a dark shadow edge */
.dark-vignette-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none; /* Allows layout clicking beneath it */

  /* Stacks a bottom linear fade ON TOP of your circular vignette */
  background:
    linear-gradient(to top, var(--dark-edge) 0%, rgba(10, 10, 15, 0) 35%),
    radial-gradient(
      circle,
      rgba(10, 10, 15, 0.4) 50%,
      rgba(10, 10, 15, 0.85) 90%,
      var(--dark-edge) 100%
    );
}

/* Layout Header Controls */
.navbar {
  position: relative;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 30px 8%;
}

.logo {
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -1px;
  width: 20px;
}
.logo span {
  color: var(--primary-accent);
}

a {
  cursor: pointer;
}

.nav-links a {
  color: var(--text-muted);
  text-decoration: none;
  margin: 0 20px;
  font-weight: 500;
  font-size: 0.95rem;
  transition: color 0.25s ease;
}
.nav-links a:hover,
.nav-links a.active {
  color: var(--text-light);
}

/* Interactive Element Mechanics */
.cta-btn,
.primary-btn {
  background-color: var(--primary-accent);
  color: #000;
  border: none;
  padding: 5px 22px 7px 22px;

  font-weight: 600;
  border-radius: 30px;
  cursor: pointer;
  transition:
    transform 0.2s,
    box-shadow 0.2s;
}
.cta-btn:hover,
.primary-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 15px rgba(0, 229, 255, 0.4);
}

.content-container {
  position: relative;
  z-index: 5;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 8%;
  height: calc(100vh - 110px);
  display: flex;
  align-items: center;
}

/* Tab/Page Display Controls */
.page-panel {
  display: none;
  width: 100%;
}
.page-panel.active {
  display: block;
  animation: sweepIn 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.hero-text-block {
  max-width: 650px;
}
.hero-text-block h1,
.hero-text-block h2 {
  font-size: 3.5rem;
  font-weight: 800;
  line-height: 1.1;
  margin: 15px 0;
  letter-spacing: -2px;
}
.hero-text-block p {
  color: var(--text-muted);
  /*color: var(--text-light, #f5f5f7);*/
  font-size: 1.1rem;
  line-height: 1.6;
  margin-bottom: 30px;
  text-shadow:
    0 2px 4px rgba(10, 10, 15, 0.9),
    0 4px 20px rgba(10, 10, 15, 0.7);
}

.status-badge {
  background: rgba(0, 229, 255, 0.1);
  border: 1px solid rgba(0, 229, 255, 0.2);
  color: var(--primary-accent);
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 600;
}

.action-row {
  display: flex;
  gap: 15px;
}
.secondary-btn {
  background: transparent;
  color: var(--text-light);
  border: 1px solid rgba(245, 245, 247, 0.2);
  padding: 10px 22px;
  border-radius: 30px;
  cursor: pointer;
}

/* Customers Mini Structure */
.customer-stats {
  display: flex;
  gap: 30px;
  margin-top: 20px;
}
.stat-card h3 {
  font-size: 2rem;
  color: var(--primary-accent);
}
.stat-card p {
  font-size: 0.85rem;
  margin: 0;
}

@keyframes sweepIn {
  from {
    opacity: 0;
    transform: translateX(-15px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

html {
  scroll-behavior: smooth; /* Forces all browser-level anchor jumps to glide smoothly */
}

/* Update your base layout to allow true native scrolling down the page */
body {
  background-color: var(--dark-edge);
  color: var(--text-light);
  overflow-y: auto; /* Replaces 'hidden' to allow your page to track scrolling */
}

/* Modify your wrapper viewport to stack items natively or flex vertically */
.content-container {
  position: relative;
  z-index: 5;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 8%;
  display: flex;
  flex-direction: column; /* Stacks sections vertically down the page canvas */
}

/* Ensure all pages are fully visible in the markup flow so they can be scrolled to */
.page-panel {
  display: block; /* Replaces 'none' so the layout engine can measure their positions */
  min-height: 100vh; /* Every page section occupies exactly one full monitor view */
  padding-top: 120px; /* Cushion space so content doesn't hide under your floating header */
}

html {
  scroll-behavior: smooth; /* Forces all browser-level anchor jumps to glide smoothly */
}

/* Update your base layout to allow true native scrolling down the page */
body {
  background-color: var(--dark-edge);
  color: var(--text-light);
  overflow-y: auto; /* Replaces 'hidden' to allow your page to track scrolling */
}

/* Modify your wrapper viewport to stack items natively or flex vertically */
.content-container {
  position: relative;
  z-index: 5;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 8%;
  display: flex;
  flex-direction: column; /* Stacks sections vertically down the page canvas */
}

/* Ensure all pages are fully visible in the markup flow so they can be scrolled to */
.page-panel {
  display: block; /* Replaces 'none' so the layout engine can measure their positions */
  min-height: 100vh; /* Every page section occupies exactly one full monitor view */
  padding-top: 120px; /* Cushion space so content doesn't hide under your floating header */
}

.navbar {
  position: fixed; /* Pins navigation bar to the top of the browser window frame */
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background: rgba(
    10,
    10,
    15,
    0.536
  ); /* Translucent dark background matching vignette */
  backdrop-filter: blur(
    12px
  ); /* Frosts background data as it glides underneath */
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 8%;
  height: 60px;
}

/* ==========================================================================
   MOBILE & TABLET RESPONSIVE ENGINE (Screens under 768px wide)
   ========================================================================== */
@media (max-width: 768px) {
  /* 1. Navbar Adjustments: Hide raw links or convert them to standard stacked blocks */
  .navbar {
    padding: 0 5%;
  }

  /* Keeps layout simple. If you build a mobile burger menu later, map it here */
  .nav-links {
    display: flex;
    gap: 10px;
  }

  .nav-links a {
    margin: 0 5px;
    font-size: 0.85rem; /* Shrinks fonts slightly so tabs fit text parameters on small viewports */
  }

  /* Hide the extra header button on ultra-small viewports to prevent layout overlap crashes */
  .navbar .cta-btn {
    display: none;
  }

  .hero-viewport {
    position: relative;
    width: 100%;
    height: 100vh;
    /* Use an un-copyrighted tech imagery asset for high-speed concept context */
    background-image: url("../img/installation team(4).png");
    background-size: 270%;
    background-position: right;
    background-repeat: no-repeat;
  }

  /* 2. Typography Scaling: Reduces massive text to prevent broken wrapping */
  .hero-text-block h1,
  .hero-text-block h2 {
    font-size: 2.2rem; /* Shrunk from 3.5rem to look balanced on mobile phones */
    letter-spacing: -1px;
  }

  .hero-text-block p {
    font-size: 0.95rem;
    margin-bottom: 20px;
    text-shadow:
      0 0 20px rgba(0, 0, 0, 100%),
      0 0 30px rgba(0, 0, 0, 100%); /*[horizontal-offset] [vertical-offset] [blur-radius] [shadow-color];*/
  }

  /* 3. Action Buttons Stack styling */
  .action-row {
    flex-direction: column; /* Stacks button actions vertically instead of squeezing them horizontally */
    gap: 10px;
    width: 100%;
  }

  .primary-btn,
  .secondary-btn {
    width: 100%; /* Spans full button width for easy thumb clicking */
    text-align: center;
  }

  /* 4. Stat Grid Adjustments */
  .customer-stats {
    grid-template-columns: 1fr; /* Formats numbers into clean single vertical rows */
    flex-direction: column;
    gap: 15px;
  }

  .stat-card {
    background: rgba(
      255,
      255,
      255,
      0.03
    ); /* Soft plate background for mobile legibility reading */
    padding: 10px 15px;
    border-radius: 12px;
  }
}
