:root {
  /* Colors sampled directly from logo_2.png */
  --aerytec-blue-deep: #002B54;     /* Deep base shade of the blue 'A' gradient */
  --aerytec-blue-bright: #0070BA;   /* Bright metallic mid-tone of the 'A' arch */
  --aerytec-blue-bright-1: orange;   /* Bright metallic mid-tone of the 'A' arch */
  --aerytec-red: #E31E24;           /* Dynamic red brand swoosh and 'AERYTEC' text */
  --aerytec-dark: #000000;          /* Solid corporate tone from the 'SYSTEMS' text */
  
  /* Layout & functional background states */
  --ncd-light-bg: #F8FAFC;          /* Clean light gray background for structural depth */
  --text-dark: #1E293B;             /* High-readability charcoal prose text */
  --border-color: #E2E8F0;          /* Soft layout partition borders */
}

/* Navbar Tuning matching logo_2.png typography color balance */
.navbar-ncd {
  background-color: #FFFFFF;
  border-bottom: 2px solid var(--border-color);
  padding: 1.2rem 0;
}

/* Brand Logo Positioning Metrics */
.logo-img-render {
  height: 80px;                     /* Protects header layout height consistency */
  width: auto;                      /* Auto-calculates proportional horizontal width scale */
  max-width: 140px;
  object-fit: contain;
  vertical-align: middle;
}

.footer-logo-tint {
  height: 28px;                     /* Adjusted layout sizing alignment inside the footer array */
  /* filter: brightness(0) invert(1) opacity(0.8); */
   /* Ensures branding adapts over dark color plates if needed */
}

/* Brand Text Layout Rules */
.brand-text-wrapper {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800; 
  color: var(--aerytec-red) !important; 
  letter-spacing: -0.01em;
  font-size: 1.2rem;
  line-height: 1;
  text-decoration: none;
}

.brand-text-wrapper span { 
  color: var(--aerytec-dark); 
  font-weight: 500;
  letter-spacing: 0.05em;           /* Tracks out corporate text elements cleanly */
}

/* Update the global body typography */
body {
  background-color: #FFFFFF;
  color: var(--text-dark);
  font-family: 'Inter', sans-serif; /* Clean, hyper-readable body text */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Apply the modern geometric font to Headings, Navigation, and Brand Elements */
h1, h2, h3, h4, h5, h6, 
.navbar-brand, 
.nav-link, 
.btn-ncd-main, 
.catalog-section-title,
.footer-brand {
  font-family: 'Plus Jakarta Sans', sans-serif;
  letter-spacing: -0.02em; /* Gives headings that tight, premium tech layout look */
}

/* Extra polishing for the brand name to match the logo weight proportions */
.navbar-brand { 
  text-decoration: none;
  display: inline-flex;
}

.footer-brand {
  font-weight: 800;
  color: var(--aerytec-red);
  font-size: 1.3rem;
}
.footer-brand span {
  color: #FFFFFF;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-left: 2px;
}

.nav-link {
  color: var(--text-dark) !important;
  font-weight: 600;
  font-size: 0.95rem;
  transition: color 0.15s ease-in-out;
}
.nav-link:hover, .nav-link.active { 
  color: var(--aerytec-blue-bright-1) !important; 
  /* color: white;  */
}

/* Simple, corporate marketing hero frame */
.hero-simple {
  background: linear-gradient(135deg, #FFFFFF 0%, var(--ncd-light-bg) 100%);
  padding: 6rem 0;
  border-bottom: 1px solid var(--border-color);
  position: relative;
}
/* Subtle accent bar at the top of the hero to anchor the brand identity */
.hero-simple::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(to right, var(--aerytec-blue-bright), var(--aerytec-red));
}
.hero-title { 
  font-weight: 800; 
  color: var(--aerytec-dark); 
  font-size: 2.6rem; 
  letter-spacing: -0.02em;
}

/* User-Friendly Pillar Blocks */
.service-box {
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 2.2rem 2rem;
  background: #FFF;
  height: 100%;
  transition: transform 0.2s, box-shadow 0.2s;
}
.service-box:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(0, 43, 84, 0.04);
}
.service-box i { 
  font-size: 2.2rem; 
  color: var(--aerytec-blue-bright); 
}

/* Clean Product & Software Showcase Layout */
.catalog-section-title {
  border-left: 4px solid var(--aerytec-red);
  padding-left: 0.85rem;
  color: var(--aerytec-blue-deep);
  font-weight: 800;
  letter-spacing: -0.01em;
}

.product-card {
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 1.8rem;
  background: #FFF;
  transition: border-color 0.2s, box-shadow 0.2s;
  height: 100%;
}
.product-card:hover { 
  border-color: var(--aerytec-blue-bright);
  box-shadow: 0 6px 16px rgba(0, 112, 186, 0.06); 
}
.product-card h5 {
  color: var(--aerytec-dark);
  font-weight: 700;
}

/* Action Trigger Elements matching the main brand buttons */
.btn-ncd-main {
  background-color: var(--aerytec-blue-deep);
  color: #FFF;
  font-weight: 600;
  border-radius: 4px;
  padding: 0.7rem 1.8rem;
  border: 1px solid transparent;
  transition: background-color 0.15s, border-color 0.15s;
}
.btn-ncd-main:hover { 
  background-color: var(--aerytec-blue-bright); 
  color: #FFF; 
}

.btn-outline-primary {
  color: var(--aerytec-blue-bright);
  border-color: var(--aerytec-blue-bright);
  font-weight: 500;
}
.btn-outline-primary:hover {
  background-color: var(--aerytec-blue-bright);
  border-color: var(--aerytec-blue-bright);
  color: #FFF;
}

/* Blog, Resource & Category Tag Items */
.blog-thumb { 
  font-size: 0.8rem; 
  color: var(--aerytec-red); 
  font-weight: 700; 
  text-transform: uppercase; 
  letter-spacing: 0.5px;
}

/* Corporate Deep Enterprise Footer Structural Accents */
.footer-corporate {
  background-color: #0B131F;
  color: #94A3B8;
  padding: 5rem 0 3rem 0;
  border-top: 4px solid var(--aerytec-blue-deep);
}
.footer-title {
  color: #FFFFFF;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 1.5rem;
}
.footer-links li {
  margin-bottom: 0.75rem;
}
.footer-links a {
  color: #94A3B8;
  text-decoration: none;
  font-size: 0.9rem;
  transition: color 0.15s ease;
}
.footer-links a:hover {
  color: var(--aerytec-blue-bright);
}

/* AI & Smart Solutions Feature Styles */
.ai-badge {
  background-color: rgba(0, 112, 186, 0.1);
  color: var(--aerytec-blue-bright);
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.35rem 0.75rem;
  border-radius: 50px;
  display: inline-block;
}

.feature-highlight-box {
  background-color: var(--ncd-light-bg);
  border: 1px dashed var(--aerytec-blue-bright);
  border-radius: 12px;
  padding: 2.5rem;
}

/* Contact Page Specific Enhancements */
.contact-card {
  background-color: #FFFFFF;
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 3rem;
  box-shadow: 0 10px 30px rgba(0, 43, 84, 0.03);
}

.form-tech-label {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  font-size: 0.88rem;
  color: var(--aerytec-blue-deep);
  margin-bottom: 0.5rem;
}

.form-tech-input {
  border: 1px solid #CBD5E1;
  border-radius: 6px;
  padding: 0.75rem 1rem;
  font-family: 'Inter', sans-serif;
  color: var(--text-dark);
  font-size: 0.95rem;
  transition: all 0.2s ease-in-out;
}

/* Subtle accent focus when clicking inputs matching logo_2.png colors */
.form-tech-input:focus {
  border-color: var(--aerytec-blue-bright);
  box-shadow: 0 0 0 4px rgba(0, 112, 186, 0.1);
  outline: none;
}

.form-tech-input::placeholder {
  color: #94A3B8;
  font-size: 0.9rem;
}

.text-muted-small {
  font-size: 0.78rem;
  color: #64748B;
  margin-top: 0.35rem;
}

/* Ensure the button renders perfectly centered and distinct */
.contact-card .btn-ncd-main {
  font-family: 'Plus Jakarta Sans', sans-serif;
  letter-spacing: 0.3px;
  font-size: 1rem;
  font-weight: 700;
}

/* Custom Includes Styling Framework */

/* Industry Grid Card Tuning */
.include-industry-node {
  padding: 1.8rem 1rem;
  border-radius: 8px;
  border: 1px solid var(--border-color);
  background-color: #FFFFFF;
  transition: all 0.2s ease-in-out;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.include-industry-node span {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  font-size: 0.88rem;
  margin-top: 0.5rem;
}
.include-industry-node i {
  font-size: 1.6rem;
  transition: transform 0.2s ease;
}

/* Color Identity Adjustments tailored around logo_2.png theme rules */
.include-industry-node.blue-variant { color: var(--aerytec-blue-deep); }
.include-industry-node.blue-variant i { color: var(--aerytec-blue-bright); }
.include-industry-node.red-variant { color: var(--aerytec-dark); }
.include-industry-node.red-variant i { color: var(--aerytec-red); }

/* Hover states to indicate click targets interactively */
.include-industry-node:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0, 43, 84, 0.05);
}
.include-industry-node.blue-variant:hover { border-color: var(--aerytec-blue-bright); }
.include-industry-node.red-variant:hover { border-color: var(--aerytec-red); }
.include-industry-node:hover i { transform: scale(1.1); }

/* Live 24/7 Asset Monitoring Dashboard Graphic Screen */
.render-dashboard-frame {
  background-color: #0A131F;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 2rem;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
}

.graph-bg-overlay {
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  opacity: 0.03;
  background-image: linear-gradient(rgba(255,255,255,0.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.1) 1px, transparent 1px);
  background-size: 20px 20px;
}

/* Pulsing Online Signal Engine */
.live-signal-pulse {
  width: 9px;
  height: 9px;
  background-color: #10B981;
  border-radius: 50%;
  display: inline-block;
  box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.5);
  animation: signal-pulse-glow 2s infinite;
}

@keyframes signal-pulse-glow {
  0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.6); }
  70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(16, 185, 129, 0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
}

/* Custom Hardware & Industry Micro-Animations */

/* 1. Continuous Rotating Telemetry Gear Engine */
.gear-render-viewport {
  position: relative;
  display: inline-block;
}
.live-gear-rotate {
  display: inline-block;
  animation: permanent-spin 12s linear infinite;
}
.gear-center-dot {
  width: 8px;
  height: 8px;
  background-color: #0A131F;
  border: 2px solid var(--aerytec-blue-bright);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@keyframes permanent-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* 2. On-Hover Industry Micro-Animations */
.include-industry-node:hover .gear-animate {
  animation: fast-spin 2.5s linear infinite;
}
.include-industry-node:hover .pulse-animate {
  animation: subtle-pulse 1s ease-in-out infinite;
}
.include-industry-node:hover .bolt-animate {
  animation: shake-flash 0.4s ease-in-out infinite;
}
.include-industry-node:hover .pump-animate {
  animation: layout-float 1.5s ease-in-out infinite;
}
.include-industry-node:hover .sun-animate {
  animation: slow-spin 6s linear infinite;
}
.include-industry-node:hover .fan-animate {
  animation: fast-spin 0.8s linear infinite;
}
.include-industry-node:hover .plane-animate {
  animation: horizontal-drift 1.8s ease-in-out infinite;
}

/* Keyframe Core Vectors */
@keyframes fast-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes slow-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes subtle-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.18); color: #DC2626; }
}
@keyframes shake-flash {
  0%, 100% { transform: translateY(0); filter: brightness(1); }
  50% { transform: translateY(-2px); filter: brightness(1.3); }
}
@keyframes layout-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
@keyframes horizontal-drift {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(6px) translateY(-2px); }
}